diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/.idea/copilot.data.migration.agent.xml b/.idea/copilot.data.migration.agent.xml new file mode 100644 index 00000000..4ea72a91 --- /dev/null +++ b/.idea/copilot.data.migration.agent.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..564cff9c --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 00000000..4a30e00c --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..87816062 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/montify_dist.iml b/.idea/montify_dist.iml new file mode 100644 index 00000000..c956989b --- /dev/null +++ b/.idea/montify_dist.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 00000000..f324872a --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.output/nitro.json b/.output/nitro.json index 792eabd1..e9f9be29 100644 --- a/.output/nitro.json +++ b/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2026-01-27T12:04:27.487Z", + "date": "2026-01-27T12:50:47.414Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/.output/public/_nuxt/add_address.CLIjEQ3m.svg b/.output/public/_nuxt/add_address.CLIjEQ3m.svg index 8e3c8168..bbd15a46 100644 --- a/.output/public/_nuxt/add_address.CLIjEQ3m.svg +++ b/.output/public/_nuxt/add_address.CLIjEQ3m.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/.output/public/_nuxt/builds/latest.json b/.output/public/_nuxt/builds/latest.json index b29013ec..4e92a953 100644 --- a/.output/public/_nuxt/builds/latest.json +++ b/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"8dd4ed53-6eb9-47a8-b893-4c386d0a34bf","timestamp":1769515413846} \ No newline at end of file +{"id":"db39eb55-a8e0-46ba-9bd9-02c5b5d985a9","timestamp":1769518062208} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/8dd4ed53-6eb9-47a8-b893-4c386d0a34bf.json b/.output/public/_nuxt/builds/meta/8dd4ed53-6eb9-47a8-b893-4c386d0a34bf.json deleted file mode 100644 index 6be948ff..00000000 --- a/.output/public/_nuxt/builds/meta/8dd4ed53-6eb9-47a8-b893-4c386d0a34bf.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"8dd4ed53-6eb9-47a8-b893-4c386d0a34bf","timestamp":1769515413846,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/db39eb55-a8e0-46ba-9bd9-02c5b5d985a9.json b/.output/public/_nuxt/builds/meta/db39eb55-a8e0-46ba-9bd9-02c5b5d985a9.json new file mode 100644 index 00000000..79c6f63c --- /dev/null +++ b/.output/public/_nuxt/builds/meta/db39eb55-a8e0-46ba-9bd9-02c5b5d985a9.json @@ -0,0 +1 @@ +{"id":"db39eb55-a8e0-46ba-9bd9-02c5b5d985a9","timestamp":1769518062208,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/delivery-box-light.Cz31HXNr.svg b/.output/public/_nuxt/delivery-box-light.Cz31HXNr.svg index d4da92a7..87e42b37 100644 --- a/.output/public/_nuxt/delivery-box-light.Cz31HXNr.svg +++ b/.output/public/_nuxt/delivery-box-light.Cz31HXNr.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/_nuxt/delivery-box.DZAXZSja.svg b/.output/public/_nuxt/delivery-box.DZAXZSja.svg index 1d59aa7d..d248bae3 100644 --- a/.output/public/_nuxt/delivery-box.DZAXZSja.svg +++ b/.output/public/_nuxt/delivery-box.DZAXZSja.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/_nuxt/empty_cart.BKAjJ1Mc.svg b/.output/public/_nuxt/empty_cart.BKAjJ1Mc.svg index fe07ccf6..529c45d6 100644 --- a/.output/public/_nuxt/empty_cart.BKAjJ1Mc.svg +++ b/.output/public/_nuxt/empty_cart.BKAjJ1Mc.svg @@ -1,111 +1,111 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.output/public/_nuxt/empty_order.g7yXtwjI.svg b/.output/public/_nuxt/empty_order.g7yXtwjI.svg index fe674381..ba4d169f 100644 --- a/.output/public/_nuxt/empty_order.g7yXtwjI.svg +++ b/.output/public/_nuxt/empty_order.g7yXtwjI.svg @@ -1,65 +1,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.output/public/_nuxt/logo_company.SCj7r8dk.svg b/.output/public/_nuxt/logo_company.SCj7r8dk.svg index 38b83440..8f334851 100644 --- a/.output/public/_nuxt/logo_company.SCj7r8dk.svg +++ b/.output/public/_nuxt/logo_company.SCj7r8dk.svg @@ -1,108 +1,108 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.output/public/_nuxt/not_found.CbOIXISv.svg b/.output/public/_nuxt/not_found.CbOIXISv.svg index 0717abd2..3ce21214 100644 --- a/.output/public/_nuxt/not_found.CbOIXISv.svg +++ b/.output/public/_nuxt/not_found.CbOIXISv.svg @@ -1,53 +1,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.output/public/bottomNavigationIcons/add.svg b/.output/public/bottomNavigationIcons/add.svg index a545dc0b..7626b026 100644 --- a/.output/public/bottomNavigationIcons/add.svg +++ b/.output/public/bottomNavigationIcons/add.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/.output/public/bottomNavigationIcons/add_light.svg b/.output/public/bottomNavigationIcons/add_light.svg index 58962e63..b8604a6b 100644 --- a/.output/public/bottomNavigationIcons/add_light.svg +++ b/.output/public/bottomNavigationIcons/add_light.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/.output/public/bottomNavigationIcons/home.svg b/.output/public/bottomNavigationIcons/home.svg index 80eba5b8..963272b1 100644 --- a/.output/public/bottomNavigationIcons/home.svg +++ b/.output/public/bottomNavigationIcons/home.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/home_light.svg b/.output/public/bottomNavigationIcons/home_light.svg index 000f6114..74fa3cc9 100644 --- a/.output/public/bottomNavigationIcons/home_light.svg +++ b/.output/public/bottomNavigationIcons/home_light.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/home_selected.svg b/.output/public/bottomNavigationIcons/home_selected.svg index 6be7eef9..66859fab 100644 --- a/.output/public/bottomNavigationIcons/home_selected.svg +++ b/.output/public/bottomNavigationIcons/home_selected.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/home_selected_light.svg b/.output/public/bottomNavigationIcons/home_selected_light.svg index c2d12377..f527f8c0 100644 --- a/.output/public/bottomNavigationIcons/home_selected_light.svg +++ b/.output/public/bottomNavigationIcons/home_selected_light.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/like.svg b/.output/public/bottomNavigationIcons/like.svg index 3eefe0ef..3ff4c4d3 100644 --- a/.output/public/bottomNavigationIcons/like.svg +++ b/.output/public/bottomNavigationIcons/like.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/like_light.svg b/.output/public/bottomNavigationIcons/like_light.svg index b4f3a063..8435a15c 100644 --- a/.output/public/bottomNavigationIcons/like_light.svg +++ b/.output/public/bottomNavigationIcons/like_light.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/like_selected.svg b/.output/public/bottomNavigationIcons/like_selected.svg index 81224970..8cf2e353 100644 --- a/.output/public/bottomNavigationIcons/like_selected.svg +++ b/.output/public/bottomNavigationIcons/like_selected.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/like_selected_light.svg b/.output/public/bottomNavigationIcons/like_selected_light.svg index dd105142..15383009 100644 --- a/.output/public/bottomNavigationIcons/like_selected_light.svg +++ b/.output/public/bottomNavigationIcons/like_selected_light.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/search.svg b/.output/public/bottomNavigationIcons/search.svg index 8507f0ec..36f69b8a 100644 --- a/.output/public/bottomNavigationIcons/search.svg +++ b/.output/public/bottomNavigationIcons/search.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/.output/public/bottomNavigationIcons/search_light.svg b/.output/public/bottomNavigationIcons/search_light.svg index b4d089ea..97752508 100644 --- a/.output/public/bottomNavigationIcons/search_light.svg +++ b/.output/public/bottomNavigationIcons/search_light.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/.output/public/bottomNavigationIcons/search_selected.svg b/.output/public/bottomNavigationIcons/search_selected.svg index 6872f02f..c0b0c65f 100644 --- a/.output/public/bottomNavigationIcons/search_selected.svg +++ b/.output/public/bottomNavigationIcons/search_selected.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/search_selected_light.svg b/.output/public/bottomNavigationIcons/search_selected_light.svg index f91e8527..9eee1b59 100644 --- a/.output/public/bottomNavigationIcons/search_selected_light.svg +++ b/.output/public/bottomNavigationIcons/search_selected_light.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/bottomNavigationIcons/user_selected.svg b/.output/public/bottomNavigationIcons/user_selected.svg index d723a84e..c03c5e3c 100644 --- a/.output/public/bottomNavigationIcons/user_selected.svg +++ b/.output/public/bottomNavigationIcons/user_selected.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/.output/public/bottomNavigationIcons/user_selected_light.svg b/.output/public/bottomNavigationIcons/user_selected_light.svg index 08a222f6..a071bf1a 100644 --- a/.output/public/bottomNavigationIcons/user_selected_light.svg +++ b/.output/public/bottomNavigationIcons/user_selected_light.svg @@ -1,13 +1,13 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/.output/public/instagram/logo.svg b/.output/public/instagram/logo.svg index 0ae8c047..8a2116f4 100644 --- a/.output/public/instagram/logo.svg +++ b/.output/public/instagram/logo.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/instagram/logo_white.svg b/.output/public/instagram/logo_white.svg index 050e6215..a8f4c7f7 100644 --- a/.output/public/instagram/logo_white.svg +++ b/.output/public/instagram/logo_white.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/.output/public/robots.txt b/.output/public/robots.txt index 49e5b511..0ad279c7 100644 --- a/.output/public/robots.txt +++ b/.output/public/robots.txt @@ -1,2 +1,2 @@ -User-Agent: * -Disallow: +User-Agent: * +Disallow: diff --git a/.output/public/sw_notif_pwa.js b/.output/public/sw_notif_pwa.js index 087599d7..8db6aaf4 100644 --- a/.output/public/sw_notif_pwa.js +++ b/.output/public/sw_notif_pwa.js @@ -1,2 +1,2 @@ try{self["workbox:core:7.2.0"]&&_()}catch{}const F=(s,...e)=>{let t=s;return e.length>0&&(t+=` :: ${JSON.stringify(e)}`),t},H=F;class h extends Error{constructor(e,t){const n=H(e,t);super(n),this.name=e,this.details=t}}const f={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:typeof registration<"u"?registration.scope:""},L=s=>[f.prefix,s,f.suffix].filter(e=>e&&e.length>0).join("-"),q=s=>{for(const e of Object.keys(f))s(e)},C={updateDetails:s=>{q(e=>{typeof s[e]=="string"&&(f[e]=s[e])})},getGoogleAnalyticsName:s=>s||L(f.googleAnalytics),getPrecacheName:s=>s||L(f.precache),getPrefix:()=>f.prefix,getRuntimeName:s=>s||L(f.runtime),getSuffix:()=>f.suffix};function E(s,e){const t=e();return s.waitUntil(t),t}try{self["workbox:precaching:7.2.0"]&&_()}catch{}const $="__WB_REVISION__";function G(s){if(!s)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(typeof s=="string"){const r=new URL(s,location.href);return{cacheKey:r.href,url:r.href}}const{revision:e,url:t}=s;if(!t)throw new h("add-to-cache-list-unexpected-type",{entry:s});if(!e){const r=new URL(t,location.href);return{cacheKey:r.href,url:r.href}}const n=new URL(t,location.href),a=new URL(t,location.href);return n.searchParams.set($,e),{cacheKey:n.href,url:a.href}}class V{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type==="install"&&t&&t.originalRequest&&t.originalRequest instanceof Request){const a=t.originalRequest.url;n?this.notUpdatedURLs.push(a):this.updatedURLs.push(a)}return n}}}class J{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:t,params:n})=>{const a=n?.cacheKey||this._precacheController.getCacheKeyForURL(t.url);return a?new Request(a,{headers:t.headers}):t},this._precacheController=e}}let g;function Q(){if(g===void 0){const s=new Response("");if("body"in s)try{new Response(s.body),g=!0}catch{g=!1}g=!1}return g}async function X(s,e){let t=null;if(s.url&&(t=new URL(s.url).origin),t!==self.location.origin)throw new h("cross-origin-copy-response",{origin:t});const n=s.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},c=Q()?n.body:await n.blob();return new Response(c,r)}const z=s=>new URL(String(s),location.href).href.replace(new RegExp(`^${location.origin}`),"");function D(s,e){const t=new URL(s);for(const n of e)t.searchParams.delete(n);return t.href}async function Y(s,e,t,n){const a=D(e.url,t);if(e.url===a)return s.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),c=await s.keys(e,r);for(const i of c){const o=D(i.url,t);if(a===o)return s.match(i,n)}}class Z{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const ee=new Set;async function te(){for(const s of ee)await s()}function se(s){return new Promise(e=>setTimeout(e,s))}try{self["workbox:strategies:7.2.0"]&&_()}catch{}function R(s){return typeof s=="string"?new Request(s):s}class ne{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new Z,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=R(e);if(n.mode==="navigate"&&t instanceof FetchEvent&&t.preloadResponse){const c=await t.preloadResponse;if(c)return c}const a=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const c of this.iterateCallbacks("requestWillFetch"))n=await c({request:n.clone(),event:t})}catch(c){if(c instanceof Error)throw new h("plugin-error-request-will-fetch",{thrownErrorMessage:c.message})}const r=n.clone();try{let c;c=await fetch(n,n.mode==="navigate"?void 0:this._strategy.fetchOptions);for(const i of this.iterateCallbacks("fetchDidSucceed"))c=await i({event:t,request:r,response:c});return c}catch(c){throw a&&await this.runCallbacks("fetchDidFail",{error:c,event:t,originalRequest:a.clone(),request:r.clone()}),c}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=R(e);let n;const{cacheName:a,matchOptions:r}=this._strategy,c=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},r),{cacheName:a});n=await caches.match(c,i);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:a,matchOptions:r,cachedResponse:n,request:c,event:this.event})||void 0;return n}async cachePut(e,t){const n=R(e);await se(0);const a=await this.getCacheKey(n,"write");if(!t)throw new h("cache-put-with-no-response",{url:z(a.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:c,matchOptions:i}=this._strategy,o=await self.caches.open(c),l=this.hasCallback("cacheDidUpdate"),p=l?await Y(o,a.clone(),["__WB_REVISION__"],i):null;try{await o.put(a,l?r.clone():r)}catch(u){if(u instanceof Error)throw u.name==="QuotaExceededError"&&await te(),u}for(const u of this.iterateCallbacks("cacheDidUpdate"))await u({cacheName:c,oldResponse:p,newResponse:r.clone(),request:a,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let a=e;for(const r of this.iterateCallbacks("cacheKeyWillBeUsed"))a=R(await r({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[n]=a}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if(typeof t[e]=="function"){const n=this._pluginStateMap.get(t);yield r=>{const c=Object.assign(Object.assign({},r),{state:n});return t[e](c)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const a of this.iterateCallbacks("cacheWillUpdate"))if(t=await a({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}}class ae{constructor(e={}){this.cacheName=C.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n=typeof e.request=="string"?new Request(e.request):e.request,a="params"in e?e.params:void 0,r=new ne(this,{event:t,request:n,params:a}),c=this._getResponse(r,n,t),i=this._awaitComplete(c,r,n,t);return[c,i]}async _getResponse(e,t,n){await e.runCallbacks("handlerWillStart",{event:n,request:t});let a;try{if(a=await this._handle(t,e),!a||a.type==="error")throw new h("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(const c of e.iterateCallbacks("handlerDidError"))if(a=await c({error:r,event:n,request:t}),a)break}if(!a)throw r}for(const r of e.iterateCallbacks("handlerWillRespond"))a=await r({event:n,request:t,response:a});return a}async _awaitComplete(e,t,n,a){let r,c;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:a,request:n,response:r}),await t.doneWaiting()}catch(i){i instanceof Error&&(c=i)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:n,response:r,error:c}),t.destroy(),c)throw c}}class d extends ae{constructor(e={}){e.cacheName=C.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=e.fallbackToNetwork!==!1,this.plugins.push(d.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&t.event.type==="install"?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const a=t.params||{};if(this._fallbackToNetwork){const r=a.integrity,c=e.integrity,i=!c||c===r;n=await t.fetch(new Request(e,{integrity:e.mode!=="no-cors"?c||r:void 0})),r&&i&&e.mode!=="no-cors"&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new h("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new h("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,a]of this.plugins.entries())a!==d.copyRedirectedCacheableResponsesPlugin&&(a===d.defaultPrecacheCacheabilityPlugin&&(e=n),a.cacheWillUpdate&&t++);t===0?this.plugins.push(d.defaultPrecacheCacheabilityPlugin):t>1&&e!==null&&this.plugins.splice(e,1)}}d.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:s}){return!s||s.status>=400?null:s}};d.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:s}){return s.redirected?await X(s):s}};class re{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new d({cacheName:C.getPrecacheName(e),plugins:[...t,new J({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){typeof n=="string"?t.push(n):n&&n.revision===void 0&&t.push(n.url);const{cacheKey:a,url:r}=G(n),c=typeof n!="string"&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==a)throw new h("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:a});if(typeof n!="string"&&n.integrity){if(this._cacheKeysToIntegrities.has(a)&&this._cacheKeysToIntegrities.get(a)!==n.integrity)throw new h("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(a,n.integrity)}if(this._urlsToCacheKeys.set(r,a),this._urlsToCacheModes.set(r,c),t.length>0){const i=`Workbox is precaching URLs without revision info: ${t.join(", ")} -This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(i)}}}install(e){return E(e,async()=>{const t=new V;this.strategy.plugins.push(t);for(const[r,c]of this._urlsToCacheKeys){const i=this._cacheKeysToIntegrities.get(c),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:i,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return E(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const c of n)a.has(c.url)||(await t.delete(c),r.push(c.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new h("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let U;const W=()=>(U||(U=new re),U);try{self["workbox:routing:7.2.0"]&&_()}catch{}const A="GET",b=s=>s&&typeof s=="object"?s:{handle:s};class w{constructor(e,t,n=A){this.handler=b(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=b(e)}}class ce extends w{constructor(e,t,n){const a=({url:r})=>{const c=e.exec(r.href);if(c&&!(r.origin!==location.origin&&c.index!==0))return c.slice(1)};super(a,t,n)}}class ie{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:c}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let i=c&&c.handler;const o=e.method;if(!i&&this._defaultHandlerMap.has(o)&&(i=this._defaultHandlerMap.get(o)),!i)return;let l;try{l=i.handle({url:n,request:e,event:t,params:r})}catch(u){l=Promise.reject(u)}const p=c&&c.catchHandler;return l instanceof Promise&&(this._catchHandler||p)&&(l=l.catch(async u=>{if(p)try{return await p.handle({url:n,request:e,event:t,params:r})}catch(v){v instanceof Error&&(u=v)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const c of r){let i;const o=c.match({url:e,sameOrigin:t,request:n,event:a});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(i=void 0),{route:c,params:i}}return{}}setDefaultHandler(e,t=A){this._defaultHandlerMap.set(t,b(e))}setCatchHandler(e){this._catchHandler=b(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new h("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new h("unregister-route-route-not-registered")}}let y;const oe=()=>(y||(y=new ie,y.addFetchListener(),y.addCacheListener()),y);function le(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),c=({url:i})=>i.href===r.href;n=new w(c,e,t)}else if(s instanceof RegExp)n=new ce(s,e,t);else if(typeof s=="function")n=new w(s,e,t);else if(s instanceof w)n=s;else throw new h("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return oe().registerRoute(n),n}function he(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*ue(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const c=he(r,e);if(yield c.href,t&&c.pathname.endsWith("/")){const i=new URL(c.href);i.pathname+=t,yield i.href}if(n){const i=new URL(c.href);i.pathname+=".html",yield i.href}if(a){const i=a({url:r});for(const o of i)yield o.href}}class fe extends w{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const c of ue(a.url,t)){const i=r.get(c);if(i){const o=e.getIntegrityForCacheKey(i);return{cacheKey:i,integrity:o}}}};super(n,e.strategy)}}function de(s){const e=W(),t=new fe(e,s);le(t)}const pe="-precache-",ge=async(s,e=pe)=>{const n=(await self.caches.keys()).filter(a=>a.includes(e)&&a.includes(self.registration.scope)&&a!==s);return await Promise.all(n.map(a=>self.caches.delete(a))),n};function ye(){self.addEventListener("activate",(s=>{const e=C.getPrecacheName();s.waitUntil(ge(e).then(t=>{}))}))}function we(s){W().precache(s)}function me(s,e){we(s),de(e)}const Re=(s,e)=>e.some(t=>s instanceof t);let x,M;function be(){return x||(x=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function _e(){return M||(M=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const B=new WeakMap,T=new WeakMap,j=new WeakMap,P=new WeakMap,K=new WeakMap;function Ce(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",c)},r=()=>{t(m(s.result)),a()},c=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",c)});return e.then(t=>{t instanceof IDBCursor&&B.set(t,s)}).catch(()=>{}),K.set(e,s),e}function Le(s){if(T.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",c),s.removeEventListener("abort",c)},r=()=>{t(),a()},c=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",c),s.addEventListener("abort",c)});T.set(s,e)}let N={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return T.get(s);if(e==="objectStoreNames")return s.objectStoreNames||j.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Ue(s){N=s(N)}function Pe(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(k(this),e,...t);return j.set(n,e.sort?e.sort():[e]),m(n)}:_e().includes(s)?function(...e){return s.apply(k(this),e),m(B.get(this))}:function(...e){return m(s.apply(k(this),e))}}function ke(s){return typeof s=="function"?Pe(s):(s instanceof IDBTransaction&&Le(s),Re(s,be())?new Proxy(s,N):s)}function m(s){if(s instanceof IDBRequest)return Ce(s);if(P.has(s))return P.get(s);const e=ke(s);return e!==s&&(P.set(s,e),K.set(e,s)),e}const k=s=>K.get(s),Ie=["get","getKey","getAll","getAllKeys","count"],Te=["put","add","delete","clear"],I=new Map;function S(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(I.get(e))return I.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Te.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(c,...i){const o=this.transaction(c,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(i.shift())),(await Promise.all([l[t](...i),a&&o.done]))[0]};return I.set(e,r),r}Ue(s=>({...s,get:(e,t,n)=>S(e,t)||s.get(e,t,n),has:(e,t)=>!!S(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.2.0"]&&_()}catch{}try{self["workbox:cacheable-response:7.2.0"]&&_()}catch{}var O={};ye();const Ne=[{"revision":null,"url":"_nuxt/_id_.BhPp45mc.css"},{"revision":null,"url":"_nuxt/_id_.D0g0-kXs.css"},{"revision":null,"url":"_nuxt/_id_.DZwRw4ht.css"},{"revision":null,"url":"_nuxt/_iPNLlmk.js"},{"revision":null,"url":"_nuxt/_OSaw0MT.js"},{"revision":null,"url":"_nuxt/0sQGsR-B.js"},{"revision":null,"url":"_nuxt/14hzxqeZ.js"},{"revision":null,"url":"_nuxt/1jTl4r5u.js"},{"revision":null,"url":"_nuxt/3-vhA8tQ.js"},{"revision":null,"url":"_nuxt/3kWPFkR0.js"},{"revision":null,"url":"_nuxt/3oBFl2-F.js"},{"revision":null,"url":"_nuxt/3qqTvnSo.js"},{"revision":null,"url":"_nuxt/3RkI9pc5.js"},{"revision":null,"url":"_nuxt/5ZDQaK5A.js"},{"revision":null,"url":"_nuxt/6Vtnybcx.js"},{"revision":null,"url":"_nuxt/8y_yBhg-.js"},{"revision":null,"url":"_nuxt/add_address.CLIjEQ3m.svg"},{"revision":null,"url":"_nuxt/AmADiAwp.js"},{"revision":null,"url":"_nuxt/B_fmCE4u.js"},{"revision":null,"url":"_nuxt/B1k10HMT.js"},{"revision":null,"url":"_nuxt/B1N_kU_k.js"},{"revision":null,"url":"_nuxt/B1VM9WVF.js"},{"revision":null,"url":"_nuxt/b4XmZQIy.js"},{"revision":null,"url":"_nuxt/B5sAEblQ.js"},{"revision":null,"url":"_nuxt/B7AYPz8C.js"},{"revision":null,"url":"_nuxt/B7cVZ88b.js"},{"revision":null,"url":"_nuxt/B7QhzxXq.js"},{"revision":null,"url":"_nuxt/B91UhLl-.js"},{"revision":null,"url":"_nuxt/BaFlPdDo.js"},{"revision":null,"url":"_nuxt/BasicButton.B2eELnPq.css"},{"revision":null,"url":"_nuxt/BasicIconOld.DktbhR_V.css"},{"revision":null,"url":"_nuxt/BasicInput.BS7pxlLz.css"},{"revision":null,"url":"_nuxt/BasicTextArea.tn0RQdqM.css"},{"revision":null,"url":"_nuxt/Bbd_Ti14.js"},{"revision":null,"url":"_nuxt/BBQQNr_r.js"},{"revision":null,"url":"_nuxt/BBSG9FnH.js"},{"revision":null,"url":"_nuxt/BBT589bc.js"},{"revision":null,"url":"_nuxt/BbXMVhKj.js"},{"revision":null,"url":"_nuxt/BDOptM52.js"},{"revision":null,"url":"_nuxt/Be-gRMon.js"},{"revision":null,"url":"_nuxt/BgR2E6gQ.js"},{"revision":null,"url":"_nuxt/BGrduSck.js"},{"revision":null,"url":"_nuxt/Bh8FlG27.js"},{"revision":null,"url":"_nuxt/BHBthidp.js"},{"revision":null,"url":"_nuxt/BHLsoC0X.js"},{"revision":null,"url":"_nuxt/BhrAsToM.js"},{"revision":null,"url":"_nuxt/BHw89vdB.js"},{"revision":null,"url":"_nuxt/BI5evUJ6.js"},{"revision":null,"url":"_nuxt/BiDL-COj.js"},{"revision":null,"url":"_nuxt/BiJJrwHu.js"},{"revision":null,"url":"_nuxt/BJ6YnkHC.js"},{"revision":null,"url":"_nuxt/BJt1EIeo.js"},{"revision":null,"url":"_nuxt/BLCVMa8A.js"},{"revision":null,"url":"_nuxt/BLK5qYlX.js"},{"revision":null,"url":"_nuxt/BlkfA1qz.js"},{"revision":null,"url":"_nuxt/Bmie_yea.js"},{"revision":null,"url":"_nuxt/BmvgCcse.js"},{"revision":null,"url":"_nuxt/BN8guUTz.js"},{"revision":null,"url":"_nuxt/BNRQPgV4.js"},{"revision":null,"url":"_nuxt/BNS36bUN.js"},{"revision":null,"url":"_nuxt/BoBuM2tF.js"},{"revision":null,"url":"_nuxt/BOwWxdr3.js"},{"revision":null,"url":"_nuxt/Brt5zfvQ.js"},{"revision":null,"url":"_nuxt/bS5OEfKx.js"},{"revision":null,"url":"_nuxt/BsLs4p15.js"},{"revision":null,"url":"_nuxt/BsUIZQ-f.js"},{"revision":null,"url":"_nuxt/BT8sO8ga.js"},{"revision":null,"url":"_nuxt/BtyzBuwr.js"},{"revision":null,"url":"_nuxt/BvP_ux_g.js"},{"revision":null,"url":"_nuxt/Bw_ZgZhj.js"},{"revision":null,"url":"_nuxt/BxF7pQIy.js"},{"revision":null,"url":"_nuxt/BY3KS3PC.js"},{"revision":null,"url":"_nuxt/BYFjdAgw.js"},{"revision":null,"url":"_nuxt/BYkHht5C.js"},{"revision":null,"url":"_nuxt/bz4Gi-i8.js"},{"revision":null,"url":"_nuxt/BzAZyL4T.js"},{"revision":null,"url":"_nuxt/C-5fyTkQ.js"},{"revision":null,"url":"_nuxt/C-xdWTVd.js"},{"revision":null,"url":"_nuxt/C17E0ujv.js"},{"revision":null,"url":"_nuxt/C2q09MKV.js"},{"revision":null,"url":"_nuxt/C3qXPSdl.js"},{"revision":null,"url":"_nuxt/C3x4TpXj.js"},{"revision":null,"url":"_nuxt/C5eOakM-.js"},{"revision":null,"url":"_nuxt/C6svSwIi.js"},{"revision":null,"url":"_nuxt/C7zEPsIa.js"},{"revision":null,"url":"_nuxt/C8NhlFLb.js"},{"revision":null,"url":"_nuxt/C9QN_Mfk.js"},{"revision":null,"url":"_nuxt/Ca3ZqvUo.js"},{"revision":null,"url":"_nuxt/CaZV_EHL.js"},{"revision":null,"url":"_nuxt/CbHNw5X6.js"},{"revision":null,"url":"_nuxt/CBJoCjDV.js"},{"revision":null,"url":"_nuxt/Cbt2tPBc.js"},{"revision":null,"url":"_nuxt/CD4jTnQf.js"},{"revision":null,"url":"_nuxt/CDCPZiX_.js"},{"revision":null,"url":"_nuxt/CDtJoR7M.js"},{"revision":null,"url":"_nuxt/Ceqi68nG.js"},{"revision":null,"url":"_nuxt/CER9i5mY.js"},{"revision":null,"url":"_nuxt/CfQT9Pjy.js"},{"revision":null,"url":"_nuxt/CgpbEzJY.js"},{"revision":null,"url":"_nuxt/ChangeLanguage.SqR8ZyGJ.css"},{"revision":null,"url":"_nuxt/CHtzyEc6.js"},{"revision":null,"url":"_nuxt/Cj99RmFE.js"},{"revision":null,"url":"_nuxt/CJXObQzs.js"},{"revision":null,"url":"_nuxt/CK63FxZH.js"},{"revision":null,"url":"_nuxt/CkcGP4w5.js"},{"revision":null,"url":"_nuxt/CKHWFXyc.js"},{"revision":null,"url":"_nuxt/CkS6gUmV.js"},{"revision":null,"url":"_nuxt/ClgUV-y-.js"},{"revision":null,"url":"_nuxt/CLMw6_SR.js"},{"revision":null,"url":"_nuxt/CmMfcJ2x.js"},{"revision":null,"url":"_nuxt/Cq3oTAtN.js"},{"revision":null,"url":"_nuxt/CqrgowAD.js"},{"revision":null,"url":"_nuxt/CQSSU-NN.js"},{"revision":null,"url":"_nuxt/CQzmf4YL.js"},{"revision":null,"url":"_nuxt/CRIXWJhb.js"},{"revision":null,"url":"_nuxt/CRv-GgbU.js"},{"revision":null,"url":"_nuxt/Cs0PMq_Y.js"},{"revision":null,"url":"_nuxt/Cs5cnJ7-.js"},{"revision":null,"url":"_nuxt/CscEAC8U.js"},{"revision":null,"url":"_nuxt/Cst_R1Uh.js"},{"revision":null,"url":"_nuxt/CsYkSgoy.js"},{"revision":null,"url":"_nuxt/CtGujaVK.js"},{"revision":null,"url":"_nuxt/Ctsa2335.js"},{"revision":null,"url":"_nuxt/CvgOwh8h.js"},{"revision":null,"url":"_nuxt/CwtvwXb3.js"},{"revision":null,"url":"_nuxt/CxM9_8io.js"},{"revision":null,"url":"_nuxt/Cy8_VRum.js"},{"revision":null,"url":"_nuxt/CZfMhVbr.js"},{"revision":null,"url":"_nuxt/CZUeDkO0.js"},{"revision":null,"url":"_nuxt/D-_y6OpO.js"},{"revision":null,"url":"_nuxt/D-bUn136.js"},{"revision":null,"url":"_nuxt/D00xL7aY.js"},{"revision":null,"url":"_nuxt/D0fu8WUi.js"},{"revision":null,"url":"_nuxt/D0vSK_3x.js"},{"revision":null,"url":"_nuxt/D1doa_M-.js"},{"revision":null,"url":"_nuxt/D1Fow3lV.js"},{"revision":null,"url":"_nuxt/D2avLtB7.js"},{"revision":null,"url":"_nuxt/D2iO6YhJ.js"},{"revision":null,"url":"_nuxt/D2VqvOiI.js"},{"revision":null,"url":"_nuxt/D58EDzqx.js"},{"revision":null,"url":"_nuxt/D6qJbdzf.js"},{"revision":null,"url":"_nuxt/D9o4TIOW.js"},{"revision":null,"url":"_nuxt/DAvFecQo.js"},{"revision":null,"url":"_nuxt/DcT29QuF.js"},{"revision":null,"url":"_nuxt/DcxkNLFr.js"},{"revision":null,"url":"_nuxt/Ddip-HNk.js"},{"revision":null,"url":"_nuxt/De7hBUwl.js"},{"revision":null,"url":"_nuxt/default.BbVhhp66.css"},{"revision":null,"url":"_nuxt/delivery-box-light.Cz31HXNr.svg"},{"revision":null,"url":"_nuxt/delivery-box.DZAXZSja.svg"},{"revision":null,"url":"_nuxt/detail_message.3FMAeztm.css"},{"revision":null,"url":"_nuxt/DeTvNnRD.js"},{"revision":null,"url":"_nuxt/DeUOGOlO.js"},{"revision":null,"url":"_nuxt/DfSIj5ee.js"},{"revision":null,"url":"_nuxt/DFzrht7B.js"},{"revision":null,"url":"_nuxt/DGFRw2HL.js"},{"revision":null,"url":"_nuxt/DGswNBmG.js"},{"revision":null,"url":"_nuxt/DgUGVCtO.js"},{"revision":null,"url":"_nuxt/DIW3nMve.js"},{"revision":null,"url":"_nuxt/DjvBa-1E.js"},{"revision":null,"url":"_nuxt/DkLizs-G.js"},{"revision":null,"url":"_nuxt/DlAUqK2U.js"},{"revision":null,"url":"_nuxt/DlznrpTI.js"},{"revision":null,"url":"_nuxt/Dm-BacZx.js"},{"revision":null,"url":"_nuxt/Dn4CZ-Yo.js"},{"revision":null,"url":"_nuxt/DNDpcsqo.js"},{"revision":null,"url":"_nuxt/DnXbm1Hu.js"},{"revision":null,"url":"_nuxt/DOYgr7rE.js"},{"revision":null,"url":"_nuxt/DPBLY6es.js"},{"revision":null,"url":"_nuxt/DPLkQIR9.js"},{"revision":null,"url":"_nuxt/DQ1VUkHT.js"},{"revision":null,"url":"_nuxt/Dq7m1_nY.js"},{"revision":null,"url":"_nuxt/DRaf_pDu.js"},{"revision":null,"url":"_nuxt/DRgfp1up.js"},{"revision":null,"url":"_nuxt/DrvgMTOA.js"},{"revision":null,"url":"_nuxt/DsbmUPiH.js"},{"revision":null,"url":"_nuxt/DTgN_l7o.js"},{"revision":null,"url":"_nuxt/DTq-4KzG.js"},{"revision":null,"url":"_nuxt/Du9NqUFl.js"},{"revision":null,"url":"_nuxt/DuHsFjQf.js"},{"revision":null,"url":"_nuxt/DUmF_Rgz.js"},{"revision":null,"url":"_nuxt/DuNs4Pw1.js"},{"revision":null,"url":"_nuxt/DVxbPVlR.js"},{"revision":null,"url":"_nuxt/DwalR_vN.js"},{"revision":null,"url":"_nuxt/Dy4U5EbT.js"},{"revision":null,"url":"_nuxt/DyxeBzWG.js"},{"revision":null,"url":"_nuxt/DZ5eTpmJ.js"},{"revision":null,"url":"_nuxt/DzeZd0Vf.js"},{"revision":null,"url":"_nuxt/DZxZseAX.js"},{"revision":null,"url":"_nuxt/empty_cart.BKAjJ1Mc.svg"},{"revision":null,"url":"_nuxt/empty_order.g7yXtwjI.svg"},{"revision":null,"url":"_nuxt/empty_user.DjvjY29X.png"},{"revision":null,"url":"_nuxt/entry.BWMwGJC-.css"},{"revision":null,"url":"_nuxt/erGvakZB.js"},{"revision":null,"url":"_nuxt/error-404.2GhCpCfF.css"},{"revision":null,"url":"_nuxt/error-500.DqdIhFrl.css"},{"revision":null,"url":"_nuxt/f-pkBeXf.js"},{"revision":null,"url":"_nuxt/FullScreenStories.vHiwkct6.css"},{"revision":null,"url":"_nuxt/FVfVRvfu.js"},{"revision":null,"url":"_nuxt/gdkE0H3i.js"},{"revision":null,"url":"_nuxt/he0AQ5zD.js"},{"revision":null,"url":"_nuxt/Highlights.LsmMR9Cv.css"},{"revision":null,"url":"_nuxt/HV4Ptg59.js"},{"revision":null,"url":"_nuxt/iccRLuv1.js"},{"revision":null,"url":"_nuxt/index.3vTMV84N.css"},{"revision":null,"url":"_nuxt/index.aL-dNlg2.css"},{"revision":null,"url":"_nuxt/index.Bf6H-IES.css"},{"revision":null,"url":"_nuxt/index.BftfFzRd.css"},{"revision":null,"url":"_nuxt/index.Bhk60kEQ.css"},{"revision":null,"url":"_nuxt/index.Bmikpipo.css"},{"revision":null,"url":"_nuxt/index.BYVlaXPg.css"},{"revision":null,"url":"_nuxt/index.C4gGGvAh.css"},{"revision":null,"url":"_nuxt/index.C7yq570K.css"},{"revision":null,"url":"_nuxt/index.Cc-rnC0q.css"},{"revision":null,"url":"_nuxt/index.CckDcqDG.css"},{"revision":null,"url":"_nuxt/index.CIr5VxXz.css"},{"revision":null,"url":"_nuxt/index.CitrVgdW.css"},{"revision":null,"url":"_nuxt/index.CKnq7F2I.css"},{"revision":null,"url":"_nuxt/index.CNHi-7Ke.css"},{"revision":null,"url":"_nuxt/index.CokH8qEU.css"},{"revision":null,"url":"_nuxt/index.cPbiCMXj.css"},{"revision":null,"url":"_nuxt/index.CW9Q0sCE.css"},{"revision":null,"url":"_nuxt/index.CYd4lFjv.css"},{"revision":null,"url":"_nuxt/index.D0zs6jhd.css"},{"revision":null,"url":"_nuxt/index.DAwdkd-s.css"},{"revision":null,"url":"_nuxt/index.DQQ6m8Ab.css"},{"revision":null,"url":"_nuxt/index.DUwLxYAC.css"},{"revision":null,"url":"_nuxt/index.hcAz5dBv.css"},{"revision":null,"url":"_nuxt/index.Jbtftdv_.css"},{"revision":null,"url":"_nuxt/index.pM9wTB4a.css"},{"revision":null,"url":"_nuxt/index.UdfyQ5iD.css"},{"revision":null,"url":"_nuxt/IndexImageUploader.DpcjnqB-.css"},{"revision":null,"url":"_nuxt/InstaInput.CKJcpevC.css"},{"revision":null,"url":"_nuxt/iVqVBBR5.js"},{"revision":null,"url":"_nuxt/KBq5z4mn.js"},{"revision":null,"url":"_nuxt/kjn9TGm9.js"},{"revision":null,"url":"_nuxt/lDFIwPIu.js"},{"revision":null,"url":"_nuxt/logo_company.SCj7r8dk.svg"},{"revision":null,"url":"_nuxt/logo_preview.B3D6jfxw.png"},{"revision":null,"url":"_nuxt/m9aI9AXX.js"},{"revision":null,"url":"_nuxt/moreOptionProduct.Cv4yblbJ.css"},{"revision":null,"url":"_nuxt/mPGATRDV.js"},{"revision":null,"url":"_nuxt/MSwc40Et.js"},{"revision":null,"url":"_nuxt/not_found.CbOIXISv.svg"},{"revision":null,"url":"_nuxt/numbro.DPJQrSl7.css"},{"revision":null,"url":"_nuxt/ONZBPW5n.js"},{"revision":null,"url":"_nuxt/OrbYBZJs.js"},{"revision":null,"url":"_nuxt/OrderDetail.DmLQfC-y.css"},{"revision":null,"url":"_nuxt/OwD4490s.js"},{"revision":null,"url":"_nuxt/P__iwmVr.js"},{"revision":null,"url":"_nuxt/pagination.DioOUj-L.css"},{"revision":null,"url":"_nuxt/pFOmwm6m.js"},{"revision":null,"url":"_nuxt/Pl2zQqcN.js"},{"revision":null,"url":"_nuxt/PostCardSkeleton.DUP1THnB.css"},{"revision":null,"url":"_nuxt/PPhiVNr-.js"},{"revision":null,"url":"_nuxt/ProductSearchList.CBryqxih.css"},{"revision":null,"url":"_nuxt/ProfilePictureEditor.Bt0HlTI-.css"},{"revision":null,"url":"_nuxt/Q97Vio13.js"},{"revision":null,"url":"_nuxt/qBOvXuao.js"},{"revision":null,"url":"_nuxt/QyMw0Sp1.js"},{"revision":null,"url":"_nuxt/RatLGbB5.js"},{"revision":null,"url":"_nuxt/rN9loPv5.js"},{"revision":null,"url":"_nuxt/Rshl30Eo.js"},{"revision":null,"url":"_nuxt/s--bdPoU.js"},{"revision":null,"url":"_nuxt/ScpmmaE4.js"},{"revision":null,"url":"_nuxt/sFfhux-l.js"},{"revision":null,"url":"_nuxt/SolGyfyY.js"},{"revision":null,"url":"_nuxt/StepNumber.DZuSkTLD.css"},{"revision":null,"url":"_nuxt/style.Dw47-jjr.css"},{"revision":null,"url":"_nuxt/suvZk42U.js"},{"revision":null,"url":"_nuxt/swiper.BiEk7v8n.css"},{"revision":null,"url":"_nuxt/unXo4E2b.js"},{"revision":null,"url":"_nuxt/UserProfilePic.CvlRpmYy.css"},{"revision":null,"url":"_nuxt/Uu20VyED.js"},{"revision":null,"url":"_nuxt/WIqHd_7j.js"},{"revision":null,"url":"_nuxt/wZ2ImbJD.js"},{"revision":null,"url":"_nuxt/XRR38INJ.js"},{"revision":null,"url":"_nuxt/XsaR7Qnn.js"},{"revision":null,"url":"_nuxt/XvbPR14r.js"},{"revision":null,"url":"_nuxt/Y4Uc45PN.js"},{"revision":null,"url":"_nuxt/yaI2rWWM.js"},{"revision":null,"url":"_nuxt/YUm_jrvp.js"},{"revision":null,"url":"_nuxt/z3stQFmK.js"},{"revision":null,"url":"_nuxt/zLi_Sboz.js"},{"revision":null,"url":"_nuxt/zQHOducB.js"},{"revision":null,"url":"_nuxt/ZzUti8KV.js"},{"revision":"e11ed41852f6bfcf6dd77a082d77ff9e","url":"bottomNavigationIcons/add_light.svg"},{"revision":"6685ad998323b72de0d6fe1ddb96f541","url":"bottomNavigationIcons/add.svg"},{"revision":"b24429a87914ece3fbb743343d79400b","url":"bottomNavigationIcons/cart_light.svg"},{"revision":"391b8f56ab48cce55197adc0dae4179d","url":"bottomNavigationIcons/cart_selected_light.svg"},{"revision":"e831c3997fd61b40dd98ae42010748c8","url":"bottomNavigationIcons/cart_selected.svg"},{"revision":"61245975684190aad72714367e00b6e9","url":"bottomNavigationIcons/cart.svg"},{"revision":"4983978e27ff2a6b2762fa987c2fc191","url":"bottomNavigationIcons/home_light.svg"},{"revision":"818a9276c582eb00691aaf2c6d403afd","url":"bottomNavigationIcons/home_selected_light.svg"},{"revision":"71e91928637d7b2c20c0022384a183b6","url":"bottomNavigationIcons/home_selected.svg"},{"revision":"14e812d5a4a0957f3f8774df59f44f8f","url":"bottomNavigationIcons/home.svg"},{"revision":"7e86eec97f44a2cf7e755a31c0f96b44","url":"bottomNavigationIcons/like_light.svg"},{"revision":"6caac3315d7710cd479ca4a178f4c9bd","url":"bottomNavigationIcons/like_selected_light.svg"},{"revision":"f4b009e2e63658b5ece3b58d7ab51c59","url":"bottomNavigationIcons/like_selected.svg"},{"revision":"c84f3a041d69b9a69afc20a35fc41678","url":"bottomNavigationIcons/like.svg"},{"revision":"3ecac1d9ed0b25331ae554b097e496a8","url":"bottomNavigationIcons/search_light.svg"},{"revision":"94dcadb704afda79c7c8428da424eb77","url":"bottomNavigationIcons/search_selected_light.svg"},{"revision":"84231b42b494ea071790ee1012309ffb","url":"bottomNavigationIcons/search_selected.svg"},{"revision":"3ac7a0f0ad27e45e15689dec836044a9","url":"bottomNavigationIcons/search.svg"},{"revision":"8abfe823b3300b4520e53f61e429af97","url":"bottomNavigationIcons/user_light.svg"},{"revision":"8f1b67d459bede5deb968c788ec43d14","url":"bottomNavigationIcons/user_selected_light.svg"},{"revision":"d34484fd1ba06ff493e29efd300564de","url":"bottomNavigationIcons/user_selected.svg"},{"revision":"990c5098a4e50e0cf1d399a286eb653c","url":"bottomNavigationIcons/user.svg"},{"revision":"875b674637dffd938d3e3e72215f3887","url":"favicon.ico"},{"revision":"4b8799df7b8afb0915a7400f81a9a8a9","url":"instagram/logo_white.png"},{"revision":"92481c427920cc79e6dae970f9f4661d","url":"instagram/logo_white.svg"},{"revision":"ca047a02341efbc3beac306bb6de1475","url":"instagram/logo.png"},{"revision":"a04f4b7ca6e5106617216903fd527a6c","url":"instagram/logo.svg"},{"revision":"9723933c5076030ae9eb9c235e28b2aa","url":"preview/empty_user.png"},{"revision":"7eedfeac7232933afd187d5413be2da1","url":"preview/empty_user1.png"},{"revision":"baf92147e71ca9b1852eda0cb2e4108d","url":"preview/logo_preview.png"},{"revision":"c745b423aa67f72a5918be74070a0565","url":"pwa-icon-192.png"},{"revision":"6dac34f5d57c666eb34483023c045609","url":"pwa-icon-512.png"},{"revision":"00ac1e29bb6e83eefb49720abdafdfd6","url":"_nuxt/builds/latest.json"},{"revision":"133410715d19cbed0725cabb188e36a0","url":"manifest.webmanifest"}]||[];try{me(Ne,{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/,/^v$/,/^ver$/,/^t$/]})}catch(s){console.warn("[SW] precache skipped:",s)}self.addEventListener("message",s=>{s.data?.type==="SKIP_WAITING"&&(console.log("[SW] SKIP_WAITING"),self.skipWaiting())});self.addEventListener("push",s=>{s.waitUntil((async()=>{console.log("[SW] Received PUSH message:",s);let e={};try{e=await s.data.json()}catch{try{const a=await s.data.text();e=JSON.parse(a)}catch(a){console.error("[SW] Payload parse error:",a)}}console.log("[SW] Parsed payload:",e);const t=e.title||e.tiitle||"Notification",n={body:e.body||"You have a new message!",icon:e.icon||`${O.NUXT_PUBLIC_STORAGE_LOGO}/pwa-icon-512.png`,badge:e.badge||`${O.NUXT_PUBLIC_STORAGE_LOGO}/pwa-icon-36.png`,vibrate:[100,50,100],data:{url:e.url||e.data?.url||"home",...e.data,ts:Date.now()}};console.log("[SW] Notification details:",t,n);try{await self.registration.showNotification(t,n),console.log("[SW] Notification shown successfully")}catch(a){console.error("[SW] showNotification FAILED:",a,"permission=",Notification.permission)}})())});self.addEventListener("notificationclick",s=>{s.notification.close();const e=s.notification.data?.url||"home";s.waitUntil((async()=>{const t=self.location.origin,n=e.startsWith("http")?e:`${t}/${e.replace(/^\/+/,"")}`,a=await clients.matchAll({type:"window",includeUncontrolled:!0});for(const r of a)if(r.url===n&&"focus"in r)return r.focus();return clients.openWindow?.(n)})())}); +This is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(i)}}}install(e){return E(e,async()=>{const t=new V;this.strategy.plugins.push(t);for(const[r,c]of this._urlsToCacheKeys){const i=this._cacheKeysToIntegrities.get(c),o=this._urlsToCacheModes.get(r),l=new Request(r,{integrity:i,cache:o,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:c},request:l,event:e}))}const{updatedURLs:n,notUpdatedURLs:a}=t;return{updatedURLs:n,notUpdatedURLs:a}})}activate(e){return E(e,async()=>{const t=await self.caches.open(this.strategy.cacheName),n=await t.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(const c of n)a.has(c.url)||(await t.delete(c),r.push(c.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new h("non-precached-url",{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}}let U;const W=()=>(U||(U=new re),U);try{self["workbox:routing:7.2.0"]&&_()}catch{}const A="GET",b=s=>s&&typeof s=="object"?s:{handle:s};class w{constructor(e,t,n=A){this.handler=b(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=b(e)}}class ce extends w{constructor(e,t,n){const a=({url:r})=>{const c=e.exec(r.href);if(c&&!(r.origin!==location.origin&&c.index!==0))return c.slice(1)};super(a,t,n)}}class ie{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&e.data.type==="CACHE_URLS"){const{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(a=>{typeof a=="string"&&(a=[a]);const r=new Request(...a);return this.handleRequest({request:r,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){const n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;const a=n.origin===location.origin,{params:r,route:c}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:n});let i=c&&c.handler;const o=e.method;if(!i&&this._defaultHandlerMap.has(o)&&(i=this._defaultHandlerMap.get(o)),!i)return;let l;try{l=i.handle({url:n,request:e,event:t,params:r})}catch(u){l=Promise.reject(u)}const p=c&&c.catchHandler;return l instanceof Promise&&(this._catchHandler||p)&&(l=l.catch(async u=>{if(p)try{return await p.handle({url:n,request:e,event:t,params:r})}catch(v){v instanceof Error&&(u=v)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw u})),l}findMatchingRoute({url:e,sameOrigin:t,request:n,event:a}){const r=this._routes.get(n.method)||[];for(const c of r){let i;const o=c.match({url:e,sameOrigin:t,request:n,event:a});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o=="boolean")&&(i=void 0),{route:c,params:i}}return{}}setDefaultHandler(e,t=A){this._defaultHandlerMap.set(t,b(e))}setCatchHandler(e){this._catchHandler=b(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new h("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new h("unregister-route-route-not-registered")}}let y;const oe=()=>(y||(y=new ie,y.addFetchListener(),y.addCacheListener()),y);function le(s,e,t){let n;if(typeof s=="string"){const r=new URL(s,location.href),c=({url:i})=>i.href===r.href;n=new w(c,e,t)}else if(s instanceof RegExp)n=new ce(s,e,t);else if(typeof s=="function")n=new w(s,e,t);else if(s instanceof w)n=s;else throw new h("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});return oe().registerRoute(n),n}function he(s,e=[]){for(const t of[...s.searchParams.keys()])e.some(n=>n.test(t))&&s.searchParams.delete(t);return s}function*ue(s,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:t="index.html",cleanURLs:n=!0,urlManipulation:a}={}){const r=new URL(s,location.href);r.hash="",yield r.href;const c=he(r,e);if(yield c.href,t&&c.pathname.endsWith("/")){const i=new URL(c.href);i.pathname+=t,yield i.href}if(n){const i=new URL(c.href);i.pathname+=".html",yield i.href}if(a){const i=a({url:r});for(const o of i)yield o.href}}class fe extends w{constructor(e,t){const n=({request:a})=>{const r=e.getURLsToCacheKeys();for(const c of ue(a.url,t)){const i=r.get(c);if(i){const o=e.getIntegrityForCacheKey(i);return{cacheKey:i,integrity:o}}}};super(n,e.strategy)}}function de(s){const e=W(),t=new fe(e,s);le(t)}const pe="-precache-",ge=async(s,e=pe)=>{const n=(await self.caches.keys()).filter(a=>a.includes(e)&&a.includes(self.registration.scope)&&a!==s);return await Promise.all(n.map(a=>self.caches.delete(a))),n};function ye(){self.addEventListener("activate",(s=>{const e=C.getPrecacheName();s.waitUntil(ge(e).then(t=>{}))}))}function we(s){W().precache(s)}function me(s,e){we(s),de(e)}const Re=(s,e)=>e.some(t=>s instanceof t);let x,M;function be(){return x||(x=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function _e(){return M||(M=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const B=new WeakMap,T=new WeakMap,j=new WeakMap,P=new WeakMap,K=new WeakMap;function Ce(s){const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("success",r),s.removeEventListener("error",c)},r=()=>{t(m(s.result)),a()},c=()=>{n(s.error),a()};s.addEventListener("success",r),s.addEventListener("error",c)});return e.then(t=>{t instanceof IDBCursor&&B.set(t,s)}).catch(()=>{}),K.set(e,s),e}function Le(s){if(T.has(s))return;const e=new Promise((t,n)=>{const a=()=>{s.removeEventListener("complete",r),s.removeEventListener("error",c),s.removeEventListener("abort",c)},r=()=>{t(),a()},c=()=>{n(s.error||new DOMException("AbortError","AbortError")),a()};s.addEventListener("complete",r),s.addEventListener("error",c),s.addEventListener("abort",c)});T.set(s,e)}let N={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return T.get(s);if(e==="objectStoreNames")return s.objectStoreNames||j.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return m(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function Ue(s){N=s(N)}function Pe(s){return s===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const n=s.call(k(this),e,...t);return j.set(n,e.sort?e.sort():[e]),m(n)}:_e().includes(s)?function(...e){return s.apply(k(this),e),m(B.get(this))}:function(...e){return m(s.apply(k(this),e))}}function ke(s){return typeof s=="function"?Pe(s):(s instanceof IDBTransaction&&Le(s),Re(s,be())?new Proxy(s,N):s)}function m(s){if(s instanceof IDBRequest)return Ce(s);if(P.has(s))return P.get(s);const e=ke(s);return e!==s&&(P.set(s,e),K.set(e,s)),e}const k=s=>K.get(s),Ie=["get","getKey","getAll","getAllKeys","count"],Te=["put","add","delete","clear"],I=new Map;function S(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(I.get(e))return I.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,a=Te.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!(a||Ie.includes(t)))return;const r=async function(c,...i){const o=this.transaction(c,a?"readwrite":"readonly");let l=o.store;return n&&(l=l.index(i.shift())),(await Promise.all([l[t](...i),a&&o.done]))[0]};return I.set(e,r),r}Ue(s=>({...s,get:(e,t,n)=>S(e,t)||s.get(e,t,n),has:(e,t)=>!!S(e,t)||s.has(e,t)}));try{self["workbox:expiration:7.2.0"]&&_()}catch{}try{self["workbox:cacheable-response:7.2.0"]&&_()}catch{}var O={};ye();const Ne=[{"revision":null,"url":"_nuxt/_id_.BhPp45mc.css"},{"revision":null,"url":"_nuxt/_id_.D0g0-kXs.css"},{"revision":null,"url":"_nuxt/_id_.DZwRw4ht.css"},{"revision":null,"url":"_nuxt/_iPNLlmk.js"},{"revision":null,"url":"_nuxt/_OSaw0MT.js"},{"revision":null,"url":"_nuxt/0sQGsR-B.js"},{"revision":null,"url":"_nuxt/14hzxqeZ.js"},{"revision":null,"url":"_nuxt/1jTl4r5u.js"},{"revision":null,"url":"_nuxt/3-vhA8tQ.js"},{"revision":null,"url":"_nuxt/3kWPFkR0.js"},{"revision":null,"url":"_nuxt/3oBFl2-F.js"},{"revision":null,"url":"_nuxt/3qqTvnSo.js"},{"revision":null,"url":"_nuxt/3RkI9pc5.js"},{"revision":null,"url":"_nuxt/5ZDQaK5A.js"},{"revision":null,"url":"_nuxt/6Vtnybcx.js"},{"revision":null,"url":"_nuxt/8y_yBhg-.js"},{"revision":null,"url":"_nuxt/add_address.CLIjEQ3m.svg"},{"revision":null,"url":"_nuxt/AmADiAwp.js"},{"revision":null,"url":"_nuxt/B_fmCE4u.js"},{"revision":null,"url":"_nuxt/B1k10HMT.js"},{"revision":null,"url":"_nuxt/B1N_kU_k.js"},{"revision":null,"url":"_nuxt/B1VM9WVF.js"},{"revision":null,"url":"_nuxt/b4XmZQIy.js"},{"revision":null,"url":"_nuxt/B5sAEblQ.js"},{"revision":null,"url":"_nuxt/B7AYPz8C.js"},{"revision":null,"url":"_nuxt/B7cVZ88b.js"},{"revision":null,"url":"_nuxt/B7QhzxXq.js"},{"revision":null,"url":"_nuxt/B91UhLl-.js"},{"revision":null,"url":"_nuxt/BaFlPdDo.js"},{"revision":null,"url":"_nuxt/BasicButton.B2eELnPq.css"},{"revision":null,"url":"_nuxt/BasicIconOld.DktbhR_V.css"},{"revision":null,"url":"_nuxt/BasicInput.BS7pxlLz.css"},{"revision":null,"url":"_nuxt/BasicTextArea.tn0RQdqM.css"},{"revision":null,"url":"_nuxt/Bbd_Ti14.js"},{"revision":null,"url":"_nuxt/BBQQNr_r.js"},{"revision":null,"url":"_nuxt/BBSG9FnH.js"},{"revision":null,"url":"_nuxt/BBT589bc.js"},{"revision":null,"url":"_nuxt/BbXMVhKj.js"},{"revision":null,"url":"_nuxt/BDOptM52.js"},{"revision":null,"url":"_nuxt/Be-gRMon.js"},{"revision":null,"url":"_nuxt/BgR2E6gQ.js"},{"revision":null,"url":"_nuxt/BGrduSck.js"},{"revision":null,"url":"_nuxt/Bh8FlG27.js"},{"revision":null,"url":"_nuxt/BHBthidp.js"},{"revision":null,"url":"_nuxt/BHLsoC0X.js"},{"revision":null,"url":"_nuxt/BhrAsToM.js"},{"revision":null,"url":"_nuxt/BHw89vdB.js"},{"revision":null,"url":"_nuxt/BI5evUJ6.js"},{"revision":null,"url":"_nuxt/BiDL-COj.js"},{"revision":null,"url":"_nuxt/BiJJrwHu.js"},{"revision":null,"url":"_nuxt/BJ6YnkHC.js"},{"revision":null,"url":"_nuxt/BJt1EIeo.js"},{"revision":null,"url":"_nuxt/BLCVMa8A.js"},{"revision":null,"url":"_nuxt/BLK5qYlX.js"},{"revision":null,"url":"_nuxt/BlkfA1qz.js"},{"revision":null,"url":"_nuxt/Bmie_yea.js"},{"revision":null,"url":"_nuxt/BmvgCcse.js"},{"revision":null,"url":"_nuxt/BN8guUTz.js"},{"revision":null,"url":"_nuxt/BNRQPgV4.js"},{"revision":null,"url":"_nuxt/BNS36bUN.js"},{"revision":null,"url":"_nuxt/BoBuM2tF.js"},{"revision":null,"url":"_nuxt/BOwWxdr3.js"},{"revision":null,"url":"_nuxt/Brt5zfvQ.js"},{"revision":null,"url":"_nuxt/bS5OEfKx.js"},{"revision":null,"url":"_nuxt/BsLs4p15.js"},{"revision":null,"url":"_nuxt/BsUIZQ-f.js"},{"revision":null,"url":"_nuxt/BT8sO8ga.js"},{"revision":null,"url":"_nuxt/BtyzBuwr.js"},{"revision":null,"url":"_nuxt/BvP_ux_g.js"},{"revision":null,"url":"_nuxt/Bw_ZgZhj.js"},{"revision":null,"url":"_nuxt/BxF7pQIy.js"},{"revision":null,"url":"_nuxt/BY3KS3PC.js"},{"revision":null,"url":"_nuxt/BYFjdAgw.js"},{"revision":null,"url":"_nuxt/BYkHht5C.js"},{"revision":null,"url":"_nuxt/bz4Gi-i8.js"},{"revision":null,"url":"_nuxt/BzAZyL4T.js"},{"revision":null,"url":"_nuxt/C-5fyTkQ.js"},{"revision":null,"url":"_nuxt/C-xdWTVd.js"},{"revision":null,"url":"_nuxt/C17E0ujv.js"},{"revision":null,"url":"_nuxt/C2q09MKV.js"},{"revision":null,"url":"_nuxt/C3qXPSdl.js"},{"revision":null,"url":"_nuxt/C3x4TpXj.js"},{"revision":null,"url":"_nuxt/C5eOakM-.js"},{"revision":null,"url":"_nuxt/C6svSwIi.js"},{"revision":null,"url":"_nuxt/C7zEPsIa.js"},{"revision":null,"url":"_nuxt/C8NhlFLb.js"},{"revision":null,"url":"_nuxt/C9QN_Mfk.js"},{"revision":null,"url":"_nuxt/Ca3ZqvUo.js"},{"revision":null,"url":"_nuxt/CaZV_EHL.js"},{"revision":null,"url":"_nuxt/CbHNw5X6.js"},{"revision":null,"url":"_nuxt/CBJoCjDV.js"},{"revision":null,"url":"_nuxt/Cbt2tPBc.js"},{"revision":null,"url":"_nuxt/CD4jTnQf.js"},{"revision":null,"url":"_nuxt/CDCPZiX_.js"},{"revision":null,"url":"_nuxt/CDtJoR7M.js"},{"revision":null,"url":"_nuxt/Ceqi68nG.js"},{"revision":null,"url":"_nuxt/CER9i5mY.js"},{"revision":null,"url":"_nuxt/CfQT9Pjy.js"},{"revision":null,"url":"_nuxt/CgpbEzJY.js"},{"revision":null,"url":"_nuxt/ChangeLanguage.SqR8ZyGJ.css"},{"revision":null,"url":"_nuxt/CHtzyEc6.js"},{"revision":null,"url":"_nuxt/Cj99RmFE.js"},{"revision":null,"url":"_nuxt/CJXObQzs.js"},{"revision":null,"url":"_nuxt/CK63FxZH.js"},{"revision":null,"url":"_nuxt/CkcGP4w5.js"},{"revision":null,"url":"_nuxt/CKHWFXyc.js"},{"revision":null,"url":"_nuxt/CkS6gUmV.js"},{"revision":null,"url":"_nuxt/ClgUV-y-.js"},{"revision":null,"url":"_nuxt/CLMw6_SR.js"},{"revision":null,"url":"_nuxt/CmMfcJ2x.js"},{"revision":null,"url":"_nuxt/Cq3oTAtN.js"},{"revision":null,"url":"_nuxt/CqrgowAD.js"},{"revision":null,"url":"_nuxt/CQSSU-NN.js"},{"revision":null,"url":"_nuxt/CQzmf4YL.js"},{"revision":null,"url":"_nuxt/CRIXWJhb.js"},{"revision":null,"url":"_nuxt/CRv-GgbU.js"},{"revision":null,"url":"_nuxt/Cs0PMq_Y.js"},{"revision":null,"url":"_nuxt/Cs5cnJ7-.js"},{"revision":null,"url":"_nuxt/CscEAC8U.js"},{"revision":null,"url":"_nuxt/Cst_R1Uh.js"},{"revision":null,"url":"_nuxt/CsYkSgoy.js"},{"revision":null,"url":"_nuxt/CtGujaVK.js"},{"revision":null,"url":"_nuxt/Ctsa2335.js"},{"revision":null,"url":"_nuxt/CvgOwh8h.js"},{"revision":null,"url":"_nuxt/CwtvwXb3.js"},{"revision":null,"url":"_nuxt/CxM9_8io.js"},{"revision":null,"url":"_nuxt/Cy8_VRum.js"},{"revision":null,"url":"_nuxt/CZfMhVbr.js"},{"revision":null,"url":"_nuxt/CZUeDkO0.js"},{"revision":null,"url":"_nuxt/D-_y6OpO.js"},{"revision":null,"url":"_nuxt/D-bUn136.js"},{"revision":null,"url":"_nuxt/D00xL7aY.js"},{"revision":null,"url":"_nuxt/D0fu8WUi.js"},{"revision":null,"url":"_nuxt/D0vSK_3x.js"},{"revision":null,"url":"_nuxt/D1doa_M-.js"},{"revision":null,"url":"_nuxt/D1Fow3lV.js"},{"revision":null,"url":"_nuxt/D2avLtB7.js"},{"revision":null,"url":"_nuxt/D2iO6YhJ.js"},{"revision":null,"url":"_nuxt/D2VqvOiI.js"},{"revision":null,"url":"_nuxt/D58EDzqx.js"},{"revision":null,"url":"_nuxt/D6qJbdzf.js"},{"revision":null,"url":"_nuxt/D9o4TIOW.js"},{"revision":null,"url":"_nuxt/DAvFecQo.js"},{"revision":null,"url":"_nuxt/DcT29QuF.js"},{"revision":null,"url":"_nuxt/DcxkNLFr.js"},{"revision":null,"url":"_nuxt/Ddip-HNk.js"},{"revision":null,"url":"_nuxt/De7hBUwl.js"},{"revision":null,"url":"_nuxt/default.BbVhhp66.css"},{"revision":null,"url":"_nuxt/delivery-box-light.Cz31HXNr.svg"},{"revision":null,"url":"_nuxt/delivery-box.DZAXZSja.svg"},{"revision":null,"url":"_nuxt/detail_message.3FMAeztm.css"},{"revision":null,"url":"_nuxt/DeTvNnRD.js"},{"revision":null,"url":"_nuxt/DeUOGOlO.js"},{"revision":null,"url":"_nuxt/DfSIj5ee.js"},{"revision":null,"url":"_nuxt/DFzrht7B.js"},{"revision":null,"url":"_nuxt/DGFRw2HL.js"},{"revision":null,"url":"_nuxt/DGswNBmG.js"},{"revision":null,"url":"_nuxt/DgUGVCtO.js"},{"revision":null,"url":"_nuxt/DIW3nMve.js"},{"revision":null,"url":"_nuxt/DjvBa-1E.js"},{"revision":null,"url":"_nuxt/DkLizs-G.js"},{"revision":null,"url":"_nuxt/DlAUqK2U.js"},{"revision":null,"url":"_nuxt/DlznrpTI.js"},{"revision":null,"url":"_nuxt/Dm-BacZx.js"},{"revision":null,"url":"_nuxt/Dn4CZ-Yo.js"},{"revision":null,"url":"_nuxt/DNDpcsqo.js"},{"revision":null,"url":"_nuxt/DnXbm1Hu.js"},{"revision":null,"url":"_nuxt/DOYgr7rE.js"},{"revision":null,"url":"_nuxt/DPBLY6es.js"},{"revision":null,"url":"_nuxt/DPLkQIR9.js"},{"revision":null,"url":"_nuxt/DQ1VUkHT.js"},{"revision":null,"url":"_nuxt/Dq7m1_nY.js"},{"revision":null,"url":"_nuxt/DRaf_pDu.js"},{"revision":null,"url":"_nuxt/DRgfp1up.js"},{"revision":null,"url":"_nuxt/DrvgMTOA.js"},{"revision":null,"url":"_nuxt/DsbmUPiH.js"},{"revision":null,"url":"_nuxt/DTgN_l7o.js"},{"revision":null,"url":"_nuxt/DTq-4KzG.js"},{"revision":null,"url":"_nuxt/Du9NqUFl.js"},{"revision":null,"url":"_nuxt/DuHsFjQf.js"},{"revision":null,"url":"_nuxt/DUmF_Rgz.js"},{"revision":null,"url":"_nuxt/DuNs4Pw1.js"},{"revision":null,"url":"_nuxt/DVxbPVlR.js"},{"revision":null,"url":"_nuxt/DwalR_vN.js"},{"revision":null,"url":"_nuxt/Dy4U5EbT.js"},{"revision":null,"url":"_nuxt/DyxeBzWG.js"},{"revision":null,"url":"_nuxt/DZ5eTpmJ.js"},{"revision":null,"url":"_nuxt/DzeZd0Vf.js"},{"revision":null,"url":"_nuxt/DZxZseAX.js"},{"revision":null,"url":"_nuxt/empty_cart.BKAjJ1Mc.svg"},{"revision":null,"url":"_nuxt/empty_order.g7yXtwjI.svg"},{"revision":null,"url":"_nuxt/empty_user.DjvjY29X.png"},{"revision":null,"url":"_nuxt/entry.BWMwGJC-.css"},{"revision":null,"url":"_nuxt/erGvakZB.js"},{"revision":null,"url":"_nuxt/error-404.2GhCpCfF.css"},{"revision":null,"url":"_nuxt/error-500.DqdIhFrl.css"},{"revision":null,"url":"_nuxt/f-pkBeXf.js"},{"revision":null,"url":"_nuxt/FullScreenStories.vHiwkct6.css"},{"revision":null,"url":"_nuxt/FVfVRvfu.js"},{"revision":null,"url":"_nuxt/gdkE0H3i.js"},{"revision":null,"url":"_nuxt/he0AQ5zD.js"},{"revision":null,"url":"_nuxt/Highlights.LsmMR9Cv.css"},{"revision":null,"url":"_nuxt/HV4Ptg59.js"},{"revision":null,"url":"_nuxt/iccRLuv1.js"},{"revision":null,"url":"_nuxt/index.3vTMV84N.css"},{"revision":null,"url":"_nuxt/index.aL-dNlg2.css"},{"revision":null,"url":"_nuxt/index.Bf6H-IES.css"},{"revision":null,"url":"_nuxt/index.BftfFzRd.css"},{"revision":null,"url":"_nuxt/index.Bhk60kEQ.css"},{"revision":null,"url":"_nuxt/index.Bmikpipo.css"},{"revision":null,"url":"_nuxt/index.BYVlaXPg.css"},{"revision":null,"url":"_nuxt/index.C4gGGvAh.css"},{"revision":null,"url":"_nuxt/index.C7yq570K.css"},{"revision":null,"url":"_nuxt/index.Cc-rnC0q.css"},{"revision":null,"url":"_nuxt/index.CckDcqDG.css"},{"revision":null,"url":"_nuxt/index.CIr5VxXz.css"},{"revision":null,"url":"_nuxt/index.CitrVgdW.css"},{"revision":null,"url":"_nuxt/index.CKnq7F2I.css"},{"revision":null,"url":"_nuxt/index.CNHi-7Ke.css"},{"revision":null,"url":"_nuxt/index.CokH8qEU.css"},{"revision":null,"url":"_nuxt/index.cPbiCMXj.css"},{"revision":null,"url":"_nuxt/index.CW9Q0sCE.css"},{"revision":null,"url":"_nuxt/index.CYd4lFjv.css"},{"revision":null,"url":"_nuxt/index.D0zs6jhd.css"},{"revision":null,"url":"_nuxt/index.DAwdkd-s.css"},{"revision":null,"url":"_nuxt/index.DQQ6m8Ab.css"},{"revision":null,"url":"_nuxt/index.DUwLxYAC.css"},{"revision":null,"url":"_nuxt/index.hcAz5dBv.css"},{"revision":null,"url":"_nuxt/index.Jbtftdv_.css"},{"revision":null,"url":"_nuxt/index.pM9wTB4a.css"},{"revision":null,"url":"_nuxt/index.UdfyQ5iD.css"},{"revision":null,"url":"_nuxt/IndexImageUploader.DpcjnqB-.css"},{"revision":null,"url":"_nuxt/InstaInput.CKJcpevC.css"},{"revision":null,"url":"_nuxt/iVqVBBR5.js"},{"revision":null,"url":"_nuxt/KBq5z4mn.js"},{"revision":null,"url":"_nuxt/kjn9TGm9.js"},{"revision":null,"url":"_nuxt/lDFIwPIu.js"},{"revision":null,"url":"_nuxt/logo_company.SCj7r8dk.svg"},{"revision":null,"url":"_nuxt/logo_preview.B3D6jfxw.png"},{"revision":null,"url":"_nuxt/m9aI9AXX.js"},{"revision":null,"url":"_nuxt/moreOptionProduct.Cv4yblbJ.css"},{"revision":null,"url":"_nuxt/mPGATRDV.js"},{"revision":null,"url":"_nuxt/MSwc40Et.js"},{"revision":null,"url":"_nuxt/not_found.CbOIXISv.svg"},{"revision":null,"url":"_nuxt/numbro.DPJQrSl7.css"},{"revision":null,"url":"_nuxt/ONZBPW5n.js"},{"revision":null,"url":"_nuxt/OrbYBZJs.js"},{"revision":null,"url":"_nuxt/OrderDetail.DmLQfC-y.css"},{"revision":null,"url":"_nuxt/OwD4490s.js"},{"revision":null,"url":"_nuxt/P__iwmVr.js"},{"revision":null,"url":"_nuxt/pagination.DioOUj-L.css"},{"revision":null,"url":"_nuxt/pFOmwm6m.js"},{"revision":null,"url":"_nuxt/Pl2zQqcN.js"},{"revision":null,"url":"_nuxt/PostCardSkeleton.DUP1THnB.css"},{"revision":null,"url":"_nuxt/PPhiVNr-.js"},{"revision":null,"url":"_nuxt/ProductSearchList.CBryqxih.css"},{"revision":null,"url":"_nuxt/ProfilePictureEditor.Bt0HlTI-.css"},{"revision":null,"url":"_nuxt/Q97Vio13.js"},{"revision":null,"url":"_nuxt/qBOvXuao.js"},{"revision":null,"url":"_nuxt/QyMw0Sp1.js"},{"revision":null,"url":"_nuxt/RatLGbB5.js"},{"revision":null,"url":"_nuxt/rN9loPv5.js"},{"revision":null,"url":"_nuxt/Rshl30Eo.js"},{"revision":null,"url":"_nuxt/s--bdPoU.js"},{"revision":null,"url":"_nuxt/ScpmmaE4.js"},{"revision":null,"url":"_nuxt/sFfhux-l.js"},{"revision":null,"url":"_nuxt/SolGyfyY.js"},{"revision":null,"url":"_nuxt/StepNumber.DZuSkTLD.css"},{"revision":null,"url":"_nuxt/style.Dw47-jjr.css"},{"revision":null,"url":"_nuxt/suvZk42U.js"},{"revision":null,"url":"_nuxt/swiper.BiEk7v8n.css"},{"revision":null,"url":"_nuxt/unXo4E2b.js"},{"revision":null,"url":"_nuxt/UserProfilePic.CvlRpmYy.css"},{"revision":null,"url":"_nuxt/Uu20VyED.js"},{"revision":null,"url":"_nuxt/WIqHd_7j.js"},{"revision":null,"url":"_nuxt/wZ2ImbJD.js"},{"revision":null,"url":"_nuxt/XRR38INJ.js"},{"revision":null,"url":"_nuxt/XsaR7Qnn.js"},{"revision":null,"url":"_nuxt/XvbPR14r.js"},{"revision":null,"url":"_nuxt/Y4Uc45PN.js"},{"revision":null,"url":"_nuxt/yaI2rWWM.js"},{"revision":null,"url":"_nuxt/YUm_jrvp.js"},{"revision":null,"url":"_nuxt/z3stQFmK.js"},{"revision":null,"url":"_nuxt/zLi_Sboz.js"},{"revision":null,"url":"_nuxt/zQHOducB.js"},{"revision":null,"url":"_nuxt/ZzUti8KV.js"},{"revision":"e11ed41852f6bfcf6dd77a082d77ff9e","url":"bottomNavigationIcons/add_light.svg"},{"revision":"6685ad998323b72de0d6fe1ddb96f541","url":"bottomNavigationIcons/add.svg"},{"revision":"b24429a87914ece3fbb743343d79400b","url":"bottomNavigationIcons/cart_light.svg"},{"revision":"391b8f56ab48cce55197adc0dae4179d","url":"bottomNavigationIcons/cart_selected_light.svg"},{"revision":"e831c3997fd61b40dd98ae42010748c8","url":"bottomNavigationIcons/cart_selected.svg"},{"revision":"61245975684190aad72714367e00b6e9","url":"bottomNavigationIcons/cart.svg"},{"revision":"4983978e27ff2a6b2762fa987c2fc191","url":"bottomNavigationIcons/home_light.svg"},{"revision":"818a9276c582eb00691aaf2c6d403afd","url":"bottomNavigationIcons/home_selected_light.svg"},{"revision":"71e91928637d7b2c20c0022384a183b6","url":"bottomNavigationIcons/home_selected.svg"},{"revision":"14e812d5a4a0957f3f8774df59f44f8f","url":"bottomNavigationIcons/home.svg"},{"revision":"7e86eec97f44a2cf7e755a31c0f96b44","url":"bottomNavigationIcons/like_light.svg"},{"revision":"6caac3315d7710cd479ca4a178f4c9bd","url":"bottomNavigationIcons/like_selected_light.svg"},{"revision":"f4b009e2e63658b5ece3b58d7ab51c59","url":"bottomNavigationIcons/like_selected.svg"},{"revision":"c84f3a041d69b9a69afc20a35fc41678","url":"bottomNavigationIcons/like.svg"},{"revision":"3ecac1d9ed0b25331ae554b097e496a8","url":"bottomNavigationIcons/search_light.svg"},{"revision":"94dcadb704afda79c7c8428da424eb77","url":"bottomNavigationIcons/search_selected_light.svg"},{"revision":"84231b42b494ea071790ee1012309ffb","url":"bottomNavigationIcons/search_selected.svg"},{"revision":"3ac7a0f0ad27e45e15689dec836044a9","url":"bottomNavigationIcons/search.svg"},{"revision":"8abfe823b3300b4520e53f61e429af97","url":"bottomNavigationIcons/user_light.svg"},{"revision":"8f1b67d459bede5deb968c788ec43d14","url":"bottomNavigationIcons/user_selected_light.svg"},{"revision":"d34484fd1ba06ff493e29efd300564de","url":"bottomNavigationIcons/user_selected.svg"},{"revision":"990c5098a4e50e0cf1d399a286eb653c","url":"bottomNavigationIcons/user.svg"},{"revision":"875b674637dffd938d3e3e72215f3887","url":"favicon.ico"},{"revision":"4b8799df7b8afb0915a7400f81a9a8a9","url":"instagram/logo_white.png"},{"revision":"92481c427920cc79e6dae970f9f4661d","url":"instagram/logo_white.svg"},{"revision":"ca047a02341efbc3beac306bb6de1475","url":"instagram/logo.png"},{"revision":"a04f4b7ca6e5106617216903fd527a6c","url":"instagram/logo.svg"},{"revision":"9723933c5076030ae9eb9c235e28b2aa","url":"preview/empty_user.png"},{"revision":"7eedfeac7232933afd187d5413be2da1","url":"preview/empty_user1.png"},{"revision":"baf92147e71ca9b1852eda0cb2e4108d","url":"preview/logo_preview.png"},{"revision":"c745b423aa67f72a5918be74070a0565","url":"pwa-icon-192.png"},{"revision":"6dac34f5d57c666eb34483023c045609","url":"pwa-icon-512.png"},{"revision":"c2ef81b1b82217128531d44a9a2f0433","url":"_nuxt/builds/latest.json"},{"revision":"133410715d19cbed0725cabb188e36a0","url":"manifest.webmanifest"}]||[];try{me(Ne,{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/,/^v$/,/^ver$/,/^t$/]})}catch(s){console.warn("[SW] precache skipped:",s)}self.addEventListener("message",s=>{s.data?.type==="SKIP_WAITING"&&(console.log("[SW] SKIP_WAITING"),self.skipWaiting())});self.addEventListener("push",s=>{s.waitUntil((async()=>{console.log("[SW] Received PUSH message:",s);let e={};try{e=await s.data.json()}catch{try{const a=await s.data.text();e=JSON.parse(a)}catch(a){console.error("[SW] Payload parse error:",a)}}console.log("[SW] Parsed payload:",e);const t=e.title||e.tiitle||"Notification",n={body:e.body||"You have a new message!",icon:e.icon||`${O.NUXT_PUBLIC_STORAGE_LOGO}/pwa-icon-512.png`,badge:e.badge||`${O.NUXT_PUBLIC_STORAGE_LOGO}/pwa-icon-36.png`,vibrate:[100,50,100],data:{url:e.url||e.data?.url||"home",...e.data,ts:Date.now()}};console.log("[SW] Notification details:",t,n);try{await self.registration.showNotification(t,n),console.log("[SW] Notification shown successfully")}catch(a){console.error("[SW] showNotification FAILED:",a,"permission=",Notification.permission)}})())});self.addEventListener("notificationclick",s=>{s.notification.close();const e=s.notification.data?.url||"home";s.waitUntil((async()=>{const t=self.location.origin,n=e.startsWith("http")?e:`${t}/${e.replace(/^\/+/,"")}`,a=await clients.matchAll({type:"window",includeUncontrolled:!0});for(const r of a)if(r.url===n&&"focus"in r)return r.focus();return clients.openWindow?.(n)})())}); diff --git a/.output/server/chunks/_/CheckOutlined.mjs b/.output/server/chunks/_/CheckOutlined.mjs index 7fc80339..8abc0f02 100644 --- a/.output/server/chunks/_/CheckOutlined.mjs +++ b/.output/server/chunks/_/CheckOutlined.mjs @@ -1,4 +1,4 @@ -import { createVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { createVNode } from 'vue'; import { b5 as Icon } from '../build/server.mjs'; // This icon file is generated automatically. diff --git a/.output/server/chunks/_/error-500.mjs b/.output/server/chunks/_/error-500.mjs index 42f3879e..33d7531e 100644 --- a/.output/server/chunks/_/error-500.mjs +++ b/.output/server/chunks/_/error-500.mjs @@ -1,4 +1,4 @@ -import { escapeHtml } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/@vue/shared/dist/shared.cjs.prod.js'; +import { escapeHtml } from '@vue/shared'; const _messages = { "appName": "Nuxt", "statusCode": 500, "statusMessage": "Internal server error", "description": "This page is temporarily unavailable.", "refresh": "Refresh this page" }; const template = (messages) => { diff --git a/.output/server/chunks/build/BaseDatePicker-B4zD8-v-.mjs b/.output/server/chunks/build/BaseDatePicker-B4zD8-v-.mjs index 8ded2af8..c914407a 100644 --- a/.output/server/chunks/build/BaseDatePicker-B4zD8-v-.mjs +++ b/.output/server/chunks/build/BaseDatePicker-B4zD8-v-.mjs @@ -1,10 +1,10 @@ -import { createVNode, defineComponent, computed, unref, mergeProps, ref, Fragment, toRef, watch, watchEffect, shallowRef, provide, useAttrs, getCurrentScope, onScopeDispose, inject, getCurrentInstance, nextTick, createTextVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { createVNode, defineComponent, computed, unref, mergeProps, ref, Fragment, toRef, watch, watchEffect, shallowRef, provide, useAttrs, getCurrentScope, onScopeDispose, inject, getCurrentInstance, nextTick, createTextVNode, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { b5 as Icon, bv as D, bw as Y, bx as W, by as MS, bz as Q, bA as M, bB as FORMAT_DEFAULT, au as dayjs, a as useConfigStore, C as useConfigInject, bq as useCompactItemContext, D as genComponentStyleHook, bd as useLocaleReceiver, bC as locale$1$1, H as omit, aD as CloseCircleFilled, E as classNames, F as merge, S as genCompactItemStyle, bj as useState$1, L as Button, y as functionType, z as stringType, A as booleanType, $ as objectType, aB as someType, B as arrayType, I as resetComponent, ap as textEllipsis, bD as warningOnce, aq as KeyCode, Y as cloneElement, bE as noteOnce } from './server.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import moment from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import jalaliday from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; -import _objectSpread$3 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import moment from 'moment-jalaali'; +import jalaliday from 'dayjalali'; +import _objectSpread$3 from '@babel/runtime/helpers/esm/objectSpread2'; import { T as Tag } from './index-CAZlc_qy.mjs'; import { r as roundedArrow, T as Trigger, w as wrapperRaf, h as isVisible } from './index-Bn4rLj9V.mjs'; import { u as useMergedState } from './useMergedState-BZEfJ8Fl.mjs'; @@ -12,7 +12,7 @@ import { i as initMoveMotion, u as useMemo } from './move-jlA6kUbh.mjs'; import { i as initSlideMotion, b as slideUpOut, a as slideDownOut, d as slideUpIn, c as slideDownIn, s as shallowequal } from './shallowequal-BEyWmMEh.mjs'; import { u as useInjectFormItemContext, F as FormItemInputContext } from './FormItemContext-BlKvWASA.mjs'; import { a as getStatusClassNames, g as getMergedStatus, i as initInputToken, b as genBasicInputStyle, e as genActiveStyle, k as genHoverStyle } from './index-BGahPE0Z.mjs'; -import { TinyColor } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; +import { TinyColor } from '@ctrl/tinycolor'; // This icon file is generated automatically. var CalendarOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z" } }] }, "name": "calendar", "theme": "outlined" }; diff --git a/.output/server/chunks/build/BasicButton-DhQvSD8U.mjs b/.output/server/chunks/build/BasicButton-DhQvSD8U.mjs index 93745efd..5bd9a7a4 100644 --- a/.output/server/chunks/build/BasicButton-DhQvSD8U.mjs +++ b/.output/server/chunks/build/BasicButton-DhQvSD8U.mjs @@ -1,6 +1,6 @@ -import { LoadingOutlined } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; -import { defineComponent, h, useSlots, computed, mergeProps, unref, withCtx, createVNode, renderSlot, createCommentVNode, createBlock, openBlock, ref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderClass, ssrRenderSlot, ssrRenderAttrs } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { LoadingOutlined } from '@ant-design/icons-vue'; +import { defineComponent, h, useSlots, computed, mergeProps, unref, withCtx, createVNode, renderSlot, createCommentVNode, createBlock, openBlock, ref, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderClass, ssrRenderSlot, ssrRenderAttrs } from 'vue/server-renderer'; import { b as baseButtonIconSize, u as usePrefix, i as icons } from './BasicIconOld-93vAWohq.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { L as Button } from './server.mjs'; diff --git a/.output/server/chunks/build/BasicIconOld-93vAWohq.mjs b/.output/server/chunks/build/BasicIconOld-93vAWohq.mjs index 1d81f18e..87a13b67 100644 --- a/.output/server/chunks/build/BasicIconOld-93vAWohq.mjs +++ b/.output/server/chunks/build/BasicIconOld-93vAWohq.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, computed, mergeProps, unref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, mergeProps, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; const prefixCls = "noname"; diff --git a/.output/server/chunks/build/BasicInput-rlXkJMLE.mjs b/.output/server/chunks/build/BasicInput-rlXkJMLE.mjs index 6a791eaf..7f3fe370 100644 --- a/.output/server/chunks/build/BasicInput-rlXkJMLE.mjs +++ b/.output/server/chunks/build/BasicInput-rlXkJMLE.mjs @@ -1,5 +1,5 @@ -import { defineComponent, computed, mergeProps, unref, createSlots, withCtx, renderSlot, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderSlot } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, mergeProps, unref, createSlots, withCtx, renderSlot, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { u as usePrefix } from './BasicIconOld-93vAWohq.mjs'; import { _ as __nuxt_component_0, I as Input } from './index-G65aBv4F.mjs'; diff --git a/.output/server/chunks/build/Checkbox-Dl5Ja72L.mjs b/.output/server/chunks/build/Checkbox-Dl5Ja72L.mjs index e7d4de28..90e72cd1 100644 --- a/.output/server/chunks/build/Checkbox-Dl5Ja72L.mjs +++ b/.output/server/chunks/build/Checkbox-Dl5Ja72L.mjs @@ -1,6 +1,6 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { defineComponent, ref, watch, createVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { defineComponent, ref, watch, createVNode } from 'vue'; import { O as initDefaultProps, E as classNames, P as PropTypes } from './server.mjs'; var __rest = function(s, e) { diff --git a/.output/server/chunks/build/CropperModal-LZ_g4b9G.mjs b/.output/server/chunks/build/CropperModal-LZ_g4b9G.mjs index ecce38ec..539f6f50 100644 --- a/.output/server/chunks/build/CropperModal-LZ_g4b9G.mjs +++ b/.output/server/chunks/build/CropperModal-LZ_g4b9G.mjs @@ -1,8 +1,8 @@ -import { defineComponent, ref, computed, mergeProps, withCtx, unref, createTextVNode, toDisplayString, watch, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, mergeProps, withCtx, unref, createTextVNode, toDisplayString, watch, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { a as useConfigStore, _ as __nuxt_component_0 } from './server.mjs'; -import { CircleStencil } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-advanced-cropper/dist/index.cjs.js'; +import { CircleStencil } from 'vue-advanced-cropper'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/CustomerCardSkeleton-Bn-AquJT.mjs b/.output/server/chunks/build/CustomerCardSkeleton-Bn-AquJT.mjs index 992bab1a..5cf2a5e0 100644 --- a/.output/server/chunks/build/CustomerCardSkeleton-Bn-AquJT.mjs +++ b/.output/server/chunks/build/CustomerCardSkeleton-Bn-AquJT.mjs @@ -1,9 +1,9 @@ -import { defineComponent, mergeProps, unref, withCtx, createTextVNode, toDisplayString, ref, reactive, createVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, mergeProps, unref, withCtx, createTextVNode, toDisplayString, ref, reactive, createVNode, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderAttr } from 'vue/server-renderer'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { u as useRouter$1, a as useConfigStore, q as useElementSize, aU as baseConfirmWithId, aV as deleteUser } from './server.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "CustomerCard", diff --git a/.output/server/chunks/build/FormItem-CMWnBuQX.mjs b/.output/server/chunks/build/FormItem-CMWnBuQX.mjs index d14704d3..47ebe012 100644 --- a/.output/server/chunks/build/FormItem-CMWnBuQX.mjs +++ b/.output/server/chunks/build/FormItem-CMWnBuQX.mjs @@ -1,10 +1,10 @@ -import _objectSpread$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { createVNode, defineComponent, shallowRef, computed, watchEffect, watch, reactive, Fragment, provide, inject, nextTick, toRaw, ref, Transition, withDirectives, TransitionGroup, vShow, cloneVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread$1 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { createVNode, defineComponent, shallowRef, computed, watchEffect, watch, reactive, Fragment, provide, inject, nextTick, toRaw, ref, Transition, withDirectives, TransitionGroup, vShow, cloneVNode } from 'vue'; import { b5 as Icon, D as genComponentStyleHook, P as PropTypes, b9 as warning$1, C as useConfigInject, ba as LoadingOutlined, aD as CloseCircleFilled, bb as ExclamationCircleFilled, aE as CheckCircleFilled, E as classNames, Q as filterEmpty, F as merge, bc as zoomIn, ao as tuple, aB as someType, bd as useLocaleReceiver, be as localeValues, I as resetComponent, aN as useToken, bf as getTransitionGroupProps, ac as getTransitionProps, V as isValidElement } from './server.mjs'; -import cloneDeep from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import RawAsyncValidator from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import find from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import cloneDeep from 'lodash-es/cloneDeep.js'; +import RawAsyncValidator from 'async-validator'; +import find from 'lodash-es/find.js'; import { _ as __nuxt_component_2 } from './index-Bn4rLj9V.mjs'; import { h as genCollapseMotion, j as collapseMotion } from './index-BGahPE0Z.mjs'; import { b as useProvideFormItemContext, F as FormItemInputContext } from './FormItemContext-BlKvWASA.mjs'; diff --git a/.output/server/chunks/build/FormItemContext-BlKvWASA.mjs b/.output/server/chunks/build/FormItemContext-BlKvWASA.mjs index 2452d3ba..19f8d72b 100644 --- a/.output/server/chunks/build/FormItemContext-BlKvWASA.mjs +++ b/.output/server/chunks/build/FormItemContext-BlKvWASA.mjs @@ -1,4 +1,4 @@ -import { computed, ref, getCurrentInstance, watch, provide, inject, defineComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { computed, ref, getCurrentInstance, watch, provide, inject, defineComponent } from 'vue'; import { N as createContext } from './server.mjs'; const ContextKey = /* @__PURE__ */ Symbol("ContextProps"); diff --git a/.output/server/chunks/build/FullScreenStories-nkUmovER.mjs b/.output/server/chunks/build/FullScreenStories-nkUmovER.mjs index a9c5c770..6a6824b7 100644 --- a/.output/server/chunks/build/FullScreenStories-nkUmovER.mjs +++ b/.output/server/chunks/build/FullScreenStories-nkUmovER.mjs @@ -1,13 +1,13 @@ -import { defineComponent, ref, computed, watchEffect, watch, nextTick, resolveDirective, mergeProps, unref, withCtx, createVNode, withDirectives, createBlock, openBlock, withModifiers, Fragment, renderList, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderList, ssrRenderComponent, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, watchEffect, watch, nextTick, resolveDirective, mergeProps, unref, withCtx, createVNode, withDirectives, createBlock, openBlock, withModifiers, Fragment, renderList, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrRenderComponent, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr } from 'vue/server-renderer'; import { B as BasicInput } from './BasicInput-rlXkJMLE.mjs'; import { u as useRouter$1, a as useConfigStore, aA as useSwipe, b as useUserStore, q as useElementSize } from './server.mjs'; import { _ as _sfc_main$2 } from './like-B155RLSm.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; -import { Swiper, SwiperSlide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import { EffectCreative } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import { Swiper, SwiperSlide } from 'swiper/vue'; +import { EffectCreative } from 'swiper/modules'; import { u as useMediaStore } from './media-D7PFhdrG.mjs'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; import { u as userViewStory, s as setStorySeenLocal } from './media-_NDkNIvH.mjs'; diff --git a/.output/server/chunks/build/Highlights-BltqsdO_.mjs b/.output/server/chunks/build/Highlights-BltqsdO_.mjs index fe9d6fa8..c26d2ac8 100644 --- a/.output/server/chunks/build/Highlights-BltqsdO_.mjs +++ b/.output/server/chunks/build/Highlights-BltqsdO_.mjs @@ -1,20 +1,20 @@ -import _objectSpread$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { createVNode, defineComponent, ref, watch, computed, mergeProps, unref, watchEffect, provide, shallowRef, nextTick, resolveDirective, withCtx, withDirectives, createBlock, openBlock, Fragment, renderList, inject, toRefs, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread$1 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { createVNode, defineComponent, ref, watch, computed, mergeProps, unref, watchEffect, provide, shallowRef, nextTick, resolveDirective, withCtx, withDirectives, createBlock, openBlock, Fragment, renderList, inject, toRefs, useSSRContext } from 'vue'; import { w as wrapperRaf, T as Trigger } from './index-Bn4rLj9V.mjs'; import { b5 as Icon, O as initDefaultProps, aa as flattenChildren, H as omit, P as PropTypes, aW as useRouter, aR as useRoute, a as useConfigStore, b as useUserStore, V as isValidElement, bi as camelize, aC as devWarning, C as useConfigInject, D as genComponentStyleHook, bj as useState$1, af as CloseOutlined, E as classNames, B as arrayType, y as functionType, $ as objectType, z as stringType, A as booleanType, aB as someType, F as merge, bk as toPx, Y as cloneElement, u as useRouter$1, aA as useSwipe, I as resetComponent, ap as textEllipsis, bl as genFocusStyle, aq as KeyCode, bm as skipFlattenKey } from './server.mjs'; import { u as useProvideOverride, E as EllipsisOutlined, M as Menu, _ as __nuxt_component_1$1 } from './index-D-yl9XJT.mjs'; import { R as ResizeObserver } from './index-G65aBv4F.mjs'; import { u as useRefs } from './useRefs-BHKrVg4I.mjs'; -import pick from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/pick.js'; +import pick from 'lodash-es/pick.js'; import { u as useMergedState } from './useMergedState-BZEfJ8Fl.mjs'; import { i as initSlideMotion } from './shallowequal-BEyWmMEh.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderAttr } from 'vue/server-renderer'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { d as getHighlightsList } from './media-_NDkNIvH.mjs'; import { s as setInterval$1, C as CustomProgressBar, a as _imports_0, i as img_gif } from './FullScreenStories-nkUmovER.mjs'; -import { Swiper, SwiperSlide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; +import { Swiper, SwiperSlide } from 'swiper/vue'; import { u as useMediaStore } from './media-D7PFhdrG.mjs'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; diff --git a/.output/server/chunks/build/InstaInput-CLAxMFVK.mjs b/.output/server/chunks/build/InstaInput-CLAxMFVK.mjs index 2ceebc79..36c039e4 100644 --- a/.output/server/chunks/build/InstaInput-CLAxMFVK.mjs +++ b/.output/server/chunks/build/InstaInput-CLAxMFVK.mjs @@ -1,5 +1,5 @@ -import { defineComponent, computed, ref, mergeProps, unref, withCtx, renderSlot, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderSlot } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, ref, mergeProps, unref, withCtx, renderSlot, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer'; import { a as useConfigStore } from './server.mjs'; import { _ as __nuxt_component_1 } from './FormItem-CMWnBuQX.mjs'; diff --git a/.output/server/chunks/build/Logo1-BE8ssPEj.mjs b/.output/server/chunks/build/Logo1-BE8ssPEj.mjs index b73deb24..dc8c59b0 100644 --- a/.output/server/chunks/build/Logo1-BE8ssPEj.mjs +++ b/.output/server/chunks/build/Logo1-BE8ssPEj.mjs @@ -1,5 +1,5 @@ -import { defineComponent, computed, ref, watch, unref, mergeProps, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, ref, watch, unref, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; import { a as useConfigStore } from './server.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/OrdersList-B37Z8P86.mjs b/.output/server/chunks/build/OrdersList-B37Z8P86.mjs index c2331da3..aedad67d 100644 --- a/.output/server/chunks/build/OrdersList-B37Z8P86.mjs +++ b/.output/server/chunks/build/OrdersList-B37Z8P86.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, computed, mergeProps, unref, withCtx, createTextVNode, toDisplayString, reactive, createVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderList, ssrRenderComponent, ssrRenderAttr, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, mergeProps, unref, withCtx, createTextVNode, toDisplayString, reactive, createVNode, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrRenderComponent, ssrRenderAttr, ssrInterpolate } from 'vue/server-renderer'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { u as useRouter$1, a as useConfigStore, aL as useRoute$1, q as useElementSize } from './server.mjs'; @@ -7,7 +7,7 @@ import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { t as toJalali } from './useDateTime-D8RCoGwW.mjs'; import { u as useMediaStore } from './media-D7PFhdrG.mjs'; import { _ as __nuxt_component_1 } from './index-DNuZTxeo.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; const _imports_0$1 = "" + __buildAssetsURL("empty_order.g7yXtwjI.svg"); const _imports_0 = "" + __buildAssetsURL("delivery-box-light.Cz31HXNr.svg"); diff --git a/.output/server/chunks/build/PostCardSkeleton-DAYpOwlx.mjs b/.output/server/chunks/build/PostCardSkeleton-DAYpOwlx.mjs index d1f41af7..ca039eda 100644 --- a/.output/server/chunks/build/PostCardSkeleton-DAYpOwlx.mjs +++ b/.output/server/chunks/build/PostCardSkeleton-DAYpOwlx.mjs @@ -1,16 +1,16 @@ -import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, resolveDirective, createBlock, openBlock, withDirectives, Fragment, renderList, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrGetDirectiveProps, ssrRenderList, ssrRenderClass } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, resolveDirective, createBlock, openBlock, withDirectives, Fragment, renderList, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrGetDirectiveProps, ssrRenderList, ssrRenderClass } from 'vue/server-renderer'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; import { f as formatTime } from './useDateTime-D8RCoGwW.mjs'; -import { Swiper, SwiperSlide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import { Pagination } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import { Swiper, SwiperSlide } from 'swiper/vue'; +import { Pagination } from 'swiper/modules'; import { i as img_gif } from './post_loading-CMOcYm9B.mjs'; import { q as useElementSize, u as useRouter$1, a as useConfigStore, b as useUserStore } from './server.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { _ as _sfc_main$3 } from './like-B155RLSm.mjs'; import { a as _sfc_main$7, b as _sfc_main$5, e as _sfc_main$6 } from './moreOptionProduct-CCkPwsB0.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; const _sfc_main$2 = /* @__PURE__ */ defineComponent({ __name: "Content", diff --git a/.output/server/chunks/build/ProductSearchList-BtzyWbWx.mjs b/.output/server/chunks/build/ProductSearchList-BtzyWbWx.mjs index c212bb37..7ac738af 100644 --- a/.output/server/chunks/build/ProductSearchList-BtzyWbWx.mjs +++ b/.output/server/chunks/build/ProductSearchList-BtzyWbWx.mjs @@ -1,23 +1,23 @@ import { b5 as Icon$1, u as useRouter$1, a as useConfigStore, e as loading, aS as watchDebounced, _ as __nuxt_component_0, aR as useRoute, aW as useRouter, s as supabase, O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, E as classNames, bn as getDataAndAriaProps, y as functionType, A as booleanType, z as stringType, P as PropTypes, aB as someType, aC as devWarning, U as withInstall$1, F as merge, aa as flattenChildren, M as myAxios, L as Button, I as resetComponent, bh as resetIcon, bo as isEmptyElement, Y as cloneElement, $ as objectType, G as useInjectDisabled, V as isValidElement, a1 as getSlot, B as arrayType, a5 as hasProp, aq as KeyCode, K as Keyframe, J as genFocusOutline, aO as withUndefined } from './server.mjs'; -import { createVNode, defineComponent, ref, computed, reactive, withAsyncContext, resolveDirective, unref, mergeProps, customRef, toValue, nextTick, watch, withCtx, createTextVNode, toDisplayString, createBlock, openBlock, Fragment, renderList, withDirectives, vShow, Transition, shallowRef, watchEffect, renderSlot, createCommentVNode, provide, inject, Teleport, useSSRContext, getCurrentInstance } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderSlot, ssrRenderClass } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { createVNode, defineComponent, ref, computed, reactive, withAsyncContext, resolveDirective, unref, mergeProps, customRef, toValue, nextTick, watch, withCtx, createTextVNode, toDisplayString, createBlock, openBlock, Fragment, renderList, withDirectives, vShow, Transition, shallowRef, watchEffect, renderSlot, createCommentVNode, provide, inject, Teleport, useSSRContext, getCurrentInstance } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderSlot, ssrRenderClass } from 'vue/server-renderer'; import { l as loadGray, _ as __nuxt_component_0$1 } from './gray-Bd8mWW-o.mjs'; import { g as getStoreSearchPosts } from './media-_NDkNIvH.mjs'; -import { cloneDeep } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { cloneDeep } from 'lodash-es'; import { a as tryOnScopeDispose } from './index-BWBnVq-W.mjs'; -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import { defineStore } from 'pinia'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { M as Menu, _ as __nuxt_component_1$1 } from './index-D-yl9XJT.mjs'; -import _objectSpread$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread$1 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { f as firstNotUndefined, B as BaseMixin, d as addEventListenerWrap, e as tooltipProps, _ as __nuxt_component_2, w as wrapperRaf, s as supportsPassive } from './index-Bn4rLj9V.mjs'; import { h as genCollapseMotion, j as collapseMotion } from './index-BGahPE0Z.mjs'; import { u as usePrefix, B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { I as Input } from './index-G65aBv4F.mjs'; import { V as VcCheckbox } from './Checkbox-Dl5Ja72L.mjs'; import { u as useInjectFormItemContext, F as FormItemInputContext } from './FormItemContext-BlKvWASA.mjs'; -import { TinyColor } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; +import { TinyColor } from '@ctrl/tinycolor'; import { u as useAsyncData } from './asyncData-Iix-4nDI.mjs'; // This icon file is generated automatically. diff --git a/.output/server/chunks/build/RadioButton-DTAY-M4c.mjs b/.output/server/chunks/build/RadioButton-DTAY-M4c.mjs index 9e7627e4..fff606c3 100644 --- a/.output/server/chunks/build/RadioButton-DTAY-M4c.mjs +++ b/.output/server/chunks/build/RadioButton-DTAY-M4c.mjs @@ -1,8 +1,8 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { defineComponent, ref, watch, computed, createVNode, provide, inject, nextTick } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import { defineComponent, ref, watch, computed, createVNode, provide, inject, nextTick } from 'vue'; import { y as functionType, z as stringType, A as booleanType, B as arrayType, P as PropTypes, C as useConfigInject, D as genComponentStyleHook, E as classNames, F as merge, G as useInjectDisabled, H as omit, I as resetComponent, K as Keyframe, J as genFocusOutline } from './server.mjs'; import { u as useInjectFormItemContext, F as FormItemInputContext } from './FormItemContext-BlKvWASA.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { V as VcCheckbox } from './Checkbox-Dl5Ja72L.mjs'; const radioGroupContextKey = /* @__PURE__ */ Symbol("radioGroupContextKey"); diff --git a/.output/server/chunks/build/SavedList-B0hZHiYG.mjs b/.output/server/chunks/build/SavedList-B0hZHiYG.mjs index aae93b5a..8cb93a7b 100644 --- a/.output/server/chunks/build/SavedList-B0hZHiYG.mjs +++ b/.output/server/chunks/build/SavedList-B0hZHiYG.mjs @@ -1,8 +1,8 @@ import { l as loadGray, _ as __nuxt_component_0 } from './gray-Bd8mWW-o.mjs'; import { u as useRouter$1, a as useConfigStore, m as useIntersectionObserver, e as loading, b as useUserStore } from './server.mjs'; -import { defineComponent, ref, resolveDirective, mergeProps, unref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderStyle, ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import { defineComponent, ref, resolveDirective, mergeProps, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderStyle, ssrRenderComponent } from 'vue/server-renderer'; +import { defineStore } from 'pinia'; import { g as getUserSaved } from './save-DsCeVVYe.mjs'; const useSavedPostStore = defineStore("saved", () => { diff --git a/.output/server/chunks/build/SearchButton-Di7gsVns.mjs b/.output/server/chunks/build/SearchButton-Di7gsVns.mjs index 6ae28052..e7765338 100644 --- a/.output/server/chunks/build/SearchButton-Di7gsVns.mjs +++ b/.output/server/chunks/build/SearchButton-Di7gsVns.mjs @@ -1,6 +1,6 @@ import { a as useConfigStore, _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "SearchButton", diff --git a/.output/server/chunks/build/UserProfilePic-DaZ03Xcl.mjs b/.output/server/chunks/build/UserProfilePic-DaZ03Xcl.mjs index 9007493a..0ab0bd5e 100644 --- a/.output/server/chunks/build/UserProfilePic-DaZ03Xcl.mjs +++ b/.output/server/chunks/build/UserProfilePic-DaZ03Xcl.mjs @@ -1,5 +1,5 @@ -import { defineComponent, resolveDirective, mergeProps, unref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, resolveDirective, mergeProps, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderComponent } from 'vue/server-renderer'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; import { u as useRouter$1, a as useConfigStore } from './server.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; diff --git a/.output/server/chunks/build/_id_-74h8AMoU.mjs b/.output/server/chunks/build/_id_-74h8AMoU.mjs index 7d3e02e2..eb72d233 100644 --- a/.output/server/chunks/build/_id_-74h8AMoU.mjs +++ b/.output/server/chunks/build/_id_-74h8AMoU.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "[id]", diff --git a/.output/server/chunks/build/_id_-B2THnoii.mjs b/.output/server/chunks/build/_id_-B2THnoii.mjs index 056a7e98..23eab65f 100644 --- a/.output/server/chunks/build/_id_-B2THnoii.mjs +++ b/.output/server/chunks/build/_id_-B2THnoii.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "[id]", diff --git a/.output/server/chunks/build/_id_-Cqg4Xn8Y.mjs b/.output/server/chunks/build/_id_-Cqg4Xn8Y.mjs index af260e62..8f8f5d12 100644 --- a/.output/server/chunks/build/_id_-Cqg4Xn8Y.mjs +++ b/.output/server/chunks/build/_id_-Cqg4Xn8Y.mjs @@ -1,9 +1,9 @@ -import { defineComponent, computed, withAsyncContext, unref, mergeProps, ref, reactive, withCtx, createVNode, watch, resolveDirective, createBlock, openBlock, toDisplayString, createTextVNode, shallowRef, inject, provide, nextTick, Transition, withDirectives, vShow, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderStyle, ssrRenderSlot } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, withAsyncContext, unref, mergeProps, ref, reactive, withCtx, createVNode, watch, resolveDirective, createBlock, openBlock, toDisplayString, createTextVNode, shallowRef, inject, provide, nextTick, Transition, withDirectives, vShow, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrRenderList, ssrGetDirectiveProps, ssrRenderStyle, ssrRenderSlot } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, e as loading, aP as getOneUser, q as useElementSize, o as useCartStore, m as useIntersectionObserver, n as getToken, U as withInstall, O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, aC as devWarning, E as classNames, ac as getTransitionProps, X as getTransitionName, H as omit, aQ as NoCompactStyle, P as PropTypes, $ as objectType, F as merge, a4 as Portal, y as functionType, B as arrayType, R as getPropsSlot, aq as KeyCode, af as CloseOutlined } from './server.mjs'; import { _ as _imports_0$2, a as _imports_1$2 } from './cart-DMkYna66.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; -import numbro from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/numbro/dist/numbro.min.js'; +import numbro from 'numbro'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { H as Highlights, T as Tabs, _ as __nuxt_component_1$2 } from './Highlights-BltqsdO_.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; @@ -13,8 +13,8 @@ import { _ as _sfc_main$8 } from './FullScreenStories-nkUmovER.mjs'; import { u as useUserPostStore } from './userPostsStore-CAxMlK-n.mjs'; import { u as useAsyncData } from './asyncData-Iix-4nDI.mjs'; import { B as Badge, i as isNumeric } from './index-Dwnkcm_j.mjs'; -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { _ as __nuxt_component_1 } from './index-BTMNH22J.mjs'; import { _ as __nuxt_component_1$1 } from './index-DNuZTxeo.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; @@ -22,7 +22,7 @@ import { _ as _sfc_main$9 } from './OrdersList-B37Z8P86.mjs'; import { _ as _sfc_main$a } from './SavedList-B0hZHiYG.mjs'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { t as toJalali } from './useDateTime-D8RCoGwW.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -32,52 +32,50 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './useRefs-BHKrVg4I.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/pick.js'; +import 'lodash-es/pick.js'; import './useMergedState-BZEfJ8Fl.mjs'; import './media-_NDkNIvH.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; +import 'swiper/vue'; import './empty_user-DSxcM_ac.mjs'; import './BasicInput-rlXkJMLE.mjs'; import './like-B155RLSm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'swiper/modules'; +import 'perfect-debounce'; import './save-DsCeVVYe.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; const props = () => ({ prefixCls: String, diff --git a/.output/server/chunks/build/_id_-D4gFoNU7.mjs b/.output/server/chunks/build/_id_-D4gFoNU7.mjs index c894a191..accdaab5 100644 --- a/.output/server/chunks/build/_id_-D4gFoNU7.mjs +++ b/.output/server/chunks/build/_id_-D4gFoNU7.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, computed, unref, resolveDirective, mergeProps, withCtx, createTextVNode, toDisplayString, createVNode, withDirectives, reactive, watch, nextTick, shallowRef, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrGetDirectiveProps, ssrRenderList } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, unref, resolveDirective, mergeProps, withCtx, createTextVNode, toDisplayString, createVNode, withDirectives, reactive, watch, nextTick, shallowRef, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrGetDirectiveProps, ssrRenderList } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, e as loading, aM as useProduct, O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, aN as useToken, af as CloseOutlined, E as classNames, H as omit, y as functionType, z as stringType, aB as someType, B as arrayType, A as booleanType, P as PropTypes, aO as withUndefined, M as myAxios, F as merge, Q as filterEmpty, ai as supabaseService, d as api$1, I as resetComponent, ap as textEllipsis, Y as cloneElement } from './server.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; @@ -14,8 +14,8 @@ import { F as Form, _ as _sfc_main$5 } from './index-BHPit4CX.mjs'; import { B as BasicInput } from './BasicInput-rlXkJMLE.mjs'; import { _ as __nuxt_component_1$2, u as useResponsiveObserver } from './FormItem-CMWnBuQX.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { C as CheckOutlined } from '../_/CheckOutlined.mjs'; import { _ as __nuxt_component_2$1 } from './index-Czz3hSzg.mjs'; import { _ as __nuxt_component_2 } from './index-Bn4rLj9V.mjs'; @@ -28,53 +28,51 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import 'throttle-debounce'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './close_light-DbrEdRZI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isEqual.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/compute-scroll-into-view/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/intersection.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/debounce.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/omit.js'; +import 'lodash-es/isEqual.js'; +import 'compute-scroll-into-view'; +import 'lodash-es/cloneDeep.js'; +import 'lodash-es/intersection.js'; +import 'lodash-es/debounce.js'; +import 'lodash-es/omit.js'; import './FormItemContext-BlKvWASA.mjs'; import './index-G65aBv4F.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; +import 'async-validator'; +import 'lodash-es/find.js'; import './useRefs-BHKrVg4I.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; function useBreakpoint() { const screens = shallowRef({}); diff --git a/.output/server/chunks/build/_id_-D8lw7QxL.mjs b/.output/server/chunks/build/_id_-D8lw7QxL.mjs index 5c6b2717..e130366b 100644 --- a/.output/server/chunks/build/_id_-D8lw7QxL.mjs +++ b/.output/server/chunks/build/_id_-D8lw7QxL.mjs @@ -1,7 +1,7 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-bO_TrgvB.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './server.mjs'; @@ -14,25 +14,23 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './empty_user-DSxcM_ac.mjs'; import './inputRules-Cr4Uiro2.mjs'; import './BasicInput-rlXkJMLE.mjs'; @@ -40,13 +38,13 @@ import './usePrice-_QzChhgO.mjs'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './BaseDatePicker-B4zD8-v-.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; +import 'moment-jalaali'; +import 'dayjalali'; import './index-CAZlc_qy.mjs'; import './useMergedState-BZEfJ8Fl.mjs'; import './move-jlA6kUbh.mjs'; @@ -54,24 +52,24 @@ import './shallowequal-BEyWmMEh.mjs'; import './index-BHPit4CX.mjs'; import './close_light-DbrEdRZI.mjs'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isEqual.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/compute-scroll-into-view/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/intersection.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/debounce.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/omit.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; +import 'lodash-es/isEqual.js'; +import 'compute-scroll-into-view'; +import 'lodash-es/intersection.js'; +import 'lodash-es/debounce.js'; +import 'lodash-es/omit.js'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './InstaInput-CLAxMFVK.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/_id_-DuOmOFdf.mjs b/.output/server/chunks/build/_id_-DuOmOFdf.mjs index 82b780f9..2f0ce974 100644 --- a/.output/server/chunks/build/_id_-DuOmOFdf.mjs +++ b/.output/server/chunks/build/_id_-DuOmOFdf.mjs @@ -1,16 +1,16 @@ -import { createVNode, defineComponent, ref, reactive, computed, withAsyncContext, resolveDirective, unref, mergeProps, withCtx, createBlock, openBlock, withDirectives, Fragment, renderList, watch, createTextVNode, toDisplayString, toRef, watchEffect, shallowRef, toRaw, provide, isRef, toRefs, nextTick, inject, cloneVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderList, ssrRenderClass, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { createVNode, defineComponent, ref, reactive, computed, withAsyncContext, resolveDirective, unref, mergeProps, withCtx, createBlock, openBlock, withDirectives, Fragment, renderList, watch, createTextVNode, toDisplayString, toRef, watchEffect, shallowRef, toRaw, provide, isRef, toRefs, nextTick, inject, cloneVNode, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderList, ssrRenderClass, ssrRenderStyle } from 'vue/server-renderer'; import { b5 as Icon, u as useRouter$1, a as useConfigStore, o as useCartStore, b as useUserStore, bp as getOneProduct, _ as __nuxt_component_0, aM as useProduct, p as usePriceStore, O as initDefaultProps, C as useConfigInject, bq as useCompactItemContext, G as useInjectDisabled, D as genComponentStyleHook, X as getTransitionName, br as getTransitionDirection, E as classNames, bs as DefaultRenderEmpty, H as omit, F as merge, aD as CloseCircleFilled, ba as LoadingOutlined, af as CloseOutlined, bj as useState$1, y as functionType, z as stringType, A as booleanType, P as PropTypes, aB as someType, S as genCompactItemStyle, V as isValidElement, Y as cloneElement, I as resetComponent, bh as resetIcon, ap as textEllipsis, aa as flattenChildren, aq as KeyCode, bt as pickAttrs } from './server.mjs'; import { _ as _imports_0, a as _imports_1 } from './cart-DMkYna66.mjs'; import { B as BasicIconOld, u as usePrefix } from './BasicIconOld-93vAWohq.mjs'; import { i as img_gif } from './post_loading-CMOcYm9B.mjs'; -import { Swiper, SwiperSlide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import { Zoom, Navigation, Pagination } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import { Swiper, SwiperSlide } from 'swiper/vue'; +import { Zoom, Navigation, Pagination } from 'swiper/modules'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; -import { cloneDeep, get } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { cloneDeep, get } from 'lodash-es'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; -import _objectSpread$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread$1 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { _ as __nuxt_component_2, T as Trigger, w as wrapperRaf, s as supportsPassive } from './index-Bn4rLj9V.mjs'; import { R as ResizeObserver, a as antInput, S as SearchOutlined } from './index-G65aBv4F.mjs'; import { O as Overflow } from './index-D-yl9XJT.mjs'; @@ -37,50 +37,48 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; +import 'dom-align'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; +import 'lodash-es/uniq.js'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'throttle-debounce'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './UserProfilePic-DaZ03Xcl.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; import './index-BTMNH22J.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './product-DgF2C5vR.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; // This icon file is generated automatically. var DownOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" } }] }, "name": "down", "theme": "outlined" }; diff --git a/.output/server/chunks/build/add-BHFQ6GvB.mjs b/.output/server/chunks/build/add-BHFQ6GvB.mjs index c71221c6..b0056bd6 100644 --- a/.output/server/chunks/build/add-BHFQ6GvB.mjs +++ b/.output/server/chunks/build/add-BHFQ6GvB.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "add", diff --git a/.output/server/chunks/build/address-6Hf-UYeH.mjs b/.output/server/chunks/build/address-6Hf-UYeH.mjs index 648b123a..f689266c 100644 --- a/.output/server/chunks/build/address-6Hf-UYeH.mjs +++ b/.output/server/chunks/build/address-6Hf-UYeH.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "address", diff --git a/.output/server/chunks/build/asyncData-Iix-4nDI.mjs b/.output/server/chunks/build/asyncData-Iix-4nDI.mjs index 56facf34..8b544bb6 100644 --- a/.output/server/chunks/build/asyncData-Iix-4nDI.mjs +++ b/.output/server/chunks/build/asyncData-Iix-4nDI.mjs @@ -1,5 +1,5 @@ -import { computed, toValue, getCurrentInstance, onServerPrefetch, ref, shallowRef, toRef, nextTick, unref } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { debounce } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import { computed, toValue, getCurrentInstance, onServerPrefetch, ref, shallowRef, toRef, nextTick, unref } from 'vue'; +import { debounce } from 'perfect-debounce'; import { ar as useNuxtApp, as as asyncDataDefaults, at as createError } from './server.mjs'; function useAsyncData(...args) { diff --git a/.output/server/chunks/build/attributes-DyARo_QN.mjs b/.output/server/chunks/build/attributes-DyARo_QN.mjs index 7bf15e77..bcf1998f 100644 --- a/.output/server/chunks/build/attributes-DyARo_QN.mjs +++ b/.output/server/chunks/build/attributes-DyARo_QN.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "attributes", diff --git a/.output/server/chunks/build/auth-k6DyND_M.mjs b/.output/server/chunks/build/auth-k6DyND_M.mjs index 2adf7525..2e00acb6 100644 --- a/.output/server/chunks/build/auth-k6DyND_M.mjs +++ b/.output/server/chunks/build/auth-k6DyND_M.mjs @@ -1,5 +1,5 @@ -import { defineComponent, resolveComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, resolveComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "auth", diff --git a/.output/server/chunks/build/brands-CKteK93P.mjs b/.output/server/chunks/build/brands-CKteK93P.mjs index d7f75a9c..ebc80e72 100644 --- a/.output/server/chunks/build/brands-CKteK93P.mjs +++ b/.output/server/chunks/build/brands-CKteK93P.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "brands", diff --git a/.output/server/chunks/build/categories-C5-ZJ8On.mjs b/.output/server/chunks/build/categories-C5-ZJ8On.mjs index 2cc3a144..20ae1de9 100644 --- a/.output/server/chunks/build/categories-C5-ZJ8On.mjs +++ b/.output/server/chunks/build/categories-C5-ZJ8On.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "categories", diff --git a/.output/server/chunks/build/chatStore-BzcgLXi3.mjs b/.output/server/chunks/build/chatStore-BzcgLXi3.mjs index c3c031b6..da4b06d8 100644 --- a/.output/server/chunks/build/chatStore-BzcgLXi3.mjs +++ b/.output/server/chunks/build/chatStore-BzcgLXi3.mjs @@ -1,5 +1,5 @@ -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import { ref, h } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { defineStore } from 'pinia'; +import { ref, h } from 'vue'; import { b as useUserStore, a as useConfigStore, u as useRouter$1, aF as fetchUserChats, s as supabase, aG as api, L as Button, aH as fetchOneChat } from './server.mjs'; const useChatStore = defineStore("chat", () => { diff --git a/.output/server/chunks/build/create-Cx2Q14S8.mjs b/.output/server/chunks/build/create-Cx2Q14S8.mjs index 3d52a57f..a42e486a 100644 --- a/.output/server/chunks/build/create-Cx2Q14S8.mjs +++ b/.output/server/chunks/build/create-Cx2Q14S8.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "create", diff --git a/.output/server/chunks/build/customers-DqvW_xZN.mjs b/.output/server/chunks/build/customers-DqvW_xZN.mjs index bf2acf30..af5e3150 100644 --- a/.output/server/chunks/build/customers-DqvW_xZN.mjs +++ b/.output/server/chunks/build/customers-DqvW_xZN.mjs @@ -1,21 +1,21 @@ -import { createVNode, defineComponent, ref, mergeProps, unref, withCtx, computed, inject, Fragment, watch, Transition, withDirectives, vShow, reactive, nextTick, useSSRContext, provide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrRenderAttr, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { createVNode, defineComponent, ref, mergeProps, unref, withCtx, computed, inject, Fragment, watch, Transition, withDirectives, vShow, reactive, nextTick, useSSRContext, provide } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrRenderAttr, ssrInterpolate } from 'vue/server-renderer'; import { C as CustomerCard, a as CustomerCardSkeleton } from './CustomerCardSkeleton-Bn-AquJT.mjs'; import { b5 as Icon, b as useUserStore, a as useConfigStore, u as useRouter$1, O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, E as classNames, F as merge, bu as initFadeMotion, Q as filterEmpty, y as functionType, $ as objectType, P as PropTypes, z as stringType, I as resetComponent, ah as initMotion, K as Keyframe, ac as getTransitionProps, af as CloseOutlined, A as booleanType } from './server.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; -import _objectSpread$2 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; +import _objectSpread$2 from '@babel/runtime/helpers/esm/objectSpread2'; import { _ as __nuxt_component_2, w as wrapperRaf } from './index-Bn4rLj9V.mjs'; import { B as Badge } from './index-Dwnkcm_j.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { u as useMergedState } from './useMergedState-BZEfJ8Fl.mjs'; import './UserProfilePic-DaZ03Xcl.mjs'; import './empty_user-DSxcM_ac.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './BasicButton-DhQvSD8U.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'throttle-debounce'; +import 'vue-content-loader'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -25,24 +25,22 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; +import 'dom-align'; // This icon file is generated automatically. var FileTextOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z" } }] }, "name": "file-text", "theme": "outlined" }; diff --git a/.output/server/chunks/build/default-BTo0yGi9.mjs b/.output/server/chunks/build/default-BTo0yGi9.mjs index 82cc041a..f05b8204 100644 --- a/.output/server/chunks/build/default-BTo0yGi9.mjs +++ b/.output/server/chunks/build/default-BTo0yGi9.mjs @@ -1,10 +1,10 @@ import { _ as __nuxt_component_0$2 } from './Logo1-BE8ssPEj.mjs'; -import { defineComponent, ref, watch, unref, computed, resolveDirective, mergeProps, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot, ssrRenderClass, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, watch, unref, computed, resolveDirective, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot, ssrRenderClass, ssrInterpolate } from 'vue/server-renderer'; import { u as useRouter$1, aY as useWindowSize, aZ as useBreakpoints, ar as useNuxtApp, a as useConfigStore, b as useUserStore, a_ as useHead, a$ as breakpointsTailwind, o as useCartStore, _ as __nuxt_component_0$1, b0 as useRuntimeConfig, b1 as useScrollLock } from './server.mjs'; import { u as useChatStore } from './chatStore-BzcgLXi3.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; -import { get } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { get } from 'lodash-es'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -14,25 +14,23 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const name = "nuxt-app"; const version = "1.0.0"; diff --git a/.output/server/chunks/build/detail_message-xDbpHMyl.mjs b/.output/server/chunks/build/detail_message-xDbpHMyl.mjs index 14ca5037..78471de3 100644 --- a/.output/server/chunks/build/detail_message-xDbpHMyl.mjs +++ b/.output/server/chunks/build/detail_message-xDbpHMyl.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, computed, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, _ as __nuxt_component_0 } from './server.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/discount-CxD1-xC9.mjs b/.output/server/chunks/build/discount-CxD1-xC9.mjs index 116021ed..6ea4da29 100644 --- a/.output/server/chunks/build/discount-CxD1-xC9.mjs +++ b/.output/server/chunks/build/discount-CxD1-xC9.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "discount", diff --git a/.output/server/chunks/build/error-404-D4uk8sDy.mjs b/.output/server/chunks/build/error-404-D4uk8sDy.mjs index e6bcf4a7..5a831782 100644 --- a/.output/server/chunks/build/error-404-D4uk8sDy.mjs +++ b/.output/server/chunks/build/error-404-D4uk8sDy.mjs @@ -1,7 +1,7 @@ -import { mergeProps, withCtx, createTextVNode, toDisplayString, defineComponent, shallowRef, h, resolveComponent, computed, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { mergeProps, withCtx, createTextVNode, toDisplayString, defineComponent, shallowRef, h, resolveComponent, computed, useSSRContext } from 'vue'; import { p as parseQuery, h as hasProtocol, j as joinURL, w as withTrailingSlash, b as withoutTrailingSlash } from '../nitro/nitro.mjs'; import { a_ as useHead, u as useRouter$1, ar as useNuxtApp, b2 as resolveRouteObject, b0 as useRuntimeConfig, b3 as navigateTo, b4 as nuxtLinkDefaults } from './server.mjs'; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import 'node:http'; import 'node:https'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0); // @__NO_SIDE_EFFECTS__ diff --git a/.output/server/chunks/build/error-500-DFnQv2RE.mjs b/.output/server/chunks/build/error-500-DFnQv2RE.mjs index 32ff5d57..d66b2efe 100644 --- a/.output/server/chunks/build/error-500-DFnQv2RE.mjs +++ b/.output/server/chunks/build/error-500-DFnQv2RE.mjs @@ -1,5 +1,5 @@ -import { mergeProps, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { mergeProps, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { a_ as useHead } from './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = { __name: "error-500", diff --git a/.output/server/chunks/build/gray-Bd8mWW-o.mjs b/.output/server/chunks/build/gray-Bd8mWW-o.mjs index eacd2edf..153d772c 100644 --- a/.output/server/chunks/build/gray-Bd8mWW-o.mjs +++ b/.output/server/chunks/build/gray-Bd8mWW-o.mjs @@ -1,6 +1,6 @@ -import { defineComponent, ref, reactive, computed, mergeProps, unref, withCtx, createVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { defineComponent, ref, reactive, computed, mergeProps, unref, withCtx, createVNode, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr } from 'vue/server-renderer'; +import { ContentLoader } from 'vue-content-loader'; import { q as useElementSize } from './server.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/index-B-efB9iA.mjs b/.output/server/chunks/build/index-B-efB9iA.mjs index 6d641ff7..0e4f8dcc 100644 --- a/.output/server/chunks/build/index-B-efB9iA.mjs +++ b/.output/server/chunks/build/index-B-efB9iA.mjs @@ -1,8 +1,8 @@ import { a as useConfigStore, aR as useRoute, aW as useRouter, _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, ref, computed, watch, nextTick, shallowRef, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, watch, nextTick, shallowRef, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { f as formFields, s as selectedFeatures, a as setItems, i as items, v as variants, b as updateMyAttrs, c as myAttributes, u as useProductStore } from './product-DgF2C5vR.mjs'; -import { differenceBy, cloneDeep } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { differenceBy, cloneDeep } from 'lodash-es'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-B7WDLwX0.mjs b/.output/server/chunks/build/index-B7WDLwX0.mjs index b706b183..2c8ef988 100644 --- a/.output/server/chunks/build/index-B7WDLwX0.mjs +++ b/.output/server/chunks/build/index-B7WDLwX0.mjs @@ -1,9 +1,9 @@ import { _ as __nuxt_component_3 } from './CropperModal-LZ_g4b9G.mjs'; -import { defineComponent, ref, watch, resolveDirective, unref, withCtx, mergeProps, createVNode, toDisplayString, createBlock, createCommentVNode, openBlock, withDirectives, withModifiers, Fragment, renderList, createTextVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrRenderAttrs, ssrGetDirectiveProps, ssrRenderList } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, watch, resolveDirective, unref, withCtx, mergeProps, createVNode, toDisplayString, createBlock, createCommentVNode, openBlock, withDirectives, withModifiers, Fragment, renderList, createTextVNode, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrRenderAttrs, ssrGetDirectiveProps, ssrRenderList } from 'vue/server-renderer'; import { _ as _imports_0 } from './close_light-DbrEdRZI.mjs'; -import { Camera } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/camera/dist/plugin.cjs.js'; -import { Capacitor } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/core/dist/index.cjs.js'; +import { Camera } from '@capacitor/camera'; +import { Capacitor } from '@capacitor/core'; import { u as useRouter$1, a as useConfigStore, aR as useRoute, aX as useRouteStore, d as api$1 } from './server.mjs'; import { m as mediaFilesUrl, p as previewImg, o as original, l as loading, d as findEdit, r as resetFormFields, e as handleProductCropped, u as useProductStore, i as items, g as previewImgPos, j as originalFile } from './product-DgF2C5vR.mjs'; import { i as img_gif } from './post_loading-CMOcYm9B.mjs'; diff --git a/.output/server/chunks/build/index-BDUMxXvM.mjs b/.output/server/chunks/build/index-BDUMxXvM.mjs index 1c4479b4..bb6f0a96 100644 --- a/.output/server/chunks/build/index-BDUMxXvM.mjs +++ b/.output/server/chunks/build/index-BDUMxXvM.mjs @@ -1,7 +1,7 @@ -import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, createBlock, openBlock, createTextVNode, toDisplayString, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, createBlock, openBlock, createTextVNode, toDisplayString, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, f as generateOtp, d as api$1, v as verifyOtp, c as setToken, s as supabase, i as setPassword, j as setBirthday, k as setNames } from './server.mjs'; -import OtpInput from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue3-otp-input/dist/vue3-otp-input.js'; +import OtpInput from 'vue3-otp-input'; import { B as BasicInput } from './BasicInput-rlXkJMLE.mjs'; import { B as BaseDatePicker, a as BaseDatePickerJalali } from './BaseDatePicker-B4zD8-v-.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; @@ -16,46 +16,44 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './usePrice-_QzChhgO.mjs'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; +import 'dom-align'; +import 'moment-jalaali'; +import 'dayjalali'; import './index-CAZlc_qy.mjs'; import './useMergedState-BZEfJ8Fl.mjs'; import './move-jlA6kUbh.mjs'; import './shallowequal-BEyWmMEh.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'throttle-debounce'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-BDjvAITu.mjs b/.output/server/chunks/build/index-BDjvAITu.mjs index 07da28b4..403f6c19 100644 --- a/.output/server/chunks/build/index-BDjvAITu.mjs +++ b/.output/server/chunks/build/index-BDjvAITu.mjs @@ -1,7 +1,7 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-bO_TrgvB.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './server.mjs'; @@ -14,25 +14,23 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './empty_user-DSxcM_ac.mjs'; import './inputRules-Cr4Uiro2.mjs'; import './BasicInput-rlXkJMLE.mjs'; @@ -40,13 +38,13 @@ import './usePrice-_QzChhgO.mjs'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './BaseDatePicker-B4zD8-v-.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; +import 'moment-jalaali'; +import 'dayjalali'; import './index-CAZlc_qy.mjs'; import './useMergedState-BZEfJ8Fl.mjs'; import './move-jlA6kUbh.mjs'; @@ -54,24 +52,24 @@ import './shallowequal-BEyWmMEh.mjs'; import './index-BHPit4CX.mjs'; import './close_light-DbrEdRZI.mjs'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isEqual.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/compute-scroll-into-view/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/intersection.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/debounce.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/omit.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; +import 'lodash-es/isEqual.js'; +import 'compute-scroll-into-view'; +import 'lodash-es/intersection.js'; +import 'lodash-es/debounce.js'; +import 'lodash-es/omit.js'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './InstaInput-CLAxMFVK.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/index-BEYjvUJ0.mjs b/.output/server/chunks/build/index-BEYjvUJ0.mjs index 0bf9f4ca..237b12aa 100644 --- a/.output/server/chunks/build/index-BEYjvUJ0.mjs +++ b/.output/server/chunks/build/index-BEYjvUJ0.mjs @@ -1,6 +1,6 @@ import { u as useRouter$1, a as useConfigStore, b as useUserStore, m as useIntersectionObserver, _ as __nuxt_component_0, n as getToken, d as api$1 } from './server.mjs'; -import { defineComponent, computed, ref, withAsyncContext, provide, unref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, ref, withAsyncContext, provide, unref, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'vue/server-renderer'; import { P as Post, _ as _sfc_main$1 } from './PostCardSkeleton-DAYpOwlx.mjs'; import { u as useUserPostStore } from './userPostsStore-CAxMlK-n.mjs'; import { C as CommentAddEdit, _ as _sfc_main$2, d as deletePostLike, c as createPostLike } from './moreOptionProduct-CCkPwsB0.mjs'; diff --git a/.output/server/chunks/build/index-BGahPE0Z.mjs b/.output/server/chunks/build/index-BGahPE0Z.mjs index ac5c8aa1..053f1abb 100644 --- a/.output/server/chunks/build/index-BGahPE0Z.mjs +++ b/.output/server/chunks/build/index-BGahPE0Z.mjs @@ -1,6 +1,6 @@ import { D as genComponentStyleHook, S as genCompactItemStyle, E as classNames, F as merge, I as resetComponent, T as clearFix } from './server.mjs'; -import { nextTick } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import { nextTick } from 'vue'; +import _extends from '@babel/runtime/helpers/esm/extends'; function getStatusClassNames(prefixCls, status, hasFeedback) { return classNames({ diff --git a/.output/server/chunks/build/index-BGpesmSF.mjs b/.output/server/chunks/build/index-BGpesmSF.mjs index 1ab42369..38cc2a51 100644 --- a/.output/server/chunks/build/index-BGpesmSF.mjs +++ b/.output/server/chunks/build/index-BGpesmSF.mjs @@ -1,5 +1,5 @@ -import { defineComponent, resolveComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, resolveComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { u as useRouter$1, aL as useRoute$1 } from './server.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/index-BHPit4CX.mjs b/.output/server/chunks/build/index-BHPit4CX.mjs index 82483821..d1903818 100644 --- a/.output/server/chunks/build/index-BHPit4CX.mjs +++ b/.output/server/chunks/build/index-BHPit4CX.mjs @@ -1,16 +1,16 @@ -import { defineComponent, unref, mergeProps, useSSRContext, computed, ref, watch, createVNode, reactive, shallowRef, toRaw, nextTick } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, unref, mergeProps, useSSRContext, computed, ref, watch, createVNode, reactive, shallowRef, toRaw, nextTick } from 'vue'; +import { ssrRenderAttrs } from 'vue/server-renderer'; import { _ as _imports_0 } from './close_light-DbrEdRZI.mjs'; import { a as useConfigStore, O as initDefaultProps, C as useConfigInject, b6 as useProviderSize, b7 as useProviderDisabled, b8 as useInjectGlobalForm, E as classNames, y as functionType, A as booleanType, z as stringType, aB as someType, an as anyType, $ as objectType, P as PropTypes, ao as tuple } from './server.mjs'; -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { _ as __nuxt_component_1, d as defaultValidateMessages, a as useStyle, b as useProvideForm, c as cloneByNamePathList, t as toArray$1, g as getNamePath, e as containsNamePath, v as validateRules } from './FormItem-CMWnBuQX.mjs'; -import isEqual from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isEqual.js'; -import compute from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/compute-scroll-into-view/dist/index.mjs'; -import cloneDeep from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import intersection from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/intersection.js'; -import debounce from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/debounce.js'; -import omit from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/omit.js'; +import isEqual from 'lodash-es/isEqual.js'; +import compute from 'compute-scroll-into-view'; +import cloneDeep from 'lodash-es/cloneDeep.js'; +import intersection from 'lodash-es/intersection.js'; +import debounce from 'lodash-es/debounce.js'; +import omit from 'lodash-es/omit.js'; import { u as useInjectFormItemContext, a as FormItemRest } from './FormItemContext-BlKvWASA.mjs'; function isOptionsObject(options) { diff --git a/.output/server/chunks/build/index-BHkQTeAp.mjs b/.output/server/chunks/build/index-BHkQTeAp.mjs index 3a7d4195..4b3bd87d 100644 --- a/.output/server/chunks/build/index-BHkQTeAp.mjs +++ b/.output/server/chunks/build/index-BHkQTeAp.mjs @@ -1,10 +1,10 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-B-efB9iA.mjs'; import { aL as useRoute$1, aX as useRouteStore } from './server.mjs'; import './product-DgF2C5vR.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import 'pinia'; +import 'lodash-es'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -14,24 +14,22 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import '@supabase/supabase-js'; +import 'axios'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-BLXzwKdm.mjs b/.output/server/chunks/build/index-BLXzwKdm.mjs index bf1a0fd9..5343e244 100644 --- a/.output/server/chunks/build/index-BLXzwKdm.mjs +++ b/.output/server/chunks/build/index-BLXzwKdm.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-BMAjr3Fm.mjs b/.output/server/chunks/build/index-BMAjr3Fm.mjs index f51ebb83..3eac6ba7 100644 --- a/.output/server/chunks/build/index-BMAjr3Fm.mjs +++ b/.output/server/chunks/build/index-BMAjr3Fm.mjs @@ -1,8 +1,8 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { defineComponent, shallowRef, watch, createVNode, isVNode, cloneVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { debounce } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import { defineComponent, shallowRef, watch, createVNode, isVNode, cloneVNode } from 'vue'; +import { debounce } from 'throttle-debounce'; import { O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, Q as filterEmpty, P as PropTypes, F as merge, R as getPropsSlot, I as resetComponent, K as Keyframe } from './server.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; const antSpinMove = new Keyframe("antSpinMove", { to: { diff --git a/.output/server/chunks/build/index-BTMNH22J.mjs b/.output/server/chunks/build/index-BTMNH22J.mjs index 4b73835c..b00570d3 100644 --- a/.output/server/chunks/build/index-BTMNH22J.mjs +++ b/.output/server/chunks/build/index-BTMNH22J.mjs @@ -1,6 +1,6 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { defineComponent, ref, computed, createVNode, Fragment } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { defineComponent, ref, computed, createVNode, Fragment } from 'vue'; import { _ as __nuxt_component_2, t as tooltipDefaultProps, b as abstractTooltipProps, c as getArrowStyle, P as PresetColors } from './index-Bn4rLj9V.mjs'; import { U as withInstall, O as initDefaultProps, av as warning, C as useConfigInject, D as genComponentStyleHook, E as classNames, H as omit, X as getTransitionName, F as merge, a0 as initZoomMotion, Q as filterEmpty, an as anyType, I as resetComponent } from './server.mjs'; diff --git a/.output/server/chunks/build/index-BWBnVq-W.mjs b/.output/server/chunks/build/index-BWBnVq-W.mjs index 5564b308..fe0dc5ca 100644 --- a/.output/server/chunks/build/index-BWBnVq-W.mjs +++ b/.output/server/chunks/build/index-BWBnVq-W.mjs @@ -1,4 +1,4 @@ -import { getCurrentScope, onScopeDispose, getCurrentInstance } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { getCurrentScope, onScopeDispose, getCurrentInstance } from 'vue'; function tryOnScopeDispose(fn) { if (getCurrentScope()) { diff --git a/.output/server/chunks/build/index-BZV4xt4-.mjs b/.output/server/chunks/build/index-BZV4xt4-.mjs index a38df6e0..3ae8d5d4 100644 --- a/.output/server/chunks/build/index-BZV4xt4-.mjs +++ b/.output/server/chunks/build/index-BZV4xt4-.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_3 } from './CropperModal-LZ_g4b9G.mjs'; -import { defineComponent, ref, watch, unref, withCtx, createTextVNode, toDisplayString, createVNode, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttr, ssrInterpolate, ssrRenderComponent, ssrRenderList } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, watch, unref, withCtx, createTextVNode, toDisplayString, createVNode, useSSRContext } from 'vue'; +import { ssrRenderAttr, ssrInterpolate, ssrRenderComponent, ssrRenderList } from 'vue/server-renderer'; import { _ as _imports_0 } from './close_light-DbrEdRZI.mjs'; import { u as useRouter$1, a as useConfigStore } from './server.mjs'; import { m as mediaFilesUrl, p as previewImg, h as handleCropped } from './product-DgF2C5vR.mjs'; diff --git a/.output/server/chunks/build/index-Bkm2Cybk.mjs b/.output/server/chunks/build/index-Bkm2Cybk.mjs index 419425aa..8b8855a1 100644 --- a/.output/server/chunks/build/index-Bkm2Cybk.mjs +++ b/.output/server/chunks/build/index-Bkm2Cybk.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-CniCyO6U.mjs'; import './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-Bn4rLj9V.mjs b/.output/server/chunks/build/index-Bn4rLj9V.mjs index e53774dc..750d661e 100644 --- a/.output/server/chunks/build/index-Bn4rLj9V.mjs +++ b/.output/server/chunks/build/index-Bn4rLj9V.mjs @@ -1,8 +1,8 @@ import { U as withInstall, O as initDefaultProps, C as useConfigInject, Q as filterEmpty, V as isValidElement, W as isFragment, E as classNames, X as getTransitionName, Y as cloneElement, D as genComponentStyleHook, Z as getStyle$1, P as PropTypes, $ as objectType, F as merge, a0 as initZoomMotion, R as getPropsSlot, a1 as getSlot, a2 as getEvents, a3 as contains, a4 as Portal, a5 as hasProp, a6 as getComponent, a7 as findDOMNode, a8 as useProvidePortal, I as resetComponent, a9 as getOptionProps, aa as flattenChildren, ab as getMotion$1, ac as getTransitionProps } from './server.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { defineComponent, computed, ref, watch, createVNode, shallowRef, watchEffect, Fragment, provide, inject, nextTick, Transition, toRef, withDirectives, withModifiers, vShow, resolveDirective } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { alignElement, alignPoint } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { defineComponent, computed, ref, watch, createVNode, shallowRef, watchEffect, Fragment, provide, inject, nextTick, Transition, toRef, withDirectives, withModifiers, vShow, resolveDirective } from 'vue'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import { alignElement, alignPoint } from 'dom-align'; let raf = (callback) => setTimeout(callback, 16); let caf = (num) => clearTimeout(num); diff --git a/.output/server/chunks/build/index-BpA9TakX.mjs b/.output/server/chunks/build/index-BpA9TakX.mjs index 4c937a33..7b52d5bc 100644 --- a/.output/server/chunks/build/index-BpA9TakX.mjs +++ b/.output/server/chunks/build/index-BpA9TakX.mjs @@ -1,11 +1,11 @@ -import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, createTextVNode, toDisplayString, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderSlot } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, reactive, mergeProps, unref, withCtx, createVNode, createTextVNode, toDisplayString, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderSlot } from 'vue/server-renderer'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { u as useRouter$1, a as useConfigStore, e as loading, f as generateOtp, d as api$1, v as verifyOtp, c as setToken, s as supabase, h as forgetPassword, r as removeToken } from './server.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { B as BasicInput } from './BasicInput-rlXkJMLE.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; -import OtpInput from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue3-otp-input/dist/vue3-otp-input.js'; +import OtpInput from 'vue3-otp-input'; import { i as inputRulesNoMessage } from './inputRules-Cr4Uiro2.mjs'; import { I as InstaInput } from './InstaInput-CLAxMFVK.mjs'; import 'node:http'; @@ -17,40 +17,38 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './usePrice-_QzChhgO.mjs'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; const _sfc_main$2 = {}; function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { diff --git a/.output/server/chunks/build/index-BwZAfsX0.mjs b/.output/server/chunks/build/index-BwZAfsX0.mjs index 658307d5..81cb9432 100644 --- a/.output/server/chunks/build/index-BwZAfsX0.mjs +++ b/.output/server/chunks/build/index-BwZAfsX0.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-C055_lNj.mjs b/.output/server/chunks/build/index-C055_lNj.mjs index fe97626b..623d6c9f 100644 --- a/.output/server/chunks/build/index-C055_lNj.mjs +++ b/.output/server/chunks/build/index-C055_lNj.mjs @@ -1,9 +1,9 @@ -import { defineComponent, ref, computed, withAsyncContext, watch, resolveDirective, unref, withCtx, mergeProps, createVNode, createBlock, openBlock, Fragment, renderList, createCommentVNode, withDirectives, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderList, ssrGetDirectiveProps, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, withAsyncContext, watch, resolveDirective, unref, withCtx, mergeProps, createVNode, createBlock, openBlock, Fragment, renderList, createCommentVNode, withDirectives, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderList, ssrGetDirectiveProps, ssrRenderStyle } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, o as useCartStore, p as usePriceStore, m as useIntersectionObserver, _ as __nuxt_component_0 } from './server.mjs'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; -import numbro from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/numbro/dist/numbro.min.js'; +import numbro from 'numbro'; import { H as Highlights, T as Tabs, _ as __nuxt_component_1 } from './Highlights-BltqsdO_.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; import { l as loadGray, _ as __nuxt_component_0$1 } from './gray-Bd8mWW-o.mjs'; @@ -22,52 +22,50 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './useRefs-BHKrVg4I.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/pick.js'; +import 'lodash-es/pick.js'; import './useMergedState-BZEfJ8Fl.mjs'; import './media-_NDkNIvH.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; +import 'swiper/vue'; import './empty_user-DSxcM_ac.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './BasicInput-rlXkJMLE.mjs'; import './like-B155RLSm.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'throttle-debounce'; +import 'swiper/modules'; import './index-BWBnVq-W.mjs'; import './Checkbox-Dl5Ja72L.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; const _imports_0$1 = "data:image/svg+xml,%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20512%20512'%20style='enable-background:new%200%200%20512%20512;'%20xml:space='preserve'%3e%3cg%20id='XMLID_2_'%20fill='white'%3e%3cpath%20id='XMLID_14_'%20class='st0'%20d='M460.8,0H51.2C23.3,0,0,23.3,0,51.2v409.6C0,488.7,23.3,512,51.2,512h409.6%20c27.9,0,51.2-23.3,51.2-51.2V51.2C512,23.3,488.7,0,460.8,0z%20M153.6,460.8H51.2V358.4h102.4V460.8z%20M153.6,307.2H51.2V204.8h102.4%20V307.2z%20M153.6,153.6H51.2V51.2h102.4V153.6z%20M307.2,460.8H204.8V358.4h102.4V460.8z%20M307.2,307.2H204.8V204.8h102.4V307.2z%20M307.2,153.6H204.8V51.2h102.4V153.6z%20M460.8,460.8H358.4V358.4h102.4V460.8z%20M460.8,307.2H358.4V204.8h102.4V307.2z%20M460.8,153.6%20H358.4V51.2h102.4V153.6z'/%3e%3c/g%3e%3c/svg%3e"; const _imports_1$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.1.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20512%20512'%20style='enable-background:new%200%200%20512%20512;'%20xml:space='preserve'%3e%3cg%20id='XMLID_2_'%3e%3cpath%20id='XMLID_14_'%20class='st0'%20d='M460.8,0H51.2C23.3,0,0,23.3,0,51.2v409.6C0,488.7,23.3,512,51.2,512h409.6%20c27.9,0,51.2-23.3,51.2-51.2V51.2C512,23.3,488.7,0,460.8,0z%20M153.6,460.8H51.2V358.4h102.4V460.8z%20M153.6,307.2H51.2V204.8h102.4%20V307.2z%20M153.6,153.6H51.2V51.2h102.4V153.6z%20M307.2,460.8H204.8V358.4h102.4V460.8z%20M307.2,307.2H204.8V204.8h102.4V307.2z%20M307.2,153.6H204.8V51.2h102.4V153.6z%20M460.8,460.8H358.4V358.4h102.4V460.8z%20M460.8,307.2H358.4V204.8h102.4V307.2z%20M460.8,153.6%20H358.4V51.2h102.4V153.6z'/%3e%3c/g%3e%3c/svg%3e"; diff --git a/.output/server/chunks/build/index-C4F1aZax.mjs b/.output/server/chunks/build/index-C4F1aZax.mjs index 657ed756..ab904d63 100644 --- a/.output/server/chunks/build/index-C4F1aZax.mjs +++ b/.output/server/chunks/build/index-C4F1aZax.mjs @@ -1,7 +1,7 @@ -import { defineComponent, ref, mergeProps, unref, withCtx, createTextVNode, toDisplayString, createVNode, createBlock, openBlock, Fragment, renderList, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; -import { Swiper, SwiperSlide } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import { EffectCoverflow, Pagination } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import { defineComponent, ref, mergeProps, unref, withCtx, createTextVNode, toDisplayString, createVNode, createBlock, openBlock, Fragment, renderList, useSSRContext } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderList, ssrRenderAttr } from 'vue/server-renderer'; +import { Swiper, SwiperSlide } from 'swiper/vue'; +import { EffectCoverflow, Pagination } from 'swiper/modules'; import { m as mediaFilesUrl } from './product-DgF2C5vR.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { a as useConfigStore, u as useRouter$1 } from './server.mjs'; diff --git a/.output/server/chunks/build/index-CAZlc_qy.mjs b/.output/server/chunks/build/index-CAZlc_qy.mjs index 636ae2c3..e6961098 100644 --- a/.output/server/chunks/build/index-CAZlc_qy.mjs +++ b/.output/server/chunks/build/index-CAZlc_qy.mjs @@ -1,8 +1,8 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { defineComponent, shallowRef, watchEffect, computed, createVNode, Fragment } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import { defineComponent, shallowRef, watchEffect, computed, createVNode, Fragment } from 'vue'; import { P as PropTypes, ad as eventType, C as useConfigInject, D as genComponentStyleHook, E as classNames, ae as Wave, F as merge, af as CloseOutlined, I as resetComponent, ag as capitalize } from './server.mjs'; import { i as isPresetColor, a as isPresetStatusColor, g as genPresetColor } from './index-Bn4rLj9V.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; const genTagStatusStyle = (token, status, cssVariableType) => { const capitalizedCssVariableType = capitalize(cssVariableType); diff --git a/.output/server/chunks/build/index-CQg48Yjy.mjs b/.output/server/chunks/build/index-CQg48Yjy.mjs index ce80ea77..bd0daa8a 100644 --- a/.output/server/chunks/build/index-CQg48Yjy.mjs +++ b/.output/server/chunks/build/index-CQg48Yjy.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BGpesmSF.mjs'; import './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-CniCyO6U.mjs b/.output/server/chunks/build/index-CniCyO6U.mjs index 9f50c1ea..706512a0 100644 --- a/.output/server/chunks/build/index-CniCyO6U.mjs +++ b/.output/server/chunks/build/index-CniCyO6U.mjs @@ -1,5 +1,5 @@ -import { defineComponent, resolveComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, resolveComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { aR as useRoute, u as useRouter$1, a as useConfigStore } from './server.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/index-Czz3hSzg.mjs b/.output/server/chunks/build/index-Czz3hSzg.mjs index e68774a4..f75a7861 100644 --- a/.output/server/chunks/build/index-Czz3hSzg.mjs +++ b/.output/server/chunks/build/index-Czz3hSzg.mjs @@ -1,9 +1,9 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { defineComponent, computed, createVNode, Fragment, ref } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import { defineComponent, computed, createVNode, Fragment, ref } from 'vue'; import { U as withInstall, O as initDefaultProps, C as useConfigInject, D as genComponentStyleHook, z as stringType, aB as someType, $ as objectType, an as anyType, A as booleanType, y as functionType, F as merge, aC as devWarning, aD as CloseCircleFilled, af as CloseOutlined, aE as CheckCircleFilled, I as resetComponent, K as Keyframe } from './server.mjs'; import { C as CheckOutlined } from '../_/CheckOutlined.mjs'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { presetPrimaryColors } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { presetPrimaryColors } from '@ant-design/colors'; import { u as useRefs } from './useRefs-BHKrVg4I.mjs'; import { _ as __nuxt_component_2$1 } from './index-Bn4rLj9V.mjs'; diff --git a/.output/server/chunks/build/index-D-yl9XJT.mjs b/.output/server/chunks/build/index-D-yl9XJT.mjs index 5237236a..2a439cc9 100644 --- a/.output/server/chunks/build/index-D-yl9XJT.mjs +++ b/.output/server/chunks/build/index-D-yl9XJT.mjs @@ -1,13 +1,13 @@ -import _objectSpread$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { createVNode, defineComponent, computed, shallowRef, inject, ref, watchEffect, watch, unref, Fragment, Teleport, getCurrentInstance, provide, toRef, Transition, withDirectives, vShow } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread$1 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { createVNode, defineComponent, computed, shallowRef, inject, ref, watchEffect, watch, unref, Fragment, Teleport, getCurrentInstance, provide, toRef, Transition, withDirectives, vShow } from 'vue'; import { s as shallowequal, i as initSlideMotion } from './shallowequal-BEyWmMEh.mjs'; import { b5 as Icon, C as useConfigInject, aC as devWarning, Y as cloneElement, aa as flattenChildren, $ as objectType, P as PropTypes, D as genComponentStyleHook, bg as isValid, E as classNames, aq as KeyCode, V as isValidElement, F as merge, a0 as initZoomMotion, T as clearFix, I as resetComponent, ap as textEllipsis, R as getPropsSlot, bh as resetIcon, J as genFocusOutline, ac as getTransitionProps } from './server.mjs'; -import uniq from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import uniq from 'lodash-es/uniq.js'; import { R as ResizeObserver } from './index-G65aBv4F.mjs'; import { _ as __nuxt_component_2, w as wrapperRaf, T as Trigger } from './index-Bn4rLj9V.mjs'; import { j as collapseMotion, h as genCollapseMotion } from './index-BGahPE0Z.mjs'; -import { TinyColor } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; +import { TinyColor } from '@ctrl/tinycolor'; // This icon file is generated automatically. var EllipsisOutlined$1 = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "ellipsis", "theme": "outlined" }; diff --git a/.output/server/chunks/build/index-DF7hff4A.mjs b/.output/server/chunks/build/index-DF7hff4A.mjs index d891a648..ebd4af74 100644 --- a/.output/server/chunks/build/index-DF7hff4A.mjs +++ b/.output/server/chunks/build/index-DF7hff4A.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, reactive, mergeProps, withCtx, unref, createVNode, withKeys, createTextVNode, toDisplayString, watch, nextTick, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, reactive, mergeProps, withCtx, unref, createVNode, withKeys, createTextVNode, toDisplayString, watch, nextTick, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr } from 'vue/server-renderer'; import { B as BasicSheet } from './index-m5qbBl98.mjs'; import { F as Form, _ as _sfc_main$3 } from './index-BHPit4CX.mjs'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, l as login, s as supabase, c as setToken, g as goToProfile, d as api$1 } from './server.mjs'; @@ -11,8 +11,8 @@ import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { c as clearStorySeen } from './media-_NDkNIvH.mjs'; import { _ as __nuxt_component_0 } from './Logo1-BE8ssPEj.mjs'; import { I as InstaInput } from './InstaInput-CLAxMFVK.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; @@ -22,51 +22,49 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; +import 'consola'; +import 'ipx'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './close_light-DbrEdRZI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@babel/runtime/helpers/esm/extends'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-BGahPE0Z.mjs'; import './FormItemContext-BlKvWASA.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isEqual.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/compute-scroll-into-view/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/intersection.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/debounce.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/omit.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'lodash-es/isEqual.js'; +import 'compute-scroll-into-view'; +import 'lodash-es/intersection.js'; +import 'lodash-es/debounce.js'; +import 'lodash-es/omit.js'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './Checkbox-Dl5Ja72L.mjs'; import './usePrice-_QzChhgO.mjs'; import './index-G65aBv4F.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; const _sfc_main$2 = /* @__PURE__ */ defineComponent({ __name: "ChangeLanguage", diff --git a/.output/server/chunks/build/index-DNuZTxeo.mjs b/.output/server/chunks/build/index-DNuZTxeo.mjs index f1328b75..6e67b9f7 100644 --- a/.output/server/chunks/build/index-DNuZTxeo.mjs +++ b/.output/server/chunks/build/index-DNuZTxeo.mjs @@ -1,6 +1,6 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { defineComponent, computed, createVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { defineComponent, computed, createVNode } from 'vue'; import { U as withInstall, C as useConfigInject, D as genComponentStyleHook, aa as flattenChildren, F as merge, I as resetComponent } from './server.mjs'; const genSharedDividerStyle = (token) => { diff --git a/.output/server/chunks/build/index-DS5guGfr.mjs b/.output/server/chunks/build/index-DS5guGfr.mjs index 1a77c0fd..24f992b0 100644 --- a/.output/server/chunks/build/index-DS5guGfr.mjs +++ b/.output/server/chunks/build/index-DS5guGfr.mjs @@ -1,10 +1,10 @@ -import { defineComponent, ref, mergeProps, withCtx, createBlock, openBlock, Fragment, renderList, withModifiers, createVNode, unref, resolveDirective, reactive, toDisplayString, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, mergeProps, withCtx, createBlock, openBlock, Fragment, renderList, withModifiers, createVNode, unref, resolveDirective, reactive, toDisplayString, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr } from 'vue/server-renderer'; import { u as useRouter$1, a as useConfigStore, _ as __nuxt_component_0, b as useUserStore, aS as watchDebounced, e as loading, aT as getCustomerList, q as useElementSize, s as supabase } from './server.mjs'; import { _ as _sfc_main$9, C as Collapse, a as __nuxt_component_1, g as getCategoriesTree } from './ProductSearchList-BtzyWbWx.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { p as previewImg$1 } from './logo_preview-CJTcB_Eg.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; import { T as Tag } from './index-CAZlc_qy.mjs'; import { C as CustomerCard, a as CustomerCardSkeleton } from './CustomerCardSkeleton-Bn-AquJT.mjs'; import 'node:http'; @@ -16,26 +16,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './gray-Bd8mWW-o.mjs'; import './media-_NDkNIvH.mjs'; import './index-BWBnVq-W.mjs'; @@ -43,20 +41,20 @@ import './usePrice-_QzChhgO.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './Checkbox-Dl5Ja72L.mjs'; import './asyncData-Iix-4nDI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; import './UserProfilePic-DaZ03Xcl.mjs'; import './empty_user-DSxcM_ac.mjs'; diff --git a/.output/server/chunks/build/index-D_lfciOt.mjs b/.output/server/chunks/build/index-D_lfciOt.mjs index d4e8d018..7c389a8f 100644 --- a/.output/server/chunks/build/index-D_lfciOt.mjs +++ b/.output/server/chunks/build/index-D_lfciOt.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-Dc-8Klve.mjs b/.output/server/chunks/build/index-Dc-8Klve.mjs index 1765316a..fd986cca 100644 --- a/.output/server/chunks/build/index-Dc-8Klve.mjs +++ b/.output/server/chunks/build/index-Dc-8Klve.mjs @@ -1,5 +1,5 @@ -import { defineComponent, computed, unref, ref, watch, mergeProps, withAsyncContext, provide, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, unref, ref, watch, mergeProps, withAsyncContext, provide, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'vue/server-renderer'; import { a as useConfigStore, u as useRouter$1, b as useUserStore, o as useCartStore, p as usePriceStore, _ as __nuxt_component_0$1, m as useIntersectionObserver, n as getToken, d as api$1 } from './server.mjs'; import { u as usePrice } from './usePrice-_QzChhgO.mjs'; import { P as Post, _ as _sfc_main$7 } from './PostCardSkeleton-DAYpOwlx.mjs'; @@ -8,7 +8,7 @@ import { d as deleteSave, c as createSave } from './save-DsCeVVYe.mjs'; import { u as useProductStore } from './product-DgF2C5vR.mjs'; import { u as useMediaStore } from './media-D7PFhdrG.mjs'; import { u as useAsyncData } from './asyncData-Iix-4nDI.mjs'; -import { storeToRefs } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import { storeToRefs } from 'pinia'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { _ as _sfc_main$6 } from './FullScreenStories-nkUmovER.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; @@ -22,61 +22,59 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './empty_user-DSxcM_ac.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; +import 'swiper/vue'; +import 'swiper/modules'; import './post_loading-CMOcYm9B.mjs'; import './BasicIconOld-93vAWohq.mjs'; import './like-B155RLSm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-BTMNH22J.mjs'; import './media-_NDkNIvH.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; import './BasicInput-rlXkJMLE.mjs'; import '../_/CheckOutlined.mjs'; import './useRefs-BHKrVg4I.mjs'; diff --git a/.output/server/chunks/build/index-Ddk8c6tz.mjs b/.output/server/chunks/build/index-Ddk8c6tz.mjs index 41fd50a5..f79146f3 100644 --- a/.output/server/chunks/build/index-Ddk8c6tz.mjs +++ b/.output/server/chunks/build/index-Ddk8c6tz.mjs @@ -1,5 +1,5 @@ -import { defineComponent, createVNode, resolveDynamicComponent, unref, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, createVNode, resolveDynamicComponent, unref, useSSRContext } from 'vue'; +import { ssrRenderVNode } from 'vue/server-renderer'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-Dg3UGV62.mjs b/.output/server/chunks/build/index-Dg3UGV62.mjs index 666961be..579dc1d2 100644 --- a/.output/server/chunks/build/index-Dg3UGV62.mjs +++ b/.output/server/chunks/build/index-Dg3UGV62.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BEYjvUJ0.mjs'; import './server.mjs'; import 'node:http'; @@ -11,70 +11,68 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './PostCardSkeleton-DAYpOwlx.mjs'; import './empty_user-DSxcM_ac.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; +import 'swiper/vue'; +import 'swiper/modules'; import './post_loading-CMOcYm9B.mjs'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './like-B155RLSm.mjs'; import './moreOptionProduct-CCkPwsB0.mjs'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './UserProfilePic-DaZ03Xcl.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-BTMNH22J.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './product-DgF2C5vR.mjs'; import './userPostsStore-CAxMlK-n.mjs'; import './media-_NDkNIvH.mjs'; import './save-DsCeVVYe.mjs'; import './asyncData-Iix-4nDI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-DqEgVPa7.mjs b/.output/server/chunks/build/index-DqEgVPa7.mjs index bb631eca..82bcc42c 100644 --- a/.output/server/chunks/build/index-DqEgVPa7.mjs +++ b/.output/server/chunks/build/index-DqEgVPa7.mjs @@ -1,23 +1,23 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-B7WDLwX0.mjs'; import { aL as useRoute$1, aX as useRouteStore } from './server.mjs'; import './CropperModal-LZ_g4b9G.mjs'; import './BasicButton-DhQvSD8U.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-advanced-cropper/dist/index.cjs.js'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import 'throttle-debounce'; +import '@babel/runtime/helpers/esm/extends'; +import 'vue-advanced-cropper'; import './close_light-DbrEdRZI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/camera/dist/plugin.cjs.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/core/dist/index.cjs.js'; +import '@capacitor/camera'; +import '@capacitor/core'; import './product-DgF2C5vR.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import 'pinia'; +import 'lodash-es'; import './post_loading-CMOcYm9B.mjs'; import './RadioButton-DTAY-M4c.mjs'; import './FormItemContext-BlKvWASA.mjs'; @@ -31,21 +31,19 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import '@supabase/supabase-js'; +import 'axios'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-Dwnkcm_j.mjs b/.output/server/chunks/build/index-Dwnkcm_j.mjs index bfcec504..aef96593 100644 --- a/.output/server/chunks/build/index-Dwnkcm_j.mjs +++ b/.output/server/chunks/build/index-Dwnkcm_j.mjs @@ -1,6 +1,6 @@ -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { defineComponent, computed, ref, watch, createVNode, Transition, withDirectives, vShow, reactive } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { defineComponent, computed, ref, watch, createVNode, Transition, withDirectives, vShow, reactive } from 'vue'; import { P as PropTypes, C as useConfigInject, D as genComponentStyleHook, R as getPropsSlot, aa as flattenChildren, Y as cloneElement, E as classNames, ac as getTransitionProps, F as merge, Q as filterEmpty, I as resetComponent, K as Keyframe } from './server.mjs'; import { i as isPresetColor, g as genPresetColor } from './index-Bn4rLj9V.mjs'; diff --git a/.output/server/chunks/build/index-FQr22nQW.mjs b/.output/server/chunks/build/index-FQr22nQW.mjs index cc267271..24e85c2b 100644 --- a/.output/server/chunks/build/index-FQr22nQW.mjs +++ b/.output/server/chunks/build/index-FQr22nQW.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-G65aBv4F.mjs b/.output/server/chunks/build/index-G65aBv4F.mjs index 583656e6..cecab730 100644 --- a/.output/server/chunks/build/index-G65aBv4F.mjs +++ b/.output/server/chunks/build/index-G65aBv4F.mjs @@ -1,11 +1,11 @@ -import _objectSpread$3 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import { createVNode, defineComponent, shallowRef, watchEffect, computed, ref, Fragment, getCurrentInstance, watch, withDirectives, nextTick, reactive } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import _objectSpread$3 from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import { createVNode, defineComponent, shallowRef, watchEffect, computed, ref, Fragment, getCurrentInstance, watch, withDirectives, nextTick, reactive } from 'vue'; import { b5 as Icon, C as useConfigInject, bq as useCompactItemContext, G as useInjectDisabled, aD as CloseCircleFilled, H as omit, E as classNames, aQ as NoCompactStyle, ad as eventType, an as anyType, P as PropTypes, ao as tuple, Y as cloneElement, V as isValidElement, z as stringType, Q as filterEmpty, av as warning, a7 as findDOMNode, L as Button } from './server.mjs'; import { u as useInjectFormItemContext, F as FormItemInputContext, N as NoFormStatus } from './FormItemContext-BlKvWASA.mjs'; import { g as getMergedStatus, u as useStyle, a as getStatusClassNames } from './index-BGahPE0Z.mjs'; -import isPlainObject from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import ResizeObserver$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import isPlainObject from 'lodash-es/isPlainObject.js'; +import ResizeObserver$1 from 'resize-observer-polyfill'; import { w as wrapperRaf } from './index-Bn4rLj9V.mjs'; // This icon file is generated automatically. diff --git a/.output/server/chunks/build/index-J7zYsaAY.mjs b/.output/server/chunks/build/index-J7zYsaAY.mjs index aac6b2a7..3f476dfd 100644 --- a/.output/server/chunks/build/index-J7zYsaAY.mjs +++ b/.output/server/chunks/build/index-J7zYsaAY.mjs @@ -1,11 +1,11 @@ -import { defineComponent, ref, computed, nextTick, withAsyncContext, watch, resolveDirective, unref, mergeProps, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, computed, nextTick, withAsyncContext, watch, resolveDirective, unref, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrGetDirectiveProps, ssrRenderAttr, ssrRenderStyle } from 'vue/server-renderer'; import { S as SearchButton } from './SearchButton-Di7gsVns.mjs'; import { l as loadGray, _ as __nuxt_component_0 } from './gray-Bd8mWW-o.mjs'; import { g as getStoreSearchPosts } from './media-_NDkNIvH.mjs'; import { u as useRouter$1, a as useConfigStore, m as useIntersectionObserver } from './server.mjs'; import { u as useAsyncData } from './asyncData-Iix-4nDI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -15,27 +15,25 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; +import 'perfect-debounce'; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-SVLpauU4.mjs b/.output/server/chunks/build/index-SVLpauU4.mjs index 4c6c3217..a3e749f7 100644 --- a/.output/server/chunks/build/index-SVLpauU4.mjs +++ b/.output/server/chunks/build/index-SVLpauU4.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-bO_TrgvB.mjs b/.output/server/chunks/build/index-bO_TrgvB.mjs index af4f3ed8..9a5a2f87 100644 --- a/.output/server/chunks/build/index-bO_TrgvB.mjs +++ b/.output/server/chunks/build/index-bO_TrgvB.mjs @@ -1,6 +1,6 @@ -import { LoadingOutlined } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; -import { defineComponent, ref, h, watch, resolveDirective, mergeProps, unref, withCtx, createVNode, createBlock, openBlock, Fragment, toDisplayString, createCommentVNode, createTextVNode, withDirectives, renderList, computed, nextTick, reactive, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderClass, ssrInterpolate, ssrRenderAttrs, ssrGetDirectiveProps, ssrRenderList, ssrRenderAttr, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { LoadingOutlined } from '@ant-design/icons-vue'; +import { defineComponent, ref, h, watch, resolveDirective, mergeProps, unref, withCtx, createVNode, createBlock, openBlock, Fragment, toDisplayString, createCommentVNode, createTextVNode, withDirectives, renderList, computed, nextTick, reactive, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderClass, ssrInterpolate, ssrRenderAttrs, ssrGetDirectiveProps, ssrRenderList, ssrRenderAttr, ssrRenderStyle } from 'vue/server-renderer'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, aI as checkUsername, e as loading, aJ as updateUser, aK as getStoreCollections, L as Button } from './server.mjs'; import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; @@ -13,9 +13,9 @@ import { F as Form, _ as _sfc_main$5 } from './index-BHPit4CX.mjs'; import { B as BasicSheet } from './index-m5qbBl98.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { I as InstaInput } from './InstaInput-CLAxMFVK.mjs'; -import { Disclosure, DisclosureButton, DisclosurePanel } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'; import { S as Spin } from './index-BMAjr3Fm.mjs'; -import { debounce } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { debounce } from 'lodash-es'; const _sfc_main$4 = /* @__PURE__ */ defineComponent({ __name: "BasicTextArea", diff --git a/.output/server/chunks/build/index-kXDq4FjG.mjs b/.output/server/chunks/build/index-kXDq4FjG.mjs index ee70d342..927dfc96 100644 --- a/.output/server/chunks/build/index-kXDq4FjG.mjs +++ b/.output/server/chunks/build/index-kXDq4FjG.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-CniCyO6U.mjs'; import './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-m5qbBl98.mjs b/.output/server/chunks/build/index-m5qbBl98.mjs index 12ab1765..d38ba1dc 100644 --- a/.output/server/chunks/build/index-m5qbBl98.mjs +++ b/.output/server/chunks/build/index-m5qbBl98.mjs @@ -1,13 +1,13 @@ -import { ref, computed, nextTick, watch, mergeProps, unref, withCtx, createVNode, reactive, isRef, defineComponent, useSlots, h, Fragment, useSSRContext, inject, toRaw } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttrs, ssrRenderComponent, ssrRenderClass, ssrRenderSlot, ssrInterpolate, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; -import { useDrag } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import { TransitionRoot } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import { ref, computed, nextTick, watch, mergeProps, unref, withCtx, createVNode, reactive, isRef, defineComponent, useSlots, h, Fragment, useSSRContext, inject, toRaw } from 'vue'; +import { ssrRenderAttrs, ssrRenderComponent, ssrRenderClass, ssrRenderSlot, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer'; +import { useDrag } from '@vueuse/gesture'; +import { TransitionRoot } from '@headlessui/vue'; import { a as defu } from '../nitro/nitro.mjs'; import { a as useConfigStore, t as unrefElement, w as isObject$2, m as useIntersectionObserver, x as useEventListener } from './server.mjs'; import { t as tryOnUnmounted } from './index-BWBnVq-W.mjs'; -import sync, { getFrameData } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import { inertia, animate, velocityPerSecond, cubicBezier, bounceOut, bounceInOut, bounceIn, anticipate, backOut, backInOut, backIn, circOut, circInOut, circIn, easeOut, easeInOut, easeIn, linear } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import { complex, number, alpha, filter, px, progressPercentage, degrees, scale, color } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import sync, { getFrameData } from 'framesync'; +import { inertia, animate, velocityPerSecond, cubicBezier, bounceOut, bounceInOut, bounceIn, anticipate, backOut, backInOut, backIn, circOut, circInOut, circIn, easeOut, easeInOut, easeIn, linear } from 'popmotion'; +import { complex, number, alpha, filter, px, progressPercentage, degrees, scale, color } from 'style-value-types'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; class SubscriptionManager { diff --git a/.output/server/chunks/build/index-r-2MJVkA.mjs b/.output/server/chunks/build/index-r-2MJVkA.mjs index 6f599698..00788e76 100644 --- a/.output/server/chunks/build/index-r-2MJVkA.mjs +++ b/.output/server/chunks/build/index-r-2MJVkA.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BGpesmSF.mjs'; import './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/index-t6UUxREo.mjs b/.output/server/chunks/build/index-t6UUxREo.mjs index 63516d6e..e0edc141 100644 --- a/.output/server/chunks/build/index-t6UUxREo.mjs +++ b/.output/server/chunks/build/index-t6UUxREo.mjs @@ -1,5 +1,5 @@ -import { defineComponent, ref, resolveComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, resolveComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", diff --git a/.output/server/chunks/build/infProduct-cCW5f0qm.mjs b/.output/server/chunks/build/infProduct-cCW5f0qm.mjs index 5227cb7c..d6c70ec4 100644 --- a/.output/server/chunks/build/infProduct-cCW5f0qm.mjs +++ b/.output/server/chunks/build/infProduct-cCW5f0qm.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-B-efB9iA.mjs'; import './server.mjs'; import 'node:http'; @@ -11,26 +11,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './product-DgF2C5vR.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/infProductExcel-C44jtqig.mjs b/.output/server/chunks/build/infProductExcel-C44jtqig.mjs index 0c0a7d80..c33672d9 100644 --- a/.output/server/chunks/build/infProductExcel-C44jtqig.mjs +++ b/.output/server/chunks/build/infProductExcel-C44jtqig.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "infProductExcel", diff --git a/.output/server/chunks/build/infStory-Cb6kxsXO.mjs b/.output/server/chunks/build/infStory-Cb6kxsXO.mjs index 75928710..208cc440 100644 --- a/.output/server/chunks/build/infStory-Cb6kxsXO.mjs +++ b/.output/server/chunks/build/infStory-Cb6kxsXO.mjs @@ -1,10 +1,10 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-C4F1aZax.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'swiper/vue'; +import 'swiper/modules'; import './product-DgF2C5vR.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import 'pinia'; import './server.mjs'; import 'node:http'; import 'node:https'; @@ -15,33 +15,31 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './BaseDatePicker-B4zD8-v-.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; +import 'moment-jalaali'; +import 'dayjalali'; import './index-CAZlc_qy.mjs'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './useMergedState-BZEfJ8Fl.mjs'; import './move-jlA6kUbh.mjs'; import './shallowequal-BEyWmMEh.mjs'; @@ -50,11 +48,11 @@ import './index-BGahPE0Z.mjs'; import './media-D7PFhdrG.mjs'; import './media-_NDkNIvH.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "infStory", diff --git a/.output/server/chunks/build/infStory-D7kFWJMn.mjs b/.output/server/chunks/build/infStory-D7kFWJMn.mjs index 61e4813a..57511ca2 100644 --- a/.output/server/chunks/build/infStory-D7kFWJMn.mjs +++ b/.output/server/chunks/build/infStory-D7kFWJMn.mjs @@ -1,10 +1,10 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-C4F1aZax.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'swiper/vue'; +import 'swiper/modules'; import './product-DgF2C5vR.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import 'pinia'; import './server.mjs'; import 'node:http'; import 'node:https'; @@ -15,33 +15,31 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './BaseDatePicker-B4zD8-v-.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dayjalali/dist/index.js'; +import 'moment-jalaali'; +import 'dayjalali'; import './index-CAZlc_qy.mjs'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './useMergedState-BZEfJ8Fl.mjs'; import './move-jlA6kUbh.mjs'; import './shallowequal-BEyWmMEh.mjs'; @@ -50,11 +48,11 @@ import './index-BGahPE0Z.mjs'; import './media-D7PFhdrG.mjs'; import './media-_NDkNIvH.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './FormItem-CMWnBuQX.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/cloneDeep.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/async-validator/dist-node/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/find.js'; +import 'lodash-es/cloneDeep.js'; +import 'async-validator'; +import 'lodash-es/find.js'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "infStory", diff --git a/.output/server/chunks/build/inputProduct-DG0KNpX4.mjs b/.output/server/chunks/build/inputProduct-DG0KNpX4.mjs index 337e8b8b..c1bfdae9 100644 --- a/.output/server/chunks/build/inputProduct-DG0KNpX4.mjs +++ b/.output/server/chunks/build/inputProduct-DG0KNpX4.mjs @@ -1,9 +1,9 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-B7WDLwX0.mjs'; import './CropperModal-LZ_g4b9G.mjs'; import './BasicButton-DhQvSD8U.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './server.mjs'; @@ -16,31 +16,29 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-advanced-cropper/dist/index.cjs.js'; +import 'throttle-debounce'; +import 'vue-advanced-cropper'; import './close_light-DbrEdRZI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/camera/dist/plugin.cjs.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@capacitor/core/dist/index.cjs.js'; +import '@capacitor/camera'; +import '@capacitor/core'; import './product-DgF2C5vR.mjs'; import './post_loading-CMOcYm9B.mjs'; import './RadioButton-DTAY-M4c.mjs'; diff --git a/.output/server/chunks/build/inputProductExcel-CzUsueuE.mjs b/.output/server/chunks/build/inputProductExcel-CzUsueuE.mjs index 1ce0129a..c34ba251 100644 --- a/.output/server/chunks/build/inputProductExcel-CzUsueuE.mjs +++ b/.output/server/chunks/build/inputProductExcel-CzUsueuE.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "inputProductExcel", diff --git a/.output/server/chunks/build/inputRules-Cr4Uiro2.mjs b/.output/server/chunks/build/inputRules-Cr4Uiro2.mjs index 1df5ea91..b92defdd 100644 --- a/.output/server/chunks/build/inputRules-Cr4Uiro2.mjs +++ b/.output/server/chunks/build/inputRules-Cr4Uiro2.mjs @@ -1,4 +1,4 @@ -import { computed } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { computed } from 'vue'; computed(() => { return { diff --git a/.output/server/chunks/build/inputStory-BKMD6CH1.mjs b/.output/server/chunks/build/inputStory-BKMD6CH1.mjs index 9a8a3a30..e65b2163 100644 --- a/.output/server/chunks/build/inputStory-BKMD6CH1.mjs +++ b/.output/server/chunks/build/inputStory-BKMD6CH1.mjs @@ -1,9 +1,9 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BZV4xt4-.mjs'; import './CropperModal-LZ_g4b9G.mjs'; import './BasicButton-DhQvSD8U.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './server.mjs'; @@ -16,28 +16,26 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-advanced-cropper/dist/index.cjs.js'; +import 'throttle-debounce'; +import 'vue-advanced-cropper'; import './close_light-DbrEdRZI.mjs'; import './product-DgF2C5vR.mjs'; import './RadioButton-DTAY-M4c.mjs'; diff --git a/.output/server/chunks/build/inputStory-ChM6_aJr.mjs b/.output/server/chunks/build/inputStory-ChM6_aJr.mjs index 8b5cfdb2..63154b84 100644 --- a/.output/server/chunks/build/inputStory-ChM6_aJr.mjs +++ b/.output/server/chunks/build/inputStory-ChM6_aJr.mjs @@ -1,9 +1,9 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BZV4xt4-.mjs'; import './CropperModal-LZ_g4b9G.mjs'; import './BasicButton-DhQvSD8U.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import '@ant-design/icons-vue'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './server.mjs'; @@ -16,28 +16,26 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-advanced-cropper/dist/index.cjs.js'; +import 'throttle-debounce'; +import 'vue-advanced-cropper'; import './close_light-DbrEdRZI.mjs'; import './product-DgF2C5vR.mjs'; import './RadioButton-DTAY-M4c.mjs'; diff --git a/.output/server/chunks/build/like-B155RLSm.mjs b/.output/server/chunks/build/like-B155RLSm.mjs index 0237bce2..0164207c 100644 --- a/.output/server/chunks/build/like-B155RLSm.mjs +++ b/.output/server/chunks/build/like-B155RLSm.mjs @@ -1,5 +1,5 @@ -import { defineComponent, computed, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderAttr } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, useSSRContext } from 'vue'; +import { ssrRenderAttr } from 'vue/server-renderer'; import { a as useConfigStore } from './server.mjs'; const _imports_0 = "data:image/svg+xml,%3csvg%20width='23'%20height='20'%20viewBox='0%200%2023%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.9316%2018.409C12.5909%2018.7501%2012.1328%2018.9569%2011.6452%2018.991H11.5018C10.9614%2018.991%2010.446%2018.7783%2010.072%2018.404L10.0689%2018.4008L2.82526%2011.2133L2.82529%2011.2133L2.81863%2011.2068C0.473784%208.92297%200.385183%205.19829%202.61816%202.80451C4.82829%200.532632%208.45367%200.387785%2010.8445%202.4732L11.5018%203.04656L12.1592%202.4732C14.5499%200.387876%2018.1751%200.53262%2020.3852%202.80421C22.6186%205.20302%2022.5299%208.92296%2020.18%2011.2118L20.18%2011.2118L20.1731%2011.2186L12.9345%2018.4061L12.9316%2018.409Z'%20stroke='white'%20stroke-width='2'/%3e%3c/svg%3e"; diff --git a/.output/server/chunks/build/list-C2Z-6ZRv.mjs b/.output/server/chunks/build/list-C2Z-6ZRv.mjs index b67218ee..ea1ed0d2 100644 --- a/.output/server/chunks/build/list-C2Z-6ZRv.mjs +++ b/.output/server/chunks/build/list-C2Z-6ZRv.mjs @@ -1,11 +1,11 @@ -import { defineComponent, computed, ref, unref, mergeProps, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, computed, ref, unref, mergeProps, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrRenderList, ssrRenderStyle } from 'vue/server-renderer'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; import { u as useRouter$1, a as useConfigStore, b as useUserStore, m as useIntersectionObserver } from './server.mjs'; import { S as SearchButton } from './SearchButton-Di7gsVns.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; import { g as getTimeLabel } from './useDateTime-D8RCoGwW.mjs'; -import { orderBy } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { orderBy } from 'lodash-es'; import { u as useChatStore } from './chatStore-BzcgLXi3.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import 'node:http'; @@ -17,31 +17,29 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './empty_user-DSxcM_ac.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; const _imports_0 = "data:image/svg+xml,%3csvg%20width='24'%20height='22'%20viewBox='0%200%2024%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M16.2808%200.915938C15.9125%200.344954%2015.2795%200%2014.6001%200H8.90167C8.22264%200%207.58999%200.344534%207.2216%200.914949L6.17045%202.54253C5.98626%202.82773%205.66993%203%205.33041%203H4.5C2.01472%203%200%205.01472%200%207.5V17.5C0%2019.9853%202.01472%2022%204.5%2022H19C21.4853%2022%2023.5%2019.9853%2023.5%2017.5V7.5C23.5%205.01472%2021.4853%203%2019%203H18.17L18.0439%202.99203C17.7532%202.95511%2017.4907%202.79184%2017.3296%202.54203L16.2808%200.915938ZM8.90167%201.5H14.6001C14.7699%201.5%2014.9282%201.58624%2015.0202%201.72898L16.0691%203.35508C16.4698%203.97643%2017.1242%204.38728%2017.8549%204.48008L18.0754%204.49701L19%204.5C20.6569%204.5%2022%205.84315%2022%207.5V17.5C22%2019.1569%2020.6569%2020.5%2019%2020.5H4.5C2.84315%2020.5%201.5%2019.1569%201.5%2017.5V7.5C1.5%205.84315%202.84315%204.5%204.5%204.5H5.33041C6.17921%204.5%206.97002%204.06933%207.43051%203.35631L8.48166%201.72874C8.57375%201.58613%208.73192%201.5%208.90167%201.5ZM11.75%206.5C14.9256%206.5%2017.5%209.07436%2017.5%2012.25C17.5%2015.4256%2014.9256%2018%2011.75%2018C8.57436%2018%206%2015.4256%206%2012.25C6%209.07436%208.57436%206.5%2011.75%206.5ZM7.5%2012.25C7.5%209.90279%209.40279%208%2011.75%208C14.0972%208%2016%209.90279%2016%2012.25C16%2014.5972%2014.0972%2016.5%2011.75%2016.5C9.40279%2016.5%207.5%2014.5972%207.5%2012.25Z'%20fill='white'%20fill-opacity='1'/%3e%3c/svg%3e"; const _imports_1 = "data:image/svg+xml,%3csvg%20width='24'%20height='22'%20viewBox='0%200%2024%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M16.2808%200.915938C15.9125%200.344954%2015.2795%200%2014.6001%200H8.90167C8.22264%200%207.58999%200.344534%207.2216%200.914949L6.17045%202.54253C5.98626%202.82773%205.66993%203%205.33041%203H4.5C2.01472%203%200%205.01472%200%207.5V17.5C0%2019.9853%202.01472%2022%204.5%2022H19C21.4853%2022%2023.5%2019.9853%2023.5%2017.5V7.5C23.5%205.01472%2021.4853%203%2019%203H18.17L18.0439%202.99203C17.7532%202.95511%2017.4907%202.79184%2017.3296%202.54203L16.2808%200.915938ZM8.90167%201.5H14.6001C14.7699%201.5%2014.9282%201.58624%2015.0202%201.72898L16.0691%203.35508C16.4698%203.97643%2017.1242%204.38728%2017.8549%204.48008L18.0754%204.49701L19%204.5C20.6569%204.5%2022%205.84315%2022%207.5V17.5C22%2019.1569%2020.6569%2020.5%2019%2020.5H4.5C2.84315%2020.5%201.5%2019.1569%201.5%2017.5V7.5C1.5%205.84315%202.84315%204.5%204.5%204.5H5.33041C6.17921%204.5%206.97002%204.06933%207.43051%203.35631L8.48166%201.72874C8.57375%201.58613%208.73192%201.5%208.90167%201.5ZM11.75%206.5C14.9256%206.5%2017.5%209.07436%2017.5%2012.25C17.5%2015.4256%2014.9256%2018%2011.75%2018C8.57436%2018%206%2015.4256%206%2012.25C6%209.07436%208.57436%206.5%2011.75%206.5ZM7.5%2012.25C7.5%209.90279%209.40279%208%2011.75%208C14.0972%208%2016%209.90279%2016%2012.25C16%2014.5972%2014.0972%2016.5%2011.75%2016.5C9.40279%2016.5%207.5%2014.5972%207.5%2012.25Z'%20fill='black'%20fill-opacity='1'/%3e%3c/svg%3e"; diff --git a/.output/server/chunks/build/managers-CpOfnPuc.mjs b/.output/server/chunks/build/managers-CpOfnPuc.mjs index df66ce3e..332da9da 100644 --- a/.output/server/chunks/build/managers-CpOfnPuc.mjs +++ b/.output/server/chunks/build/managers-CpOfnPuc.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "managers", diff --git a/.output/server/chunks/build/media-D7PFhdrG.mjs b/.output/server/chunks/build/media-D7PFhdrG.mjs index cf160244..2af0c875 100644 --- a/.output/server/chunks/build/media-D7PFhdrG.mjs +++ b/.output/server/chunks/build/media-D7PFhdrG.mjs @@ -1,7 +1,7 @@ -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; +import { defineStore } from 'pinia'; import { b as getStories, i as isStoryInLocalSeen } from './media-_NDkNIvH.mjs'; -import { ref } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { groupBy } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { ref } from 'vue'; +import { groupBy } from 'lodash-es'; import { az as getProducts } from './server.mjs'; const useMediaStore = defineStore("media", () => { diff --git a/.output/server/chunks/build/message-D2IUhbae.mjs b/.output/server/chunks/build/message-D2IUhbae.mjs index 9f224fbf..d770eea7 100644 --- a/.output/server/chunks/build/message-D2IUhbae.mjs +++ b/.output/server/chunks/build/message-D2IUhbae.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "message", diff --git a/.output/server/chunks/build/moreOptionProduct-CCkPwsB0.mjs b/.output/server/chunks/build/moreOptionProduct-CCkPwsB0.mjs index 79a5485c..5fc52ef3 100644 --- a/.output/server/chunks/build/moreOptionProduct-CCkPwsB0.mjs +++ b/.output/server/chunks/build/moreOptionProduct-CCkPwsB0.mjs @@ -1,12 +1,12 @@ -import { defineComponent, ref, watch, mergeProps, withCtx, unref, createVNode, toDisplayString, createBlock, createCommentVNode, withDirectives, openBlock, Fragment, renderList, withModifiers, vShow, nextTick, reactive, computed, inject, resolveDirective, shallowRef, watchEffect, provide, toRef, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrRenderStyle, ssrRenderAttrs, ssrRenderAttr, ssrGetDirectiveProps } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, ref, watch, mergeProps, withCtx, unref, createVNode, toDisplayString, createBlock, createCommentVNode, withDirectives, openBlock, Fragment, renderList, withModifiers, vShow, nextTick, reactive, computed, inject, resolveDirective, shallowRef, watchEffect, provide, toRef, useSSRContext } from 'vue'; +import { ssrRenderComponent, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrRenderStyle, ssrRenderAttrs, ssrRenderAttr, ssrGetDirectiveProps } from 'vue/server-renderer'; import { ai as supabaseService, u as useRouter$1, a as useConfigStore, b as useUserStore, M as myAxios, m as useIntersectionObserver, n as getToken, aj as baseConfirm, d as api$1, q as useElementSize, ak as deleteProductById, s as supabase, al as onLongPress, am as onClickOutside, C as useConfigInject, D as genComponentStyleHook, H as omit, E as classNames, B as arrayType, P as PropTypes, aa as flattenChildren, a9 as getOptionProps, O as initDefaultProps, $ as objectType, an as anyType, ao as tuple, I as resetComponent, ap as textEllipsis, aq as KeyCode } from './server.mjs'; import { B as BasicSheet } from './index-m5qbBl98.mjs'; import { U as UserProfilePic } from './UserProfilePic-DaZ03Xcl.mjs'; import { B as BasicButton } from './BasicButton-DhQvSD8U.mjs'; import { B as BasicIconOld } from './BasicIconOld-93vAWohq.mjs'; -import _objectSpread from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; +import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2'; +import _extends from '@babel/runtime/helpers/esm/extends'; import { T as Trigger } from './index-Bn4rLj9V.mjs'; import { u as useProvideOverride, M as Menu, _ as __nuxt_component_1$1 } from './index-D-yl9XJT.mjs'; import { S as Spin } from './index-BMAjr3Fm.mjs'; @@ -18,7 +18,7 @@ import { e as empty_user } from './empty_user-DSxcM_ac.mjs'; import { _ as _sfc_main$8 } from './like-B155RLSm.mjs'; import { _ as __nuxt_component_1 } from './index-BTMNH22J.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; -import { ContentLoader } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import { ContentLoader } from 'vue-content-loader'; import { u as useProductStore } from './product-DgF2C5vR.mjs'; function getBeforeSelectionText(input) { diff --git a/.output/server/chunks/build/move-jlA6kUbh.mjs b/.output/server/chunks/build/move-jlA6kUbh.mjs index 070d7140..45685b34 100644 --- a/.output/server/chunks/build/move-jlA6kUbh.mjs +++ b/.output/server/chunks/build/move-jlA6kUbh.mjs @@ -1,4 +1,4 @@ -import { ref, watch } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { ref, watch } from 'vue'; import { K as Keyframe, ah as initMotion } from './server.mjs'; function useMemo(getValue, condition, shouldUpdate) { diff --git a/.output/server/chunks/build/orders-m7_uCGev.mjs b/.output/server/chunks/build/orders-m7_uCGev.mjs index f91ee03a..2e2e5581 100644 --- a/.output/server/chunks/build/orders-m7_uCGev.mjs +++ b/.output/server/chunks/build/orders-m7_uCGev.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './OrdersList-B37Z8P86.mjs'; import './UserProfilePic-DaZ03Xcl.mjs'; import './empty_user-DSxcM_ac.mjs'; @@ -13,42 +13,40 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './BasicIconOld-93vAWohq.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './usePrice-_QzChhgO.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; import './media-D7PFhdrG.mjs'; import './media-_NDkNIvH.mjs'; import './index-DNuZTxeo.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "orders", diff --git a/.output/server/chunks/build/posts-B_RUkDFB.mjs b/.output/server/chunks/build/posts-B_RUkDFB.mjs index 93c2867c..cb6230d4 100644 --- a/.output/server/chunks/build/posts-B_RUkDFB.mjs +++ b/.output/server/chunks/build/posts-B_RUkDFB.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "posts", diff --git a/.output/server/chunks/build/posts-ByiIC0Hu.mjs b/.output/server/chunks/build/posts-ByiIC0Hu.mjs index 4b3ff708..0127c460 100644 --- a/.output/server/chunks/build/posts-ByiIC0Hu.mjs +++ b/.output/server/chunks/build/posts-ByiIC0Hu.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './index-BEYjvUJ0.mjs'; import './server.mjs'; import 'node:http'; @@ -11,70 +11,68 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './PostCardSkeleton-DAYpOwlx.mjs'; import './empty_user-DSxcM_ac.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/swiper-vue.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/swiper/modules/index.mjs'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; +import 'swiper/vue'; +import 'swiper/modules'; import './post_loading-CMOcYm9B.mjs'; import './BasicIconOld-93vAWohq.mjs'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './like-B155RLSm.mjs'; import './moreOptionProduct-CCkPwsB0.mjs'; import './index-m5qbBl98.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@vueuse/gesture/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@headlessui/vue/dist/headlessui.esm.js'; +import '@vueuse/gesture'; +import '@headlessui/vue'; import './index-BWBnVq-W.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/framesync/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/popmotion/dist/es/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/style-value-types/dist/es/index.mjs'; +import 'framesync'; +import 'popmotion'; +import 'style-value-types'; import './UserProfilePic-DaZ03Xcl.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './index-Bn4rLj9V.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/dom-align/dist-node/index.js'; +import 'dom-align'; import './index-D-yl9XJT.mjs'; import './shallowequal-BEyWmMEh.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/uniq.js'; +import 'lodash-es/uniq.js'; import './index-G65aBv4F.mjs'; import './FormItemContext-BlKvWASA.mjs'; import './index-BGahPE0Z.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/isPlainObject.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/resize-observer-polyfill/dist/ResizeObserver.js'; +import 'lodash-es/isPlainObject.js'; +import 'resize-observer-polyfill'; import './index-BTMNH22J.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './product-DgF2C5vR.mjs'; import './userPostsStore-CAxMlK-n.mjs'; import './media-_NDkNIvH.mjs'; import './save-DsCeVVYe.mjs'; import './asyncData-Iix-4nDI.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/perfect-debounce/dist/index.mjs'; +import 'perfect-debounce'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "posts", diff --git a/.output/server/chunks/build/product-DgF2C5vR.mjs b/.output/server/chunks/build/product-DgF2C5vR.mjs index dddbb020..03ee5075 100644 --- a/.output/server/chunks/build/product-DgF2C5vR.mjs +++ b/.output/server/chunks/build/product-DgF2C5vR.mjs @@ -1,7 +1,7 @@ -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import { ref, reactive, computed } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { defineStore } from 'pinia'; +import { ref, reactive, computed } from 'vue'; import { a as useConfigStore, aw as dataURLtoFile, ai as supabaseService, d as api$1, ax as updateProduct, ay as createProduct } from './server.mjs'; -import { cloneDeep, differenceBy, differenceWith, isEqual } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; +import { cloneDeep, differenceBy, differenceWith, isEqual } from 'lodash-es'; const DEFAULTS = { maxWidth: 1200, diff --git a/.output/server/chunks/build/profile-Cfzlfa4r.mjs b/.output/server/chunks/build/profile-Cfzlfa4r.mjs index 127e0cbd..189808dc 100644 --- a/.output/server/chunks/build/profile-Cfzlfa4r.mjs +++ b/.output/server/chunks/build/profile-Cfzlfa4r.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "profile", diff --git a/.output/server/chunks/build/saved-C9zDC2ea.mjs b/.output/server/chunks/build/saved-C9zDC2ea.mjs index e4b32136..2e9215e7 100644 --- a/.output/server/chunks/build/saved-C9zDC2ea.mjs +++ b/.output/server/chunks/build/saved-C9zDC2ea.mjs @@ -1,8 +1,8 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './SavedList-B0hZHiYG.mjs'; import './gray-Bd8mWW-o.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; import './server.mjs'; import 'node:http'; import 'node:https'; @@ -13,26 +13,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './save-DsCeVVYe.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ diff --git a/.output/server/chunks/build/server.mjs b/.output/server/chunks/build/server.mjs index 749837b3..e39a0d93 100644 --- a/.output/server/chunks/build/server.mjs +++ b/.output/server/chunks/build/server.mjs @@ -1,19 +1,19 @@ -import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { inject, ref, h, getCurrentInstance, nextTick, reactive, defineComponent, createVNode, computed, shallowRef, watch, watchEffect, provide, unref, cloneVNode, createElementBlock, Fragment, toValue, isVNode, Comment, Text, hasInjectionContext, Transition, getCurrentScope, onScopeDispose, toRef as toRef$1, readonly, customRef, TransitionGroup, render, Teleport, withDirectives, vShow, defineAsyncComponent, shallowReactive, Suspense, useSSRContext, createApp, triggerRef, mergeProps, withCtx, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { inject, ref, h, getCurrentInstance, nextTick, reactive, defineComponent, createVNode, computed, shallowRef, watch, watchEffect, provide, unref, cloneVNode, createElementBlock, Fragment, toValue, isVNode, Comment, Text, hasInjectionContext, Transition, getCurrentScope, onScopeDispose, toRef as toRef$1, readonly, customRef, TransitionGroup, render, Teleport, withDirectives, vShow, defineAsyncComponent, shallowReactive, Suspense, useSSRContext, createApp, triggerRef, mergeProps, withCtx, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw } from 'vue'; import http from 'node:http'; import https from 'node:https'; import { r as withBase, n as destr, s as withQuery, t as i, v as s, x as l, m as createError$1, h as hasProtocol, y as isScriptProtocol, j as joinURL, z as sanitizeStatusCode, A as getContext, B as baseURL, C as createHooks, D as executeAsync, E as toRouteMatcher, F as createRouter$1, a as defu } from '../nitro/nitro.mjs'; -import { defineStore, createPinia, setActivePinia, shouldHydrate } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import { createClient } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import axios from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import { isEmpty, get, cloneDeep } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import _extends from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import _objectSpread$d from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import { generate as generate$1, blue as blue$1 } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import { TinyColor } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import { serialize, compile, stringify } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import { createTypes } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import { ExclamationCircleOutlined as ExclamationCircleOutlined$2 } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; -import { ssrRenderAttrs, ssrRenderAttr, ssrRenderStyle, ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineStore, createPinia, setActivePinia, shouldHydrate } from 'pinia'; +import { createClient } from '@supabase/supabase-js'; +import axios from 'axios'; +import { isEmpty, get, cloneDeep } from 'lodash-es'; +import _extends from '@babel/runtime/helpers/esm/extends'; +import _objectSpread$d from '@babel/runtime/helpers/esm/objectSpread2'; +import { generate as generate$1, blue as blue$1 } from '@ant-design/colors'; +import { TinyColor } from '@ctrl/tinycolor'; +import { serialize, compile, stringify } from 'stylis'; +import { createTypes } from 'vue-types'; +import { ExclamationCircleOutlined as ExclamationCircleOutlined$2 } from '@ant-design/icons-vue'; +import { ssrRenderAttrs, ssrRenderAttr, ssrRenderStyle, ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from 'vue/server-renderer'; import { u as useHead$1, h as headSymbol } from '../routes/renderer.mjs'; /* eslint-disable */ diff --git a/.output/server/chunks/build/setting-B3zqUs8V.mjs b/.output/server/chunks/build/setting-B3zqUs8V.mjs index d7c8632b..610e8ac6 100644 --- a/.output/server/chunks/build/setting-B3zqUs8V.mjs +++ b/.output/server/chunks/build/setting-B3zqUs8V.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "setting", diff --git a/.output/server/chunks/build/shallowequal-BEyWmMEh.mjs b/.output/server/chunks/build/shallowequal-BEyWmMEh.mjs index 6b823335..366da030 100644 --- a/.output/server/chunks/build/shallowequal-BEyWmMEh.mjs +++ b/.output/server/chunks/build/shallowequal-BEyWmMEh.mjs @@ -1,5 +1,5 @@ import { K as Keyframe, ah as initMotion } from './server.mjs'; -import { toRaw } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { toRaw } from 'vue'; const slideUpIn = new Keyframe("antSlideUpIn", { "0%": { diff --git a/.output/server/chunks/build/statistics_list-CWkodTkr.mjs b/.output/server/chunks/build/statistics_list-CWkodTkr.mjs index 70a34dfe..3131f1bf 100644 --- a/.output/server/chunks/build/statistics_list-CWkodTkr.mjs +++ b/.output/server/chunks/build/statistics_list-CWkodTkr.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "statistics_list", diff --git a/.output/server/chunks/build/storeOrders-BiJGYDVg.mjs b/.output/server/chunks/build/storeOrders-BiJGYDVg.mjs index 5e90ee5c..52f5d7b0 100644 --- a/.output/server/chunks/build/storeOrders-BiJGYDVg.mjs +++ b/.output/server/chunks/build/storeOrders-BiJGYDVg.mjs @@ -1,5 +1,5 @@ -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import { _ as _sfc_main$1 } from './OrdersList-B37Z8P86.mjs'; import './UserProfilePic-DaZ03Xcl.mjs'; import './empty_user-DSxcM_ac.mjs'; @@ -13,42 +13,40 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; import './_plugin-vue_export-helper-1tPrXgE0.mjs'; import './BasicButton-DhQvSD8U.mjs'; import './BasicIconOld-93vAWohq.mjs'; import './index-BMAjr3Fm.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/throttle-debounce/esm/index.js'; +import 'throttle-debounce'; import './usePrice-_QzChhgO.mjs'; import './useDateTime-D8RCoGwW.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import 'moment'; +import 'moment-timezone'; +import 'moment-jalaali'; +import 'date-fns'; +import 'date-fns/locale'; import './media-D7PFhdrG.mjs'; import './media-_NDkNIvH.mjs'; import './index-DNuZTxeo.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js'; +import 'vue-content-loader'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "storeOrders", diff --git a/.output/server/chunks/build/store_request-DTwJ199k.mjs b/.output/server/chunks/build/store_request-DTwJ199k.mjs index 7de84502..22530020 100644 --- a/.output/server/chunks/build/store_request-DTwJ199k.mjs +++ b/.output/server/chunks/build/store_request-DTwJ199k.mjs @@ -1,6 +1,6 @@ import { _ as __nuxt_component_0 } from './server.mjs'; -import { defineComponent, useSSRContext } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; -import { ssrRenderComponent } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/server-renderer/index.mjs'; +import { defineComponent, useSSRContext } from 'vue'; +import { ssrRenderComponent } from 'vue/server-renderer'; import 'node:http'; import 'node:https'; import '../nitro/nitro.mjs'; @@ -10,26 +10,24 @@ import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/axios/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/lodash-es/lodash.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/extends.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@babel/runtime/helpers/esm/objectSpread2.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/colors/dist/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ctrl/tinycolor/dist/public_api.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/stylis/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-types/dist/vue-types.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@ant-design/icons-vue/lib/index.js'; +import 'consola'; +import 'ipx'; +import 'pinia'; +import '@supabase/supabase-js'; +import 'axios'; +import 'lodash-es'; +import '@babel/runtime/helpers/esm/extends'; +import '@babel/runtime/helpers/esm/objectSpread2'; +import '@ant-design/colors'; +import '@ctrl/tinycolor'; +import 'stylis'; +import 'vue-types'; +import '@ant-design/icons-vue'; import '../routes/renderer.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import 'vue-bundle-renderer/runtime'; +import 'unhead/server'; +import 'devalue'; +import 'unhead/utils'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "store_request", diff --git a/.output/server/chunks/build/useDateTime-D8RCoGwW.mjs b/.output/server/chunks/build/useDateTime-D8RCoGwW.mjs index 229193bf..d43f6478 100644 --- a/.output/server/chunks/build/useDateTime-D8RCoGwW.mjs +++ b/.output/server/chunks/build/useDateTime-D8RCoGwW.mjs @@ -1,8 +1,8 @@ -import moment$1 from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment/moment.js'; -import zone from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-timezone/index.js'; -import moment from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/moment-jalaali/index.js'; -import { formatDistanceToNow, differenceInSeconds, differenceInMinutes, differenceInHours, differenceInDays } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/index.js'; -import { faIR } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/date-fns/locale.js'; +import moment$1 from 'moment'; +import zone from 'moment-timezone'; +import moment from 'moment-jalaali'; +import { formatDistanceToNow, differenceInSeconds, differenceInMinutes, differenceInHours, differenceInDays } from 'date-fns'; +import { faIR } from 'date-fns/locale'; import { au as dayjs, a as useConfigStore } from './server.mjs'; function toJalali(dateTime, format = "jYYYY/jMM/jDD-hh:mm") { diff --git a/.output/server/chunks/build/useMergedState-BZEfJ8Fl.mjs b/.output/server/chunks/build/useMergedState-BZEfJ8Fl.mjs index 81dca276..1e24d9e6 100644 --- a/.output/server/chunks/build/useMergedState-BZEfJ8Fl.mjs +++ b/.output/server/chunks/build/useMergedState-BZEfJ8Fl.mjs @@ -1,4 +1,4 @@ -import { ref, unref, watchEffect, watch, toRaw } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { ref, unref, watchEffect, watch, toRaw } from 'vue'; function useMergedState(defaultStateValue, option) { const { diff --git a/.output/server/chunks/build/useRefs-BHKrVg4I.mjs b/.output/server/chunks/build/useRefs-BHKrVg4I.mjs index 54bc4f82..372eae1d 100644 --- a/.output/server/chunks/build/useRefs-BHKrVg4I.mjs +++ b/.output/server/chunks/build/useRefs-BHKrVg4I.mjs @@ -1,4 +1,4 @@ -import { ref } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { ref } from 'vue'; const useRefs = () => { const refs = ref(/* @__PURE__ */ new Map()); diff --git a/.output/server/chunks/build/userPostsStore-CAxMlK-n.mjs b/.output/server/chunks/build/userPostsStore-CAxMlK-n.mjs index cbf54c07..6ff0ec61 100644 --- a/.output/server/chunks/build/userPostsStore-CAxMlK-n.mjs +++ b/.output/server/chunks/build/userPostsStore-CAxMlK-n.mjs @@ -1,5 +1,5 @@ -import { defineStore } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/pinia/dist/pinia.prod.cjs'; -import { ref, nextTick } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { defineStore } from 'pinia'; +import { ref, nextTick } from 'vue'; import { a as useConfigStore } from './server.mjs'; import { a as getUserPosts } from './media-_NDkNIvH.mjs'; diff --git a/.output/server/chunks/nitro/nitro.mjs b/.output/server/chunks/nitro/nitro.mjs index 5c0811d9..5c24c47b 100644 --- a/.output/server/chunks/nitro/nitro.mjs +++ b/.output/server/chunks/nitro/nitro.mjs @@ -5,10 +5,10 @@ import { Buffer as Buffer$1 } from 'node:buffer'; import { promises, existsSync } from 'node:fs'; import { resolve as resolve$2, dirname as dirname$1, join } from 'node:path'; import { createHash } from 'node:crypto'; -import { toValue } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import { toValue } from 'vue'; import { fileURLToPath } from 'node:url'; -import { createConsola } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import { ipxFSStorage, ipxHttpStorage, createIPX, createIPXH3Handler } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; +import { createConsola } from 'consola'; +import { ipxFSStorage, ipxHttpStorage, createIPX, createIPXH3Handler } from 'ipx'; const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/; const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/; @@ -4047,7 +4047,7 @@ function _expandFromEnv(value) { const _inlineRuntimeConfig = { "app": { "baseURL": "/", - "buildId": "8dd4ed53-6eb9-47a8-b893-4c386d0a34bf", + "buildId": "db39eb55-a8e0-46ba-9bd9-02c5b5d985a9", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4214,7 +4214,7 @@ const _inlineRuntimeConfig = { "defaults": { "changefreq": "daily", "priority": 0.8, - "lastmod": "2026-01-27T12:03:33Z" + "lastmod": "2026-01-27T12:47:41Z" }, "include": [], "exclude": [ @@ -5012,2347 +5012,2347 @@ const assets = { "/favicon.ico": { "type": "image/vnd.microsoft.icon", "etag": "\"3c2e-2db3Y2fP74iJPxPFB+2cW3MrKtY\"", - "mtime": "2026-01-27T12:04:02.150Z", + "mtime": "2026-01-27T12:48:12.706Z", "size": 15406, "path": "../public/favicon.ico" }, "/manifest.webmanifest": { "type": "application/manifest+json", "etag": "\"1c3-RKCw362kKmMfaYYERoCj6w5SNbE\"", - "mtime": "2026-01-27T12:04:02.046Z", + "mtime": "2026-01-27T12:48:12.588Z", "size": 451, "path": "../public/manifest.webmanifest" }, "/pwa-icon-192.png": { "type": "image/png", "etag": "\"9823-QXQz9RFQo1QkQOxIDTcI838Gg0g\"", - "mtime": "2026-01-27T12:04:02.150Z", + "mtime": "2026-01-27T12:48:12.706Z", "size": 38947, "path": "../public/pwa-icon-192.png" }, "/pwa-icon-512.png": { "type": "image/png", "etag": "\"2b1b7-sCLE6008s3Nhf8T4jRjN5CcdZPo\"", - "mtime": "2026-01-27T12:04:02.150Z", + "mtime": "2026-01-27T12:48:12.707Z", "size": 176567, "path": "../public/pwa-icon-512.png" }, "/robots.txt": { "type": "text/plain; charset=utf-8", "etag": "\"1a-a1cIDLljyn/zLf+iveG+HSGws5Y\"", - "mtime": "2026-01-27T12:04:02.150Z", + "mtime": "2026-01-27T12:48:12.706Z", "size": 26, "path": "../public/robots.txt" }, "/sw_notif_pwa.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"8ebe-LwmfUYKiosJY2m4lEu94lz8Ywwc\"", - "mtime": "2026-01-27T12:04:02.761Z", + "etag": "\"8ebe-+hhBmKMdzIeTZU01mbOc4Q8jPiw\"", + "mtime": "2026-01-27T12:48:13.417Z", "size": 36542, "path": "../public/sw_notif_pwa.js" }, "/bottomNavigationIcons/add.svg": { "type": "image/svg+xml", "etag": "\"192-gb78fBM43KAdG6jBoB0jRJXK48I\"", - "mtime": "2026-01-27T12:04:02.146Z", + "mtime": "2026-01-27T12:48:12.702Z", "size": 402, "path": "../public/bottomNavigationIcons/add.svg" }, "/bottomNavigationIcons/add_light.svg": { "type": "image/svg+xml", "etag": "\"19e-vrt2fIyFLNE/yO3ryW/5y0KA6uI\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.702Z", "size": 414, "path": "../public/bottomNavigationIcons/add_light.svg" }, "/bottomNavigationIcons/cart.svg": { "type": "image/svg+xml", "etag": "\"3a5-4J6HiKX6OrLgYpSfvKmEXMolmbg\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.702Z", "size": 933, "path": "../public/bottomNavigationIcons/cart.svg" }, "/bottomNavigationIcons/cart_light.svg": { "type": "image/svg+xml", "etag": "\"3a5-aJ5KFXJpTJEq/ci+738AR9cOHfM\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 933, "path": "../public/bottomNavigationIcons/cart_light.svg" }, "/bottomNavigationIcons/cart_selected.svg": { "type": "image/svg+xml", "etag": "\"293-m9QFlw7t4C56joIU8fO/FrEzQVo\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 659, "path": "../public/bottomNavigationIcons/cart_selected.svg" }, "/bottomNavigationIcons/cart_selected_light.svg": { "type": "image/svg+xml", "etag": "\"293-ZGV/YRV29jKsU2xpVmsPiWl8i5Y\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 659, "path": "../public/bottomNavigationIcons/cart_selected_light.svg" }, "/bottomNavigationIcons/home.svg": { "type": "image/svg+xml", "etag": "\"146-TdNW7jz0NSfMGiVO97xdCfZLSQU\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 326, "path": "../public/bottomNavigationIcons/home.svg" }, "/bottomNavigationIcons/home_light.svg": { "type": "image/svg+xml", "etag": "\"14a-ALQQs7/joBubM24/uEyigWOa6kk\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 330, "path": "../public/bottomNavigationIcons/home_light.svg" }, "/bottomNavigationIcons/home_selected.svg": { "type": "image/svg+xml", "etag": "\"291-+v3sj+2bAmtahJMROZb16U3piNY\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 657, "path": "../public/bottomNavigationIcons/home_selected.svg" }, "/bottomNavigationIcons/home_selected_light.svg": { "type": "image/svg+xml", "etag": "\"28f-KNNNp1QPCv0AXpihuw3x52KqTOo\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 655, "path": "../public/bottomNavigationIcons/home_selected_light.svg" }, "/bottomNavigationIcons/like.svg": { "type": "image/svg+xml", "etag": "\"26c-dUth02r3HjnuWf8Uudps07eznjU\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.703Z", "size": 620, "path": "../public/bottomNavigationIcons/like.svg" }, "/bottomNavigationIcons/like_light.svg": { "type": "image/svg+xml", "etag": "\"26c-dIRTmxHiLecKyVSFMT4N2nJH1ec\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 620, "path": "../public/bottomNavigationIcons/like_light.svg" }, "/bottomNavigationIcons/like_selected.svg": { "type": "image/svg+xml", "etag": "\"25d-jIBQ9ABXShEzKPHv960l65xwSsM\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 605, "path": "../public/bottomNavigationIcons/like_selected.svg" }, "/bottomNavigationIcons/like_selected_light.svg": { "type": "image/svg+xml", "etag": "\"25b-f81AKDL5p28ZJMPmKsgEH9Etc4o\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 603, "path": "../public/bottomNavigationIcons/like_selected_light.svg" }, "/bottomNavigationIcons/search.svg": { "type": "image/svg+xml", "etag": "\"1cb-FvaNKx5vQ8RKkPmSAIw9t4x6vyQ\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 459, "path": "../public/bottomNavigationIcons/search.svg" }, "/bottomNavigationIcons/search_light.svg": { "type": "image/svg+xml", "etag": "\"1d3-v8qVPlDprfC3mEwcAli8c8y1nqk\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 467, "path": "../public/bottomNavigationIcons/search_light.svg" }, "/bottomNavigationIcons/search_selected.svg": { "type": "image/svg+xml", "etag": "\"2aa-UDh7o7KxPw0+62QGVPGL+2nz+oY\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 682, "path": "../public/bottomNavigationIcons/search_selected.svg" }, "/bottomNavigationIcons/search_selected_light.svg": { "type": "image/svg+xml", "etag": "\"2a8-8GmSl9uiWgt38WqDeFdBTyzDBTw\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 680, "path": "../public/bottomNavigationIcons/search_selected_light.svg" }, "/bottomNavigationIcons/user.svg": { "type": "image/svg+xml", "etag": "\"26d-YwZsQLiUbnAnxS4WxgAsbWeGj1A\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 621, "path": "../public/bottomNavigationIcons/user.svg" }, "/bottomNavigationIcons/user_light.svg": { "type": "image/svg+xml", "etag": "\"264-Z4BHhZgnx1deFk+IwPcNpcghJdo\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 612, "path": "../public/bottomNavigationIcons/user_light.svg" }, "/bottomNavigationIcons/user_selected.svg": { "type": "image/svg+xml", "etag": "\"398-9proSkjDV2y72rTH3jIZddZJEzk\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 920, "path": "../public/bottomNavigationIcons/user_selected.svg" }, "/bottomNavigationIcons/user_selected_light.svg": { "type": "image/svg+xml", "etag": "\"3b2-FR/5tDtw/0aEGeqoBxFTM5h4GAA\"", - "mtime": "2026-01-27T12:04:02.148Z", + "mtime": "2026-01-27T12:48:12.704Z", "size": 946, "path": "../public/bottomNavigationIcons/user_selected_light.svg" }, "/instagram/logo.png": { "type": "image/png", "etag": "\"d86-rDgK6WCKlNptdiXC472VUc6Nr6k\"", - "mtime": "2026-01-27T12:04:02.147Z", + "mtime": "2026-01-27T12:48:12.702Z", "size": 3462, "path": "../public/instagram/logo.png" }, "/instagram/logo.svg": { "type": "image/svg+xml", "etag": "\"2cf9-PuLu5PDLXC26wxx+yNWNzmsdQ9Y\"", - "mtime": "2026-01-27T12:04:02.149Z", + "mtime": "2026-01-27T12:48:12.705Z", "size": 11513, "path": "../public/instagram/logo.svg" }, "/instagram/logo_white.png": { "type": "image/png", "etag": "\"d83-tCVLKii+kgQKBK+NGuNHXmGNafE\"", - "mtime": "2026-01-27T12:04:02.149Z", + "mtime": "2026-01-27T12:48:12.705Z", "size": 3459, "path": "../public/instagram/logo_white.png" }, "/instagram/logo_white.svg": { "type": "image/svg+xml", "etag": "\"2cf7-OKxCTlYoku2oie6twuYK5BEzcrg\"", - "mtime": "2026-01-27T12:04:02.149Z", + "mtime": "2026-01-27T12:48:12.705Z", "size": 11511, "path": "../public/instagram/logo_white.svg" }, - "/preview/empty_user.png": { - "type": "image/png", - "etag": "\"4d9c-hpW+u7lVdESYj2N+T9ep3yfsTFI\"", - "mtime": "2026-01-27T12:04:02.147Z", - "size": 19868, - "path": "../public/preview/empty_user.png" - }, - "/preview/empty_user1.png": { - "type": "image/png", - "etag": "\"586-bRFpropXm9e5YUmjmDHWgmkq7BE\"", - "mtime": "2026-01-27T12:04:02.148Z", - "size": 1414, - "path": "../public/preview/empty_user1.png" - }, - "/preview/logo_preview.png": { - "type": "image/png", - "etag": "\"d273-+/mQg6af8+4RSupBxM9LyZh/WPU\"", - "mtime": "2026-01-27T12:04:02.148Z", - "size": 53875, - "path": "../public/preview/logo_preview.png" - }, - "/preview/post_loading.gif": { - "type": "image/gif", - "etag": "\"3689-FvATV1lF6ffDybki9di2V3gm2VI\"", - "mtime": "2026-01-27T12:04:02.148Z", - "size": 13961, - "path": "../public/preview/post_loading.gif" - }, - "/preview/story_loading.gif": { - "type": "image/gif", - "etag": "\"1227-fzHMJ6bvwEf28PBBUI2L0HPEm6A\"", - "mtime": "2026-01-27T12:04:02.148Z", - "size": 4647, - "path": "../public/preview/story_loading.gif" - }, "/_nuxt/0sQGsR-B.js": { "type": "text/javascript; charset=utf-8", "etag": "\"882-GbwgYFGo9nb9GHYH0eTV8cAGAhk\"", - "mtime": "2026-01-27T12:04:02.100Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 2178, "path": "../public/_nuxt/0sQGsR-B.js" }, "/_nuxt/14hzxqeZ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"48ca-1DL5wdGILzvw2rvNiVV3xG+isVY\"", - "mtime": "2026-01-27T12:04:02.100Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 18634, "path": "../public/_nuxt/14hzxqeZ.js" }, "/_nuxt/1jTl4r5u.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1d5-ruNoqMTKN3P3uGb7t2Rwn9fHMaY\"", - "mtime": "2026-01-27T12:04:02.100Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 469, "path": "../public/_nuxt/1jTl4r5u.js" }, "/_nuxt/3-vhA8tQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"564-A51vCAjEWsjUzIW6NgY52p6Mutg\"", - "mtime": "2026-01-27T12:04:02.100Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 1380, "path": "../public/_nuxt/3-vhA8tQ.js" }, "/_nuxt/3RkI9pc5.js": { "type": "text/javascript; charset=utf-8", "etag": "\"264-Kah5Tf2U83PpjfdliNlBRDD/yTM\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 612, "path": "../public/_nuxt/3RkI9pc5.js" }, "/_nuxt/3kWPFkR0.js": { "type": "text/javascript; charset=utf-8", "etag": "\"20ac-aC7BF8kumbmDQzNC9krHtHrxewc\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 8364, "path": "../public/_nuxt/3kWPFkR0.js" }, "/_nuxt/3oBFl2-F.js": { "type": "text/javascript; charset=utf-8", "etag": "\"37e5-tDiaD/0/Vv1dxSxHl7kPCnz4cdE\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 14309, "path": "../public/_nuxt/3oBFl2-F.js" }, "/_nuxt/3qqTvnSo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"29d-f8PvUXUv2Xm2U2qooC0w1Pyroes\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.648Z", "size": 669, "path": "../public/_nuxt/3qqTvnSo.js" }, "/_nuxt/5ZDQaK5A.js": { "type": "text/javascript; charset=utf-8", "etag": "\"13d6a-0Nhw7EO3prgpuidky5epaCezkVc\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 81258, "path": "../public/_nuxt/5ZDQaK5A.js" }, "/_nuxt/6Vtnybcx.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2039-PDNgtJBtvhO/pUJ/t2fDxE1QQj4\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 8249, "path": "../public/_nuxt/6Vtnybcx.js" }, "/_nuxt/8y_yBhg-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"29b-Sg8vUlXd3ujKRh8PPnl5cHccLUM\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 667, "path": "../public/_nuxt/8y_yBhg-.js" }, "/_nuxt/AmADiAwp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"12a-MoQ4khtiE4YK8WmbaFLP0g3PCNg\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 298, "path": "../public/_nuxt/AmADiAwp.js" }, "/_nuxt/B1N_kU_k.js": { "type": "text/javascript; charset=utf-8", "etag": "\"40-sRWG1qAgldqPZ/tAFmFMQD8weg4\"", - "mtime": "2026-01-27T12:04:02.101Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 64, "path": "../public/_nuxt/B1N_kU_k.js" }, "/_nuxt/B1VM9WVF.js": { "type": "text/javascript; charset=utf-8", "etag": "\"66-HQrMLTLaD9yC+hVrX9/yh+//K80\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 102, "path": "../public/_nuxt/B1VM9WVF.js" }, "/_nuxt/B1k10HMT.js": { "type": "text/javascript; charset=utf-8", "etag": "\"114-TPNHP6PLQ77XQ3Qjq2BL9diNAzQ\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 276, "path": "../public/_nuxt/B1k10HMT.js" }, "/_nuxt/B5sAEblQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"56a-GsWYGr5s9Elt+p8akxyayQZqO7I\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.649Z", "size": 1386, "path": "../public/_nuxt/B5sAEblQ.js" }, "/_nuxt/B7AYPz8C.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3be8-4EUttme11yCZV4/MAwWvjchkTuc\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 15336, "path": "../public/_nuxt/B7AYPz8C.js" }, "/_nuxt/B7QhzxXq.js": { "type": "text/javascript; charset=utf-8", "etag": "\"c2-WqNUvB3F2oe0KTVAR3xUmP5Mp48\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 194, "path": "../public/_nuxt/B7QhzxXq.js" }, "/_nuxt/B7cVZ88b.js": { "type": "text/javascript; charset=utf-8", "etag": "\"b8-5W0wm8Stsml7sH9evYmsQ0eSXaY\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 184, "path": "../public/_nuxt/B7cVZ88b.js" }, "/_nuxt/B91UhLl-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"84d8-UanBy2o67iJZVPzHPtsok18+HBo\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 34008, "path": "../public/_nuxt/B91UhLl-.js" }, "/_nuxt/BBQQNr_r.js": { "type": "text/javascript; charset=utf-8", "etag": "\"13f9-V1CHOj5GyAYzpAjJBIIsY516+KU\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 5113, "path": "../public/_nuxt/BBQQNr_r.js" }, "/_nuxt/BBSG9FnH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"814-WCTXwHZKI0oVwpRBhy4dDFKBbTY\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 2068, "path": "../public/_nuxt/BBSG9FnH.js" }, "/_nuxt/BBT589bc.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3c1-s7cxMfKG/Yy6HxCBIo2g8nYN5Ek\"", - "mtime": "2026-01-27T12:04:02.102Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 961, "path": "../public/_nuxt/BBT589bc.js" }, "/_nuxt/BDOptM52.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2a7aa-R7x7gpha5PgGR585T0Bxv0HZtXw\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 173994, "path": "../public/_nuxt/BDOptM52.js" }, "/_nuxt/BGrduSck.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a1d3-GkOakNPqE2GnQpK7T9ysAxcvkIs\"", - "mtime": "2026-01-27T12:04:02.103Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 41427, "path": "../public/_nuxt/BGrduSck.js" }, "/_nuxt/BHBthidp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d1e-mbpP5FQebTgjxd8i6pWF3he+u44\"", - "mtime": "2026-01-27T12:04:02.103Z", + "mtime": "2026-01-27T12:48:12.650Z", "size": 3358, "path": "../public/_nuxt/BHBthidp.js" }, "/_nuxt/BHLsoC0X.js": { "type": "text/javascript; charset=utf-8", "etag": "\"655-l3gmTMYkm0BTK/bgIU9f+4tx6jc\"", - "mtime": "2026-01-27T12:04:02.103Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 1621, "path": "../public/_nuxt/BHLsoC0X.js" }, "/_nuxt/BHw89vdB.js": { "type": "text/javascript; charset=utf-8", "etag": "\"7f3-lRX+5diwdP/UXUD7NX2h4P2JAM8\"", - "mtime": "2026-01-27T12:04:02.103Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 2035, "path": "../public/_nuxt/BHw89vdB.js" }, "/_nuxt/BI5evUJ6.js": { "type": "text/javascript; charset=utf-8", "etag": "\"497-T5GGzDPtt5wlTtqnWcKj2p6qFD0\"", - "mtime": "2026-01-27T12:04:02.103Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 1175, "path": "../public/_nuxt/BI5evUJ6.js" }, "/_nuxt/BJ6YnkHC.js": { "type": "text/javascript; charset=utf-8", "etag": "\"94bb-rFqvu5ahU1PkYHm4NegIHApW1lQ\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 38075, "path": "../public/_nuxt/BJ6YnkHC.js" }, "/_nuxt/BJt1EIeo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"b726-YkF4akCvX62JRXws5GVlO2goidY\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 46886, "path": "../public/_nuxt/BJt1EIeo.js" }, "/_nuxt/BLCVMa8A.js": { "type": "text/javascript; charset=utf-8", "etag": "\"69d-9rq7yJ0b7rrqw9fUgrVwucLNlkU\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 1693, "path": "../public/_nuxt/BLCVMa8A.js" }, "/_nuxt/BLK5qYlX.js": { "type": "text/javascript; charset=utf-8", "etag": "\"6cb-BXou0mxM+Kshf5Viy7Zu8BBGjrI\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.651Z", "size": 1739, "path": "../public/_nuxt/BLK5qYlX.js" }, "/_nuxt/BN8guUTz.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a3c-0yirGfqQIwySexEeDSmBm8DPeGY\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 2620, "path": "../public/_nuxt/BN8guUTz.js" }, "/_nuxt/BNRQPgV4.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d6d-uLb4tM+HUq4O1vJWn8e8PUNoj8w\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 3437, "path": "../public/_nuxt/BNRQPgV4.js" }, "/_nuxt/BNS36bUN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"686-aglFxtdB1ICkjrtsjwMvZGX/n1U\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 1670, "path": "../public/_nuxt/BNS36bUN.js" }, "/_nuxt/BOwWxdr3.js": { "type": "text/javascript; charset=utf-8", "etag": "\"198c-oV80LA/EbZl7jfDdU99XA72y33k\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 6540, "path": "../public/_nuxt/BOwWxdr3.js" }, "/_nuxt/BT8sO8ga.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a9-GA+sZ8/5BjbwFdgKJaikhTlS+pg\"", - "mtime": "2026-01-27T12:04:02.104Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 169, "path": "../public/_nuxt/BT8sO8ga.js" }, "/_nuxt/BY3KS3PC.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1c8f-gEb9geQieJKmSWiPpPBkd9Ltwk8\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 7311, "path": "../public/_nuxt/BY3KS3PC.js" }, "/_nuxt/BYFjdAgw.js": { "type": "text/javascript; charset=utf-8", "etag": "\"35e7-so1wOxShXMCYQFFb2CdUkmClEqw\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 13799, "path": "../public/_nuxt/BYFjdAgw.js" }, "/_nuxt/BYkHht5C.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1389f-iCRVzRX3KBlXMqIxgJzGZkVjlRg\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 80031, "path": "../public/_nuxt/BYkHht5C.js" }, "/_nuxt/B_fmCE4u.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5be-rgr1kzp7/suph6R5pOuhHAgpwK4\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.652Z", "size": 1470, "path": "../public/_nuxt/B_fmCE4u.js" }, "/_nuxt/BaFlPdDo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2ae7-0yFu1SFsJTx8K64Van4h+RSjhD4\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 10983, "path": "../public/_nuxt/BaFlPdDo.js" }, "/_nuxt/BasicButton.B2eELnPq.css": { "type": "text/css; charset=utf-8", "etag": "\"b0-uSSlhbh8M8DEsjcUBIQJBMicRi8\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 176, "path": "../public/_nuxt/BasicButton.B2eELnPq.css" }, "/_nuxt/BasicIconOld.DktbhR_V.css": { "type": "text/css; charset=utf-8", "etag": "\"3d-QxRGm8Uny5tH7YgTQNcIq8Yo9xs\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 61, "path": "../public/_nuxt/BasicIconOld.DktbhR_V.css" }, "/_nuxt/BasicInput.BS7pxlLz.css": { "type": "text/css; charset=utf-8", "etag": "\"12e-Ipt3m8bNH8USMdeY8fh9AdBGhqc\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 302, "path": "../public/_nuxt/BasicInput.BS7pxlLz.css" }, "/_nuxt/BasicTextArea.tn0RQdqM.css": { "type": "text/css; charset=utf-8", "etag": "\"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk\"", - "mtime": "2026-01-27T12:03:54.592Z", + "mtime": "2026-01-27T12:48:04.822Z", "size": 0, "path": "../public/_nuxt/BasicTextArea.tn0RQdqM.css" }, "/_nuxt/BbXMVhKj.js": { "type": "text/javascript; charset=utf-8", "etag": "\"584-dQNShl+a24efBbhFnlIB2U2GEk8\"", - "mtime": "2026-01-27T12:04:02.105Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 1412, "path": "../public/_nuxt/BbXMVhKj.js" }, "/_nuxt/Bbd_Ti14.js": { "type": "text/javascript; charset=utf-8", "etag": "\"250-C7qCVjkmKx3n8B3iJp8/wAbaGPM\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 592, "path": "../public/_nuxt/Bbd_Ti14.js" }, "/_nuxt/Be-gRMon.js": { "type": "text/javascript; charset=utf-8", "etag": "\"dab-EfHA8KV1oF6xltgNRTHfu1lHXEI\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.653Z", "size": 3499, "path": "../public/_nuxt/Be-gRMon.js" }, "/_nuxt/BgR2E6gQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"253-PLNyY/DKYNXdR8RWoouDXiJBLW8\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 595, "path": "../public/_nuxt/BgR2E6gQ.js" }, "/_nuxt/Bh8FlG27.js": { "type": "text/javascript; charset=utf-8", "etag": "\"538-gLSgWucL9YSuy1/p1k1WezXS04s\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 1336, "path": "../public/_nuxt/Bh8FlG27.js" }, "/_nuxt/BhrAsToM.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4c7-pUDRM+2X572JF6Yt6PQitVeChJ0\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 1223, "path": "../public/_nuxt/BhrAsToM.js" }, "/_nuxt/BiDL-COj.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d69e-dqlaaHZh3TRQPrfd0fD9msa/r4s\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 54942, "path": "../public/_nuxt/BiDL-COj.js" }, "/_nuxt/BiJJrwHu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"70c-FIMFq/OiwjmICIgrEuhBp7XKooU\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 1804, "path": "../public/_nuxt/BiJJrwHu.js" }, "/_nuxt/BlkfA1qz.js": { "type": "text/javascript; charset=utf-8", "etag": "\"192-/iWB6E+1IwP4xrgHQwM19HvCFIk\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 402, "path": "../public/_nuxt/BlkfA1qz.js" }, "/_nuxt/Bmie_yea.js": { "type": "text/javascript; charset=utf-8", "etag": "\"45f-jAuNidkTBnPMvD/F7cJM0kxE5nI\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 1119, "path": "../public/_nuxt/Bmie_yea.js" }, "/_nuxt/BmvgCcse.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2791-odr8FMRsD3TWgRT8CtR6LeuiZGE\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 10129, "path": "../public/_nuxt/BmvgCcse.js" }, "/_nuxt/BoBuM2tF.js": { "type": "text/javascript; charset=utf-8", "etag": "\"251-xwIxgVMk3n5xnqQzi2hRZYlDA1U\"", - "mtime": "2026-01-27T12:04:02.106Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 593, "path": "../public/_nuxt/BoBuM2tF.js" }, "/_nuxt/Brt5zfvQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"846-DWsurkrFCFi+L6FJNoQCsoIcyJo\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 2118, "path": "../public/_nuxt/Brt5zfvQ.js" }, "/_nuxt/BsLs4p15.js": { "type": "text/javascript; charset=utf-8", "etag": "\"32a7-B2jLaJaraoU5c6sMf1QWf3Wdapo\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.654Z", "size": 12967, "path": "../public/_nuxt/BsLs4p15.js" }, "/_nuxt/BsUIZQ-f.js": { "type": "text/javascript; charset=utf-8", "etag": "\"28f-DsNQEA5TrtmOGBpZTm/nohQb7ns\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 655, "path": "../public/_nuxt/BsUIZQ-f.js" }, "/_nuxt/BtyzBuwr.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3c95-F2Cmfk5IlnRBioy4Y+hnTTODjYw\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 15509, "path": "../public/_nuxt/BtyzBuwr.js" }, "/_nuxt/BvP_ux_g.js": { "type": "text/javascript; charset=utf-8", "etag": "\"c6301-3qipuwWHVrUpApGRsH6Jx24t+YQ\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 811777, "path": "../public/_nuxt/BvP_ux_g.js" }, "/_nuxt/Bw_ZgZhj.js": { "type": "text/javascript; charset=utf-8", "etag": "\"643-CT72PSSewpekXVrlDSh8yo3Xp60\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 1603, "path": "../public/_nuxt/Bw_ZgZhj.js" }, "/_nuxt/BxF7pQIy.js": { "type": "text/javascript; charset=utf-8", "etag": "\"47a-hrqOhMOGUVs0cg7yg1bKjnBprTw\"", - "mtime": "2026-01-27T12:04:02.107Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 1146, "path": "../public/_nuxt/BxF7pQIy.js" }, "/_nuxt/BzAZyL4T.js": { "type": "text/javascript; charset=utf-8", "etag": "\"164-tZsxcSHwaibQvgJImqZBqTFWdqU\"", - "mtime": "2026-01-27T12:04:02.108Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 356, "path": "../public/_nuxt/BzAZyL4T.js" }, "/_nuxt/C-5fyTkQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2da-6szEoRiv1YpiecxwT++D6I6kCdQ\"", - "mtime": "2026-01-27T12:04:02.108Z", + "mtime": "2026-01-27T12:48:12.655Z", "size": 730, "path": "../public/_nuxt/C-5fyTkQ.js" }, "/_nuxt/C-xdWTVd.js": { "type": "text/javascript; charset=utf-8", "etag": "\"764-Gn15pWM3KcrxVBmJuDO3L8mX7Rc\"", - "mtime": "2026-01-27T12:04:02.108Z", + "mtime": "2026-01-27T12:48:12.656Z", "size": 1892, "path": "../public/_nuxt/C-xdWTVd.js" }, "/_nuxt/C17E0ujv.js": { "type": "text/javascript; charset=utf-8", "etag": "\"182-XeTK+CCOcT4S1tqEoPECdK2atPI\"", - "mtime": "2026-01-27T12:04:02.108Z", + "mtime": "2026-01-27T12:48:12.656Z", "size": 386, "path": "../public/_nuxt/C17E0ujv.js" }, "/_nuxt/C2q09MKV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"49f-CWTQBXaBOu4SNacweLbMegkB/tY\"", - "mtime": "2026-01-27T12:04:02.108Z", + "mtime": "2026-01-27T12:48:12.656Z", "size": 1183, "path": "../public/_nuxt/C2q09MKV.js" }, "/_nuxt/C3qXPSdl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"c23-xwAiqPUFqeWJuHrWV50/RzJ2hhA\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.656Z", "size": 3107, "path": "../public/_nuxt/C3qXPSdl.js" }, "/_nuxt/C3x4TpXj.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3c81-VsA9lIdvhK2z4ij+W6fo21MhoS8\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.656Z", "size": 15489, "path": "../public/_nuxt/C3x4TpXj.js" }, "/_nuxt/C5eOakM-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1a5-yMk6nfJaMahJvi7/seyeYl5CgZM\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.657Z", "size": 421, "path": "../public/_nuxt/C5eOakM-.js" }, "/_nuxt/C6svSwIi.js": { "type": "text/javascript; charset=utf-8", "etag": "\"fc9-XK6BExEGndn+CE8W5NZunMFNHss\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.657Z", "size": 4041, "path": "../public/_nuxt/C6svSwIi.js" }, "/_nuxt/C7zEPsIa.js": { "type": "text/javascript; charset=utf-8", "etag": "\"15d0-z/GlCiMt3UmAkUHJBTqIowDcIo0\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.657Z", "size": 5584, "path": "../public/_nuxt/C7zEPsIa.js" }, "/_nuxt/C8NhlFLb.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2606-DDbcgbtE3vtK4Rbz12KxWvFlZro\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.657Z", "size": 9734, "path": "../public/_nuxt/C8NhlFLb.js" }, "/_nuxt/C9QN_Mfk.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1923-IskBmdhIA1d0TY6lrLEzWKjFbeQ\"", - "mtime": "2026-01-27T12:04:02.109Z", + "mtime": "2026-01-27T12:48:12.657Z", "size": 6435, "path": "../public/_nuxt/C9QN_Mfk.js" }, "/_nuxt/CBJoCjDV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1b76-6p9Lc+TD3CL5m2MrmfO0a5zExto\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 7030, "path": "../public/_nuxt/CBJoCjDV.js" }, "/_nuxt/CD4jTnQf.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5dc-+HzAfvGpnMYcMR3SOCbq/EyuiBc\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 1500, "path": "../public/_nuxt/CD4jTnQf.js" }, "/_nuxt/CDCPZiX_.js": { "type": "text/javascript; charset=utf-8", "etag": "\"781-+8R5axGHIDxxKP8fot2B7r2D/Uw\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 1921, "path": "../public/_nuxt/CDCPZiX_.js" }, "/_nuxt/CDtJoR7M.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1124-9T9lLDd3WOgKc+2xQ/LiPjgWGdI\"", - "mtime": "2026-01-27T12:04:02.110Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 4388, "path": "../public/_nuxt/CDtJoR7M.js" }, "/_nuxt/CER9i5mY.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3a33-bA6xPlyGfrMxntTwmQQXQz88CQA\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 14899, "path": "../public/_nuxt/CER9i5mY.js" }, "/_nuxt/CHtzyEc6.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4c8-Oy/27ugroItqUSG6fExonWHIXrk\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 1224, "path": "../public/_nuxt/CHtzyEc6.js" }, "/_nuxt/CJXObQzs.js": { "type": "text/javascript; charset=utf-8", "etag": "\"9be-CpRcCVdlQBEvw4TR5XtWgEJTmOE\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.658Z", "size": 2494, "path": "../public/_nuxt/CJXObQzs.js" }, "/_nuxt/CK63FxZH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"682a-k+yG/pHFdnYc9Zr51mhDoIxoTzA\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 26666, "path": "../public/_nuxt/CK63FxZH.js" }, "/_nuxt/CKHWFXyc.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1fb-QFGuWGqPgTm9wMwJT+PXc72GCZo\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 507, "path": "../public/_nuxt/CKHWFXyc.js" }, "/_nuxt/CLMw6_SR.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4fe-9KXvDewu2+05a05PRWQ7tVZqP0A\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 1278, "path": "../public/_nuxt/CLMw6_SR.js" }, "/_nuxt/CQSSU-NN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"719-C2sgRulAA3G8RcM83hyRrV2pio0\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 1817, "path": "../public/_nuxt/CQSSU-NN.js" }, "/_nuxt/CQzmf4YL.js": { "type": "text/javascript; charset=utf-8", "etag": "\"6969-HARtWE/YR8VqsdwAJpDbJwuWs4c\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 26985, "path": "../public/_nuxt/CQzmf4YL.js" }, "/_nuxt/CRIXWJhb.js": { "type": "text/javascript; charset=utf-8", "etag": "\"8dcf-Fm9Upl6AXLal+nm1q6VIzoQl+Ac\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 36303, "path": "../public/_nuxt/CRIXWJhb.js" }, "/_nuxt/CRv-GgbU.js": { "type": "text/javascript; charset=utf-8", "etag": "\"142-fkrN9SVkttlV7wnU62gD2EPpU4s\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 322, "path": "../public/_nuxt/CRv-GgbU.js" }, "/_nuxt/CZUeDkO0.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4e2-1yE6vxX+TswEd1QYlLya1VkxJR8\"", - "mtime": "2026-01-27T12:04:02.111Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 1250, "path": "../public/_nuxt/CZUeDkO0.js" }, "/_nuxt/CZfMhVbr.js": { "type": "text/javascript; charset=utf-8", "etag": "\"162-A3vFzHPf5UpMiRHwfJJqK3H9KZ4\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 354, "path": "../public/_nuxt/CZfMhVbr.js" }, "/_nuxt/Ca3ZqvUo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2348-1cJEb3/vTnBs6ohzIwntgbQg36g\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.659Z", "size": 9032, "path": "../public/_nuxt/Ca3ZqvUo.js" }, "/_nuxt/CaZV_EHL.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3b73-VQLqzC7qEXYFeEXJ5ZIW9EwYABA\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 15219, "path": "../public/_nuxt/CaZV_EHL.js" }, "/_nuxt/CbHNw5X6.js": { "type": "text/javascript; charset=utf-8", "etag": "\"f8a-ycmvgoWrbeCfYgoulNasyOlrm+w\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 3978, "path": "../public/_nuxt/CbHNw5X6.js" }, "/_nuxt/Cbt2tPBc.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a0ef1-3/y0NkOysvFqC+UQhFvv0AGcjrc\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.663Z", "size": 659185, "path": "../public/_nuxt/Cbt2tPBc.js" }, "/_nuxt/Ceqi68nG.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1d9-L0KZzCVq6nvIS4kRHyTP/4hRpxM\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 473, "path": "../public/_nuxt/Ceqi68nG.js" }, "/_nuxt/CfQT9Pjy.js": { "type": "text/javascript; charset=utf-8", "etag": "\"8a9-0pzvda6WGF/b4Ub66dwYHY6Pcl8\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 2217, "path": "../public/_nuxt/CfQT9Pjy.js" }, "/_nuxt/CgpbEzJY.js": { "type": "text/javascript; charset=utf-8", "etag": "\"7a9-44EY4lgI7cESvJVO80cdhsqaQh8\"", - "mtime": "2026-01-27T12:04:02.112Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 1961, "path": "../public/_nuxt/CgpbEzJY.js" }, "/_nuxt/ChangeLanguage.SqR8ZyGJ.css": { "type": "text/css; charset=utf-8", "etag": "\"db-/soqtO9yrVhF4eX7wR2xWjjiWKw\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.660Z", "size": 219, "path": "../public/_nuxt/ChangeLanguage.SqR8ZyGJ.css" }, "/_nuxt/Cj99RmFE.js": { "type": "text/javascript; charset=utf-8", "etag": "\"66-DFgMGaybi/ROxJ7GnJsRDtFyUFk\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.661Z", "size": 102, "path": "../public/_nuxt/Cj99RmFE.js" }, "/_nuxt/CkS6gUmV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"6ed-Sx7j7kOQMBjB/Ocx0txUuJ7gUTo\"", - "mtime": "2026-01-27T12:04:02.114Z", + "mtime": "2026-01-27T12:48:12.661Z", "size": 1773, "path": "../public/_nuxt/CkS6gUmV.js" }, "/_nuxt/CkcGP4w5.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1758-8+8muei/fvNSHVLYJtiXstLhZvo\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.661Z", "size": 5976, "path": "../public/_nuxt/CkcGP4w5.js" }, "/_nuxt/ClgUV-y-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"50-wlNF4X+sCG8QsQtiG5PTVpa0MeI\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.662Z", "size": 80, "path": "../public/_nuxt/ClgUV-y-.js" }, "/_nuxt/CmMfcJ2x.js": { "type": "text/javascript; charset=utf-8", "etag": "\"694-06E9WCL0es28RygDMUcejSWpn0U\"", - "mtime": "2026-01-27T12:04:02.113Z", + "mtime": "2026-01-27T12:48:12.662Z", "size": 1684, "path": "../public/_nuxt/CmMfcJ2x.js" }, "/_nuxt/Cq3oTAtN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2c93-S1K6jO2e2uPglaZlGwXesQbIC6Y\"", - "mtime": "2026-01-27T12:04:02.114Z", + "mtime": "2026-01-27T12:48:12.662Z", "size": 11411, "path": "../public/_nuxt/Cq3oTAtN.js" }, "/_nuxt/CqrgowAD.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a371-kyfFtLRQkTFJA1HRcP70lD4EX9g\"", - "mtime": "2026-01-27T12:04:02.114Z", + "mtime": "2026-01-27T12:48:12.663Z", "size": 41841, "path": "../public/_nuxt/CqrgowAD.js" }, "/_nuxt/Cs0PMq_Y.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1ee5-VoGAhGAcIm51XnRy3xHTqtBBKQ0\"", - "mtime": "2026-01-27T12:04:02.114Z", + "mtime": "2026-01-27T12:48:12.662Z", "size": 7909, "path": "../public/_nuxt/Cs0PMq_Y.js" }, "/_nuxt/Cs5cnJ7-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"59d-H3UCUxcrgwtKS3I2xJYI2Perlh0\"", - "mtime": "2026-01-27T12:04:02.114Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 1437, "path": "../public/_nuxt/Cs5cnJ7-.js" }, "/_nuxt/CsYkSgoy.js": { "type": "text/javascript; charset=utf-8", "etag": "\"741-paJpKmx/7NBppV6vqS/2egHImuo\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.663Z", "size": 1857, "path": "../public/_nuxt/CsYkSgoy.js" }, "/_nuxt/CscEAC8U.js": { "type": "text/javascript; charset=utf-8", "etag": "\"323-TaBVHHrjh0oI0mCOlGjxICtgdjQ\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.663Z", "size": 803, "path": "../public/_nuxt/CscEAC8U.js" }, "/_nuxt/Cst_R1Uh.js": { "type": "text/javascript; charset=utf-8", "etag": "\"845-Xqmd77lGVPDr4sIiGZLpDpicL04\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.663Z", "size": 2117, "path": "../public/_nuxt/Cst_R1Uh.js" }, "/_nuxt/CtGujaVK.js": { "type": "text/javascript; charset=utf-8", "etag": "\"62b1-rOSs4JsG3LWmI13FSqm+t9wDsvM\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 25265, "path": "../public/_nuxt/CtGujaVK.js" }, "/_nuxt/Ctsa2335.js": { "type": "text/javascript; charset=utf-8", "etag": "\"7a2-ZKIgwNEFu13mY/HmkCiBUkkgxhw\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 1954, "path": "../public/_nuxt/Ctsa2335.js" }, "/_nuxt/CvgOwh8h.js": { "type": "text/javascript; charset=utf-8", "etag": "\"403-mRc+fzrdZ44w5I62+epNGj373ik\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 1027, "path": "../public/_nuxt/CvgOwh8h.js" }, "/_nuxt/CwtvwXb3.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1680-MhxKhl0cqBehbxCvHTE7egTM5mo\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 5760, "path": "../public/_nuxt/CwtvwXb3.js" }, "/_nuxt/CxM9_8io.js": { "type": "text/javascript; charset=utf-8", "etag": "\"53e-EA7i23t9PjJbQ7w4rjPwzmiNqqs\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 1342, "path": "../public/_nuxt/CxM9_8io.js" }, "/_nuxt/Cy8_VRum.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2ed-goQ2bHs4ksT74H6nmaxWqZvo6BU\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 749, "path": "../public/_nuxt/Cy8_VRum.js" }, "/_nuxt/D-_y6OpO.js": { "type": "text/javascript; charset=utf-8", "etag": "\"895-lsWF2M7Qss0A4z3MJbp97vAauQ8\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 2197, "path": "../public/_nuxt/D-_y6OpO.js" }, "/_nuxt/D-bUn136.js": { "type": "text/javascript; charset=utf-8", "etag": "\"826-HELXContTX53kotsbXRauFQdpOA\"", - "mtime": "2026-01-27T12:04:02.115Z", + "mtime": "2026-01-27T12:48:12.664Z", "size": 2086, "path": "../public/_nuxt/D-bUn136.js" }, "/_nuxt/D00xL7aY.js": { "type": "text/javascript; charset=utf-8", "etag": "\"9b3f-Vot42aMD224tZqKtowvoqCEO8W8\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 39743, "path": "../public/_nuxt/D00xL7aY.js" }, "/_nuxt/D0fu8WUi.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2377-UAU8hryyEnYLs5sqvnIeapx9rgU\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 9079, "path": "../public/_nuxt/D0fu8WUi.js" }, "/_nuxt/D0vSK_3x.js": { "type": "text/javascript; charset=utf-8", "etag": "\"9c-bjqVt+H0Di5w9JAZ3iNezEKjCyI\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 156, "path": "../public/_nuxt/D0vSK_3x.js" }, "/_nuxt/D1Fow3lV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2ab4-q6QiTcTcdBb20Ork6/rU7DYeJV4\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 10932, "path": "../public/_nuxt/D1Fow3lV.js" }, "/_nuxt/D1doa_M-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"8acc-vUu8Dc2LWrtHP+9TPz+ZU9IMlKw\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 35532, "path": "../public/_nuxt/D1doa_M-.js" }, "/_nuxt/D2VqvOiI.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1f8-DlFH4PUjMa7cy5jVxaf/N+p6bkU\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 504, "path": "../public/_nuxt/D2VqvOiI.js" }, "/_nuxt/D2avLtB7.js": { "type": "text/javascript; charset=utf-8", "etag": "\"16d-1p9USRgY2pCjJTjgpMc9JnaPcZU\"", - "mtime": "2026-01-27T12:04:02.116Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 365, "path": "../public/_nuxt/D2avLtB7.js" }, "/_nuxt/D2iO6YhJ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"af2-5/DkVpT4yoSTa5t30bS7VswDph0\"", - "mtime": "2026-01-27T12:04:02.117Z", + "mtime": "2026-01-27T12:48:12.665Z", "size": 2802, "path": "../public/_nuxt/D2iO6YhJ.js" }, "/_nuxt/D58EDzqx.js": { "type": "text/javascript; charset=utf-8", "etag": "\"ef9-HwjUk58MSt+6fZf/pA11LqdpL5U\"", - "mtime": "2026-01-27T12:04:02.117Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 3833, "path": "../public/_nuxt/D58EDzqx.js" }, "/_nuxt/D6qJbdzf.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1e33-tyd13UYn5QbogttolxBC4esTnL8\"", - "mtime": "2026-01-27T12:04:02.117Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 7731, "path": "../public/_nuxt/D6qJbdzf.js" }, "/_nuxt/D9o4TIOW.js": { "type": "text/javascript; charset=utf-8", "etag": "\"22ae-WIAqZbVBdhSB2lP0xsVCs2+mVMg\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 8878, "path": "../public/_nuxt/D9o4TIOW.js" }, "/_nuxt/DAvFecQo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3d8-wyHHeTKRaxVHz9tQzIDVilwPhzQ\"", - "mtime": "2026-01-27T12:04:02.117Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 984, "path": "../public/_nuxt/DAvFecQo.js" }, "/_nuxt/DFzrht7B.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2fe-OPeNrDaSRTEwz4AqozK7+5AQSE0\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 766, "path": "../public/_nuxt/DFzrht7B.js" }, "/_nuxt/DGFRw2HL.js": { "type": "text/javascript; charset=utf-8", "etag": "\"69-jFTOonInw8BPrlFxCfetmFnGDRs\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 105, "path": "../public/_nuxt/DGFRw2HL.js" }, "/_nuxt/DGswNBmG.js": { "type": "text/javascript; charset=utf-8", "etag": "\"42e3-bKX9dK/+3MdynoY5aXlMUBdjOYk\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 17123, "path": "../public/_nuxt/DGswNBmG.js" }, "/_nuxt/DIW3nMve.js": { "type": "text/javascript; charset=utf-8", "etag": "\"269-tD+PXiKcAdAw7sXtrXD/MBAmik0\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 617, "path": "../public/_nuxt/DIW3nMve.js" }, "/_nuxt/DNDpcsqo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"36dc-PMEDS0dVYLYCaoNSEoy7ATzMPGM\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 14044, "path": "../public/_nuxt/DNDpcsqo.js" }, "/_nuxt/DOYgr7rE.js": { "type": "text/javascript; charset=utf-8", "etag": "\"25f-GevoJnqhfKqBbyBYun//UQ+eU34\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.666Z", "size": 607, "path": "../public/_nuxt/DOYgr7rE.js" }, "/_nuxt/DPBLY6es.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2db-DO+CbmjbuOxSeGYXfVnxo9axPJQ\"", - "mtime": "2026-01-27T12:04:02.118Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 731, "path": "../public/_nuxt/DPBLY6es.js" }, "/_nuxt/DPLkQIR9.js": { "type": "text/javascript; charset=utf-8", "etag": "\"43b-CsIH7L/U3s3/qjwr+Uw14a+PuK4\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 1083, "path": "../public/_nuxt/DPLkQIR9.js" }, "/_nuxt/DQ1VUkHT.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a6-9h/C4lGOjWgiDNC+gEn7/HvRPm4\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 166, "path": "../public/_nuxt/DQ1VUkHT.js" }, "/_nuxt/DRaf_pDu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"22d-oXzVM6U4HLgKSDn+VHjZIJ5LjN0\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 557, "path": "../public/_nuxt/DRaf_pDu.js" }, "/_nuxt/DRgfp1up.js": { "type": "text/javascript; charset=utf-8", "etag": "\"f2-TeSSTNuWFiiNeoAt2B9bMhb+/C4\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 242, "path": "../public/_nuxt/DRgfp1up.js" }, "/_nuxt/DTgN_l7o.js": { "type": "text/javascript; charset=utf-8", "etag": "\"182-XeTK+CCOcT4S1tqEoPECdK2atPI\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 386, "path": "../public/_nuxt/DTgN_l7o.js" }, "/_nuxt/DTq-4KzG.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3cf-Thgixqkqu625PB973UbVPrH6r0w\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 975, "path": "../public/_nuxt/DTq-4KzG.js" }, "/_nuxt/DUmF_Rgz.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2be-NF9L9tkz1vfEcXLlNf/cBnsymrw\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 702, "path": "../public/_nuxt/DUmF_Rgz.js" }, "/_nuxt/DVxbPVlR.js": { "type": "text/javascript; charset=utf-8", "etag": "\"730-lE4gBjElzAQsiiN/OZQIAIKi+WU\"", - "mtime": "2026-01-27T12:04:02.119Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 1840, "path": "../public/_nuxt/DVxbPVlR.js" }, "/_nuxt/DZ5eTpmJ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5f4-fGOam9JGY0f8S46BHvZRsx1CQYo\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.667Z", "size": 1524, "path": "../public/_nuxt/DZ5eTpmJ.js" }, "/_nuxt/DZxZseAX.js": { "type": "text/javascript; charset=utf-8", "etag": "\"536-1yrEdcZUQoZTOzVvSrnh5A4nicc\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 1334, "path": "../public/_nuxt/DZxZseAX.js" }, "/_nuxt/DcT29QuF.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1726-rQgHX8Whgnp7cYc5VDsuU2cA+2g\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 5926, "path": "../public/_nuxt/DcT29QuF.js" }, "/_nuxt/DcxkNLFr.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1f9-OI/+1oK9PXukHq5OIrKThjbblw4\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 505, "path": "../public/_nuxt/DcxkNLFr.js" }, "/_nuxt/Ddip-HNk.js": { "type": "text/javascript; charset=utf-8", "etag": "\"10bb-40frks3BBtYdf1V6OhvNfnT+52k\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 4283, "path": "../public/_nuxt/Ddip-HNk.js" }, "/_nuxt/De7hBUwl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"86c9-pau4GrALveiKTLkn9M6wR7w1Exc\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 34505, "path": "../public/_nuxt/De7hBUwl.js" }, "/_nuxt/DeTvNnRD.js": { "type": "text/javascript; charset=utf-8", "etag": "\"855-0jLMKut5s3pkU5chU+l3ulzWjFw\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 2133, "path": "../public/_nuxt/DeTvNnRD.js" }, "/_nuxt/DeUOGOlO.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2eb-ERE990SIUUHXS409lTIGeQmcr3Y\"", - "mtime": "2026-01-27T12:04:02.120Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 747, "path": "../public/_nuxt/DeUOGOlO.js" }, "/_nuxt/DfSIj5ee.js": { "type": "text/javascript; charset=utf-8", "etag": "\"8a96-AEnwqBhKqKR22lrWLj+PHkkz28c\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.668Z", "size": 35478, "path": "../public/_nuxt/DfSIj5ee.js" }, "/_nuxt/DgUGVCtO.js": { "type": "text/javascript; charset=utf-8", "etag": "\"577-i0Rw/fWdy7uUocl1rAsRLBjgpVE\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 1399, "path": "../public/_nuxt/DgUGVCtO.js" }, "/_nuxt/DjvBa-1E.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3e-pUclDn9an7oRNGoPIMWjc1WHxMY\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 62, "path": "../public/_nuxt/DjvBa-1E.js" }, "/_nuxt/DkLizs-G.js": { "type": "text/javascript; charset=utf-8", "etag": "\"63-WxTBNobFjN5wjikNDb/O/t4CS5A\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 99, "path": "../public/_nuxt/DkLizs-G.js" }, "/_nuxt/DlAUqK2U.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 91, "path": "../public/_nuxt/DlAUqK2U.js" }, "/_nuxt/DlznrpTI.js": { "type": "text/javascript; charset=utf-8", "etag": "\"321d-nBs2QizNahxC16x3Su5o1le/mDg\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 12829, "path": "../public/_nuxt/DlznrpTI.js" }, "/_nuxt/Dm-BacZx.js": { "type": "text/javascript; charset=utf-8", "etag": "\"cf7-L4zTh7PM4t5ja7sxeeNB3tMcVI0\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 3319, "path": "../public/_nuxt/Dm-BacZx.js" }, "/_nuxt/Dn4CZ-Yo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"6b-VKJv6Z1g/c+BslqB8Prr02+jtq8\"", - "mtime": "2026-01-27T12:04:02.121Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 107, "path": "../public/_nuxt/Dn4CZ-Yo.js" }, "/_nuxt/DnXbm1Hu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1a05-Nk8f6X97B3fMcbnEIYnLcBQcrG0\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.669Z", "size": 6661, "path": "../public/_nuxt/DnXbm1Hu.js" }, "/_nuxt/Dq7m1_nY.js": { "type": "text/javascript; charset=utf-8", "etag": "\"c27d-nRn15PyD5dB5Ke672y1wyt2C8YQ\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 49789, "path": "../public/_nuxt/Dq7m1_nY.js" }, "/_nuxt/DrvgMTOA.js": { "type": "text/javascript; charset=utf-8", "etag": "\"10b00-okEXcmK+rqYFBR33ulZt9er73Wk\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 68352, "path": "../public/_nuxt/DrvgMTOA.js" }, "/_nuxt/DsbmUPiH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"25ed-HR+vwKwVVgTHQmlVWzEuj9XOd3U\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 9709, "path": "../public/_nuxt/DsbmUPiH.js" }, "/_nuxt/Du9NqUFl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"88a7-4nSuaVxZkFCd2p8jjtgd3L76MUM\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 34983, "path": "../public/_nuxt/Du9NqUFl.js" }, "/_nuxt/DuHsFjQf.js": { "type": "text/javascript; charset=utf-8", "etag": "\"18d0-moBLabZwRO+FGBVdvD2GuWwB/nY\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 6352, "path": "../public/_nuxt/DuHsFjQf.js" }, "/_nuxt/DuNs4Pw1.js": { "type": "text/javascript; charset=utf-8", "etag": "\"761-tUAnh1Q8wRKd9P5R+EBCROctaPk\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 1889, "path": "../public/_nuxt/DuNs4Pw1.js" }, "/_nuxt/DwalR_vN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"99-xH6zKUQB4Gt4BH4EKpbaoCrQZJs\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 153, "path": "../public/_nuxt/DwalR_vN.js" }, "/_nuxt/Dy4U5EbT.js": { "type": "text/javascript; charset=utf-8", "etag": "\"111-3u+jR4pFhXSkrxEE4NXoV7P8Cws\"", - "mtime": "2026-01-27T12:04:02.122Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 273, "path": "../public/_nuxt/Dy4U5EbT.js" }, "/_nuxt/DyxeBzWG.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d9-tlj1I45LMpR/EqnsjTVttuS6OXY\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.670Z", "size": 217, "path": "../public/_nuxt/DyxeBzWG.js" }, "/_nuxt/DzeZd0Vf.js": { "type": "text/javascript; charset=utf-8", "etag": "\"45f-5cNhUKQeVwD3xDd83zfOuAQEsSc\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 1119, "path": "../public/_nuxt/DzeZd0Vf.js" }, "/_nuxt/FVfVRvfu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"22d8-j637NUxdtM/WeaaKP6Mcazj8b7Y\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 8920, "path": "../public/_nuxt/FVfVRvfu.js" }, "/_nuxt/FullScreenStories.vHiwkct6.css": { "type": "text/css; charset=utf-8", "etag": "\"1dc-huoNPn00loXCF5z66U8JFgeFYRA\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 476, "path": "../public/_nuxt/FullScreenStories.vHiwkct6.css" }, "/_nuxt/HV4Ptg59.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5db-57yFLggYbQzj9Q8xxbcZuVk/liI\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 1499, "path": "../public/_nuxt/HV4Ptg59.js" }, "/_nuxt/Highlights.LsmMR9Cv.css": { "type": "text/css; charset=utf-8", "etag": "\"835-mpWHtvP0KFqCCNUoDfXV/angdU4\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 2101, "path": "../public/_nuxt/Highlights.LsmMR9Cv.css" }, "/_nuxt/IRANSansWeb_FaNum.BLA2CtIC.woff2": { "type": "font/woff2", "etag": "\"6d28-AufINCNdNZVNkWiYA6/Wp9W2wE4\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 27944, "path": "../public/_nuxt/IRANSansWeb_FaNum.BLA2CtIC.woff2" }, "/_nuxt/IRANSansWeb_FaNum_Black.BFAfOkt4.woff2": { "type": "font/woff2", "etag": "\"64b0-HsX/CIG11T5k32Pl6NhLJvroFIQ\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 25776, "path": "../public/_nuxt/IRANSansWeb_FaNum_Black.BFAfOkt4.woff2" }, "/_nuxt/IRANSansWeb_FaNum_Bold.C8urhp07.woff2": { "type": "font/woff2", "etag": "\"6ab4-G8S3CXdFmh+Mk2th3Gy2+bcAPQQ\"", - "mtime": "2026-01-27T12:04:02.123Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 27316, "path": "../public/_nuxt/IRANSansWeb_FaNum_Bold.C8urhp07.woff2" }, "/_nuxt/IRANSansWeb_FaNum_Light.B637MNLG.woff2": { "type": "font/woff2", "etag": "\"6ef0-0ZuVZfSKf1HbzDmvdDZdESRzFOs\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.671Z", "size": 28400, "path": "../public/_nuxt/IRANSansWeb_FaNum_Light.B637MNLG.woff2" }, "/_nuxt/IRANSansWeb_FaNum_Medium.C2CKjrKB.woff2": { "type": "font/woff2", "etag": "\"64b8-6V1kQDm0NUXner/ubiM2u7MPIyY\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 25784, "path": "../public/_nuxt/IRANSansWeb_FaNum_Medium.C2CKjrKB.woff2" }, "/_nuxt/IRANSansWeb_FaNum_UltraLight.hW-WDKY9.woff2": { "type": "font/woff2", "etag": "\"6e30-P6kpI7ovgRddffWzkv2xSmEYEnw\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 28208, "path": "../public/_nuxt/IRANSansWeb_FaNum_UltraLight.hW-WDKY9.woff2" }, "/_nuxt/IndexImageUploader.DpcjnqB-.css": { "type": "text/css; charset=utf-8", "etag": "\"403-ew658FHfNjEVkBiQn54guD1lUY8\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 1027, "path": "../public/_nuxt/IndexImageUploader.DpcjnqB-.css" }, "/_nuxt/InstaInput.CKJcpevC.css": { "type": "text/css; charset=utf-8", "etag": "\"2c9-ejPNKqQSUBeHslcjZGmzzhN5AL8\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 713, "path": "../public/_nuxt/InstaInput.CKJcpevC.css" }, "/_nuxt/InstagramSans-Regular.lx8vagd-.woff2": { "type": "font/woff2", "etag": "\"6624-dfDOBaMvn8M5btrBG7KeVQ/PsSM\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 26148, "path": "../public/_nuxt/InstagramSans-Regular.lx8vagd-.woff2" }, "/_nuxt/KBq5z4mn.js": { "type": "text/javascript; charset=utf-8", "etag": "\"6d5-yj9qkcqbICWLZDVKCnS8kzDUN3I\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 1749, "path": "../public/_nuxt/KBq5z4mn.js" }, "/_nuxt/MSwc40Et.js": { "type": "text/javascript; charset=utf-8", "etag": "\"240-pSKiH9yJM4UHZEIzl1n+VmDUpEs\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 576, "path": "../public/_nuxt/MSwc40Et.js" }, "/_nuxt/ONZBPW5n.js": { "type": "text/javascript; charset=utf-8", "etag": "\"26a-+jBqUNvv2czyP9huH6h/LmmZtv4\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.672Z", "size": 618, "path": "../public/_nuxt/ONZBPW5n.js" }, "/_nuxt/OrbYBZJs.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1810-Go/gmWAo1/tTK4ficymvAuDzOa8\"", - "mtime": "2026-01-27T12:04:02.124Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 6160, "path": "../public/_nuxt/OrbYBZJs.js" }, "/_nuxt/OrderDetail.DmLQfC-y.css": { "type": "text/css; charset=utf-8", "etag": "\"da-U8MIeVPd1Z/ya8vzw0BPBLBi5lE\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 218, "path": "../public/_nuxt/OrderDetail.DmLQfC-y.css" }, "/_nuxt/OwD4490s.js": { "type": "text/javascript; charset=utf-8", "etag": "\"ec7-1sUQ9XSBau39ZtvwDrl6rGPvHhg\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 3783, "path": "../public/_nuxt/OwD4490s.js" }, "/_nuxt/PPhiVNr-.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5af-DkI69Ll/hBYk6hfL49N/mw9ssXw\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 1455, "path": "../public/_nuxt/PPhiVNr-.js" }, "/_nuxt/P__iwmVr.js": { "type": "text/javascript; charset=utf-8", "etag": "\"10cc-H/EKhn+LCpbjjCIeKU7OLqVaVGs\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 4300, "path": "../public/_nuxt/P__iwmVr.js" }, "/_nuxt/Pl2zQqcN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"753-g7uti/XcVEt4thngzemZ88iF7n4\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 1875, "path": "../public/_nuxt/Pl2zQqcN.js" }, "/_nuxt/PostCardSkeleton.DUP1THnB.css": { "type": "text/css; charset=utf-8", "etag": "\"118-xbaVvqFJTyCt4PBCKTzbBvfWXY4\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 280, "path": "../public/_nuxt/PostCardSkeleton.DUP1THnB.css" }, "/_nuxt/ProductSearchList.CBryqxih.css": { "type": "text/css; charset=utf-8", "etag": "\"1d5-r4s0eYcz6HRAyZjcgHsXDVNy0io\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 469, "path": "../public/_nuxt/ProductSearchList.CBryqxih.css" }, "/_nuxt/ProfilePictureEditor.Bt0HlTI-.css": { "type": "text/css; charset=utf-8", "etag": "\"1ea-C8v0tA2nLtBEo1irhyrG7YVc8TY\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 490, "path": "../public/_nuxt/ProfilePictureEditor.Bt0HlTI-.css" }, "/_nuxt/Q97Vio13.js": { "type": "text/javascript; charset=utf-8", "etag": "\"536-pj2fKcR/J+WBQTI1evU3BbPUlOc\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 1334, "path": "../public/_nuxt/Q97Vio13.js" }, "/_nuxt/QyMw0Sp1.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1c29-9DFXhjHf99WgDNbVV1ujvbdgd8o\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.673Z", "size": 7209, "path": "../public/_nuxt/QyMw0Sp1.js" }, "/_nuxt/RatLGbB5.js": { "type": "text/javascript; charset=utf-8", "etag": "\"224-fuMhBlONzGSBjzS7547K1FGN6Oo\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 548, "path": "../public/_nuxt/RatLGbB5.js" }, "/_nuxt/Rshl30Eo.js": { "type": "text/javascript; charset=utf-8", "etag": "\"18e-tALhf+mfTcLYtl/8RZUS9BQiN7s\"", - "mtime": "2026-01-27T12:04:02.125Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 398, "path": "../public/_nuxt/Rshl30Eo.js" }, "/_nuxt/ScpmmaE4.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d68-ZtrW9K+bCv7To9cT9UASOsbdGpw\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 3432, "path": "../public/_nuxt/ScpmmaE4.js" }, "/_nuxt/SolGyfyY.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a5f-HNKuGPqQr17MHjFekxfJrLmszF0\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 2655, "path": "../public/_nuxt/SolGyfyY.js" }, "/_nuxt/StepNumber.DZuSkTLD.css": { "type": "text/css; charset=utf-8", "etag": "\"37-nJ8da78bmS2Xvwa5IB9uwrgEQAw\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 55, "path": "../public/_nuxt/StepNumber.DZuSkTLD.css" }, "/_nuxt/UserProfilePic.CvlRpmYy.css": { "type": "text/css; charset=utf-8", "etag": "\"23d-IHH/HFl/tT50/7UpMiOp0y3Tc0k\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 573, "path": "../public/_nuxt/UserProfilePic.CvlRpmYy.css" }, "/_nuxt/Uu20VyED.js": { "type": "text/javascript; charset=utf-8", "etag": "\"51a8a-ymrv2i4MyL41x3a6kYLUj8Hmmiw\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.676Z", "size": 334474, "path": "../public/_nuxt/Uu20VyED.js" }, "/_nuxt/WIqHd_7j.js": { "type": "text/javascript; charset=utf-8", "etag": "\"67e-jzlGRL969EwgP7/lRDOTfC4l4ks\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 1662, "path": "../public/_nuxt/WIqHd_7j.js" }, "/_nuxt/XRR38INJ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2904-3RKWL379oI91LT0WP5Me1Da/Ofs\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.674Z", "size": 10500, "path": "../public/_nuxt/XRR38INJ.js" }, "/_nuxt/XsaR7Qnn.js": { "type": "text/javascript; charset=utf-8", "etag": "\"127c-xpp2FfPRAlVxtzkVCBNLwa3PHWw\"", - "mtime": "2026-01-27T12:04:02.126Z", + "mtime": "2026-01-27T12:48:12.675Z", "size": 4732, "path": "../public/_nuxt/XsaR7Qnn.js" }, "/_nuxt/XvbPR14r.js": { "type": "text/javascript; charset=utf-8", "etag": "\"54bf-V7OyY+5fByNztUiG4RjPgiDeJCE\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.675Z", "size": 21695, "path": "../public/_nuxt/XvbPR14r.js" }, "/_nuxt/Y4Uc45PN.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2e8-4iAHcraS/4hNy2tlR7BZYS7mEzU\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.675Z", "size": 744, "path": "../public/_nuxt/Y4Uc45PN.js" }, "/_nuxt/YUm_jrvp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"415-dX2ciN4QNgxsZYkPSueaMCVwKoY\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.675Z", "size": 1045, "path": "../public/_nuxt/YUm_jrvp.js" }, "/_nuxt/ZzUti8KV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"51b-ky3+XqPBA5z0uWOuhoLUi4UQAjc\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.675Z", "size": 1307, "path": "../public/_nuxt/ZzUti8KV.js" }, "/_nuxt/_OSaw0MT.js": { "type": "text/javascript; charset=utf-8", "etag": "\"f361d-0yUTjt/Y6YWNC5u5c4YehK+ksLo\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.681Z", "size": 996893, "path": "../public/_nuxt/_OSaw0MT.js" }, "/_nuxt/_iPNLlmk.js": { "type": "text/javascript; charset=utf-8", "etag": "\"399-b/UxUWbeu61zU2BwiiMV6R3wWCg\"", - "mtime": "2026-01-27T12:04:02.127Z", + "mtime": "2026-01-27T12:48:12.676Z", "size": 921, "path": "../public/_nuxt/_iPNLlmk.js" }, "/_nuxt/_id_.BhPp45mc.css": { "type": "text/css; charset=utf-8", "etag": "\"575-+Dk8naAyunbf7iS8G7t6VvO9LR0\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.676Z", "size": 1397, "path": "../public/_nuxt/_id_.BhPp45mc.css" }, "/_nuxt/_id_.D0g0-kXs.css": { "type": "text/css; charset=utf-8", "etag": "\"21f4-PcxLmd0mU3TFVL6YN3SiVyhBqgg\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.676Z", "size": 8692, "path": "../public/_nuxt/_id_.D0g0-kXs.css" }, "/_nuxt/_id_.DZwRw4ht.css": { "type": "text/css; charset=utf-8", "etag": "\"49-GsWJ0jWsD/Xzq43Ni998bhtnuMc\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.676Z", "size": 73, "path": "../public/_nuxt/_id_.DZwRw4ht.css" }, "/_nuxt/add_address.CLIjEQ3m.svg": { "type": "image/svg+xml", "etag": "\"2065-TVdj+08mJDsEeCQ49Y5y2mTQsRI\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.677Z", "size": 8293, "path": "../public/_nuxt/add_address.CLIjEQ3m.svg" }, "/_nuxt/b4XmZQIy.js": { "type": "text/javascript; charset=utf-8", "etag": "\"11e-viK19prGKHVy8iuW7/EWqRTuYvA\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.677Z", "size": 286, "path": "../public/_nuxt/b4XmZQIy.js" }, "/_nuxt/bS5OEfKx.js": { "type": "text/javascript; charset=utf-8", "etag": "\"177a-SiFnwxRGH9v/VkvAVLtvICaK5dE\"", - "mtime": "2026-01-27T12:04:02.129Z", + "mtime": "2026-01-27T12:48:12.677Z", "size": 6010, "path": "../public/_nuxt/bS5OEfKx.js" }, "/_nuxt/bz4Gi-i8.js": { "type": "text/javascript; charset=utf-8", "etag": "\"10b-ZnaMRGMT2oqyt4ZBVF3WKrAPAGs\"", - "mtime": "2026-01-27T12:04:02.129Z", + "mtime": "2026-01-27T12:48:12.677Z", "size": 267, "path": "../public/_nuxt/bz4Gi-i8.js" }, "/_nuxt/default.BbVhhp66.css": { "type": "text/css; charset=utf-8", "etag": "\"8a-TAGyXjvyGDgO4gzA79ozJXUeZXI\"", - "mtime": "2026-01-27T12:04:02.128Z", + "mtime": "2026-01-27T12:48:12.677Z", "size": 138, "path": "../public/_nuxt/default.BbVhhp66.css" }, "/_nuxt/delivery-box-light.Cz31HXNr.svg": { "type": "image/svg+xml", "etag": "\"676e-3Tw1qfPK/WIVExF3llg/zigQuxk\"", - "mtime": "2026-01-27T12:04:02.129Z", + "mtime": "2026-01-27T12:48:12.678Z", "size": 26478, "path": "../public/_nuxt/delivery-box-light.Cz31HXNr.svg" }, "/_nuxt/delivery-box.DZAXZSja.svg": { "type": "image/svg+xml", "etag": "\"51fe-9IJQ/qOXlPUqwsjKQoJjxa0zfSg\"", - "mtime": "2026-01-27T12:04:02.129Z", + "mtime": "2026-01-27T12:48:12.678Z", "size": 20990, "path": "../public/_nuxt/delivery-box.DZAXZSja.svg" }, "/_nuxt/detail_message.3FMAeztm.css": { "type": "text/css; charset=utf-8", "etag": "\"96d-keUAZf+0YtPzsABDw+xhSXOVZYg\"", - "mtime": "2026-01-27T12:04:02.129Z", + "mtime": "2026-01-27T12:48:12.678Z", "size": 2413, "path": "../public/_nuxt/detail_message.3FMAeztm.css" }, "/_nuxt/empty_cart.BKAjJ1Mc.svg": { "type": "image/svg+xml", "etag": "\"3e0b-CktqEVC9ZroTtLTMTnVXgYkoRTk\"", - "mtime": "2026-01-27T12:04:02.130Z", + "mtime": "2026-01-27T12:48:12.679Z", "size": 15883, "path": "../public/_nuxt/empty_cart.BKAjJ1Mc.svg" }, "/_nuxt/empty_order.g7yXtwjI.svg": { "type": "image/svg+xml", "etag": "\"2574-0+6dEvB63OskqwRjndg7bt/S4gY\"", - "mtime": "2026-01-27T12:04:02.130Z", + "mtime": "2026-01-27T12:48:12.679Z", "size": 9588, "path": "../public/_nuxt/empty_order.g7yXtwjI.svg" }, "/_nuxt/empty_user.DjvjY29X.png": { "type": "image/png", "etag": "\"4d9c-hpW+u7lVdESYj2N+T9ep3yfsTFI\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.679Z", "size": 19868, "path": "../public/_nuxt/empty_user.DjvjY29X.png" }, "/_nuxt/entry.BWMwGJC-.css": { "type": "text/css; charset=utf-8", "etag": "\"d837-nAlfh8HyDiN4stylkasTdzVD5X4\"", - "mtime": "2026-01-27T12:04:02.130Z", + "mtime": "2026-01-27T12:48:12.680Z", "size": 55351, "path": "../public/_nuxt/entry.BWMwGJC-.css" }, "/_nuxt/erGvakZB.js": { "type": "text/javascript; charset=utf-8", "etag": "\"192e-WqpSBp9eWjX9UgJonYI2nGM5Thw\"", - "mtime": "2026-01-27T12:04:02.130Z", + "mtime": "2026-01-27T12:48:12.680Z", "size": 6446, "path": "../public/_nuxt/erGvakZB.js" }, "/_nuxt/error-404.2GhCpCfF.css": { "type": "text/css; charset=utf-8", "etag": "\"97e-rj7LYDldeiZzQ/rAgQHuKm4R4CM\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.680Z", "size": 2430, "path": "../public/_nuxt/error-404.2GhCpCfF.css" }, "/_nuxt/error-500.DqdIhFrl.css": { "type": "text/css; charset=utf-8", "etag": "\"773-5c6J9Uy3GU9ENVOfwDGwZL5dQKk\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.681Z", "size": 1907, "path": "../public/_nuxt/error-500.DqdIhFrl.css" }, "/_nuxt/f-pkBeXf.js": { "type": "text/javascript; charset=utf-8", "etag": "\"291-C43fiogohGn+EBCerQfAimKIPUU\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.681Z", "size": 657, "path": "../public/_nuxt/f-pkBeXf.js" }, "/_nuxt/gdkE0H3i.js": { "type": "text/javascript; charset=utf-8", "etag": "\"24f-Ty2T3H4h/s5/cn03sgIU7xkXJVU\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.681Z", "size": 591, "path": "../public/_nuxt/gdkE0H3i.js" }, "/_nuxt/gray.CKu3bSoY.jpg": { "type": "image/jpeg", "etag": "\"fcb0-EQD5R6cQi3Ex/MO/IOwpFRl5dHo\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 64688, "path": "../public/_nuxt/gray.CKu3bSoY.jpg" }, "/_nuxt/he0AQ5zD.js": { "type": "text/javascript; charset=utf-8", "etag": "\"fd2-NuxfSyw9SiDZRyHvGUd28kgu/aM\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.681Z", "size": 4050, "path": "../public/_nuxt/he0AQ5zD.js" }, "/_nuxt/iVqVBBR5.js": { "type": "text/javascript; charset=utf-8", "etag": "\"b08-/SpyHKug6oQMBtF4kDvITIpyAQo\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 2824, "path": "../public/_nuxt/iVqVBBR5.js" }, "/_nuxt/iccRLuv1.js": { "type": "text/javascript; charset=utf-8", "etag": "\"20df-djS0/04+30yzU/DMvpnwpJ+fNvc\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 8415, "path": "../public/_nuxt/iccRLuv1.js" }, "/_nuxt/index.3vTMV84N.css": { "type": "text/css; charset=utf-8", "etag": "\"a4-XKdrjG2mCp2qzrnNclkIKCYjwNw\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 164, "path": "../public/_nuxt/index.3vTMV84N.css" }, "/_nuxt/index.BYVlaXPg.css": { "type": "text/css; charset=utf-8", "etag": "\"d73-AYJudlo71gOuedeBJt97ovXIvks\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 3443, "path": "../public/_nuxt/index.BYVlaXPg.css" }, "/_nuxt/index.Bf6H-IES.css": { "type": "text/css; charset=utf-8", "etag": "\"cb-hc+zRbUuPyqV4iMHMn3Isk7m6ew\"", - "mtime": "2026-01-27T12:04:02.131Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 203, "path": "../public/_nuxt/index.Bf6H-IES.css" }, "/_nuxt/index.BftfFzRd.css": { "type": "text/css; charset=utf-8", "etag": "\"d0ea-QCOHhhIlw0r4yg5vP/zb0a1sygU\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.682Z", "size": 53482, "path": "../public/_nuxt/index.BftfFzRd.css" }, "/_nuxt/index.Bhk60kEQ.css": { "type": "text/css; charset=utf-8", "etag": "\"23a-MjnTKrmZk0M5HpVkKaM6uj/c0h4\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 570, "path": "../public/_nuxt/index.Bhk60kEQ.css" }, "/_nuxt/index.Bmikpipo.css": { "type": "text/css; charset=utf-8", "etag": "\"2a5-ya0JFtZ380bJzamVNGGZz1kgtmo\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 677, "path": "../public/_nuxt/index.Bmikpipo.css" }, "/_nuxt/index.C4gGGvAh.css": { "type": "text/css; charset=utf-8", "etag": "\"1e46-py/5Lz157qiP3Ji4YEGBactrUXQ\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 7750, "path": "../public/_nuxt/index.C4gGGvAh.css" }, "/_nuxt/index.C7yq570K.css": { "type": "text/css; charset=utf-8", "etag": "\"1af-UScl+PImfMWLKfofBWLMnG1UWSQ\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 431, "path": "../public/_nuxt/index.C7yq570K.css" }, "/_nuxt/index.CIr5VxXz.css": { "type": "text/css; charset=utf-8", "etag": "\"446-nwtTUuTIE1hqF9olT1/qqglO8h8\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 1094, "path": "../public/_nuxt/index.CIr5VxXz.css" }, "/_nuxt/index.CKnq7F2I.css": { "type": "text/css; charset=utf-8", "etag": "\"41a-JIbWSZRhCQfDcvuVYJHyOcVvR1A\"", - "mtime": "2026-01-27T12:04:02.132Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 1050, "path": "../public/_nuxt/index.CKnq7F2I.css" }, "/_nuxt/index.CNHi-7Ke.css": { "type": "text/css; charset=utf-8", "etag": "\"1c6-SJGEax1Jeeb5utTFp8zlYgTipcU\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.683Z", "size": 454, "path": "../public/_nuxt/index.CNHi-7Ke.css" }, "/_nuxt/index.CW9Q0sCE.css": { "type": "text/css; charset=utf-8", "etag": "\"215-yVQe2cDI8jVVvpEA7fMqXje0xUY\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.684Z", "size": 533, "path": "../public/_nuxt/index.CW9Q0sCE.css" }, "/_nuxt/index.CYd4lFjv.css": { "type": "text/css; charset=utf-8", "etag": "\"727-aVx3TRYUMb6hcs7R0Cj+emOwE3M\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.684Z", "size": 1831, "path": "../public/_nuxt/index.CYd4lFjv.css" }, "/_nuxt/index.Cc-rnC0q.css": { "type": "text/css; charset=utf-8", "etag": "\"92-wFGA9+fsnp31w792jq+jXgfRKaA\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.684Z", "size": 146, "path": "../public/_nuxt/index.Cc-rnC0q.css" }, "/_nuxt/index.CckDcqDG.css": { "type": "text/css; charset=utf-8", "etag": "\"708-W5BBZgbOl1yHR+wz/s3bqNczB4Q\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.684Z", "size": 1800, "path": "../public/_nuxt/index.CckDcqDG.css" }, "/_nuxt/index.CitrVgdW.css": { "type": "text/css; charset=utf-8", "etag": "\"404-xjqkmZV3hwaPNlWv0CTUSUTHWVw\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.684Z", "size": 1028, "path": "../public/_nuxt/index.CitrVgdW.css" }, "/_nuxt/index.CokH8qEU.css": { "type": "text/css; charset=utf-8", "etag": "\"de-ej7ZhRNjm8PEFOyjGPe7kkgVFnA\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 222, "path": "../public/_nuxt/index.CokH8qEU.css" }, "/_nuxt/index.D0zs6jhd.css": { "type": "text/css; charset=utf-8", "etag": "\"28e-fvaM3o3d2QZrM1u+cnAkqdgTZTI\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 654, "path": "../public/_nuxt/index.D0zs6jhd.css" }, "/_nuxt/index.DAwdkd-s.css": { "type": "text/css; charset=utf-8", "etag": "\"123-m5LdvZB6bq8PDe2MI4plItqYznY\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 291, "path": "../public/_nuxt/index.DAwdkd-s.css" }, "/_nuxt/index.DQQ6m8Ab.css": { "type": "text/css; charset=utf-8", "etag": "\"ce-3PTPua5egVEFh1F2iLGaTfShWqU\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 206, "path": "../public/_nuxt/index.DQQ6m8Ab.css" }, "/_nuxt/index.DUwLxYAC.css": { "type": "text/css; charset=utf-8", "etag": "\"54-ji1TUlO1AHWrE9aqMgYj5gkZIEo\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 84, "path": "../public/_nuxt/index.DUwLxYAC.css" }, "/_nuxt/index.Jbtftdv_.css": { "type": "text/css; charset=utf-8", "etag": "\"5e-s24QML0UUPYKdyiO8luahvSfzd4\"", - "mtime": "2026-01-27T12:04:02.133Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 94, "path": "../public/_nuxt/index.Jbtftdv_.css" }, "/_nuxt/index.UdfyQ5iD.css": { "type": "text/css; charset=utf-8", "etag": "\"1ee-J2xVkXSiOpr+pIwMEdq7Ba254RQ\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.685Z", "size": 494, "path": "../public/_nuxt/index.UdfyQ5iD.css" }, "/_nuxt/index.aL-dNlg2.css": { "type": "text/css; charset=utf-8", "etag": "\"21e-jrShrpy6niE6ssN1287QO5t3Fyk\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 542, "path": "../public/_nuxt/index.aL-dNlg2.css" }, "/_nuxt/index.cPbiCMXj.css": { "type": "text/css; charset=utf-8", "etag": "\"33c-y2fiQDHt8eB1GN9EkVzJw5PMNrM\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 828, "path": "../public/_nuxt/index.cPbiCMXj.css" }, "/_nuxt/index.hcAz5dBv.css": { "type": "text/css; charset=utf-8", "etag": "\"527-HxIeDsYvUPEAOtcd4wHQpy157bM\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 1319, "path": "../public/_nuxt/index.hcAz5dBv.css" }, "/_nuxt/index.pM9wTB4a.css": { "type": "text/css; charset=utf-8", "etag": "\"298-Ik0pVmZrfEYslk8Uhk36qiUg97E\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 664, "path": "../public/_nuxt/index.pM9wTB4a.css" }, "/_nuxt/kjn9TGm9.js": { "type": "text/javascript; charset=utf-8", "etag": "\"dc0-EQjmMhMT9m3dl9bEY8MOZvcdN60\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 3520, "path": "../public/_nuxt/kjn9TGm9.js" }, "/_nuxt/lDFIwPIu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1728-aQ08m661hxkWa/MJ9uoC0rx++Tk\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.686Z", "size": 5928, "path": "../public/_nuxt/lDFIwPIu.js" }, "/_nuxt/logo_company.SCj7r8dk.svg": { "type": "image/svg+xml", "etag": "\"15e4d-B9BOSKoOo+oh1z7xQROtge4/uCU\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.687Z", "size": 89677, "path": "../public/_nuxt/logo_company.SCj7r8dk.svg" }, "/_nuxt/logo_preview.B3D6jfxw.png": { "type": "image/png", "etag": "\"d273-+/mQg6af8+4RSupBxM9LyZh/WPU\"", - "mtime": "2026-01-27T12:04:02.134Z", + "mtime": "2026-01-27T12:48:12.687Z", "size": 53875, "path": "../public/_nuxt/logo_preview.B3D6jfxw.png" }, "/_nuxt/m9aI9AXX.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2287-0fIiM7amwm4om+ruKguWIN9A97c\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.687Z", "size": 8839, "path": "../public/_nuxt/m9aI9AXX.js" }, "/_nuxt/mPGATRDV.js": { "type": "text/javascript; charset=utf-8", "etag": "\"15b94-JfP6tsbmzA4eFfiFxwf4oX2yJIQ\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 88980, "path": "../public/_nuxt/mPGATRDV.js" }, "/_nuxt/moreOptionProduct.Cv4yblbJ.css": { "type": "text/css; charset=utf-8", "etag": "\"291-YegEv2SVtbgrIMraKeZ1tkFdoUg\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 657, "path": "../public/_nuxt/moreOptionProduct.Cv4yblbJ.css" }, "/_nuxt/not_found.CbOIXISv.svg": { "type": "image/svg+xml", "etag": "\"2ea4-KBnbqFZ1Yh8eIX22tmgUkbUdnCc\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 11940, "path": "../public/_nuxt/not_found.CbOIXISv.svg" }, "/_nuxt/numbro.DPJQrSl7.css": { "type": "text/css; charset=utf-8", "etag": "\"12c-kXRFKaTkkv9jvIVxKdlNiKRNIK0\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 300, "path": "../public/_nuxt/numbro.DPJQrSl7.css" }, "/_nuxt/pFOmwm6m.js": { "type": "text/javascript; charset=utf-8", "etag": "\"901-7j48CQN6k304AMLpkIbRXtCvRpc\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 2305, "path": "../public/_nuxt/pFOmwm6m.js" }, "/_nuxt/pagination.DioOUj-L.css": { "type": "text/css; charset=utf-8", "etag": "\"1416-vgwseOLWAUNXTya00+gCh95xqjs\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.688Z", "size": 5142, "path": "../public/_nuxt/pagination.DioOUj-L.css" }, "/_nuxt/post_loading.BgRjgbp7.gif": { "type": "image/gif", "etag": "\"3689-FvATV1lF6ffDybki9di2V3gm2VI\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 13961, "path": "../public/_nuxt/post_loading.BgRjgbp7.gif" }, "/_nuxt/qBOvXuao.js": { "type": "text/javascript; charset=utf-8", "etag": "\"321-FRBmNVlX9R8VdtUblAFGWCGZxOA\"", - "mtime": "2026-01-27T12:04:02.135Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 801, "path": "../public/_nuxt/qBOvXuao.js" }, "/_nuxt/rN9loPv5.js": { "type": "text/javascript; charset=utf-8", "etag": "\"29d-f8PvUXUv2Xm2U2qooC0w1Pyroes\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 669, "path": "../public/_nuxt/rN9loPv5.js" }, "/_nuxt/s--bdPoU.js": { "type": "text/javascript; charset=utf-8", "etag": "\"499-kVb3a61ZZXobozkb246WE7+Vb0A\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 1177, "path": "../public/_nuxt/s--bdPoU.js" }, "/_nuxt/sFfhux-l.js": { "type": "text/javascript; charset=utf-8", "etag": "\"f3-JL5CBu+T8JWA8bS3qTSCgn9Mvgw\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 243, "path": "../public/_nuxt/sFfhux-l.js" }, "/_nuxt/story_loading.Cuvmkir-.gif": { "type": "image/gif", "etag": "\"1227-fzHMJ6bvwEf28PBBUI2L0HPEm6A\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 4647, "path": "../public/_nuxt/story_loading.Cuvmkir-.gif" }, "/_nuxt/style.Dw47-jjr.css": { "type": "text/css; charset=utf-8", "etag": "\"10b7-5ze7F4JM7TtCZ9PTzrCB64ahZ8I\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 4279, "path": "../public/_nuxt/style.Dw47-jjr.css" }, "/_nuxt/suvZk42U.js": { "type": "text/javascript; charset=utf-8", "etag": "\"512-Lf+87a40A5fQhdSNN3iEyQymS7c\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 1298, "path": "../public/_nuxt/suvZk42U.js" }, "/_nuxt/swiper.BiEk7v8n.css": { "type": "text/css; charset=utf-8", "etag": "\"18f5-UrRqgs0lfK+yXFuK4S818a9l/W0\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 6389, "path": "../public/_nuxt/swiper.BiEk7v8n.css" }, "/_nuxt/unXo4E2b.js": { "type": "text/javascript; charset=utf-8", "etag": "\"8e6-f0KKUxazwarL7jkMyllnx60S80o\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.689Z", "size": 2278, "path": "../public/_nuxt/unXo4E2b.js" }, "/_nuxt/wZ2ImbJD.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3eec5-+MRdmZ9cLcdxhJQTAfaXs3KP2Oc\"", - "mtime": "2026-01-27T12:04:02.137Z", + "mtime": "2026-01-27T12:48:12.691Z", "size": 257733, "path": "../public/_nuxt/wZ2ImbJD.js" }, "/_nuxt/yaI2rWWM.js": { "type": "text/javascript; charset=utf-8", "etag": "\"a6-9h/C4lGOjWgiDNC+gEn7/HvRPm4\"", - "mtime": "2026-01-27T12:04:02.136Z", + "mtime": "2026-01-27T12:48:12.690Z", "size": 166, "path": "../public/_nuxt/yaI2rWWM.js" }, "/_nuxt/z3stQFmK.js": { "type": "text/javascript; charset=utf-8", "etag": "\"808-cz1rpZ7ZP7mWbzyZd29t0MtTrfo\"", - "mtime": "2026-01-27T12:04:02.137Z", + "mtime": "2026-01-27T12:48:12.690Z", "size": 2056, "path": "../public/_nuxt/z3stQFmK.js" }, "/_nuxt/zLi_Sboz.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4df-y+nU+9wxAlpNhhQnLPePsH6RSQY\"", - "mtime": "2026-01-27T12:04:02.137Z", + "mtime": "2026-01-27T12:48:12.690Z", "size": 1247, "path": "../public/_nuxt/zLi_Sboz.js" }, "/_nuxt/zQHOducB.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1381-+XzYpp8hLov67CKJ1xa0trHNsqo\"", - "mtime": "2026-01-27T12:04:02.137Z", + "mtime": "2026-01-27T12:48:12.690Z", "size": 4993, "path": "../public/_nuxt/zQHOducB.js" }, + "/preview/empty_user.png": { + "type": "image/png", + "etag": "\"4d9c-hpW+u7lVdESYj2N+T9ep3yfsTFI\"", + "mtime": "2026-01-27T12:48:12.702Z", + "size": 19868, + "path": "../public/preview/empty_user.png" + }, + "/preview/empty_user1.png": { + "type": "image/png", + "etag": "\"586-bRFpropXm9e5YUmjmDHWgmkq7BE\"", + "mtime": "2026-01-27T12:48:12.705Z", + "size": 1414, + "path": "../public/preview/empty_user1.png" + }, + "/preview/logo_preview.png": { + "type": "image/png", + "etag": "\"d273-+/mQg6af8+4RSupBxM9LyZh/WPU\"", + "mtime": "2026-01-27T12:48:12.705Z", + "size": 53875, + "path": "../public/preview/logo_preview.png" + }, + "/preview/post_loading.gif": { + "type": "image/gif", + "etag": "\"3689-FvATV1lF6ffDybki9di2V3gm2VI\"", + "mtime": "2026-01-27T12:48:12.705Z", + "size": 13961, + "path": "../public/preview/post_loading.gif" + }, + "/preview/story_loading.gif": { + "type": "image/gif", + "etag": "\"1227-fzHMJ6bvwEf28PBBUI2L0HPEm6A\"", + "mtime": "2026-01-27T12:48:12.705Z", + "size": 4647, + "path": "../public/preview/story_loading.gif" + }, "/_nuxt/builds/latest.json": { "type": "application/json", - "etag": "\"47-HeA8Cd9OlvgCEU1/GDgNgZAf5Jc\"", - "mtime": "2026-01-27T12:04:02.044Z", + "etag": "\"47-nLLFDQGnw6TJ/GNcsMcc4CPKUJQ\"", + "mtime": "2026-01-27T12:48:12.585Z", "size": 71, "path": "../public/_nuxt/builds/latest.json" }, - "/_nuxt/builds/meta/8dd4ed53-6eb9-47a8-b893-4c386d0a34bf.json": { + "/_nuxt/builds/meta/db39eb55-a8e0-46ba-9bd9-02c5b5d985a9.json": { "type": "application/json", - "etag": "\"8b-zCTdoJTGF/RUzjHOztk84fPdAg4\"", - "mtime": "2026-01-27T12:04:02.040Z", + "etag": "\"8b-gz6phE5QgTQKktCLmZZzjnwXaiA\"", + "mtime": "2026-01-27T12:48:12.581Z", "size": 139, - "path": "../public/_nuxt/builds/meta/8dd4ed53-6eb9-47a8-b893-4c386d0a34bf.json" + "path": "../public/_nuxt/builds/meta/db39eb55-a8e0-46ba-9bd9-02c5b5d985a9.json" } }; @@ -8652,7 +8652,7 @@ async function parseSitemapXml(xml) { if (!xml) { throw new Error("Empty XML input provided"); } - const { XMLParser } = await import('file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/fast-xml-parser/src/fxp.js'); + const { XMLParser } = await import('fast-xml-parser'); const parser = new XMLParser({ isArray: (tagName) => ["url", "image", "video", "link", "tag", "price"].includes(tagName), removeNSPrefix: true, diff --git a/.output/server/chunks/routes/api/__sitemap__/urls.mjs b/.output/server/chunks/routes/api/__sitemap__/urls.mjs index 75692ed9..50ca9bda 100644 --- a/.output/server/chunks/routes/api/__sitemap__/urls.mjs +++ b/.output/server/chunks/routes/api/__sitemap__/urls.mjs @@ -1,5 +1,5 @@ import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { u as useRuntimeConfig, c as defineSitemapEventHandler } from '../../../nitro/nitro.mjs'; -import { createClient } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@supabase/supabase-js/dist/main/index.js'; +import { createClient } from '@supabase/supabase-js'; import 'node:http'; import 'node:https'; import 'node:events'; @@ -7,10 +7,10 @@ import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import 'vue'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; +import 'consola'; +import 'ipx'; let _client = null; function ensureClient() { diff --git a/.output/server/chunks/routes/manifest.webmanifest.get.mjs b/.output/server/chunks/routes/manifest.webmanifest.get.mjs index b93815be..f7dc2376 100644 --- a/.output/server/chunks/routes/manifest.webmanifest.get.mjs +++ b/.output/server/chunks/routes/manifest.webmanifest.get.mjs @@ -6,10 +6,10 @@ import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import 'vue'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; +import 'consola'; +import 'ipx'; const manifest_webmanifest_get = defineEventHandler((event) => { const cfg = useRuntimeConfig(event); diff --git a/.output/server/chunks/routes/renderer.mjs b/.output/server/chunks/routes/renderer.mjs index 54d5b20a..5b974c40 100644 --- a/.output/server/chunks/routes/renderer.mjs +++ b/.output/server/chunks/routes/renderer.mjs @@ -1,10 +1,10 @@ -import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue-bundle-renderer/dist/runtime.mjs'; +import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'vue-bundle-renderer/runtime'; import { e as buildAssetsURL, u as useRuntimeConfig, g as getResponseStatusText, f as getResponseStatus, i as defineRenderHandler, k as publicAssetsURL, l as getQuery, m as createError, n as destr, o as getRouteRules, q as useNitroApp } from '../nitro/nitro.mjs'; -import { renderToString } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@nuxt/nitro-server/node_modules/vue/server-renderer/index.mjs'; -import { createHead as createHead$1, propsToString, renderSSRHead } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/server.mjs'; -import { stringify, uneval } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/devalue/index.js'; -import { walkResolver } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/unhead/dist/utils.mjs'; -import { toValue, isRef, hasInjectionContext, inject, ref, watchEffect, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated } from 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/@unhead/vue/node_modules/vue/index.mjs'; +import { renderToString } from 'vue/server-renderer'; +import { createHead as createHead$1, propsToString, renderSSRHead } from 'unhead/server'; +import { stringify, uneval } from 'devalue'; +import { walkResolver } from 'unhead/utils'; +import { toValue, isRef, hasInjectionContext, inject, ref, watchEffect, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated } from 'vue'; const VueResolver = (_, value) => { return isRef(value) ? toValue(value) : value; diff --git a/.output/server/index.mjs b/.output/server/index.mjs index 955edf35..0780c5c2 100644 --- a/.output/server/index.mjs +++ b/.output/server/index.mjs @@ -6,7 +6,7 @@ import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/vue/index.mjs'; +import 'vue'; import 'node:url'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/consola/dist/index.mjs'; -import 'file:///mnt/new-volume-7/vue_projects/montify/montify/node_modules/ipx/dist/index.mjs'; +import 'consola'; +import 'ipx'; diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/dist/compiler-core.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/dist/compiler-core.cjs.prod.js new file mode 100644 index 00000000..5f51c5f9 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/dist/compiler-core.cjs.prod.js @@ -0,0 +1,6741 @@ +/** +* @vue/compiler-core v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); +var decode_js = require('entities/lib/decode.js'); +var parser = require('@babel/parser'); +var estreeWalker = require('estree-walker'); +var sourceMapJs = require('source-map-js'); + +const FRAGMENT = Symbol(``); +const TELEPORT = Symbol(``); +const SUSPENSE = Symbol(``); +const KEEP_ALIVE = Symbol(``); +const BASE_TRANSITION = Symbol( + `` +); +const OPEN_BLOCK = Symbol(``); +const CREATE_BLOCK = Symbol(``); +const CREATE_ELEMENT_BLOCK = Symbol( + `` +); +const CREATE_VNODE = Symbol(``); +const CREATE_ELEMENT_VNODE = Symbol( + `` +); +const CREATE_COMMENT = Symbol( + `` +); +const CREATE_TEXT = Symbol( + `` +); +const CREATE_STATIC = Symbol( + `` +); +const RESOLVE_COMPONENT = Symbol( + `` +); +const RESOLVE_DYNAMIC_COMPONENT = Symbol( + `` +); +const RESOLVE_DIRECTIVE = Symbol( + `` +); +const RESOLVE_FILTER = Symbol( + `` +); +const WITH_DIRECTIVES = Symbol( + `` +); +const RENDER_LIST = Symbol(``); +const RENDER_SLOT = Symbol(``); +const CREATE_SLOTS = Symbol(``); +const TO_DISPLAY_STRING = Symbol( + `` +); +const MERGE_PROPS = Symbol(``); +const NORMALIZE_CLASS = Symbol( + `` +); +const NORMALIZE_STYLE = Symbol( + `` +); +const NORMALIZE_PROPS = Symbol( + `` +); +const GUARD_REACTIVE_PROPS = Symbol( + `` +); +const TO_HANDLERS = Symbol(``); +const CAMELIZE = Symbol(``); +const CAPITALIZE = Symbol(``); +const TO_HANDLER_KEY = Symbol( + `` +); +const SET_BLOCK_TRACKING = Symbol( + `` +); +const PUSH_SCOPE_ID = Symbol(``); +const POP_SCOPE_ID = Symbol(``); +const WITH_CTX = Symbol(``); +const UNREF = Symbol(``); +const IS_REF = Symbol(``); +const WITH_MEMO = Symbol(``); +const IS_MEMO_SAME = Symbol(``); +const helperNameMap = { + [FRAGMENT]: `Fragment`, + [TELEPORT]: `Teleport`, + [SUSPENSE]: `Suspense`, + [KEEP_ALIVE]: `KeepAlive`, + [BASE_TRANSITION]: `BaseTransition`, + [OPEN_BLOCK]: `openBlock`, + [CREATE_BLOCK]: `createBlock`, + [CREATE_ELEMENT_BLOCK]: `createElementBlock`, + [CREATE_VNODE]: `createVNode`, + [CREATE_ELEMENT_VNODE]: `createElementVNode`, + [CREATE_COMMENT]: `createCommentVNode`, + [CREATE_TEXT]: `createTextVNode`, + [CREATE_STATIC]: `createStaticVNode`, + [RESOLVE_COMPONENT]: `resolveComponent`, + [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`, + [RESOLVE_DIRECTIVE]: `resolveDirective`, + [RESOLVE_FILTER]: `resolveFilter`, + [WITH_DIRECTIVES]: `withDirectives`, + [RENDER_LIST]: `renderList`, + [RENDER_SLOT]: `renderSlot`, + [CREATE_SLOTS]: `createSlots`, + [TO_DISPLAY_STRING]: `toDisplayString`, + [MERGE_PROPS]: `mergeProps`, + [NORMALIZE_CLASS]: `normalizeClass`, + [NORMALIZE_STYLE]: `normalizeStyle`, + [NORMALIZE_PROPS]: `normalizeProps`, + [GUARD_REACTIVE_PROPS]: `guardReactiveProps`, + [TO_HANDLERS]: `toHandlers`, + [CAMELIZE]: `camelize`, + [CAPITALIZE]: `capitalize`, + [TO_HANDLER_KEY]: `toHandlerKey`, + [SET_BLOCK_TRACKING]: `setBlockTracking`, + [PUSH_SCOPE_ID]: `pushScopeId`, + [POP_SCOPE_ID]: `popScopeId`, + [WITH_CTX]: `withCtx`, + [UNREF]: `unref`, + [IS_REF]: `isRef`, + [WITH_MEMO]: `withMemo`, + [IS_MEMO_SAME]: `isMemoSame` +}; +function registerRuntimeHelpers(helpers) { + Object.getOwnPropertySymbols(helpers).forEach((s) => { + helperNameMap[s] = helpers[s]; + }); +} + +const Namespaces = { + "HTML": 0, + "0": "HTML", + "SVG": 1, + "1": "SVG", + "MATH_ML": 2, + "2": "MATH_ML" +}; +const NodeTypes = { + "ROOT": 0, + "0": "ROOT", + "ELEMENT": 1, + "1": "ELEMENT", + "TEXT": 2, + "2": "TEXT", + "COMMENT": 3, + "3": "COMMENT", + "SIMPLE_EXPRESSION": 4, + "4": "SIMPLE_EXPRESSION", + "INTERPOLATION": 5, + "5": "INTERPOLATION", + "ATTRIBUTE": 6, + "6": "ATTRIBUTE", + "DIRECTIVE": 7, + "7": "DIRECTIVE", + "COMPOUND_EXPRESSION": 8, + "8": "COMPOUND_EXPRESSION", + "IF": 9, + "9": "IF", + "IF_BRANCH": 10, + "10": "IF_BRANCH", + "FOR": 11, + "11": "FOR", + "TEXT_CALL": 12, + "12": "TEXT_CALL", + "VNODE_CALL": 13, + "13": "VNODE_CALL", + "JS_CALL_EXPRESSION": 14, + "14": "JS_CALL_EXPRESSION", + "JS_OBJECT_EXPRESSION": 15, + "15": "JS_OBJECT_EXPRESSION", + "JS_PROPERTY": 16, + "16": "JS_PROPERTY", + "JS_ARRAY_EXPRESSION": 17, + "17": "JS_ARRAY_EXPRESSION", + "JS_FUNCTION_EXPRESSION": 18, + "18": "JS_FUNCTION_EXPRESSION", + "JS_CONDITIONAL_EXPRESSION": 19, + "19": "JS_CONDITIONAL_EXPRESSION", + "JS_CACHE_EXPRESSION": 20, + "20": "JS_CACHE_EXPRESSION", + "JS_BLOCK_STATEMENT": 21, + "21": "JS_BLOCK_STATEMENT", + "JS_TEMPLATE_LITERAL": 22, + "22": "JS_TEMPLATE_LITERAL", + "JS_IF_STATEMENT": 23, + "23": "JS_IF_STATEMENT", + "JS_ASSIGNMENT_EXPRESSION": 24, + "24": "JS_ASSIGNMENT_EXPRESSION", + "JS_SEQUENCE_EXPRESSION": 25, + "25": "JS_SEQUENCE_EXPRESSION", + "JS_RETURN_STATEMENT": 26, + "26": "JS_RETURN_STATEMENT" +}; +const ElementTypes = { + "ELEMENT": 0, + "0": "ELEMENT", + "COMPONENT": 1, + "1": "COMPONENT", + "SLOT": 2, + "2": "SLOT", + "TEMPLATE": 3, + "3": "TEMPLATE" +}; +const ConstantTypes = { + "NOT_CONSTANT": 0, + "0": "NOT_CONSTANT", + "CAN_SKIP_PATCH": 1, + "1": "CAN_SKIP_PATCH", + "CAN_CACHE": 2, + "2": "CAN_CACHE", + "CAN_STRINGIFY": 3, + "3": "CAN_STRINGIFY" +}; +const locStub = { + start: { line: 1, column: 1, offset: 0 }, + end: { line: 1, column: 1, offset: 0 }, + source: "" +}; +function createRoot(children, source = "") { + return { + type: 0, + source, + children, + helpers: /* @__PURE__ */ new Set(), + components: [], + directives: [], + hoists: [], + imports: [], + cached: [], + temps: 0, + codegenNode: void 0, + loc: locStub + }; +} +function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) { + if (context) { + if (isBlock) { + context.helper(OPEN_BLOCK); + context.helper(getVNodeBlockHelper(context.inSSR, isComponent)); + } else { + context.helper(getVNodeHelper(context.inSSR, isComponent)); + } + if (directives) { + context.helper(WITH_DIRECTIVES); + } + } + return { + type: 13, + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent, + loc + }; +} +function createArrayExpression(elements, loc = locStub) { + return { + type: 17, + loc, + elements + }; +} +function createObjectExpression(properties, loc = locStub) { + return { + type: 15, + loc, + properties + }; +} +function createObjectProperty(key, value) { + return { + type: 16, + loc: locStub, + key: shared.isString(key) ? createSimpleExpression(key, true) : key, + value + }; +} +function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) { + return { + type: 4, + loc, + content, + isStatic, + constType: isStatic ? 3 : constType + }; +} +function createInterpolation(content, loc) { + return { + type: 5, + loc, + content: shared.isString(content) ? createSimpleExpression(content, false, loc) : content + }; +} +function createCompoundExpression(children, loc = locStub) { + return { + type: 8, + loc, + children + }; +} +function createCallExpression(callee, args = [], loc = locStub) { + return { + type: 14, + loc, + callee, + arguments: args + }; +} +function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) { + return { + type: 18, + params, + returns, + newline, + isSlot, + loc + }; +} +function createConditionalExpression(test, consequent, alternate, newline = true) { + return { + type: 19, + test, + consequent, + alternate, + newline, + loc: locStub + }; +} +function createCacheExpression(index, value, needPauseTracking = false, inVOnce = false) { + return { + type: 20, + index, + value, + needPauseTracking, + inVOnce, + needArraySpread: false, + loc: locStub + }; +} +function createBlockStatement(body) { + return { + type: 21, + body, + loc: locStub + }; +} +function createTemplateLiteral(elements) { + return { + type: 22, + elements, + loc: locStub + }; +} +function createIfStatement(test, consequent, alternate) { + return { + type: 23, + test, + consequent, + alternate, + loc: locStub + }; +} +function createAssignmentExpression(left, right) { + return { + type: 24, + left, + right, + loc: locStub + }; +} +function createSequenceExpression(expressions) { + return { + type: 25, + expressions, + loc: locStub + }; +} +function createReturnStatement(returns) { + return { + type: 26, + returns, + loc: locStub + }; +} +function getVNodeHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE; +} +function getVNodeBlockHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK; +} +function convertToBlock(node, { helper, removeHelper, inSSR }) { + if (!node.isBlock) { + node.isBlock = true; + removeHelper(getVNodeHelper(inSSR, node.isComponent)); + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(inSSR, node.isComponent)); + } +} + +const defaultDelimitersOpen = new Uint8Array([123, 123]); +const defaultDelimitersClose = new Uint8Array([125, 125]); +function isTagStartChar(c) { + return c >= 97 && c <= 122 || c >= 65 && c <= 90; +} +function isWhitespace(c) { + return c === 32 || c === 10 || c === 9 || c === 12 || c === 13; +} +function isEndOfTagSection(c) { + return c === 47 || c === 62 || isWhitespace(c); +} +function toCharCodes(str) { + const ret = new Uint8Array(str.length); + for (let i = 0; i < str.length; i++) { + ret[i] = str.charCodeAt(i); + } + return ret; +} +const Sequences = { + Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]), + // CDATA[ + CdataEnd: new Uint8Array([93, 93, 62]), + // ]]> + CommentEnd: new Uint8Array([45, 45, 62]), + // `-->` + ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]), + // `<\/script` + StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]), + // ` this.emitCodePoint(cp, consumed) + ); + } + } + get inSFCRoot() { + return this.mode === 2 && this.stack.length === 0; + } + reset() { + this.state = 1; + this.mode = 0; + this.buffer = ""; + this.sectionStart = 0; + this.index = 0; + this.baseState = 1; + this.inRCDATA = false; + this.currentSequence = void 0; + this.newlines.length = 0; + this.delimiterOpen = defaultDelimitersOpen; + this.delimiterClose = defaultDelimitersClose; + } + /** + * Generate Position object with line / column information using recorded + * newline positions. We know the index is always going to be an already + * processed index, so all the newlines up to this index should have been + * recorded. + */ + getPos(index) { + let line = 1; + let column = index + 1; + for (let i = this.newlines.length - 1; i >= 0; i--) { + const newlineIndex = this.newlines[i]; + if (index > newlineIndex) { + line = i + 2; + column = index - newlineIndex; + break; + } + } + return { + column, + line, + offset: index + }; + } + peek() { + return this.buffer.charCodeAt(this.index + 1); + } + stateText(c) { + if (c === 60) { + if (this.index > this.sectionStart) { + this.cbs.ontext(this.sectionStart, this.index); + } + this.state = 5; + this.sectionStart = this.index; + } else if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } + stateInterpolationOpen(c) { + if (c === this.delimiterOpen[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterOpen.length - 1) { + const start = this.index + 1 - this.delimiterOpen.length; + if (start > this.sectionStart) { + this.cbs.ontext(this.sectionStart, start); + } + this.state = 3; + this.sectionStart = start; + } else { + this.delimiterIndex++; + } + } else if (this.inRCDATA) { + this.state = 32; + this.stateInRCDATA(c); + } else { + this.state = 1; + this.stateText(c); + } + } + stateInterpolation(c) { + if (c === this.delimiterClose[0]) { + this.state = 4; + this.delimiterIndex = 0; + this.stateInterpolationClose(c); + } + } + stateInterpolationClose(c) { + if (c === this.delimiterClose[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterClose.length - 1) { + this.cbs.oninterpolation(this.sectionStart, this.index + 1); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else { + this.delimiterIndex++; + } + } else { + this.state = 3; + this.stateInterpolation(c); + } + } + stateSpecialStartSequence(c) { + const isEnd = this.sequenceIndex === this.currentSequence.length; + const isMatch = isEnd ? ( + // If we are at the end of the sequence, make sure the tag name has ended + isEndOfTagSection(c) + ) : ( + // Otherwise, do a case-insensitive comparison + (c | 32) === this.currentSequence[this.sequenceIndex] + ); + if (!isMatch) { + this.inRCDATA = false; + } else if (!isEnd) { + this.sequenceIndex++; + return; + } + this.sequenceIndex = 0; + this.state = 6; + this.stateInTagName(c); + } + /** Look for an end tag. For and <textarea>, also decode entities. */ + stateInRCDATA(c) { + if (this.sequenceIndex === this.currentSequence.length) { + if (c === 62 || isWhitespace(c)) { + const endOfText = this.index - this.currentSequence.length; + if (this.sectionStart < endOfText) { + const actualIndex = this.index; + this.index = endOfText; + this.cbs.ontext(this.sectionStart, endOfText); + this.index = actualIndex; + } + this.sectionStart = endOfText + 2; + this.stateInClosingTagName(c); + this.inRCDATA = false; + return; + } + this.sequenceIndex = 0; + } + if ((c | 32) === this.currentSequence[this.sequenceIndex]) { + this.sequenceIndex += 1; + } else if (this.sequenceIndex === 0) { + if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) { + if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } else if (this.fastForwardTo(60)) { + this.sequenceIndex = 1; + } + } else { + this.sequenceIndex = Number(c === 60); + } + } + stateCDATASequence(c) { + if (c === Sequences.Cdata[this.sequenceIndex]) { + if (++this.sequenceIndex === Sequences.Cdata.length) { + this.state = 28; + this.currentSequence = Sequences.CdataEnd; + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + } + } else { + this.sequenceIndex = 0; + this.state = 23; + this.stateInDeclaration(c); + } + } + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + fastForwardTo(c) { + while (++this.index < this.buffer.length) { + const cc = this.buffer.charCodeAt(this.index); + if (cc === 10) { + this.newlines.push(this.index); + } + if (cc === c) { + return true; + } + } + this.index = this.buffer.length - 1; + return false; + } + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + stateInCommentLike(c) { + if (c === this.currentSequence[this.sequenceIndex]) { + if (++this.sequenceIndex === this.currentSequence.length) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, this.index - 2); + } else { + this.cbs.oncomment(this.sectionStart, this.index - 2); + } + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + this.state = 1; + } + } else if (this.sequenceIndex === 0) { + if (this.fastForwardTo(this.currentSequence[0])) { + this.sequenceIndex = 1; + } + } else if (c !== this.currentSequence[this.sequenceIndex - 1]) { + this.sequenceIndex = 0; + } + } + startSpecial(sequence, offset) { + this.enterRCDATA(sequence, offset); + this.state = 31; + } + enterRCDATA(sequence, offset) { + this.inRCDATA = true; + this.currentSequence = sequence; + this.sequenceIndex = offset; + } + stateBeforeTagName(c) { + if (c === 33) { + this.state = 22; + this.sectionStart = this.index + 1; + } else if (c === 63) { + this.state = 24; + this.sectionStart = this.index + 1; + } else if (isTagStartChar(c)) { + this.sectionStart = this.index; + if (this.mode === 0) { + this.state = 6; + } else if (this.inSFCRoot) { + this.state = 34; + } else if (!this.inXML) { + if (c === 116) { + this.state = 30; + } else { + this.state = c === 115 ? 29 : 6; + } + } else { + this.state = 6; + } + } else if (c === 47) { + this.state = 8; + } else { + this.state = 1; + this.stateText(c); + } + } + stateInTagName(c) { + if (isEndOfTagSection(c)) { + this.handleTagName(c); + } + } + stateInSFCRootTagName(c) { + if (isEndOfTagSection(c)) { + const tag = this.buffer.slice(this.sectionStart, this.index); + if (tag !== "template") { + this.enterRCDATA(toCharCodes(`</` + tag), 0); + } + this.handleTagName(c); + } + } + handleTagName(c) { + this.cbs.onopentagname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } + stateBeforeClosingTagName(c) { + if (isWhitespace(c)) ; else if (c === 62) { + { + this.cbs.onerr(14, this.index); + } + this.state = 1; + this.sectionStart = this.index + 1; + } else { + this.state = isTagStartChar(c) ? 9 : 27; + this.sectionStart = this.index; + } + } + stateInClosingTagName(c) { + if (c === 62 || isWhitespace(c)) { + this.cbs.onclosetag(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 10; + this.stateAfterClosingTagName(c); + } + } + stateAfterClosingTagName(c) { + if (c === 62) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeAttrName(c) { + if (c === 62) { + this.cbs.onopentagend(this.index); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else if (c === 47) { + this.state = 7; + if (this.peek() !== 62) { + this.cbs.onerr(22, this.index); + } + } else if (c === 60 && this.peek() === 47) { + this.cbs.onopentagend(this.index); + this.state = 5; + this.sectionStart = this.index; + } else if (!isWhitespace(c)) { + if (c === 61) { + this.cbs.onerr( + 19, + this.index + ); + } + this.handleAttrStart(c); + } + } + handleAttrStart(c) { + if (c === 118 && this.peek() === 45) { + this.state = 13; + this.sectionStart = this.index; + } else if (c === 46 || c === 58 || c === 64 || c === 35) { + this.cbs.ondirname(this.index, this.index + 1); + this.state = 14; + this.sectionStart = this.index + 1; + } else { + this.state = 12; + this.sectionStart = this.index; + } + } + stateInSelfClosingTag(c) { + if (c === 62) { + this.cbs.onselfclosingtag(this.index); + this.state = 1; + this.sectionStart = this.index + 1; + this.inRCDATA = false; + } else if (!isWhitespace(c)) { + this.state = 11; + this.stateBeforeAttrName(c); + } + } + stateInAttrName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.onattribname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 34 || c === 39 || c === 60) { + this.cbs.onerr( + 17, + this.index + ); + } + } + stateInDirName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 58) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 14; + this.sectionStart = this.index + 1; + } else if (c === 46) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDirArg(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 91) { + this.state = 15; + } else if (c === 46) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDynamicDirArg(c) { + if (c === 93) { + this.state = 14; + } else if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index + 1); + this.handleAttrNameEnd(c); + { + this.cbs.onerr( + 27, + this.index + ); + } + } + } + stateInDirModifier(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 46) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.sectionStart = this.index + 1; + } + } + handleAttrNameEnd(c) { + this.sectionStart = this.index; + this.state = 17; + this.cbs.onattribnameend(this.index); + this.stateAfterAttrName(c); + } + stateAfterAttrName(c) { + if (c === 61) { + this.state = 18; + } else if (c === 47 || c === 62) { + this.cbs.onattribend(0, this.sectionStart); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } else if (!isWhitespace(c)) { + this.cbs.onattribend(0, this.sectionStart); + this.handleAttrStart(c); + } + } + stateBeforeAttrValue(c) { + if (c === 34) { + this.state = 19; + this.sectionStart = this.index + 1; + } else if (c === 39) { + this.state = 20; + this.sectionStart = this.index + 1; + } else if (!isWhitespace(c)) { + this.sectionStart = this.index; + this.state = 21; + this.stateInAttrValueNoQuotes(c); + } + } + handleInAttrValue(c, quote) { + if (c === quote || false) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend( + quote === 34 ? 3 : 2, + this.index + 1 + ); + this.state = 11; + } else if (c === 38) { + this.startEntity(); + } + } + stateInAttrValueDoubleQuotes(c) { + this.handleInAttrValue(c, 34); + } + stateInAttrValueSingleQuotes(c) { + this.handleInAttrValue(c, 39); + } + stateInAttrValueNoQuotes(c) { + if (isWhitespace(c) || c === 62) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(1, this.index); + this.state = 11; + this.stateBeforeAttrName(c); + } else if (c === 34 || c === 39 || c === 60 || c === 61 || c === 96) { + this.cbs.onerr( + 18, + this.index + ); + } else if (c === 38) { + this.startEntity(); + } + } + stateBeforeDeclaration(c) { + if (c === 91) { + this.state = 26; + this.sequenceIndex = 0; + } else { + this.state = c === 45 ? 25 : 23; + } + } + stateInDeclaration(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateInProcessingInstruction(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.onprocessinginstruction(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeComment(c) { + if (c === 45) { + this.state = 28; + this.currentSequence = Sequences.CommentEnd; + this.sequenceIndex = 2; + this.sectionStart = this.index + 1; + } else { + this.state = 23; + } + } + stateInSpecialComment(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.oncomment(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeSpecialS(c) { + if (c === Sequences.ScriptEnd[3]) { + this.startSpecial(Sequences.ScriptEnd, 4); + } else if (c === Sequences.StyleEnd[3]) { + this.startSpecial(Sequences.StyleEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + stateBeforeSpecialT(c) { + if (c === Sequences.TitleEnd[3]) { + this.startSpecial(Sequences.TitleEnd, 4); + } else if (c === Sequences.TextareaEnd[3]) { + this.startSpecial(Sequences.TextareaEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + startEntity() { + { + this.baseState = this.state; + this.state = 33; + this.entityStart = this.index; + this.entityDecoder.startEntity( + this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute + ); + } + } + stateInEntity() { + { + const length = this.entityDecoder.write(this.buffer, this.index); + if (length >= 0) { + this.state = this.baseState; + if (length === 0) { + this.index = this.entityStart; + } + } else { + this.index = this.buffer.length - 1; + } + } + } + /** + * Iterates through the buffer, calling the function corresponding to the current state. + * + * States that are more likely to be hit are higher up, as a performance improvement. + */ + parse(input) { + this.buffer = input; + while (this.index < this.buffer.length) { + const c = this.buffer.charCodeAt(this.index); + if (c === 10 && this.state !== 33) { + this.newlines.push(this.index); + } + switch (this.state) { + case 1: { + this.stateText(c); + break; + } + case 2: { + this.stateInterpolationOpen(c); + break; + } + case 3: { + this.stateInterpolation(c); + break; + } + case 4: { + this.stateInterpolationClose(c); + break; + } + case 31: { + this.stateSpecialStartSequence(c); + break; + } + case 32: { + this.stateInRCDATA(c); + break; + } + case 26: { + this.stateCDATASequence(c); + break; + } + case 19: { + this.stateInAttrValueDoubleQuotes(c); + break; + } + case 12: { + this.stateInAttrName(c); + break; + } + case 13: { + this.stateInDirName(c); + break; + } + case 14: { + this.stateInDirArg(c); + break; + } + case 15: { + this.stateInDynamicDirArg(c); + break; + } + case 16: { + this.stateInDirModifier(c); + break; + } + case 28: { + this.stateInCommentLike(c); + break; + } + case 27: { + this.stateInSpecialComment(c); + break; + } + case 11: { + this.stateBeforeAttrName(c); + break; + } + case 6: { + this.stateInTagName(c); + break; + } + case 34: { + this.stateInSFCRootTagName(c); + break; + } + case 9: { + this.stateInClosingTagName(c); + break; + } + case 5: { + this.stateBeforeTagName(c); + break; + } + case 17: { + this.stateAfterAttrName(c); + break; + } + case 20: { + this.stateInAttrValueSingleQuotes(c); + break; + } + case 18: { + this.stateBeforeAttrValue(c); + break; + } + case 8: { + this.stateBeforeClosingTagName(c); + break; + } + case 10: { + this.stateAfterClosingTagName(c); + break; + } + case 29: { + this.stateBeforeSpecialS(c); + break; + } + case 30: { + this.stateBeforeSpecialT(c); + break; + } + case 21: { + this.stateInAttrValueNoQuotes(c); + break; + } + case 7: { + this.stateInSelfClosingTag(c); + break; + } + case 23: { + this.stateInDeclaration(c); + break; + } + case 22: { + this.stateBeforeDeclaration(c); + break; + } + case 25: { + this.stateBeforeComment(c); + break; + } + case 24: { + this.stateInProcessingInstruction(c); + break; + } + case 33: { + this.stateInEntity(); + break; + } + } + this.index++; + } + this.cleanup(); + this.finish(); + } + /** + * Remove data that has already been consumed from the buffer. + */ + cleanup() { + if (this.sectionStart !== this.index) { + if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) { + this.cbs.ontext(this.sectionStart, this.index); + this.sectionStart = this.index; + } else if (this.state === 19 || this.state === 20 || this.state === 21) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = this.index; + } + } + } + finish() { + if (this.state === 33) { + this.entityDecoder.end(); + this.state = this.baseState; + } + this.handleTrailingData(); + this.cbs.onend(); + } + /** Handle any trailing data. */ + handleTrailingData() { + const endIndex = this.buffer.length; + if (this.sectionStart >= endIndex) { + return; + } + if (this.state === 28) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, endIndex); + } else { + this.cbs.oncomment(this.sectionStart, endIndex); + } + } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else { + this.cbs.ontext(this.sectionStart, endIndex); + } + } + emitCodePoint(cp, consumed) { + { + if (this.baseState !== 1 && this.baseState !== 32) { + if (this.sectionStart < this.entityStart) { + this.cbs.onattribdata(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.onattribentity( + decode_js.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } else { + if (this.sectionStart < this.entityStart) { + this.cbs.ontext(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.ontextentity( + decode_js.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } + } + } +} + +const CompilerDeprecationTypes = { + "COMPILER_IS_ON_ELEMENT": "COMPILER_IS_ON_ELEMENT", + "COMPILER_V_BIND_SYNC": "COMPILER_V_BIND_SYNC", + "COMPILER_V_BIND_OBJECT_ORDER": "COMPILER_V_BIND_OBJECT_ORDER", + "COMPILER_V_ON_NATIVE": "COMPILER_V_ON_NATIVE", + "COMPILER_V_IF_V_FOR_PRECEDENCE": "COMPILER_V_IF_V_FOR_PRECEDENCE", + "COMPILER_NATIVE_TEMPLATE": "COMPILER_NATIVE_TEMPLATE", + "COMPILER_INLINE_TEMPLATE": "COMPILER_INLINE_TEMPLATE", + "COMPILER_FILTERS": "COMPILER_FILTERS" +}; +const deprecationData = { + ["COMPILER_IS_ON_ELEMENT"]: { + message: `Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".`, + link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html` + }, + ["COMPILER_V_BIND_SYNC"]: { + message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${key}.sync\` should be changed to \`v-model:${key}\`.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html` + }, + ["COMPILER_V_BIND_OBJECT_ORDER"]: { + message: `v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html` + }, + ["COMPILER_V_ON_NATIVE"]: { + message: `.native modifier for v-on has been removed as is no longer necessary.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html` + }, + ["COMPILER_V_IF_V_FOR_PRECEDENCE"]: { + message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html` + }, + ["COMPILER_NATIVE_TEMPLATE"]: { + message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.` + }, + ["COMPILER_INLINE_TEMPLATE"]: { + message: `"inline-template" has been removed in Vue 3.`, + link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html` + }, + ["COMPILER_FILTERS"]: { + message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`, + link: `https://v3-migration.vuejs.org/breaking-changes/filters.html` + } +}; +function getCompatValue(key, { compatConfig }) { + const value = compatConfig && compatConfig[key]; + if (key === "MODE") { + return value || 3; + } else { + return value; + } +} +function isCompatEnabled(key, context) { + const mode = getCompatValue("MODE", context); + const value = getCompatValue(key, context); + return mode === 3 ? value === true : value !== false; +} +function checkCompatEnabled(key, context, loc, ...args) { + const enabled = isCompatEnabled(key, context); + return enabled; +} +function warnDeprecation(key, context, loc, ...args) { + const val = getCompatValue(key, context); + if (val === "suppress-warning") { + return; + } + const { message, link } = deprecationData[key]; + const msg = `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? ` + Details: ${link}` : ``}`; + const err = new SyntaxError(msg); + err.code = key; + if (loc) err.loc = loc; + context.onWarn(err); +} + +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +const ErrorCodes = { + "ABRUPT_CLOSING_OF_EMPTY_COMMENT": 0, + "0": "ABRUPT_CLOSING_OF_EMPTY_COMMENT", + "CDATA_IN_HTML_CONTENT": 1, + "1": "CDATA_IN_HTML_CONTENT", + "DUPLICATE_ATTRIBUTE": 2, + "2": "DUPLICATE_ATTRIBUTE", + "END_TAG_WITH_ATTRIBUTES": 3, + "3": "END_TAG_WITH_ATTRIBUTES", + "END_TAG_WITH_TRAILING_SOLIDUS": 4, + "4": "END_TAG_WITH_TRAILING_SOLIDUS", + "EOF_BEFORE_TAG_NAME": 5, + "5": "EOF_BEFORE_TAG_NAME", + "EOF_IN_CDATA": 6, + "6": "EOF_IN_CDATA", + "EOF_IN_COMMENT": 7, + "7": "EOF_IN_COMMENT", + "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT": 8, + "8": "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT", + "EOF_IN_TAG": 9, + "9": "EOF_IN_TAG", + "INCORRECTLY_CLOSED_COMMENT": 10, + "10": "INCORRECTLY_CLOSED_COMMENT", + "INCORRECTLY_OPENED_COMMENT": 11, + "11": "INCORRECTLY_OPENED_COMMENT", + "INVALID_FIRST_CHARACTER_OF_TAG_NAME": 12, + "12": "INVALID_FIRST_CHARACTER_OF_TAG_NAME", + "MISSING_ATTRIBUTE_VALUE": 13, + "13": "MISSING_ATTRIBUTE_VALUE", + "MISSING_END_TAG_NAME": 14, + "14": "MISSING_END_TAG_NAME", + "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES": 15, + "15": "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES", + "NESTED_COMMENT": 16, + "16": "NESTED_COMMENT", + "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME": 17, + "17": "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME", + "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE": 18, + "18": "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE", + "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME": 19, + "19": "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME", + "UNEXPECTED_NULL_CHARACTER": 20, + "20": "UNEXPECTED_NULL_CHARACTER", + "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME": 21, + "21": "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME", + "UNEXPECTED_SOLIDUS_IN_TAG": 22, + "22": "UNEXPECTED_SOLIDUS_IN_TAG", + "X_INVALID_END_TAG": 23, + "23": "X_INVALID_END_TAG", + "X_MISSING_END_TAG": 24, + "24": "X_MISSING_END_TAG", + "X_MISSING_INTERPOLATION_END": 25, + "25": "X_MISSING_INTERPOLATION_END", + "X_MISSING_DIRECTIVE_NAME": 26, + "26": "X_MISSING_DIRECTIVE_NAME", + "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END": 27, + "27": "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END", + "X_V_IF_NO_EXPRESSION": 28, + "28": "X_V_IF_NO_EXPRESSION", + "X_V_IF_SAME_KEY": 29, + "29": "X_V_IF_SAME_KEY", + "X_V_ELSE_NO_ADJACENT_IF": 30, + "30": "X_V_ELSE_NO_ADJACENT_IF", + "X_V_FOR_NO_EXPRESSION": 31, + "31": "X_V_FOR_NO_EXPRESSION", + "X_V_FOR_MALFORMED_EXPRESSION": 32, + "32": "X_V_FOR_MALFORMED_EXPRESSION", + "X_V_FOR_TEMPLATE_KEY_PLACEMENT": 33, + "33": "X_V_FOR_TEMPLATE_KEY_PLACEMENT", + "X_V_BIND_NO_EXPRESSION": 34, + "34": "X_V_BIND_NO_EXPRESSION", + "X_V_ON_NO_EXPRESSION": 35, + "35": "X_V_ON_NO_EXPRESSION", + "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET": 36, + "36": "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET", + "X_V_SLOT_MIXED_SLOT_USAGE": 37, + "37": "X_V_SLOT_MIXED_SLOT_USAGE", + "X_V_SLOT_DUPLICATE_SLOT_NAMES": 38, + "38": "X_V_SLOT_DUPLICATE_SLOT_NAMES", + "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN": 39, + "39": "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN", + "X_V_SLOT_MISPLACED": 40, + "40": "X_V_SLOT_MISPLACED", + "X_V_MODEL_NO_EXPRESSION": 41, + "41": "X_V_MODEL_NO_EXPRESSION", + "X_V_MODEL_MALFORMED_EXPRESSION": 42, + "42": "X_V_MODEL_MALFORMED_EXPRESSION", + "X_V_MODEL_ON_SCOPE_VARIABLE": 43, + "43": "X_V_MODEL_ON_SCOPE_VARIABLE", + "X_V_MODEL_ON_PROPS": 44, + "44": "X_V_MODEL_ON_PROPS", + "X_INVALID_EXPRESSION": 45, + "45": "X_INVALID_EXPRESSION", + "X_KEEP_ALIVE_INVALID_CHILDREN": 46, + "46": "X_KEEP_ALIVE_INVALID_CHILDREN", + "X_PREFIX_ID_NOT_SUPPORTED": 47, + "47": "X_PREFIX_ID_NOT_SUPPORTED", + "X_MODULE_MODE_NOT_SUPPORTED": 48, + "48": "X_MODULE_MODE_NOT_SUPPORTED", + "X_CACHE_HANDLER_NOT_SUPPORTED": 49, + "49": "X_CACHE_HANDLER_NOT_SUPPORTED", + "X_SCOPE_ID_NOT_SUPPORTED": 50, + "50": "X_SCOPE_ID_NOT_SUPPORTED", + "X_VNODE_HOOKS": 51, + "51": "X_VNODE_HOOKS", + "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52, + "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT", + "__EXTEND_POINT__": 53, + "53": "__EXTEND_POINT__" +}; +const errorMessages = { + // parse errors + [0]: "Illegal comment.", + [1]: "CDATA section is allowed only in XML context.", + [2]: "Duplicate attribute.", + [3]: "End tag cannot have attributes.", + [4]: "Illegal '/' in tags.", + [5]: "Unexpected EOF in tag.", + [6]: "Unexpected EOF in CDATA section.", + [7]: "Unexpected EOF in comment.", + [8]: "Unexpected EOF in script.", + [9]: "Unexpected EOF in tag.", + [10]: "Incorrectly closed comment.", + [11]: "Incorrectly opened comment.", + [12]: "Illegal tag name. Use '<' to print '<'.", + [13]: "Attribute value was expected.", + [14]: "End tag name was expected.", + [15]: "Whitespace was expected.", + [16]: "Unexpected '<!--' in comment.", + [17]: `Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`, + [18]: "Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).", + [19]: "Attribute name cannot start with '='.", + [21]: "'<?' is allowed only in XML context.", + [20]: `Unexpected null character.`, + [22]: "Illegal '/' in tags.", + // Vue-specific parse errors + [23]: "Invalid end tag.", + [24]: "Element is missing end tag.", + [25]: "Interpolation end sign was not found.", + [27]: "End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.", + [26]: "Legal directive name was expected.", + // transform errors + [28]: `v-if/v-else-if is missing expression.`, + [29]: `v-if/else branches must use unique keys.`, + [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`, + [31]: `v-for is missing expression.`, + [32]: `v-for has invalid expression.`, + [33]: `<template v-for> key should be placed on the <template> tag.`, + [34]: `v-bind is missing expression.`, + [52]: `v-bind with same-name shorthand only allows static argument.`, + [35]: `v-on is missing expression.`, + [36]: `Unexpected custom directive on <slot> outlet.`, + [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`, + [38]: `Duplicate slot names found. `, + [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`, + [40]: `v-slot can only be used on components or <template> tags.`, + [41]: `v-model is missing expression.`, + [42]: `v-model value must be a valid JavaScript member expression.`, + [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`, + [44]: `v-model cannot be used on a prop, because local prop bindings are not writable. +Use a v-bind binding combined with a v-on listener that emits update:x event instead.`, + [45]: `Error parsing JavaScript expression: `, + [46]: `<KeepAlive> expects exactly one child component.`, + [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`, + // generic errors + [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`, + [48]: `ES module mode is not supported in this build of compiler.`, + [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`, + [50]: `"scopeId" option is only supported in module mode.`, + // just to fulfill types + [53]: `` +}; + +function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) { + const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root; + estreeWalker.walk(root, { + enter(node, parent) { + parent && parentStack.push(parent); + if (parent && parent.type.startsWith("TS") && !TS_NODE_TYPES.includes(parent.type)) { + return this.skip(); + } + if (node.type === "Identifier") { + const isLocal = !!knownIds[node.name]; + const isRefed = isReferencedIdentifier(node, parent, parentStack); + if (includeAll || isRefed && !isLocal) { + onIdentifier(node, parent, parentStack, isRefed, isLocal); + } + } else if (node.type === "ObjectProperty" && // eslint-disable-next-line no-restricted-syntax + (parent == null ? void 0 : parent.type) === "ObjectPattern") { + node.inPattern = true; + } else if (isFunctionType(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkFunctionParams( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "BlockStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkBlockDeclarations( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "SwitchStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkSwitchStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "CatchClause" && node.param) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + for (const id of extractIdentifiers(node.param)) { + markScopeIdentifier(node, id, knownIds); + } + } + } else if (isForStatement(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkForStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } + }, + leave(node, parent) { + parent && parentStack.pop(); + if (node !== rootExp && node.scopeIds) { + for (const id of node.scopeIds) { + knownIds[id]--; + if (knownIds[id] === 0) { + delete knownIds[id]; + } + } + } + } + }); +} +function isReferencedIdentifier(id, parent, parentStack) { + if (!parent) { + return true; + } + if (id.name === "arguments") { + return false; + } + if (isReferenced(id, parent, parentStack[parentStack.length - 2])) { + return true; + } + switch (parent.type) { + case "AssignmentExpression": + case "AssignmentPattern": + return true; + case "ObjectProperty": + return parent.key !== id && isInDestructureAssignment(parent, parentStack); + case "ArrayPattern": + return isInDestructureAssignment(parent, parentStack); + } + return false; +} +function isInDestructureAssignment(parent, parentStack) { + if (parent && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern")) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "AssignmentExpression") { + return true; + } else if (p.type !== "ObjectProperty" && !p.type.endsWith("Pattern")) { + break; + } + } + } + return false; +} +function isInNewExpression(parentStack) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "NewExpression") { + return true; + } else if (p.type !== "MemberExpression") { + break; + } + } + return false; +} +function walkFunctionParams(node, onIdent) { + for (const p of node.params) { + for (const id of extractIdentifiers(p)) { + onIdent(id); + } + } +} +function walkBlockDeclarations(block, onIdent) { + const body = block.type === "SwitchCase" ? block.consequent : block.body; + for (const stmt of body) { + if (stmt.type === "VariableDeclaration") { + if (stmt.declare) continue; + for (const decl of stmt.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") { + if (stmt.declare || !stmt.id) continue; + onIdent(stmt.id); + } else if (isForStatement(stmt)) { + walkForStatement(stmt, true, onIdent); + } else if (stmt.type === "SwitchStatement") { + walkSwitchStatement(stmt, true, onIdent); + } + } +} +function isForStatement(stmt) { + return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement"; +} +function walkForStatement(stmt, isVar, onIdent) { + const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left; + if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) { + for (const decl of variable.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } +} +function walkSwitchStatement(stmt, isVar, onIdent) { + for (const cs of stmt.cases) { + for (const stmt2 of cs.consequent) { + if (stmt2.type === "VariableDeclaration" && (stmt2.kind === "var" ? isVar : !isVar)) { + for (const decl of stmt2.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } + } + walkBlockDeclarations(cs, onIdent); + } +} +function extractIdentifiers(param, nodes = []) { + switch (param.type) { + case "Identifier": + nodes.push(param); + break; + case "MemberExpression": + let object = param; + while (object.type === "MemberExpression") { + object = object.object; + } + nodes.push(object); + break; + case "ObjectPattern": + for (const prop of param.properties) { + if (prop.type === "RestElement") { + extractIdentifiers(prop.argument, nodes); + } else { + extractIdentifiers(prop.value, nodes); + } + } + break; + case "ArrayPattern": + param.elements.forEach((element) => { + if (element) extractIdentifiers(element, nodes); + }); + break; + case "RestElement": + extractIdentifiers(param.argument, nodes); + break; + case "AssignmentPattern": + extractIdentifiers(param.left, nodes); + break; + } + return nodes; +} +function markKnownIds(name, knownIds) { + if (name in knownIds) { + knownIds[name]++; + } else { + knownIds[name] = 1; + } +} +function markScopeIdentifier(node, child, knownIds) { + const { name } = child; + if (node.scopeIds && node.scopeIds.has(name)) { + return; + } + markKnownIds(name, knownIds); + (node.scopeIds || (node.scopeIds = /* @__PURE__ */ new Set())).add(name); +} +const isFunctionType = (node) => { + return /Function(?:Expression|Declaration)$|Method$/.test(node.type); +}; +const isStaticProperty = (node) => node && (node.type === "ObjectProperty" || node.type === "ObjectMethod") && !node.computed; +const isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node; +function isReferenced(node, parent, grandparent) { + switch (parent.type) { + // yes: PARENT[NODE] + // yes: NODE.child + // no: parent.NODE + case "MemberExpression": + case "OptionalMemberExpression": + if (parent.property === node) { + return !!parent.computed; + } + return parent.object === node; + case "JSXMemberExpression": + return parent.object === node; + // no: let NODE = init; + // yes: let id = NODE; + case "VariableDeclarator": + return parent.init === node; + // yes: () => NODE + // no: (NODE) => {} + case "ArrowFunctionExpression": + return parent.body === node; + // no: class { #NODE; } + // no: class { get #NODE() {} } + // no: class { #NODE() {} } + // no: class { fn() { return this.#NODE; } } + case "PrivateName": + return false; + // no: class { NODE() {} } + // yes: class { [NODE]() {} } + // no: class { foo(NODE) {} } + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node) { + return !!parent.computed; + } + return false; + // yes: { [NODE]: "" } + // no: { NODE: "" } + // depends: { NODE } + // depends: { key: NODE } + case "ObjectProperty": + if (parent.key === node) { + return !!parent.computed; + } + return !grandparent || grandparent.type !== "ObjectPattern"; + // no: class { NODE = value; } + // yes: class { [NODE] = value; } + // yes: class { key = NODE; } + case "ClassProperty": + if (parent.key === node) { + return !!parent.computed; + } + return true; + case "ClassPrivateProperty": + return parent.key !== node; + // no: class NODE {} + // yes: class Foo extends NODE {} + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node; + // yes: left = NODE; + // no: NODE = right; + case "AssignmentExpression": + return parent.right === node; + // no: [NODE = foo] = []; + // yes: [foo = NODE] = []; + case "AssignmentPattern": + return parent.right === node; + // no: NODE: for (;;) {} + case "LabeledStatement": + return false; + // no: try {} catch (NODE) {} + case "CatchClause": + return false; + // no: function foo(...NODE) {} + case "RestElement": + return false; + case "BreakStatement": + case "ContinueStatement": + return false; + // no: function NODE() {} + // no: function foo(NODE) {} + case "FunctionDeclaration": + case "FunctionExpression": + return false; + // no: export NODE from "foo"; + // no: export * as NODE from "foo"; + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + // no: export { foo as NODE }; + // yes: export { NODE as foo }; + // no: export { NODE as foo } from "foo"; + case "ExportSpecifier": + if (grandparent == null ? void 0 : grandparent.source) { + return false; + } + return parent.local === node; + // no: import NODE from "foo"; + // no: import * as NODE from "foo"; + // no: import { NODE as foo } from "foo"; + // no: import { foo as NODE } from "foo"; + // no: import NODE from "bar"; + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + // no: import "foo" assert { NODE: "json" } + case "ImportAttribute": + return false; + // no: <div NODE="foo" /> + case "JSXAttribute": + return false; + // no: [NODE] = []; + // no: ({ NODE }) = []; + case "ObjectPattern": + case "ArrayPattern": + return false; + // no: new.NODE + // no: NODE.target + case "MetaProperty": + return false; + // yes: type X = { someProperty: NODE } + // no: type X = { NODE: OtherType } + case "ObjectTypeProperty": + return parent.key !== node; + // yes: enum X { Foo = NODE } + // no: enum X { NODE } + case "TSEnumMember": + return parent.id !== node; + // yes: { [NODE]: value } + // no: { NODE: value } + case "TSPropertySignature": + if (parent.key === node) { + return !!parent.computed; + } + return true; + } + return true; +} +const TS_NODE_TYPES = [ + "TSAsExpression", + // foo as number + "TSTypeAssertion", + // (<number>foo) + "TSNonNullExpression", + // foo! + "TSInstantiationExpression", + // foo<string> + "TSSatisfiesExpression" + // foo satisfies T +]; +function unwrapTSNode(node) { + if (TS_NODE_TYPES.includes(node.type)) { + return unwrapTSNode(node.expression); + } else { + return node; + } +} + +const isStaticExp = (p) => p.type === 4 && p.isStatic; +function isCoreComponent(tag) { + switch (tag) { + case "Teleport": + case "teleport": + return TELEPORT; + case "Suspense": + case "suspense": + return SUSPENSE; + case "KeepAlive": + case "keep-alive": + return KEEP_ALIVE; + case "BaseTransition": + case "base-transition": + return BASE_TRANSITION; + } +} +const nonIdentifierRE = /^$|^\d|[^\$\w\xA0-\uFFFF]/; +const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name); +const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/; +const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/; +const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g; +const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source; +const isMemberExpressionBrowser = (exp) => { + const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim()); + let state = 0 /* inMemberExp */; + let stateStack = []; + let currentOpenBracketCount = 0; + let currentOpenParensCount = 0; + let currentStringType = null; + for (let i = 0; i < path.length; i++) { + const char = path.charAt(i); + switch (state) { + case 0 /* inMemberExp */: + if (char === "[") { + stateStack.push(state); + state = 1 /* inBrackets */; + currentOpenBracketCount++; + } else if (char === "(") { + stateStack.push(state); + state = 2 /* inParens */; + currentOpenParensCount++; + } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) { + return false; + } + break; + case 1 /* inBrackets */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `[`) { + currentOpenBracketCount++; + } else if (char === `]`) { + if (!--currentOpenBracketCount) { + state = stateStack.pop(); + } + } + break; + case 2 /* inParens */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `(`) { + currentOpenParensCount++; + } else if (char === `)`) { + if (i === path.length - 1) { + return false; + } + if (!--currentOpenParensCount) { + state = stateStack.pop(); + } + } + break; + case 3 /* inString */: + if (char === currentStringType) { + state = stateStack.pop(); + currentStringType = null; + } + break; + } + } + return !currentOpenBracketCount && !currentOpenParensCount; +}; +const isMemberExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + ret = unwrapTSNode(ret); + return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined"; + } catch (e) { + return false; + } +}; +const isMemberExpression = isMemberExpressionNode; +const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/; +const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp)); +const isFnExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + if (ret.type === "Program") { + ret = ret.body[0]; + if (ret.type === "ExpressionStatement") { + ret = ret.expression; + } + } + ret = unwrapTSNode(ret); + return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression"; + } catch (e) { + return false; + } +}; +const isFnExpression = isFnExpressionNode; +function advancePositionWithClone(pos, source, numberOfCharacters = source.length) { + return advancePositionWithMutation( + { + offset: pos.offset, + line: pos.line, + column: pos.column + }, + source, + numberOfCharacters + ); +} +function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { + let linesCount = 0; + let lastNewLinePos = -1; + for (let i = 0; i < numberOfCharacters; i++) { + if (source.charCodeAt(i) === 10) { + linesCount++; + lastNewLinePos = i; + } + } + pos.offset += numberOfCharacters; + pos.line += linesCount; + pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos; + return pos; +} +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || `unexpected compiler condition`); + } +} +function findDir(node, name, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (allowEmpty || p.exp) && (shared.isString(name) ? p.name === name : name.test(p.name))) { + return p; + } + } +} +function findProp(node, name, dynamicOnly = false, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (dynamicOnly) continue; + if (p.name === name && (p.value || allowEmpty)) { + return p; + } + } else if (p.name === "bind" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) { + return p; + } + } +} +function isStaticArgOf(arg, name) { + return !!(arg && isStaticExp(arg) && arg.content === name); +} +function hasDynamicKeyVBind(node) { + return node.props.some( + (p) => p.type === 7 && p.name === "bind" && (!p.arg || // v-bind="obj" + p.arg.type !== 4 || // v-bind:[_ctx.foo] + !p.arg.isStatic) + // v-bind:[foo] + ); +} +function isText$1(node) { + return node.type === 5 || node.type === 2; +} +function isVPre(p) { + return p.type === 7 && p.name === "pre"; +} +function isVSlot(p) { + return p.type === 7 && p.name === "slot"; +} +function isTemplateNode(node) { + return node.type === 1 && node.tagType === 3; +} +function isSlotOutlet(node) { + return node.type === 1 && node.tagType === 2; +} +const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]); +function getUnnormalizedProps(props, callPath = []) { + if (props && !shared.isString(props) && props.type === 14) { + const callee = props.callee; + if (!shared.isString(callee) && propsHelperSet.has(callee)) { + return getUnnormalizedProps( + props.arguments[0], + callPath.concat(props) + ); + } + } + return [props, callPath]; +} +function injectProp(node, prop, context) { + let propsWithInjection; + let props = node.type === 13 ? node.props : node.arguments[2]; + let callPath = []; + let parentCall; + if (props && !shared.isString(props) && props.type === 14) { + const ret = getUnnormalizedProps(props); + props = ret[0]; + callPath = ret[1]; + parentCall = callPath[callPath.length - 1]; + } + if (props == null || shared.isString(props)) { + propsWithInjection = createObjectExpression([prop]); + } else if (props.type === 14) { + const first = props.arguments[0]; + if (!shared.isString(first) && first.type === 15) { + if (!hasProp(prop, first)) { + first.properties.unshift(prop); + } + } else { + if (props.callee === TO_HANDLERS) { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + } else { + props.arguments.unshift(createObjectExpression([prop])); + } + } + !propsWithInjection && (propsWithInjection = props); + } else if (props.type === 15) { + if (!hasProp(prop, props)) { + props.properties.unshift(prop); + } + propsWithInjection = props; + } else { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) { + parentCall = callPath[callPath.length - 2]; + } + } + if (node.type === 13) { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.props = propsWithInjection; + } + } else { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.arguments[2] = propsWithInjection; + } + } +} +function hasProp(prop, props) { + let result = false; + if (prop.key.type === 4) { + const propKeyName = prop.key.content; + result = props.properties.some( + (p) => p.key.type === 4 && p.key.content === propKeyName + ); + } + return result; +} +function toValidAssetId(name, type) { + return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => { + return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString(); + })}`; +} +function hasScopeRef(node, ids) { + if (!node || Object.keys(ids).length === 0) { + return false; + } + switch (node.type) { + case 1: + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) { + return true; + } + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 11: + if (hasScopeRef(node.source, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 9: + return node.branches.some((b) => hasScopeRef(b, ids)); + case 10: + if (hasScopeRef(node.condition, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 4: + return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content]; + case 8: + return node.children.some((c) => shared.isObject(c) && hasScopeRef(c, ids)); + case 5: + case 12: + return hasScopeRef(node.content, ids); + case 2: + case 3: + case 20: + return false; + default: + return false; + } +} +function getMemoedVNodeCall(node) { + if (node.type === 14 && node.callee === WITH_MEMO) { + return node.arguments[1].returns; + } else { + return node; + } +} +const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/; + +const defaultParserOptions = { + parseMode: "base", + ns: 0, + delimiters: [`{{`, `}}`], + getNamespace: () => 0, + isVoidTag: shared.NO, + isPreTag: shared.NO, + isIgnoreNewlineTag: shared.NO, + isCustomElement: shared.NO, + onError: defaultOnError, + onWarn: defaultOnWarn, + comments: false, + prefixIdentifiers: false +}; +let currentOptions = defaultParserOptions; +let currentRoot = null; +let currentInput = ""; +let currentOpenTag = null; +let currentProp = null; +let currentAttrValue = ""; +let currentAttrStartIndex = -1; +let currentAttrEndIndex = -1; +let inPre = 0; +let inVPre = false; +let currentVPreBoundary = null; +const stack = []; +const tokenizer = new Tokenizer(stack, { + onerr: emitError, + ontext(start, end) { + onText(getSlice(start, end), start, end); + }, + ontextentity(char, start, end) { + onText(char, start, end); + }, + oninterpolation(start, end) { + if (inVPre) { + return onText(getSlice(start, end), start, end); + } + let innerStart = start + tokenizer.delimiterOpen.length; + let innerEnd = end - tokenizer.delimiterClose.length; + while (isWhitespace(currentInput.charCodeAt(innerStart))) { + innerStart++; + } + while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) { + innerEnd--; + } + let exp = getSlice(innerStart, innerEnd); + if (exp.includes("&")) { + { + exp = decode_js.decodeHTML(exp); + } + } + addNode({ + type: 5, + content: createExp(exp, false, getLoc(innerStart, innerEnd)), + loc: getLoc(start, end) + }); + }, + onopentagname(start, end) { + const name = getSlice(start, end); + currentOpenTag = { + type: 1, + tag: name, + ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns), + tagType: 0, + // will be refined on tag close + props: [], + children: [], + loc: getLoc(start - 1, end), + codegenNode: void 0 + }; + }, + onopentagend(end) { + endOpenTag(end); + }, + onclosetag(start, end) { + const name = getSlice(start, end); + if (!currentOptions.isVoidTag(name)) { + let found = false; + for (let i = 0; i < stack.length; i++) { + const e = stack[i]; + if (e.tag.toLowerCase() === name.toLowerCase()) { + found = true; + if (i > 0) { + emitError(24, stack[0].loc.start.offset); + } + for (let j = 0; j <= i; j++) { + const el = stack.shift(); + onCloseTag(el, end, j < i); + } + break; + } + } + if (!found) { + emitError(23, backTrack(start, 60)); + } + } + }, + onselfclosingtag(end) { + const name = currentOpenTag.tag; + currentOpenTag.isSelfClosing = true; + endOpenTag(end); + if (stack[0] && stack[0].tag === name) { + onCloseTag(stack.shift(), end); + } + }, + onattribname(start, end) { + currentProp = { + type: 6, + name: getSlice(start, end), + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + }, + ondirname(start, end) { + const raw = getSlice(start, end); + const name = raw === "." || raw === ":" ? "bind" : raw === "@" ? "on" : raw === "#" ? "slot" : raw.slice(2); + if (!inVPre && name === "") { + emitError(26, start); + } + if (inVPre || name === "") { + currentProp = { + type: 6, + name: raw, + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + } else { + currentProp = { + type: 7, + name, + rawName: raw, + exp: void 0, + arg: void 0, + modifiers: raw === "." ? [createSimpleExpression("prop")] : [], + loc: getLoc(start) + }; + if (name === "pre") { + inVPre = tokenizer.inVPre = true; + currentVPreBoundary = currentOpenTag; + const props = currentOpenTag.props; + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7) { + props[i] = dirToAttr(props[i]); + } + } + } + } + }, + ondirarg(start, end) { + if (start === end) return; + const arg = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += arg; + setLocEnd(currentProp.nameLoc, end); + } else { + const isStatic = arg[0] !== `[`; + currentProp.arg = createExp( + isStatic ? arg : arg.slice(1, -1), + isStatic, + getLoc(start, end), + isStatic ? 3 : 0 + ); + } + }, + ondirmodifier(start, end) { + const mod = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += "." + mod; + setLocEnd(currentProp.nameLoc, end); + } else if (currentProp.name === "slot") { + const arg = currentProp.arg; + if (arg) { + arg.content += "." + mod; + setLocEnd(arg.loc, end); + } + } else { + const exp = createSimpleExpression(mod, true, getLoc(start, end)); + currentProp.modifiers.push(exp); + } + }, + onattribdata(start, end) { + currentAttrValue += getSlice(start, end); + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribentity(char, start, end) { + currentAttrValue += char; + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribnameend(end) { + const start = currentProp.loc.start.offset; + const name = getSlice(start, end); + if (currentProp.type === 7) { + currentProp.rawName = name; + } + if (currentOpenTag.props.some( + (p) => (p.type === 7 ? p.rawName : p.name) === name + )) { + emitError(2, start); + } + }, + onattribend(quote, end) { + if (currentOpenTag && currentProp) { + setLocEnd(currentProp.loc, end); + if (quote !== 0) { + if (currentProp.type === 6) { + if (currentProp.name === "class") { + currentAttrValue = condense(currentAttrValue).trim(); + } + if (quote === 1 && !currentAttrValue) { + emitError(13, end); + } + currentProp.value = { + type: 2, + content: currentAttrValue, + loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1) + }; + if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") { + tokenizer.enterRCDATA(toCharCodes(`</template`), 0); + } + } else { + let expParseMode = 0 /* Normal */; + { + if (currentProp.name === "for") { + expParseMode = 3 /* Skip */; + } else if (currentProp.name === "slot") { + expParseMode = 1 /* Params */; + } else if (currentProp.name === "on" && currentAttrValue.includes(";")) { + expParseMode = 2 /* Statements */; + } + } + currentProp.exp = createExp( + currentAttrValue, + false, + getLoc(currentAttrStartIndex, currentAttrEndIndex), + 0, + expParseMode + ); + if (currentProp.name === "for") { + currentProp.forParseResult = parseForExpression(currentProp.exp); + } + let syncIndex = -1; + if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex( + (mod) => mod.content === "sync" + )) > -1 && checkCompatEnabled( + "COMPILER_V_BIND_SYNC", + currentOptions, + currentProp.loc, + currentProp.arg.loc.source + )) { + currentProp.name = "model"; + currentProp.modifiers.splice(syncIndex, 1); + } + } + } + if (currentProp.type !== 7 || currentProp.name !== "pre") { + currentOpenTag.props.push(currentProp); + } + } + currentAttrValue = ""; + currentAttrStartIndex = currentAttrEndIndex = -1; + }, + oncomment(start, end) { + if (currentOptions.comments) { + addNode({ + type: 3, + content: getSlice(start, end), + loc: getLoc(start - 4, end + 3) + }); + } + }, + onend() { + const end = currentInput.length; + if (tokenizer.state !== 1) { + switch (tokenizer.state) { + case 5: + case 8: + emitError(5, end); + break; + case 3: + case 4: + emitError( + 25, + tokenizer.sectionStart + ); + break; + case 28: + if (tokenizer.currentSequence === Sequences.CdataEnd) { + emitError(6, end); + } else { + emitError(7, end); + } + break; + case 6: + case 7: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + // " + case 20: + // ' + case 21: + emitError(9, end); + break; + } + } + for (let index = 0; index < stack.length; index++) { + onCloseTag(stack[index], end - 1); + emitError(24, stack[index].loc.start.offset); + } + }, + oncdata(start, end) { + if (stack[0].ns !== 0) { + onText(getSlice(start, end), start, end); + } else { + emitError(1, start - 9); + } + }, + onprocessinginstruction(start) { + if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + emitError( + 21, + start - 1 + ); + } + } +}); +const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; +const stripParensRE = /^\(|\)$/g; +function parseForExpression(input) { + const loc = input.loc; + const exp = input.content; + const inMatch = exp.match(forAliasRE); + if (!inMatch) return; + const [, LHS, RHS] = inMatch; + const createAliasExpression = (content, offset, asParam = false) => { + const start = loc.start.offset + offset; + const end = start + content.length; + return createExp( + content, + false, + getLoc(start, end), + 0, + asParam ? 1 /* Params */ : 0 /* Normal */ + ); + }; + const result = { + source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)), + value: void 0, + key: void 0, + index: void 0, + finalized: false + }; + let valueContent = LHS.trim().replace(stripParensRE, "").trim(); + const trimmedOffset = LHS.indexOf(valueContent); + const iteratorMatch = valueContent.match(forIteratorRE); + if (iteratorMatch) { + valueContent = valueContent.replace(forIteratorRE, "").trim(); + const keyContent = iteratorMatch[1].trim(); + let keyOffset; + if (keyContent) { + keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length); + result.key = createAliasExpression(keyContent, keyOffset, true); + } + if (iteratorMatch[2]) { + const indexContent = iteratorMatch[2].trim(); + if (indexContent) { + result.index = createAliasExpression( + indexContent, + exp.indexOf( + indexContent, + result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length + ), + true + ); + } + } + } + if (valueContent) { + result.value = createAliasExpression(valueContent, trimmedOffset, true); + } + return result; +} +function getSlice(start, end) { + return currentInput.slice(start, end); +} +function endOpenTag(end) { + if (tokenizer.inSFCRoot) { + currentOpenTag.innerLoc = getLoc(end + 1, end + 1); + } + addNode(currentOpenTag); + const { tag, ns } = currentOpenTag; + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre++; + } + if (currentOptions.isVoidTag(tag)) { + onCloseTag(currentOpenTag, end); + } else { + stack.unshift(currentOpenTag); + if (ns === 1 || ns === 2) { + tokenizer.inXML = true; + } + } + currentOpenTag = null; +} +function onText(content, start, end) { + const parent = stack[0] || currentRoot; + const lastNode = parent.children[parent.children.length - 1]; + if (lastNode && lastNode.type === 2) { + lastNode.content += content; + setLocEnd(lastNode.loc, end); + } else { + parent.children.push({ + type: 2, + content, + loc: getLoc(start, end) + }); + } +} +function onCloseTag(el, end, isImplied = false) { + if (isImplied) { + setLocEnd(el.loc, backTrack(end, 60)); + } else { + setLocEnd(el.loc, lookAhead(end, 62) + 1); + } + if (tokenizer.inSFCRoot) { + if (el.children.length) { + el.innerLoc.end = shared.extend({}, el.children[el.children.length - 1].loc.end); + } else { + el.innerLoc.end = shared.extend({}, el.innerLoc.start); + } + el.innerLoc.source = getSlice( + el.innerLoc.start.offset, + el.innerLoc.end.offset + ); + } + const { tag, ns, children } = el; + if (!inVPre) { + if (tag === "slot") { + el.tagType = 2; + } else if (isFragmentTemplate(el)) { + el.tagType = 3; + } else if (isComponent(el)) { + el.tagType = 1; + } + } + if (!tokenizer.inRCDATA) { + el.children = condenseWhitespace(children); + } + if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) { + const first = children[0]; + if (first && first.type === 2) { + first.content = first.content.replace(/^\r?\n/, ""); + } + } + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre--; + } + if (currentVPreBoundary === el) { + inVPre = tokenizer.inVPre = false; + currentVPreBoundary = null; + } + if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + tokenizer.inXML = false; + } + { + const props = el.props; + if (!tokenizer.inSFCRoot && isCompatEnabled( + "COMPILER_NATIVE_TEMPLATE", + currentOptions + ) && el.tag === "template" && !isFragmentTemplate(el)) { + const parent = stack[0] || currentRoot; + const index = parent.children.indexOf(el); + parent.children.splice(index, 1, ...el.children); + } + const inlineTemplateProp = props.find( + (p) => p.type === 6 && p.name === "inline-template" + ); + if (inlineTemplateProp && checkCompatEnabled( + "COMPILER_INLINE_TEMPLATE", + currentOptions, + inlineTemplateProp.loc + ) && el.children.length) { + inlineTemplateProp.value = { + type: 2, + content: getSlice( + el.children[0].loc.start.offset, + el.children[el.children.length - 1].loc.end.offset + ), + loc: inlineTemplateProp.loc + }; + } + } +} +function lookAhead(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++; + return i; +} +function backTrack(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i >= 0) i--; + return i; +} +const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]); +function isFragmentTemplate({ tag, props }) { + if (tag === "template") { + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) { + return true; + } + } + } + return false; +} +function isComponent({ tag, props }) { + if (currentOptions.isCustomElement(tag)) { + return false; + } + if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) { + return true; + } + for (let i = 0; i < props.length; i++) { + const p = props[i]; + if (p.type === 6) { + if (p.name === "is" && p.value) { + if (p.value.content.startsWith("vue:")) { + return true; + } else if (checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + } else if (// :is on plain element - only treat as component in compat mode + p.name === "bind" && isStaticArgOf(p.arg, "is") && checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + return false; +} +function isUpperCase(c) { + return c > 64 && c < 91; +} +const windowsNewlineRE = /\r\n/g; +function condenseWhitespace(nodes) { + const shouldCondense = currentOptions.whitespace !== "preserve"; + let removedWhitespace = false; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (node.type === 2) { + if (!inPre) { + if (isAllWhitespace(node.content)) { + const prev = nodes[i - 1] && nodes[i - 1].type; + const next = nodes[i + 1] && nodes[i + 1].type; + if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) { + removedWhitespace = true; + nodes[i] = null; + } else { + node.content = " "; + } + } else if (shouldCondense) { + node.content = condense(node.content); + } + } else { + node.content = node.content.replace(windowsNewlineRE, "\n"); + } + } + } + return removedWhitespace ? nodes.filter(Boolean) : nodes; +} +function isAllWhitespace(str) { + for (let i = 0; i < str.length; i++) { + if (!isWhitespace(str.charCodeAt(i))) { + return false; + } + } + return true; +} +function hasNewlineChar(str) { + for (let i = 0; i < str.length; i++) { + const c = str.charCodeAt(i); + if (c === 10 || c === 13) { + return true; + } + } + return false; +} +function condense(str) { + let ret = ""; + let prevCharIsWhitespace = false; + for (let i = 0; i < str.length; i++) { + if (isWhitespace(str.charCodeAt(i))) { + if (!prevCharIsWhitespace) { + ret += " "; + prevCharIsWhitespace = true; + } + } else { + ret += str[i]; + prevCharIsWhitespace = false; + } + } + return ret; +} +function addNode(node) { + (stack[0] || currentRoot).children.push(node); +} +function getLoc(start, end) { + return { + start: tokenizer.getPos(start), + // @ts-expect-error allow late attachment + end: end == null ? end : tokenizer.getPos(end), + // @ts-expect-error allow late attachment + source: end == null ? end : getSlice(start, end) + }; +} +function cloneLoc(loc) { + return getLoc(loc.start.offset, loc.end.offset); +} +function setLocEnd(loc, end) { + loc.end = tokenizer.getPos(end); + loc.source = getSlice(loc.start.offset, end); +} +function dirToAttr(dir) { + const attr = { + type: 6, + name: dir.rawName, + nameLoc: getLoc( + dir.loc.start.offset, + dir.loc.start.offset + dir.rawName.length + ), + value: void 0, + loc: dir.loc + }; + if (dir.exp) { + const loc = dir.exp.loc; + if (loc.end.offset < dir.loc.end.offset) { + loc.start.offset--; + loc.start.column--; + loc.end.offset++; + loc.end.column++; + } + attr.value = { + type: 2, + content: dir.exp.content, + loc + }; + } + return attr; +} +function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) { + const exp = createSimpleExpression(content, isStatic, loc, constType); + if (!isStatic && currentOptions.prefixIdentifiers && parseMode !== 3 /* Skip */ && content.trim()) { + if (isSimpleIdentifier(content)) { + exp.ast = null; + return exp; + } + try { + const plugins = currentOptions.expressionPlugins; + const options = { + plugins: plugins ? [...plugins, "typescript"] : ["typescript"] + }; + if (parseMode === 2 /* Statements */) { + exp.ast = parser.parse(` ${content} `, options).program; + } else if (parseMode === 1 /* Params */) { + exp.ast = parser.parseExpression(`(${content})=>{}`, options); + } else { + exp.ast = parser.parseExpression(`(${content})`, options); + } + } catch (e) { + exp.ast = false; + emitError(45, loc.start.offset, e.message); + } + } + return exp; +} +function emitError(code, index, message) { + currentOptions.onError( + createCompilerError(code, getLoc(index, index), void 0, message) + ); +} +function reset() { + tokenizer.reset(); + currentOpenTag = null; + currentProp = null; + currentAttrValue = ""; + currentAttrStartIndex = -1; + currentAttrEndIndex = -1; + stack.length = 0; +} +function baseParse(input, options) { + reset(); + currentInput = input; + currentOptions = shared.extend({}, defaultParserOptions); + if (options) { + let key; + for (key in options) { + if (options[key] != null) { + currentOptions[key] = options[key]; + } + } + } + tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0; + tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2; + const delimiters = options && options.delimiters; + if (delimiters) { + tokenizer.delimiterOpen = toCharCodes(delimiters[0]); + tokenizer.delimiterClose = toCharCodes(delimiters[1]); + } + const root = currentRoot = createRoot([], input); + tokenizer.parse(currentInput); + root.loc = getLoc(0, input.length); + root.children = condenseWhitespace(root.children); + currentRoot = null; + return root; +} + +function cacheStatic(root, context) { + walk( + root, + void 0, + context, + // Root node is unfortunately non-hoistable due to potential parent + // fallthrough attributes. + !!getSingleElementRoot(root) + ); +} +function getSingleElementRoot(root) { + const children = root.children.filter((x) => x.type !== 3); + return children.length === 1 && children[0].type === 1 && !isSlotOutlet(children[0]) ? children[0] : null; +} +function walk(node, parent, context, doNotHoistNode = false, inFor = false) { + const { children } = node; + const toCache = []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.type === 1 && child.tagType === 0) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType > 0) { + if (constantType >= 2) { + child.codegenNode.patchFlag = -1; + toCache.push(child); + continue; + } + } else { + const codegenNode = child.codegenNode; + if (codegenNode.type === 13) { + const flag = codegenNode.patchFlag; + if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) { + const props = getNodeProps(child); + if (props) { + codegenNode.props = context.hoist(props); + } + } + if (codegenNode.dynamicProps) { + codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps); + } + } + } + } else if (child.type === 12) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType >= 2) { + if (child.codegenNode.type === 14 && child.codegenNode.arguments.length > 0) { + child.codegenNode.arguments.push( + -1 + (``) + ); + } + toCache.push(child); + continue; + } + } + if (child.type === 1) { + const isComponent = child.tagType === 1; + if (isComponent) { + context.scopes.vSlot++; + } + walk(child, node, context, false, inFor); + if (isComponent) { + context.scopes.vSlot--; + } + } else if (child.type === 11) { + walk(child, node, context, child.children.length === 1, true); + } else if (child.type === 9) { + for (let i2 = 0; i2 < child.branches.length; i2++) { + walk( + child.branches[i2], + node, + context, + child.branches[i2].children.length === 1, + inFor + ); + } + } + } + let cachedAsArray = false; + if (toCache.length === children.length && node.type === 1) { + if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && shared.isArray(node.codegenNode.children)) { + node.codegenNode.children = getCacheExpression( + createArrayExpression(node.codegenNode.children) + ); + cachedAsArray = true; + } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !shared.isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) { + const slot = getSlotNode(node.codegenNode, "default"); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } else if (node.tagType === 3 && parent && parent.type === 1 && parent.tagType === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 15) { + const slotName = findDir(node, "slot", true); + const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } + } + if (!cachedAsArray) { + for (const child of toCache) { + child.codegenNode = context.cache(child.codegenNode); + } + } + function getCacheExpression(value) { + const exp = context.cache(value); + exp.needArraySpread = true; + return exp; + } + function getSlotNode(node2, name) { + if (node2.children && !shared.isArray(node2.children) && node2.children.type === 15) { + const slot = node2.children.properties.find( + (p) => p.key === name || p.key.content === name + ); + return slot && slot.value; + } + } + if (toCache.length && context.transformHoist) { + context.transformHoist(children, context, node); + } +} +function getConstantType(node, context) { + const { constantCache } = context; + switch (node.type) { + case 1: + if (node.tagType !== 0) { + return 0; + } + const cached = constantCache.get(node); + if (cached !== void 0) { + return cached; + } + const codegenNode = node.codegenNode; + if (codegenNode.type !== 13) { + return 0; + } + if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject" && node.tag !== "math") { + return 0; + } + if (codegenNode.patchFlag === void 0) { + let returnType2 = 3; + const generatedPropsType = getGeneratedPropsConstantType(node, context); + if (generatedPropsType === 0) { + constantCache.set(node, 0); + return 0; + } + if (generatedPropsType < returnType2) { + returnType2 = generatedPropsType; + } + for (let i = 0; i < node.children.length; i++) { + const childType = getConstantType(node.children[i], context); + if (childType === 0) { + constantCache.set(node, 0); + return 0; + } + if (childType < returnType2) { + returnType2 = childType; + } + } + if (returnType2 > 1) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && p.name === "bind" && p.exp) { + const expType = getConstantType(p.exp, context); + if (expType === 0) { + constantCache.set(node, 0); + return 0; + } + if (expType < returnType2) { + returnType2 = expType; + } + } + } + } + if (codegenNode.isBlock) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7) { + constantCache.set(node, 0); + return 0; + } + } + context.removeHelper(OPEN_BLOCK); + context.removeHelper( + getVNodeBlockHelper(context.inSSR, codegenNode.isComponent) + ); + codegenNode.isBlock = false; + context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent)); + } + constantCache.set(node, returnType2); + return returnType2; + } else { + constantCache.set(node, 0); + return 0; + } + case 2: + case 3: + return 3; + case 9: + case 11: + case 10: + return 0; + case 5: + case 12: + return getConstantType(node.content, context); + case 4: + return node.constType; + case 8: + let returnType = 3; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child) || shared.isSymbol(child)) { + continue; + } + const childType = getConstantType(child, context); + if (childType === 0) { + return 0; + } else if (childType < returnType) { + returnType = childType; + } + } + return returnType; + case 20: + return 2; + default: + return 0; + } +} +const allowHoistedHelperSet = /* @__PURE__ */ new Set([ + NORMALIZE_CLASS, + NORMALIZE_STYLE, + NORMALIZE_PROPS, + GUARD_REACTIVE_PROPS +]); +function getConstantTypeOfHelperCall(value, context) { + if (value.type === 14 && !shared.isString(value.callee) && allowHoistedHelperSet.has(value.callee)) { + const arg = value.arguments[0]; + if (arg.type === 4) { + return getConstantType(arg, context); + } else if (arg.type === 14) { + return getConstantTypeOfHelperCall(arg, context); + } + } + return 0; +} +function getGeneratedPropsConstantType(node, context) { + let returnType = 3; + const props = getNodeProps(node); + if (props && props.type === 15) { + const { properties } = props; + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + const keyType = getConstantType(key, context); + if (keyType === 0) { + return keyType; + } + if (keyType < returnType) { + returnType = keyType; + } + let valueType; + if (value.type === 4) { + valueType = getConstantType(value, context); + } else if (value.type === 14) { + valueType = getConstantTypeOfHelperCall(value, context); + } else { + valueType = 0; + } + if (valueType === 0) { + return valueType; + } + if (valueType < returnType) { + returnType = valueType; + } + } + } + return returnType; +} +function getNodeProps(node) { + const codegenNode = node.codegenNode; + if (codegenNode.type === 13) { + return codegenNode.props; + } +} + +function createTransformContext(root, { + filename = "", + prefixIdentifiers = false, + hoistStatic = false, + hmr = false, + cacheHandlers = false, + nodeTransforms = [], + directiveTransforms = {}, + transformHoist = null, + isBuiltInComponent = shared.NOOP, + isCustomElement = shared.NOOP, + expressionPlugins = [], + scopeId = null, + slotted = true, + ssr = false, + inSSR = false, + ssrCssVars = ``, + bindingMetadata = shared.EMPTY_OBJ, + inline = false, + isTS = false, + onError = defaultOnError, + onWarn = defaultOnWarn, + compatConfig +}) { + const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/); + const context = { + // options + filename, + selfName: nameMatch && shared.capitalize(shared.camelize(nameMatch[1])), + prefixIdentifiers, + hoistStatic, + hmr, + cacheHandlers, + nodeTransforms, + directiveTransforms, + transformHoist, + isBuiltInComponent, + isCustomElement, + expressionPlugins, + scopeId, + slotted, + ssr, + inSSR, + ssrCssVars, + bindingMetadata, + inline, + isTS, + onError, + onWarn, + compatConfig, + // state + root, + helpers: /* @__PURE__ */ new Map(), + components: /* @__PURE__ */ new Set(), + directives: /* @__PURE__ */ new Set(), + hoists: [], + imports: [], + cached: [], + constantCache: /* @__PURE__ */ new WeakMap(), + temps: 0, + identifiers: /* @__PURE__ */ Object.create(null), + scopes: { + vFor: 0, + vSlot: 0, + vPre: 0, + vOnce: 0 + }, + parent: null, + grandParent: null, + currentNode: root, + childIndex: 0, + inVOnce: false, + // methods + helper(name) { + const count = context.helpers.get(name) || 0; + context.helpers.set(name, count + 1); + return name; + }, + removeHelper(name) { + const count = context.helpers.get(name); + if (count) { + const currentCount = count - 1; + if (!currentCount) { + context.helpers.delete(name); + } else { + context.helpers.set(name, currentCount); + } + } + }, + helperString(name) { + return `_${helperNameMap[context.helper(name)]}`; + }, + replaceNode(node) { + context.parent.children[context.childIndex] = context.currentNode = node; + }, + removeNode(node) { + const list = context.parent.children; + const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1; + if (!node || node === context.currentNode) { + context.currentNode = null; + context.onNodeRemoved(); + } else { + if (context.childIndex > removalIndex) { + context.childIndex--; + context.onNodeRemoved(); + } + } + context.parent.children.splice(removalIndex, 1); + }, + onNodeRemoved: shared.NOOP, + addIdentifiers(exp) { + { + if (shared.isString(exp)) { + addId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(addId); + } else if (exp.type === 4) { + addId(exp.content); + } + } + }, + removeIdentifiers(exp) { + { + if (shared.isString(exp)) { + removeId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(removeId); + } else if (exp.type === 4) { + removeId(exp.content); + } + } + }, + hoist(exp) { + if (shared.isString(exp)) exp = createSimpleExpression(exp); + context.hoists.push(exp); + const identifier = createSimpleExpression( + `_hoisted_${context.hoists.length}`, + false, + exp.loc, + 2 + ); + identifier.hoisted = exp; + return identifier; + }, + cache(exp, isVNode = false, inVOnce = false) { + const cacheExp = createCacheExpression( + context.cached.length, + exp, + isVNode, + inVOnce + ); + context.cached.push(cacheExp); + return cacheExp; + } + }; + { + context.filters = /* @__PURE__ */ new Set(); + } + function addId(id) { + const { identifiers } = context; + if (identifiers[id] === void 0) { + identifiers[id] = 0; + } + identifiers[id]++; + } + function removeId(id) { + context.identifiers[id]--; + } + return context; +} +function transform(root, options) { + const context = createTransformContext(root, options); + traverseNode(root, context); + if (options.hoistStatic) { + cacheStatic(root, context); + } + if (!options.ssr) { + createRootCodegen(root, context); + } + root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]); + root.components = [...context.components]; + root.directives = [...context.directives]; + root.imports = context.imports; + root.hoists = context.hoists; + root.temps = context.temps; + root.cached = context.cached; + root.transformed = true; + { + root.filters = [...context.filters]; + } +} +function createRootCodegen(root, context) { + const { helper } = context; + const { children } = root; + if (children.length === 1) { + const singleElementRootChild = getSingleElementRoot(root); + if (singleElementRootChild && singleElementRootChild.codegenNode) { + const codegenNode = singleElementRootChild.codegenNode; + if (codegenNode.type === 13) { + convertToBlock(codegenNode, context); + } + root.codegenNode = codegenNode; + } else { + root.codegenNode = children[0]; + } + } else if (children.length > 1) { + let patchFlag = 64; + root.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + root.children, + patchFlag, + void 0, + void 0, + true, + void 0, + false + ); + } else ; +} +function traverseChildren(parent, context) { + let i = 0; + const nodeRemoved = () => { + i--; + }; + for (; i < parent.children.length; i++) { + const child = parent.children[i]; + if (shared.isString(child)) continue; + context.grandParent = context.parent; + context.parent = parent; + context.childIndex = i; + context.onNodeRemoved = nodeRemoved; + traverseNode(child, context); + } +} +function traverseNode(node, context) { + context.currentNode = node; + const { nodeTransforms } = context; + const exitFns = []; + for (let i2 = 0; i2 < nodeTransforms.length; i2++) { + const onExit = nodeTransforms[i2](node, context); + if (onExit) { + if (shared.isArray(onExit)) { + exitFns.push(...onExit); + } else { + exitFns.push(onExit); + } + } + if (!context.currentNode) { + return; + } else { + node = context.currentNode; + } + } + switch (node.type) { + case 3: + if (!context.ssr) { + context.helper(CREATE_COMMENT); + } + break; + case 5: + if (!context.ssr) { + context.helper(TO_DISPLAY_STRING); + } + break; + // for container types, further traverse downwards + case 9: + for (let i2 = 0; i2 < node.branches.length; i2++) { + traverseNode(node.branches[i2], context); + } + break; + case 10: + case 11: + case 1: + case 0: + traverseChildren(node, context); + break; + } + context.currentNode = node; + let i = exitFns.length; + while (i--) { + exitFns[i](); + } +} +function createStructuralDirectiveTransform(name, fn) { + const matches = shared.isString(name) ? (n) => n === name : (n) => name.test(n); + return (node, context) => { + if (node.type === 1) { + const { props } = node; + if (node.tagType === 3 && props.some(isVSlot)) { + return; + } + const exitFns = []; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 7 && matches(prop.name)) { + props.splice(i, 1); + i--; + const onExit = fn(node, prop, context); + if (onExit) exitFns.push(onExit); + } + } + return exitFns; + } + }; +} + +const PURE_ANNOTATION = `/*@__PURE__*/`; +const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`; +function createCodegenContext(ast, { + mode = "function", + prefixIdentifiers = mode === "module", + sourceMap = false, + filename = `template.vue.html`, + scopeId = null, + optimizeImports = false, + runtimeGlobalName = `Vue`, + runtimeModuleName = `vue`, + ssrRuntimeModuleName = "vue/server-renderer", + ssr = false, + isTS = false, + inSSR = false +}) { + const context = { + mode, + prefixIdentifiers, + sourceMap, + filename, + scopeId, + optimizeImports, + runtimeGlobalName, + runtimeModuleName, + ssrRuntimeModuleName, + ssr, + isTS, + inSSR, + source: ast.source, + code: ``, + column: 1, + line: 1, + offset: 0, + indentLevel: 0, + pure: false, + map: void 0, + helper(key) { + return `_${helperNameMap[key]}`; + }, + push(code, newlineIndex = -2 /* None */, node) { + context.code += code; + if (context.map) { + if (node) { + let name; + if (node.type === 4 && !node.isStatic) { + const content = node.content.replace(/^_ctx\./, ""); + if (content !== node.content && isSimpleIdentifier(content)) { + name = content; + } + } + if (node.loc.source) { + addMapping(node.loc.start, name); + } + } + if (newlineIndex === -3 /* Unknown */) { + advancePositionWithMutation(context, code); + } else { + context.offset += code.length; + if (newlineIndex === -2 /* None */) { + context.column += code.length; + } else { + if (newlineIndex === -1 /* End */) { + newlineIndex = code.length - 1; + } + context.line++; + context.column = code.length - newlineIndex; + } + } + if (node && node.loc !== locStub && node.loc.source) { + addMapping(node.loc.end); + } + } + }, + indent() { + newline(++context.indentLevel); + }, + deindent(withoutNewLine = false) { + if (withoutNewLine) { + --context.indentLevel; + } else { + newline(--context.indentLevel); + } + }, + newline() { + newline(context.indentLevel); + } + }; + function newline(n) { + context.push("\n" + ` `.repeat(n), 0 /* Start */); + } + function addMapping(loc, name = null) { + const { _names, _mappings } = context.map; + if (name !== null && !_names.has(name)) _names.add(name); + _mappings.add({ + originalLine: loc.line, + originalColumn: loc.column - 1, + // source-map column is 0 based + generatedLine: context.line, + generatedColumn: context.column - 1, + source: filename, + name + }); + } + if (sourceMap) { + context.map = new sourceMapJs.SourceMapGenerator(); + context.map.setSourceContent(filename, context.source); + context.map._sources.add(filename); + } + return context; +} +function generate(ast, options = {}) { + const context = createCodegenContext(ast, options); + if (options.onContextCreated) options.onContextCreated(context); + const { + mode, + push, + prefixIdentifiers, + indent, + deindent, + newline, + scopeId, + ssr + } = context; + const helpers = Array.from(ast.helpers); + const hasHelpers = helpers.length > 0; + const useWithBlock = !prefixIdentifiers && mode !== "module"; + const genScopeId = scopeId != null && mode === "module"; + const isSetupInlined = !!options.inline; + const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context; + if (mode === "module") { + genModulePreamble(ast, preambleContext, genScopeId, isSetupInlined); + } else { + genFunctionPreamble(ast, preambleContext); + } + const functionName = ssr ? `ssrRender` : `render`; + const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"]; + if (options.bindingMetadata && !options.inline) { + args.push("$props", "$setup", "$data", "$options"); + } + const signature = options.isTS ? args.map((arg) => `${arg}: any`).join(",") : args.join(", "); + if (isSetupInlined) { + push(`(${signature}) => {`); + } else { + push(`function ${functionName}(${signature}) {`); + } + indent(); + if (useWithBlock) { + push(`with (_ctx) {`); + indent(); + if (hasHelpers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = _Vue +`, + -1 /* End */ + ); + newline(); + } + } + if (ast.components.length) { + genAssets(ast.components, "component", context); + if (ast.directives.length || ast.temps > 0) { + newline(); + } + } + if (ast.directives.length) { + genAssets(ast.directives, "directive", context); + if (ast.temps > 0) { + newline(); + } + } + if (ast.filters && ast.filters.length) { + newline(); + genAssets(ast.filters, "filter", context); + newline(); + } + if (ast.temps > 0) { + push(`let `); + for (let i = 0; i < ast.temps; i++) { + push(`${i > 0 ? `, ` : ``}_temp${i}`); + } + } + if (ast.components.length || ast.directives.length || ast.temps) { + push(` +`, 0 /* Start */); + newline(); + } + if (!ssr) { + push(`return `); + } + if (ast.codegenNode) { + genNode(ast.codegenNode, context); + } else { + push(`null`); + } + if (useWithBlock) { + deindent(); + push(`}`); + } + deindent(); + push(`}`); + return { + ast, + code: context.code, + preamble: isSetupInlined ? preambleContext.code : ``, + map: context.map ? context.map.toJSON() : void 0 + }; +} +function genFunctionPreamble(ast, context) { + const { + ssr, + prefixIdentifiers, + push, + newline, + runtimeModuleName, + runtimeGlobalName, + ssrRuntimeModuleName + } = context; + const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName; + const helpers = Array.from(ast.helpers); + if (helpers.length > 0) { + if (prefixIdentifiers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding} +`, + -1 /* End */ + ); + } else { + push(`const _Vue = ${VueBinding} +`, -1 /* End */); + if (ast.hoists.length) { + const staticHelpers = [ + CREATE_VNODE, + CREATE_ELEMENT_VNODE, + CREATE_COMMENT, + CREATE_TEXT, + CREATE_STATIC + ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", "); + push(`const { ${staticHelpers} } = _Vue +`, -1 /* End */); + } + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}") +`, + -1 /* End */ + ); + } + genHoists(ast.hoists, context); + newline(); + push(`return `); +} +function genModulePreamble(ast, context, genScopeId, inline) { + const { + push, + newline, + optimizeImports, + runtimeModuleName, + ssrRuntimeModuleName + } = context; + if (ast.helpers.size) { + const helpers = Array.from(ast.helpers); + if (optimizeImports) { + push( + `import { ${helpers.map((s) => helperNameMap[s]).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + push( + ` +// Binding optimization for webpack code-split +const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(", ")} +`, + -1 /* End */ + ); + } else { + push( + `import { ${helpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `import { ${ast.ssrHelpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from "${ssrRuntimeModuleName}" +`, + -1 /* End */ + ); + } + if (ast.imports.length) { + genImports(ast.imports, context); + newline(); + } + genHoists(ast.hoists, context); + newline(); + if (!inline) { + push(`export `); + } +} +function genAssets(assets, type, { helper, push, newline, isTS }) { + const resolver = helper( + type === "filter" ? RESOLVE_FILTER : type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE + ); + for (let i = 0; i < assets.length; i++) { + let id = assets[i]; + const maybeSelfReference = id.endsWith("__self"); + if (maybeSelfReference) { + id = id.slice(0, -6); + } + push( + `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}` + ); + if (i < assets.length - 1) { + newline(); + } + } +} +function genHoists(hoists, context) { + if (!hoists.length) { + return; + } + context.pure = true; + const { push, newline } = context; + newline(); + for (let i = 0; i < hoists.length; i++) { + const exp = hoists[i]; + if (exp) { + push(`const _hoisted_${i + 1} = `); + genNode(exp, context); + newline(); + } + } + context.pure = false; +} +function genImports(importsOptions, context) { + if (!importsOptions.length) { + return; + } + importsOptions.forEach((imports) => { + context.push(`import `); + genNode(imports.exp, context); + context.push(` from '${imports.path}'`); + context.newline(); + }); +} +function isText(n) { + return shared.isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8; +} +function genNodeListAsArray(nodes, context) { + const multilines = nodes.length > 3 || nodes.some((n) => shared.isArray(n) || !isText(n)); + context.push(`[`); + multilines && context.indent(); + genNodeList(nodes, context, multilines); + multilines && context.deindent(); + context.push(`]`); +} +function genNodeList(nodes, context, multilines = false, comma = true) { + const { push, newline } = context; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (shared.isString(node)) { + push(node, -3 /* Unknown */); + } else if (shared.isArray(node)) { + genNodeListAsArray(node, context); + } else { + genNode(node, context); + } + if (i < nodes.length - 1) { + if (multilines) { + comma && push(","); + newline(); + } else { + comma && push(", "); + } + } + } +} +function genNode(node, context) { + if (shared.isString(node)) { + context.push(node, -3 /* Unknown */); + return; + } + if (shared.isSymbol(node)) { + context.push(context.helper(node)); + return; + } + switch (node.type) { + case 1: + case 9: + case 11: + genNode(node.codegenNode, context); + break; + case 2: + genText(node, context); + break; + case 4: + genExpression(node, context); + break; + case 5: + genInterpolation(node, context); + break; + case 12: + genNode(node.codegenNode, context); + break; + case 8: + genCompoundExpression(node, context); + break; + case 3: + genComment(node, context); + break; + case 13: + genVNodeCall(node, context); + break; + case 14: + genCallExpression(node, context); + break; + case 15: + genObjectExpression(node, context); + break; + case 17: + genArrayExpression(node, context); + break; + case 18: + genFunctionExpression(node, context); + break; + case 19: + genConditionalExpression(node, context); + break; + case 20: + genCacheExpression(node, context); + break; + case 21: + genNodeList(node.body, context, true, false); + break; + // SSR only types + case 22: + genTemplateLiteral(node, context); + break; + case 23: + genIfStatement(node, context); + break; + case 24: + genAssignmentExpression(node, context); + break; + case 25: + genSequenceExpression(node, context); + break; + case 26: + genReturnStatement(node, context); + break; + } +} +function genText(node, context) { + context.push(JSON.stringify(node.content), -3 /* Unknown */, node); +} +function genExpression(node, context) { + const { content, isStatic } = node; + context.push( + isStatic ? JSON.stringify(content) : content, + -3 /* Unknown */, + node + ); +} +function genInterpolation(node, context) { + const { push, helper, pure } = context; + if (pure) push(PURE_ANNOTATION); + push(`${helper(TO_DISPLAY_STRING)}(`); + genNode(node.content, context); + push(`)`); +} +function genCompoundExpression(node, context) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child)) { + context.push(child, -3 /* Unknown */); + } else { + genNode(child, context); + } + } +} +function genExpressionAsPropertyKey(node, context) { + const { push } = context; + if (node.type === 8) { + push(`[`); + genCompoundExpression(node, context); + push(`]`); + } else if (node.isStatic) { + const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content); + push(text, -2 /* None */, node); + } else { + push(`[${node.content}]`, -3 /* Unknown */, node); + } +} +function genComment(node, context) { + const { push, helper, pure } = context; + if (pure) { + push(PURE_ANNOTATION); + } + push( + `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, + -3 /* Unknown */, + node + ); +} +function genVNodeCall(node, context) { + const { push, helper, pure } = context; + const { + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent + } = node; + let patchFlagString; + if (patchFlag) { + { + patchFlagString = String(patchFlag); + } + } + if (directives) { + push(helper(WITH_DIRECTIVES) + `(`); + } + if (isBlock) { + push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `); + } + if (pure) { + push(PURE_ANNOTATION); + } + const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent); + push(helper(callHelper) + `(`, -2 /* None */, node); + genNodeList( + genNullableArgs([tag, props, children, patchFlagString, dynamicProps]), + context + ); + push(`)`); + if (isBlock) { + push(`)`); + } + if (directives) { + push(`, `); + genNode(directives, context); + push(`)`); + } +} +function genNullableArgs(args) { + let i = args.length; + while (i--) { + if (args[i] != null) break; + } + return args.slice(0, i + 1).map((arg) => arg || `null`); +} +function genCallExpression(node, context) { + const { push, helper, pure } = context; + const callee = shared.isString(node.callee) ? node.callee : helper(node.callee); + if (pure) { + push(PURE_ANNOTATION); + } + push(callee + `(`, -2 /* None */, node); + genNodeList(node.arguments, context); + push(`)`); +} +function genObjectExpression(node, context) { + const { push, indent, deindent, newline } = context; + const { properties } = node; + if (!properties.length) { + push(`{}`, -2 /* None */, node); + return; + } + const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4); + push(multilines ? `{` : `{ `); + multilines && indent(); + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + genExpressionAsPropertyKey(key, context); + push(`: `); + genNode(value, context); + if (i < properties.length - 1) { + push(`,`); + newline(); + } + } + multilines && deindent(); + push(multilines ? `}` : ` }`); +} +function genArrayExpression(node, context) { + genNodeListAsArray(node.elements, context); +} +function genFunctionExpression(node, context) { + const { push, indent, deindent } = context; + const { params, returns, body, newline, isSlot } = node; + if (isSlot) { + push(`_${helperNameMap[WITH_CTX]}(`); + } + push(`(`, -2 /* None */, node); + if (shared.isArray(params)) { + genNodeList(params, context); + } else if (params) { + genNode(params, context); + } + push(`) => `); + if (newline || body) { + push(`{`); + indent(); + } + if (returns) { + if (newline) { + push(`return `); + } + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } + } else if (body) { + genNode(body, context); + } + if (newline || body) { + deindent(); + push(`}`); + } + if (isSlot) { + if (node.isNonScopedSlot) { + push(`, undefined, true`); + } + push(`)`); + } +} +function genConditionalExpression(node, context) { + const { test, consequent, alternate, newline: needNewline } = node; + const { push, indent, deindent, newline } = context; + if (test.type === 4) { + const needsParens = !isSimpleIdentifier(test.content); + needsParens && push(`(`); + genExpression(test, context); + needsParens && push(`)`); + } else { + push(`(`); + genNode(test, context); + push(`)`); + } + needNewline && indent(); + context.indentLevel++; + needNewline || push(` `); + push(`? `); + genNode(consequent, context); + context.indentLevel--; + needNewline && newline(); + needNewline || push(` `); + push(`: `); + const isNested = alternate.type === 19; + if (!isNested) { + context.indentLevel++; + } + genNode(alternate, context); + if (!isNested) { + context.indentLevel--; + } + needNewline && deindent( + true + /* without newline */ + ); +} +function genCacheExpression(node, context) { + const { push, helper, indent, deindent, newline } = context; + const { needPauseTracking, needArraySpread } = node; + if (needArraySpread) { + push(`[...(`); + } + push(`_cache[${node.index}] || (`); + if (needPauseTracking) { + indent(); + push(`${helper(SET_BLOCK_TRACKING)}(-1`); + if (node.inVOnce) push(`, true`); + push(`),`); + newline(); + push(`(`); + } + push(`_cache[${node.index}] = `); + genNode(node.value, context); + if (needPauseTracking) { + push(`).cacheIndex = ${node.index},`); + newline(); + push(`${helper(SET_BLOCK_TRACKING)}(1),`); + newline(); + push(`_cache[${node.index}]`); + deindent(); + } + push(`)`); + if (needArraySpread) { + push(`)]`); + } +} +function genTemplateLiteral(node, context) { + const { push, indent, deindent } = context; + push("`"); + const l = node.elements.length; + const multilines = l > 3; + for (let i = 0; i < l; i++) { + const e = node.elements[i]; + if (shared.isString(e)) { + push(e.replace(/(`|\$|\\)/g, "\\$1"), -3 /* Unknown */); + } else { + push("${"); + if (multilines) indent(); + genNode(e, context); + if (multilines) deindent(); + push("}"); + } + } + push("`"); +} +function genIfStatement(node, context) { + const { push, indent, deindent } = context; + const { test, consequent, alternate } = node; + push(`if (`); + genNode(test, context); + push(`) {`); + indent(); + genNode(consequent, context); + deindent(); + push(`}`); + if (alternate) { + push(` else `); + if (alternate.type === 23) { + genIfStatement(alternate, context); + } else { + push(`{`); + indent(); + genNode(alternate, context); + deindent(); + push(`}`); + } + } +} +function genAssignmentExpression(node, context) { + genNode(node.left, context); + context.push(` = `); + genNode(node.right, context); +} +function genSequenceExpression(node, context) { + context.push(`(`); + genNodeList(node.expressions, context); + context.push(`)`); +} +function genReturnStatement({ returns }, context) { + context.push(`return `); + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } +} + +const isLiteralWhitelisted = /* @__PURE__ */ shared.makeMap("true,false,null,this"); +const transformExpression = (node, context) => { + if (node.type === 5) { + node.content = processExpression( + node.content, + context + ); + } else if (node.type === 1) { + const memo = findDir(node, "memo"); + for (let i = 0; i < node.props.length; i++) { + const dir = node.props[i]; + if (dir.type === 7 && dir.name !== "for") { + const exp = dir.exp; + const arg = dir.arg; + if (exp && exp.type === 4 && !(dir.name === "on" && arg) && // key has been processed in transformFor(vMemo + vFor) + !(memo && arg && arg.type === 4 && arg.content === "key")) { + dir.exp = processExpression( + exp, + context, + // slot args must be processed as function params + dir.name === "slot" + ); + } + if (arg && arg.type === 4 && !arg.isStatic) { + dir.arg = processExpression(arg, context); + } + } + } + } +}; +function processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) { + if (!context.prefixIdentifiers || !node.content.trim()) { + return node; + } + const { inline, bindingMetadata } = context; + const rewriteIdentifier = (raw, parent, id) => { + const type = shared.hasOwn(bindingMetadata, raw) && bindingMetadata[raw]; + if (inline) { + const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id; + const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id; + const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack); + const isNewExpression = parent && isInNewExpression(parentStack); + const wrapWithUnref = (raw2) => { + const wrapped = `${context.helperString(UNREF)}(${raw2})`; + return isNewExpression ? `(${wrapped})` : wrapped; + }; + if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) { + return raw; + } else if (type === "setup-ref") { + return `${raw}.value`; + } else if (type === "setup-maybe-ref") { + return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw); + } else if (type === "setup-let") { + if (isAssignmentLVal) { + const { right: rVal, operator } = parent; + const rExp = rawExp.slice(rVal.start - 1, rVal.end - 1); + const rExpString = stringifyExpression( + processExpression( + createSimpleExpression(rExp, false), + context, + false, + false, + knownIds + ) + ); + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`; + } else if (isUpdateArg) { + id.start = parent.start; + id.end = parent.end; + const { prefix: isPrefix, operator } = parent; + const prefix = isPrefix ? operator : ``; + const postfix = isPrefix ? `` : operator; + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`; + } else if (isDestructureAssignment) { + return raw; + } else { + return wrapWithUnref(raw); + } + } else if (type === "props") { + return shared.genPropsAccessExp(raw); + } else if (type === "props-aliased") { + return shared.genPropsAccessExp(bindingMetadata.__propsAliases[raw]); + } + } else { + if (type && type.startsWith("setup") || type === "literal-const") { + return `$setup.${raw}`; + } else if (type === "props-aliased") { + return `$props['${bindingMetadata.__propsAliases[raw]}']`; + } else if (type) { + return `$${type}.${raw}`; + } + } + return `_ctx.${raw}`; + }; + const rawExp = node.content; + let ast = node.ast; + if (ast === false) { + return node; + } + if (ast === null || !ast && isSimpleIdentifier(rawExp)) { + const isScopeVarReference = context.identifiers[rawExp]; + const isAllowedGlobal = shared.isGloballyAllowed(rawExp); + const isLiteral = isLiteralWhitelisted(rawExp); + if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) { + if (isConst(bindingMetadata[rawExp])) { + node.constType = 1; + } + node.content = rewriteIdentifier(rawExp); + } else if (!isScopeVarReference) { + if (isLiteral) { + node.constType = 3; + } else { + node.constType = 2; + } + } + return node; + } + if (!ast) { + const source = asRawStatements ? ` ${rawExp} ` : `(${rawExp})${asParams ? `=>{}` : ``}`; + try { + ast = parser.parseExpression(source, { + sourceType: "module", + plugins: context.expressionPlugins + }); + } catch (e) { + context.onError( + createCompilerError( + 45, + node.loc, + void 0, + e.message + ) + ); + return node; + } + } + const ids = []; + const parentStack = []; + const knownIds = Object.create(context.identifiers); + walkIdentifiers( + ast, + (node2, parent, _, isReferenced, isLocal) => { + if (isStaticPropertyKey(node2, parent)) { + return; + } + if (node2.name.startsWith("_filter_")) { + return; + } + const needPrefix = isReferenced && canPrefix(node2); + if (needPrefix && !isLocal) { + if (isStaticProperty(parent) && parent.shorthand) { + node2.prefix = `${node2.name}: `; + } + node2.name = rewriteIdentifier(node2.name, parent, node2); + ids.push(node2); + } else { + if (!(needPrefix && isLocal) && (!parent || parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression")) { + node2.isConstant = true; + } + ids.push(node2); + } + }, + true, + // invoke on ALL identifiers + parentStack, + knownIds + ); + const children = []; + ids.sort((a, b) => a.start - b.start); + ids.forEach((id, i) => { + const start = id.start - 1; + const end = id.end - 1; + const last = ids[i - 1]; + const leadingText = rawExp.slice(last ? last.end - 1 : 0, start); + if (leadingText.length || id.prefix) { + children.push(leadingText + (id.prefix || ``)); + } + const source = rawExp.slice(start, end); + children.push( + createSimpleExpression( + id.name, + false, + { + start: advancePositionWithClone(node.loc.start, source, start), + end: advancePositionWithClone(node.loc.start, source, end), + source + }, + id.isConstant ? 3 : 0 + ) + ); + if (i === ids.length - 1 && end < rawExp.length) { + children.push(rawExp.slice(end)); + } + }); + let ret; + if (children.length) { + ret = createCompoundExpression(children, node.loc); + ret.ast = ast; + } else { + ret = node; + ret.constType = 3; + } + ret.identifiers = Object.keys(knownIds); + return ret; +} +function canPrefix(id) { + if (shared.isGloballyAllowed(id.name)) { + return false; + } + if (id.name === "require") { + return false; + } + return true; +} +function stringifyExpression(exp) { + if (shared.isString(exp)) { + return exp; + } else if (exp.type === 4) { + return exp.content; + } else { + return exp.children.map(stringifyExpression).join(""); + } +} +function isConst(type) { + return type === "setup-const" || type === "literal-const"; +} + +const transformIf = createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + (node, dir, context) => { + return processIf(node, dir, context, (ifNode, branch, isRoot) => { + const siblings = context.parent.children; + let i = siblings.indexOf(ifNode); + let key = 0; + while (i-- >= 0) { + const sibling = siblings[i]; + if (sibling && sibling.type === 9) { + key += sibling.branches.length; + } + } + return () => { + if (isRoot) { + ifNode.codegenNode = createCodegenNodeForBranch( + branch, + key, + context + ); + } else { + const parentCondition = getParentCondition(ifNode.codegenNode); + parentCondition.alternate = createCodegenNodeForBranch( + branch, + key + ifNode.branches.length - 1, + context + ); + } + }; + }); + } +); +function processIf(node, dir, context, processCodegen) { + if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) { + const loc = dir.exp ? dir.exp.loc : node.loc; + context.onError( + createCompilerError(28, dir.loc) + ); + dir.exp = createSimpleExpression(`true`, false, loc); + } + if (context.prefixIdentifiers && dir.exp) { + dir.exp = processExpression(dir.exp, context); + } + if (dir.name === "if") { + const branch = createIfBranch(node, dir); + const ifNode = { + type: 9, + loc: cloneLoc(node.loc), + branches: [branch] + }; + context.replaceNode(ifNode); + if (processCodegen) { + return processCodegen(ifNode, branch, true); + } + } else { + const siblings = context.parent.children; + let i = siblings.indexOf(node); + while (i-- >= -1) { + const sibling = siblings[i]; + if (sibling && sibling.type === 3) { + context.removeNode(sibling); + continue; + } + if (sibling && sibling.type === 2 && !sibling.content.trim().length) { + context.removeNode(sibling); + continue; + } + if (sibling && sibling.type === 9) { + if ((dir.name === "else-if" || dir.name === "else") && sibling.branches[sibling.branches.length - 1].condition === void 0) { + context.onError( + createCompilerError(30, node.loc) + ); + } + context.removeNode(); + const branch = createIfBranch(node, dir); + { + const key = branch.userKey; + if (key) { + sibling.branches.forEach(({ userKey }) => { + if (isSameKey(userKey, key)) { + context.onError( + createCompilerError( + 29, + branch.userKey.loc + ) + ); + } + }); + } + } + sibling.branches.push(branch); + const onExit = processCodegen && processCodegen(sibling, branch, false); + traverseNode(branch, context); + if (onExit) onExit(); + context.currentNode = null; + } else { + context.onError( + createCompilerError(30, node.loc) + ); + } + break; + } + } +} +function createIfBranch(node, dir) { + const isTemplateIf = node.tagType === 3; + return { + type: 10, + loc: node.loc, + condition: dir.name === "else" ? void 0 : dir.exp, + children: isTemplateIf && !findDir(node, "for") ? node.children : [node], + userKey: findProp(node, `key`), + isTemplateIf + }; +} +function createCodegenNodeForBranch(branch, keyIndex, context) { + if (branch.condition) { + return createConditionalExpression( + branch.condition, + createChildrenCodegenNode(branch, keyIndex, context), + // make sure to pass in asBlock: true so that the comment node call + // closes the current block. + createCallExpression(context.helper(CREATE_COMMENT), [ + '""', + "true" + ]) + ); + } else { + return createChildrenCodegenNode(branch, keyIndex, context); + } +} +function createChildrenCodegenNode(branch, keyIndex, context) { + const { helper } = context; + const keyProperty = createObjectProperty( + `key`, + createSimpleExpression( + `${keyIndex}`, + false, + locStub, + 2 + ) + ); + const { children } = branch; + const firstChild = children[0]; + const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1; + if (needFragmentWrapper) { + if (children.length === 1 && firstChild.type === 11) { + const vnodeCall = firstChild.codegenNode; + injectProp(vnodeCall, keyProperty, context); + return vnodeCall; + } else { + let patchFlag = 64; + return createVNodeCall( + context, + helper(FRAGMENT), + createObjectExpression([keyProperty]), + children, + patchFlag, + void 0, + void 0, + true, + false, + false, + branch.loc + ); + } + } else { + const ret = firstChild.codegenNode; + const vnodeCall = getMemoedVNodeCall(ret); + if (vnodeCall.type === 13) { + convertToBlock(vnodeCall, context); + } + injectProp(vnodeCall, keyProperty, context); + return ret; + } +} +function isSameKey(a, b) { + if (!a || a.type !== b.type) { + return false; + } + if (a.type === 6) { + if (a.value.content !== b.value.content) { + return false; + } + } else { + const exp = a.exp; + const branchExp = b.exp; + if (exp.type !== branchExp.type) { + return false; + } + if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) { + return false; + } + } + return true; +} +function getParentCondition(node) { + while (true) { + if (node.type === 19) { + if (node.alternate.type === 19) { + node = node.alternate; + } else { + return node; + } + } else if (node.type === 20) { + node = node.value; + } + } +} + +const transformFor = createStructuralDirectiveTransform( + "for", + (node, dir, context) => { + const { helper, removeHelper } = context; + return processFor(node, dir, context, (forNode) => { + const renderExp = createCallExpression(helper(RENDER_LIST), [ + forNode.source + ]); + const isTemplate = isTemplateNode(node); + const memo = findDir(node, "memo"); + const keyProp = findProp(node, `key`, false, true); + const isDirKey = keyProp && keyProp.type === 7; + let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp); + if (memo && keyExp && isDirKey) { + { + keyProp.exp = keyExp = processExpression( + keyExp, + context + ); + } + } + const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null; + if (isTemplate) { + if (memo) { + memo.exp = processExpression( + memo.exp, + context + ); + } + if (keyProperty && keyProp.type !== 6) { + keyProperty.value = processExpression( + keyProperty.value, + context + ); + } + } + const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0; + const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256; + forNode.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + renderExp, + fragmentFlag, + void 0, + void 0, + true, + !isStableFragment, + false, + node.loc + ); + return () => { + let childBlock; + const { children } = forNode; + if (isTemplate) { + node.children.some((c) => { + if (c.type === 1) { + const key = findProp(c, "key"); + if (key) { + context.onError( + createCompilerError( + 33, + key.loc + ) + ); + return true; + } + } + }); + } + const needFragmentWrapper = children.length !== 1 || children[0].type !== 1; + const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null; + if (slotOutlet) { + childBlock = slotOutlet.codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + } else if (needFragmentWrapper) { + childBlock = createVNodeCall( + context, + helper(FRAGMENT), + keyProperty ? createObjectExpression([keyProperty]) : void 0, + node.children, + 64, + void 0, + void 0, + true, + void 0, + false + ); + } else { + childBlock = children[0].codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + if (childBlock.isBlock !== !isStableFragment) { + if (childBlock.isBlock) { + removeHelper(OPEN_BLOCK); + removeHelper( + getVNodeBlockHelper(context.inSSR, childBlock.isComponent) + ); + } else { + removeHelper( + getVNodeHelper(context.inSSR, childBlock.isComponent) + ); + } + } + childBlock.isBlock = !isStableFragment; + if (childBlock.isBlock) { + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent)); + } else { + helper(getVNodeHelper(context.inSSR, childBlock.isComponent)); + } + } + if (memo) { + const loop = createFunctionExpression( + createForLoopParams(forNode.parseResult, [ + createSimpleExpression(`_cached`) + ]) + ); + loop.body = createBlockStatement([ + createCompoundExpression([`const _memo = (`, memo.exp, `)`]), + createCompoundExpression([ + `if (_cached`, + ...keyExp ? [` && _cached.key === `, keyExp] : [], + ` && ${context.helperString( + IS_MEMO_SAME + )}(_cached, _memo)) return _cached` + ]), + createCompoundExpression([`const _item = `, childBlock]), + createSimpleExpression(`_item.memo = _memo`), + createSimpleExpression(`return _item`) + ]); + renderExp.arguments.push( + loop, + createSimpleExpression(`_cache`), + createSimpleExpression(String(context.cached.length)) + ); + context.cached.push(null); + } else { + renderExp.arguments.push( + createFunctionExpression( + createForLoopParams(forNode.parseResult), + childBlock, + true + ) + ); + } + }; + }); + } +); +function processFor(node, dir, context, processCodegen) { + if (!dir.exp) { + context.onError( + createCompilerError(31, dir.loc) + ); + return; + } + const parseResult = dir.forParseResult; + if (!parseResult) { + context.onError( + createCompilerError(32, dir.loc) + ); + return; + } + finalizeForParseResult(parseResult, context); + const { addIdentifiers, removeIdentifiers, scopes } = context; + const { source, value, key, index } = parseResult; + const forNode = { + type: 11, + loc: dir.loc, + source, + valueAlias: value, + keyAlias: key, + objectIndexAlias: index, + parseResult, + children: isTemplateNode(node) ? node.children : [node] + }; + context.replaceNode(forNode); + scopes.vFor++; + if (context.prefixIdentifiers) { + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + } + const onExit = processCodegen && processCodegen(forNode); + return () => { + scopes.vFor--; + if (context.prefixIdentifiers) { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + } + if (onExit) onExit(); + }; +} +function finalizeForParseResult(result, context) { + if (result.finalized) return; + if (context.prefixIdentifiers) { + result.source = processExpression( + result.source, + context + ); + if (result.key) { + result.key = processExpression( + result.key, + context, + true + ); + } + if (result.index) { + result.index = processExpression( + result.index, + context, + true + ); + } + if (result.value) { + result.value = processExpression( + result.value, + context, + true + ); + } + } + result.finalized = true; +} +function createForLoopParams({ value, key, index }, memoArgs = []) { + return createParamsList([value, key, index, ...memoArgs]); +} +function createParamsList(args) { + let i = args.length; + while (i--) { + if (args[i]) break; + } + return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false)); +} + +const defaultFallback = createSimpleExpression(`undefined`, false); +const trackSlotScopes = (node, context) => { + if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) { + const vSlot = findDir(node, "slot"); + if (vSlot) { + const slotProps = vSlot.exp; + if (context.prefixIdentifiers) { + slotProps && context.addIdentifiers(slotProps); + } + context.scopes.vSlot++; + return () => { + if (context.prefixIdentifiers) { + slotProps && context.removeIdentifiers(slotProps); + } + context.scopes.vSlot--; + }; + } + } +}; +const trackVForSlotScopes = (node, context) => { + let vFor; + if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, "for"))) { + const result = vFor.forParseResult; + if (result) { + finalizeForParseResult(result, context); + const { value, key, index } = result; + const { addIdentifiers, removeIdentifiers } = context; + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + return () => { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + }; + } + } +}; +const buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression( + props, + children, + false, + true, + children.length ? children[0].loc : loc +); +function buildSlots(node, context, buildSlotFn = buildClientSlotFn) { + context.helper(WITH_CTX); + const { children, loc } = node; + const slotsProperties = []; + const dynamicSlots = []; + let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0; + if (!context.ssr && context.prefixIdentifiers) { + hasDynamicSlots = node.props.some( + (prop) => isVSlot(prop) && (hasScopeRef(prop.arg, context.identifiers) || hasScopeRef(prop.exp, context.identifiers)) + ) || children.some((child) => hasScopeRef(child, context.identifiers)); + } + const onComponentSlot = findDir(node, "slot", true); + if (onComponentSlot) { + const { arg, exp } = onComponentSlot; + if (arg && !isStaticExp(arg)) { + hasDynamicSlots = true; + } + slotsProperties.push( + createObjectProperty( + arg || createSimpleExpression("default", true), + buildSlotFn(exp, void 0, children, loc) + ) + ); + } + let hasTemplateSlots = false; + let hasNamedDefaultSlot = false; + const implicitDefaultChildren = []; + const seenSlotNames = /* @__PURE__ */ new Set(); + let conditionalBranchIndex = 0; + for (let i = 0; i < children.length; i++) { + const slotElement = children[i]; + let slotDir; + if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) { + if (slotElement.type !== 3) { + implicitDefaultChildren.push(slotElement); + } + continue; + } + if (onComponentSlot) { + context.onError( + createCompilerError(37, slotDir.loc) + ); + break; + } + hasTemplateSlots = true; + const { children: slotChildren, loc: slotLoc } = slotElement; + const { + arg: slotName = createSimpleExpression(`default`, true), + exp: slotProps, + loc: dirLoc + } = slotDir; + let staticSlotName; + if (isStaticExp(slotName)) { + staticSlotName = slotName ? slotName.content : `default`; + } else { + hasDynamicSlots = true; + } + const vFor = findDir(slotElement, "for"); + const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc); + let vIf; + let vElse; + if (vIf = findDir(slotElement, "if")) { + hasDynamicSlots = true; + dynamicSlots.push( + createConditionalExpression( + vIf.exp, + buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), + defaultFallback + ) + ); + } else if (vElse = findDir( + slotElement, + /^else(?:-if)?$/, + true + /* allowEmpty */ + )) { + let j = i; + let prev; + while (j--) { + prev = children[j]; + if (prev.type !== 3 && isNonWhitespaceContent(prev)) { + break; + } + } + if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) { + let conditional = dynamicSlots[dynamicSlots.length - 1]; + while (conditional.alternate.type === 19) { + conditional = conditional.alternate; + } + conditional.alternate = vElse.exp ? createConditionalExpression( + vElse.exp, + buildDynamicSlot( + slotName, + slotFunction, + conditionalBranchIndex++ + ), + defaultFallback + ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++); + } else { + context.onError( + createCompilerError(30, vElse.loc) + ); + } + } else if (vFor) { + hasDynamicSlots = true; + const parseResult = vFor.forParseResult; + if (parseResult) { + finalizeForParseResult(parseResult, context); + dynamicSlots.push( + createCallExpression(context.helper(RENDER_LIST), [ + parseResult.source, + createFunctionExpression( + createForLoopParams(parseResult), + buildDynamicSlot(slotName, slotFunction), + true + ) + ]) + ); + } else { + context.onError( + createCompilerError( + 32, + vFor.loc + ) + ); + } + } else { + if (staticSlotName) { + if (seenSlotNames.has(staticSlotName)) { + context.onError( + createCompilerError( + 38, + dirLoc + ) + ); + continue; + } + seenSlotNames.add(staticSlotName); + if (staticSlotName === "default") { + hasNamedDefaultSlot = true; + } + } + slotsProperties.push(createObjectProperty(slotName, slotFunction)); + } + } + if (!onComponentSlot) { + const buildDefaultSlotProperty = (props, children2) => { + const fn = buildSlotFn(props, void 0, children2, loc); + if (context.compatConfig) { + fn.isNonScopedSlot = true; + } + return createObjectProperty(`default`, fn); + }; + if (!hasTemplateSlots) { + slotsProperties.push(buildDefaultSlotProperty(void 0, children)); + } else if (implicitDefaultChildren.length && // #3766 + // with whitespace: 'preserve', whitespaces between slots will end up in + // implicitDefaultChildren. Ignore if all implicit children are whitespaces. + implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) { + if (hasNamedDefaultSlot) { + context.onError( + createCompilerError( + 39, + implicitDefaultChildren[0].loc + ) + ); + } else { + slotsProperties.push( + buildDefaultSlotProperty(void 0, implicitDefaultChildren) + ); + } + } + } + const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1; + let slots = createObjectExpression( + slotsProperties.concat( + createObjectProperty( + `_`, + // 2 = compiled but dynamic = can skip normalization, but must run diff + // 1 = compiled and static = can skip normalization AND diff as optimized + createSimpleExpression( + slotFlag + (``), + false + ) + ) + ), + loc + ); + if (dynamicSlots.length) { + slots = createCallExpression(context.helper(CREATE_SLOTS), [ + slots, + createArrayExpression(dynamicSlots) + ]); + } + return { + slots, + hasDynamicSlots + }; +} +function buildDynamicSlot(name, fn, index) { + const props = [ + createObjectProperty(`name`, name), + createObjectProperty(`fn`, fn) + ]; + if (index != null) { + props.push( + createObjectProperty(`key`, createSimpleExpression(String(index), true)) + ); + } + return createObjectExpression(props); +} +function hasForwardedSlots(children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + if (child.tagType === 2 || hasForwardedSlots(child.children)) { + return true; + } + break; + case 9: + if (hasForwardedSlots(child.branches)) return true; + break; + case 10: + case 11: + if (hasForwardedSlots(child.children)) return true; + break; + } + } + return false; +} +function isNonWhitespaceContent(node) { + if (node.type !== 2 && node.type !== 12) + return true; + return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content); +} + +const directiveImportMap = /* @__PURE__ */ new WeakMap(); +const transformElement = (node, context) => { + return function postTransformElement() { + node = context.currentNode; + if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) { + return; + } + const { tag, props } = node; + const isComponent = node.tagType === 1; + let vnodeTag = isComponent ? resolveComponentType(node, context) : `"${tag}"`; + const isDynamicComponent = shared.isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT; + let vnodeProps; + let vnodeChildren; + let patchFlag = 0; + let vnodeDynamicProps; + let dynamicPropNames; + let vnodeDirectives; + let shouldUseBlock = ( + // dynamic component may resolve to plain elements + isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block + // updates inside get proper isSVG flag at runtime. (#639, #643) + // This is technically web-specific, but splitting the logic out of core + // leads to too much unnecessary complexity. + (tag === "svg" || tag === "foreignObject" || tag === "math") + ); + if (props.length > 0) { + const propsBuildResult = buildProps( + node, + context, + void 0, + isComponent, + isDynamicComponent + ); + vnodeProps = propsBuildResult.props; + patchFlag = propsBuildResult.patchFlag; + dynamicPropNames = propsBuildResult.dynamicPropNames; + const directives = propsBuildResult.directives; + vnodeDirectives = directives && directives.length ? createArrayExpression( + directives.map((dir) => buildDirectiveArgs(dir, context)) + ) : void 0; + if (propsBuildResult.shouldUseBlock) { + shouldUseBlock = true; + } + } + if (node.children.length > 0) { + if (vnodeTag === KEEP_ALIVE) { + shouldUseBlock = true; + patchFlag |= 1024; + } + const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling + vnodeTag !== TELEPORT && // explained above. + vnodeTag !== KEEP_ALIVE; + if (shouldBuildAsSlots) { + const { slots, hasDynamicSlots } = buildSlots(node, context); + vnodeChildren = slots; + if (hasDynamicSlots) { + patchFlag |= 1024; + } + } else if (node.children.length === 1 && vnodeTag !== TELEPORT) { + const child = node.children[0]; + const type = child.type; + const hasDynamicTextChild = type === 5 || type === 8; + if (hasDynamicTextChild && getConstantType(child, context) === 0) { + patchFlag |= 1; + } + if (hasDynamicTextChild || type === 2) { + vnodeChildren = child; + } else { + vnodeChildren = node.children; + } + } else { + vnodeChildren = node.children; + } + } + if (dynamicPropNames && dynamicPropNames.length) { + vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames); + } + node.codegenNode = createVNodeCall( + context, + vnodeTag, + vnodeProps, + vnodeChildren, + patchFlag === 0 ? void 0 : patchFlag, + vnodeDynamicProps, + vnodeDirectives, + !!shouldUseBlock, + false, + isComponent, + node.loc + ); + }; +}; +function resolveComponentType(node, context, ssr = false) { + let { tag } = node; + const isExplicitDynamic = isComponentTag(tag); + const isProp = findProp( + node, + "is", + false, + true + /* allow empty */ + ); + if (isProp) { + if (isExplicitDynamic || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + )) { + let exp; + if (isProp.type === 6) { + exp = isProp.value && createSimpleExpression(isProp.value.content, true); + } else { + exp = isProp.exp; + if (!exp) { + exp = createSimpleExpression(`is`, false, isProp.arg.loc); + { + exp = isProp.exp = processExpression(exp, context); + } + } + } + if (exp) { + return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [ + exp + ]); + } + } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) { + tag = isProp.value.content.slice(4); + } + } + const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag); + if (builtIn) { + if (!ssr) context.helper(builtIn); + return builtIn; + } + { + const fromSetup = resolveSetupReference(tag, context); + if (fromSetup) { + return fromSetup; + } + const dotIndex = tag.indexOf("."); + if (dotIndex > 0) { + const ns = resolveSetupReference(tag.slice(0, dotIndex), context); + if (ns) { + return ns + tag.slice(dotIndex); + } + } + } + if (context.selfName && shared.capitalize(shared.camelize(tag)) === context.selfName) { + context.helper(RESOLVE_COMPONENT); + context.components.add(tag + `__self`); + return toValidAssetId(tag, `component`); + } + context.helper(RESOLVE_COMPONENT); + context.components.add(tag); + return toValidAssetId(tag, `component`); +} +function resolveSetupReference(name, context) { + const bindings = context.bindingMetadata; + if (!bindings || bindings.__isScriptSetup === false) { + return; + } + const camelName = shared.camelize(name); + const PascalName = shared.capitalize(camelName); + const checkType = (type) => { + if (bindings[name] === type) { + return name; + } + if (bindings[camelName] === type) { + return camelName; + } + if (bindings[PascalName] === type) { + return PascalName; + } + }; + const fromConst = checkType("setup-const") || checkType("setup-reactive-const") || checkType("literal-const"); + if (fromConst) { + return context.inline ? ( + // in inline mode, const setup bindings (e.g. imports) can be used as-is + fromConst + ) : `$setup[${JSON.stringify(fromConst)}]`; + } + const fromMaybeRef = checkType("setup-let") || checkType("setup-ref") || checkType("setup-maybe-ref"); + if (fromMaybeRef) { + return context.inline ? ( + // setup scope bindings that may be refs need to be unrefed + `${context.helperString(UNREF)}(${fromMaybeRef})` + ) : `$setup[${JSON.stringify(fromMaybeRef)}]`; + } + const fromProps = checkType("props"); + if (fromProps) { + return `${context.helperString(UNREF)}(${context.inline ? "__props" : "$props"}[${JSON.stringify(fromProps)}])`; + } +} +function buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) { + const { tag, loc: elementLoc, children } = node; + let properties = []; + const mergeArgs = []; + const runtimeDirectives = []; + const hasChildren = children.length > 0; + let shouldUseBlock = false; + let patchFlag = 0; + let hasRef = false; + let hasClassBinding = false; + let hasStyleBinding = false; + let hasHydrationEventBinding = false; + let hasDynamicKeys = false; + let hasVnodeHook = false; + const dynamicPropNames = []; + const pushMergeArg = (arg) => { + if (properties.length) { + mergeArgs.push( + createObjectExpression(dedupeProperties(properties), elementLoc) + ); + properties = []; + } + if (arg) mergeArgs.push(arg); + }; + const pushRefVForMarker = () => { + if (context.scopes.vFor > 0) { + properties.push( + createObjectProperty( + createSimpleExpression("ref_for", true), + createSimpleExpression("true") + ) + ); + } + }; + const analyzePatchFlag = ({ key, value }) => { + if (isStaticExp(key)) { + const name = key.content; + const isEventHandler = shared.isOn(name); + if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click + // dedicated fast path. + name.toLowerCase() !== "onclick" && // omit v-model handlers + name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks + !shared.isReservedProp(name)) { + hasHydrationEventBinding = true; + } + if (isEventHandler && shared.isReservedProp(name)) { + hasVnodeHook = true; + } + if (isEventHandler && value.type === 14) { + value = value.arguments[0]; + } + if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) { + return; + } + if (name === "ref") { + hasRef = true; + } else if (name === "class") { + hasClassBinding = true; + } else if (name === "style") { + hasStyleBinding = true; + } else if (name !== "key" && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + } else { + hasDynamicKeys = true; + } + }; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 6) { + const { loc, name, nameLoc, value } = prop; + let isStatic = true; + if (name === "ref") { + hasRef = true; + pushRefVForMarker(); + if (value && context.inline) { + const binding = context.bindingMetadata[value.content]; + if (binding === "setup-let" || binding === "setup-ref" || binding === "setup-maybe-ref") { + isStatic = false; + properties.push( + createObjectProperty( + createSimpleExpression("ref_key", true), + createSimpleExpression(value.content, true, value.loc) + ) + ); + } + } + } + if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + properties.push( + createObjectProperty( + createSimpleExpression(name, true, nameLoc), + createSimpleExpression( + value ? value.content : "", + isStatic, + value ? value.loc : loc + ) + ) + ); + } else { + const { name, arg, exp, loc, modifiers } = prop; + const isVBind = name === "bind"; + const isVOn = name === "on"; + if (name === "slot") { + if (!isComponent) { + context.onError( + createCompilerError(40, loc) + ); + } + continue; + } + if (name === "once" || name === "memo") { + continue; + } + if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + if (isVOn && ssr) { + continue; + } + if ( + // #938: elements with dynamic keys should be forced into blocks + isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked + // before children + isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update") + ) { + shouldUseBlock = true; + } + if (isVBind && isStaticArgOf(arg, "ref")) { + pushRefVForMarker(); + } + if (!arg && (isVBind || isVOn)) { + hasDynamicKeys = true; + if (exp) { + if (isVBind) { + { + pushMergeArg(); + if (isCompatEnabled( + "COMPILER_V_BIND_OBJECT_ORDER", + context + )) { + mergeArgs.unshift(exp); + continue; + } + } + pushRefVForMarker(); + pushMergeArg(); + mergeArgs.push(exp); + } else { + pushMergeArg({ + type: 14, + loc, + callee: context.helper(TO_HANDLERS), + arguments: isComponent ? [exp] : [exp, `true`] + }); + } + } else { + context.onError( + createCompilerError( + isVBind ? 34 : 35, + loc + ) + ); + } + continue; + } + if (isVBind && modifiers.some((mod) => mod.content === "prop")) { + patchFlag |= 32; + } + const directiveTransform = context.directiveTransforms[name]; + if (directiveTransform) { + const { props: props2, needRuntime } = directiveTransform(prop, node, context); + !ssr && props2.forEach(analyzePatchFlag); + if (isVOn && arg && !isStaticExp(arg)) { + pushMergeArg(createObjectExpression(props2, elementLoc)); + } else { + properties.push(...props2); + } + if (needRuntime) { + runtimeDirectives.push(prop); + if (shared.isSymbol(needRuntime)) { + directiveImportMap.set(prop, needRuntime); + } + } + } else if (!shared.isBuiltInDirective(name)) { + runtimeDirectives.push(prop); + if (hasChildren) { + shouldUseBlock = true; + } + } + } + } + let propsExpression = void 0; + if (mergeArgs.length) { + pushMergeArg(); + if (mergeArgs.length > 1) { + propsExpression = createCallExpression( + context.helper(MERGE_PROPS), + mergeArgs, + elementLoc + ); + } else { + propsExpression = mergeArgs[0]; + } + } else if (properties.length) { + propsExpression = createObjectExpression( + dedupeProperties(properties), + elementLoc + ); + } + if (hasDynamicKeys) { + patchFlag |= 16; + } else { + if (hasClassBinding && !isComponent) { + patchFlag |= 2; + } + if (hasStyleBinding && !isComponent) { + patchFlag |= 4; + } + if (dynamicPropNames.length) { + patchFlag |= 8; + } + if (hasHydrationEventBinding) { + patchFlag |= 32; + } + } + if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) { + patchFlag |= 512; + } + if (!context.inSSR && propsExpression) { + switch (propsExpression.type) { + case 15: + let classKeyIndex = -1; + let styleKeyIndex = -1; + let hasDynamicKey = false; + for (let i = 0; i < propsExpression.properties.length; i++) { + const key = propsExpression.properties[i].key; + if (isStaticExp(key)) { + if (key.content === "class") { + classKeyIndex = i; + } else if (key.content === "style") { + styleKeyIndex = i; + } + } else if (!key.isHandlerKey) { + hasDynamicKey = true; + } + } + const classProp = propsExpression.properties[classKeyIndex]; + const styleProp = propsExpression.properties[styleKeyIndex]; + if (!hasDynamicKey) { + if (classProp && !isStaticExp(classProp.value)) { + classProp.value = createCallExpression( + context.helper(NORMALIZE_CLASS), + [classProp.value] + ); + } + if (styleProp && // the static style is compiled into an object, + // so use `hasStyleBinding` to ensure that it is a dynamic style binding + (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist, + // v-bind:style with static literal object + styleProp.value.type === 17)) { + styleProp.value = createCallExpression( + context.helper(NORMALIZE_STYLE), + [styleProp.value] + ); + } + } else { + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [propsExpression] + ); + } + break; + case 14: + break; + default: + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [ + createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [ + propsExpression + ]) + ] + ); + break; + } + } + return { + props: propsExpression, + directives: runtimeDirectives, + patchFlag, + dynamicPropNames, + shouldUseBlock + }; +} +function dedupeProperties(properties) { + const knownProps = /* @__PURE__ */ new Map(); + const deduped = []; + for (let i = 0; i < properties.length; i++) { + const prop = properties[i]; + if (prop.key.type === 8 || !prop.key.isStatic) { + deduped.push(prop); + continue; + } + const name = prop.key.content; + const existing = knownProps.get(name); + if (existing) { + if (name === "style" || name === "class" || shared.isOn(name)) { + mergeAsArray(existing, prop); + } + } else { + knownProps.set(name, prop); + deduped.push(prop); + } + } + return deduped; +} +function mergeAsArray(existing, incoming) { + if (existing.value.type === 17) { + existing.value.elements.push(incoming.value); + } else { + existing.value = createArrayExpression( + [existing.value, incoming.value], + existing.loc + ); + } +} +function buildDirectiveArgs(dir, context) { + const dirArgs = []; + const runtime = directiveImportMap.get(dir); + if (runtime) { + dirArgs.push(context.helperString(runtime)); + } else { + const fromSetup = resolveSetupReference("v-" + dir.name, context); + if (fromSetup) { + dirArgs.push(fromSetup); + } else { + context.helper(RESOLVE_DIRECTIVE); + context.directives.add(dir.name); + dirArgs.push(toValidAssetId(dir.name, `directive`)); + } + } + const { loc } = dir; + if (dir.exp) dirArgs.push(dir.exp); + if (dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(dir.arg); + } + if (Object.keys(dir.modifiers).length) { + if (!dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(`void 0`); + } + const trueExpression = createSimpleExpression(`true`, false, loc); + dirArgs.push( + createObjectExpression( + dir.modifiers.map( + (modifier) => createObjectProperty(modifier, trueExpression) + ), + loc + ) + ); + } + return createArrayExpression(dirArgs, dir.loc); +} +function stringifyDynamicPropNames(props) { + let propsNamesString = `[`; + for (let i = 0, l = props.length; i < l; i++) { + propsNamesString += JSON.stringify(props[i]); + if (i < l - 1) propsNamesString += ", "; + } + return propsNamesString + `]`; +} +function isComponentTag(tag) { + return tag === "component" || tag === "Component"; +} + +const transformSlotOutlet = (node, context) => { + if (isSlotOutlet(node)) { + const { children, loc } = node; + const { slotName, slotProps } = processSlotOutlet(node, context); + const slotArgs = [ + context.prefixIdentifiers ? `_ctx.$slots` : `$slots`, + slotName, + "{}", + "undefined", + "true" + ]; + let expectedLen = 2; + if (slotProps) { + slotArgs[2] = slotProps; + expectedLen = 3; + } + if (children.length) { + slotArgs[3] = createFunctionExpression([], children, false, false, loc); + expectedLen = 4; + } + if (context.scopeId && !context.slotted) { + expectedLen = 5; + } + slotArgs.splice(expectedLen); + node.codegenNode = createCallExpression( + context.helper(RENDER_SLOT), + slotArgs, + loc + ); + } +}; +function processSlotOutlet(node, context) { + let slotName = `"default"`; + let slotProps = void 0; + const nonNameProps = []; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (p.value) { + if (p.name === "name") { + slotName = JSON.stringify(p.value.content); + } else { + p.name = shared.camelize(p.name); + nonNameProps.push(p); + } + } + } else { + if (p.name === "bind" && isStaticArgOf(p.arg, "name")) { + if (p.exp) { + slotName = p.exp; + } else if (p.arg && p.arg.type === 4) { + const name = shared.camelize(p.arg.content); + slotName = p.exp = createSimpleExpression(name, false, p.arg.loc); + { + slotName = p.exp = processExpression(p.exp, context); + } + } + } else { + if (p.name === "bind" && p.arg && isStaticExp(p.arg)) { + p.arg.content = shared.camelize(p.arg.content); + } + nonNameProps.push(p); + } + } + } + if (nonNameProps.length > 0) { + const { props, directives } = buildProps( + node, + context, + nonNameProps, + false, + false + ); + slotProps = props; + if (directives.length) { + context.onError( + createCompilerError( + 36, + directives[0].loc + ) + ); + } + } + return { + slotName, + slotProps + }; +} + +const transformOn = (dir, node, context, augmentor) => { + const { loc, modifiers, arg } = dir; + if (!dir.exp && !modifiers.length) { + context.onError(createCompilerError(35, loc)); + } + let eventName; + if (arg.type === 4) { + if (arg.isStatic) { + let rawName = arg.content; + if (rawName.startsWith("vue:")) { + rawName = `vnode-${rawName.slice(4)}`; + } + const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? ( + // for non-element and vnode lifecycle event listeners, auto convert + // it to camelCase. See issue #2249 + shared.toHandlerKey(shared.camelize(rawName)) + ) : ( + // preserve case for plain element listeners that have uppercase + // letters, as these may be custom elements' custom events + `on:${rawName}` + ); + eventName = createSimpleExpression(eventString, true, arg.loc); + } else { + eventName = createCompoundExpression([ + `${context.helperString(TO_HANDLER_KEY)}(`, + arg, + `)` + ]); + } + } else { + eventName = arg; + eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`); + eventName.children.push(`)`); + } + let exp = dir.exp; + if (exp && !exp.content.trim()) { + exp = void 0; + } + let shouldCache = context.cacheHandlers && !exp && !context.inVOnce; + if (exp) { + const isMemberExp = isMemberExpression(exp, context); + const isInlineStatement = !(isMemberExp || isFnExpression(exp, context)); + const hasMultipleStatements = exp.content.includes(`;`); + if (context.prefixIdentifiers) { + isInlineStatement && context.addIdentifiers(`$event`); + exp = dir.exp = processExpression( + exp, + context, + false, + hasMultipleStatements + ); + isInlineStatement && context.removeIdentifiers(`$event`); + shouldCache = context.cacheHandlers && // unnecessary to cache inside v-once + !context.inVOnce && // runtime constants don't need to be cached + // (this is analyzed by compileScript in SFC <script setup>) + !(exp.type === 4 && exp.constType > 0) && // #1541 bail if this is a member exp handler passed to a component - + // we need to use the original function to preserve arity, + // e.g. <transition> relies on checking cb.length to determine + // transition end handling. Inline function is ok since its arity + // is preserved even when cached. + !(isMemberExp && node.tagType === 1) && // bail if the function references closure variables (v-for, v-slot) + // it must be passed fresh to avoid stale values. + !hasScopeRef(exp, context.identifiers); + if (shouldCache && isMemberExp) { + if (exp.type === 4) { + exp.content = `${exp.content} && ${exp.content}(...args)`; + } else { + exp.children = [...exp.children, ` && `, ...exp.children, `(...args)`]; + } + } + } + if (isInlineStatement || shouldCache && isMemberExp) { + exp = createCompoundExpression([ + `${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? ` +//@ts-ignore +` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`, + exp, + hasMultipleStatements ? `}` : `)` + ]); + } + } + let ret = { + props: [ + createObjectProperty( + eventName, + exp || createSimpleExpression(`() => {}`, false, loc) + ) + ] + }; + if (augmentor) { + ret = augmentor(ret); + } + if (shouldCache) { + ret.props[0].value = context.cache(ret.props[0].value); + } + ret.props.forEach((p) => p.key.isHandlerKey = true); + return ret; +}; + +const transformBind = (dir, _node, context) => { + const { modifiers, loc } = dir; + const arg = dir.arg; + let { exp } = dir; + if (exp && exp.type === 4 && !exp.content.trim()) { + { + context.onError( + createCompilerError(34, loc) + ); + return { + props: [ + createObjectProperty(arg, createSimpleExpression("", true, loc)) + ] + }; + } + } + if (arg.type !== 4) { + arg.children.unshift(`(`); + arg.children.push(`) || ""`); + } else if (!arg.isStatic) { + arg.content = arg.content ? `${arg.content} || ""` : `""`; + } + if (modifiers.some((mod) => mod.content === "camel")) { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = shared.camelize(arg.content); + } else { + arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`; + } + } else { + arg.children.unshift(`${context.helperString(CAMELIZE)}(`); + arg.children.push(`)`); + } + } + if (!context.inSSR) { + if (modifiers.some((mod) => mod.content === "prop")) { + injectPrefix(arg, "."); + } + if (modifiers.some((mod) => mod.content === "attr")) { + injectPrefix(arg, "^"); + } + } + return { + props: [createObjectProperty(arg, exp)] + }; +}; +const injectPrefix = (arg, prefix) => { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = prefix + arg.content; + } else { + arg.content = `\`${prefix}\${${arg.content}}\``; + } + } else { + arg.children.unshift(`'${prefix}' + (`); + arg.children.push(`)`); + } +}; + +const transformText = (node, context) => { + if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) { + return () => { + const children = node.children; + let currentContainer = void 0; + let hasText = false; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child)) { + hasText = true; + for (let j = i + 1; j < children.length; j++) { + const next = children[j]; + if (isText$1(next)) { + if (!currentContainer) { + currentContainer = children[i] = createCompoundExpression( + [child], + child.loc + ); + } + currentContainer.children.push(` + `, next); + children.splice(j, 1); + j--; + } else { + currentContainer = void 0; + break; + } + } + } + } + if (!hasText || // if this is a plain element with a single text child, leave it + // as-is since the runtime has dedicated fast path for this by directly + // setting textContent of the element. + // for component root it's always normalized anyway. + children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756 + // custom directives can potentially add DOM elements arbitrarily, + // we need to avoid setting textContent of the element at runtime + // to avoid accidentally overwriting the DOM elements added + // by the user through custom directives. + !node.props.find( + (p) => p.type === 7 && !context.directiveTransforms[p.name] + ) && // in compat mode, <template> tags with no special directives + // will be rendered as a fragment so its children must be + // converted into vnodes. + !(node.tag === "template"))) { + return; + } + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child) || child.type === 8) { + const callArgs = []; + if (child.type !== 2 || child.content !== " ") { + callArgs.push(child); + } + if (!context.ssr && getConstantType(child, context) === 0) { + callArgs.push( + 1 + (``) + ); + } + children[i] = { + type: 12, + content: child, + loc: child.loc, + codegenNode: createCallExpression( + context.helper(CREATE_TEXT), + callArgs + ) + }; + } + } + }; + } +}; + +const seen$1 = /* @__PURE__ */ new WeakSet(); +const transformOnce = (node, context) => { + if (node.type === 1 && findDir(node, "once", true)) { + if (seen$1.has(node) || context.inVOnce || context.inSSR) { + return; + } + seen$1.add(node); + context.inVOnce = true; + context.helper(SET_BLOCK_TRACKING); + return () => { + context.inVOnce = false; + const cur = context.currentNode; + if (cur.codegenNode) { + cur.codegenNode = context.cache( + cur.codegenNode, + true, + true + ); + } + }; + } +}; + +const transformModel = (dir, node, context) => { + const { exp, arg } = dir; + if (!exp) { + context.onError( + createCompilerError(41, dir.loc) + ); + return createTransformProps(); + } + const rawExp = exp.loc.source.trim(); + const expString = exp.type === 4 ? exp.content : rawExp; + const bindingType = context.bindingMetadata[rawExp]; + if (bindingType === "props" || bindingType === "props-aliased") { + context.onError(createCompilerError(44, exp.loc)); + return createTransformProps(); + } + const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref"); + if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) { + context.onError( + createCompilerError(42, exp.loc) + ); + return createTransformProps(); + } + if (context.prefixIdentifiers && isSimpleIdentifier(expString) && context.identifiers[expString]) { + context.onError( + createCompilerError(43, exp.loc) + ); + return createTransformProps(); + } + const propName = arg ? arg : createSimpleExpression("modelValue", true); + const eventName = arg ? isStaticExp(arg) ? `onUpdate:${shared.camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`; + let assignmentExp; + const eventArg = context.isTS ? `($event: any)` : `$event`; + if (maybeRef) { + if (bindingType === "setup-ref") { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event)` + ]); + } else { + const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`; + assignmentExp = createCompoundExpression([ + `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event : ${altAssignment})` + ]); + } + } else { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + exp, + `) = $event)` + ]); + } + const props = [ + // modelValue: foo + createObjectProperty(propName, dir.exp), + // "onUpdate:modelValue": $event => (foo = $event) + createObjectProperty(eventName, assignmentExp) + ]; + if (context.prefixIdentifiers && !context.inVOnce && context.cacheHandlers && !hasScopeRef(exp, context.identifiers)) { + props[1].value = context.cache(props[1].value); + } + if (dir.modifiers.length && node.tagType === 1) { + const modifiers = dir.modifiers.map((m) => m.content).map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `); + const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`; + props.push( + createObjectProperty( + modifiersKey, + createSimpleExpression( + `{ ${modifiers} }`, + false, + dir.loc, + 2 + ) + ) + ); + } + return createTransformProps(props); +}; +function createTransformProps(props = []) { + return { props }; +} + +const validDivisionCharRE = /[\w).+\-_$\]]/; +const transformFilter = (node, context) => { + if (!isCompatEnabled("COMPILER_FILTERS", context)) { + return; + } + if (node.type === 5) { + rewriteFilter(node.content, context); + } else if (node.type === 1) { + node.props.forEach((prop) => { + if (prop.type === 7 && prop.name !== "for" && prop.exp) { + rewriteFilter(prop.exp, context); + } + }); + } +}; +function rewriteFilter(node, context) { + if (node.type === 4) { + parseFilter(node, context); + } else { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (typeof child !== "object") continue; + if (child.type === 4) { + parseFilter(child, context); + } else if (child.type === 8) { + rewriteFilter(node, context); + } else if (child.type === 5) { + rewriteFilter(child.content, context); + } + } + } +} +function parseFilter(node, context) { + const exp = node.content; + let inSingle = false; + let inDouble = false; + let inTemplateString = false; + let inRegex = false; + let curly = 0; + let square = 0; + let paren = 0; + let lastFilterIndex = 0; + let c, prev, i, expression, filters = []; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 39 && prev !== 92) inSingle = false; + } else if (inDouble) { + if (c === 34 && prev !== 92) inDouble = false; + } else if (inTemplateString) { + if (c === 96 && prev !== 92) inTemplateString = false; + } else if (inRegex) { + if (c === 47 && prev !== 92) inRegex = false; + } else if (c === 124 && // pipe + exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) { + if (expression === void 0) { + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } else { + pushFilter(); + } + } else { + switch (c) { + case 34: + inDouble = true; + break; + // " + case 39: + inSingle = true; + break; + // ' + case 96: + inTemplateString = true; + break; + // ` + case 40: + paren++; + break; + // ( + case 41: + paren--; + break; + // ) + case 91: + square++; + break; + // [ + case 93: + square--; + break; + // ] + case 123: + curly++; + break; + // { + case 125: + curly--; + break; + } + if (c === 47) { + let j = i - 1; + let p; + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== " ") break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === void 0) { + expression = exp.slice(0, i).trim(); + } else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + filters.push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters.length) { + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i], context); + } + node.content = expression; + node.ast = void 0; + } +} +function wrapFilter(exp, filter, context) { + context.helper(RESOLVE_FILTER); + const i = filter.indexOf("("); + if (i < 0) { + context.filters.add(filter); + return `${toValidAssetId(filter, "filter")}(${exp})`; + } else { + const name = filter.slice(0, i); + const args = filter.slice(i + 1); + context.filters.add(name); + return `${toValidAssetId(name, "filter")}(${exp}${args !== ")" ? "," + args : args}`; + } +} + +const seen = /* @__PURE__ */ new WeakSet(); +const transformMemo = (node, context) => { + if (node.type === 1) { + const dir = findDir(node, "memo"); + if (!dir || seen.has(node) || context.inSSR) { + return; + } + seen.add(node); + return () => { + const codegenNode = node.codegenNode || context.currentNode.codegenNode; + if (codegenNode && codegenNode.type === 13) { + if (node.tagType !== 1) { + convertToBlock(codegenNode, context); + } + node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [ + dir.exp, + createFunctionExpression(void 0, codegenNode), + `_cache`, + String(context.cached.length) + ]); + context.cached.push(null); + } + }; + } +}; + +const transformVBindShorthand = (node, context) => { + if (node.type === 1) { + for (const prop of node.props) { + if (prop.type === 7 && prop.name === "bind" && !prop.exp) { + const arg = prop.arg; + if (arg.type !== 4 || !arg.isStatic) { + context.onError( + createCompilerError( + 52, + arg.loc + ) + ); + prop.exp = createSimpleExpression("", true, arg.loc); + } else { + const propName = shared.camelize(arg.content); + if (validFirstIdentCharRE.test(propName[0]) || // allow hyphen first char for https://github.com/vuejs/language-tools/pull/3424 + propName[0] === "-") { + prop.exp = createSimpleExpression(propName, false, arg.loc); + } + } + } + } + } +}; + +function getBaseTransformPreset(prefixIdentifiers) { + return [ + [ + transformVBindShorthand, + transformOnce, + transformIf, + transformMemo, + transformFor, + ...[transformFilter] , + ...prefixIdentifiers ? [ + // order is important + trackVForSlotScopes, + transformExpression + ] : [], + transformSlotOutlet, + transformElement, + trackSlotScopes, + transformText + ], + { + on: transformOn, + bind: transformBind, + model: transformModel + } + ]; +} +function baseCompile(source, options = {}) { + const onError = options.onError || defaultOnError; + const isModuleMode = options.mode === "module"; + const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode; + if (!prefixIdentifiers && options.cacheHandlers) { + onError(createCompilerError(49)); + } + if (options.scopeId && !isModuleMode) { + onError(createCompilerError(50)); + } + const resolvedOptions = shared.extend({}, options, { + prefixIdentifiers + }); + const ast = shared.isString(source) ? baseParse(source, resolvedOptions) : source; + const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(prefixIdentifiers); + if (options.isTS) { + const { expressionPlugins } = options; + if (!expressionPlugins || !expressionPlugins.includes("typescript")) { + options.expressionPlugins = [...expressionPlugins || [], "typescript"]; + } + } + transform( + ast, + shared.extend({}, resolvedOptions, { + nodeTransforms: [ + ...nodeTransforms, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: shared.extend( + {}, + directiveTransforms, + options.directiveTransforms || {} + // user transforms + ) + }) + ); + return generate(ast, resolvedOptions); +} + +const BindingTypes = { + "DATA": "data", + "PROPS": "props", + "PROPS_ALIASED": "props-aliased", + "SETUP_LET": "setup-let", + "SETUP_CONST": "setup-const", + "SETUP_REACTIVE_CONST": "setup-reactive-const", + "SETUP_MAYBE_REF": "setup-maybe-ref", + "SETUP_REF": "setup-ref", + "OPTIONS": "options", + "LITERAL_CONST": "literal-const" +}; + +const noopDirectiveTransform = () => ({ props: [] }); + +exports.generateCodeFrame = shared.generateCodeFrame; +exports.BASE_TRANSITION = BASE_TRANSITION; +exports.BindingTypes = BindingTypes; +exports.CAMELIZE = CAMELIZE; +exports.CAPITALIZE = CAPITALIZE; +exports.CREATE_BLOCK = CREATE_BLOCK; +exports.CREATE_COMMENT = CREATE_COMMENT; +exports.CREATE_ELEMENT_BLOCK = CREATE_ELEMENT_BLOCK; +exports.CREATE_ELEMENT_VNODE = CREATE_ELEMENT_VNODE; +exports.CREATE_SLOTS = CREATE_SLOTS; +exports.CREATE_STATIC = CREATE_STATIC; +exports.CREATE_TEXT = CREATE_TEXT; +exports.CREATE_VNODE = CREATE_VNODE; +exports.CompilerDeprecationTypes = CompilerDeprecationTypes; +exports.ConstantTypes = ConstantTypes; +exports.ElementTypes = ElementTypes; +exports.ErrorCodes = ErrorCodes; +exports.FRAGMENT = FRAGMENT; +exports.GUARD_REACTIVE_PROPS = GUARD_REACTIVE_PROPS; +exports.IS_MEMO_SAME = IS_MEMO_SAME; +exports.IS_REF = IS_REF; +exports.KEEP_ALIVE = KEEP_ALIVE; +exports.MERGE_PROPS = MERGE_PROPS; +exports.NORMALIZE_CLASS = NORMALIZE_CLASS; +exports.NORMALIZE_PROPS = NORMALIZE_PROPS; +exports.NORMALIZE_STYLE = NORMALIZE_STYLE; +exports.Namespaces = Namespaces; +exports.NodeTypes = NodeTypes; +exports.OPEN_BLOCK = OPEN_BLOCK; +exports.POP_SCOPE_ID = POP_SCOPE_ID; +exports.PUSH_SCOPE_ID = PUSH_SCOPE_ID; +exports.RENDER_LIST = RENDER_LIST; +exports.RENDER_SLOT = RENDER_SLOT; +exports.RESOLVE_COMPONENT = RESOLVE_COMPONENT; +exports.RESOLVE_DIRECTIVE = RESOLVE_DIRECTIVE; +exports.RESOLVE_DYNAMIC_COMPONENT = RESOLVE_DYNAMIC_COMPONENT; +exports.RESOLVE_FILTER = RESOLVE_FILTER; +exports.SET_BLOCK_TRACKING = SET_BLOCK_TRACKING; +exports.SUSPENSE = SUSPENSE; +exports.TELEPORT = TELEPORT; +exports.TO_DISPLAY_STRING = TO_DISPLAY_STRING; +exports.TO_HANDLERS = TO_HANDLERS; +exports.TO_HANDLER_KEY = TO_HANDLER_KEY; +exports.TS_NODE_TYPES = TS_NODE_TYPES; +exports.UNREF = UNREF; +exports.WITH_CTX = WITH_CTX; +exports.WITH_DIRECTIVES = WITH_DIRECTIVES; +exports.WITH_MEMO = WITH_MEMO; +exports.advancePositionWithClone = advancePositionWithClone; +exports.advancePositionWithMutation = advancePositionWithMutation; +exports.assert = assert; +exports.baseCompile = baseCompile; +exports.baseParse = baseParse; +exports.buildDirectiveArgs = buildDirectiveArgs; +exports.buildProps = buildProps; +exports.buildSlots = buildSlots; +exports.checkCompatEnabled = checkCompatEnabled; +exports.convertToBlock = convertToBlock; +exports.createArrayExpression = createArrayExpression; +exports.createAssignmentExpression = createAssignmentExpression; +exports.createBlockStatement = createBlockStatement; +exports.createCacheExpression = createCacheExpression; +exports.createCallExpression = createCallExpression; +exports.createCompilerError = createCompilerError; +exports.createCompoundExpression = createCompoundExpression; +exports.createConditionalExpression = createConditionalExpression; +exports.createForLoopParams = createForLoopParams; +exports.createFunctionExpression = createFunctionExpression; +exports.createIfStatement = createIfStatement; +exports.createInterpolation = createInterpolation; +exports.createObjectExpression = createObjectExpression; +exports.createObjectProperty = createObjectProperty; +exports.createReturnStatement = createReturnStatement; +exports.createRoot = createRoot; +exports.createSequenceExpression = createSequenceExpression; +exports.createSimpleExpression = createSimpleExpression; +exports.createStructuralDirectiveTransform = createStructuralDirectiveTransform; +exports.createTemplateLiteral = createTemplateLiteral; +exports.createTransformContext = createTransformContext; +exports.createVNodeCall = createVNodeCall; +exports.errorMessages = errorMessages; +exports.extractIdentifiers = extractIdentifiers; +exports.findDir = findDir; +exports.findProp = findProp; +exports.forAliasRE = forAliasRE; +exports.generate = generate; +exports.getBaseTransformPreset = getBaseTransformPreset; +exports.getConstantType = getConstantType; +exports.getMemoedVNodeCall = getMemoedVNodeCall; +exports.getVNodeBlockHelper = getVNodeBlockHelper; +exports.getVNodeHelper = getVNodeHelper; +exports.hasDynamicKeyVBind = hasDynamicKeyVBind; +exports.hasScopeRef = hasScopeRef; +exports.helperNameMap = helperNameMap; +exports.injectProp = injectProp; +exports.isCoreComponent = isCoreComponent; +exports.isFnExpression = isFnExpression; +exports.isFnExpressionBrowser = isFnExpressionBrowser; +exports.isFnExpressionNode = isFnExpressionNode; +exports.isFunctionType = isFunctionType; +exports.isInDestructureAssignment = isInDestructureAssignment; +exports.isInNewExpression = isInNewExpression; +exports.isMemberExpression = isMemberExpression; +exports.isMemberExpressionBrowser = isMemberExpressionBrowser; +exports.isMemberExpressionNode = isMemberExpressionNode; +exports.isReferencedIdentifier = isReferencedIdentifier; +exports.isSimpleIdentifier = isSimpleIdentifier; +exports.isSlotOutlet = isSlotOutlet; +exports.isStaticArgOf = isStaticArgOf; +exports.isStaticExp = isStaticExp; +exports.isStaticProperty = isStaticProperty; +exports.isStaticPropertyKey = isStaticPropertyKey; +exports.isTemplateNode = isTemplateNode; +exports.isText = isText$1; +exports.isVPre = isVPre; +exports.isVSlot = isVSlot; +exports.locStub = locStub; +exports.noopDirectiveTransform = noopDirectiveTransform; +exports.processExpression = processExpression; +exports.processFor = processFor; +exports.processIf = processIf; +exports.processSlotOutlet = processSlotOutlet; +exports.registerRuntimeHelpers = registerRuntimeHelpers; +exports.resolveComponentType = resolveComponentType; +exports.stringifyExpression = stringifyExpression; +exports.toValidAssetId = toValidAssetId; +exports.trackSlotScopes = trackSlotScopes; +exports.trackVForSlotScopes = trackVForSlotScopes; +exports.transform = transform; +exports.transformBind = transformBind; +exports.transformElement = transformElement; +exports.transformExpression = transformExpression; +exports.transformModel = transformModel; +exports.transformOn = transformOn; +exports.transformVBindShorthand = transformVBindShorthand; +exports.traverseNode = traverseNode; +exports.unwrapTSNode = unwrapTSNode; +exports.validFirstIdentCharRE = validFirstIdentCharRE; +exports.walkBlockDeclarations = walkBlockDeclarations; +exports.walkFunctionParams = walkFunctionParams; +exports.walkIdentifiers = walkIdentifiers; +exports.warnDeprecation = warnDeprecation; diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/entities b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/entities new file mode 120000 index 00000000..919ec821 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/node_modules/entities @@ -0,0 +1 @@ +../../../entities@4.5.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/package.json new file mode 100644 index 00000000..60fec3b4 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.22/package.json @@ -0,0 +1,58 @@ +{ + "name": "@vue/compiler-core", + "version": "3.5.22", + "description": "@vue/compiler-core", + "main": "index.js", + "module": "dist/compiler-core.esm-bundler.js", + "types": "dist/compiler-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-core.d.ts", + "node": { + "production": "./dist/compiler-core.cjs.prod.js", + "development": "./dist/compiler-core.cjs.js", + "default": "./dist/compiler-core.cjs.prod.js" + }, + "module": "./dist/compiler-core.esm-bundler.js", + "import": "./dist/compiler-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueCompilerCore", + "compat": true, + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", + "dependencies": { + "@babel/parser": "^7.28.4", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1", + "@vue/shared": "3.5.22" + }, + "devDependencies": { + "@babel/types": "^7.28.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/dist/compiler-core.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/dist/compiler-core.cjs.prod.js new file mode 100644 index 00000000..79686d46 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/dist/compiler-core.cjs.prod.js @@ -0,0 +1,6763 @@ +/** +* @vue/compiler-core v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); +var decode = require('entities/decode'); +var parser = require('@babel/parser'); +var estreeWalker = require('estree-walker'); +var sourceMapJs = require('source-map-js'); + +const FRAGMENT = /* @__PURE__ */ Symbol(``); +const TELEPORT = /* @__PURE__ */ Symbol(``); +const SUSPENSE = /* @__PURE__ */ Symbol(``); +const KEEP_ALIVE = /* @__PURE__ */ Symbol(``); +const BASE_TRANSITION = /* @__PURE__ */ Symbol( + `` +); +const OPEN_BLOCK = /* @__PURE__ */ Symbol(``); +const CREATE_BLOCK = /* @__PURE__ */ Symbol(``); +const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol( + `` +); +const CREATE_VNODE = /* @__PURE__ */ Symbol(``); +const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol( + `` +); +const CREATE_COMMENT = /* @__PURE__ */ Symbol( + `` +); +const CREATE_TEXT = /* @__PURE__ */ Symbol( + `` +); +const CREATE_STATIC = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_FILTER = /* @__PURE__ */ Symbol( + `` +); +const WITH_DIRECTIVES = /* @__PURE__ */ Symbol( + `` +); +const RENDER_LIST = /* @__PURE__ */ Symbol(``); +const RENDER_SLOT = /* @__PURE__ */ Symbol(``); +const CREATE_SLOTS = /* @__PURE__ */ Symbol(``); +const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol( + `` +); +const MERGE_PROPS = /* @__PURE__ */ Symbol(``); +const NORMALIZE_CLASS = /* @__PURE__ */ Symbol( + `` +); +const NORMALIZE_STYLE = /* @__PURE__ */ Symbol( + `` +); +const NORMALIZE_PROPS = /* @__PURE__ */ Symbol( + `` +); +const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol( + `` +); +const TO_HANDLERS = /* @__PURE__ */ Symbol(``); +const CAMELIZE = /* @__PURE__ */ Symbol(``); +const CAPITALIZE = /* @__PURE__ */ Symbol(``); +const TO_HANDLER_KEY = /* @__PURE__ */ Symbol( + `` +); +const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol( + `` +); +const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(``); +const POP_SCOPE_ID = /* @__PURE__ */ Symbol(``); +const WITH_CTX = /* @__PURE__ */ Symbol(``); +const UNREF = /* @__PURE__ */ Symbol(``); +const IS_REF = /* @__PURE__ */ Symbol(``); +const WITH_MEMO = /* @__PURE__ */ Symbol(``); +const IS_MEMO_SAME = /* @__PURE__ */ Symbol(``); +const helperNameMap = { + [FRAGMENT]: `Fragment`, + [TELEPORT]: `Teleport`, + [SUSPENSE]: `Suspense`, + [KEEP_ALIVE]: `KeepAlive`, + [BASE_TRANSITION]: `BaseTransition`, + [OPEN_BLOCK]: `openBlock`, + [CREATE_BLOCK]: `createBlock`, + [CREATE_ELEMENT_BLOCK]: `createElementBlock`, + [CREATE_VNODE]: `createVNode`, + [CREATE_ELEMENT_VNODE]: `createElementVNode`, + [CREATE_COMMENT]: `createCommentVNode`, + [CREATE_TEXT]: `createTextVNode`, + [CREATE_STATIC]: `createStaticVNode`, + [RESOLVE_COMPONENT]: `resolveComponent`, + [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`, + [RESOLVE_DIRECTIVE]: `resolveDirective`, + [RESOLVE_FILTER]: `resolveFilter`, + [WITH_DIRECTIVES]: `withDirectives`, + [RENDER_LIST]: `renderList`, + [RENDER_SLOT]: `renderSlot`, + [CREATE_SLOTS]: `createSlots`, + [TO_DISPLAY_STRING]: `toDisplayString`, + [MERGE_PROPS]: `mergeProps`, + [NORMALIZE_CLASS]: `normalizeClass`, + [NORMALIZE_STYLE]: `normalizeStyle`, + [NORMALIZE_PROPS]: `normalizeProps`, + [GUARD_REACTIVE_PROPS]: `guardReactiveProps`, + [TO_HANDLERS]: `toHandlers`, + [CAMELIZE]: `camelize`, + [CAPITALIZE]: `capitalize`, + [TO_HANDLER_KEY]: `toHandlerKey`, + [SET_BLOCK_TRACKING]: `setBlockTracking`, + [PUSH_SCOPE_ID]: `pushScopeId`, + [POP_SCOPE_ID]: `popScopeId`, + [WITH_CTX]: `withCtx`, + [UNREF]: `unref`, + [IS_REF]: `isRef`, + [WITH_MEMO]: `withMemo`, + [IS_MEMO_SAME]: `isMemoSame` +}; +function registerRuntimeHelpers(helpers) { + Object.getOwnPropertySymbols(helpers).forEach((s) => { + helperNameMap[s] = helpers[s]; + }); +} + +const Namespaces = { + "HTML": 0, + "0": "HTML", + "SVG": 1, + "1": "SVG", + "MATH_ML": 2, + "2": "MATH_ML" +}; +const NodeTypes = { + "ROOT": 0, + "0": "ROOT", + "ELEMENT": 1, + "1": "ELEMENT", + "TEXT": 2, + "2": "TEXT", + "COMMENT": 3, + "3": "COMMENT", + "SIMPLE_EXPRESSION": 4, + "4": "SIMPLE_EXPRESSION", + "INTERPOLATION": 5, + "5": "INTERPOLATION", + "ATTRIBUTE": 6, + "6": "ATTRIBUTE", + "DIRECTIVE": 7, + "7": "DIRECTIVE", + "COMPOUND_EXPRESSION": 8, + "8": "COMPOUND_EXPRESSION", + "IF": 9, + "9": "IF", + "IF_BRANCH": 10, + "10": "IF_BRANCH", + "FOR": 11, + "11": "FOR", + "TEXT_CALL": 12, + "12": "TEXT_CALL", + "VNODE_CALL": 13, + "13": "VNODE_CALL", + "JS_CALL_EXPRESSION": 14, + "14": "JS_CALL_EXPRESSION", + "JS_OBJECT_EXPRESSION": 15, + "15": "JS_OBJECT_EXPRESSION", + "JS_PROPERTY": 16, + "16": "JS_PROPERTY", + "JS_ARRAY_EXPRESSION": 17, + "17": "JS_ARRAY_EXPRESSION", + "JS_FUNCTION_EXPRESSION": 18, + "18": "JS_FUNCTION_EXPRESSION", + "JS_CONDITIONAL_EXPRESSION": 19, + "19": "JS_CONDITIONAL_EXPRESSION", + "JS_CACHE_EXPRESSION": 20, + "20": "JS_CACHE_EXPRESSION", + "JS_BLOCK_STATEMENT": 21, + "21": "JS_BLOCK_STATEMENT", + "JS_TEMPLATE_LITERAL": 22, + "22": "JS_TEMPLATE_LITERAL", + "JS_IF_STATEMENT": 23, + "23": "JS_IF_STATEMENT", + "JS_ASSIGNMENT_EXPRESSION": 24, + "24": "JS_ASSIGNMENT_EXPRESSION", + "JS_SEQUENCE_EXPRESSION": 25, + "25": "JS_SEQUENCE_EXPRESSION", + "JS_RETURN_STATEMENT": 26, + "26": "JS_RETURN_STATEMENT" +}; +const ElementTypes = { + "ELEMENT": 0, + "0": "ELEMENT", + "COMPONENT": 1, + "1": "COMPONENT", + "SLOT": 2, + "2": "SLOT", + "TEMPLATE": 3, + "3": "TEMPLATE" +}; +const ConstantTypes = { + "NOT_CONSTANT": 0, + "0": "NOT_CONSTANT", + "CAN_SKIP_PATCH": 1, + "1": "CAN_SKIP_PATCH", + "CAN_CACHE": 2, + "2": "CAN_CACHE", + "CAN_STRINGIFY": 3, + "3": "CAN_STRINGIFY" +}; +const locStub = { + start: { line: 1, column: 1, offset: 0 }, + end: { line: 1, column: 1, offset: 0 }, + source: "" +}; +function createRoot(children, source = "") { + return { + type: 0, + source, + children, + helpers: /* @__PURE__ */ new Set(), + components: [], + directives: [], + hoists: [], + imports: [], + cached: [], + temps: 0, + codegenNode: void 0, + loc: locStub + }; +} +function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) { + if (context) { + if (isBlock) { + context.helper(OPEN_BLOCK); + context.helper(getVNodeBlockHelper(context.inSSR, isComponent)); + } else { + context.helper(getVNodeHelper(context.inSSR, isComponent)); + } + if (directives) { + context.helper(WITH_DIRECTIVES); + } + } + return { + type: 13, + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent, + loc + }; +} +function createArrayExpression(elements, loc = locStub) { + return { + type: 17, + loc, + elements + }; +} +function createObjectExpression(properties, loc = locStub) { + return { + type: 15, + loc, + properties + }; +} +function createObjectProperty(key, value) { + return { + type: 16, + loc: locStub, + key: shared.isString(key) ? createSimpleExpression(key, true) : key, + value + }; +} +function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) { + return { + type: 4, + loc, + content, + isStatic, + constType: isStatic ? 3 : constType + }; +} +function createInterpolation(content, loc) { + return { + type: 5, + loc, + content: shared.isString(content) ? createSimpleExpression(content, false, loc) : content + }; +} +function createCompoundExpression(children, loc = locStub) { + return { + type: 8, + loc, + children + }; +} +function createCallExpression(callee, args = [], loc = locStub) { + return { + type: 14, + loc, + callee, + arguments: args + }; +} +function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) { + return { + type: 18, + params, + returns, + newline, + isSlot, + loc + }; +} +function createConditionalExpression(test, consequent, alternate, newline = true) { + return { + type: 19, + test, + consequent, + alternate, + newline, + loc: locStub + }; +} +function createCacheExpression(index, value, needPauseTracking = false, inVOnce = false) { + return { + type: 20, + index, + value, + needPauseTracking, + inVOnce, + needArraySpread: false, + loc: locStub + }; +} +function createBlockStatement(body) { + return { + type: 21, + body, + loc: locStub + }; +} +function createTemplateLiteral(elements) { + return { + type: 22, + elements, + loc: locStub + }; +} +function createIfStatement(test, consequent, alternate) { + return { + type: 23, + test, + consequent, + alternate, + loc: locStub + }; +} +function createAssignmentExpression(left, right) { + return { + type: 24, + left, + right, + loc: locStub + }; +} +function createSequenceExpression(expressions) { + return { + type: 25, + expressions, + loc: locStub + }; +} +function createReturnStatement(returns) { + return { + type: 26, + returns, + loc: locStub + }; +} +function getVNodeHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE; +} +function getVNodeBlockHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK; +} +function convertToBlock(node, { helper, removeHelper, inSSR }) { + if (!node.isBlock) { + node.isBlock = true; + removeHelper(getVNodeHelper(inSSR, node.isComponent)); + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(inSSR, node.isComponent)); + } +} + +const defaultDelimitersOpen = new Uint8Array([123, 123]); +const defaultDelimitersClose = new Uint8Array([125, 125]); +function isTagStartChar(c) { + return c >= 97 && c <= 122 || c >= 65 && c <= 90; +} +function isWhitespace(c) { + return c === 32 || c === 10 || c === 9 || c === 12 || c === 13; +} +function isEndOfTagSection(c) { + return c === 47 || c === 62 || isWhitespace(c); +} +function toCharCodes(str) { + const ret = new Uint8Array(str.length); + for (let i = 0; i < str.length; i++) { + ret[i] = str.charCodeAt(i); + } + return ret; +} +const Sequences = { + Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]), + // CDATA[ + CdataEnd: new Uint8Array([93, 93, 62]), + // ]]> + CommentEnd: new Uint8Array([45, 45, 62]), + // `-->` + ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]), + // `<\/script` + StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]), + // `</style` + TitleEnd: new Uint8Array([60, 47, 116, 105, 116, 108, 101]), + // `</title` + TextareaEnd: new Uint8Array([ + 60, + 47, + 116, + 101, + 120, + 116, + 97, + 114, + 101, + 97 + ]) + // `</textarea +}; +class Tokenizer { + constructor(stack, cbs) { + this.stack = stack; + this.cbs = cbs; + /** The current state the tokenizer is in. */ + this.state = 1; + /** The read buffer. */ + this.buffer = ""; + /** The beginning of the section that is currently being read. */ + this.sectionStart = 0; + /** The index within the buffer that we are currently looking at. */ + this.index = 0; + /** The start of the last entity. */ + this.entityStart = 0; + /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */ + this.baseState = 1; + /** For special parsing behavior inside of script and style tags. */ + this.inRCDATA = false; + /** For disabling RCDATA tags handling */ + this.inXML = false; + /** For disabling interpolation parsing in v-pre */ + this.inVPre = false; + /** Record newline positions for fast line / column calculation */ + this.newlines = []; + this.mode = 0; + this.delimiterOpen = defaultDelimitersOpen; + this.delimiterClose = defaultDelimitersClose; + this.delimiterIndex = -1; + this.currentSequence = void 0; + this.sequenceIndex = 0; + { + this.entityDecoder = new decode.EntityDecoder( + decode.htmlDecodeTree, + (cp, consumed) => this.emitCodePoint(cp, consumed) + ); + } + } + get inSFCRoot() { + return this.mode === 2 && this.stack.length === 0; + } + reset() { + this.state = 1; + this.mode = 0; + this.buffer = ""; + this.sectionStart = 0; + this.index = 0; + this.baseState = 1; + this.inRCDATA = false; + this.currentSequence = void 0; + this.newlines.length = 0; + this.delimiterOpen = defaultDelimitersOpen; + this.delimiterClose = defaultDelimitersClose; + } + /** + * Generate Position object with line / column information using recorded + * newline positions. We know the index is always going to be an already + * processed index, so all the newlines up to this index should have been + * recorded. + */ + getPos(index) { + let line = 1; + let column = index + 1; + const length = this.newlines.length; + let j = -1; + if (length > 100) { + let l = -1; + let r = length; + while (l + 1 < r) { + const m = l + r >>> 1; + this.newlines[m] < index ? l = m : r = m; + } + j = l; + } else { + for (let i = length - 1; i >= 0; i--) { + if (index > this.newlines[i]) { + j = i; + break; + } + } + } + if (j >= 0) { + line = j + 2; + column = index - this.newlines[j]; + } + return { + column, + line, + offset: index + }; + } + peek() { + return this.buffer.charCodeAt(this.index + 1); + } + stateText(c) { + if (c === 60) { + if (this.index > this.sectionStart) { + this.cbs.ontext(this.sectionStart, this.index); + } + this.state = 5; + this.sectionStart = this.index; + } else if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } + stateInterpolationOpen(c) { + if (c === this.delimiterOpen[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterOpen.length - 1) { + const start = this.index + 1 - this.delimiterOpen.length; + if (start > this.sectionStart) { + this.cbs.ontext(this.sectionStart, start); + } + this.state = 3; + this.sectionStart = start; + } else { + this.delimiterIndex++; + } + } else if (this.inRCDATA) { + this.state = 32; + this.stateInRCDATA(c); + } else { + this.state = 1; + this.stateText(c); + } + } + stateInterpolation(c) { + if (c === this.delimiterClose[0]) { + this.state = 4; + this.delimiterIndex = 0; + this.stateInterpolationClose(c); + } + } + stateInterpolationClose(c) { + if (c === this.delimiterClose[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterClose.length - 1) { + this.cbs.oninterpolation(this.sectionStart, this.index + 1); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else { + this.delimiterIndex++; + } + } else { + this.state = 3; + this.stateInterpolation(c); + } + } + stateSpecialStartSequence(c) { + const isEnd = this.sequenceIndex === this.currentSequence.length; + const isMatch = isEnd ? ( + // If we are at the end of the sequence, make sure the tag name has ended + isEndOfTagSection(c) + ) : ( + // Otherwise, do a case-insensitive comparison + (c | 32) === this.currentSequence[this.sequenceIndex] + ); + if (!isMatch) { + this.inRCDATA = false; + } else if (!isEnd) { + this.sequenceIndex++; + return; + } + this.sequenceIndex = 0; + this.state = 6; + this.stateInTagName(c); + } + /** Look for an end tag. For <title> and <textarea>, also decode entities. */ + stateInRCDATA(c) { + if (this.sequenceIndex === this.currentSequence.length) { + if (c === 62 || isWhitespace(c)) { + const endOfText = this.index - this.currentSequence.length; + if (this.sectionStart < endOfText) { + const actualIndex = this.index; + this.index = endOfText; + this.cbs.ontext(this.sectionStart, endOfText); + this.index = actualIndex; + } + this.sectionStart = endOfText + 2; + this.stateInClosingTagName(c); + this.inRCDATA = false; + return; + } + this.sequenceIndex = 0; + } + if ((c | 32) === this.currentSequence[this.sequenceIndex]) { + this.sequenceIndex += 1; + } else if (this.sequenceIndex === 0) { + if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) { + if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } else if (this.fastForwardTo(60)) { + this.sequenceIndex = 1; + } + } else { + this.sequenceIndex = Number(c === 60); + } + } + stateCDATASequence(c) { + if (c === Sequences.Cdata[this.sequenceIndex]) { + if (++this.sequenceIndex === Sequences.Cdata.length) { + this.state = 28; + this.currentSequence = Sequences.CdataEnd; + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + } + } else { + this.sequenceIndex = 0; + this.state = 23; + this.stateInDeclaration(c); + } + } + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + fastForwardTo(c) { + while (++this.index < this.buffer.length) { + const cc = this.buffer.charCodeAt(this.index); + if (cc === 10) { + this.newlines.push(this.index); + } + if (cc === c) { + return true; + } + } + this.index = this.buffer.length - 1; + return false; + } + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + stateInCommentLike(c) { + if (c === this.currentSequence[this.sequenceIndex]) { + if (++this.sequenceIndex === this.currentSequence.length) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, this.index - 2); + } else { + this.cbs.oncomment(this.sectionStart, this.index - 2); + } + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + this.state = 1; + } + } else if (this.sequenceIndex === 0) { + if (this.fastForwardTo(this.currentSequence[0])) { + this.sequenceIndex = 1; + } + } else if (c !== this.currentSequence[this.sequenceIndex - 1]) { + this.sequenceIndex = 0; + } + } + startSpecial(sequence, offset) { + this.enterRCDATA(sequence, offset); + this.state = 31; + } + enterRCDATA(sequence, offset) { + this.inRCDATA = true; + this.currentSequence = sequence; + this.sequenceIndex = offset; + } + stateBeforeTagName(c) { + if (c === 33) { + this.state = 22; + this.sectionStart = this.index + 1; + } else if (c === 63) { + this.state = 24; + this.sectionStart = this.index + 1; + } else if (isTagStartChar(c)) { + this.sectionStart = this.index; + if (this.mode === 0) { + this.state = 6; + } else if (this.inSFCRoot) { + this.state = 34; + } else if (!this.inXML) { + if (c === 116) { + this.state = 30; + } else { + this.state = c === 115 ? 29 : 6; + } + } else { + this.state = 6; + } + } else if (c === 47) { + this.state = 8; + } else { + this.state = 1; + this.stateText(c); + } + } + stateInTagName(c) { + if (isEndOfTagSection(c)) { + this.handleTagName(c); + } + } + stateInSFCRootTagName(c) { + if (isEndOfTagSection(c)) { + const tag = this.buffer.slice(this.sectionStart, this.index); + if (tag !== "template") { + this.enterRCDATA(toCharCodes(`</` + tag), 0); + } + this.handleTagName(c); + } + } + handleTagName(c) { + this.cbs.onopentagname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } + stateBeforeClosingTagName(c) { + if (isWhitespace(c)) ; else if (c === 62) { + { + this.cbs.onerr(14, this.index); + } + this.state = 1; + this.sectionStart = this.index + 1; + } else { + this.state = isTagStartChar(c) ? 9 : 27; + this.sectionStart = this.index; + } + } + stateInClosingTagName(c) { + if (c === 62 || isWhitespace(c)) { + this.cbs.onclosetag(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 10; + this.stateAfterClosingTagName(c); + } + } + stateAfterClosingTagName(c) { + if (c === 62) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeAttrName(c) { + if (c === 62) { + this.cbs.onopentagend(this.index); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else if (c === 47) { + this.state = 7; + if (this.peek() !== 62) { + this.cbs.onerr(22, this.index); + } + } else if (c === 60 && this.peek() === 47) { + this.cbs.onopentagend(this.index); + this.state = 5; + this.sectionStart = this.index; + } else if (!isWhitespace(c)) { + if (c === 61) { + this.cbs.onerr( + 19, + this.index + ); + } + this.handleAttrStart(c); + } + } + handleAttrStart(c) { + if (c === 118 && this.peek() === 45) { + this.state = 13; + this.sectionStart = this.index; + } else if (c === 46 || c === 58 || c === 64 || c === 35) { + this.cbs.ondirname(this.index, this.index + 1); + this.state = 14; + this.sectionStart = this.index + 1; + } else { + this.state = 12; + this.sectionStart = this.index; + } + } + stateInSelfClosingTag(c) { + if (c === 62) { + this.cbs.onselfclosingtag(this.index); + this.state = 1; + this.sectionStart = this.index + 1; + this.inRCDATA = false; + } else if (!isWhitespace(c)) { + this.state = 11; + this.stateBeforeAttrName(c); + } + } + stateInAttrName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.onattribname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 34 || c === 39 || c === 60) { + this.cbs.onerr( + 17, + this.index + ); + } + } + stateInDirName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 58) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 14; + this.sectionStart = this.index + 1; + } else if (c === 46) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDirArg(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 91) { + this.state = 15; + } else if (c === 46) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDynamicDirArg(c) { + if (c === 93) { + this.state = 14; + } else if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index + 1); + this.handleAttrNameEnd(c); + { + this.cbs.onerr( + 27, + this.index + ); + } + } + } + stateInDirModifier(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 46) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.sectionStart = this.index + 1; + } + } + handleAttrNameEnd(c) { + this.sectionStart = this.index; + this.state = 17; + this.cbs.onattribnameend(this.index); + this.stateAfterAttrName(c); + } + stateAfterAttrName(c) { + if (c === 61) { + this.state = 18; + } else if (c === 47 || c === 62) { + this.cbs.onattribend(0, this.sectionStart); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } else if (!isWhitespace(c)) { + this.cbs.onattribend(0, this.sectionStart); + this.handleAttrStart(c); + } + } + stateBeforeAttrValue(c) { + if (c === 34) { + this.state = 19; + this.sectionStart = this.index + 1; + } else if (c === 39) { + this.state = 20; + this.sectionStart = this.index + 1; + } else if (!isWhitespace(c)) { + this.sectionStart = this.index; + this.state = 21; + this.stateInAttrValueNoQuotes(c); + } + } + handleInAttrValue(c, quote) { + if (c === quote || false) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend( + quote === 34 ? 3 : 2, + this.index + 1 + ); + this.state = 11; + } else if (c === 38) { + this.startEntity(); + } + } + stateInAttrValueDoubleQuotes(c) { + this.handleInAttrValue(c, 34); + } + stateInAttrValueSingleQuotes(c) { + this.handleInAttrValue(c, 39); + } + stateInAttrValueNoQuotes(c) { + if (isWhitespace(c) || c === 62) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(1, this.index); + this.state = 11; + this.stateBeforeAttrName(c); + } else if (c === 34 || c === 39 || c === 60 || c === 61 || c === 96) { + this.cbs.onerr( + 18, + this.index + ); + } else if (c === 38) { + this.startEntity(); + } + } + stateBeforeDeclaration(c) { + if (c === 91) { + this.state = 26; + this.sequenceIndex = 0; + } else { + this.state = c === 45 ? 25 : 23; + } + } + stateInDeclaration(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateInProcessingInstruction(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.onprocessinginstruction(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeComment(c) { + if (c === 45) { + this.state = 28; + this.currentSequence = Sequences.CommentEnd; + this.sequenceIndex = 2; + this.sectionStart = this.index + 1; + } else { + this.state = 23; + } + } + stateInSpecialComment(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.oncomment(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeSpecialS(c) { + if (c === Sequences.ScriptEnd[3]) { + this.startSpecial(Sequences.ScriptEnd, 4); + } else if (c === Sequences.StyleEnd[3]) { + this.startSpecial(Sequences.StyleEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + stateBeforeSpecialT(c) { + if (c === Sequences.TitleEnd[3]) { + this.startSpecial(Sequences.TitleEnd, 4); + } else if (c === Sequences.TextareaEnd[3]) { + this.startSpecial(Sequences.TextareaEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + startEntity() { + { + this.baseState = this.state; + this.state = 33; + this.entityStart = this.index; + this.entityDecoder.startEntity( + this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute + ); + } + } + stateInEntity() { + { + const length = this.entityDecoder.write(this.buffer, this.index); + if (length >= 0) { + this.state = this.baseState; + if (length === 0) { + this.index = this.entityStart; + } + } else { + this.index = this.buffer.length - 1; + } + } + } + /** + * Iterates through the buffer, calling the function corresponding to the current state. + * + * States that are more likely to be hit are higher up, as a performance improvement. + */ + parse(input) { + this.buffer = input; + while (this.index < this.buffer.length) { + const c = this.buffer.charCodeAt(this.index); + if (c === 10 && this.state !== 33) { + this.newlines.push(this.index); + } + switch (this.state) { + case 1: { + this.stateText(c); + break; + } + case 2: { + this.stateInterpolationOpen(c); + break; + } + case 3: { + this.stateInterpolation(c); + break; + } + case 4: { + this.stateInterpolationClose(c); + break; + } + case 31: { + this.stateSpecialStartSequence(c); + break; + } + case 32: { + this.stateInRCDATA(c); + break; + } + case 26: { + this.stateCDATASequence(c); + break; + } + case 19: { + this.stateInAttrValueDoubleQuotes(c); + break; + } + case 12: { + this.stateInAttrName(c); + break; + } + case 13: { + this.stateInDirName(c); + break; + } + case 14: { + this.stateInDirArg(c); + break; + } + case 15: { + this.stateInDynamicDirArg(c); + break; + } + case 16: { + this.stateInDirModifier(c); + break; + } + case 28: { + this.stateInCommentLike(c); + break; + } + case 27: { + this.stateInSpecialComment(c); + break; + } + case 11: { + this.stateBeforeAttrName(c); + break; + } + case 6: { + this.stateInTagName(c); + break; + } + case 34: { + this.stateInSFCRootTagName(c); + break; + } + case 9: { + this.stateInClosingTagName(c); + break; + } + case 5: { + this.stateBeforeTagName(c); + break; + } + case 17: { + this.stateAfterAttrName(c); + break; + } + case 20: { + this.stateInAttrValueSingleQuotes(c); + break; + } + case 18: { + this.stateBeforeAttrValue(c); + break; + } + case 8: { + this.stateBeforeClosingTagName(c); + break; + } + case 10: { + this.stateAfterClosingTagName(c); + break; + } + case 29: { + this.stateBeforeSpecialS(c); + break; + } + case 30: { + this.stateBeforeSpecialT(c); + break; + } + case 21: { + this.stateInAttrValueNoQuotes(c); + break; + } + case 7: { + this.stateInSelfClosingTag(c); + break; + } + case 23: { + this.stateInDeclaration(c); + break; + } + case 22: { + this.stateBeforeDeclaration(c); + break; + } + case 25: { + this.stateBeforeComment(c); + break; + } + case 24: { + this.stateInProcessingInstruction(c); + break; + } + case 33: { + this.stateInEntity(); + break; + } + } + this.index++; + } + this.cleanup(); + this.finish(); + } + /** + * Remove data that has already been consumed from the buffer. + */ + cleanup() { + if (this.sectionStart !== this.index) { + if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) { + this.cbs.ontext(this.sectionStart, this.index); + this.sectionStart = this.index; + } else if (this.state === 19 || this.state === 20 || this.state === 21) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = this.index; + } + } + } + finish() { + if (this.state === 33) { + this.entityDecoder.end(); + this.state = this.baseState; + } + this.handleTrailingData(); + this.cbs.onend(); + } + /** Handle any trailing data. */ + handleTrailingData() { + const endIndex = this.buffer.length; + if (this.sectionStart >= endIndex) { + return; + } + if (this.state === 28) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, endIndex); + } else { + this.cbs.oncomment(this.sectionStart, endIndex); + } + } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else { + this.cbs.ontext(this.sectionStart, endIndex); + } + } + emitCodePoint(cp, consumed) { + { + if (this.baseState !== 1 && this.baseState !== 32) { + if (this.sectionStart < this.entityStart) { + this.cbs.onattribdata(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.onattribentity( + decode.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } else { + if (this.sectionStart < this.entityStart) { + this.cbs.ontext(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.ontextentity( + decode.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } + } + } +} + +const CompilerDeprecationTypes = { + "COMPILER_IS_ON_ELEMENT": "COMPILER_IS_ON_ELEMENT", + "COMPILER_V_BIND_SYNC": "COMPILER_V_BIND_SYNC", + "COMPILER_V_BIND_OBJECT_ORDER": "COMPILER_V_BIND_OBJECT_ORDER", + "COMPILER_V_ON_NATIVE": "COMPILER_V_ON_NATIVE", + "COMPILER_V_IF_V_FOR_PRECEDENCE": "COMPILER_V_IF_V_FOR_PRECEDENCE", + "COMPILER_NATIVE_TEMPLATE": "COMPILER_NATIVE_TEMPLATE", + "COMPILER_INLINE_TEMPLATE": "COMPILER_INLINE_TEMPLATE", + "COMPILER_FILTERS": "COMPILER_FILTERS" +}; +const deprecationData = { + ["COMPILER_IS_ON_ELEMENT"]: { + message: `Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".`, + link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html` + }, + ["COMPILER_V_BIND_SYNC"]: { + message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${key}.sync\` should be changed to \`v-model:${key}\`.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html` + }, + ["COMPILER_V_BIND_OBJECT_ORDER"]: { + message: `v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html` + }, + ["COMPILER_V_ON_NATIVE"]: { + message: `.native modifier for v-on has been removed as is no longer necessary.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html` + }, + ["COMPILER_V_IF_V_FOR_PRECEDENCE"]: { + message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html` + }, + ["COMPILER_NATIVE_TEMPLATE"]: { + message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.` + }, + ["COMPILER_INLINE_TEMPLATE"]: { + message: `"inline-template" has been removed in Vue 3.`, + link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html` + }, + ["COMPILER_FILTERS"]: { + message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`, + link: `https://v3-migration.vuejs.org/breaking-changes/filters.html` + } +}; +function getCompatValue(key, { compatConfig }) { + const value = compatConfig && compatConfig[key]; + if (key === "MODE") { + return value || 3; + } else { + return value; + } +} +function isCompatEnabled(key, context) { + const mode = getCompatValue("MODE", context); + const value = getCompatValue(key, context); + return mode === 3 ? value === true : value !== false; +} +function checkCompatEnabled(key, context, loc, ...args) { + const enabled = isCompatEnabled(key, context); + return enabled; +} +function warnDeprecation(key, context, loc, ...args) { + const val = getCompatValue(key, context); + if (val === "suppress-warning") { + return; + } + const { message, link } = deprecationData[key]; + const msg = `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? ` + Details: ${link}` : ``}`; + const err = new SyntaxError(msg); + err.code = key; + if (loc) err.loc = loc; + context.onWarn(err); +} + +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +const ErrorCodes = { + "ABRUPT_CLOSING_OF_EMPTY_COMMENT": 0, + "0": "ABRUPT_CLOSING_OF_EMPTY_COMMENT", + "CDATA_IN_HTML_CONTENT": 1, + "1": "CDATA_IN_HTML_CONTENT", + "DUPLICATE_ATTRIBUTE": 2, + "2": "DUPLICATE_ATTRIBUTE", + "END_TAG_WITH_ATTRIBUTES": 3, + "3": "END_TAG_WITH_ATTRIBUTES", + "END_TAG_WITH_TRAILING_SOLIDUS": 4, + "4": "END_TAG_WITH_TRAILING_SOLIDUS", + "EOF_BEFORE_TAG_NAME": 5, + "5": "EOF_BEFORE_TAG_NAME", + "EOF_IN_CDATA": 6, + "6": "EOF_IN_CDATA", + "EOF_IN_COMMENT": 7, + "7": "EOF_IN_COMMENT", + "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT": 8, + "8": "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT", + "EOF_IN_TAG": 9, + "9": "EOF_IN_TAG", + "INCORRECTLY_CLOSED_COMMENT": 10, + "10": "INCORRECTLY_CLOSED_COMMENT", + "INCORRECTLY_OPENED_COMMENT": 11, + "11": "INCORRECTLY_OPENED_COMMENT", + "INVALID_FIRST_CHARACTER_OF_TAG_NAME": 12, + "12": "INVALID_FIRST_CHARACTER_OF_TAG_NAME", + "MISSING_ATTRIBUTE_VALUE": 13, + "13": "MISSING_ATTRIBUTE_VALUE", + "MISSING_END_TAG_NAME": 14, + "14": "MISSING_END_TAG_NAME", + "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES": 15, + "15": "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES", + "NESTED_COMMENT": 16, + "16": "NESTED_COMMENT", + "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME": 17, + "17": "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME", + "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE": 18, + "18": "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE", + "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME": 19, + "19": "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME", + "UNEXPECTED_NULL_CHARACTER": 20, + "20": "UNEXPECTED_NULL_CHARACTER", + "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME": 21, + "21": "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME", + "UNEXPECTED_SOLIDUS_IN_TAG": 22, + "22": "UNEXPECTED_SOLIDUS_IN_TAG", + "X_INVALID_END_TAG": 23, + "23": "X_INVALID_END_TAG", + "X_MISSING_END_TAG": 24, + "24": "X_MISSING_END_TAG", + "X_MISSING_INTERPOLATION_END": 25, + "25": "X_MISSING_INTERPOLATION_END", + "X_MISSING_DIRECTIVE_NAME": 26, + "26": "X_MISSING_DIRECTIVE_NAME", + "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END": 27, + "27": "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END", + "X_V_IF_NO_EXPRESSION": 28, + "28": "X_V_IF_NO_EXPRESSION", + "X_V_IF_SAME_KEY": 29, + "29": "X_V_IF_SAME_KEY", + "X_V_ELSE_NO_ADJACENT_IF": 30, + "30": "X_V_ELSE_NO_ADJACENT_IF", + "X_V_FOR_NO_EXPRESSION": 31, + "31": "X_V_FOR_NO_EXPRESSION", + "X_V_FOR_MALFORMED_EXPRESSION": 32, + "32": "X_V_FOR_MALFORMED_EXPRESSION", + "X_V_FOR_TEMPLATE_KEY_PLACEMENT": 33, + "33": "X_V_FOR_TEMPLATE_KEY_PLACEMENT", + "X_V_BIND_NO_EXPRESSION": 34, + "34": "X_V_BIND_NO_EXPRESSION", + "X_V_ON_NO_EXPRESSION": 35, + "35": "X_V_ON_NO_EXPRESSION", + "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET": 36, + "36": "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET", + "X_V_SLOT_MIXED_SLOT_USAGE": 37, + "37": "X_V_SLOT_MIXED_SLOT_USAGE", + "X_V_SLOT_DUPLICATE_SLOT_NAMES": 38, + "38": "X_V_SLOT_DUPLICATE_SLOT_NAMES", + "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN": 39, + "39": "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN", + "X_V_SLOT_MISPLACED": 40, + "40": "X_V_SLOT_MISPLACED", + "X_V_MODEL_NO_EXPRESSION": 41, + "41": "X_V_MODEL_NO_EXPRESSION", + "X_V_MODEL_MALFORMED_EXPRESSION": 42, + "42": "X_V_MODEL_MALFORMED_EXPRESSION", + "X_V_MODEL_ON_SCOPE_VARIABLE": 43, + "43": "X_V_MODEL_ON_SCOPE_VARIABLE", + "X_V_MODEL_ON_PROPS": 44, + "44": "X_V_MODEL_ON_PROPS", + "X_V_MODEL_ON_CONST": 45, + "45": "X_V_MODEL_ON_CONST", + "X_INVALID_EXPRESSION": 46, + "46": "X_INVALID_EXPRESSION", + "X_KEEP_ALIVE_INVALID_CHILDREN": 47, + "47": "X_KEEP_ALIVE_INVALID_CHILDREN", + "X_PREFIX_ID_NOT_SUPPORTED": 48, + "48": "X_PREFIX_ID_NOT_SUPPORTED", + "X_MODULE_MODE_NOT_SUPPORTED": 49, + "49": "X_MODULE_MODE_NOT_SUPPORTED", + "X_CACHE_HANDLER_NOT_SUPPORTED": 50, + "50": "X_CACHE_HANDLER_NOT_SUPPORTED", + "X_SCOPE_ID_NOT_SUPPORTED": 51, + "51": "X_SCOPE_ID_NOT_SUPPORTED", + "X_VNODE_HOOKS": 52, + "52": "X_VNODE_HOOKS", + "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53, + "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT", + "__EXTEND_POINT__": 54, + "54": "__EXTEND_POINT__" +}; +const errorMessages = { + // parse errors + [0]: "Illegal comment.", + [1]: "CDATA section is allowed only in XML context.", + [2]: "Duplicate attribute.", + [3]: "End tag cannot have attributes.", + [4]: "Illegal '/' in tags.", + [5]: "Unexpected EOF in tag.", + [6]: "Unexpected EOF in CDATA section.", + [7]: "Unexpected EOF in comment.", + [8]: "Unexpected EOF in script.", + [9]: "Unexpected EOF in tag.", + [10]: "Incorrectly closed comment.", + [11]: "Incorrectly opened comment.", + [12]: "Illegal tag name. Use '<' to print '<'.", + [13]: "Attribute value was expected.", + [14]: "End tag name was expected.", + [15]: "Whitespace was expected.", + [16]: "Unexpected '<!--' in comment.", + [17]: `Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`, + [18]: "Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).", + [19]: "Attribute name cannot start with '='.", + [21]: "'<?' is allowed only in XML context.", + [20]: `Unexpected null character.`, + [22]: "Illegal '/' in tags.", + // Vue-specific parse errors + [23]: "Invalid end tag.", + [24]: "Element is missing end tag.", + [25]: "Interpolation end sign was not found.", + [27]: "End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.", + [26]: "Legal directive name was expected.", + // transform errors + [28]: `v-if/v-else-if is missing expression.`, + [29]: `v-if/else branches must use unique keys.`, + [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`, + [31]: `v-for is missing expression.`, + [32]: `v-for has invalid expression.`, + [33]: `<template v-for> key should be placed on the <template> tag.`, + [34]: `v-bind is missing expression.`, + [53]: `v-bind with same-name shorthand only allows static argument.`, + [35]: `v-on is missing expression.`, + [36]: `Unexpected custom directive on <slot> outlet.`, + [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`, + [38]: `Duplicate slot names found. `, + [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`, + [40]: `v-slot can only be used on components or <template> tags.`, + [41]: `v-model is missing expression.`, + [42]: `v-model value must be a valid JavaScript member expression.`, + [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`, + [44]: `v-model cannot be used on a prop, because local prop bindings are not writable. +Use a v-bind binding combined with a v-on listener that emits update:x event instead.`, + [45]: `v-model cannot be used on a const binding because it is not writable.`, + [46]: `Error parsing JavaScript expression: `, + [47]: `<KeepAlive> expects exactly one child component.`, + [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`, + // generic errors + [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`, + [49]: `ES module mode is not supported in this build of compiler.`, + [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`, + [51]: `"scopeId" option is only supported in module mode.`, + // just to fulfill types + [54]: `` +}; + +function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) { + const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root; + estreeWalker.walk(root, { + enter(node, parent) { + parent && parentStack.push(parent); + if (parent && parent.type.startsWith("TS") && !TS_NODE_TYPES.includes(parent.type)) { + return this.skip(); + } + if (node.type === "Identifier") { + const isLocal = !!knownIds[node.name]; + const isRefed = isReferencedIdentifier(node, parent, parentStack); + if (includeAll || isRefed && !isLocal) { + onIdentifier(node, parent, parentStack, isRefed, isLocal); + } + } else if (node.type === "ObjectProperty" && // eslint-disable-next-line no-restricted-syntax + (parent == null ? void 0 : parent.type) === "ObjectPattern") { + node.inPattern = true; + } else if (isFunctionType(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkFunctionParams( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "BlockStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkBlockDeclarations( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "SwitchStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkSwitchStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "CatchClause" && node.param) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + for (const id of extractIdentifiers(node.param)) { + markScopeIdentifier(node, id, knownIds); + } + } + } else if (isForStatement(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkForStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } + }, + leave(node, parent) { + parent && parentStack.pop(); + if (node !== rootExp && node.scopeIds) { + for (const id of node.scopeIds) { + knownIds[id]--; + if (knownIds[id] === 0) { + delete knownIds[id]; + } + } + } + } + }); +} +function isReferencedIdentifier(id, parent, parentStack) { + if (!parent) { + return true; + } + if (id.name === "arguments") { + return false; + } + if (isReferenced(id, parent, parentStack[parentStack.length - 2])) { + return true; + } + switch (parent.type) { + case "AssignmentExpression": + case "AssignmentPattern": + return true; + case "ObjectProperty": + return parent.key !== id && isInDestructureAssignment(parent, parentStack); + case "ArrayPattern": + return isInDestructureAssignment(parent, parentStack); + } + return false; +} +function isInDestructureAssignment(parent, parentStack) { + if (parent && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern")) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "AssignmentExpression") { + return true; + } else if (p.type !== "ObjectProperty" && !p.type.endsWith("Pattern")) { + break; + } + } + } + return false; +} +function isInNewExpression(parentStack) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "NewExpression") { + return true; + } else if (p.type !== "MemberExpression") { + break; + } + } + return false; +} +function walkFunctionParams(node, onIdent) { + for (const p of node.params) { + for (const id of extractIdentifiers(p)) { + onIdent(id); + } + } +} +function walkBlockDeclarations(block, onIdent) { + const body = block.type === "SwitchCase" ? block.consequent : block.body; + for (const stmt of body) { + if (stmt.type === "VariableDeclaration") { + if (stmt.declare) continue; + for (const decl of stmt.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") { + if (stmt.declare || !stmt.id) continue; + onIdent(stmt.id); + } else if (isForStatement(stmt)) { + walkForStatement(stmt, true, onIdent); + } else if (stmt.type === "SwitchStatement") { + walkSwitchStatement(stmt, true, onIdent); + } + } +} +function isForStatement(stmt) { + return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement"; +} +function walkForStatement(stmt, isVar, onIdent) { + const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left; + if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) { + for (const decl of variable.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } +} +function walkSwitchStatement(stmt, isVar, onIdent) { + for (const cs of stmt.cases) { + for (const stmt2 of cs.consequent) { + if (stmt2.type === "VariableDeclaration" && (stmt2.kind === "var" ? isVar : !isVar)) { + for (const decl of stmt2.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } + } + walkBlockDeclarations(cs, onIdent); + } +} +function extractIdentifiers(param, nodes = []) { + switch (param.type) { + case "Identifier": + nodes.push(param); + break; + case "MemberExpression": + let object = param; + while (object.type === "MemberExpression") { + object = object.object; + } + nodes.push(object); + break; + case "ObjectPattern": + for (const prop of param.properties) { + if (prop.type === "RestElement") { + extractIdentifiers(prop.argument, nodes); + } else { + extractIdentifiers(prop.value, nodes); + } + } + break; + case "ArrayPattern": + param.elements.forEach((element) => { + if (element) extractIdentifiers(element, nodes); + }); + break; + case "RestElement": + extractIdentifiers(param.argument, nodes); + break; + case "AssignmentPattern": + extractIdentifiers(param.left, nodes); + break; + } + return nodes; +} +function markKnownIds(name, knownIds) { + if (name in knownIds) { + knownIds[name]++; + } else { + knownIds[name] = 1; + } +} +function markScopeIdentifier(node, child, knownIds) { + const { name } = child; + if (node.scopeIds && node.scopeIds.has(name)) { + return; + } + markKnownIds(name, knownIds); + (node.scopeIds || (node.scopeIds = /* @__PURE__ */ new Set())).add(name); +} +const isFunctionType = (node) => { + return /Function(?:Expression|Declaration)$|Method$/.test(node.type); +}; +const isStaticProperty = (node) => node && (node.type === "ObjectProperty" || node.type === "ObjectMethod") && !node.computed; +const isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node; +function isReferenced(node, parent, grandparent) { + switch (parent.type) { + // yes: PARENT[NODE] + // yes: NODE.child + // no: parent.NODE + case "MemberExpression": + case "OptionalMemberExpression": + if (parent.property === node) { + return !!parent.computed; + } + return parent.object === node; + case "JSXMemberExpression": + return parent.object === node; + // no: let NODE = init; + // yes: let id = NODE; + case "VariableDeclarator": + return parent.init === node; + // yes: () => NODE + // no: (NODE) => {} + case "ArrowFunctionExpression": + return parent.body === node; + // no: class { #NODE; } + // no: class { get #NODE() {} } + // no: class { #NODE() {} } + // no: class { fn() { return this.#NODE; } } + case "PrivateName": + return false; + // no: class { NODE() {} } + // yes: class { [NODE]() {} } + // no: class { foo(NODE) {} } + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node) { + return !!parent.computed; + } + return false; + // yes: { [NODE]: "" } + // no: { NODE: "" } + // depends: { NODE } + // depends: { key: NODE } + case "ObjectProperty": + if (parent.key === node) { + return !!parent.computed; + } + return !grandparent || grandparent.type !== "ObjectPattern"; + // no: class { NODE = value; } + // yes: class { [NODE] = value; } + // yes: class { key = NODE; } + case "ClassProperty": + if (parent.key === node) { + return !!parent.computed; + } + return true; + case "ClassPrivateProperty": + return parent.key !== node; + // no: class NODE {} + // yes: class Foo extends NODE {} + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node; + // yes: left = NODE; + // no: NODE = right; + case "AssignmentExpression": + return parent.right === node; + // no: [NODE = foo] = []; + // yes: [foo = NODE] = []; + case "AssignmentPattern": + return parent.right === node; + // no: NODE: for (;;) {} + case "LabeledStatement": + return false; + // no: try {} catch (NODE) {} + case "CatchClause": + return false; + // no: function foo(...NODE) {} + case "RestElement": + return false; + case "BreakStatement": + case "ContinueStatement": + return false; + // no: function NODE() {} + // no: function foo(NODE) {} + case "FunctionDeclaration": + case "FunctionExpression": + return false; + // no: export NODE from "foo"; + // no: export * as NODE from "foo"; + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + // no: export { foo as NODE }; + // yes: export { NODE as foo }; + // no: export { NODE as foo } from "foo"; + case "ExportSpecifier": + if (grandparent == null ? void 0 : grandparent.source) { + return false; + } + return parent.local === node; + // no: import NODE from "foo"; + // no: import * as NODE from "foo"; + // no: import { NODE as foo } from "foo"; + // no: import { foo as NODE } from "foo"; + // no: import NODE from "bar"; + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + // no: import "foo" assert { NODE: "json" } + case "ImportAttribute": + return false; + // no: <div NODE="foo" /> + case "JSXAttribute": + return false; + // no: [NODE] = []; + // no: ({ NODE }) = []; + case "ObjectPattern": + case "ArrayPattern": + return false; + // no: new.NODE + // no: NODE.target + case "MetaProperty": + return false; + // yes: type X = { someProperty: NODE } + // no: type X = { NODE: OtherType } + case "ObjectTypeProperty": + return parent.key !== node; + // yes: enum X { Foo = NODE } + // no: enum X { NODE } + case "TSEnumMember": + return parent.id !== node; + // yes: { [NODE]: value } + // no: { NODE: value } + case "TSPropertySignature": + if (parent.key === node) { + return !!parent.computed; + } + return true; + } + return true; +} +const TS_NODE_TYPES = [ + "TSAsExpression", + // foo as number + "TSTypeAssertion", + // (<number>foo) + "TSNonNullExpression", + // foo! + "TSInstantiationExpression", + // foo<string> + "TSSatisfiesExpression" + // foo satisfies T +]; +function unwrapTSNode(node) { + if (TS_NODE_TYPES.includes(node.type)) { + return unwrapTSNode(node.expression); + } else { + return node; + } +} + +const isStaticExp = (p) => p.type === 4 && p.isStatic; +function isCoreComponent(tag) { + switch (tag) { + case "Teleport": + case "teleport": + return TELEPORT; + case "Suspense": + case "suspense": + return SUSPENSE; + case "KeepAlive": + case "keep-alive": + return KEEP_ALIVE; + case "BaseTransition": + case "base-transition": + return BASE_TRANSITION; + } +} +const nonIdentifierRE = /^$|^\d|[^\$\w\xA0-\uFFFF]/; +const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name); +const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/; +const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/; +const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g; +const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source; +const isMemberExpressionBrowser = (exp) => { + const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim()); + let state = 0 /* inMemberExp */; + let stateStack = []; + let currentOpenBracketCount = 0; + let currentOpenParensCount = 0; + let currentStringType = null; + for (let i = 0; i < path.length; i++) { + const char = path.charAt(i); + switch (state) { + case 0 /* inMemberExp */: + if (char === "[") { + stateStack.push(state); + state = 1 /* inBrackets */; + currentOpenBracketCount++; + } else if (char === "(") { + stateStack.push(state); + state = 2 /* inParens */; + currentOpenParensCount++; + } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) { + return false; + } + break; + case 1 /* inBrackets */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `[`) { + currentOpenBracketCount++; + } else if (char === `]`) { + if (!--currentOpenBracketCount) { + state = stateStack.pop(); + } + } + break; + case 2 /* inParens */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `(`) { + currentOpenParensCount++; + } else if (char === `)`) { + if (i === path.length - 1) { + return false; + } + if (!--currentOpenParensCount) { + state = stateStack.pop(); + } + } + break; + case 3 /* inString */: + if (char === currentStringType) { + state = stateStack.pop(); + currentStringType = null; + } + break; + } + } + return !currentOpenBracketCount && !currentOpenParensCount; +}; +const isMemberExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + ret = unwrapTSNode(ret); + return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined"; + } catch (e) { + return false; + } +}; +const isMemberExpression = isMemberExpressionNode; +const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/; +const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp)); +const isFnExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + if (ret.type === "Program") { + ret = ret.body[0]; + if (ret.type === "ExpressionStatement") { + ret = ret.expression; + } + } + ret = unwrapTSNode(ret); + return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression"; + } catch (e) { + return false; + } +}; +const isFnExpression = isFnExpressionNode; +function advancePositionWithClone(pos, source, numberOfCharacters = source.length) { + return advancePositionWithMutation( + { + offset: pos.offset, + line: pos.line, + column: pos.column + }, + source, + numberOfCharacters + ); +} +function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { + let linesCount = 0; + let lastNewLinePos = -1; + for (let i = 0; i < numberOfCharacters; i++) { + if (source.charCodeAt(i) === 10) { + linesCount++; + lastNewLinePos = i; + } + } + pos.offset += numberOfCharacters; + pos.line += linesCount; + pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos; + return pos; +} +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || `unexpected compiler condition`); + } +} +function findDir(node, name, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (allowEmpty || p.exp) && (shared.isString(name) ? p.name === name : name.test(p.name))) { + return p; + } + } +} +function findProp(node, name, dynamicOnly = false, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (dynamicOnly) continue; + if (p.name === name && (p.value || allowEmpty)) { + return p; + } + } else if (p.name === "bind" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) { + return p; + } + } +} +function isStaticArgOf(arg, name) { + return !!(arg && isStaticExp(arg) && arg.content === name); +} +function hasDynamicKeyVBind(node) { + return node.props.some( + (p) => p.type === 7 && p.name === "bind" && (!p.arg || // v-bind="obj" + p.arg.type !== 4 || // v-bind:[_ctx.foo] + !p.arg.isStatic) + // v-bind:[foo] + ); +} +function isText$1(node) { + return node.type === 5 || node.type === 2; +} +function isVPre(p) { + return p.type === 7 && p.name === "pre"; +} +function isVSlot(p) { + return p.type === 7 && p.name === "slot"; +} +function isTemplateNode(node) { + return node.type === 1 && node.tagType === 3; +} +function isSlotOutlet(node) { + return node.type === 1 && node.tagType === 2; +} +const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]); +function getUnnormalizedProps(props, callPath = []) { + if (props && !shared.isString(props) && props.type === 14) { + const callee = props.callee; + if (!shared.isString(callee) && propsHelperSet.has(callee)) { + return getUnnormalizedProps( + props.arguments[0], + callPath.concat(props) + ); + } + } + return [props, callPath]; +} +function injectProp(node, prop, context) { + let propsWithInjection; + let props = node.type === 13 ? node.props : node.arguments[2]; + let callPath = []; + let parentCall; + if (props && !shared.isString(props) && props.type === 14) { + const ret = getUnnormalizedProps(props); + props = ret[0]; + callPath = ret[1]; + parentCall = callPath[callPath.length - 1]; + } + if (props == null || shared.isString(props)) { + propsWithInjection = createObjectExpression([prop]); + } else if (props.type === 14) { + const first = props.arguments[0]; + if (!shared.isString(first) && first.type === 15) { + if (!hasProp(prop, first)) { + first.properties.unshift(prop); + } + } else { + if (props.callee === TO_HANDLERS) { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + } else { + props.arguments.unshift(createObjectExpression([prop])); + } + } + !propsWithInjection && (propsWithInjection = props); + } else if (props.type === 15) { + if (!hasProp(prop, props)) { + props.properties.unshift(prop); + } + propsWithInjection = props; + } else { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) { + parentCall = callPath[callPath.length - 2]; + } + } + if (node.type === 13) { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.props = propsWithInjection; + } + } else { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.arguments[2] = propsWithInjection; + } + } +} +function hasProp(prop, props) { + let result = false; + if (prop.key.type === 4) { + const propKeyName = prop.key.content; + result = props.properties.some( + (p) => p.key.type === 4 && p.key.content === propKeyName + ); + } + return result; +} +function toValidAssetId(name, type) { + return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => { + return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString(); + })}`; +} +function hasScopeRef(node, ids) { + if (!node || Object.keys(ids).length === 0) { + return false; + } + switch (node.type) { + case 1: + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) { + return true; + } + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 11: + if (hasScopeRef(node.source, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 9: + return node.branches.some((b) => hasScopeRef(b, ids)); + case 10: + if (hasScopeRef(node.condition, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 4: + return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content]; + case 8: + return node.children.some((c) => shared.isObject(c) && hasScopeRef(c, ids)); + case 5: + case 12: + return hasScopeRef(node.content, ids); + case 2: + case 3: + case 20: + return false; + default: + return false; + } +} +function getMemoedVNodeCall(node) { + if (node.type === 14 && node.callee === WITH_MEMO) { + return node.arguments[1].returns; + } else { + return node; + } +} +const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/; +function isAllWhitespace(str) { + for (let i = 0; i < str.length; i++) { + if (!isWhitespace(str.charCodeAt(i))) { + return false; + } + } + return true; +} +function isWhitespaceText(node) { + return node.type === 2 && isAllWhitespace(node.content) || node.type === 12 && isWhitespaceText(node.content); +} +function isCommentOrWhitespace(node) { + return node.type === 3 || isWhitespaceText(node); +} + +const defaultParserOptions = { + parseMode: "base", + ns: 0, + delimiters: [`{{`, `}}`], + getNamespace: () => 0, + isVoidTag: shared.NO, + isPreTag: shared.NO, + isIgnoreNewlineTag: shared.NO, + isCustomElement: shared.NO, + onError: defaultOnError, + onWarn: defaultOnWarn, + comments: false, + prefixIdentifiers: false +}; +let currentOptions = defaultParserOptions; +let currentRoot = null; +let currentInput = ""; +let currentOpenTag = null; +let currentProp = null; +let currentAttrValue = ""; +let currentAttrStartIndex = -1; +let currentAttrEndIndex = -1; +let inPre = 0; +let inVPre = false; +let currentVPreBoundary = null; +const stack = []; +const tokenizer = new Tokenizer(stack, { + onerr: emitError, + ontext(start, end) { + onText(getSlice(start, end), start, end); + }, + ontextentity(char, start, end) { + onText(char, start, end); + }, + oninterpolation(start, end) { + if (inVPre) { + return onText(getSlice(start, end), start, end); + } + let innerStart = start + tokenizer.delimiterOpen.length; + let innerEnd = end - tokenizer.delimiterClose.length; + while (isWhitespace(currentInput.charCodeAt(innerStart))) { + innerStart++; + } + while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) { + innerEnd--; + } + let exp = getSlice(innerStart, innerEnd); + if (exp.includes("&")) { + { + exp = decode.decodeHTML(exp); + } + } + addNode({ + type: 5, + content: createExp(exp, false, getLoc(innerStart, innerEnd)), + loc: getLoc(start, end) + }); + }, + onopentagname(start, end) { + const name = getSlice(start, end); + currentOpenTag = { + type: 1, + tag: name, + ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns), + tagType: 0, + // will be refined on tag close + props: [], + children: [], + loc: getLoc(start - 1, end), + codegenNode: void 0 + }; + }, + onopentagend(end) { + endOpenTag(end); + }, + onclosetag(start, end) { + const name = getSlice(start, end); + if (!currentOptions.isVoidTag(name)) { + let found = false; + for (let i = 0; i < stack.length; i++) { + const e = stack[i]; + if (e.tag.toLowerCase() === name.toLowerCase()) { + found = true; + if (i > 0) { + emitError(24, stack[0].loc.start.offset); + } + for (let j = 0; j <= i; j++) { + const el = stack.shift(); + onCloseTag(el, end, j < i); + } + break; + } + } + if (!found) { + emitError(23, backTrack(start, 60)); + } + } + }, + onselfclosingtag(end) { + const name = currentOpenTag.tag; + currentOpenTag.isSelfClosing = true; + endOpenTag(end); + if (stack[0] && stack[0].tag === name) { + onCloseTag(stack.shift(), end); + } + }, + onattribname(start, end) { + currentProp = { + type: 6, + name: getSlice(start, end), + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + }, + ondirname(start, end) { + const raw = getSlice(start, end); + const name = raw === "." || raw === ":" ? "bind" : raw === "@" ? "on" : raw === "#" ? "slot" : raw.slice(2); + if (!inVPre && name === "") { + emitError(26, start); + } + if (inVPre || name === "") { + currentProp = { + type: 6, + name: raw, + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + } else { + currentProp = { + type: 7, + name, + rawName: raw, + exp: void 0, + arg: void 0, + modifiers: raw === "." ? [createSimpleExpression("prop")] : [], + loc: getLoc(start) + }; + if (name === "pre") { + inVPre = tokenizer.inVPre = true; + currentVPreBoundary = currentOpenTag; + const props = currentOpenTag.props; + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7) { + props[i] = dirToAttr(props[i]); + } + } + } + } + }, + ondirarg(start, end) { + if (start === end) return; + const arg = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += arg; + setLocEnd(currentProp.nameLoc, end); + } else { + const isStatic = arg[0] !== `[`; + currentProp.arg = createExp( + isStatic ? arg : arg.slice(1, -1), + isStatic, + getLoc(start, end), + isStatic ? 3 : 0 + ); + } + }, + ondirmodifier(start, end) { + const mod = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += "." + mod; + setLocEnd(currentProp.nameLoc, end); + } else if (currentProp.name === "slot") { + const arg = currentProp.arg; + if (arg) { + arg.content += "." + mod; + setLocEnd(arg.loc, end); + } + } else { + const exp = createSimpleExpression(mod, true, getLoc(start, end)); + currentProp.modifiers.push(exp); + } + }, + onattribdata(start, end) { + currentAttrValue += getSlice(start, end); + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribentity(char, start, end) { + currentAttrValue += char; + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribnameend(end) { + const start = currentProp.loc.start.offset; + const name = getSlice(start, end); + if (currentProp.type === 7) { + currentProp.rawName = name; + } + if (currentOpenTag.props.some( + (p) => (p.type === 7 ? p.rawName : p.name) === name + )) { + emitError(2, start); + } + }, + onattribend(quote, end) { + if (currentOpenTag && currentProp) { + setLocEnd(currentProp.loc, end); + if (quote !== 0) { + if (currentProp.type === 6) { + if (currentProp.name === "class") { + currentAttrValue = condense(currentAttrValue).trim(); + } + if (quote === 1 && !currentAttrValue) { + emitError(13, end); + } + currentProp.value = { + type: 2, + content: currentAttrValue, + loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1) + }; + if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") { + tokenizer.enterRCDATA(toCharCodes(`</template`), 0); + } + } else { + let expParseMode = 0 /* Normal */; + { + if (currentProp.name === "for") { + expParseMode = 3 /* Skip */; + } else if (currentProp.name === "slot") { + expParseMode = 1 /* Params */; + } else if (currentProp.name === "on" && currentAttrValue.includes(";")) { + expParseMode = 2 /* Statements */; + } + } + currentProp.exp = createExp( + currentAttrValue, + false, + getLoc(currentAttrStartIndex, currentAttrEndIndex), + 0, + expParseMode + ); + if (currentProp.name === "for") { + currentProp.forParseResult = parseForExpression(currentProp.exp); + } + let syncIndex = -1; + if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex( + (mod) => mod.content === "sync" + )) > -1 && checkCompatEnabled( + "COMPILER_V_BIND_SYNC", + currentOptions, + currentProp.loc, + currentProp.arg.loc.source + )) { + currentProp.name = "model"; + currentProp.modifiers.splice(syncIndex, 1); + } + } + } + if (currentProp.type !== 7 || currentProp.name !== "pre") { + currentOpenTag.props.push(currentProp); + } + } + currentAttrValue = ""; + currentAttrStartIndex = currentAttrEndIndex = -1; + }, + oncomment(start, end) { + if (currentOptions.comments) { + addNode({ + type: 3, + content: getSlice(start, end), + loc: getLoc(start - 4, end + 3) + }); + } + }, + onend() { + const end = currentInput.length; + if (tokenizer.state !== 1) { + switch (tokenizer.state) { + case 5: + case 8: + emitError(5, end); + break; + case 3: + case 4: + emitError( + 25, + tokenizer.sectionStart + ); + break; + case 28: + if (tokenizer.currentSequence === Sequences.CdataEnd) { + emitError(6, end); + } else { + emitError(7, end); + } + break; + case 6: + case 7: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + // " + case 20: + // ' + case 21: + emitError(9, end); + break; + } + } + for (let index = 0; index < stack.length; index++) { + onCloseTag(stack[index], end - 1); + emitError(24, stack[index].loc.start.offset); + } + }, + oncdata(start, end) { + if (stack[0].ns !== 0) { + onText(getSlice(start, end), start, end); + } else { + emitError(1, start - 9); + } + }, + onprocessinginstruction(start) { + if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + emitError( + 21, + start - 1 + ); + } + } +}); +const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; +const stripParensRE = /^\(|\)$/g; +function parseForExpression(input) { + const loc = input.loc; + const exp = input.content; + const inMatch = exp.match(forAliasRE); + if (!inMatch) return; + const [, LHS, RHS] = inMatch; + const createAliasExpression = (content, offset, asParam = false) => { + const start = loc.start.offset + offset; + const end = start + content.length; + return createExp( + content, + false, + getLoc(start, end), + 0, + asParam ? 1 /* Params */ : 0 /* Normal */ + ); + }; + const result = { + source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)), + value: void 0, + key: void 0, + index: void 0, + finalized: false + }; + let valueContent = LHS.trim().replace(stripParensRE, "").trim(); + const trimmedOffset = LHS.indexOf(valueContent); + const iteratorMatch = valueContent.match(forIteratorRE); + if (iteratorMatch) { + valueContent = valueContent.replace(forIteratorRE, "").trim(); + const keyContent = iteratorMatch[1].trim(); + let keyOffset; + if (keyContent) { + keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length); + result.key = createAliasExpression(keyContent, keyOffset, true); + } + if (iteratorMatch[2]) { + const indexContent = iteratorMatch[2].trim(); + if (indexContent) { + result.index = createAliasExpression( + indexContent, + exp.indexOf( + indexContent, + result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length + ), + true + ); + } + } + } + if (valueContent) { + result.value = createAliasExpression(valueContent, trimmedOffset, true); + } + return result; +} +function getSlice(start, end) { + return currentInput.slice(start, end); +} +function endOpenTag(end) { + if (tokenizer.inSFCRoot) { + currentOpenTag.innerLoc = getLoc(end + 1, end + 1); + } + addNode(currentOpenTag); + const { tag, ns } = currentOpenTag; + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre++; + } + if (currentOptions.isVoidTag(tag)) { + onCloseTag(currentOpenTag, end); + } else { + stack.unshift(currentOpenTag); + if (ns === 1 || ns === 2) { + tokenizer.inXML = true; + } + } + currentOpenTag = null; +} +function onText(content, start, end) { + const parent = stack[0] || currentRoot; + const lastNode = parent.children[parent.children.length - 1]; + if (lastNode && lastNode.type === 2) { + lastNode.content += content; + setLocEnd(lastNode.loc, end); + } else { + parent.children.push({ + type: 2, + content, + loc: getLoc(start, end) + }); + } +} +function onCloseTag(el, end, isImplied = false) { + if (isImplied) { + setLocEnd(el.loc, backTrack(end, 60)); + } else { + setLocEnd(el.loc, lookAhead(end, 62) + 1); + } + if (tokenizer.inSFCRoot) { + if (el.children.length) { + el.innerLoc.end = shared.extend({}, el.children[el.children.length - 1].loc.end); + } else { + el.innerLoc.end = shared.extend({}, el.innerLoc.start); + } + el.innerLoc.source = getSlice( + el.innerLoc.start.offset, + el.innerLoc.end.offset + ); + } + const { tag, ns, children } = el; + if (!inVPre) { + if (tag === "slot") { + el.tagType = 2; + } else if (isFragmentTemplate(el)) { + el.tagType = 3; + } else if (isComponent(el)) { + el.tagType = 1; + } + } + if (!tokenizer.inRCDATA) { + el.children = condenseWhitespace(children); + } + if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) { + const first = children[0]; + if (first && first.type === 2) { + first.content = first.content.replace(/^\r?\n/, ""); + } + } + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre--; + } + if (currentVPreBoundary === el) { + inVPre = tokenizer.inVPre = false; + currentVPreBoundary = null; + } + if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + tokenizer.inXML = false; + } + { + const props = el.props; + if (!tokenizer.inSFCRoot && isCompatEnabled( + "COMPILER_NATIVE_TEMPLATE", + currentOptions + ) && el.tag === "template" && !isFragmentTemplate(el)) { + const parent = stack[0] || currentRoot; + const index = parent.children.indexOf(el); + parent.children.splice(index, 1, ...el.children); + } + const inlineTemplateProp = props.find( + (p) => p.type === 6 && p.name === "inline-template" + ); + if (inlineTemplateProp && checkCompatEnabled( + "COMPILER_INLINE_TEMPLATE", + currentOptions, + inlineTemplateProp.loc + ) && el.children.length) { + inlineTemplateProp.value = { + type: 2, + content: getSlice( + el.children[0].loc.start.offset, + el.children[el.children.length - 1].loc.end.offset + ), + loc: inlineTemplateProp.loc + }; + } + } +} +function lookAhead(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++; + return i; +} +function backTrack(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i >= 0) i--; + return i; +} +const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]); +function isFragmentTemplate({ tag, props }) { + if (tag === "template") { + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) { + return true; + } + } + } + return false; +} +function isComponent({ tag, props }) { + if (currentOptions.isCustomElement(tag)) { + return false; + } + if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) { + return true; + } + for (let i = 0; i < props.length; i++) { + const p = props[i]; + if (p.type === 6) { + if (p.name === "is" && p.value) { + if (p.value.content.startsWith("vue:")) { + return true; + } else if (checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + } else if (// :is on plain element - only treat as component in compat mode + p.name === "bind" && isStaticArgOf(p.arg, "is") && checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + return false; +} +function isUpperCase(c) { + return c > 64 && c < 91; +} +const windowsNewlineRE = /\r\n/g; +function condenseWhitespace(nodes) { + const shouldCondense = currentOptions.whitespace !== "preserve"; + let removedWhitespace = false; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (node.type === 2) { + if (!inPre) { + if (isAllWhitespace(node.content)) { + const prev = nodes[i - 1] && nodes[i - 1].type; + const next = nodes[i + 1] && nodes[i + 1].type; + if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) { + removedWhitespace = true; + nodes[i] = null; + } else { + node.content = " "; + } + } else if (shouldCondense) { + node.content = condense(node.content); + } + } else { + node.content = node.content.replace(windowsNewlineRE, "\n"); + } + } + } + return removedWhitespace ? nodes.filter(Boolean) : nodes; +} +function hasNewlineChar(str) { + for (let i = 0; i < str.length; i++) { + const c = str.charCodeAt(i); + if (c === 10 || c === 13) { + return true; + } + } + return false; +} +function condense(str) { + let ret = ""; + let prevCharIsWhitespace = false; + for (let i = 0; i < str.length; i++) { + if (isWhitespace(str.charCodeAt(i))) { + if (!prevCharIsWhitespace) { + ret += " "; + prevCharIsWhitespace = true; + } + } else { + ret += str[i]; + prevCharIsWhitespace = false; + } + } + return ret; +} +function addNode(node) { + (stack[0] || currentRoot).children.push(node); +} +function getLoc(start, end) { + return { + start: tokenizer.getPos(start), + // @ts-expect-error allow late attachment + end: end == null ? end : tokenizer.getPos(end), + // @ts-expect-error allow late attachment + source: end == null ? end : getSlice(start, end) + }; +} +function cloneLoc(loc) { + return getLoc(loc.start.offset, loc.end.offset); +} +function setLocEnd(loc, end) { + loc.end = tokenizer.getPos(end); + loc.source = getSlice(loc.start.offset, end); +} +function dirToAttr(dir) { + const attr = { + type: 6, + name: dir.rawName, + nameLoc: getLoc( + dir.loc.start.offset, + dir.loc.start.offset + dir.rawName.length + ), + value: void 0, + loc: dir.loc + }; + if (dir.exp) { + const loc = dir.exp.loc; + if (loc.end.offset < dir.loc.end.offset) { + loc.start.offset--; + loc.start.column--; + loc.end.offset++; + loc.end.column++; + } + attr.value = { + type: 2, + content: dir.exp.content, + loc + }; + } + return attr; +} +function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) { + const exp = createSimpleExpression(content, isStatic, loc, constType); + if (!isStatic && currentOptions.prefixIdentifiers && parseMode !== 3 /* Skip */ && content.trim()) { + if (isSimpleIdentifier(content)) { + exp.ast = null; + return exp; + } + try { + const plugins = currentOptions.expressionPlugins; + const options = { + plugins: plugins ? [...plugins, "typescript"] : ["typescript"] + }; + if (parseMode === 2 /* Statements */) { + exp.ast = parser.parse(` ${content} `, options).program; + } else if (parseMode === 1 /* Params */) { + exp.ast = parser.parseExpression(`(${content})=>{}`, options); + } else { + exp.ast = parser.parseExpression(`(${content})`, options); + } + } catch (e) { + exp.ast = false; + emitError(46, loc.start.offset, e.message); + } + } + return exp; +} +function emitError(code, index, message) { + currentOptions.onError( + createCompilerError(code, getLoc(index, index), void 0, message) + ); +} +function reset() { + tokenizer.reset(); + currentOpenTag = null; + currentProp = null; + currentAttrValue = ""; + currentAttrStartIndex = -1; + currentAttrEndIndex = -1; + stack.length = 0; +} +function baseParse(input, options) { + reset(); + currentInput = input; + currentOptions = shared.extend({}, defaultParserOptions); + if (options) { + let key; + for (key in options) { + if (options[key] != null) { + currentOptions[key] = options[key]; + } + } + } + tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0; + tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2; + const delimiters = options && options.delimiters; + if (delimiters) { + tokenizer.delimiterOpen = toCharCodes(delimiters[0]); + tokenizer.delimiterClose = toCharCodes(delimiters[1]); + } + const root = currentRoot = createRoot([], input); + tokenizer.parse(currentInput); + root.loc = getLoc(0, input.length); + root.children = condenseWhitespace(root.children); + currentRoot = null; + return root; +} + +function cacheStatic(root, context) { + walk( + root, + void 0, + context, + // Root node is unfortunately non-hoistable due to potential parent + // fallthrough attributes. + !!getSingleElementRoot(root) + ); +} +function getSingleElementRoot(root) { + const children = root.children.filter((x) => x.type !== 3); + return children.length === 1 && children[0].type === 1 && !isSlotOutlet(children[0]) ? children[0] : null; +} +function walk(node, parent, context, doNotHoistNode = false, inFor = false) { + const { children } = node; + const toCache = []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.type === 1 && child.tagType === 0) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType > 0) { + if (constantType >= 2) { + child.codegenNode.patchFlag = -1; + toCache.push(child); + continue; + } + } else { + const codegenNode = child.codegenNode; + if (codegenNode.type === 13) { + const flag = codegenNode.patchFlag; + if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) { + const props = getNodeProps(child); + if (props) { + codegenNode.props = context.hoist(props); + } + } + if (codegenNode.dynamicProps) { + codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps); + } + } + } + } else if (child.type === 12) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType >= 2) { + if (child.codegenNode.type === 14 && child.codegenNode.arguments.length > 0) { + child.codegenNode.arguments.push( + -1 + (``) + ); + } + toCache.push(child); + continue; + } + } + if (child.type === 1) { + const isComponent = child.tagType === 1; + if (isComponent) { + context.scopes.vSlot++; + } + walk(child, node, context, false, inFor); + if (isComponent) { + context.scopes.vSlot--; + } + } else if (child.type === 11) { + walk(child, node, context, child.children.length === 1, true); + } else if (child.type === 9) { + for (let i2 = 0; i2 < child.branches.length; i2++) { + walk( + child.branches[i2], + node, + context, + child.branches[i2].children.length === 1, + inFor + ); + } + } + } + let cachedAsArray = false; + if (toCache.length === children.length && node.type === 1) { + if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && shared.isArray(node.codegenNode.children)) { + node.codegenNode.children = getCacheExpression( + createArrayExpression(node.codegenNode.children) + ); + cachedAsArray = true; + } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !shared.isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) { + const slot = getSlotNode(node.codegenNode, "default"); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } else if (node.tagType === 3 && parent && parent.type === 1 && parent.tagType === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 15) { + const slotName = findDir(node, "slot", true); + const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } + } + if (!cachedAsArray) { + for (const child of toCache) { + child.codegenNode = context.cache(child.codegenNode); + } + } + function getCacheExpression(value) { + const exp = context.cache(value); + exp.needArraySpread = true; + return exp; + } + function getSlotNode(node2, name) { + if (node2.children && !shared.isArray(node2.children) && node2.children.type === 15) { + const slot = node2.children.properties.find( + (p) => p.key === name || p.key.content === name + ); + return slot && slot.value; + } + } + if (toCache.length && context.transformHoist) { + context.transformHoist(children, context, node); + } +} +function getConstantType(node, context) { + const { constantCache } = context; + switch (node.type) { + case 1: + if (node.tagType !== 0) { + return 0; + } + const cached = constantCache.get(node); + if (cached !== void 0) { + return cached; + } + const codegenNode = node.codegenNode; + if (codegenNode.type !== 13) { + return 0; + } + if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject" && node.tag !== "math") { + return 0; + } + if (codegenNode.patchFlag === void 0) { + let returnType2 = 3; + const generatedPropsType = getGeneratedPropsConstantType(node, context); + if (generatedPropsType === 0) { + constantCache.set(node, 0); + return 0; + } + if (generatedPropsType < returnType2) { + returnType2 = generatedPropsType; + } + for (let i = 0; i < node.children.length; i++) { + const childType = getConstantType(node.children[i], context); + if (childType === 0) { + constantCache.set(node, 0); + return 0; + } + if (childType < returnType2) { + returnType2 = childType; + } + } + if (returnType2 > 1) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && p.name === "bind" && p.exp) { + const expType = getConstantType(p.exp, context); + if (expType === 0) { + constantCache.set(node, 0); + return 0; + } + if (expType < returnType2) { + returnType2 = expType; + } + } + } + } + if (codegenNode.isBlock) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7) { + constantCache.set(node, 0); + return 0; + } + } + context.removeHelper(OPEN_BLOCK); + context.removeHelper( + getVNodeBlockHelper(context.inSSR, codegenNode.isComponent) + ); + codegenNode.isBlock = false; + context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent)); + } + constantCache.set(node, returnType2); + return returnType2; + } else { + constantCache.set(node, 0); + return 0; + } + case 2: + case 3: + return 3; + case 9: + case 11: + case 10: + return 0; + case 5: + case 12: + return getConstantType(node.content, context); + case 4: + return node.constType; + case 8: + let returnType = 3; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child) || shared.isSymbol(child)) { + continue; + } + const childType = getConstantType(child, context); + if (childType === 0) { + return 0; + } else if (childType < returnType) { + returnType = childType; + } + } + return returnType; + case 20: + return 2; + default: + return 0; + } +} +const allowHoistedHelperSet = /* @__PURE__ */ new Set([ + NORMALIZE_CLASS, + NORMALIZE_STYLE, + NORMALIZE_PROPS, + GUARD_REACTIVE_PROPS +]); +function getConstantTypeOfHelperCall(value, context) { + if (value.type === 14 && !shared.isString(value.callee) && allowHoistedHelperSet.has(value.callee)) { + const arg = value.arguments[0]; + if (arg.type === 4) { + return getConstantType(arg, context); + } else if (arg.type === 14) { + return getConstantTypeOfHelperCall(arg, context); + } + } + return 0; +} +function getGeneratedPropsConstantType(node, context) { + let returnType = 3; + const props = getNodeProps(node); + if (props && props.type === 15) { + const { properties } = props; + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + const keyType = getConstantType(key, context); + if (keyType === 0) { + return keyType; + } + if (keyType < returnType) { + returnType = keyType; + } + let valueType; + if (value.type === 4) { + valueType = getConstantType(value, context); + } else if (value.type === 14) { + valueType = getConstantTypeOfHelperCall(value, context); + } else { + valueType = 0; + } + if (valueType === 0) { + return valueType; + } + if (valueType < returnType) { + returnType = valueType; + } + } + } + return returnType; +} +function getNodeProps(node) { + const codegenNode = node.codegenNode; + if (codegenNode.type === 13) { + return codegenNode.props; + } +} + +function createTransformContext(root, { + filename = "", + prefixIdentifiers = false, + hoistStatic = false, + hmr = false, + cacheHandlers = false, + nodeTransforms = [], + directiveTransforms = {}, + transformHoist = null, + isBuiltInComponent = shared.NOOP, + isCustomElement = shared.NOOP, + expressionPlugins = [], + scopeId = null, + slotted = true, + ssr = false, + inSSR = false, + ssrCssVars = ``, + bindingMetadata = shared.EMPTY_OBJ, + inline = false, + isTS = false, + onError = defaultOnError, + onWarn = defaultOnWarn, + compatConfig +}) { + const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/); + const context = { + // options + filename, + selfName: nameMatch && shared.capitalize(shared.camelize(nameMatch[1])), + prefixIdentifiers, + hoistStatic, + hmr, + cacheHandlers, + nodeTransforms, + directiveTransforms, + transformHoist, + isBuiltInComponent, + isCustomElement, + expressionPlugins, + scopeId, + slotted, + ssr, + inSSR, + ssrCssVars, + bindingMetadata, + inline, + isTS, + onError, + onWarn, + compatConfig, + // state + root, + helpers: /* @__PURE__ */ new Map(), + components: /* @__PURE__ */ new Set(), + directives: /* @__PURE__ */ new Set(), + hoists: [], + imports: [], + cached: [], + constantCache: /* @__PURE__ */ new WeakMap(), + temps: 0, + identifiers: /* @__PURE__ */ Object.create(null), + scopes: { + vFor: 0, + vSlot: 0, + vPre: 0, + vOnce: 0 + }, + parent: null, + grandParent: null, + currentNode: root, + childIndex: 0, + inVOnce: false, + // methods + helper(name) { + const count = context.helpers.get(name) || 0; + context.helpers.set(name, count + 1); + return name; + }, + removeHelper(name) { + const count = context.helpers.get(name); + if (count) { + const currentCount = count - 1; + if (!currentCount) { + context.helpers.delete(name); + } else { + context.helpers.set(name, currentCount); + } + } + }, + helperString(name) { + return `_${helperNameMap[context.helper(name)]}`; + }, + replaceNode(node) { + context.parent.children[context.childIndex] = context.currentNode = node; + }, + removeNode(node) { + const list = context.parent.children; + const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1; + if (!node || node === context.currentNode) { + context.currentNode = null; + context.onNodeRemoved(); + } else { + if (context.childIndex > removalIndex) { + context.childIndex--; + context.onNodeRemoved(); + } + } + context.parent.children.splice(removalIndex, 1); + }, + onNodeRemoved: shared.NOOP, + addIdentifiers(exp) { + { + if (shared.isString(exp)) { + addId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(addId); + } else if (exp.type === 4) { + addId(exp.content); + } + } + }, + removeIdentifiers(exp) { + { + if (shared.isString(exp)) { + removeId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(removeId); + } else if (exp.type === 4) { + removeId(exp.content); + } + } + }, + hoist(exp) { + if (shared.isString(exp)) exp = createSimpleExpression(exp); + context.hoists.push(exp); + const identifier = createSimpleExpression( + `_hoisted_${context.hoists.length}`, + false, + exp.loc, + 2 + ); + identifier.hoisted = exp; + return identifier; + }, + cache(exp, isVNode = false, inVOnce = false) { + const cacheExp = createCacheExpression( + context.cached.length, + exp, + isVNode, + inVOnce + ); + context.cached.push(cacheExp); + return cacheExp; + } + }; + { + context.filters = /* @__PURE__ */ new Set(); + } + function addId(id) { + const { identifiers } = context; + if (identifiers[id] === void 0) { + identifiers[id] = 0; + } + identifiers[id]++; + } + function removeId(id) { + context.identifiers[id]--; + } + return context; +} +function transform(root, options) { + const context = createTransformContext(root, options); + traverseNode(root, context); + if (options.hoistStatic) { + cacheStatic(root, context); + } + if (!options.ssr) { + createRootCodegen(root, context); + } + root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]); + root.components = [...context.components]; + root.directives = [...context.directives]; + root.imports = context.imports; + root.hoists = context.hoists; + root.temps = context.temps; + root.cached = context.cached; + root.transformed = true; + { + root.filters = [...context.filters]; + } +} +function createRootCodegen(root, context) { + const { helper } = context; + const { children } = root; + if (children.length === 1) { + const singleElementRootChild = getSingleElementRoot(root); + if (singleElementRootChild && singleElementRootChild.codegenNode) { + const codegenNode = singleElementRootChild.codegenNode; + if (codegenNode.type === 13) { + convertToBlock(codegenNode, context); + } + root.codegenNode = codegenNode; + } else { + root.codegenNode = children[0]; + } + } else if (children.length > 1) { + let patchFlag = 64; + root.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + root.children, + patchFlag, + void 0, + void 0, + true, + void 0, + false + ); + } else ; +} +function traverseChildren(parent, context) { + let i = 0; + const nodeRemoved = () => { + i--; + }; + for (; i < parent.children.length; i++) { + const child = parent.children[i]; + if (shared.isString(child)) continue; + context.grandParent = context.parent; + context.parent = parent; + context.childIndex = i; + context.onNodeRemoved = nodeRemoved; + traverseNode(child, context); + } +} +function traverseNode(node, context) { + context.currentNode = node; + const { nodeTransforms } = context; + const exitFns = []; + for (let i2 = 0; i2 < nodeTransforms.length; i2++) { + const onExit = nodeTransforms[i2](node, context); + if (onExit) { + if (shared.isArray(onExit)) { + exitFns.push(...onExit); + } else { + exitFns.push(onExit); + } + } + if (!context.currentNode) { + return; + } else { + node = context.currentNode; + } + } + switch (node.type) { + case 3: + if (!context.ssr) { + context.helper(CREATE_COMMENT); + } + break; + case 5: + if (!context.ssr) { + context.helper(TO_DISPLAY_STRING); + } + break; + // for container types, further traverse downwards + case 9: + for (let i2 = 0; i2 < node.branches.length; i2++) { + traverseNode(node.branches[i2], context); + } + break; + case 10: + case 11: + case 1: + case 0: + traverseChildren(node, context); + break; + } + context.currentNode = node; + let i = exitFns.length; + while (i--) { + exitFns[i](); + } +} +function createStructuralDirectiveTransform(name, fn) { + const matches = shared.isString(name) ? (n) => n === name : (n) => name.test(n); + return (node, context) => { + if (node.type === 1) { + const { props } = node; + if (node.tagType === 3 && props.some(isVSlot)) { + return; + } + const exitFns = []; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 7 && matches(prop.name)) { + props.splice(i, 1); + i--; + const onExit = fn(node, prop, context); + if (onExit) exitFns.push(onExit); + } + } + return exitFns; + } + }; +} + +const PURE_ANNOTATION = `/*@__PURE__*/`; +const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`; +function createCodegenContext(ast, { + mode = "function", + prefixIdentifiers = mode === "module", + sourceMap = false, + filename = `template.vue.html`, + scopeId = null, + optimizeImports = false, + runtimeGlobalName = `Vue`, + runtimeModuleName = `vue`, + ssrRuntimeModuleName = "vue/server-renderer", + ssr = false, + isTS = false, + inSSR = false +}) { + const context = { + mode, + prefixIdentifiers, + sourceMap, + filename, + scopeId, + optimizeImports, + runtimeGlobalName, + runtimeModuleName, + ssrRuntimeModuleName, + ssr, + isTS, + inSSR, + source: ast.source, + code: ``, + column: 1, + line: 1, + offset: 0, + indentLevel: 0, + pure: false, + map: void 0, + helper(key) { + return `_${helperNameMap[key]}`; + }, + push(code, newlineIndex = -2 /* None */, node) { + context.code += code; + if (context.map) { + if (node) { + let name; + if (node.type === 4 && !node.isStatic) { + const content = node.content.replace(/^_ctx\./, ""); + if (content !== node.content && isSimpleIdentifier(content)) { + name = content; + } + } + if (node.loc.source) { + addMapping(node.loc.start, name); + } + } + if (newlineIndex === -3 /* Unknown */) { + advancePositionWithMutation(context, code); + } else { + context.offset += code.length; + if (newlineIndex === -2 /* None */) { + context.column += code.length; + } else { + if (newlineIndex === -1 /* End */) { + newlineIndex = code.length - 1; + } + context.line++; + context.column = code.length - newlineIndex; + } + } + if (node && node.loc !== locStub && node.loc.source) { + addMapping(node.loc.end); + } + } + }, + indent() { + newline(++context.indentLevel); + }, + deindent(withoutNewLine = false) { + if (withoutNewLine) { + --context.indentLevel; + } else { + newline(--context.indentLevel); + } + }, + newline() { + newline(context.indentLevel); + } + }; + function newline(n) { + context.push("\n" + ` `.repeat(n), 0 /* Start */); + } + function addMapping(loc, name = null) { + const { _names, _mappings } = context.map; + if (name !== null && !_names.has(name)) _names.add(name); + _mappings.add({ + originalLine: loc.line, + originalColumn: loc.column - 1, + // source-map column is 0 based + generatedLine: context.line, + generatedColumn: context.column - 1, + source: filename, + name + }); + } + if (sourceMap) { + context.map = new sourceMapJs.SourceMapGenerator(); + context.map.setSourceContent(filename, context.source); + context.map._sources.add(filename); + } + return context; +} +function generate(ast, options = {}) { + const context = createCodegenContext(ast, options); + if (options.onContextCreated) options.onContextCreated(context); + const { + mode, + push, + prefixIdentifiers, + indent, + deindent, + newline, + scopeId, + ssr + } = context; + const helpers = Array.from(ast.helpers); + const hasHelpers = helpers.length > 0; + const useWithBlock = !prefixIdentifiers && mode !== "module"; + const genScopeId = scopeId != null && mode === "module"; + const isSetupInlined = !!options.inline; + const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context; + if (mode === "module") { + genModulePreamble(ast, preambleContext, genScopeId, isSetupInlined); + } else { + genFunctionPreamble(ast, preambleContext); + } + const functionName = ssr ? `ssrRender` : `render`; + const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"]; + if (options.bindingMetadata && !options.inline) { + args.push("$props", "$setup", "$data", "$options"); + } + const signature = options.isTS ? args.map((arg) => `${arg}: any`).join(",") : args.join(", "); + if (isSetupInlined) { + push(`(${signature}) => {`); + } else { + push(`function ${functionName}(${signature}) {`); + } + indent(); + if (useWithBlock) { + push(`with (_ctx) {`); + indent(); + if (hasHelpers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = _Vue +`, + -1 /* End */ + ); + newline(); + } + } + if (ast.components.length) { + genAssets(ast.components, "component", context); + if (ast.directives.length || ast.temps > 0) { + newline(); + } + } + if (ast.directives.length) { + genAssets(ast.directives, "directive", context); + if (ast.temps > 0) { + newline(); + } + } + if (ast.filters && ast.filters.length) { + newline(); + genAssets(ast.filters, "filter", context); + newline(); + } + if (ast.temps > 0) { + push(`let `); + for (let i = 0; i < ast.temps; i++) { + push(`${i > 0 ? `, ` : ``}_temp${i}`); + } + } + if (ast.components.length || ast.directives.length || ast.temps) { + push(` +`, 0 /* Start */); + newline(); + } + if (!ssr) { + push(`return `); + } + if (ast.codegenNode) { + genNode(ast.codegenNode, context); + } else { + push(`null`); + } + if (useWithBlock) { + deindent(); + push(`}`); + } + deindent(); + push(`}`); + return { + ast, + code: context.code, + preamble: isSetupInlined ? preambleContext.code : ``, + map: context.map ? context.map.toJSON() : void 0 + }; +} +function genFunctionPreamble(ast, context) { + const { + ssr, + prefixIdentifiers, + push, + newline, + runtimeModuleName, + runtimeGlobalName, + ssrRuntimeModuleName + } = context; + const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName; + const helpers = Array.from(ast.helpers); + if (helpers.length > 0) { + if (prefixIdentifiers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding} +`, + -1 /* End */ + ); + } else { + push(`const _Vue = ${VueBinding} +`, -1 /* End */); + if (ast.hoists.length) { + const staticHelpers = [ + CREATE_VNODE, + CREATE_ELEMENT_VNODE, + CREATE_COMMENT, + CREATE_TEXT, + CREATE_STATIC + ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", "); + push(`const { ${staticHelpers} } = _Vue +`, -1 /* End */); + } + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}") +`, + -1 /* End */ + ); + } + genHoists(ast.hoists, context); + newline(); + push(`return `); +} +function genModulePreamble(ast, context, genScopeId, inline) { + const { + push, + newline, + optimizeImports, + runtimeModuleName, + ssrRuntimeModuleName + } = context; + if (ast.helpers.size) { + const helpers = Array.from(ast.helpers); + if (optimizeImports) { + push( + `import { ${helpers.map((s) => helperNameMap[s]).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + push( + ` +// Binding optimization for webpack code-split +const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(", ")} +`, + -1 /* End */ + ); + } else { + push( + `import { ${helpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `import { ${ast.ssrHelpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from "${ssrRuntimeModuleName}" +`, + -1 /* End */ + ); + } + if (ast.imports.length) { + genImports(ast.imports, context); + newline(); + } + genHoists(ast.hoists, context); + newline(); + if (!inline) { + push(`export `); + } +} +function genAssets(assets, type, { helper, push, newline, isTS }) { + const resolver = helper( + type === "filter" ? RESOLVE_FILTER : type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE + ); + for (let i = 0; i < assets.length; i++) { + let id = assets[i]; + const maybeSelfReference = id.endsWith("__self"); + if (maybeSelfReference) { + id = id.slice(0, -6); + } + push( + `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}` + ); + if (i < assets.length - 1) { + newline(); + } + } +} +function genHoists(hoists, context) { + if (!hoists.length) { + return; + } + context.pure = true; + const { push, newline } = context; + newline(); + for (let i = 0; i < hoists.length; i++) { + const exp = hoists[i]; + if (exp) { + push(`const _hoisted_${i + 1} = `); + genNode(exp, context); + newline(); + } + } + context.pure = false; +} +function genImports(importsOptions, context) { + if (!importsOptions.length) { + return; + } + importsOptions.forEach((imports) => { + context.push(`import `); + genNode(imports.exp, context); + context.push(` from '${imports.path}'`); + context.newline(); + }); +} +function isText(n) { + return shared.isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8; +} +function genNodeListAsArray(nodes, context) { + const multilines = nodes.length > 3 || nodes.some((n) => shared.isArray(n) || !isText(n)); + context.push(`[`); + multilines && context.indent(); + genNodeList(nodes, context, multilines); + multilines && context.deindent(); + context.push(`]`); +} +function genNodeList(nodes, context, multilines = false, comma = true) { + const { push, newline } = context; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (shared.isString(node)) { + push(node, -3 /* Unknown */); + } else if (shared.isArray(node)) { + genNodeListAsArray(node, context); + } else { + genNode(node, context); + } + if (i < nodes.length - 1) { + if (multilines) { + comma && push(","); + newline(); + } else { + comma && push(", "); + } + } + } +} +function genNode(node, context) { + if (shared.isString(node)) { + context.push(node, -3 /* Unknown */); + return; + } + if (shared.isSymbol(node)) { + context.push(context.helper(node)); + return; + } + switch (node.type) { + case 1: + case 9: + case 11: + genNode(node.codegenNode, context); + break; + case 2: + genText(node, context); + break; + case 4: + genExpression(node, context); + break; + case 5: + genInterpolation(node, context); + break; + case 12: + genNode(node.codegenNode, context); + break; + case 8: + genCompoundExpression(node, context); + break; + case 3: + genComment(node, context); + break; + case 13: + genVNodeCall(node, context); + break; + case 14: + genCallExpression(node, context); + break; + case 15: + genObjectExpression(node, context); + break; + case 17: + genArrayExpression(node, context); + break; + case 18: + genFunctionExpression(node, context); + break; + case 19: + genConditionalExpression(node, context); + break; + case 20: + genCacheExpression(node, context); + break; + case 21: + genNodeList(node.body, context, true, false); + break; + // SSR only types + case 22: + genTemplateLiteral(node, context); + break; + case 23: + genIfStatement(node, context); + break; + case 24: + genAssignmentExpression(node, context); + break; + case 25: + genSequenceExpression(node, context); + break; + case 26: + genReturnStatement(node, context); + break; + } +} +function genText(node, context) { + context.push(JSON.stringify(node.content), -3 /* Unknown */, node); +} +function genExpression(node, context) { + const { content, isStatic } = node; + context.push( + isStatic ? JSON.stringify(content) : content, + -3 /* Unknown */, + node + ); +} +function genInterpolation(node, context) { + const { push, helper, pure } = context; + if (pure) push(PURE_ANNOTATION); + push(`${helper(TO_DISPLAY_STRING)}(`); + genNode(node.content, context); + push(`)`); +} +function genCompoundExpression(node, context) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child)) { + context.push(child, -3 /* Unknown */); + } else { + genNode(child, context); + } + } +} +function genExpressionAsPropertyKey(node, context) { + const { push } = context; + if (node.type === 8) { + push(`[`); + genCompoundExpression(node, context); + push(`]`); + } else if (node.isStatic) { + const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content); + push(text, -2 /* None */, node); + } else { + push(`[${node.content}]`, -3 /* Unknown */, node); + } +} +function genComment(node, context) { + const { push, helper, pure } = context; + if (pure) { + push(PURE_ANNOTATION); + } + push( + `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, + -3 /* Unknown */, + node + ); +} +function genVNodeCall(node, context) { + const { push, helper, pure } = context; + const { + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent + } = node; + let patchFlagString; + if (patchFlag) { + { + patchFlagString = String(patchFlag); + } + } + if (directives) { + push(helper(WITH_DIRECTIVES) + `(`); + } + if (isBlock) { + push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `); + } + if (pure) { + push(PURE_ANNOTATION); + } + const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent); + push(helper(callHelper) + `(`, -2 /* None */, node); + genNodeList( + genNullableArgs([tag, props, children, patchFlagString, dynamicProps]), + context + ); + push(`)`); + if (isBlock) { + push(`)`); + } + if (directives) { + push(`, `); + genNode(directives, context); + push(`)`); + } +} +function genNullableArgs(args) { + let i = args.length; + while (i--) { + if (args[i] != null) break; + } + return args.slice(0, i + 1).map((arg) => arg || `null`); +} +function genCallExpression(node, context) { + const { push, helper, pure } = context; + const callee = shared.isString(node.callee) ? node.callee : helper(node.callee); + if (pure) { + push(PURE_ANNOTATION); + } + push(callee + `(`, -2 /* None */, node); + genNodeList(node.arguments, context); + push(`)`); +} +function genObjectExpression(node, context) { + const { push, indent, deindent, newline } = context; + const { properties } = node; + if (!properties.length) { + push(`{}`, -2 /* None */, node); + return; + } + const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4); + push(multilines ? `{` : `{ `); + multilines && indent(); + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + genExpressionAsPropertyKey(key, context); + push(`: `); + genNode(value, context); + if (i < properties.length - 1) { + push(`,`); + newline(); + } + } + multilines && deindent(); + push(multilines ? `}` : ` }`); +} +function genArrayExpression(node, context) { + genNodeListAsArray(node.elements, context); +} +function genFunctionExpression(node, context) { + const { push, indent, deindent } = context; + const { params, returns, body, newline, isSlot } = node; + if (isSlot) { + push(`_${helperNameMap[WITH_CTX]}(`); + } + push(`(`, -2 /* None */, node); + if (shared.isArray(params)) { + genNodeList(params, context); + } else if (params) { + genNode(params, context); + } + push(`) => `); + if (newline || body) { + push(`{`); + indent(); + } + if (returns) { + if (newline) { + push(`return `); + } + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } + } else if (body) { + genNode(body, context); + } + if (newline || body) { + deindent(); + push(`}`); + } + if (isSlot) { + if (node.isNonScopedSlot) { + push(`, undefined, true`); + } + push(`)`); + } +} +function genConditionalExpression(node, context) { + const { test, consequent, alternate, newline: needNewline } = node; + const { push, indent, deindent, newline } = context; + if (test.type === 4) { + const needsParens = !isSimpleIdentifier(test.content); + needsParens && push(`(`); + genExpression(test, context); + needsParens && push(`)`); + } else { + push(`(`); + genNode(test, context); + push(`)`); + } + needNewline && indent(); + context.indentLevel++; + needNewline || push(` `); + push(`? `); + genNode(consequent, context); + context.indentLevel--; + needNewline && newline(); + needNewline || push(` `); + push(`: `); + const isNested = alternate.type === 19; + if (!isNested) { + context.indentLevel++; + } + genNode(alternate, context); + if (!isNested) { + context.indentLevel--; + } + needNewline && deindent( + true + /* without newline */ + ); +} +function genCacheExpression(node, context) { + const { push, helper, indent, deindent, newline } = context; + const { needPauseTracking, needArraySpread } = node; + if (needArraySpread) { + push(`[...(`); + } + push(`_cache[${node.index}] || (`); + if (needPauseTracking) { + indent(); + push(`${helper(SET_BLOCK_TRACKING)}(-1`); + if (node.inVOnce) push(`, true`); + push(`),`); + newline(); + push(`(`); + } + push(`_cache[${node.index}] = `); + genNode(node.value, context); + if (needPauseTracking) { + push(`).cacheIndex = ${node.index},`); + newline(); + push(`${helper(SET_BLOCK_TRACKING)}(1),`); + newline(); + push(`_cache[${node.index}]`); + deindent(); + } + push(`)`); + if (needArraySpread) { + push(`)]`); + } +} +function genTemplateLiteral(node, context) { + const { push, indent, deindent } = context; + push("`"); + const l = node.elements.length; + const multilines = l > 3; + for (let i = 0; i < l; i++) { + const e = node.elements[i]; + if (shared.isString(e)) { + push(e.replace(/(`|\$|\\)/g, "\\$1"), -3 /* Unknown */); + } else { + push("${"); + if (multilines) indent(); + genNode(e, context); + if (multilines) deindent(); + push("}"); + } + } + push("`"); +} +function genIfStatement(node, context) { + const { push, indent, deindent } = context; + const { test, consequent, alternate } = node; + push(`if (`); + genNode(test, context); + push(`) {`); + indent(); + genNode(consequent, context); + deindent(); + push(`}`); + if (alternate) { + push(` else `); + if (alternate.type === 23) { + genIfStatement(alternate, context); + } else { + push(`{`); + indent(); + genNode(alternate, context); + deindent(); + push(`}`); + } + } +} +function genAssignmentExpression(node, context) { + genNode(node.left, context); + context.push(` = `); + genNode(node.right, context); +} +function genSequenceExpression(node, context) { + context.push(`(`); + genNodeList(node.expressions, context); + context.push(`)`); +} +function genReturnStatement({ returns }, context) { + context.push(`return `); + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } +} + +const isLiteralWhitelisted = /* @__PURE__ */ shared.makeMap("true,false,null,this"); +const transformExpression = (node, context) => { + if (node.type === 5) { + node.content = processExpression( + node.content, + context + ); + } else if (node.type === 1) { + const memo = findDir(node, "memo"); + for (let i = 0; i < node.props.length; i++) { + const dir = node.props[i]; + if (dir.type === 7 && dir.name !== "for") { + const exp = dir.exp; + const arg = dir.arg; + if (exp && exp.type === 4 && !(dir.name === "on" && arg) && // key has been processed in transformFor(vMemo + vFor) + !(memo && arg && arg.type === 4 && arg.content === "key")) { + dir.exp = processExpression( + exp, + context, + // slot args must be processed as function params + dir.name === "slot" + ); + } + if (arg && arg.type === 4 && !arg.isStatic) { + dir.arg = processExpression(arg, context); + } + } + } + } +}; +function processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) { + if (!context.prefixIdentifiers || !node.content.trim()) { + return node; + } + const { inline, bindingMetadata } = context; + const rewriteIdentifier = (raw, parent, id) => { + const type = shared.hasOwn(bindingMetadata, raw) && bindingMetadata[raw]; + if (inline) { + const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id; + const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id; + const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack); + const isNewExpression = parent && isInNewExpression(parentStack); + const wrapWithUnref = (raw2) => { + const wrapped = `${context.helperString(UNREF)}(${raw2})`; + return isNewExpression ? `(${wrapped})` : wrapped; + }; + if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) { + return raw; + } else if (type === "setup-ref") { + return `${raw}.value`; + } else if (type === "setup-maybe-ref") { + return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw); + } else if (type === "setup-let") { + if (isAssignmentLVal) { + const { right: rVal, operator } = parent; + const rExp = rawExp.slice(rVal.start - 1, rVal.end - 1); + const rExpString = stringifyExpression( + processExpression( + createSimpleExpression(rExp, false), + context, + false, + false, + knownIds + ) + ); + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`; + } else if (isUpdateArg) { + id.start = parent.start; + id.end = parent.end; + const { prefix: isPrefix, operator } = parent; + const prefix = isPrefix ? operator : ``; + const postfix = isPrefix ? `` : operator; + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`; + } else if (isDestructureAssignment) { + return raw; + } else { + return wrapWithUnref(raw); + } + } else if (type === "props") { + return shared.genPropsAccessExp(raw); + } else if (type === "props-aliased") { + return shared.genPropsAccessExp(bindingMetadata.__propsAliases[raw]); + } + } else { + if (type && type.startsWith("setup") || type === "literal-const") { + return `$setup.${raw}`; + } else if (type === "props-aliased") { + return `$props['${bindingMetadata.__propsAliases[raw]}']`; + } else if (type) { + return `$${type}.${raw}`; + } + } + return `_ctx.${raw}`; + }; + const rawExp = node.content; + let ast = node.ast; + if (ast === false) { + return node; + } + if (ast === null || !ast && isSimpleIdentifier(rawExp)) { + const isScopeVarReference = context.identifiers[rawExp]; + const isAllowedGlobal = shared.isGloballyAllowed(rawExp); + const isLiteral = isLiteralWhitelisted(rawExp); + if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) { + if (isConst(bindingMetadata[rawExp])) { + node.constType = 1; + } + node.content = rewriteIdentifier(rawExp); + } else if (!isScopeVarReference) { + if (isLiteral) { + node.constType = 3; + } else { + node.constType = 2; + } + } + return node; + } + if (!ast) { + const source = asRawStatements ? ` ${rawExp} ` : `(${rawExp})${asParams ? `=>{}` : ``}`; + try { + ast = parser.parseExpression(source, { + sourceType: "module", + plugins: context.expressionPlugins + }); + } catch (e) { + context.onError( + createCompilerError( + 46, + node.loc, + void 0, + e.message + ) + ); + return node; + } + } + const ids = []; + const parentStack = []; + const knownIds = Object.create(context.identifiers); + walkIdentifiers( + ast, + (node2, parent, _, isReferenced, isLocal) => { + if (isStaticPropertyKey(node2, parent)) { + return; + } + if (node2.name.startsWith("_filter_")) { + return; + } + const needPrefix = isReferenced && canPrefix(node2); + if (needPrefix && !isLocal) { + if (isStaticProperty(parent) && parent.shorthand) { + node2.prefix = `${node2.name}: `; + } + node2.name = rewriteIdentifier(node2.name, parent, node2); + ids.push(node2); + } else { + if (!(needPrefix && isLocal) && (!parent || parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression")) { + node2.isConstant = true; + } + ids.push(node2); + } + }, + true, + // invoke on ALL identifiers + parentStack, + knownIds + ); + const children = []; + ids.sort((a, b) => a.start - b.start); + ids.forEach((id, i) => { + const start = id.start - 1; + const end = id.end - 1; + const last = ids[i - 1]; + const leadingText = rawExp.slice(last ? last.end - 1 : 0, start); + if (leadingText.length || id.prefix) { + children.push(leadingText + (id.prefix || ``)); + } + const source = rawExp.slice(start, end); + children.push( + createSimpleExpression( + id.name, + false, + { + start: advancePositionWithClone(node.loc.start, source, start), + end: advancePositionWithClone(node.loc.start, source, end), + source + }, + id.isConstant ? 3 : 0 + ) + ); + if (i === ids.length - 1 && end < rawExp.length) { + children.push(rawExp.slice(end)); + } + }); + let ret; + if (children.length) { + ret = createCompoundExpression(children, node.loc); + ret.ast = ast; + } else { + ret = node; + ret.constType = 3; + } + ret.identifiers = Object.keys(knownIds); + return ret; +} +function canPrefix(id) { + if (shared.isGloballyAllowed(id.name)) { + return false; + } + if (id.name === "require") { + return false; + } + return true; +} +function stringifyExpression(exp) { + if (shared.isString(exp)) { + return exp; + } else if (exp.type === 4) { + return exp.content; + } else { + return exp.children.map(stringifyExpression).join(""); + } +} +function isConst(type) { + return type === "setup-const" || type === "literal-const"; +} + +const transformIf = createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + (node, dir, context) => { + return processIf(node, dir, context, (ifNode, branch, isRoot) => { + const siblings = context.parent.children; + let i = siblings.indexOf(ifNode); + let key = 0; + while (i-- >= 0) { + const sibling = siblings[i]; + if (sibling && sibling.type === 9) { + key += sibling.branches.length; + } + } + return () => { + if (isRoot) { + ifNode.codegenNode = createCodegenNodeForBranch( + branch, + key, + context + ); + } else { + const parentCondition = getParentCondition(ifNode.codegenNode); + parentCondition.alternate = createCodegenNodeForBranch( + branch, + key + ifNode.branches.length - 1, + context + ); + } + }; + }); + } +); +function processIf(node, dir, context, processCodegen) { + if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) { + const loc = dir.exp ? dir.exp.loc : node.loc; + context.onError( + createCompilerError(28, dir.loc) + ); + dir.exp = createSimpleExpression(`true`, false, loc); + } + if (context.prefixIdentifiers && dir.exp) { + dir.exp = processExpression(dir.exp, context); + } + if (dir.name === "if") { + const branch = createIfBranch(node, dir); + const ifNode = { + type: 9, + loc: cloneLoc(node.loc), + branches: [branch] + }; + context.replaceNode(ifNode); + if (processCodegen) { + return processCodegen(ifNode, branch, true); + } + } else { + const siblings = context.parent.children; + let i = siblings.indexOf(node); + while (i-- >= -1) { + const sibling = siblings[i]; + if (sibling && isCommentOrWhitespace(sibling)) { + context.removeNode(sibling); + continue; + } + if (sibling && sibling.type === 9) { + if ((dir.name === "else-if" || dir.name === "else") && sibling.branches[sibling.branches.length - 1].condition === void 0) { + context.onError( + createCompilerError(30, node.loc) + ); + } + context.removeNode(); + const branch = createIfBranch(node, dir); + { + const key = branch.userKey; + if (key) { + sibling.branches.forEach(({ userKey }) => { + if (isSameKey(userKey, key)) { + context.onError( + createCompilerError( + 29, + branch.userKey.loc + ) + ); + } + }); + } + } + sibling.branches.push(branch); + const onExit = processCodegen && processCodegen(sibling, branch, false); + traverseNode(branch, context); + if (onExit) onExit(); + context.currentNode = null; + } else { + context.onError( + createCompilerError(30, node.loc) + ); + } + break; + } + } +} +function createIfBranch(node, dir) { + const isTemplateIf = node.tagType === 3; + return { + type: 10, + loc: node.loc, + condition: dir.name === "else" ? void 0 : dir.exp, + children: isTemplateIf && !findDir(node, "for") ? node.children : [node], + userKey: findProp(node, `key`), + isTemplateIf + }; +} +function createCodegenNodeForBranch(branch, keyIndex, context) { + if (branch.condition) { + return createConditionalExpression( + branch.condition, + createChildrenCodegenNode(branch, keyIndex, context), + // make sure to pass in asBlock: true so that the comment node call + // closes the current block. + createCallExpression(context.helper(CREATE_COMMENT), [ + '""', + "true" + ]) + ); + } else { + return createChildrenCodegenNode(branch, keyIndex, context); + } +} +function createChildrenCodegenNode(branch, keyIndex, context) { + const { helper } = context; + const keyProperty = createObjectProperty( + `key`, + createSimpleExpression( + `${keyIndex}`, + false, + locStub, + 2 + ) + ); + const { children } = branch; + const firstChild = children[0]; + const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1; + if (needFragmentWrapper) { + if (children.length === 1 && firstChild.type === 11) { + const vnodeCall = firstChild.codegenNode; + injectProp(vnodeCall, keyProperty, context); + return vnodeCall; + } else { + let patchFlag = 64; + return createVNodeCall( + context, + helper(FRAGMENT), + createObjectExpression([keyProperty]), + children, + patchFlag, + void 0, + void 0, + true, + false, + false, + branch.loc + ); + } + } else { + const ret = firstChild.codegenNode; + const vnodeCall = getMemoedVNodeCall(ret); + if (vnodeCall.type === 13) { + convertToBlock(vnodeCall, context); + } + injectProp(vnodeCall, keyProperty, context); + return ret; + } +} +function isSameKey(a, b) { + if (!a || a.type !== b.type) { + return false; + } + if (a.type === 6) { + if (a.value.content !== b.value.content) { + return false; + } + } else { + const exp = a.exp; + const branchExp = b.exp; + if (exp.type !== branchExp.type) { + return false; + } + if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) { + return false; + } + } + return true; +} +function getParentCondition(node) { + while (true) { + if (node.type === 19) { + if (node.alternate.type === 19) { + node = node.alternate; + } else { + return node; + } + } else if (node.type === 20) { + node = node.value; + } + } +} + +const transformFor = createStructuralDirectiveTransform( + "for", + (node, dir, context) => { + const { helper, removeHelper } = context; + return processFor(node, dir, context, (forNode) => { + const renderExp = createCallExpression(helper(RENDER_LIST), [ + forNode.source + ]); + const isTemplate = isTemplateNode(node); + const memo = findDir(node, "memo"); + const keyProp = findProp(node, `key`, false, true); + const isDirKey = keyProp && keyProp.type === 7; + let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp); + if (memo && keyExp && isDirKey) { + { + keyProp.exp = keyExp = processExpression( + keyExp, + context + ); + } + } + const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null; + if (isTemplate) { + if (memo) { + memo.exp = processExpression( + memo.exp, + context + ); + } + if (keyProperty && keyProp.type !== 6) { + keyProperty.value = processExpression( + keyProperty.value, + context + ); + } + } + const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0; + const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256; + forNode.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + renderExp, + fragmentFlag, + void 0, + void 0, + true, + !isStableFragment, + false, + node.loc + ); + return () => { + let childBlock; + const { children } = forNode; + if (isTemplate) { + node.children.some((c) => { + if (c.type === 1) { + const key = findProp(c, "key"); + if (key) { + context.onError( + createCompilerError( + 33, + key.loc + ) + ); + return true; + } + } + }); + } + const needFragmentWrapper = children.length !== 1 || children[0].type !== 1; + const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null; + if (slotOutlet) { + childBlock = slotOutlet.codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + } else if (needFragmentWrapper) { + childBlock = createVNodeCall( + context, + helper(FRAGMENT), + keyProperty ? createObjectExpression([keyProperty]) : void 0, + node.children, + 64, + void 0, + void 0, + true, + void 0, + false + ); + } else { + childBlock = children[0].codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + if (childBlock.isBlock !== !isStableFragment) { + if (childBlock.isBlock) { + removeHelper(OPEN_BLOCK); + removeHelper( + getVNodeBlockHelper(context.inSSR, childBlock.isComponent) + ); + } else { + removeHelper( + getVNodeHelper(context.inSSR, childBlock.isComponent) + ); + } + } + childBlock.isBlock = !isStableFragment; + if (childBlock.isBlock) { + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent)); + } else { + helper(getVNodeHelper(context.inSSR, childBlock.isComponent)); + } + } + if (memo) { + const loop = createFunctionExpression( + createForLoopParams(forNode.parseResult, [ + createSimpleExpression(`_cached`) + ]) + ); + loop.body = createBlockStatement([ + createCompoundExpression([`const _memo = (`, memo.exp, `)`]), + createCompoundExpression([ + `if (_cached`, + ...keyExp ? [` && _cached.key === `, keyExp] : [], + ` && ${context.helperString( + IS_MEMO_SAME + )}(_cached, _memo)) return _cached` + ]), + createCompoundExpression([`const _item = `, childBlock]), + createSimpleExpression(`_item.memo = _memo`), + createSimpleExpression(`return _item`) + ]); + renderExp.arguments.push( + loop, + createSimpleExpression(`_cache`), + createSimpleExpression(String(context.cached.length)) + ); + context.cached.push(null); + } else { + renderExp.arguments.push( + createFunctionExpression( + createForLoopParams(forNode.parseResult), + childBlock, + true + ) + ); + } + }; + }); + } +); +function processFor(node, dir, context, processCodegen) { + if (!dir.exp) { + context.onError( + createCompilerError(31, dir.loc) + ); + return; + } + const parseResult = dir.forParseResult; + if (!parseResult) { + context.onError( + createCompilerError(32, dir.loc) + ); + return; + } + finalizeForParseResult(parseResult, context); + const { addIdentifiers, removeIdentifiers, scopes } = context; + const { source, value, key, index } = parseResult; + const forNode = { + type: 11, + loc: dir.loc, + source, + valueAlias: value, + keyAlias: key, + objectIndexAlias: index, + parseResult, + children: isTemplateNode(node) ? node.children : [node] + }; + context.replaceNode(forNode); + scopes.vFor++; + if (context.prefixIdentifiers) { + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + } + const onExit = processCodegen && processCodegen(forNode); + return () => { + scopes.vFor--; + if (context.prefixIdentifiers) { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + } + if (onExit) onExit(); + }; +} +function finalizeForParseResult(result, context) { + if (result.finalized) return; + if (context.prefixIdentifiers) { + result.source = processExpression( + result.source, + context + ); + if (result.key) { + result.key = processExpression( + result.key, + context, + true + ); + } + if (result.index) { + result.index = processExpression( + result.index, + context, + true + ); + } + if (result.value) { + result.value = processExpression( + result.value, + context, + true + ); + } + } + result.finalized = true; +} +function createForLoopParams({ value, key, index }, memoArgs = []) { + return createParamsList([value, key, index, ...memoArgs]); +} +function createParamsList(args) { + let i = args.length; + while (i--) { + if (args[i]) break; + } + return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false)); +} + +const defaultFallback = createSimpleExpression(`undefined`, false); +const trackSlotScopes = (node, context) => { + if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) { + const vSlot = findDir(node, "slot"); + if (vSlot) { + const slotProps = vSlot.exp; + if (context.prefixIdentifiers) { + slotProps && context.addIdentifiers(slotProps); + } + context.scopes.vSlot++; + return () => { + if (context.prefixIdentifiers) { + slotProps && context.removeIdentifiers(slotProps); + } + context.scopes.vSlot--; + }; + } + } +}; +const trackVForSlotScopes = (node, context) => { + let vFor; + if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, "for"))) { + const result = vFor.forParseResult; + if (result) { + finalizeForParseResult(result, context); + const { value, key, index } = result; + const { addIdentifiers, removeIdentifiers } = context; + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + return () => { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + }; + } + } +}; +const buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression( + props, + children, + false, + true, + children.length ? children[0].loc : loc +); +function buildSlots(node, context, buildSlotFn = buildClientSlotFn) { + context.helper(WITH_CTX); + const { children, loc } = node; + const slotsProperties = []; + const dynamicSlots = []; + let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0; + if (!context.ssr && context.prefixIdentifiers) { + hasDynamicSlots = node.props.some( + (prop) => isVSlot(prop) && (hasScopeRef(prop.arg, context.identifiers) || hasScopeRef(prop.exp, context.identifiers)) + ) || children.some((child) => hasScopeRef(child, context.identifiers)); + } + const onComponentSlot = findDir(node, "slot", true); + if (onComponentSlot) { + const { arg, exp } = onComponentSlot; + if (arg && !isStaticExp(arg)) { + hasDynamicSlots = true; + } + slotsProperties.push( + createObjectProperty( + arg || createSimpleExpression("default", true), + buildSlotFn(exp, void 0, children, loc) + ) + ); + } + let hasTemplateSlots = false; + let hasNamedDefaultSlot = false; + const implicitDefaultChildren = []; + const seenSlotNames = /* @__PURE__ */ new Set(); + let conditionalBranchIndex = 0; + for (let i = 0; i < children.length; i++) { + const slotElement = children[i]; + let slotDir; + if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) { + if (slotElement.type !== 3) { + implicitDefaultChildren.push(slotElement); + } + continue; + } + if (onComponentSlot) { + context.onError( + createCompilerError(37, slotDir.loc) + ); + break; + } + hasTemplateSlots = true; + const { children: slotChildren, loc: slotLoc } = slotElement; + const { + arg: slotName = createSimpleExpression(`default`, true), + exp: slotProps, + loc: dirLoc + } = slotDir; + let staticSlotName; + if (isStaticExp(slotName)) { + staticSlotName = slotName ? slotName.content : `default`; + } else { + hasDynamicSlots = true; + } + const vFor = findDir(slotElement, "for"); + const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc); + let vIf; + let vElse; + if (vIf = findDir(slotElement, "if")) { + hasDynamicSlots = true; + dynamicSlots.push( + createConditionalExpression( + vIf.exp, + buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), + defaultFallback + ) + ); + } else if (vElse = findDir( + slotElement, + /^else(?:-if)?$/, + true + /* allowEmpty */ + )) { + let j = i; + let prev; + while (j--) { + prev = children[j]; + if (!isCommentOrWhitespace(prev)) { + break; + } + } + if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) { + let conditional = dynamicSlots[dynamicSlots.length - 1]; + while (conditional.alternate.type === 19) { + conditional = conditional.alternate; + } + conditional.alternate = vElse.exp ? createConditionalExpression( + vElse.exp, + buildDynamicSlot( + slotName, + slotFunction, + conditionalBranchIndex++ + ), + defaultFallback + ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++); + } else { + context.onError( + createCompilerError(30, vElse.loc) + ); + } + } else if (vFor) { + hasDynamicSlots = true; + const parseResult = vFor.forParseResult; + if (parseResult) { + finalizeForParseResult(parseResult, context); + dynamicSlots.push( + createCallExpression(context.helper(RENDER_LIST), [ + parseResult.source, + createFunctionExpression( + createForLoopParams(parseResult), + buildDynamicSlot(slotName, slotFunction), + true + ) + ]) + ); + } else { + context.onError( + createCompilerError( + 32, + vFor.loc + ) + ); + } + } else { + if (staticSlotName) { + if (seenSlotNames.has(staticSlotName)) { + context.onError( + createCompilerError( + 38, + dirLoc + ) + ); + continue; + } + seenSlotNames.add(staticSlotName); + if (staticSlotName === "default") { + hasNamedDefaultSlot = true; + } + } + slotsProperties.push(createObjectProperty(slotName, slotFunction)); + } + } + if (!onComponentSlot) { + const buildDefaultSlotProperty = (props, children2) => { + const fn = buildSlotFn(props, void 0, children2, loc); + if (context.compatConfig) { + fn.isNonScopedSlot = true; + } + return createObjectProperty(`default`, fn); + }; + if (!hasTemplateSlots) { + slotsProperties.push(buildDefaultSlotProperty(void 0, children)); + } else if (implicitDefaultChildren.length && // #3766 + // with whitespace: 'preserve', whitespaces between slots will end up in + // implicitDefaultChildren. Ignore if all implicit children are whitespaces. + !implicitDefaultChildren.every(isWhitespaceText)) { + if (hasNamedDefaultSlot) { + context.onError( + createCompilerError( + 39, + implicitDefaultChildren[0].loc + ) + ); + } else { + slotsProperties.push( + buildDefaultSlotProperty(void 0, implicitDefaultChildren) + ); + } + } + } + const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1; + let slots = createObjectExpression( + slotsProperties.concat( + createObjectProperty( + `_`, + // 2 = compiled but dynamic = can skip normalization, but must run diff + // 1 = compiled and static = can skip normalization AND diff as optimized + createSimpleExpression( + slotFlag + (``), + false + ) + ) + ), + loc + ); + if (dynamicSlots.length) { + slots = createCallExpression(context.helper(CREATE_SLOTS), [ + slots, + createArrayExpression(dynamicSlots) + ]); + } + return { + slots, + hasDynamicSlots + }; +} +function buildDynamicSlot(name, fn, index) { + const props = [ + createObjectProperty(`name`, name), + createObjectProperty(`fn`, fn) + ]; + if (index != null) { + props.push( + createObjectProperty(`key`, createSimpleExpression(String(index), true)) + ); + } + return createObjectExpression(props); +} +function hasForwardedSlots(children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + if (child.tagType === 2 || hasForwardedSlots(child.children)) { + return true; + } + break; + case 9: + if (hasForwardedSlots(child.branches)) return true; + break; + case 10: + case 11: + if (hasForwardedSlots(child.children)) return true; + break; + } + } + return false; +} + +const directiveImportMap = /* @__PURE__ */ new WeakMap(); +const transformElement = (node, context) => { + return function postTransformElement() { + node = context.currentNode; + if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) { + return; + } + const { tag, props } = node; + const isComponent = node.tagType === 1; + let vnodeTag = isComponent ? resolveComponentType(node, context) : `"${tag}"`; + const isDynamicComponent = shared.isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT; + let vnodeProps; + let vnodeChildren; + let patchFlag = 0; + let vnodeDynamicProps; + let dynamicPropNames; + let vnodeDirectives; + let shouldUseBlock = ( + // dynamic component may resolve to plain elements + isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block + // updates inside get proper isSVG flag at runtime. (#639, #643) + // This is technically web-specific, but splitting the logic out of core + // leads to too much unnecessary complexity. + (tag === "svg" || tag === "foreignObject" || tag === "math") + ); + if (props.length > 0) { + const propsBuildResult = buildProps( + node, + context, + void 0, + isComponent, + isDynamicComponent + ); + vnodeProps = propsBuildResult.props; + patchFlag = propsBuildResult.patchFlag; + dynamicPropNames = propsBuildResult.dynamicPropNames; + const directives = propsBuildResult.directives; + vnodeDirectives = directives && directives.length ? createArrayExpression( + directives.map((dir) => buildDirectiveArgs(dir, context)) + ) : void 0; + if (propsBuildResult.shouldUseBlock) { + shouldUseBlock = true; + } + } + if (node.children.length > 0) { + if (vnodeTag === KEEP_ALIVE) { + shouldUseBlock = true; + patchFlag |= 1024; + } + const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling + vnodeTag !== TELEPORT && // explained above. + vnodeTag !== KEEP_ALIVE; + if (shouldBuildAsSlots) { + const { slots, hasDynamicSlots } = buildSlots(node, context); + vnodeChildren = slots; + if (hasDynamicSlots) { + patchFlag |= 1024; + } + } else if (node.children.length === 1 && vnodeTag !== TELEPORT) { + const child = node.children[0]; + const type = child.type; + const hasDynamicTextChild = type === 5 || type === 8; + if (hasDynamicTextChild && getConstantType(child, context) === 0) { + patchFlag |= 1; + } + if (hasDynamicTextChild || type === 2) { + vnodeChildren = child; + } else { + vnodeChildren = node.children; + } + } else { + vnodeChildren = node.children; + } + } + if (dynamicPropNames && dynamicPropNames.length) { + vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames); + } + node.codegenNode = createVNodeCall( + context, + vnodeTag, + vnodeProps, + vnodeChildren, + patchFlag === 0 ? void 0 : patchFlag, + vnodeDynamicProps, + vnodeDirectives, + !!shouldUseBlock, + false, + isComponent, + node.loc + ); + }; +}; +function resolveComponentType(node, context, ssr = false) { + let { tag } = node; + const isExplicitDynamic = isComponentTag(tag); + const isProp = findProp( + node, + "is", + false, + true + /* allow empty */ + ); + if (isProp) { + if (isExplicitDynamic || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + )) { + let exp; + if (isProp.type === 6) { + exp = isProp.value && createSimpleExpression(isProp.value.content, true); + } else { + exp = isProp.exp; + if (!exp) { + exp = createSimpleExpression(`is`, false, isProp.arg.loc); + { + exp = isProp.exp = processExpression(exp, context); + } + } + } + if (exp) { + return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [ + exp + ]); + } + } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) { + tag = isProp.value.content.slice(4); + } + } + const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag); + if (builtIn) { + if (!ssr) context.helper(builtIn); + return builtIn; + } + { + const fromSetup = resolveSetupReference(tag, context); + if (fromSetup) { + return fromSetup; + } + const dotIndex = tag.indexOf("."); + if (dotIndex > 0) { + const ns = resolveSetupReference(tag.slice(0, dotIndex), context); + if (ns) { + return ns + tag.slice(dotIndex); + } + } + } + if (context.selfName && shared.capitalize(shared.camelize(tag)) === context.selfName) { + context.helper(RESOLVE_COMPONENT); + context.components.add(tag + `__self`); + return toValidAssetId(tag, `component`); + } + context.helper(RESOLVE_COMPONENT); + context.components.add(tag); + return toValidAssetId(tag, `component`); +} +function resolveSetupReference(name, context) { + const bindings = context.bindingMetadata; + if (!bindings || bindings.__isScriptSetup === false) { + return; + } + const camelName = shared.camelize(name); + const PascalName = shared.capitalize(camelName); + const checkType = (type) => { + if (bindings[name] === type) { + return name; + } + if (bindings[camelName] === type) { + return camelName; + } + if (bindings[PascalName] === type) { + return PascalName; + } + }; + const fromConst = checkType("setup-const") || checkType("setup-reactive-const") || checkType("literal-const"); + if (fromConst) { + return context.inline ? ( + // in inline mode, const setup bindings (e.g. imports) can be used as-is + fromConst + ) : `$setup[${JSON.stringify(fromConst)}]`; + } + const fromMaybeRef = checkType("setup-let") || checkType("setup-ref") || checkType("setup-maybe-ref"); + if (fromMaybeRef) { + return context.inline ? ( + // setup scope bindings that may be refs need to be unrefed + `${context.helperString(UNREF)}(${fromMaybeRef})` + ) : `$setup[${JSON.stringify(fromMaybeRef)}]`; + } + const fromProps = checkType("props"); + if (fromProps) { + return `${context.helperString(UNREF)}(${context.inline ? "__props" : "$props"}[${JSON.stringify(fromProps)}])`; + } +} +function buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) { + const { tag, loc: elementLoc, children } = node; + let properties = []; + const mergeArgs = []; + const runtimeDirectives = []; + const hasChildren = children.length > 0; + let shouldUseBlock = false; + let patchFlag = 0; + let hasRef = false; + let hasClassBinding = false; + let hasStyleBinding = false; + let hasHydrationEventBinding = false; + let hasDynamicKeys = false; + let hasVnodeHook = false; + const dynamicPropNames = []; + const pushMergeArg = (arg) => { + if (properties.length) { + mergeArgs.push( + createObjectExpression(dedupeProperties(properties), elementLoc) + ); + properties = []; + } + if (arg) mergeArgs.push(arg); + }; + const pushRefVForMarker = () => { + if (context.scopes.vFor > 0) { + properties.push( + createObjectProperty( + createSimpleExpression("ref_for", true), + createSimpleExpression("true") + ) + ); + } + }; + const analyzePatchFlag = ({ key, value }) => { + if (isStaticExp(key)) { + const name = key.content; + const isEventHandler = shared.isOn(name); + if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click + // dedicated fast path. + name.toLowerCase() !== "onclick" && // omit v-model handlers + name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks + !shared.isReservedProp(name)) { + hasHydrationEventBinding = true; + } + if (isEventHandler && shared.isReservedProp(name)) { + hasVnodeHook = true; + } + if (isEventHandler && value.type === 14) { + value = value.arguments[0]; + } + if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) { + return; + } + if (name === "ref") { + hasRef = true; + } else if (name === "class") { + hasClassBinding = true; + } else if (name === "style") { + hasStyleBinding = true; + } else if (name !== "key" && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + } else { + hasDynamicKeys = true; + } + }; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 6) { + const { loc, name, nameLoc, value } = prop; + let isStatic = true; + if (name === "ref") { + hasRef = true; + pushRefVForMarker(); + if (value && context.inline) { + const binding = context.bindingMetadata[value.content]; + if (binding === "setup-let" || binding === "setup-ref" || binding === "setup-maybe-ref") { + isStatic = false; + properties.push( + createObjectProperty( + createSimpleExpression("ref_key", true), + createSimpleExpression(value.content, true, value.loc) + ) + ); + } + } + } + if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + properties.push( + createObjectProperty( + createSimpleExpression(name, true, nameLoc), + createSimpleExpression( + value ? value.content : "", + isStatic, + value ? value.loc : loc + ) + ) + ); + } else { + const { name, arg, exp, loc, modifiers } = prop; + const isVBind = name === "bind"; + const isVOn = name === "on"; + if (name === "slot") { + if (!isComponent) { + context.onError( + createCompilerError(40, loc) + ); + } + continue; + } + if (name === "once" || name === "memo") { + continue; + } + if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + if (isVOn && ssr) { + continue; + } + if ( + // #938: elements with dynamic keys should be forced into blocks + isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked + // before children + isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update") + ) { + shouldUseBlock = true; + } + if (isVBind && isStaticArgOf(arg, "ref")) { + pushRefVForMarker(); + } + if (!arg && (isVBind || isVOn)) { + hasDynamicKeys = true; + if (exp) { + if (isVBind) { + { + pushMergeArg(); + if (isCompatEnabled( + "COMPILER_V_BIND_OBJECT_ORDER", + context + )) { + mergeArgs.unshift(exp); + continue; + } + } + pushRefVForMarker(); + pushMergeArg(); + mergeArgs.push(exp); + } else { + pushMergeArg({ + type: 14, + loc, + callee: context.helper(TO_HANDLERS), + arguments: isComponent ? [exp] : [exp, `true`] + }); + } + } else { + context.onError( + createCompilerError( + isVBind ? 34 : 35, + loc + ) + ); + } + continue; + } + if (isVBind && modifiers.some((mod) => mod.content === "prop")) { + patchFlag |= 32; + } + const directiveTransform = context.directiveTransforms[name]; + if (directiveTransform) { + const { props: props2, needRuntime } = directiveTransform(prop, node, context); + !ssr && props2.forEach(analyzePatchFlag); + if (isVOn && arg && !isStaticExp(arg)) { + pushMergeArg(createObjectExpression(props2, elementLoc)); + } else { + properties.push(...props2); + } + if (needRuntime) { + runtimeDirectives.push(prop); + if (shared.isSymbol(needRuntime)) { + directiveImportMap.set(prop, needRuntime); + } + } + } else if (!shared.isBuiltInDirective(name)) { + runtimeDirectives.push(prop); + if (hasChildren) { + shouldUseBlock = true; + } + } + } + } + let propsExpression = void 0; + if (mergeArgs.length) { + pushMergeArg(); + if (mergeArgs.length > 1) { + propsExpression = createCallExpression( + context.helper(MERGE_PROPS), + mergeArgs, + elementLoc + ); + } else { + propsExpression = mergeArgs[0]; + } + } else if (properties.length) { + propsExpression = createObjectExpression( + dedupeProperties(properties), + elementLoc + ); + } + if (hasDynamicKeys) { + patchFlag |= 16; + } else { + if (hasClassBinding && !isComponent) { + patchFlag |= 2; + } + if (hasStyleBinding && !isComponent) { + patchFlag |= 4; + } + if (dynamicPropNames.length) { + patchFlag |= 8; + } + if (hasHydrationEventBinding) { + patchFlag |= 32; + } + } + if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) { + patchFlag |= 512; + } + if (!context.inSSR && propsExpression) { + switch (propsExpression.type) { + case 15: + let classKeyIndex = -1; + let styleKeyIndex = -1; + let hasDynamicKey = false; + for (let i = 0; i < propsExpression.properties.length; i++) { + const key = propsExpression.properties[i].key; + if (isStaticExp(key)) { + if (key.content === "class") { + classKeyIndex = i; + } else if (key.content === "style") { + styleKeyIndex = i; + } + } else if (!key.isHandlerKey) { + hasDynamicKey = true; + } + } + const classProp = propsExpression.properties[classKeyIndex]; + const styleProp = propsExpression.properties[styleKeyIndex]; + if (!hasDynamicKey) { + if (classProp && !isStaticExp(classProp.value)) { + classProp.value = createCallExpression( + context.helper(NORMALIZE_CLASS), + [classProp.value] + ); + } + if (styleProp && // the static style is compiled into an object, + // so use `hasStyleBinding` to ensure that it is a dynamic style binding + (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist, + // v-bind:style with static literal object + styleProp.value.type === 17)) { + styleProp.value = createCallExpression( + context.helper(NORMALIZE_STYLE), + [styleProp.value] + ); + } + } else { + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [propsExpression] + ); + } + break; + case 14: + break; + default: + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [ + createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [ + propsExpression + ]) + ] + ); + break; + } + } + return { + props: propsExpression, + directives: runtimeDirectives, + patchFlag, + dynamicPropNames, + shouldUseBlock + }; +} +function dedupeProperties(properties) { + const knownProps = /* @__PURE__ */ new Map(); + const deduped = []; + for (let i = 0; i < properties.length; i++) { + const prop = properties[i]; + if (prop.key.type === 8 || !prop.key.isStatic) { + deduped.push(prop); + continue; + } + const name = prop.key.content; + const existing = knownProps.get(name); + if (existing) { + if (name === "style" || name === "class" || shared.isOn(name)) { + mergeAsArray(existing, prop); + } + } else { + knownProps.set(name, prop); + deduped.push(prop); + } + } + return deduped; +} +function mergeAsArray(existing, incoming) { + if (existing.value.type === 17) { + existing.value.elements.push(incoming.value); + } else { + existing.value = createArrayExpression( + [existing.value, incoming.value], + existing.loc + ); + } +} +function buildDirectiveArgs(dir, context) { + const dirArgs = []; + const runtime = directiveImportMap.get(dir); + if (runtime) { + dirArgs.push(context.helperString(runtime)); + } else { + const fromSetup = resolveSetupReference("v-" + dir.name, context); + if (fromSetup) { + dirArgs.push(fromSetup); + } else { + context.helper(RESOLVE_DIRECTIVE); + context.directives.add(dir.name); + dirArgs.push(toValidAssetId(dir.name, `directive`)); + } + } + const { loc } = dir; + if (dir.exp) dirArgs.push(dir.exp); + if (dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(dir.arg); + } + if (Object.keys(dir.modifiers).length) { + if (!dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(`void 0`); + } + const trueExpression = createSimpleExpression(`true`, false, loc); + dirArgs.push( + createObjectExpression( + dir.modifiers.map( + (modifier) => createObjectProperty(modifier, trueExpression) + ), + loc + ) + ); + } + return createArrayExpression(dirArgs, dir.loc); +} +function stringifyDynamicPropNames(props) { + let propsNamesString = `[`; + for (let i = 0, l = props.length; i < l; i++) { + propsNamesString += JSON.stringify(props[i]); + if (i < l - 1) propsNamesString += ", "; + } + return propsNamesString + `]`; +} +function isComponentTag(tag) { + return tag === "component" || tag === "Component"; +} + +const transformSlotOutlet = (node, context) => { + if (isSlotOutlet(node)) { + const { children, loc } = node; + const { slotName, slotProps } = processSlotOutlet(node, context); + const slotArgs = [ + context.prefixIdentifiers ? `_ctx.$slots` : `$slots`, + slotName, + "{}", + "undefined", + "true" + ]; + let expectedLen = 2; + if (slotProps) { + slotArgs[2] = slotProps; + expectedLen = 3; + } + if (children.length) { + slotArgs[3] = createFunctionExpression([], children, false, false, loc); + expectedLen = 4; + } + if (context.scopeId && !context.slotted) { + expectedLen = 5; + } + slotArgs.splice(expectedLen); + node.codegenNode = createCallExpression( + context.helper(RENDER_SLOT), + slotArgs, + loc + ); + } +}; +function processSlotOutlet(node, context) { + let slotName = `"default"`; + let slotProps = void 0; + const nonNameProps = []; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (p.value) { + if (p.name === "name") { + slotName = JSON.stringify(p.value.content); + } else { + p.name = shared.camelize(p.name); + nonNameProps.push(p); + } + } + } else { + if (p.name === "bind" && isStaticArgOf(p.arg, "name")) { + if (p.exp) { + slotName = p.exp; + } else if (p.arg && p.arg.type === 4) { + const name = shared.camelize(p.arg.content); + slotName = p.exp = createSimpleExpression(name, false, p.arg.loc); + { + slotName = p.exp = processExpression(p.exp, context); + } + } + } else { + if (p.name === "bind" && p.arg && isStaticExp(p.arg)) { + p.arg.content = shared.camelize(p.arg.content); + } + nonNameProps.push(p); + } + } + } + if (nonNameProps.length > 0) { + const { props, directives } = buildProps( + node, + context, + nonNameProps, + false, + false + ); + slotProps = props; + if (directives.length) { + context.onError( + createCompilerError( + 36, + directives[0].loc + ) + ); + } + } + return { + slotName, + slotProps + }; +} + +const transformOn = (dir, node, context, augmentor) => { + const { loc, modifiers, arg } = dir; + if (!dir.exp && !modifiers.length) { + context.onError(createCompilerError(35, loc)); + } + let eventName; + if (arg.type === 4) { + if (arg.isStatic) { + let rawName = arg.content; + if (rawName.startsWith("vue:")) { + rawName = `vnode-${rawName.slice(4)}`; + } + const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? ( + // for non-element and vnode lifecycle event listeners, auto convert + // it to camelCase. See issue #2249 + shared.toHandlerKey(shared.camelize(rawName)) + ) : ( + // preserve case for plain element listeners that have uppercase + // letters, as these may be custom elements' custom events + `on:${rawName}` + ); + eventName = createSimpleExpression(eventString, true, arg.loc); + } else { + eventName = createCompoundExpression([ + `${context.helperString(TO_HANDLER_KEY)}(`, + arg, + `)` + ]); + } + } else { + eventName = arg; + eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`); + eventName.children.push(`)`); + } + let exp = dir.exp; + if (exp && !exp.content.trim()) { + exp = void 0; + } + let shouldCache = context.cacheHandlers && !exp && !context.inVOnce; + if (exp) { + const isMemberExp = isMemberExpression(exp, context); + const isInlineStatement = !(isMemberExp || isFnExpression(exp, context)); + const hasMultipleStatements = exp.content.includes(`;`); + if (context.prefixIdentifiers) { + isInlineStatement && context.addIdentifiers(`$event`); + exp = dir.exp = processExpression( + exp, + context, + false, + hasMultipleStatements + ); + isInlineStatement && context.removeIdentifiers(`$event`); + shouldCache = context.cacheHandlers && // unnecessary to cache inside v-once + !context.inVOnce && // runtime constants don't need to be cached + // (this is analyzed by compileScript in SFC <script setup>) + !(exp.type === 4 && exp.constType > 0) && // #1541 bail if this is a member exp handler passed to a component - + // we need to use the original function to preserve arity, + // e.g. <transition> relies on checking cb.length to determine + // transition end handling. Inline function is ok since its arity + // is preserved even when cached. + !(isMemberExp && node.tagType === 1) && // bail if the function references closure variables (v-for, v-slot) + // it must be passed fresh to avoid stale values. + !hasScopeRef(exp, context.identifiers); + if (shouldCache && isMemberExp) { + if (exp.type === 4) { + exp.content = `${exp.content} && ${exp.content}(...args)`; + } else { + exp.children = [...exp.children, ` && `, ...exp.children, `(...args)`]; + } + } + } + if (isInlineStatement || shouldCache && isMemberExp) { + exp = createCompoundExpression([ + `${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? ` +//@ts-ignore +` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`, + exp, + hasMultipleStatements ? `}` : `)` + ]); + } + } + let ret = { + props: [ + createObjectProperty( + eventName, + exp || createSimpleExpression(`() => {}`, false, loc) + ) + ] + }; + if (augmentor) { + ret = augmentor(ret); + } + if (shouldCache) { + ret.props[0].value = context.cache(ret.props[0].value); + } + ret.props.forEach((p) => p.key.isHandlerKey = true); + return ret; +}; + +const transformBind = (dir, _node, context) => { + const { modifiers, loc } = dir; + const arg = dir.arg; + let { exp } = dir; + if (exp && exp.type === 4 && !exp.content.trim()) { + { + context.onError( + createCompilerError(34, loc) + ); + return { + props: [ + createObjectProperty(arg, createSimpleExpression("", true, loc)) + ] + }; + } + } + if (arg.type !== 4) { + arg.children.unshift(`(`); + arg.children.push(`) || ""`); + } else if (!arg.isStatic) { + arg.content = arg.content ? `${arg.content} || ""` : `""`; + } + if (modifiers.some((mod) => mod.content === "camel")) { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = shared.camelize(arg.content); + } else { + arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`; + } + } else { + arg.children.unshift(`${context.helperString(CAMELIZE)}(`); + arg.children.push(`)`); + } + } + if (!context.inSSR) { + if (modifiers.some((mod) => mod.content === "prop")) { + injectPrefix(arg, "."); + } + if (modifiers.some((mod) => mod.content === "attr")) { + injectPrefix(arg, "^"); + } + } + return { + props: [createObjectProperty(arg, exp)] + }; +}; +const injectPrefix = (arg, prefix) => { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = prefix + arg.content; + } else { + arg.content = `\`${prefix}\${${arg.content}}\``; + } + } else { + arg.children.unshift(`'${prefix}' + (`); + arg.children.push(`)`); + } +}; + +const transformText = (node, context) => { + if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) { + return () => { + const children = node.children; + let currentContainer = void 0; + let hasText = false; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child)) { + hasText = true; + for (let j = i + 1; j < children.length; j++) { + const next = children[j]; + if (isText$1(next)) { + if (!currentContainer) { + currentContainer = children[i] = createCompoundExpression( + [child], + child.loc + ); + } + currentContainer.children.push(` + `, next); + children.splice(j, 1); + j--; + } else { + currentContainer = void 0; + break; + } + } + } + } + if (!hasText || // if this is a plain element with a single text child, leave it + // as-is since the runtime has dedicated fast path for this by directly + // setting textContent of the element. + // for component root it's always normalized anyway. + children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756 + // custom directives can potentially add DOM elements arbitrarily, + // we need to avoid setting textContent of the element at runtime + // to avoid accidentally overwriting the DOM elements added + // by the user through custom directives. + !node.props.find( + (p) => p.type === 7 && !context.directiveTransforms[p.name] + ) && // in compat mode, <template> tags with no special directives + // will be rendered as a fragment so its children must be + // converted into vnodes. + !(node.tag === "template"))) { + return; + } + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child) || child.type === 8) { + const callArgs = []; + if (child.type !== 2 || child.content !== " ") { + callArgs.push(child); + } + if (!context.ssr && getConstantType(child, context) === 0) { + callArgs.push( + 1 + (``) + ); + } + children[i] = { + type: 12, + content: child, + loc: child.loc, + codegenNode: createCallExpression( + context.helper(CREATE_TEXT), + callArgs + ) + }; + } + } + }; + } +}; + +const seen$1 = /* @__PURE__ */ new WeakSet(); +const transformOnce = (node, context) => { + if (node.type === 1 && findDir(node, "once", true)) { + if (seen$1.has(node) || context.inVOnce || context.inSSR) { + return; + } + seen$1.add(node); + context.inVOnce = true; + context.helper(SET_BLOCK_TRACKING); + return () => { + context.inVOnce = false; + const cur = context.currentNode; + if (cur.codegenNode) { + cur.codegenNode = context.cache( + cur.codegenNode, + true, + true + ); + } + }; + } +}; + +const transformModel = (dir, node, context) => { + const { exp, arg } = dir; + if (!exp) { + context.onError( + createCompilerError(41, dir.loc) + ); + return createTransformProps(); + } + const rawExp = exp.loc.source.trim(); + const expString = exp.type === 4 ? exp.content : rawExp; + const bindingType = context.bindingMetadata[rawExp]; + if (bindingType === "props" || bindingType === "props-aliased") { + context.onError(createCompilerError(44, exp.loc)); + return createTransformProps(); + } + if (bindingType === "literal-const" || bindingType === "setup-const") { + context.onError(createCompilerError(45, exp.loc)); + return createTransformProps(); + } + const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref"); + if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) { + context.onError( + createCompilerError(42, exp.loc) + ); + return createTransformProps(); + } + if (context.prefixIdentifiers && isSimpleIdentifier(expString) && context.identifiers[expString]) { + context.onError( + createCompilerError(43, exp.loc) + ); + return createTransformProps(); + } + const propName = arg ? arg : createSimpleExpression("modelValue", true); + const eventName = arg ? isStaticExp(arg) ? `onUpdate:${shared.camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`; + let assignmentExp; + const eventArg = context.isTS ? `($event: any)` : `$event`; + if (maybeRef) { + if (bindingType === "setup-ref") { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event)` + ]); + } else { + const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`; + assignmentExp = createCompoundExpression([ + `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event : ${altAssignment})` + ]); + } + } else { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + exp, + `) = $event)` + ]); + } + const props = [ + // modelValue: foo + createObjectProperty(propName, dir.exp), + // "onUpdate:modelValue": $event => (foo = $event) + createObjectProperty(eventName, assignmentExp) + ]; + if (context.prefixIdentifiers && !context.inVOnce && context.cacheHandlers && !hasScopeRef(exp, context.identifiers)) { + props[1].value = context.cache(props[1].value); + } + if (dir.modifiers.length && node.tagType === 1) { + const modifiers = dir.modifiers.map((m) => m.content).map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `); + const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`; + props.push( + createObjectProperty( + modifiersKey, + createSimpleExpression( + `{ ${modifiers} }`, + false, + dir.loc, + 2 + ) + ) + ); + } + return createTransformProps(props); +}; +function createTransformProps(props = []) { + return { props }; +} + +const validDivisionCharRE = /[\w).+\-_$\]]/; +const transformFilter = (node, context) => { + if (!isCompatEnabled("COMPILER_FILTERS", context)) { + return; + } + if (node.type === 5) { + rewriteFilter(node.content, context); + } else if (node.type === 1) { + node.props.forEach((prop) => { + if (prop.type === 7 && prop.name !== "for" && prop.exp) { + rewriteFilter(prop.exp, context); + } + }); + } +}; +function rewriteFilter(node, context) { + if (node.type === 4) { + parseFilter(node, context); + } else { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (typeof child !== "object") continue; + if (child.type === 4) { + parseFilter(child, context); + } else if (child.type === 8) { + rewriteFilter(node, context); + } else if (child.type === 5) { + rewriteFilter(child.content, context); + } + } + } +} +function parseFilter(node, context) { + const exp = node.content; + let inSingle = false; + let inDouble = false; + let inTemplateString = false; + let inRegex = false; + let curly = 0; + let square = 0; + let paren = 0; + let lastFilterIndex = 0; + let c, prev, i, expression, filters = []; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 39 && prev !== 92) inSingle = false; + } else if (inDouble) { + if (c === 34 && prev !== 92) inDouble = false; + } else if (inTemplateString) { + if (c === 96 && prev !== 92) inTemplateString = false; + } else if (inRegex) { + if (c === 47 && prev !== 92) inRegex = false; + } else if (c === 124 && // pipe + exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) { + if (expression === void 0) { + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } else { + pushFilter(); + } + } else { + switch (c) { + case 34: + inDouble = true; + break; + // " + case 39: + inSingle = true; + break; + // ' + case 96: + inTemplateString = true; + break; + // ` + case 40: + paren++; + break; + // ( + case 41: + paren--; + break; + // ) + case 91: + square++; + break; + // [ + case 93: + square--; + break; + // ] + case 123: + curly++; + break; + // { + case 125: + curly--; + break; + } + if (c === 47) { + let j = i - 1; + let p; + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== " ") break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === void 0) { + expression = exp.slice(0, i).trim(); + } else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + filters.push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters.length) { + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i], context); + } + node.content = expression; + node.ast = void 0; + } +} +function wrapFilter(exp, filter, context) { + context.helper(RESOLVE_FILTER); + const i = filter.indexOf("("); + if (i < 0) { + context.filters.add(filter); + return `${toValidAssetId(filter, "filter")}(${exp})`; + } else { + const name = filter.slice(0, i); + const args = filter.slice(i + 1); + context.filters.add(name); + return `${toValidAssetId(name, "filter")}(${exp}${args !== ")" ? "," + args : args}`; + } +} + +const seen = /* @__PURE__ */ new WeakSet(); +const transformMemo = (node, context) => { + if (node.type === 1) { + const dir = findDir(node, "memo"); + if (!dir || seen.has(node) || context.inSSR) { + return; + } + seen.add(node); + return () => { + const codegenNode = node.codegenNode || context.currentNode.codegenNode; + if (codegenNode && codegenNode.type === 13) { + if (node.tagType !== 1) { + convertToBlock(codegenNode, context); + } + node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [ + dir.exp, + createFunctionExpression(void 0, codegenNode), + `_cache`, + String(context.cached.length) + ]); + context.cached.push(null); + } + }; + } +}; + +const transformVBindShorthand = (node, context) => { + if (node.type === 1) { + for (const prop of node.props) { + if (prop.type === 7 && prop.name === "bind" && (!prop.exp || // #13930 :foo in in-DOM templates will be parsed into :foo="" by browser + false) && prop.arg) { + const arg = prop.arg; + if (arg.type !== 4 || !arg.isStatic) { + context.onError( + createCompilerError( + 53, + arg.loc + ) + ); + prop.exp = createSimpleExpression("", true, arg.loc); + } else { + const propName = shared.camelize(arg.content); + if (validFirstIdentCharRE.test(propName[0]) || // allow hyphen first char for https://github.com/vuejs/language-tools/pull/3424 + propName[0] === "-") { + prop.exp = createSimpleExpression(propName, false, arg.loc); + } + } + } + } + } +}; + +function getBaseTransformPreset(prefixIdentifiers) { + return [ + [ + transformVBindShorthand, + transformOnce, + transformIf, + transformMemo, + transformFor, + ...[transformFilter] , + ...prefixIdentifiers ? [ + // order is important + trackVForSlotScopes, + transformExpression + ] : [], + transformSlotOutlet, + transformElement, + trackSlotScopes, + transformText + ], + { + on: transformOn, + bind: transformBind, + model: transformModel + } + ]; +} +function baseCompile(source, options = {}) { + const onError = options.onError || defaultOnError; + const isModuleMode = options.mode === "module"; + const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode; + if (!prefixIdentifiers && options.cacheHandlers) { + onError(createCompilerError(50)); + } + if (options.scopeId && !isModuleMode) { + onError(createCompilerError(51)); + } + const resolvedOptions = shared.extend({}, options, { + prefixIdentifiers + }); + const ast = shared.isString(source) ? baseParse(source, resolvedOptions) : source; + const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(prefixIdentifiers); + if (options.isTS) { + const { expressionPlugins } = options; + if (!expressionPlugins || !expressionPlugins.includes("typescript")) { + options.expressionPlugins = [...expressionPlugins || [], "typescript"]; + } + } + transform( + ast, + shared.extend({}, resolvedOptions, { + nodeTransforms: [ + ...nodeTransforms, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: shared.extend( + {}, + directiveTransforms, + options.directiveTransforms || {} + // user transforms + ) + }) + ); + return generate(ast, resolvedOptions); +} + +const BindingTypes = { + "DATA": "data", + "PROPS": "props", + "PROPS_ALIASED": "props-aliased", + "SETUP_LET": "setup-let", + "SETUP_CONST": "setup-const", + "SETUP_REACTIVE_CONST": "setup-reactive-const", + "SETUP_MAYBE_REF": "setup-maybe-ref", + "SETUP_REF": "setup-ref", + "OPTIONS": "options", + "LITERAL_CONST": "literal-const" +}; + +const noopDirectiveTransform = () => ({ props: [] }); + +exports.generateCodeFrame = shared.generateCodeFrame; +exports.BASE_TRANSITION = BASE_TRANSITION; +exports.BindingTypes = BindingTypes; +exports.CAMELIZE = CAMELIZE; +exports.CAPITALIZE = CAPITALIZE; +exports.CREATE_BLOCK = CREATE_BLOCK; +exports.CREATE_COMMENT = CREATE_COMMENT; +exports.CREATE_ELEMENT_BLOCK = CREATE_ELEMENT_BLOCK; +exports.CREATE_ELEMENT_VNODE = CREATE_ELEMENT_VNODE; +exports.CREATE_SLOTS = CREATE_SLOTS; +exports.CREATE_STATIC = CREATE_STATIC; +exports.CREATE_TEXT = CREATE_TEXT; +exports.CREATE_VNODE = CREATE_VNODE; +exports.CompilerDeprecationTypes = CompilerDeprecationTypes; +exports.ConstantTypes = ConstantTypes; +exports.ElementTypes = ElementTypes; +exports.ErrorCodes = ErrorCodes; +exports.FRAGMENT = FRAGMENT; +exports.GUARD_REACTIVE_PROPS = GUARD_REACTIVE_PROPS; +exports.IS_MEMO_SAME = IS_MEMO_SAME; +exports.IS_REF = IS_REF; +exports.KEEP_ALIVE = KEEP_ALIVE; +exports.MERGE_PROPS = MERGE_PROPS; +exports.NORMALIZE_CLASS = NORMALIZE_CLASS; +exports.NORMALIZE_PROPS = NORMALIZE_PROPS; +exports.NORMALIZE_STYLE = NORMALIZE_STYLE; +exports.Namespaces = Namespaces; +exports.NodeTypes = NodeTypes; +exports.OPEN_BLOCK = OPEN_BLOCK; +exports.POP_SCOPE_ID = POP_SCOPE_ID; +exports.PUSH_SCOPE_ID = PUSH_SCOPE_ID; +exports.RENDER_LIST = RENDER_LIST; +exports.RENDER_SLOT = RENDER_SLOT; +exports.RESOLVE_COMPONENT = RESOLVE_COMPONENT; +exports.RESOLVE_DIRECTIVE = RESOLVE_DIRECTIVE; +exports.RESOLVE_DYNAMIC_COMPONENT = RESOLVE_DYNAMIC_COMPONENT; +exports.RESOLVE_FILTER = RESOLVE_FILTER; +exports.SET_BLOCK_TRACKING = SET_BLOCK_TRACKING; +exports.SUSPENSE = SUSPENSE; +exports.TELEPORT = TELEPORT; +exports.TO_DISPLAY_STRING = TO_DISPLAY_STRING; +exports.TO_HANDLERS = TO_HANDLERS; +exports.TO_HANDLER_KEY = TO_HANDLER_KEY; +exports.TS_NODE_TYPES = TS_NODE_TYPES; +exports.UNREF = UNREF; +exports.WITH_CTX = WITH_CTX; +exports.WITH_DIRECTIVES = WITH_DIRECTIVES; +exports.WITH_MEMO = WITH_MEMO; +exports.advancePositionWithClone = advancePositionWithClone; +exports.advancePositionWithMutation = advancePositionWithMutation; +exports.assert = assert; +exports.baseCompile = baseCompile; +exports.baseParse = baseParse; +exports.buildDirectiveArgs = buildDirectiveArgs; +exports.buildProps = buildProps; +exports.buildSlots = buildSlots; +exports.checkCompatEnabled = checkCompatEnabled; +exports.convertToBlock = convertToBlock; +exports.createArrayExpression = createArrayExpression; +exports.createAssignmentExpression = createAssignmentExpression; +exports.createBlockStatement = createBlockStatement; +exports.createCacheExpression = createCacheExpression; +exports.createCallExpression = createCallExpression; +exports.createCompilerError = createCompilerError; +exports.createCompoundExpression = createCompoundExpression; +exports.createConditionalExpression = createConditionalExpression; +exports.createForLoopParams = createForLoopParams; +exports.createFunctionExpression = createFunctionExpression; +exports.createIfStatement = createIfStatement; +exports.createInterpolation = createInterpolation; +exports.createObjectExpression = createObjectExpression; +exports.createObjectProperty = createObjectProperty; +exports.createReturnStatement = createReturnStatement; +exports.createRoot = createRoot; +exports.createSequenceExpression = createSequenceExpression; +exports.createSimpleExpression = createSimpleExpression; +exports.createStructuralDirectiveTransform = createStructuralDirectiveTransform; +exports.createTemplateLiteral = createTemplateLiteral; +exports.createTransformContext = createTransformContext; +exports.createVNodeCall = createVNodeCall; +exports.errorMessages = errorMessages; +exports.extractIdentifiers = extractIdentifiers; +exports.findDir = findDir; +exports.findProp = findProp; +exports.forAliasRE = forAliasRE; +exports.generate = generate; +exports.getBaseTransformPreset = getBaseTransformPreset; +exports.getConstantType = getConstantType; +exports.getMemoedVNodeCall = getMemoedVNodeCall; +exports.getVNodeBlockHelper = getVNodeBlockHelper; +exports.getVNodeHelper = getVNodeHelper; +exports.hasDynamicKeyVBind = hasDynamicKeyVBind; +exports.hasScopeRef = hasScopeRef; +exports.helperNameMap = helperNameMap; +exports.injectProp = injectProp; +exports.isAllWhitespace = isAllWhitespace; +exports.isCommentOrWhitespace = isCommentOrWhitespace; +exports.isCoreComponent = isCoreComponent; +exports.isFnExpression = isFnExpression; +exports.isFnExpressionBrowser = isFnExpressionBrowser; +exports.isFnExpressionNode = isFnExpressionNode; +exports.isFunctionType = isFunctionType; +exports.isInDestructureAssignment = isInDestructureAssignment; +exports.isInNewExpression = isInNewExpression; +exports.isMemberExpression = isMemberExpression; +exports.isMemberExpressionBrowser = isMemberExpressionBrowser; +exports.isMemberExpressionNode = isMemberExpressionNode; +exports.isReferencedIdentifier = isReferencedIdentifier; +exports.isSimpleIdentifier = isSimpleIdentifier; +exports.isSlotOutlet = isSlotOutlet; +exports.isStaticArgOf = isStaticArgOf; +exports.isStaticExp = isStaticExp; +exports.isStaticProperty = isStaticProperty; +exports.isStaticPropertyKey = isStaticPropertyKey; +exports.isTemplateNode = isTemplateNode; +exports.isText = isText$1; +exports.isVPre = isVPre; +exports.isVSlot = isVSlot; +exports.isWhitespaceText = isWhitespaceText; +exports.locStub = locStub; +exports.noopDirectiveTransform = noopDirectiveTransform; +exports.processExpression = processExpression; +exports.processFor = processFor; +exports.processIf = processIf; +exports.processSlotOutlet = processSlotOutlet; +exports.registerRuntimeHelpers = registerRuntimeHelpers; +exports.resolveComponentType = resolveComponentType; +exports.stringifyExpression = stringifyExpression; +exports.toValidAssetId = toValidAssetId; +exports.trackSlotScopes = trackSlotScopes; +exports.trackVForSlotScopes = trackVForSlotScopes; +exports.transform = transform; +exports.transformBind = transformBind; +exports.transformElement = transformElement; +exports.transformExpression = transformExpression; +exports.transformModel = transformModel; +exports.transformOn = transformOn; +exports.transformVBindShorthand = transformVBindShorthand; +exports.traverseNode = traverseNode; +exports.unwrapTSNode = unwrapTSNode; +exports.validFirstIdentCharRE = validFirstIdentCharRE; +exports.walkBlockDeclarations = walkBlockDeclarations; +exports.walkFunctionParams = walkFunctionParams; +exports.walkIdentifiers = walkIdentifiers; +exports.warnDeprecation = warnDeprecation; diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/entities b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/entities new file mode 120000 index 00000000..0be398fc --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/node_modules/entities @@ -0,0 +1 @@ +../../../entities@7.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/package.json new file mode 100644 index 00000000..92c2a32f --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.26/package.json @@ -0,0 +1,58 @@ +{ + "name": "@vue/compiler-core", + "version": "3.5.26", + "description": "@vue/compiler-core", + "main": "index.js", + "module": "dist/compiler-core.esm-bundler.js", + "types": "dist/compiler-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-core.d.ts", + "node": { + "production": "./dist/compiler-core.cjs.prod.js", + "development": "./dist/compiler-core.cjs.js", + "default": "./dist/compiler-core.cjs.prod.js" + }, + "module": "./dist/compiler-core.esm-bundler.js", + "import": "./dist/compiler-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueCompilerCore", + "compat": true, + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", + "dependencies": { + "@babel/parser": "^7.28.5", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1", + "@vue/shared": "3.5.26" + }, + "devDependencies": { + "@babel/types": "^7.28.5" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/dist/compiler-dom.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/dist/compiler-dom.cjs.prod.js new file mode 100644 index 00000000..1ea8d3b5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/dist/compiler-dom.cjs.prod.js @@ -0,0 +1,689 @@ +/** +* @vue/compiler-dom v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerCore = require('@vue/compiler-core'); +var shared = require('@vue/shared'); + +const V_MODEL_RADIO = Symbol(``); +const V_MODEL_CHECKBOX = Symbol( + `` +); +const V_MODEL_TEXT = Symbol(``); +const V_MODEL_SELECT = Symbol( + `` +); +const V_MODEL_DYNAMIC = Symbol( + `` +); +const V_ON_WITH_MODIFIERS = Symbol( + `` +); +const V_ON_WITH_KEYS = Symbol( + `` +); +const V_SHOW = Symbol(``); +const TRANSITION = Symbol(``); +const TRANSITION_GROUP = Symbol( + `` +); +compilerCore.registerRuntimeHelpers({ + [V_MODEL_RADIO]: `vModelRadio`, + [V_MODEL_CHECKBOX]: `vModelCheckbox`, + [V_MODEL_TEXT]: `vModelText`, + [V_MODEL_SELECT]: `vModelSelect`, + [V_MODEL_DYNAMIC]: `vModelDynamic`, + [V_ON_WITH_MODIFIERS]: `withModifiers`, + [V_ON_WITH_KEYS]: `withKeys`, + [V_SHOW]: `vShow`, + [TRANSITION]: `Transition`, + [TRANSITION_GROUP]: `TransitionGroup` +}); + +const parserOptions = { + parseMode: "html", + isVoidTag: shared.isVoidTag, + isNativeTag: (tag) => shared.isHTMLTag(tag) || shared.isSVGTag(tag) || shared.isMathMLTag(tag), + isPreTag: (tag) => tag === "pre", + isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea", + decodeEntities: void 0, + isBuiltInComponent: (tag) => { + if (tag === "Transition" || tag === "transition") { + return TRANSITION; + } else if (tag === "TransitionGroup" || tag === "transition-group") { + return TRANSITION_GROUP; + } + }, + // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher + getNamespace(tag, parent, rootNamespace) { + let ns = parent ? parent.ns : rootNamespace; + if (parent && ns === 2) { + if (parent.tag === "annotation-xml") { + if (tag === "svg") { + return 1; + } + if (parent.props.some( + (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml") + )) { + ns = 0; + } + } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") { + ns = 0; + } + } else if (parent && ns === 1) { + if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") { + ns = 0; + } + } + if (ns === 0) { + if (tag === "svg") { + return 1; + } + if (tag === "math") { + return 2; + } + } + return ns; + } +}; + +const transformStyle = (node) => { + if (node.type === 1) { + node.props.forEach((p, i) => { + if (p.type === 6 && p.name === "style" && p.value) { + node.props[i] = { + type: 7, + name: `bind`, + arg: compilerCore.createSimpleExpression(`style`, true, p.loc), + exp: parseInlineCSS(p.value.content, p.loc), + modifiers: [], + loc: p.loc + }; + } + }); + } +}; +const parseInlineCSS = (cssText, loc) => { + const normalized = shared.parseStringStyle(cssText); + return compilerCore.createSimpleExpression( + JSON.stringify(normalized), + false, + loc, + 3 + ); +}; + +function createDOMCompilerError(code, loc) { + return compilerCore.createCompilerError( + code, + loc, + DOMErrorMessages + ); +} +const DOMErrorCodes = { + "X_V_HTML_NO_EXPRESSION": 53, + "53": "X_V_HTML_NO_EXPRESSION", + "X_V_HTML_WITH_CHILDREN": 54, + "54": "X_V_HTML_WITH_CHILDREN", + "X_V_TEXT_NO_EXPRESSION": 55, + "55": "X_V_TEXT_NO_EXPRESSION", + "X_V_TEXT_WITH_CHILDREN": 56, + "56": "X_V_TEXT_WITH_CHILDREN", + "X_V_MODEL_ON_INVALID_ELEMENT": 57, + "57": "X_V_MODEL_ON_INVALID_ELEMENT", + "X_V_MODEL_ARG_ON_ELEMENT": 58, + "58": "X_V_MODEL_ARG_ON_ELEMENT", + "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 59, + "59": "X_V_MODEL_ON_FILE_INPUT_ELEMENT", + "X_V_MODEL_UNNECESSARY_VALUE": 60, + "60": "X_V_MODEL_UNNECESSARY_VALUE", + "X_V_SHOW_NO_EXPRESSION": 61, + "61": "X_V_SHOW_NO_EXPRESSION", + "X_TRANSITION_INVALID_CHILDREN": 62, + "62": "X_TRANSITION_INVALID_CHILDREN", + "X_IGNORED_SIDE_EFFECT_TAG": 63, + "63": "X_IGNORED_SIDE_EFFECT_TAG", + "__EXTEND_POINT__": 64, + "64": "__EXTEND_POINT__" +}; +const DOMErrorMessages = { + [53]: `v-html is missing expression.`, + [54]: `v-html will override element children.`, + [55]: `v-text is missing expression.`, + [56]: `v-text will override element children.`, + [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`, + [58]: `v-model argument is not supported on plain elements.`, + [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`, + [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`, + [61]: `v-show is missing expression.`, + [62]: `<Transition> expects exactly one child element or component.`, + [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.` +}; + +const transformVHtml = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(53, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(54, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`innerHTML`, true, loc), + exp || compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformVText = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(55, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(56, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`textContent`, true), + exp ? compilerCore.getConstantType(exp, context) > 0 ? exp : compilerCore.createCallExpression( + context.helperString(compilerCore.TO_DISPLAY_STRING), + [exp], + loc + ) : compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformModel = (dir, node, context) => { + const baseResult = compilerCore.transformModel(dir, node, context); + if (!baseResult.props.length || node.tagType === 1) { + return baseResult; + } + if (dir.arg) { + context.onError( + createDOMCompilerError( + 58, + dir.arg.loc + ) + ); + } + const { tag } = node; + const isCustomElement = context.isCustomElement(tag); + if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) { + let directiveToUse = V_MODEL_TEXT; + let isInvalidType = false; + if (tag === "input" || isCustomElement) { + const type = compilerCore.findProp(node, `type`); + if (type) { + if (type.type === 7) { + directiveToUse = V_MODEL_DYNAMIC; + } else if (type.value) { + switch (type.value.content) { + case "radio": + directiveToUse = V_MODEL_RADIO; + break; + case "checkbox": + directiveToUse = V_MODEL_CHECKBOX; + break; + case "file": + isInvalidType = true; + context.onError( + createDOMCompilerError( + 59, + dir.loc + ) + ); + break; + } + } + } else if (compilerCore.hasDynamicKeyVBind(node)) { + directiveToUse = V_MODEL_DYNAMIC; + } else ; + } else if (tag === "select") { + directiveToUse = V_MODEL_SELECT; + } else ; + if (!isInvalidType) { + baseResult.needRuntime = context.helper(directiveToUse); + } + } else { + context.onError( + createDOMCompilerError( + 57, + dir.loc + ) + ); + } + baseResult.props = baseResult.props.filter( + (p) => !(p.key.type === 4 && p.key.content === "modelValue") + ); + return baseResult; +}; + +const isEventOptionModifier = /* @__PURE__ */ shared.makeMap(`passive,once,capture`); +const isNonKeyModifier = /* @__PURE__ */ shared.makeMap( + // event propagation management + `stop,prevent,self,ctrl,shift,alt,meta,exact,middle` +); +const maybeKeyModifier = /* @__PURE__ */ shared.makeMap("left,right"); +const isKeyboardEvent = /* @__PURE__ */ shared.makeMap(`onkeyup,onkeydown,onkeypress`); +const resolveModifiers = (key, modifiers, context, loc) => { + const keyModifiers = []; + const nonKeyModifiers = []; + const eventOptionModifiers = []; + for (let i = 0; i < modifiers.length; i++) { + const modifier = modifiers[i].content; + if (modifier === "native" && compilerCore.checkCompatEnabled( + "COMPILER_V_ON_NATIVE", + context, + loc + )) { + eventOptionModifiers.push(modifier); + } else if (isEventOptionModifier(modifier)) { + eventOptionModifiers.push(modifier); + } else { + if (maybeKeyModifier(modifier)) { + if (compilerCore.isStaticExp(key)) { + if (isKeyboardEvent(key.content.toLowerCase())) { + keyModifiers.push(modifier); + } else { + nonKeyModifiers.push(modifier); + } + } else { + keyModifiers.push(modifier); + nonKeyModifiers.push(modifier); + } + } else { + if (isNonKeyModifier(modifier)) { + nonKeyModifiers.push(modifier); + } else { + keyModifiers.push(modifier); + } + } + } + } + return { + keyModifiers, + nonKeyModifiers, + eventOptionModifiers + }; +}; +const transformClick = (key, event) => { + const isStaticClick = compilerCore.isStaticExp(key) && key.content.toLowerCase() === "onclick"; + return isStaticClick ? compilerCore.createSimpleExpression(event, true) : key.type !== 4 ? compilerCore.createCompoundExpression([ + `(`, + key, + `) === "onClick" ? "${event}" : (`, + key, + `)` + ]) : key; +}; +const transformOn = (dir, node, context) => { + return compilerCore.transformOn(dir, node, context, (baseResult) => { + const { modifiers } = dir; + if (!modifiers.length) return baseResult; + let { key, value: handlerExp } = baseResult.props[0]; + const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc); + if (nonKeyModifiers.includes("right")) { + key = transformClick(key, `onContextmenu`); + } + if (nonKeyModifiers.includes("middle")) { + key = transformClick(key, `onMouseup`); + } + if (nonKeyModifiers.length) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [ + handlerExp, + JSON.stringify(nonKeyModifiers) + ]); + } + if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard + (!compilerCore.isStaticExp(key) || isKeyboardEvent(key.content.toLowerCase()))) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_KEYS), [ + handlerExp, + JSON.stringify(keyModifiers) + ]); + } + if (eventOptionModifiers.length) { + const modifierPostfix = eventOptionModifiers.map(shared.capitalize).join(""); + key = compilerCore.isStaticExp(key) ? compilerCore.createSimpleExpression(`${key.content}${modifierPostfix}`, true) : compilerCore.createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]); + } + return { + props: [compilerCore.createObjectProperty(key, handlerExp)] + }; + }); +}; + +const transformShow = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(61, loc) + ); + } + return { + props: [], + needRuntime: context.helper(V_SHOW) + }; +}; + +const expReplaceRE = /__VUE_EXP_START__(.*?)__VUE_EXP_END__/g; +const stringifyStatic = (children, context, parent) => { + if (context.scopes.vSlot > 0) { + return; + } + const isParentCached = parent.type === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 20; + let nc = 0; + let ec = 0; + const currentChunk = []; + const stringifyCurrentChunk = (currentIndex) => { + if (nc >= 20 || ec >= 5) { + const staticCall = compilerCore.createCallExpression(context.helper(compilerCore.CREATE_STATIC), [ + JSON.stringify( + currentChunk.map((node) => stringifyNode(node, context)).join("") + ).replace(expReplaceRE, `" + $1 + "`), + // the 2nd argument indicates the number of DOM nodes this static vnode + // will insert / hydrate + String(currentChunk.length) + ]); + const deleteCount = currentChunk.length - 1; + if (isParentCached) { + children.splice( + currentIndex - currentChunk.length, + currentChunk.length, + // @ts-expect-error + staticCall + ); + } else { + currentChunk[0].codegenNode.value = staticCall; + if (currentChunk.length > 1) { + children.splice(currentIndex - currentChunk.length + 1, deleteCount); + const cacheIndex = context.cached.indexOf( + currentChunk[currentChunk.length - 1].codegenNode + ); + if (cacheIndex > -1) { + for (let i2 = cacheIndex; i2 < context.cached.length; i2++) { + const c = context.cached[i2]; + if (c) c.index -= deleteCount; + } + context.cached.splice(cacheIndex - deleteCount + 1, deleteCount); + } + } + } + return deleteCount; + } + return 0; + }; + let i = 0; + for (; i < children.length; i++) { + const child = children[i]; + const isCached = isParentCached || getCachedNode(child); + if (isCached) { + const result = analyzeNode(child); + if (result) { + nc += result[0]; + ec += result[1]; + currentChunk.push(child); + continue; + } + } + i -= stringifyCurrentChunk(i); + nc = 0; + ec = 0; + currentChunk.length = 0; + } + stringifyCurrentChunk(i); +}; +const getCachedNode = (node) => { + if ((node.type === 1 && node.tagType === 0 || node.type === 12) && node.codegenNode && node.codegenNode.type === 20) { + return node.codegenNode; + } +}; +const dataAriaRE = /^(?:data|aria)-/; +const isStringifiableAttr = (name, ns) => { + return (ns === 0 ? shared.isKnownHtmlAttr(name) : ns === 1 ? shared.isKnownSvgAttr(name) : ns === 2 ? shared.isKnownMathMLAttr(name) : false) || dataAriaRE.test(name); +}; +const isNonStringifiable = /* @__PURE__ */ shared.makeMap( + `caption,thead,tr,th,tbody,td,tfoot,colgroup,col` +); +function analyzeNode(node) { + if (node.type === 1 && isNonStringifiable(node.tag)) { + return false; + } + if (node.type === 1 && compilerCore.findDir(node, "once", true)) { + return false; + } + if (node.type === 12) { + return [1, 0]; + } + let nc = 1; + let ec = node.props.length > 0 ? 1 : 0; + let bailed = false; + const bail = () => { + bailed = true; + return false; + }; + function walk(node2) { + const isOptionTag = node2.tag === "option" && node2.ns === 0; + for (let i = 0; i < node2.props.length; i++) { + const p = node2.props[i]; + if (p.type === 6 && !isStringifiableAttr(p.name, node2.ns)) { + return bail(); + } + if (p.type === 7 && p.name === "bind") { + if (p.arg && (p.arg.type === 8 || p.arg.isStatic && !isStringifiableAttr(p.arg.content, node2.ns))) { + return bail(); + } + if (p.exp && (p.exp.type === 8 || p.exp.constType < 3)) { + return bail(); + } + if (isOptionTag && compilerCore.isStaticArgOf(p.arg, "value") && p.exp && !p.exp.isStatic) { + return bail(); + } + } + } + for (let i = 0; i < node2.children.length; i++) { + nc++; + const child = node2.children[i]; + if (child.type === 1) { + if (child.props.length > 0) { + ec++; + } + walk(child); + if (bailed) { + return false; + } + } + } + return true; + } + return walk(node) ? [nc, ec] : false; +} +function stringifyNode(node, context) { + if (shared.isString(node)) { + return node; + } + if (shared.isSymbol(node)) { + return ``; + } + switch (node.type) { + case 1: + return stringifyElement(node, context); + case 2: + return shared.escapeHtml(node.content); + case 3: + return `<!--${shared.escapeHtml(node.content)}-->`; + case 5: + return shared.escapeHtml(shared.toDisplayString(evaluateConstant(node.content))); + case 8: + return shared.escapeHtml(evaluateConstant(node)); + case 12: + return stringifyNode(node.content, context); + default: + return ""; + } +} +function stringifyElement(node, context) { + let res = `<${node.tag}`; + let innerHTML = ""; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + res += ` ${p.name}`; + if (p.value) { + res += `="${shared.escapeHtml(p.value.content)}"`; + } + } else if (p.type === 7) { + if (p.name === "bind") { + const exp = p.exp; + if (exp.content[0] === "_") { + res += ` ${p.arg.content}="__VUE_EXP_START__${exp.content}__VUE_EXP_END__"`; + continue; + } + if (shared.isBooleanAttr(p.arg.content) && exp.content === "false") { + continue; + } + let evaluated = evaluateConstant(exp); + if (evaluated != null) { + const arg = p.arg && p.arg.content; + if (arg === "class") { + evaluated = shared.normalizeClass(evaluated); + } else if (arg === "style") { + evaluated = shared.stringifyStyle(shared.normalizeStyle(evaluated)); + } + res += ` ${p.arg.content}="${shared.escapeHtml( + evaluated + )}"`; + } + } else if (p.name === "html") { + innerHTML = evaluateConstant(p.exp); + } else if (p.name === "text") { + innerHTML = shared.escapeHtml( + shared.toDisplayString(evaluateConstant(p.exp)) + ); + } + } + } + if (context.scopeId) { + res += ` ${context.scopeId}`; + } + res += `>`; + if (innerHTML) { + res += innerHTML; + } else { + for (let i = 0; i < node.children.length; i++) { + res += stringifyNode(node.children[i], context); + } + } + if (!shared.isVoidTag(node.tag)) { + res += `</${node.tag}>`; + } + return res; +} +function evaluateConstant(exp) { + if (exp.type === 4) { + return new Function(`return (${exp.content})`)(); + } else { + let res = ``; + exp.children.forEach((c) => { + if (shared.isString(c) || shared.isSymbol(c)) { + return; + } + if (c.type === 2) { + res += c.content; + } else if (c.type === 5) { + res += shared.toDisplayString(evaluateConstant(c.content)); + } else { + res += evaluateConstant(c); + } + }); + return res; + } +} + +const ignoreSideEffectTags = (node, context) => { + if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) { + context.removeNode(); + } +}; + +const DOMNodeTransforms = [ + transformStyle, + ...[] +]; +const DOMDirectiveTransforms = { + cloak: compilerCore.noopDirectiveTransform, + html: transformVHtml, + text: transformVText, + model: transformModel, + // override compiler-core + on: transformOn, + // override compiler-core + show: transformShow +}; +function compile(src, options = {}) { + return compilerCore.baseCompile( + src, + shared.extend({}, parserOptions, options, { + nodeTransforms: [ + // ignore <script> and <tag> + // this is not put inside DOMNodeTransforms because that list is used + // by compiler-ssr to generate vnode fallback branches + ignoreSideEffectTags, + ...DOMNodeTransforms, + ...options.nodeTransforms || [] + ], + directiveTransforms: shared.extend( + {}, + DOMDirectiveTransforms, + options.directiveTransforms || {} + ), + transformHoist: stringifyStatic + }) + ); +} +function parse(template, options = {}) { + return compilerCore.baseParse(template, shared.extend({}, parserOptions, options)); +} + +exports.DOMDirectiveTransforms = DOMDirectiveTransforms; +exports.DOMErrorCodes = DOMErrorCodes; +exports.DOMErrorMessages = DOMErrorMessages; +exports.DOMNodeTransforms = DOMNodeTransforms; +exports.TRANSITION = TRANSITION; +exports.TRANSITION_GROUP = TRANSITION_GROUP; +exports.V_MODEL_CHECKBOX = V_MODEL_CHECKBOX; +exports.V_MODEL_DYNAMIC = V_MODEL_DYNAMIC; +exports.V_MODEL_RADIO = V_MODEL_RADIO; +exports.V_MODEL_SELECT = V_MODEL_SELECT; +exports.V_MODEL_TEXT = V_MODEL_TEXT; +exports.V_ON_WITH_KEYS = V_ON_WITH_KEYS; +exports.V_ON_WITH_MODIFIERS = V_ON_WITH_MODIFIERS; +exports.V_SHOW = V_SHOW; +exports.compile = compile; +exports.createDOMCompilerError = createDOMCompilerError; +exports.parse = parse; +exports.parserOptions = parserOptions; +exports.transformStyle = transformStyle; +Object.keys(compilerCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = compilerCore[k]; +}); diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/compiler-core b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/compiler-core new file mode 120000 index 00000000..daad905d --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/compiler-core @@ -0,0 +1 @@ +../../../compiler-core@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/package.json new file mode 100644 index 00000000..de420d86 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.22/package.json @@ -0,0 +1,57 @@ +{ + "name": "@vue/compiler-dom", + "version": "3.5.22", + "description": "@vue/compiler-dom", + "main": "index.js", + "module": "dist/compiler-dom.esm-bundler.js", + "types": "dist/compiler-dom.d.ts", + "unpkg": "dist/compiler-dom.global.js", + "jsdelivr": "dist/compiler-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-dom.d.ts", + "node": { + "production": "./dist/compiler-dom.cjs.prod.js", + "development": "./dist/compiler-dom.cjs.js", + "default": "./dist/compiler-dom.cjs.prod.js" + }, + "module": "./dist/compiler-dom.esm-bundler.js", + "import": "./dist/compiler-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueCompilerDOM", + "compat": true, + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme", + "dependencies": { + "@vue/shared": "3.5.22", + "@vue/compiler-core": "3.5.22" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/dist/compiler-dom.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/dist/compiler-dom.cjs.prod.js new file mode 100644 index 00000000..396b2b3c --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/dist/compiler-dom.cjs.prod.js @@ -0,0 +1,689 @@ +/** +* @vue/compiler-dom v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerCore = require('@vue/compiler-core'); +var shared = require('@vue/shared'); + +const V_MODEL_RADIO = /* @__PURE__ */ Symbol(``); +const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol( + `` +); +const V_MODEL_TEXT = /* @__PURE__ */ Symbol(``); +const V_MODEL_SELECT = /* @__PURE__ */ Symbol( + `` +); +const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol( + `` +); +const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol( + `` +); +const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol( + `` +); +const V_SHOW = /* @__PURE__ */ Symbol(``); +const TRANSITION = /* @__PURE__ */ Symbol(``); +const TRANSITION_GROUP = /* @__PURE__ */ Symbol( + `` +); +compilerCore.registerRuntimeHelpers({ + [V_MODEL_RADIO]: `vModelRadio`, + [V_MODEL_CHECKBOX]: `vModelCheckbox`, + [V_MODEL_TEXT]: `vModelText`, + [V_MODEL_SELECT]: `vModelSelect`, + [V_MODEL_DYNAMIC]: `vModelDynamic`, + [V_ON_WITH_MODIFIERS]: `withModifiers`, + [V_ON_WITH_KEYS]: `withKeys`, + [V_SHOW]: `vShow`, + [TRANSITION]: `Transition`, + [TRANSITION_GROUP]: `TransitionGroup` +}); + +const parserOptions = { + parseMode: "html", + isVoidTag: shared.isVoidTag, + isNativeTag: (tag) => shared.isHTMLTag(tag) || shared.isSVGTag(tag) || shared.isMathMLTag(tag), + isPreTag: (tag) => tag === "pre", + isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea", + decodeEntities: void 0, + isBuiltInComponent: (tag) => { + if (tag === "Transition" || tag === "transition") { + return TRANSITION; + } else if (tag === "TransitionGroup" || tag === "transition-group") { + return TRANSITION_GROUP; + } + }, + // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher + getNamespace(tag, parent, rootNamespace) { + let ns = parent ? parent.ns : rootNamespace; + if (parent && ns === 2) { + if (parent.tag === "annotation-xml") { + if (tag === "svg") { + return 1; + } + if (parent.props.some( + (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml") + )) { + ns = 0; + } + } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") { + ns = 0; + } + } else if (parent && ns === 1) { + if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") { + ns = 0; + } + } + if (ns === 0) { + if (tag === "svg") { + return 1; + } + if (tag === "math") { + return 2; + } + } + return ns; + } +}; + +const transformStyle = (node) => { + if (node.type === 1) { + node.props.forEach((p, i) => { + if (p.type === 6 && p.name === "style" && p.value) { + node.props[i] = { + type: 7, + name: `bind`, + arg: compilerCore.createSimpleExpression(`style`, true, p.loc), + exp: parseInlineCSS(p.value.content, p.loc), + modifiers: [], + loc: p.loc + }; + } + }); + } +}; +const parseInlineCSS = (cssText, loc) => { + const normalized = shared.parseStringStyle(cssText); + return compilerCore.createSimpleExpression( + JSON.stringify(normalized), + false, + loc, + 3 + ); +}; + +function createDOMCompilerError(code, loc) { + return compilerCore.createCompilerError( + code, + loc, + DOMErrorMessages + ); +} +const DOMErrorCodes = { + "X_V_HTML_NO_EXPRESSION": 54, + "54": "X_V_HTML_NO_EXPRESSION", + "X_V_HTML_WITH_CHILDREN": 55, + "55": "X_V_HTML_WITH_CHILDREN", + "X_V_TEXT_NO_EXPRESSION": 56, + "56": "X_V_TEXT_NO_EXPRESSION", + "X_V_TEXT_WITH_CHILDREN": 57, + "57": "X_V_TEXT_WITH_CHILDREN", + "X_V_MODEL_ON_INVALID_ELEMENT": 58, + "58": "X_V_MODEL_ON_INVALID_ELEMENT", + "X_V_MODEL_ARG_ON_ELEMENT": 59, + "59": "X_V_MODEL_ARG_ON_ELEMENT", + "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 60, + "60": "X_V_MODEL_ON_FILE_INPUT_ELEMENT", + "X_V_MODEL_UNNECESSARY_VALUE": 61, + "61": "X_V_MODEL_UNNECESSARY_VALUE", + "X_V_SHOW_NO_EXPRESSION": 62, + "62": "X_V_SHOW_NO_EXPRESSION", + "X_TRANSITION_INVALID_CHILDREN": 63, + "63": "X_TRANSITION_INVALID_CHILDREN", + "X_IGNORED_SIDE_EFFECT_TAG": 64, + "64": "X_IGNORED_SIDE_EFFECT_TAG", + "__EXTEND_POINT__": 65, + "65": "__EXTEND_POINT__" +}; +const DOMErrorMessages = { + [54]: `v-html is missing expression.`, + [55]: `v-html will override element children.`, + [56]: `v-text is missing expression.`, + [57]: `v-text will override element children.`, + [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`, + [59]: `v-model argument is not supported on plain elements.`, + [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`, + [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`, + [62]: `v-show is missing expression.`, + [63]: `<Transition> expects exactly one child element or component.`, + [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.` +}; + +const transformVHtml = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(54, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(55, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`innerHTML`, true, loc), + exp || compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformVText = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(56, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(57, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`textContent`, true), + exp ? compilerCore.getConstantType(exp, context) > 0 ? exp : compilerCore.createCallExpression( + context.helperString(compilerCore.TO_DISPLAY_STRING), + [exp], + loc + ) : compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformModel = (dir, node, context) => { + const baseResult = compilerCore.transformModel(dir, node, context); + if (!baseResult.props.length || node.tagType === 1) { + return baseResult; + } + if (dir.arg) { + context.onError( + createDOMCompilerError( + 59, + dir.arg.loc + ) + ); + } + const { tag } = node; + const isCustomElement = context.isCustomElement(tag); + if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) { + let directiveToUse = V_MODEL_TEXT; + let isInvalidType = false; + if (tag === "input" || isCustomElement) { + const type = compilerCore.findProp(node, `type`); + if (type) { + if (type.type === 7) { + directiveToUse = V_MODEL_DYNAMIC; + } else if (type.value) { + switch (type.value.content) { + case "radio": + directiveToUse = V_MODEL_RADIO; + break; + case "checkbox": + directiveToUse = V_MODEL_CHECKBOX; + break; + case "file": + isInvalidType = true; + context.onError( + createDOMCompilerError( + 60, + dir.loc + ) + ); + break; + } + } + } else if (compilerCore.hasDynamicKeyVBind(node)) { + directiveToUse = V_MODEL_DYNAMIC; + } else ; + } else if (tag === "select") { + directiveToUse = V_MODEL_SELECT; + } else ; + if (!isInvalidType) { + baseResult.needRuntime = context.helper(directiveToUse); + } + } else { + context.onError( + createDOMCompilerError( + 58, + dir.loc + ) + ); + } + baseResult.props = baseResult.props.filter( + (p) => !(p.key.type === 4 && p.key.content === "modelValue") + ); + return baseResult; +}; + +const isEventOptionModifier = /* @__PURE__ */ shared.makeMap(`passive,once,capture`); +const isNonKeyModifier = /* @__PURE__ */ shared.makeMap( + // event propagation management + `stop,prevent,self,ctrl,shift,alt,meta,exact,middle` +); +const maybeKeyModifier = /* @__PURE__ */ shared.makeMap("left,right"); +const isKeyboardEvent = /* @__PURE__ */ shared.makeMap(`onkeyup,onkeydown,onkeypress`); +const resolveModifiers = (key, modifiers, context, loc) => { + const keyModifiers = []; + const nonKeyModifiers = []; + const eventOptionModifiers = []; + for (let i = 0; i < modifiers.length; i++) { + const modifier = modifiers[i].content; + if (modifier === "native" && compilerCore.checkCompatEnabled( + "COMPILER_V_ON_NATIVE", + context, + loc + )) { + eventOptionModifiers.push(modifier); + } else if (isEventOptionModifier(modifier)) { + eventOptionModifiers.push(modifier); + } else { + if (maybeKeyModifier(modifier)) { + if (compilerCore.isStaticExp(key)) { + if (isKeyboardEvent(key.content.toLowerCase())) { + keyModifiers.push(modifier); + } else { + nonKeyModifiers.push(modifier); + } + } else { + keyModifiers.push(modifier); + nonKeyModifiers.push(modifier); + } + } else { + if (isNonKeyModifier(modifier)) { + nonKeyModifiers.push(modifier); + } else { + keyModifiers.push(modifier); + } + } + } + } + return { + keyModifiers, + nonKeyModifiers, + eventOptionModifiers + }; +}; +const transformClick = (key, event) => { + const isStaticClick = compilerCore.isStaticExp(key) && key.content.toLowerCase() === "onclick"; + return isStaticClick ? compilerCore.createSimpleExpression(event, true) : key.type !== 4 ? compilerCore.createCompoundExpression([ + `(`, + key, + `) === "onClick" ? "${event}" : (`, + key, + `)` + ]) : key; +}; +const transformOn = (dir, node, context) => { + return compilerCore.transformOn(dir, node, context, (baseResult) => { + const { modifiers } = dir; + if (!modifiers.length) return baseResult; + let { key, value: handlerExp } = baseResult.props[0]; + const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc); + if (nonKeyModifiers.includes("right")) { + key = transformClick(key, `onContextmenu`); + } + if (nonKeyModifiers.includes("middle")) { + key = transformClick(key, `onMouseup`); + } + if (nonKeyModifiers.length) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [ + handlerExp, + JSON.stringify(nonKeyModifiers) + ]); + } + if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard + (!compilerCore.isStaticExp(key) || isKeyboardEvent(key.content.toLowerCase()))) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_KEYS), [ + handlerExp, + JSON.stringify(keyModifiers) + ]); + } + if (eventOptionModifiers.length) { + const modifierPostfix = eventOptionModifiers.map(shared.capitalize).join(""); + key = compilerCore.isStaticExp(key) ? compilerCore.createSimpleExpression(`${key.content}${modifierPostfix}`, true) : compilerCore.createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]); + } + return { + props: [compilerCore.createObjectProperty(key, handlerExp)] + }; + }); +}; + +const transformShow = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(62, loc) + ); + } + return { + props: [], + needRuntime: context.helper(V_SHOW) + }; +}; + +const expReplaceRE = /__VUE_EXP_START__(.*?)__VUE_EXP_END__/g; +const stringifyStatic = (children, context, parent) => { + if (context.scopes.vSlot > 0) { + return; + } + const isParentCached = parent.type === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 20; + let nc = 0; + let ec = 0; + const currentChunk = []; + const stringifyCurrentChunk = (currentIndex) => { + if (nc >= 20 || ec >= 5) { + const staticCall = compilerCore.createCallExpression(context.helper(compilerCore.CREATE_STATIC), [ + JSON.stringify( + currentChunk.map((node) => stringifyNode(node, context)).join("") + ).replace(expReplaceRE, `" + $1 + "`), + // the 2nd argument indicates the number of DOM nodes this static vnode + // will insert / hydrate + String(currentChunk.length) + ]); + const deleteCount = currentChunk.length - 1; + if (isParentCached) { + children.splice( + currentIndex - currentChunk.length, + currentChunk.length, + // @ts-expect-error + staticCall + ); + } else { + currentChunk[0].codegenNode.value = staticCall; + if (currentChunk.length > 1) { + children.splice(currentIndex - currentChunk.length + 1, deleteCount); + const cacheIndex = context.cached.indexOf( + currentChunk[currentChunk.length - 1].codegenNode + ); + if (cacheIndex > -1) { + for (let i2 = cacheIndex; i2 < context.cached.length; i2++) { + const c = context.cached[i2]; + if (c) c.index -= deleteCount; + } + context.cached.splice(cacheIndex - deleteCount + 1, deleteCount); + } + } + } + return deleteCount; + } + return 0; + }; + let i = 0; + for (; i < children.length; i++) { + const child = children[i]; + const isCached = isParentCached || getCachedNode(child); + if (isCached) { + const result = analyzeNode(child); + if (result) { + nc += result[0]; + ec += result[1]; + currentChunk.push(child); + continue; + } + } + i -= stringifyCurrentChunk(i); + nc = 0; + ec = 0; + currentChunk.length = 0; + } + stringifyCurrentChunk(i); +}; +const getCachedNode = (node) => { + if ((node.type === 1 && node.tagType === 0 || node.type === 12) && node.codegenNode && node.codegenNode.type === 20) { + return node.codegenNode; + } +}; +const dataAriaRE = /^(?:data|aria)-/; +const isStringifiableAttr = (name, ns) => { + return (ns === 0 ? shared.isKnownHtmlAttr(name) : ns === 1 ? shared.isKnownSvgAttr(name) : ns === 2 ? shared.isKnownMathMLAttr(name) : false) || dataAriaRE.test(name); +}; +const isNonStringifiable = /* @__PURE__ */ shared.makeMap( + `caption,thead,tr,th,tbody,td,tfoot,colgroup,col` +); +function analyzeNode(node) { + if (node.type === 1 && isNonStringifiable(node.tag)) { + return false; + } + if (node.type === 1 && compilerCore.findDir(node, "once", true)) { + return false; + } + if (node.type === 12) { + return [1, 0]; + } + let nc = 1; + let ec = node.props.length > 0 ? 1 : 0; + let bailed = false; + const bail = () => { + bailed = true; + return false; + }; + function walk(node2) { + const isOptionTag = node2.tag === "option" && node2.ns === 0; + for (let i = 0; i < node2.props.length; i++) { + const p = node2.props[i]; + if (p.type === 6 && !isStringifiableAttr(p.name, node2.ns)) { + return bail(); + } + if (p.type === 7 && p.name === "bind") { + if (p.arg && (p.arg.type === 8 || p.arg.isStatic && !isStringifiableAttr(p.arg.content, node2.ns))) { + return bail(); + } + if (p.exp && (p.exp.type === 8 || p.exp.constType < 3)) { + return bail(); + } + if (isOptionTag && compilerCore.isStaticArgOf(p.arg, "value") && p.exp && !p.exp.isStatic) { + return bail(); + } + } + } + for (let i = 0; i < node2.children.length; i++) { + nc++; + const child = node2.children[i]; + if (child.type === 1) { + if (child.props.length > 0) { + ec++; + } + walk(child); + if (bailed) { + return false; + } + } + } + return true; + } + return walk(node) ? [nc, ec] : false; +} +function stringifyNode(node, context) { + if (shared.isString(node)) { + return node; + } + if (shared.isSymbol(node)) { + return ``; + } + switch (node.type) { + case 1: + return stringifyElement(node, context); + case 2: + return shared.escapeHtml(node.content); + case 3: + return `<!--${shared.escapeHtml(node.content)}-->`; + case 5: + return shared.escapeHtml(shared.toDisplayString(evaluateConstant(node.content))); + case 8: + return shared.escapeHtml(evaluateConstant(node)); + case 12: + return stringifyNode(node.content, context); + default: + return ""; + } +} +function stringifyElement(node, context) { + let res = `<${node.tag}`; + let innerHTML = ""; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + res += ` ${p.name}`; + if (p.value) { + res += `="${shared.escapeHtml(p.value.content)}"`; + } + } else if (p.type === 7) { + if (p.name === "bind") { + const exp = p.exp; + if (exp.content[0] === "_") { + res += ` ${p.arg.content}="__VUE_EXP_START__${exp.content}__VUE_EXP_END__"`; + continue; + } + if (shared.isBooleanAttr(p.arg.content) && exp.content === "false") { + continue; + } + let evaluated = evaluateConstant(exp); + if (evaluated != null) { + const arg = p.arg && p.arg.content; + if (arg === "class") { + evaluated = shared.normalizeClass(evaluated); + } else if (arg === "style") { + evaluated = shared.stringifyStyle(shared.normalizeStyle(evaluated)); + } + res += ` ${p.arg.content}="${shared.escapeHtml( + evaluated + )}"`; + } + } else if (p.name === "html") { + innerHTML = evaluateConstant(p.exp); + } else if (p.name === "text") { + innerHTML = shared.escapeHtml( + shared.toDisplayString(evaluateConstant(p.exp)) + ); + } + } + } + if (context.scopeId) { + res += ` ${context.scopeId}`; + } + res += `>`; + if (innerHTML) { + res += innerHTML; + } else { + for (let i = 0; i < node.children.length; i++) { + res += stringifyNode(node.children[i], context); + } + } + if (!shared.isVoidTag(node.tag)) { + res += `</${node.tag}>`; + } + return res; +} +function evaluateConstant(exp) { + if (exp.type === 4) { + return new Function(`return (${exp.content})`)(); + } else { + let res = ``; + exp.children.forEach((c) => { + if (shared.isString(c) || shared.isSymbol(c)) { + return; + } + if (c.type === 2) { + res += c.content; + } else if (c.type === 5) { + res += shared.toDisplayString(evaluateConstant(c.content)); + } else { + res += evaluateConstant(c); + } + }); + return res; + } +} + +const ignoreSideEffectTags = (node, context) => { + if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) { + context.removeNode(); + } +}; + +const DOMNodeTransforms = [ + transformStyle, + ...[] +]; +const DOMDirectiveTransforms = { + cloak: compilerCore.noopDirectiveTransform, + html: transformVHtml, + text: transformVText, + model: transformModel, + // override compiler-core + on: transformOn, + // override compiler-core + show: transformShow +}; +function compile(src, options = {}) { + return compilerCore.baseCompile( + src, + shared.extend({}, parserOptions, options, { + nodeTransforms: [ + // ignore <script> and <tag> + // this is not put inside DOMNodeTransforms because that list is used + // by compiler-ssr to generate vnode fallback branches + ignoreSideEffectTags, + ...DOMNodeTransforms, + ...options.nodeTransforms || [] + ], + directiveTransforms: shared.extend( + {}, + DOMDirectiveTransforms, + options.directiveTransforms || {} + ), + transformHoist: stringifyStatic + }) + ); +} +function parse(template, options = {}) { + return compilerCore.baseParse(template, shared.extend({}, parserOptions, options)); +} + +exports.DOMDirectiveTransforms = DOMDirectiveTransforms; +exports.DOMErrorCodes = DOMErrorCodes; +exports.DOMErrorMessages = DOMErrorMessages; +exports.DOMNodeTransforms = DOMNodeTransforms; +exports.TRANSITION = TRANSITION; +exports.TRANSITION_GROUP = TRANSITION_GROUP; +exports.V_MODEL_CHECKBOX = V_MODEL_CHECKBOX; +exports.V_MODEL_DYNAMIC = V_MODEL_DYNAMIC; +exports.V_MODEL_RADIO = V_MODEL_RADIO; +exports.V_MODEL_SELECT = V_MODEL_SELECT; +exports.V_MODEL_TEXT = V_MODEL_TEXT; +exports.V_ON_WITH_KEYS = V_ON_WITH_KEYS; +exports.V_ON_WITH_MODIFIERS = V_ON_WITH_MODIFIERS; +exports.V_SHOW = V_SHOW; +exports.compile = compile; +exports.createDOMCompilerError = createDOMCompilerError; +exports.parse = parse; +exports.parserOptions = parserOptions; +exports.transformStyle = transformStyle; +Object.keys(compilerCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = compilerCore[k]; +}); diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/compiler-core b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/compiler-core new file mode 120000 index 00000000..3b6e85ab --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/compiler-core @@ -0,0 +1 @@ +../../../compiler-core@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/package.json new file mode 100644 index 00000000..fd66c4c7 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.26/package.json @@ -0,0 +1,57 @@ +{ + "name": "@vue/compiler-dom", + "version": "3.5.26", + "description": "@vue/compiler-dom", + "main": "index.js", + "module": "dist/compiler-dom.esm-bundler.js", + "types": "dist/compiler-dom.d.ts", + "unpkg": "dist/compiler-dom.global.js", + "jsdelivr": "dist/compiler-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-dom.d.ts", + "node": { + "production": "./dist/compiler-dom.cjs.prod.js", + "development": "./dist/compiler-dom.cjs.js", + "default": "./dist/compiler-dom.cjs.prod.js" + }, + "module": "./dist/compiler-dom.esm-bundler.js", + "import": "./dist/compiler-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueCompilerDOM", + "compat": true, + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme", + "dependencies": { + "@vue/compiler-core": "3.5.26", + "@vue/shared": "3.5.26" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/dist/compiler-ssr.cjs.js b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/dist/compiler-ssr.cjs.js new file mode 100644 index 00000000..a5948b98 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/dist/compiler-ssr.cjs.js @@ -0,0 +1,1411 @@ +/** +* @vue/compiler-ssr v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var shared = require('@vue/shared'); + +const SSR_INTERPOLATE = Symbol(`ssrInterpolate`); +const SSR_RENDER_VNODE = Symbol(`ssrRenderVNode`); +const SSR_RENDER_COMPONENT = Symbol(`ssrRenderComponent`); +const SSR_RENDER_SLOT = Symbol(`ssrRenderSlot`); +const SSR_RENDER_SLOT_INNER = Symbol(`ssrRenderSlotInner`); +const SSR_RENDER_CLASS = Symbol(`ssrRenderClass`); +const SSR_RENDER_STYLE = Symbol(`ssrRenderStyle`); +const SSR_RENDER_ATTRS = Symbol(`ssrRenderAttrs`); +const SSR_RENDER_ATTR = Symbol(`ssrRenderAttr`); +const SSR_RENDER_DYNAMIC_ATTR = Symbol(`ssrRenderDynamicAttr`); +const SSR_RENDER_LIST = Symbol(`ssrRenderList`); +const SSR_INCLUDE_BOOLEAN_ATTR = Symbol( + `ssrIncludeBooleanAttr` +); +const SSR_LOOSE_EQUAL = Symbol(`ssrLooseEqual`); +const SSR_LOOSE_CONTAIN = Symbol(`ssrLooseContain`); +const SSR_RENDER_DYNAMIC_MODEL = Symbol( + `ssrRenderDynamicModel` +); +const SSR_GET_DYNAMIC_MODEL_PROPS = Symbol( + `ssrGetDynamicModelProps` +); +const SSR_RENDER_TELEPORT = Symbol(`ssrRenderTeleport`); +const SSR_RENDER_SUSPENSE = Symbol(`ssrRenderSuspense`); +const SSR_GET_DIRECTIVE_PROPS = Symbol(`ssrGetDirectiveProps`); +const ssrHelpers = { + [SSR_INTERPOLATE]: `ssrInterpolate`, + [SSR_RENDER_VNODE]: `ssrRenderVNode`, + [SSR_RENDER_COMPONENT]: `ssrRenderComponent`, + [SSR_RENDER_SLOT]: `ssrRenderSlot`, + [SSR_RENDER_SLOT_INNER]: `ssrRenderSlotInner`, + [SSR_RENDER_CLASS]: `ssrRenderClass`, + [SSR_RENDER_STYLE]: `ssrRenderStyle`, + [SSR_RENDER_ATTRS]: `ssrRenderAttrs`, + [SSR_RENDER_ATTR]: `ssrRenderAttr`, + [SSR_RENDER_DYNAMIC_ATTR]: `ssrRenderDynamicAttr`, + [SSR_RENDER_LIST]: `ssrRenderList`, + [SSR_INCLUDE_BOOLEAN_ATTR]: `ssrIncludeBooleanAttr`, + [SSR_LOOSE_EQUAL]: `ssrLooseEqual`, + [SSR_LOOSE_CONTAIN]: `ssrLooseContain`, + [SSR_RENDER_DYNAMIC_MODEL]: `ssrRenderDynamicModel`, + [SSR_GET_DYNAMIC_MODEL_PROPS]: `ssrGetDynamicModelProps`, + [SSR_RENDER_TELEPORT]: `ssrRenderTeleport`, + [SSR_RENDER_SUSPENSE]: `ssrRenderSuspense`, + [SSR_GET_DIRECTIVE_PROPS]: `ssrGetDirectiveProps` +}; +compilerDom.registerRuntimeHelpers(ssrHelpers); + +const ssrTransformIf = compilerDom.createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + compilerDom.processIf +); +function ssrProcessIf(node, context, disableNestedFragments = false, disableComment = false) { + const [rootBranch] = node.branches; + const ifStatement = compilerDom.createIfStatement( + rootBranch.condition, + processIfBranch(rootBranch, context, disableNestedFragments) + ); + context.pushStatement(ifStatement); + let currentIf = ifStatement; + for (let i = 1; i < node.branches.length; i++) { + const branch = node.branches[i]; + const branchBlockStatement = processIfBranch( + branch, + context, + disableNestedFragments + ); + if (branch.condition) { + currentIf = currentIf.alternate = compilerDom.createIfStatement( + branch.condition, + branchBlockStatement + ); + } else { + currentIf.alternate = branchBlockStatement; + } + } + if (!currentIf.alternate && !disableComment) { + currentIf.alternate = compilerDom.createBlockStatement([ + compilerDom.createCallExpression(`_push`, ["`<!---->`"]) + ]); + } +} +function processIfBranch(branch, context, disableNestedFragments = false) { + const { children } = branch; + const needFragmentWrapper = !disableNestedFragments && (children.length !== 1 || children[0].type !== 1) && // optimize away nested fragments when the only child is a ForNode + !(children.length === 1 && children[0].type === 11); + return processChildrenAsStatement(branch, context, needFragmentWrapper); +} + +const ssrTransformFor = compilerDom.createStructuralDirectiveTransform("for", compilerDom.processFor); +function ssrProcessFor(node, context, disableNestedFragments = false) { + const needFragmentWrapper = !disableNestedFragments && (node.children.length !== 1 || node.children[0].type !== 1); + const renderLoop = compilerDom.createFunctionExpression( + compilerDom.createForLoopParams(node.parseResult) + ); + renderLoop.body = processChildrenAsStatement( + node, + context, + needFragmentWrapper + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--[-->`); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_LIST), [ + node.source, + renderLoop + ]) + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--]-->`); + } +} + +const ssrTransformSlotOutlet = (node, context) => { + if (compilerDom.isSlotOutlet(node)) { + const { slotName, slotProps } = compilerDom.processSlotOutlet(node, context); + const args = [ + `_ctx.$slots`, + slotName, + slotProps || `{}`, + // fallback content placeholder. will be replaced in the process phase + `null`, + `_push`, + `_parent` + ]; + if (context.scopeId && context.slotted !== false) { + args.push(`"${context.scopeId}-s"`); + } + let method = SSR_RENDER_SLOT; + let parent = context.parent; + if (parent) { + const children = parent.children; + if (parent.type === 10) { + parent = context.grandParent; + } + let componentType; + if (parent.type === 1 && parent.tagType === 1 && ((componentType = compilerDom.resolveComponentType(parent, context, true)) === compilerDom.TRANSITION || componentType === compilerDom.TRANSITION_GROUP) && children.filter((c) => c.type === 1).length === 1) { + method = SSR_RENDER_SLOT_INNER; + if (!(context.scopeId && context.slotted !== false)) { + args.push("null"); + } + args.push("true"); + } + } + node.ssrCodegenNode = compilerDom.createCallExpression(context.helper(method), args); + } +}; +function ssrProcessSlotOutlet(node, context) { + const renderCall = node.ssrCodegenNode; + if (node.children.length) { + const fallbackRenderFn = compilerDom.createFunctionExpression([]); + fallbackRenderFn.body = processChildrenAsStatement(node, context); + renderCall.arguments[3] = fallbackRenderFn; + } + if (context.withSlotScopeId) { + const slotScopeId = renderCall.arguments[6]; + renderCall.arguments[6] = slotScopeId ? `${slotScopeId} + _scopeId` : `_scopeId`; + } + context.pushStatement(node.ssrCodegenNode); +} + +function createSSRCompilerError(code, loc) { + return compilerDom.createCompilerError(code, loc, SSRErrorMessages); +} +const SSRErrorMessages = { + [65]: `Unsafe attribute name for SSR.`, + [66]: `Missing the 'to' prop on teleport element.`, + [67]: `Invalid AST node during SSR transform.` +}; + +function ssrProcessTeleport(node, context) { + const targetProp = compilerDom.findProp(node, "to"); + if (!targetProp) { + context.onError( + createSSRCompilerError(66, node.loc) + ); + return; + } + let target; + if (targetProp.type === 6) { + target = targetProp.value && compilerDom.createSimpleExpression(targetProp.value.content, true); + } else { + target = targetProp.exp; + } + if (!target) { + context.onError( + createSSRCompilerError( + 66, + targetProp.loc + ) + ); + return; + } + const disabledProp = compilerDom.findProp( + node, + "disabled", + false, + true + /* allow empty */ + ); + const disabled = disabledProp ? disabledProp.type === 6 ? `true` : disabledProp.exp || `false` : `false`; + const contentRenderFn = compilerDom.createFunctionExpression( + [`_push`], + void 0, + // Body is added later + true, + // newline + false, + // isSlot + node.loc + ); + contentRenderFn.body = processChildrenAsStatement(node, context); + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_TELEPORT), [ + `_push`, + contentRenderFn, + target, + disabled, + `_parent` + ]) + ); +} + +const wipMap$3 = /* @__PURE__ */ new WeakMap(); +function ssrTransformSuspense(node, context) { + return () => { + if (node.children.length) { + const wipEntry = { + slotsExp: null, + // to be immediately set + wipSlots: [] + }; + wipMap$3.set(node, wipEntry); + wipEntry.slotsExp = compilerDom.buildSlots( + node, + context, + (_props, _vForExp, children, loc) => { + const fn = compilerDom.createFunctionExpression( + [], + void 0, + // no return, assign body later + true, + // newline + false, + // suspense slots are not treated as normal slots + loc + ); + wipEntry.wipSlots.push({ + fn, + children + }); + return fn; + } + ).slots; + } + }; +} +function ssrProcessSuspense(node, context) { + const wipEntry = wipMap$3.get(node); + if (!wipEntry) { + return; + } + const { slotsExp, wipSlots } = wipEntry; + for (let i = 0; i < wipSlots.length; i++) { + const slot = wipSlots[i]; + slot.fn.body = processChildrenAsStatement(slot, context); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_SUSPENSE), [ + `_push`, + slotsExp + ]) + ); +} + +const rawChildrenMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformElement = (node, context) => { + if (node.type !== 1 || node.tagType !== 0) { + return; + } + return function ssrPostTransformElement() { + const openTag = [`<${node.tag}`]; + const needTagForRuntime = node.tag === "textarea" || node.tag.indexOf("-") > 0; + const hasDynamicVBind = compilerDom.hasDynamicKeyVBind(node); + const hasCustomDir = node.props.some( + (p) => p.type === 7 && !shared.isBuiltInDirective(p.name) + ); + const vShowPropIndex = node.props.findIndex( + (i) => i.type === 7 && i.name === "show" + ); + if (vShowPropIndex !== -1) { + const vShowProp = node.props[vShowPropIndex]; + node.props.splice(vShowPropIndex, 1); + node.props.push(vShowProp); + } + const needMergeProps = hasDynamicVBind || hasCustomDir; + if (needMergeProps) { + const { props, directives } = compilerDom.buildProps( + node, + context, + node.props, + false, + false, + true + ); + if (props || directives.length) { + const mergedProps = buildSSRProps(props, directives, context); + const propsExp = compilerDom.createCallExpression( + context.helper(SSR_RENDER_ATTRS), + [mergedProps] + ); + if (node.tag === "textarea") { + const existingText = node.children[0]; + if (!existingText || existingText.type !== 5) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"value" in ${tempId}`, false), + compilerDom.createSimpleExpression(`${tempId}.value`, false), + compilerDom.createSimpleExpression( + existingText ? existingText.content : ``, + true + ), + false + ) + ]) + ); + } + } else if (node.tag === "input") { + const vModel = findVModel(node); + if (vModel) { + const tempId = `_temp${context.temps++}`; + const tempExp = compilerDom.createSimpleExpression(tempId, false); + propsExp.arguments = [ + compilerDom.createSequenceExpression([ + compilerDom.createAssignmentExpression(tempExp, mergedProps), + compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), [ + tempExp, + compilerDom.createCallExpression( + context.helper(SSR_GET_DYNAMIC_MODEL_PROPS), + [ + tempExp, + // existing props + vModel.exp + // model + ] + ) + ]) + ]) + ]; + } + } else if (directives.length && !node.children.length) { + const vText = compilerDom.findDir(node, "text"); + if (!vText) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"textContent" in ${tempId}`, false), + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createSimpleExpression(`${tempId}.textContent`, false) + ]), + compilerDom.createSimpleExpression(`${tempId}.innerHTML ?? ''`, false), + false + ) + ); + } + } + if (needTagForRuntime) { + propsExp.arguments.push(`"${node.tag}"`); + } + openTag.push(propsExp); + } + } + let dynamicClassBinding = void 0; + let staticClassBinding = void 0; + let dynamicStyleBinding = void 0; + for (let i = 0; i < node.props.length; i++) { + const prop = node.props[i]; + if (node.tag === "input" && isTrueFalseValue(prop)) { + continue; + } + if (prop.type === 7) { + if (prop.name === "html" && prop.exp) { + rawChildrenMap.set( + node, + compilerDom.createCompoundExpression([`(`, prop.exp, `) ?? ''`]) + ); + } else if (prop.name === "text" && prop.exp) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } else if (prop.name === "slot") { + context.onError( + compilerDom.createCompilerError(40, prop.loc) + ); + } else if (isTextareaWithValue(node, prop) && prop.exp) { + if (!needMergeProps) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } + } else if (!needMergeProps && prop.name !== "on") { + const directiveTransform = context.directiveTransforms[prop.name]; + if (directiveTransform) { + const { props, ssrTagParts } = directiveTransform( + prop, + node, + context + ); + if (ssrTagParts) { + openTag.push(...ssrTagParts); + } + for (let j = 0; j < props.length; j++) { + const { key, value } = props[j]; + if (compilerDom.isStaticExp(key)) { + let attrName = key.content; + if (attrName === "key" || attrName === "ref") { + continue; + } + if (attrName === "class") { + openTag.push( + ` class="`, + dynamicClassBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_CLASS), + [value] + ), + `"` + ); + } else if (attrName === "style") { + if (dynamicStyleBinding) { + mergeCall(dynamicStyleBinding, value); + } else { + openTag.push( + ` style="`, + dynamicStyleBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_STYLE), + [value] + ), + `"` + ); + } + } else { + attrName = node.tag.indexOf("-") > 0 ? attrName : shared.propsToAttrMap[attrName] || attrName.toLowerCase(); + if (shared.isBooleanAttr(attrName)) { + openTag.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression( + context.helper(SSR_INCLUDE_BOOLEAN_ATTR), + [value] + ), + compilerDom.createSimpleExpression(" " + attrName, true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } else if (shared.isSSRSafeAttrName(attrName)) { + openTag.push( + compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTR), [ + key, + value + ]) + ); + } else { + context.onError( + createSSRCompilerError( + 65, + key.loc + ) + ); + } + } + } else { + const args = [key, value]; + if (needTagForRuntime) { + args.push(`"${node.tag}"`); + } + openTag.push( + compilerDom.createCallExpression( + context.helper(SSR_RENDER_DYNAMIC_ATTR), + args + ) + ); + } + } + } + } + } else { + const name = prop.name; + if (node.tag === "textarea" && name === "value" && prop.value) { + rawChildrenMap.set(node, shared.escapeHtml(prop.value.content)); + } else if (!needMergeProps) { + if (name === "key" || name === "ref") { + continue; + } + if (name === "class" && prop.value) { + staticClassBinding = JSON.stringify(prop.value.content); + } + openTag.push( + ` ${prop.name}` + (prop.value ? `="${shared.escapeHtml(prop.value.content)}"` : ``) + ); + } + } + } + if (dynamicClassBinding && staticClassBinding) { + mergeCall(dynamicClassBinding, staticClassBinding); + removeStaticBinding(openTag, "class"); + } + if (context.scopeId) { + openTag.push(` ${context.scopeId}`); + } + node.ssrCodegenNode = compilerDom.createTemplateLiteral(openTag); + }; +}; +function buildSSRProps(props, directives, context) { + let mergePropsArgs = []; + if (props) { + if (props.type === 14) { + mergePropsArgs = props.arguments; + } else { + mergePropsArgs.push(props); + } + } + if (directives.length) { + for (const dir of directives) { + mergePropsArgs.push( + compilerDom.createCallExpression(context.helper(SSR_GET_DIRECTIVE_PROPS), [ + `_ctx`, + ...compilerDom.buildDirectiveArgs(dir, context).elements + ]) + ); + } + } + return mergePropsArgs.length > 1 ? compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), mergePropsArgs) : mergePropsArgs[0]; +} +function isTrueFalseValue(prop) { + if (prop.type === 7) { + return prop.name === "bind" && prop.arg && compilerDom.isStaticExp(prop.arg) && (prop.arg.content === "true-value" || prop.arg.content === "false-value"); + } else { + return prop.name === "true-value" || prop.name === "false-value"; + } +} +function isTextareaWithValue(node, prop) { + return !!(node.tag === "textarea" && prop.name === "bind" && compilerDom.isStaticArgOf(prop.arg, "value")); +} +function mergeCall(call, arg) { + const existing = call.arguments[0]; + if (existing.type === 17) { + existing.elements.push(arg); + } else { + call.arguments[0] = compilerDom.createArrayExpression([existing, arg]); + } +} +function removeStaticBinding(tag, binding) { + const regExp = new RegExp(`^ ${binding}=".+"$`); + const i = tag.findIndex((e) => typeof e === "string" && regExp.test(e)); + if (i > -1) { + tag.splice(i, 1); + } +} +function findVModel(node) { + return node.props.find( + (p) => p.type === 7 && p.name === "model" && p.exp + ); +} +function ssrProcessElement(node, context) { + const isVoidTag = context.options.isVoidTag || shared.NO; + const elementsToAdd = node.ssrCodegenNode.elements; + for (let j = 0; j < elementsToAdd.length; j++) { + context.pushStringPart(elementsToAdd[j]); + } + if (context.withSlotScopeId) { + context.pushStringPart(compilerDom.createSimpleExpression(`_scopeId`, false)); + } + context.pushStringPart(`>`); + const rawChildren = rawChildrenMap.get(node); + if (rawChildren) { + context.pushStringPart(rawChildren); + } else if (node.children.length) { + processChildren(node, context); + } + if (!isVoidTag(node.tag)) { + context.pushStringPart(`</${node.tag}>`); + } +} + +const wipMap$2 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransitionGroup(node, context) { + return () => { + const tag = compilerDom.findProp(node, "tag"); + if (tag) { + const otherProps = node.props.filter((p) => p !== tag); + const { props, directives } = compilerDom.buildProps( + node, + context, + otherProps, + true, + false, + true + ); + let propsExp = null; + if (props || directives.length) { + propsExp = compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTRS), [ + buildSSRProps(props, directives, context) + ]); + } + wipMap$2.set(node, { + tag, + propsExp, + scopeId: context.scopeId || null + }); + } + }; +} +function ssrProcessTransitionGroup(node, context) { + const entry = wipMap$2.get(node); + if (entry) { + const { tag, propsExp, scopeId } = entry; + if (tag.type === 7) { + context.pushStringPart(`<`); + context.pushStringPart(tag.exp); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren( + node, + context, + false, + /** + * TransitionGroup has the special runtime behavior of flattening and + * concatenating all children into a single fragment (in order for them to + * be patched using the same key map) so we need to account for that here + * by disabling nested fragment wrappers from being generated. + */ + true, + /** + * TransitionGroup filters out comment children at runtime and thus + * doesn't expect comments to be present during hydration. We need to + * account for that by disabling the empty comment that is otherwise + * rendered for a falsy v-if that has no v-else specified. (#6715) + */ + true + ); + context.pushStringPart(`</`); + context.pushStringPart(tag.exp); + context.pushStringPart(`>`); + } else { + context.pushStringPart(`<${tag.value.content}`); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren(node, context, false, true, true); + context.pushStringPart(`</${tag.value.content}>`); + } + } else { + processChildren(node, context, true, true, true); + } +} + +const wipMap$1 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransition(node, context) { + return () => { + const appear = compilerDom.findProp(node, "appear", false, true); + wipMap$1.set(node, !!appear); + }; +} +function ssrProcessTransition(node, context) { + node.children = node.children.filter((c) => c.type !== 3); + const appear = wipMap$1.get(node); + if (appear) { + context.pushStringPart(`<template>`); + processChildren(node, context, false, true); + context.pushStringPart(`</template>`); + } else { + processChildren(node, context, false, true); + } +} + +const wipMap = /* @__PURE__ */ new WeakMap(); +const WIP_SLOT = Symbol(); +const componentTypeMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformComponent = (node, context) => { + if (node.type !== 1 || node.tagType !== 1) { + return; + } + const component = compilerDom.resolveComponentType( + node, + context, + true + /* ssr */ + ); + const isDynamicComponent = shared.isObject(component) && component.callee === compilerDom.RESOLVE_DYNAMIC_COMPONENT; + componentTypeMap.set(node, component); + if (shared.isSymbol(component)) { + if (component === compilerDom.SUSPENSE) { + return ssrTransformSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrTransformTransitionGroup(node, context); + } else if (component === compilerDom.TRANSITION) { + return ssrTransformTransition(node); + } + return; + } + const vnodeBranches = []; + const clonedNode = clone(node); + return function ssrPostTransformComponent() { + if (clonedNode.children.length) { + compilerDom.buildSlots(clonedNode, context, (props, vFor, children) => { + vnodeBranches.push( + createVNodeSlotBranch(props, vFor, children, context) + ); + return compilerDom.createFunctionExpression(void 0); + }); + } + let propsExp = `null`; + if (node.props.length) { + const { props, directives } = compilerDom.buildProps( + node, + context, + void 0, + true, + isDynamicComponent + ); + if (props || directives.length) { + propsExp = buildSSRProps(props, directives, context); + } + } + const wipEntries = []; + wipMap.set(node, wipEntries); + const buildSSRSlotFn = (props, _vForExp, children, loc) => { + const param0 = props && compilerDom.stringifyExpression(props) || `_`; + const fn = compilerDom.createFunctionExpression( + [param0, `_push`, `_parent`, `_scopeId`], + void 0, + // no return, assign body later + true, + // newline + true, + // isSlot + loc + ); + wipEntries.push({ + type: WIP_SLOT, + fn, + children, + // also collect the corresponding vnode branch built earlier + vnodeBranch: vnodeBranches[wipEntries.length] + }); + return fn; + }; + const slots = node.children.length ? compilerDom.buildSlots(node, context, buildSSRSlotFn).slots : `null`; + if (typeof component !== "string") { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_VNODE), + [ + `_push`, + compilerDom.createCallExpression(context.helper(compilerDom.CREATE_VNODE), [ + component, + propsExp, + slots + ]), + `_parent` + ] + ); + } else { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_COMPONENT), + [component, propsExp, slots, `_parent`] + ); + } + }; +}; +function ssrProcessComponent(node, context, parent) { + const component = componentTypeMap.get(node); + if (!node.ssrCodegenNode) { + if (component === compilerDom.TELEPORT) { + return ssrProcessTeleport(node, context); + } else if (component === compilerDom.SUSPENSE) { + return ssrProcessSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrProcessTransitionGroup(node, context); + } else { + if (parent.type === WIP_SLOT) { + context.pushStringPart(``); + } + if (component === compilerDom.TRANSITION) { + return ssrProcessTransition(node, context); + } + processChildren(node, context); + } + } else { + const wipEntries = wipMap.get(node) || []; + for (let i = 0; i < wipEntries.length; i++) { + const { fn, vnodeBranch } = wipEntries[i]; + fn.body = compilerDom.createIfStatement( + compilerDom.createSimpleExpression(`_push`, false), + processChildrenAsStatement( + wipEntries[i], + context, + false, + true + ), + vnodeBranch + ); + } + if (context.withSlotScopeId) { + node.ssrCodegenNode.arguments.push(`_scopeId`); + } + if (typeof component === "string") { + context.pushStatement( + compilerDom.createCallExpression(`_push`, [node.ssrCodegenNode]) + ); + } else { + context.pushStatement(node.ssrCodegenNode); + } + } +} +const rawOptionsMap = /* @__PURE__ */ new WeakMap(); +const [baseNodeTransforms, baseDirectiveTransforms] = compilerDom.getBaseTransformPreset(true); +const vnodeNodeTransforms = [...baseNodeTransforms, ...compilerDom.DOMNodeTransforms]; +const vnodeDirectiveTransforms = { + ...baseDirectiveTransforms, + ...compilerDom.DOMDirectiveTransforms +}; +function createVNodeSlotBranch(slotProps, vFor, children, parentContext) { + const rawOptions = rawOptionsMap.get(parentContext.root); + const subOptions = { + ...rawOptions, + // overwrite with vnode-based transforms + nodeTransforms: [ + ...vnodeNodeTransforms, + ...rawOptions.nodeTransforms || [] + ], + directiveTransforms: { + ...vnodeDirectiveTransforms, + ...rawOptions.directiveTransforms || {} + } + }; + const wrapperProps = []; + if (slotProps) { + wrapperProps.push({ + type: 7, + name: "slot", + exp: slotProps, + arg: void 0, + modifiers: [], + loc: compilerDom.locStub + }); + } + if (vFor) { + wrapperProps.push(shared.extend({}, vFor)); + } + const wrapperNode = { + type: 1, + ns: 0, + tag: "template", + tagType: 3, + props: wrapperProps, + children, + loc: compilerDom.locStub, + codegenNode: void 0 + }; + subTransform(wrapperNode, subOptions, parentContext); + return compilerDom.createReturnStatement(children); +} +function subTransform(node, options, parentContext) { + const childRoot = compilerDom.createRoot([node]); + const childContext = compilerDom.createTransformContext(childRoot, options); + childContext.ssr = false; + childContext.scopes = { ...parentContext.scopes }; + childContext.identifiers = { ...parentContext.identifiers }; + childContext.imports = parentContext.imports; + compilerDom.traverseNode(childRoot, childContext); + ["helpers", "components", "directives"].forEach((key) => { + childContext[key].forEach((value, helperKey) => { + if (key === "helpers") { + const parentCount = parentContext.helpers.get(helperKey); + if (parentCount === void 0) { + parentContext.helpers.set(helperKey, value); + } else { + parentContext.helpers.set(helperKey, value + parentCount); + } + } else { + parentContext[key].add(value); + } + }); + }); +} +function clone(v) { + if (shared.isArray(v)) { + return v.map(clone); + } else if (shared.isPlainObject(v)) { + const res = {}; + for (const key in v) { + res[key] = clone(v[key]); + } + return res; + } else { + return v; + } +} + +function ssrCodegenTransform(ast, options) { + const context = createSSRTransformContext(ast, options); + if (options.ssrCssVars) { + const cssContext = compilerDom.createTransformContext(compilerDom.createRoot([]), options); + const varsExp = compilerDom.processExpression( + compilerDom.createSimpleExpression(options.ssrCssVars, false), + cssContext + ); + context.body.push( + compilerDom.createCompoundExpression([`const _cssVars = { style: `, varsExp, `}`]) + ); + Array.from(cssContext.helpers.keys()).forEach((helper) => { + ast.helpers.add(helper); + }); + } + const isFragment = ast.children.length > 1 && ast.children.some((c) => !compilerDom.isText(c)); + processChildren(ast, context, isFragment); + ast.codegenNode = compilerDom.createBlockStatement(context.body); + ast.ssrHelpers = Array.from( + /* @__PURE__ */ new Set([ + ...Array.from(ast.helpers).filter((h) => h in ssrHelpers), + ...context.helpers + ]) + ); + ast.helpers = new Set(Array.from(ast.helpers).filter((h) => !(h in ssrHelpers))); +} +function createSSRTransformContext(root, options, helpers = /* @__PURE__ */ new Set(), withSlotScopeId = false) { + const body = []; + let currentString = null; + return { + root, + options, + body, + helpers, + withSlotScopeId, + onError: options.onError || ((e) => { + throw e; + }), + helper(name) { + helpers.add(name); + return name; + }, + pushStringPart(part) { + if (!currentString) { + const currentCall = compilerDom.createCallExpression(`_push`); + body.push(currentCall); + currentString = compilerDom.createTemplateLiteral([]); + currentCall.arguments.push(currentString); + } + const bufferedElements = currentString.elements; + const lastItem = bufferedElements[bufferedElements.length - 1]; + if (shared.isString(part) && shared.isString(lastItem)) { + bufferedElements[bufferedElements.length - 1] += part; + } else { + bufferedElements.push(part); + } + }, + pushStatement(statement) { + currentString = null; + body.push(statement); + } + }; +} +function createChildContext(parent, withSlotScopeId = parent.withSlotScopeId) { + return createSSRTransformContext( + parent.root, + parent.options, + parent.helpers, + withSlotScopeId + ); +} +function processChildren(parent, context, asFragment = false, disableNestedFragments = false, disableComment = false) { + if (asFragment) { + context.pushStringPart(`<!--[-->`); + } + const { children } = parent; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + switch (child.tagType) { + case 0: + ssrProcessElement(child, context); + break; + case 1: + ssrProcessComponent(child, context, parent); + break; + case 2: + ssrProcessSlotOutlet(child, context); + break; + case 3: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck2 = child; + return exhaustiveCheck2; + } + break; + case 2: + context.pushStringPart(shared.escapeHtml(child.content)); + break; + case 3: + if (!disableComment) { + context.pushStringPart(`<!--${child.content}-->`); + } + break; + case 5: + context.pushStringPart( + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + child.content + ]) + ); + break; + case 9: + ssrProcessIf(child, context, disableNestedFragments, disableComment); + break; + case 11: + ssrProcessFor(child, context, disableNestedFragments); + break; + case 10: + break; + case 12: + case 8: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck = child; + return exhaustiveCheck; + } + } + if (asFragment) { + context.pushStringPart(`<!--]-->`); + } +} +function processChildrenAsStatement(parent, parentContext, asFragment = false, withSlotScopeId = parentContext.withSlotScopeId) { + const childContext = createChildContext(parentContext, withSlotScopeId); + processChildren(parent, childContext, asFragment); + return compilerDom.createBlockStatement(childContext.body); +} + +const ssrTransformModel = (dir, node, context) => { + const model = dir.exp; + function checkDuplicatedValue() { + const value = compilerDom.findProp(node, "value"); + if (value) { + context.onError( + compilerDom.createDOMCompilerError( + 60, + value.loc + ) + ); + } + } + const processSelectChildren = (children) => { + children.forEach((child) => { + if (child.type === 1) { + processOption(child); + } else if (child.type === 11) { + processSelectChildren(child.children); + } else if (child.type === 9) { + child.branches.forEach((b) => processSelectChildren(b.children)); + } + }); + }; + function processOption(plainNode) { + if (plainNode.tag === "option") { + if (plainNode.props.findIndex((p) => p.name === "selected") === -1) { + const value = findValueBinding(plainNode); + plainNode.ssrCodegenNode.elements.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(context.helper(SSR_INCLUDE_BOOLEAN_ATTR), [ + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]), + compilerDom.createSimpleExpression(" selected", true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } + } else if (plainNode.tag === "optgroup") { + processSelectChildren(plainNode.children); + } + } + if (node.tagType === 0) { + const res = { props: [] }; + const defaultProps = [ + // default value binding for text type inputs + compilerDom.createObjectProperty(`value`, model) + ]; + if (node.tag === "input") { + const type = compilerDom.findProp(node, "type"); + if (type) { + const value = findValueBinding(node); + if (type.type === 7) { + res.ssrTagParts = [ + compilerDom.createCallExpression(context.helper(SSR_RENDER_DYNAMIC_MODEL), [ + type.exp, + model, + value + ]) + ]; + } else if (type.value) { + switch (type.value.content) { + case "radio": + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]; + break; + case "checkbox": + const trueValueBinding = compilerDom.findProp(node, "true-value"); + if (trueValueBinding) { + const trueValue = trueValueBinding.type === 6 ? JSON.stringify(trueValueBinding.value.content) : trueValueBinding.exp; + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + trueValue + ]) + ) + ]; + } else { + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + model + ) + ) + ]; + } + break; + case "file": + context.onError( + compilerDom.createDOMCompilerError( + 59, + dir.loc + ) + ); + break; + default: + checkDuplicatedValue(); + res.props = defaultProps; + break; + } + } + } else if (compilerDom.hasDynamicKeyVBind(node)) ; else { + checkDuplicatedValue(); + res.props = defaultProps; + } + } else if (node.tag === "textarea") { + checkDuplicatedValue(); + node.children = [compilerDom.createInterpolation(model, model.loc)]; + } else if (node.tag === "select") { + processSelectChildren(node.children); + } else { + context.onError( + compilerDom.createDOMCompilerError( + 57, + dir.loc + ) + ); + } + return res; + } else { + return compilerDom.transformModel(dir, node, context); + } +}; +function findValueBinding(node) { + const valueBinding = compilerDom.findProp(node, "value"); + return valueBinding ? valueBinding.type === 7 ? valueBinding.exp : compilerDom.createSimpleExpression(valueBinding.value.content, true) : compilerDom.createSimpleExpression(`null`, false); +} + +const ssrTransformShow = (dir, node, context) => { + if (!dir.exp) { + context.onError( + compilerDom.createDOMCompilerError(61) + ); + } + return { + props: [ + compilerDom.createObjectProperty( + `style`, + compilerDom.createConditionalExpression( + dir.exp, + compilerDom.createSimpleExpression(`null`, false), + compilerDom.createObjectExpression([ + compilerDom.createObjectProperty( + `display`, + compilerDom.createSimpleExpression(`none`, true) + ) + ]), + false + ) + ) + ] + }; +}; + +const filterChild = (node) => node.children.filter((n) => n.type !== 3); +const hasSingleChild = (node) => filterChild(node).length === 1; +const ssrInjectFallthroughAttrs = (node, context) => { + if (node.type === 0) { + context.identifiers._attrs = 1; + } + if (node.type === 1 && node.tagType === 1 && (node.tag === "transition" || node.tag === "Transition" || node.tag === "KeepAlive" || node.tag === "keep-alive")) { + const rootChildren = filterChild(context.root); + if (rootChildren.length === 1 && rootChildren[0] === node) { + if (hasSingleChild(node)) { + injectFallthroughAttrs(node.children[0]); + } + return; + } + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10 && hasSingleChild(node)) { + let hasEncounteredIf = false; + for (const c of filterChild(parent)) { + if (c.type === 9 || c.type === 1 && compilerDom.findDir(c, "if")) { + if (hasEncounteredIf) return; + hasEncounteredIf = true; + } else if ( + // node before v-if + !hasEncounteredIf || // non else nodes + !(c.type === 1 && compilerDom.findDir(c, /else/, true)) + ) { + return; + } + } + injectFallthroughAttrs(node.children[0]); + } else if (hasSingleChild(parent)) { + injectFallthroughAttrs(node); + } +}; +function injectFallthroughAttrs(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_attrs`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } +} + +const ssrInjectCssVars = (node, context) => { + if (!context.ssrCssVars) { + return; + } + if (node.type === 0) { + context.identifiers._cssVars = 1; + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10) { + for (const child of node.children) { + injectCssVars(child); + } + } else { + injectCssVars(node); + } +}; +function injectCssVars(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + if (node.tag === "suspense" || node.tag === "Suspense") { + for (const child of node.children) { + if (child.type === 1 && child.tagType === 3) { + child.children.forEach(injectCssVars); + } else { + injectCssVars(child); + } + } + } else { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_cssVars`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } + } +} + +function compile(source, options = {}) { + options = { + ...options, + ...compilerDom.parserOptions, + ssr: true, + inSSR: true, + scopeId: options.mode === "function" ? null : options.scopeId, + // always prefix since compiler-ssr doesn't have size concern + prefixIdentifiers: true, + // disable optimizations that are unnecessary for ssr + cacheHandlers: false, + hoistStatic: false + }; + const ast = typeof source === "string" ? compilerDom.baseParse(source, options) : source; + rawOptionsMap.set(ast, options); + compilerDom.transform(ast, { + ...options, + hoistStatic: false, + nodeTransforms: [ + compilerDom.transformVBindShorthand, + ssrTransformIf, + ssrTransformFor, + compilerDom.trackVForSlotScopes, + compilerDom.transformExpression, + ssrTransformSlotOutlet, + ssrInjectFallthroughAttrs, + ssrInjectCssVars, + ssrTransformElement, + ssrTransformComponent, + compilerDom.trackSlotScopes, + compilerDom.transformStyle, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: { + // reusing core v-bind + bind: compilerDom.transformBind, + on: compilerDom.transformOn, + // model and show have dedicated SSR handling + model: ssrTransformModel, + show: ssrTransformShow, + // the following are ignored during SSR + // on: noopDirectiveTransform, + cloak: compilerDom.noopDirectiveTransform, + once: compilerDom.noopDirectiveTransform, + memo: compilerDom.noopDirectiveTransform, + ...options.directiveTransforms || {} + // user transforms + } + }); + ssrCodegenTransform(ast, options); + return compilerDom.generate(ast, options); +} + +exports.compile = compile; diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/compiler-dom b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/compiler-dom new file mode 120000 index 00000000..0c57560b --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/compiler-dom @@ -0,0 +1 @@ +../../../compiler-dom@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/package.json new file mode 100644 index 00000000..b27a99f0 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.22/package.json @@ -0,0 +1,34 @@ +{ + "name": "@vue/compiler-ssr", + "version": "3.5.22", + "description": "@vue/compiler-ssr", + "main": "dist/compiler-ssr.cjs.js", + "types": "dist/compiler-ssr.d.ts", + "files": [ + "dist" + ], + "buildOptions": { + "prod": false, + "formats": [ + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-ssr" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme", + "dependencies": { + "@vue/shared": "3.5.22", + "@vue/compiler-dom": "3.5.22" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/dist/compiler-ssr.cjs.js b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/dist/compiler-ssr.cjs.js new file mode 100644 index 00000000..2f02101d --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/dist/compiler-ssr.cjs.js @@ -0,0 +1,1413 @@ +/** +* @vue/compiler-ssr v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var shared = require('@vue/shared'); + +const SSR_INTERPOLATE = /* @__PURE__ */ Symbol(`ssrInterpolate`); +const SSR_RENDER_VNODE = /* @__PURE__ */ Symbol(`ssrRenderVNode`); +const SSR_RENDER_COMPONENT = /* @__PURE__ */ Symbol(`ssrRenderComponent`); +const SSR_RENDER_SLOT = /* @__PURE__ */ Symbol(`ssrRenderSlot`); +const SSR_RENDER_SLOT_INNER = /* @__PURE__ */ Symbol(`ssrRenderSlotInner`); +const SSR_RENDER_CLASS = /* @__PURE__ */ Symbol(`ssrRenderClass`); +const SSR_RENDER_STYLE = /* @__PURE__ */ Symbol(`ssrRenderStyle`); +const SSR_RENDER_ATTRS = /* @__PURE__ */ Symbol(`ssrRenderAttrs`); +const SSR_RENDER_ATTR = /* @__PURE__ */ Symbol(`ssrRenderAttr`); +const SSR_RENDER_DYNAMIC_ATTR = /* @__PURE__ */ Symbol(`ssrRenderDynamicAttr`); +const SSR_RENDER_LIST = /* @__PURE__ */ Symbol(`ssrRenderList`); +const SSR_INCLUDE_BOOLEAN_ATTR = /* @__PURE__ */ Symbol( + `ssrIncludeBooleanAttr` +); +const SSR_LOOSE_EQUAL = /* @__PURE__ */ Symbol(`ssrLooseEqual`); +const SSR_LOOSE_CONTAIN = /* @__PURE__ */ Symbol(`ssrLooseContain`); +const SSR_RENDER_DYNAMIC_MODEL = /* @__PURE__ */ Symbol( + `ssrRenderDynamicModel` +); +const SSR_GET_DYNAMIC_MODEL_PROPS = /* @__PURE__ */ Symbol( + `ssrGetDynamicModelProps` +); +const SSR_RENDER_TELEPORT = /* @__PURE__ */ Symbol(`ssrRenderTeleport`); +const SSR_RENDER_SUSPENSE = /* @__PURE__ */ Symbol(`ssrRenderSuspense`); +const SSR_GET_DIRECTIVE_PROPS = /* @__PURE__ */ Symbol(`ssrGetDirectiveProps`); +const ssrHelpers = { + [SSR_INTERPOLATE]: `ssrInterpolate`, + [SSR_RENDER_VNODE]: `ssrRenderVNode`, + [SSR_RENDER_COMPONENT]: `ssrRenderComponent`, + [SSR_RENDER_SLOT]: `ssrRenderSlot`, + [SSR_RENDER_SLOT_INNER]: `ssrRenderSlotInner`, + [SSR_RENDER_CLASS]: `ssrRenderClass`, + [SSR_RENDER_STYLE]: `ssrRenderStyle`, + [SSR_RENDER_ATTRS]: `ssrRenderAttrs`, + [SSR_RENDER_ATTR]: `ssrRenderAttr`, + [SSR_RENDER_DYNAMIC_ATTR]: `ssrRenderDynamicAttr`, + [SSR_RENDER_LIST]: `ssrRenderList`, + [SSR_INCLUDE_BOOLEAN_ATTR]: `ssrIncludeBooleanAttr`, + [SSR_LOOSE_EQUAL]: `ssrLooseEqual`, + [SSR_LOOSE_CONTAIN]: `ssrLooseContain`, + [SSR_RENDER_DYNAMIC_MODEL]: `ssrRenderDynamicModel`, + [SSR_GET_DYNAMIC_MODEL_PROPS]: `ssrGetDynamicModelProps`, + [SSR_RENDER_TELEPORT]: `ssrRenderTeleport`, + [SSR_RENDER_SUSPENSE]: `ssrRenderSuspense`, + [SSR_GET_DIRECTIVE_PROPS]: `ssrGetDirectiveProps` +}; +compilerDom.registerRuntimeHelpers(ssrHelpers); + +const ssrTransformIf = compilerDom.createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + compilerDom.processIf +); +function ssrProcessIf(node, context, disableNestedFragments = false, disableComment = false) { + const [rootBranch] = node.branches; + const ifStatement = compilerDom.createIfStatement( + rootBranch.condition, + processIfBranch(rootBranch, context, disableNestedFragments) + ); + context.pushStatement(ifStatement); + let currentIf = ifStatement; + for (let i = 1; i < node.branches.length; i++) { + const branch = node.branches[i]; + const branchBlockStatement = processIfBranch( + branch, + context, + disableNestedFragments + ); + if (branch.condition) { + currentIf = currentIf.alternate = compilerDom.createIfStatement( + branch.condition, + branchBlockStatement + ); + } else { + currentIf.alternate = branchBlockStatement; + } + } + if (!currentIf.alternate && !disableComment) { + currentIf.alternate = compilerDom.createBlockStatement([ + compilerDom.createCallExpression(`_push`, ["`<!---->`"]) + ]); + } +} +function processIfBranch(branch, context, disableNestedFragments = false) { + const { children } = branch; + const needFragmentWrapper = !disableNestedFragments && (children.length !== 1 || children[0].type !== 1) && // optimize away nested fragments when the only child is a ForNode + !(children.length === 1 && children[0].type === 11); + return processChildrenAsStatement(branch, context, needFragmentWrapper); +} + +const ssrTransformFor = compilerDom.createStructuralDirectiveTransform("for", compilerDom.processFor); +function ssrProcessFor(node, context, disableNestedFragments = false) { + const needFragmentWrapper = !disableNestedFragments && (node.children.length !== 1 || node.children[0].type !== 1); + const renderLoop = compilerDom.createFunctionExpression( + compilerDom.createForLoopParams(node.parseResult) + ); + renderLoop.body = processChildrenAsStatement( + node, + context, + needFragmentWrapper + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--[-->`); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_LIST), [ + node.source, + renderLoop + ]) + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--]-->`); + } +} + +const ssrTransformSlotOutlet = (node, context) => { + if (compilerDom.isSlotOutlet(node)) { + const { slotName, slotProps } = compilerDom.processSlotOutlet(node, context); + const args = [ + `_ctx.$slots`, + slotName, + slotProps || `{}`, + // fallback content placeholder. will be replaced in the process phase + `null`, + `_push`, + `_parent` + ]; + if (context.scopeId && context.slotted !== false) { + args.push(`"${context.scopeId}-s"`); + } + let method = SSR_RENDER_SLOT; + let parent = context.parent; + if (parent) { + const children = parent.children; + if (parent.type === 10) { + parent = context.grandParent; + } + let componentType; + if (parent.type === 1 && parent.tagType === 1 && ((componentType = compilerDom.resolveComponentType(parent, context, true)) === compilerDom.TRANSITION || componentType === compilerDom.TRANSITION_GROUP) && children.filter((c) => c.type === 1).length === 1) { + method = SSR_RENDER_SLOT_INNER; + if (!(context.scopeId && context.slotted !== false)) { + args.push("null"); + } + args.push("true"); + } + } + node.ssrCodegenNode = compilerDom.createCallExpression(context.helper(method), args); + } +}; +function ssrProcessSlotOutlet(node, context) { + const renderCall = node.ssrCodegenNode; + if (node.children.length) { + const fallbackRenderFn = compilerDom.createFunctionExpression([]); + fallbackRenderFn.body = processChildrenAsStatement(node, context); + renderCall.arguments[3] = fallbackRenderFn; + } + if (context.withSlotScopeId) { + const slotScopeId = renderCall.arguments[6]; + renderCall.arguments[6] = slotScopeId ? `${slotScopeId} + _scopeId` : `_scopeId`; + } + context.pushStatement(node.ssrCodegenNode); +} + +function createSSRCompilerError(code, loc) { + return compilerDom.createCompilerError(code, loc, SSRErrorMessages); +} +const SSRErrorMessages = { + [65]: `Unsafe attribute name for SSR.`, + [66]: `Missing the 'to' prop on teleport element.`, + [67]: `Invalid AST node during SSR transform.` +}; + +function ssrProcessTeleport(node, context) { + const targetProp = compilerDom.findProp(node, "to"); + if (!targetProp) { + context.onError( + createSSRCompilerError(66, node.loc) + ); + return; + } + let target; + if (targetProp.type === 6) { + target = targetProp.value && compilerDom.createSimpleExpression(targetProp.value.content, true); + } else { + target = targetProp.exp; + } + if (!target) { + context.onError( + createSSRCompilerError( + 66, + targetProp.loc + ) + ); + return; + } + const disabledProp = compilerDom.findProp( + node, + "disabled", + false, + true + /* allow empty */ + ); + const disabled = disabledProp ? disabledProp.type === 6 ? `true` : disabledProp.exp || `false` : `false`; + const contentRenderFn = compilerDom.createFunctionExpression( + [`_push`], + void 0, + // Body is added later + true, + // newline + false, + // isSlot + node.loc + ); + contentRenderFn.body = processChildrenAsStatement(node, context); + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_TELEPORT), [ + `_push`, + contentRenderFn, + target, + disabled, + `_parent` + ]) + ); +} + +const wipMap$3 = /* @__PURE__ */ new WeakMap(); +function ssrTransformSuspense(node, context) { + return () => { + if (node.children.length) { + const wipEntry = { + slotsExp: null, + // to be immediately set + wipSlots: [] + }; + wipMap$3.set(node, wipEntry); + wipEntry.slotsExp = compilerDom.buildSlots( + node, + context, + (_props, _vForExp, children, loc) => { + const fn = compilerDom.createFunctionExpression( + [], + void 0, + // no return, assign body later + true, + // newline + false, + // suspense slots are not treated as normal slots + loc + ); + wipEntry.wipSlots.push({ + fn, + children + }); + return fn; + } + ).slots; + } + }; +} +function ssrProcessSuspense(node, context) { + const wipEntry = wipMap$3.get(node); + if (!wipEntry) { + return; + } + const { slotsExp, wipSlots } = wipEntry; + for (let i = 0; i < wipSlots.length; i++) { + const slot = wipSlots[i]; + slot.fn.body = processChildrenAsStatement(slot, context); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_SUSPENSE), [ + `_push`, + slotsExp + ]) + ); +} + +const rawChildrenMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformElement = (node, context) => { + if (node.type !== 1 || node.tagType !== 0) { + return; + } + return function ssrPostTransformElement() { + const openTag = [`<${node.tag}`]; + const needTagForRuntime = node.tag === "textarea" || node.tag.indexOf("-") > 0; + const hasDynamicVBind = compilerDom.hasDynamicKeyVBind(node); + const hasCustomDir = node.props.some( + (p) => p.type === 7 && !shared.isBuiltInDirective(p.name) + ); + const vShowPropIndex = node.props.findIndex( + (i) => i.type === 7 && i.name === "show" + ); + if (vShowPropIndex !== -1) { + const vShowProp = node.props[vShowPropIndex]; + node.props.splice(vShowPropIndex, 1); + node.props.push(vShowProp); + } + const needMergeProps = hasDynamicVBind || hasCustomDir; + if (needMergeProps) { + const { props, directives } = compilerDom.buildProps( + node, + context, + node.props, + false, + false, + true + ); + if (props || directives.length) { + const mergedProps = buildSSRProps(props, directives, context); + const propsExp = compilerDom.createCallExpression( + context.helper(SSR_RENDER_ATTRS), + [mergedProps] + ); + if (node.tag === "textarea") { + const existingText = node.children[0]; + if (!hasContentOverrideDirective(node) && (!existingText || existingText.type !== 5)) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"value" in ${tempId}`, false), + compilerDom.createSimpleExpression(`${tempId}.value`, false), + compilerDom.createSimpleExpression( + existingText ? existingText.content : ``, + true + ), + false + ) + ]) + ); + } + } else if (node.tag === "input") { + const vModel = findVModel(node); + if (vModel) { + const tempId = `_temp${context.temps++}`; + const tempExp = compilerDom.createSimpleExpression(tempId, false); + propsExp.arguments = [ + compilerDom.createSequenceExpression([ + compilerDom.createAssignmentExpression(tempExp, mergedProps), + compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), [ + tempExp, + compilerDom.createCallExpression( + context.helper(SSR_GET_DYNAMIC_MODEL_PROPS), + [ + tempExp, + // existing props + vModel.exp + // model + ] + ) + ]) + ]) + ]; + } + } else if (directives.length && !node.children.length) { + if (!hasContentOverrideDirective(node)) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"textContent" in ${tempId}`, false), + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createSimpleExpression(`${tempId}.textContent`, false) + ]), + compilerDom.createSimpleExpression(`${tempId}.innerHTML ?? ''`, false), + false + ) + ); + } + } + if (needTagForRuntime) { + propsExp.arguments.push(`"${node.tag}"`); + } + openTag.push(propsExp); + } + } + let dynamicClassBinding = void 0; + let staticClassBinding = void 0; + let dynamicStyleBinding = void 0; + for (let i = 0; i < node.props.length; i++) { + const prop = node.props[i]; + if (node.tag === "input" && isTrueFalseValue(prop)) { + continue; + } + if (prop.type === 7) { + if (prop.name === "html" && prop.exp) { + rawChildrenMap.set( + node, + compilerDom.createCompoundExpression([`(`, prop.exp, `) ?? ''`]) + ); + } else if (prop.name === "text" && prop.exp) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } else if (prop.name === "slot") { + context.onError( + compilerDom.createCompilerError(40, prop.loc) + ); + } else if (isTextareaWithValue(node, prop) && prop.exp) { + if (!needMergeProps) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } + } else if (!needMergeProps && prop.name !== "on") { + const directiveTransform = context.directiveTransforms[prop.name]; + if (directiveTransform) { + const { props, ssrTagParts } = directiveTransform( + prop, + node, + context + ); + if (ssrTagParts) { + openTag.push(...ssrTagParts); + } + for (let j = 0; j < props.length; j++) { + const { key, value } = props[j]; + if (compilerDom.isStaticExp(key)) { + let attrName = key.content; + if (attrName === "key" || attrName === "ref") { + continue; + } + if (attrName === "class") { + openTag.push( + ` class="`, + dynamicClassBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_CLASS), + [value] + ), + `"` + ); + } else if (attrName === "style") { + if (dynamicStyleBinding) { + mergeCall(dynamicStyleBinding, value); + } else { + openTag.push( + ` style="`, + dynamicStyleBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_STYLE), + [value] + ), + `"` + ); + } + } else { + attrName = node.tag.indexOf("-") > 0 ? attrName : shared.propsToAttrMap[attrName] || attrName.toLowerCase(); + if (shared.isBooleanAttr(attrName)) { + openTag.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression( + context.helper(SSR_INCLUDE_BOOLEAN_ATTR), + [value] + ), + compilerDom.createSimpleExpression(" " + attrName, true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } else if (shared.isSSRSafeAttrName(attrName)) { + openTag.push( + compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTR), [ + key, + value + ]) + ); + } else { + context.onError( + createSSRCompilerError( + 65, + key.loc + ) + ); + } + } + } else { + const args = [key, value]; + if (needTagForRuntime) { + args.push(`"${node.tag}"`); + } + openTag.push( + compilerDom.createCallExpression( + context.helper(SSR_RENDER_DYNAMIC_ATTR), + args + ) + ); + } + } + } + } + } else { + const name = prop.name; + if (node.tag === "textarea" && name === "value" && prop.value) { + rawChildrenMap.set(node, shared.escapeHtml(prop.value.content)); + } else if (!needMergeProps) { + if (name === "key" || name === "ref") { + continue; + } + if (name === "class" && prop.value) { + staticClassBinding = JSON.stringify(prop.value.content); + } + openTag.push( + ` ${prop.name}` + (prop.value ? `="${shared.escapeHtml(prop.value.content)}"` : ``) + ); + } + } + } + if (dynamicClassBinding && staticClassBinding) { + mergeCall(dynamicClassBinding, staticClassBinding); + removeStaticBinding(openTag, "class"); + } + if (context.scopeId) { + openTag.push(` ${context.scopeId}`); + } + node.ssrCodegenNode = compilerDom.createTemplateLiteral(openTag); + }; +}; +function buildSSRProps(props, directives, context) { + let mergePropsArgs = []; + if (props) { + if (props.type === 14) { + mergePropsArgs = props.arguments; + } else { + mergePropsArgs.push(props); + } + } + if (directives.length) { + for (const dir of directives) { + mergePropsArgs.push( + compilerDom.createCallExpression(context.helper(SSR_GET_DIRECTIVE_PROPS), [ + `_ctx`, + ...compilerDom.buildDirectiveArgs(dir, context).elements + ]) + ); + } + } + return mergePropsArgs.length > 1 ? compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), mergePropsArgs) : mergePropsArgs[0]; +} +function isTrueFalseValue(prop) { + if (prop.type === 7) { + return prop.name === "bind" && prop.arg && compilerDom.isStaticExp(prop.arg) && (prop.arg.content === "true-value" || prop.arg.content === "false-value"); + } else { + return prop.name === "true-value" || prop.name === "false-value"; + } +} +function isTextareaWithValue(node, prop) { + return !!(node.tag === "textarea" && prop.name === "bind" && compilerDom.isStaticArgOf(prop.arg, "value")); +} +function mergeCall(call, arg) { + const existing = call.arguments[0]; + if (existing.type === 17) { + existing.elements.push(arg); + } else { + call.arguments[0] = compilerDom.createArrayExpression([existing, arg]); + } +} +function removeStaticBinding(tag, binding) { + const regExp = new RegExp(`^ ${binding}=".+"$`); + const i = tag.findIndex((e) => typeof e === "string" && regExp.test(e)); + if (i > -1) { + tag.splice(i, 1); + } +} +function findVModel(node) { + return node.props.find( + (p) => p.type === 7 && p.name === "model" && p.exp + ); +} +function hasContentOverrideDirective(node) { + return !!compilerDom.findDir(node, "text") || !!compilerDom.findDir(node, "html"); +} +function ssrProcessElement(node, context) { + const isVoidTag = context.options.isVoidTag || shared.NO; + const elementsToAdd = node.ssrCodegenNode.elements; + for (let j = 0; j < elementsToAdd.length; j++) { + context.pushStringPart(elementsToAdd[j]); + } + if (context.withSlotScopeId) { + context.pushStringPart(compilerDom.createSimpleExpression(`_scopeId`, false)); + } + context.pushStringPart(`>`); + const rawChildren = rawChildrenMap.get(node); + if (rawChildren) { + context.pushStringPart(rawChildren); + } else if (node.children.length) { + processChildren(node, context); + } + if (!isVoidTag(node.tag)) { + context.pushStringPart(`</${node.tag}>`); + } +} + +const wipMap$2 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransitionGroup(node, context) { + return () => { + const tag = compilerDom.findProp(node, "tag"); + if (tag) { + const otherProps = node.props.filter((p) => p !== tag); + const { props, directives } = compilerDom.buildProps( + node, + context, + otherProps, + true, + false, + true + ); + let propsExp = null; + if (props || directives.length) { + propsExp = compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTRS), [ + buildSSRProps(props, directives, context) + ]); + } + wipMap$2.set(node, { + tag, + propsExp, + scopeId: context.scopeId || null + }); + } + }; +} +function ssrProcessTransitionGroup(node, context) { + const entry = wipMap$2.get(node); + if (entry) { + const { tag, propsExp, scopeId } = entry; + if (tag.type === 7) { + context.pushStringPart(`<`); + context.pushStringPart(tag.exp); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren( + node, + context, + false, + /** + * TransitionGroup has the special runtime behavior of flattening and + * concatenating all children into a single fragment (in order for them to + * be patched using the same key map) so we need to account for that here + * by disabling nested fragment wrappers from being generated. + */ + true, + /** + * TransitionGroup filters out comment children at runtime and thus + * doesn't expect comments to be present during hydration. We need to + * account for that by disabling the empty comment that is otherwise + * rendered for a falsy v-if that has no v-else specified. (#6715) + */ + true + ); + context.pushStringPart(`</`); + context.pushStringPart(tag.exp); + context.pushStringPart(`>`); + } else { + context.pushStringPart(`<${tag.value.content}`); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren(node, context, false, true, true); + context.pushStringPart(`</${tag.value.content}>`); + } + } else { + processChildren(node, context, true, true, true); + } +} + +const wipMap$1 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransition(node, context) { + return () => { + const appear = compilerDom.findProp(node, "appear", false, true); + wipMap$1.set(node, !!appear); + }; +} +function ssrProcessTransition(node, context) { + node.children = node.children.filter((c) => c.type !== 3); + const appear = wipMap$1.get(node); + if (appear) { + context.pushStringPart(`<template>`); + processChildren(node, context, false, true); + context.pushStringPart(`</template>`); + } else { + processChildren(node, context, false, true); + } +} + +const wipMap = /* @__PURE__ */ new WeakMap(); +const WIP_SLOT = /* @__PURE__ */ Symbol(); +const componentTypeMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformComponent = (node, context) => { + if (node.type !== 1 || node.tagType !== 1) { + return; + } + const component = compilerDom.resolveComponentType( + node, + context, + true + /* ssr */ + ); + const isDynamicComponent = shared.isObject(component) && component.callee === compilerDom.RESOLVE_DYNAMIC_COMPONENT; + componentTypeMap.set(node, component); + if (shared.isSymbol(component)) { + if (component === compilerDom.SUSPENSE) { + return ssrTransformSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrTransformTransitionGroup(node, context); + } else if (component === compilerDom.TRANSITION) { + return ssrTransformTransition(node); + } + return; + } + const vnodeBranches = []; + const clonedNode = clone(node); + return function ssrPostTransformComponent() { + if (clonedNode.children.length) { + compilerDom.buildSlots(clonedNode, context, (props, vFor, children) => { + vnodeBranches.push( + createVNodeSlotBranch(props, vFor, children, context) + ); + return compilerDom.createFunctionExpression(void 0); + }); + } + let propsExp = `null`; + if (node.props.length) { + const { props, directives } = compilerDom.buildProps( + node, + context, + void 0, + true, + isDynamicComponent + ); + if (props || directives.length) { + propsExp = buildSSRProps(props, directives, context); + } + } + const wipEntries = []; + wipMap.set(node, wipEntries); + const buildSSRSlotFn = (props, _vForExp, children, loc) => { + const param0 = props && compilerDom.stringifyExpression(props) || `_`; + const fn = compilerDom.createFunctionExpression( + [param0, `_push`, `_parent`, `_scopeId`], + void 0, + // no return, assign body later + true, + // newline + true, + // isSlot + loc + ); + wipEntries.push({ + type: WIP_SLOT, + fn, + children, + // also collect the corresponding vnode branch built earlier + vnodeBranch: vnodeBranches[wipEntries.length] + }); + return fn; + }; + const slots = node.children.length ? compilerDom.buildSlots(node, context, buildSSRSlotFn).slots : `null`; + if (typeof component !== "string") { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_VNODE), + [ + `_push`, + compilerDom.createCallExpression(context.helper(compilerDom.CREATE_VNODE), [ + component, + propsExp, + slots + ]), + `_parent` + ] + ); + } else { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_COMPONENT), + [component, propsExp, slots, `_parent`] + ); + } + }; +}; +function ssrProcessComponent(node, context, parent) { + const component = componentTypeMap.get(node); + if (!node.ssrCodegenNode) { + if (component === compilerDom.TELEPORT) { + return ssrProcessTeleport(node, context); + } else if (component === compilerDom.SUSPENSE) { + return ssrProcessSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrProcessTransitionGroup(node, context); + } else { + if (parent.type === WIP_SLOT) { + context.pushStringPart(``); + } + if (component === compilerDom.TRANSITION) { + return ssrProcessTransition(node, context); + } + processChildren(node, context); + } + } else { + const wipEntries = wipMap.get(node) || []; + for (let i = 0; i < wipEntries.length; i++) { + const { fn, vnodeBranch } = wipEntries[i]; + fn.body = compilerDom.createIfStatement( + compilerDom.createSimpleExpression(`_push`, false), + processChildrenAsStatement( + wipEntries[i], + context, + false, + true + ), + vnodeBranch + ); + } + if (context.withSlotScopeId) { + node.ssrCodegenNode.arguments.push(`_scopeId`); + } + if (typeof component === "string") { + context.pushStatement( + compilerDom.createCallExpression(`_push`, [node.ssrCodegenNode]) + ); + } else { + context.pushStatement(node.ssrCodegenNode); + } + } +} +const rawOptionsMap = /* @__PURE__ */ new WeakMap(); +const [baseNodeTransforms, baseDirectiveTransforms] = compilerDom.getBaseTransformPreset(true); +const vnodeNodeTransforms = [...baseNodeTransforms, ...compilerDom.DOMNodeTransforms]; +const vnodeDirectiveTransforms = { + ...baseDirectiveTransforms, + ...compilerDom.DOMDirectiveTransforms +}; +function createVNodeSlotBranch(slotProps, vFor, children, parentContext) { + const rawOptions = rawOptionsMap.get(parentContext.root); + const subOptions = { + ...rawOptions, + // overwrite with vnode-based transforms + nodeTransforms: [ + ...vnodeNodeTransforms, + ...rawOptions.nodeTransforms || [] + ], + directiveTransforms: { + ...vnodeDirectiveTransforms, + ...rawOptions.directiveTransforms || {} + } + }; + const wrapperProps = []; + if (slotProps) { + wrapperProps.push({ + type: 7, + name: "slot", + exp: slotProps, + arg: void 0, + modifiers: [], + loc: compilerDom.locStub + }); + } + if (vFor) { + wrapperProps.push(shared.extend({}, vFor)); + } + const wrapperNode = { + type: 1, + ns: 0, + tag: "template", + tagType: 3, + props: wrapperProps, + children, + loc: compilerDom.locStub, + codegenNode: void 0 + }; + subTransform(wrapperNode, subOptions, parentContext); + return compilerDom.createReturnStatement(children); +} +function subTransform(node, options, parentContext) { + const childRoot = compilerDom.createRoot([node]); + const childContext = compilerDom.createTransformContext(childRoot, options); + childContext.ssr = false; + childContext.scopes = { ...parentContext.scopes }; + childContext.identifiers = { ...parentContext.identifiers }; + childContext.imports = parentContext.imports; + compilerDom.traverseNode(childRoot, childContext); + ["helpers", "components", "directives"].forEach((key) => { + childContext[key].forEach((value, helperKey) => { + if (key === "helpers") { + const parentCount = parentContext.helpers.get(helperKey); + if (parentCount === void 0) { + parentContext.helpers.set(helperKey, value); + } else { + parentContext.helpers.set(helperKey, value + parentCount); + } + } else { + parentContext[key].add(value); + } + }); + }); +} +function clone(v) { + if (shared.isArray(v)) { + return v.map(clone); + } else if (shared.isPlainObject(v)) { + const res = {}; + for (const key in v) { + res[key] = clone(v[key]); + } + return res; + } else { + return v; + } +} + +function ssrCodegenTransform(ast, options) { + const context = createSSRTransformContext(ast, options); + if (options.ssrCssVars) { + const cssContext = compilerDom.createTransformContext(compilerDom.createRoot([]), options); + const varsExp = compilerDom.processExpression( + compilerDom.createSimpleExpression(options.ssrCssVars, false), + cssContext + ); + context.body.push( + compilerDom.createCompoundExpression([`const _cssVars = { style: `, varsExp, `}`]) + ); + Array.from(cssContext.helpers.keys()).forEach((helper) => { + ast.helpers.add(helper); + }); + } + const isFragment = ast.children.length > 1 && ast.children.some((c) => !compilerDom.isText(c)); + processChildren(ast, context, isFragment); + ast.codegenNode = compilerDom.createBlockStatement(context.body); + ast.ssrHelpers = Array.from( + /* @__PURE__ */ new Set([ + ...Array.from(ast.helpers).filter((h) => h in ssrHelpers), + ...context.helpers + ]) + ); + ast.helpers = new Set(Array.from(ast.helpers).filter((h) => !(h in ssrHelpers))); +} +function createSSRTransformContext(root, options, helpers = /* @__PURE__ */ new Set(), withSlotScopeId = false) { + const body = []; + let currentString = null; + return { + root, + options, + body, + helpers, + withSlotScopeId, + onError: options.onError || ((e) => { + throw e; + }), + helper(name) { + helpers.add(name); + return name; + }, + pushStringPart(part) { + if (!currentString) { + const currentCall = compilerDom.createCallExpression(`_push`); + body.push(currentCall); + currentString = compilerDom.createTemplateLiteral([]); + currentCall.arguments.push(currentString); + } + const bufferedElements = currentString.elements; + const lastItem = bufferedElements[bufferedElements.length - 1]; + if (shared.isString(part) && shared.isString(lastItem)) { + bufferedElements[bufferedElements.length - 1] += part; + } else { + bufferedElements.push(part); + } + }, + pushStatement(statement) { + currentString = null; + body.push(statement); + } + }; +} +function createChildContext(parent, withSlotScopeId = parent.withSlotScopeId) { + return createSSRTransformContext( + parent.root, + parent.options, + parent.helpers, + withSlotScopeId + ); +} +function processChildren(parent, context, asFragment = false, disableNestedFragments = false, disableComment = false) { + if (asFragment) { + context.pushStringPart(`<!--[-->`); + } + const { children } = parent; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + switch (child.tagType) { + case 0: + ssrProcessElement(child, context); + break; + case 1: + ssrProcessComponent(child, context, parent); + break; + case 2: + ssrProcessSlotOutlet(child, context); + break; + case 3: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck2 = child; + return exhaustiveCheck2; + } + break; + case 2: + context.pushStringPart(shared.escapeHtml(child.content)); + break; + case 3: + if (!disableComment) { + context.pushStringPart(`<!--${child.content}-->`); + } + break; + case 5: + context.pushStringPart( + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + child.content + ]) + ); + break; + case 9: + ssrProcessIf(child, context, disableNestedFragments, disableComment); + break; + case 11: + ssrProcessFor(child, context, disableNestedFragments); + break; + case 10: + break; + case 12: + case 8: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck = child; + return exhaustiveCheck; + } + } + if (asFragment) { + context.pushStringPart(`<!--]-->`); + } +} +function processChildrenAsStatement(parent, parentContext, asFragment = false, withSlotScopeId = parentContext.withSlotScopeId) { + const childContext = createChildContext(parentContext, withSlotScopeId); + processChildren(parent, childContext, asFragment); + return compilerDom.createBlockStatement(childContext.body); +} + +const ssrTransformModel = (dir, node, context) => { + const model = dir.exp; + function checkDuplicatedValue() { + const value = compilerDom.findProp(node, "value"); + if (value) { + context.onError( + compilerDom.createDOMCompilerError( + 61, + value.loc + ) + ); + } + } + const processSelectChildren = (children) => { + children.forEach((child) => { + if (child.type === 1) { + processOption(child); + } else if (child.type === 11) { + processSelectChildren(child.children); + } else if (child.type === 9) { + child.branches.forEach((b) => processSelectChildren(b.children)); + } + }); + }; + function processOption(plainNode) { + if (plainNode.tag === "option") { + if (plainNode.props.findIndex((p) => p.name === "selected") === -1) { + const value = findValueBinding(plainNode); + plainNode.ssrCodegenNode.elements.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(context.helper(SSR_INCLUDE_BOOLEAN_ATTR), [ + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]), + compilerDom.createSimpleExpression(" selected", true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } + } else if (plainNode.tag === "optgroup") { + processSelectChildren(plainNode.children); + } + } + if (node.tagType === 0) { + const res = { props: [] }; + if (node.tag === "input") { + const defaultProps = [ + // default value binding for text type inputs + compilerDom.createObjectProperty(`value`, model) + ]; + const type = compilerDom.findProp(node, "type"); + if (type) { + const value = findValueBinding(node); + if (type.type === 7) { + res.ssrTagParts = [ + compilerDom.createCallExpression(context.helper(SSR_RENDER_DYNAMIC_MODEL), [ + type.exp, + model, + value + ]) + ]; + } else if (type.value) { + switch (type.value.content) { + case "radio": + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]; + break; + case "checkbox": + const trueValueBinding = compilerDom.findProp(node, "true-value"); + if (trueValueBinding) { + const trueValue = trueValueBinding.type === 6 ? JSON.stringify(trueValueBinding.value.content) : trueValueBinding.exp; + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + trueValue + ]) + ) + ]; + } else { + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + model + ) + ) + ]; + } + break; + case "file": + context.onError( + compilerDom.createDOMCompilerError( + 60, + dir.loc + ) + ); + break; + default: + checkDuplicatedValue(); + res.props = defaultProps; + break; + } + } + } else if (compilerDom.hasDynamicKeyVBind(node)) ; else { + checkDuplicatedValue(); + res.props = defaultProps; + } + } else if (node.tag === "textarea") { + checkDuplicatedValue(); + node.children = [compilerDom.createInterpolation(model, model.loc)]; + } else if (node.tag === "select") { + processSelectChildren(node.children); + } else { + context.onError( + compilerDom.createDOMCompilerError( + 58, + dir.loc + ) + ); + } + return res; + } else { + return compilerDom.transformModel(dir, node, context); + } +}; +function findValueBinding(node) { + const valueBinding = compilerDom.findProp(node, "value"); + return valueBinding ? valueBinding.type === 7 ? valueBinding.exp : compilerDom.createSimpleExpression(valueBinding.value.content, true) : compilerDom.createSimpleExpression(`null`, false); +} + +const ssrTransformShow = (dir, node, context) => { + if (!dir.exp) { + context.onError( + compilerDom.createDOMCompilerError(62) + ); + } + return { + props: [ + compilerDom.createObjectProperty( + `style`, + compilerDom.createConditionalExpression( + dir.exp, + compilerDom.createSimpleExpression(`null`, false), + compilerDom.createObjectExpression([ + compilerDom.createObjectProperty( + `display`, + compilerDom.createSimpleExpression(`none`, true) + ) + ]), + false + ) + ) + ] + }; +}; + +const filterChild = (node) => node.children.filter((n) => !compilerDom.isCommentOrWhitespace(n)); +const hasSingleChild = (node) => filterChild(node).length === 1; +const ssrInjectFallthroughAttrs = (node, context) => { + if (node.type === 0) { + context.identifiers._attrs = 1; + } + if (node.type === 1 && node.tagType === 1 && (node.tag === "transition" || node.tag === "Transition" || node.tag === "KeepAlive" || node.tag === "keep-alive")) { + const rootChildren = filterChild(context.root); + if (rootChildren.length === 1 && rootChildren[0] === node) { + if (hasSingleChild(node)) { + injectFallthroughAttrs(node.children[0]); + } + return; + } + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10 && hasSingleChild(node)) { + let hasEncounteredIf = false; + for (const c of filterChild(parent)) { + if (c.type === 9 || c.type === 1 && compilerDom.findDir(c, "if")) { + if (hasEncounteredIf) return; + hasEncounteredIf = true; + } else if ( + // node before v-if + !hasEncounteredIf || // non else nodes + !(c.type === 1 && compilerDom.findDir(c, /else/, true)) + ) { + return; + } + } + injectFallthroughAttrs(node.children[0]); + } else if (hasSingleChild(parent)) { + injectFallthroughAttrs(node); + } +}; +function injectFallthroughAttrs(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_attrs`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } +} + +const ssrInjectCssVars = (node, context) => { + if (!context.ssrCssVars) { + return; + } + if (node.type === 0) { + context.identifiers._cssVars = 1; + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10) { + for (const child of node.children) { + injectCssVars(child); + } + } else { + injectCssVars(node); + } +}; +function injectCssVars(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + if (node.tag === "suspense" || node.tag === "Suspense") { + for (const child of node.children) { + if (child.type === 1 && child.tagType === 3) { + child.children.forEach(injectCssVars); + } else { + injectCssVars(child); + } + } + } else { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_cssVars`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } + } +} + +function compile(source, options = {}) { + options = { + ...options, + ...compilerDom.parserOptions, + ssr: true, + inSSR: true, + scopeId: options.mode === "function" ? null : options.scopeId, + // always prefix since compiler-ssr doesn't have size concern + prefixIdentifiers: true, + // disable optimizations that are unnecessary for ssr + cacheHandlers: false, + hoistStatic: false + }; + const ast = typeof source === "string" ? compilerDom.baseParse(source, options) : source; + rawOptionsMap.set(ast, options); + compilerDom.transform(ast, { + ...options, + hoistStatic: false, + nodeTransforms: [ + compilerDom.transformVBindShorthand, + ssrTransformIf, + ssrTransformFor, + compilerDom.trackVForSlotScopes, + compilerDom.transformExpression, + ssrTransformSlotOutlet, + ssrInjectFallthroughAttrs, + ssrInjectCssVars, + ssrTransformElement, + ssrTransformComponent, + compilerDom.trackSlotScopes, + compilerDom.transformStyle, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: { + // reusing core v-bind + bind: compilerDom.transformBind, + on: compilerDom.transformOn, + // model and show have dedicated SSR handling + model: ssrTransformModel, + show: ssrTransformShow, + // the following are ignored during SSR + // on: noopDirectiveTransform, + cloak: compilerDom.noopDirectiveTransform, + once: compilerDom.noopDirectiveTransform, + memo: compilerDom.noopDirectiveTransform, + ...options.directiveTransforms || {} + // user transforms + } + }); + ssrCodegenTransform(ast, options); + return compilerDom.generate(ast, options); +} + +exports.compile = compile; diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/compiler-dom b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/compiler-dom new file mode 120000 index 00000000..bd133d0b --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/compiler-dom @@ -0,0 +1 @@ +../../../compiler-dom@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/package.json new file mode 100644 index 00000000..b8cb6b21 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/compiler-ssr@3.5.26/package.json @@ -0,0 +1,34 @@ +{ + "name": "@vue/compiler-ssr", + "version": "3.5.26", + "description": "@vue/compiler-ssr", + "main": "dist/compiler-ssr.cjs.js", + "types": "dist/compiler-ssr.d.ts", + "files": [ + "dist" + ], + "buildOptions": { + "prod": false, + "formats": [ + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-ssr" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme", + "dependencies": { + "@vue/shared": "3.5.26", + "@vue/compiler-dom": "3.5.26" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/dist/index.cjs b/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/dist/index.cjs new file mode 100644 index 00000000..0b7baf1e --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/dist/index.cjs @@ -0,0 +1,378 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target2, all) => { + for (var name in all) + __defProp(target2, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target2) => (target2 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target2, "default", { value: mod, enumerable: true }) : target2, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js +var init_cjs_shims = __esm({ + "../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js"() { + "use strict"; + } +}); + +// ../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js +var require_rfdc = __commonJS({ + "../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(exports2, module2) { + "use strict"; + init_cjs_shims(); + module2.exports = rfdc2; + function copyBuffer(cur) { + if (cur instanceof Buffer) { + return Buffer.from(cur); + } + return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length); + } + function rfdc2(opts) { + opts = opts || {}; + if (opts.circles) return rfdcCircles(opts); + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) { + for (const handler2 of opts.constructorHandlers) { + constructorHandlers.set(handler2[0], handler2[1]); + } + } + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) { + a2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + a2[k] = handler(cur, fn); + } else if (ArrayBuffer.isView(cur)) { + a2[k] = copyBuffer(cur); + } else { + a2[k] = fn(cur); + } + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) { + return handler(o, clone); + } + const o2 = {}; + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) { + o2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + o2[k] = handler(cur, clone); + } else if (ArrayBuffer.isView(cur)) { + o2[k] = copyBuffer(cur); + } else { + o2[k] = clone(cur); + } + } + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) { + return handler(o, cloneProto); + } + const o2 = {}; + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) { + o2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + o2[k] = handler(cur, cloneProto); + } else if (ArrayBuffer.isView(cur)) { + o2[k] = copyBuffer(cur); + } else { + o2[k] = cloneProto(cur); + } + } + return o2; + } + } + function rfdcCircles(opts) { + const refs = []; + const refsNew = []; + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) { + for (const handler2 of opts.constructorHandlers) { + constructorHandlers.set(handler2[0], handler2[1]); + } + } + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) { + a2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + a2[k] = handler(cur, fn); + } else if (ArrayBuffer.isView(cur)) { + a2[k] = copyBuffer(cur); + } else { + const index = refs.indexOf(cur); + if (index !== -1) { + a2[k] = refsNew[index]; + } else { + a2[k] = fn(cur); + } + } + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) { + return handler(o, clone); + } + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) { + o2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + o2[k] = handler(cur, clone); + } else if (ArrayBuffer.isView(cur)) { + o2[k] = copyBuffer(cur); + } else { + const i = refs.indexOf(cur); + if (i !== -1) { + o2[k] = refsNew[i]; + } else { + o2[k] = clone(cur); + } + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) { + return handler(o, cloneProto); + } + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) { + o2[k] = cur; + } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) { + o2[k] = handler(cur, cloneProto); + } else if (ArrayBuffer.isView(cur)) { + o2[k] = copyBuffer(cur); + } else { + const i = refs.indexOf(cur); + if (i !== -1) { + o2[k] = refsNew[i]; + } else { + o2[k] = cloneProto(cur); + } + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + } + } +}); + +// src/index.ts +var index_exports = {}; +__export(index_exports, { + BROADCAST_CHANNEL_NAME: () => BROADCAST_CHANNEL_NAME, + NOOP: () => NOOP, + VIEW_MODE_STORAGE_KEY: () => VIEW_MODE_STORAGE_KEY, + VITE_PLUGIN_CLIENT_URL_STORAGE_KEY: () => VITE_PLUGIN_CLIENT_URL_STORAGE_KEY, + VITE_PLUGIN_DETECTED_STORAGE_KEY: () => VITE_PLUGIN_DETECTED_STORAGE_KEY, + basename: () => basename, + camelize: () => camelize, + classify: () => classify, + deepClone: () => deepClone, + isArray: () => isArray, + isBrowser: () => isBrowser, + isInChromePanel: () => isInChromePanel, + isInElectron: () => isInElectron, + isInIframe: () => isInIframe, + isInSeparateWindow: () => isInSeparateWindow, + isMacOS: () => isMacOS, + isMap: () => isMap, + isNumeric: () => isNumeric, + isNuxtApp: () => isNuxtApp, + isObject: () => isObject, + isSet: () => isSet, + isUrlString: () => isUrlString, + kebabize: () => kebabize, + randomStr: () => randomStr, + sortByKey: () => sortByKey, + target: () => target +}); +module.exports = __toCommonJS(index_exports); +init_cjs_shims(); + +// src/constants.ts +init_cjs_shims(); +var VIEW_MODE_STORAGE_KEY = "__vue-devtools-view-mode__"; +var VITE_PLUGIN_DETECTED_STORAGE_KEY = "__vue-devtools-vite-plugin-detected__"; +var VITE_PLUGIN_CLIENT_URL_STORAGE_KEY = "__vue-devtools-vite-plugin-client-url__"; +var BROADCAST_CHANNEL_NAME = "__vue-devtools-broadcast-channel__"; + +// src/env.ts +init_cjs_shims(); +var isBrowser = typeof navigator !== "undefined"; +var target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : {}; +var isInChromePanel = typeof target.chrome !== "undefined" && !!target.chrome.devtools; +var isInIframe = isBrowser && target.self !== target.top; +var _a; +var isInElectron = typeof navigator !== "undefined" && ((_a = navigator.userAgent) == null ? void 0 : _a.toLowerCase().includes("electron")); +var isNuxtApp = typeof window !== "undefined" && !!window.__NUXT__; +var isInSeparateWindow = !isInIframe && !isInChromePanel && !isInElectron; + +// src/general.ts +init_cjs_shims(); +var import_rfdc = __toESM(require_rfdc(), 1); +function NOOP() { +} +var isNumeric = (str) => `${+str}` === str; +var isMacOS = () => (navigator == null ? void 0 : navigator.platform) ? navigator == null ? void 0 : navigator.platform.toLowerCase().includes("mac") : /Macintosh/.test(navigator.userAgent); +var classifyRE = /(?:^|[-_/])(\w)/g; +var camelizeRE = /-(\w)/g; +var kebabizeRE = /([a-z0-9])([A-Z])/g; +function toUpper(_, c) { + return c ? c.toUpperCase() : ""; +} +function classify(str) { + return str && `${str}`.replace(classifyRE, toUpper); +} +function camelize(str) { + return str && str.replace(camelizeRE, toUpper); +} +function kebabize(str) { + return str && str.replace(kebabizeRE, (_, lowerCaseCharacter, upperCaseLetter) => { + return `${lowerCaseCharacter}-${upperCaseLetter}`; + }).toLowerCase(); +} +function basename(filename, ext) { + let normalizedFilename = filename.replace(/^[a-z]:/i, "").replace(/\\/g, "/"); + if (normalizedFilename.endsWith(`index${ext}`)) { + normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext); + } + const lastSlashIndex = normalizedFilename.lastIndexOf("/"); + const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1); + if (ext) { + const extIndex = baseNameWithExt.lastIndexOf(ext); + return baseNameWithExt.substring(0, extIndex); + } + return ""; +} +function sortByKey(state) { + return state && state.slice().sort((a, b) => { + if (a.key < b.key) + return -1; + if (a.key > b.key) + return 1; + return 0; + }); +} +var HTTP_URL_RE = /^https?:\/\//; +function isUrlString(str) { + return str.startsWith("/") || HTTP_URL_RE.test(str); +} +var deepClone = (0, import_rfdc.default)({ circles: true }); +function randomStr() { + return Math.random().toString(36).slice(2); +} +function isObject(value) { + return typeof value === "object" && !Array.isArray(value) && value !== null; +} +function isArray(value) { + return Array.isArray(value); +} +function isSet(value) { + return value instanceof Set; +} +function isMap(value) { + return value instanceof Map; +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + BROADCAST_CHANNEL_NAME, + NOOP, + VIEW_MODE_STORAGE_KEY, + VITE_PLUGIN_CLIENT_URL_STORAGE_KEY, + VITE_PLUGIN_DETECTED_STORAGE_KEY, + basename, + camelize, + classify, + deepClone, + isArray, + isBrowser, + isInChromePanel, + isInElectron, + isInIframe, + isInSeparateWindow, + isMacOS, + isMap, + isNumeric, + isNuxtApp, + isObject, + isSet, + isUrlString, + kebabize, + randomStr, + sortByKey, + target +}); diff --git a/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/package.json b/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/package.json new file mode 100644 index 00000000..8f60a875 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/devtools-shared@7.7.7/package.json @@ -0,0 +1,34 @@ +{ + "name": "@vue/devtools-shared", + "type": "module", + "version": "7.7.7", + "author": "webfansplz", + "license": "MIT", + "repository": { + "directory": "packages/shared", + "type": "git", + "url": "git+https://github.com/vuejs/devtools.git" + }, + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "files": [ + "dist" + ], + "dependencies": { + "rfdc": "^1.4.1" + }, + "devDependencies": { + "@types/node": "^22.13.14" + }, + "scripts": { + "build": "tsup", + "prepare:type": "tsup --dts-only", + "stub": "tsup --watch --onSuccess 'tsup --dts-only'" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/dist/index.js b/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/dist/index.js new file mode 100644 index 00000000..45223daa --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/dist/index.js @@ -0,0 +1,249 @@ +//#region rolldown:runtime +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { + key = keys[i]; + if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { + get: ((k) => from[k]).bind(null, key), + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable + }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target$1) => (target$1 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target$1, "default", { + value: mod, + enumerable: true +}) : target$1, mod)); + +//#endregion +//#region src/constants.ts +const VIEW_MODE_STORAGE_KEY = "__vue-devtools-view-mode__"; +const VITE_PLUGIN_DETECTED_STORAGE_KEY = "__vue-devtools-vite-plugin-detected__"; +const VITE_PLUGIN_CLIENT_URL_STORAGE_KEY = "__vue-devtools-vite-plugin-client-url__"; +const BROADCAST_CHANNEL_NAME = "__vue-devtools-broadcast-channel__"; + +//#endregion +//#region src/env.ts +const isBrowser = typeof navigator !== "undefined"; +const target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : {}; +const isInChromePanel = typeof target.chrome !== "undefined" && !!target.chrome.devtools; +const isInIframe = isBrowser && target.self !== target.top; +const isInElectron = typeof navigator !== "undefined" && navigator.userAgent?.toLowerCase().includes("electron"); +const isNuxtApp = typeof window !== "undefined" && !!window.__NUXT__; +const isInSeparateWindow = !isInIframe && !isInChromePanel && !isInElectron; + +//#endregion +//#region ../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js +var require_rfdc = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js": ((exports, module) => { + module.exports = rfdc$1; + function copyBuffer(cur) { + if (cur instanceof Buffer) return Buffer.from(cur); + return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length); + } + function rfdc$1(opts) { + opts = opts || {}; + if (opts.circles) return rfdcCircles(opts); + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) for (const handler$1 of opts.constructorHandlers) constructorHandlers.set(handler$1[0], handler$1[1]); + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) a2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); + else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); + else a2[k] = fn(cur); + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); + const o2 = {}; + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else o2[k] = clone(cur); + } + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); + const o2 = {}; + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else o2[k] = cloneProto(cur); + } + return o2; + } + } + function rfdcCircles(opts) { + const refs = []; + const refsNew = []; + const constructorHandlers = /* @__PURE__ */ new Map(); + constructorHandlers.set(Date, (o) => new Date(o)); + constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn))); + constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn))); + if (opts.constructorHandlers) for (const handler$1 of opts.constructorHandlers) constructorHandlers.set(handler$1[0], handler$1[1]); + let handler = null; + return opts.proto ? cloneProto : clone; + function cloneArray(a, fn) { + const keys = Object.keys(a); + const a2 = new Array(keys.length); + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + const cur = a[k]; + if (typeof cur !== "object" || cur === null) a2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn); + else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur); + else { + const index = refs.indexOf(cur); + if (index !== -1) a2[k] = refsNew[index]; + else a2[k] = fn(cur); + } + } + return a2; + } + function clone(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, clone); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone); + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + if (Object.hasOwnProperty.call(o, k) === false) continue; + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else { + const i = refs.indexOf(cur); + if (i !== -1) o2[k] = refsNew[i]; + else o2[k] = clone(cur); + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + function cloneProto(o) { + if (typeof o !== "object" || o === null) return o; + if (Array.isArray(o)) return cloneArray(o, cloneProto); + if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto); + const o2 = {}; + refs.push(o); + refsNew.push(o2); + for (const k in o) { + const cur = o[k]; + if (typeof cur !== "object" || cur === null) o2[k] = cur; + else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto); + else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur); + else { + const i = refs.indexOf(cur); + if (i !== -1) o2[k] = refsNew[i]; + else o2[k] = cloneProto(cur); + } + } + refs.pop(); + refsNew.pop(); + return o2; + } + } +}) }); + +//#endregion +//#region src/general.ts +var import_rfdc = /* @__PURE__ */ __toESM(require_rfdc(), 1); +function NOOP() {} +const isNumeric = (str) => `${+str}` === str; +const isMacOS = () => navigator?.platform ? navigator?.platform.toLowerCase().includes("mac") : /Macintosh/.test(navigator.userAgent); +const classifyRE = /(?:^|[-_/])(\w)/g; +const camelizeRE = /-(\w)/g; +const kebabizeRE = /([a-z0-9])([A-Z])/g; +function toUpper(_, c) { + return c ? c.toUpperCase() : ""; +} +function classify(str) { + return str && `${str}`.replace(classifyRE, toUpper); +} +function camelize(str) { + return str && str.replace(camelizeRE, toUpper); +} +function kebabize(str) { + return str && str.replace(kebabizeRE, (_, lowerCaseCharacter, upperCaseLetter) => { + return `${lowerCaseCharacter}-${upperCaseLetter}`; + }).toLowerCase(); +} +function basename(filename, ext) { + let normalizedFilename = filename.replace(/^[a-z]:/i, "").replace(/\\/g, "/"); + if (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext); + const lastSlashIndex = normalizedFilename.lastIndexOf("/"); + const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1); + if (ext) { + const extIndex = baseNameWithExt.lastIndexOf(ext); + return baseNameWithExt.substring(0, extIndex); + } + return ""; +} +function sortByKey(state) { + return state && state.slice().sort((a, b) => { + if (a.key < b.key) return -1; + if (a.key > b.key) return 1; + return 0; + }); +} +const HTTP_URL_RE = /^https?:\/\//; +/** +* Check a string is start with `/` or a valid http url +*/ +function isUrlString(str) { + return str.startsWith("/") || HTTP_URL_RE.test(str); +} +/** +* @copyright [rfdc](https://github.com/davidmarkclements/rfdc) +* @description A really fast deep clone alternative +*/ +const deepClone = (0, import_rfdc.default)({ circles: true }); +function randomStr() { + return Math.random().toString(36).slice(2); +} +function isObject(value) { + return typeof value === "object" && !Array.isArray(value) && value !== null; +} +function isArray(value) { + return Array.isArray(value); +} +function isSet(value) { + return value instanceof Set; +} +function isMap(value) { + return value instanceof Map; +} + +//#endregion +export { BROADCAST_CHANNEL_NAME, NOOP, VIEW_MODE_STORAGE_KEY, VITE_PLUGIN_CLIENT_URL_STORAGE_KEY, VITE_PLUGIN_DETECTED_STORAGE_KEY, basename, camelize, classify, deepClone, isArray, isBrowser, isInChromePanel, isInElectron, isInIframe, isInSeparateWindow, isMacOS, isMap, isNumeric, isNuxtApp, isObject, isSet, isUrlString, kebabize, randomStr, sortByKey, target }; \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/package.json b/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/package.json new file mode 100644 index 00000000..021590f3 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/devtools-shared@8.0.5/package.json @@ -0,0 +1,34 @@ +{ + "name": "@vue/devtools-shared", + "type": "module", + "version": "8.0.5", + "author": "webfansplz", + "license": "MIT", + "repository": { + "directory": "packages/shared", + "type": "git", + "url": "git+https://github.com/vuejs/devtools.git" + }, + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "files": [ + "dist" + ], + "dependencies": { + "rfdc": "^1.4.1" + }, + "devDependencies": { + "@types/node": "^24.7.2" + }, + "scripts": { + "build": "tsdown", + "prepare:type": "tsdown --dts-only", + "stub": "tsdown --watch --onSuccess 'tsdown --dts-only'" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/dist/reactivity.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/dist/reactivity.cjs.prod.js new file mode 100644 index 00000000..8a891c72 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/dist/reactivity.cjs.prod.js @@ -0,0 +1,1807 @@ +/** +* @vue/reactivity v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); + +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal track `on` calls, allow `on` call multiple times + */ + this._on = 0; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this._isPaused = false; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].pause(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].resume(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].resume(); + } + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + if (++this._on === 1) { + this.prevScope = activeEffectScope; + activeEffectScope = this; + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + if (this._on > 0 && --this._on === 0) { + activeEffectScope = this.prevScope; + this.prevScope = void 0; + } + } + stop(fromParent) { + if (this._active) { + this._active = false; + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + this.effects.length = 0; + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + this.cleanups.length = 0; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + this.scopes.length = 0; + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } +} + +let activeSub; +const EffectFlags = { + "ACTIVE": 1, + "1": "ACTIVE", + "RUNNING": 2, + "2": "RUNNING", + "TRACKING": 4, + "4": "TRACKING", + "NOTIFIED": 8, + "8": "NOTIFIED", + "DIRTY": 16, + "16": "DIRTY", + "ALLOW_RECURSE": 32, + "32": "ALLOW_RECURSE", + "PAUSED": 64, + "64": "PAUSED", + "EVALUATED": 128, + "128": "EVALUATED" +}; +const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +class ReactiveEffect { + constructor(fn) { + this.fn = fn; + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 1 | 4; + /** + * @internal + */ + this.next = void 0; + /** + * @internal + */ + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) { + activeEffectScope.effects.push(this); + } + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= -65; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } + } + run() { + if (!(this.flags & 1)) { + return this.fn(); + } + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= -3; + } + } + stop() { + if (this.flags & 1) { + for (let link = this.deps; link; link = link.nextDep) { + removeSub(link); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= -2; + } + } + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); + } + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) { + this.run(); + } + } + get dirty() { + return isDirty(this); + } +} +let batchDepth = 0; +let batchedSub; +let batchedComputed; +function batch(sub, isComputed = false) { + sub.flags |= 8; + if (isComputed) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) { + return; + } + if (batchedComputed) { + let e = batchedComputed; + batchedComputed = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + e = next; + } + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + if (e.flags & 1) { + try { + ; + e.trigger(); + } catch (err) { + if (!error) error = err; + } + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + link.version = -1; + link.prevActiveLink = link.dep.activeLink; + link.dep.activeLink = link; + } +} +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link = tail; + while (link) { + const prev = link.prevDep; + if (link.version === -1) { + if (link === tail) tail = prev; + removeSub(link); + removeDep(link); + } else { + head = link; + } + link.dep.activeLink = link.prevActiveLink; + link.prevActiveLink = void 0; + link = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +function refreshComputed(computed) { + if (computed.flags & 4 && !(computed.flags & 16)) { + return; + } + computed.flags &= -17; + if (computed.globalVersion === globalVersion) { + return; + } + computed.globalVersion = globalVersion; + if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) { + return; + } + computed.flags |= 2; + const dep = computed.dep; + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed; + shouldTrack = true; + try { + prepareDeps(computed); + const value = computed.fn(computed._value); + if (dep.version === 0 || shared.hasChanged(value, computed._value)) { + computed.flags |= 128; + computed._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed); + computed.flags &= -3; + } +} +function removeSub(link, soft = false) { + const { dep, prevSub, nextSub } = link; + if (prevSub) { + prevSub.nextSub = nextSub; + link.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link.nextSub = void 0; + } + if (dep.subs === link) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= -5; + for (let l = dep.computed.deps; l; l = l.nextDep) { + removeSub(l, true); + } + } + } + if (!soft && !--dep.sc && dep.map) { + dep.map.delete(dep.key); + } +} +function removeDep(link) { + const { prevDep, nextDep } = link; + if (prevDep) { + prevDep.nextDep = nextDep; + link.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link.nextDep = void 0; + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const e = new ReactiveEffect(fn); + if (options) { + shared.extend(e, options); + } + try { + e.run(); + } catch (err) { + e.stop(); + throw err; + } + const runner = e.run.bind(e); + runner.effect = e; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function onEffectCleanup(fn, failSilently = false) { + if (activeSub instanceof ReactiveEffect) { + activeSub.cleanup = fn; + } +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} + +let globalVersion = 0; +class Link { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +} +class Dep { + // TODO isolatedDeclarations "__v_skip" + constructor(computed) { + this.computed = computed; + this.version = 0; + /** + * Link between this dep and the current active effect + */ + this.activeLink = void 0; + /** + * Doubly linked list representing the subscribing effects (tail) + */ + this.subs = void 0; + /** + * For object property deps cleanup + */ + this.map = void 0; + this.key = void 0; + /** + * Subscriber counter + */ + this.sc = 0; + /** + * @internal + */ + this.__v_skip = true; + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link = this.activeLink; + if (link === void 0 || link.sub !== activeSub) { + link = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link; + } else { + link.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + } + addSub(link); + } else if (link.version === -1) { + link.version = this.version; + if (link.nextDep) { + const next = link.nextDep; + next.prevDep = link.prevDep; + if (link.prevDep) { + link.prevDep.nextDep = next; + } + link.prevDep = activeSub.depsTail; + link.nextDep = void 0; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + if (activeSub.deps === link) { + activeSub.deps = next; + } + } + } + return link; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (false) ; + for (let link = this.subs; link; link = link.prevSub) { + if (link.sub.notify()) { + ; + link.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +} +function addSub(link) { + link.dep.sc++; + if (link.sub.flags & 4) { + const computed = link.dep.computed; + if (computed && !link.dep.subs) { + computed.flags |= 4 | 16; + for (let l = computed.deps; l; l = l.nextDep) { + addSub(l); + } + } + const currentTail = link.dep.subs; + if (currentTail !== link) { + link.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link; + } + link.dep.subs = link; + } +} +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = Symbol( + "" +); +const MAP_KEY_ITERATE_KEY = Symbol( + "" +); +const ARRAY_ITERATE_KEY = Symbol( + "" +); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + { + dep.track(); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) { + { + dep.trigger(); + } + } + }; + startBatch(); + if (type === "clear") { + depsMap.forEach(run); + } else { + const targetIsArray = shared.isArray(target); + const isArrayIndex = targetIsArray && shared.isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !shared.isSymbol(key2) && key2 >= newLength) { + run(dep); + } + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) { + run(depsMap.get(key)); + } + if (isArrayIndex) { + run(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (shared.isMap(target)) { + run(depsMap.get(ITERATE_KEY)); + } + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + const depMap = targetMap.get(object); + return depMap && depMap.get(key); +} + +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return isShallow(array) ? raw : raw.map(toReactive); +} +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +const arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, toReactive); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x) => shared.isArray(x) ? reactiveReadArray(x) : x) + ); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toReactive(value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments); + }, + find(fn, thisArg) { + return apply(this, "find", fn, thisArg, toReactive, arguments); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply(this, "findLast", fn, thisArg, toReactive, arguments); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimization required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", toReactive); + } +}; +function iterator(self, method, wrapValue) { + const arr = shallowReadArray(self); + const iter = arr[method](); + if (arr !== self && !isShallow(self)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (!result.done) { + result.value = wrapValue(result.value); + } + return result; + }; + } + return iter; +} +const arrayProto = Array.prototype; +function apply(self, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !isShallow(self); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self) { + if (needsWrap) { + wrappedFn = function(item, index) { + return fn.call(this, toReactive(item), index, self); + }; + } else if (fn.length > 2) { + wrappedFn = function(item, index) { + return fn.call(this, item, index, self); + }; + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self, method, fn, args) { + const arr = shallowReadArray(self); + let wrappedFn = fn; + if (arr !== self) { + if (!isShallow(self)) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, toReactive(item), index, self); + }; + } else if (fn.length > 3) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self); + }; + } + } + return arr[method](wrappedFn, ...args); +} +function searchProxy(self, method, args) { + const arr = toRaw(self); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self)[method].apply(self, args); + endBatch(); + resetTracking(); + return res; +} + +const isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(shared.isSymbol) +); +function hasOwnProperty(key) { + if (!shared.isSymbol(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + if (key === "__v_skip") return target["__v_skip"]; + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = shared.isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get( + target, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef(target) ? target : receiver + ); + if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + const value = targetIsArray && shared.isIntegerKey(key) ? res : res.value; + return isReadonly2 && shared.isObject(value) ? readonly(value) : value; + } + if (shared.isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return true; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key); + const result = Reflect.set( + target, + key, + value, + isRef(target) ? target : receiver + ); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = shared.hasOwn(target, key); + target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!shared.isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + shared.isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + return true; + } + deleteProperty(target, key) { + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); + +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = shared.isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations(readonly, shallow) { + const instrumentations = { + get(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has } = getProto(rawTarget); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + if (has.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + }, + get size() { + const target = this["__v_raw"]; + !readonly && track(toRaw(target), "iterate", ITERATE_KEY); + return target.size; + }, + has(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + }, + forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + !readonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + } + }; + shared.extend( + instrumentations, + readonly ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; + }, + set(key, value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + const oldValue = get.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + return this; + }, + delete(key) { + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + get ? get.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + }, + clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const result = target.clear(); + if (hadItems) { + trigger( + target, + "clear", + void 0, + void 0); + } + return result; + } + } + ); + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + instrumentations[method] = createIterableMethod(method, readonly, shallow); + }); + return instrumentations; +} +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; + +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1 /* COMMON */; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2 /* COLLECTION */; + default: + return 0 /* INVALID */; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(shared.toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!shared.isObject(target)) { + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const targetType = getTargetType(target); + if (targetType === 0 /* INVALID */) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const proxy = new Proxy( + target, + targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (!shared.hasOwn(value, "__v_skip") && Object.isExtensible(value)) { + shared.def(value, "__v_skip", true); + } + return value; +} +const toReactive = (value) => shared.isObject(value) ? reactive(value) : value; +const toReadonly = (value) => shared.isObject(value) ? readonly(value) : value; + +function isRef(r) { + return r ? r["__v_isRef"] === true : false; +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + { + this.dep.track(); + } + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); + newValue = useDirectValue ? newValue : toRaw(newValue); + if (shared.hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + { + this.dep.trigger(); + } + } + } +} +function triggerRef(ref2) { + if (ref2.dep) { + { + ref2.dep.trigger(); + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return shared.isFunction(source) ? source() : unref(source); +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get; + this._set = set; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +function toRefs(object) { + const ret = shared.isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + } + get value() { + const val = this._object[this._key]; + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +} +class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +} +function toRef(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (shared.isFunction(source)) { + return new GetterRefImpl(source); + } else if (shared.isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} + +class ComputedRefImpl { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + /** + * @internal + */ + this._value = void 0; + /** + * @internal + */ + this.dep = new Dep(this); + /** + * @internal + */ + this.__v_isRef = true; + // TODO isolatedDeclarations "__v_isReadonly" + // A computed is also a subscriber that tracks other deps + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 16; + /** + * @internal + */ + this.globalVersion = globalVersion - 1; + /** + * @internal + */ + this.next = void 0; + // for backwards compat + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this, true); + return true; + } + } + get value() { + const link = this.dep.track(); + refreshComputed(this); + if (link) { + link.version = this.dep.version; + } + return this._value; + } + set value(newValue) { + if (this.setter) { + this.setter(newValue); + } + } +} +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (shared.isFunction(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + return cRef; +} + +const TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +const TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +const ReactiveFlags = { + "SKIP": "__v_skip", + "IS_REACTIVE": "__v_isReactive", + "IS_READONLY": "__v_isReadonly", + "IS_SHALLOW": "__v_isShallow", + "RAW": "__v_raw", + "IS_REF": "__v_isRef" +}; + +const WatchErrorCodes = { + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP" +}; +const INITIAL_WATCHER_VALUE = {}; +const cleanupMap = /* @__PURE__ */ new WeakMap(); +let activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } +} +function watch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }; + let effect; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (shared.isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (shared.isFunction(s)) { + return call ? call(s, 2) : s(); + } else ; + }); + } else if (shared.isFunction(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + } + } else { + getter = shared.NOOP; + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect.stop(); + if (scope && scope.active) { + shared.remove(scope.effects, effect); + } + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + watchHandle(); + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => shared.hasChanged(v, oldValue[i])) : shared.hasChanged(newValue, oldValue))) { + if (cleanup) { + cleanup(); + } + const currentWatcher = activeWatcher; + activeWatcher = effect; + try { + const args = [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + oldValue = newValue; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + } finally { + activeWatcher = currentWatcher; + } + } + } else { + effect.run(); + } + }; + if (augmentJob) { + augmentJob(job); + } + effect = new ReactiveEffect(getter); + effect.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect); + cleanup = effect.onStop = () => { + const cleanups = cleanupMap.get(effect); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect); + } + }; + if (cb) { + if (immediate) { + job(true); + } else { + oldValue = effect.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect.run(); + } + watchHandle.pause = effect.pause.bind(effect); + watchHandle.resume = effect.resume.bind(effect); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !shared.isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Map(); + if ((seen.get(value) || 0) >= depth) { + return value; + } + seen.set(value, depth); + depth--; + if (isRef(value)) { + traverse(value.value, depth, seen); + } else if (shared.isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen); + } + } else if (shared.isSet(value) || shared.isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen); + }); + } else if (shared.isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen); + } + for (const key of Object.getOwnPropertySymbols(value)) { + if (Object.prototype.propertyIsEnumerable.call(value, key)) { + traverse(value[key], depth, seen); + } + } + } + return value; +} + +exports.ARRAY_ITERATE_KEY = ARRAY_ITERATE_KEY; +exports.EffectFlags = EffectFlags; +exports.EffectScope = EffectScope; +exports.ITERATE_KEY = ITERATE_KEY; +exports.MAP_KEY_ITERATE_KEY = MAP_KEY_ITERATE_KEY; +exports.ReactiveEffect = ReactiveEffect; +exports.ReactiveFlags = ReactiveFlags; +exports.TrackOpTypes = TrackOpTypes; +exports.TriggerOpTypes = TriggerOpTypes; +exports.WatchErrorCodes = WatchErrorCodes; +exports.computed = computed; +exports.customRef = customRef; +exports.effect = effect; +exports.effectScope = effectScope; +exports.enableTracking = enableTracking; +exports.getCurrentScope = getCurrentScope; +exports.getCurrentWatcher = getCurrentWatcher; +exports.isProxy = isProxy; +exports.isReactive = isReactive; +exports.isReadonly = isReadonly; +exports.isRef = isRef; +exports.isShallow = isShallow; +exports.markRaw = markRaw; +exports.onEffectCleanup = onEffectCleanup; +exports.onScopeDispose = onScopeDispose; +exports.onWatcherCleanup = onWatcherCleanup; +exports.pauseTracking = pauseTracking; +exports.proxyRefs = proxyRefs; +exports.reactive = reactive; +exports.reactiveReadArray = reactiveReadArray; +exports.readonly = readonly; +exports.ref = ref; +exports.resetTracking = resetTracking; +exports.shallowReactive = shallowReactive; +exports.shallowReadArray = shallowReadArray; +exports.shallowReadonly = shallowReadonly; +exports.shallowRef = shallowRef; +exports.stop = stop; +exports.toRaw = toRaw; +exports.toReactive = toReactive; +exports.toReadonly = toReadonly; +exports.toRef = toRef; +exports.toRefs = toRefs; +exports.toValue = toValue; +exports.track = track; +exports.traverse = traverse; +exports.trigger = trigger; +exports.triggerRef = triggerRef; +exports.unref = unref; +exports.watch = watch; diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/package.json new file mode 100644 index 00000000..04a3dd9d --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.22/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vue/reactivity", + "version": "3.5.22", + "description": "@vue/reactivity", + "main": "index.js", + "module": "dist/reactivity.esm-bundler.js", + "types": "dist/reactivity.d.ts", + "unpkg": "dist/reactivity.global.js", + "jsdelivr": "dist/reactivity.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/reactivity.d.ts", + "node": { + "production": "./dist/reactivity.cjs.prod.js", + "development": "./dist/reactivity.cjs.js", + "default": "./dist/reactivity.cjs.prod.js" + }, + "module": "./dist/reactivity.esm-bundler.js", + "import": "./dist/reactivity.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/reactivity" + }, + "buildOptions": { + "name": "VueReactivity", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme", + "dependencies": { + "@vue/shared": "3.5.22" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/dist/reactivity.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/dist/reactivity.cjs.prod.js new file mode 100644 index 00000000..3f11e0db --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/dist/reactivity.cjs.prod.js @@ -0,0 +1,1853 @@ +/** +* @vue/reactivity v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); + +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal track `on` calls, allow `on` call multiple times + */ + this._on = 0; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this._isPaused = false; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].pause(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].resume(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].resume(); + } + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + if (++this._on === 1) { + this.prevScope = activeEffectScope; + activeEffectScope = this; + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + if (this._on > 0 && --this._on === 0) { + activeEffectScope = this.prevScope; + this.prevScope = void 0; + } + } + stop(fromParent) { + if (this._active) { + this._active = false; + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + this.effects.length = 0; + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + this.cleanups.length = 0; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + this.scopes.length = 0; + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } +} + +let activeSub; +const EffectFlags = { + "ACTIVE": 1, + "1": "ACTIVE", + "RUNNING": 2, + "2": "RUNNING", + "TRACKING": 4, + "4": "TRACKING", + "NOTIFIED": 8, + "8": "NOTIFIED", + "DIRTY": 16, + "16": "DIRTY", + "ALLOW_RECURSE": 32, + "32": "ALLOW_RECURSE", + "PAUSED": 64, + "64": "PAUSED", + "EVALUATED": 128, + "128": "EVALUATED" +}; +const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +class ReactiveEffect { + constructor(fn) { + this.fn = fn; + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 1 | 4; + /** + * @internal + */ + this.next = void 0; + /** + * @internal + */ + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) { + activeEffectScope.effects.push(this); + } + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= -65; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } + } + run() { + if (!(this.flags & 1)) { + return this.fn(); + } + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= -3; + } + } + stop() { + if (this.flags & 1) { + for (let link = this.deps; link; link = link.nextDep) { + removeSub(link); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= -2; + } + } + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); + } + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) { + this.run(); + } + } + get dirty() { + return isDirty(this); + } +} +let batchDepth = 0; +let batchedSub; +let batchedComputed; +function batch(sub, isComputed = false) { + sub.flags |= 8; + if (isComputed) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) { + return; + } + if (batchedComputed) { + let e = batchedComputed; + batchedComputed = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + e = next; + } + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + if (e.flags & 1) { + try { + ; + e.trigger(); + } catch (err) { + if (!error) error = err; + } + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + link.version = -1; + link.prevActiveLink = link.dep.activeLink; + link.dep.activeLink = link; + } +} +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link = tail; + while (link) { + const prev = link.prevDep; + if (link.version === -1) { + if (link === tail) tail = prev; + removeSub(link); + removeDep(link); + } else { + head = link; + } + link.dep.activeLink = link.prevActiveLink; + link.prevActiveLink = void 0; + link = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +function refreshComputed(computed) { + if (computed.flags & 4 && !(computed.flags & 16)) { + return; + } + computed.flags &= -17; + if (computed.globalVersion === globalVersion) { + return; + } + computed.globalVersion = globalVersion; + if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) { + return; + } + computed.flags |= 2; + const dep = computed.dep; + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed; + shouldTrack = true; + try { + prepareDeps(computed); + const value = computed.fn(computed._value); + if (dep.version === 0 || shared.hasChanged(value, computed._value)) { + computed.flags |= 128; + computed._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed); + computed.flags &= -3; + } +} +function removeSub(link, soft = false) { + const { dep, prevSub, nextSub } = link; + if (prevSub) { + prevSub.nextSub = nextSub; + link.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link.nextSub = void 0; + } + if (dep.subs === link) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= -5; + for (let l = dep.computed.deps; l; l = l.nextDep) { + removeSub(l, true); + } + } + } + if (!soft && !--dep.sc && dep.map) { + dep.map.delete(dep.key); + } +} +function removeDep(link) { + const { prevDep, nextDep } = link; + if (prevDep) { + prevDep.nextDep = nextDep; + link.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link.nextDep = void 0; + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const e = new ReactiveEffect(fn); + if (options) { + shared.extend(e, options); + } + try { + e.run(); + } catch (err) { + e.stop(); + throw err; + } + const runner = e.run.bind(e); + runner.effect = e; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function onEffectCleanup(fn, failSilently = false) { + if (activeSub instanceof ReactiveEffect) { + activeSub.cleanup = fn; + } +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} + +let globalVersion = 0; +class Link { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +} +class Dep { + // TODO isolatedDeclarations "__v_skip" + constructor(computed) { + this.computed = computed; + this.version = 0; + /** + * Link between this dep and the current active effect + */ + this.activeLink = void 0; + /** + * Doubly linked list representing the subscribing effects (tail) + */ + this.subs = void 0; + /** + * For object property deps cleanup + */ + this.map = void 0; + this.key = void 0; + /** + * Subscriber counter + */ + this.sc = 0; + /** + * @internal + */ + this.__v_skip = true; + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link = this.activeLink; + if (link === void 0 || link.sub !== activeSub) { + link = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link; + } else { + link.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + } + addSub(link); + } else if (link.version === -1) { + link.version = this.version; + if (link.nextDep) { + const next = link.nextDep; + next.prevDep = link.prevDep; + if (link.prevDep) { + link.prevDep.nextDep = next; + } + link.prevDep = activeSub.depsTail; + link.nextDep = void 0; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + if (activeSub.deps === link) { + activeSub.deps = next; + } + } + } + return link; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (false) ; + for (let link = this.subs; link; link = link.prevSub) { + if (link.sub.notify()) { + ; + link.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +} +function addSub(link) { + link.dep.sc++; + if (link.sub.flags & 4) { + const computed = link.dep.computed; + if (computed && !link.dep.subs) { + computed.flags |= 4 | 16; + for (let l = computed.deps; l; l = l.nextDep) { + addSub(l); + } + } + const currentTail = link.dep.subs; + if (currentTail !== link) { + link.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link; + } + link.dep.subs = link; + } +} +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + { + dep.track(); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) { + { + dep.trigger(); + } + } + }; + startBatch(); + if (type === "clear") { + depsMap.forEach(run); + } else { + const targetIsArray = shared.isArray(target); + const isArrayIndex = targetIsArray && shared.isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !shared.isSymbol(key2) && key2 >= newLength) { + run(dep); + } + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) { + run(depsMap.get(key)); + } + if (isArrayIndex) { + run(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (shared.isMap(target)) { + run(depsMap.get(ITERATE_KEY)); + } + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + const depMap = targetMap.get(object); + return depMap && depMap.get(key); +} + +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return isShallow(array) ? raw : raw.map(toReactive); +} +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +function toWrapped(target, item) { + if (isReadonly(target)) { + return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item); + } + return toReactive(item); +} +const arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, (item) => toWrapped(this, item)); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x) => shared.isArray(x) ? reactiveReadArray(x) : x) + ); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toWrapped(this, value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply( + this, + "filter", + fn, + thisArg, + (v) => v.map((item) => toWrapped(this, item)), + arguments + ); + }, + find(fn, thisArg) { + return apply( + this, + "find", + fn, + thisArg, + (item) => toWrapped(this, item), + arguments + ); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply( + this, + "findLast", + fn, + thisArg, + (item) => toWrapped(this, item), + arguments + ); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimization required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", (item) => toWrapped(this, item)); + } +}; +function iterator(self, method, wrapValue) { + const arr = shallowReadArray(self); + const iter = arr[method](); + if (arr !== self && !isShallow(self)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (!result.done) { + result.value = wrapValue(result.value); + } + return result; + }; + } + return iter; +} +const arrayProto = Array.prototype; +function apply(self, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !isShallow(self); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self) { + if (needsWrap) { + wrappedFn = function(item, index) { + return fn.call(this, toWrapped(self, item), index, self); + }; + } else if (fn.length > 2) { + wrappedFn = function(item, index) { + return fn.call(this, item, index, self); + }; + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self, method, fn, args) { + const arr = shallowReadArray(self); + let wrappedFn = fn; + if (arr !== self) { + if (!isShallow(self)) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, toWrapped(self, item), index, self); + }; + } else if (fn.length > 3) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self); + }; + } + } + return arr[method](wrappedFn, ...args); +} +function searchProxy(self, method, args) { + const arr = toRaw(self); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self)[method].apply(self, args); + endBatch(); + resetTracking(); + return res; +} + +const isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(shared.isSymbol) +); +function hasOwnProperty(key) { + if (!shared.isSymbol(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + if (key === "__v_skip") return target["__v_skip"]; + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = shared.isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get( + target, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef(target) ? target : receiver + ); + if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + const value = targetIsArray && shared.isIntegerKey(key) ? res : res.value; + return isReadonly2 && shared.isObject(value) ? readonly(value) : value; + } + if (shared.isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + const isArrayWithIntegerKey = shared.isArray(target) && shared.isIntegerKey(key); + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return true; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : shared.hasOwn(target, key); + const result = Reflect.set( + target, + key, + value, + isRef(target) ? target : receiver + ); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = shared.hasOwn(target, key); + target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!shared.isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + shared.isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + return true; + } + deleteProperty(target, key) { + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); + +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = shared.isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations(readonly, shallow) { + const instrumentations = { + get(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has } = getProto(rawTarget); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + if (has.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + }, + get size() { + const target = this["__v_raw"]; + !readonly && track(toRaw(target), "iterate", ITERATE_KEY); + return target.size; + }, + has(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + }, + forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + !readonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + } + }; + shared.extend( + instrumentations, + readonly ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; + }, + set(key, value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + const oldValue = get.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + return this; + }, + delete(key) { + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + get ? get.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + }, + clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const result = target.clear(); + if (hadItems) { + trigger( + target, + "clear", + void 0, + void 0); + } + return result; + } + } + ); + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + instrumentations[method] = createIterableMethod(method, readonly, shallow); + }); + return instrumentations; +} +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; + +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1 /* COMMON */; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2 /* COLLECTION */; + default: + return 0 /* INVALID */; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(shared.toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!shared.isObject(target)) { + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const targetType = getTargetType(target); + if (targetType === 0 /* INVALID */) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const proxy = new Proxy( + target, + targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (!shared.hasOwn(value, "__v_skip") && Object.isExtensible(value)) { + shared.def(value, "__v_skip", true); + } + return value; +} +const toReactive = (value) => shared.isObject(value) ? reactive(value) : value; +const toReadonly = (value) => shared.isObject(value) ? readonly(value) : value; + +function isRef(r) { + return r ? r["__v_isRef"] === true : false; +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + { + this.dep.track(); + } + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); + newValue = useDirectValue ? newValue : toRaw(newValue); + if (shared.hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + { + this.dep.trigger(); + } + } + } +} +function triggerRef(ref2) { + if (ref2.dep) { + { + ref2.dep.trigger(); + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return shared.isFunction(source) ? source() : unref(source); +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get; + this._set = set; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +function toRefs(object) { + const ret = shared.isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + this._raw = toRaw(_object); + let shallow = true; + let obj = _object; + if (!shared.isArray(_object) || !shared.isIntegerKey(String(_key))) { + do { + shallow = !isProxy(obj) || isShallow(obj); + } while (shallow && (obj = obj["__v_raw"])); + } + this._shallow = shallow; + } + get value() { + let val = this._object[this._key]; + if (this._shallow) { + val = unref(val); + } + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + if (this._shallow && isRef(this._raw[this._key])) { + const nestedRef = this._object[this._key]; + if (isRef(nestedRef)) { + nestedRef.value = newVal; + return; + } + } + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(this._raw, this._key); + } +} +class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +} +function toRef(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (shared.isFunction(source)) { + return new GetterRefImpl(source); + } else if (shared.isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + return new ObjectRefImpl(source, key, defaultValue); +} + +class ComputedRefImpl { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + /** + * @internal + */ + this._value = void 0; + /** + * @internal + */ + this.dep = new Dep(this); + /** + * @internal + */ + this.__v_isRef = true; + // TODO isolatedDeclarations "__v_isReadonly" + // A computed is also a subscriber that tracks other deps + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 16; + /** + * @internal + */ + this.globalVersion = globalVersion - 1; + /** + * @internal + */ + this.next = void 0; + // for backwards compat + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this, true); + return true; + } + } + get value() { + const link = this.dep.track(); + refreshComputed(this); + if (link) { + link.version = this.dep.version; + } + return this._value; + } + set value(newValue) { + if (this.setter) { + this.setter(newValue); + } + } +} +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (shared.isFunction(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + return cRef; +} + +const TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +const TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +const ReactiveFlags = { + "SKIP": "__v_skip", + "IS_REACTIVE": "__v_isReactive", + "IS_READONLY": "__v_isReadonly", + "IS_SHALLOW": "__v_isShallow", + "RAW": "__v_raw", + "IS_REF": "__v_isRef" +}; + +const WatchErrorCodes = { + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP" +}; +const INITIAL_WATCHER_VALUE = {}; +const cleanupMap = /* @__PURE__ */ new WeakMap(); +let activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } +} +function watch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }; + let effect; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (shared.isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (shared.isFunction(s)) { + return call ? call(s, 2) : s(); + } else ; + }); + } else if (shared.isFunction(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + } + } else { + getter = shared.NOOP; + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect.stop(); + if (scope && scope.active) { + shared.remove(scope.effects, effect); + } + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + watchHandle(); + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => shared.hasChanged(v, oldValue[i])) : shared.hasChanged(newValue, oldValue))) { + if (cleanup) { + cleanup(); + } + const currentWatcher = activeWatcher; + activeWatcher = effect; + try { + const args = [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + oldValue = newValue; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + } finally { + activeWatcher = currentWatcher; + } + } + } else { + effect.run(); + } + }; + if (augmentJob) { + augmentJob(job); + } + effect = new ReactiveEffect(getter); + effect.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect); + cleanup = effect.onStop = () => { + const cleanups = cleanupMap.get(effect); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect); + } + }; + if (cb) { + if (immediate) { + job(true); + } else { + oldValue = effect.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect.run(); + } + watchHandle.pause = effect.pause.bind(effect); + watchHandle.resume = effect.resume.bind(effect); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !shared.isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Map(); + if ((seen.get(value) || 0) >= depth) { + return value; + } + seen.set(value, depth); + depth--; + if (isRef(value)) { + traverse(value.value, depth, seen); + } else if (shared.isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen); + } + } else if (shared.isSet(value) || shared.isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen); + }); + } else if (shared.isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen); + } + for (const key of Object.getOwnPropertySymbols(value)) { + if (Object.prototype.propertyIsEnumerable.call(value, key)) { + traverse(value[key], depth, seen); + } + } + } + return value; +} + +exports.ARRAY_ITERATE_KEY = ARRAY_ITERATE_KEY; +exports.EffectFlags = EffectFlags; +exports.EffectScope = EffectScope; +exports.ITERATE_KEY = ITERATE_KEY; +exports.MAP_KEY_ITERATE_KEY = MAP_KEY_ITERATE_KEY; +exports.ReactiveEffect = ReactiveEffect; +exports.ReactiveFlags = ReactiveFlags; +exports.TrackOpTypes = TrackOpTypes; +exports.TriggerOpTypes = TriggerOpTypes; +exports.WatchErrorCodes = WatchErrorCodes; +exports.computed = computed; +exports.customRef = customRef; +exports.effect = effect; +exports.effectScope = effectScope; +exports.enableTracking = enableTracking; +exports.getCurrentScope = getCurrentScope; +exports.getCurrentWatcher = getCurrentWatcher; +exports.isProxy = isProxy; +exports.isReactive = isReactive; +exports.isReadonly = isReadonly; +exports.isRef = isRef; +exports.isShallow = isShallow; +exports.markRaw = markRaw; +exports.onEffectCleanup = onEffectCleanup; +exports.onScopeDispose = onScopeDispose; +exports.onWatcherCleanup = onWatcherCleanup; +exports.pauseTracking = pauseTracking; +exports.proxyRefs = proxyRefs; +exports.reactive = reactive; +exports.reactiveReadArray = reactiveReadArray; +exports.readonly = readonly; +exports.ref = ref; +exports.resetTracking = resetTracking; +exports.shallowReactive = shallowReactive; +exports.shallowReadArray = shallowReadArray; +exports.shallowReadonly = shallowReadonly; +exports.shallowRef = shallowRef; +exports.stop = stop; +exports.toRaw = toRaw; +exports.toReactive = toReactive; +exports.toReadonly = toReadonly; +exports.toRef = toRef; +exports.toRefs = toRefs; +exports.toValue = toValue; +exports.track = track; +exports.traverse = traverse; +exports.trigger = trigger; +exports.triggerRef = triggerRef; +exports.unref = unref; +exports.watch = watch; diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/package.json new file mode 100644 index 00000000..84413bb9 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/reactivity@3.5.26/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vue/reactivity", + "version": "3.5.26", + "description": "@vue/reactivity", + "main": "index.js", + "module": "dist/reactivity.esm-bundler.js", + "types": "dist/reactivity.d.ts", + "unpkg": "dist/reactivity.global.js", + "jsdelivr": "dist/reactivity.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/reactivity.d.ts", + "node": { + "production": "./dist/reactivity.cjs.prod.js", + "development": "./dist/reactivity.cjs.js", + "default": "./dist/reactivity.cjs.prod.js" + }, + "module": "./dist/reactivity.esm-bundler.js", + "import": "./dist/reactivity.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/reactivity" + }, + "buildOptions": { + "name": "VueReactivity", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme", + "dependencies": { + "@vue/shared": "3.5.26" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/dist/runtime-core.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/dist/runtime-core.cjs.prod.js new file mode 100644 index 00000000..46fd1f16 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/dist/runtime-core.cjs.prod.js @@ -0,0 +1,6732 @@ +/** +* @vue/runtime-core v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var reactivity = require('@vue/reactivity'); +var shared = require('@vue/shared'); + +function pushWarningContext(vnode) { +} +function popWarningContext() { +} +function assertNumber(val, type) { + return; +} + +const ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" +}; +const ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (shared.isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && shared.isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (shared.isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || shared.EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + if (errorHandler) { + reactivity.pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + reactivity.resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + if (throwInProd) { + throw err; + } else { + console.error(err); + } +} + +const queue = []; +let flushIndex = -1; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +function nextTick(fn) { + const p = currentFlushPromise || resolvedPromise; + return fn ? p.then(this ? fn.bind(this) : fn) : p; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(jobId), 0, job); + } + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!currentFlushPromise) { + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function queuePostFlushCb(cb) { + if (!shared.isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid) { + continue; + } + queue.splice(i, 1); + i--; + if (cb.flags & 4) { + cb.flags &= -2; + } + cb(); + if (!(cb.flags & 4)) { + cb.flags &= -2; + } + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (cb.flags & 4) { + cb.flags &= -2; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= -2; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen) { + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (false) ; + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= -2; + } + } + flushIndex = -1; + queue.length = 0; + flushPostFlushCbs(); + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(); + } + } +} + +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +const withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} + +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = shared.EMPTY_OBJ] = directives[i]; + if (dir) { + if (shared.isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + reactivity.traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + reactivity.pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + reactivity.resetTracking(); + } + } +} + +const TeleportEndKey = Symbol("_vte"); +const isTeleport = (type) => type.__isTeleport; +const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +const isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +const resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (shared.isString(targetSelector)) { + if (!select) { + return null; + } else { + const target = select(targetSelector); + return target; + } + } else { + return targetSelector; + } +}; +const TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert, querySelector, createText, createComment } + } = internals; + const disabled = isTeleportDisabled(n2.props); + let { shapeFlag, children, dynamicChildren } = n2; + if (n1 == null) { + const placeholder = n2.el = createText(""); + const mainAnchor = n2.anchor = createText(""); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + const mount = (container2, anchor2) => { + if (shapeFlag & 16) { + mountChildren( + children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountToTarget = () => { + const target = n2.target = resolveTarget(n2.props, querySelector); + const targetAnchor = prepareAnchor(target, n2, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target)) { + namespace = "mathml"; + } + if (parentComponent && parentComponent.isCE) { + (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); + } + if (!disabled) { + mount(target, targetAnchor); + updateCssVars(n2, false); + } + } + }; + if (disabled) { + mount(container, mainAnchor); + updateCssVars(n2, true); + } + if (isTeleportDeferred(n2.props)) { + n2.el.__isMounted = false; + queuePostRenderEffect(() => { + mountToTarget(); + delete n2.el.__isMounted; + }, parentSuspense); + } else { + mountToTarget(); + } + } else { + if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) { + queuePostRenderEffect(() => { + TeleportImpl.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + }, parentSuspense); + return; + } + n2.el = n1.el; + n2.targetStart = n1.targetStart; + const mainAnchor = n2.anchor = n1.anchor; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget( + n2.props, + querySelector + ); + if (nextTarget) { + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2, disabled); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target, + props + } = vnode; + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) { + const shouldRemove = doRemove || !isTeleportDisabled(props); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) { + insert(vnode.targetAnchor, container, parentAnchor); + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert(el, container, parentAnchor); + } + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + move( + children[i], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert(anchor, container, parentAnchor); + } +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode, querySelector, insert, createText } +}, hydrateChildren) { + function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) { + vnode2.anchor = hydrateChildren( + nextSibling(node2), + vnode2, + parentNode(node2), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + vnode2.targetStart = targetStart; + vnode2.targetAnchor = targetAnchor; + } + const target = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + const disabled = isTeleportDisabled(vnode.props); + if (target) { + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) { + if (disabled) { + hydrateDisabledTeleport( + node, + vnode, + targetNode, + targetNode && nextSibling(targetNode) + ); + } else { + vnode.anchor = nextSibling(node); + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + if (!vnode.targetAnchor) { + prepareAnchor(target, vnode, createText, insert); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode, disabled); + } else if (disabled) { + if (vnode.shapeFlag & 16) { + hydrateDisabledTeleport(node, vnode, node, nextSibling(node)); + } + } + return vnode.anchor && nextSibling(vnode.anchor); +} +const Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node, anchor; + if (isDisabled) { + node = vnode.el; + anchor = vnode.anchor; + } else { + node = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node && node !== anchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target); + insert(targetAnchor, target); + } + return targetAnchor; +} + +const leaveCbKey = Symbol("_leaveCb"); +const enterCbKey = Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +const TransitionHookValidator = [Function, Array]; +const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +const recursiveGetSubtree = (instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}; +const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + const child = findNonCommentChild(children); + const rawProps = reactivity.toRaw(props); + const { mode } = rawProps; + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks) => enterHooks = hooks + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) { + let leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + oldInnerChild = void 0; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + enterHooks.delayedLeave = () => { + delayedLeave(); + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + }; + } else { + oldInnerChild = void 0; + } + } else if (oldInnerChild) { + oldInnerChild = void 0; + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + for (const c of children) { + if (c.type !== Comment) { + child = c; + break; + } + } + } + return child; +} +const BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook(hook, args); + if (shared.isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook(cancelHook, [el]); + } else { + callHook(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove) { + const key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove(); + } + callHook(onBeforeLeave, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove(); + if (cancelled) { + callHook(onLeaveCancelled, [el]); + } else { + callHook(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + if (vnode.component) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && shared.isFunction(children.default)) { + return children.default(); + } + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} + +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return shared.isFunction(options) ? ( + // #8236: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => shared.extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} + +function useId() { + const i = getCurrentInstance(); + if (i) { + return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; + } + return ""; +} +function markAsyncBoundary(instance) { + instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; +} + +function useTemplateRef(key) { + const i = getCurrentInstance(); + const r = reactivity.shallowRef(null); + if (i) { + const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs; + { + Object.defineProperty(refs, key, { + enumerable: true, + get: () => r.value, + set: (val) => r.value = val + }); + } + } + const ret = r; + return ret; +} + +const pendingSetRefMap = /* @__PURE__ */ new WeakMap(); +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (shared.isArray(rawRef)) { + rawRef.forEach( + (r, i) => setRef( + r, + oldRawRef && (shared.isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), + parentSuspense, + vnode, + isUnmount + ) + ); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) { + setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); + } + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref } = rawRef; + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === shared.EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = reactivity.toRaw(setupState); + const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => { + return shared.hasOwn(rawSetupState, key); + }; + if (oldRef != null && oldRef !== ref) { + invalidatePendingSetRef(oldRawRef); + if (shared.isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) { + setupState[oldRef] = null; + } + } else if (reactivity.isRef(oldRef)) { + { + oldRef.value = null; + } + const oldRawRefAtom = oldRawRef; + if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; + } + } + if (shared.isFunction(ref)) { + callWithErrorHandling(ref, owner, 12, [value, refs]); + } else { + const _isString = shared.isString(ref); + const _isRef = reactivity.isRef(ref); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ; + if (isUnmount) { + shared.isArray(existing) && shared.remove(existing, refValue); + } else { + if (!shared.isArray(existing)) { + if (_isString) { + refs[ref] = [refValue]; + if (canSetSetupRef(ref)) { + setupState[ref] = refs[ref]; + } + } else { + const newVal = [refValue]; + { + ref.value = newVal; + } + if (rawRef.k) refs[rawRef.k] = newVal; + } + } else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } else if (_isString) { + refs[ref] = value; + if (canSetSetupRef(ref)) { + setupState[ref] = value; + } + } else if (_isRef) { + { + ref.value = value; + } + if (rawRef.k) refs[rawRef.k] = value; + } else ; + }; + if (value) { + const job = () => { + doSet(); + pendingSetRefMap.delete(rawRef); + }; + job.id = -1; + pendingSetRefMap.set(rawRef, job); + queuePostRenderEffect(job, parentSuspense); + } else { + invalidatePendingSetRef(rawRef); + doSet(); + } + } + } +} +function invalidatePendingSetRef(rawRef) { + const pendingSetRef = pendingSetRefMap.get(rawRef); + if (pendingSetRef) { + pendingSetRef.flags |= 8; + pendingSetRefMap.delete(rawRef); + } +} + +let hasLoggedMismatchError = false; +const logMismatchError = () => { + if (hasLoggedMismatchError) { + return; + } + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +const isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +const getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; + return void 0; +}; +const isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { + mt: mountComponent, + p: patch, + o: { + patchProp, + createText, + nextSibling, + parentNode, + remove, + insert, + createComment + } + } = rendererInternals; + const hydrate = (vnode, container) => { + if (!container.hasChildNodes()) { + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + isFragmentStart + ); + const { type, ref, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) { + if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else { + nextNode = onMismatch(); + } + } else { + if (node.data !== vnode.children) { + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode( + vnode.el = node.content.firstChild, + node, + parentComponent + ); + } else if (domType !== 8 || isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = nextSibling(node); + } + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) + vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) { + vnode.anchor = nextNode; + } + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else { + onMismatch(); + } + break; + case Fragment: + if (!isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = hydrateFragment( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + break; + default: + if (shapeFlag & 1) { + if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { + nextNode = onMismatch(); + } else { + nextNode = hydrateElement( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) { + nextNode = locateClosingAnchor(node); + } else if (isComment(node) && node.data === "teleport start") { + nextNode = locateClosingAnchor(node, node.data, "teleport end"); + } else { + nextNode = nextSibling(node); + } + mountComponent( + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + optimized + ); + if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Fragment); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else { + subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); + } + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) { + if (domType !== 8) { + nextNode = onMismatch(); + } else { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized, + rendererInternals, + hydrateChildren + ); + } + } else if (shapeFlag & 128) { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + getContainerType(parentNode(node)), + slotScopeIds, + optimized, + rendererInternals, + hydrateNode + ); + } else ; + } + if (ref != null) { + setRef(ref, null, parentSuspense, vnode); + } + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; + const forcePatch = type === "input" || type === "option"; + if (forcePatch || patchFlag !== -1) { + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition( + null, + // no need check parentSuspense in hydration + transition + ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + const cls = content.getAttribute("class"); + if (cls) content.$cls = cls; + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && // skip if element has innerHTML / textContent + !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren( + el.firstChild, + vnode, + el, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + while (next) { + if (!isMismatchAllowed(el, 1 /* CHILDREN */)) { + logMismatchError(); + } + const cur = next; + next = next.nextSibling; + remove(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { + clientText = clientText.slice(1); + } + if (el.textContent !== clientText) { + if (!isMismatchAllowed(el, 0 /* TEXT */)) { + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + if (forcePatch || !optimized || patchFlag & (16 | 32)) { + const isCustomElement = el.tagName.includes("-"); + for (const key in props) { + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers + key[0] === "." || isCustomElement) { + patchProp(el, key, null, props[key], void 0, parentComponent); + } + } + } else if (props.onClick) { + patchProp( + el, + "onClick", + null, + props.onClick, + void 0, + parentComponent + ); + } else if (patchFlag & 4 && reactivity.isReactive(props.style)) { + for (const key in props.style) props.style[key]; + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHooks, parentComponent, vnode); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { + queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert( + createText( + node.data.slice(vnode.children.length) + ), + container, + nextSibling(node) + ); + node.data = vnode.children; + } + } + node = hydrateNode( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } else if (isText && !vnode.children) { + insert(vnode.el = createText(""), container); + } else { + if (!isMismatchAllowed(container, 1 /* CHILDREN */)) { + logMismatchError(); + } + patch( + null, + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + const container = parentNode(node); + const next = hydrateChildren( + nextSibling(node), + vnode, + container, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && isComment(next) && next.data === "]") { + return nextSibling(vnode.anchor = next); + } else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) { + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) { + remove(next2); + } else { + break; + } + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove(node); + patch( + null, + vnode, + container, + next, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + if (parentComponent) { + parentComponent.vnode.el = vnode.el; + updateHOCHostEl(parentComponent, vnode.el); + } + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) { + if (match === 0) { + return nextSibling(node); + } else { + match--; + } + } + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) { + parentNode2.replaceChild(newNode, oldNode); + } + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) { + parent.vnode.el = parent.subTree.el = newNode; + } + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate, hydrateNode]; +} +const allowMismatchAttr = "data-allow-mismatch"; +const MismatchTypeString = { + [0 /* TEXT */]: "text", + [1 /* CHILDREN */]: "children", + [2 /* CLASS */]: "class", + [3 /* STYLE */]: "style", + [4 /* ATTRIBUTE */]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) { + while (el && !el.hasAttribute(allowMismatchAttr)) { + el = el.parentElement; + } + } + const allowedAttr = el && el.getAttribute(allowMismatchAttr); + if (allowedAttr == null) { + return false; + } else if (allowedAttr === "") { + return true; + } else { + const list = allowedAttr.split(","); + if (allowedType === 0 /* TEXT */ && list.includes("children")) { + return true; + } + return list.includes(MismatchTypeString[allowedType]); + } +} + +const requestIdleCallback = shared.getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); +const cancelIdleCallback = shared.getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); +const hydrateOnIdle = (timeout = 1e4) => (hydrate) => { + const id = requestIdleCallback(hydrate, { timeout }); + return () => cancelIdleCallback(id); +}; +function elementIsVisibleInViewport(el) { + const { top, left, bottom, right } = el.getBoundingClientRect(); + const { innerHeight, innerWidth } = window; + return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); +} +const hydrateOnVisible = (opts) => (hydrate, forEach) => { + const ob = new IntersectionObserver((entries) => { + for (const e of entries) { + if (!e.isIntersecting) continue; + ob.disconnect(); + hydrate(); + break; + } + }, opts); + forEach((el) => { + if (!(el instanceof Element)) return; + if (elementIsVisibleInViewport(el)) { + hydrate(); + ob.disconnect(); + return false; + } + ob.observe(el); + }); + return () => ob.disconnect(); +}; +const hydrateOnMediaQuery = (query) => (hydrate) => { + if (query) { + const mql = matchMedia(query); + if (mql.matches) { + hydrate(); + } else { + mql.addEventListener("change", hydrate, { once: true }); + return () => mql.removeEventListener("change", hydrate); + } + } +}; +const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => { + if (shared.isString(interactions)) interactions = [interactions]; + let hasHydrated = false; + const doHydrate = (e) => { + if (!hasHydrated) { + hasHydrated = true; + teardown(); + hydrate(); + e.target.dispatchEvent(new e.constructor(e.type, e)); + } + }; + const teardown = () => { + forEach((el) => { + for (const i of interactions) { + el.removeEventListener(i, doHydrate); + } + }); + }; + forEach((el) => { + for (const i of interactions) { + el.addEventListener(i, doHydrate, { once: true }); + } + }); + return teardown; +}; +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + const result = cb(next); + if (result === false) { + break; + } + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") { + depth++; + } + } + next = next.nextSibling; + } + } else { + cb(node); + } +} + +const isAsyncWrapper = (i) => !!i.type.__asyncLoader; +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (shared.isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + hydrate: hydrateStrategy, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve, reject) => { + const userRetry = () => resolve(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate) { + let patched = false; + (instance.bu || (instance.bu = [])).push(() => patched = true); + const performHydrate = () => { + if (patched) { + return; + } + hydrate(); + }; + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy( + performHydrate, + (cb) => forEachElement(el, cb) + ); + if (teardown) { + (instance.bum || (instance.bum = [])).push(teardown); + } + } : performHydrate; + if (resolvedComp) { + doHydrate(); + } else { + load().then(() => !instance.isUnmounted && doHydrate()); + } + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = reactivity.ref(false); + const error = reactivity.ref(); + const delayed = reactivity.ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.update(); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} + +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +const KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + namespace, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + shared.invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + invalidateMount(instance2.m); + invalidateMount(instance2.a); + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + shared.invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName(vnode.type); + if (name && !filter(name)) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (cached && (!current || !isSameVNodeType(cached, current))) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + if (isSuspense(instance.subTree.type)) { + queuePostRenderEffect(() => { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + }, instance.subTree.suspense); + } else { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return current = null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + if (vnode.type === Comment) { + current = null; + return vnode; + } + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + vnode.shapeFlag &= -257; + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +const KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (shared.isArray(pattern)) { + return pattern.some((p) => matches(p, name)); + } else if (shared.isString(pattern)) { + return pattern.split(",").includes(name); + } else if (shared.isRegExp(pattern)) { + pattern.lastIndex = 0; + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + shared.remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= -257; + vnode.shapeFlag &= -513; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} + +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + reactivity.pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + reactivity.resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") { + injectHook(lifecycle, (...args) => hook(...args), target); + } +}; +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook( + "bu" +); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook( + "bum" +); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook( + "sp" +); +const onRenderTriggered = createHook("rtg"); +const onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} + +const COMPONENTS = "components"; +const DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (shared.isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === shared.camelize(name) || selfName === shared.capitalize(shared.camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + return res; + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[shared.camelize(name)] || registry[shared.capitalize(shared.camelize(name))]); +} + +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + const sourceIsArray = shared.isArray(source); + if (sourceIsArray || shared.isString(source)) { + const sourceIsReactiveArray = sourceIsArray && reactivity.isReactive(source); + let needsWrap = false; + let isReadonlySource = false; + if (sourceIsReactiveArray) { + needsWrap = !reactivity.isShallow(source); + isReadonlySource = reactivity.isReadonly(source); + source = reactivity.shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem( + needsWrap ? isReadonlySource ? reactivity.toReadonly(reactivity.toReactive(source[i])) : reactivity.toReactive(source[i]) : source[i], + i, + void 0, + cached && cached[i] + ); + } + } else if (typeof source === "number") { + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} + +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (shared.isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} + +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + const hasProps = Object.keys(props).length > 0; + if (name !== "default") props.name = name; + return openBlock(), createBlock( + Fragment, + null, + [createVNode("slot", props, fallback && fallback())], + hasProps ? -2 : 64 + ); + } + let slot = slots[name]; + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key; + const rendered = createBlock( + Fragment, + { + key: (slotKey && !shared.isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content + (!validSlotContent && fallback ? "_fb" : "") + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} + +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = obj[key]; + } + return ret; +} + +const getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ shared.extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => i.props, + $attrs: (i) => i.attrs, + $slots: (i) => i.slots, + $refs: (i) => i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i) , + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) + }) +); +const hasSetupBinding = (state, key) => state !== shared.EMPTY_OBJ && !state.__isScriptSetup && shared.hasOwn(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1 /* SETUP */: + return setupState[key]; + case 2 /* DATA */: + return data[key]; + case 4 /* CONTEXT */: + return ctx[key]; + case 3 /* PROPS */: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1 /* SETUP */; + return setupState[key]; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + accessCache[key] = 2 /* DATA */; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && shared.hasOwn(normalizedProps, key) + ) { + accessCache[key] = 3 /* PROPS */; + return props[key]; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0 /* OTHER */; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + reactivity.track(instance.attrs, "get", ""); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, shared.hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else ; + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + data[key] = value; + return true; + } else if (shared.hasOwn(instance.props, key)) { + return false; + } + if (key[0] === "$" && key.slice(1) in instance) { + return false; + } else { + { + ctx[key] = value; + } + } + return true; + }, + has({ + _: { data, setupState, accessCache, ctx, appContext, propsOptions, type } + }, key) { + let normalizedProps, cssModules; + return !!(accessCache[key] || data !== shared.EMPTY_OBJ && key[0] !== "$" && shared.hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && shared.hasOwn(normalizedProps, key) || shared.hasOwn(ctx, key) || shared.hasOwn(publicPropertiesMap, key) || shared.hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]); + }, + defineProperty(target, key, descriptor) { + if (descriptor.get != null) { + target._.accessCache[key] = 0; + } else if (shared.hasOwn(descriptor, "value")) { + this.set(target, key, descriptor.value, null); + } + return Reflect.defineProperty(target, key, descriptor); + } +}; +const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ shared.extend({}, PublicInstanceProxyHandlers, { + get(target, key) { + if (key === Symbol.unscopables) { + return; + } + return PublicInstanceProxyHandlers.get(target, key, target); + }, + has(_, key) { + const has = key[0] !== "_" && !shared.isGloballyAllowed(key); + return has; + } +}); + +function defineProps() { + return null; +} +function defineEmits() { + return null; +} +function defineExpose(exposed) { +} +function defineOptions(options) { +} +function defineSlots() { + return null; +} +function defineModel() { +} +function withDefaults(props, defaults) { + return null; +} +function useSlots() { + return getContext().slots; +} +function useAttrs() { + return getContext().attrs; +} +function getContext(calledFunctionName) { + const i = getCurrentInstance(); + return i.setupContext || (i.setupContext = createSetupContext(i)); +} +function normalizePropsOrEmits(props) { + return shared.isArray(props) ? props.reduce( + (normalized, p) => (normalized[p] = null, normalized), + {} + ) : props; +} +function mergeDefaults(raw, defaults) { + const props = normalizePropsOrEmits(raw); + for (const key in defaults) { + if (key.startsWith("__skip")) continue; + let opt = props[key]; + if (opt) { + if (shared.isArray(opt) || shared.isFunction(opt)) { + opt = props[key] = { type: opt, default: defaults[key] }; + } else { + opt.default = defaults[key]; + } + } else if (opt === null) { + opt = props[key] = { default: defaults[key] }; + } else ; + if (opt && defaults[`__skip_${key}`]) { + opt.skipFactory = true; + } + } + return props; +} +function mergeModels(a, b) { + if (!a || !b) return a || b; + if (shared.isArray(a) && shared.isArray(b)) return a.concat(b); + return shared.extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b)); +} +function createPropsRestProxy(props, excludedKeys) { + const ret = {}; + for (const key in props) { + if (!excludedKeys.includes(key)) { + Object.defineProperty(ret, key, { + enumerable: true, + get: () => props[key] + }); + } + } + return ret; +} +function withAsyncContext(getAwaitable) { + const ctx = getCurrentInstance(); + let awaitable = getAwaitable(); + unsetCurrentInstance(); + if (shared.isPromise(awaitable)) { + awaitable = awaitable.catch((e) => { + setCurrentInstance(ctx); + throw e; + }); + } + return [awaitable, () => setCurrentInstance(ctx)]; +} + +let shouldCacheAccess = true; +function applyOptions(instance) { + const options = resolveMergedOptions(instance); + const publicThis = instance.proxy; + const ctx = instance.ctx; + shouldCacheAccess = false; + if (options.beforeCreate) { + callHook(options.beforeCreate, instance, "bc"); + } + const { + // state + data: dataOptions, + computed: computedOptions, + methods, + watch: watchOptions, + provide: provideOptions, + inject: injectOptions, + // lifecycle + created, + beforeMount, + mounted, + beforeUpdate, + updated, + activated, + deactivated, + beforeDestroy, + beforeUnmount, + destroyed, + unmounted, + render, + renderTracked, + renderTriggered, + errorCaptured, + serverPrefetch, + // public API + expose, + inheritAttrs, + // assets + components, + directives, + filters + } = options; + const checkDuplicateProperties = null; + if (injectOptions) { + resolveInjections(injectOptions, ctx, checkDuplicateProperties); + } + if (methods) { + for (const key in methods) { + const methodHandler = methods[key]; + if (shared.isFunction(methodHandler)) { + { + ctx[key] = methodHandler.bind(publicThis); + } + } + } + } + if (dataOptions) { + const data = dataOptions.call(publicThis, publicThis); + if (!shared.isObject(data)) ; else { + instance.data = reactivity.reactive(data); + } + } + shouldCacheAccess = true; + if (computedOptions) { + for (const key in computedOptions) { + const opt = computedOptions[key]; + const get = shared.isFunction(opt) ? opt.bind(publicThis, publicThis) : shared.isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : shared.NOOP; + const set = !shared.isFunction(opt) && shared.isFunction(opt.set) ? opt.set.bind(publicThis) : shared.NOOP; + const c = computed({ + get, + set + }); + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => c.value, + set: (v) => c.value = v + }); + } + } + if (watchOptions) { + for (const key in watchOptions) { + createWatcher(watchOptions[key], ctx, publicThis, key); + } + } + if (provideOptions) { + const provides = shared.isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; + Reflect.ownKeys(provides).forEach((key) => { + provide(key, provides[key]); + }); + } + if (created) { + callHook(created, instance, "c"); + } + function registerLifecycleHook(register, hook) { + if (shared.isArray(hook)) { + hook.forEach((_hook) => register(_hook.bind(publicThis))); + } else if (hook) { + register(hook.bind(publicThis)); + } + } + registerLifecycleHook(onBeforeMount, beforeMount); + registerLifecycleHook(onMounted, mounted); + registerLifecycleHook(onBeforeUpdate, beforeUpdate); + registerLifecycleHook(onUpdated, updated); + registerLifecycleHook(onActivated, activated); + registerLifecycleHook(onDeactivated, deactivated); + registerLifecycleHook(onErrorCaptured, errorCaptured); + registerLifecycleHook(onRenderTracked, renderTracked); + registerLifecycleHook(onRenderTriggered, renderTriggered); + registerLifecycleHook(onBeforeUnmount, beforeUnmount); + registerLifecycleHook(onUnmounted, unmounted); + registerLifecycleHook(onServerPrefetch, serverPrefetch); + if (shared.isArray(expose)) { + if (expose.length) { + const exposed = instance.exposed || (instance.exposed = {}); + expose.forEach((key) => { + Object.defineProperty(exposed, key, { + get: () => publicThis[key], + set: (val) => publicThis[key] = val, + enumerable: true + }); + }); + } else if (!instance.exposed) { + instance.exposed = {}; + } + } + if (render && instance.render === shared.NOOP) { + instance.render = render; + } + if (inheritAttrs != null) { + instance.inheritAttrs = inheritAttrs; + } + if (components) instance.components = components; + if (directives) instance.directives = directives; + if (serverPrefetch) { + markAsyncBoundary(instance); + } +} +function resolveInjections(injectOptions, ctx, checkDuplicateProperties = shared.NOOP) { + if (shared.isArray(injectOptions)) { + injectOptions = normalizeInject(injectOptions); + } + for (const key in injectOptions) { + const opt = injectOptions[key]; + let injected; + if (shared.isObject(opt)) { + if ("default" in opt) { + injected = inject( + opt.from || key, + opt.default, + true + ); + } else { + injected = inject(opt.from || key); + } + } else { + injected = inject(opt); + } + if (reactivity.isRef(injected)) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => injected.value, + set: (v) => injected.value = v + }); + } else { + ctx[key] = injected; + } + } +} +function callHook(hook, instance, type) { + callWithAsyncErrorHandling( + shared.isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy), + instance, + type + ); +} +function createWatcher(raw, ctx, publicThis, key) { + let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; + if (shared.isString(raw)) { + const handler = ctx[raw]; + if (shared.isFunction(handler)) { + { + watch(getter, handler); + } + } + } else if (shared.isFunction(raw)) { + { + watch(getter, raw.bind(publicThis)); + } + } else if (shared.isObject(raw)) { + if (shared.isArray(raw)) { + raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); + } else { + const handler = shared.isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; + if (shared.isFunction(handler)) { + watch(getter, handler, raw); + } + } + } else ; +} +function resolveMergedOptions(instance) { + const base = instance.type; + const { mixins, extends: extendsOptions } = base; + const { + mixins: globalMixins, + optionsCache: cache, + config: { optionMergeStrategies } + } = instance.appContext; + const cached = cache.get(base); + let resolved; + if (cached) { + resolved = cached; + } else if (!globalMixins.length && !mixins && !extendsOptions) { + { + resolved = base; + } + } else { + resolved = {}; + if (globalMixins.length) { + globalMixins.forEach( + (m) => mergeOptions(resolved, m, optionMergeStrategies, true) + ); + } + mergeOptions(resolved, base, optionMergeStrategies); + } + if (shared.isObject(base)) { + cache.set(base, resolved); + } + return resolved; +} +function mergeOptions(to, from, strats, asMixin = false) { + const { mixins, extends: extendsOptions } = from; + if (extendsOptions) { + mergeOptions(to, extendsOptions, strats, true); + } + if (mixins) { + mixins.forEach( + (m) => mergeOptions(to, m, strats, true) + ); + } + for (const key in from) { + if (asMixin && key === "expose") ; else { + const strat = internalOptionMergeStrats[key] || strats && strats[key]; + to[key] = strat ? strat(to[key], from[key]) : from[key]; + } + } + return to; +} +const internalOptionMergeStrats = { + data: mergeDataFn, + props: mergeEmitsOrPropsOptions, + emits: mergeEmitsOrPropsOptions, + // objects + methods: mergeObjectOptions, + computed: mergeObjectOptions, + // lifecycle + beforeCreate: mergeAsArray, + created: mergeAsArray, + beforeMount: mergeAsArray, + mounted: mergeAsArray, + beforeUpdate: mergeAsArray, + updated: mergeAsArray, + beforeDestroy: mergeAsArray, + beforeUnmount: mergeAsArray, + destroyed: mergeAsArray, + unmounted: mergeAsArray, + activated: mergeAsArray, + deactivated: mergeAsArray, + errorCaptured: mergeAsArray, + serverPrefetch: mergeAsArray, + // assets + components: mergeObjectOptions, + directives: mergeObjectOptions, + // watch + watch: mergeWatchOptions, + // provide / inject + provide: mergeDataFn, + inject: mergeInject +}; +function mergeDataFn(to, from) { + if (!from) { + return to; + } + if (!to) { + return from; + } + return function mergedDataFn() { + return (shared.extend)( + shared.isFunction(to) ? to.call(this, this) : to, + shared.isFunction(from) ? from.call(this, this) : from + ); + }; +} +function mergeInject(to, from) { + return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); +} +function normalizeInject(raw) { + if (shared.isArray(raw)) { + const res = {}; + for (let i = 0; i < raw.length; i++) { + res[raw[i]] = raw[i]; + } + return res; + } + return raw; +} +function mergeAsArray(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function mergeObjectOptions(to, from) { + return to ? shared.extend(/* @__PURE__ */ Object.create(null), to, from) : from; +} +function mergeEmitsOrPropsOptions(to, from) { + if (to) { + if (shared.isArray(to) && shared.isArray(from)) { + return [.../* @__PURE__ */ new Set([...to, ...from])]; + } + return shared.extend( + /* @__PURE__ */ Object.create(null), + normalizePropsOrEmits(to), + normalizePropsOrEmits(from != null ? from : {}) + ); + } else { + return from; + } +} +function mergeWatchOptions(to, from) { + if (!to) return from; + if (!from) return to; + const merged = shared.extend(/* @__PURE__ */ Object.create(null), to); + for (const key in from) { + merged[key] = mergeAsArray(to[key], from[key]); + } + return merged; +} + +function createAppContext() { + return { + app: null, + config: { + isNativeTag: shared.NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid$1 = 0; +function createAppAPI(render, hydrate) { + return function createApp(rootComponent, rootProps = null) { + if (!shared.isFunction(rootComponent)) { + rootComponent = shared.extend({}, rootComponent); + } + if (rootProps != null && !shared.isObject(rootProps)) { + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new WeakSet(); + const pluginCleanupFns = []; + let isMounted = false; + const app = context.app = { + _uid: uid$1++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v) { + }, + use(plugin, ...options) { + if (installedPlugins.has(plugin)) ; else if (plugin && shared.isFunction(plugin.install)) { + installedPlugins.add(plugin); + plugin.install(app, ...options); + } else if (shared.isFunction(plugin)) { + installedPlugins.add(plugin); + plugin(app, ...options); + } else ; + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } + } + return app; + }, + component(name, component) { + if (!component) { + return context.components[name]; + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + if (!directive) { + return context.directives[name]; + } + context.directives[name] = directive; + return app; + }, + mount(rootContainer, isHydrate, namespace) { + if (!isMounted) { + const vnode = app._ceVNode || createVNode(rootComponent, rootProps); + vnode.appContext = context; + if (namespace === true) { + namespace = "svg"; + } else if (namespace === false) { + namespace = void 0; + } + if (isHydrate && hydrate) { + hydrate(vnode, rootContainer); + } else { + render(vnode, rootContainer, namespace); + } + isMounted = true; + app._container = rootContainer; + rootContainer.__vue_app__ = app; + return getComponentPublicInstance(vnode.component); + } + }, + onUnmount(cleanupFn) { + pluginCleanupFns.push(cleanupFn); + }, + unmount() { + if (isMounted) { + callWithAsyncErrorHandling( + pluginCleanupFns, + app._instance, + 16 + ); + render(null, app._container); + delete app._container.__vue_app__; + } + }, + provide(key, value) { + context.provides[key] = value; + return app; + }, + runWithContext(fn) { + const lastApp = currentApp; + currentApp = app; + try { + return fn(); + } finally { + currentApp = lastApp; + } + } + }; + return app; + }; +} +let currentApp = null; + +function provide(key, value) { + if (!currentInstance) ; else { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = getCurrentInstance(); + if (instance || currentApp) { + let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + } else ; + } +} +function hasInjectionContext() { + return !!(getCurrentInstance() || currentApp); +} + +const internalObjectProto = {}; +const createInternalObject = () => Object.create(internalObjectProto); +const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto; + +function initProps(instance, rawProps, isStateful, isSSR = false) { + const props = {}; + const attrs = createInternalObject(); + instance.propsDefaults = /* @__PURE__ */ Object.create(null); + setFullProps(instance, rawProps, props, attrs); + for (const key in instance.propsOptions[0]) { + if (!(key in props)) { + props[key] = void 0; + } + } + if (isStateful) { + instance.props = isSSR ? props : reactivity.shallowReactive(props); + } else { + if (!instance.type.props) { + instance.props = attrs; + } else { + instance.props = props; + } + } + instance.attrs = attrs; +} +function updateProps(instance, rawProps, rawPrevProps, optimized) { + const { + props, + attrs, + vnode: { patchFlag } + } = instance; + const rawCurrentProps = reactivity.toRaw(props); + const [options] = instance.propsOptions; + let hasAttrsChanged = false; + if ( + // always force full diff in dev + // - #1942 if hmr is enabled with sfc component + // - vite#872 non-sfc component used by sfc component + (optimized || patchFlag > 0) && !(patchFlag & 16) + ) { + if (patchFlag & 8) { + const propsToUpdate = instance.vnode.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + let key = propsToUpdate[i]; + if (isEmitListener(instance.emitsOptions, key)) { + continue; + } + const value = rawProps[key]; + if (options) { + if (shared.hasOwn(attrs, key)) { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } else { + const camelizedKey = shared.camelize(key); + props[camelizedKey] = resolvePropValue( + options, + rawCurrentProps, + camelizedKey, + value, + instance, + false + ); + } + } else { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + } else { + if (setFullProps(instance, rawProps, props, attrs)) { + hasAttrsChanged = true; + } + let kebabKey; + for (const key in rawCurrentProps) { + if (!rawProps || // for camelCase + !shared.hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case + // and converted to camelCase (#955) + ((kebabKey = shared.hyphenate(key)) === key || !shared.hasOwn(rawProps, kebabKey))) { + if (options) { + if (rawPrevProps && // for camelCase + (rawPrevProps[key] !== void 0 || // for kebab-case + rawPrevProps[kebabKey] !== void 0)) { + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + void 0, + instance, + true + ); + } + } else { + delete props[key]; + } + } + } + if (attrs !== rawCurrentProps) { + for (const key in attrs) { + if (!rawProps || !shared.hasOwn(rawProps, key) && true) { + delete attrs[key]; + hasAttrsChanged = true; + } + } + } + } + if (hasAttrsChanged) { + reactivity.trigger(instance.attrs, "set", ""); + } +} +function setFullProps(instance, rawProps, props, attrs) { + const [options, needCastKeys] = instance.propsOptions; + let hasAttrsChanged = false; + let rawCastValues; + if (rawProps) { + for (let key in rawProps) { + if (shared.isReservedProp(key)) { + continue; + } + const value = rawProps[key]; + let camelKey; + if (options && shared.hasOwn(options, camelKey = shared.camelize(key))) { + if (!needCastKeys || !needCastKeys.includes(camelKey)) { + props[camelKey] = value; + } else { + (rawCastValues || (rawCastValues = {}))[camelKey] = value; + } + } else if (!isEmitListener(instance.emitsOptions, key)) { + if (!(key in attrs) || value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + if (needCastKeys) { + const rawCurrentProps = reactivity.toRaw(props); + const castValues = rawCastValues || shared.EMPTY_OBJ; + for (let i = 0; i < needCastKeys.length; i++) { + const key = needCastKeys[i]; + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + castValues[key], + instance, + !shared.hasOwn(castValues, key) + ); + } + } + return hasAttrsChanged; +} +function resolvePropValue(options, props, key, value, instance, isAbsent) { + const opt = options[key]; + if (opt != null) { + const hasDefault = shared.hasOwn(opt, "default"); + if (hasDefault && value === void 0) { + const defaultValue = opt.default; + if (opt.type !== Function && !opt.skipFactory && shared.isFunction(defaultValue)) { + const { propsDefaults } = instance; + if (key in propsDefaults) { + value = propsDefaults[key]; + } else { + const reset = setCurrentInstance(instance); + value = propsDefaults[key] = defaultValue.call( + null, + props + ); + reset(); + } + } else { + value = defaultValue; + } + if (instance.ce) { + instance.ce._setProp(key, value); + } + } + if (opt[0 /* shouldCast */]) { + if (isAbsent && !hasDefault) { + value = false; + } else if (opt[1 /* shouldCastTrue */] && (value === "" || value === shared.hyphenate(key))) { + value = true; + } + } + } + return value; +} +const mixinPropsCache = /* @__PURE__ */ new WeakMap(); +function normalizePropsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinPropsCache : appContext.propsCache; + const cached = cache.get(comp); + if (cached) { + return cached; + } + const raw = comp.props; + const normalized = {}; + const needCastKeys = []; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendProps = (raw2) => { + hasExtends = true; + const [props, keys] = normalizePropsOptions(raw2, appContext, true); + shared.extend(normalized, props); + if (keys) needCastKeys.push(...keys); + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendProps); + } + if (comp.extends) { + extendProps(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendProps); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, shared.EMPTY_ARR); + } + return shared.EMPTY_ARR; + } + if (shared.isArray(raw)) { + for (let i = 0; i < raw.length; i++) { + const normalizedKey = shared.camelize(raw[i]); + if (validatePropName(normalizedKey)) { + normalized[normalizedKey] = shared.EMPTY_OBJ; + } + } + } else if (raw) { + for (const key in raw) { + const normalizedKey = shared.camelize(key); + if (validatePropName(normalizedKey)) { + const opt = raw[key]; + const prop = normalized[normalizedKey] = shared.isArray(opt) || shared.isFunction(opt) ? { type: opt } : shared.extend({}, opt); + const propType = prop.type; + let shouldCast = false; + let shouldCastTrue = true; + if (shared.isArray(propType)) { + for (let index = 0; index < propType.length; ++index) { + const type = propType[index]; + const typeName = shared.isFunction(type) && type.name; + if (typeName === "Boolean") { + shouldCast = true; + break; + } else if (typeName === "String") { + shouldCastTrue = false; + } + } + } else { + shouldCast = shared.isFunction(propType) && propType.name === "Boolean"; + } + prop[0 /* shouldCast */] = shouldCast; + prop[1 /* shouldCastTrue */] = shouldCastTrue; + if (shouldCast || shared.hasOwn(prop, "default")) { + needCastKeys.push(normalizedKey); + } + } + } + } + const res = [normalized, needCastKeys]; + if (shared.isObject(comp)) { + cache.set(comp, res); + } + return res; +} +function validatePropName(key) { + if (key[0] !== "$" && !shared.isReservedProp(key)) { + return true; + } + return false; +} + +const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable"; +const normalizeSlotValue = (value) => shared.isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; +const normalizeSlot = (key, rawSlot, ctx) => { + if (rawSlot._n) { + return rawSlot; + } + const normalized = withCtx((...args) => { + if (false) ; + return normalizeSlotValue(rawSlot(...args)); + }, ctx); + normalized._c = false; + return normalized; +}; +const normalizeObjectSlots = (rawSlots, slots, instance) => { + const ctx = rawSlots._ctx; + for (const key in rawSlots) { + if (isInternalKey(key)) continue; + const value = rawSlots[key]; + if (shared.isFunction(value)) { + slots[key] = normalizeSlot(key, value, ctx); + } else if (value != null) { + const normalized = normalizeSlotValue(value); + slots[key] = () => normalized; + } + } +}; +const normalizeVNodeSlots = (instance, children) => { + const normalized = normalizeSlotValue(children); + instance.slots.default = () => normalized; +}; +const assignSlots = (slots, children, optimized) => { + for (const key in children) { + if (optimized || !isInternalKey(key)) { + slots[key] = children[key]; + } + } +}; +const initSlots = (instance, children, optimized) => { + const slots = instance.slots = createInternalObject(); + if (instance.vnode.shapeFlag & 32) { + const type = children._; + if (type) { + assignSlots(slots, children, optimized); + if (optimized) { + shared.def(slots, "_", type, true); + } + } else { + normalizeObjectSlots(children, slots); + } + } else if (children) { + normalizeVNodeSlots(instance, children); + } +}; +const updateSlots = (instance, children, optimized) => { + const { vnode, slots } = instance; + let needDeletionCheck = true; + let deletionComparisonTarget = shared.EMPTY_OBJ; + if (vnode.shapeFlag & 32) { + const type = children._; + if (type) { + if (optimized && type === 1) { + needDeletionCheck = false; + } else { + assignSlots(slots, children, optimized); + } + } else { + needDeletionCheck = !children.$stable; + normalizeObjectSlots(children, slots); + } + deletionComparisonTarget = children; + } else if (children) { + normalizeVNodeSlots(instance, children); + deletionComparisonTarget = { default: 1 }; + } + if (needDeletionCheck) { + for (const key in slots) { + if (!isInternalKey(key) && deletionComparisonTarget[key] == null) { + delete slots[key]; + } + } + } +}; + +const queuePostRenderEffect = queueEffectWithSuspense ; +function createRenderer(options) { + return baseCreateRenderer(options); +} +function createHydrationRenderer(options) { + return baseCreateRenderer(options, createHydrationFunctions); +} +function baseCreateRenderer(options, createHydrationFns) { + const target = shared.getGlobalThis(); + target.__VUE__ = true; + const { + insert: hostInsert, + remove: hostRemove, + patchProp: hostPatchProp, + createElement: hostCreateElement, + createText: hostCreateText, + createComment: hostCreateComment, + setText: hostSetText, + setElementText: hostSetElementText, + parentNode: hostParentNode, + nextSibling: hostNextSibling, + setScopeId: hostSetScopeId = shared.NOOP, + insertStaticContent: hostInsertStaticContent + } = options; + const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => { + if (n1 === n2) { + return; + } + if (n1 && !isSameVNodeType(n1, n2)) { + anchor = getNextHostNode(n1); + unmount(n1, parentComponent, parentSuspense, true); + n1 = null; + } + if (n2.patchFlag === -2) { + optimized = false; + n2.dynamicChildren = null; + } + const { type, ref, shapeFlag } = n2; + switch (type) { + case Text: + processText(n1, n2, container, anchor); + break; + case Comment: + processCommentNode(n1, n2, container, anchor); + break; + case Static: + if (n1 == null) { + mountStaticNode(n2, container, anchor, namespace); + } + break; + case Fragment: + processFragment( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + break; + default: + if (shapeFlag & 1) { + processElement( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 6) { + processComponent( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 64) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else if (shapeFlag & 128) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else ; + } + if (ref != null && parentComponent) { + setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2); + } else if (ref == null && n1 && n1.ref != null) { + setRef(n1.ref, null, parentSuspense, n1, true); + } + }; + const processText = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateText(n2.children), + container, + anchor + ); + } else { + const el = n2.el = n1.el; + if (n2.children !== n1.children) { + hostSetText(el, n2.children); + } + } + }; + const processCommentNode = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateComment(n2.children || ""), + container, + anchor + ); + } else { + n2.el = n1.el; + } + }; + const mountStaticNode = (n2, container, anchor, namespace) => { + [n2.el, n2.anchor] = hostInsertStaticContent( + n2.children, + container, + anchor, + namespace, + n2.el, + n2.anchor + ); + }; + const moveStaticNode = ({ el, anchor }, container, nextSibling) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostInsert(el, container, nextSibling); + el = next; + } + hostInsert(anchor, container, nextSibling); + }; + const removeStaticNode = ({ el, anchor }) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostRemove(el); + el = next; + } + hostRemove(anchor); + }; + const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + if (n2.type === "svg") { + namespace = "svg"; + } else if (n2.type === "math") { + namespace = "mathml"; + } + if (n1 == null) { + mountElement( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + patchElement( + n1, + n2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let el; + let vnodeHook; + const { props, shapeFlag, transition, dirs } = vnode; + el = vnode.el = hostCreateElement( + vnode.type, + namespace, + props && props.is, + props + ); + if (shapeFlag & 8) { + hostSetElementText(el, vnode.children); + } else if (shapeFlag & 16) { + mountChildren( + vnode.children, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(vnode, namespace), + slotScopeIds, + optimized + ); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent); + if (props) { + for (const key in props) { + if (key !== "value" && !shared.isReservedProp(key)) { + hostPatchProp(el, key, null, props[key], namespace, parentComponent); + } + } + if ("value" in props) { + hostPatchProp(el, "value", null, props.value, namespace); + } + if (vnodeHook = props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + const needCallTransitionHooks = needTransition(parentSuspense, transition); + if (needCallTransitionHooks) { + transition.beforeEnter(el); + } + hostInsert(el, container, anchor); + if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + }; + const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => { + if (scopeId) { + hostSetScopeId(el, scopeId); + } + if (slotScopeIds) { + for (let i = 0; i < slotScopeIds.length; i++) { + hostSetScopeId(el, slotScopeIds[i]); + } + } + if (parentComponent) { + let subTree = parentComponent.subTree; + if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) { + const parentVNode = parentComponent.vnode; + setScopeId( + el, + parentVNode, + parentVNode.scopeId, + parentVNode.slotScopeIds, + parentComponent.parent + ); + } + } + }; + const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => { + for (let i = start; i < children.length; i++) { + const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); + patch( + null, + child, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const el = n2.el = n1.el; + let { patchFlag, dynamicChildren, dirs } = n2; + patchFlag |= n1.patchFlag & 16; + const oldProps = n1.props || shared.EMPTY_OBJ; + const newProps = n2.props || shared.EMPTY_OBJ; + let vnodeHook; + parentComponent && toggleRecurse(parentComponent, false); + if (vnodeHook = newProps.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + } + if (dirs) { + invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); + } + parentComponent && toggleRecurse(parentComponent, true); + if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) { + hostSetElementText(el, ""); + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + el, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds + ); + } else if (!optimized) { + patchChildren( + n1, + n2, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds, + false + ); + } + if (patchFlag > 0) { + if (patchFlag & 16) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } else { + if (patchFlag & 2) { + if (oldProps.class !== newProps.class) { + hostPatchProp(el, "class", null, newProps.class, namespace); + } + } + if (patchFlag & 4) { + hostPatchProp(el, "style", oldProps.style, newProps.style, namespace); + } + if (patchFlag & 8) { + const propsToUpdate = n2.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + const key = propsToUpdate[i]; + const prev = oldProps[key]; + const next = newProps[key]; + if (next !== prev || key === "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + } + } + if (patchFlag & 1) { + if (n1.children !== n2.children) { + hostSetElementText(el, n2.children); + } + } + } else if (!optimized && dynamicChildren == null) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } + if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); + }, parentSuspense); + } + }; + const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => { + for (let i = 0; i < newChildren.length; i++) { + const oldVNode = oldChildren[i]; + const newVNode = newChildren[i]; + const container = ( + // oldVNode may be an errored async setup() component inside Suspense + // which will not have a mounted element + oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent + // of the Fragment itself so it can move its children. + (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement + // which also requires the correct parent container + !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. + oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : ( + // In other cases, the parent container is not actually used so we + // just pass the block element here to avoid a DOM parentNode call. + fallbackContainer + ) + ); + patch( + oldVNode, + newVNode, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + true + ); + } + }; + const patchProps = (el, oldProps, newProps, parentComponent, namespace) => { + if (oldProps !== newProps) { + if (oldProps !== shared.EMPTY_OBJ) { + for (const key in oldProps) { + if (!shared.isReservedProp(key) && !(key in newProps)) { + hostPatchProp( + el, + key, + oldProps[key], + null, + namespace, + parentComponent + ); + } + } + } + for (const key in newProps) { + if (shared.isReservedProp(key)) continue; + const next = newProps[key]; + const prev = oldProps[key]; + if (next !== prev && key !== "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + if ("value" in newProps) { + hostPatchProp(el, "value", oldProps.value, newProps.value, namespace); + } + } + }; + const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); + const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); + let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + if (n1 == null) { + hostInsert(fragmentStartAnchor, container, anchor); + hostInsert(fragmentEndAnchor, container, anchor); + mountChildren( + // #10007 + // such fragment like `<></>` will be compiled into + // a fragment which doesn't have a children. + // In this case fallback to an empty array + n2.children || [], + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result + // of renderSlot() with no valid children + n1.dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + container, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + if ( + // #2080 if the stable fragment has a key, it's a <template v-for> that may + // get moved around. Make sure all root level vnodes inherit el. + // #2134 or if it's a component root, it may also get moved around + // as the component is being moved. + n2.key != null || parentComponent && n2 === parentComponent.subTree + ) { + traverseStaticChildren( + n1, + n2, + true + /* shallow */ + ); + } + } else { + patchChildren( + n1, + n2, + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + }; + const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + n2.slotScopeIds = slotScopeIds; + if (n1 == null) { + if (n2.shapeFlag & 512) { + parentComponent.ctx.activate( + n2, + container, + anchor, + namespace, + optimized + ); + } else { + mountComponent( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + optimized + ); + } + } else { + updateComponent(n1, n2, optimized); + } + }; + const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => { + const instance = (initialVNode.component = createComponentInstance( + initialVNode, + parentComponent, + parentSuspense + )); + if (isKeepAlive(initialVNode)) { + instance.ctx.renderer = internals; + } + { + setupComponent(instance, false, optimized); + } + if (instance.asyncDep) { + parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized); + if (!initialVNode.el) { + const placeholder = instance.subTree = createVNode(Comment); + processCommentNode(null, placeholder, container, anchor); + initialVNode.placeholder = placeholder.el; + } + } else { + setupRenderEffect( + instance, + initialVNode, + container, + anchor, + parentSuspense, + namespace, + optimized + ); + } + }; + const updateComponent = (n1, n2, optimized) => { + const instance = n2.component = n1.component; + if (shouldUpdateComponent(n1, n2, optimized)) { + if (instance.asyncDep && !instance.asyncResolved) { + updateComponentPreRender(instance, n2, optimized); + return; + } else { + instance.next = n2; + instance.update(); + } + } else { + n2.el = n1.el; + instance.vnode = n2; + } + }; + const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => { + const componentUpdateFn = () => { + if (!instance.isMounted) { + let vnodeHook; + const { el, props } = initialVNode; + const { bm, m, parent, root, type } = instance; + const isAsyncWrapperVNode = isAsyncWrapper(initialVNode); + toggleRecurse(instance, false); + if (bm) { + shared.invokeArrayFns(bm); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) { + invokeVNodeHook(vnodeHook, parent, initialVNode); + } + toggleRecurse(instance, true); + if (el && hydrateNode) { + const hydrateSubTree = () => { + instance.subTree = renderComponentRoot(instance); + hydrateNode( + el, + instance.subTree, + instance, + parentSuspense, + null + ); + }; + if (isAsyncWrapperVNode && type.__asyncHydrate) { + type.__asyncHydrate( + el, + instance, + hydrateSubTree + ); + } else { + hydrateSubTree(); + } + } else { + if (root.ce && // @ts-expect-error _def is private + root.ce._def.shadowRoot !== false) { + root.ce._injectChildStyle(type); + } + const subTree = instance.subTree = renderComponentRoot(instance); + patch( + null, + subTree, + container, + anchor, + instance, + parentSuspense, + namespace + ); + initialVNode.el = subTree.el; + } + if (m) { + queuePostRenderEffect(m, parentSuspense); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) { + const scopedInitialVNode = initialVNode; + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), + parentSuspense + ); + } + if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) { + instance.a && queuePostRenderEffect(instance.a, parentSuspense); + } + instance.isMounted = true; + initialVNode = container = anchor = null; + } else { + let { next, bu, u, parent, vnode } = instance; + { + const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance); + if (nonHydratedAsyncRoot) { + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } + nonHydratedAsyncRoot.asyncDep.then(() => { + if (!instance.isUnmounted) { + componentUpdateFn(); + } + }); + return; + } + } + let originNext = next; + let vnodeHook; + toggleRecurse(instance, false); + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } else { + next = vnode; + } + if (bu) { + shared.invokeArrayFns(bu); + } + if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parent, next, vnode); + } + toggleRecurse(instance, true); + const nextTree = renderComponentRoot(instance); + const prevTree = instance.subTree; + instance.subTree = nextTree; + patch( + prevTree, + nextTree, + // parent may have changed if it's in a teleport + hostParentNode(prevTree.el), + // anchor may have changed if it's in a fragment + getNextHostNode(prevTree), + instance, + parentSuspense, + namespace + ); + next.el = nextTree.el; + if (originNext === null) { + updateHOCHostEl(instance, nextTree.el); + } + if (u) { + queuePostRenderEffect(u, parentSuspense); + } + if (vnodeHook = next.props && next.props.onVnodeUpdated) { + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, next, vnode), + parentSuspense + ); + } + } + }; + instance.scope.on(); + const effect = instance.effect = new reactivity.ReactiveEffect(componentUpdateFn); + instance.scope.off(); + const update = instance.update = effect.run.bind(effect); + const job = instance.job = effect.runIfDirty.bind(effect); + job.i = instance; + job.id = instance.uid; + effect.scheduler = () => queueJob(job); + toggleRecurse(instance, true); + update(); + }; + const updateComponentPreRender = (instance, nextVNode, optimized) => { + nextVNode.component = instance; + const prevProps = instance.vnode.props; + instance.vnode = nextVNode; + instance.next = null; + updateProps(instance, nextVNode.props, prevProps, optimized); + updateSlots(instance, nextVNode.children, optimized); + reactivity.pauseTracking(); + flushPreFlushCbs(instance); + reactivity.resetTracking(); + }; + const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => { + const c1 = n1 && n1.children; + const prevShapeFlag = n1 ? n1.shapeFlag : 0; + const c2 = n2.children; + const { patchFlag, shapeFlag } = n2; + if (patchFlag > 0) { + if (patchFlag & 128) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } else if (patchFlag & 256) { + patchUnkeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } + } + if (shapeFlag & 8) { + if (prevShapeFlag & 16) { + unmountChildren(c1, parentComponent, parentSuspense); + } + if (c2 !== c1) { + hostSetElementText(container, c2); + } + } else { + if (prevShapeFlag & 16) { + if (shapeFlag & 16) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + unmountChildren(c1, parentComponent, parentSuspense, true); + } + } else { + if (prevShapeFlag & 8) { + hostSetElementText(container, ""); + } + if (shapeFlag & 16) { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + } + }; + const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + c1 = c1 || shared.EMPTY_ARR; + c2 = c2 || shared.EMPTY_ARR; + const oldLength = c1.length; + const newLength = c2.length; + const commonLength = Math.min(oldLength, newLength); + let i; + for (i = 0; i < commonLength; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + patch( + c1[i], + nextChild, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + if (oldLength > newLength) { + unmountChildren( + c1, + parentComponent, + parentSuspense, + true, + false, + commonLength + ); + } else { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + commonLength + ); + } + }; + const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let i = 0; + const l2 = c2.length; + let e1 = c1.length - 1; + let e2 = l2 - 1; + while (i <= e1 && i <= e2) { + const n1 = c1[i]; + const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + i++; + } + while (i <= e1 && i <= e2) { + const n1 = c1[e1]; + const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + e1--; + e2--; + } + if (i > e1) { + if (i <= e2) { + const nextPos = e2 + 1; + const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor; + while (i <= e2) { + patch( + null, + c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + i++; + } + } + } else if (i > e2) { + while (i <= e1) { + unmount(c1[i], parentComponent, parentSuspense, true); + i++; + } + } else { + const s1 = i; + const s2 = i; + const keyToNewIndexMap = /* @__PURE__ */ new Map(); + for (i = s2; i <= e2; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (nextChild.key != null) { + keyToNewIndexMap.set(nextChild.key, i); + } + } + let j; + let patched = 0; + const toBePatched = e2 - s2 + 1; + let moved = false; + let maxNewIndexSoFar = 0; + const newIndexToOldIndexMap = new Array(toBePatched); + for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0; + for (i = s1; i <= e1; i++) { + const prevChild = c1[i]; + if (patched >= toBePatched) { + unmount(prevChild, parentComponent, parentSuspense, true); + continue; + } + let newIndex; + if (prevChild.key != null) { + newIndex = keyToNewIndexMap.get(prevChild.key); + } else { + for (j = s2; j <= e2; j++) { + if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) { + newIndex = j; + break; + } + } + } + if (newIndex === void 0) { + unmount(prevChild, parentComponent, parentSuspense, true); + } else { + newIndexToOldIndexMap[newIndex - s2] = i + 1; + if (newIndex >= maxNewIndexSoFar) { + maxNewIndexSoFar = newIndex; + } else { + moved = true; + } + patch( + prevChild, + c2[newIndex], + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + patched++; + } + } + const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : shared.EMPTY_ARR; + j = increasingNewIndexSequence.length - 1; + for (i = toBePatched - 1; i >= 0; i--) { + const nextIndex = s2 + i; + const nextChild = c2[nextIndex]; + const anchorVNode = c2[nextIndex + 1]; + const anchor = nextIndex + 1 < l2 ? ( + // #13559, fallback to el placeholder for unresolved async component + anchorVNode.el || anchorVNode.placeholder + ) : parentAnchor; + if (newIndexToOldIndexMap[i] === 0) { + patch( + null, + nextChild, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (moved) { + if (j < 0 || i !== increasingNewIndexSequence[j]) { + move(nextChild, container, anchor, 2); + } else { + j--; + } + } + } + } + }; + const move = (vnode, container, anchor, moveType, parentSuspense = null) => { + const { el, type, transition, children, shapeFlag } = vnode; + if (shapeFlag & 6) { + move(vnode.component.subTree, container, anchor, moveType); + return; + } + if (shapeFlag & 128) { + vnode.suspense.move(container, anchor, moveType); + return; + } + if (shapeFlag & 64) { + type.move(vnode, container, anchor, internals); + return; + } + if (type === Fragment) { + hostInsert(el, container, anchor); + for (let i = 0; i < children.length; i++) { + move(children[i], container, anchor, moveType); + } + hostInsert(vnode.anchor, container, anchor); + return; + } + if (type === Static) { + moveStaticNode(vnode, container, anchor); + return; + } + const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition; + if (needTransition2) { + if (moveType === 0) { + transition.beforeEnter(el); + hostInsert(el, container, anchor); + queuePostRenderEffect(() => transition.enter(el), parentSuspense); + } else { + const { leave, delayLeave, afterLeave } = transition; + const remove2 = () => { + if (vnode.ctx.isUnmounted) { + hostRemove(el); + } else { + hostInsert(el, container, anchor); + } + }; + const performLeave = () => { + if (el._isLeaving) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + leave(el, () => { + remove2(); + afterLeave && afterLeave(); + }); + }; + if (delayLeave) { + delayLeave(el, remove2, performLeave); + } else { + performLeave(); + } + } + } else { + hostInsert(el, container, anchor); + } + }; + const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => { + const { + type, + props, + ref, + children, + dynamicChildren, + shapeFlag, + patchFlag, + dirs, + cacheIndex + } = vnode; + if (patchFlag === -2) { + optimized = false; + } + if (ref != null) { + reactivity.pauseTracking(); + setRef(ref, null, parentSuspense, vnode, true); + reactivity.resetTracking(); + } + if (cacheIndex != null) { + parentComponent.renderCache[cacheIndex] = void 0; + } + if (shapeFlag & 256) { + parentComponent.ctx.deactivate(vnode); + return; + } + const shouldInvokeDirs = shapeFlag & 1 && dirs; + const shouldInvokeVnodeHook = !isAsyncWrapper(vnode); + let vnodeHook; + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + if (shapeFlag & 6) { + unmountComponent(vnode.component, parentSuspense, doRemove); + } else { + if (shapeFlag & 128) { + vnode.suspense.unmount(parentSuspense, doRemove); + return; + } + if (shouldInvokeDirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount"); + } + if (shapeFlag & 64) { + vnode.type.remove( + vnode, + parentComponent, + parentSuspense, + internals, + doRemove + ); + } else if (dynamicChildren && // #5154 + // when v-once is used inside a block, setBlockTracking(-1) marks the + // parent block with hasOnce: true + // so that it doesn't take the fast path during unmount - otherwise + // components nested in v-once are never unmounted. + !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments + (type !== Fragment || patchFlag > 0 && patchFlag & 64)) { + unmountChildren( + dynamicChildren, + parentComponent, + parentSuspense, + false, + true + ); + } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) { + unmountChildren(children, parentComponent, parentSuspense); + } + if (doRemove) { + remove(vnode); + } + } + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted"); + }, parentSuspense); + } + }; + const remove = (vnode) => { + const { type, el, anchor, transition } = vnode; + if (type === Fragment) { + { + removeFragment(el, anchor); + } + return; + } + if (type === Static) { + removeStaticNode(vnode); + return; + } + const performRemove = () => { + hostRemove(el); + if (transition && !transition.persisted && transition.afterLeave) { + transition.afterLeave(); + } + }; + if (vnode.shapeFlag & 1 && transition && !transition.persisted) { + const { leave, delayLeave } = transition; + const performLeave = () => leave(el, performRemove); + if (delayLeave) { + delayLeave(vnode.el, performRemove, performLeave); + } else { + performLeave(); + } + } else { + performRemove(); + } + }; + const removeFragment = (cur, end) => { + let next; + while (cur !== end) { + next = hostNextSibling(cur); + hostRemove(cur); + cur = next; + } + hostRemove(end); + }; + const unmountComponent = (instance, parentSuspense, doRemove) => { + const { bum, scope, job, subTree, um, m, a } = instance; + invalidateMount(m); + invalidateMount(a); + if (bum) { + shared.invokeArrayFns(bum); + } + scope.stop(); + if (job) { + job.flags |= 8; + unmount(subTree, instance, parentSuspense, doRemove); + } + if (um) { + queuePostRenderEffect(um, parentSuspense); + } + queuePostRenderEffect(() => { + instance.isUnmounted = true; + }, parentSuspense); + }; + const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => { + for (let i = start; i < children.length; i++) { + unmount(children[i], parentComponent, parentSuspense, doRemove, optimized); + } + }; + const getNextHostNode = (vnode) => { + if (vnode.shapeFlag & 6) { + return getNextHostNode(vnode.component.subTree); + } + if (vnode.shapeFlag & 128) { + return vnode.suspense.next(); + } + const el = hostNextSibling(vnode.anchor || vnode.el); + const teleportEnd = el && el[TeleportEndKey]; + return teleportEnd ? hostNextSibling(teleportEnd) : el; + }; + let isFlushing = false; + const render = (vnode, container, namespace) => { + if (vnode == null) { + if (container._vnode) { + unmount(container._vnode, null, null, true); + } + } else { + patch( + container._vnode || null, + vnode, + container, + null, + null, + null, + namespace + ); + } + container._vnode = vnode; + if (!isFlushing) { + isFlushing = true; + flushPreFlushCbs(); + flushPostFlushCbs(); + isFlushing = false; + } + }; + const internals = { + p: patch, + um: unmount, + m: move, + r: remove, + mt: mountComponent, + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + n: getNextHostNode, + o: options + }; + let hydrate; + let hydrateNode; + if (createHydrationFns) { + [hydrate, hydrateNode] = createHydrationFns( + internals + ); + } + return { + render, + hydrate, + createApp: createAppAPI(render, hydrate) + }; +} +function resolveChildrenNamespace({ type, props }, currentNamespace) { + return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace; +} +function toggleRecurse({ effect, job }, allowed) { + if (allowed) { + effect.flags |= 32; + job.flags |= 4; + } else { + effect.flags &= -33; + job.flags &= -5; + } +} +function needTransition(parentSuspense, transition) { + return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted; +} +function traverseStaticChildren(n1, n2, shallow = false) { + const ch1 = n1.children; + const ch2 = n2.children; + if (shared.isArray(ch1) && shared.isArray(ch2)) { + for (let i = 0; i < ch1.length; i++) { + const c1 = ch1[i]; + let c2 = ch2[i]; + if (c2.shapeFlag & 1 && !c2.dynamicChildren) { + if (c2.patchFlag <= 0 || c2.patchFlag === 32) { + c2 = ch2[i] = cloneIfMounted(ch2[i]); + c2.el = c1.el; + } + if (!shallow && c2.patchFlag !== -2) + traverseStaticChildren(c1, c2); + } + if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes + c2.patchFlag !== -1) { + c2.el = c1.el; + } + if (c2.type === Comment && !c2.el) { + c2.el = c1.el; + } + } + } +} +function getSequence(arr) { + const p = arr.slice(); + const result = [0]; + let i, j, u, v, c; + const len = arr.length; + for (i = 0; i < len; i++) { + const arrI = arr[i]; + if (arrI !== 0) { + j = result[result.length - 1]; + if (arr[j] < arrI) { + p[i] = j; + result.push(i); + continue; + } + u = 0; + v = result.length - 1; + while (u < v) { + c = u + v >> 1; + if (arr[result[c]] < arrI) { + u = c + 1; + } else { + v = c; + } + } + if (arrI < arr[result[u]]) { + if (u > 0) { + p[i] = result[u - 1]; + } + result[u] = i; + } + } + } + u = result.length; + v = result[u - 1]; + while (u-- > 0) { + result[u] = v; + v = p[v]; + } + return result; +} +function locateNonHydratedAsyncRoot(instance) { + const subComponent = instance.subTree.component; + if (subComponent) { + if (subComponent.asyncDep && !subComponent.asyncResolved) { + return subComponent; + } else { + return locateNonHydratedAsyncRoot(subComponent); + } + } +} +function invalidateMount(hooks) { + if (hooks) { + for (let i = 0; i < hooks.length; i++) + hooks[i].flags |= 8; + } +} + +const ssrContextKey = Symbol.for("v-scx"); +const useSSRContext = () => { + { + const ctx = inject(ssrContextKey); + return ctx; + } +}; + +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "post" } + ); +} +function watchSyncEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "sync" } + ); +} +function watch(source, cb, options) { + return doWatch(source, cb, options); +} +function doWatch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, flush, once } = options; + const baseWatchOptions = shared.extend({}, options); + const runsImmediately = cb && immediate || !cb && flush !== "post"; + let ssrCleanup; + if (isInSSRComponentSetup) { + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else if (!runsImmediately) { + const watchStopHandle = () => { + }; + watchStopHandle.stop = shared.NOOP; + watchStopHandle.resume = shared.NOOP; + watchStopHandle.pause = shared.NOOP; + return watchStopHandle; + } + } + const instance = currentInstance; + baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); + let isPre = false; + if (flush === "post") { + baseWatchOptions.scheduler = (job) => { + queuePostRenderEffect(job, instance && instance.suspense); + }; + } else if (flush !== "sync") { + isPre = true; + baseWatchOptions.scheduler = (job, isFirstRun) => { + if (isFirstRun) { + job(); + } else { + queueJob(job); + } + }; + } + baseWatchOptions.augmentJob = (job) => { + if (cb) { + job.flags |= 4; + } + if (isPre) { + job.flags |= 2; + if (instance) { + job.id = instance.uid; + job.i = instance; + } + } + }; + const watchHandle = reactivity.watch(source, cb, baseWatchOptions); + if (isInSSRComponentSetup) { + if (ssrCleanup) { + ssrCleanup.push(watchHandle); + } else if (runsImmediately) { + watchHandle(); + } + } + return watchHandle; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (shared.isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} + +function useModel(props, name, options = shared.EMPTY_OBJ) { + const i = getCurrentInstance(); + const camelizedName = shared.camelize(name); + const hyphenatedName = shared.hyphenate(name); + const modifiers = getModelModifiers(props, camelizedName); + const res = reactivity.customRef((track, trigger) => { + let localValue; + let prevSetValue = shared.EMPTY_OBJ; + let prevEmittedValue; + watchSyncEffect(() => { + const propValue = props[camelizedName]; + if (shared.hasChanged(localValue, propValue)) { + localValue = propValue; + trigger(); + } + }); + return { + get() { + track(); + return options.get ? options.get(localValue) : localValue; + }, + set(value) { + const emittedValue = options.set ? options.set(value) : value; + if (!shared.hasChanged(emittedValue, localValue) && !(prevSetValue !== shared.EMPTY_OBJ && shared.hasChanged(value, prevSetValue))) { + return; + } + const rawProps = i.vnode.props; + if (!(rawProps && // check if parent has passed v-model + (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) { + localValue = value; + trigger(); + } + i.emit(`update:${name}`, emittedValue); + if (shared.hasChanged(value, emittedValue) && shared.hasChanged(value, prevSetValue) && !shared.hasChanged(emittedValue, prevEmittedValue)) { + trigger(); + } + prevSetValue = value; + prevEmittedValue = emittedValue; + } + }; + }); + res[Symbol.iterator] = () => { + let i2 = 0; + return { + next() { + if (i2 < 2) { + return { value: i2++ ? modifiers || shared.EMPTY_OBJ : res, done: false }; + } else { + return { done: true }; + } + } + }; + }; + return res; +} +const getModelModifiers = (props, modelName) => { + return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${shared.camelize(modelName)}Modifiers`] || props[`${shared.hyphenate(modelName)}Modifiers`]; +}; + +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) return; + const props = instance.vnode.props || shared.EMPTY_OBJ; + let args = rawArgs; + const isModelListener = event.startsWith("update:"); + const modifiers = isModelListener && getModelModifiers(props, event.slice(7)); + if (modifiers) { + if (modifiers.trim) { + args = rawArgs.map((a) => shared.isString(a) ? a.trim() : a); + } + if (modifiers.number) { + args = rawArgs.map(shared.looseToNumber); + } + } + let handlerName; + let handler = props[handlerName = shared.toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = shared.toHandlerKey(shared.camelize(event))]; + if (!handler && isModelListener) { + handler = props[handlerName = shared.toHandlerKey(shared.hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +const mixinEmitsCache = /* @__PURE__ */ new WeakMap(); +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinEmitsCache : appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + shared.extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (shared.isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + shared.extend(normalized, raw); + } + if (shared.isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !shared.isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return shared.hasOwn(options, key[0].toLowerCase() + key.slice(1)) || shared.hasOwn(options, shared.hyphenate(key)) || shared.hasOwn(options, key); +} + +function markAttrsAccessed() { +} +function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + propsOptions: [propsOptions], + slots, + attrs, + emit, + render, + renderCache, + props, + data, + setupState, + ctx, + inheritAttrs + } = instance; + const prev = setCurrentRenderingInstance(instance); + let result; + let fallthroughAttrs; + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + const thisProxy = false ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn( + `Property '${String( + key + )}' was accessed via 'this'. Avoid using 'this' in templates.` + ); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode( + render.call( + thisProxy, + proxyToUse, + renderCache, + false ? shallowReadonly(props) : props, + setupState, + data, + ctx + ) + ); + fallthroughAttrs = attrs; + } else { + const render2 = Component; + if (false) ; + result = normalizeVNode( + render2.length > 1 ? render2( + false ? shallowReadonly(props) : props, + false ? { + get attrs() { + markAttrsAccessed(); + return shallowReadonly(attrs); + }, + slots, + emit + } : { attrs, slots, emit } + ) : render2( + false ? shallowReadonly(props) : props, + null + ) + ); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(shared.isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root = cloneVNode(root, fallthroughAttrs, false, true); + } + } + } + if (vnode.dirs) { + root = cloneVNode(root, null, false, true); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + setTransitionHooks(root, vnode.transition); + } + { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +function filterSingleRoot(children, recurse = true) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + } + } + } else { + return; + } + } + return singleRoot; +} +const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || shared.isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +const filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!shared.isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function updateHOCHostEl({ vnode, parent }, el) { + while (parent) { + const root = parent.subTree; + if (root.suspense && root.suspense.activeBranch === vnode) { + root.el = vnode.el; + } + if (root === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } +} + +const isSuspense = (type) => type.__isSuspense; +let suspenseId = 0; +const SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + normalize: normalizeSuspenseChildren +}; +const Suspense = SuspenseImpl ; +function triggerEvent(vnode, name) { + const eventListener = vnode.props && vnode.props[name]; + if (shared.isFunction(eventListener)) { + eventListener(); + } +} +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + const { + p: patch, + o: { createElement } + } = rendererInternals; + const hiddenContainer = createElement("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + patch( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(pendingBranch, newBranch)) { + patch( + pendingBranch, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + const { + p: patch, + m: move, + um: unmount, + n: next, + o: { parentNode, remove } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : void 0; + const initialAnchor = anchor; + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2 + } = suspense; + let delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move( + pendingBranch, + container2, + anchor === initialAnchor ? next(activeBranch) : anchor, + 0 + ); + queuePostFlushCb(effects); + } + }; + } + if (activeBranch) { + if (parentNode(activeBranch.el) === container2) { + anchor = next(activeBranch); + } + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next(activeBranch); + const mountFallback = () => { + if (!suspense.isInFallback) { + return; + } + patch( + null, + fallbackVNode, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + namespace2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, fallbackVNode); + }; + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect, optimized2) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), + suspense, + namespace, + optimized2 + ); + if (placeholder) { + remove(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; +} +function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), + null, + namespace, + slotScopeIds, + optimized, + rendererInternals, + true + ); + const result = hydrateNode( + node, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +function normalizeSuspenseSlot(s) { + let block; + if (shared.isFunction(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (shared.isArray(s)) { + const singleChild = filterSingleRoot(s); + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter((c) => c !== s); + } + return s; +} +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (shared.isArray(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + let el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +function isVNodeSuspensible(vnode) { + const suspensible = vnode.props && vnode.props.suspensible; + return suspensible != null && suspensible !== false; +} + +const Fragment = Symbol.for("v-fgt"); +const Text = Symbol.for("v-txt"); +const Comment = Symbol.for("v-cmt"); +const Static = Symbol.for("v-stc"); +const blockStack = []; +let currentBlock = null; +function openBlock(disableTracking = false) { + blockStack.push(currentBlock = disableTracking ? null : []); +} +function closeBlock() { + blockStack.pop(); + currentBlock = blockStack[blockStack.length - 1] || null; +} +let isBlockTreeEnabled = 1; +function setBlockTracking(value, inVOnce = false) { + isBlockTreeEnabled += value; + if (value < 0 && currentBlock && inVOnce) { + currentBlock.hasOnce = true; + } +} +function setupBlock(vnode) { + vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || shared.EMPTY_ARR : null; + closeBlock(); + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(vnode); + } + return vnode; +} +function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) { + return setupBlock( + createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + true + ) + ); +} +function createBlock(type, props, children, patchFlag, dynamicProps) { + return setupBlock( + createVNode( + type, + props, + children, + patchFlag, + dynamicProps, + true + ) + ); +} +function isVNode(value) { + return value ? value.__v_isVNode === true : false; +} +function isSameVNodeType(n1, n2) { + return n1.type === n2.type && n1.key === n2.key; +} +function transformVNodeArgs(transformer) { +} +const normalizeKey = ({ key }) => key != null ? key : null; +const normalizeRef = ({ + ref, + ref_key, + ref_for +}) => { + if (typeof ref === "number") { + ref = "" + ref; + } + return ref != null ? shared.isString(ref) || reactivity.isRef(ref) || shared.isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null; +}; +function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) { + const vnode = { + __v_isVNode: true, + __v_skip: true, + type, + props, + key: props && normalizeKey(props), + ref: props && normalizeRef(props), + scopeId: currentScopeId, + slotScopeIds: null, + children, + component: null, + suspense: null, + ssContent: null, + ssFallback: null, + dirs: null, + transition: null, + el: null, + anchor: null, + target: null, + targetStart: null, + targetAnchor: null, + staticCount: 0, + shapeFlag, + patchFlag, + dynamicProps, + dynamicChildren: null, + appContext: null, + ctx: currentRenderingInstance + }; + if (needFullChildrenNormalization) { + normalizeChildren(vnode, children); + if (shapeFlag & 128) { + type.normalize(vnode); + } + } else if (children) { + vnode.shapeFlag |= shared.isString(children) ? 8 : 16; + } + if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself + !isBlockNode && // has current parent block + currentBlock && // presence of a patch flag indicates this node needs patching on updates. + // component nodes also should always be patched, because even if the + // component doesn't need to update, it needs to persist the instance on to + // the next vnode so that it can be properly unmounted later. + (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the + // vnode should not be considered dynamic due to handler caching. + vnode.patchFlag !== 32) { + currentBlock.push(vnode); + } + return vnode; +} +const createVNode = _createVNode; +function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) { + if (!type || type === NULL_DYNAMIC_COMPONENT) { + type = Comment; + } + if (isVNode(type)) { + const cloned = cloneVNode( + type, + props, + true + /* mergeRef: true */ + ); + if (children) { + normalizeChildren(cloned, children); + } + if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) { + if (cloned.shapeFlag & 6) { + currentBlock[currentBlock.indexOf(type)] = cloned; + } else { + currentBlock.push(cloned); + } + } + cloned.patchFlag = -2; + return cloned; + } + if (isClassComponent(type)) { + type = type.__vccOpts; + } + if (props) { + props = guardReactiveProps(props); + let { class: klass, style } = props; + if (klass && !shared.isString(klass)) { + props.class = shared.normalizeClass(klass); + } + if (shared.isObject(style)) { + if (reactivity.isProxy(style) && !shared.isArray(style)) { + style = shared.extend({}, style); + } + props.style = shared.normalizeStyle(style); + } + } + const shapeFlag = shared.isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : shared.isObject(type) ? 4 : shared.isFunction(type) ? 2 : 0; + return createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + isBlockNode, + true + ); +} +function guardReactiveProps(props) { + if (!props) return null; + return reactivity.isProxy(props) || isInternalObject(props) ? shared.extend({}, props) : props; +} +function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) { + const { props, ref, patchFlag, children, transition } = vnode; + const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props; + const cloned = { + __v_isVNode: true, + __v_skip: true, + type: vnode.type, + props: mergedProps, + key: mergedProps && normalizeKey(mergedProps), + ref: extraProps && extraProps.ref ? ( + // #2078 in the case of <component :is="vnode" ref="extra"/> + // if the vnode itself already has a ref, cloneVNode will need to merge + // the refs so the single vnode can be set on multiple refs + mergeRef && ref ? shared.isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps) + ) : ref, + scopeId: vnode.scopeId, + slotScopeIds: vnode.slotScopeIds, + children: children, + target: vnode.target, + targetStart: vnode.targetStart, + targetAnchor: vnode.targetAnchor, + staticCount: vnode.staticCount, + shapeFlag: vnode.shapeFlag, + // if the vnode is cloned with extra props, we can no longer assume its + // existing patch flag to be reliable and need to add the FULL_PROPS flag. + // note: preserve flag for fragments since they use the flag for children + // fast paths only. + patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag, + dynamicProps: vnode.dynamicProps, + dynamicChildren: vnode.dynamicChildren, + appContext: vnode.appContext, + dirs: vnode.dirs, + transition, + // These should technically only be non-null on mounted VNodes. However, + // they *should* be copied for kept-alive vnodes. So we just always copy + // them since them being non-null during a mount doesn't affect the logic as + // they will simply be overwritten. + component: vnode.component, + suspense: vnode.suspense, + ssContent: vnode.ssContent && cloneVNode(vnode.ssContent), + ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback), + placeholder: vnode.placeholder, + el: vnode.el, + anchor: vnode.anchor, + ctx: vnode.ctx, + ce: vnode.ce + }; + if (transition && cloneTransition) { + setTransitionHooks( + cloned, + transition.clone(cloned) + ); + } + return cloned; +} +function createTextVNode(text = " ", flag = 0) { + return createVNode(Text, null, text, flag); +} +function createStaticVNode(content, numberOfNodes) { + const vnode = createVNode(Static, null, content); + vnode.staticCount = numberOfNodes; + return vnode; +} +function createCommentVNode(text = "", asBlock = false) { + return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text); +} +function normalizeVNode(child) { + if (child == null || typeof child === "boolean") { + return createVNode(Comment); + } else if (shared.isArray(child)) { + return createVNode( + Fragment, + null, + // #3666, avoid reference pollution when reusing vnode + child.slice() + ); + } else if (isVNode(child)) { + return cloneIfMounted(child); + } else { + return createVNode(Text, null, String(child)); + } +} +function cloneIfMounted(child) { + return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child); +} +function normalizeChildren(vnode, children) { + let type = 0; + const { shapeFlag } = vnode; + if (children == null) { + children = null; + } else if (shared.isArray(children)) { + type = 16; + } else if (typeof children === "object") { + if (shapeFlag & (1 | 64)) { + const slot = children.default; + if (slot) { + slot._c && (slot._d = false); + normalizeChildren(vnode, slot()); + slot._c && (slot._d = true); + } + return; + } else { + type = 32; + const slotFlag = children._; + if (!slotFlag && !isInternalObject(children)) { + children._ctx = currentRenderingInstance; + } else if (slotFlag === 3 && currentRenderingInstance) { + if (currentRenderingInstance.slots._ === 1) { + children._ = 1; + } else { + children._ = 2; + vnode.patchFlag |= 1024; + } + } + } + } else if (shared.isFunction(children)) { + children = { default: children, _ctx: currentRenderingInstance }; + type = 32; + } else { + children = String(children); + if (shapeFlag & 64) { + type = 16; + children = [createTextVNode(children)]; + } else { + type = 8; + } + } + vnode.children = children; + vnode.shapeFlag |= type; +} +function mergeProps(...args) { + const ret = {}; + for (let i = 0; i < args.length; i++) { + const toMerge = args[i]; + for (const key in toMerge) { + if (key === "class") { + if (ret.class !== toMerge.class) { + ret.class = shared.normalizeClass([ret.class, toMerge.class]); + } + } else if (key === "style") { + ret.style = shared.normalizeStyle([ret.style, toMerge.style]); + } else if (shared.isOn(key)) { + const existing = ret[key]; + const incoming = toMerge[key]; + if (incoming && existing !== incoming && !(shared.isArray(existing) && existing.includes(incoming))) { + ret[key] = existing ? [].concat(existing, incoming) : incoming; + } + } else if (key !== "") { + ret[key] = toMerge[key]; + } + } + } + return ret; +} +function invokeVNodeHook(hook, instance, vnode, prevVNode = null) { + callWithAsyncErrorHandling(hook, instance, 7, [ + vnode, + prevVNode + ]); +} + +const emptyAppContext = createAppContext(); +let uid = 0; +function createComponentInstance(vnode, parent, suspense) { + const type = vnode.type; + const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext; + const instance = { + uid: uid++, + vnode, + type, + parent, + appContext, + root: null, + // to be immediately set + next: null, + subTree: null, + // will be set synchronously right after creation + effect: null, + update: null, + // will be set synchronously right after creation + job: null, + scope: new reactivity.EffectScope( + true + /* detached */ + ), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: parent ? parent.provides : Object.create(appContext.provides), + ids: parent ? parent.ids : ["", 0, 0], + accessCache: null, + renderCache: [], + // local resolved assets + components: null, + directives: null, + // resolved props and emits options + propsOptions: normalizePropsOptions(type, appContext), + emitsOptions: normalizeEmitsOptions(type, appContext), + // emit + emit: null, + // to be set immediately + emitted: null, + // props default value + propsDefaults: shared.EMPTY_OBJ, + // inheritAttrs + inheritAttrs: type.inheritAttrs, + // state + ctx: shared.EMPTY_OBJ, + data: shared.EMPTY_OBJ, + props: shared.EMPTY_OBJ, + attrs: shared.EMPTY_OBJ, + slots: shared.EMPTY_OBJ, + refs: shared.EMPTY_OBJ, + setupState: shared.EMPTY_OBJ, + setupContext: null, + // suspense related + suspense, + suspenseId: suspense ? suspense.pendingId : 0, + asyncDep: null, + asyncResolved: false, + // lifecycle hooks + // not using enums here because it results in computed properties + isMounted: false, + isUnmounted: false, + isDeactivated: false, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null + }; + { + instance.ctx = { _: instance }; + } + instance.root = parent ? parent.root : instance; + instance.emit = emit.bind(null, instance); + if (vnode.ce) { + vnode.ce(instance); + } + return instance; +} +let currentInstance = null; +const getCurrentInstance = () => currentInstance || currentRenderingInstance; +let internalSetCurrentInstance; +let setInSSRSetupState; +{ + const g = shared.getGlobalThis(); + const registerGlobalSetter = (key, setter) => { + let setters; + if (!(setters = g[key])) setters = g[key] = []; + setters.push(setter); + return (v) => { + if (setters.length > 1) setters.forEach((set) => set(v)); + else setters[0](v); + }; + }; + internalSetCurrentInstance = registerGlobalSetter( + `__VUE_INSTANCE_SETTERS__`, + (v) => currentInstance = v + ); + setInSSRSetupState = registerGlobalSetter( + `__VUE_SSR_SETTERS__`, + (v) => isInSSRComponentSetup = v + ); +} +const setCurrentInstance = (instance) => { + const prev = currentInstance; + internalSetCurrentInstance(instance); + instance.scope.on(); + return () => { + instance.scope.off(); + internalSetCurrentInstance(prev); + }; +}; +const unsetCurrentInstance = () => { + currentInstance && currentInstance.scope.off(); + internalSetCurrentInstance(null); +}; +function isStatefulComponent(instance) { + return instance.vnode.shapeFlag & 4; +} +let isInSSRComponentSetup = false; +function setupComponent(instance, isSSR = false, optimized = false) { + isSSR && setInSSRSetupState(isSSR); + const { props, children } = instance.vnode; + const isStateful = isStatefulComponent(instance); + initProps(instance, props, isStateful, isSSR); + initSlots(instance, children, optimized || isSSR); + const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0; + isSSR && setInSSRSetupState(false); + return setupResult; +} +function setupStatefulComponent(instance, isSSR) { + const Component = instance.type; + instance.accessCache = /* @__PURE__ */ Object.create(null); + instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers); + const { setup } = Component; + if (setup) { + reactivity.pauseTracking(); + const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null; + const reset = setCurrentInstance(instance); + const setupResult = callWithErrorHandling( + setup, + instance, + 0, + [ + instance.props, + setupContext + ] + ); + const isAsyncSetup = shared.isPromise(setupResult); + reactivity.resetTracking(); + reset(); + if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) { + markAsyncBoundary(instance); + } + if (isAsyncSetup) { + setupResult.then(unsetCurrentInstance, unsetCurrentInstance); + if (isSSR) { + return setupResult.then((resolvedResult) => { + handleSetupResult(instance, resolvedResult, isSSR); + }).catch((e) => { + handleError(e, instance, 0); + }); + } else { + instance.asyncDep = setupResult; + } + } else { + handleSetupResult(instance, setupResult, isSSR); + } + } else { + finishComponentSetup(instance, isSSR); + } +} +function handleSetupResult(instance, setupResult, isSSR) { + if (shared.isFunction(setupResult)) { + if (instance.type.__ssrInlineRender) { + instance.ssrRender = setupResult; + } else { + instance.render = setupResult; + } + } else if (shared.isObject(setupResult)) { + instance.setupState = reactivity.proxyRefs(setupResult); + } else ; + finishComponentSetup(instance, isSSR); +} +let compile; +let installWithProxy; +function registerRuntimeCompiler(_compile) { + compile = _compile; + installWithProxy = (i) => { + if (i.render._rc) { + i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers); + } + }; +} +const isRuntimeOnly = () => !compile; +function finishComponentSetup(instance, isSSR, skipOptions) { + const Component = instance.type; + if (!instance.render) { + if (!isSSR && compile && !Component.render) { + const template = Component.template || resolveMergedOptions(instance).template; + if (template) { + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + Component.render = compile(template, finalCompilerOptions); + } + } + instance.render = Component.render || shared.NOOP; + if (installWithProxy) { + installWithProxy(instance); + } + } + { + const reset = setCurrentInstance(instance); + reactivity.pauseTracking(); + try { + applyOptions(instance); + } finally { + reactivity.resetTracking(); + reset(); + } + } +} +const attrsProxyHandlers = { + get(target, key) { + reactivity.track(target, "get", ""); + return target[key]; + } +}; +function createSetupContext(instance) { + const expose = (exposed) => { + instance.exposed = exposed || {}; + }; + { + return { + attrs: new Proxy(instance.attrs, attrsProxyHandlers), + slots: instance.slots, + emit: instance.emit, + expose + }; + } +} +function getComponentPublicInstance(instance) { + if (instance.exposed) { + return instance.exposeProxy || (instance.exposeProxy = new Proxy(reactivity.proxyRefs(reactivity.markRaw(instance.exposed)), { + get(target, key) { + if (key in target) { + return target[key]; + } else if (key in publicPropertiesMap) { + return publicPropertiesMap[key](instance); + } + }, + has(target, key) { + return key in target || key in publicPropertiesMap; + } + })); + } else { + return instance.proxy; + } +} +function getComponentName(Component, includeInferred = true) { + return shared.isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name; +} +function isClassComponent(value) { + return shared.isFunction(value) && "__vccOpts" in value; +} + +const computed = (getterOrOptions, debugOptions) => { + const c = reactivity.computed(getterOrOptions, debugOptions, isInSSRComponentSetup); + return c; +}; + +function h(type, propsOrChildren, children) { + try { + setBlockTracking(-1); + const l = arguments.length; + if (l === 2) { + if (shared.isObject(propsOrChildren) && !shared.isArray(propsOrChildren)) { + if (isVNode(propsOrChildren)) { + return createVNode(type, null, [propsOrChildren]); + } + return createVNode(type, propsOrChildren); + } else { + return createVNode(type, null, propsOrChildren); + } + } else { + if (l > 3) { + children = Array.prototype.slice.call(arguments, 2); + } else if (l === 3 && isVNode(children)) { + children = [children]; + } + return createVNode(type, propsOrChildren, children); + } + } finally { + setBlockTracking(1); + } +} + +function initCustomFormatter() { + { + return; + } +} + +function withMemo(memo, render, cache, index) { + const cached = cache[index]; + if (cached && isMemoSame(cached, memo)) { + return cached; + } + const ret = render(); + ret.memo = memo.slice(); + ret.cacheIndex = index; + return cache[index] = ret; +} +function isMemoSame(cached, memo) { + const prev = cached.memo; + if (prev.length != memo.length) { + return false; + } + for (let i = 0; i < prev.length; i++) { + if (shared.hasChanged(prev[i], memo[i])) { + return false; + } + } + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(cached); + } + return true; +} + +const version = "3.5.22"; +const warn$1 = shared.NOOP; +const ErrorTypeStrings = ErrorTypeStrings$1 ; +const devtools = void 0; +const setDevtoolsHook = shared.NOOP; +const _ssrUtils = { + createComponentInstance, + setupComponent, + renderComponentRoot, + setCurrentRenderingInstance, + isVNode: isVNode, + normalizeVNode, + getComponentPublicInstance, + ensureValidVNode, + pushWarningContext, + popWarningContext +}; +const ssrUtils = _ssrUtils ; +const resolveFilter = null; +const compatUtils = null; +const DeprecationTypes = null; + +exports.EffectScope = reactivity.EffectScope; +exports.ReactiveEffect = reactivity.ReactiveEffect; +exports.TrackOpTypes = reactivity.TrackOpTypes; +exports.TriggerOpTypes = reactivity.TriggerOpTypes; +exports.customRef = reactivity.customRef; +exports.effect = reactivity.effect; +exports.effectScope = reactivity.effectScope; +exports.getCurrentScope = reactivity.getCurrentScope; +exports.getCurrentWatcher = reactivity.getCurrentWatcher; +exports.isProxy = reactivity.isProxy; +exports.isReactive = reactivity.isReactive; +exports.isReadonly = reactivity.isReadonly; +exports.isRef = reactivity.isRef; +exports.isShallow = reactivity.isShallow; +exports.markRaw = reactivity.markRaw; +exports.onScopeDispose = reactivity.onScopeDispose; +exports.onWatcherCleanup = reactivity.onWatcherCleanup; +exports.proxyRefs = reactivity.proxyRefs; +exports.reactive = reactivity.reactive; +exports.readonly = reactivity.readonly; +exports.ref = reactivity.ref; +exports.shallowReactive = reactivity.shallowReactive; +exports.shallowReadonly = reactivity.shallowReadonly; +exports.shallowRef = reactivity.shallowRef; +exports.stop = reactivity.stop; +exports.toRaw = reactivity.toRaw; +exports.toRef = reactivity.toRef; +exports.toRefs = reactivity.toRefs; +exports.toValue = reactivity.toValue; +exports.triggerRef = reactivity.triggerRef; +exports.unref = reactivity.unref; +exports.camelize = shared.camelize; +exports.capitalize = shared.capitalize; +exports.normalizeClass = shared.normalizeClass; +exports.normalizeProps = shared.normalizeProps; +exports.normalizeStyle = shared.normalizeStyle; +exports.toDisplayString = shared.toDisplayString; +exports.toHandlerKey = shared.toHandlerKey; +exports.BaseTransition = BaseTransition; +exports.BaseTransitionPropsValidators = BaseTransitionPropsValidators; +exports.Comment = Comment; +exports.DeprecationTypes = DeprecationTypes; +exports.ErrorCodes = ErrorCodes; +exports.ErrorTypeStrings = ErrorTypeStrings; +exports.Fragment = Fragment; +exports.KeepAlive = KeepAlive; +exports.Static = Static; +exports.Suspense = Suspense; +exports.Teleport = Teleport; +exports.Text = Text; +exports.assertNumber = assertNumber; +exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling; +exports.callWithErrorHandling = callWithErrorHandling; +exports.cloneVNode = cloneVNode; +exports.compatUtils = compatUtils; +exports.computed = computed; +exports.createBlock = createBlock; +exports.createCommentVNode = createCommentVNode; +exports.createElementBlock = createElementBlock; +exports.createElementVNode = createBaseVNode; +exports.createHydrationRenderer = createHydrationRenderer; +exports.createPropsRestProxy = createPropsRestProxy; +exports.createRenderer = createRenderer; +exports.createSlots = createSlots; +exports.createStaticVNode = createStaticVNode; +exports.createTextVNode = createTextVNode; +exports.createVNode = createVNode; +exports.defineAsyncComponent = defineAsyncComponent; +exports.defineComponent = defineComponent; +exports.defineEmits = defineEmits; +exports.defineExpose = defineExpose; +exports.defineModel = defineModel; +exports.defineOptions = defineOptions; +exports.defineProps = defineProps; +exports.defineSlots = defineSlots; +exports.devtools = devtools; +exports.getCurrentInstance = getCurrentInstance; +exports.getTransitionRawChildren = getTransitionRawChildren; +exports.guardReactiveProps = guardReactiveProps; +exports.h = h; +exports.handleError = handleError; +exports.hasInjectionContext = hasInjectionContext; +exports.hydrateOnIdle = hydrateOnIdle; +exports.hydrateOnInteraction = hydrateOnInteraction; +exports.hydrateOnMediaQuery = hydrateOnMediaQuery; +exports.hydrateOnVisible = hydrateOnVisible; +exports.initCustomFormatter = initCustomFormatter; +exports.inject = inject; +exports.isMemoSame = isMemoSame; +exports.isRuntimeOnly = isRuntimeOnly; +exports.isVNode = isVNode; +exports.mergeDefaults = mergeDefaults; +exports.mergeModels = mergeModels; +exports.mergeProps = mergeProps; +exports.nextTick = nextTick; +exports.onActivated = onActivated; +exports.onBeforeMount = onBeforeMount; +exports.onBeforeUnmount = onBeforeUnmount; +exports.onBeforeUpdate = onBeforeUpdate; +exports.onDeactivated = onDeactivated; +exports.onErrorCaptured = onErrorCaptured; +exports.onMounted = onMounted; +exports.onRenderTracked = onRenderTracked; +exports.onRenderTriggered = onRenderTriggered; +exports.onServerPrefetch = onServerPrefetch; +exports.onUnmounted = onUnmounted; +exports.onUpdated = onUpdated; +exports.openBlock = openBlock; +exports.popScopeId = popScopeId; +exports.provide = provide; +exports.pushScopeId = pushScopeId; +exports.queuePostFlushCb = queuePostFlushCb; +exports.registerRuntimeCompiler = registerRuntimeCompiler; +exports.renderList = renderList; +exports.renderSlot = renderSlot; +exports.resolveComponent = resolveComponent; +exports.resolveDirective = resolveDirective; +exports.resolveDynamicComponent = resolveDynamicComponent; +exports.resolveFilter = resolveFilter; +exports.resolveTransitionHooks = resolveTransitionHooks; +exports.setBlockTracking = setBlockTracking; +exports.setDevtoolsHook = setDevtoolsHook; +exports.setTransitionHooks = setTransitionHooks; +exports.ssrContextKey = ssrContextKey; +exports.ssrUtils = ssrUtils; +exports.toHandlers = toHandlers; +exports.transformVNodeArgs = transformVNodeArgs; +exports.useAttrs = useAttrs; +exports.useId = useId; +exports.useModel = useModel; +exports.useSSRContext = useSSRContext; +exports.useSlots = useSlots; +exports.useTemplateRef = useTemplateRef; +exports.useTransitionState = useTransitionState; +exports.version = version; +exports.warn = warn$1; +exports.watch = watch; +exports.watchEffect = watchEffect; +exports.watchPostEffect = watchPostEffect; +exports.watchSyncEffect = watchSyncEffect; +exports.withAsyncContext = withAsyncContext; +exports.withCtx = withCtx; +exports.withDefaults = withDefaults; +exports.withDirectives = withDirectives; +exports.withMemo = withMemo; +exports.withScopeId = withScopeId; diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/reactivity b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/reactivity new file mode 120000 index 00000000..818eb61c --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/reactivity @@ -0,0 +1 @@ +../../../reactivity@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/package.json new file mode 100644 index 00000000..4ee4cd08 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.22/package.json @@ -0,0 +1,52 @@ +{ + "name": "@vue/runtime-core", + "version": "3.5.22", + "description": "@vue/runtime-core", + "main": "index.js", + "module": "dist/runtime-core.esm-bundler.js", + "types": "dist/runtime-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-core.d.ts", + "node": { + "production": "./dist/runtime-core.cjs.prod.js", + "development": "./dist/runtime-core.cjs.js", + "default": "./dist/runtime-core.cjs.prod.js" + }, + "module": "./dist/runtime-core.esm-bundler.js", + "import": "./dist/runtime-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueRuntimeCore", + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme", + "dependencies": { + "@vue/shared": "3.5.22", + "@vue/reactivity": "3.5.22" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/dist/runtime-core.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/dist/runtime-core.cjs.prod.js new file mode 100644 index 00000000..ba61ffe3 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/dist/runtime-core.cjs.prod.js @@ -0,0 +1,6770 @@ +/** +* @vue/runtime-core v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var reactivity = require('@vue/reactivity'); +var shared = require('@vue/shared'); + +function pushWarningContext(vnode) { +} +function popWarningContext() { +} +function assertNumber(val, type) { + return; +} + +const ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" +}; +const ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (shared.isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && shared.isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (shared.isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || shared.EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + if (errorHandler) { + reactivity.pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + reactivity.resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + if (throwInProd) { + throw err; + } else { + console.error(err); + } +} + +const queue = []; +let flushIndex = -1; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +function nextTick(fn) { + const p = currentFlushPromise || resolvedPromise; + return fn ? p.then(this ? fn.bind(this) : fn) : p; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(jobId), 0, job); + } + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!currentFlushPromise) { + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function queuePostFlushCb(cb) { + if (!shared.isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid) { + continue; + } + queue.splice(i, 1); + i--; + if (cb.flags & 4) { + cb.flags &= -2; + } + cb(); + if (!(cb.flags & 4)) { + cb.flags &= -2; + } + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (cb.flags & 4) { + cb.flags &= -2; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= -2; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen) { + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (false) ; + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= -2; + } + } + flushIndex = -1; + queue.length = 0; + flushPostFlushCbs(); + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(); + } + } +} + +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +const withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} + +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = shared.EMPTY_OBJ] = directives[i]; + if (dir) { + if (shared.isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + reactivity.traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + reactivity.pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + reactivity.resetTracking(); + } + } +} + +function provide(key, value) { + if (currentInstance) { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = getCurrentInstance(); + if (instance || currentApp) { + let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + } else ; + } +} +function hasInjectionContext() { + return !!(getCurrentInstance() || currentApp); +} + +const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx"); +const useSSRContext = () => { + { + const ctx = inject(ssrContextKey); + return ctx; + } +}; + +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "post" } + ); +} +function watchSyncEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "sync" } + ); +} +function watch(source, cb, options) { + return doWatch(source, cb, options); +} +function doWatch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, flush, once } = options; + const baseWatchOptions = shared.extend({}, options); + const runsImmediately = cb && immediate || !cb && flush !== "post"; + let ssrCleanup; + if (isInSSRComponentSetup) { + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else if (!runsImmediately) { + const watchStopHandle = () => { + }; + watchStopHandle.stop = shared.NOOP; + watchStopHandle.resume = shared.NOOP; + watchStopHandle.pause = shared.NOOP; + return watchStopHandle; + } + } + const instance = currentInstance; + baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); + let isPre = false; + if (flush === "post") { + baseWatchOptions.scheduler = (job) => { + queuePostRenderEffect(job, instance && instance.suspense); + }; + } else if (flush !== "sync") { + isPre = true; + baseWatchOptions.scheduler = (job, isFirstRun) => { + if (isFirstRun) { + job(); + } else { + queueJob(job); + } + }; + } + baseWatchOptions.augmentJob = (job) => { + if (cb) { + job.flags |= 4; + } + if (isPre) { + job.flags |= 2; + if (instance) { + job.id = instance.uid; + job.i = instance; + } + } + }; + const watchHandle = reactivity.watch(source, cb, baseWatchOptions); + if (isInSSRComponentSetup) { + if (ssrCleanup) { + ssrCleanup.push(watchHandle); + } else if (runsImmediately) { + watchHandle(); + } + } + return watchHandle; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (shared.isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} + +const TeleportEndKey = /* @__PURE__ */ Symbol("_vte"); +const isTeleport = (type) => type.__isTeleport; +const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +const isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +const resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (shared.isString(targetSelector)) { + if (!select) { + return null; + } else { + const target = select(targetSelector); + return target; + } + } else { + return targetSelector; + } +}; +const TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert, querySelector, createText, createComment } + } = internals; + const disabled = isTeleportDisabled(n2.props); + let { shapeFlag, children, dynamicChildren } = n2; + if (n1 == null) { + const placeholder = n2.el = createText(""); + const mainAnchor = n2.anchor = createText(""); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + const mount = (container2, anchor2) => { + if (shapeFlag & 16) { + mountChildren( + children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountToTarget = () => { + const target = n2.target = resolveTarget(n2.props, querySelector); + const targetAnchor = prepareAnchor(target, n2, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target)) { + namespace = "mathml"; + } + if (parentComponent && parentComponent.isCE) { + (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); + } + if (!disabled) { + mount(target, targetAnchor); + updateCssVars(n2, false); + } + } + }; + if (disabled) { + mount(container, mainAnchor); + updateCssVars(n2, true); + } + if (isTeleportDeferred(n2.props)) { + n2.el.__isMounted = false; + queuePostRenderEffect(() => { + mountToTarget(); + delete n2.el.__isMounted; + }, parentSuspense); + } else { + mountToTarget(); + } + } else { + if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) { + queuePostRenderEffect(() => { + TeleportImpl.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + }, parentSuspense); + return; + } + n2.el = n1.el; + n2.targetStart = n1.targetStart; + const mainAnchor = n2.anchor = n1.anchor; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget( + n2.props, + querySelector + ); + if (nextTarget) { + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2, disabled); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target, + props + } = vnode; + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) { + const shouldRemove = doRemove || !isTeleportDisabled(props); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) { + insert(vnode.targetAnchor, container, parentAnchor); + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert(el, container, parentAnchor); + } + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + move( + children[i], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert(anchor, container, parentAnchor); + } +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode, querySelector, insert, createText } +}, hydrateChildren) { + function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) { + vnode2.anchor = hydrateChildren( + nextSibling(node2), + vnode2, + parentNode(node2), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + vnode2.targetStart = targetStart; + vnode2.targetAnchor = targetAnchor; + } + const target = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + const disabled = isTeleportDisabled(vnode.props); + if (target) { + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) { + if (disabled) { + hydrateDisabledTeleport( + node, + vnode, + targetNode, + targetNode && nextSibling(targetNode) + ); + } else { + vnode.anchor = nextSibling(node); + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + if (!vnode.targetAnchor) { + prepareAnchor(target, vnode, createText, insert); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode, disabled); + } else if (disabled) { + if (vnode.shapeFlag & 16) { + hydrateDisabledTeleport(node, vnode, node, nextSibling(node)); + } + } + return vnode.anchor && nextSibling(vnode.anchor); +} +const Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node, anchor; + if (isDisabled) { + node = vnode.el; + anchor = vnode.anchor; + } else { + node = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node && node !== anchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target); + insert(targetAnchor, target); + } + return targetAnchor; +} + +const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb"); +const enterCbKey = /* @__PURE__ */ Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +const TransitionHookValidator = [Function, Array]; +const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +const recursiveGetSubtree = (instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}; +const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + const child = findNonCommentChild(children); + const rawProps = reactivity.toRaw(props); + const { mode } = rawProps; + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks) => enterHooks = hooks + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) { + let leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + oldInnerChild = void 0; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + enterHooks.delayedLeave = () => { + delayedLeave(); + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + }; + } else { + oldInnerChild = void 0; + } + } else if (oldInnerChild) { + oldInnerChild = void 0; + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + for (const c of children) { + if (c.type !== Comment) { + child = c; + break; + } + } + } + return child; +} +const BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook(hook, args); + if (shared.isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook(cancelHook, [el]); + } else { + callHook(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove) { + const key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove(); + } + callHook(onBeforeLeave, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove(); + if (cancelled) { + callHook(onLeaveCancelled, [el]); + } else { + callHook(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + if (vnode.component) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && shared.isFunction(children.default)) { + return children.default(); + } + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} + +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return shared.isFunction(options) ? ( + // #8236: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => shared.extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} + +function useId() { + const i = getCurrentInstance(); + if (i) { + return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; + } + return ""; +} +function markAsyncBoundary(instance) { + instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; +} + +function useTemplateRef(key) { + const i = getCurrentInstance(); + const r = reactivity.shallowRef(null); + if (i) { + const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs; + { + Object.defineProperty(refs, key, { + enumerable: true, + get: () => r.value, + set: (val) => r.value = val + }); + } + } + const ret = r; + return ret; +} + +const pendingSetRefMap = /* @__PURE__ */ new WeakMap(); +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (shared.isArray(rawRef)) { + rawRef.forEach( + (r, i) => setRef( + r, + oldRawRef && (shared.isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), + parentSuspense, + vnode, + isUnmount + ) + ); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) { + setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); + } + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref } = rawRef; + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === shared.EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = reactivity.toRaw(setupState); + const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => { + return shared.hasOwn(rawSetupState, key); + }; + if (oldRef != null && oldRef !== ref) { + invalidatePendingSetRef(oldRawRef); + if (shared.isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) { + setupState[oldRef] = null; + } + } else if (reactivity.isRef(oldRef)) { + { + oldRef.value = null; + } + const oldRawRefAtom = oldRawRef; + if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; + } + } + if (shared.isFunction(ref)) { + callWithErrorHandling(ref, owner, 12, [value, refs]); + } else { + const _isString = shared.isString(ref); + const _isRef = reactivity.isRef(ref); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value ; + if (isUnmount) { + shared.isArray(existing) && shared.remove(existing, refValue); + } else { + if (!shared.isArray(existing)) { + if (_isString) { + refs[ref] = [refValue]; + if (canSetSetupRef(ref)) { + setupState[ref] = refs[ref]; + } + } else { + const newVal = [refValue]; + { + ref.value = newVal; + } + if (rawRef.k) refs[rawRef.k] = newVal; + } + } else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } else if (_isString) { + refs[ref] = value; + if (canSetSetupRef(ref)) { + setupState[ref] = value; + } + } else if (_isRef) { + { + ref.value = value; + } + if (rawRef.k) refs[rawRef.k] = value; + } else ; + }; + if (value) { + const job = () => { + doSet(); + pendingSetRefMap.delete(rawRef); + }; + job.id = -1; + pendingSetRefMap.set(rawRef, job); + queuePostRenderEffect(job, parentSuspense); + } else { + invalidatePendingSetRef(rawRef); + doSet(); + } + } + } +} +function invalidatePendingSetRef(rawRef) { + const pendingSetRef = pendingSetRefMap.get(rawRef); + if (pendingSetRef) { + pendingSetRef.flags |= 8; + pendingSetRefMap.delete(rawRef); + } +} + +let hasLoggedMismatchError = false; +const logMismatchError = () => { + if (hasLoggedMismatchError) { + return; + } + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +const isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +const getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; + return void 0; +}; +const isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { + mt: mountComponent, + p: patch, + o: { + patchProp, + createText, + nextSibling, + parentNode, + remove, + insert, + createComment + } + } = rendererInternals; + const hydrate = (vnode, container) => { + if (!container.hasChildNodes()) { + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + isFragmentStart + ); + const { type, ref, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) { + if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else { + nextNode = onMismatch(); + } + } else { + if (node.data !== vnode.children) { + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode( + vnode.el = node.content.firstChild, + node, + parentComponent + ); + } else if (domType !== 8 || isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = nextSibling(node); + } + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) + vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) { + vnode.anchor = nextNode; + } + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else { + onMismatch(); + } + break; + case Fragment: + if (!isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = hydrateFragment( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + break; + default: + if (shapeFlag & 1) { + if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { + nextNode = onMismatch(); + } else { + nextNode = hydrateElement( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) { + nextNode = locateClosingAnchor(node); + } else if (isComment(node) && node.data === "teleport start") { + nextNode = locateClosingAnchor(node, node.data, "teleport end"); + } else { + nextNode = nextSibling(node); + } + mountComponent( + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + optimized + ); + if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Fragment); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else { + subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); + } + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) { + if (domType !== 8) { + nextNode = onMismatch(); + } else { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized, + rendererInternals, + hydrateChildren + ); + } + } else if (shapeFlag & 128) { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + getContainerType(parentNode(node)), + slotScopeIds, + optimized, + rendererInternals, + hydrateNode + ); + } else ; + } + if (ref != null) { + setRef(ref, null, parentSuspense, vnode); + } + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; + const forcePatch = type === "input" || type === "option"; + if (forcePatch || patchFlag !== -1) { + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition( + null, + // no need check parentSuspense in hydration + transition + ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + const cls = content.getAttribute("class"); + if (cls) content.$cls = cls; + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && // skip if element has innerHTML / textContent + !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren( + el.firstChild, + vnode, + el, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + while (next) { + if (!isMismatchAllowed(el, 1 /* CHILDREN */)) { + logMismatchError(); + } + const cur = next; + next = next.nextSibling; + remove(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { + clientText = clientText.slice(1); + } + const { textContent } = el; + if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM + textContent !== clientText.replace(/\r\n|\r/g, "\n")) { + if (!isMismatchAllowed(el, 0 /* TEXT */)) { + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + if (forcePatch || !optimized || patchFlag & (16 | 32)) { + const isCustomElement = el.tagName.includes("-"); + for (const key in props) { + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers + key[0] === "." || isCustomElement) { + patchProp(el, key, null, props[key], void 0, parentComponent); + } + } + } else if (props.onClick) { + patchProp( + el, + "onClick", + null, + props.onClick, + void 0, + parentComponent + ); + } else if (patchFlag & 4 && reactivity.isReactive(props.style)) { + for (const key in props.style) props.style[key]; + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHooks, parentComponent, vnode); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { + queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert( + createText( + node.data.slice(vnode.children.length) + ), + container, + nextSibling(node) + ); + node.data = vnode.children; + } + } + node = hydrateNode( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } else if (isText && !vnode.children) { + insert(vnode.el = createText(""), container); + } else { + if (!isMismatchAllowed(container, 1 /* CHILDREN */)) { + logMismatchError(); + } + patch( + null, + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + const container = parentNode(node); + const next = hydrateChildren( + nextSibling(node), + vnode, + container, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && isComment(next) && next.data === "]") { + return nextSibling(vnode.anchor = next); + } else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) { + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) { + remove(next2); + } else { + break; + } + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove(node); + patch( + null, + vnode, + container, + next, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + if (parentComponent) { + parentComponent.vnode.el = vnode.el; + updateHOCHostEl(parentComponent, vnode.el); + } + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) { + if (match === 0) { + return nextSibling(node); + } else { + match--; + } + } + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) { + parentNode2.replaceChild(newNode, oldNode); + } + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) { + parent.vnode.el = parent.subTree.el = newNode; + } + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate, hydrateNode]; +} +const allowMismatchAttr = "data-allow-mismatch"; +const MismatchTypeString = { + [0 /* TEXT */]: "text", + [1 /* CHILDREN */]: "children", + [2 /* CLASS */]: "class", + [3 /* STYLE */]: "style", + [4 /* ATTRIBUTE */]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) { + while (el && !el.hasAttribute(allowMismatchAttr)) { + el = el.parentElement; + } + } + const allowedAttr = el && el.getAttribute(allowMismatchAttr); + if (allowedAttr == null) { + return false; + } else if (allowedAttr === "") { + return true; + } else { + const list = allowedAttr.split(","); + if (allowedType === 0 /* TEXT */ && list.includes("children")) { + return true; + } + return list.includes(MismatchTypeString[allowedType]); + } +} + +const requestIdleCallback = shared.getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); +const cancelIdleCallback = shared.getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); +const hydrateOnIdle = (timeout = 1e4) => (hydrate) => { + const id = requestIdleCallback(hydrate, { timeout }); + return () => cancelIdleCallback(id); +}; +function elementIsVisibleInViewport(el) { + const { top, left, bottom, right } = el.getBoundingClientRect(); + const { innerHeight, innerWidth } = window; + return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); +} +const hydrateOnVisible = (opts) => (hydrate, forEach) => { + const ob = new IntersectionObserver((entries) => { + for (const e of entries) { + if (!e.isIntersecting) continue; + ob.disconnect(); + hydrate(); + break; + } + }, opts); + forEach((el) => { + if (!(el instanceof Element)) return; + if (elementIsVisibleInViewport(el)) { + hydrate(); + ob.disconnect(); + return false; + } + ob.observe(el); + }); + return () => ob.disconnect(); +}; +const hydrateOnMediaQuery = (query) => (hydrate) => { + if (query) { + const mql = matchMedia(query); + if (mql.matches) { + hydrate(); + } else { + mql.addEventListener("change", hydrate, { once: true }); + return () => mql.removeEventListener("change", hydrate); + } + } +}; +const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => { + if (shared.isString(interactions)) interactions = [interactions]; + let hasHydrated = false; + const doHydrate = (e) => { + if (!hasHydrated) { + hasHydrated = true; + teardown(); + hydrate(); + e.target.dispatchEvent(new e.constructor(e.type, e)); + } + }; + const teardown = () => { + forEach((el) => { + for (const i of interactions) { + el.removeEventListener(i, doHydrate); + } + }); + }; + forEach((el) => { + for (const i of interactions) { + el.addEventListener(i, doHydrate, { once: true }); + } + }); + return teardown; +}; +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + const result = cb(next); + if (result === false) { + break; + } + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") { + depth++; + } + } + next = next.nextSibling; + } + } else { + cb(node); + } +} + +const isAsyncWrapper = (i) => !!i.type.__asyncLoader; +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (shared.isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + hydrate: hydrateStrategy, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve, reject) => { + const userRetry = () => resolve(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate) { + let patched = false; + (instance.bu || (instance.bu = [])).push(() => patched = true); + const performHydrate = () => { + if (patched) { + return; + } + hydrate(); + }; + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy( + performHydrate, + (cb) => forEachElement(el, cb) + ); + if (teardown) { + (instance.bum || (instance.bum = [])).push(teardown); + } + } : performHydrate; + if (resolvedComp) { + doHydrate(); + } else { + load().then(() => !instance.isUnmounted && doHydrate()); + } + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = reactivity.ref(false); + const error = reactivity.ref(); + const delayed = reactivity.ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.update(); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createInnerComp( + loadingComponent, + instance + ); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} + +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +const KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + namespace, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + shared.invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + invalidateMount(instance2.m); + invalidateMount(instance2.a); + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + shared.invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type + ); + if (name && !filter(name)) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (cached && (!current || !isSameVNodeType(cached, current))) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + if (isSuspense(instance.subTree.type)) { + queuePostRenderEffect(() => { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + }, instance.subTree.suspense); + } else { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return current = null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + if (vnode.type === Comment) { + current = null; + return vnode; + } + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + vnode.shapeFlag &= -257; + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +const KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (shared.isArray(pattern)) { + return pattern.some((p) => matches(p, name)); + } else if (shared.isString(pattern)) { + return pattern.split(",").includes(name); + } else if (shared.isRegExp(pattern)) { + pattern.lastIndex = 0; + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + shared.remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= -257; + vnode.shapeFlag &= -513; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} + +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + reactivity.pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + reactivity.resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") { + injectHook(lifecycle, (...args) => hook(...args), target); + } +}; +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook( + "bu" +); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook( + "bum" +); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook( + "sp" +); +const onRenderTriggered = createHook("rtg"); +const onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} + +const COMPONENTS = "components"; +const DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (shared.isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === shared.camelize(name) || selfName === shared.capitalize(shared.camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + return res; + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[shared.camelize(name)] || registry[shared.capitalize(shared.camelize(name))]); +} + +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + const sourceIsArray = shared.isArray(source); + if (sourceIsArray || shared.isString(source)) { + const sourceIsReactiveArray = sourceIsArray && reactivity.isReactive(source); + let needsWrap = false; + let isReadonlySource = false; + if (sourceIsReactiveArray) { + needsWrap = !reactivity.isShallow(source); + isReadonlySource = reactivity.isReadonly(source); + source = reactivity.shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem( + needsWrap ? isReadonlySource ? reactivity.toReadonly(reactivity.toReactive(source[i])) : reactivity.toReactive(source[i]) : source[i], + i, + void 0, + cached && cached[i] + ); + } + } else if (typeof source === "number") { + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} + +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (shared.isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} + +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + const hasProps = Object.keys(props).length > 0; + if (name !== "default") props.name = name; + return openBlock(), createBlock( + Fragment, + null, + [createVNode("slot", props, fallback && fallback())], + hasProps ? -2 : 64 + ); + } + let slot = slots[name]; + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key; + const rendered = createBlock( + Fragment, + { + key: (slotKey && !shared.isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content + (!validSlotContent && fallback ? "_fb" : "") + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} + +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = obj[key]; + } + return ret; +} + +const getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ shared.extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => i.props, + $attrs: (i) => i.attrs, + $slots: (i) => i.slots, + $refs: (i) => i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i) , + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) + }) +); +const hasSetupBinding = (state, key) => state !== shared.EMPTY_OBJ && !state.__isScriptSetup && shared.hasOwn(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1 /* SETUP */: + return setupState[key]; + case 2 /* DATA */: + return data[key]; + case 4 /* CONTEXT */: + return ctx[key]; + case 3 /* PROPS */: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1 /* SETUP */; + return setupState[key]; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + accessCache[key] = 2 /* DATA */; + return data[key]; + } else if (shared.hasOwn(props, key)) { + accessCache[key] = 3 /* PROPS */; + return props[key]; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0 /* OTHER */; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + reactivity.track(instance.attrs, "get", ""); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, shared.hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else ; + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + data[key] = value; + return true; + } else if (shared.hasOwn(instance.props, key)) { + return false; + } + if (key[0] === "$" && key.slice(1) in instance) { + return false; + } else { + { + ctx[key] = value; + } + } + return true; + }, + has({ + _: { data, setupState, accessCache, ctx, appContext, props, type } + }, key) { + let cssModules; + return !!(accessCache[key] || data !== shared.EMPTY_OBJ && key[0] !== "$" && shared.hasOwn(data, key) || hasSetupBinding(setupState, key) || shared.hasOwn(props, key) || shared.hasOwn(ctx, key) || shared.hasOwn(publicPropertiesMap, key) || shared.hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]); + }, + defineProperty(target, key, descriptor) { + if (descriptor.get != null) { + target._.accessCache[key] = 0; + } else if (shared.hasOwn(descriptor, "value")) { + this.set(target, key, descriptor.value, null); + } + return Reflect.defineProperty(target, key, descriptor); + } +}; +const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ shared.extend({}, PublicInstanceProxyHandlers, { + get(target, key) { + if (key === Symbol.unscopables) { + return; + } + return PublicInstanceProxyHandlers.get(target, key, target); + }, + has(_, key) { + const has = key[0] !== "_" && !shared.isGloballyAllowed(key); + return has; + } +}); + +function defineProps() { + return null; +} +function defineEmits() { + return null; +} +function defineExpose(exposed) { +} +function defineOptions(options) { +} +function defineSlots() { + return null; +} +function defineModel() { +} +function withDefaults(props, defaults) { + return null; +} +function useSlots() { + return getContext().slots; +} +function useAttrs() { + return getContext().attrs; +} +function getContext(calledFunctionName) { + const i = getCurrentInstance(); + return i.setupContext || (i.setupContext = createSetupContext(i)); +} +function normalizePropsOrEmits(props) { + return shared.isArray(props) ? props.reduce( + (normalized, p) => (normalized[p] = null, normalized), + {} + ) : props; +} +function mergeDefaults(raw, defaults) { + const props = normalizePropsOrEmits(raw); + for (const key in defaults) { + if (key.startsWith("__skip")) continue; + let opt = props[key]; + if (opt) { + if (shared.isArray(opt) || shared.isFunction(opt)) { + opt = props[key] = { type: opt, default: defaults[key] }; + } else { + opt.default = defaults[key]; + } + } else if (opt === null) { + opt = props[key] = { default: defaults[key] }; + } else ; + if (opt && defaults[`__skip_${key}`]) { + opt.skipFactory = true; + } + } + return props; +} +function mergeModels(a, b) { + if (!a || !b) return a || b; + if (shared.isArray(a) && shared.isArray(b)) return a.concat(b); + return shared.extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b)); +} +function createPropsRestProxy(props, excludedKeys) { + const ret = {}; + for (const key in props) { + if (!excludedKeys.includes(key)) { + Object.defineProperty(ret, key, { + enumerable: true, + get: () => props[key] + }); + } + } + return ret; +} +function withAsyncContext(getAwaitable) { + const ctx = getCurrentInstance(); + let awaitable = getAwaitable(); + unsetCurrentInstance(); + if (shared.isPromise(awaitable)) { + awaitable = awaitable.catch((e) => { + setCurrentInstance(ctx); + throw e; + }); + } + return [awaitable, () => setCurrentInstance(ctx)]; +} + +let shouldCacheAccess = true; +function applyOptions(instance) { + const options = resolveMergedOptions(instance); + const publicThis = instance.proxy; + const ctx = instance.ctx; + shouldCacheAccess = false; + if (options.beforeCreate) { + callHook(options.beforeCreate, instance, "bc"); + } + const { + // state + data: dataOptions, + computed: computedOptions, + methods, + watch: watchOptions, + provide: provideOptions, + inject: injectOptions, + // lifecycle + created, + beforeMount, + mounted, + beforeUpdate, + updated, + activated, + deactivated, + beforeDestroy, + beforeUnmount, + destroyed, + unmounted, + render, + renderTracked, + renderTriggered, + errorCaptured, + serverPrefetch, + // public API + expose, + inheritAttrs, + // assets + components, + directives, + filters + } = options; + const checkDuplicateProperties = null; + if (injectOptions) { + resolveInjections(injectOptions, ctx, checkDuplicateProperties); + } + if (methods) { + for (const key in methods) { + const methodHandler = methods[key]; + if (shared.isFunction(methodHandler)) { + { + ctx[key] = methodHandler.bind(publicThis); + } + } + } + } + if (dataOptions) { + const data = dataOptions.call(publicThis, publicThis); + if (!shared.isObject(data)) ; else { + instance.data = reactivity.reactive(data); + } + } + shouldCacheAccess = true; + if (computedOptions) { + for (const key in computedOptions) { + const opt = computedOptions[key]; + const get = shared.isFunction(opt) ? opt.bind(publicThis, publicThis) : shared.isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : shared.NOOP; + const set = !shared.isFunction(opt) && shared.isFunction(opt.set) ? opt.set.bind(publicThis) : shared.NOOP; + const c = computed({ + get, + set + }); + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => c.value, + set: (v) => c.value = v + }); + } + } + if (watchOptions) { + for (const key in watchOptions) { + createWatcher(watchOptions[key], ctx, publicThis, key); + } + } + if (provideOptions) { + const provides = shared.isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; + Reflect.ownKeys(provides).forEach((key) => { + provide(key, provides[key]); + }); + } + if (created) { + callHook(created, instance, "c"); + } + function registerLifecycleHook(register, hook) { + if (shared.isArray(hook)) { + hook.forEach((_hook) => register(_hook.bind(publicThis))); + } else if (hook) { + register(hook.bind(publicThis)); + } + } + registerLifecycleHook(onBeforeMount, beforeMount); + registerLifecycleHook(onMounted, mounted); + registerLifecycleHook(onBeforeUpdate, beforeUpdate); + registerLifecycleHook(onUpdated, updated); + registerLifecycleHook(onActivated, activated); + registerLifecycleHook(onDeactivated, deactivated); + registerLifecycleHook(onErrorCaptured, errorCaptured); + registerLifecycleHook(onRenderTracked, renderTracked); + registerLifecycleHook(onRenderTriggered, renderTriggered); + registerLifecycleHook(onBeforeUnmount, beforeUnmount); + registerLifecycleHook(onUnmounted, unmounted); + registerLifecycleHook(onServerPrefetch, serverPrefetch); + if (shared.isArray(expose)) { + if (expose.length) { + const exposed = instance.exposed || (instance.exposed = {}); + expose.forEach((key) => { + Object.defineProperty(exposed, key, { + get: () => publicThis[key], + set: (val) => publicThis[key] = val, + enumerable: true + }); + }); + } else if (!instance.exposed) { + instance.exposed = {}; + } + } + if (render && instance.render === shared.NOOP) { + instance.render = render; + } + if (inheritAttrs != null) { + instance.inheritAttrs = inheritAttrs; + } + if (components) instance.components = components; + if (directives) instance.directives = directives; + if (serverPrefetch) { + markAsyncBoundary(instance); + } +} +function resolveInjections(injectOptions, ctx, checkDuplicateProperties = shared.NOOP) { + if (shared.isArray(injectOptions)) { + injectOptions = normalizeInject(injectOptions); + } + for (const key in injectOptions) { + const opt = injectOptions[key]; + let injected; + if (shared.isObject(opt)) { + if ("default" in opt) { + injected = inject( + opt.from || key, + opt.default, + true + ); + } else { + injected = inject(opt.from || key); + } + } else { + injected = inject(opt); + } + if (reactivity.isRef(injected)) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => injected.value, + set: (v) => injected.value = v + }); + } else { + ctx[key] = injected; + } + } +} +function callHook(hook, instance, type) { + callWithAsyncErrorHandling( + shared.isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy), + instance, + type + ); +} +function createWatcher(raw, ctx, publicThis, key) { + let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; + if (shared.isString(raw)) { + const handler = ctx[raw]; + if (shared.isFunction(handler)) { + { + watch(getter, handler); + } + } + } else if (shared.isFunction(raw)) { + { + watch(getter, raw.bind(publicThis)); + } + } else if (shared.isObject(raw)) { + if (shared.isArray(raw)) { + raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); + } else { + const handler = shared.isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; + if (shared.isFunction(handler)) { + watch(getter, handler, raw); + } + } + } else ; +} +function resolveMergedOptions(instance) { + const base = instance.type; + const { mixins, extends: extendsOptions } = base; + const { + mixins: globalMixins, + optionsCache: cache, + config: { optionMergeStrategies } + } = instance.appContext; + const cached = cache.get(base); + let resolved; + if (cached) { + resolved = cached; + } else if (!globalMixins.length && !mixins && !extendsOptions) { + { + resolved = base; + } + } else { + resolved = {}; + if (globalMixins.length) { + globalMixins.forEach( + (m) => mergeOptions(resolved, m, optionMergeStrategies, true) + ); + } + mergeOptions(resolved, base, optionMergeStrategies); + } + if (shared.isObject(base)) { + cache.set(base, resolved); + } + return resolved; +} +function mergeOptions(to, from, strats, asMixin = false) { + const { mixins, extends: extendsOptions } = from; + if (extendsOptions) { + mergeOptions(to, extendsOptions, strats, true); + } + if (mixins) { + mixins.forEach( + (m) => mergeOptions(to, m, strats, true) + ); + } + for (const key in from) { + if (asMixin && key === "expose") ; else { + const strat = internalOptionMergeStrats[key] || strats && strats[key]; + to[key] = strat ? strat(to[key], from[key]) : from[key]; + } + } + return to; +} +const internalOptionMergeStrats = { + data: mergeDataFn, + props: mergeEmitsOrPropsOptions, + emits: mergeEmitsOrPropsOptions, + // objects + methods: mergeObjectOptions, + computed: mergeObjectOptions, + // lifecycle + beforeCreate: mergeAsArray, + created: mergeAsArray, + beforeMount: mergeAsArray, + mounted: mergeAsArray, + beforeUpdate: mergeAsArray, + updated: mergeAsArray, + beforeDestroy: mergeAsArray, + beforeUnmount: mergeAsArray, + destroyed: mergeAsArray, + unmounted: mergeAsArray, + activated: mergeAsArray, + deactivated: mergeAsArray, + errorCaptured: mergeAsArray, + serverPrefetch: mergeAsArray, + // assets + components: mergeObjectOptions, + directives: mergeObjectOptions, + // watch + watch: mergeWatchOptions, + // provide / inject + provide: mergeDataFn, + inject: mergeInject +}; +function mergeDataFn(to, from) { + if (!from) { + return to; + } + if (!to) { + return from; + } + return function mergedDataFn() { + return (shared.extend)( + shared.isFunction(to) ? to.call(this, this) : to, + shared.isFunction(from) ? from.call(this, this) : from + ); + }; +} +function mergeInject(to, from) { + return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); +} +function normalizeInject(raw) { + if (shared.isArray(raw)) { + const res = {}; + for (let i = 0; i < raw.length; i++) { + res[raw[i]] = raw[i]; + } + return res; + } + return raw; +} +function mergeAsArray(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function mergeObjectOptions(to, from) { + return to ? shared.extend(/* @__PURE__ */ Object.create(null), to, from) : from; +} +function mergeEmitsOrPropsOptions(to, from) { + if (to) { + if (shared.isArray(to) && shared.isArray(from)) { + return [.../* @__PURE__ */ new Set([...to, ...from])]; + } + return shared.extend( + /* @__PURE__ */ Object.create(null), + normalizePropsOrEmits(to), + normalizePropsOrEmits(from != null ? from : {}) + ); + } else { + return from; + } +} +function mergeWatchOptions(to, from) { + if (!to) return from; + if (!from) return to; + const merged = shared.extend(/* @__PURE__ */ Object.create(null), to); + for (const key in from) { + merged[key] = mergeAsArray(to[key], from[key]); + } + return merged; +} + +function createAppContext() { + return { + app: null, + config: { + isNativeTag: shared.NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid$1 = 0; +function createAppAPI(render, hydrate) { + return function createApp(rootComponent, rootProps = null) { + if (!shared.isFunction(rootComponent)) { + rootComponent = shared.extend({}, rootComponent); + } + if (rootProps != null && !shared.isObject(rootProps)) { + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new WeakSet(); + const pluginCleanupFns = []; + let isMounted = false; + const app = context.app = { + _uid: uid$1++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v) { + }, + use(plugin, ...options) { + if (installedPlugins.has(plugin)) ; else if (plugin && shared.isFunction(plugin.install)) { + installedPlugins.add(plugin); + plugin.install(app, ...options); + } else if (shared.isFunction(plugin)) { + installedPlugins.add(plugin); + plugin(app, ...options); + } else ; + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } + } + return app; + }, + component(name, component) { + if (!component) { + return context.components[name]; + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + if (!directive) { + return context.directives[name]; + } + context.directives[name] = directive; + return app; + }, + mount(rootContainer, isHydrate, namespace) { + if (!isMounted) { + const vnode = app._ceVNode || createVNode(rootComponent, rootProps); + vnode.appContext = context; + if (namespace === true) { + namespace = "svg"; + } else if (namespace === false) { + namespace = void 0; + } + if (isHydrate && hydrate) { + hydrate(vnode, rootContainer); + } else { + render(vnode, rootContainer, namespace); + } + isMounted = true; + app._container = rootContainer; + rootContainer.__vue_app__ = app; + return getComponentPublicInstance(vnode.component); + } + }, + onUnmount(cleanupFn) { + pluginCleanupFns.push(cleanupFn); + }, + unmount() { + if (isMounted) { + callWithAsyncErrorHandling( + pluginCleanupFns, + app._instance, + 16 + ); + render(null, app._container); + delete app._container.__vue_app__; + } + }, + provide(key, value) { + context.provides[key] = value; + return app; + }, + runWithContext(fn) { + const lastApp = currentApp; + currentApp = app; + try { + return fn(); + } finally { + currentApp = lastApp; + } + } + }; + return app; + }; +} +let currentApp = null; + +function useModel(props, name, options = shared.EMPTY_OBJ) { + const i = getCurrentInstance(); + const camelizedName = shared.camelize(name); + const hyphenatedName = shared.hyphenate(name); + const modifiers = getModelModifiers(props, camelizedName); + const res = reactivity.customRef((track, trigger) => { + let localValue; + let prevSetValue = shared.EMPTY_OBJ; + let prevEmittedValue; + watchSyncEffect(() => { + const propValue = props[camelizedName]; + if (shared.hasChanged(localValue, propValue)) { + localValue = propValue; + trigger(); + } + }); + return { + get() { + track(); + return options.get ? options.get(localValue) : localValue; + }, + set(value) { + const emittedValue = options.set ? options.set(value) : value; + if (!shared.hasChanged(emittedValue, localValue) && !(prevSetValue !== shared.EMPTY_OBJ && shared.hasChanged(value, prevSetValue))) { + return; + } + const rawProps = i.vnode.props; + if (!(rawProps && // check if parent has passed v-model + (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) { + localValue = value; + trigger(); + } + i.emit(`update:${name}`, emittedValue); + if (shared.hasChanged(value, emittedValue) && shared.hasChanged(value, prevSetValue) && !shared.hasChanged(emittedValue, prevEmittedValue)) { + trigger(); + } + prevSetValue = value; + prevEmittedValue = emittedValue; + } + }; + }); + res[Symbol.iterator] = () => { + let i2 = 0; + return { + next() { + if (i2 < 2) { + return { value: i2++ ? modifiers || shared.EMPTY_OBJ : res, done: false }; + } else { + return { done: true }; + } + } + }; + }; + return res; +} +const getModelModifiers = (props, modelName) => { + return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${shared.camelize(modelName)}Modifiers`] || props[`${shared.hyphenate(modelName)}Modifiers`]; +}; + +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) return; + const props = instance.vnode.props || shared.EMPTY_OBJ; + let args = rawArgs; + const isModelListener = event.startsWith("update:"); + const modifiers = isModelListener && getModelModifiers(props, event.slice(7)); + if (modifiers) { + if (modifiers.trim) { + args = rawArgs.map((a) => shared.isString(a) ? a.trim() : a); + } + if (modifiers.number) { + args = rawArgs.map(shared.looseToNumber); + } + } + let handlerName; + let handler = props[handlerName = shared.toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = shared.toHandlerKey(shared.camelize(event))]; + if (!handler && isModelListener) { + handler = props[handlerName = shared.toHandlerKey(shared.hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +const mixinEmitsCache = /* @__PURE__ */ new WeakMap(); +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinEmitsCache : appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + shared.extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (shared.isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + shared.extend(normalized, raw); + } + if (shared.isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !shared.isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return shared.hasOwn(options, key[0].toLowerCase() + key.slice(1)) || shared.hasOwn(options, shared.hyphenate(key)) || shared.hasOwn(options, key); +} + +function markAttrsAccessed() { +} +function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + propsOptions: [propsOptions], + slots, + attrs, + emit, + render, + renderCache, + props, + data, + setupState, + ctx, + inheritAttrs + } = instance; + const prev = setCurrentRenderingInstance(instance); + let result; + let fallthroughAttrs; + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + const thisProxy = false ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn( + `Property '${String( + key + )}' was accessed via 'this'. Avoid using 'this' in templates.` + ); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode( + render.call( + thisProxy, + proxyToUse, + renderCache, + false ? shallowReadonly(props) : props, + setupState, + data, + ctx + ) + ); + fallthroughAttrs = attrs; + } else { + const render2 = Component; + if (false) ; + result = normalizeVNode( + render2.length > 1 ? render2( + false ? shallowReadonly(props) : props, + false ? { + get attrs() { + markAttrsAccessed(); + return shallowReadonly(attrs); + }, + slots, + emit + } : { attrs, slots, emit } + ) : render2( + false ? shallowReadonly(props) : props, + null + ) + ); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(shared.isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root = cloneVNode(root, fallthroughAttrs, false, true); + } + } + } + if (vnode.dirs) { + root = cloneVNode(root, null, false, true); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + setTransitionHooks(root, vnode.transition); + } + { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +function filterSingleRoot(children, recurse = true) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + } + } + } else { + return; + } + } + return singleRoot; +} +const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || shared.isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +const filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!shared.isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function updateHOCHostEl({ vnode, parent }, el) { + while (parent) { + const root = parent.subTree; + if (root.suspense && root.suspense.activeBranch === vnode) { + root.el = vnode.el; + } + if (root === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } +} + +const internalObjectProto = {}; +const createInternalObject = () => Object.create(internalObjectProto); +const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto; + +function initProps(instance, rawProps, isStateful, isSSR = false) { + const props = {}; + const attrs = createInternalObject(); + instance.propsDefaults = /* @__PURE__ */ Object.create(null); + setFullProps(instance, rawProps, props, attrs); + for (const key in instance.propsOptions[0]) { + if (!(key in props)) { + props[key] = void 0; + } + } + if (isStateful) { + instance.props = isSSR ? props : reactivity.shallowReactive(props); + } else { + if (!instance.type.props) { + instance.props = attrs; + } else { + instance.props = props; + } + } + instance.attrs = attrs; +} +function updateProps(instance, rawProps, rawPrevProps, optimized) { + const { + props, + attrs, + vnode: { patchFlag } + } = instance; + const rawCurrentProps = reactivity.toRaw(props); + const [options] = instance.propsOptions; + let hasAttrsChanged = false; + if ( + // always force full diff in dev + // - #1942 if hmr is enabled with sfc component + // - vite#872 non-sfc component used by sfc component + (optimized || patchFlag > 0) && !(patchFlag & 16) + ) { + if (patchFlag & 8) { + const propsToUpdate = instance.vnode.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + let key = propsToUpdate[i]; + if (isEmitListener(instance.emitsOptions, key)) { + continue; + } + const value = rawProps[key]; + if (options) { + if (shared.hasOwn(attrs, key)) { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } else { + const camelizedKey = shared.camelize(key); + props[camelizedKey] = resolvePropValue( + options, + rawCurrentProps, + camelizedKey, + value, + instance, + false + ); + } + } else { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + } else { + if (setFullProps(instance, rawProps, props, attrs)) { + hasAttrsChanged = true; + } + let kebabKey; + for (const key in rawCurrentProps) { + if (!rawProps || // for camelCase + !shared.hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case + // and converted to camelCase (#955) + ((kebabKey = shared.hyphenate(key)) === key || !shared.hasOwn(rawProps, kebabKey))) { + if (options) { + if (rawPrevProps && // for camelCase + (rawPrevProps[key] !== void 0 || // for kebab-case + rawPrevProps[kebabKey] !== void 0)) { + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + void 0, + instance, + true + ); + } + } else { + delete props[key]; + } + } + } + if (attrs !== rawCurrentProps) { + for (const key in attrs) { + if (!rawProps || !shared.hasOwn(rawProps, key) && true) { + delete attrs[key]; + hasAttrsChanged = true; + } + } + } + } + if (hasAttrsChanged) { + reactivity.trigger(instance.attrs, "set", ""); + } +} +function setFullProps(instance, rawProps, props, attrs) { + const [options, needCastKeys] = instance.propsOptions; + let hasAttrsChanged = false; + let rawCastValues; + if (rawProps) { + for (let key in rawProps) { + if (shared.isReservedProp(key)) { + continue; + } + const value = rawProps[key]; + let camelKey; + if (options && shared.hasOwn(options, camelKey = shared.camelize(key))) { + if (!needCastKeys || !needCastKeys.includes(camelKey)) { + props[camelKey] = value; + } else { + (rawCastValues || (rawCastValues = {}))[camelKey] = value; + } + } else if (!isEmitListener(instance.emitsOptions, key)) { + if (!(key in attrs) || value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + if (needCastKeys) { + const rawCurrentProps = reactivity.toRaw(props); + const castValues = rawCastValues || shared.EMPTY_OBJ; + for (let i = 0; i < needCastKeys.length; i++) { + const key = needCastKeys[i]; + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + castValues[key], + instance, + !shared.hasOwn(castValues, key) + ); + } + } + return hasAttrsChanged; +} +function resolvePropValue(options, props, key, value, instance, isAbsent) { + const opt = options[key]; + if (opt != null) { + const hasDefault = shared.hasOwn(opt, "default"); + if (hasDefault && value === void 0) { + const defaultValue = opt.default; + if (opt.type !== Function && !opt.skipFactory && shared.isFunction(defaultValue)) { + const { propsDefaults } = instance; + if (key in propsDefaults) { + value = propsDefaults[key]; + } else { + const reset = setCurrentInstance(instance); + value = propsDefaults[key] = defaultValue.call( + null, + props + ); + reset(); + } + } else { + value = defaultValue; + } + if (instance.ce) { + instance.ce._setProp(key, value); + } + } + if (opt[0 /* shouldCast */]) { + if (isAbsent && !hasDefault) { + value = false; + } else if (opt[1 /* shouldCastTrue */] && (value === "" || value === shared.hyphenate(key))) { + value = true; + } + } + } + return value; +} +const mixinPropsCache = /* @__PURE__ */ new WeakMap(); +function normalizePropsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinPropsCache : appContext.propsCache; + const cached = cache.get(comp); + if (cached) { + return cached; + } + const raw = comp.props; + const normalized = {}; + const needCastKeys = []; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendProps = (raw2) => { + hasExtends = true; + const [props, keys] = normalizePropsOptions(raw2, appContext, true); + shared.extend(normalized, props); + if (keys) needCastKeys.push(...keys); + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendProps); + } + if (comp.extends) { + extendProps(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendProps); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, shared.EMPTY_ARR); + } + return shared.EMPTY_ARR; + } + if (shared.isArray(raw)) { + for (let i = 0; i < raw.length; i++) { + const normalizedKey = shared.camelize(raw[i]); + if (validatePropName(normalizedKey)) { + normalized[normalizedKey] = shared.EMPTY_OBJ; + } + } + } else if (raw) { + for (const key in raw) { + const normalizedKey = shared.camelize(key); + if (validatePropName(normalizedKey)) { + const opt = raw[key]; + const prop = normalized[normalizedKey] = shared.isArray(opt) || shared.isFunction(opt) ? { type: opt } : shared.extend({}, opt); + const propType = prop.type; + let shouldCast = false; + let shouldCastTrue = true; + if (shared.isArray(propType)) { + for (let index = 0; index < propType.length; ++index) { + const type = propType[index]; + const typeName = shared.isFunction(type) && type.name; + if (typeName === "Boolean") { + shouldCast = true; + break; + } else if (typeName === "String") { + shouldCastTrue = false; + } + } + } else { + shouldCast = shared.isFunction(propType) && propType.name === "Boolean"; + } + prop[0 /* shouldCast */] = shouldCast; + prop[1 /* shouldCastTrue */] = shouldCastTrue; + if (shouldCast || shared.hasOwn(prop, "default")) { + needCastKeys.push(normalizedKey); + } + } + } + } + const res = [normalized, needCastKeys]; + if (shared.isObject(comp)) { + cache.set(comp, res); + } + return res; +} +function validatePropName(key) { + if (key[0] !== "$" && !shared.isReservedProp(key)) { + return true; + } + return false; +} + +const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable"; +const normalizeSlotValue = (value) => shared.isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; +const normalizeSlot = (key, rawSlot, ctx) => { + if (rawSlot._n) { + return rawSlot; + } + const normalized = withCtx((...args) => { + if (false) ; + return normalizeSlotValue(rawSlot(...args)); + }, ctx); + normalized._c = false; + return normalized; +}; +const normalizeObjectSlots = (rawSlots, slots, instance) => { + const ctx = rawSlots._ctx; + for (const key in rawSlots) { + if (isInternalKey(key)) continue; + const value = rawSlots[key]; + if (shared.isFunction(value)) { + slots[key] = normalizeSlot(key, value, ctx); + } else if (value != null) { + const normalized = normalizeSlotValue(value); + slots[key] = () => normalized; + } + } +}; +const normalizeVNodeSlots = (instance, children) => { + const normalized = normalizeSlotValue(children); + instance.slots.default = () => normalized; +}; +const assignSlots = (slots, children, optimized) => { + for (const key in children) { + if (optimized || !isInternalKey(key)) { + slots[key] = children[key]; + } + } +}; +const initSlots = (instance, children, optimized) => { + const slots = instance.slots = createInternalObject(); + if (instance.vnode.shapeFlag & 32) { + const type = children._; + if (type) { + assignSlots(slots, children, optimized); + if (optimized) { + shared.def(slots, "_", type, true); + } + } else { + normalizeObjectSlots(children, slots); + } + } else if (children) { + normalizeVNodeSlots(instance, children); + } +}; +const updateSlots = (instance, children, optimized) => { + const { vnode, slots } = instance; + let needDeletionCheck = true; + let deletionComparisonTarget = shared.EMPTY_OBJ; + if (vnode.shapeFlag & 32) { + const type = children._; + if (type) { + if (optimized && type === 1) { + needDeletionCheck = false; + } else { + assignSlots(slots, children, optimized); + } + } else { + needDeletionCheck = !children.$stable; + normalizeObjectSlots(children, slots); + } + deletionComparisonTarget = children; + } else if (children) { + normalizeVNodeSlots(instance, children); + deletionComparisonTarget = { default: 1 }; + } + if (needDeletionCheck) { + for (const key in slots) { + if (!isInternalKey(key) && deletionComparisonTarget[key] == null) { + delete slots[key]; + } + } + } +}; + +const queuePostRenderEffect = queueEffectWithSuspense ; +function createRenderer(options) { + return baseCreateRenderer(options); +} +function createHydrationRenderer(options) { + return baseCreateRenderer(options, createHydrationFunctions); +} +function baseCreateRenderer(options, createHydrationFns) { + const target = shared.getGlobalThis(); + target.__VUE__ = true; + const { + insert: hostInsert, + remove: hostRemove, + patchProp: hostPatchProp, + createElement: hostCreateElement, + createText: hostCreateText, + createComment: hostCreateComment, + setText: hostSetText, + setElementText: hostSetElementText, + parentNode: hostParentNode, + nextSibling: hostNextSibling, + setScopeId: hostSetScopeId = shared.NOOP, + insertStaticContent: hostInsertStaticContent + } = options; + const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => { + if (n1 === n2) { + return; + } + if (n1 && !isSameVNodeType(n1, n2)) { + anchor = getNextHostNode(n1); + unmount(n1, parentComponent, parentSuspense, true); + n1 = null; + } + if (n2.patchFlag === -2) { + optimized = false; + n2.dynamicChildren = null; + } + const { type, ref, shapeFlag } = n2; + switch (type) { + case Text: + processText(n1, n2, container, anchor); + break; + case Comment: + processCommentNode(n1, n2, container, anchor); + break; + case Static: + if (n1 == null) { + mountStaticNode(n2, container, anchor, namespace); + } + break; + case Fragment: + processFragment( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + break; + default: + if (shapeFlag & 1) { + processElement( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 6) { + processComponent( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 64) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else if (shapeFlag & 128) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else ; + } + if (ref != null && parentComponent) { + setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2); + } else if (ref == null && n1 && n1.ref != null) { + setRef(n1.ref, null, parentSuspense, n1, true); + } + }; + const processText = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateText(n2.children), + container, + anchor + ); + } else { + const el = n2.el = n1.el; + if (n2.children !== n1.children) { + { + hostSetText(el, n2.children); + } + } + } + }; + const processCommentNode = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateComment(n2.children || ""), + container, + anchor + ); + } else { + n2.el = n1.el; + } + }; + const mountStaticNode = (n2, container, anchor, namespace) => { + [n2.el, n2.anchor] = hostInsertStaticContent( + n2.children, + container, + anchor, + namespace, + n2.el, + n2.anchor + ); + }; + const moveStaticNode = ({ el, anchor }, container, nextSibling) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostInsert(el, container, nextSibling); + el = next; + } + hostInsert(anchor, container, nextSibling); + }; + const removeStaticNode = ({ el, anchor }) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostRemove(el); + el = next; + } + hostRemove(anchor); + }; + const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + if (n2.type === "svg") { + namespace = "svg"; + } else if (n2.type === "math") { + namespace = "mathml"; + } + if (n1 == null) { + mountElement( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null; + try { + if (customElement) { + customElement._beginPatch(); + } + patchElement( + n1, + n2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } finally { + if (customElement) { + customElement._endPatch(); + } + } + } + }; + const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let el; + let vnodeHook; + const { props, shapeFlag, transition, dirs } = vnode; + el = vnode.el = hostCreateElement( + vnode.type, + namespace, + props && props.is, + props + ); + if (shapeFlag & 8) { + hostSetElementText(el, vnode.children); + } else if (shapeFlag & 16) { + mountChildren( + vnode.children, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(vnode, namespace), + slotScopeIds, + optimized + ); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent); + if (props) { + for (const key in props) { + if (key !== "value" && !shared.isReservedProp(key)) { + hostPatchProp(el, key, null, props[key], namespace, parentComponent); + } + } + if ("value" in props) { + hostPatchProp(el, "value", null, props.value, namespace); + } + if (vnodeHook = props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + const needCallTransitionHooks = needTransition(parentSuspense, transition); + if (needCallTransitionHooks) { + transition.beforeEnter(el); + } + hostInsert(el, container, anchor); + if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + }; + const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => { + if (scopeId) { + hostSetScopeId(el, scopeId); + } + if (slotScopeIds) { + for (let i = 0; i < slotScopeIds.length; i++) { + hostSetScopeId(el, slotScopeIds[i]); + } + } + if (parentComponent) { + let subTree = parentComponent.subTree; + if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) { + const parentVNode = parentComponent.vnode; + setScopeId( + el, + parentVNode, + parentVNode.scopeId, + parentVNode.slotScopeIds, + parentComponent.parent + ); + } + } + }; + const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => { + for (let i = start; i < children.length; i++) { + const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); + patch( + null, + child, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const el = n2.el = n1.el; + let { patchFlag, dynamicChildren, dirs } = n2; + patchFlag |= n1.patchFlag & 16; + const oldProps = n1.props || shared.EMPTY_OBJ; + const newProps = n2.props || shared.EMPTY_OBJ; + let vnodeHook; + parentComponent && toggleRecurse(parentComponent, false); + if (vnodeHook = newProps.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + } + if (dirs) { + invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); + } + parentComponent && toggleRecurse(parentComponent, true); + if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) { + hostSetElementText(el, ""); + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + el, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds + ); + } else if (!optimized) { + patchChildren( + n1, + n2, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds, + false + ); + } + if (patchFlag > 0) { + if (patchFlag & 16) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } else { + if (patchFlag & 2) { + if (oldProps.class !== newProps.class) { + hostPatchProp(el, "class", null, newProps.class, namespace); + } + } + if (patchFlag & 4) { + hostPatchProp(el, "style", oldProps.style, newProps.style, namespace); + } + if (patchFlag & 8) { + const propsToUpdate = n2.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + const key = propsToUpdate[i]; + const prev = oldProps[key]; + const next = newProps[key]; + if (next !== prev || key === "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + } + } + if (patchFlag & 1) { + if (n1.children !== n2.children) { + hostSetElementText(el, n2.children); + } + } + } else if (!optimized && dynamicChildren == null) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } + if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); + }, parentSuspense); + } + }; + const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => { + for (let i = 0; i < newChildren.length; i++) { + const oldVNode = oldChildren[i]; + const newVNode = newChildren[i]; + const container = ( + // oldVNode may be an errored async setup() component inside Suspense + // which will not have a mounted element + oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent + // of the Fragment itself so it can move its children. + (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement + // which also requires the correct parent container + !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. + oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : ( + // In other cases, the parent container is not actually used so we + // just pass the block element here to avoid a DOM parentNode call. + fallbackContainer + ) + ); + patch( + oldVNode, + newVNode, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + true + ); + } + }; + const patchProps = (el, oldProps, newProps, parentComponent, namespace) => { + if (oldProps !== newProps) { + if (oldProps !== shared.EMPTY_OBJ) { + for (const key in oldProps) { + if (!shared.isReservedProp(key) && !(key in newProps)) { + hostPatchProp( + el, + key, + oldProps[key], + null, + namespace, + parentComponent + ); + } + } + } + for (const key in newProps) { + if (shared.isReservedProp(key)) continue; + const next = newProps[key]; + const prev = oldProps[key]; + if (next !== prev && key !== "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + if ("value" in newProps) { + hostPatchProp(el, "value", oldProps.value, newProps.value, namespace); + } + } + }; + const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); + const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); + let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + if (n1 == null) { + hostInsert(fragmentStartAnchor, container, anchor); + hostInsert(fragmentEndAnchor, container, anchor); + mountChildren( + // #10007 + // such fragment like `<></>` will be compiled into + // a fragment which doesn't have a children. + // In this case fallback to an empty array + n2.children || [], + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result + // of renderSlot() with no valid children + n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + container, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + if ( + // #2080 if the stable fragment has a key, it's a <template v-for> that may + // get moved around. Make sure all root level vnodes inherit el. + // #2134 or if it's a component root, it may also get moved around + // as the component is being moved. + n2.key != null || parentComponent && n2 === parentComponent.subTree + ) { + traverseStaticChildren( + n1, + n2, + true + /* shallow */ + ); + } + } else { + patchChildren( + n1, + n2, + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + }; + const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + n2.slotScopeIds = slotScopeIds; + if (n1 == null) { + if (n2.shapeFlag & 512) { + parentComponent.ctx.activate( + n2, + container, + anchor, + namespace, + optimized + ); + } else { + mountComponent( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + optimized + ); + } + } else { + updateComponent(n1, n2, optimized); + } + }; + const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => { + const instance = (initialVNode.component = createComponentInstance( + initialVNode, + parentComponent, + parentSuspense + )); + if (isKeepAlive(initialVNode)) { + instance.ctx.renderer = internals; + } + { + setupComponent(instance, false, optimized); + } + if (instance.asyncDep) { + parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized); + if (!initialVNode.el) { + const placeholder = instance.subTree = createVNode(Comment); + processCommentNode(null, placeholder, container, anchor); + initialVNode.placeholder = placeholder.el; + } + } else { + setupRenderEffect( + instance, + initialVNode, + container, + anchor, + parentSuspense, + namespace, + optimized + ); + } + }; + const updateComponent = (n1, n2, optimized) => { + const instance = n2.component = n1.component; + if (shouldUpdateComponent(n1, n2, optimized)) { + if (instance.asyncDep && !instance.asyncResolved) { + updateComponentPreRender(instance, n2, optimized); + return; + } else { + instance.next = n2; + instance.update(); + } + } else { + n2.el = n1.el; + instance.vnode = n2; + } + }; + const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => { + const componentUpdateFn = () => { + if (!instance.isMounted) { + let vnodeHook; + const { el, props } = initialVNode; + const { bm, m, parent, root, type } = instance; + const isAsyncWrapperVNode = isAsyncWrapper(initialVNode); + toggleRecurse(instance, false); + if (bm) { + shared.invokeArrayFns(bm); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) { + invokeVNodeHook(vnodeHook, parent, initialVNode); + } + toggleRecurse(instance, true); + if (el && hydrateNode) { + const hydrateSubTree = () => { + instance.subTree = renderComponentRoot(instance); + hydrateNode( + el, + instance.subTree, + instance, + parentSuspense, + null + ); + }; + if (isAsyncWrapperVNode && type.__asyncHydrate) { + type.__asyncHydrate( + el, + instance, + hydrateSubTree + ); + } else { + hydrateSubTree(); + } + } else { + if (root.ce && // @ts-expect-error _def is private + root.ce._def.shadowRoot !== false) { + root.ce._injectChildStyle(type); + } + const subTree = instance.subTree = renderComponentRoot(instance); + patch( + null, + subTree, + container, + anchor, + instance, + parentSuspense, + namespace + ); + initialVNode.el = subTree.el; + } + if (m) { + queuePostRenderEffect(m, parentSuspense); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) { + const scopedInitialVNode = initialVNode; + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), + parentSuspense + ); + } + if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) { + instance.a && queuePostRenderEffect(instance.a, parentSuspense); + } + instance.isMounted = true; + initialVNode = container = anchor = null; + } else { + let { next, bu, u, parent, vnode } = instance; + { + const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance); + if (nonHydratedAsyncRoot) { + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } + nonHydratedAsyncRoot.asyncDep.then(() => { + if (!instance.isUnmounted) { + componentUpdateFn(); + } + }); + return; + } + } + let originNext = next; + let vnodeHook; + toggleRecurse(instance, false); + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } else { + next = vnode; + } + if (bu) { + shared.invokeArrayFns(bu); + } + if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parent, next, vnode); + } + toggleRecurse(instance, true); + const nextTree = renderComponentRoot(instance); + const prevTree = instance.subTree; + instance.subTree = nextTree; + patch( + prevTree, + nextTree, + // parent may have changed if it's in a teleport + hostParentNode(prevTree.el), + // anchor may have changed if it's in a fragment + getNextHostNode(prevTree), + instance, + parentSuspense, + namespace + ); + next.el = nextTree.el; + if (originNext === null) { + updateHOCHostEl(instance, nextTree.el); + } + if (u) { + queuePostRenderEffect(u, parentSuspense); + } + if (vnodeHook = next.props && next.props.onVnodeUpdated) { + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, next, vnode), + parentSuspense + ); + } + } + }; + instance.scope.on(); + const effect = instance.effect = new reactivity.ReactiveEffect(componentUpdateFn); + instance.scope.off(); + const update = instance.update = effect.run.bind(effect); + const job = instance.job = effect.runIfDirty.bind(effect); + job.i = instance; + job.id = instance.uid; + effect.scheduler = () => queueJob(job); + toggleRecurse(instance, true); + update(); + }; + const updateComponentPreRender = (instance, nextVNode, optimized) => { + nextVNode.component = instance; + const prevProps = instance.vnode.props; + instance.vnode = nextVNode; + instance.next = null; + updateProps(instance, nextVNode.props, prevProps, optimized); + updateSlots(instance, nextVNode.children, optimized); + reactivity.pauseTracking(); + flushPreFlushCbs(instance); + reactivity.resetTracking(); + }; + const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => { + const c1 = n1 && n1.children; + const prevShapeFlag = n1 ? n1.shapeFlag : 0; + const c2 = n2.children; + const { patchFlag, shapeFlag } = n2; + if (patchFlag > 0) { + if (patchFlag & 128) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } else if (patchFlag & 256) { + patchUnkeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } + } + if (shapeFlag & 8) { + if (prevShapeFlag & 16) { + unmountChildren(c1, parentComponent, parentSuspense); + } + if (c2 !== c1) { + hostSetElementText(container, c2); + } + } else { + if (prevShapeFlag & 16) { + if (shapeFlag & 16) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + unmountChildren(c1, parentComponent, parentSuspense, true); + } + } else { + if (prevShapeFlag & 8) { + hostSetElementText(container, ""); + } + if (shapeFlag & 16) { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + } + }; + const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + c1 = c1 || shared.EMPTY_ARR; + c2 = c2 || shared.EMPTY_ARR; + const oldLength = c1.length; + const newLength = c2.length; + const commonLength = Math.min(oldLength, newLength); + let i; + for (i = 0; i < commonLength; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + patch( + c1[i], + nextChild, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + if (oldLength > newLength) { + unmountChildren( + c1, + parentComponent, + parentSuspense, + true, + false, + commonLength + ); + } else { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + commonLength + ); + } + }; + const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let i = 0; + const l2 = c2.length; + let e1 = c1.length - 1; + let e2 = l2 - 1; + while (i <= e1 && i <= e2) { + const n1 = c1[i]; + const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + i++; + } + while (i <= e1 && i <= e2) { + const n1 = c1[e1]; + const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + e1--; + e2--; + } + if (i > e1) { + if (i <= e2) { + const nextPos = e2 + 1; + const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor; + while (i <= e2) { + patch( + null, + c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + i++; + } + } + } else if (i > e2) { + while (i <= e1) { + unmount(c1[i], parentComponent, parentSuspense, true); + i++; + } + } else { + const s1 = i; + const s2 = i; + const keyToNewIndexMap = /* @__PURE__ */ new Map(); + for (i = s2; i <= e2; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (nextChild.key != null) { + keyToNewIndexMap.set(nextChild.key, i); + } + } + let j; + let patched = 0; + const toBePatched = e2 - s2 + 1; + let moved = false; + let maxNewIndexSoFar = 0; + const newIndexToOldIndexMap = new Array(toBePatched); + for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0; + for (i = s1; i <= e1; i++) { + const prevChild = c1[i]; + if (patched >= toBePatched) { + unmount(prevChild, parentComponent, parentSuspense, true); + continue; + } + let newIndex; + if (prevChild.key != null) { + newIndex = keyToNewIndexMap.get(prevChild.key); + } else { + for (j = s2; j <= e2; j++) { + if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) { + newIndex = j; + break; + } + } + } + if (newIndex === void 0) { + unmount(prevChild, parentComponent, parentSuspense, true); + } else { + newIndexToOldIndexMap[newIndex - s2] = i + 1; + if (newIndex >= maxNewIndexSoFar) { + maxNewIndexSoFar = newIndex; + } else { + moved = true; + } + patch( + prevChild, + c2[newIndex], + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + patched++; + } + } + const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : shared.EMPTY_ARR; + j = increasingNewIndexSequence.length - 1; + for (i = toBePatched - 1; i >= 0; i--) { + const nextIndex = s2 + i; + const nextChild = c2[nextIndex]; + const anchorVNode = c2[nextIndex + 1]; + const anchor = nextIndex + 1 < l2 ? ( + // #13559, #14173 fallback to el placeholder for unresolved async component + anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) + ) : parentAnchor; + if (newIndexToOldIndexMap[i] === 0) { + patch( + null, + nextChild, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (moved) { + if (j < 0 || i !== increasingNewIndexSequence[j]) { + move(nextChild, container, anchor, 2); + } else { + j--; + } + } + } + } + }; + const move = (vnode, container, anchor, moveType, parentSuspense = null) => { + const { el, type, transition, children, shapeFlag } = vnode; + if (shapeFlag & 6) { + move(vnode.component.subTree, container, anchor, moveType); + return; + } + if (shapeFlag & 128) { + vnode.suspense.move(container, anchor, moveType); + return; + } + if (shapeFlag & 64) { + type.move(vnode, container, anchor, internals); + return; + } + if (type === Fragment) { + hostInsert(el, container, anchor); + for (let i = 0; i < children.length; i++) { + move(children[i], container, anchor, moveType); + } + hostInsert(vnode.anchor, container, anchor); + return; + } + if (type === Static) { + moveStaticNode(vnode, container, anchor); + return; + } + const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition; + if (needTransition2) { + if (moveType === 0) { + transition.beforeEnter(el); + hostInsert(el, container, anchor); + queuePostRenderEffect(() => transition.enter(el), parentSuspense); + } else { + const { leave, delayLeave, afterLeave } = transition; + const remove2 = () => { + if (vnode.ctx.isUnmounted) { + hostRemove(el); + } else { + hostInsert(el, container, anchor); + } + }; + const performLeave = () => { + if (el._isLeaving) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + leave(el, () => { + remove2(); + afterLeave && afterLeave(); + }); + }; + if (delayLeave) { + delayLeave(el, remove2, performLeave); + } else { + performLeave(); + } + } + } else { + hostInsert(el, container, anchor); + } + }; + const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => { + const { + type, + props, + ref, + children, + dynamicChildren, + shapeFlag, + patchFlag, + dirs, + cacheIndex + } = vnode; + if (patchFlag === -2) { + optimized = false; + } + if (ref != null) { + reactivity.pauseTracking(); + setRef(ref, null, parentSuspense, vnode, true); + reactivity.resetTracking(); + } + if (cacheIndex != null) { + parentComponent.renderCache[cacheIndex] = void 0; + } + if (shapeFlag & 256) { + parentComponent.ctx.deactivate(vnode); + return; + } + const shouldInvokeDirs = shapeFlag & 1 && dirs; + const shouldInvokeVnodeHook = !isAsyncWrapper(vnode); + let vnodeHook; + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + if (shapeFlag & 6) { + unmountComponent(vnode.component, parentSuspense, doRemove); + } else { + if (shapeFlag & 128) { + vnode.suspense.unmount(parentSuspense, doRemove); + return; + } + if (shouldInvokeDirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount"); + } + if (shapeFlag & 64) { + vnode.type.remove( + vnode, + parentComponent, + parentSuspense, + internals, + doRemove + ); + } else if (dynamicChildren && // #5154 + // when v-once is used inside a block, setBlockTracking(-1) marks the + // parent block with hasOnce: true + // so that it doesn't take the fast path during unmount - otherwise + // components nested in v-once are never unmounted. + !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments + (type !== Fragment || patchFlag > 0 && patchFlag & 64)) { + unmountChildren( + dynamicChildren, + parentComponent, + parentSuspense, + false, + true + ); + } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) { + unmountChildren(children, parentComponent, parentSuspense); + } + if (doRemove) { + remove(vnode); + } + } + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted"); + }, parentSuspense); + } + }; + const remove = (vnode) => { + const { type, el, anchor, transition } = vnode; + if (type === Fragment) { + { + removeFragment(el, anchor); + } + return; + } + if (type === Static) { + removeStaticNode(vnode); + return; + } + const performRemove = () => { + hostRemove(el); + if (transition && !transition.persisted && transition.afterLeave) { + transition.afterLeave(); + } + }; + if (vnode.shapeFlag & 1 && transition && !transition.persisted) { + const { leave, delayLeave } = transition; + const performLeave = () => leave(el, performRemove); + if (delayLeave) { + delayLeave(vnode.el, performRemove, performLeave); + } else { + performLeave(); + } + } else { + performRemove(); + } + }; + const removeFragment = (cur, end) => { + let next; + while (cur !== end) { + next = hostNextSibling(cur); + hostRemove(cur); + cur = next; + } + hostRemove(end); + }; + const unmountComponent = (instance, parentSuspense, doRemove) => { + const { bum, scope, job, subTree, um, m, a } = instance; + invalidateMount(m); + invalidateMount(a); + if (bum) { + shared.invokeArrayFns(bum); + } + scope.stop(); + if (job) { + job.flags |= 8; + unmount(subTree, instance, parentSuspense, doRemove); + } + if (um) { + queuePostRenderEffect(um, parentSuspense); + } + queuePostRenderEffect(() => { + instance.isUnmounted = true; + }, parentSuspense); + }; + const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => { + for (let i = start; i < children.length; i++) { + unmount(children[i], parentComponent, parentSuspense, doRemove, optimized); + } + }; + const getNextHostNode = (vnode) => { + if (vnode.shapeFlag & 6) { + return getNextHostNode(vnode.component.subTree); + } + if (vnode.shapeFlag & 128) { + return vnode.suspense.next(); + } + const el = hostNextSibling(vnode.anchor || vnode.el); + const teleportEnd = el && el[TeleportEndKey]; + return teleportEnd ? hostNextSibling(teleportEnd) : el; + }; + let isFlushing = false; + const render = (vnode, container, namespace) => { + let instance; + if (vnode == null) { + if (container._vnode) { + unmount(container._vnode, null, null, true); + instance = container._vnode.component; + } + } else { + patch( + container._vnode || null, + vnode, + container, + null, + null, + null, + namespace + ); + } + container._vnode = vnode; + if (!isFlushing) { + isFlushing = true; + flushPreFlushCbs(instance); + flushPostFlushCbs(); + isFlushing = false; + } + }; + const internals = { + p: patch, + um: unmount, + m: move, + r: remove, + mt: mountComponent, + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + n: getNextHostNode, + o: options + }; + let hydrate; + let hydrateNode; + if (createHydrationFns) { + [hydrate, hydrateNode] = createHydrationFns( + internals + ); + } + return { + render, + hydrate, + createApp: createAppAPI(render, hydrate) + }; +} +function resolveChildrenNamespace({ type, props }, currentNamespace) { + return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace; +} +function toggleRecurse({ effect, job }, allowed) { + if (allowed) { + effect.flags |= 32; + job.flags |= 4; + } else { + effect.flags &= -33; + job.flags &= -5; + } +} +function needTransition(parentSuspense, transition) { + return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted; +} +function traverseStaticChildren(n1, n2, shallow = false) { + const ch1 = n1.children; + const ch2 = n2.children; + if (shared.isArray(ch1) && shared.isArray(ch2)) { + for (let i = 0; i < ch1.length; i++) { + const c1 = ch1[i]; + let c2 = ch2[i]; + if (c2.shapeFlag & 1 && !c2.dynamicChildren) { + if (c2.patchFlag <= 0 || c2.patchFlag === 32) { + c2 = ch2[i] = cloneIfMounted(ch2[i]); + c2.el = c1.el; + } + if (!shallow && c2.patchFlag !== -2) + traverseStaticChildren(c1, c2); + } + if (c2.type === Text) { + if (c2.patchFlag !== -1) { + c2.el = c1.el; + } else { + c2.__elIndex = i + // take fragment start anchor into account + (n1.type === Fragment ? 1 : 0); + } + } + if (c2.type === Comment && !c2.el) { + c2.el = c1.el; + } + } + } +} +function getSequence(arr) { + const p = arr.slice(); + const result = [0]; + let i, j, u, v, c; + const len = arr.length; + for (i = 0; i < len; i++) { + const arrI = arr[i]; + if (arrI !== 0) { + j = result[result.length - 1]; + if (arr[j] < arrI) { + p[i] = j; + result.push(i); + continue; + } + u = 0; + v = result.length - 1; + while (u < v) { + c = u + v >> 1; + if (arr[result[c]] < arrI) { + u = c + 1; + } else { + v = c; + } + } + if (arrI < arr[result[u]]) { + if (u > 0) { + p[i] = result[u - 1]; + } + result[u] = i; + } + } + } + u = result.length; + v = result[u - 1]; + while (u-- > 0) { + result[u] = v; + v = p[v]; + } + return result; +} +function locateNonHydratedAsyncRoot(instance) { + const subComponent = instance.subTree.component; + if (subComponent) { + if (subComponent.asyncDep && !subComponent.asyncResolved) { + return subComponent; + } else { + return locateNonHydratedAsyncRoot(subComponent); + } + } +} +function invalidateMount(hooks) { + if (hooks) { + for (let i = 0; i < hooks.length; i++) + hooks[i].flags |= 8; + } +} +function resolveAsyncComponentPlaceholder(anchorVnode) { + if (anchorVnode.placeholder) { + return anchorVnode.placeholder; + } + const instance = anchorVnode.component; + if (instance) { + return resolveAsyncComponentPlaceholder(instance.subTree); + } + return null; +} + +const isSuspense = (type) => type.__isSuspense; +let suspenseId = 0; +const SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + normalize: normalizeSuspenseChildren +}; +const Suspense = SuspenseImpl ; +function triggerEvent(vnode, name) { + const eventListener = vnode.props && vnode.props[name]; + if (shared.isFunction(eventListener)) { + eventListener(); + } +} +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + const { + p: patch, + o: { createElement } + } = rendererInternals; + const hiddenContainer = createElement("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + patch( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(pendingBranch, newBranch)) { + patch( + pendingBranch, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + const { + p: patch, + m: move, + um: unmount, + n: next, + o: { parentNode, remove } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : void 0; + const initialAnchor = anchor; + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2, + isInFallback + } = suspense; + let delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move( + pendingBranch, + container2, + anchor === initialAnchor ? next(activeBranch) : anchor, + 0 + ); + queuePostFlushCb(effects); + if (isInFallback && vnode2.ssFallback) { + vnode2.ssFallback.el = null; + } + } + }; + } + if (activeBranch) { + if (parentNode(activeBranch.el) === container2) { + anchor = next(activeBranch); + } + unmount(activeBranch, parentComponent2, suspense, true); + if (!delayEnter && isInFallback && vnode2.ssFallback) { + queuePostRenderEffect(() => vnode2.ssFallback.el = null, suspense); + } + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next(activeBranch); + const mountFallback = () => { + if (!suspense.isInFallback) { + return; + } + patch( + null, + fallbackVNode, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + namespace2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, fallbackVNode); + }; + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect, optimized2) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), + suspense, + namespace, + optimized2 + ); + if (placeholder) { + vnode2.placeholder = null; + remove(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; +} +function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), + null, + namespace, + slotScopeIds, + optimized, + rendererInternals, + true + ); + const result = hydrateNode( + node, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +function normalizeSuspenseSlot(s) { + let block; + if (shared.isFunction(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (shared.isArray(s)) { + const singleChild = filterSingleRoot(s); + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter((c) => c !== s); + } + return s; +} +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (shared.isArray(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + let el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +function isVNodeSuspensible(vnode) { + const suspensible = vnode.props && vnode.props.suspensible; + return suspensible != null && suspensible !== false; +} + +const Fragment = /* @__PURE__ */ Symbol.for("v-fgt"); +const Text = /* @__PURE__ */ Symbol.for("v-txt"); +const Comment = /* @__PURE__ */ Symbol.for("v-cmt"); +const Static = /* @__PURE__ */ Symbol.for("v-stc"); +const blockStack = []; +let currentBlock = null; +function openBlock(disableTracking = false) { + blockStack.push(currentBlock = disableTracking ? null : []); +} +function closeBlock() { + blockStack.pop(); + currentBlock = blockStack[blockStack.length - 1] || null; +} +let isBlockTreeEnabled = 1; +function setBlockTracking(value, inVOnce = false) { + isBlockTreeEnabled += value; + if (value < 0 && currentBlock && inVOnce) { + currentBlock.hasOnce = true; + } +} +function setupBlock(vnode) { + vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || shared.EMPTY_ARR : null; + closeBlock(); + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(vnode); + } + return vnode; +} +function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) { + return setupBlock( + createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + true + ) + ); +} +function createBlock(type, props, children, patchFlag, dynamicProps) { + return setupBlock( + createVNode( + type, + props, + children, + patchFlag, + dynamicProps, + true + ) + ); +} +function isVNode(value) { + return value ? value.__v_isVNode === true : false; +} +function isSameVNodeType(n1, n2) { + return n1.type === n2.type && n1.key === n2.key; +} +function transformVNodeArgs(transformer) { +} +const normalizeKey = ({ key }) => key != null ? key : null; +const normalizeRef = ({ + ref, + ref_key, + ref_for +}) => { + if (typeof ref === "number") { + ref = "" + ref; + } + return ref != null ? shared.isString(ref) || reactivity.isRef(ref) || shared.isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null; +}; +function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) { + const vnode = { + __v_isVNode: true, + __v_skip: true, + type, + props, + key: props && normalizeKey(props), + ref: props && normalizeRef(props), + scopeId: currentScopeId, + slotScopeIds: null, + children, + component: null, + suspense: null, + ssContent: null, + ssFallback: null, + dirs: null, + transition: null, + el: null, + anchor: null, + target: null, + targetStart: null, + targetAnchor: null, + staticCount: 0, + shapeFlag, + patchFlag, + dynamicProps, + dynamicChildren: null, + appContext: null, + ctx: currentRenderingInstance + }; + if (needFullChildrenNormalization) { + normalizeChildren(vnode, children); + if (shapeFlag & 128) { + type.normalize(vnode); + } + } else if (children) { + vnode.shapeFlag |= shared.isString(children) ? 8 : 16; + } + if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself + !isBlockNode && // has current parent block + currentBlock && // presence of a patch flag indicates this node needs patching on updates. + // component nodes also should always be patched, because even if the + // component doesn't need to update, it needs to persist the instance on to + // the next vnode so that it can be properly unmounted later. + (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the + // vnode should not be considered dynamic due to handler caching. + vnode.patchFlag !== 32) { + currentBlock.push(vnode); + } + return vnode; +} +const createVNode = _createVNode; +function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) { + if (!type || type === NULL_DYNAMIC_COMPONENT) { + type = Comment; + } + if (isVNode(type)) { + const cloned = cloneVNode( + type, + props, + true + /* mergeRef: true */ + ); + if (children) { + normalizeChildren(cloned, children); + } + if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) { + if (cloned.shapeFlag & 6) { + currentBlock[currentBlock.indexOf(type)] = cloned; + } else { + currentBlock.push(cloned); + } + } + cloned.patchFlag = -2; + return cloned; + } + if (isClassComponent(type)) { + type = type.__vccOpts; + } + if (props) { + props = guardReactiveProps(props); + let { class: klass, style } = props; + if (klass && !shared.isString(klass)) { + props.class = shared.normalizeClass(klass); + } + if (shared.isObject(style)) { + if (reactivity.isProxy(style) && !shared.isArray(style)) { + style = shared.extend({}, style); + } + props.style = shared.normalizeStyle(style); + } + } + const shapeFlag = shared.isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : shared.isObject(type) ? 4 : shared.isFunction(type) ? 2 : 0; + return createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + isBlockNode, + true + ); +} +function guardReactiveProps(props) { + if (!props) return null; + return reactivity.isProxy(props) || isInternalObject(props) ? shared.extend({}, props) : props; +} +function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) { + const { props, ref, patchFlag, children, transition } = vnode; + const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props; + const cloned = { + __v_isVNode: true, + __v_skip: true, + type: vnode.type, + props: mergedProps, + key: mergedProps && normalizeKey(mergedProps), + ref: extraProps && extraProps.ref ? ( + // #2078 in the case of <component :is="vnode" ref="extra"/> + // if the vnode itself already has a ref, cloneVNode will need to merge + // the refs so the single vnode can be set on multiple refs + mergeRef && ref ? shared.isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps) + ) : ref, + scopeId: vnode.scopeId, + slotScopeIds: vnode.slotScopeIds, + children: children, + target: vnode.target, + targetStart: vnode.targetStart, + targetAnchor: vnode.targetAnchor, + staticCount: vnode.staticCount, + shapeFlag: vnode.shapeFlag, + // if the vnode is cloned with extra props, we can no longer assume its + // existing patch flag to be reliable and need to add the FULL_PROPS flag. + // note: preserve flag for fragments since they use the flag for children + // fast paths only. + patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag, + dynamicProps: vnode.dynamicProps, + dynamicChildren: vnode.dynamicChildren, + appContext: vnode.appContext, + dirs: vnode.dirs, + transition, + // These should technically only be non-null on mounted VNodes. However, + // they *should* be copied for kept-alive vnodes. So we just always copy + // them since them being non-null during a mount doesn't affect the logic as + // they will simply be overwritten. + component: vnode.component, + suspense: vnode.suspense, + ssContent: vnode.ssContent && cloneVNode(vnode.ssContent), + ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback), + placeholder: vnode.placeholder, + el: vnode.el, + anchor: vnode.anchor, + ctx: vnode.ctx, + ce: vnode.ce + }; + if (transition && cloneTransition) { + setTransitionHooks( + cloned, + transition.clone(cloned) + ); + } + return cloned; +} +function createTextVNode(text = " ", flag = 0) { + return createVNode(Text, null, text, flag); +} +function createStaticVNode(content, numberOfNodes) { + const vnode = createVNode(Static, null, content); + vnode.staticCount = numberOfNodes; + return vnode; +} +function createCommentVNode(text = "", asBlock = false) { + return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text); +} +function normalizeVNode(child) { + if (child == null || typeof child === "boolean") { + return createVNode(Comment); + } else if (shared.isArray(child)) { + return createVNode( + Fragment, + null, + // #3666, avoid reference pollution when reusing vnode + child.slice() + ); + } else if (isVNode(child)) { + return cloneIfMounted(child); + } else { + return createVNode(Text, null, String(child)); + } +} +function cloneIfMounted(child) { + return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child); +} +function normalizeChildren(vnode, children) { + let type = 0; + const { shapeFlag } = vnode; + if (children == null) { + children = null; + } else if (shared.isArray(children)) { + type = 16; + } else if (typeof children === "object") { + if (shapeFlag & (1 | 64)) { + const slot = children.default; + if (slot) { + slot._c && (slot._d = false); + normalizeChildren(vnode, slot()); + slot._c && (slot._d = true); + } + return; + } else { + type = 32; + const slotFlag = children._; + if (!slotFlag && !isInternalObject(children)) { + children._ctx = currentRenderingInstance; + } else if (slotFlag === 3 && currentRenderingInstance) { + if (currentRenderingInstance.slots._ === 1) { + children._ = 1; + } else { + children._ = 2; + vnode.patchFlag |= 1024; + } + } + } + } else if (shared.isFunction(children)) { + children = { default: children, _ctx: currentRenderingInstance }; + type = 32; + } else { + children = String(children); + if (shapeFlag & 64) { + type = 16; + children = [createTextVNode(children)]; + } else { + type = 8; + } + } + vnode.children = children; + vnode.shapeFlag |= type; +} +function mergeProps(...args) { + const ret = {}; + for (let i = 0; i < args.length; i++) { + const toMerge = args[i]; + for (const key in toMerge) { + if (key === "class") { + if (ret.class !== toMerge.class) { + ret.class = shared.normalizeClass([ret.class, toMerge.class]); + } + } else if (key === "style") { + ret.style = shared.normalizeStyle([ret.style, toMerge.style]); + } else if (shared.isOn(key)) { + const existing = ret[key]; + const incoming = toMerge[key]; + if (incoming && existing !== incoming && !(shared.isArray(existing) && existing.includes(incoming))) { + ret[key] = existing ? [].concat(existing, incoming) : incoming; + } + } else if (key !== "") { + ret[key] = toMerge[key]; + } + } + } + return ret; +} +function invokeVNodeHook(hook, instance, vnode, prevVNode = null) { + callWithAsyncErrorHandling(hook, instance, 7, [ + vnode, + prevVNode + ]); +} + +const emptyAppContext = createAppContext(); +let uid = 0; +function createComponentInstance(vnode, parent, suspense) { + const type = vnode.type; + const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext; + const instance = { + uid: uid++, + vnode, + type, + parent, + appContext, + root: null, + // to be immediately set + next: null, + subTree: null, + // will be set synchronously right after creation + effect: null, + update: null, + // will be set synchronously right after creation + job: null, + scope: new reactivity.EffectScope( + true + /* detached */ + ), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: parent ? parent.provides : Object.create(appContext.provides), + ids: parent ? parent.ids : ["", 0, 0], + accessCache: null, + renderCache: [], + // local resolved assets + components: null, + directives: null, + // resolved props and emits options + propsOptions: normalizePropsOptions(type, appContext), + emitsOptions: normalizeEmitsOptions(type, appContext), + // emit + emit: null, + // to be set immediately + emitted: null, + // props default value + propsDefaults: shared.EMPTY_OBJ, + // inheritAttrs + inheritAttrs: type.inheritAttrs, + // state + ctx: shared.EMPTY_OBJ, + data: shared.EMPTY_OBJ, + props: shared.EMPTY_OBJ, + attrs: shared.EMPTY_OBJ, + slots: shared.EMPTY_OBJ, + refs: shared.EMPTY_OBJ, + setupState: shared.EMPTY_OBJ, + setupContext: null, + // suspense related + suspense, + suspenseId: suspense ? suspense.pendingId : 0, + asyncDep: null, + asyncResolved: false, + // lifecycle hooks + // not using enums here because it results in computed properties + isMounted: false, + isUnmounted: false, + isDeactivated: false, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null + }; + { + instance.ctx = { _: instance }; + } + instance.root = parent ? parent.root : instance; + instance.emit = emit.bind(null, instance); + if (vnode.ce) { + vnode.ce(instance); + } + return instance; +} +let currentInstance = null; +const getCurrentInstance = () => currentInstance || currentRenderingInstance; +let internalSetCurrentInstance; +let setInSSRSetupState; +{ + const g = shared.getGlobalThis(); + const registerGlobalSetter = (key, setter) => { + let setters; + if (!(setters = g[key])) setters = g[key] = []; + setters.push(setter); + return (v) => { + if (setters.length > 1) setters.forEach((set) => set(v)); + else setters[0](v); + }; + }; + internalSetCurrentInstance = registerGlobalSetter( + `__VUE_INSTANCE_SETTERS__`, + (v) => currentInstance = v + ); + setInSSRSetupState = registerGlobalSetter( + `__VUE_SSR_SETTERS__`, + (v) => isInSSRComponentSetup = v + ); +} +const setCurrentInstance = (instance) => { + const prev = currentInstance; + internalSetCurrentInstance(instance); + instance.scope.on(); + return () => { + instance.scope.off(); + internalSetCurrentInstance(prev); + }; +}; +const unsetCurrentInstance = () => { + currentInstance && currentInstance.scope.off(); + internalSetCurrentInstance(null); +}; +function isStatefulComponent(instance) { + return instance.vnode.shapeFlag & 4; +} +let isInSSRComponentSetup = false; +function setupComponent(instance, isSSR = false, optimized = false) { + isSSR && setInSSRSetupState(isSSR); + const { props, children } = instance.vnode; + const isStateful = isStatefulComponent(instance); + initProps(instance, props, isStateful, isSSR); + initSlots(instance, children, optimized || isSSR); + const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0; + isSSR && setInSSRSetupState(false); + return setupResult; +} +function setupStatefulComponent(instance, isSSR) { + const Component = instance.type; + instance.accessCache = /* @__PURE__ */ Object.create(null); + instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers); + const { setup } = Component; + if (setup) { + reactivity.pauseTracking(); + const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null; + const reset = setCurrentInstance(instance); + const setupResult = callWithErrorHandling( + setup, + instance, + 0, + [ + instance.props, + setupContext + ] + ); + const isAsyncSetup = shared.isPromise(setupResult); + reactivity.resetTracking(); + reset(); + if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) { + markAsyncBoundary(instance); + } + if (isAsyncSetup) { + setupResult.then(unsetCurrentInstance, unsetCurrentInstance); + if (isSSR) { + return setupResult.then((resolvedResult) => { + handleSetupResult(instance, resolvedResult, isSSR); + }).catch((e) => { + handleError(e, instance, 0); + }); + } else { + instance.asyncDep = setupResult; + } + } else { + handleSetupResult(instance, setupResult, isSSR); + } + } else { + finishComponentSetup(instance, isSSR); + } +} +function handleSetupResult(instance, setupResult, isSSR) { + if (shared.isFunction(setupResult)) { + if (instance.type.__ssrInlineRender) { + instance.ssrRender = setupResult; + } else { + instance.render = setupResult; + } + } else if (shared.isObject(setupResult)) { + instance.setupState = reactivity.proxyRefs(setupResult); + } else ; + finishComponentSetup(instance, isSSR); +} +let compile; +let installWithProxy; +function registerRuntimeCompiler(_compile) { + compile = _compile; + installWithProxy = (i) => { + if (i.render._rc) { + i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers); + } + }; +} +const isRuntimeOnly = () => !compile; +function finishComponentSetup(instance, isSSR, skipOptions) { + const Component = instance.type; + if (!instance.render) { + if (!isSSR && compile && !Component.render) { + const template = Component.template || resolveMergedOptions(instance).template; + if (template) { + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + Component.render = compile(template, finalCompilerOptions); + } + } + instance.render = Component.render || shared.NOOP; + if (installWithProxy) { + installWithProxy(instance); + } + } + { + const reset = setCurrentInstance(instance); + reactivity.pauseTracking(); + try { + applyOptions(instance); + } finally { + reactivity.resetTracking(); + reset(); + } + } +} +const attrsProxyHandlers = { + get(target, key) { + reactivity.track(target, "get", ""); + return target[key]; + } +}; +function createSetupContext(instance) { + const expose = (exposed) => { + instance.exposed = exposed || {}; + }; + { + return { + attrs: new Proxy(instance.attrs, attrsProxyHandlers), + slots: instance.slots, + emit: instance.emit, + expose + }; + } +} +function getComponentPublicInstance(instance) { + if (instance.exposed) { + return instance.exposeProxy || (instance.exposeProxy = new Proxy(reactivity.proxyRefs(reactivity.markRaw(instance.exposed)), { + get(target, key) { + if (key in target) { + return target[key]; + } else if (key in publicPropertiesMap) { + return publicPropertiesMap[key](instance); + } + }, + has(target, key) { + return key in target || key in publicPropertiesMap; + } + })); + } else { + return instance.proxy; + } +} +function getComponentName(Component, includeInferred = true) { + return shared.isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name; +} +function isClassComponent(value) { + return shared.isFunction(value) && "__vccOpts" in value; +} + +const computed = (getterOrOptions, debugOptions) => { + const c = reactivity.computed(getterOrOptions, debugOptions, isInSSRComponentSetup); + return c; +}; + +function h(type, propsOrChildren, children) { + try { + setBlockTracking(-1); + const l = arguments.length; + if (l === 2) { + if (shared.isObject(propsOrChildren) && !shared.isArray(propsOrChildren)) { + if (isVNode(propsOrChildren)) { + return createVNode(type, null, [propsOrChildren]); + } + return createVNode(type, propsOrChildren); + } else { + return createVNode(type, null, propsOrChildren); + } + } else { + if (l > 3) { + children = Array.prototype.slice.call(arguments, 2); + } else if (l === 3 && isVNode(children)) { + children = [children]; + } + return createVNode(type, propsOrChildren, children); + } + } finally { + setBlockTracking(1); + } +} + +function initCustomFormatter() { + { + return; + } +} + +function withMemo(memo, render, cache, index) { + const cached = cache[index]; + if (cached && isMemoSame(cached, memo)) { + return cached; + } + const ret = render(); + ret.memo = memo.slice(); + ret.cacheIndex = index; + return cache[index] = ret; +} +function isMemoSame(cached, memo) { + const prev = cached.memo; + if (prev.length != memo.length) { + return false; + } + for (let i = 0; i < prev.length; i++) { + if (shared.hasChanged(prev[i], memo[i])) { + return false; + } + } + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(cached); + } + return true; +} + +const version = "3.5.26"; +const warn$1 = shared.NOOP; +const ErrorTypeStrings = ErrorTypeStrings$1 ; +const devtools = void 0; +const setDevtoolsHook = shared.NOOP; +const _ssrUtils = { + createComponentInstance, + setupComponent, + renderComponentRoot, + setCurrentRenderingInstance, + isVNode: isVNode, + normalizeVNode, + getComponentPublicInstance, + ensureValidVNode, + pushWarningContext, + popWarningContext +}; +const ssrUtils = _ssrUtils ; +const resolveFilter = null; +const compatUtils = null; +const DeprecationTypes = null; + +exports.EffectScope = reactivity.EffectScope; +exports.ReactiveEffect = reactivity.ReactiveEffect; +exports.TrackOpTypes = reactivity.TrackOpTypes; +exports.TriggerOpTypes = reactivity.TriggerOpTypes; +exports.customRef = reactivity.customRef; +exports.effect = reactivity.effect; +exports.effectScope = reactivity.effectScope; +exports.getCurrentScope = reactivity.getCurrentScope; +exports.getCurrentWatcher = reactivity.getCurrentWatcher; +exports.isProxy = reactivity.isProxy; +exports.isReactive = reactivity.isReactive; +exports.isReadonly = reactivity.isReadonly; +exports.isRef = reactivity.isRef; +exports.isShallow = reactivity.isShallow; +exports.markRaw = reactivity.markRaw; +exports.onScopeDispose = reactivity.onScopeDispose; +exports.onWatcherCleanup = reactivity.onWatcherCleanup; +exports.proxyRefs = reactivity.proxyRefs; +exports.reactive = reactivity.reactive; +exports.readonly = reactivity.readonly; +exports.ref = reactivity.ref; +exports.shallowReactive = reactivity.shallowReactive; +exports.shallowReadonly = reactivity.shallowReadonly; +exports.shallowRef = reactivity.shallowRef; +exports.stop = reactivity.stop; +exports.toRaw = reactivity.toRaw; +exports.toRef = reactivity.toRef; +exports.toRefs = reactivity.toRefs; +exports.toValue = reactivity.toValue; +exports.triggerRef = reactivity.triggerRef; +exports.unref = reactivity.unref; +exports.camelize = shared.camelize; +exports.capitalize = shared.capitalize; +exports.normalizeClass = shared.normalizeClass; +exports.normalizeProps = shared.normalizeProps; +exports.normalizeStyle = shared.normalizeStyle; +exports.toDisplayString = shared.toDisplayString; +exports.toHandlerKey = shared.toHandlerKey; +exports.BaseTransition = BaseTransition; +exports.BaseTransitionPropsValidators = BaseTransitionPropsValidators; +exports.Comment = Comment; +exports.DeprecationTypes = DeprecationTypes; +exports.ErrorCodes = ErrorCodes; +exports.ErrorTypeStrings = ErrorTypeStrings; +exports.Fragment = Fragment; +exports.KeepAlive = KeepAlive; +exports.Static = Static; +exports.Suspense = Suspense; +exports.Teleport = Teleport; +exports.Text = Text; +exports.assertNumber = assertNumber; +exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling; +exports.callWithErrorHandling = callWithErrorHandling; +exports.cloneVNode = cloneVNode; +exports.compatUtils = compatUtils; +exports.computed = computed; +exports.createBlock = createBlock; +exports.createCommentVNode = createCommentVNode; +exports.createElementBlock = createElementBlock; +exports.createElementVNode = createBaseVNode; +exports.createHydrationRenderer = createHydrationRenderer; +exports.createPropsRestProxy = createPropsRestProxy; +exports.createRenderer = createRenderer; +exports.createSlots = createSlots; +exports.createStaticVNode = createStaticVNode; +exports.createTextVNode = createTextVNode; +exports.createVNode = createVNode; +exports.defineAsyncComponent = defineAsyncComponent; +exports.defineComponent = defineComponent; +exports.defineEmits = defineEmits; +exports.defineExpose = defineExpose; +exports.defineModel = defineModel; +exports.defineOptions = defineOptions; +exports.defineProps = defineProps; +exports.defineSlots = defineSlots; +exports.devtools = devtools; +exports.getCurrentInstance = getCurrentInstance; +exports.getTransitionRawChildren = getTransitionRawChildren; +exports.guardReactiveProps = guardReactiveProps; +exports.h = h; +exports.handleError = handleError; +exports.hasInjectionContext = hasInjectionContext; +exports.hydrateOnIdle = hydrateOnIdle; +exports.hydrateOnInteraction = hydrateOnInteraction; +exports.hydrateOnMediaQuery = hydrateOnMediaQuery; +exports.hydrateOnVisible = hydrateOnVisible; +exports.initCustomFormatter = initCustomFormatter; +exports.inject = inject; +exports.isMemoSame = isMemoSame; +exports.isRuntimeOnly = isRuntimeOnly; +exports.isVNode = isVNode; +exports.mergeDefaults = mergeDefaults; +exports.mergeModels = mergeModels; +exports.mergeProps = mergeProps; +exports.nextTick = nextTick; +exports.onActivated = onActivated; +exports.onBeforeMount = onBeforeMount; +exports.onBeforeUnmount = onBeforeUnmount; +exports.onBeforeUpdate = onBeforeUpdate; +exports.onDeactivated = onDeactivated; +exports.onErrorCaptured = onErrorCaptured; +exports.onMounted = onMounted; +exports.onRenderTracked = onRenderTracked; +exports.onRenderTriggered = onRenderTriggered; +exports.onServerPrefetch = onServerPrefetch; +exports.onUnmounted = onUnmounted; +exports.onUpdated = onUpdated; +exports.openBlock = openBlock; +exports.popScopeId = popScopeId; +exports.provide = provide; +exports.pushScopeId = pushScopeId; +exports.queuePostFlushCb = queuePostFlushCb; +exports.registerRuntimeCompiler = registerRuntimeCompiler; +exports.renderList = renderList; +exports.renderSlot = renderSlot; +exports.resolveComponent = resolveComponent; +exports.resolveDirective = resolveDirective; +exports.resolveDynamicComponent = resolveDynamicComponent; +exports.resolveFilter = resolveFilter; +exports.resolveTransitionHooks = resolveTransitionHooks; +exports.setBlockTracking = setBlockTracking; +exports.setDevtoolsHook = setDevtoolsHook; +exports.setTransitionHooks = setTransitionHooks; +exports.ssrContextKey = ssrContextKey; +exports.ssrUtils = ssrUtils; +exports.toHandlers = toHandlers; +exports.transformVNodeArgs = transformVNodeArgs; +exports.useAttrs = useAttrs; +exports.useId = useId; +exports.useModel = useModel; +exports.useSSRContext = useSSRContext; +exports.useSlots = useSlots; +exports.useTemplateRef = useTemplateRef; +exports.useTransitionState = useTransitionState; +exports.version = version; +exports.warn = warn$1; +exports.watch = watch; +exports.watchEffect = watchEffect; +exports.watchPostEffect = watchPostEffect; +exports.watchSyncEffect = watchSyncEffect; +exports.withAsyncContext = withAsyncContext; +exports.withCtx = withCtx; +exports.withDefaults = withDefaults; +exports.withDirectives = withDirectives; +exports.withMemo = withMemo; +exports.withScopeId = withScopeId; diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/reactivity b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/reactivity new file mode 120000 index 00000000..5511488e --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/reactivity @@ -0,0 +1 @@ +../../../reactivity@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/package.json new file mode 100644 index 00000000..4dd4384c --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.26/package.json @@ -0,0 +1,52 @@ +{ + "name": "@vue/runtime-core", + "version": "3.5.26", + "description": "@vue/runtime-core", + "main": "index.js", + "module": "dist/runtime-core.esm-bundler.js", + "types": "dist/runtime-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-core.d.ts", + "node": { + "production": "./dist/runtime-core.cjs.prod.js", + "development": "./dist/runtime-core.cjs.js", + "default": "./dist/runtime-core.cjs.prod.js" + }, + "module": "./dist/runtime-core.esm-bundler.js", + "import": "./dist/runtime-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueRuntimeCore", + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme", + "dependencies": { + "@vue/shared": "3.5.26", + "@vue/reactivity": "3.5.26" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/dist/runtime-dom.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/dist/runtime-dom.cjs.prod.js new file mode 100644 index 00000000..654d8648 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/dist/runtime-dom.cjs.prod.js @@ -0,0 +1,1703 @@ +/** +* @vue/runtime-dom v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var runtimeCore = require('@vue/runtime-core'); +var shared = require('@vue/shared'); + +let policy = void 0; +const tt = typeof window !== "undefined" && window.trustedTypes; +if (tt) { + try { + policy = /* @__PURE__ */ tt.createPolicy("vue", { + createHTML: (val) => val + }); + } catch (e) { + } +} +const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val; +const svgNS = "http://www.w3.org/2000/svg"; +const mathmlNS = "http://www.w3.org/1998/Math/MathML"; +const doc = typeof document !== "undefined" ? document : null; +const templateContainer = doc && /* @__PURE__ */ doc.createElement("template"); +const nodeOps = { + insert: (child, parent, anchor) => { + parent.insertBefore(child, anchor || null); + }, + remove: (child) => { + const parent = child.parentNode; + if (parent) { + parent.removeChild(child); + } + }, + createElement: (tag, namespace, is, props) => { + const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag); + if (tag === "select" && props && props.multiple != null) { + el.setAttribute("multiple", props.multiple); + } + return el; + }, + createText: (text) => doc.createTextNode(text), + createComment: (text) => doc.createComment(text), + setText: (node, text) => { + node.nodeValue = text; + }, + setElementText: (el, text) => { + el.textContent = text; + }, + parentNode: (node) => node.parentNode, + nextSibling: (node) => node.nextSibling, + querySelector: (selector) => doc.querySelector(selector), + setScopeId(el, id) { + el.setAttribute(id, ""); + }, + // __UNSAFE__ + // Reason: innerHTML. + // Static content here can only come from compiled templates. + // As long as the user only uses trusted templates, this is safe. + insertStaticContent(content, parent, anchor, namespace, start, end) { + const before = anchor ? anchor.previousSibling : parent.lastChild; + if (start && (start === end || start.nextSibling)) { + while (true) { + parent.insertBefore(start.cloneNode(true), anchor); + if (start === end || !(start = start.nextSibling)) break; + } + } else { + templateContainer.innerHTML = unsafeToTrustedHTML( + namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content + ); + const template = templateContainer.content; + if (namespace === "svg" || namespace === "mathml") { + const wrapper = template.firstChild; + while (wrapper.firstChild) { + template.appendChild(wrapper.firstChild); + } + template.removeChild(wrapper); + } + parent.insertBefore(template, anchor); + } + return [ + // first + before ? before.nextSibling : parent.firstChild, + // last + anchor ? anchor.previousSibling : parent.lastChild + ]; + } +}; + +const TRANSITION = "transition"; +const ANIMATION = "animation"; +const vtcKey = Symbol("_vtc"); +const DOMTransitionPropsValidators = { + name: String, + type: String, + css: { + type: Boolean, + default: true + }, + duration: [String, Number, Object], + enterFromClass: String, + enterActiveClass: String, + enterToClass: String, + appearFromClass: String, + appearActiveClass: String, + appearToClass: String, + leaveFromClass: String, + leaveActiveClass: String, + leaveToClass: String +}; +const TransitionPropsValidators = /* @__PURE__ */ shared.extend( + {}, + runtimeCore.BaseTransitionPropsValidators, + DOMTransitionPropsValidators +); +const decorate$1 = (t) => { + t.displayName = "Transition"; + t.props = TransitionPropsValidators; + return t; +}; +const Transition = /* @__PURE__ */ decorate$1( + (props, { slots }) => runtimeCore.h(runtimeCore.BaseTransition, resolveTransitionProps(props), slots) +); +const callHook = (hook, args = []) => { + if (shared.isArray(hook)) { + hook.forEach((h2) => h2(...args)); + } else if (hook) { + hook(...args); + } +}; +const hasExplicitCallback = (hook) => { + return hook ? shared.isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false; +}; +function resolveTransitionProps(rawProps) { + const baseProps = {}; + for (const key in rawProps) { + if (!(key in DOMTransitionPropsValidators)) { + baseProps[key] = rawProps[key]; + } + } + if (rawProps.css === false) { + return baseProps; + } + const { + name = "v", + type, + duration, + enterFromClass = `${name}-enter-from`, + enterActiveClass = `${name}-enter-active`, + enterToClass = `${name}-enter-to`, + appearFromClass = enterFromClass, + appearActiveClass = enterActiveClass, + appearToClass = enterToClass, + leaveFromClass = `${name}-leave-from`, + leaveActiveClass = `${name}-leave-active`, + leaveToClass = `${name}-leave-to` + } = rawProps; + const durations = normalizeDuration(duration); + const enterDuration = durations && durations[0]; + const leaveDuration = durations && durations[1]; + const { + onBeforeEnter, + onEnter, + onEnterCancelled, + onLeave, + onLeaveCancelled, + onBeforeAppear = onBeforeEnter, + onAppear = onEnter, + onAppearCancelled = onEnterCancelled + } = baseProps; + const finishEnter = (el, isAppear, done, isCancelled) => { + el._enterCancelled = isCancelled; + removeTransitionClass(el, isAppear ? appearToClass : enterToClass); + removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass); + done && done(); + }; + const finishLeave = (el, done) => { + el._isLeaving = false; + removeTransitionClass(el, leaveFromClass); + removeTransitionClass(el, leaveToClass); + removeTransitionClass(el, leaveActiveClass); + done && done(); + }; + const makeEnterHook = (isAppear) => { + return (el, done) => { + const hook = isAppear ? onAppear : onEnter; + const resolve = () => finishEnter(el, isAppear, done); + callHook(hook, [el, resolve]); + nextFrame(() => { + removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass); + addTransitionClass(el, isAppear ? appearToClass : enterToClass); + if (!hasExplicitCallback(hook)) { + whenTransitionEnds(el, type, enterDuration, resolve); + } + }); + }; + }; + return shared.extend(baseProps, { + onBeforeEnter(el) { + callHook(onBeforeEnter, [el]); + addTransitionClass(el, enterFromClass); + addTransitionClass(el, enterActiveClass); + }, + onBeforeAppear(el) { + callHook(onBeforeAppear, [el]); + addTransitionClass(el, appearFromClass); + addTransitionClass(el, appearActiveClass); + }, + onEnter: makeEnterHook(false), + onAppear: makeEnterHook(true), + onLeave(el, done) { + el._isLeaving = true; + const resolve = () => finishLeave(el, done); + addTransitionClass(el, leaveFromClass); + if (!el._enterCancelled) { + forceReflow(el); + addTransitionClass(el, leaveActiveClass); + } else { + addTransitionClass(el, leaveActiveClass); + forceReflow(el); + } + nextFrame(() => { + if (!el._isLeaving) { + return; + } + removeTransitionClass(el, leaveFromClass); + addTransitionClass(el, leaveToClass); + if (!hasExplicitCallback(onLeave)) { + whenTransitionEnds(el, type, leaveDuration, resolve); + } + }); + callHook(onLeave, [el, resolve]); + }, + onEnterCancelled(el) { + finishEnter(el, false, void 0, true); + callHook(onEnterCancelled, [el]); + }, + onAppearCancelled(el) { + finishEnter(el, true, void 0, true); + callHook(onAppearCancelled, [el]); + }, + onLeaveCancelled(el) { + finishLeave(el); + callHook(onLeaveCancelled, [el]); + } + }); +} +function normalizeDuration(duration) { + if (duration == null) { + return null; + } else if (shared.isObject(duration)) { + return [NumberOf(duration.enter), NumberOf(duration.leave)]; + } else { + const n = NumberOf(duration); + return [n, n]; + } +} +function NumberOf(val) { + const res = shared.toNumber(val); + return res; +} +function addTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.add(c)); + (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls); +} +function removeTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.remove(c)); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.delete(cls); + if (!_vtc.size) { + el[vtcKey] = void 0; + } + } +} +function nextFrame(cb) { + requestAnimationFrame(() => { + requestAnimationFrame(cb); + }); +} +let endId = 0; +function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) { + const id = el._endId = ++endId; + const resolveIfNotStale = () => { + if (id === el._endId) { + resolve(); + } + }; + if (explicitTimeout != null) { + return setTimeout(resolveIfNotStale, explicitTimeout); + } + const { type, timeout, propCount } = getTransitionInfo(el, expectedType); + if (!type) { + return resolve(); + } + const endEvent = type + "end"; + let ended = 0; + const end = () => { + el.removeEventListener(endEvent, onEnd); + resolveIfNotStale(); + }; + const onEnd = (e) => { + if (e.target === el && ++ended >= propCount) { + end(); + } + }; + setTimeout(() => { + if (ended < propCount) { + end(); + } + }, timeout + 1); + el.addEventListener(endEvent, onEnd); +} +function getTransitionInfo(el, expectedType) { + const styles = window.getComputedStyle(el); + const getStyleProperties = (key) => (styles[key] || "").split(", "); + const transitionDelays = getStyleProperties(`${TRANSITION}Delay`); + const transitionDurations = getStyleProperties(`${TRANSITION}Duration`); + const transitionTimeout = getTimeout(transitionDelays, transitionDurations); + const animationDelays = getStyleProperties(`${ANIMATION}Delay`); + const animationDurations = getStyleProperties(`${ANIMATION}Duration`); + const animationTimeout = getTimeout(animationDelays, animationDurations); + let type = null; + let timeout = 0; + let propCount = 0; + if (expectedType === TRANSITION) { + if (transitionTimeout > 0) { + type = TRANSITION; + timeout = transitionTimeout; + propCount = transitionDurations.length; + } + } else if (expectedType === ANIMATION) { + if (animationTimeout > 0) { + type = ANIMATION; + timeout = animationTimeout; + propCount = animationDurations.length; + } + } else { + timeout = Math.max(transitionTimeout, animationTimeout); + type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null; + propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0; + } + const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test( + getStyleProperties(`${TRANSITION}Property`).toString() + ); + return { + type, + timeout, + propCount, + hasTransform + }; +} +function getTimeout(delays, durations) { + while (delays.length < durations.length) { + delays = delays.concat(delays); + } + return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i]))); +} +function toMs(s) { + if (s === "auto") return 0; + return Number(s.slice(0, -1).replace(",", ".")) * 1e3; +} +function forceReflow(el) { + const targetDocument = el ? el.ownerDocument : document; + return targetDocument.body.offsetHeight; +} + +function patchClass(el, value, isSVG) { + const transitionClasses = el[vtcKey]; + if (transitionClasses) { + value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" "); + } + if (value == null) { + el.removeAttribute("class"); + } else if (isSVG) { + el.setAttribute("class", value); + } else { + el.className = value; + } +} + +const vShowOriginalDisplay = Symbol("_vod"); +const vShowHidden = Symbol("_vsh"); +const vShow = { + // used for prop mismatch check during hydration + name: "show", + beforeMount(el, { value }, { transition }) { + el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display; + if (transition && value) { + transition.beforeEnter(el); + } else { + setDisplay(el, value); + } + }, + mounted(el, { value }, { transition }) { + if (transition && value) { + transition.enter(el); + } + }, + updated(el, { value, oldValue }, { transition }) { + if (!value === !oldValue) return; + if (transition) { + if (value) { + transition.beforeEnter(el); + setDisplay(el, true); + transition.enter(el); + } else { + transition.leave(el, () => { + setDisplay(el, false); + }); + } + } else { + setDisplay(el, value); + } + }, + beforeUnmount(el, { value }) { + setDisplay(el, value); + } +}; +function setDisplay(el, value) { + el.style.display = value ? el[vShowOriginalDisplay] : "none"; + el[vShowHidden] = !value; +} +function initVShowForSSR() { + vShow.getSSRProps = ({ value }) => { + if (!value) { + return { style: { display: "none" } }; + } + }; +} + +const CSS_VAR_TEXT = Symbol(""); +function useCssVars(getter) { + return; +} + +const displayRE = /(?:^|;)\s*display\s*:/; +function patchStyle(el, prev, next) { + const style = el.style; + const isCssString = shared.isString(next); + let hasControlledDisplay = false; + if (next && !isCssString) { + if (prev) { + if (!shared.isString(prev)) { + for (const key in prev) { + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } else { + for (const prevStyle of prev.split(";")) { + const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim(); + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } + } + for (const key in next) { + if (key === "display") { + hasControlledDisplay = true; + } + setStyle(style, key, next[key]); + } + } else { + if (isCssString) { + if (prev !== next) { + const cssVarText = style[CSS_VAR_TEXT]; + if (cssVarText) { + next += ";" + cssVarText; + } + style.cssText = next; + hasControlledDisplay = displayRE.test(next); + } + } else if (prev) { + el.removeAttribute("style"); + } + } + if (vShowOriginalDisplay in el) { + el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : ""; + if (el[vShowHidden]) { + style.display = "none"; + } + } +} +const importantRE = /\s*!important$/; +function setStyle(style, name, val) { + if (shared.isArray(val)) { + val.forEach((v) => setStyle(style, name, v)); + } else { + if (val == null) val = ""; + if (name.startsWith("--")) { + style.setProperty(name, val); + } else { + const prefixed = autoPrefix(style, name); + if (importantRE.test(val)) { + style.setProperty( + shared.hyphenate(prefixed), + val.replace(importantRE, ""), + "important" + ); + } else { + style[prefixed] = val; + } + } + } +} +const prefixes = ["Webkit", "Moz", "ms"]; +const prefixCache = {}; +function autoPrefix(style, rawName) { + const cached = prefixCache[rawName]; + if (cached) { + return cached; + } + let name = runtimeCore.camelize(rawName); + if (name !== "filter" && name in style) { + return prefixCache[rawName] = name; + } + name = shared.capitalize(name); + for (let i = 0; i < prefixes.length; i++) { + const prefixed = prefixes[i] + name; + if (prefixed in style) { + return prefixCache[rawName] = prefixed; + } + } + return rawName; +} + +const xlinkNS = "http://www.w3.org/1999/xlink"; +function patchAttr(el, key, value, isSVG, instance, isBoolean = shared.isSpecialBooleanAttr(key)) { + if (isSVG && key.startsWith("xlink:")) { + if (value == null) { + el.removeAttributeNS(xlinkNS, key.slice(6, key.length)); + } else { + el.setAttributeNS(xlinkNS, key, value); + } + } else { + if (value == null || isBoolean && !shared.includeBooleanAttr(value)) { + el.removeAttribute(key); + } else { + el.setAttribute( + key, + isBoolean ? "" : shared.isSymbol(value) ? String(value) : value + ); + } + } +} + +function patchDOMProp(el, key, value, parentComponent, attrName) { + if (key === "innerHTML" || key === "textContent") { + if (value != null) { + el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value) : value; + } + return; + } + const tag = el.tagName; + if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally + !tag.includes("-")) { + const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value; + const newValue = value == null ? ( + // #11647: value should be set as empty string for null and undefined, + // but <input type="checkbox"> should be set as 'on'. + el.type === "checkbox" ? "on" : "" + ) : String(value); + if (oldValue !== newValue || !("_value" in el)) { + el.value = newValue; + } + if (value == null) { + el.removeAttribute(key); + } + el._value = value; + return; + } + let needRemove = false; + if (value === "" || value == null) { + const type = typeof el[key]; + if (type === "boolean") { + value = shared.includeBooleanAttr(value); + } else if (value == null && type === "string") { + value = ""; + needRemove = true; + } else if (type === "number") { + value = 0; + needRemove = true; + } + } + try { + el[key] = value; + } catch (e) { + } + needRemove && el.removeAttribute(attrName || key); +} + +function addEventListener(el, event, handler, options) { + el.addEventListener(event, handler, options); +} +function removeEventListener(el, event, handler, options) { + el.removeEventListener(event, handler, options); +} +const veiKey = Symbol("_vei"); +function patchEvent(el, rawName, prevValue, nextValue, instance = null) { + const invokers = el[veiKey] || (el[veiKey] = {}); + const existingInvoker = invokers[rawName]; + if (nextValue && existingInvoker) { + existingInvoker.value = nextValue; + } else { + const [name, options] = parseName(rawName); + if (nextValue) { + const invoker = invokers[rawName] = createInvoker( + nextValue, + instance + ); + addEventListener(el, name, invoker, options); + } else if (existingInvoker) { + removeEventListener(el, name, existingInvoker, options); + invokers[rawName] = void 0; + } + } +} +const optionsModifierRE = /(?:Once|Passive|Capture)$/; +function parseName(name) { + let options; + if (optionsModifierRE.test(name)) { + options = {}; + let m; + while (m = name.match(optionsModifierRE)) { + name = name.slice(0, name.length - m[0].length); + options[m[0].toLowerCase()] = true; + } + } + const event = name[2] === ":" ? name.slice(3) : shared.hyphenate(name.slice(2)); + return [event, options]; +} +let cachedNow = 0; +const p = /* @__PURE__ */ Promise.resolve(); +const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now()); +function createInvoker(initialValue, instance) { + const invoker = (e) => { + if (!e._vts) { + e._vts = Date.now(); + } else if (e._vts <= invoker.attached) { + return; + } + runtimeCore.callWithAsyncErrorHandling( + patchStopImmediatePropagation(e, invoker.value), + instance, + 5, + [e] + ); + }; + invoker.value = initialValue; + invoker.attached = getNow(); + return invoker; +} +function patchStopImmediatePropagation(e, value) { + if (shared.isArray(value)) { + const originalStop = e.stopImmediatePropagation; + e.stopImmediatePropagation = () => { + originalStop.call(e); + e._stopped = true; + }; + return value.map( + (fn) => (e2) => !e2._stopped && fn && fn(e2) + ); + } else { + return value; + } +} + +const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter +key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123; +const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => { + const isSVG = namespace === "svg"; + if (key === "class") { + patchClass(el, nextValue, isSVG); + } else if (key === "style") { + patchStyle(el, prevValue, nextValue); + } else if (shared.isOn(key)) { + if (!shared.isModelListener(key)) { + patchEvent(el, key, prevValue, nextValue, parentComponent); + } + } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) { + patchDOMProp(el, key, nextValue); + if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) { + patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value"); + } + } else if ( + // #11081 force set props for possible async custom element + el._isVueCE && (/[A-Z]/.test(key) || !shared.isString(nextValue)) + ) { + patchDOMProp(el, shared.camelize(key), nextValue, parentComponent, key); + } else { + if (key === "true-value") { + el._trueValue = nextValue; + } else if (key === "false-value") { + el._falseValue = nextValue; + } + patchAttr(el, key, nextValue, isSVG); + } +}; +function shouldSetAsProp(el, key, value, isSVG) { + if (isSVG) { + if (key === "innerHTML" || key === "textContent") { + return true; + } + if (key in el && isNativeOn(key) && shared.isFunction(value)) { + return true; + } + return false; + } + if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") { + return false; + } + if (key === "form") { + return false; + } + if (key === "list" && el.tagName === "INPUT") { + return false; + } + if (key === "type" && el.tagName === "TEXTAREA") { + return false; + } + if (key === "width" || key === "height") { + const tag = el.tagName; + if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") { + return false; + } + } + if (isNativeOn(key) && shared.isString(value)) { + return false; + } + return key in el; +} + +const REMOVAL = {}; +// @__NO_SIDE_EFFECTS__ +function defineCustomElement(options, extraOptions, _createApp) { + let Comp = runtimeCore.defineComponent(options, extraOptions); + if (shared.isPlainObject(Comp)) Comp = shared.extend({}, Comp, extraOptions); + class VueCustomElement extends VueElement { + constructor(initialProps) { + super(Comp, initialProps, _createApp); + } + } + VueCustomElement.def = Comp; + return VueCustomElement; +} +const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => { + return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp); +}); +const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class { +}; +class VueElement extends BaseClass { + constructor(_def, _props = {}, _createApp = createApp) { + super(); + this._def = _def; + this._props = _props; + this._createApp = _createApp; + this._isVueCE = true; + /** + * @internal + */ + this._instance = null; + /** + * @internal + */ + this._app = null; + /** + * @internal + */ + this._nonce = this._def.nonce; + this._connected = false; + this._resolved = false; + this._numberProps = null; + this._styleChildren = /* @__PURE__ */ new WeakSet(); + this._ob = null; + if (this.shadowRoot && _createApp !== createApp) { + this._root = this.shadowRoot; + } else { + if (_def.shadowRoot !== false) { + this.attachShadow( + shared.extend({}, _def.shadowRootOptions, { + mode: "open" + }) + ); + this._root = this.shadowRoot; + } else { + this._root = this; + } + } + } + connectedCallback() { + if (!this.isConnected) return; + if (!this.shadowRoot && !this._resolved) { + this._parseSlots(); + } + this._connected = true; + let parent = this; + while (parent = parent && (parent.parentNode || parent.host)) { + if (parent instanceof VueElement) { + this._parent = parent; + break; + } + } + if (!this._instance) { + if (this._resolved) { + this._mount(this._def); + } else { + if (parent && parent._pendingResolve) { + this._pendingResolve = parent._pendingResolve.then(() => { + this._pendingResolve = void 0; + this._resolveDef(); + }); + } else { + this._resolveDef(); + } + } + } + } + _setParent(parent = this._parent) { + if (parent) { + this._instance.parent = parent._instance; + this._inheritParentContext(parent); + } + } + _inheritParentContext(parent = this._parent) { + if (parent && this._app) { + Object.setPrototypeOf( + this._app._context.provides, + parent._instance.provides + ); + } + } + disconnectedCallback() { + this._connected = false; + runtimeCore.nextTick(() => { + if (!this._connected) { + if (this._ob) { + this._ob.disconnect(); + this._ob = null; + } + this._app && this._app.unmount(); + if (this._instance) this._instance.ce = void 0; + this._app = this._instance = null; + if (this._teleportTargets) { + this._teleportTargets.clear(); + this._teleportTargets = void 0; + } + } + }); + } + _processMutations(mutations) { + for (const m of mutations) { + this._setAttr(m.attributeName); + } + } + /** + * resolve inner component definition (handle possible async component) + */ + _resolveDef() { + if (this._pendingResolve) { + return; + } + for (let i = 0; i < this.attributes.length; i++) { + this._setAttr(this.attributes[i].name); + } + this._ob = new MutationObserver(this._processMutations.bind(this)); + this._ob.observe(this, { attributes: true }); + const resolve = (def, isAsync = false) => { + this._resolved = true; + this._pendingResolve = void 0; + const { props, styles } = def; + let numberProps; + if (props && !shared.isArray(props)) { + for (const key in props) { + const opt = props[key]; + if (opt === Number || opt && opt.type === Number) { + if (key in this._props) { + this._props[key] = shared.toNumber(this._props[key]); + } + (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[shared.camelize(key)] = true; + } + } + } + this._numberProps = numberProps; + this._resolveProps(def); + if (this.shadowRoot) { + this._applyStyles(styles); + } + this._mount(def); + }; + const asyncDef = this._def.__asyncLoader; + if (asyncDef) { + this._pendingResolve = asyncDef().then((def) => { + def.configureApp = this._def.configureApp; + resolve(this._def = def, true); + }); + } else { + resolve(this._def); + } + } + _mount(def) { + this._app = this._createApp(def); + this._inheritParentContext(); + if (def.configureApp) { + def.configureApp(this._app); + } + this._app._ceVNode = this._createVNode(); + this._app.mount(this._root); + const exposed = this._instance && this._instance.exposed; + if (!exposed) return; + for (const key in exposed) { + if (!shared.hasOwn(this, key)) { + Object.defineProperty(this, key, { + // unwrap ref to be consistent with public instance behavior + get: () => runtimeCore.unref(exposed[key]) + }); + } + } + } + _resolveProps(def) { + const { props } = def; + const declaredPropKeys = shared.isArray(props) ? props : Object.keys(props || {}); + for (const key of Object.keys(this)) { + if (key[0] !== "_" && declaredPropKeys.includes(key)) { + this._setProp(key, this[key]); + } + } + for (const key of declaredPropKeys.map(shared.camelize)) { + Object.defineProperty(this, key, { + get() { + return this._getProp(key); + }, + set(val) { + this._setProp(key, val, true, true); + } + }); + } + } + _setAttr(key) { + if (key.startsWith("data-v-")) return; + const has = this.hasAttribute(key); + let value = has ? this.getAttribute(key) : REMOVAL; + const camelKey = shared.camelize(key); + if (has && this._numberProps && this._numberProps[camelKey]) { + value = shared.toNumber(value); + } + this._setProp(camelKey, value, false, true); + } + /** + * @internal + */ + _getProp(key) { + return this._props[key]; + } + /** + * @internal + */ + _setProp(key, val, shouldReflect = true, shouldUpdate = false) { + if (val !== this._props[key]) { + if (val === REMOVAL) { + delete this._props[key]; + } else { + this._props[key] = val; + if (key === "key" && this._app) { + this._app._ceVNode.key = val; + } + } + if (shouldUpdate && this._instance) { + this._update(); + } + if (shouldReflect) { + const ob = this._ob; + if (ob) { + this._processMutations(ob.takeRecords()); + ob.disconnect(); + } + if (val === true) { + this.setAttribute(shared.hyphenate(key), ""); + } else if (typeof val === "string" || typeof val === "number") { + this.setAttribute(shared.hyphenate(key), val + ""); + } else if (!val) { + this.removeAttribute(shared.hyphenate(key)); + } + ob && ob.observe(this, { attributes: true }); + } + } + } + _update() { + const vnode = this._createVNode(); + if (this._app) vnode.appContext = this._app._context; + render(vnode, this._root); + } + _createVNode() { + const baseProps = {}; + if (!this.shadowRoot) { + baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this); + } + const vnode = runtimeCore.createVNode(this._def, shared.extend(baseProps, this._props)); + if (!this._instance) { + vnode.ce = (instance) => { + this._instance = instance; + instance.ce = this; + instance.isCE = true; + const dispatch = (event, args) => { + this.dispatchEvent( + new CustomEvent( + event, + shared.isPlainObject(args[0]) ? shared.extend({ detail: args }, args[0]) : { detail: args } + ) + ); + }; + instance.emit = (event, ...args) => { + dispatch(event, args); + if (shared.hyphenate(event) !== event) { + dispatch(shared.hyphenate(event), args); + } + }; + this._setParent(); + }; + } + return vnode; + } + _applyStyles(styles, owner) { + if (!styles) return; + if (owner) { + if (owner === this._def || this._styleChildren.has(owner)) { + return; + } + this._styleChildren.add(owner); + } + const nonce = this._nonce; + for (let i = styles.length - 1; i >= 0; i--) { + const s = document.createElement("style"); + if (nonce) s.setAttribute("nonce", nonce); + s.textContent = styles[i]; + this.shadowRoot.prepend(s); + } + } + /** + * Only called when shadowRoot is false + */ + _parseSlots() { + const slots = this._slots = {}; + let n; + while (n = this.firstChild) { + const slotName = n.nodeType === 1 && n.getAttribute("slot") || "default"; + (slots[slotName] || (slots[slotName] = [])).push(n); + this.removeChild(n); + } + } + /** + * Only called when shadowRoot is false + */ + _renderSlots() { + const outlets = this._getSlots(); + const scopeId = this._instance.type.__scopeId; + for (let i = 0; i < outlets.length; i++) { + const o = outlets[i]; + const slotName = o.getAttribute("name") || "default"; + const content = this._slots[slotName]; + const parent = o.parentNode; + if (content) { + for (const n of content) { + if (scopeId && n.nodeType === 1) { + const id = scopeId + "-s"; + const walker = document.createTreeWalker(n, 1); + n.setAttribute(id, ""); + let child; + while (child = walker.nextNode()) { + child.setAttribute(id, ""); + } + } + parent.insertBefore(n, o); + } + } else { + while (o.firstChild) parent.insertBefore(o.firstChild, o); + } + parent.removeChild(o); + } + } + /** + * @internal + */ + _getSlots() { + const roots = [this]; + if (this._teleportTargets) { + roots.push(...this._teleportTargets); + } + return roots.reduce((res, i) => { + res.push(...Array.from(i.querySelectorAll("slot"))); + return res; + }, []); + } + /** + * @internal + */ + _injectChildStyle(comp) { + this._applyStyles(comp.styles, comp); + } + /** + * @internal + */ + _removeChildStyle(comp) { + } +} +function useHost(caller) { + const instance = runtimeCore.getCurrentInstance(); + const el = instance && instance.ce; + if (el) { + return el; + } + return null; +} +function useShadowRoot() { + const el = useHost(); + return el && el.shadowRoot; +} + +function useCssModule(name = "$style") { + { + const instance = runtimeCore.getCurrentInstance(); + if (!instance) { + return shared.EMPTY_OBJ; + } + const modules = instance.type.__cssModules; + if (!modules) { + return shared.EMPTY_OBJ; + } + const mod = modules[name]; + if (!mod) { + return shared.EMPTY_OBJ; + } + return mod; + } +} + +const positionMap = /* @__PURE__ */ new WeakMap(); +const newPositionMap = /* @__PURE__ */ new WeakMap(); +const moveCbKey = Symbol("_moveCb"); +const enterCbKey = Symbol("_enterCb"); +const decorate = (t) => { + delete t.props.mode; + return t; +}; +const TransitionGroupImpl = /* @__PURE__ */ decorate({ + name: "TransitionGroup", + props: /* @__PURE__ */ shared.extend({}, TransitionPropsValidators, { + tag: String, + moveClass: String + }), + setup(props, { slots }) { + const instance = runtimeCore.getCurrentInstance(); + const state = runtimeCore.useTransitionState(); + let prevChildren; + let children; + runtimeCore.onUpdated(() => { + if (!prevChildren.length) { + return; + } + const moveClass = props.moveClass || `${props.name || "v"}-move`; + if (!hasCSSTransform( + prevChildren[0].el, + instance.vnode.el, + moveClass + )) { + prevChildren = []; + return; + } + prevChildren.forEach(callPendingCbs); + prevChildren.forEach(recordPosition); + const movedChildren = prevChildren.filter(applyTranslation); + forceReflow(instance.vnode.el); + movedChildren.forEach((c) => { + const el = c.el; + const style = el.style; + addTransitionClass(el, moveClass); + style.transform = style.webkitTransform = style.transitionDuration = ""; + const cb = el[moveCbKey] = (e) => { + if (e && e.target !== el) { + return; + } + if (!e || e.propertyName.endsWith("transform")) { + el.removeEventListener("transitionend", cb); + el[moveCbKey] = null; + removeTransitionClass(el, moveClass); + } + }; + el.addEventListener("transitionend", cb); + }); + prevChildren = []; + }); + return () => { + const rawProps = runtimeCore.toRaw(props); + const cssTransitionProps = resolveTransitionProps(rawProps); + let tag = rawProps.tag || runtimeCore.Fragment; + prevChildren = []; + if (children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.el && child.el instanceof Element) { + prevChildren.push(child); + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks( + child, + cssTransitionProps, + state, + instance + ) + ); + positionMap.set( + child, + child.el.getBoundingClientRect() + ); + } + } + } + children = slots.default ? runtimeCore.getTransitionRawChildren(slots.default()) : []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.key != null) { + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks(child, cssTransitionProps, state, instance) + ); + } + } + return runtimeCore.createVNode(tag, null, children); + }; + } +}); +const TransitionGroup = TransitionGroupImpl; +function callPendingCbs(c) { + const el = c.el; + if (el[moveCbKey]) { + el[moveCbKey](); + } + if (el[enterCbKey]) { + el[enterCbKey](); + } +} +function recordPosition(c) { + newPositionMap.set(c, c.el.getBoundingClientRect()); +} +function applyTranslation(c) { + const oldPos = positionMap.get(c); + const newPos = newPositionMap.get(c); + const dx = oldPos.left - newPos.left; + const dy = oldPos.top - newPos.top; + if (dx || dy) { + const s = c.el.style; + s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`; + s.transitionDuration = "0s"; + return c; + } +} +function hasCSSTransform(el, root, moveClass) { + const clone = el.cloneNode(); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.forEach((cls) => { + cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c)); + }); + } + moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c)); + clone.style.display = "none"; + const container = root.nodeType === 1 ? root : root.parentNode; + container.appendChild(clone); + const { hasTransform } = getTransitionInfo(clone); + container.removeChild(clone); + return hasTransform; +} + +const getModelAssigner = (vnode) => { + const fn = vnode.props["onUpdate:modelValue"] || false; + return shared.isArray(fn) ? (value) => shared.invokeArrayFns(fn, value) : fn; +}; +function onCompositionStart(e) { + e.target.composing = true; +} +function onCompositionEnd(e) { + const target = e.target; + if (target.composing) { + target.composing = false; + target.dispatchEvent(new Event("input")); + } +} +const assignKey = Symbol("_assign"); +const vModelText = { + created(el, { modifiers: { lazy, trim, number } }, vnode) { + el[assignKey] = getModelAssigner(vnode); + const castToNumber = number || vnode.props && vnode.props.type === "number"; + addEventListener(el, lazy ? "change" : "input", (e) => { + if (e.target.composing) return; + let domValue = el.value; + if (trim) { + domValue = domValue.trim(); + } + if (castToNumber) { + domValue = shared.looseToNumber(domValue); + } + el[assignKey](domValue); + }); + if (trim) { + addEventListener(el, "change", () => { + el.value = el.value.trim(); + }); + } + if (!lazy) { + addEventListener(el, "compositionstart", onCompositionStart); + addEventListener(el, "compositionend", onCompositionEnd); + addEventListener(el, "change", onCompositionEnd); + } + }, + // set value on mounted so it's after min/max for type="range" + mounted(el, { value }) { + el.value = value == null ? "" : value; + }, + beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (el.composing) return; + const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? shared.looseToNumber(el.value) : el.value; + const newValue = value == null ? "" : value; + if (elValue === newValue) { + return; + } + if (document.activeElement === el && el.type !== "range") { + if (lazy && value === oldValue) { + return; + } + if (trim && el.value.trim() === newValue) { + return; + } + } + el.value = newValue; + } +}; +const vModelCheckbox = { + // #4096 array checkboxes need to be deep traversed + deep: true, + created(el, _, vnode) { + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + const modelValue = el._modelValue; + const elementValue = getValue(el); + const checked = el.checked; + const assign = el[assignKey]; + if (shared.isArray(modelValue)) { + const index = shared.looseIndexOf(modelValue, elementValue); + const found = index !== -1; + if (checked && !found) { + assign(modelValue.concat(elementValue)); + } else if (!checked && found) { + const filtered = [...modelValue]; + filtered.splice(index, 1); + assign(filtered); + } + } else if (shared.isSet(modelValue)) { + const cloned = new Set(modelValue); + if (checked) { + cloned.add(elementValue); + } else { + cloned.delete(elementValue); + } + assign(cloned); + } else { + assign(getCheckboxValue(el, checked)); + } + }); + }, + // set initial checked on mount to wait for true-value/false-value + mounted: setChecked, + beforeUpdate(el, binding, vnode) { + el[assignKey] = getModelAssigner(vnode); + setChecked(el, binding, vnode); + } +}; +function setChecked(el, { value, oldValue }, vnode) { + el._modelValue = value; + let checked; + if (shared.isArray(value)) { + checked = shared.looseIndexOf(value, vnode.props.value) > -1; + } else if (shared.isSet(value)) { + checked = value.has(vnode.props.value); + } else { + if (value === oldValue) return; + checked = shared.looseEqual(value, getCheckboxValue(el, true)); + } + if (el.checked !== checked) { + el.checked = checked; + } +} +const vModelRadio = { + created(el, { value }, vnode) { + el.checked = shared.looseEqual(value, vnode.props.value); + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + el[assignKey](getValue(el)); + }); + }, + beforeUpdate(el, { value, oldValue }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (value !== oldValue) { + el.checked = shared.looseEqual(value, vnode.props.value); + } + } +}; +const vModelSelect = { + // <select multiple> value need to be deep traversed + deep: true, + created(el, { value, modifiers: { number } }, vnode) { + const isSetModel = shared.isSet(value); + addEventListener(el, "change", () => { + const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map( + (o) => number ? shared.looseToNumber(getValue(o)) : getValue(o) + ); + el[assignKey]( + el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0] + ); + el._assigning = true; + runtimeCore.nextTick(() => { + el._assigning = false; + }); + }); + el[assignKey] = getModelAssigner(vnode); + }, + // set value in mounted & updated because <select> relies on its children + // <option>s. + mounted(el, { value }) { + setSelected(el, value); + }, + beforeUpdate(el, _binding, vnode) { + el[assignKey] = getModelAssigner(vnode); + }, + updated(el, { value }) { + if (!el._assigning) { + setSelected(el, value); + } + } +}; +function setSelected(el, value) { + const isMultiple = el.multiple; + const isArrayValue = shared.isArray(value); + if (isMultiple && !isArrayValue && !shared.isSet(value)) { + return; + } + for (let i = 0, l = el.options.length; i < l; i++) { + const option = el.options[i]; + const optionValue = getValue(option); + if (isMultiple) { + if (isArrayValue) { + const optionType = typeof optionValue; + if (optionType === "string" || optionType === "number") { + option.selected = value.some((v) => String(v) === String(optionValue)); + } else { + option.selected = shared.looseIndexOf(value, optionValue) > -1; + } + } else { + option.selected = value.has(optionValue); + } + } else if (shared.looseEqual(getValue(option), value)) { + if (el.selectedIndex !== i) el.selectedIndex = i; + return; + } + } + if (!isMultiple && el.selectedIndex !== -1) { + el.selectedIndex = -1; + } +} +function getValue(el) { + return "_value" in el ? el._value : el.value; +} +function getCheckboxValue(el, checked) { + const key = checked ? "_trueValue" : "_falseValue"; + return key in el ? el[key] : checked; +} +const vModelDynamic = { + created(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "created"); + }, + mounted(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "mounted"); + }, + beforeUpdate(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "beforeUpdate"); + }, + updated(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "updated"); + } +}; +function resolveDynamicModel(tagName, type) { + switch (tagName) { + case "SELECT": + return vModelSelect; + case "TEXTAREA": + return vModelText; + default: + switch (type) { + case "checkbox": + return vModelCheckbox; + case "radio": + return vModelRadio; + default: + return vModelText; + } + } +} +function callModelHook(el, binding, vnode, prevVNode, hook) { + const modelToUse = resolveDynamicModel( + el.tagName, + vnode.props && vnode.props.type + ); + const fn = modelToUse[hook]; + fn && fn(el, binding, vnode, prevVNode); +} +function initVModelForSSR() { + vModelText.getSSRProps = ({ value }) => ({ value }); + vModelRadio.getSSRProps = ({ value }, vnode) => { + if (vnode.props && shared.looseEqual(vnode.props.value, value)) { + return { checked: true }; + } + }; + vModelCheckbox.getSSRProps = ({ value }, vnode) => { + if (shared.isArray(value)) { + if (vnode.props && shared.looseIndexOf(value, vnode.props.value) > -1) { + return { checked: true }; + } + } else if (shared.isSet(value)) { + if (vnode.props && value.has(vnode.props.value)) { + return { checked: true }; + } + } else if (value) { + return { checked: true }; + } + }; + vModelDynamic.getSSRProps = (binding, vnode) => { + if (typeof vnode.type !== "string") { + return; + } + const modelToUse = resolveDynamicModel( + // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase + vnode.type.toUpperCase(), + vnode.props && vnode.props.type + ); + if (modelToUse.getSSRProps) { + return modelToUse.getSSRProps(binding, vnode); + } + }; +} + +const systemModifiers = ["ctrl", "shift", "alt", "meta"]; +const modifierGuards = { + stop: (e) => e.stopPropagation(), + prevent: (e) => e.preventDefault(), + self: (e) => e.target !== e.currentTarget, + ctrl: (e) => !e.ctrlKey, + shift: (e) => !e.shiftKey, + alt: (e) => !e.altKey, + meta: (e) => !e.metaKey, + left: (e) => "button" in e && e.button !== 0, + middle: (e) => "button" in e && e.button !== 1, + right: (e) => "button" in e && e.button !== 2, + exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m)) +}; +const withModifiers = (fn, modifiers) => { + const cache = fn._withMods || (fn._withMods = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => { + for (let i = 0; i < modifiers.length; i++) { + const guard = modifierGuards[modifiers[i]]; + if (guard && guard(event, modifiers)) return; + } + return fn(event, ...args); + })); +}; +const keyNames = { + esc: "escape", + space: " ", + up: "arrow-up", + left: "arrow-left", + right: "arrow-right", + down: "arrow-down", + delete: "backspace" +}; +const withKeys = (fn, modifiers) => { + const cache = fn._withKeys || (fn._withKeys = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event) => { + if (!("key" in event)) { + return; + } + const eventKey = shared.hyphenate(event.key); + if (modifiers.some( + (k) => k === eventKey || keyNames[k] === eventKey + )) { + return fn(event); + } + })); +}; + +const rendererOptions = /* @__PURE__ */ shared.extend({ patchProp }, nodeOps); +let renderer; +let enabledHydration = false; +function ensureRenderer() { + return renderer || (renderer = runtimeCore.createRenderer(rendererOptions)); +} +function ensureHydrationRenderer() { + renderer = enabledHydration ? renderer : runtimeCore.createHydrationRenderer(rendererOptions); + enabledHydration = true; + return renderer; +} +const render = ((...args) => { + ensureRenderer().render(...args); +}); +const hydrate = ((...args) => { + ensureHydrationRenderer().hydrate(...args); +}); +const createApp = ((...args) => { + const app = ensureRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (!container) return; + const component = app._component; + if (!shared.isFunction(component) && !component.render && !component.template) { + component.template = container.innerHTML; + } + if (container.nodeType === 1) { + container.textContent = ""; + } + const proxy = mount(container, false, resolveRootNamespace(container)); + if (container instanceof Element) { + container.removeAttribute("v-cloak"); + container.setAttribute("data-v-app", ""); + } + return proxy; + }; + return app; +}); +const createSSRApp = ((...args) => { + const app = ensureHydrationRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (container) { + return mount(container, true, resolveRootNamespace(container)); + } + }; + return app; +}); +function resolveRootNamespace(container) { + if (container instanceof SVGElement) { + return "svg"; + } + if (typeof MathMLElement === "function" && container instanceof MathMLElement) { + return "mathml"; + } +} +function normalizeContainer(container) { + if (shared.isString(container)) { + const res = document.querySelector(container); + return res; + } + return container; +} +let ssrDirectiveInitialized = false; +const initDirectivesForSSR = () => { + if (!ssrDirectiveInitialized) { + ssrDirectiveInitialized = true; + initVModelForSSR(); + initVShowForSSR(); + } +} ; + +exports.Transition = Transition; +exports.TransitionGroup = TransitionGroup; +exports.VueElement = VueElement; +exports.createApp = createApp; +exports.createSSRApp = createSSRApp; +exports.defineCustomElement = defineCustomElement; +exports.defineSSRCustomElement = defineSSRCustomElement; +exports.hydrate = hydrate; +exports.initDirectivesForSSR = initDirectivesForSSR; +exports.render = render; +exports.useCssModule = useCssModule; +exports.useCssVars = useCssVars; +exports.useHost = useHost; +exports.useShadowRoot = useShadowRoot; +exports.vModelCheckbox = vModelCheckbox; +exports.vModelDynamic = vModelDynamic; +exports.vModelRadio = vModelRadio; +exports.vModelSelect = vModelSelect; +exports.vModelText = vModelText; +exports.vShow = vShow; +exports.withKeys = withKeys; +exports.withModifiers = withModifiers; +Object.keys(runtimeCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeCore[k]; +}); diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/runtime-core b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/runtime-core new file mode 120000 index 00000000..fe5e33cf --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/runtime-core @@ -0,0 +1 @@ +../../../runtime-core@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/package.json new file mode 100644 index 00000000..950c7e7e --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.22/package.json @@ -0,0 +1,60 @@ +{ + "name": "@vue/runtime-dom", + "version": "3.5.22", + "description": "@vue/runtime-dom", + "main": "index.js", + "module": "dist/runtime-dom.esm-bundler.js", + "types": "dist/runtime-dom.d.ts", + "unpkg": "dist/runtime-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-dom.d.ts", + "node": { + "production": "./dist/runtime-dom.cjs.prod.js", + "development": "./dist/runtime-dom.cjs.js", + "default": "./dist/runtime-dom.cjs.prod.js" + }, + "module": "./dist/runtime-dom.esm-bundler.js", + "import": "./dist/runtime-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueRuntimeDOM", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme", + "dependencies": { + "csstype": "^3.1.3", + "@vue/reactivity": "3.5.22", + "@vue/shared": "3.5.22", + "@vue/runtime-core": "3.5.22" + }, + "devDependencies": { + "@types/trusted-types": "^2.0.7" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/dist/runtime-dom.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/dist/runtime-dom.cjs.prod.js new file mode 100644 index 00000000..246cebad --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/dist/runtime-dom.cjs.prod.js @@ -0,0 +1,1732 @@ +/** +* @vue/runtime-dom v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var runtimeCore = require('@vue/runtime-core'); +var shared = require('@vue/shared'); + +let policy = void 0; +const tt = typeof window !== "undefined" && window.trustedTypes; +if (tt) { + try { + policy = /* @__PURE__ */ tt.createPolicy("vue", { + createHTML: (val) => val + }); + } catch (e) { + } +} +const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val; +const svgNS = "http://www.w3.org/2000/svg"; +const mathmlNS = "http://www.w3.org/1998/Math/MathML"; +const doc = typeof document !== "undefined" ? document : null; +const templateContainer = doc && /* @__PURE__ */ doc.createElement("template"); +const nodeOps = { + insert: (child, parent, anchor) => { + parent.insertBefore(child, anchor || null); + }, + remove: (child) => { + const parent = child.parentNode; + if (parent) { + parent.removeChild(child); + } + }, + createElement: (tag, namespace, is, props) => { + const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag); + if (tag === "select" && props && props.multiple != null) { + el.setAttribute("multiple", props.multiple); + } + return el; + }, + createText: (text) => doc.createTextNode(text), + createComment: (text) => doc.createComment(text), + setText: (node, text) => { + node.nodeValue = text; + }, + setElementText: (el, text) => { + el.textContent = text; + }, + parentNode: (node) => node.parentNode, + nextSibling: (node) => node.nextSibling, + querySelector: (selector) => doc.querySelector(selector), + setScopeId(el, id) { + el.setAttribute(id, ""); + }, + // __UNSAFE__ + // Reason: innerHTML. + // Static content here can only come from compiled templates. + // As long as the user only uses trusted templates, this is safe. + insertStaticContent(content, parent, anchor, namespace, start, end) { + const before = anchor ? anchor.previousSibling : parent.lastChild; + if (start && (start === end || start.nextSibling)) { + while (true) { + parent.insertBefore(start.cloneNode(true), anchor); + if (start === end || !(start = start.nextSibling)) break; + } + } else { + templateContainer.innerHTML = unsafeToTrustedHTML( + namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content + ); + const template = templateContainer.content; + if (namespace === "svg" || namespace === "mathml") { + const wrapper = template.firstChild; + while (wrapper.firstChild) { + template.appendChild(wrapper.firstChild); + } + template.removeChild(wrapper); + } + parent.insertBefore(template, anchor); + } + return [ + // first + before ? before.nextSibling : parent.firstChild, + // last + anchor ? anchor.previousSibling : parent.lastChild + ]; + } +}; + +const TRANSITION = "transition"; +const ANIMATION = "animation"; +const vtcKey = /* @__PURE__ */ Symbol("_vtc"); +const DOMTransitionPropsValidators = { + name: String, + type: String, + css: { + type: Boolean, + default: true + }, + duration: [String, Number, Object], + enterFromClass: String, + enterActiveClass: String, + enterToClass: String, + appearFromClass: String, + appearActiveClass: String, + appearToClass: String, + leaveFromClass: String, + leaveActiveClass: String, + leaveToClass: String +}; +const TransitionPropsValidators = /* @__PURE__ */ shared.extend( + {}, + runtimeCore.BaseTransitionPropsValidators, + DOMTransitionPropsValidators +); +const decorate$1 = (t) => { + t.displayName = "Transition"; + t.props = TransitionPropsValidators; + return t; +}; +const Transition = /* @__PURE__ */ decorate$1( + (props, { slots }) => runtimeCore.h(runtimeCore.BaseTransition, resolveTransitionProps(props), slots) +); +const callHook = (hook, args = []) => { + if (shared.isArray(hook)) { + hook.forEach((h2) => h2(...args)); + } else if (hook) { + hook(...args); + } +}; +const hasExplicitCallback = (hook) => { + return hook ? shared.isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false; +}; +function resolveTransitionProps(rawProps) { + const baseProps = {}; + for (const key in rawProps) { + if (!(key in DOMTransitionPropsValidators)) { + baseProps[key] = rawProps[key]; + } + } + if (rawProps.css === false) { + return baseProps; + } + const { + name = "v", + type, + duration, + enterFromClass = `${name}-enter-from`, + enterActiveClass = `${name}-enter-active`, + enterToClass = `${name}-enter-to`, + appearFromClass = enterFromClass, + appearActiveClass = enterActiveClass, + appearToClass = enterToClass, + leaveFromClass = `${name}-leave-from`, + leaveActiveClass = `${name}-leave-active`, + leaveToClass = `${name}-leave-to` + } = rawProps; + const durations = normalizeDuration(duration); + const enterDuration = durations && durations[0]; + const leaveDuration = durations && durations[1]; + const { + onBeforeEnter, + onEnter, + onEnterCancelled, + onLeave, + onLeaveCancelled, + onBeforeAppear = onBeforeEnter, + onAppear = onEnter, + onAppearCancelled = onEnterCancelled + } = baseProps; + const finishEnter = (el, isAppear, done, isCancelled) => { + el._enterCancelled = isCancelled; + removeTransitionClass(el, isAppear ? appearToClass : enterToClass); + removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass); + done && done(); + }; + const finishLeave = (el, done) => { + el._isLeaving = false; + removeTransitionClass(el, leaveFromClass); + removeTransitionClass(el, leaveToClass); + removeTransitionClass(el, leaveActiveClass); + done && done(); + }; + const makeEnterHook = (isAppear) => { + return (el, done) => { + const hook = isAppear ? onAppear : onEnter; + const resolve = () => finishEnter(el, isAppear, done); + callHook(hook, [el, resolve]); + nextFrame(() => { + removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass); + addTransitionClass(el, isAppear ? appearToClass : enterToClass); + if (!hasExplicitCallback(hook)) { + whenTransitionEnds(el, type, enterDuration, resolve); + } + }); + }; + }; + return shared.extend(baseProps, { + onBeforeEnter(el) { + callHook(onBeforeEnter, [el]); + addTransitionClass(el, enterFromClass); + addTransitionClass(el, enterActiveClass); + }, + onBeforeAppear(el) { + callHook(onBeforeAppear, [el]); + addTransitionClass(el, appearFromClass); + addTransitionClass(el, appearActiveClass); + }, + onEnter: makeEnterHook(false), + onAppear: makeEnterHook(true), + onLeave(el, done) { + el._isLeaving = true; + const resolve = () => finishLeave(el, done); + addTransitionClass(el, leaveFromClass); + if (!el._enterCancelled) { + forceReflow(el); + addTransitionClass(el, leaveActiveClass); + } else { + addTransitionClass(el, leaveActiveClass); + forceReflow(el); + } + nextFrame(() => { + if (!el._isLeaving) { + return; + } + removeTransitionClass(el, leaveFromClass); + addTransitionClass(el, leaveToClass); + if (!hasExplicitCallback(onLeave)) { + whenTransitionEnds(el, type, leaveDuration, resolve); + } + }); + callHook(onLeave, [el, resolve]); + }, + onEnterCancelled(el) { + finishEnter(el, false, void 0, true); + callHook(onEnterCancelled, [el]); + }, + onAppearCancelled(el) { + finishEnter(el, true, void 0, true); + callHook(onAppearCancelled, [el]); + }, + onLeaveCancelled(el) { + finishLeave(el); + callHook(onLeaveCancelled, [el]); + } + }); +} +function normalizeDuration(duration) { + if (duration == null) { + return null; + } else if (shared.isObject(duration)) { + return [NumberOf(duration.enter), NumberOf(duration.leave)]; + } else { + const n = NumberOf(duration); + return [n, n]; + } +} +function NumberOf(val) { + const res = shared.toNumber(val); + return res; +} +function addTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.add(c)); + (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls); +} +function removeTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.remove(c)); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.delete(cls); + if (!_vtc.size) { + el[vtcKey] = void 0; + } + } +} +function nextFrame(cb) { + requestAnimationFrame(() => { + requestAnimationFrame(cb); + }); +} +let endId = 0; +function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) { + const id = el._endId = ++endId; + const resolveIfNotStale = () => { + if (id === el._endId) { + resolve(); + } + }; + if (explicitTimeout != null) { + return setTimeout(resolveIfNotStale, explicitTimeout); + } + const { type, timeout, propCount } = getTransitionInfo(el, expectedType); + if (!type) { + return resolve(); + } + const endEvent = type + "end"; + let ended = 0; + const end = () => { + el.removeEventListener(endEvent, onEnd); + resolveIfNotStale(); + }; + const onEnd = (e) => { + if (e.target === el && ++ended >= propCount) { + end(); + } + }; + setTimeout(() => { + if (ended < propCount) { + end(); + } + }, timeout + 1); + el.addEventListener(endEvent, onEnd); +} +function getTransitionInfo(el, expectedType) { + const styles = window.getComputedStyle(el); + const getStyleProperties = (key) => (styles[key] || "").split(", "); + const transitionDelays = getStyleProperties(`${TRANSITION}Delay`); + const transitionDurations = getStyleProperties(`${TRANSITION}Duration`); + const transitionTimeout = getTimeout(transitionDelays, transitionDurations); + const animationDelays = getStyleProperties(`${ANIMATION}Delay`); + const animationDurations = getStyleProperties(`${ANIMATION}Duration`); + const animationTimeout = getTimeout(animationDelays, animationDurations); + let type = null; + let timeout = 0; + let propCount = 0; + if (expectedType === TRANSITION) { + if (transitionTimeout > 0) { + type = TRANSITION; + timeout = transitionTimeout; + propCount = transitionDurations.length; + } + } else if (expectedType === ANIMATION) { + if (animationTimeout > 0) { + type = ANIMATION; + timeout = animationTimeout; + propCount = animationDurations.length; + } + } else { + timeout = Math.max(transitionTimeout, animationTimeout); + type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null; + propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0; + } + const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test( + getStyleProperties(`${TRANSITION}Property`).toString() + ); + return { + type, + timeout, + propCount, + hasTransform + }; +} +function getTimeout(delays, durations) { + while (delays.length < durations.length) { + delays = delays.concat(delays); + } + return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i]))); +} +function toMs(s) { + if (s === "auto") return 0; + return Number(s.slice(0, -1).replace(",", ".")) * 1e3; +} +function forceReflow(el) { + const targetDocument = el ? el.ownerDocument : document; + return targetDocument.body.offsetHeight; +} + +function patchClass(el, value, isSVG) { + const transitionClasses = el[vtcKey]; + if (transitionClasses) { + value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" "); + } + if (value == null) { + el.removeAttribute("class"); + } else if (isSVG) { + el.setAttribute("class", value); + } else { + el.className = value; + } +} + +const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod"); +const vShowHidden = /* @__PURE__ */ Symbol("_vsh"); +const vShow = { + // used for prop mismatch check during hydration + name: "show", + beforeMount(el, { value }, { transition }) { + el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display; + if (transition && value) { + transition.beforeEnter(el); + } else { + setDisplay(el, value); + } + }, + mounted(el, { value }, { transition }) { + if (transition && value) { + transition.enter(el); + } + }, + updated(el, { value, oldValue }, { transition }) { + if (!value === !oldValue) return; + if (transition) { + if (value) { + transition.beforeEnter(el); + setDisplay(el, true); + transition.enter(el); + } else { + transition.leave(el, () => { + setDisplay(el, false); + }); + } + } else { + setDisplay(el, value); + } + }, + beforeUnmount(el, { value }) { + setDisplay(el, value); + } +}; +function setDisplay(el, value) { + el.style.display = value ? el[vShowOriginalDisplay] : "none"; + el[vShowHidden] = !value; +} +function initVShowForSSR() { + vShow.getSSRProps = ({ value }) => { + if (!value) { + return { style: { display: "none" } }; + } + }; +} + +const CSS_VAR_TEXT = /* @__PURE__ */ Symbol(""); +function useCssVars(getter) { + return; +} + +const displayRE = /(?:^|;)\s*display\s*:/; +function patchStyle(el, prev, next) { + const style = el.style; + const isCssString = shared.isString(next); + let hasControlledDisplay = false; + if (next && !isCssString) { + if (prev) { + if (!shared.isString(prev)) { + for (const key in prev) { + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } else { + for (const prevStyle of prev.split(";")) { + const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim(); + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } + } + for (const key in next) { + if (key === "display") { + hasControlledDisplay = true; + } + setStyle(style, key, next[key]); + } + } else { + if (isCssString) { + if (prev !== next) { + const cssVarText = style[CSS_VAR_TEXT]; + if (cssVarText) { + next += ";" + cssVarText; + } + style.cssText = next; + hasControlledDisplay = displayRE.test(next); + } + } else if (prev) { + el.removeAttribute("style"); + } + } + if (vShowOriginalDisplay in el) { + el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : ""; + if (el[vShowHidden]) { + style.display = "none"; + } + } +} +const importantRE = /\s*!important$/; +function setStyle(style, name, val) { + if (shared.isArray(val)) { + val.forEach((v) => setStyle(style, name, v)); + } else { + if (val == null) val = ""; + if (name.startsWith("--")) { + style.setProperty(name, val); + } else { + const prefixed = autoPrefix(style, name); + if (importantRE.test(val)) { + style.setProperty( + shared.hyphenate(prefixed), + val.replace(importantRE, ""), + "important" + ); + } else { + style[prefixed] = val; + } + } + } +} +const prefixes = ["Webkit", "Moz", "ms"]; +const prefixCache = {}; +function autoPrefix(style, rawName) { + const cached = prefixCache[rawName]; + if (cached) { + return cached; + } + let name = runtimeCore.camelize(rawName); + if (name !== "filter" && name in style) { + return prefixCache[rawName] = name; + } + name = shared.capitalize(name); + for (let i = 0; i < prefixes.length; i++) { + const prefixed = prefixes[i] + name; + if (prefixed in style) { + return prefixCache[rawName] = prefixed; + } + } + return rawName; +} + +const xlinkNS = "http://www.w3.org/1999/xlink"; +function patchAttr(el, key, value, isSVG, instance, isBoolean = shared.isSpecialBooleanAttr(key)) { + if (isSVG && key.startsWith("xlink:")) { + if (value == null) { + el.removeAttributeNS(xlinkNS, key.slice(6, key.length)); + } else { + el.setAttributeNS(xlinkNS, key, value); + } + } else { + if (value == null || isBoolean && !shared.includeBooleanAttr(value)) { + el.removeAttribute(key); + } else { + el.setAttribute( + key, + isBoolean ? "" : shared.isSymbol(value) ? String(value) : value + ); + } + } +} + +function patchDOMProp(el, key, value, parentComponent, attrName) { + if (key === "innerHTML" || key === "textContent") { + if (value != null) { + el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value) : value; + } + return; + } + const tag = el.tagName; + if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally + !tag.includes("-")) { + const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value; + const newValue = value == null ? ( + // #11647: value should be set as empty string for null and undefined, + // but <input type="checkbox"> should be set as 'on'. + el.type === "checkbox" ? "on" : "" + ) : String(value); + if (oldValue !== newValue || !("_value" in el)) { + el.value = newValue; + } + if (value == null) { + el.removeAttribute(key); + } + el._value = value; + return; + } + let needRemove = false; + if (value === "" || value == null) { + const type = typeof el[key]; + if (type === "boolean") { + value = shared.includeBooleanAttr(value); + } else if (value == null && type === "string") { + value = ""; + needRemove = true; + } else if (type === "number") { + value = 0; + needRemove = true; + } + } + try { + el[key] = value; + } catch (e) { + } + needRemove && el.removeAttribute(attrName || key); +} + +function addEventListener(el, event, handler, options) { + el.addEventListener(event, handler, options); +} +function removeEventListener(el, event, handler, options) { + el.removeEventListener(event, handler, options); +} +const veiKey = /* @__PURE__ */ Symbol("_vei"); +function patchEvent(el, rawName, prevValue, nextValue, instance = null) { + const invokers = el[veiKey] || (el[veiKey] = {}); + const existingInvoker = invokers[rawName]; + if (nextValue && existingInvoker) { + existingInvoker.value = nextValue; + } else { + const [name, options] = parseName(rawName); + if (nextValue) { + const invoker = invokers[rawName] = createInvoker( + nextValue, + instance + ); + addEventListener(el, name, invoker, options); + } else if (existingInvoker) { + removeEventListener(el, name, existingInvoker, options); + invokers[rawName] = void 0; + } + } +} +const optionsModifierRE = /(?:Once|Passive|Capture)$/; +function parseName(name) { + let options; + if (optionsModifierRE.test(name)) { + options = {}; + let m; + while (m = name.match(optionsModifierRE)) { + name = name.slice(0, name.length - m[0].length); + options[m[0].toLowerCase()] = true; + } + } + const event = name[2] === ":" ? name.slice(3) : shared.hyphenate(name.slice(2)); + return [event, options]; +} +let cachedNow = 0; +const p = /* @__PURE__ */ Promise.resolve(); +const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now()); +function createInvoker(initialValue, instance) { + const invoker = (e) => { + if (!e._vts) { + e._vts = Date.now(); + } else if (e._vts <= invoker.attached) { + return; + } + runtimeCore.callWithAsyncErrorHandling( + patchStopImmediatePropagation(e, invoker.value), + instance, + 5, + [e] + ); + }; + invoker.value = initialValue; + invoker.attached = getNow(); + return invoker; +} +function patchStopImmediatePropagation(e, value) { + if (shared.isArray(value)) { + const originalStop = e.stopImmediatePropagation; + e.stopImmediatePropagation = () => { + originalStop.call(e); + e._stopped = true; + }; + return value.map( + (fn) => (e2) => !e2._stopped && fn && fn(e2) + ); + } else { + return value; + } +} + +const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter +key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123; +const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => { + const isSVG = namespace === "svg"; + if (key === "class") { + patchClass(el, nextValue, isSVG); + } else if (key === "style") { + patchStyle(el, prevValue, nextValue); + } else if (shared.isOn(key)) { + if (!shared.isModelListener(key)) { + patchEvent(el, key, prevValue, nextValue, parentComponent); + } + } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) { + patchDOMProp(el, key, nextValue); + if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) { + patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value"); + } + } else if ( + // #11081 force set props for possible async custom element + el._isVueCE && (/[A-Z]/.test(key) || !shared.isString(nextValue)) + ) { + patchDOMProp(el, shared.camelize(key), nextValue, parentComponent, key); + } else { + if (key === "true-value") { + el._trueValue = nextValue; + } else if (key === "false-value") { + el._falseValue = nextValue; + } + patchAttr(el, key, nextValue, isSVG); + } +}; +function shouldSetAsProp(el, key, value, isSVG) { + if (isSVG) { + if (key === "innerHTML" || key === "textContent") { + return true; + } + if (key in el && isNativeOn(key) && shared.isFunction(value)) { + return true; + } + return false; + } + if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") { + return false; + } + if (key === "sandbox" && el.tagName === "IFRAME") { + return false; + } + if (key === "form") { + return false; + } + if (key === "list" && el.tagName === "INPUT") { + return false; + } + if (key === "type" && el.tagName === "TEXTAREA") { + return false; + } + if (key === "width" || key === "height") { + const tag = el.tagName; + if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") { + return false; + } + } + if (isNativeOn(key) && shared.isString(value)) { + return false; + } + return key in el; +} + +const REMOVAL = {}; +// @__NO_SIDE_EFFECTS__ +function defineCustomElement(options, extraOptions, _createApp) { + let Comp = runtimeCore.defineComponent(options, extraOptions); + if (shared.isPlainObject(Comp)) Comp = shared.extend({}, Comp, extraOptions); + class VueCustomElement extends VueElement { + constructor(initialProps) { + super(Comp, initialProps, _createApp); + } + } + VueCustomElement.def = Comp; + return VueCustomElement; +} +const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => { + return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp); +}); +const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class { +}; +class VueElement extends BaseClass { + constructor(_def, _props = {}, _createApp = createApp) { + super(); + this._def = _def; + this._props = _props; + this._createApp = _createApp; + this._isVueCE = true; + /** + * @internal + */ + this._instance = null; + /** + * @internal + */ + this._app = null; + /** + * @internal + */ + this._nonce = this._def.nonce; + this._connected = false; + this._resolved = false; + this._patching = false; + this._dirty = false; + this._numberProps = null; + this._styleChildren = /* @__PURE__ */ new WeakSet(); + this._ob = null; + if (this.shadowRoot && _createApp !== createApp) { + this._root = this.shadowRoot; + } else { + if (_def.shadowRoot !== false) { + this.attachShadow( + shared.extend({}, _def.shadowRootOptions, { + mode: "open" + }) + ); + this._root = this.shadowRoot; + } else { + this._root = this; + } + } + } + connectedCallback() { + if (!this.isConnected) return; + if (!this.shadowRoot && !this._resolved) { + this._parseSlots(); + } + this._connected = true; + let parent = this; + while (parent = parent && (parent.parentNode || parent.host)) { + if (parent instanceof VueElement) { + this._parent = parent; + break; + } + } + if (!this._instance) { + if (this._resolved) { + this._mount(this._def); + } else { + if (parent && parent._pendingResolve) { + this._pendingResolve = parent._pendingResolve.then(() => { + this._pendingResolve = void 0; + this._resolveDef(); + }); + } else { + this._resolveDef(); + } + } + } + } + _setParent(parent = this._parent) { + if (parent) { + this._instance.parent = parent._instance; + this._inheritParentContext(parent); + } + } + _inheritParentContext(parent = this._parent) { + if (parent && this._app) { + Object.setPrototypeOf( + this._app._context.provides, + parent._instance.provides + ); + } + } + disconnectedCallback() { + this._connected = false; + runtimeCore.nextTick(() => { + if (!this._connected) { + if (this._ob) { + this._ob.disconnect(); + this._ob = null; + } + this._app && this._app.unmount(); + if (this._instance) this._instance.ce = void 0; + this._app = this._instance = null; + if (this._teleportTargets) { + this._teleportTargets.clear(); + this._teleportTargets = void 0; + } + } + }); + } + _processMutations(mutations) { + for (const m of mutations) { + this._setAttr(m.attributeName); + } + } + /** + * resolve inner component definition (handle possible async component) + */ + _resolveDef() { + if (this._pendingResolve) { + return; + } + for (let i = 0; i < this.attributes.length; i++) { + this._setAttr(this.attributes[i].name); + } + this._ob = new MutationObserver(this._processMutations.bind(this)); + this._ob.observe(this, { attributes: true }); + const resolve = (def, isAsync = false) => { + this._resolved = true; + this._pendingResolve = void 0; + const { props, styles } = def; + let numberProps; + if (props && !shared.isArray(props)) { + for (const key in props) { + const opt = props[key]; + if (opt === Number || opt && opt.type === Number) { + if (key in this._props) { + this._props[key] = shared.toNumber(this._props[key]); + } + (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[shared.camelize(key)] = true; + } + } + } + this._numberProps = numberProps; + this._resolveProps(def); + if (this.shadowRoot) { + this._applyStyles(styles); + } + this._mount(def); + }; + const asyncDef = this._def.__asyncLoader; + if (asyncDef) { + this._pendingResolve = asyncDef().then((def) => { + def.configureApp = this._def.configureApp; + resolve(this._def = def, true); + }); + } else { + resolve(this._def); + } + } + _mount(def) { + this._app = this._createApp(def); + this._inheritParentContext(); + if (def.configureApp) { + def.configureApp(this._app); + } + this._app._ceVNode = this._createVNode(); + this._app.mount(this._root); + const exposed = this._instance && this._instance.exposed; + if (!exposed) return; + for (const key in exposed) { + if (!shared.hasOwn(this, key)) { + Object.defineProperty(this, key, { + // unwrap ref to be consistent with public instance behavior + get: () => runtimeCore.unref(exposed[key]) + }); + } + } + } + _resolveProps(def) { + const { props } = def; + const declaredPropKeys = shared.isArray(props) ? props : Object.keys(props || {}); + for (const key of Object.keys(this)) { + if (key[0] !== "_" && declaredPropKeys.includes(key)) { + this._setProp(key, this[key]); + } + } + for (const key of declaredPropKeys.map(shared.camelize)) { + Object.defineProperty(this, key, { + get() { + return this._getProp(key); + }, + set(val) { + this._setProp(key, val, true, !this._patching); + } + }); + } + } + _setAttr(key) { + if (key.startsWith("data-v-")) return; + const has = this.hasAttribute(key); + let value = has ? this.getAttribute(key) : REMOVAL; + const camelKey = shared.camelize(key); + if (has && this._numberProps && this._numberProps[camelKey]) { + value = shared.toNumber(value); + } + this._setProp(camelKey, value, false, true); + } + /** + * @internal + */ + _getProp(key) { + return this._props[key]; + } + /** + * @internal + */ + _setProp(key, val, shouldReflect = true, shouldUpdate = false) { + if (val !== this._props[key]) { + this._dirty = true; + if (val === REMOVAL) { + delete this._props[key]; + } else { + this._props[key] = val; + if (key === "key" && this._app) { + this._app._ceVNode.key = val; + } + } + if (shouldUpdate && this._instance) { + this._update(); + } + if (shouldReflect) { + const ob = this._ob; + if (ob) { + this._processMutations(ob.takeRecords()); + ob.disconnect(); + } + if (val === true) { + this.setAttribute(shared.hyphenate(key), ""); + } else if (typeof val === "string" || typeof val === "number") { + this.setAttribute(shared.hyphenate(key), val + ""); + } else if (!val) { + this.removeAttribute(shared.hyphenate(key)); + } + ob && ob.observe(this, { attributes: true }); + } + } + } + _update() { + const vnode = this._createVNode(); + if (this._app) vnode.appContext = this._app._context; + render(vnode, this._root); + } + _createVNode() { + const baseProps = {}; + if (!this.shadowRoot) { + baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this); + } + const vnode = runtimeCore.createVNode(this._def, shared.extend(baseProps, this._props)); + if (!this._instance) { + vnode.ce = (instance) => { + this._instance = instance; + instance.ce = this; + instance.isCE = true; + const dispatch = (event, args) => { + this.dispatchEvent( + new CustomEvent( + event, + shared.isPlainObject(args[0]) ? shared.extend({ detail: args }, args[0]) : { detail: args } + ) + ); + }; + instance.emit = (event, ...args) => { + dispatch(event, args); + if (shared.hyphenate(event) !== event) { + dispatch(shared.hyphenate(event), args); + } + }; + this._setParent(); + }; + } + return vnode; + } + _applyStyles(styles, owner) { + if (!styles) return; + if (owner) { + if (owner === this._def || this._styleChildren.has(owner)) { + return; + } + this._styleChildren.add(owner); + } + const nonce = this._nonce; + for (let i = styles.length - 1; i >= 0; i--) { + const s = document.createElement("style"); + if (nonce) s.setAttribute("nonce", nonce); + s.textContent = styles[i]; + this.shadowRoot.prepend(s); + } + } + /** + * Only called when shadowRoot is false + */ + _parseSlots() { + const slots = this._slots = {}; + let n; + while (n = this.firstChild) { + const slotName = n.nodeType === 1 && n.getAttribute("slot") || "default"; + (slots[slotName] || (slots[slotName] = [])).push(n); + this.removeChild(n); + } + } + /** + * Only called when shadowRoot is false + */ + _renderSlots() { + const outlets = this._getSlots(); + const scopeId = this._instance.type.__scopeId; + for (let i = 0; i < outlets.length; i++) { + const o = outlets[i]; + const slotName = o.getAttribute("name") || "default"; + const content = this._slots[slotName]; + const parent = o.parentNode; + if (content) { + for (const n of content) { + if (scopeId && n.nodeType === 1) { + const id = scopeId + "-s"; + const walker = document.createTreeWalker(n, 1); + n.setAttribute(id, ""); + let child; + while (child = walker.nextNode()) { + child.setAttribute(id, ""); + } + } + parent.insertBefore(n, o); + } + } else { + while (o.firstChild) parent.insertBefore(o.firstChild, o); + } + parent.removeChild(o); + } + } + /** + * @internal + */ + _getSlots() { + const roots = [this]; + if (this._teleportTargets) { + roots.push(...this._teleportTargets); + } + const slots = /* @__PURE__ */ new Set(); + for (const root of roots) { + const found = root.querySelectorAll("slot"); + for (let i = 0; i < found.length; i++) { + slots.add(found[i]); + } + } + return Array.from(slots); + } + /** + * @internal + */ + _injectChildStyle(comp) { + this._applyStyles(comp.styles, comp); + } + /** + * @internal + */ + _beginPatch() { + this._patching = true; + this._dirty = false; + } + /** + * @internal + */ + _endPatch() { + this._patching = false; + if (this._dirty && this._instance) { + this._update(); + } + } + /** + * @internal + */ + _removeChildStyle(comp) { + } +} +function useHost(caller) { + const instance = runtimeCore.getCurrentInstance(); + const el = instance && instance.ce; + if (el) { + return el; + } + return null; +} +function useShadowRoot() { + const el = useHost(); + return el && el.shadowRoot; +} + +function useCssModule(name = "$style") { + { + const instance = runtimeCore.getCurrentInstance(); + if (!instance) { + return shared.EMPTY_OBJ; + } + const modules = instance.type.__cssModules; + if (!modules) { + return shared.EMPTY_OBJ; + } + const mod = modules[name]; + if (!mod) { + return shared.EMPTY_OBJ; + } + return mod; + } +} + +const positionMap = /* @__PURE__ */ new WeakMap(); +const newPositionMap = /* @__PURE__ */ new WeakMap(); +const moveCbKey = /* @__PURE__ */ Symbol("_moveCb"); +const enterCbKey = /* @__PURE__ */ Symbol("_enterCb"); +const decorate = (t) => { + delete t.props.mode; + return t; +}; +const TransitionGroupImpl = /* @__PURE__ */ decorate({ + name: "TransitionGroup", + props: /* @__PURE__ */ shared.extend({}, TransitionPropsValidators, { + tag: String, + moveClass: String + }), + setup(props, { slots }) { + const instance = runtimeCore.getCurrentInstance(); + const state = runtimeCore.useTransitionState(); + let prevChildren; + let children; + runtimeCore.onUpdated(() => { + if (!prevChildren.length) { + return; + } + const moveClass = props.moveClass || `${props.name || "v"}-move`; + if (!hasCSSTransform( + prevChildren[0].el, + instance.vnode.el, + moveClass + )) { + prevChildren = []; + return; + } + prevChildren.forEach(callPendingCbs); + prevChildren.forEach(recordPosition); + const movedChildren = prevChildren.filter(applyTranslation); + forceReflow(instance.vnode.el); + movedChildren.forEach((c) => { + const el = c.el; + const style = el.style; + addTransitionClass(el, moveClass); + style.transform = style.webkitTransform = style.transitionDuration = ""; + const cb = el[moveCbKey] = (e) => { + if (e && e.target !== el) { + return; + } + if (!e || e.propertyName.endsWith("transform")) { + el.removeEventListener("transitionend", cb); + el[moveCbKey] = null; + removeTransitionClass(el, moveClass); + } + }; + el.addEventListener("transitionend", cb); + }); + prevChildren = []; + }); + return () => { + const rawProps = runtimeCore.toRaw(props); + const cssTransitionProps = resolveTransitionProps(rawProps); + let tag = rawProps.tag || runtimeCore.Fragment; + prevChildren = []; + if (children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.el && child.el instanceof Element) { + prevChildren.push(child); + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks( + child, + cssTransitionProps, + state, + instance + ) + ); + positionMap.set(child, { + left: child.el.offsetLeft, + top: child.el.offsetTop + }); + } + } + } + children = slots.default ? runtimeCore.getTransitionRawChildren(slots.default()) : []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.key != null) { + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks(child, cssTransitionProps, state, instance) + ); + } + } + return runtimeCore.createVNode(tag, null, children); + }; + } +}); +const TransitionGroup = TransitionGroupImpl; +function callPendingCbs(c) { + const el = c.el; + if (el[moveCbKey]) { + el[moveCbKey](); + } + if (el[enterCbKey]) { + el[enterCbKey](); + } +} +function recordPosition(c) { + newPositionMap.set(c, { + left: c.el.offsetLeft, + top: c.el.offsetTop + }); +} +function applyTranslation(c) { + const oldPos = positionMap.get(c); + const newPos = newPositionMap.get(c); + const dx = oldPos.left - newPos.left; + const dy = oldPos.top - newPos.top; + if (dx || dy) { + const s = c.el.style; + s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`; + s.transitionDuration = "0s"; + return c; + } +} +function hasCSSTransform(el, root, moveClass) { + const clone = el.cloneNode(); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.forEach((cls) => { + cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c)); + }); + } + moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c)); + clone.style.display = "none"; + const container = root.nodeType === 1 ? root : root.parentNode; + container.appendChild(clone); + const { hasTransform } = getTransitionInfo(clone); + container.removeChild(clone); + return hasTransform; +} + +const getModelAssigner = (vnode) => { + const fn = vnode.props["onUpdate:modelValue"] || false; + return shared.isArray(fn) ? (value) => shared.invokeArrayFns(fn, value) : fn; +}; +function onCompositionStart(e) { + e.target.composing = true; +} +function onCompositionEnd(e) { + const target = e.target; + if (target.composing) { + target.composing = false; + target.dispatchEvent(new Event("input")); + } +} +const assignKey = /* @__PURE__ */ Symbol("_assign"); +function castValue(value, trim, number) { + if (trim) value = value.trim(); + if (number) value = shared.looseToNumber(value); + return value; +} +const vModelText = { + created(el, { modifiers: { lazy, trim, number } }, vnode) { + el[assignKey] = getModelAssigner(vnode); + const castToNumber = number || vnode.props && vnode.props.type === "number"; + addEventListener(el, lazy ? "change" : "input", (e) => { + if (e.target.composing) return; + el[assignKey](castValue(el.value, trim, castToNumber)); + }); + if (trim || castToNumber) { + addEventListener(el, "change", () => { + el.value = castValue(el.value, trim, castToNumber); + }); + } + if (!lazy) { + addEventListener(el, "compositionstart", onCompositionStart); + addEventListener(el, "compositionend", onCompositionEnd); + addEventListener(el, "change", onCompositionEnd); + } + }, + // set value on mounted so it's after min/max for type="range" + mounted(el, { value }) { + el.value = value == null ? "" : value; + }, + beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (el.composing) return; + const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? shared.looseToNumber(el.value) : el.value; + const newValue = value == null ? "" : value; + if (elValue === newValue) { + return; + } + if (document.activeElement === el && el.type !== "range") { + if (lazy && value === oldValue) { + return; + } + if (trim && el.value.trim() === newValue) { + return; + } + } + el.value = newValue; + } +}; +const vModelCheckbox = { + // #4096 array checkboxes need to be deep traversed + deep: true, + created(el, _, vnode) { + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + const modelValue = el._modelValue; + const elementValue = getValue(el); + const checked = el.checked; + const assign = el[assignKey]; + if (shared.isArray(modelValue)) { + const index = shared.looseIndexOf(modelValue, elementValue); + const found = index !== -1; + if (checked && !found) { + assign(modelValue.concat(elementValue)); + } else if (!checked && found) { + const filtered = [...modelValue]; + filtered.splice(index, 1); + assign(filtered); + } + } else if (shared.isSet(modelValue)) { + const cloned = new Set(modelValue); + if (checked) { + cloned.add(elementValue); + } else { + cloned.delete(elementValue); + } + assign(cloned); + } else { + assign(getCheckboxValue(el, checked)); + } + }); + }, + // set initial checked on mount to wait for true-value/false-value + mounted: setChecked, + beforeUpdate(el, binding, vnode) { + el[assignKey] = getModelAssigner(vnode); + setChecked(el, binding, vnode); + } +}; +function setChecked(el, { value, oldValue }, vnode) { + el._modelValue = value; + let checked; + if (shared.isArray(value)) { + checked = shared.looseIndexOf(value, vnode.props.value) > -1; + } else if (shared.isSet(value)) { + checked = value.has(vnode.props.value); + } else { + if (value === oldValue) return; + checked = shared.looseEqual(value, getCheckboxValue(el, true)); + } + if (el.checked !== checked) { + el.checked = checked; + } +} +const vModelRadio = { + created(el, { value }, vnode) { + el.checked = shared.looseEqual(value, vnode.props.value); + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + el[assignKey](getValue(el)); + }); + }, + beforeUpdate(el, { value, oldValue }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (value !== oldValue) { + el.checked = shared.looseEqual(value, vnode.props.value); + } + } +}; +const vModelSelect = { + // <select multiple> value need to be deep traversed + deep: true, + created(el, { value, modifiers: { number } }, vnode) { + const isSetModel = shared.isSet(value); + addEventListener(el, "change", () => { + const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map( + (o) => number ? shared.looseToNumber(getValue(o)) : getValue(o) + ); + el[assignKey]( + el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0] + ); + el._assigning = true; + runtimeCore.nextTick(() => { + el._assigning = false; + }); + }); + el[assignKey] = getModelAssigner(vnode); + }, + // set value in mounted & updated because <select> relies on its children + // <option>s. + mounted(el, { value }) { + setSelected(el, value); + }, + beforeUpdate(el, _binding, vnode) { + el[assignKey] = getModelAssigner(vnode); + }, + updated(el, { value }) { + if (!el._assigning) { + setSelected(el, value); + } + } +}; +function setSelected(el, value) { + const isMultiple = el.multiple; + const isArrayValue = shared.isArray(value); + if (isMultiple && !isArrayValue && !shared.isSet(value)) { + return; + } + for (let i = 0, l = el.options.length; i < l; i++) { + const option = el.options[i]; + const optionValue = getValue(option); + if (isMultiple) { + if (isArrayValue) { + const optionType = typeof optionValue; + if (optionType === "string" || optionType === "number") { + option.selected = value.some((v) => String(v) === String(optionValue)); + } else { + option.selected = shared.looseIndexOf(value, optionValue) > -1; + } + } else { + option.selected = value.has(optionValue); + } + } else if (shared.looseEqual(getValue(option), value)) { + if (el.selectedIndex !== i) el.selectedIndex = i; + return; + } + } + if (!isMultiple && el.selectedIndex !== -1) { + el.selectedIndex = -1; + } +} +function getValue(el) { + return "_value" in el ? el._value : el.value; +} +function getCheckboxValue(el, checked) { + const key = checked ? "_trueValue" : "_falseValue"; + return key in el ? el[key] : checked; +} +const vModelDynamic = { + created(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "created"); + }, + mounted(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "mounted"); + }, + beforeUpdate(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "beforeUpdate"); + }, + updated(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "updated"); + } +}; +function resolveDynamicModel(tagName, type) { + switch (tagName) { + case "SELECT": + return vModelSelect; + case "TEXTAREA": + return vModelText; + default: + switch (type) { + case "checkbox": + return vModelCheckbox; + case "radio": + return vModelRadio; + default: + return vModelText; + } + } +} +function callModelHook(el, binding, vnode, prevVNode, hook) { + const modelToUse = resolveDynamicModel( + el.tagName, + vnode.props && vnode.props.type + ); + const fn = modelToUse[hook]; + fn && fn(el, binding, vnode, prevVNode); +} +function initVModelForSSR() { + vModelText.getSSRProps = ({ value }) => ({ value }); + vModelRadio.getSSRProps = ({ value }, vnode) => { + if (vnode.props && shared.looseEqual(vnode.props.value, value)) { + return { checked: true }; + } + }; + vModelCheckbox.getSSRProps = ({ value }, vnode) => { + if (shared.isArray(value)) { + if (vnode.props && shared.looseIndexOf(value, vnode.props.value) > -1) { + return { checked: true }; + } + } else if (shared.isSet(value)) { + if (vnode.props && value.has(vnode.props.value)) { + return { checked: true }; + } + } else if (value) { + return { checked: true }; + } + }; + vModelDynamic.getSSRProps = (binding, vnode) => { + if (typeof vnode.type !== "string") { + return; + } + const modelToUse = resolveDynamicModel( + // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase + vnode.type.toUpperCase(), + vnode.props && vnode.props.type + ); + if (modelToUse.getSSRProps) { + return modelToUse.getSSRProps(binding, vnode); + } + }; +} + +const systemModifiers = ["ctrl", "shift", "alt", "meta"]; +const modifierGuards = { + stop: (e) => e.stopPropagation(), + prevent: (e) => e.preventDefault(), + self: (e) => e.target !== e.currentTarget, + ctrl: (e) => !e.ctrlKey, + shift: (e) => !e.shiftKey, + alt: (e) => !e.altKey, + meta: (e) => !e.metaKey, + left: (e) => "button" in e && e.button !== 0, + middle: (e) => "button" in e && e.button !== 1, + right: (e) => "button" in e && e.button !== 2, + exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m)) +}; +const withModifiers = (fn, modifiers) => { + const cache = fn._withMods || (fn._withMods = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => { + for (let i = 0; i < modifiers.length; i++) { + const guard = modifierGuards[modifiers[i]]; + if (guard && guard(event, modifiers)) return; + } + return fn(event, ...args); + })); +}; +const keyNames = { + esc: "escape", + space: " ", + up: "arrow-up", + left: "arrow-left", + right: "arrow-right", + down: "arrow-down", + delete: "backspace" +}; +const withKeys = (fn, modifiers) => { + const cache = fn._withKeys || (fn._withKeys = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event) => { + if (!("key" in event)) { + return; + } + const eventKey = shared.hyphenate(event.key); + if (modifiers.some( + (k) => k === eventKey || keyNames[k] === eventKey + )) { + return fn(event); + } + })); +}; + +const rendererOptions = /* @__PURE__ */ shared.extend({ patchProp }, nodeOps); +let renderer; +let enabledHydration = false; +function ensureRenderer() { + return renderer || (renderer = runtimeCore.createRenderer(rendererOptions)); +} +function ensureHydrationRenderer() { + renderer = enabledHydration ? renderer : runtimeCore.createHydrationRenderer(rendererOptions); + enabledHydration = true; + return renderer; +} +const render = ((...args) => { + ensureRenderer().render(...args); +}); +const hydrate = ((...args) => { + ensureHydrationRenderer().hydrate(...args); +}); +const createApp = ((...args) => { + const app = ensureRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (!container) return; + const component = app._component; + if (!shared.isFunction(component) && !component.render && !component.template) { + component.template = container.innerHTML; + } + if (container.nodeType === 1) { + container.textContent = ""; + } + const proxy = mount(container, false, resolveRootNamespace(container)); + if (container instanceof Element) { + container.removeAttribute("v-cloak"); + container.setAttribute("data-v-app", ""); + } + return proxy; + }; + return app; +}); +const createSSRApp = ((...args) => { + const app = ensureHydrationRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (container) { + return mount(container, true, resolveRootNamespace(container)); + } + }; + return app; +}); +function resolveRootNamespace(container) { + if (container instanceof SVGElement) { + return "svg"; + } + if (typeof MathMLElement === "function" && container instanceof MathMLElement) { + return "mathml"; + } +} +function normalizeContainer(container) { + if (shared.isString(container)) { + const res = document.querySelector(container); + return res; + } + return container; +} +let ssrDirectiveInitialized = false; +const initDirectivesForSSR = () => { + if (!ssrDirectiveInitialized) { + ssrDirectiveInitialized = true; + initVModelForSSR(); + initVShowForSSR(); + } +} ; + +exports.Transition = Transition; +exports.TransitionGroup = TransitionGroup; +exports.VueElement = VueElement; +exports.createApp = createApp; +exports.createSSRApp = createSSRApp; +exports.defineCustomElement = defineCustomElement; +exports.defineSSRCustomElement = defineSSRCustomElement; +exports.hydrate = hydrate; +exports.initDirectivesForSSR = initDirectivesForSSR; +exports.nodeOps = nodeOps; +exports.patchProp = patchProp; +exports.render = render; +exports.useCssModule = useCssModule; +exports.useCssVars = useCssVars; +exports.useHost = useHost; +exports.useShadowRoot = useShadowRoot; +exports.vModelCheckbox = vModelCheckbox; +exports.vModelDynamic = vModelDynamic; +exports.vModelRadio = vModelRadio; +exports.vModelSelect = vModelSelect; +exports.vModelText = vModelText; +exports.vShow = vShow; +exports.withKeys = withKeys; +exports.withModifiers = withModifiers; +Object.keys(runtimeCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeCore[k]; +}); diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/runtime-core b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/runtime-core new file mode 120000 index 00000000..d2f68386 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/runtime-core @@ -0,0 +1 @@ +../../../runtime-core@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/package.json new file mode 100644 index 00000000..397360eb --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.26/package.json @@ -0,0 +1,60 @@ +{ + "name": "@vue/runtime-dom", + "version": "3.5.26", + "description": "@vue/runtime-dom", + "main": "index.js", + "module": "dist/runtime-dom.esm-bundler.js", + "types": "dist/runtime-dom.d.ts", + "unpkg": "dist/runtime-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-dom.d.ts", + "node": { + "production": "./dist/runtime-dom.cjs.prod.js", + "development": "./dist/runtime-dom.cjs.js", + "default": "./dist/runtime-dom.cjs.prod.js" + }, + "module": "./dist/runtime-dom.esm-bundler.js", + "import": "./dist/runtime-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueRuntimeDOM", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme", + "dependencies": { + "csstype": "^3.2.3", + "@vue/shared": "3.5.26", + "@vue/reactivity": "3.5.26", + "@vue/runtime-core": "3.5.26" + }, + "devDependencies": { + "@types/trusted-types": "^2.0.7" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/dist/server-renderer.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/dist/server-renderer.cjs.prod.js new file mode 100644 index 00000000..1b6cde29 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/dist/server-renderer.cjs.prod.js @@ -0,0 +1,879 @@ +/** +* @vue/server-renderer v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var Vue = require('vue'); +var shared = require('@vue/shared'); +var compilerSsr = require('@vue/compiler-ssr'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var Vue__namespace = /*#__PURE__*/_interopNamespaceDefault(Vue); + +const shouldIgnoreProp = /* @__PURE__ */ shared.makeMap( + `,key,ref,innerHTML,textContent,ref_key,ref_for` +); +function ssrRenderAttrs(props, tag) { + let ret = ""; + for (const key in props) { + if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value") { + continue; + } + const value = props[key]; + if (key === "class") { + ret += ` class="${ssrRenderClass(value)}"`; + } else if (key === "style") { + ret += ` style="${ssrRenderStyle(value)}"`; + } else if (key === "className") { + ret += ` class="${String(value)}"`; + } else { + ret += ssrRenderDynamicAttr(key, value, tag); + } + } + return ret; +} +function ssrRenderDynamicAttr(key, value, tag) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + const attrKey = tag && (tag.indexOf("-") > 0 || shared.isSVGTag(tag)) ? key : shared.propsToAttrMap[key] || key.toLowerCase(); + if (shared.isBooleanAttr(attrKey)) { + return shared.includeBooleanAttr(value) ? ` ${attrKey}` : ``; + } else if (shared.isSSRSafeAttrName(attrKey)) { + return value === "" ? ` ${attrKey}` : ` ${attrKey}="${shared.escapeHtml(value)}"`; + } else { + console.warn( + `[@vue/server-renderer] Skipped rendering unsafe attribute name: ${attrKey}` + ); + return ``; + } +} +function ssrRenderAttr(key, value) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + return ` ${key}="${shared.escapeHtml(value)}"`; +} +function ssrRenderClass(raw) { + return shared.escapeHtml(shared.normalizeClass(raw)); +} +function ssrRenderStyle(raw) { + if (!raw) { + return ""; + } + if (shared.isString(raw)) { + return shared.escapeHtml(raw); + } + const styles = shared.normalizeStyle(ssrResetCssVars(raw)); + return shared.escapeHtml(shared.stringifyStyle(styles)); +} +function ssrResetCssVars(raw) { + if (!shared.isArray(raw) && shared.isObject(raw)) { + const res = {}; + for (const key in raw) { + if (key.startsWith(":--")) { + res[key.slice(1)] = shared.normalizeCssVarValue(raw[key]); + } else { + res[key] = raw[key]; + } + } + return res; + } + return raw; +} + +function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) { + return renderComponentVNode( + Vue.createVNode(comp, props, children), + parentComponent, + slotScopeId + ); +} + +const { ensureValidVNode } = Vue.ssrUtils; +function ssrRenderSlot(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId) { + push(`<!--[-->`); + ssrRenderSlotInner( + slots, + slotName, + slotProps, + fallbackRenderFn, + push, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); +} +function ssrRenderSlotInner(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId, transition) { + const slotFn = slots[slotName]; + if (slotFn) { + const slotBuffer = []; + const bufferedPush = (item) => { + slotBuffer.push(item); + }; + const ret = slotFn( + slotProps, + bufferedPush, + parentComponent, + slotScopeId ? " " + slotScopeId : "" + ); + if (shared.isArray(ret)) { + const validSlotContent = ensureValidVNode(ret); + if (validSlotContent) { + renderVNodeChildren( + push, + validSlotContent, + parentComponent, + slotScopeId + ); + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } + } else { + let isEmptySlot = true; + if (transition) { + isEmptySlot = false; + } else { + for (let i = 0; i < slotBuffer.length; i++) { + if (!isComment(slotBuffer[i])) { + isEmptySlot = false; + break; + } + } + } + if (isEmptySlot) { + if (fallbackRenderFn) { + fallbackRenderFn(); + } + } else { + let start = 0; + let end = slotBuffer.length; + if (transition && slotBuffer[0] === "<!--[-->" && slotBuffer[end - 1] === "<!--]-->") { + start++; + end--; + } + if (start < end) { + for (let i = start; i < end; i++) { + push(slotBuffer[i]); + } + } else if (transition) { + push(`<!---->`); + } + } + } + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } +} +const commentTestRE = /^<!--[\s\S]*-->$/; +const commentRE = /<!--[^]*?-->/gm; +function isComment(item) { + if (typeof item !== "string" || !commentTestRE.test(item)) return false; + if (item.length <= 8) return true; + return !item.replace(commentRE, "").trim(); +} + +function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) { + parentPush("<!--teleport start-->"); + const context = parentComponent.appContext.provides[Vue.ssrContextKey]; + const teleportBuffers = context.__teleportBuffers || (context.__teleportBuffers = {}); + const targetBuffer = teleportBuffers[target] || (teleportBuffers[target] = []); + const bufferIndex = targetBuffer.length; + let teleportContent; + if (disabled) { + contentRenderFn(parentPush); + teleportContent = `<!--teleport start anchor--><!--teleport anchor-->`; + } else { + const { getBuffer, push } = createBuffer(); + push(`<!--teleport start anchor-->`); + contentRenderFn(push); + push(`<!--teleport anchor-->`); + teleportContent = getBuffer(); + } + targetBuffer.splice(bufferIndex, 0, teleportContent); + parentPush("<!--teleport end-->"); +} + +function ssrInterpolate(value) { + return shared.escapeHtml(shared.toDisplayString(value)); +} + +function ssrRenderList(source, renderItem) { + if (shared.isArray(source) || shared.isString(source)) { + for (let i = 0, l = source.length; i < l; i++) { + renderItem(source[i], i); + } + } else if (typeof source === "number") { + for (let i = 0; i < source; i++) { + renderItem(i + 1, i); + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + const arr = Array.from(source); + for (let i = 0, l = arr.length; i < l; i++) { + renderItem(arr[i], i); + } + } else { + const keys = Object.keys(source); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + renderItem(source[key], key, i); + } + } + } +} + +async function ssrRenderSuspense(push, { default: renderContent }) { + if (renderContent) { + renderContent(); + } else { + push(`<!---->`); + } +} + +function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) { + if (typeof dir !== "function" && dir.getSSRProps) { + return dir.getSSRProps( + { + dir, + instance: Vue.ssrUtils.getComponentPublicInstance(instance.$), + value, + oldValue: void 0, + arg, + modifiers + }, + null + ) || {}; + } + return {}; +} + +const ssrLooseEqual = shared.looseEqual; +function ssrLooseContain(arr, value) { + return shared.looseIndexOf(arr, value) > -1; +} +function ssrRenderDynamicModel(type, model, value) { + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? " checked" : ""; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? " checked" : ""; + default: + return ssrRenderAttr("value", model); + } +} +function ssrGetDynamicModelProps(existingProps = {}, model) { + const { type, value } = existingProps; + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? { checked: true } : null; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? { checked: true } : null; + default: + return { value: model }; + } +} + +var helpers = /*#__PURE__*/Object.freeze({ + __proto__: null, + ssrGetDirectiveProps: ssrGetDirectiveProps, + ssrGetDynamicModelProps: ssrGetDynamicModelProps, + ssrIncludeBooleanAttr: shared.includeBooleanAttr, + ssrInterpolate: ssrInterpolate, + ssrLooseContain: ssrLooseContain, + ssrLooseEqual: ssrLooseEqual, + ssrRenderAttr: ssrRenderAttr, + ssrRenderAttrs: ssrRenderAttrs, + ssrRenderClass: ssrRenderClass, + ssrRenderComponent: ssrRenderComponent, + ssrRenderDynamicAttr: ssrRenderDynamicAttr, + ssrRenderDynamicModel: ssrRenderDynamicModel, + ssrRenderList: ssrRenderList, + ssrRenderSlot: ssrRenderSlot, + ssrRenderSlotInner: ssrRenderSlotInner, + ssrRenderStyle: ssrRenderStyle, + ssrRenderSuspense: ssrRenderSuspense, + ssrRenderTeleport: ssrRenderTeleport, + ssrRenderVNode: renderVNode +}); + +const compileCache = /* @__PURE__ */ Object.create(null); +function ssrCompile(template, instance) { + const Component = instance.type; + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + finalCompilerOptions.isCustomElement = finalCompilerOptions.isCustomElement || shared.NO; + finalCompilerOptions.isNativeTag = finalCompilerOptions.isNativeTag || shared.NO; + const cacheKey = JSON.stringify( + { + template, + compilerOptions: finalCompilerOptions + }, + (key, value) => { + return shared.isFunction(value) ? value.toString() : value; + } + ); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + finalCompilerOptions.onError = (err) => { + { + throw err; + } + }; + const { code } = compilerSsr.compile(template, finalCompilerOptions); + const requireMap = { + vue: Vue__namespace, + "vue/server-renderer": helpers + }; + const fakeRequire = (id) => requireMap[id]; + return compileCache[cacheKey] = Function("require", code)(fakeRequire); +} + +const { + createComponentInstance, + setCurrentRenderingInstance, + setupComponent, + renderComponentRoot, + normalizeVNode, + pushWarningContext, + popWarningContext +} = Vue.ssrUtils; +function createBuffer() { + let appendable = false; + const buffer = []; + return { + getBuffer() { + return buffer; + }, + push(item) { + const isStringItem = shared.isString(item); + if (appendable && isStringItem) { + buffer[buffer.length - 1] += item; + return; + } + buffer.push(item); + appendable = isStringItem; + if (shared.isPromise(item) || shared.isArray(item) && item.hasAsync) { + buffer.hasAsync = true; + } + } + }; +} +function renderComponentVNode(vnode, parentComponent = null, slotScopeId) { + const instance = vnode.component = createComponentInstance( + vnode, + parentComponent, + null + ); + const res = setupComponent( + instance, + true + /* isSSR */ + ); + const hasAsyncSetup = shared.isPromise(res); + let prefetches = instance.sp; + if (hasAsyncSetup || prefetches) { + const p = Promise.resolve(res).then(() => { + if (hasAsyncSetup) prefetches = instance.sp; + if (prefetches) { + return Promise.all( + prefetches.map((prefetch) => prefetch.call(instance.proxy)) + ); + } + }).catch(shared.NOOP); + return p.then(() => renderComponentSubTree(instance, slotScopeId)); + } else { + return renderComponentSubTree(instance, slotScopeId); + } +} +function renderComponentSubTree(instance, slotScopeId) { + const comp = instance.type; + const { getBuffer, push } = createBuffer(); + if (shared.isFunction(comp)) { + let root = renderComponentRoot(instance); + if (!comp.props) { + for (const key in instance.attrs) { + if (key.startsWith(`data-v-`)) { + (root.props || (root.props = {}))[key] = ``; + } + } + } + renderVNode(push, instance.subTree = root, instance, slotScopeId); + } else { + if ((!instance.render || instance.render === shared.NOOP) && !instance.ssrRender && !comp.ssrRender && shared.isString(comp.template)) { + comp.ssrRender = ssrCompile(comp.template, instance); + } + const ssrRender = instance.ssrRender || comp.ssrRender; + if (ssrRender) { + let attrs = instance.inheritAttrs !== false ? instance.attrs : void 0; + let hasCloned = false; + let cur = instance; + while (true) { + const scopeId = cur.vnode.scopeId; + if (scopeId) { + if (!hasCloned) { + attrs = { ...attrs }; + hasCloned = true; + } + attrs[scopeId] = ""; + } + const parent = cur.parent; + if (parent && parent.subTree && parent.subTree === cur.vnode) { + cur = parent; + } else { + break; + } + } + if (slotScopeId) { + if (!hasCloned) attrs = { ...attrs }; + const slotScopeIdList = slotScopeId.trim().split(" "); + for (let i = 0; i < slotScopeIdList.length; i++) { + attrs[slotScopeIdList[i]] = ""; + } + } + const prev = setCurrentRenderingInstance(instance); + try { + ssrRender( + instance.proxy, + push, + instance, + attrs, + // compiler-optimized bindings + instance.props, + instance.setupState, + instance.data, + instance.ctx + ); + } finally { + setCurrentRenderingInstance(prev); + } + } else if (instance.render && instance.render !== shared.NOOP) { + renderVNode( + push, + instance.subTree = renderComponentRoot(instance), + instance, + slotScopeId + ); + } else { + const componentName = comp.name || comp.__file || `<Anonymous>`; + Vue.warn(`Component ${componentName} is missing template or render function.`); + push(`<!---->`); + } + } + return getBuffer(); +} +function renderVNode(push, vnode, parentComponent, slotScopeId) { + const { type, shapeFlag, children, dirs, props } = vnode; + if (dirs) { + vnode.props = applySSRDirectives(vnode, props, dirs); + } + switch (type) { + case Vue.Text: + push(shared.escapeHtml(children)); + break; + case Vue.Comment: + push( + children ? `<!--${shared.escapeHtmlComment(children)}-->` : `<!---->` + ); + break; + case Vue.Static: + push(children); + break; + case Vue.Fragment: + if (vnode.slotScopeIds) { + slotScopeId = (slotScopeId ? slotScopeId + " " : "") + vnode.slotScopeIds.join(" "); + } + push(`<!--[-->`); + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); + break; + default: + if (shapeFlag & 1) { + renderElementVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 6) { + push(renderComponentVNode(vnode, parentComponent, slotScopeId)); + } else if (shapeFlag & 64) { + renderTeleportVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 128) { + renderVNode(push, vnode.ssContent, parentComponent, slotScopeId); + } else { + Vue.warn( + "[@vue/server-renderer] Invalid VNode type:", + type, + `(${typeof type})` + ); + } + } +} +function renderVNodeChildren(push, children, parentComponent, slotScopeId) { + for (let i = 0; i < children.length; i++) { + renderVNode(push, normalizeVNode(children[i]), parentComponent, slotScopeId); + } +} +function renderElementVNode(push, vnode, parentComponent, slotScopeId) { + const tag = vnode.type; + let { props, children, shapeFlag, scopeId } = vnode; + let openTag = `<${tag}`; + if (props) { + openTag += ssrRenderAttrs(props, tag); + } + if (scopeId) { + openTag += ` ${scopeId}`; + } + let curParent = parentComponent; + let curVnode = vnode; + while (curParent && curVnode === curParent.subTree) { + curVnode = curParent.vnode; + if (curVnode.scopeId) { + openTag += ` ${curVnode.scopeId}`; + } + curParent = curParent.parent; + } + if (slotScopeId) { + openTag += ` ${slotScopeId}`; + } + push(openTag + `>`); + if (!shared.isVoidTag(tag)) { + let hasChildrenOverride = false; + if (props) { + if (props.innerHTML) { + hasChildrenOverride = true; + push(props.innerHTML); + } else if (props.textContent) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.textContent)); + } else if (tag === "textarea" && props.value) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.value)); + } + } + if (!hasChildrenOverride) { + if (shapeFlag & 8) { + push(shared.escapeHtml(children)); + } else if (shapeFlag & 16) { + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + } + } + push(`</${tag}>`); + } +} +function applySSRDirectives(vnode, rawProps, dirs) { + const toMerge = []; + for (let i = 0; i < dirs.length; i++) { + const binding = dirs[i]; + const { + dir: { getSSRProps } + } = binding; + if (getSSRProps) { + const props = getSSRProps(binding, vnode); + if (props) toMerge.push(props); + } + } + return Vue.mergeProps(rawProps || {}, ...toMerge); +} +function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) { + const target = vnode.props && vnode.props.to; + const disabled = vnode.props && vnode.props.disabled; + if (!target) { + if (!disabled) { + Vue.warn(`[@vue/server-renderer] Teleport is missing target prop.`); + } + return []; + } + if (!shared.isString(target)) { + Vue.warn( + `[@vue/server-renderer] Teleport target must be a query selector string.` + ); + return []; + } + ssrRenderTeleport( + push, + (push2) => { + renderVNodeChildren( + push2, + vnode.children, + parentComponent, + slotScopeId + ); + }, + target, + disabled || disabled === "", + parentComponent + ); +} + +const { isVNode: isVNode$1 } = Vue.ssrUtils; +function nestedUnrollBuffer(buffer, parentRet, startIndex) { + if (!buffer.hasAsync) { + return parentRet + unrollBufferSync$1(buffer); + } + let ret = parentRet; + for (let i = startIndex; i < buffer.length; i += 1) { + const item = buffer[i]; + if (shared.isString(item)) { + ret += item; + continue; + } + if (shared.isPromise(item)) { + return item.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, ret, i); + }); + } + const result = nestedUnrollBuffer(item, ret, 0); + if (shared.isPromise(result)) { + return result.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, "", i); + }); + } + ret = result; + } + return ret; +} +function unrollBuffer$1(buffer) { + return nestedUnrollBuffer(buffer, "", 0); +} +function unrollBufferSync$1(buffer) { + let ret = ""; + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + ret += item; + } else { + ret += unrollBufferSync$1(item); + } + } + return ret; +} +async function renderToString(input, context = {}) { + if (isVNode$1(input)) { + return renderToString(Vue.createApp({ render: () => input }), context); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + const buffer = await renderComponentVNode(vnode); + const result = await unrollBuffer$1(buffer); + await resolveTeleports(context); + if (context.__watcherHandles) { + for (const unwatch of context.__watcherHandles) { + unwatch(); + } + } + return result; +} +async function resolveTeleports(context) { + if (context.__teleportBuffers) { + context.teleports = context.teleports || {}; + for (const key in context.__teleportBuffers) { + context.teleports[key] = await unrollBuffer$1( + await Promise.all([context.__teleportBuffers[key]]) + ); + } + } +} + +const { isVNode } = Vue.ssrUtils; +async function unrollBuffer(buffer, stream) { + if (buffer.hasAsync) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isPromise(item)) { + item = await item; + } + if (shared.isString(item)) { + stream.push(item); + } else { + await unrollBuffer(item, stream); + } + } + } else { + unrollBufferSync(buffer, stream); + } +} +function unrollBufferSync(buffer, stream) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + stream.push(item); + } else { + unrollBufferSync(item, stream); + } + } +} +function renderToSimpleStream(input, context, stream) { + if (isVNode(input)) { + return renderToSimpleStream( + Vue.createApp({ render: () => input }), + context, + stream + ); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + Promise.resolve(renderComponentVNode(vnode)).then((buffer) => unrollBuffer(buffer, stream)).then(() => resolveTeleports(context)).then(() => { + if (context.__watcherHandles) { + for (const unwatch of context.__watcherHandles) { + unwatch(); + } + } + }).then(() => stream.push(null)).catch((error) => { + stream.destroy(error); + }); + return stream; +} +function renderToStream(input, context = {}) { + console.warn( + `[@vue/server-renderer] renderToStream is deprecated - use renderToNodeStream instead.` + ); + return renderToNodeStream(input, context); +} +function renderToNodeStream(input, context = {}) { + const stream = new (require("node:stream")).Readable({ read() { + } }) ; + if (!stream) { + throw new Error( + `ESM build of renderToStream() does not support renderToNodeStream(). Use pipeToNodeWritable() with an existing Node.js Writable stream instance instead.` + ); + } + return renderToSimpleStream(input, context, stream); +} +function pipeToNodeWritable(input, context = {}, writable) { + renderToSimpleStream(input, context, { + push(content) { + if (content != null) { + writable.write(content); + } else { + writable.end(); + } + }, + destroy(err) { + writable.destroy(err); + } + }); +} +function renderToWebStream(input, context = {}) { + if (typeof ReadableStream !== "function") { + throw new Error( + `ReadableStream constructor is not available in the global scope. If the target environment does support web streams, consider using pipeToWebWritable() with an existing WritableStream instance instead.` + ); + } + const encoder = new TextEncoder(); + let cancelled = false; + return new ReadableStream({ + start(controller) { + renderToSimpleStream(input, context, { + push(content) { + if (cancelled) return; + if (content != null) { + controller.enqueue(encoder.encode(content)); + } else { + controller.close(); + } + }, + destroy(err) { + controller.error(err); + } + }); + }, + cancel() { + cancelled = true; + } + }); +} +function pipeToWebWritable(input, context = {}, writable) { + const writer = writable.getWriter(); + const encoder = new TextEncoder(); + let hasReady = false; + try { + hasReady = shared.isPromise(writer.ready); + } catch (e) { + } + renderToSimpleStream(input, context, { + async push(content) { + if (hasReady) { + await writer.ready; + } + if (content != null) { + return writer.write(encoder.encode(content)); + } else { + return writer.close(); + } + }, + destroy(err) { + console.log(err); + writer.close(); + } + }); +} + +Vue.initDirectivesForSSR(); + +exports.ssrIncludeBooleanAttr = shared.includeBooleanAttr; +exports.pipeToNodeWritable = pipeToNodeWritable; +exports.pipeToWebWritable = pipeToWebWritable; +exports.renderToNodeStream = renderToNodeStream; +exports.renderToSimpleStream = renderToSimpleStream; +exports.renderToStream = renderToStream; +exports.renderToString = renderToString; +exports.renderToWebStream = renderToWebStream; +exports.ssrGetDirectiveProps = ssrGetDirectiveProps; +exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps; +exports.ssrInterpolate = ssrInterpolate; +exports.ssrLooseContain = ssrLooseContain; +exports.ssrLooseEqual = ssrLooseEqual; +exports.ssrRenderAttr = ssrRenderAttr; +exports.ssrRenderAttrs = ssrRenderAttrs; +exports.ssrRenderClass = ssrRenderClass; +exports.ssrRenderComponent = ssrRenderComponent; +exports.ssrRenderDynamicAttr = ssrRenderDynamicAttr; +exports.ssrRenderDynamicModel = ssrRenderDynamicModel; +exports.ssrRenderList = ssrRenderList; +exports.ssrRenderSlot = ssrRenderSlot; +exports.ssrRenderSlotInner = ssrRenderSlotInner; +exports.ssrRenderStyle = ssrRenderStyle; +exports.ssrRenderSuspense = ssrRenderSuspense; +exports.ssrRenderTeleport = ssrRenderTeleport; +exports.ssrRenderVNode = renderVNode; diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/compiler-ssr b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/compiler-ssr new file mode 120000 index 00000000..d6593618 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/compiler-ssr @@ -0,0 +1 @@ +../../../compiler-ssr@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..5710f796 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/vue b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/vue new file mode 120000 index 00000000..4a6f04f8 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/node_modules/vue @@ -0,0 +1 @@ +../../../vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/package.json new file mode 100644 index 00000000..83f4867d --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.22/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vue/server-renderer", + "version": "3.5.22", + "description": "@vue/server-renderer", + "main": "index.js", + "module": "dist/server-renderer.esm-bundler.js", + "types": "dist/server-renderer.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/server-renderer.d.ts", + "node": { + "production": "./dist/server-renderer.cjs.prod.js", + "development": "./dist/server-renderer.cjs.js", + "default": "./dist/server-renderer.cjs.prod.js" + }, + "module": "./dist/server-renderer.esm-bundler.js", + "import": "./dist/server-renderer.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueServerRenderer", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/server-renderer" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme", + "peerDependencies": { + "vue": "3.5.22" + }, + "dependencies": { + "@vue/shared": "3.5.22", + "@vue/compiler-ssr": "3.5.22" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/dist/server-renderer.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/dist/server-renderer.cjs.prod.js new file mode 100644 index 00000000..20569b93 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/dist/server-renderer.cjs.prod.js @@ -0,0 +1,879 @@ +/** +* @vue/server-renderer v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var Vue = require('vue'); +var shared = require('@vue/shared'); +var compilerSsr = require('@vue/compiler-ssr'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var Vue__namespace = /*#__PURE__*/_interopNamespaceDefault(Vue); + +const shouldIgnoreProp = /* @__PURE__ */ shared.makeMap( + `,key,ref,innerHTML,textContent,ref_key,ref_for` +); +function ssrRenderAttrs(props, tag) { + let ret = ""; + for (const key in props) { + if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value") { + continue; + } + const value = props[key]; + if (key === "class") { + ret += ` class="${ssrRenderClass(value)}"`; + } else if (key === "style") { + ret += ` style="${ssrRenderStyle(value)}"`; + } else if (key === "className") { + ret += ` class="${String(value)}"`; + } else { + ret += ssrRenderDynamicAttr(key, value, tag); + } + } + return ret; +} +function ssrRenderDynamicAttr(key, value, tag) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + const attrKey = tag && (tag.indexOf("-") > 0 || shared.isSVGTag(tag)) ? key : shared.propsToAttrMap[key] || key.toLowerCase(); + if (shared.isBooleanAttr(attrKey)) { + return shared.includeBooleanAttr(value) ? ` ${attrKey}` : ``; + } else if (shared.isSSRSafeAttrName(attrKey)) { + return value === "" ? ` ${attrKey}` : ` ${attrKey}="${shared.escapeHtml(value)}"`; + } else { + console.warn( + `[@vue/server-renderer] Skipped rendering unsafe attribute name: ${attrKey}` + ); + return ``; + } +} +function ssrRenderAttr(key, value) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + return ` ${key}="${shared.escapeHtml(value)}"`; +} +function ssrRenderClass(raw) { + return shared.escapeHtml(shared.normalizeClass(raw)); +} +function ssrRenderStyle(raw) { + if (!raw) { + return ""; + } + if (shared.isString(raw)) { + return shared.escapeHtml(raw); + } + const styles = shared.normalizeStyle(ssrResetCssVars(raw)); + return shared.escapeHtml(shared.stringifyStyle(styles)); +} +function ssrResetCssVars(raw) { + if (!shared.isArray(raw) && shared.isObject(raw)) { + const res = {}; + for (const key in raw) { + if (key.startsWith(":--")) { + res[key.slice(1)] = shared.normalizeCssVarValue(raw[key]); + } else { + res[key] = raw[key]; + } + } + return res; + } + return raw; +} + +function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) { + return renderComponentVNode( + Vue.createVNode(comp, props, children), + parentComponent, + slotScopeId + ); +} + +const { ensureValidVNode } = Vue.ssrUtils; +function ssrRenderSlot(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId) { + push(`<!--[-->`); + ssrRenderSlotInner( + slots, + slotName, + slotProps, + fallbackRenderFn, + push, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); +} +function ssrRenderSlotInner(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId, transition) { + const slotFn = slots[slotName]; + if (slotFn) { + const slotBuffer = []; + const bufferedPush = (item) => { + slotBuffer.push(item); + }; + const ret = slotFn( + slotProps, + bufferedPush, + parentComponent, + slotScopeId ? " " + slotScopeId : "" + ); + if (shared.isArray(ret)) { + const validSlotContent = ensureValidVNode(ret); + if (validSlotContent) { + renderVNodeChildren( + push, + validSlotContent, + parentComponent, + slotScopeId + ); + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } + } else { + let isEmptySlot = true; + if (transition) { + isEmptySlot = false; + } else { + for (let i = 0; i < slotBuffer.length; i++) { + if (!isComment(slotBuffer[i])) { + isEmptySlot = false; + break; + } + } + } + if (isEmptySlot) { + if (fallbackRenderFn) { + fallbackRenderFn(); + } + } else { + let start = 0; + let end = slotBuffer.length; + if (transition && slotBuffer[0] === "<!--[-->" && slotBuffer[end - 1] === "<!--]-->") { + start++; + end--; + } + if (start < end) { + for (let i = start; i < end; i++) { + push(slotBuffer[i]); + } + } else if (transition) { + push(`<!---->`); + } + } + } + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } +} +const commentTestRE = /^<!--[\s\S]*-->$/; +const commentRE = /<!--[^]*?-->/gm; +function isComment(item) { + if (typeof item !== "string" || !commentTestRE.test(item)) return false; + if (item.length <= 8) return true; + return !item.replace(commentRE, "").trim(); +} + +function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) { + parentPush("<!--teleport start-->"); + const context = parentComponent.appContext.provides[Vue.ssrContextKey]; + const teleportBuffers = context.__teleportBuffers || (context.__teleportBuffers = {}); + const targetBuffer = teleportBuffers[target] || (teleportBuffers[target] = []); + const bufferIndex = targetBuffer.length; + let teleportContent; + if (disabled) { + contentRenderFn(parentPush); + teleportContent = `<!--teleport start anchor--><!--teleport anchor-->`; + } else { + const { getBuffer, push } = createBuffer(); + push(`<!--teleport start anchor-->`); + contentRenderFn(push); + push(`<!--teleport anchor-->`); + teleportContent = getBuffer(); + } + targetBuffer.splice(bufferIndex, 0, teleportContent); + parentPush("<!--teleport end-->"); +} + +function ssrInterpolate(value) { + return shared.escapeHtml(shared.toDisplayString(value)); +} + +function ssrRenderList(source, renderItem) { + if (shared.isArray(source) || shared.isString(source)) { + for (let i = 0, l = source.length; i < l; i++) { + renderItem(source[i], i); + } + } else if (typeof source === "number") { + for (let i = 0; i < source; i++) { + renderItem(i + 1, i); + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + const arr = Array.from(source); + for (let i = 0, l = arr.length; i < l; i++) { + renderItem(arr[i], i); + } + } else { + const keys = Object.keys(source); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + renderItem(source[key], key, i); + } + } + } +} + +async function ssrRenderSuspense(push, { default: renderContent }) { + if (renderContent) { + renderContent(); + } else { + push(`<!---->`); + } +} + +function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) { + if (typeof dir !== "function" && dir.getSSRProps) { + return dir.getSSRProps( + { + dir, + instance: Vue.ssrUtils.getComponentPublicInstance(instance.$), + value, + oldValue: void 0, + arg, + modifiers + }, + null + ) || {}; + } + return {}; +} + +const ssrLooseEqual = shared.looseEqual; +function ssrLooseContain(arr, value) { + return shared.looseIndexOf(arr, value) > -1; +} +function ssrRenderDynamicModel(type, model, value) { + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? " checked" : ""; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? " checked" : ""; + default: + return ssrRenderAttr("value", model); + } +} +function ssrGetDynamicModelProps(existingProps = {}, model) { + const { type, value } = existingProps; + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? { checked: true } : null; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? { checked: true } : null; + default: + return { value: model }; + } +} + +var helpers = /*#__PURE__*/Object.freeze({ + __proto__: null, + ssrGetDirectiveProps: ssrGetDirectiveProps, + ssrGetDynamicModelProps: ssrGetDynamicModelProps, + ssrIncludeBooleanAttr: shared.includeBooleanAttr, + ssrInterpolate: ssrInterpolate, + ssrLooseContain: ssrLooseContain, + ssrLooseEqual: ssrLooseEqual, + ssrRenderAttr: ssrRenderAttr, + ssrRenderAttrs: ssrRenderAttrs, + ssrRenderClass: ssrRenderClass, + ssrRenderComponent: ssrRenderComponent, + ssrRenderDynamicAttr: ssrRenderDynamicAttr, + ssrRenderDynamicModel: ssrRenderDynamicModel, + ssrRenderList: ssrRenderList, + ssrRenderSlot: ssrRenderSlot, + ssrRenderSlotInner: ssrRenderSlotInner, + ssrRenderStyle: ssrRenderStyle, + ssrRenderSuspense: ssrRenderSuspense, + ssrRenderTeleport: ssrRenderTeleport, + ssrRenderVNode: renderVNode +}); + +const compileCache = /* @__PURE__ */ Object.create(null); +function ssrCompile(template, instance) { + const Component = instance.type; + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + finalCompilerOptions.isCustomElement = finalCompilerOptions.isCustomElement || shared.NO; + finalCompilerOptions.isNativeTag = finalCompilerOptions.isNativeTag || shared.NO; + const cacheKey = JSON.stringify( + { + template, + compilerOptions: finalCompilerOptions + }, + (key, value) => { + return shared.isFunction(value) ? value.toString() : value; + } + ); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + finalCompilerOptions.onError = (err) => { + { + throw err; + } + }; + const { code } = compilerSsr.compile(template, finalCompilerOptions); + const requireMap = { + vue: Vue__namespace, + "vue/server-renderer": helpers + }; + const fakeRequire = (id) => requireMap[id]; + return compileCache[cacheKey] = Function("require", code)(fakeRequire); +} + +const { + createComponentInstance, + setCurrentRenderingInstance, + setupComponent, + renderComponentRoot, + normalizeVNode, + pushWarningContext, + popWarningContext +} = Vue.ssrUtils; +function createBuffer() { + let appendable = false; + const buffer = []; + return { + getBuffer() { + return buffer; + }, + push(item) { + const isStringItem = shared.isString(item); + if (appendable && isStringItem) { + buffer[buffer.length - 1] += item; + return; + } + buffer.push(item); + appendable = isStringItem; + if (shared.isPromise(item) || shared.isArray(item) && item.hasAsync) { + buffer.hasAsync = true; + } + } + }; +} +function renderComponentVNode(vnode, parentComponent = null, slotScopeId) { + const instance = vnode.component = createComponentInstance( + vnode, + parentComponent, + null + ); + const res = setupComponent( + instance, + true + /* isSSR */ + ); + const hasAsyncSetup = shared.isPromise(res); + let prefetches = instance.sp; + if (hasAsyncSetup || prefetches) { + const p = Promise.resolve(res).then(() => { + if (hasAsyncSetup) prefetches = instance.sp; + if (prefetches) { + return Promise.all( + prefetches.map((prefetch) => prefetch.call(instance.proxy)) + ); + } + }).catch(shared.NOOP); + return p.then(() => renderComponentSubTree(instance, slotScopeId)); + } else { + return renderComponentSubTree(instance, slotScopeId); + } +} +function renderComponentSubTree(instance, slotScopeId) { + const comp = instance.type; + const { getBuffer, push } = createBuffer(); + if (shared.isFunction(comp)) { + let root = renderComponentRoot(instance); + if (!comp.props) { + for (const key in instance.attrs) { + if (key.startsWith(`data-v-`)) { + (root.props || (root.props = {}))[key] = ``; + } + } + } + renderVNode(push, instance.subTree = root, instance, slotScopeId); + } else { + if ((!instance.render || instance.render === shared.NOOP) && !instance.ssrRender && !comp.ssrRender && shared.isString(comp.template)) { + comp.ssrRender = ssrCompile(comp.template, instance); + } + const ssrRender = instance.ssrRender || comp.ssrRender; + if (ssrRender) { + let attrs = instance.inheritAttrs !== false ? instance.attrs : void 0; + let hasCloned = false; + let cur = instance; + while (true) { + const scopeId = cur.vnode.scopeId; + if (scopeId) { + if (!hasCloned) { + attrs = { ...attrs }; + hasCloned = true; + } + attrs[scopeId] = ""; + } + const parent = cur.parent; + if (parent && parent.subTree && parent.subTree === cur.vnode) { + cur = parent; + } else { + break; + } + } + if (slotScopeId) { + if (!hasCloned) attrs = { ...attrs }; + const slotScopeIdList = slotScopeId.trim().split(" "); + for (let i = 0; i < slotScopeIdList.length; i++) { + attrs[slotScopeIdList[i]] = ""; + } + } + const prev = setCurrentRenderingInstance(instance); + try { + ssrRender( + instance.proxy, + push, + instance, + attrs, + // compiler-optimized bindings + instance.props, + instance.setupState, + instance.data, + instance.ctx + ); + } finally { + setCurrentRenderingInstance(prev); + } + } else if (instance.render && instance.render !== shared.NOOP) { + renderVNode( + push, + instance.subTree = renderComponentRoot(instance), + instance, + slotScopeId + ); + } else { + const componentName = comp.name || comp.__file || `<Anonymous>`; + Vue.warn(`Component ${componentName} is missing template or render function.`); + push(`<!---->`); + } + } + return getBuffer(); +} +function renderVNode(push, vnode, parentComponent, slotScopeId) { + const { type, shapeFlag, children, dirs, props } = vnode; + if (dirs) { + vnode.props = applySSRDirectives(vnode, props, dirs); + } + switch (type) { + case Vue.Text: + push(shared.escapeHtml(children)); + break; + case Vue.Comment: + push( + children ? `<!--${shared.escapeHtmlComment(children)}-->` : `<!---->` + ); + break; + case Vue.Static: + push(children); + break; + case Vue.Fragment: + if (vnode.slotScopeIds) { + slotScopeId = (slotScopeId ? slotScopeId + " " : "") + vnode.slotScopeIds.join(" "); + } + push(`<!--[-->`); + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); + break; + default: + if (shapeFlag & 1) { + renderElementVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 6) { + push(renderComponentVNode(vnode, parentComponent, slotScopeId)); + } else if (shapeFlag & 64) { + renderTeleportVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 128) { + renderVNode(push, vnode.ssContent, parentComponent, slotScopeId); + } else { + Vue.warn( + "[@vue/server-renderer] Invalid VNode type:", + type, + `(${typeof type})` + ); + } + } +} +function renderVNodeChildren(push, children, parentComponent, slotScopeId) { + for (let i = 0; i < children.length; i++) { + renderVNode(push, normalizeVNode(children[i]), parentComponent, slotScopeId); + } +} +function renderElementVNode(push, vnode, parentComponent, slotScopeId) { + const tag = vnode.type; + let { props, children, shapeFlag, scopeId } = vnode; + let openTag = `<${tag}`; + if (props) { + openTag += ssrRenderAttrs(props, tag); + } + if (scopeId) { + openTag += ` ${scopeId}`; + } + let curParent = parentComponent; + let curVnode = vnode; + while (curParent && curVnode === curParent.subTree) { + curVnode = curParent.vnode; + if (curVnode.scopeId) { + openTag += ` ${curVnode.scopeId}`; + } + curParent = curParent.parent; + } + if (slotScopeId) { + openTag += ` ${slotScopeId}`; + } + push(openTag + `>`); + if (!shared.isVoidTag(tag)) { + let hasChildrenOverride = false; + if (props) { + if (props.innerHTML) { + hasChildrenOverride = true; + push(props.innerHTML); + } else if (props.textContent) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.textContent)); + } else if (tag === "textarea" && props.value) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.value)); + } + } + if (!hasChildrenOverride) { + if (shapeFlag & 8) { + push(shared.escapeHtml(children)); + } else if (shapeFlag & 16) { + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + } + } + push(`</${tag}>`); + } +} +function applySSRDirectives(vnode, rawProps, dirs) { + const toMerge = []; + for (let i = 0; i < dirs.length; i++) { + const binding = dirs[i]; + const { + dir: { getSSRProps } + } = binding; + if (getSSRProps) { + const props = getSSRProps(binding, vnode); + if (props) toMerge.push(props); + } + } + return Vue.mergeProps(rawProps || {}, ...toMerge); +} +function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) { + const target = vnode.props && vnode.props.to; + const disabled = vnode.props && vnode.props.disabled; + if (!target) { + if (!disabled) { + Vue.warn(`[@vue/server-renderer] Teleport is missing target prop.`); + } + return []; + } + if (!shared.isString(target)) { + Vue.warn( + `[@vue/server-renderer] Teleport target must be a query selector string.` + ); + return []; + } + ssrRenderTeleport( + push, + (push2) => { + renderVNodeChildren( + push2, + vnode.children, + parentComponent, + slotScopeId + ); + }, + target, + disabled || disabled === "", + parentComponent + ); +} + +const { isVNode: isVNode$1 } = Vue.ssrUtils; +function nestedUnrollBuffer(buffer, parentRet, startIndex) { + if (!buffer.hasAsync) { + return parentRet + unrollBufferSync$1(buffer); + } + let ret = parentRet; + for (let i = startIndex; i < buffer.length; i += 1) { + const item = buffer[i]; + if (shared.isString(item)) { + ret += item; + continue; + } + if (shared.isPromise(item)) { + return item.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, ret, i); + }); + } + const result = nestedUnrollBuffer(item, ret, 0); + if (shared.isPromise(result)) { + return result.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, "", i); + }); + } + ret = result; + } + return ret; +} +function unrollBuffer$1(buffer) { + return nestedUnrollBuffer(buffer, "", 0); +} +function unrollBufferSync$1(buffer) { + let ret = ""; + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + ret += item; + } else { + ret += unrollBufferSync$1(item); + } + } + return ret; +} +async function renderToString(input, context = {}) { + if (isVNode$1(input)) { + return renderToString(Vue.createApp({ render: () => input }), context); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + const buffer = await renderComponentVNode(vnode); + const result = await unrollBuffer$1(buffer); + await resolveTeleports(context); + if (context.__watcherHandles) { + for (const unwatch of context.__watcherHandles) { + unwatch(); + } + } + return result; +} +async function resolveTeleports(context) { + if (context.__teleportBuffers) { + context.teleports = context.teleports || {}; + for (const key in context.__teleportBuffers) { + context.teleports[key] = await unrollBuffer$1( + await Promise.all([context.__teleportBuffers[key]]) + ); + } + } +} + +const { isVNode } = Vue.ssrUtils; +async function unrollBuffer(buffer, stream) { + if (buffer.hasAsync) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isPromise(item)) { + item = await item; + } + if (shared.isString(item)) { + stream.push(item); + } else { + await unrollBuffer(item, stream); + } + } + } else { + unrollBufferSync(buffer, stream); + } +} +function unrollBufferSync(buffer, stream) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + stream.push(item); + } else { + unrollBufferSync(item, stream); + } + } +} +function renderToSimpleStream(input, context, stream) { + if (isVNode(input)) { + return renderToSimpleStream( + Vue.createApp({ render: () => input }), + context, + stream + ); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + Promise.resolve(renderComponentVNode(vnode)).then((buffer) => unrollBuffer(buffer, stream)).then(() => resolveTeleports(context)).then(() => { + if (context.__watcherHandles) { + for (const unwatch of context.__watcherHandles) { + unwatch(); + } + } + }).then(() => stream.push(null)).catch((error) => { + stream.destroy(error); + }); + return stream; +} +function renderToStream(input, context = {}) { + console.warn( + `[@vue/server-renderer] renderToStream is deprecated - use renderToNodeStream instead.` + ); + return renderToNodeStream(input, context); +} +function renderToNodeStream(input, context = {}) { + const stream = new (require("node:stream")).Readable({ read() { + } }) ; + if (!stream) { + throw new Error( + `ESM build of renderToStream() does not support renderToNodeStream(). Use pipeToNodeWritable() with an existing Node.js Writable stream instance instead.` + ); + } + return renderToSimpleStream(input, context, stream); +} +function pipeToNodeWritable(input, context = {}, writable) { + renderToSimpleStream(input, context, { + push(content) { + if (content != null) { + writable.write(content); + } else { + writable.end(); + } + }, + destroy(err) { + writable.destroy(err); + } + }); +} +function renderToWebStream(input, context = {}) { + if (typeof ReadableStream !== "function") { + throw new Error( + `ReadableStream constructor is not available in the global scope. If the target environment does support web streams, consider using pipeToWebWritable() with an existing WritableStream instance instead.` + ); + } + const encoder = new TextEncoder(); + let cancelled = false; + return new ReadableStream({ + start(controller) { + renderToSimpleStream(input, context, { + push(content) { + if (cancelled) return; + if (content != null) { + controller.enqueue(encoder.encode(content)); + } else { + controller.close(); + } + }, + destroy(err) { + controller.error(err); + } + }); + }, + cancel() { + cancelled = true; + } + }); +} +function pipeToWebWritable(input, context = {}, writable) { + const writer = writable.getWriter(); + const encoder = new TextEncoder(); + let hasReady = false; + try { + hasReady = shared.isPromise(writer.ready); + } catch (e) { + } + renderToSimpleStream(input, context, { + async push(content) { + if (hasReady) { + await writer.ready; + } + if (content != null) { + return writer.write(encoder.encode(content)); + } else { + return writer.close(); + } + }, + destroy(err) { + console.log(err); + writer.close(); + } + }); +} + +Vue.initDirectivesForSSR(); + +exports.ssrIncludeBooleanAttr = shared.includeBooleanAttr; +exports.pipeToNodeWritable = pipeToNodeWritable; +exports.pipeToWebWritable = pipeToWebWritable; +exports.renderToNodeStream = renderToNodeStream; +exports.renderToSimpleStream = renderToSimpleStream; +exports.renderToStream = renderToStream; +exports.renderToString = renderToString; +exports.renderToWebStream = renderToWebStream; +exports.ssrGetDirectiveProps = ssrGetDirectiveProps; +exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps; +exports.ssrInterpolate = ssrInterpolate; +exports.ssrLooseContain = ssrLooseContain; +exports.ssrLooseEqual = ssrLooseEqual; +exports.ssrRenderAttr = ssrRenderAttr; +exports.ssrRenderAttrs = ssrRenderAttrs; +exports.ssrRenderClass = ssrRenderClass; +exports.ssrRenderComponent = ssrRenderComponent; +exports.ssrRenderDynamicAttr = ssrRenderDynamicAttr; +exports.ssrRenderDynamicModel = ssrRenderDynamicModel; +exports.ssrRenderList = ssrRenderList; +exports.ssrRenderSlot = ssrRenderSlot; +exports.ssrRenderSlotInner = ssrRenderSlotInner; +exports.ssrRenderStyle = ssrRenderStyle; +exports.ssrRenderSuspense = ssrRenderSuspense; +exports.ssrRenderTeleport = ssrRenderTeleport; +exports.ssrRenderVNode = renderVNode; diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/compiler-ssr b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/compiler-ssr new file mode 120000 index 00000000..676a46af --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/compiler-ssr @@ -0,0 +1 @@ +../../../compiler-ssr@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..bc089fe5 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/vue b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/vue new file mode 120000 index 00000000..e1e63920 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/node_modules/vue @@ -0,0 +1 @@ +../../../vue@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/package.json new file mode 100644 index 00000000..208f8592 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/server-renderer@3.5.26/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vue/server-renderer", + "version": "3.5.26", + "description": "@vue/server-renderer", + "main": "index.js", + "module": "dist/server-renderer.esm-bundler.js", + "types": "dist/server-renderer.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/server-renderer.d.ts", + "node": { + "production": "./dist/server-renderer.cjs.prod.js", + "development": "./dist/server-renderer.cjs.js", + "default": "./dist/server-renderer.cjs.prod.js" + }, + "module": "./dist/server-renderer.esm-bundler.js", + "import": "./dist/server-renderer.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueServerRenderer", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/server-renderer" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme", + "peerDependencies": { + "vue": "3.5.26" + }, + "dependencies": { + "@vue/shared": "3.5.26", + "@vue/compiler-ssr": "3.5.26" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/shared@3.5.22/dist/shared.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/shared@3.5.22/dist/shared.cjs.prod.js new file mode 100644 index 00000000..89dc5438 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/shared@3.5.22/dist/shared.cjs.prod.js @@ -0,0 +1,604 @@ +/** +* @vue/shared v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +// @__NO_SIDE_EFFECTS__ +function makeMap(str) { + const map = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map[key] = 1; + return (val) => val in map; +} + +const EMPTY_OBJ = {}; +const EMPTY_ARR = []; +const NOOP = () => { +}; +const NO = () => false; +const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isDate = (val) => toTypeString(val) === "[object Date]"; +const isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return ((str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }); +}; +const camelizeRE = /-\w/g; +const camelize = cacheStringFunction( + (str) => { + return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); + } +); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction( + (str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + } +); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](...arg); + } +}; +const def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +const looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +const toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/; +function genPropsAccessExp(name) { + return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`; +} +function genCacheKey(source, options) { + return source + JSON.stringify( + options, + (_, val) => typeof val === "function" ? val.toString() : val + ); +} + +const PatchFlags = { + "TEXT": 1, + "1": "TEXT", + "CLASS": 2, + "2": "CLASS", + "STYLE": 4, + "4": "STYLE", + "PROPS": 8, + "8": "PROPS", + "FULL_PROPS": 16, + "16": "FULL_PROPS", + "NEED_HYDRATION": 32, + "32": "NEED_HYDRATION", + "STABLE_FRAGMENT": 64, + "64": "STABLE_FRAGMENT", + "KEYED_FRAGMENT": 128, + "128": "KEYED_FRAGMENT", + "UNKEYED_FRAGMENT": 256, + "256": "UNKEYED_FRAGMENT", + "NEED_PATCH": 512, + "512": "NEED_PATCH", + "DYNAMIC_SLOTS": 1024, + "1024": "DYNAMIC_SLOTS", + "DEV_ROOT_FRAGMENT": 2048, + "2048": "DEV_ROOT_FRAGMENT", + "CACHED": -1, + "-1": "CACHED", + "BAIL": -2, + "-2": "BAIL" +}; +const PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `NEED_HYDRATION`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `CACHED`, + [-2]: `BAIL` +}; + +const ShapeFlags = { + "ELEMENT": 1, + "1": "ELEMENT", + "FUNCTIONAL_COMPONENT": 2, + "2": "FUNCTIONAL_COMPONENT", + "STATEFUL_COMPONENT": 4, + "4": "STATEFUL_COMPONENT", + "TEXT_CHILDREN": 8, + "8": "TEXT_CHILDREN", + "ARRAY_CHILDREN": 16, + "16": "ARRAY_CHILDREN", + "SLOTS_CHILDREN": 32, + "32": "SLOTS_CHILDREN", + "TELEPORT": 64, + "64": "TELEPORT", + "SUSPENSE": 128, + "128": "SUSPENSE", + "COMPONENT_SHOULD_KEEP_ALIVE": 256, + "256": "COMPONENT_SHOULD_KEEP_ALIVE", + "COMPONENT_KEPT_ALIVE": 512, + "512": "COMPONENT_KEPT_ALIVE", + "COMPONENT": 6, + "6": "COMPONENT" +}; + +const SlotFlags = { + "STABLE": 1, + "1": "STABLE", + "DYNAMIC": 2, + "2": "DYNAMIC", + "FORWARDED": 3, + "3": "FORWARDED" +}; +const slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" +}; + +const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; +const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); +const isGloballyWhitelisted = isGloballyAllowed; + +const range = 2; +function generateCodeFrame(source, start = 0, end = source.length) { + start = Math.max(0, Math.min(start, source.length)); + end = Math.max(0, Math.min(end, source.length)); + if (start > end) return ""; + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) continue; + const line = j + 1; + res.push( + `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` + ); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i) { + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max( + 1, + end > count ? lineLength - pad : end - start + ); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); +} + +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + if (!styles) return ""; + if (isString(styles)) return styles; + let ret = ""; + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; +} + +const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); +const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); + +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/; +const attrValidationCache = {}; +function isSSRSafeAttrName(name) { + if (attrValidationCache.hasOwnProperty(name)) { + return attrValidationCache[name]; + } + const isUnsafe = unsafeAttrCharRE.test(name); + if (isUnsafe) { + console.error(`unsafe attribute name: ${name}`); + } + return attrValidationCache[name] = !isUnsafe; +} +const propsToAttrMap = { + acceptCharset: "accept-charset", + className: "class", + htmlFor: "for", + httpEquiv: "http-equiv" +}; +const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +const isKnownMathMLAttr = /* @__PURE__ */ makeMap( + `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` +); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} + +const escapeRE = /["'&<>]/; +function escapeHtml(string) { + const str = "" + string; + const match = escapeRE.exec(str); + if (!match) { + return str; + } + let html = ""; + let escaped; + let index; + let lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escaped = """; + break; + case 38: + escaped = "&"; + break; + case 39: + escaped = "'"; + break; + case 60: + escaped = "<"; + break; + case 62: + escaped = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.slice(lastIndex, index); + } + lastIndex = index + 1; + html += escaped; + } + return lastIndex !== index ? html + str.slice(lastIndex, index) : html; +} +const commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g; +function escapeHtmlComment(src) { + return src.replace(commentStripRE, ""); +} +const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` + ); +} + +function looseCompareArrays(a, b) { + if (a.length !== b.length) return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; +} +function looseEqual(a, b) { + if (a === b) return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} + +const isRef = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (isRef(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +const stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); +}; + +function normalizeCssVarValue(value) { + if (value == null) { + return "initial"; + } + if (typeof value === "string") { + return value === "" ? " " : value; + } + return String(value); +} + +exports.EMPTY_ARR = EMPTY_ARR; +exports.EMPTY_OBJ = EMPTY_OBJ; +exports.NO = NO; +exports.NOOP = NOOP; +exports.PatchFlagNames = PatchFlagNames; +exports.PatchFlags = PatchFlags; +exports.ShapeFlags = ShapeFlags; +exports.SlotFlags = SlotFlags; +exports.camelize = camelize; +exports.capitalize = capitalize; +exports.cssVarNameEscapeSymbolsRE = cssVarNameEscapeSymbolsRE; +exports.def = def; +exports.escapeHtml = escapeHtml; +exports.escapeHtmlComment = escapeHtmlComment; +exports.extend = extend; +exports.genCacheKey = genCacheKey; +exports.genPropsAccessExp = genPropsAccessExp; +exports.generateCodeFrame = generateCodeFrame; +exports.getEscapedCssVarName = getEscapedCssVarName; +exports.getGlobalThis = getGlobalThis; +exports.hasChanged = hasChanged; +exports.hasOwn = hasOwn; +exports.hyphenate = hyphenate; +exports.includeBooleanAttr = includeBooleanAttr; +exports.invokeArrayFns = invokeArrayFns; +exports.isArray = isArray; +exports.isBooleanAttr = isBooleanAttr; +exports.isBuiltInDirective = isBuiltInDirective; +exports.isDate = isDate; +exports.isFunction = isFunction; +exports.isGloballyAllowed = isGloballyAllowed; +exports.isGloballyWhitelisted = isGloballyWhitelisted; +exports.isHTMLTag = isHTMLTag; +exports.isIntegerKey = isIntegerKey; +exports.isKnownHtmlAttr = isKnownHtmlAttr; +exports.isKnownMathMLAttr = isKnownMathMLAttr; +exports.isKnownSvgAttr = isKnownSvgAttr; +exports.isMap = isMap; +exports.isMathMLTag = isMathMLTag; +exports.isModelListener = isModelListener; +exports.isObject = isObject; +exports.isOn = isOn; +exports.isPlainObject = isPlainObject; +exports.isPromise = isPromise; +exports.isRegExp = isRegExp; +exports.isRenderableAttrValue = isRenderableAttrValue; +exports.isReservedProp = isReservedProp; +exports.isSSRSafeAttrName = isSSRSafeAttrName; +exports.isSVGTag = isSVGTag; +exports.isSet = isSet; +exports.isSpecialBooleanAttr = isSpecialBooleanAttr; +exports.isString = isString; +exports.isSymbol = isSymbol; +exports.isVoidTag = isVoidTag; +exports.looseEqual = looseEqual; +exports.looseIndexOf = looseIndexOf; +exports.looseToNumber = looseToNumber; +exports.makeMap = makeMap; +exports.normalizeClass = normalizeClass; +exports.normalizeCssVarValue = normalizeCssVarValue; +exports.normalizeProps = normalizeProps; +exports.normalizeStyle = normalizeStyle; +exports.objectToString = objectToString; +exports.parseStringStyle = parseStringStyle; +exports.propsToAttrMap = propsToAttrMap; +exports.remove = remove; +exports.slotFlagsText = slotFlagsText; +exports.stringifyStyle = stringifyStyle; +exports.toDisplayString = toDisplayString; +exports.toHandlerKey = toHandlerKey; +exports.toNumber = toNumber; +exports.toRawType = toRawType; +exports.toTypeString = toTypeString; diff --git a/.output/server/node_modules/.nitro/@vue/shared@3.5.22/package.json b/.output/server/node_modules/.nitro/@vue/shared@3.5.22/package.json new file mode 100644 index 00000000..df6142ab --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/shared@3.5.22/package.json @@ -0,0 +1,47 @@ +{ + "name": "@vue/shared", + "version": "3.5.22", + "description": "internal utils shared across @vue packages", + "main": "index.js", + "module": "dist/shared.esm-bundler.js", + "types": "dist/shared.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/shared.d.ts", + "node": { + "production": "./dist/shared.cjs.prod.js", + "development": "./dist/shared.cjs.js", + "default": "./dist/shared.cjs.prod.js" + }, + "module": "./dist/shared.esm-bundler.js", + "import": "./dist/shared.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/shared" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/shared#readme" +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/@vue/shared@3.5.26/dist/shared.cjs.prod.js b/.output/server/node_modules/.nitro/@vue/shared@3.5.26/dist/shared.cjs.prod.js new file mode 100644 index 00000000..cc6c7207 --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/shared@3.5.26/dist/shared.cjs.prod.js @@ -0,0 +1,604 @@ +/** +* @vue/shared v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +// @__NO_SIDE_EFFECTS__ +function makeMap(str) { + const map = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map[key] = 1; + return (val) => val in map; +} + +const EMPTY_OBJ = {}; +const EMPTY_ARR = []; +const NOOP = () => { +}; +const NO = () => false; +const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isDate = (val) => toTypeString(val) === "[object Date]"; +const isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return ((str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }); +}; +const camelizeRE = /-\w/g; +const camelize = cacheStringFunction( + (str) => { + return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); + } +); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction( + (str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + } +); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](...arg); + } +}; +const def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +const looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +const toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/; +function genPropsAccessExp(name) { + return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`; +} +function genCacheKey(source, options) { + return source + JSON.stringify( + options, + (_, val) => typeof val === "function" ? val.toString() : val + ); +} + +const PatchFlags = { + "TEXT": 1, + "1": "TEXT", + "CLASS": 2, + "2": "CLASS", + "STYLE": 4, + "4": "STYLE", + "PROPS": 8, + "8": "PROPS", + "FULL_PROPS": 16, + "16": "FULL_PROPS", + "NEED_HYDRATION": 32, + "32": "NEED_HYDRATION", + "STABLE_FRAGMENT": 64, + "64": "STABLE_FRAGMENT", + "KEYED_FRAGMENT": 128, + "128": "KEYED_FRAGMENT", + "UNKEYED_FRAGMENT": 256, + "256": "UNKEYED_FRAGMENT", + "NEED_PATCH": 512, + "512": "NEED_PATCH", + "DYNAMIC_SLOTS": 1024, + "1024": "DYNAMIC_SLOTS", + "DEV_ROOT_FRAGMENT": 2048, + "2048": "DEV_ROOT_FRAGMENT", + "CACHED": -1, + "-1": "CACHED", + "BAIL": -2, + "-2": "BAIL" +}; +const PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `NEED_HYDRATION`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `CACHED`, + [-2]: `BAIL` +}; + +const ShapeFlags = { + "ELEMENT": 1, + "1": "ELEMENT", + "FUNCTIONAL_COMPONENT": 2, + "2": "FUNCTIONAL_COMPONENT", + "STATEFUL_COMPONENT": 4, + "4": "STATEFUL_COMPONENT", + "TEXT_CHILDREN": 8, + "8": "TEXT_CHILDREN", + "ARRAY_CHILDREN": 16, + "16": "ARRAY_CHILDREN", + "SLOTS_CHILDREN": 32, + "32": "SLOTS_CHILDREN", + "TELEPORT": 64, + "64": "TELEPORT", + "SUSPENSE": 128, + "128": "SUSPENSE", + "COMPONENT_SHOULD_KEEP_ALIVE": 256, + "256": "COMPONENT_SHOULD_KEEP_ALIVE", + "COMPONENT_KEPT_ALIVE": 512, + "512": "COMPONENT_KEPT_ALIVE", + "COMPONENT": 6, + "6": "COMPONENT" +}; + +const SlotFlags = { + "STABLE": 1, + "1": "STABLE", + "DYNAMIC": 2, + "2": "DYNAMIC", + "FORWARDED": 3, + "3": "FORWARDED" +}; +const slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" +}; + +const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; +const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); +const isGloballyWhitelisted = isGloballyAllowed; + +const range = 2; +function generateCodeFrame(source, start = 0, end = source.length) { + start = Math.max(0, Math.min(start, source.length)); + end = Math.max(0, Math.min(end, source.length)); + if (start > end) return ""; + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) continue; + const line = j + 1; + res.push( + `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` + ); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i) { + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max( + 1, + end > count ? lineLength - pad : end - start + ); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); +} + +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + if (!styles) return ""; + if (isString(styles)) return styles; + let ret = ""; + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; +} + +const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); +const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); + +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/; +const attrValidationCache = {}; +function isSSRSafeAttrName(name) { + if (attrValidationCache.hasOwnProperty(name)) { + return attrValidationCache[name]; + } + const isUnsafe = unsafeAttrCharRE.test(name); + if (isUnsafe) { + console.error(`unsafe attribute name: ${name}`); + } + return attrValidationCache[name] = !isUnsafe; +} +const propsToAttrMap = { + acceptCharset: "accept-charset", + className: "class", + htmlFor: "for", + httpEquiv: "http-equiv" +}; +const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +const isKnownMathMLAttr = /* @__PURE__ */ makeMap( + `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` +); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} + +const escapeRE = /["'&<>]/; +function escapeHtml(string) { + const str = "" + string; + const match = escapeRE.exec(str); + if (!match) { + return str; + } + let html = ""; + let escaped; + let index; + let lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escaped = """; + break; + case 38: + escaped = "&"; + break; + case 39: + escaped = "'"; + break; + case 60: + escaped = "<"; + break; + case 62: + escaped = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.slice(lastIndex, index); + } + lastIndex = index + 1; + html += escaped; + } + return lastIndex !== index ? html + str.slice(lastIndex, index) : html; +} +const commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g; +function escapeHtmlComment(src) { + return src.replace(commentStripRE, ""); +} +const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` + ); +} + +function looseCompareArrays(a, b) { + if (a.length !== b.length) return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; +} +function looseEqual(a, b) { + if (a === b) return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} + +const isRef = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (isRef(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +const stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); +}; + +function normalizeCssVarValue(value) { + if (value == null) { + return "initial"; + } + if (typeof value === "string") { + return value === "" ? " " : value; + } + return String(value); +} + +exports.EMPTY_ARR = EMPTY_ARR; +exports.EMPTY_OBJ = EMPTY_OBJ; +exports.NO = NO; +exports.NOOP = NOOP; +exports.PatchFlagNames = PatchFlagNames; +exports.PatchFlags = PatchFlags; +exports.ShapeFlags = ShapeFlags; +exports.SlotFlags = SlotFlags; +exports.camelize = camelize; +exports.capitalize = capitalize; +exports.cssVarNameEscapeSymbolsRE = cssVarNameEscapeSymbolsRE; +exports.def = def; +exports.escapeHtml = escapeHtml; +exports.escapeHtmlComment = escapeHtmlComment; +exports.extend = extend; +exports.genCacheKey = genCacheKey; +exports.genPropsAccessExp = genPropsAccessExp; +exports.generateCodeFrame = generateCodeFrame; +exports.getEscapedCssVarName = getEscapedCssVarName; +exports.getGlobalThis = getGlobalThis; +exports.hasChanged = hasChanged; +exports.hasOwn = hasOwn; +exports.hyphenate = hyphenate; +exports.includeBooleanAttr = includeBooleanAttr; +exports.invokeArrayFns = invokeArrayFns; +exports.isArray = isArray; +exports.isBooleanAttr = isBooleanAttr; +exports.isBuiltInDirective = isBuiltInDirective; +exports.isDate = isDate; +exports.isFunction = isFunction; +exports.isGloballyAllowed = isGloballyAllowed; +exports.isGloballyWhitelisted = isGloballyWhitelisted; +exports.isHTMLTag = isHTMLTag; +exports.isIntegerKey = isIntegerKey; +exports.isKnownHtmlAttr = isKnownHtmlAttr; +exports.isKnownMathMLAttr = isKnownMathMLAttr; +exports.isKnownSvgAttr = isKnownSvgAttr; +exports.isMap = isMap; +exports.isMathMLTag = isMathMLTag; +exports.isModelListener = isModelListener; +exports.isObject = isObject; +exports.isOn = isOn; +exports.isPlainObject = isPlainObject; +exports.isPromise = isPromise; +exports.isRegExp = isRegExp; +exports.isRenderableAttrValue = isRenderableAttrValue; +exports.isReservedProp = isReservedProp; +exports.isSSRSafeAttrName = isSSRSafeAttrName; +exports.isSVGTag = isSVGTag; +exports.isSet = isSet; +exports.isSpecialBooleanAttr = isSpecialBooleanAttr; +exports.isString = isString; +exports.isSymbol = isSymbol; +exports.isVoidTag = isVoidTag; +exports.looseEqual = looseEqual; +exports.looseIndexOf = looseIndexOf; +exports.looseToNumber = looseToNumber; +exports.makeMap = makeMap; +exports.normalizeClass = normalizeClass; +exports.normalizeCssVarValue = normalizeCssVarValue; +exports.normalizeProps = normalizeProps; +exports.normalizeStyle = normalizeStyle; +exports.objectToString = objectToString; +exports.parseStringStyle = parseStringStyle; +exports.propsToAttrMap = propsToAttrMap; +exports.remove = remove; +exports.slotFlagsText = slotFlagsText; +exports.stringifyStyle = stringifyStyle; +exports.toDisplayString = toDisplayString; +exports.toHandlerKey = toHandlerKey; +exports.toNumber = toNumber; +exports.toRawType = toRawType; +exports.toTypeString = toTypeString; diff --git a/.output/server/node_modules/.nitro/@vue/shared@3.5.26/package.json b/.output/server/node_modules/.nitro/@vue/shared@3.5.26/package.json new file mode 100644 index 00000000..f94d0d8a --- /dev/null +++ b/.output/server/node_modules/.nitro/@vue/shared@3.5.26/package.json @@ -0,0 +1,47 @@ +{ + "name": "@vue/shared", + "version": "3.5.26", + "description": "internal utils shared across @vue packages", + "main": "index.js", + "module": "dist/shared.esm-bundler.js", + "types": "dist/shared.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/shared.d.ts", + "node": { + "production": "./dist/shared.cjs.prod.js", + "development": "./dist/shared.cjs.js", + "default": "./dist/shared.cjs.prod.js" + }, + "module": "./dist/shared.esm-bundler.js", + "import": "./dist/shared.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/shared" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/shared#readme" +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/convertor/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/convertor/create.cjs new file mode 100644 index 00000000..55c655b2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/convertor/create.cjs @@ -0,0 +1,32 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +function createConvertor(walk) { + return { + fromPlainObject(ast) { + walk(ast, { + enter(node) { + if (node.children && node.children instanceof List.List === false) { + node.children = new List.List().fromArray(node.children); + } + } + }); + + return ast; + }, + toPlainObject(ast) { + walk(ast, { + leave(node) { + if (node.children && node.children instanceof List.List) { + node.children = node.children.toArray(); + } + } + }); + + return ast; + } + }; +} + +exports.createConvertor = createConvertor; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data-patch.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data-patch.cjs new file mode 100644 index 00000000..9103ea4c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data-patch.cjs @@ -0,0 +1,7 @@ +'use strict'; + +const patch = require('../data/patch.json'); + +const patch$1 = patch; + +module.exports = patch$1; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data.cjs new file mode 100644 index 00000000..e4a96670 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/data.cjs @@ -0,0 +1,97 @@ +'use strict'; + +const dataPatch = require('./data-patch.cjs'); + +const mdnAtrules = require('mdn-data/css/at-rules.json'); +const mdnProperties = require('mdn-data/css/properties.json'); +const mdnSyntaxes = require('mdn-data/css/syntaxes.json'); + +const extendSyntax = /^\s*\|\s*/; + +function preprocessAtrules(dict) { + const result = Object.create(null); + + for (const atruleName in dict) { + const atrule = dict[atruleName]; + let descriptors = null; + + if (atrule.descriptors) { + descriptors = Object.create(null); + + for (const descriptor in atrule.descriptors) { + descriptors[descriptor] = atrule.descriptors[descriptor].syntax; + } + } + + result[atruleName.substr(1)] = { + prelude: atrule.syntax.trim().replace(/\{(.|\s)+\}/, '').match(/^@\S+\s+([^;\{]*)/)[1].trim() || null, + descriptors + }; + } + + return result; +} + +function patchDictionary(dict, patchDict) { + const result = {}; + + // copy all syntaxes for an original dict + for (const key in dict) { + result[key] = dict[key].syntax || dict[key]; + } + + // apply a patch + for (const key in patchDict) { + if (key in dict) { + if (patchDict[key].syntax) { + result[key] = extendSyntax.test(patchDict[key].syntax) + ? result[key] + ' ' + patchDict[key].syntax.trim() + : patchDict[key].syntax; + } else { + delete result[key]; + } + } else { + if (patchDict[key].syntax) { + result[key] = patchDict[key].syntax.replace(extendSyntax, ''); + } + } + } + + return result; +} + +function patchAtrules(dict, patchDict) { + const result = {}; + + // copy all syntaxes for an original dict + for (const key in dict) { + const patchDescriptors = (patchDict[key] && patchDict[key].descriptors) || null; + + result[key] = { + prelude: key in patchDict && 'prelude' in patchDict[key] + ? patchDict[key].prelude + : dict[key].prelude || null, + descriptors: patchDictionary(dict[key].descriptors || {}, patchDescriptors || {}) + }; + } + + // apply a patch + for (const key in patchDict) { + if (!hasOwnProperty.call(dict, key)) { + result[key] = { + prelude: patchDict[key].prelude || null, + descriptors: patchDict[key].descriptors && patchDictionary({}, patchDict[key].descriptors) + }; + } + } + + return result; +} + +const definitions = { + types: patchDictionary(mdnSyntaxes, dataPatch.types), + atrules: patchAtrules(preprocessAtrules(mdnAtrules), dataPatch.atrules), + properties: patchDictionary(mdnProperties, dataPatch.properties) +}; + +module.exports = definitions; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/SyntaxError.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/SyntaxError.cjs new file mode 100644 index 00000000..d24e7ced --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/SyntaxError.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); + +function SyntaxError(message, input, offset) { + return Object.assign(createCustomError.createCustomError('SyntaxError', message), { + input, + offset, + rawMessage: message, + message: message + '\n' + + ' ' + input + '\n' + + '--' + new Array((offset || input.length) + 1).join('-') + '^' + }); +} + +exports.SyntaxError = SyntaxError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/generate.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/generate.cjs new file mode 100644 index 00000000..785af062 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/generate.cjs @@ -0,0 +1,135 @@ +'use strict'; + +function noop(value) { + return value; +} + +function generateMultiplier(multiplier) { + const { min, max, comma } = multiplier; + + if (min === 0 && max === 0) { + return comma ? '#?' : '*'; + } + + if (min === 0 && max === 1) { + return '?'; + } + + if (min === 1 && max === 0) { + return comma ? '#' : '+'; + } + + if (min === 1 && max === 1) { + return ''; + } + + return ( + (comma ? '#' : '') + + (min === max + ? '{' + min + '}' + : '{' + min + ',' + (max !== 0 ? max : '') + '}' + ) + ); +} + +function generateTypeOpts(node) { + switch (node.type) { + case 'Range': + return ( + ' [' + + (node.min === null ? '-∞' : node.min) + + ',' + + (node.max === null ? '∞' : node.max) + + ']' + ); + + default: + throw new Error('Unknown node type `' + node.type + '`'); + } +} + +function generateSequence(node, decorate, forceBraces, compact) { + const combinator = node.combinator === ' ' || compact ? node.combinator : ' ' + node.combinator + ' '; + const result = node.terms + .map(term => internalGenerate(term, decorate, forceBraces, compact)) + .join(combinator); + + if (node.explicit || forceBraces) { + return (compact || result[0] === ',' ? '[' : '[ ') + result + (compact ? ']' : ' ]'); + } + + return result; +} + +function internalGenerate(node, decorate, forceBraces, compact) { + let result; + + switch (node.type) { + case 'Group': + result = + generateSequence(node, decorate, forceBraces, compact) + + (node.disallowEmpty ? '!' : ''); + break; + + case 'Multiplier': + // return since node is a composition + return ( + internalGenerate(node.term, decorate, forceBraces, compact) + + decorate(generateMultiplier(node), node) + ); + + case 'Type': + result = '<' + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : '') + '>'; + break; + + case 'Property': + result = '<\'' + node.name + '\'>'; + break; + + case 'Keyword': + result = node.name; + break; + + case 'AtKeyword': + result = '@' + node.name; + break; + + case 'Function': + result = node.name + '('; + break; + + case 'String': + case 'Token': + result = node.value; + break; + + case 'Comma': + result = ','; + break; + + default: + throw new Error('Unknown node type `' + node.type + '`'); + } + + return decorate(result, node); +} + +function generate(node, options) { + let decorate = noop; + let forceBraces = false; + let compact = false; + + if (typeof options === 'function') { + decorate = options; + } else if (options) { + forceBraces = Boolean(options.forceBraces); + compact = Boolean(options.compact); + if (typeof options.decorate === 'function') { + decorate = options.decorate; + } + } + + return internalGenerate(node, decorate, forceBraces, compact); +} + +exports.generate = generate; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/index.cjs new file mode 100644 index 00000000..0afb505c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/index.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const SyntaxError = require('./SyntaxError.cjs'); +const generate = require('./generate.cjs'); +const parse = require('./parse.cjs'); +const walk = require('./walk.cjs'); + + + +exports.SyntaxError = SyntaxError.SyntaxError; +exports.generate = generate.generate; +exports.parse = parse.parse; +exports.walk = walk.walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/parse.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/parse.cjs new file mode 100644 index 00000000..53eee015 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/parse.cjs @@ -0,0 +1,588 @@ +'use strict'; + +const tokenizer = require('./tokenizer.cjs'); + +const TAB = 9; +const N = 10; +const F = 12; +const R = 13; +const SPACE = 32; +const EXCLAMATIONMARK = 33; // ! +const NUMBERSIGN = 35; // # +const AMPERSAND = 38; // & +const APOSTROPHE = 39; // ' +const LEFTPARENTHESIS = 40; // ( +const RIGHTPARENTHESIS = 41; // ) +const ASTERISK = 42; // * +const PLUSSIGN = 43; // + +const COMMA = 44; // , +const HYPERMINUS = 45; // - +const LESSTHANSIGN = 60; // < +const GREATERTHANSIGN = 62; // > +const QUESTIONMARK = 63; // ? +const COMMERCIALAT = 64; // @ +const LEFTSQUAREBRACKET = 91; // [ +const RIGHTSQUAREBRACKET = 93; // ] +const LEFTCURLYBRACKET = 123; // { +const VERTICALLINE = 124; // | +const RIGHTCURLYBRACKET = 125; // } +const INFINITY = 8734; // ∞ +const NAME_CHAR = new Uint8Array(128).map((_, idx) => + /[a-zA-Z0-9\-]/.test(String.fromCharCode(idx)) ? 1 : 0 +); +const COMBINATOR_PRECEDENCE = { + ' ': 1, + '&&': 2, + '||': 3, + '|': 4 +}; + +function scanSpaces(tokenizer) { + return tokenizer.substringToPos( + tokenizer.findWsEnd(tokenizer.pos) + ); +} + +function scanWord(tokenizer) { + let end = tokenizer.pos; + + for (; end < tokenizer.str.length; end++) { + const code = tokenizer.str.charCodeAt(end); + if (code >= 128 || NAME_CHAR[code] === 0) { + break; + } + } + + if (tokenizer.pos === end) { + tokenizer.error('Expect a keyword'); + } + + return tokenizer.substringToPos(end); +} + +function scanNumber(tokenizer) { + let end = tokenizer.pos; + + for (; end < tokenizer.str.length; end++) { + const code = tokenizer.str.charCodeAt(end); + if (code < 48 || code > 57) { + break; + } + } + + if (tokenizer.pos === end) { + tokenizer.error('Expect a number'); + } + + return tokenizer.substringToPos(end); +} + +function scanString(tokenizer) { + const end = tokenizer.str.indexOf('\'', tokenizer.pos + 1); + + if (end === -1) { + tokenizer.pos = tokenizer.str.length; + tokenizer.error('Expect an apostrophe'); + } + + return tokenizer.substringToPos(end + 1); +} + +function readMultiplierRange(tokenizer) { + let min = null; + let max = null; + + tokenizer.eat(LEFTCURLYBRACKET); + + min = scanNumber(tokenizer); + + if (tokenizer.charCode() === COMMA) { + tokenizer.pos++; + if (tokenizer.charCode() !== RIGHTCURLYBRACKET) { + max = scanNumber(tokenizer); + } + } else { + max = min; + } + + tokenizer.eat(RIGHTCURLYBRACKET); + + return { + min: Number(min), + max: max ? Number(max) : 0 + }; +} + +function readMultiplier(tokenizer) { + let range = null; + let comma = false; + + switch (tokenizer.charCode()) { + case ASTERISK: + tokenizer.pos++; + + range = { + min: 0, + max: 0 + }; + + break; + + case PLUSSIGN: + tokenizer.pos++; + + range = { + min: 1, + max: 0 + }; + + break; + + case QUESTIONMARK: + tokenizer.pos++; + + range = { + min: 0, + max: 1 + }; + + break; + + case NUMBERSIGN: + tokenizer.pos++; + + comma = true; + + if (tokenizer.charCode() === LEFTCURLYBRACKET) { + range = readMultiplierRange(tokenizer); + } else if (tokenizer.charCode() === QUESTIONMARK) { + // https://www.w3.org/TR/css-values-4/#component-multipliers + // > the # and ? multipliers may be stacked as #? + // In this case just treat "#?" as a single multiplier + // { min: 0, max: 0, comma: true } + tokenizer.pos++; + range = { + min: 0, + max: 0 + }; + } else { + range = { + min: 1, + max: 0 + }; + } + + break; + + case LEFTCURLYBRACKET: + range = readMultiplierRange(tokenizer); + break; + + default: + return null; + } + + return { + type: 'Multiplier', + comma, + min: range.min, + max: range.max, + term: null + }; +} + +function maybeMultiplied(tokenizer, node) { + const multiplier = readMultiplier(tokenizer); + + if (multiplier !== null) { + multiplier.term = node; + + // https://www.w3.org/TR/css-values-4/#component-multipliers + // > The + and # multipliers may be stacked as +#; + // Represent "+#" as nested multipliers: + // { ...<multiplier #>, + // term: { + // ...<multipler +>, + // term: node + // } + // } + if (tokenizer.charCode() === NUMBERSIGN && + tokenizer.charCodeAt(tokenizer.pos - 1) === PLUSSIGN) { + return maybeMultiplied(tokenizer, multiplier); + } + + return multiplier; + } + + return node; +} + +function maybeToken(tokenizer) { + const ch = tokenizer.peek(); + + if (ch === '') { + return null; + } + + return { + type: 'Token', + value: ch + }; +} + +function readProperty(tokenizer) { + let name; + + tokenizer.eat(LESSTHANSIGN); + tokenizer.eat(APOSTROPHE); + + name = scanWord(tokenizer); + + tokenizer.eat(APOSTROPHE); + tokenizer.eat(GREATERTHANSIGN); + + return maybeMultiplied(tokenizer, { + type: 'Property', + name + }); +} + +// https://drafts.csswg.org/css-values-3/#numeric-ranges +// 4.1. Range Restrictions and Range Definition Notation +// +// Range restrictions can be annotated in the numeric type notation using CSS bracketed +// range notation—[min,max]—within the angle brackets, after the identifying keyword, +// indicating a closed range between (and including) min and max. +// For example, <integer [0, 10]> indicates an integer between 0 and 10, inclusive. +function readTypeRange(tokenizer) { + // use null for Infinity to make AST format JSON serializable/deserializable + let min = null; // -Infinity + let max = null; // Infinity + let sign = 1; + + tokenizer.eat(LEFTSQUAREBRACKET); + + if (tokenizer.charCode() === HYPERMINUS) { + tokenizer.peek(); + sign = -1; + } + + if (sign == -1 && tokenizer.charCode() === INFINITY) { + tokenizer.peek(); + } else { + min = sign * Number(scanNumber(tokenizer)); + + if (NAME_CHAR[tokenizer.charCode()] !== 0) { + min += scanWord(tokenizer); + } + } + + scanSpaces(tokenizer); + tokenizer.eat(COMMA); + scanSpaces(tokenizer); + + if (tokenizer.charCode() === INFINITY) { + tokenizer.peek(); + } else { + sign = 1; + + if (tokenizer.charCode() === HYPERMINUS) { + tokenizer.peek(); + sign = -1; + } + + max = sign * Number(scanNumber(tokenizer)); + + if (NAME_CHAR[tokenizer.charCode()] !== 0) { + max += scanWord(tokenizer); + } + } + + tokenizer.eat(RIGHTSQUAREBRACKET); + + return { + type: 'Range', + min, + max + }; +} + +function readType(tokenizer) { + let name; + let opts = null; + + tokenizer.eat(LESSTHANSIGN); + name = scanWord(tokenizer); + + if (tokenizer.charCode() === LEFTPARENTHESIS && + tokenizer.nextCharCode() === RIGHTPARENTHESIS) { + tokenizer.pos += 2; + name += '()'; + } + + if (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) { + scanSpaces(tokenizer); + opts = readTypeRange(tokenizer); + } + + tokenizer.eat(GREATERTHANSIGN); + + return maybeMultiplied(tokenizer, { + type: 'Type', + name, + opts + }); +} + +function readKeywordOrFunction(tokenizer) { + const name = scanWord(tokenizer); + + if (tokenizer.charCode() === LEFTPARENTHESIS) { + tokenizer.pos++; + + return { + type: 'Function', + name + }; + } + + return maybeMultiplied(tokenizer, { + type: 'Keyword', + name + }); +} + +function regroupTerms(terms, combinators) { + function createGroup(terms, combinator) { + return { + type: 'Group', + terms, + combinator, + disallowEmpty: false, + explicit: false + }; + } + + let combinator; + + combinators = Object.keys(combinators) + .sort((a, b) => COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b]); + + while (combinators.length > 0) { + combinator = combinators.shift(); + + let i = 0; + let subgroupStart = 0; + + for (; i < terms.length; i++) { + const term = terms[i]; + + if (term.type === 'Combinator') { + if (term.value === combinator) { + if (subgroupStart === -1) { + subgroupStart = i - 1; + } + terms.splice(i, 1); + i--; + } else { + if (subgroupStart !== -1 && i - subgroupStart > 1) { + terms.splice( + subgroupStart, + i - subgroupStart, + createGroup(terms.slice(subgroupStart, i), combinator) + ); + i = subgroupStart + 1; + } + subgroupStart = -1; + } + } + } + + if (subgroupStart !== -1 && combinators.length) { + terms.splice( + subgroupStart, + i - subgroupStart, + createGroup(terms.slice(subgroupStart, i), combinator) + ); + } + } + + return combinator; +} + +function readImplicitGroup(tokenizer) { + const terms = []; + const combinators = {}; + let token; + let prevToken = null; + let prevTokenPos = tokenizer.pos; + + while (token = peek(tokenizer)) { + if (token.type !== 'Spaces') { + if (token.type === 'Combinator') { + // check for combinator in group beginning and double combinator sequence + if (prevToken === null || prevToken.type === 'Combinator') { + tokenizer.pos = prevTokenPos; + tokenizer.error('Unexpected combinator'); + } + + combinators[token.value] = true; + } else if (prevToken !== null && prevToken.type !== 'Combinator') { + combinators[' '] = true; // a b + terms.push({ + type: 'Combinator', + value: ' ' + }); + } + + terms.push(token); + prevToken = token; + prevTokenPos = tokenizer.pos; + } + } + + // check for combinator in group ending + if (prevToken !== null && prevToken.type === 'Combinator') { + tokenizer.pos -= prevTokenPos; + tokenizer.error('Unexpected combinator'); + } + + return { + type: 'Group', + terms, + combinator: regroupTerms(terms, combinators) || ' ', + disallowEmpty: false, + explicit: false + }; +} + +function readGroup(tokenizer) { + let result; + + tokenizer.eat(LEFTSQUAREBRACKET); + result = readImplicitGroup(tokenizer); + tokenizer.eat(RIGHTSQUAREBRACKET); + + result.explicit = true; + + if (tokenizer.charCode() === EXCLAMATIONMARK) { + tokenizer.pos++; + result.disallowEmpty = true; + } + + return result; +} + +function peek(tokenizer) { + let code = tokenizer.charCode(); + + if (code < 128 && NAME_CHAR[code] === 1) { + return readKeywordOrFunction(tokenizer); + } + + switch (code) { + case RIGHTSQUAREBRACKET: + // don't eat, stop scan a group + break; + + case LEFTSQUAREBRACKET: + return maybeMultiplied(tokenizer, readGroup(tokenizer)); + + case LESSTHANSIGN: + return tokenizer.nextCharCode() === APOSTROPHE + ? readProperty(tokenizer) + : readType(tokenizer); + + case VERTICALLINE: + return { + type: 'Combinator', + value: tokenizer.substringToPos( + tokenizer.pos + (tokenizer.nextCharCode() === VERTICALLINE ? 2 : 1) + ) + }; + + case AMPERSAND: + tokenizer.pos++; + tokenizer.eat(AMPERSAND); + + return { + type: 'Combinator', + value: '&&' + }; + + case COMMA: + tokenizer.pos++; + return { + type: 'Comma' + }; + + case APOSTROPHE: + return maybeMultiplied(tokenizer, { + type: 'String', + value: scanString(tokenizer) + }); + + case SPACE: + case TAB: + case N: + case R: + case F: + return { + type: 'Spaces', + value: scanSpaces(tokenizer) + }; + + case COMMERCIALAT: + code = tokenizer.nextCharCode(); + + if (code < 128 && NAME_CHAR[code] === 1) { + tokenizer.pos++; + return { + type: 'AtKeyword', + name: scanWord(tokenizer) + }; + } + + return maybeToken(tokenizer); + + case ASTERISK: + case PLUSSIGN: + case QUESTIONMARK: + case NUMBERSIGN: + case EXCLAMATIONMARK: + // prohibited tokens (used as a multiplier start) + break; + + case LEFTCURLYBRACKET: + // LEFTCURLYBRACKET is allowed since mdn/data uses it w/o quoting + // check next char isn't a number, because it's likely a disjoined multiplier + code = tokenizer.nextCharCode(); + + if (code < 48 || code > 57) { + return maybeToken(tokenizer); + } + + break; + + default: + return maybeToken(tokenizer); + } +} + +function parse(source) { + const tokenizer$1 = new tokenizer.Tokenizer(source); + const result = readImplicitGroup(tokenizer$1); + + if (tokenizer$1.pos !== source.length) { + tokenizer$1.error('Unexpected input'); + } + + // reduce redundant groups with single group term + if (result.terms.length === 1 && result.terms[0].type === 'Group') { + return result.terms[0]; + } + + return result; +} + +exports.parse = parse; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/tokenizer.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/tokenizer.cjs new file mode 100644 index 00000000..6ab5ece2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/tokenizer.cjs @@ -0,0 +1,56 @@ +'use strict'; + +const SyntaxError = require('./SyntaxError.cjs'); + +const TAB = 9; +const N = 10; +const F = 12; +const R = 13; +const SPACE = 32; + +class Tokenizer { + constructor(str) { + this.str = str; + this.pos = 0; + } + charCodeAt(pos) { + return pos < this.str.length ? this.str.charCodeAt(pos) : 0; + } + charCode() { + return this.charCodeAt(this.pos); + } + nextCharCode() { + return this.charCodeAt(this.pos + 1); + } + nextNonWsCode(pos) { + return this.charCodeAt(this.findWsEnd(pos)); + } + findWsEnd(pos) { + for (; pos < this.str.length; pos++) { + const code = this.str.charCodeAt(pos); + if (code !== R && code !== N && code !== F && code !== SPACE && code !== TAB) { + break; + } + } + + return pos; + } + substringToPos(end) { + return this.str.substring(this.pos, this.pos = end); + } + eat(code) { + if (this.charCode() !== code) { + this.error('Expect `' + String.fromCharCode(code) + '`'); + } + + this.pos++; + } + peek() { + return this.pos < this.str.length ? this.str.charAt(this.pos++) : ''; + } + error(message) { + throw new SyntaxError.SyntaxError(message, this.str, this.pos); + } +} + +exports.Tokenizer = Tokenizer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/walk.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/walk.cjs new file mode 100644 index 00000000..728a446d --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/definition-syntax/walk.cjs @@ -0,0 +1,56 @@ +'use strict'; + +const noop = function() {}; + +function ensureFunction(value) { + return typeof value === 'function' ? value : noop; +} + +function walk(node, options, context) { + function walk(node) { + enter.call(context, node); + + switch (node.type) { + case 'Group': + node.terms.forEach(walk); + break; + + case 'Multiplier': + walk(node.term); + break; + + case 'Type': + case 'Property': + case 'Keyword': + case 'AtKeyword': + case 'Function': + case 'String': + case 'Token': + case 'Comma': + break; + + default: + throw new Error('Unknown type: ' + node.type); + } + + leave.call(context, node); + } + + let enter = noop; + let leave = noop; + + if (typeof options === 'function') { + enter = options; + } else if (options) { + enter = ensureFunction(options.enter); + leave = ensureFunction(options.leave); + } + + if (enter === noop && leave === noop) { + throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function'); + } + + walk(node); +} + +exports.walk = walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/create.cjs new file mode 100644 index 00000000..ab80f3ac --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/create.cjs @@ -0,0 +1,103 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); +const sourceMap = require('./sourceMap.cjs'); +const tokenBefore = require('./token-before.cjs'); +const types = require('../tokenizer/types.cjs'); + +const REVERSESOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) + +function processChildren(node, delimeter) { + if (typeof delimeter === 'function') { + let prev = null; + + node.children.forEach(node => { + if (prev !== null) { + delimeter.call(this, prev); + } + + this.node(node); + prev = node; + }); + + return; + } + + node.children.forEach(this.node, this); +} + +function processChunk(chunk) { + index.tokenize(chunk, (type, start, end) => { + this.token(type, chunk.slice(start, end)); + }); +} + +function createGenerator(config) { + const types$1 = new Map(); + + for (let name in config.node) { + const item = config.node[name]; + const fn = item.generate || item; + + if (typeof fn === 'function') { + types$1.set(name, item.generate || item); + } + } + + return function(node, options) { + let buffer = ''; + let prevCode = 0; + let handlers = { + node(node) { + if (types$1.has(node.type)) { + types$1.get(node.type).call(publicApi, node); + } else { + throw new Error('Unknown node type: ' + node.type); + } + }, + tokenBefore: tokenBefore.safe, + token(type, value) { + prevCode = this.tokenBefore(prevCode, type, value); + + this.emit(value, type, false); + + if (type === types.Delim && value.charCodeAt(0) === REVERSESOLIDUS) { + this.emit('\n', types.WhiteSpace, true); + } + }, + emit(value) { + buffer += value; + }, + result() { + return buffer; + } + }; + + if (options) { + if (typeof options.decorator === 'function') { + handlers = options.decorator(handlers); + } + + if (options.sourceMap) { + handlers = sourceMap.generateSourceMap(handlers); + } + + if (options.mode in tokenBefore) { + handlers.tokenBefore = tokenBefore[options.mode]; + } + } + + const publicApi = { + node: (node) => handlers.node(node), + children: processChildren, + token: (type, value) => handlers.token(type, value), + tokenize: processChunk + }; + + handlers.node(node); + + return handlers.result(); + }; +} + +exports.createGenerator = createGenerator; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/sourceMap.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/sourceMap.cjs new file mode 100644 index 00000000..efbc5b9e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/sourceMap.cjs @@ -0,0 +1,96 @@ +'use strict'; + +const sourceMapGenerator_js = require('source-map-js/lib/source-map-generator.js'); + +const trackNodes = new Set(['Atrule', 'Selector', 'Declaration']); + +function generateSourceMap(handlers) { + const map = new sourceMapGenerator_js.SourceMapGenerator(); + const generated = { + line: 1, + column: 0 + }; + const original = { + line: 0, // should be zero to add first mapping + column: 0 + }; + const activatedGenerated = { + line: 1, + column: 0 + }; + const activatedMapping = { + generated: activatedGenerated + }; + let line = 1; + let column = 0; + let sourceMappingActive = false; + + const origHandlersNode = handlers.node; + handlers.node = function(node) { + if (node.loc && node.loc.start && trackNodes.has(node.type)) { + const nodeLine = node.loc.start.line; + const nodeColumn = node.loc.start.column - 1; + + if (original.line !== nodeLine || + original.column !== nodeColumn) { + original.line = nodeLine; + original.column = nodeColumn; + + generated.line = line; + generated.column = column; + + if (sourceMappingActive) { + sourceMappingActive = false; + if (generated.line !== activatedGenerated.line || + generated.column !== activatedGenerated.column) { + map.addMapping(activatedMapping); + } + } + + sourceMappingActive = true; + map.addMapping({ + source: node.loc.source, + original, + generated + }); + } + } + + origHandlersNode.call(this, node); + + if (sourceMappingActive && trackNodes.has(node.type)) { + activatedGenerated.line = line; + activatedGenerated.column = column; + } + }; + + const origHandlersEmit = handlers.emit; + handlers.emit = function(value, type, auto) { + for (let i = 0; i < value.length; i++) { + if (value.charCodeAt(i) === 10) { // \n + line++; + column = 0; + } else { + column++; + } + } + + origHandlersEmit(value, type, auto); + }; + + const origHandlersResult = handlers.result; + handlers.result = function() { + if (sourceMappingActive) { + map.addMapping(activatedMapping); + } + + return { + css: origHandlersResult(), + map + }; + }; + + return handlers; +} + +exports.generateSourceMap = generateSourceMap; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/token-before.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/token-before.cjs new file mode 100644 index 00000000..87bf4a3e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/generator/token-before.cjs @@ -0,0 +1,170 @@ +'use strict'; + +const types = require('../tokenizer/types.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) + +const code = (type, value) => { + if (type === types.Delim) { + type = value; + } + + if (typeof type === 'string') { + const charCode = type.charCodeAt(0); + return charCode > 0x7F ? 0x8000 : charCode << 8; + } + + return type; +}; + +// https://www.w3.org/TR/css-syntax-3/#serialization +// The only requirement for serialization is that it must "round-trip" with parsing, +// that is, parsing the stylesheet must produce the same data structures as parsing, +// serializing, and parsing again, except for consecutive <whitespace-token>s, +// which may be collapsed into a single token. + +const specPairs = [ + [types.Ident, types.Ident], + [types.Ident, types.Function], + [types.Ident, types.Url], + [types.Ident, types.BadUrl], + [types.Ident, '-'], + [types.Ident, types.Number], + [types.Ident, types.Percentage], + [types.Ident, types.Dimension], + [types.Ident, types.CDC], + [types.Ident, types.LeftParenthesis], + + [types.AtKeyword, types.Ident], + [types.AtKeyword, types.Function], + [types.AtKeyword, types.Url], + [types.AtKeyword, types.BadUrl], + [types.AtKeyword, '-'], + [types.AtKeyword, types.Number], + [types.AtKeyword, types.Percentage], + [types.AtKeyword, types.Dimension], + [types.AtKeyword, types.CDC], + + [types.Hash, types.Ident], + [types.Hash, types.Function], + [types.Hash, types.Url], + [types.Hash, types.BadUrl], + [types.Hash, '-'], + [types.Hash, types.Number], + [types.Hash, types.Percentage], + [types.Hash, types.Dimension], + [types.Hash, types.CDC], + + [types.Dimension, types.Ident], + [types.Dimension, types.Function], + [types.Dimension, types.Url], + [types.Dimension, types.BadUrl], + [types.Dimension, '-'], + [types.Dimension, types.Number], + [types.Dimension, types.Percentage], + [types.Dimension, types.Dimension], + [types.Dimension, types.CDC], + + ['#', types.Ident], + ['#', types.Function], + ['#', types.Url], + ['#', types.BadUrl], + ['#', '-'], + ['#', types.Number], + ['#', types.Percentage], + ['#', types.Dimension], + ['#', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['-', types.Ident], + ['-', types.Function], + ['-', types.Url], + ['-', types.BadUrl], + ['-', '-'], + ['-', types.Number], + ['-', types.Percentage], + ['-', types.Dimension], + ['-', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + [types.Number, types.Ident], + [types.Number, types.Function], + [types.Number, types.Url], + [types.Number, types.BadUrl], + [types.Number, types.Number], + [types.Number, types.Percentage], + [types.Number, types.Dimension], + [types.Number, '%'], + [types.Number, types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['@', types.Ident], + ['@', types.Function], + ['@', types.Url], + ['@', types.BadUrl], + ['@', '-'], + ['@', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['.', types.Number], + ['.', types.Percentage], + ['.', types.Dimension], + + ['+', types.Number], + ['+', types.Percentage], + ['+', types.Dimension], + + ['/', '*'] +]; +// validate with scripts/generate-safe +const safePairs = specPairs.concat([ + [types.Ident, types.Hash], + + [types.Dimension, types.Hash], + + [types.Hash, types.Hash], + + [types.AtKeyword, types.LeftParenthesis], + [types.AtKeyword, types.String], + [types.AtKeyword, types.Colon], + + [types.Percentage, types.Percentage], + [types.Percentage, types.Dimension], + [types.Percentage, types.Function], + [types.Percentage, '-'], + + [types.RightParenthesis, types.Ident], + [types.RightParenthesis, types.Function], + [types.RightParenthesis, types.Percentage], + [types.RightParenthesis, types.Dimension], + [types.RightParenthesis, types.Hash], + [types.RightParenthesis, '-'] +]); + +function createMap(pairs) { + const isWhiteSpaceRequired = new Set( + pairs.map(([prev, next]) => (code(prev) << 16 | code(next))) + ); + + return function(prevCode, type, value) { + const nextCode = code(type, value); + const nextCharCode = value.charCodeAt(0); + const emitWs = + (nextCharCode === HYPHENMINUS && + type !== types.Ident && + type !== types.Function && + type !== types.CDC) || + (nextCharCode === PLUSSIGN) + ? isWhiteSpaceRequired.has(prevCode << 16 | nextCharCode << 8) + : isWhiteSpaceRequired.has(prevCode << 16 | nextCode); + + if (emitWs) { + this.emit(' ', types.WhiteSpace, true); + } + + return nextCode; + }; +} + +const spec = createMap(specPairs); +const safe = createMap(safePairs); + +exports.safe = safe; +exports.spec = spec; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/index.cjs new file mode 100644 index 00000000..b781d15b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/index.cjs @@ -0,0 +1,63 @@ +'use strict'; + +const index$1 = require('./syntax/index.cjs'); +const version = require('./version.cjs'); +const create = require('./syntax/create.cjs'); +const List = require('./utils/List.cjs'); +const Lexer = require('./lexer/Lexer.cjs'); +const index = require('./definition-syntax/index.cjs'); +const clone = require('./utils/clone.cjs'); +const names$1 = require('./utils/names.cjs'); +const ident = require('./utils/ident.cjs'); +const string = require('./utils/string.cjs'); +const url = require('./utils/url.cjs'); +const types = require('./tokenizer/types.cjs'); +const names = require('./tokenizer/names.cjs'); +const TokenStream = require('./tokenizer/TokenStream.cjs'); + +const { + tokenize, + parse, + generate, + lexer, + createLexer, + + walk, + find, + findLast, + findAll, + + toPlainObject, + fromPlainObject, + + fork +} = index$1; + +exports.version = version.version; +exports.createSyntax = create; +exports.List = List.List; +exports.Lexer = Lexer.Lexer; +exports.definitionSyntax = index; +exports.clone = clone.clone; +exports.isCustomProperty = names$1.isCustomProperty; +exports.keyword = names$1.keyword; +exports.property = names$1.property; +exports.vendorPrefix = names$1.vendorPrefix; +exports.ident = ident; +exports.string = string; +exports.url = url; +exports.tokenTypes = types; +exports.tokenNames = names; +exports.TokenStream = TokenStream.TokenStream; +exports.createLexer = createLexer; +exports.find = find; +exports.findAll = findAll; +exports.findLast = findLast; +exports.fork = fork; +exports.fromPlainObject = fromPlainObject; +exports.generate = generate; +exports.lexer = lexer; +exports.parse = parse; +exports.toPlainObject = toPlainObject; +exports.tokenize = tokenize; +exports.walk = walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/Lexer.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/Lexer.cjs new file mode 100644 index 00000000..35f8e906 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/Lexer.cjs @@ -0,0 +1,459 @@ +'use strict'; + +const error = require('./error.cjs'); +const names = require('../utils/names.cjs'); +const genericConst = require('./generic-const.cjs'); +const generic = require('./generic.cjs'); +const prepareTokens = require('./prepare-tokens.cjs'); +const matchGraph = require('./match-graph.cjs'); +const match = require('./match.cjs'); +const trace = require('./trace.cjs'); +const search = require('./search.cjs'); +const structure = require('./structure.cjs'); +const parse = require('../definition-syntax/parse.cjs'); +const generate = require('../definition-syntax/generate.cjs'); +const walk = require('../definition-syntax/walk.cjs'); + +const cssWideKeywordsSyntax = matchGraph.buildMatchGraph(genericConst.cssWideKeywords.join(' | ')); + +function dumpMapSyntax(map, compact, syntaxAsAst) { + const result = {}; + + for (const name in map) { + if (map[name].syntax) { + result[name] = syntaxAsAst + ? map[name].syntax + : generate.generate(map[name].syntax, { compact }); + } + } + + return result; +} + +function dumpAtruleMapSyntax(map, compact, syntaxAsAst) { + const result = {}; + + for (const [name, atrule] of Object.entries(map)) { + result[name] = { + prelude: atrule.prelude && ( + syntaxAsAst + ? atrule.prelude.syntax + : generate.generate(atrule.prelude.syntax, { compact }) + ), + descriptors: atrule.descriptors && dumpMapSyntax(atrule.descriptors, compact, syntaxAsAst) + }; + } + + return result; +} + +function valueHasVar(tokens) { + for (let i = 0; i < tokens.length; i++) { + if (tokens[i].value.toLowerCase() === 'var(') { + return true; + } + } + + return false; +} + +function buildMatchResult(matched, error, iterations) { + return { + matched, + iterations, + error, + ...trace + }; +} + +function matchSyntax(lexer, syntax, value, useCssWideKeywords) { + const tokens = prepareTokens(value, lexer.syntax); + let result; + + if (valueHasVar(tokens)) { + return buildMatchResult(null, new Error('Matching for a tree with var() is not supported')); + } + + if (useCssWideKeywords) { + result = match.matchAsTree(tokens, lexer.cssWideKeywordsSyntax, lexer); + } + + if (!useCssWideKeywords || !result.match) { + result = match.matchAsTree(tokens, syntax.match, lexer); + if (!result.match) { + return buildMatchResult( + null, + new error.SyntaxMatchError(result.reason, syntax.syntax, value, result), + result.iterations + ); + } + } + + return buildMatchResult(result.match, null, result.iterations); +} + +class Lexer { + constructor(config, syntax, structure$1) { + this.cssWideKeywordsSyntax = cssWideKeywordsSyntax; + this.syntax = syntax; + this.generic = false; + this.atrules = Object.create(null); + this.properties = Object.create(null); + this.types = Object.create(null); + this.structure = structure$1 || structure.getStructureFromConfig(config); + + if (config) { + if (config.types) { + for (const name in config.types) { + this.addType_(name, config.types[name]); + } + } + + if (config.generic) { + this.generic = true; + for (const name in generic) { + this.addType_(name, generic[name]); + } + } + + if (config.atrules) { + for (const name in config.atrules) { + this.addAtrule_(name, config.atrules[name]); + } + } + + if (config.properties) { + for (const name in config.properties) { + this.addProperty_(name, config.properties[name]); + } + } + } + } + + checkStructure(ast) { + function collectWarning(node, message) { + warns.push({ node, message }); + } + + const structure = this.structure; + const warns = []; + + this.syntax.walk(ast, function(node) { + if (structure.hasOwnProperty(node.type)) { + structure[node.type].check(node, collectWarning); + } else { + collectWarning(node, 'Unknown node type `' + node.type + '`'); + } + }); + + return warns.length ? warns : false; + } + + createDescriptor(syntax, type, name, parent = null) { + const ref = { + type, + name + }; + const descriptor = { + type, + name, + parent, + serializable: typeof syntax === 'string' || (syntax && typeof syntax.type === 'string'), + syntax: null, + match: null + }; + + if (typeof syntax === 'function') { + descriptor.match = matchGraph.buildMatchGraph(syntax, ref); + } else { + if (typeof syntax === 'string') { + // lazy parsing on first access + Object.defineProperty(descriptor, 'syntax', { + get() { + Object.defineProperty(descriptor, 'syntax', { + value: parse.parse(syntax) + }); + + return descriptor.syntax; + } + }); + } else { + descriptor.syntax = syntax; + } + + // lazy graph build on first access + Object.defineProperty(descriptor, 'match', { + get() { + Object.defineProperty(descriptor, 'match', { + value: matchGraph.buildMatchGraph(descriptor.syntax, ref) + }); + + return descriptor.match; + } + }); + } + + return descriptor; + } + addAtrule_(name, syntax) { + if (!syntax) { + return; + } + + this.atrules[name] = { + type: 'Atrule', + name: name, + prelude: syntax.prelude ? this.createDescriptor(syntax.prelude, 'AtrulePrelude', name) : null, + descriptors: syntax.descriptors + ? Object.keys(syntax.descriptors).reduce( + (map, descName) => { + map[descName] = this.createDescriptor(syntax.descriptors[descName], 'AtruleDescriptor', descName, name); + return map; + }, + Object.create(null) + ) + : null + }; + } + addProperty_(name, syntax) { + if (!syntax) { + return; + } + + this.properties[name] = this.createDescriptor(syntax, 'Property', name); + } + addType_(name, syntax) { + if (!syntax) { + return; + } + + this.types[name] = this.createDescriptor(syntax, 'Type', name); + } + + checkAtruleName(atruleName) { + if (!this.getAtrule(atruleName)) { + return new error.SyntaxReferenceError('Unknown at-rule', '@' + atruleName); + } + } + checkAtrulePrelude(atruleName, prelude) { + const error = this.checkAtruleName(atruleName); + + if (error) { + return error; + } + + const atrule = this.getAtrule(atruleName); + + if (!atrule.prelude && prelude) { + return new SyntaxError('At-rule `@' + atruleName + '` should not contain a prelude'); + } + + if (atrule.prelude && !prelude) { + if (!matchSyntax(this, atrule.prelude, '', false).matched) { + return new SyntaxError('At-rule `@' + atruleName + '` should contain a prelude'); + } + } + } + checkAtruleDescriptorName(atruleName, descriptorName) { + const error$1 = this.checkAtruleName(atruleName); + + if (error$1) { + return error$1; + } + + const atrule = this.getAtrule(atruleName); + const descriptor = names.keyword(descriptorName); + + if (!atrule.descriptors) { + return new SyntaxError('At-rule `@' + atruleName + '` has no known descriptors'); + } + + if (!atrule.descriptors[descriptor.name] && + !atrule.descriptors[descriptor.basename]) { + return new error.SyntaxReferenceError('Unknown at-rule descriptor', descriptorName); + } + } + checkPropertyName(propertyName) { + if (!this.getProperty(propertyName)) { + return new error.SyntaxReferenceError('Unknown property', propertyName); + } + } + + matchAtrulePrelude(atruleName, prelude) { + const error = this.checkAtrulePrelude(atruleName, prelude); + + if (error) { + return buildMatchResult(null, error); + } + + const atrule = this.getAtrule(atruleName); + + if (!atrule.prelude) { + return buildMatchResult(null, null); + } + + return matchSyntax(this, atrule.prelude, prelude || '', false); + } + matchAtruleDescriptor(atruleName, descriptorName, value) { + const error = this.checkAtruleDescriptorName(atruleName, descriptorName); + + if (error) { + return buildMatchResult(null, error); + } + + const atrule = this.getAtrule(atruleName); + const descriptor = names.keyword(descriptorName); + + return matchSyntax(this, atrule.descriptors[descriptor.name] || atrule.descriptors[descriptor.basename], value, false); + } + matchDeclaration(node) { + if (node.type !== 'Declaration') { + return buildMatchResult(null, new Error('Not a Declaration node')); + } + + return this.matchProperty(node.property, node.value); + } + matchProperty(propertyName, value) { + // don't match syntax for a custom property at the moment + if (names.property(propertyName).custom) { + return buildMatchResult(null, new Error('Lexer matching doesn\'t applicable for custom properties')); + } + + const error = this.checkPropertyName(propertyName); + + if (error) { + return buildMatchResult(null, error); + } + + return matchSyntax(this, this.getProperty(propertyName), value, true); + } + matchType(typeName, value) { + const typeSyntax = this.getType(typeName); + + if (!typeSyntax) { + return buildMatchResult(null, new error.SyntaxReferenceError('Unknown type', typeName)); + } + + return matchSyntax(this, typeSyntax, value, false); + } + match(syntax, value) { + if (typeof syntax !== 'string' && (!syntax || !syntax.type)) { + return buildMatchResult(null, new error.SyntaxReferenceError('Bad syntax')); + } + + if (typeof syntax === 'string' || !syntax.match) { + syntax = this.createDescriptor(syntax, 'Type', 'anonymous'); + } + + return matchSyntax(this, syntax, value, false); + } + + findValueFragments(propertyName, value, type, name) { + return search.matchFragments(this, value, this.matchProperty(propertyName, value), type, name); + } + findDeclarationValueFragments(declaration, type, name) { + return search.matchFragments(this, declaration.value, this.matchDeclaration(declaration), type, name); + } + findAllFragments(ast, type, name) { + const result = []; + + this.syntax.walk(ast, { + visit: 'Declaration', + enter: (declaration) => { + result.push.apply(result, this.findDeclarationValueFragments(declaration, type, name)); + } + }); + + return result; + } + + getAtrule(atruleName, fallbackBasename = true) { + const atrule = names.keyword(atruleName); + const atruleEntry = atrule.vendor && fallbackBasename + ? this.atrules[atrule.name] || this.atrules[atrule.basename] + : this.atrules[atrule.name]; + + return atruleEntry || null; + } + getAtrulePrelude(atruleName, fallbackBasename = true) { + const atrule = this.getAtrule(atruleName, fallbackBasename); + + return atrule && atrule.prelude || null; + } + getAtruleDescriptor(atruleName, name) { + return this.atrules.hasOwnProperty(atruleName) && this.atrules.declarators + ? this.atrules[atruleName].declarators[name] || null + : null; + } + getProperty(propertyName, fallbackBasename = true) { + const property = names.property(propertyName); + const propertyEntry = property.vendor && fallbackBasename + ? this.properties[property.name] || this.properties[property.basename] + : this.properties[property.name]; + + return propertyEntry || null; + } + getType(name) { + return hasOwnProperty.call(this.types, name) ? this.types[name] : null; + } + + validate() { + function validate(syntax, name, broken, descriptor) { + if (broken.has(name)) { + return broken.get(name); + } + + broken.set(name, false); + if (descriptor.syntax !== null) { + walk.walk(descriptor.syntax, function(node) { + if (node.type !== 'Type' && node.type !== 'Property') { + return; + } + + const map = node.type === 'Type' ? syntax.types : syntax.properties; + const brokenMap = node.type === 'Type' ? brokenTypes : brokenProperties; + + if (!hasOwnProperty.call(map, node.name) || validate(syntax, node.name, brokenMap, map[node.name])) { + broken.set(name, true); + } + }, this); + } + } + + let brokenTypes = new Map(); + let brokenProperties = new Map(); + + for (const key in this.types) { + validate(this, key, brokenTypes, this.types[key]); + } + + for (const key in this.properties) { + validate(this, key, brokenProperties, this.properties[key]); + } + + brokenTypes = [...brokenTypes.keys()].filter(name => brokenTypes.get(name)); + brokenProperties = [...brokenProperties.keys()].filter(name => brokenProperties.get(name)); + + if (brokenTypes.length || brokenProperties.length) { + return { + types: brokenTypes, + properties: brokenProperties + }; + } + + return null; + } + dump(syntaxAsAst, pretty) { + return { + generic: this.generic, + types: dumpMapSyntax(this.types, !pretty, syntaxAsAst), + properties: dumpMapSyntax(this.properties, !pretty, syntaxAsAst), + atrules: dumpAtruleMapSyntax(this.atrules, !pretty, syntaxAsAst) + }; + } + toString() { + return JSON.stringify(this.dump()); + } +} + +exports.Lexer = Lexer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/error.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/error.cjs new file mode 100644 index 00000000..8d252eeb --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/error.cjs @@ -0,0 +1,128 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); +const generate = require('../definition-syntax/generate.cjs'); + +const defaultLoc = { offset: 0, line: 1, column: 1 }; + +function locateMismatch(matchResult, node) { + const tokens = matchResult.tokens; + const longestMatch = matchResult.longestMatch; + const mismatchNode = longestMatch < tokens.length ? tokens[longestMatch].node || null : null; + const badNode = mismatchNode !== node ? mismatchNode : null; + let mismatchOffset = 0; + let mismatchLength = 0; + let entries = 0; + let css = ''; + let start; + let end; + + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i].value; + + if (i === longestMatch) { + mismatchLength = token.length; + mismatchOffset = css.length; + } + + if (badNode !== null && tokens[i].node === badNode) { + if (i <= longestMatch) { + entries++; + } else { + entries = 0; + } + } + + css += token; + } + + if (longestMatch === tokens.length || entries > 1) { // last + start = fromLoc(badNode || node, 'end') || buildLoc(defaultLoc, css); + end = buildLoc(start); + } else { + start = fromLoc(badNode, 'start') || + buildLoc(fromLoc(node, 'start') || defaultLoc, css.slice(0, mismatchOffset)); + end = fromLoc(badNode, 'end') || + buildLoc(start, css.substr(mismatchOffset, mismatchLength)); + } + + return { + css, + mismatchOffset, + mismatchLength, + start, + end + }; +} + +function fromLoc(node, point) { + const value = node && node.loc && node.loc[point]; + + if (value) { + return 'line' in value ? buildLoc(value) : value; + } + + return null; +} + +function buildLoc({ offset, line, column }, extra) { + const loc = { + offset, + line, + column + }; + + if (extra) { + const lines = extra.split(/\n|\r\n?|\f/); + + loc.offset += extra.length; + loc.line += lines.length - 1; + loc.column = lines.length === 1 ? loc.column + extra.length : lines.pop().length + 1; + } + + return loc; +} + +const SyntaxReferenceError = function(type, referenceName) { + const error = createCustomError.createCustomError( + 'SyntaxReferenceError', + type + (referenceName ? ' `' + referenceName + '`' : '') + ); + + error.reference = referenceName; + + return error; +}; + +const SyntaxMatchError = function(message, syntax, node, matchResult) { + const error = createCustomError.createCustomError('SyntaxMatchError', message); + const { + css, + mismatchOffset, + mismatchLength, + start, + end + } = locateMismatch(matchResult, node); + + error.rawMessage = message; + error.syntax = syntax ? generate.generate(syntax) : '<generic>'; + error.css = css; + error.mismatchOffset = mismatchOffset; + error.mismatchLength = mismatchLength; + error.message = message + '\n' + + ' syntax: ' + error.syntax + '\n' + + ' value: ' + (css || '<empty string>') + '\n' + + ' --------' + new Array(error.mismatchOffset + 1).join('-') + '^'; + + Object.assign(error, start); + error.loc = { + source: (node && node.loc && node.loc.source) || '<unknown>', + start, + end + }; + + return error; +}; + +exports.SyntaxMatchError = SyntaxMatchError; +exports.SyntaxReferenceError = SyntaxReferenceError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-an-plus-b.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-an-plus-b.cjs new file mode 100644 index 00000000..a5dfba3e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-an-plus-b.cjs @@ -0,0 +1,235 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const types = require('../tokenizer/types.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const N = 0x006E; // U+006E LATIN SMALL LETTER N (n) +const DISALLOW_SIGN = true; +const ALLOW_SIGN = false; + +function isDelim(token, code) { + return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; +} + +function skipSC(token, offset, getNextToken) { + while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)) { + token = getNextToken(++offset); + } + + return offset; +} + +function checkInteger(token, valueOffset, disallowSign, offset) { + if (!token) { + return 0; + } + + const code = token.value.charCodeAt(valueOffset); + + if (code === PLUSSIGN || code === HYPHENMINUS) { + if (disallowSign) { + // Number sign is not allowed + return 0; + } + valueOffset++; + } + + for (; valueOffset < token.value.length; valueOffset++) { + if (!charCodeDefinitions.isDigit(token.value.charCodeAt(valueOffset))) { + // Integer is expected + return 0; + } + } + + return offset + 1; +} + +// ... <signed-integer> +// ... ['+' | '-'] <signless-integer> +function consumeB(token, offset_, getNextToken) { + let sign = false; + let offset = skipSC(token, offset_, getNextToken); + + token = getNextToken(offset); + + if (token === null) { + return offset_; + } + + if (token.type !== types.Number) { + if (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS)) { + sign = true; + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + if (token === null || token.type !== types.Number) { + return 0; + } + } else { + return offset_; + } + } + + if (!sign) { + const code = token.value.charCodeAt(0); + if (code !== PLUSSIGN && code !== HYPHENMINUS) { + // Number sign is expected + return 0; + } + } + + return checkInteger(token, sign ? 0 : 1, sign, offset); +} + +// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb +function anPlusB(token, getNextToken) { + /* eslint-disable brace-style*/ + let offset = 0; + + if (!token) { + return 0; + } + + // <integer> + if (token.type === types.Number) { + return checkInteger(token, 0, ALLOW_SIGN, offset); // b + } + + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + // -n- <signless-integer> + // <dashndashdigit-ident> + else if (token.type === types.Ident && token.value.charCodeAt(0) === HYPHENMINUS) { + // expect 1st char is N + if (!utils.cmpChar(token.value, 1, N)) { + return 0; + } + + switch (token.value.length) { + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + case 2: + return consumeB(getNextToken(++offset), offset, getNextToken); + + // -n- <signless-integer> + case 3: + if (token.value.charCodeAt(2) !== HYPHENMINUS) { + return 0; + } + + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + + // <dashndashdigit-ident> + default: + if (token.value.charCodeAt(2) !== HYPHENMINUS) { + return 0; + } + + return checkInteger(token, 3, DISALLOW_SIGN, offset); + } + } + + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + // '+'? n- <signless-integer> + // '+'? <ndashdigit-ident> + else if (token.type === types.Ident || (isDelim(token, PLUSSIGN) && getNextToken(offset + 1).type === types.Ident)) { + // just ignore a plus + if (token.type !== types.Ident) { + token = getNextToken(++offset); + } + + if (token === null || !utils.cmpChar(token.value, 0, N)) { + return 0; + } + + switch (token.value.length) { + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + case 1: + return consumeB(getNextToken(++offset), offset, getNextToken); + + // '+'? n- <signless-integer> + case 2: + if (token.value.charCodeAt(1) !== HYPHENMINUS) { + return 0; + } + + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + + // '+'? <ndashdigit-ident> + default: + if (token.value.charCodeAt(1) !== HYPHENMINUS) { + return 0; + } + + return checkInteger(token, 2, DISALLOW_SIGN, offset); + } + } + + // <ndashdigit-dimension> + // <ndash-dimension> <signless-integer> + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + else if (token.type === types.Dimension) { + let code = token.value.charCodeAt(0); + let sign = code === PLUSSIGN || code === HYPHENMINUS ? 1 : 0; + let i = sign; + + for (; i < token.value.length; i++) { + if (!charCodeDefinitions.isDigit(token.value.charCodeAt(i))) { + break; + } + } + + if (i === sign) { + // Integer is expected + return 0; + } + + if (!utils.cmpChar(token.value, i, N)) { + return 0; + } + + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + if (i + 1 === token.value.length) { + return consumeB(getNextToken(++offset), offset, getNextToken); + } else { + if (token.value.charCodeAt(i + 1) !== HYPHENMINUS) { + return 0; + } + + // <ndash-dimension> <signless-integer> + if (i + 2 === token.value.length) { + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + } + // <ndashdigit-dimension> + else { + return checkInteger(token, i + 2, DISALLOW_SIGN, offset); + } + } + } + + return 0; +} + +module.exports = anPlusB; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-const.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-const.cjs new file mode 100644 index 00000000..9b9f6157 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-const.cjs @@ -0,0 +1,12 @@ +'use strict'; + +// https://drafts.csswg.org/css-cascade-5/ +const cssWideKeywords = [ + 'initial', + 'inherit', + 'unset', + 'revert', + 'revert-layer' +]; + +exports.cssWideKeywords = cssWideKeywords; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-urange.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-urange.cjs new file mode 100644 index 00000000..ce167bb1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic-urange.cjs @@ -0,0 +1,149 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const types = require('../tokenizer/types.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?) +const U = 0x0075; // U+0075 LATIN SMALL LETTER U (u) + +function isDelim(token, code) { + return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; +} + +function startsWith(token, code) { + return token.value.charCodeAt(0) === code; +} + +function hexSequence(token, offset, allowDash) { + let hexlen = 0; + + for (let pos = offset; pos < token.value.length; pos++) { + const code = token.value.charCodeAt(pos); + + if (code === HYPHENMINUS && allowDash && hexlen !== 0) { + hexSequence(token, offset + hexlen + 1, false); + return 6; // dissallow following question marks + } + + if (!charCodeDefinitions.isHexDigit(code)) { + return 0; // not a hex digit + } + + if (++hexlen > 6) { + return 0; // too many hex digits + } } + + return hexlen; +} + +function withQuestionMarkSequence(consumed, length, getNextToken) { + if (!consumed) { + return 0; // nothing consumed + } + + while (isDelim(getNextToken(length), QUESTIONMARK)) { + if (++consumed > 6) { + return 0; // too many question marks + } + + length++; + } + + return length; +} + +// https://drafts.csswg.org/css-syntax/#urange +// Informally, the <urange> production has three forms: +// U+0001 +// Defines a range consisting of a single code point, in this case the code point "1". +// U+0001-00ff +// Defines a range of codepoints between the first and the second value, in this case +// the range between "1" and "ff" (255 in decimal) inclusive. +// U+00?? +// Defines a range of codepoints where the "?" characters range over all hex digits, +// in this case defining the same as the value U+0000-00ff. +// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit). +// +// <urange> = +// u '+' <ident-token> '?'* | +// u <dimension-token> '?'* | +// u <number-token> '?'* | +// u <number-token> <dimension-token> | +// u <number-token> <number-token> | +// u '+' '?'+ +function urange(token, getNextToken) { + let length = 0; + + // should start with `u` or `U` + if (token === null || token.type !== types.Ident || !utils.cmpChar(token.value, 0, U)) { + return 0; + } + + token = getNextToken(++length); + if (token === null) { + return 0; + } + + // u '+' <ident-token> '?'* + // u '+' '?'+ + if (isDelim(token, PLUSSIGN)) { + token = getNextToken(++length); + if (token === null) { + return 0; + } + + if (token.type === types.Ident) { + // u '+' <ident-token> '?'* + return withQuestionMarkSequence(hexSequence(token, 0, true), ++length, getNextToken); + } + + if (isDelim(token, QUESTIONMARK)) { + // u '+' '?'+ + return withQuestionMarkSequence(1, ++length, getNextToken); + } + + // Hex digit or question mark is expected + return 0; + } + + // u <number-token> '?'* + // u <number-token> <dimension-token> + // u <number-token> <number-token> + if (token.type === types.Number) { + const consumedHexLength = hexSequence(token, 1, true); + if (consumedHexLength === 0) { + return 0; + } + + token = getNextToken(++length); + if (token === null) { + // u <number-token> <eof> + return length; + } + + if (token.type === types.Dimension || token.type === types.Number) { + // u <number-token> <dimension-token> + // u <number-token> <number-token> + if (!startsWith(token, HYPHENMINUS) || !hexSequence(token, 1, false)) { + return 0; + } + + return length + 1; + } + + // u <number-token> '?'* + return withQuestionMarkSequence(consumedHexLength, length, getNextToken); + } + + // u <dimension-token> '?'* + if (token.type === types.Dimension) { + return withQuestionMarkSequence(hexSequence(token, 1, true), ++length, getNextToken); + } + + return 0; +} + +module.exports = urange; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic.cjs new file mode 100644 index 00000000..2a603bcd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/generic.cjs @@ -0,0 +1,573 @@ +'use strict'; + +const genericConst = require('./generic-const.cjs'); +const genericAnPlusB = require('./generic-an-plus-b.cjs'); +const genericUrange = require('./generic-urange.cjs'); +const types = require('../tokenizer/types.cjs'); +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const calcFunctionNames = ['calc(', '-moz-calc(', '-webkit-calc(']; +const balancePair = new Map([ + [types.Function, types.RightParenthesis], + [types.LeftParenthesis, types.RightParenthesis], + [types.LeftSquareBracket, types.RightSquareBracket], + [types.LeftCurlyBracket, types.RightCurlyBracket] +]); + +// units +const LENGTH = [ + // absolute length units https://www.w3.org/TR/css-values-3/#lengths + 'cm', 'mm', 'q', 'in', 'pt', 'pc', 'px', + // font-relative length units https://drafts.csswg.org/css-values-4/#font-relative-lengths + 'em', 'rem', + 'ex', 'rex', + 'cap', 'rcap', + 'ch', 'rch', + 'ic', 'ric', + 'lh', 'rlh', + // viewport-percentage lengths https://drafts.csswg.org/css-values-4/#viewport-relative-lengths + 'vw', 'svw', 'lvw', 'dvw', + 'vh', 'svh', 'lvh', 'dvh', + 'vi', 'svi', 'lvi', 'dvi', + 'vb', 'svb', 'lvb', 'dvb', + 'vmin', 'svmin', 'lvmin', 'dvmin', + 'vmax', 'svmax', 'lvmax', 'dvmax', + // container relative lengths https://drafts.csswg.org/css-contain-3/#container-lengths + 'cqw', 'cqh', 'cqi', 'cqb', 'cqmin', 'cqmax' +]; +const ANGLE = ['deg', 'grad', 'rad', 'turn']; // https://www.w3.org/TR/css-values-3/#angles +const TIME = ['s', 'ms']; // https://www.w3.org/TR/css-values-3/#time +const FREQUENCY = ['hz', 'khz']; // https://www.w3.org/TR/css-values-3/#frequency +const RESOLUTION = ['dpi', 'dpcm', 'dppx', 'x']; // https://www.w3.org/TR/css-values-3/#resolution +const FLEX = ['fr']; // https://drafts.csswg.org/css-grid/#fr-unit +const DECIBEL = ['db']; // https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume +const SEMITONES = ['st']; // https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch + +// safe char code getter +function charCodeAt(str, index) { + return index < str.length ? str.charCodeAt(index) : 0; +} + +function eqStr(actual, expected) { + return utils.cmpStr(actual, 0, actual.length, expected); +} + +function eqStrAny(actual, expected) { + for (let i = 0; i < expected.length; i++) { + if (eqStr(actual, expected[i])) { + return true; + } + } + + return false; +} + +// IE postfix hack, i.e. 123\0 or 123px\9 +function isPostfixIeHack(str, offset) { + if (offset !== str.length - 2) { + return false; + } + + return ( + charCodeAt(str, offset) === 0x005C && // U+005C REVERSE SOLIDUS (\) + charCodeDefinitions.isDigit(charCodeAt(str, offset + 1)) + ); +} + +function outOfRange(opts, value, numEnd) { + if (opts && opts.type === 'Range') { + const num = Number( + numEnd !== undefined && numEnd !== value.length + ? value.substr(0, numEnd) + : value + ); + + if (isNaN(num)) { + return true; + } + + // FIXME: when opts.min is a string it's a dimension, skip a range validation + // for now since it requires a type covertation which is not implmented yet + if (opts.min !== null && num < opts.min && typeof opts.min !== 'string') { + return true; + } + + // FIXME: when opts.max is a string it's a dimension, skip a range validation + // for now since it requires a type covertation which is not implmented yet + if (opts.max !== null && num > opts.max && typeof opts.max !== 'string') { + return true; + } + } + + return false; +} + +function consumeFunction(token, getNextToken) { + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // balanced token consuming + scan: + do { + switch (token.type) { + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + + if (balanceStash.length === 0) { + length++; + break scan; + } + + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// TODO: implement +// can be used wherever <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> values are allowed +// https://drafts.csswg.org/css-values/#calc-notation +function calc(next) { + return function(token, getNextToken, opts) { + if (token === null) { + return 0; + } + + if (token.type === types.Function && eqStrAny(token.value, calcFunctionNames)) { + return consumeFunction(token, getNextToken); + } + + return next(token, getNextToken, opts); + }; +} + +function tokenType(expectedTokenType) { + return function(token) { + if (token === null || token.type !== expectedTokenType) { + return 0; + } + + return 1; + }; +} + +// ========================= +// Complex types +// + +// https://drafts.csswg.org/css-values-4/#custom-idents +// 4.2. Author-defined Identifiers: the <custom-ident> type +// Some properties accept arbitrary author-defined identifiers as a component value. +// This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier +// that would not be misinterpreted as a pre-defined keyword in that property’s value definition. +// +// See also: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident +function customIdent(token) { + if (token === null || token.type !== types.Ident) { + return 0; + } + + const name = token.value.toLowerCase(); + + // The CSS-wide keywords are not valid <custom-ident>s + if (eqStrAny(name, genericConst.cssWideKeywords)) { + return 0; + } + + // The default keyword is reserved and is also not a valid <custom-ident> + if (eqStr(name, 'default')) { + return 0; + } + + // TODO: ignore property specific keywords (as described https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident) + // Specifications using <custom-ident> must specify clearly what other keywords + // are excluded from <custom-ident>, if any—for example by saying that any pre-defined keywords + // in that property’s value definition are excluded. Excluded keywords are excluded + // in all ASCII case permutations. + + return 1; +} + +// https://drafts.csswg.org/css-variables/#typedef-custom-property-name +// A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo. +// The <custom-property-name> production corresponds to this: it’s defined as any valid identifier +// that starts with two dashes, except -- itself, which is reserved for future use by CSS. +// NOTE: Current implementation treat `--` as a valid name since most (all?) major browsers treat it as valid. +function customPropertyName(token) { + // ... defined as any valid identifier + if (token === null || token.type !== types.Ident) { + return 0; + } + + // ... that starts with two dashes (U+002D HYPHEN-MINUS) + if (charCodeAt(token.value, 0) !== 0x002D || charCodeAt(token.value, 1) !== 0x002D) { + return 0; + } + + return 1; +} + +// https://drafts.csswg.org/css-color-4/#hex-notation +// The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits. +// In other words, a hex color is written as a hash character, "#", followed by some number of digits 0-9 or +// letters a-f (the case of the letters doesn’t matter - #00ff00 is identical to #00FF00). +function hexColor(token) { + if (token === null || token.type !== types.Hash) { + return 0; + } + + const length = token.value.length; + + // valid values (length): #rgb (4), #rgba (5), #rrggbb (7), #rrggbbaa (9) + if (length !== 4 && length !== 5 && length !== 7 && length !== 9) { + return 0; + } + + for (let i = 1; i < length; i++) { + if (!charCodeDefinitions.isHexDigit(charCodeAt(token.value, i))) { + return 0; + } + } + + return 1; +} + +function idSelector(token) { + if (token === null || token.type !== types.Hash) { + return 0; + } + + if (!charCodeDefinitions.isIdentifierStart(charCodeAt(token.value, 1), charCodeAt(token.value, 2), charCodeAt(token.value, 3))) { + return 0; + } + + return 1; +} + +// https://drafts.csswg.org/css-syntax/#any-value +// It represents the entirety of what a valid declaration can have as its value. +function declarationValue(token, getNextToken) { + if (!token) { + return 0; + } + + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // The <declaration-value> production matches any sequence of one or more tokens, + // so long as the sequence does not contain ... + scan: + do { + switch (token.type) { + // ... <bad-string-token>, <bad-url-token>, + case types.BadString: + case types.BadUrl: + break scan; + + // ... unmatched <)-token>, <]-token>, or <}-token>, + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + break; + + // ... or top-level <semicolon-token> tokens + case types.Semicolon: + if (balanceCloseType === 0) { + break scan; + } + + break; + + // ... or <delim-token> tokens with a value of "!" + case types.Delim: + if (balanceCloseType === 0 && token.value === '!') { + break scan; + } + + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// https://drafts.csswg.org/css-syntax/#any-value +// The <any-value> production is identical to <declaration-value>, but also +// allows top-level <semicolon-token> tokens and <delim-token> tokens +// with a value of "!". It represents the entirety of what valid CSS can be in any context. +function anyValue(token, getNextToken) { + if (!token) { + return 0; + } + + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // The <any-value> production matches any sequence of one or more tokens, + // so long as the sequence ... + scan: + do { + switch (token.type) { + // ... does not contain <bad-string-token>, <bad-url-token>, + case types.BadString: + case types.BadUrl: + break scan; + + // ... unmatched <)-token>, <]-token>, or <}-token>, + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// ========================= +// Dimensions +// + +function dimension(type) { + if (type) { + type = new Set(type); + } + + return function(token, getNextToken, opts) { + if (token === null || token.type !== types.Dimension) { + return 0; + } + + const numberEnd = utils.consumeNumber(token.value, 0); + + // check unit + if (type !== null) { + // check for IE postfix hack, i.e. 123px\0 or 123px\9 + const reverseSolidusOffset = token.value.indexOf('\\', numberEnd); + const unit = reverseSolidusOffset === -1 || !isPostfixIeHack(token.value, reverseSolidusOffset) + ? token.value.substr(numberEnd) + : token.value.substring(numberEnd, reverseSolidusOffset); + + if (type.has(unit.toLowerCase()) === false) { + return 0; + } + } + + // check range if specified + if (outOfRange(opts, token.value, numberEnd)) { + return 0; + } + + return 1; + }; +} + +// ========================= +// Percentage +// + +// §5.5. Percentages: the <percentage> type +// https://drafts.csswg.org/css-values-4/#percentages +function percentage(token, getNextToken, opts) { + // ... corresponds to the <percentage-token> production + if (token === null || token.type !== types.Percentage) { + return 0; + } + + // check range if specified + if (outOfRange(opts, token.value, token.value.length - 1)) { + return 0; + } + + return 1; +} + +// ========================= +// Numeric +// + +// https://drafts.csswg.org/css-values-4/#numbers +// The value <zero> represents a literal number with the value 0. Expressions that merely +// evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>; +// only literal <number-token>s do. +function zero(next) { + if (typeof next !== 'function') { + next = function() { + return 0; + }; + } + + return function(token, getNextToken, opts) { + if (token !== null && token.type === types.Number) { + if (Number(token.value) === 0) { + return 1; + } + } + + return next(token, getNextToken, opts); + }; +} + +// § 5.3. Real Numbers: the <number> type +// https://drafts.csswg.org/css-values-4/#numbers +// Number values are denoted by <number>, and represent real numbers, possibly with a fractional component. +// ... It corresponds to the <number-token> production +function number(token, getNextToken, opts) { + if (token === null) { + return 0; + } + + const numberEnd = utils.consumeNumber(token.value, 0); + const isNumber = numberEnd === token.value.length; + if (!isNumber && !isPostfixIeHack(token.value, numberEnd)) { + return 0; + } + + // check range if specified + if (outOfRange(opts, token.value, numberEnd)) { + return 0; + } + + return 1; +} + +// §5.2. Integers: the <integer> type +// https://drafts.csswg.org/css-values-4/#integers +function integer(token, getNextToken, opts) { + // ... corresponds to a subset of the <number-token> production + if (token === null || token.type !== types.Number) { + return 0; + } + + // The first digit of an integer may be immediately preceded by `-` or `+` to indicate the integer’s sign. + let i = charCodeAt(token.value, 0) === 0x002B || // U+002B PLUS SIGN (+) + charCodeAt(token.value, 0) === 0x002D ? 1 : 0; // U+002D HYPHEN-MINUS (-) + + // When written literally, an integer is one or more decimal digits 0 through 9 ... + for (; i < token.value.length; i++) { + if (!charCodeDefinitions.isDigit(charCodeAt(token.value, i))) { + return 0; + } + } + + // check range if specified + if (outOfRange(opts, token.value, i)) { + return 0; + } + + return 1; +} + +const genericSyntaxes = { + // token types + 'ident-token': tokenType(types.Ident), + 'function-token': tokenType(types.Function), + 'at-keyword-token': tokenType(types.AtKeyword), + 'hash-token': tokenType(types.Hash), + 'string-token': tokenType(types.String), + 'bad-string-token': tokenType(types.BadString), + 'url-token': tokenType(types.Url), + 'bad-url-token': tokenType(types.BadUrl), + 'delim-token': tokenType(types.Delim), + 'number-token': tokenType(types.Number), + 'percentage-token': tokenType(types.Percentage), + 'dimension-token': tokenType(types.Dimension), + 'whitespace-token': tokenType(types.WhiteSpace), + 'CDO-token': tokenType(types.CDO), + 'CDC-token': tokenType(types.CDC), + 'colon-token': tokenType(types.Colon), + 'semicolon-token': tokenType(types.Semicolon), + 'comma-token': tokenType(types.Comma), + '[-token': tokenType(types.LeftSquareBracket), + ']-token': tokenType(types.RightSquareBracket), + '(-token': tokenType(types.LeftParenthesis), + ')-token': tokenType(types.RightParenthesis), + '{-token': tokenType(types.LeftCurlyBracket), + '}-token': tokenType(types.RightCurlyBracket), + + // token type aliases + 'string': tokenType(types.String), + 'ident': tokenType(types.Ident), + + // complex types + 'custom-ident': customIdent, + 'custom-property-name': customPropertyName, + 'hex-color': hexColor, + 'id-selector': idSelector, // element( <id-selector> ) + 'an-plus-b': genericAnPlusB, + 'urange': genericUrange, + 'declaration-value': declarationValue, + 'any-value': anyValue, + + // dimensions + 'dimension': calc(dimension(null)), + 'angle': calc(dimension(ANGLE)), + 'decibel': calc(dimension(DECIBEL)), + 'frequency': calc(dimension(FREQUENCY)), + 'flex': calc(dimension(FLEX)), + 'length': calc(zero(dimension(LENGTH))), + 'resolution': calc(dimension(RESOLUTION)), + 'semitones': calc(dimension(SEMITONES)), + 'time': calc(dimension(TIME)), + + // percentage + 'percentage': calc(percentage), + + // numeric + 'zero': zero(), + 'number': calc(number), + 'integer': calc(integer) +}; + +module.exports = genericSyntaxes; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match-graph.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match-graph.cjs new file mode 100644 index 00000000..79c9b66c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match-graph.cjs @@ -0,0 +1,459 @@ +'use strict'; + +const parse = require('../definition-syntax/parse.cjs'); + +const MATCH = { type: 'Match' }; +const MISMATCH = { type: 'Mismatch' }; +const DISALLOW_EMPTY = { type: 'DisallowEmpty' }; + +const LEFTPARENTHESIS = 40; // ( +const RIGHTPARENTHESIS = 41; // ) + +function createCondition(match, thenBranch, elseBranch) { + // reduce node count + if (thenBranch === MATCH && elseBranch === MISMATCH) { + return match; + } + + if (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) { + return match; + } + + if (match.type === 'If' && match.else === MISMATCH && thenBranch === MATCH) { + thenBranch = match.then; + match = match.match; + } + + return { + type: 'If', + match, + then: thenBranch, + else: elseBranch + }; +} + +function isFunctionType(name) { + return ( + name.length > 2 && + name.charCodeAt(name.length - 2) === LEFTPARENTHESIS && + name.charCodeAt(name.length - 1) === RIGHTPARENTHESIS + ); +} + +function isEnumCapatible(term) { + return ( + term.type === 'Keyword' || + term.type === 'AtKeyword' || + term.type === 'Function' || + term.type === 'Type' && isFunctionType(term.name) + ); +} + +function buildGroupMatchGraph(combinator, terms, atLeastOneTermMatched) { + switch (combinator) { + case ' ': { + // Juxtaposing components means that all of them must occur, in the given order. + // + // a b c + // = + // match a + // then match b + // then match c + // then MATCH + // else MISMATCH + // else MISMATCH + // else MISMATCH + let result = MATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + + result = createCondition( + term, + result, + MISMATCH + ); + } + return result; + } + + case '|': { + // A bar (|) separates two or more alternatives: exactly one of them must occur. + // + // a | b | c + // = + // match a + // then MATCH + // else match b + // then MATCH + // else match c + // then MATCH + // else MISMATCH + + let result = MISMATCH; + let map = null; + + for (let i = terms.length - 1; i >= 0; i--) { + let term = terms[i]; + + // reduce sequence of keywords into a Enum + if (isEnumCapatible(term)) { + if (map === null && i > 0 && isEnumCapatible(terms[i - 1])) { + map = Object.create(null); + result = createCondition( + { + type: 'Enum', + map + }, + MATCH, + result + ); + } + + if (map !== null) { + const key = (isFunctionType(term.name) ? term.name.slice(0, -1) : term.name).toLowerCase(); + if (key in map === false) { + map[key] = term; + continue; + } + } + } + + map = null; + + // create a new conditonal node + result = createCondition( + term, + MATCH, + result + ); + } + return result; + } + + case '&&': { + // A double ampersand (&&) separates two or more components, + // all of which must occur, in any order. + + // Use MatchOnce for groups with a large number of terms, + // since &&-groups produces at least N!-node trees + if (terms.length > 5) { + return { + type: 'MatchOnce', + terms, + all: true + }; + } + + // Use a combination tree for groups with small number of terms + // + // a && b && c + // = + // match a + // then [b && c] + // else match b + // then [a && c] + // else match c + // then [a && b] + // else MISMATCH + // + // a && b + // = + // match a + // then match b + // then MATCH + // else MISMATCH + // else match b + // then match a + // then MATCH + // else MISMATCH + // else MISMATCH + let result = MISMATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + let thenClause; + + if (terms.length > 1) { + thenClause = buildGroupMatchGraph( + combinator, + terms.filter(function(newGroupTerm) { + return newGroupTerm !== term; + }), + false + ); + } else { + thenClause = MATCH; + } + + result = createCondition( + term, + thenClause, + result + ); + } + return result; + } + + case '||': { + // A double bar (||) separates two or more options: + // one or more of them must occur, in any order. + + // Use MatchOnce for groups with a large number of terms, + // since ||-groups produces at least N!-node trees + if (terms.length > 5) { + return { + type: 'MatchOnce', + terms, + all: false + }; + } + + // Use a combination tree for groups with small number of terms + // + // a || b || c + // = + // match a + // then [b || c] + // else match b + // then [a || c] + // else match c + // then [a || b] + // else MISMATCH + // + // a || b + // = + // match a + // then match b + // then MATCH + // else MATCH + // else match b + // then match a + // then MATCH + // else MATCH + // else MISMATCH + let result = atLeastOneTermMatched ? MATCH : MISMATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + let thenClause; + + if (terms.length > 1) { + thenClause = buildGroupMatchGraph( + combinator, + terms.filter(function(newGroupTerm) { + return newGroupTerm !== term; + }), + true + ); + } else { + thenClause = MATCH; + } + + result = createCondition( + term, + thenClause, + result + ); + } + return result; + } + } +} + +function buildMultiplierMatchGraph(node) { + let result = MATCH; + let matchTerm = buildMatchGraphInternal(node.term); + + if (node.max === 0) { + // disable repeating of empty match to prevent infinite loop + matchTerm = createCondition( + matchTerm, + DISALLOW_EMPTY, + MISMATCH + ); + + // an occurrence count is not limited, make a cycle; + // to collect more terms on each following matching mismatch + result = createCondition( + matchTerm, + null, // will be a loop + MISMATCH + ); + + result.then = createCondition( + MATCH, + MATCH, + result // make a loop + ); + + if (node.comma) { + result.then.else = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + } else { + // create a match node chain for [min .. max] interval with optional matches + for (let i = node.min || 1; i <= node.max; i++) { + if (node.comma && result !== MATCH) { + result = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + + result = createCondition( + matchTerm, + createCondition( + MATCH, + MATCH, + result + ), + MISMATCH + ); + } + } + + if (node.min === 0) { + // allow zero match + result = createCondition( + MATCH, + MATCH, + result + ); + } else { + // create a match node chain to collect [0 ... min - 1] required matches + for (let i = 0; i < node.min - 1; i++) { + if (node.comma && result !== MATCH) { + result = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + + result = createCondition( + matchTerm, + result, + MISMATCH + ); + } + } + + return result; +} + +function buildMatchGraphInternal(node) { + if (typeof node === 'function') { + return { + type: 'Generic', + fn: node + }; + } + + switch (node.type) { + case 'Group': { + let result = buildGroupMatchGraph( + node.combinator, + node.terms.map(buildMatchGraphInternal), + false + ); + + if (node.disallowEmpty) { + result = createCondition( + result, + DISALLOW_EMPTY, + MISMATCH + ); + } + + return result; + } + + case 'Multiplier': + return buildMultiplierMatchGraph(node); + + case 'Type': + case 'Property': + return { + type: node.type, + name: node.name, + syntax: node + }; + + case 'Keyword': + return { + type: node.type, + name: node.name.toLowerCase(), + syntax: node + }; + + case 'AtKeyword': + return { + type: node.type, + name: '@' + node.name.toLowerCase(), + syntax: node + }; + + case 'Function': + return { + type: node.type, + name: node.name.toLowerCase() + '(', + syntax: node + }; + + case 'String': + // convert a one char length String to a Token + if (node.value.length === 3) { + return { + type: 'Token', + value: node.value.charAt(1), + syntax: node + }; + } + + // otherwise use it as is + return { + type: node.type, + value: node.value.substr(1, node.value.length - 2).replace(/\\'/g, '\''), + syntax: node + }; + + case 'Token': + return { + type: node.type, + value: node.value, + syntax: node + }; + + case 'Comma': + return { + type: node.type, + syntax: node + }; + + default: + throw new Error('Unknown node type:', node.type); + } +} + +function buildMatchGraph(syntaxTree, ref) { + if (typeof syntaxTree === 'string') { + syntaxTree = parse.parse(syntaxTree); + } + + return { + type: 'MatchGraph', + match: buildMatchGraphInternal(syntaxTree), + syntax: ref || null, + source: syntaxTree + }; +} + +exports.DISALLOW_EMPTY = DISALLOW_EMPTY; +exports.MATCH = MATCH; +exports.MISMATCH = MISMATCH; +exports.buildMatchGraph = buildMatchGraph; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match.cjs new file mode 100644 index 00000000..903720d8 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/match.cjs @@ -0,0 +1,632 @@ +'use strict'; + +const matchGraph = require('./match-graph.cjs'); +const types = require('../tokenizer/types.cjs'); + +const { hasOwnProperty } = Object.prototype; +const STUB = 0; +const TOKEN = 1; +const OPEN_SYNTAX = 2; +const CLOSE_SYNTAX = 3; + +const EXIT_REASON_MATCH = 'Match'; +const EXIT_REASON_MISMATCH = 'Mismatch'; +const EXIT_REASON_ITERATION_LIMIT = 'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)'; + +const ITERATION_LIMIT = 15000; + +function reverseList(list) { + let prev = null; + let next = null; + let item = list; + + while (item !== null) { + next = item.prev; + item.prev = prev; + prev = item; + item = next; + } + + return prev; +} + +function areStringsEqualCaseInsensitive(testStr, referenceStr) { + if (testStr.length !== referenceStr.length) { + return false; + } + + for (let i = 0; i < testStr.length; i++) { + const referenceCode = referenceStr.charCodeAt(i); + let testCode = testStr.charCodeAt(i); + + // testCode.toLowerCase() for U+0041 LATIN CAPITAL LETTER A (A) .. U+005A LATIN CAPITAL LETTER Z (Z). + if (testCode >= 0x0041 && testCode <= 0x005A) { + testCode = testCode | 32; + } + + if (testCode !== referenceCode) { + return false; + } + } + + return true; +} + +function isContextEdgeDelim(token) { + if (token.type !== types.Delim) { + return false; + } + + // Fix matching for unicode-range: U+30??, U+FF00-FF9F + // Probably we need to check out previous match instead + return token.value !== '?'; +} + +function isCommaContextStart(token) { + if (token === null) { + return true; + } + + return ( + token.type === types.Comma || + token.type === types.Function || + token.type === types.LeftParenthesis || + token.type === types.LeftSquareBracket || + token.type === types.LeftCurlyBracket || + isContextEdgeDelim(token) + ); +} + +function isCommaContextEnd(token) { + if (token === null) { + return true; + } + + return ( + token.type === types.RightParenthesis || + token.type === types.RightSquareBracket || + token.type === types.RightCurlyBracket || + (token.type === types.Delim && token.value === '/') + ); +} + +function internalMatch(tokens, state, syntaxes) { + function moveToNextToken() { + do { + tokenIndex++; + token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; + } while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)); + } + + function getNextToken(offset) { + const nextIndex = tokenIndex + offset; + + return nextIndex < tokens.length ? tokens[nextIndex] : null; + } + + function stateSnapshotFromSyntax(nextState, prev) { + return { + nextState, + matchStack, + syntaxStack, + thenStack, + tokenIndex, + prev + }; + } + + function pushThenStack(nextState) { + thenStack = { + nextState, + matchStack, + syntaxStack, + prev: thenStack + }; + } + + function pushElseStack(nextState) { + elseStack = stateSnapshotFromSyntax(nextState, elseStack); + } + + function addTokenToMatch() { + matchStack = { + type: TOKEN, + syntax: state.syntax, + token, + prev: matchStack + }; + + moveToNextToken(); + syntaxStash = null; + + if (tokenIndex > longestMatch) { + longestMatch = tokenIndex; + } + } + + function openSyntax() { + syntaxStack = { + syntax: state.syntax, + opts: state.syntax.opts || (syntaxStack !== null && syntaxStack.opts) || null, + prev: syntaxStack + }; + + matchStack = { + type: OPEN_SYNTAX, + syntax: state.syntax, + token: matchStack.token, + prev: matchStack + }; + } + + function closeSyntax() { + if (matchStack.type === OPEN_SYNTAX) { + matchStack = matchStack.prev; + } else { + matchStack = { + type: CLOSE_SYNTAX, + syntax: syntaxStack.syntax, + token: matchStack.token, + prev: matchStack + }; + } + + syntaxStack = syntaxStack.prev; + } + + let syntaxStack = null; + let thenStack = null; + let elseStack = null; + + // null – stashing allowed, nothing stashed + // false – stashing disabled, nothing stashed + // anithing else – fail stashable syntaxes, some syntax stashed + let syntaxStash = null; + + let iterationCount = 0; // count iterations and prevent infinite loop + let exitReason = null; + + let token = null; + let tokenIndex = -1; + let longestMatch = 0; + let matchStack = { + type: STUB, + syntax: null, + token: null, + prev: null + }; + + moveToNextToken(); + + while (exitReason === null && ++iterationCount < ITERATION_LIMIT) { + // function mapList(list, fn) { + // const result = []; + // while (list) { + // result.unshift(fn(list)); + // list = list.prev; + // } + // return result; + // } + // console.log('--\n', + // '#' + iterationCount, + // require('util').inspect({ + // match: mapList(matchStack, x => x.type === TOKEN ? x.token && x.token.value : x.syntax ? ({ [OPEN_SYNTAX]: '<', [CLOSE_SYNTAX]: '</' }[x.type] || x.type) + '!' + x.syntax.name : null), + // token: token && token.value, + // tokenIndex, + // syntax: syntax.type + (syntax.id ? ' #' + syntax.id : '') + // }, { depth: null }) + // ); + switch (state.type) { + case 'Match': + if (thenStack === null) { + // turn to MISMATCH when some tokens left unmatched + if (token !== null) { + // doesn't mismatch if just one token left and it's an IE hack + if (tokenIndex !== tokens.length - 1 || (token.value !== '\\0' && token.value !== '\\9')) { + state = matchGraph.MISMATCH; + break; + } + } + + // break the main loop, return a result - MATCH + exitReason = EXIT_REASON_MATCH; + break; + } + + // go to next syntax (`then` branch) + state = thenStack.nextState; + + // check match is not empty + if (state === matchGraph.DISALLOW_EMPTY) { + if (thenStack.matchStack === matchStack) { + state = matchGraph.MISMATCH; + break; + } else { + state = matchGraph.MATCH; + } + } + + // close syntax if needed + while (thenStack.syntaxStack !== syntaxStack) { + closeSyntax(); + } + + // pop stack + thenStack = thenStack.prev; + break; + + case 'Mismatch': + // when some syntax is stashed + if (syntaxStash !== null && syntaxStash !== false) { + // there is no else branches or a branch reduce match stack + if (elseStack === null || tokenIndex > elseStack.tokenIndex) { + // restore state from the stash + elseStack = syntaxStash; + syntaxStash = false; // disable stashing + } + } else if (elseStack === null) { + // no else branches -> break the main loop + // return a result - MISMATCH + exitReason = EXIT_REASON_MISMATCH; + break; + } + + // go to next syntax (`else` branch) + state = elseStack.nextState; + + // restore all the rest stack states + thenStack = elseStack.thenStack; + syntaxStack = elseStack.syntaxStack; + matchStack = elseStack.matchStack; + tokenIndex = elseStack.tokenIndex; + token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; + + // pop stack + elseStack = elseStack.prev; + break; + + case 'MatchGraph': + state = state.match; + break; + + case 'If': + // IMPORTANT: else stack push must go first, + // since it stores the state of thenStack before changes + if (state.else !== matchGraph.MISMATCH) { + pushElseStack(state.else); + } + + if (state.then !== matchGraph.MATCH) { + pushThenStack(state.then); + } + + state = state.match; + break; + + case 'MatchOnce': + state = { + type: 'MatchOnceBuffer', + syntax: state, + index: 0, + mask: 0 + }; + break; + + case 'MatchOnceBuffer': { + const terms = state.syntax.terms; + + if (state.index === terms.length) { + // no matches at all or it's required all terms to be matched + if (state.mask === 0 || state.syntax.all) { + state = matchGraph.MISMATCH; + break; + } + + // a partial match is ok + state = matchGraph.MATCH; + break; + } + + // all terms are matched + if (state.mask === (1 << terms.length) - 1) { + state = matchGraph.MATCH; + break; + } + + for (; state.index < terms.length; state.index++) { + const matchFlag = 1 << state.index; + + if ((state.mask & matchFlag) === 0) { + // IMPORTANT: else stack push must go first, + // since it stores the state of thenStack before changes + pushElseStack(state); + pushThenStack({ + type: 'AddMatchOnce', + syntax: state.syntax, + mask: state.mask | matchFlag + }); + + // match + state = terms[state.index++]; + break; + } + } + break; + } + + case 'AddMatchOnce': + state = { + type: 'MatchOnceBuffer', + syntax: state.syntax, + index: 0, + mask: state.mask + }; + break; + + case 'Enum': + if (token !== null) { + let name = token.value.toLowerCase(); + + // drop \0 and \9 hack from keyword name + if (name.indexOf('\\') !== -1) { + name = name.replace(/\\[09].*$/, ''); + } + + if (hasOwnProperty.call(state.map, name)) { + state = state.map[name]; + break; + } + } + + state = matchGraph.MISMATCH; + break; + + case 'Generic': { + const opts = syntaxStack !== null ? syntaxStack.opts : null; + const lastTokenIndex = tokenIndex + Math.floor(state.fn(token, getNextToken, opts)); + + if (!isNaN(lastTokenIndex) && lastTokenIndex > tokenIndex) { + while (tokenIndex < lastTokenIndex) { + addTokenToMatch(); + } + + state = matchGraph.MATCH; + } else { + state = matchGraph.MISMATCH; + } + + break; + } + + case 'Type': + case 'Property': { + const syntaxDict = state.type === 'Type' ? 'types' : 'properties'; + const dictSyntax = hasOwnProperty.call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : null; + + if (!dictSyntax || !dictSyntax.match) { + throw new Error( + 'Bad syntax reference: ' + + (state.type === 'Type' + ? '<' + state.name + '>' + : '<\'' + state.name + '\'>') + ); + } + + // stash a syntax for types with low priority + if (syntaxStash !== false && token !== null && state.type === 'Type') { + const lowPriorityMatching = + // https://drafts.csswg.org/css-values-4/#custom-idents + // When parsing positionally-ambiguous keywords in a property value, a <custom-ident> production + // can only claim the keyword if no other unfulfilled production can claim it. + (state.name === 'custom-ident' && token.type === types.Ident) || + + // https://drafts.csswg.org/css-values-4/#lengths + // ... if a `0` could be parsed as either a <number> or a <length> in a property (such as line-height), + // it must parse as a <number> + (state.name === 'length' && token.value === '0'); + + if (lowPriorityMatching) { + if (syntaxStash === null) { + syntaxStash = stateSnapshotFromSyntax(state, elseStack); + } + + state = matchGraph.MISMATCH; + break; + } + } + + openSyntax(); + state = dictSyntax.match; + break; + } + + case 'Keyword': { + const name = state.name; + + if (token !== null) { + let keywordName = token.value; + + // drop \0 and \9 hack from keyword name + if (keywordName.indexOf('\\') !== -1) { + keywordName = keywordName.replace(/\\[09].*$/, ''); + } + + if (areStringsEqualCaseInsensitive(keywordName, name)) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + } + + state = matchGraph.MISMATCH; + break; + } + + case 'AtKeyword': + case 'Function': + if (token !== null && areStringsEqualCaseInsensitive(token.value, state.name)) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + + state = matchGraph.MISMATCH; + break; + + case 'Token': + if (token !== null && token.value === state.value) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + + state = matchGraph.MISMATCH; + break; + + case 'Comma': + if (token !== null && token.type === types.Comma) { + if (isCommaContextStart(matchStack.token)) { + state = matchGraph.MISMATCH; + } else { + addTokenToMatch(); + state = isCommaContextEnd(token) ? matchGraph.MISMATCH : matchGraph.MATCH; + } + } else { + state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? matchGraph.MATCH : matchGraph.MISMATCH; + } + + break; + + case 'String': + let string = ''; + let lastTokenIndex = tokenIndex; + + for (; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) { + string += tokens[lastTokenIndex].value; + } + + if (areStringsEqualCaseInsensitive(string, state.value)) { + while (tokenIndex < lastTokenIndex) { + addTokenToMatch(); + } + + state = matchGraph.MATCH; + } else { + state = matchGraph.MISMATCH; + } + + break; + + default: + throw new Error('Unknown node type: ' + state.type); + } + } + + switch (exitReason) { + case null: + console.warn('[csstree-match] BREAK after ' + ITERATION_LIMIT + ' iterations'); + exitReason = EXIT_REASON_ITERATION_LIMIT; + matchStack = null; + break; + + case EXIT_REASON_MATCH: + while (syntaxStack !== null) { + closeSyntax(); + } + break; + + default: + matchStack = null; + } + + return { + tokens, + reason: exitReason, + iterations: iterationCount, + match: matchStack, + longestMatch + }; +} + +function matchAsList(tokens, matchGraph, syntaxes) { + const matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); + + if (matchResult.match !== null) { + let item = reverseList(matchResult.match).prev; + + matchResult.match = []; + + while (item !== null) { + switch (item.type) { + case OPEN_SYNTAX: + case CLOSE_SYNTAX: + matchResult.match.push({ + type: item.type, + syntax: item.syntax + }); + break; + + default: + matchResult.match.push({ + token: item.token.value, + node: item.token.node + }); + break; + } + + item = item.prev; + } + } + + return matchResult; +} + +function matchAsTree(tokens, matchGraph, syntaxes) { + const matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); + + if (matchResult.match === null) { + return matchResult; + } + + let item = matchResult.match; + let host = matchResult.match = { + syntax: matchGraph.syntax || null, + match: [] + }; + const hostStack = [host]; + + // revert a list and start with 2nd item since 1st is a stub item + item = reverseList(item).prev; + + // build a tree + while (item !== null) { + switch (item.type) { + case OPEN_SYNTAX: + host.match.push(host = { + syntax: item.syntax, + match: [] + }); + hostStack.push(host); + break; + + case CLOSE_SYNTAX: + hostStack.pop(); + host = hostStack[hostStack.length - 1]; + break; + + default: + host.match.push({ + syntax: item.syntax || null, + token: item.token.value, + node: item.token.node + }); + } + + item = item.prev; + } + + return matchResult; +} + +exports.matchAsList = matchAsList; +exports.matchAsTree = matchAsTree; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/prepare-tokens.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/prepare-tokens.cjs new file mode 100644 index 00000000..24647a5e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/prepare-tokens.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); + +const astToTokens = { + decorator(handlers) { + const tokens = []; + let curNode = null; + + return { + ...handlers, + node(node) { + const tmp = curNode; + curNode = node; + handlers.node.call(this, node); + curNode = tmp; + }, + emit(value, type, auto) { + tokens.push({ + type, + value, + node: auto ? null : curNode + }); + }, + result() { + return tokens; + } + }; + } +}; + +function stringToTokens(str) { + const tokens = []; + + index.tokenize(str, (type, start, end) => + tokens.push({ + type, + value: str.slice(start, end), + node: null + }) + ); + + return tokens; +} + +function prepareTokens(value, syntax) { + if (typeof value === 'string') { + return stringToTokens(value); + } + + return syntax.generate(value, astToTokens); +} + +module.exports = prepareTokens; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/search.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/search.cjs new file mode 100644 index 00000000..2b1e12c3 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/search.cjs @@ -0,0 +1,65 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +function getFirstMatchNode(matchNode) { + if ('node' in matchNode) { + return matchNode.node; + } + + return getFirstMatchNode(matchNode.match[0]); +} + +function getLastMatchNode(matchNode) { + if ('node' in matchNode) { + return matchNode.node; + } + + return getLastMatchNode(matchNode.match[matchNode.match.length - 1]); +} + +function matchFragments(lexer, ast, match, type, name) { + function findFragments(matchNode) { + if (matchNode.syntax !== null && + matchNode.syntax.type === type && + matchNode.syntax.name === name) { + const start = getFirstMatchNode(matchNode); + const end = getLastMatchNode(matchNode); + + lexer.syntax.walk(ast, function(node, item, list) { + if (node === start) { + const nodes = new List.List(); + + do { + nodes.appendData(item.data); + + if (item.data === end) { + break; + } + + item = item.next; + } while (item !== null); + + fragments.push({ + parent: list, + nodes + }); + } + }); + } + + if (Array.isArray(matchNode.match)) { + matchNode.match.forEach(findFragments); + } + } + + const fragments = []; + + if (match.matched !== null) { + findFragments(match.matched); + } + + return fragments; +} + +exports.matchFragments = matchFragments; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/structure.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/structure.cjs new file mode 100644 index 00000000..77bdd35a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/structure.cjs @@ -0,0 +1,168 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +const { hasOwnProperty } = Object.prototype; + +function isValidNumber(value) { + // Number.isInteger(value) && value >= 0 + return ( + typeof value === 'number' && + isFinite(value) && + Math.floor(value) === value && + value >= 0 + ); +} + +function isValidLocation(loc) { + return ( + Boolean(loc) && + isValidNumber(loc.offset) && + isValidNumber(loc.line) && + isValidNumber(loc.column) + ); +} + +function createNodeStructureChecker(type, fields) { + return function checkNode(node, warn) { + if (!node || node.constructor !== Object) { + return warn(node, 'Type of node should be an Object'); + } + + for (let key in node) { + let valid = true; + + if (hasOwnProperty.call(node, key) === false) { + continue; + } + + if (key === 'type') { + if (node.type !== type) { + warn(node, 'Wrong node type `' + node.type + '`, expected `' + type + '`'); + } + } else if (key === 'loc') { + if (node.loc === null) { + continue; + } else if (node.loc && node.loc.constructor === Object) { + if (typeof node.loc.source !== 'string') { + key += '.source'; + } else if (!isValidLocation(node.loc.start)) { + key += '.start'; + } else if (!isValidLocation(node.loc.end)) { + key += '.end'; + } else { + continue; + } + } + + valid = false; + } else if (fields.hasOwnProperty(key)) { + valid = false; + + for (let i = 0; !valid && i < fields[key].length; i++) { + const fieldType = fields[key][i]; + + switch (fieldType) { + case String: + valid = typeof node[key] === 'string'; + break; + + case Boolean: + valid = typeof node[key] === 'boolean'; + break; + + case null: + valid = node[key] === null; + break; + + default: + if (typeof fieldType === 'string') { + valid = node[key] && node[key].type === fieldType; + } else if (Array.isArray(fieldType)) { + valid = node[key] instanceof List.List; + } + } + } + } else { + warn(node, 'Unknown field `' + key + '` for ' + type + ' node type'); + } + + if (!valid) { + warn(node, 'Bad value for `' + type + '.' + key + '`'); + } + } + + for (const key in fields) { + if (hasOwnProperty.call(fields, key) && + hasOwnProperty.call(node, key) === false) { + warn(node, 'Field `' + type + '.' + key + '` is missed'); + } + } + }; +} + +function processStructure(name, nodeType) { + const structure = nodeType.structure; + const fields = { + type: String, + loc: true + }; + const docs = { + type: '"' + name + '"' + }; + + for (const key in structure) { + if (hasOwnProperty.call(structure, key) === false) { + continue; + } + + const docsTypes = []; + const fieldTypes = fields[key] = Array.isArray(structure[key]) + ? structure[key].slice() + : [structure[key]]; + + for (let i = 0; i < fieldTypes.length; i++) { + const fieldType = fieldTypes[i]; + if (fieldType === String || fieldType === Boolean) { + docsTypes.push(fieldType.name); + } else if (fieldType === null) { + docsTypes.push('null'); + } else if (typeof fieldType === 'string') { + docsTypes.push('<' + fieldType + '>'); + } else if (Array.isArray(fieldType)) { + docsTypes.push('List'); // TODO: use type enum + } else { + throw new Error('Wrong value `' + fieldType + '` in `' + name + '.' + key + '` structure definition'); + } + } + + docs[key] = docsTypes.join(' | '); + } + + return { + docs, + check: createNodeStructureChecker(name, fields) + }; +} + +function getStructureFromConfig(config) { + const structure = {}; + + if (config.node) { + for (const name in config.node) { + if (hasOwnProperty.call(config.node, name)) { + const nodeType = config.node[name]; + + if (nodeType.structure) { + structure[name] = processStructure(name, nodeType); + } else { + throw new Error('Missed `structure` field in `' + name + '` node type definition'); + } + } + } + } + + return structure; +} + +exports.getStructureFromConfig = getStructureFromConfig; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/trace.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/trace.cjs new file mode 100644 index 00000000..13753f26 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/lexer/trace.cjs @@ -0,0 +1,73 @@ +'use strict'; + +function getTrace(node) { + function shouldPutToTrace(syntax) { + if (syntax === null) { + return false; + } + + return ( + syntax.type === 'Type' || + syntax.type === 'Property' || + syntax.type === 'Keyword' + ); + } + + function hasMatch(matchNode) { + if (Array.isArray(matchNode.match)) { + // use for-loop for better perfomance + for (let i = 0; i < matchNode.match.length; i++) { + if (hasMatch(matchNode.match[i])) { + if (shouldPutToTrace(matchNode.syntax)) { + result.unshift(matchNode.syntax); + } + + return true; + } + } + } else if (matchNode.node === node) { + result = shouldPutToTrace(matchNode.syntax) + ? [matchNode.syntax] + : []; + + return true; + } + + return false; + } + + let result = null; + + if (this.matched !== null) { + hasMatch(this.matched); + } + + return result; +} + +function isType(node, type) { + return testNode(this, node, match => match.type === 'Type' && match.name === type); +} + +function isProperty(node, property) { + return testNode(this, node, match => match.type === 'Property' && match.name === property); +} + +function isKeyword(node) { + return testNode(this, node, match => match.type === 'Keyword'); +} + +function testNode(match, node, fn) { + const trace = getTrace.call(match, node); + + if (trace === null) { + return false; + } + + return trace.some(fn); +} + +exports.getTrace = getTrace; +exports.isKeyword = isKeyword; +exports.isProperty = isProperty; +exports.isType = isType; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/SyntaxError.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/SyntaxError.cjs new file mode 100644 index 00000000..63dd44b5 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/SyntaxError.cjs @@ -0,0 +1,69 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); + +const MAX_LINE_LENGTH = 100; +const OFFSET_CORRECTION = 60; +const TAB_REPLACEMENT = ' '; + +function sourceFragment({ source, line, column }, extraLines) { + function processLines(start, end) { + return lines + .slice(start, end) + .map((line, idx) => + String(start + idx + 1).padStart(maxNumLength) + ' |' + line + ).join('\n'); + } + + const lines = source.split(/\r\n?|\n|\f/); + const startLine = Math.max(1, line - extraLines) - 1; + const endLine = Math.min(line + extraLines, lines.length + 1); + const maxNumLength = Math.max(4, String(endLine).length) + 1; + let cutLeft = 0; + + // column correction according to replaced tab before column + column += (TAB_REPLACEMENT.length - 1) * (lines[line - 1].substr(0, column - 1).match(/\t/g) || []).length; + + if (column > MAX_LINE_LENGTH) { + cutLeft = column - OFFSET_CORRECTION + 3; + column = OFFSET_CORRECTION - 2; + } + + for (let i = startLine; i <= endLine; i++) { + if (i >= 0 && i < lines.length) { + lines[i] = lines[i].replace(/\t/g, TAB_REPLACEMENT); + lines[i] = + (cutLeft > 0 && lines[i].length > cutLeft ? '\u2026' : '') + + lines[i].substr(cutLeft, MAX_LINE_LENGTH - 2) + + (lines[i].length > cutLeft + MAX_LINE_LENGTH - 1 ? '\u2026' : ''); + } + } + + return [ + processLines(startLine, line), + new Array(column + maxNumLength + 2).join('-') + '^', + processLines(line, endLine) + ].filter(Boolean).join('\n'); +} + +function SyntaxError(message, source, offset, line, column) { + const error = Object.assign(createCustomError.createCustomError('SyntaxError', message), { + source, + offset, + line, + column, + sourceFragment(extraLines) { + return sourceFragment({ source, line, column }, isNaN(extraLines) ? 0 : extraLines); + }, + get formattedMessage() { + return ( + `Parse error: ${message}\n` + + sourceFragment({ source, line, column }, 2) + ); + } + }); + + return error; +} + +exports.SyntaxError = SyntaxError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/create.cjs new file mode 100644 index 00000000..f83d3bde --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/create.cjs @@ -0,0 +1,336 @@ +'use strict'; + +const List = require('../utils/List.cjs'); +const SyntaxError = require('./SyntaxError.cjs'); +const index = require('../tokenizer/index.cjs'); +const sequence = require('./sequence.cjs'); +const OffsetToLocation = require('../tokenizer/OffsetToLocation.cjs'); +const TokenStream = require('../tokenizer/TokenStream.cjs'); +const utils = require('../tokenizer/utils.cjs'); +const types = require('../tokenizer/types.cjs'); +const names = require('../tokenizer/names.cjs'); + +const NOOP = () => {}; +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const SEMICOLON = 0x003B; // U+003B SEMICOLON (;) +const LEFTCURLYBRACKET = 0x007B; // U+007B LEFT CURLY BRACKET ({) +const NULL = 0; + +function createParseContext(name) { + return function() { + return this[name](); + }; +} + +function fetchParseValues(dict) { + const result = Object.create(null); + + for (const name in dict) { + const item = dict[name]; + const fn = item.parse || item; + + if (fn) { + result[name] = fn; + } + } + + return result; +} + +function processConfig(config) { + const parseConfig = { + context: Object.create(null), + scope: Object.assign(Object.create(null), config.scope), + atrule: fetchParseValues(config.atrule), + pseudo: fetchParseValues(config.pseudo), + node: fetchParseValues(config.node) + }; + + for (const name in config.parseContext) { + switch (typeof config.parseContext[name]) { + case 'function': + parseConfig.context[name] = config.parseContext[name]; + break; + + case 'string': + parseConfig.context[name] = createParseContext(config.parseContext[name]); + break; + } + } + + return { + config: parseConfig, + ...parseConfig, + ...parseConfig.node + }; +} + +function createParser(config) { + let source = ''; + let filename = '<unknown>'; + let needPositions = false; + let onParseError = NOOP; + let onParseErrorThrow = false; + + const locationMap = new OffsetToLocation.OffsetToLocation(); + const parser = Object.assign(new TokenStream.TokenStream(), processConfig(config || {}), { + parseAtrulePrelude: true, + parseRulePrelude: true, + parseValue: true, + parseCustomProperty: false, + + readSequence: sequence.readSequence, + + consumeUntilBalanceEnd: () => 0, + consumeUntilLeftCurlyBracket(code) { + return code === LEFTCURLYBRACKET ? 1 : 0; + }, + consumeUntilLeftCurlyBracketOrSemicolon(code) { + return code === LEFTCURLYBRACKET || code === SEMICOLON ? 1 : 0; + }, + consumeUntilExclamationMarkOrSemicolon(code) { + return code === EXCLAMATIONMARK || code === SEMICOLON ? 1 : 0; + }, + consumeUntilSemicolonIncluded(code) { + return code === SEMICOLON ? 2 : 0; + }, + + createList() { + return new List.List(); + }, + createSingleNodeList(node) { + return new List.List().appendData(node); + }, + getFirstListNode(list) { + return list && list.first; + }, + getLastListNode(list) { + return list && list.last; + }, + + parseWithFallback(consumer, fallback) { + const startToken = this.tokenIndex; + + try { + return consumer.call(this); + } catch (e) { + if (onParseErrorThrow) { + throw e; + } + + const fallbackNode = fallback.call(this, startToken); + + onParseErrorThrow = true; + onParseError(e, fallbackNode); + onParseErrorThrow = false; + + return fallbackNode; + } + }, + + lookupNonWSType(offset) { + let type; + + do { + type = this.lookupType(offset++); + if (type !== types.WhiteSpace) { + return type; + } + } while (type !== NULL); + + return NULL; + }, + + charCodeAt(offset) { + return offset >= 0 && offset < source.length ? source.charCodeAt(offset) : 0; + }, + substring(offsetStart, offsetEnd) { + return source.substring(offsetStart, offsetEnd); + }, + substrToCursor(start) { + return this.source.substring(start, this.tokenStart); + }, + + cmpChar(offset, charCode) { + return utils.cmpChar(source, offset, charCode); + }, + cmpStr(offsetStart, offsetEnd, str) { + return utils.cmpStr(source, offsetStart, offsetEnd, str); + }, + + consume(tokenType) { + const start = this.tokenStart; + + this.eat(tokenType); + + return this.substrToCursor(start); + }, + consumeFunctionName() { + const name = source.substring(this.tokenStart, this.tokenEnd - 1); + + this.eat(types.Function); + + return name; + }, + consumeNumber(type) { + const number = source.substring(this.tokenStart, utils.consumeNumber(source, this.tokenStart)); + + this.eat(type); + + return number; + }, + + eat(tokenType) { + if (this.tokenType !== tokenType) { + const tokenName = names[tokenType].slice(0, -6).replace(/-/g, ' ').replace(/^./, m => m.toUpperCase()); + let message = `${/[[\](){}]/.test(tokenName) ? `"${tokenName}"` : tokenName} is expected`; + let offset = this.tokenStart; + + // tweak message and offset + switch (tokenType) { + case types.Ident: + // when identifier is expected but there is a function or url + if (this.tokenType === types.Function || this.tokenType === types.Url) { + offset = this.tokenEnd - 1; + message = 'Identifier is expected but function found'; + } else { + message = 'Identifier is expected'; + } + break; + + case types.Hash: + if (this.isDelim(NUMBERSIGN)) { + this.next(); + offset++; + message = 'Name is expected'; + } + break; + + case types.Percentage: + if (this.tokenType === types.Number) { + offset = this.tokenEnd; + message = 'Percent sign is expected'; + } + break; + } + + this.error(message, offset); + } + + this.next(); + }, + eatIdent(name) { + if (this.tokenType !== types.Ident || this.lookupValue(0, name) === false) { + this.error(`Identifier "${name}" is expected`); + } + + this.next(); + }, + eatDelim(code) { + if (!this.isDelim(code)) { + this.error(`Delim "${String.fromCharCode(code)}" is expected`); + } + + this.next(); + }, + + getLocation(start, end) { + if (needPositions) { + return locationMap.getLocationRange( + start, + end, + filename + ); + } + + return null; + }, + getLocationFromList(list) { + if (needPositions) { + const head = this.getFirstListNode(list); + const tail = this.getLastListNode(list); + return locationMap.getLocationRange( + head !== null ? head.loc.start.offset - locationMap.startOffset : this.tokenStart, + tail !== null ? tail.loc.end.offset - locationMap.startOffset : this.tokenStart, + filename + ); + } + + return null; + }, + + error(message, offset) { + const location = typeof offset !== 'undefined' && offset < source.length + ? locationMap.getLocation(offset) + : this.eof + ? locationMap.getLocation(utils.findWhiteSpaceStart(source, source.length - 1)) + : locationMap.getLocation(this.tokenStart); + + throw new SyntaxError.SyntaxError( + message || 'Unexpected input', + source, + location.offset, + location.line, + location.column + ); + } + }); + + const parse = function(source_, options) { + source = source_; + options = options || {}; + + parser.setSource(source, index.tokenize); + locationMap.setSource( + source, + options.offset, + options.line, + options.column + ); + + filename = options.filename || '<unknown>'; + needPositions = Boolean(options.positions); + onParseError = typeof options.onParseError === 'function' ? options.onParseError : NOOP; + onParseErrorThrow = false; + + parser.parseAtrulePrelude = 'parseAtrulePrelude' in options ? Boolean(options.parseAtrulePrelude) : true; + parser.parseRulePrelude = 'parseRulePrelude' in options ? Boolean(options.parseRulePrelude) : true; + parser.parseValue = 'parseValue' in options ? Boolean(options.parseValue) : true; + parser.parseCustomProperty = 'parseCustomProperty' in options ? Boolean(options.parseCustomProperty) : false; + + const { context = 'default', onComment } = options; + + if (context in parser.context === false) { + throw new Error('Unknown context `' + context + '`'); + } + + if (typeof onComment === 'function') { + parser.forEachToken((type, start, end) => { + if (type === types.Comment) { + const loc = parser.getLocation(start, end); + const value = utils.cmpStr(source, end - 2, end, '*/') + ? source.slice(start + 2, end - 2) + : source.slice(start + 2, end); + + onComment(value, loc); + } + }); + } + + const ast = parser.context[context].call(parser, options); + + if (!parser.eof) { + parser.error(); + } + + return ast; + }; + + return Object.assign(parse, { + SyntaxError: SyntaxError.SyntaxError, + config: parser.config + }); +} + +exports.createParser = createParser; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/sequence.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/sequence.cjs new file mode 100644 index 00000000..b7d7d29b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/parser/sequence.cjs @@ -0,0 +1,47 @@ +'use strict'; + +const types = require('../tokenizer/types.cjs'); + +function readSequence(recognizer) { + const children = this.createList(); + let space = false; + const context = { + recognizer + }; + + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + this.next(); + continue; + + case types.WhiteSpace: + space = true; + this.next(); + continue; + } + + let child = recognizer.getNode.call(this, context); + + if (child === undefined) { + break; + } + + if (space) { + if (recognizer.onWhiteSpace) { + recognizer.onWhiteSpace.call(this, child, children, context); + } + space = false; + } + + children.push(child); + } + + if (space && recognizer.onWhiteSpace) { + recognizer.onWhiteSpace.call(this, null, children, context); + } + + return children; +} + +exports.readSequence = readSequence; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/font-face.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/font-face.cjs new file mode 100644 index 00000000..fc7f64a6 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/font-face.cjs @@ -0,0 +1,12 @@ +'use strict'; + +const fontFace = { + parse: { + prelude: null, + block() { + return this.Block(true); + } + } +}; + +module.exports = fontFace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/import.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/import.cjs new file mode 100644 index 00000000..bb4402b4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/import.cjs @@ -0,0 +1,37 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const importAtrule = { + parse: { + prelude() { + const children = this.createList(); + + this.skipSC(); + + switch (this.tokenType) { + case types.String: + children.push(this.String()); + break; + + case types.Url: + case types.Function: + children.push(this.Url()); + break; + + default: + this.error('String or url() is expected'); + } + + if (this.lookupNonWSType(0) === types.Ident || + this.lookupNonWSType(0) === types.LeftParenthesis) { + children.push(this.MediaQueryList()); + } + + return children; + }, + block: null + } +}; + +module.exports = importAtrule; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/index.cjs new file mode 100644 index 00000000..1ef60d4a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/index.cjs @@ -0,0 +1,17 @@ +'use strict'; + +const fontFace = require('./font-face.cjs'); +const _import = require('./import.cjs'); +const media = require('./media.cjs'); +const page = require('./page.cjs'); +const supports = require('./supports.cjs'); + +const atrule = { + 'font-face': fontFace, + 'import': _import, + media, + page, + supports +}; + +module.exports = atrule; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/media.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/media.cjs new file mode 100644 index 00000000..90dd82ba --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/media.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const media = { + parse: { + prelude() { + return this.createSingleNodeList( + this.MediaQueryList() + ); + }, + block() { + return this.Block(false); + } + } +}; + +module.exports = media; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/page.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/page.cjs new file mode 100644 index 00000000..ffef0d17 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/page.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const page = { + parse: { + prelude() { + return this.createSingleNodeList( + this.SelectorList() + ); + }, + block() { + return this.Block(true); + } + } +}; + +module.exports = page; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/supports.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/supports.cjs new file mode 100644 index 00000000..09529ab7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/atrule/supports.cjs @@ -0,0 +1,77 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw() { + return this.createSingleNodeList( + this.Raw(this.tokenIndex, null, false) + ); +} + +function parentheses() { + this.skipSC(); + + if (this.tokenType === types.Ident && + this.lookupNonWSType(1) === types.Colon) { + return this.createSingleNodeList( + this.Declaration() + ); + } + + return readSequence.call(this); +} + +function readSequence() { + const children = this.createList(); + let child; + + this.skipSC(); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + case types.WhiteSpace: + this.next(); + continue; + + case types.Function: + child = this.Function(consumeRaw, this.scope.AtrulePrelude); + break; + + case types.Ident: + child = this.Identifier(); + break; + + case types.LeftParenthesis: + child = this.Parentheses(parentheses, this.scope.AtrulePrelude); + break; + + default: + break scan; + } + + children.push(child); + } + + return children; +} + +const supports = { + parse: { + prelude() { + const children = readSequence.call(this); + + if (this.getFirstListNode(children) === null) { + this.error('Condition is expected'); + } + + return children; + }, + block() { + return this.Block(false); + } + } +}; + +module.exports = supports; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/lexer.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/lexer.cjs new file mode 100644 index 00000000..083c74cd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/lexer.cjs @@ -0,0 +1,12 @@ +'use strict'; + +const data = require('../../data.cjs'); +const index = require('../node/index.cjs'); + +const lexerConfig = { + generic: true, + ...data, + node: index +}; + +module.exports = lexerConfig; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/mix.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/mix.cjs new file mode 100644 index 00000000..af4ef4e3 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/mix.cjs @@ -0,0 +1,142 @@ +'use strict'; + +const { hasOwnProperty } = Object.prototype; +const shape = { + generic: true, + types: appendOrAssign, + atrules: { + prelude: appendOrAssignOrNull, + descriptors: appendOrAssignOrNull + }, + properties: appendOrAssign, + parseContext: assign, + scope: deepAssign, + atrule: ['parse'], + pseudo: ['parse'], + node: ['name', 'structure', 'parse', 'generate', 'walkContext'] +}; + +function isObject(value) { + return value && value.constructor === Object; +} + +function copy(value) { + return isObject(value) + ? { ...value } + : value; +} + +function assign(dest, src) { + return Object.assign(dest, src); +} + +function deepAssign(dest, src) { + for (const key in src) { + if (hasOwnProperty.call(src, key)) { + if (isObject(dest[key])) { + deepAssign(dest[key], src[key]); + } else { + dest[key] = copy(src[key]); + } + } + } + + return dest; +} + +function append(a, b) { + if (typeof b === 'string' && /^\s*\|/.test(b)) { + return typeof a === 'string' + ? a + b + : b.replace(/^\s*\|\s*/, ''); + } + + return b || null; +} + +function appendOrAssign(a, b) { + if (typeof b === 'string') { + return append(a, b); + } + + const result = { ...a }; + for (let key in b) { + if (hasOwnProperty.call(b, key)) { + result[key] = append(hasOwnProperty.call(a, key) ? a[key] : undefined, b[key]); + } + } + + return result; +} + +function appendOrAssignOrNull(a, b) { + const result = appendOrAssign(a, b); + + return !isObject(result) || Object.keys(result).length + ? result + : null; +} + +function mix(dest, src, shape) { + for (const key in shape) { + if (hasOwnProperty.call(shape, key) === false) { + continue; + } + + if (shape[key] === true) { + if (hasOwnProperty.call(src, key)) { + dest[key] = copy(src[key]); + } + } else if (shape[key]) { + if (typeof shape[key] === 'function') { + const fn = shape[key]; + dest[key] = fn({}, dest[key]); + dest[key] = fn(dest[key] || {}, src[key]); + } else if (isObject(shape[key])) { + const result = {}; + + for (let name in dest[key]) { + result[name] = mix({}, dest[key][name], shape[key]); + } + + for (let name in src[key]) { + result[name] = mix(result[name] || {}, src[key][name], shape[key]); + } + + dest[key] = result; + } else if (Array.isArray(shape[key])) { + const res = {}; + const innerShape = shape[key].reduce(function(s, k) { + s[k] = true; + return s; + }, {}); + + for (const [name, value] of Object.entries(dest[key] || {})) { + res[name] = {}; + if (value) { + mix(res[name], value, innerShape); + } + } + + for (const name in src[key]) { + if (hasOwnProperty.call(src[key], name)) { + if (!res[name]) { + res[name] = {}; + } + + if (src[key] && src[key][name]) { + mix(res[name], src[key][name], innerShape); + } + } + } + + dest[key] = res; + } + } + } + return dest; +} + +const mix$1 = (dest, src) => mix(dest, src, shape); + +module.exports = mix$1; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/parser.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/parser.cjs new file mode 100644 index 00000000..af65e801 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/parser.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const index = require('../scope/index.cjs'); +const index$1 = require('../atrule/index.cjs'); +const index$2 = require('../pseudo/index.cjs'); +const indexParse = require('../node/index-parse.cjs'); + +const config = { + parseContext: { + default: 'StyleSheet', + stylesheet: 'StyleSheet', + atrule: 'Atrule', + atrulePrelude(options) { + return this.AtrulePrelude(options.atrule ? String(options.atrule) : null); + }, + mediaQueryList: 'MediaQueryList', + mediaQuery: 'MediaQuery', + rule: 'Rule', + selectorList: 'SelectorList', + selector: 'Selector', + block() { + return this.Block(true); + }, + declarationList: 'DeclarationList', + declaration: 'Declaration', + value: 'Value' + }, + scope: index, + atrule: index$1, + pseudo: index$2, + node: indexParse +}; + +module.exports = config; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/walker.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/walker.cjs new file mode 100644 index 00000000..95c8f7df --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/config/walker.cjs @@ -0,0 +1,9 @@ +'use strict'; + +const index = require('../node/index.cjs'); + +const config = { + node: index +}; + +module.exports = config; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/create.cjs new file mode 100644 index 00000000..1169fa71 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/create.cjs @@ -0,0 +1,56 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); +const create = require('../parser/create.cjs'); +const create$2 = require('../generator/create.cjs'); +const create$3 = require('../convertor/create.cjs'); +const create$1 = require('../walker/create.cjs'); +const Lexer = require('../lexer/Lexer.cjs'); +const mix = require('./config/mix.cjs'); + +function createSyntax(config) { + const parse = create.createParser(config); + const walk = create$1.createWalker(config); + const generate = create$2.createGenerator(config); + const { fromPlainObject, toPlainObject } = create$3.createConvertor(walk); + + const syntax = { + lexer: null, + createLexer: config => new Lexer.Lexer(config, syntax, syntax.lexer.structure), + + tokenize: index.tokenize, + parse, + generate, + + walk, + find: walk.find, + findLast: walk.findLast, + findAll: walk.findAll, + + fromPlainObject, + toPlainObject, + + fork(extension) { + const base = mix({}, config); // copy of config + + return createSyntax( + typeof extension === 'function' + ? extension(base, Object.assign) + : mix(base, extension) + ); + } + }; + + syntax.lexer = new Lexer.Lexer({ + generic: true, + types: config.types, + atrules: config.atrules, + properties: config.properties, + node: config.node + }, syntax); + + return syntax; +} +const createSyntax$1 = config => createSyntax(mix({}, config)); + +module.exports = createSyntax$1; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/expression.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/expression.cjs new file mode 100644 index 00000000..43d81374 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/expression.cjs @@ -0,0 +1,11 @@ +'use strict'; + +// legacy IE function +// expression( <any-value> ) +function expressionFn() { + return this.createSingleNodeList( + this.Raw(this.tokenIndex, null, false) + ); +} + +module.exports = expressionFn; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/var.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/var.cjs new file mode 100644 index 00000000..96729706 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/function/var.cjs @@ -0,0 +1,43 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +// var( <ident> , <value>? ) +function varFn() { + const children = this.createList(); + + this.skipSC(); + + // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer + children.push(this.Identifier()); + + this.skipSC(); + + if (this.tokenType === types.Comma) { + children.push(this.Operator()); + + const startIndex = this.tokenIndex; + const value = this.parseCustomProperty + ? this.Value(null) + : this.Raw(this.tokenIndex, this.consumeUntilExclamationMarkOrSemicolon, false); + + if (value.type === 'Value' && value.children.isEmpty) { + for (let offset = startIndex - this.tokenIndex; offset <= 0; offset++) { + if (this.lookupType(offset) === types.WhiteSpace) { + value.children.appendData({ + type: 'WhiteSpace', + loc: null, + value: ' ' + }); + break; + } + } + } + + children.push(value); + } + + return children; +} + +module.exports = varFn; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/index.cjs new file mode 100644 index 00000000..24de4957 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/index.cjs @@ -0,0 +1,14 @@ +'use strict'; + +const create = require('./create.cjs'); +const lexer = require('./config/lexer.cjs'); +const parser = require('./config/parser.cjs'); +const walker = require('./config/walker.cjs'); + +const syntax = create({ + ...lexer, + ...parser, + ...walker +}); + +module.exports = syntax; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AnPlusB.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AnPlusB.cjs new file mode 100644 index 00000000..cd59927a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AnPlusB.cjs @@ -0,0 +1,293 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const N = 0x006E; // U+006E LATIN SMALL LETTER N (n) +const DISALLOW_SIGN = true; +const ALLOW_SIGN = false; + +function checkInteger(offset, disallowSign) { + let pos = this.tokenStart + offset; + const code = this.charCodeAt(pos); + + if (code === PLUSSIGN || code === HYPHENMINUS) { + if (disallowSign) { + this.error('Number sign is not allowed'); + } + pos++; + } + + for (; pos < this.tokenEnd; pos++) { + if (!charCodeDefinitions.isDigit(this.charCodeAt(pos))) { + this.error('Integer is expected', pos); + } + } +} + +function checkTokenIsInteger(disallowSign) { + return checkInteger.call(this, 0, disallowSign); +} + +function expectCharCode(offset, code) { + if (!this.cmpChar(this.tokenStart + offset, code)) { + let msg = ''; + + switch (code) { + case N: + msg = 'N is expected'; + break; + case HYPHENMINUS: + msg = 'HyphenMinus is expected'; + break; + } + + this.error(msg, this.tokenStart + offset); + } +} + +// ... <signed-integer> +// ... ['+' | '-'] <signless-integer> +function consumeB() { + let offset = 0; + let sign = 0; + let type = this.tokenType; + + while (type === types.WhiteSpace || type === types.Comment) { + type = this.lookupType(++offset); + } + + if (type !== types.Number) { + if (this.isDelim(PLUSSIGN, offset) || + this.isDelim(HYPHENMINUS, offset)) { + sign = this.isDelim(PLUSSIGN, offset) ? PLUSSIGN : HYPHENMINUS; + + do { + type = this.lookupType(++offset); + } while (type === types.WhiteSpace || type === types.Comment); + + if (type !== types.Number) { + this.skip(offset); + checkTokenIsInteger.call(this, DISALLOW_SIGN); + } + } else { + return null; + } + } + + if (offset > 0) { + this.skip(offset); + } + + if (sign === 0) { + type = this.charCodeAt(this.tokenStart); + if (type !== PLUSSIGN && type !== HYPHENMINUS) { + this.error('Number sign is expected'); + } + } + + checkTokenIsInteger.call(this, sign !== 0); + return sign === HYPHENMINUS ? '-' + this.consume(types.Number) : this.consume(types.Number); +} + +// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb +const name = 'AnPlusB'; +const structure = { + a: [String, null], + b: [String, null] +}; + +function parse() { + /* eslint-disable brace-style*/ + const start = this.tokenStart; + let a = null; + let b = null; + + // <integer> + if (this.tokenType === types.Number) { + checkTokenIsInteger.call(this, ALLOW_SIGN); + b = this.consume(types.Number); + } + + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + // -n- <signless-integer> + // <dashndashdigit-ident> + else if (this.tokenType === types.Ident && this.cmpChar(this.tokenStart, HYPHENMINUS)) { + a = '-1'; + + expectCharCode.call(this, 1, N); + + switch (this.tokenEnd - this.tokenStart) { + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + case 2: + this.next(); + b = consumeB.call(this); + break; + + // -n- <signless-integer> + case 3: + expectCharCode.call(this, 2, HYPHENMINUS); + + this.next(); + this.skipSC(); + + checkTokenIsInteger.call(this, DISALLOW_SIGN); + + b = '-' + this.consume(types.Number); + break; + + // <dashndashdigit-ident> + default: + expectCharCode.call(this, 2, HYPHENMINUS); + checkInteger.call(this, 3, DISALLOW_SIGN); + this.next(); + + b = this.substrToCursor(start + 2); + } + } + + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + // '+'? n- <signless-integer> + // '+'? <ndashdigit-ident> + else if (this.tokenType === types.Ident || (this.isDelim(PLUSSIGN) && this.lookupType(1) === types.Ident)) { + let sign = 0; + a = '1'; + + // just ignore a plus + if (this.isDelim(PLUSSIGN)) { + sign = 1; + this.next(); + } + + expectCharCode.call(this, 0, N); + + switch (this.tokenEnd - this.tokenStart) { + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + case 1: + this.next(); + b = consumeB.call(this); + break; + + // '+'? n- <signless-integer> + case 2: + expectCharCode.call(this, 1, HYPHENMINUS); + + this.next(); + this.skipSC(); + + checkTokenIsInteger.call(this, DISALLOW_SIGN); + + b = '-' + this.consume(types.Number); + break; + + // '+'? <ndashdigit-ident> + default: + expectCharCode.call(this, 1, HYPHENMINUS); + checkInteger.call(this, 2, DISALLOW_SIGN); + this.next(); + + b = this.substrToCursor(start + sign + 1); + } + } + + // <ndashdigit-dimension> + // <ndash-dimension> <signless-integer> + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + else if (this.tokenType === types.Dimension) { + const code = this.charCodeAt(this.tokenStart); + const sign = code === PLUSSIGN || code === HYPHENMINUS; + let i = this.tokenStart + sign; + + for (; i < this.tokenEnd; i++) { + if (!charCodeDefinitions.isDigit(this.charCodeAt(i))) { + break; + } + } + + if (i === this.tokenStart + sign) { + this.error('Integer is expected', this.tokenStart + sign); + } + + expectCharCode.call(this, i - this.tokenStart, N); + a = this.substring(start, i); + + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + if (i + 1 === this.tokenEnd) { + this.next(); + b = consumeB.call(this); + } else { + expectCharCode.call(this, i - this.tokenStart + 1, HYPHENMINUS); + + // <ndash-dimension> <signless-integer> + if (i + 2 === this.tokenEnd) { + this.next(); + this.skipSC(); + checkTokenIsInteger.call(this, DISALLOW_SIGN); + b = '-' + this.consume(types.Number); + } + // <ndashdigit-dimension> + else { + checkInteger.call(this, i - this.tokenStart + 2, DISALLOW_SIGN); + this.next(); + b = this.substrToCursor(i + 1); + } + } + } else { + this.error(); + } + + if (a !== null && a.charCodeAt(0) === PLUSSIGN) { + a = a.substr(1); + } + + if (b !== null && b.charCodeAt(0) === PLUSSIGN) { + b = b.substr(1); + } + + return { + type: 'AnPlusB', + loc: this.getLocation(start, this.tokenStart), + a, + b + }; +} + +function generate(node) { + if (node.a) { + const a = + node.a === '+1' && 'n' || + node.a === '1' && 'n' || + node.a === '-1' && '-n' || + node.a + 'n'; + + if (node.b) { + const b = node.b[0] === '-' || node.b[0] === '+' + ? node.b + : '+' + node.b; + this.tokenize(a + b); + } else { + this.tokenize(a); + } + } else { + this.tokenize(node.b); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Atrule.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Atrule.cjs new file mode 100644 index 00000000..266e50fc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Atrule.cjs @@ -0,0 +1,103 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilLeftCurlyBracketOrSemicolon, true); +} + +function isDeclarationBlockAtrule() { + for (let offset = 1, type; type = this.lookupType(offset); offset++) { + if (type === types.RightCurlyBracket) { + return true; + } + + if (type === types.LeftCurlyBracket || + type === types.AtKeyword) { + return false; + } + } + + return false; +} + + +const name = 'Atrule'; +const walkContext = 'atrule'; +const structure = { + name: String, + prelude: ['AtrulePrelude', 'Raw', null], + block: ['Block', null] +}; + +function parse() { + const start = this.tokenStart; + let name; + let nameLowerCase; + let prelude = null; + let block = null; + + this.eat(types.AtKeyword); + + name = this.substrToCursor(start + 1); + nameLowerCase = name.toLowerCase(); + this.skipSC(); + + // parse prelude + if (this.eof === false && + this.tokenType !== types.LeftCurlyBracket && + this.tokenType !== types.Semicolon) { + if (this.parseAtrulePrelude) { + prelude = this.parseWithFallback(this.AtrulePrelude.bind(this, name), consumeRaw); + } else { + prelude = consumeRaw.call(this, this.tokenIndex); + } + + this.skipSC(); + } + + switch (this.tokenType) { + case types.Semicolon: + this.next(); + break; + + case types.LeftCurlyBracket: + if (hasOwnProperty.call(this.atrule, nameLowerCase) && + typeof this.atrule[nameLowerCase].block === 'function') { + block = this.atrule[nameLowerCase].block.call(this); + } else { + // TODO: should consume block content as Raw? + block = this.Block(isDeclarationBlockAtrule.call(this)); + } + + break; + } + + return { + type: 'Atrule', + loc: this.getLocation(start, this.tokenStart), + name, + prelude, + block + }; +} + +function generate(node) { + this.token(types.AtKeyword, '@' + node.name); + + if (node.prelude !== null) { + this.node(node.prelude); + } + + if (node.block) { + this.node(node.block); + } else { + this.token(types.Semicolon, ';'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AtrulePrelude.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AtrulePrelude.cjs new file mode 100644 index 00000000..0db69b67 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AtrulePrelude.cjs @@ -0,0 +1,52 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'AtrulePrelude'; +const walkContext = 'atrulePrelude'; +const structure = { + children: [[]] +}; + +function parse(name) { + let children = null; + + if (name !== null) { + name = name.toLowerCase(); + } + + this.skipSC(); + + if (hasOwnProperty.call(this.atrule, name) && + typeof this.atrule[name].prelude === 'function') { + // custom consumer + children = this.atrule[name].prelude.call(this); + } else { + // default consumer + children = this.readSequence(this.scope.AtrulePrelude); + } + + this.skipSC(); + + if (this.eof !== true && + this.tokenType !== types.LeftCurlyBracket && + this.tokenType !== types.Semicolon) { + this.error('Semicolon or block is expected'); + } + + return { + type: 'AtrulePrelude', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AttributeSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AttributeSelector.cjs new file mode 100644 index 00000000..757d4ebf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/AttributeSelector.cjs @@ -0,0 +1,148 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const DOLLARSIGN = 0x0024; // U+0024 DOLLAR SIGN ($) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const EQUALSSIGN = 0x003D; // U+003D EQUALS SIGN (=) +const CIRCUMFLEXACCENT = 0x005E; // U+005E (^) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) +const TILDE = 0x007E; // U+007E TILDE (~) + +function getAttributeName() { + if (this.eof) { + this.error('Unexpected end of input'); + } + + const start = this.tokenStart; + let expectIdent = false; + + if (this.isDelim(ASTERISK)) { + expectIdent = true; + this.next(); + } else if (!this.isDelim(VERTICALLINE)) { + this.eat(types.Ident); + } + + if (this.isDelim(VERTICALLINE)) { + if (this.charCodeAt(this.tokenStart + 1) !== EQUALSSIGN) { + this.next(); + this.eat(types.Ident); + } else if (expectIdent) { + this.error('Identifier is expected', this.tokenEnd); + } + } else if (expectIdent) { + this.error('Vertical line is expected'); + } + + return { + type: 'Identifier', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start) + }; +} + +function getOperator() { + const start = this.tokenStart; + const code = this.charCodeAt(start); + + if (code !== EQUALSSIGN && // = + code !== TILDE && // ~= + code !== CIRCUMFLEXACCENT && // ^= + code !== DOLLARSIGN && // $= + code !== ASTERISK && // *= + code !== VERTICALLINE // |= + ) { + this.error('Attribute selector (=, ~=, ^=, $=, *=, |=) is expected'); + } + + this.next(); + + if (code !== EQUALSSIGN) { + if (!this.isDelim(EQUALSSIGN)) { + this.error('Equal sign is expected'); + } + + this.next(); + } + + return this.substrToCursor(start); +} + +// '[' <wq-name> ']' +// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']' +const name = 'AttributeSelector'; +const structure = { + name: 'Identifier', + matcher: [String, null], + value: ['String', 'Identifier', null], + flags: [String, null] +}; + +function parse() { + const start = this.tokenStart; + let name; + let matcher = null; + let value = null; + let flags = null; + + this.eat(types.LeftSquareBracket); + this.skipSC(); + + name = getAttributeName.call(this); + this.skipSC(); + + if (this.tokenType !== types.RightSquareBracket) { + // avoid case `[name i]` + if (this.tokenType !== types.Ident) { + matcher = getOperator.call(this); + + this.skipSC(); + + value = this.tokenType === types.String + ? this.String() + : this.Identifier(); + + this.skipSC(); + } + + // attribute flags + if (this.tokenType === types.Ident) { + flags = this.consume(types.Ident); + + this.skipSC(); + } + } + + this.eat(types.RightSquareBracket); + + return { + type: 'AttributeSelector', + loc: this.getLocation(start, this.tokenStart), + name, + matcher, + value, + flags + }; +} + +function generate(node) { + this.token(types.Delim, '['); + this.node(node.name); + + if (node.matcher !== null) { + this.tokenize(node.matcher); + this.node(node.value); + } + + if (node.flags !== null) { + this.token(types.Ident, node.flags); + } + + this.token(types.Delim, ']'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Block.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Block.cjs new file mode 100644 index 00000000..c180d50e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Block.cjs @@ -0,0 +1,90 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, null, true); +} +function consumeRule() { + return this.parseWithFallback(this.Rule, consumeRaw); +} +function consumeRawDeclaration(startToken) { + return this.Raw(startToken, this.consumeUntilSemicolonIncluded, true); +} +function consumeDeclaration() { + if (this.tokenType === types.Semicolon) { + return consumeRawDeclaration.call(this, this.tokenIndex); + } + + const node = this.parseWithFallback(this.Declaration, consumeRawDeclaration); + + if (this.tokenType === types.Semicolon) { + this.next(); + } + + return node; +} + +const name = 'Block'; +const walkContext = 'block'; +const structure = { + children: [[ + 'Atrule', + 'Rule', + 'Declaration' + ]] +}; + +function parse(isDeclaration) { + const consumer = isDeclaration ? consumeDeclaration : consumeRule; + const start = this.tokenStart; + let children = this.createList(); + + this.eat(types.LeftCurlyBracket); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.RightCurlyBracket: + break scan; + + case types.WhiteSpace: + case types.Comment: + this.next(); + break; + + case types.AtKeyword: + children.push(this.parseWithFallback(this.Atrule, consumeRaw)); + break; + + default: + children.push(consumer.call(this)); + } + } + + if (!this.eof) { + this.eat(types.RightCurlyBracket); + } + + return { + type: 'Block', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.LeftCurlyBracket, '{'); + this.children(node, prev => { + if (prev.type === 'Declaration') { + this.token(types.Semicolon, ';'); + } + }); + this.token(types.RightCurlyBracket, '}'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Brackets.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Brackets.cjs new file mode 100644 index 00000000..eb181318 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Brackets.cjs @@ -0,0 +1,38 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Brackets'; +const structure = { + children: [[]] +}; + +function parse(readSequence, recognizer) { + const start = this.tokenStart; + let children = null; + + this.eat(types.LeftSquareBracket); + + children = readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightSquareBracket); + } + + return { + type: 'Brackets', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.Delim, '['); + this.children(node); + this.token(types.Delim, ']'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDC.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDC.cjs new file mode 100644 index 00000000..aadf3ad7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDC.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'CDC'; +const structure = []; + +function parse() { + const start = this.tokenStart; + + this.eat(types.CDC); // --> + + return { + type: 'CDC', + loc: this.getLocation(start, this.tokenStart) + }; +} + +function generate() { + this.token(types.CDC, '-->'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDO.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDO.cjs new file mode 100644 index 00000000..0e982178 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/CDO.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'CDO'; +const structure = []; + +function parse() { + const start = this.tokenStart; + + this.eat(types.CDO); // <!-- + + return { + type: 'CDO', + loc: this.getLocation(start, this.tokenStart) + }; +} + +function generate() { + this.token(types.CDO, '<!--'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/ClassSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/ClassSelector.cjs new file mode 100644 index 00000000..ff3de5cf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/ClassSelector.cjs @@ -0,0 +1,31 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) + +// '.' ident +const name = 'ClassSelector'; +const structure = { + name: String +}; + +function parse() { + this.eatDelim(FULLSTOP); + + return { + type: 'ClassSelector', + loc: this.getLocation(this.tokenStart - 1, this.tokenEnd), + name: this.consume(types.Ident) + }; +} + +function generate(node) { + this.token(types.Delim, '.'); + this.token(types.Ident, node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Combinator.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Combinator.cjs new file mode 100644 index 00000000..1a242788 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Combinator.cjs @@ -0,0 +1,61 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>) +const TILDE = 0x007E; // U+007E TILDE (~) + +const name = 'Combinator'; +const structure = { + name: String +}; + +// + | > | ~ | /deep/ +function parse() { + const start = this.tokenStart; + let name; + + switch (this.tokenType) { + case types.WhiteSpace: + name = ' '; + break; + + case types.Delim: + switch (this.charCodeAt(this.tokenStart)) { + case GREATERTHANSIGN: + case PLUSSIGN: + case TILDE: + this.next(); + break; + + case SOLIDUS: + this.next(); + this.eatIdent('deep'); + this.eatDelim(SOLIDUS); + break; + + default: + this.error('Combinator is expected'); + } + + name = this.substrToCursor(start); + break; + } + + return { + type: 'Combinator', + loc: this.getLocation(start, this.tokenStart), + name + }; +} + +function generate(node) { + this.tokenize(node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Comment.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Comment.cjs new file mode 100644 index 00000000..083e950b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Comment.cjs @@ -0,0 +1,40 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) + + +const name = 'Comment'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + let end = this.tokenEnd; + + this.eat(types.Comment); + + if ((end - start + 2) >= 2 && + this.charCodeAt(end - 2) === ASTERISK && + this.charCodeAt(end - 1) === SOLIDUS) { + end -= 2; + } + + return { + type: 'Comment', + loc: this.getLocation(start, this.tokenStart), + value: this.substring(start + 2, end) + }; +} + +function generate(node) { + this.token(types.Comment, '/*' + node.value + '*/'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Declaration.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Declaration.cjs new file mode 100644 index 00000000..c0075770 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Declaration.cjs @@ -0,0 +1,166 @@ +'use strict'; + +const names = require('../../utils/names.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const DOLLARSIGN = 0x0024; // U+0024 DOLLAR SIGN ($) +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) + +function consumeValueRaw(startToken) { + return this.Raw(startToken, this.consumeUntilExclamationMarkOrSemicolon, true); +} + +function consumeCustomPropertyRaw(startToken) { + return this.Raw(startToken, this.consumeUntilExclamationMarkOrSemicolon, false); +} + +function consumeValue() { + const startValueToken = this.tokenIndex; + const value = this.Value(); + + if (value.type !== 'Raw' && + this.eof === false && + this.tokenType !== types.Semicolon && + this.isDelim(EXCLAMATIONMARK) === false && + this.isBalanceEdge(startValueToken) === false) { + this.error(); + } + + return value; +} + +const name = 'Declaration'; +const walkContext = 'declaration'; +const structure = { + important: [Boolean, String], + property: String, + value: ['Value', 'Raw'] +}; + +function parse() { + const start = this.tokenStart; + const startToken = this.tokenIndex; + const property = readProperty.call(this); + const customProperty = names.isCustomProperty(property); + const parseValue = customProperty ? this.parseCustomProperty : this.parseValue; + const consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw; + let important = false; + let value; + + this.skipSC(); + this.eat(types.Colon); + + const valueStart = this.tokenIndex; + + if (!customProperty) { + this.skipSC(); + } + + if (parseValue) { + value = this.parseWithFallback(consumeValue, consumeRaw); + } else { + value = consumeRaw.call(this, this.tokenIndex); + } + + if (customProperty && value.type === 'Value' && value.children.isEmpty) { + for (let offset = valueStart - this.tokenIndex; offset <= 0; offset++) { + if (this.lookupType(offset) === types.WhiteSpace) { + value.children.appendData({ + type: 'WhiteSpace', + loc: null, + value: ' ' + }); + break; + } + } + } + + if (this.isDelim(EXCLAMATIONMARK)) { + important = getImportant.call(this); + this.skipSC(); + } + + // Do not include semicolon to range per spec + // https://drafts.csswg.org/css-syntax/#declaration-diagram + + if (this.eof === false && + this.tokenType !== types.Semicolon && + this.isBalanceEdge(startToken) === false) { + this.error(); + } + + return { + type: 'Declaration', + loc: this.getLocation(start, this.tokenStart), + important, + property, + value + }; +} + +function generate(node) { + this.token(types.Ident, node.property); + this.token(types.Colon, ':'); + this.node(node.value); + + if (node.important) { + this.token(types.Delim, '!'); + this.token(types.Ident, node.important === true ? 'important' : node.important); + } +} + +function readProperty() { + const start = this.tokenStart; + + // hacks + if (this.tokenType === types.Delim) { + switch (this.charCodeAt(this.tokenStart)) { + case ASTERISK: + case DOLLARSIGN: + case PLUSSIGN: + case NUMBERSIGN: + case AMPERSAND: + this.next(); + break; + + // TODO: not sure we should support this hack + case SOLIDUS: + this.next(); + if (this.isDelim(SOLIDUS)) { + this.next(); + } + break; + } + } + + if (this.tokenType === types.Hash) { + this.eat(types.Hash); + } else { + this.eat(types.Ident); + } + + return this.substrToCursor(start); +} + +// ! ws* important +function getImportant() { + this.eat(types.Delim); + this.skipSC(); + + const important = this.consume(types.Ident); + + // store original value in case it differ from `important` + // for better original source restoring and hacks like `!ie` support + return important === 'important' ? true : important; +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/DeclarationList.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/DeclarationList.cjs new file mode 100644 index 00000000..5ab7de10 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/DeclarationList.cjs @@ -0,0 +1,50 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilSemicolonIncluded, true); +} + +const name = 'DeclarationList'; +const structure = { + children: [[ + 'Declaration' + ]] +}; + +function parse() { + const children = this.createList(); + + while (!this.eof) { + switch (this.tokenType) { + case types.WhiteSpace: + case types.Comment: + case types.Semicolon: + this.next(); + break; + + default: + children.push(this.parseWithFallback(this.Declaration, consumeRaw)); + } + } + + return { + type: 'DeclarationList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, prev => { + if (prev.type === 'Declaration') { + this.token(types.Semicolon, ';'); + } + }); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Dimension.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Dimension.cjs new file mode 100644 index 00000000..227184cc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Dimension.cjs @@ -0,0 +1,30 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Dimension'; +const structure = { + value: String, + unit: String +}; + +function parse() { + const start = this.tokenStart; + const value = this.consumeNumber(types.Dimension); + + return { + type: 'Dimension', + loc: this.getLocation(start, this.tokenStart), + value, + unit: this.substring(start + value.length, this.tokenStart) + }; +} + +function generate(node) { + this.token(types.Dimension, node.value + node.unit); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Function.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Function.cjs new file mode 100644 index 00000000..b5e3b57e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Function.cjs @@ -0,0 +1,45 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Function'; +const walkContext = 'function'; +const structure = { + name: String, + children: [[]] +}; + +// <function-token> <sequence> ) +function parse(readSequence, recognizer) { + const start = this.tokenStart; + const name = this.consumeFunctionName(); + const nameLowerCase = name.toLowerCase(); + let children; + + children = recognizer.hasOwnProperty(nameLowerCase) + ? recognizer[nameLowerCase].call(this, recognizer) + : readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightParenthesis); + } + + return { + type: 'Function', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Hash.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Hash.cjs new file mode 100644 index 00000000..8b5f3753 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Hash.cjs @@ -0,0 +1,30 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +// '#' ident +const xxx = 'XXX'; +const name = 'Hash'; +const structure = { + value: String +}; +function parse() { + const start = this.tokenStart; + + this.eat(types.Hash); + + return { + type: 'Hash', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start + 1) + }; +} +function generate(node) { + this.token(types.Hash, '#' + node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.xxx = xxx; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/IdSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/IdSelector.cjs new file mode 100644 index 00000000..264525db --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/IdSelector.cjs @@ -0,0 +1,33 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'IdSelector'; +const structure = { + name: String +}; + +function parse() { + const start = this.tokenStart; + + // TODO: check value is an ident + this.eat(types.Hash); + + return { + type: 'IdSelector', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start + 1) + }; +} + +function generate(node) { + // Using Delim instead of Hash is a hack to avoid for a whitespace between ident and id-selector + // in safe mode (e.g. "a#id"), because IE11 doesn't allow a sequence <ident-token> <hash-token> + // without a whitespace in values (e.g. "1px solid#000") + this.token(types.Delim, '#' + node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Identifier.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Identifier.cjs new file mode 100644 index 00000000..8928cf8c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Identifier.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Identifier'; +const structure = { + name: String +}; + +function parse() { + return { + type: 'Identifier', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + name: this.consume(types.Ident) + }; +} + +function generate(node) { + this.token(types.Ident, node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaFeature.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaFeature.cjs new file mode 100644 index 00000000..90e8d5a8 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaFeature.cjs @@ -0,0 +1,76 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaFeature'; +const structure = { + name: String, + value: ['Identifier', 'Number', 'Dimension', 'Ratio', null] +}; + +function parse() { + const start = this.tokenStart; + let name; + let value = null; + + this.eat(types.LeftParenthesis); + this.skipSC(); + + name = this.consume(types.Ident); + this.skipSC(); + + if (this.tokenType !== types.RightParenthesis) { + this.eat(types.Colon); + this.skipSC(); + + switch (this.tokenType) { + case types.Number: + if (this.lookupNonWSType(1) === types.Delim) { + value = this.Ratio(); + } else { + value = this.Number(); + } + + break; + + case types.Dimension: + value = this.Dimension(); + break; + + case types.Ident: + value = this.Identifier(); + break; + + default: + this.error('Number, dimension, ratio or identifier is expected'); + } + + this.skipSC(); + } + + this.eat(types.RightParenthesis); + + return { + type: 'MediaFeature', + loc: this.getLocation(start, this.tokenStart), + name, + value + }; +} + +function generate(node) { + this.token(types.LeftParenthesis, '('); + this.token(types.Ident, node.name); + + if (node.value !== null) { + this.token(types.Colon, ':'); + this.node(node.value); + } + + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQuery.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQuery.cjs new file mode 100644 index 00000000..0b99d960 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQuery.cjs @@ -0,0 +1,61 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaQuery'; +const structure = { + children: [[ + 'Identifier', + 'MediaFeature', + 'WhiteSpace' + ]] +}; + +function parse() { + const children = this.createList(); + let child = null; + + this.skipSC(); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + case types.WhiteSpace: + this.next(); + continue; + + case types.Ident: + child = this.Identifier(); + break; + + case types.LeftParenthesis: + child = this.MediaFeature(); + break; + + default: + break scan; + } + + children.push(child); + } + + if (child === null) { + this.error('Identifier or parenthesis is expected'); + } + + return { + type: 'MediaQuery', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQueryList.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQueryList.cjs new file mode 100644 index 00000000..38779477 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/MediaQueryList.cjs @@ -0,0 +1,41 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaQueryList'; +const structure = { + children: [[ + 'MediaQuery' + ]] +}; + +function parse() { + const children = this.createList(); + + this.skipSC(); + + while (!this.eof) { + children.push(this.MediaQuery()); + + if (this.tokenType !== types.Comma) { + break; + } + + this.next(); + } + + return { + type: 'MediaQueryList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, () => this.token(types.Comma, ',')); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Nth.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Nth.cjs new file mode 100644 index 00000000..709312f4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Nth.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Nth'; +const structure = { + nth: ['AnPlusB', 'Identifier'], + selector: ['SelectorList', null] +}; + +function parse() { + this.skipSC(); + + const start = this.tokenStart; + let end = start; + let selector = null; + let nth; + + if (this.lookupValue(0, 'odd') || this.lookupValue(0, 'even')) { + nth = this.Identifier(); + } else { + nth = this.AnPlusB(); + } + + end = this.tokenStart; + this.skipSC(); + + if (this.lookupValue(0, 'of')) { + this.next(); + + selector = this.SelectorList(); + end = this.tokenStart; + } + + return { + type: 'Nth', + loc: this.getLocation(start, end), + nth, + selector + }; +} + +function generate(node) { + this.node(node.nth); + if (node.selector !== null) { + this.token(types.Ident, 'of'); + this.node(node.selector); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Number.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Number.cjs new file mode 100644 index 00000000..8abd9ae9 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Number.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Number'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'Number', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: this.consume(types.Number) + }; +} + +function generate(node) { + this.token(types.Number, node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Operator.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Operator.cjs new file mode 100644 index 00000000..c5a513bf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Operator.cjs @@ -0,0 +1,28 @@ +'use strict'; + +// '/' | '*' | ',' | ':' | '+' | '-' +const name = 'Operator'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + + this.next(); + + return { + type: 'Operator', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Parentheses.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Parentheses.cjs new file mode 100644 index 00000000..7c14bc67 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Parentheses.cjs @@ -0,0 +1,38 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Parentheses'; +const structure = { + children: [[]] +}; + +function parse(readSequence, recognizer) { + const start = this.tokenStart; + let children = null; + + this.eat(types.LeftParenthesis); + + children = readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightParenthesis); + } + + return { + type: 'Parentheses', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.LeftParenthesis, '('); + this.children(node); + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Percentage.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Percentage.cjs new file mode 100644 index 00000000..38cc1d5e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Percentage.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Percentage'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'Percentage', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: this.consumeNumber(types.Percentage) + }; +} + +function generate(node) { + this.token(types.Percentage, node.value + '%'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoClassSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoClassSelector.cjs new file mode 100644 index 00000000..ad58371e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoClassSelector.cjs @@ -0,0 +1,65 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'PseudoClassSelector'; +const walkContext = 'function'; +const structure = { + name: String, + children: [['Raw'], null] +}; + +// : [ <ident> | <function-token> <any-value>? ) ] +function parse() { + const start = this.tokenStart; + let children = null; + let name; + let nameLowerCase; + + this.eat(types.Colon); + + if (this.tokenType === types.Function) { + name = this.consumeFunctionName(); + nameLowerCase = name.toLowerCase(); + + if (hasOwnProperty.call(this.pseudo, nameLowerCase)) { + this.skipSC(); + children = this.pseudo[nameLowerCase].call(this); + this.skipSC(); + } else { + children = this.createList(); + children.push( + this.Raw(this.tokenIndex, null, false) + ); + } + + this.eat(types.RightParenthesis); + } else { + name = this.consume(types.Ident); + } + + return { + type: 'PseudoClassSelector', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Colon, ':'); + + if (node.children === null) { + this.token(types.Ident, node.name); + } else { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoElementSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoElementSelector.cjs new file mode 100644 index 00000000..a3c1f12f --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/PseudoElementSelector.cjs @@ -0,0 +1,67 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'PseudoElementSelector'; +const walkContext = 'function'; +const structure = { + name: String, + children: [['Raw'], null] +}; + +// :: [ <ident> | <function-token> <any-value>? ) ] +function parse() { + const start = this.tokenStart; + let children = null; + let name; + let nameLowerCase; + + this.eat(types.Colon); + this.eat(types.Colon); + + if (this.tokenType === types.Function) { + name = this.consumeFunctionName(); + nameLowerCase = name.toLowerCase(); + + if (hasOwnProperty.call(this.pseudo, nameLowerCase)) { + this.skipSC(); + children = this.pseudo[nameLowerCase].call(this); + this.skipSC(); + } else { + children = this.createList(); + children.push( + this.Raw(this.tokenIndex, null, false) + ); + } + + this.eat(types.RightParenthesis); + } else { + name = this.consume(types.Ident); + } + + return { + type: 'PseudoElementSelector', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Colon, ':'); + this.token(types.Colon, ':'); + + if (node.children === null) { + this.token(types.Ident, node.name); + } else { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Ratio.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Ratio.cjs new file mode 100644 index 00000000..8bdf2dcc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Ratio.cjs @@ -0,0 +1,67 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) + +// Terms of <ratio> should be a positive numbers (not zero or negative) +// (see https://drafts.csswg.org/mediaqueries-3/#values) +// However, -o-min-device-pixel-ratio takes fractional values as a ratio's term +// and this is using by various sites. Therefore we relax checking on parse +// to test a term is unsigned number without an exponent part. +// Additional checking may be applied on lexer validation. +function consumeNumber() { + this.skipSC(); + + const value = this.consume(types.Number); + + for (let i = 0; i < value.length; i++) { + const code = value.charCodeAt(i); + if (!charCodeDefinitions.isDigit(code) && code !== FULLSTOP) { + this.error('Unsigned number is expected', this.tokenStart - value.length + i); + } + } + + if (Number(value) === 0) { + this.error('Zero number is not allowed', this.tokenStart - value.length); + } + + return value; +} + +const name = 'Ratio'; +const structure = { + left: String, + right: String +}; + +// <positive-integer> S* '/' S* <positive-integer> +function parse() { + const start = this.tokenStart; + const left = consumeNumber.call(this); + let right; + + this.skipSC(); + this.eatDelim(SOLIDUS); + right = consumeNumber.call(this); + + return { + type: 'Ratio', + loc: this.getLocation(start, this.tokenStart), + left, + right + }; +} + +function generate(node) { + this.token(types.Number, node.left); + this.token(types.Delim, '/'); + this.token(types.Number, node.right); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Raw.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Raw.cjs new file mode 100644 index 00000000..505b5266 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Raw.cjs @@ -0,0 +1,48 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function getOffsetExcludeWS() { + if (this.tokenIndex > 0) { + if (this.lookupType(-1) === types.WhiteSpace) { + return this.tokenIndex > 1 + ? this.getTokenStart(this.tokenIndex - 1) + : this.firstCharOffset; + } + } + + return this.tokenStart; +} + +const name = 'Raw'; +const structure = { + value: String +}; + +function parse(startToken, consumeUntil, excludeWhiteSpace) { + const startOffset = this.getTokenStart(startToken); + let endOffset; + + this.skipUntilBalanced(startToken, consumeUntil || this.consumeUntilBalanceEnd); + + if (excludeWhiteSpace && this.tokenStart > startOffset) { + endOffset = getOffsetExcludeWS.call(this); + } else { + endOffset = this.tokenStart; + } + + return { + type: 'Raw', + loc: this.getLocation(startOffset, endOffset), + value: this.substring(startOffset, endOffset) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Rule.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Rule.cjs new file mode 100644 index 00000000..a76ce712 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Rule.cjs @@ -0,0 +1,58 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilLeftCurlyBracket, true); +} + +function consumePrelude() { + const prelude = this.SelectorList(); + + if (prelude.type !== 'Raw' && + this.eof === false && + this.tokenType !== types.LeftCurlyBracket) { + this.error(); + } + + return prelude; +} + +const name = 'Rule'; +const walkContext = 'rule'; +const structure = { + prelude: ['SelectorList', 'Raw'], + block: ['Block'] +}; + +function parse() { + const startToken = this.tokenIndex; + const startOffset = this.tokenStart; + let prelude; + let block; + + if (this.parseRulePrelude) { + prelude = this.parseWithFallback(consumePrelude, consumeRaw); + } else { + prelude = consumeRaw.call(this, startToken); + } + + block = this.Block(true); + + return { + type: 'Rule', + loc: this.getLocation(startOffset, this.tokenStart), + prelude, + block + }; +} +function generate(node) { + this.node(node.prelude); + this.node(node.block); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Selector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Selector.cjs new file mode 100644 index 00000000..c6cafd1e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Selector.cjs @@ -0,0 +1,39 @@ +'use strict'; + +const name = 'Selector'; +const structure = { + children: [[ + 'TypeSelector', + 'IdSelector', + 'ClassSelector', + 'AttributeSelector', + 'PseudoClassSelector', + 'PseudoElementSelector', + 'Combinator', + 'WhiteSpace' + ]] +}; + +function parse() { + const children = this.readSequence(this.scope.Selector); + + // nothing were consumed + if (this.getFirstListNode(children) === null) { + this.error('Selector is expected'); + } + + return { + type: 'Selector', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/SelectorList.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/SelectorList.cjs new file mode 100644 index 00000000..7ecf09b2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/SelectorList.cjs @@ -0,0 +1,43 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'SelectorList'; +const walkContext = 'selector'; +const structure = { + children: [[ + 'Selector', + 'Raw' + ]] +}; + +function parse() { + const children = this.createList(); + + while (!this.eof) { + children.push(this.Selector()); + + if (this.tokenType === types.Comma) { + this.next(); + continue; + } + + break; + } + + return { + type: 'SelectorList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, () => this.token(types.Comma, ',')); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/String.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/String.cjs new file mode 100644 index 00000000..8a7801e5 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/String.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const string = require('../../utils/string.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const name = 'String'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'String', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: string.decode(this.consume(types.String)) + }; +} + +function generate(node) { + this.token(types.String, string.encode(node.value)); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/StyleSheet.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/StyleSheet.cjs new file mode 100644 index 00000000..60276185 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/StyleSheet.cjs @@ -0,0 +1,83 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) + +function consumeRaw(startToken) { + return this.Raw(startToken, null, false); +} + +const name = 'StyleSheet'; +const walkContext = 'stylesheet'; +const structure = { + children: [[ + 'Comment', + 'CDO', + 'CDC', + 'Atrule', + 'Rule', + 'Raw' + ]] +}; + +function parse() { + const start = this.tokenStart; + const children = this.createList(); + let child; + + while (!this.eof) { + switch (this.tokenType) { + case types.WhiteSpace: + this.next(); + continue; + + case types.Comment: + // ignore comments except exclamation comments (i.e. /*! .. */) on top level + if (this.charCodeAt(this.tokenStart + 2) !== EXCLAMATIONMARK) { + this.next(); + continue; + } + + child = this.Comment(); + break; + + case types.CDO: // <!-- + child = this.CDO(); + break; + + case types.CDC: // --> + child = this.CDC(); + break; + + // CSS Syntax Module Level 3 + // §2.2 Error handling + // At the "top level" of a stylesheet, an <at-keyword-token> starts an at-rule. + case types.AtKeyword: + child = this.parseWithFallback(this.Atrule, consumeRaw); + break; + + // Anything else starts a qualified rule ... + default: + child = this.parseWithFallback(this.Rule, consumeRaw); + } + + children.push(child); + } + + return { + type: 'StyleSheet', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/TypeSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/TypeSelector.cjs new file mode 100644 index 00000000..1d152703 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/TypeSelector.cjs @@ -0,0 +1,59 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) + +function eatIdentifierOrAsterisk() { + if (this.tokenType !== types.Ident && + this.isDelim(ASTERISK) === false) { + this.error('Identifier or asterisk is expected'); + } + + this.next(); +} + +const name = 'TypeSelector'; +const structure = { + name: String +}; + +// ident +// ident|ident +// ident|* +// * +// *|ident +// *|* +// |ident +// |* +function parse() { + const start = this.tokenStart; + + if (this.isDelim(VERTICALLINE)) { + this.next(); + eatIdentifierOrAsterisk.call(this); + } else { + eatIdentifierOrAsterisk.call(this); + + if (this.isDelim(VERTICALLINE)) { + this.next(); + eatIdentifierOrAsterisk.call(this); + } + } + + return { + type: 'TypeSelector', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/UnicodeRange.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/UnicodeRange.cjs new file mode 100644 index 00000000..5585e8fd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/UnicodeRange.cjs @@ -0,0 +1,158 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?) + +function eatHexSequence(offset, allowDash) { + let len = 0; + + for (let pos = this.tokenStart + offset; pos < this.tokenEnd; pos++) { + const code = this.charCodeAt(pos); + + if (code === HYPHENMINUS && allowDash && len !== 0) { + eatHexSequence.call(this, offset + len + 1, false); + return -1; + } + + if (!charCodeDefinitions.isHexDigit(code)) { + this.error( + allowDash && len !== 0 + ? 'Hyphen minus' + (len < 6 ? ' or hex digit' : '') + ' is expected' + : (len < 6 ? 'Hex digit is expected' : 'Unexpected input'), + pos + ); + } + + if (++len > 6) { + this.error('Too many hex digits', pos); + } } + + this.next(); + return len; +} + +function eatQuestionMarkSequence(max) { + let count = 0; + + while (this.isDelim(QUESTIONMARK)) { + if (++count > max) { + this.error('Too many question marks'); + } + + this.next(); + } +} + +function startsWith(code) { + if (this.charCodeAt(this.tokenStart) !== code) { + this.error((code === PLUSSIGN ? 'Plus sign' : 'Hyphen minus') + ' is expected'); + } +} + +// https://drafts.csswg.org/css-syntax/#urange +// Informally, the <urange> production has three forms: +// U+0001 +// Defines a range consisting of a single code point, in this case the code point "1". +// U+0001-00ff +// Defines a range of codepoints between the first and the second value, in this case +// the range between "1" and "ff" (255 in decimal) inclusive. +// U+00?? +// Defines a range of codepoints where the "?" characters range over all hex digits, +// in this case defining the same as the value U+0000-00ff. +// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit). +// +// <urange> = +// u '+' <ident-token> '?'* | +// u <dimension-token> '?'* | +// u <number-token> '?'* | +// u <number-token> <dimension-token> | +// u <number-token> <number-token> | +// u '+' '?'+ +function scanUnicodeRange() { + let hexLength = 0; + + switch (this.tokenType) { + case types.Number: + // u <number-token> '?'* + // u <number-token> <dimension-token> + // u <number-token> <number-token> + hexLength = eatHexSequence.call(this, 1, true); + + if (this.isDelim(QUESTIONMARK)) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + break; + } + + if (this.tokenType === types.Dimension || + this.tokenType === types.Number) { + startsWith.call(this, HYPHENMINUS); + eatHexSequence.call(this, 1, false); + break; + } + + break; + + case types.Dimension: + // u <dimension-token> '?'* + hexLength = eatHexSequence.call(this, 1, true); + + if (hexLength > 0) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + } + + break; + + default: + // u '+' <ident-token> '?'* + // u '+' '?'+ + this.eatDelim(PLUSSIGN); + + if (this.tokenType === types.Ident) { + hexLength = eatHexSequence.call(this, 0, true); + if (hexLength > 0) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + } + break; + } + + if (this.isDelim(QUESTIONMARK)) { + this.next(); + eatQuestionMarkSequence.call(this, 5); + break; + } + + this.error('Hex digit or question mark is expected'); + } +} + +const name = 'UnicodeRange'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + + // U or u + this.eatIdent('u'); + scanUnicodeRange.call(this); + + return { + type: 'UnicodeRange', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Url.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Url.cjs new file mode 100644 index 00000000..6a394577 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Url.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const url = require('../../utils/url.cjs'); +const string = require('../../utils/string.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const name = 'Url'; +const structure = { + value: String +}; + +// <url-token> | <function-token> <string> ) +function parse() { + const start = this.tokenStart; + let value; + + switch (this.tokenType) { + case types.Url: + value = url.decode(this.consume(types.Url)); + break; + + case types.Function: + if (!this.cmpStr(this.tokenStart, this.tokenEnd, 'url(')) { + this.error('Function name must be `url`'); + } + + this.eat(types.Function); + this.skipSC(); + value = string.decode(this.consume(types.String)); + this.skipSC(); + if (!this.eof) { + this.eat(types.RightParenthesis); + } + break; + + default: + this.error('Url or Function is expected'); + } + + return { + type: 'Url', + loc: this.getLocation(start, this.tokenStart), + value + }; +} + +function generate(node) { + this.token(types.Url, url.encode(node.value)); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Value.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Value.cjs new file mode 100644 index 00000000..bdb322e7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/Value.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const name = 'Value'; +const structure = { + children: [[]] +}; + +function parse() { + const start = this.tokenStart; + const children = this.readSequence(this.scope.Value); + + return { + type: 'Value', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/WhiteSpace.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/WhiteSpace.cjs new file mode 100644 index 00000000..50c19826 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/WhiteSpace.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const SPACE = Object.freeze({ + type: 'WhiteSpace', + loc: null, + value: ' ' +}); + +const name = 'WhiteSpace'; +const structure = { + value: String +}; + +function parse() { + this.eat(types.WhiteSpace); + return SPACE; + + // return { + // type: 'WhiteSpace', + // loc: this.getLocation(this.tokenStart, this.tokenEnd), + // value: this.consume(WHITESPACE) + // }; +} + +function generate(node) { + this.token(types.WhiteSpace, node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index-parse.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index-parse.cjs new file mode 100644 index 00000000..e8b383ae --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index-parse.cjs @@ -0,0 +1,85 @@ +'use strict'; + +const AnPlusB = require('./AnPlusB.cjs'); +const Atrule = require('./Atrule.cjs'); +const AtrulePrelude = require('./AtrulePrelude.cjs'); +const AttributeSelector = require('./AttributeSelector.cjs'); +const Block = require('./Block.cjs'); +const Brackets = require('./Brackets.cjs'); +const CDC = require('./CDC.cjs'); +const CDO = require('./CDO.cjs'); +const ClassSelector = require('./ClassSelector.cjs'); +const Combinator = require('./Combinator.cjs'); +const Comment = require('./Comment.cjs'); +const Declaration = require('./Declaration.cjs'); +const DeclarationList = require('./DeclarationList.cjs'); +const Dimension = require('./Dimension.cjs'); +const Function = require('./Function.cjs'); +const Hash = require('./Hash.cjs'); +const Identifier = require('./Identifier.cjs'); +const IdSelector = require('./IdSelector.cjs'); +const MediaFeature = require('./MediaFeature.cjs'); +const MediaQuery = require('./MediaQuery.cjs'); +const MediaQueryList = require('./MediaQueryList.cjs'); +const Nth = require('./Nth.cjs'); +const Number = require('./Number.cjs'); +const Operator = require('./Operator.cjs'); +const Parentheses = require('./Parentheses.cjs'); +const Percentage = require('./Percentage.cjs'); +const PseudoClassSelector = require('./PseudoClassSelector.cjs'); +const PseudoElementSelector = require('./PseudoElementSelector.cjs'); +const Ratio = require('./Ratio.cjs'); +const Raw = require('./Raw.cjs'); +const Rule = require('./Rule.cjs'); +const Selector = require('./Selector.cjs'); +const SelectorList = require('./SelectorList.cjs'); +const String = require('./String.cjs'); +const StyleSheet = require('./StyleSheet.cjs'); +const TypeSelector = require('./TypeSelector.cjs'); +const UnicodeRange = require('./UnicodeRange.cjs'); +const Url = require('./Url.cjs'); +const Value = require('./Value.cjs'); +const WhiteSpace = require('./WhiteSpace.cjs'); + + + +exports.AnPlusB = AnPlusB.parse; +exports.Atrule = Atrule.parse; +exports.AtrulePrelude = AtrulePrelude.parse; +exports.AttributeSelector = AttributeSelector.parse; +exports.Block = Block.parse; +exports.Brackets = Brackets.parse; +exports.CDC = CDC.parse; +exports.CDO = CDO.parse; +exports.ClassSelector = ClassSelector.parse; +exports.Combinator = Combinator.parse; +exports.Comment = Comment.parse; +exports.Declaration = Declaration.parse; +exports.DeclarationList = DeclarationList.parse; +exports.Dimension = Dimension.parse; +exports.Function = Function.parse; +exports.Hash = Hash.parse; +exports.Identifier = Identifier.parse; +exports.IdSelector = IdSelector.parse; +exports.MediaFeature = MediaFeature.parse; +exports.MediaQuery = MediaQuery.parse; +exports.MediaQueryList = MediaQueryList.parse; +exports.Nth = Nth.parse; +exports.Number = Number.parse; +exports.Operator = Operator.parse; +exports.Parentheses = Parentheses.parse; +exports.Percentage = Percentage.parse; +exports.PseudoClassSelector = PseudoClassSelector.parse; +exports.PseudoElementSelector = PseudoElementSelector.parse; +exports.Ratio = Ratio.parse; +exports.Raw = Raw.parse; +exports.Rule = Rule.parse; +exports.Selector = Selector.parse; +exports.SelectorList = SelectorList.parse; +exports.String = String.parse; +exports.StyleSheet = StyleSheet.parse; +exports.TypeSelector = TypeSelector.parse; +exports.UnicodeRange = UnicodeRange.parse; +exports.Url = Url.parse; +exports.Value = Value.parse; +exports.WhiteSpace = WhiteSpace.parse; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index.cjs new file mode 100644 index 00000000..6398702b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/node/index.cjs @@ -0,0 +1,85 @@ +'use strict'; + +const AnPlusB = require('./AnPlusB.cjs'); +const Atrule = require('./Atrule.cjs'); +const AtrulePrelude = require('./AtrulePrelude.cjs'); +const AttributeSelector = require('./AttributeSelector.cjs'); +const Block = require('./Block.cjs'); +const Brackets = require('./Brackets.cjs'); +const CDC = require('./CDC.cjs'); +const CDO = require('./CDO.cjs'); +const ClassSelector = require('./ClassSelector.cjs'); +const Combinator = require('./Combinator.cjs'); +const Comment = require('./Comment.cjs'); +const Declaration = require('./Declaration.cjs'); +const DeclarationList = require('./DeclarationList.cjs'); +const Dimension = require('./Dimension.cjs'); +const Function = require('./Function.cjs'); +const Hash = require('./Hash.cjs'); +const Identifier = require('./Identifier.cjs'); +const IdSelector = require('./IdSelector.cjs'); +const MediaFeature = require('./MediaFeature.cjs'); +const MediaQuery = require('./MediaQuery.cjs'); +const MediaQueryList = require('./MediaQueryList.cjs'); +const Nth = require('./Nth.cjs'); +const Number$1 = require('./Number.cjs'); +const Operator = require('./Operator.cjs'); +const Parentheses = require('./Parentheses.cjs'); +const Percentage = require('./Percentage.cjs'); +const PseudoClassSelector = require('./PseudoClassSelector.cjs'); +const PseudoElementSelector = require('./PseudoElementSelector.cjs'); +const Ratio = require('./Ratio.cjs'); +const Raw = require('./Raw.cjs'); +const Rule = require('./Rule.cjs'); +const Selector = require('./Selector.cjs'); +const SelectorList = require('./SelectorList.cjs'); +const String$1 = require('./String.cjs'); +const StyleSheet = require('./StyleSheet.cjs'); +const TypeSelector = require('./TypeSelector.cjs'); +const UnicodeRange = require('./UnicodeRange.cjs'); +const Url = require('./Url.cjs'); +const Value = require('./Value.cjs'); +const WhiteSpace = require('./WhiteSpace.cjs'); + + + +exports.AnPlusB = AnPlusB; +exports.Atrule = Atrule; +exports.AtrulePrelude = AtrulePrelude; +exports.AttributeSelector = AttributeSelector; +exports.Block = Block; +exports.Brackets = Brackets; +exports.CDC = CDC; +exports.CDO = CDO; +exports.ClassSelector = ClassSelector; +exports.Combinator = Combinator; +exports.Comment = Comment; +exports.Declaration = Declaration; +exports.DeclarationList = DeclarationList; +exports.Dimension = Dimension; +exports.Function = Function; +exports.Hash = Hash; +exports.Identifier = Identifier; +exports.IdSelector = IdSelector; +exports.MediaFeature = MediaFeature; +exports.MediaQuery = MediaQuery; +exports.MediaQueryList = MediaQueryList; +exports.Nth = Nth; +exports.Number = Number$1; +exports.Operator = Operator; +exports.Parentheses = Parentheses; +exports.Percentage = Percentage; +exports.PseudoClassSelector = PseudoClassSelector; +exports.PseudoElementSelector = PseudoElementSelector; +exports.Ratio = Ratio; +exports.Raw = Raw; +exports.Rule = Rule; +exports.Selector = Selector; +exports.SelectorList = SelectorList; +exports.String = String$1; +exports.StyleSheet = StyleSheet; +exports.TypeSelector = TypeSelector; +exports.UnicodeRange = UnicodeRange; +exports.Url = Url; +exports.Value = Value; +exports.WhiteSpace = WhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/pseudo/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/pseudo/index.cjs new file mode 100644 index 00000000..c3121ebd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/pseudo/index.cjs @@ -0,0 +1,52 @@ +'use strict'; + +const selectorList = { + parse() { + return this.createSingleNodeList( + this.SelectorList() + ); + } +}; + +const selector = { + parse() { + return this.createSingleNodeList( + this.Selector() + ); + } +}; + +const identList = { + parse() { + return this.createSingleNodeList( + this.Identifier() + ); + } +}; + +const nth = { + parse() { + return this.createSingleNodeList( + this.Nth() + ); + } +}; + +const pseudo = { + 'dir': identList, + 'has': selectorList, + 'lang': identList, + 'matches': selectorList, + 'is': selectorList, + '-moz-any': selectorList, + '-webkit-any': selectorList, + 'where': selectorList, + 'not': selectorList, + 'nth-child': nth, + 'nth-last-child': nth, + 'nth-last-of-type': nth, + 'nth-of-type': nth, + 'slotted': selector +}; + +module.exports = pseudo; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/atrulePrelude.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/atrulePrelude.cjs new file mode 100644 index 00000000..65a15447 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/atrulePrelude.cjs @@ -0,0 +1,9 @@ +'use strict'; + +const _default = require('./default.cjs'); + +const atrulePrelude = { + getNode: _default +}; + +module.exports = atrulePrelude; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/default.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/default.cjs new file mode 100644 index 00000000..43b5c188 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/default.cjs @@ -0,0 +1,76 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const U = 0x0075; // U+0075 LATIN SMALL LETTER U (u) + +function defaultRecognizer(context) { + switch (this.tokenType) { + case types.Hash: + return this.Hash(); + + case types.Comma: + return this.Operator(); + + case types.LeftParenthesis: + return this.Parentheses(this.readSequence, context.recognizer); + + case types.LeftSquareBracket: + return this.Brackets(this.readSequence, context.recognizer); + + case types.String: + return this.String(); + + case types.Dimension: + return this.Dimension(); + + case types.Percentage: + return this.Percentage(); + + case types.Number: + return this.Number(); + + case types.Function: + return this.cmpStr(this.tokenStart, this.tokenEnd, 'url(') + ? this.Url() + : this.Function(this.readSequence, context.recognizer); + + case types.Url: + return this.Url(); + + case types.Ident: + // check for unicode range, it should start with u+ or U+ + if (this.cmpChar(this.tokenStart, U) && + this.cmpChar(this.tokenStart + 1, PLUSSIGN)) { + return this.UnicodeRange(); + } else { + return this.Identifier(); + } + + case types.Delim: { + const code = this.charCodeAt(this.tokenStart); + + if (code === SOLIDUS || + code === ASTERISK || + code === PLUSSIGN || + code === HYPHENMINUS) { + return this.Operator(); // TODO: replace with Delim + } + + // TODO: produce a node with Delim node type + + if (code === NUMBERSIGN) { + this.error('Hex or identifier is expected', this.tokenStart + 1); + } + + break; + } + } +} + +module.exports = defaultRecognizer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/index.cjs new file mode 100644 index 00000000..78391281 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/index.cjs @@ -0,0 +1,11 @@ +'use strict'; + +const atrulePrelude = require('./atrulePrelude.cjs'); +const selector = require('./selector.cjs'); +const value = require('./value.cjs'); + + + +exports.AtrulePrelude = atrulePrelude; +exports.Selector = selector; +exports.Value = value; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/selector.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/selector.cjs new file mode 100644 index 00000000..a0e95f1a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/selector.cjs @@ -0,0 +1,84 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) +const GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) +const TILDE = 0x007E; // U+007E TILDE (~) + +function onWhiteSpace(next, children) { + if (children.last !== null && children.last.type !== 'Combinator' && + next !== null && next.type !== 'Combinator') { + children.push({ // FIXME: this.Combinator() should be used instead + type: 'Combinator', + loc: null, + name: ' ' + }); + } +} + +function getNode() { + switch (this.tokenType) { + case types.LeftSquareBracket: + return this.AttributeSelector(); + + case types.Hash: + return this.IdSelector(); + + case types.Colon: + if (this.lookupType(1) === types.Colon) { + return this.PseudoElementSelector(); + } else { + return this.PseudoClassSelector(); + } + + case types.Ident: + return this.TypeSelector(); + + case types.Number: + case types.Percentage: + return this.Percentage(); + + case types.Dimension: + // throws when .123ident + if (this.charCodeAt(this.tokenStart) === FULLSTOP) { + this.error('Identifier is expected', this.tokenStart + 1); + } + break; + + case types.Delim: { + const code = this.charCodeAt(this.tokenStart); + + switch (code) { + case PLUSSIGN: + case GREATERTHANSIGN: + case TILDE: + case SOLIDUS: // /deep/ + return this.Combinator(); + + case FULLSTOP: + return this.ClassSelector(); + + case ASTERISK: + case VERTICALLINE: + return this.TypeSelector(); + + case NUMBERSIGN: + return this.IdSelector(); + } + + break; + } + } +} +const Selector = { + onWhiteSpace, + getNode +}; + +module.exports = Selector; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/value.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/value.cjs new file mode 100644 index 00000000..a9900a1c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/syntax/scope/value.cjs @@ -0,0 +1,29 @@ +'use strict'; + +const _default = require('./default.cjs'); +const expression = require('../function/expression.cjs'); +const _var = require('../function/var.cjs'); + +function isPlusMinusOperator(node) { + return ( + node !== null && + node.type === 'Operator' && + (node.value[node.value.length - 1] === '-' || node.value[node.value.length - 1] === '+') + ); +} + +const value = { + getNode: _default, + onWhiteSpace(next, children) { + if (isPlusMinusOperator(next)) { + next.value = ' ' + next.value; + } + if (isPlusMinusOperator(children.last)) { + children.last.value += ' '; + } + }, + 'expression': expression, + 'var': _var +}; + +module.exports = value; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/OffsetToLocation.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/OffsetToLocation.cjs new file mode 100644 index 00000000..2875466b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/OffsetToLocation.cjs @@ -0,0 +1,91 @@ +'use strict'; + +const adoptBuffer = require('./adopt-buffer.cjs'); +const charCodeDefinitions = require('./char-code-definitions.cjs'); + +const N = 10; +const F = 12; +const R = 13; + +function computeLinesAndColumns(host) { + const source = host.source; + const sourceLength = source.length; + const startOffset = source.length > 0 ? charCodeDefinitions.isBOM(source.charCodeAt(0)) : 0; + const lines = adoptBuffer.adoptBuffer(host.lines, sourceLength); + const columns = adoptBuffer.adoptBuffer(host.columns, sourceLength); + let line = host.startLine; + let column = host.startColumn; + + for (let i = startOffset; i < sourceLength; i++) { + const code = source.charCodeAt(i); + + lines[i] = line; + columns[i] = column++; + + if (code === N || code === R || code === F) { + if (code === R && i + 1 < sourceLength && source.charCodeAt(i + 1) === N) { + i++; + lines[i] = line; + columns[i] = column; + } + + line++; + column = 1; + } + } + + lines[sourceLength] = line; + columns[sourceLength] = column; + + host.lines = lines; + host.columns = columns; + host.computed = true; +} + +class OffsetToLocation { + constructor() { + this.lines = null; + this.columns = null; + this.computed = false; + } + setSource(source, startOffset = 0, startLine = 1, startColumn = 1) { + this.source = source; + this.startOffset = startOffset; + this.startLine = startLine; + this.startColumn = startColumn; + this.computed = false; + } + getLocation(offset, filename) { + if (!this.computed) { + computeLinesAndColumns(this); + } + + return { + source: filename, + offset: this.startOffset + offset, + line: this.lines[offset], + column: this.columns[offset] + }; + } + getLocationRange(start, end, filename) { + if (!this.computed) { + computeLinesAndColumns(this); + } + + return { + source: filename, + start: { + offset: this.startOffset + start, + line: this.lines[start], + column: this.columns[start] + }, + end: { + offset: this.startOffset + end, + line: this.lines[end], + column: this.columns[end] + } + }; + } +} + +exports.OffsetToLocation = OffsetToLocation; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/TokenStream.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/TokenStream.cjs new file mode 100644 index 00000000..42d6f906 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/TokenStream.cjs @@ -0,0 +1,264 @@ +'use strict'; + +const adoptBuffer = require('./adopt-buffer.cjs'); +const utils = require('./utils.cjs'); +const names = require('./names.cjs'); +const types = require('./types.cjs'); + +const OFFSET_MASK = 0x00FFFFFF; +const TYPE_SHIFT = 24; +const balancePair = new Map([ + [types.Function, types.RightParenthesis], + [types.LeftParenthesis, types.RightParenthesis], + [types.LeftSquareBracket, types.RightSquareBracket], + [types.LeftCurlyBracket, types.RightCurlyBracket] +]); + +class TokenStream { + constructor(source, tokenize) { + this.setSource(source, tokenize); + } + reset() { + this.eof = false; + this.tokenIndex = -1; + this.tokenType = 0; + this.tokenStart = this.firstCharOffset; + this.tokenEnd = this.firstCharOffset; + } + setSource(source = '', tokenize = () => {}) { + source = String(source || ''); + + const sourceLength = source.length; + const offsetAndType = adoptBuffer.adoptBuffer(this.offsetAndType, source.length + 1); // +1 because of eof-token + const balance = adoptBuffer.adoptBuffer(this.balance, source.length + 1); + let tokenCount = 0; + let balanceCloseType = 0; + let balanceStart = 0; + let firstCharOffset = -1; + + // capture buffers + this.offsetAndType = null; + this.balance = null; + + tokenize(source, (type, start, end) => { + switch (type) { + default: + balance[tokenCount] = sourceLength; + break; + + case balanceCloseType: { + let balancePrev = balanceStart & OFFSET_MASK; + balanceStart = balance[balancePrev]; + balanceCloseType = balanceStart >> TYPE_SHIFT; + balance[tokenCount] = balancePrev; + balance[balancePrev++] = tokenCount; + for (; balancePrev < tokenCount; balancePrev++) { + if (balance[balancePrev] === sourceLength) { + balance[balancePrev] = tokenCount; + } + } + break; + } + + case types.LeftParenthesis: + case types.Function: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balance[tokenCount] = balanceStart; + balanceCloseType = balancePair.get(type); + balanceStart = (balanceCloseType << TYPE_SHIFT) | tokenCount; + break; + } + + offsetAndType[tokenCount++] = (type << TYPE_SHIFT) | end; + if (firstCharOffset === -1) { + firstCharOffset = start; + } + }); + + // finalize buffers + offsetAndType[tokenCount] = (types.EOF << TYPE_SHIFT) | sourceLength; // <EOF-token> + balance[tokenCount] = sourceLength; + balance[sourceLength] = sourceLength; // prevents false positive balance match with any token + while (balanceStart !== 0) { + const balancePrev = balanceStart & OFFSET_MASK; + balanceStart = balance[balancePrev]; + balance[balancePrev] = sourceLength; + } + + this.source = source; + this.firstCharOffset = firstCharOffset === -1 ? 0 : firstCharOffset; + this.tokenCount = tokenCount; + this.offsetAndType = offsetAndType; + this.balance = balance; + + this.reset(); + this.next(); + } + + lookupType(offset) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return this.offsetAndType[offset] >> TYPE_SHIFT; + } + + return types.EOF; + } + lookupOffset(offset) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return this.offsetAndType[offset - 1] & OFFSET_MASK; + } + + return this.source.length; + } + lookupValue(offset, referenceStr) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return utils.cmpStr( + this.source, + this.offsetAndType[offset - 1] & OFFSET_MASK, + this.offsetAndType[offset] & OFFSET_MASK, + referenceStr + ); + } + + return false; + } + getTokenStart(tokenIndex) { + if (tokenIndex === this.tokenIndex) { + return this.tokenStart; + } + + if (tokenIndex > 0) { + return tokenIndex < this.tokenCount + ? this.offsetAndType[tokenIndex - 1] & OFFSET_MASK + : this.offsetAndType[this.tokenCount] & OFFSET_MASK; + } + + return this.firstCharOffset; + } + substrToCursor(start) { + return this.source.substring(start, this.tokenStart); + } + + isBalanceEdge(pos) { + return this.balance[this.tokenIndex] < pos; + } + isDelim(code, offset) { + if (offset) { + return ( + this.lookupType(offset) === types.Delim && + this.source.charCodeAt(this.lookupOffset(offset)) === code + ); + } + + return ( + this.tokenType === types.Delim && + this.source.charCodeAt(this.tokenStart) === code + ); + } + + skip(tokenCount) { + let next = this.tokenIndex + tokenCount; + + if (next < this.tokenCount) { + this.tokenIndex = next; + this.tokenStart = this.offsetAndType[next - 1] & OFFSET_MASK; + next = this.offsetAndType[next]; + this.tokenType = next >> TYPE_SHIFT; + this.tokenEnd = next & OFFSET_MASK; + } else { + this.tokenIndex = this.tokenCount; + this.next(); + } + } + next() { + let next = this.tokenIndex + 1; + + if (next < this.tokenCount) { + this.tokenIndex = next; + this.tokenStart = this.tokenEnd; + next = this.offsetAndType[next]; + this.tokenType = next >> TYPE_SHIFT; + this.tokenEnd = next & OFFSET_MASK; + } else { + this.eof = true; + this.tokenIndex = this.tokenCount; + this.tokenType = types.EOF; + this.tokenStart = this.tokenEnd = this.source.length; + } + } + skipSC() { + while (this.tokenType === types.WhiteSpace || this.tokenType === types.Comment) { + this.next(); + } + } + skipUntilBalanced(startToken, stopConsume) { + let cursor = startToken; + let balanceEnd; + let offset; + + loop: + for (; cursor < this.tokenCount; cursor++) { + balanceEnd = this.balance[cursor]; + + // stop scanning on balance edge that points to offset before start token + if (balanceEnd < startToken) { + break loop; + } + + offset = cursor > 0 ? this.offsetAndType[cursor - 1] & OFFSET_MASK : this.firstCharOffset; + + // check stop condition + switch (stopConsume(this.source.charCodeAt(offset))) { + case 1: // just stop + break loop; + + case 2: // stop & included + cursor++; + break loop; + + default: + // fast forward to the end of balanced block + if (this.balance[balanceEnd] === cursor) { + cursor = balanceEnd; + } + } + } + + this.skip(cursor - this.tokenIndex); + } + + forEachToken(fn) { + for (let i = 0, offset = this.firstCharOffset; i < this.tokenCount; i++) { + const start = offset; + const item = this.offsetAndType[i]; + const end = item & OFFSET_MASK; + const type = item >> TYPE_SHIFT; + + offset = end; + + fn(type, start, end, i); + } + } + dump() { + const tokens = new Array(this.tokenCount); + + this.forEachToken((type, start, end, index) => { + tokens[index] = { + idx: index, + type: names[type], + chunk: this.source.substring(start, end), + balance: this.balance[index] + }; + }); + + return tokens; + } +} + +exports.TokenStream = TokenStream; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/adopt-buffer.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/adopt-buffer.cjs new file mode 100644 index 00000000..b2956ce4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/adopt-buffer.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const MIN_SIZE = 16 * 1024; + +function adoptBuffer(buffer = null, size) { + if (buffer === null || buffer.length < size) { + return new Uint32Array(Math.max(size + 1024, MIN_SIZE)); + } + + return buffer; +} + +exports.adoptBuffer = adoptBuffer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/char-code-definitions.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/char-code-definitions.cjs new file mode 100644 index 00000000..99b66670 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/char-code-definitions.cjs @@ -0,0 +1,231 @@ +'use strict'; + +const EOF = 0; + +// https://drafts.csswg.org/css-syntax-3/ +// § 4.2. Definitions + +// digit +// A code point between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9). +function isDigit(code) { + return code >= 0x0030 && code <= 0x0039; +} + +// hex digit +// A digit, or a code point between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F), +// or a code point between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f). +function isHexDigit(code) { + return ( + isDigit(code) || // 0 .. 9 + (code >= 0x0041 && code <= 0x0046) || // A .. F + (code >= 0x0061 && code <= 0x0066) // a .. f + ); +} + +// uppercase letter +// A code point between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z). +function isUppercaseLetter(code) { + return code >= 0x0041 && code <= 0x005A; +} + +// lowercase letter +// A code point between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z). +function isLowercaseLetter(code) { + return code >= 0x0061 && code <= 0x007A; +} + +// letter +// An uppercase letter or a lowercase letter. +function isLetter(code) { + return isUppercaseLetter(code) || isLowercaseLetter(code); +} + +// non-ASCII code point +// A code point with a value equal to or greater than U+0080 <control>. +function isNonAscii(code) { + return code >= 0x0080; +} + +// name-start code point +// A letter, a non-ASCII code point, or U+005F LOW LINE (_). +function isNameStart(code) { + return isLetter(code) || isNonAscii(code) || code === 0x005F; +} + +// name code point +// A name-start code point, a digit, or U+002D HYPHEN-MINUS (-). +function isName(code) { + return isNameStart(code) || isDigit(code) || code === 0x002D; +} + +// non-printable code point +// A code point between U+0000 NULL and U+0008 BACKSPACE, or U+000B LINE TABULATION, +// or a code point between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE, or U+007F DELETE. +function isNonPrintable(code) { + return ( + (code >= 0x0000 && code <= 0x0008) || + (code === 0x000B) || + (code >= 0x000E && code <= 0x001F) || + (code === 0x007F) + ); +} + +// newline +// U+000A LINE FEED. Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition, +// as they are converted to U+000A LINE FEED during preprocessing. +// TODO: we doesn't do a preprocessing, so check a code point for U+000D CARRIAGE RETURN and U+000C FORM FEED +function isNewline(code) { + return code === 0x000A || code === 0x000D || code === 0x000C; +} + +// whitespace +// A newline, U+0009 CHARACTER TABULATION, or U+0020 SPACE. +function isWhiteSpace(code) { + return isNewline(code) || code === 0x0020 || code === 0x0009; +} + +// § 4.3.8. Check if two code points are a valid escape +function isValidEscape(first, second) { + // If the first code point is not U+005C REVERSE SOLIDUS (\), return false. + if (first !== 0x005C) { + return false; + } + + // Otherwise, if the second code point is a newline or EOF, return false. + if (isNewline(second) || second === EOF) { + return false; + } + + // Otherwise, return true. + return true; +} + +// § 4.3.9. Check if three code points would start an identifier +function isIdentifierStart(first, second, third) { + // Look at the first code point: + + // U+002D HYPHEN-MINUS + if (first === 0x002D) { + // If the second code point is a name-start code point or a U+002D HYPHEN-MINUS, + // or the second and third code points are a valid escape, return true. Otherwise, return false. + return ( + isNameStart(second) || + second === 0x002D || + isValidEscape(second, third) + ); + } + + // name-start code point + if (isNameStart(first)) { + // Return true. + return true; + } + + // U+005C REVERSE SOLIDUS (\) + if (first === 0x005C) { + // If the first and second code points are a valid escape, return true. Otherwise, return false. + return isValidEscape(first, second); + } + + // anything else + // Return false. + return false; +} + +// § 4.3.10. Check if three code points would start a number +function isNumberStart(first, second, third) { + // Look at the first code point: + + // U+002B PLUS SIGN (+) + // U+002D HYPHEN-MINUS (-) + if (first === 0x002B || first === 0x002D) { + // If the second code point is a digit, return true. + if (isDigit(second)) { + return 2; + } + + // Otherwise, if the second code point is a U+002E FULL STOP (.) + // and the third code point is a digit, return true. + // Otherwise, return false. + return second === 0x002E && isDigit(third) ? 3 : 0; + } + + // U+002E FULL STOP (.) + if (first === 0x002E) { + // If the second code point is a digit, return true. Otherwise, return false. + return isDigit(second) ? 2 : 0; + } + + // digit + if (isDigit(first)) { + // Return true. + return 1; + } + + // anything else + // Return false. + return 0; +} + +// +// Misc +// + +// detect BOM (https://en.wikipedia.org/wiki/Byte_order_mark) +function isBOM(code) { + // UTF-16BE + if (code === 0xFEFF) { + return 1; + } + + // UTF-16LE + if (code === 0xFFFE) { + return 1; + } + + return 0; +} + +// Fast code category +// Only ASCII code points has a special meaning, that's why we define a maps for 0..127 codes only +const CATEGORY = new Array(0x80); +const EofCategory = 0x80; +const WhiteSpaceCategory = 0x82; +const DigitCategory = 0x83; +const NameStartCategory = 0x84; +const NonPrintableCategory = 0x85; + +for (let i = 0; i < CATEGORY.length; i++) { + CATEGORY[i] = + isWhiteSpace(i) && WhiteSpaceCategory || + isDigit(i) && DigitCategory || + isNameStart(i) && NameStartCategory || + isNonPrintable(i) && NonPrintableCategory || + i || EofCategory; +} + +function charCodeCategory(code) { + return code < 0x80 ? CATEGORY[code] : NameStartCategory; +} + +exports.DigitCategory = DigitCategory; +exports.EofCategory = EofCategory; +exports.NameStartCategory = NameStartCategory; +exports.NonPrintableCategory = NonPrintableCategory; +exports.WhiteSpaceCategory = WhiteSpaceCategory; +exports.charCodeCategory = charCodeCategory; +exports.isBOM = isBOM; +exports.isDigit = isDigit; +exports.isHexDigit = isHexDigit; +exports.isIdentifierStart = isIdentifierStart; +exports.isLetter = isLetter; +exports.isLowercaseLetter = isLowercaseLetter; +exports.isName = isName; +exports.isNameStart = isNameStart; +exports.isNewline = isNewline; +exports.isNonAscii = isNonAscii; +exports.isNonPrintable = isNonPrintable; +exports.isNumberStart = isNumberStart; +exports.isUppercaseLetter = isUppercaseLetter; +exports.isValidEscape = isValidEscape; +exports.isWhiteSpace = isWhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/index.cjs new file mode 100644 index 00000000..bfb73e5a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/index.cjs @@ -0,0 +1,554 @@ +'use strict'; + +const types = require('./types.cjs'); +const charCodeDefinitions = require('./char-code-definitions.cjs'); +const utils = require('./utils.cjs'); +const names = require('./names.cjs'); +const OffsetToLocation = require('./OffsetToLocation.cjs'); +const TokenStream = require('./TokenStream.cjs'); + +function tokenize(source, onToken) { + function getCharCode(offset) { + return offset < sourceLength ? source.charCodeAt(offset) : 0; + } + + // § 4.3.3. Consume a numeric token + function consumeNumericToken() { + // Consume a number and let number be the result. + offset = utils.consumeNumber(source, offset); + + // If the next 3 input code points would start an identifier, then: + if (charCodeDefinitions.isIdentifierStart(getCharCode(offset), getCharCode(offset + 1), getCharCode(offset + 2))) { + // Create a <dimension-token> with the same value and type flag as number, and a unit set initially to the empty string. + // Consume a name. Set the <dimension-token>’s unit to the returned value. + // Return the <dimension-token>. + type = types.Dimension; + offset = utils.consumeName(source, offset); + return; + } + + // Otherwise, if the next input code point is U+0025 PERCENTAGE SIGN (%), consume it. + if (getCharCode(offset) === 0x0025) { + // Create a <percentage-token> with the same value as number, and return it. + type = types.Percentage; + offset++; + return; + } + + // Otherwise, create a <number-token> with the same value and type flag as number, and return it. + type = types.Number; + } + + // § 4.3.4. Consume an ident-like token + function consumeIdentLikeToken() { + const nameStartOffset = offset; + + // Consume a name, and let string be the result. + offset = utils.consumeName(source, offset); + + // If string’s value is an ASCII case-insensitive match for "url", + // and the next input code point is U+0028 LEFT PARENTHESIS ((), consume it. + if (utils.cmpStr(source, nameStartOffset, offset, 'url') && getCharCode(offset) === 0x0028) { + // While the next two input code points are whitespace, consume the next input code point. + offset = utils.findWhiteSpaceEnd(source, offset + 1); + + // If the next one or two input code points are U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), + // or whitespace followed by U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('), + // then create a <function-token> with its value set to string and return it. + if (getCharCode(offset) === 0x0022 || + getCharCode(offset) === 0x0027) { + type = types.Function; + offset = nameStartOffset + 4; + return; + } + + // Otherwise, consume a url token, and return it. + consumeUrlToken(); + return; + } + + // Otherwise, if the next input code point is U+0028 LEFT PARENTHESIS ((), consume it. + // Create a <function-token> with its value set to string and return it. + if (getCharCode(offset) === 0x0028) { + type = types.Function; + offset++; + return; + } + + // Otherwise, create an <ident-token> with its value set to string and return it. + type = types.Ident; + } + + // § 4.3.5. Consume a string token + function consumeStringToken(endingCodePoint) { + // This algorithm may be called with an ending code point, which denotes the code point + // that ends the string. If an ending code point is not specified, + // the current input code point is used. + if (!endingCodePoint) { + endingCodePoint = getCharCode(offset++); + } + + // Initially create a <string-token> with its value set to the empty string. + type = types.String; + + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // ending code point + case endingCodePoint: + // Return the <string-token>. + offset++; + return; + + // EOF + // case EofCategory: + // This is a parse error. Return the <string-token>. + // return; + + // newline + case charCodeDefinitions.WhiteSpaceCategory: + if (charCodeDefinitions.isNewline(code)) { + // This is a parse error. Reconsume the current input code point, + // create a <bad-string-token>, and return it. + offset += utils.getNewlineLength(source, offset, code); + type = types.BadString; + return; + } + break; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the next input code point is EOF, do nothing. + if (offset === source.length - 1) { + break; + } + + const nextCode = getCharCode(offset + 1); + + // Otherwise, if the next input code point is a newline, consume it. + if (charCodeDefinitions.isNewline(nextCode)) { + offset += utils.getNewlineLength(source, offset + 1, nextCode); + } else if (charCodeDefinitions.isValidEscape(code, nextCode)) { + // Otherwise, (the stream starts with a valid escape) consume + // an escaped code point and append the returned code point to + // the <string-token>’s value. + offset = utils.consumeEscaped(source, offset) - 1; + } + break; + + // anything else + // Append the current input code point to the <string-token>’s value. + } + } + } + + // § 4.3.6. Consume a url token + // Note: This algorithm assumes that the initial "url(" has already been consumed. + // This algorithm also assumes that it’s being called to consume an "unquoted" value, like url(foo). + // A quoted value, like url("foo"), is parsed as a <function-token>. Consume an ident-like token + // automatically handles this distinction; this algorithm shouldn’t be called directly otherwise. + function consumeUrlToken() { + // Initially create a <url-token> with its value set to the empty string. + type = types.Url; + + // Consume as much whitespace as possible. + offset = utils.findWhiteSpaceEnd(source, offset); + + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // U+0029 RIGHT PARENTHESIS ()) + case 0x0029: + // Return the <url-token>. + offset++; + return; + + // EOF + // case EofCategory: + // This is a parse error. Return the <url-token>. + // return; + + // whitespace + case charCodeDefinitions.WhiteSpaceCategory: + // Consume as much whitespace as possible. + offset = utils.findWhiteSpaceEnd(source, offset); + + // If the next input code point is U+0029 RIGHT PARENTHESIS ()) or EOF, + // consume it and return the <url-token> + // (if EOF was encountered, this is a parse error); + if (getCharCode(offset) === 0x0029 || offset >= source.length) { + if (offset < source.length) { + offset++; + } + return; + } + + // otherwise, consume the remnants of a bad url, create a <bad-url-token>, + // and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // U+0022 QUOTATION MARK (") + // U+0027 APOSTROPHE (') + // U+0028 LEFT PARENTHESIS (() + // non-printable code point + case 0x0022: + case 0x0027: + case 0x0028: + case charCodeDefinitions.NonPrintableCategory: + // This is a parse error. Consume the remnants of a bad url, + // create a <bad-url-token>, and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the stream starts with a valid escape, consume an escaped code point and + // append the returned code point to the <url-token>’s value. + if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { + offset = utils.consumeEscaped(source, offset) - 1; + break; + } + + // Otherwise, this is a parse error. Consume the remnants of a bad url, + // create a <bad-url-token>, and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // anything else + // Append the current input code point to the <url-token>’s value. + } + } + } + + // ensure source is a string + source = String(source || ''); + + const sourceLength = source.length; + let start = charCodeDefinitions.isBOM(getCharCode(0)); + let offset = start; + let type; + + // https://drafts.csswg.org/css-syntax-3/#consume-token + // § 4.3.1. Consume a token + while (offset < sourceLength) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // whitespace + case charCodeDefinitions.WhiteSpaceCategory: + // Consume as much whitespace as possible. Return a <whitespace-token>. + type = types.WhiteSpace; + offset = utils.findWhiteSpaceEnd(source, offset + 1); + break; + + // U+0022 QUOTATION MARK (") + case 0x0022: + // Consume a string token and return it. + consumeStringToken(); + break; + + // U+0023 NUMBER SIGN (#) + case 0x0023: + // If the next input code point is a name code point or the next two input code points are a valid escape, then: + if (charCodeDefinitions.isName(getCharCode(offset + 1)) || charCodeDefinitions.isValidEscape(getCharCode(offset + 1), getCharCode(offset + 2))) { + // Create a <hash-token>. + type = types.Hash; + + // If the next 3 input code points would start an identifier, set the <hash-token>’s type flag to "id". + // if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) { + // // TODO: set id flag + // } + + // Consume a name, and set the <hash-token>’s value to the returned string. + offset = utils.consumeName(source, offset + 1); + + // Return the <hash-token>. + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+0027 APOSTROPHE (') + case 0x0027: + // Consume a string token and return it. + consumeStringToken(); + break; + + // U+0028 LEFT PARENTHESIS (() + case 0x0028: + // Return a <(-token>. + type = types.LeftParenthesis; + offset++; + break; + + // U+0029 RIGHT PARENTHESIS ()) + case 0x0029: + // Return a <)-token>. + type = types.RightParenthesis; + offset++; + break; + + // U+002B PLUS SIGN (+) + case 0x002B: + // If the input stream starts with a number, ... + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + break; + + // U+002C COMMA (,) + case 0x002C: + // Return a <comma-token>. + type = types.Comma; + offset++; + break; + + // U+002D HYPHEN-MINUS (-) + case 0x002D: + // If the input stream starts with a number, reconsume the current input code point, consume a numeric token, and return it. + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + consumeNumericToken(); + } else { + // Otherwise, if the next 2 input code points are U+002D HYPHEN-MINUS U+003E GREATER-THAN SIGN (->), consume them and return a <CDC-token>. + if (getCharCode(offset + 1) === 0x002D && + getCharCode(offset + 2) === 0x003E) { + type = types.CDC; + offset = offset + 3; + } else { + // Otherwise, if the input stream starts with an identifier, ... + if (charCodeDefinitions.isIdentifierStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + } + } + break; + + // U+002E FULL STOP (.) + case 0x002E: + // If the input stream starts with a number, ... + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+002F SOLIDUS (/) + case 0x002F: + // If the next two input code point are U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*), + if (getCharCode(offset + 1) === 0x002A) { + // ... consume them and all following code points up to and including the first U+002A ASTERISK (*) + // followed by a U+002F SOLIDUS (/), or up to an EOF code point. + type = types.Comment; + offset = source.indexOf('*/', offset + 2); + offset = offset === -1 ? source.length : offset + 2; + } else { + type = types.Delim; + offset++; + } + break; + + // U+003A COLON (:) + case 0x003A: + // Return a <colon-token>. + type = types.Colon; + offset++; + break; + + // U+003B SEMICOLON (;) + case 0x003B: + // Return a <semicolon-token>. + type = types.Semicolon; + offset++; + break; + + // U+003C LESS-THAN SIGN (<) + case 0x003C: + // If the next 3 input code points are U+0021 EXCLAMATION MARK U+002D HYPHEN-MINUS U+002D HYPHEN-MINUS (!--), ... + if (getCharCode(offset + 1) === 0x0021 && + getCharCode(offset + 2) === 0x002D && + getCharCode(offset + 3) === 0x002D) { + // ... consume them and return a <CDO-token>. + type = types.CDO; + offset = offset + 4; + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+0040 COMMERCIAL AT (@) + case 0x0040: + // If the next 3 input code points would start an identifier, ... + if (charCodeDefinitions.isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) { + // ... consume a name, create an <at-keyword-token> with its value set to the returned value, and return it. + type = types.AtKeyword; + offset = utils.consumeName(source, offset + 1); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+005B LEFT SQUARE BRACKET ([) + case 0x005B: + // Return a <[-token>. + type = types.LeftSquareBracket; + offset++; + break; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the input stream starts with a valid escape, ... + if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { + // ... reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + } else { + // Otherwise, this is a parse error. Return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + break; + + // U+005D RIGHT SQUARE BRACKET (]) + case 0x005D: + // Return a <]-token>. + type = types.RightSquareBracket; + offset++; + break; + + // U+007B LEFT CURLY BRACKET ({) + case 0x007B: + // Return a <{-token>. + type = types.LeftCurlyBracket; + offset++; + break; + + // U+007D RIGHT CURLY BRACKET (}) + case 0x007D: + // Return a <}-token>. + type = types.RightCurlyBracket; + offset++; + break; + + // digit + case charCodeDefinitions.DigitCategory: + // Reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + break; + + // name-start code point + case charCodeDefinitions.NameStartCategory: + // Reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + break; + + // EOF + // case EofCategory: + // Return an <EOF-token>. + // break; + + // anything else + default: + // Return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + // put token to stream + onToken(type, start, start = offset); + } +} + +exports.AtKeyword = types.AtKeyword; +exports.BadString = types.BadString; +exports.BadUrl = types.BadUrl; +exports.CDC = types.CDC; +exports.CDO = types.CDO; +exports.Colon = types.Colon; +exports.Comma = types.Comma; +exports.Comment = types.Comment; +exports.Delim = types.Delim; +exports.Dimension = types.Dimension; +exports.EOF = types.EOF; +exports.Function = types.Function; +exports.Hash = types.Hash; +exports.Ident = types.Ident; +exports.LeftCurlyBracket = types.LeftCurlyBracket; +exports.LeftParenthesis = types.LeftParenthesis; +exports.LeftSquareBracket = types.LeftSquareBracket; +exports.Number = types.Number; +exports.Percentage = types.Percentage; +exports.RightCurlyBracket = types.RightCurlyBracket; +exports.RightParenthesis = types.RightParenthesis; +exports.RightSquareBracket = types.RightSquareBracket; +exports.Semicolon = types.Semicolon; +exports.String = types.String; +exports.Url = types.Url; +exports.WhiteSpace = types.WhiteSpace; +exports.tokenTypes = types; +exports.DigitCategory = charCodeDefinitions.DigitCategory; +exports.EofCategory = charCodeDefinitions.EofCategory; +exports.NameStartCategory = charCodeDefinitions.NameStartCategory; +exports.NonPrintableCategory = charCodeDefinitions.NonPrintableCategory; +exports.WhiteSpaceCategory = charCodeDefinitions.WhiteSpaceCategory; +exports.charCodeCategory = charCodeDefinitions.charCodeCategory; +exports.isBOM = charCodeDefinitions.isBOM; +exports.isDigit = charCodeDefinitions.isDigit; +exports.isHexDigit = charCodeDefinitions.isHexDigit; +exports.isIdentifierStart = charCodeDefinitions.isIdentifierStart; +exports.isLetter = charCodeDefinitions.isLetter; +exports.isLowercaseLetter = charCodeDefinitions.isLowercaseLetter; +exports.isName = charCodeDefinitions.isName; +exports.isNameStart = charCodeDefinitions.isNameStart; +exports.isNewline = charCodeDefinitions.isNewline; +exports.isNonAscii = charCodeDefinitions.isNonAscii; +exports.isNonPrintable = charCodeDefinitions.isNonPrintable; +exports.isNumberStart = charCodeDefinitions.isNumberStart; +exports.isUppercaseLetter = charCodeDefinitions.isUppercaseLetter; +exports.isValidEscape = charCodeDefinitions.isValidEscape; +exports.isWhiteSpace = charCodeDefinitions.isWhiteSpace; +exports.cmpChar = utils.cmpChar; +exports.cmpStr = utils.cmpStr; +exports.consumeBadUrlRemnants = utils.consumeBadUrlRemnants; +exports.consumeEscaped = utils.consumeEscaped; +exports.consumeName = utils.consumeName; +exports.consumeNumber = utils.consumeNumber; +exports.decodeEscaped = utils.decodeEscaped; +exports.findDecimalNumberEnd = utils.findDecimalNumberEnd; +exports.findWhiteSpaceEnd = utils.findWhiteSpaceEnd; +exports.findWhiteSpaceStart = utils.findWhiteSpaceStart; +exports.getNewlineLength = utils.getNewlineLength; +exports.tokenNames = names; +exports.OffsetToLocation = OffsetToLocation.OffsetToLocation; +exports.TokenStream = TokenStream.TokenStream; +exports.tokenize = tokenize; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/names.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/names.cjs new file mode 100644 index 00000000..d302aedc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/names.cjs @@ -0,0 +1,31 @@ +'use strict'; + +const tokenNames = [ + 'EOF-token', + 'ident-token', + 'function-token', + 'at-keyword-token', + 'hash-token', + 'string-token', + 'bad-string-token', + 'url-token', + 'bad-url-token', + 'delim-token', + 'number-token', + 'percentage-token', + 'dimension-token', + 'whitespace-token', + 'CDO-token', + 'CDC-token', + 'colon-token', + 'semicolon-token', + 'comma-token', + '[-token', + ']-token', + '(-token', + ')-token', + '{-token', + '}-token' +]; + +module.exports = tokenNames; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/types.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/types.cjs new file mode 100644 index 00000000..a89b8109 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/types.cjs @@ -0,0 +1,57 @@ +'use strict'; + +// CSS Syntax Module Level 3 +// https://www.w3.org/TR/css-syntax-3/ +const EOF = 0; // <EOF-token> +const Ident = 1; // <ident-token> +const Function = 2; // <function-token> +const AtKeyword = 3; // <at-keyword-token> +const Hash = 4; // <hash-token> +const String = 5; // <string-token> +const BadString = 6; // <bad-string-token> +const Url = 7; // <url-token> +const BadUrl = 8; // <bad-url-token> +const Delim = 9; // <delim-token> +const Number = 10; // <number-token> +const Percentage = 11; // <percentage-token> +const Dimension = 12; // <dimension-token> +const WhiteSpace = 13; // <whitespace-token> +const CDO = 14; // <CDO-token> +const CDC = 15; // <CDC-token> +const Colon = 16; // <colon-token> : +const Semicolon = 17; // <semicolon-token> ; +const Comma = 18; // <comma-token> , +const LeftSquareBracket = 19; // <[-token> +const RightSquareBracket = 20; // <]-token> +const LeftParenthesis = 21; // <(-token> +const RightParenthesis = 22; // <)-token> +const LeftCurlyBracket = 23; // <{-token> +const RightCurlyBracket = 24; // <}-token> +const Comment = 25; + +exports.AtKeyword = AtKeyword; +exports.BadString = BadString; +exports.BadUrl = BadUrl; +exports.CDC = CDC; +exports.CDO = CDO; +exports.Colon = Colon; +exports.Comma = Comma; +exports.Comment = Comment; +exports.Delim = Delim; +exports.Dimension = Dimension; +exports.EOF = EOF; +exports.Function = Function; +exports.Hash = Hash; +exports.Ident = Ident; +exports.LeftCurlyBracket = LeftCurlyBracket; +exports.LeftParenthesis = LeftParenthesis; +exports.LeftSquareBracket = LeftSquareBracket; +exports.Number = Number; +exports.Percentage = Percentage; +exports.RightCurlyBracket = RightCurlyBracket; +exports.RightParenthesis = RightParenthesis; +exports.RightSquareBracket = RightSquareBracket; +exports.Semicolon = Semicolon; +exports.String = String; +exports.Url = Url; +exports.WhiteSpace = WhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/utils.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/utils.cjs new file mode 100644 index 00000000..c3798e38 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/tokenizer/utils.cjs @@ -0,0 +1,261 @@ +'use strict'; + +const charCodeDefinitions = require('./char-code-definitions.cjs'); + +function getCharCode(source, offset) { + return offset < source.length ? source.charCodeAt(offset) : 0; +} + +function getNewlineLength(source, offset, code) { + if (code === 13 /* \r */ && getCharCode(source, offset + 1) === 10 /* \n */) { + return 2; + } + + return 1; +} + +function cmpChar(testStr, offset, referenceCode) { + let code = testStr.charCodeAt(offset); + + // code.toLowerCase() for A..Z + if (charCodeDefinitions.isUppercaseLetter(code)) { + code = code | 32; + } + + return code === referenceCode; +} + +function cmpStr(testStr, start, end, referenceStr) { + if (end - start !== referenceStr.length) { + return false; + } + + if (start < 0 || end > testStr.length) { + return false; + } + + for (let i = start; i < end; i++) { + const referenceCode = referenceStr.charCodeAt(i - start); + let testCode = testStr.charCodeAt(i); + + // testCode.toLowerCase() for A..Z + if (charCodeDefinitions.isUppercaseLetter(testCode)) { + testCode = testCode | 32; + } + + if (testCode !== referenceCode) { + return false; + } + } + + return true; +} + +function findWhiteSpaceStart(source, offset) { + for (; offset >= 0; offset--) { + if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { + break; + } + } + + return offset + 1; +} + +function findWhiteSpaceEnd(source, offset) { + for (; offset < source.length; offset++) { + if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { + break; + } + } + + return offset; +} + +function findDecimalNumberEnd(source, offset) { + for (; offset < source.length; offset++) { + if (!charCodeDefinitions.isDigit(source.charCodeAt(offset))) { + break; + } + } + + return offset; +} + +// § 4.3.7. Consume an escaped code point +function consumeEscaped(source, offset) { + // It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed and + // that the next input code point has already been verified to be part of a valid escape. + offset += 2; + + // hex digit + if (charCodeDefinitions.isHexDigit(getCharCode(source, offset - 1))) { + // Consume as many hex digits as possible, but no more than 5. + // Note that this means 1-6 hex digits have been consumed in total. + for (const maxOffset = Math.min(source.length, offset + 5); offset < maxOffset; offset++) { + if (!charCodeDefinitions.isHexDigit(getCharCode(source, offset))) { + break; + } + } + + // If the next input code point is whitespace, consume it as well. + const code = getCharCode(source, offset); + if (charCodeDefinitions.isWhiteSpace(code)) { + offset += getNewlineLength(source, offset, code); + } + } + + return offset; +} + +// §4.3.11. Consume a name +// Note: This algorithm does not do the verification of the first few code points that are necessary +// to ensure the returned code points would constitute an <ident-token>. If that is the intended use, +// ensure that the stream starts with an identifier before calling this algorithm. +function consumeName(source, offset) { + // Let result initially be an empty string. + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + // name code point + if (charCodeDefinitions.isName(code)) { + // Append the code point to result. + continue; + } + + // the stream starts with a valid escape + if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { + // Consume an escaped code point. Append the returned code point to result. + offset = consumeEscaped(source, offset) - 1; + continue; + } + + // anything else + // Reconsume the current input code point. Return result. + break; + } + + return offset; +} + +// §4.3.12. Consume a number +function consumeNumber(source, offset) { + let code = source.charCodeAt(offset); + + // 2. If the next input code point is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-), + // consume it and append it to repr. + if (code === 0x002B || code === 0x002D) { + code = source.charCodeAt(offset += 1); + } + + // 3. While the next input code point is a digit, consume it and append it to repr. + if (charCodeDefinitions.isDigit(code)) { + offset = findDecimalNumberEnd(source, offset + 1); + code = source.charCodeAt(offset); + } + + // 4. If the next 2 input code points are U+002E FULL STOP (.) followed by a digit, then: + if (code === 0x002E && charCodeDefinitions.isDigit(source.charCodeAt(offset + 1))) { + // 4.1 Consume them. + // 4.2 Append them to repr. + offset += 2; + + // 4.3 Set type to "number". + // TODO + + // 4.4 While the next input code point is a digit, consume it and append it to repr. + + offset = findDecimalNumberEnd(source, offset); + } + + // 5. If the next 2 or 3 input code points are U+0045 LATIN CAPITAL LETTER E (E) + // or U+0065 LATIN SMALL LETTER E (e), ... , followed by a digit, then: + if (cmpChar(source, offset, 101 /* e */)) { + let sign = 0; + code = source.charCodeAt(offset + 1); + + // ... optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+) ... + if (code === 0x002D || code === 0x002B) { + sign = 1; + code = source.charCodeAt(offset + 2); + } + + // ... followed by a digit + if (charCodeDefinitions.isDigit(code)) { + // 5.1 Consume them. + // 5.2 Append them to repr. + + // 5.3 Set type to "number". + // TODO + + // 5.4 While the next input code point is a digit, consume it and append it to repr. + offset = findDecimalNumberEnd(source, offset + 1 + sign + 1); + } + } + + return offset; +} + +// § 4.3.14. Consume the remnants of a bad url +// ... its sole use is to consume enough of the input stream to reach a recovery point +// where normal tokenizing can resume. +function consumeBadUrlRemnants(source, offset) { + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + // U+0029 RIGHT PARENTHESIS ()) + // EOF + if (code === 0x0029) { + // Return. + offset++; + break; + } + + if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { + // Consume an escaped code point. + // Note: This allows an escaped right parenthesis ("\)") to be encountered + // without ending the <bad-url-token>. This is otherwise identical to + // the "anything else" clause. + offset = consumeEscaped(source, offset); + } + } + + return offset; +} + +// § 4.3.7. Consume an escaped code point +// Note: This algorithm assumes that escaped is valid without leading U+005C REVERSE SOLIDUS (\) +function decodeEscaped(escaped) { + // Single char escaped that's not a hex digit + if (escaped.length === 1 && !charCodeDefinitions.isHexDigit(escaped.charCodeAt(0))) { + return escaped[0]; + } + + // Interpret the hex digits as a hexadecimal number. + let code = parseInt(escaped, 16); + + if ( + (code === 0) || // If this number is zero, + (code >= 0xD800 && code <= 0xDFFF) || // or is for a surrogate, + (code > 0x10FFFF) // or is greater than the maximum allowed code point + ) { + // ... return U+FFFD REPLACEMENT CHARACTER + code = 0xFFFD; + } + + // Otherwise, return the code point with that value. + return String.fromCodePoint(code); +} + +exports.cmpChar = cmpChar; +exports.cmpStr = cmpStr; +exports.consumeBadUrlRemnants = consumeBadUrlRemnants; +exports.consumeEscaped = consumeEscaped; +exports.consumeName = consumeName; +exports.consumeNumber = consumeNumber; +exports.decodeEscaped = decodeEscaped; +exports.findDecimalNumberEnd = findDecimalNumberEnd; +exports.findWhiteSpaceEnd = findWhiteSpaceEnd; +exports.findWhiteSpaceStart = findWhiteSpaceStart; +exports.getNewlineLength = getNewlineLength; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/List.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/List.cjs new file mode 100644 index 00000000..ec25f461 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/List.cjs @@ -0,0 +1,473 @@ +'use strict'; + +// +// list +// ┌──────┐ +// ┌──────────────┼─head │ +// │ │ tail─┼──────────────┐ +// │ └──────┘ │ +// ▼ ▼ +// item item item item +// ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ +// null ◀──┼─prev │◀───┼─prev │◀───┼─prev │◀───┼─prev │ +// │ next─┼───▶│ next─┼───▶│ next─┼───▶│ next─┼──▶ null +// ├──────┤ ├──────┤ ├──────┤ ├──────┤ +// │ data │ │ data │ │ data │ │ data │ +// └──────┘ └──────┘ └──────┘ └──────┘ +// + +let releasedCursors = null; + +class List { + static createItem(data) { + return { + prev: null, + next: null, + data + }; + } + + constructor() { + this.head = null; + this.tail = null; + this.cursor = null; + } + createItem(data) { + return List.createItem(data); + } + + // cursor helpers + allocateCursor(prev, next) { + let cursor; + + if (releasedCursors !== null) { + cursor = releasedCursors; + releasedCursors = releasedCursors.cursor; + cursor.prev = prev; + cursor.next = next; + cursor.cursor = this.cursor; + } else { + cursor = { + prev, + next, + cursor: this.cursor + }; + } + + this.cursor = cursor; + + return cursor; + } + releaseCursor() { + const { cursor } = this; + + this.cursor = cursor.cursor; + cursor.prev = null; + cursor.next = null; + cursor.cursor = releasedCursors; + releasedCursors = cursor; + } + updateCursors(prevOld, prevNew, nextOld, nextNew) { + let { cursor } = this; + + while (cursor !== null) { + if (cursor.prev === prevOld) { + cursor.prev = prevNew; + } + + if (cursor.next === nextOld) { + cursor.next = nextNew; + } + + cursor = cursor.cursor; + } + } + *[Symbol.iterator]() { + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + yield cursor.data; + } + } + + // getters + get size() { + let size = 0; + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + size++; + } + + return size; + } + get isEmpty() { + return this.head === null; + } + get first() { + return this.head && this.head.data; + } + get last() { + return this.tail && this.tail.data; + } + + // convertors + fromArray(array) { + let cursor = null; + this.head = null; + + for (let data of array) { + const item = List.createItem(data); + + if (cursor !== null) { + cursor.next = item; + } else { + this.head = item; + } + + item.prev = cursor; + cursor = item; + } + + this.tail = cursor; + return this; + } + toArray() { + return [...this]; + } + toJSON() { + return [...this]; + } + + // array-like methods + forEach(fn, thisArg = this) { + // push cursor + const cursor = this.allocateCursor(null, this.head); + + while (cursor.next !== null) { + const item = cursor.next; + cursor.next = item.next; + fn.call(thisArg, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + } + forEachRight(fn, thisArg = this) { + // push cursor + const cursor = this.allocateCursor(this.tail, null); + + while (cursor.prev !== null) { + const item = cursor.prev; + cursor.prev = item.prev; + fn.call(thisArg, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + } + reduce(fn, initialValue, thisArg = this) { + // push cursor + let cursor = this.allocateCursor(null, this.head); + let acc = initialValue; + let item; + + while (cursor.next !== null) { + item = cursor.next; + cursor.next = item.next; + + acc = fn.call(thisArg, acc, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + + return acc; + } + reduceRight(fn, initialValue, thisArg = this) { + // push cursor + let cursor = this.allocateCursor(this.tail, null); + let acc = initialValue; + let item; + + while (cursor.prev !== null) { + item = cursor.prev; + cursor.prev = item.prev; + + acc = fn.call(thisArg, acc, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + + return acc; + } + some(fn, thisArg = this) { + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + if (fn.call(thisArg, cursor.data, cursor, this)) { + return true; + } + } + + return false; + } + map(fn, thisArg = this) { + const result = new List(); + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + result.appendData(fn.call(thisArg, cursor.data, cursor, this)); + } + + return result; + } + filter(fn, thisArg = this) { + const result = new List(); + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + if (fn.call(thisArg, cursor.data, cursor, this)) { + result.appendData(cursor.data); + } + } + + return result; + } + + nextUntil(start, fn, thisArg = this) { + if (start === null) { + return; + } + + // push cursor + const cursor = this.allocateCursor(null, start); + + while (cursor.next !== null) { + const item = cursor.next; + cursor.next = item.next; + if (fn.call(thisArg, item.data, item, this)) { + break; + } + } + + // pop cursor + this.releaseCursor(); + } + prevUntil(start, fn, thisArg = this) { + if (start === null) { + return; + } + + // push cursor + const cursor = this.allocateCursor(start, null); + + while (cursor.prev !== null) { + const item = cursor.prev; + cursor.prev = item.prev; + if (fn.call(thisArg, item.data, item, this)) { + break; + } + } + + // pop cursor + this.releaseCursor(); + } + + // mutation + clear() { + this.head = null; + this.tail = null; + } + copy() { + const result = new List(); + + for (let data of this) { + result.appendData(data); + } + + return result; + } + prepend(item) { + // head + // ^ + // item + this.updateCursors(null, item, this.head, item); + + // insert to the beginning of the list + if (this.head !== null) { + // new item <- first item + this.head.prev = item; + // new item -> first item + item.next = this.head; + } else { + // if list has no head, then it also has no tail + // in this case tail points to the new item + this.tail = item; + } + + // head always points to new item + this.head = item; + return this; + } + prependData(data) { + return this.prepend(List.createItem(data)); + } + append(item) { + return this.insert(item); + } + appendData(data) { + return this.insert(List.createItem(data)); + } + insert(item, before = null) { + if (before !== null) { + // prev before + // ^ + // item + this.updateCursors(before.prev, item, before, item); + + if (before.prev === null) { + // insert to the beginning of list + if (this.head !== before) { + throw new Error('before doesn\'t belong to list'); + } + // since head points to before therefore list doesn't empty + // no need to check tail + this.head = item; + before.prev = item; + item.next = before; + this.updateCursors(null, item); + } else { + // insert between two items + before.prev.next = item; + item.prev = before.prev; + before.prev = item; + item.next = before; + } + } else { + // tail + // ^ + // item + this.updateCursors(this.tail, item, null, item); + + // insert to the ending of the list + if (this.tail !== null) { + // last item -> new item + this.tail.next = item; + // last item <- new item + item.prev = this.tail; + } else { + // if list has no tail, then it also has no head + // in this case head points to new item + this.head = item; + } + + // tail always points to new item + this.tail = item; + } + + return this; + } + insertData(data, before) { + return this.insert(List.createItem(data), before); + } + remove(item) { + // item + // ^ + // prev next + this.updateCursors(item, item.prev, item, item.next); + + if (item.prev !== null) { + item.prev.next = item.next; + } else { + if (this.head !== item) { + throw new Error('item doesn\'t belong to list'); + } + + this.head = item.next; + } + + if (item.next !== null) { + item.next.prev = item.prev; + } else { + if (this.tail !== item) { + throw new Error('item doesn\'t belong to list'); + } + + this.tail = item.prev; + } + + item.prev = null; + item.next = null; + + return item; + } + push(data) { + this.insert(List.createItem(data)); + } + pop() { + return this.tail !== null ? this.remove(this.tail) : null; + } + unshift(data) { + this.prepend(List.createItem(data)); + } + shift() { + return this.head !== null ? this.remove(this.head) : null; + } + prependList(list) { + return this.insertList(list, this.head); + } + appendList(list) { + return this.insertList(list); + } + insertList(list, before) { + // ignore empty lists + if (list.head === null) { + return this; + } + + if (before !== undefined && before !== null) { + this.updateCursors(before.prev, list.tail, before, list.head); + + // insert in the middle of dist list + if (before.prev !== null) { + // before.prev <-> list.head + before.prev.next = list.head; + list.head.prev = before.prev; + } else { + this.head = list.head; + } + + before.prev = list.tail; + list.tail.next = before; + } else { + this.updateCursors(this.tail, list.tail, null, list.head); + + // insert to end of the list + if (this.tail !== null) { + // if destination list has a tail, then it also has a head, + // but head doesn't change + // dest tail -> source head + this.tail.next = list.head; + // dest tail <- source head + list.head.prev = this.tail; + } else { + // if list has no a tail, then it also has no a head + // in this case points head to new item + this.head = list.head; + } + + // tail always start point to new item + this.tail = list.tail; + } + + list.head = null; + list.tail = null; + return this; + } + replace(oldItem, newItemOrList) { + if ('head' in newItemOrList) { + this.insertList(newItemOrList, oldItem); + } else { + this.insert(newItemOrList, oldItem); + } + + this.remove(oldItem); + } +} + +exports.List = List; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/clone.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/clone.cjs new file mode 100644 index 00000000..f84c30f0 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/clone.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const List = require('./List.cjs'); + +function clone(node) { + const result = {}; + + for (const key in node) { + let value = node[key]; + + if (value) { + if (Array.isArray(value) || value instanceof List.List) { + value = value.map(clone); + } else if (value.constructor === Object) { + value = clone(value); + } + } + + result[key] = value; + } + + return result; +} + +exports.clone = clone; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/create-custom-error.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/create-custom-error.cjs new file mode 100644 index 00000000..d1d3e535 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/create-custom-error.cjs @@ -0,0 +1,18 @@ +'use strict'; + +function createCustomError(name, message) { + // use Object.create(), because some VMs prevent setting line/column otherwise + // (iOS Safari 10 even throws an exception) + const error = Object.create(SyntaxError.prototype); + const errorStack = new Error(); + + return Object.assign(error, { + name, + message, + get stack() { + return (errorStack.stack || '').replace(/^(.+\n){1,3}/, `${name}: ${message}\n`); + } + }); +} + +exports.createCustomError = createCustomError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/ident.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/ident.cjs new file mode 100644 index 00000000..cd70911d --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/ident.cjs @@ -0,0 +1,102 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) + +function decode(str) { + const end = str.length - 1; + let decoded = ''; + + for (let i = 0; i < str.length; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +// https://drafts.csswg.org/cssom/#serialize-an-identifier +// § 2.1. Common Serializing Idioms +function encode(str) { + let encoded = ''; + + // If the character is the first character and is a "-" (U+002D), + // and there is no second character, then the escaped character. + // Note: That's means a single dash string "-" return as escaped dash, + // so move the condition out of the main loop + if (str.length === 1 && str.charCodeAt(0) === 0x002D) { + return '\\-'; + } + + // To serialize an identifier means to create a string represented + // by the concatenation of, for each character of the identifier: + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + if ( + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F ... + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + code <= 0x001F || code === 0x007F || + // [or] ... is in the range [0-9] (U+0030 to U+0039), + (code >= 0x0030 && code <= 0x0039 && ( + // If the character is the first character ... + i === 0 || + // If the character is the second character ... and the first character is a "-" (U+002D) + i === 1 && str.charCodeAt(0) === 0x002D + )) + ) { + // ... then the character escaped as code point. + encoded += '\\' + code.toString(16) + ' '; + continue; + } + + // If the character is not handled by one of the above rules and is greater + // than or equal to U+0080, is "-" (U+002D) or "_" (U+005F), or is in one + // of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to U+005A), + // or \[a-z] (U+0061 to U+007A), then the character itself. + if (charCodeDefinitions.isName(code)) { + encoded += str.charAt(i); + } else { + // Otherwise, the escaped character. + encoded += '\\' + str.charAt(i); + } + } + + return encoded; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/names.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/names.cjs new file mode 100644 index 00000000..92c73c71 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/names.cjs @@ -0,0 +1,113 @@ +'use strict'; + +const keywords = new Map(); +const properties = new Map(); +const HYPHENMINUS = 45; // '-'.charCodeAt() + +const keyword = getKeywordDescriptor; +const property = getPropertyDescriptor; +const vendorPrefix = getVendorPrefix; +function isCustomProperty(str, offset) { + offset = offset || 0; + + return str.length - offset >= 2 && + str.charCodeAt(offset) === HYPHENMINUS && + str.charCodeAt(offset + 1) === HYPHENMINUS; +} + +function getVendorPrefix(str, offset) { + offset = offset || 0; + + // verdor prefix should be at least 3 chars length + if (str.length - offset >= 3) { + // vendor prefix starts with hyper minus following non-hyper minus + if (str.charCodeAt(offset) === HYPHENMINUS && + str.charCodeAt(offset + 1) !== HYPHENMINUS) { + // vendor prefix should contain a hyper minus at the ending + const secondDashIndex = str.indexOf('-', offset + 2); + + if (secondDashIndex !== -1) { + return str.substring(offset, secondDashIndex + 1); + } + } + } + + return ''; +} + +function getKeywordDescriptor(keyword) { + if (keywords.has(keyword)) { + return keywords.get(keyword); + } + + const name = keyword.toLowerCase(); + let descriptor = keywords.get(name); + + if (descriptor === undefined) { + const custom = isCustomProperty(name, 0); + const vendor = !custom ? getVendorPrefix(name, 0) : ''; + descriptor = Object.freeze({ + basename: name.substr(vendor.length), + name, + prefix: vendor, + vendor, + custom + }); + } + + keywords.set(keyword, descriptor); + + return descriptor; +} + +function getPropertyDescriptor(property) { + if (properties.has(property)) { + return properties.get(property); + } + + let name = property; + let hack = property[0]; + + if (hack === '/') { + hack = property[1] === '/' ? '//' : '/'; + } else if (hack !== '_' && + hack !== '*' && + hack !== '$' && + hack !== '#' && + hack !== '+' && + hack !== '&') { + hack = ''; + } + + const custom = isCustomProperty(name, hack.length); + + // re-use result when possible (the same as for lower case) + if (!custom) { + name = name.toLowerCase(); + if (properties.has(name)) { + const descriptor = properties.get(name); + properties.set(property, descriptor); + return descriptor; + } + } + + const vendor = !custom ? getVendorPrefix(name, hack.length) : ''; + const prefix = name.substr(0, hack.length + vendor.length); + const descriptor = Object.freeze({ + basename: name.substr(prefix.length), + name: name.substr(hack.length), + hack, + vendor, + prefix, + custom + }); + + properties.set(property, descriptor); + + return descriptor; +} + +exports.isCustomProperty = isCustomProperty; +exports.keyword = keyword; +exports.property = property; +exports.vendorPrefix = vendorPrefix; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/string.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/string.cjs new file mode 100644 index 00000000..d9c5d01e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/string.cjs @@ -0,0 +1,99 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) +const QUOTATION_MARK = 0x0022; // " +const APOSTROPHE = 0x0027; // ' + +function decode(str) { + const len = str.length; + const firstChar = str.charCodeAt(0); + const start = firstChar === QUOTATION_MARK || firstChar === APOSTROPHE ? 1 : 0; + const end = start === 1 && len > 1 && str.charCodeAt(len - 1) === firstChar ? len - 2 : len - 1; + let decoded = ''; + + for (let i = start; i <= end; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + // otherwise include last quote as escaped + if (i !== len - 1) { + decoded = str.substr(i + 1); + } + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +// https://drafts.csswg.org/cssom/#serialize-a-string +// § 2.1. Common Serializing Idioms +function encode(str, apostrophe) { + const quote = apostrophe ? '\'' : '"'; + const quoteCode = apostrophe ? APOSTROPHE : QUOTATION_MARK; + let encoded = ''; + let wsBeforeHexIsNeeded = false; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F, + // the character escaped as code point. + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + if (code <= 0x001f || code === 0x007F) { + encoded += '\\' + code.toString(16); + wsBeforeHexIsNeeded = true; + continue; + } + + // If the character is '"' (U+0022) or "\" (U+005C), the escaped character. + if (code === quoteCode || code === REVERSE_SOLIDUS) { + encoded += '\\' + str.charAt(i); + wsBeforeHexIsNeeded = false; + } else { + if (wsBeforeHexIsNeeded && (charCodeDefinitions.isHexDigit(code) || charCodeDefinitions.isWhiteSpace(code))) { + encoded += ' '; + } + + // Otherwise, the character itself. + encoded += str.charAt(i); + wsBeforeHexIsNeeded = false; + } + } + + return quote + encoded + quote; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/url.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/url.cjs new file mode 100644 index 00000000..e0e5c227 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/utils/url.cjs @@ -0,0 +1,108 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const SPACE = 0x0020; // U+0020 SPACE +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) +const QUOTATION_MARK = 0x0022; // " +const APOSTROPHE = 0x0027; // ' +const LEFTPARENTHESIS = 0x0028; // U+0028 LEFT PARENTHESIS (() +const RIGHTPARENTHESIS = 0x0029; // U+0029 RIGHT PARENTHESIS ()) + +function decode(str) { + const len = str.length; + let start = 4; // length of "url(" + let end = str.charCodeAt(len - 1) === RIGHTPARENTHESIS ? len - 2 : len - 1; + let decoded = ''; + + while (start < end && charCodeDefinitions.isWhiteSpace(str.charCodeAt(start))) { + start++; + } + + while (start < end && charCodeDefinitions.isWhiteSpace(str.charCodeAt(end))) { + end--; + } + + for (let i = start; i <= end; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + // otherwise include last left parenthesis as escaped + if (i !== len - 1) { + decoded = str.substr(i + 1); + } + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +function encode(str) { + let encoded = ''; + let wsBeforeHexIsNeeded = false; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F, + // the character escaped as code point. + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + if (code <= 0x001f || code === 0x007F) { + encoded += '\\' + code.toString(16); + wsBeforeHexIsNeeded = true; + continue; + } + + if (code === SPACE || + code === REVERSE_SOLIDUS || + code === QUOTATION_MARK || + code === APOSTROPHE || + code === LEFTPARENTHESIS || + code === RIGHTPARENTHESIS) { + encoded += '\\' + str.charAt(i); + wsBeforeHexIsNeeded = false; + } else { + if (wsBeforeHexIsNeeded && charCodeDefinitions.isHexDigit(code)) { + encoded += ' '; + } + + encoded += str.charAt(i); + wsBeforeHexIsNeeded = false; + } + } + + return 'url(' + encoded + ')'; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/version.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/version.cjs new file mode 100644 index 00000000..eaa2fef2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/version.cjs @@ -0,0 +1,5 @@ +'use strict'; + +const { version } = require('../package.json'); + +exports.version = version; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/walker/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/walker/create.cjs new file mode 100644 index 00000000..3938a9f1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/cjs/walker/create.cjs @@ -0,0 +1,291 @@ +'use strict'; + +const { hasOwnProperty } = Object.prototype; +const noop = function() {}; + +function ensureFunction(value) { + return typeof value === 'function' ? value : noop; +} + +function invokeForType(fn, type) { + return function(node, item, list) { + if (node.type === type) { + fn.call(this, node, item, list); + } + }; +} + +function getWalkersFromStructure(name, nodeType) { + const structure = nodeType.structure; + const walkers = []; + + for (const key in structure) { + if (hasOwnProperty.call(structure, key) === false) { + continue; + } + + let fieldTypes = structure[key]; + const walker = { + name: key, + type: false, + nullable: false + }; + + if (!Array.isArray(fieldTypes)) { + fieldTypes = [fieldTypes]; + } + + for (const fieldType of fieldTypes) { + if (fieldType === null) { + walker.nullable = true; + } else if (typeof fieldType === 'string') { + walker.type = 'node'; + } else if (Array.isArray(fieldType)) { + walker.type = 'list'; + } + } + + if (walker.type) { + walkers.push(walker); + } + } + + if (walkers.length) { + return { + context: nodeType.walkContext, + fields: walkers + }; + } + + return null; +} + +function getTypesFromConfig(config) { + const types = {}; + + for (const name in config.node) { + if (hasOwnProperty.call(config.node, name)) { + const nodeType = config.node[name]; + + if (!nodeType.structure) { + throw new Error('Missed `structure` field in `' + name + '` node type definition'); + } + + types[name] = getWalkersFromStructure(name, nodeType); + } + } + + return types; +} + +function createTypeIterator(config, reverse) { + const fields = config.fields.slice(); + const contextName = config.context; + const useContext = typeof contextName === 'string'; + + if (reverse) { + fields.reverse(); + } + + return function(node, context, walk, walkReducer) { + let prevContextValue; + + if (useContext) { + prevContextValue = context[contextName]; + context[contextName] = node; + } + + for (const field of fields) { + const ref = node[field.name]; + + if (!field.nullable || ref) { + if (field.type === 'list') { + const breakWalk = reverse + ? ref.reduceRight(walkReducer, false) + : ref.reduce(walkReducer, false); + + if (breakWalk) { + return true; + } + } else if (walk(ref)) { + return true; + } + } + } + + if (useContext) { + context[contextName] = prevContextValue; + } + }; +} + +function createFastTraveralMap({ + StyleSheet, + Atrule, + Rule, + Block, + DeclarationList +}) { + return { + Atrule: { + StyleSheet, + Atrule, + Rule, + Block + }, + Rule: { + StyleSheet, + Atrule, + Rule, + Block + }, + Declaration: { + StyleSheet, + Atrule, + Rule, + Block, + DeclarationList + } + }; +} + +function createWalker(config) { + const types = getTypesFromConfig(config); + const iteratorsNatural = {}; + const iteratorsReverse = {}; + const breakWalk = Symbol('break-walk'); + const skipNode = Symbol('skip-node'); + + for (const name in types) { + if (hasOwnProperty.call(types, name) && types[name] !== null) { + iteratorsNatural[name] = createTypeIterator(types[name], false); + iteratorsReverse[name] = createTypeIterator(types[name], true); + } + } + + const fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural); + const fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse); + + const walk = function(root, options) { + function walkNode(node, item, list) { + const enterRet = enter.call(context, node, item, list); + + if (enterRet === breakWalk) { + return true; + } + + if (enterRet === skipNode) { + return false; + } + + if (iterators.hasOwnProperty(node.type)) { + if (iterators[node.type](node, context, walkNode, walkReducer)) { + return true; + } + } + + if (leave.call(context, node, item, list) === breakWalk) { + return true; + } + + return false; + } + + let enter = noop; + let leave = noop; + let iterators = iteratorsNatural; + let walkReducer = (ret, data, item, list) => ret || walkNode(data, item, list); + const context = { + break: breakWalk, + skip: skipNode, + + root, + stylesheet: null, + atrule: null, + atrulePrelude: null, + rule: null, + selector: null, + block: null, + declaration: null, + function: null + }; + + if (typeof options === 'function') { + enter = options; + } else if (options) { + enter = ensureFunction(options.enter); + leave = ensureFunction(options.leave); + + if (options.reverse) { + iterators = iteratorsReverse; + } + + if (options.visit) { + if (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) { + iterators = options.reverse + ? fastTraversalIteratorsReverse[options.visit] + : fastTraversalIteratorsNatural[options.visit]; + } else if (!types.hasOwnProperty(options.visit)) { + throw new Error('Bad value `' + options.visit + '` for `visit` option (should be: ' + Object.keys(types).sort().join(', ') + ')'); + } + + enter = invokeForType(enter, options.visit); + leave = invokeForType(leave, options.visit); + } + } + + if (enter === noop && leave === noop) { + throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function'); + } + + walkNode(root); + }; + + walk.break = breakWalk; + walk.skip = skipNode; + + walk.find = function(ast, fn) { + let found = null; + + walk(ast, function(node, item, list) { + if (fn.call(this, node, item, list)) { + found = node; + return breakWalk; + } + }); + + return found; + }; + + walk.findLast = function(ast, fn) { + let found = null; + + walk(ast, { + reverse: true, + enter(node, item, list) { + if (fn.call(this, node, item, list)) { + found = node; + return breakWalk; + } + } + }); + + return found; + }; + + walk.findAll = function(ast, fn) { + const found = []; + + walk(ast, function(node, item, list) { + if (fn.call(this, node, item, list)) { + found.push(node); + } + }); + + return found; + }; + + return walk; +} + +exports.createWalker = createWalker; diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/data/patch.json b/.output/server/node_modules/.nitro/css-tree@2.2.1/data/patch.json new file mode 100644 index 00000000..16d85288 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/data/patch.json @@ -0,0 +1,739 @@ +{ + "atrules": { + "charset": { + "prelude": "<string>" + }, + "font-face": { + "descriptors": { + "unicode-range": { + "comment": "replaces <unicode-range>, an old production name", + "syntax": "<urange>#" + } + } + } + }, + "properties": { + "-moz-background-clip": { + "comment": "deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip", + "syntax": "padding | border" + }, + "-moz-border-radius-bottomleft": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius", + "syntax": "<'border-bottom-left-radius'>" + }, + "-moz-border-radius-bottomright": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", + "syntax": "<'border-bottom-right-radius'>" + }, + "-moz-border-radius-topleft": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius", + "syntax": "<'border-top-left-radius'>" + }, + "-moz-border-radius-topright": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", + "syntax": "<'border-bottom-right-radius'>" + }, + "-moz-control-character-visibility": { + "comment": "firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588", + "syntax": "visible | hidden" + }, + "-moz-osx-font-smoothing": { + "comment": "misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", + "syntax": "auto | grayscale" + }, + "-moz-user-select": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", + "syntax": "none | text | all | -moz-none" + }, + "-ms-flex-align": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", + "syntax": "start | end | center | baseline | stretch" + }, + "-ms-flex-item-align": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", + "syntax": "auto | start | end | center | baseline | stretch" + }, + "-ms-flex-line-pack": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack", + "syntax": "start | end | center | justify | distribute | stretch" + }, + "-ms-flex-negative": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-shrink'>" + }, + "-ms-flex-pack": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack", + "syntax": "start | end | center | justify | distribute" + }, + "-ms-flex-order": { + "comment": "misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx", + "syntax": "<integer>" + }, + "-ms-flex-positive": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-grow'>" + }, + "-ms-flex-preferred-size": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-basis'>" + }, + "-ms-interpolation-mode": { + "comment": "https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx", + "syntax": "nearest-neighbor | bicubic" + }, + "-ms-grid-column-align": { + "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx", + "syntax": "start | end | center | stretch" + }, + "-ms-grid-row-align": { + "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx", + "syntax": "start | end | center | stretch" + }, + "-ms-hyphenate-limit-last": { + "comment": "misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits", + "syntax": "none | always | column | page | spread" + }, + "-webkit-appearance": { + "comment": "webkit specific keywords", + "references": [ + "http://css-infos.net/property/-webkit-appearance" + ], + "syntax": "none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button" + }, + "-webkit-background-clip": { + "comment": "https://developer.mozilla.org/en/docs/Web/CSS/background-clip", + "syntax": "[ <box> | border | padding | content | text ]#" + }, + "-webkit-column-break-after": { + "comment": "added, http://help.dottoro.com/lcrthhhv.php", + "syntax": "always | auto | avoid" + }, + "-webkit-column-break-before": { + "comment": "added, http://help.dottoro.com/lcxquvkf.php", + "syntax": "always | auto | avoid" + }, + "-webkit-column-break-inside": { + "comment": "added, http://help.dottoro.com/lclhnthl.php", + "syntax": "always | auto | avoid" + }, + "-webkit-font-smoothing": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", + "syntax": "auto | none | antialiased | subpixel-antialiased" + }, + "-webkit-mask-box-image": { + "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image", + "syntax": "[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?" + }, + "-webkit-print-color-adjust": { + "comment": "missed", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust" + ], + "syntax": "economy | exact" + }, + "-webkit-text-security": { + "comment": "missed; http://help.dottoro.com/lcbkewgt.php", + "syntax": "none | circle | disc | square" + }, + "-webkit-user-drag": { + "comment": "missed; http://help.dottoro.com/lcbixvwm.php", + "syntax": "none | element | auto" + }, + "-webkit-user-select": { + "comment": "auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", + "syntax": "auto | none | text | all" + }, + "alignment-baseline": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty" + ], + "syntax": "auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical" + }, + "background-clip": { + "comment": "used <bg-clip> from CSS Backgrounds and Borders 4 since it adds new values", + "references": [ + "https://github.com/csstree/csstree/issues/190" + ], + "syntax": "<bg-clip>#" + }, + "baseline-shift": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty" + ], + "syntax": "baseline | sub | super | <svg-length>" + }, + "behavior": { + "comment": "added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx", + "syntax": "<url>+" + }, + "clip-rule": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty" + ], + "syntax": "nonzero | evenodd" + }, + "cue": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'cue-before'> <'cue-after'>?" + }, + "cue-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<url> <decibel>? | none" + }, + "cue-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<url> <decibel>? | none" + }, + "cursor": { + "comment": "added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out", + "references": [ + "https://www.sitepoint.com/css3-cursor-styles/" + ], + "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]" + }, + "display": { + "comment": "extended with -ms-flexbox", + "syntax": "| <-non-standard-display>" + }, + "position": { + "comment": "extended with -webkit-sticky", + "syntax": "| -webkit-sticky" + }, + "dominant-baseline": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty" + ], + "syntax": "auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge" + }, + "image-rendering": { + "comment": "extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/image-rendering", + "https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty" + ], + "syntax": "| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>" + }, + "fill": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "<paint>" + }, + "fill-opacity": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "<number-zero-one>" + }, + "fill-rule": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "nonzero | evenodd" + }, + "filter": { + "comment": "extend with IE legacy syntaxes", + "syntax": "| <-ms-filter-function-list>" + }, + "glyph-orientation-horizontal": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty" + ], + "syntax": "<angle>" + }, + "glyph-orientation-vertical": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty" + ], + "syntax": "<angle>" + }, + "kerning": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#KerningProperty" + ], + "syntax": "auto | <svg-length>" + }, + "letter-spacing": { + "comment": "fix syntax <length> -> <length-percentage>", + "references": [ + "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing" + ], + "syntax": "normal | <length-percentage>" + }, + "marker": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-end": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-mid": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-start": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "max-width": { + "comment": "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width", + "syntax": "| <-non-standard-width>" + }, + "width": { + "references": [ + "https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "https://github.com/csstree/stylelint-validator/issues/29" + ], + "syntax": "| fill | stretch | intrinsic | -moz-max-content | -webkit-max-content | -moz-fit-content | -webkit-fit-content" + }, + "min-width": { + "comment": "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "syntax": "| <-non-standard-width>" + }, + "overflow": { + "comment": "extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow", + "syntax": "| <-non-standard-overflow>" + }, + "pause": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'pause-before'> <'pause-after'>?" + }, + "pause-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "pause-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "rest": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'rest-before'> <'rest-after'>?" + }, + "rest-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "rest-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "shape-rendering": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert" + ], + "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision" + }, + "src": { + "comment": "added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src", + "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#" + }, + "speak": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "auto | none | normal" + }, + "speak-as": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]" + }, + "stroke": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<paint>" + }, + "stroke-dasharray": { + "comment": "added SVG property; a list of comma and/or white space separated <length>s and <percentage>s", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "none | [ <svg-length>+ ]#" + }, + "stroke-dashoffset": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<svg-length>" + }, + "stroke-linecap": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "butt | round | square" + }, + "stroke-linejoin": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "miter | round | bevel" + }, + "stroke-miterlimit": { + "comment": "added SVG property (<miterlimit> = <number-one-or-greater>) ", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<number-one-or-greater>" + }, + "stroke-opacity": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<number-zero-one>" + }, + "stroke-width": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<svg-length>" + }, + "text-anchor": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties" + ], + "syntax": "start | middle | end" + }, + "unicode-bidi": { + "comment": "added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi", + "syntax": "| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext" + }, + "unicode-range": { + "comment": "added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range", + "syntax": "<urange>#" + }, + "voice-balance": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<number> | left | center | right | leftwards | rightwards" + }, + "voice-duration": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "auto | <time>" + }, + "voice-family": { + "comment": "<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve" + }, + "voice-pitch": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]" + }, + "voice-range": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]" + }, + "voice-rate": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>" + }, + "voice-stress": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "normal | strong | moderate | none | reduced" + }, + "voice-volume": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]" + }, + "writing-mode": { + "comment": "extend with SVG keywords", + "syntax": "| <svg-writing-mode>" + } + }, + "types": { + "-legacy-gradient": { + "comment": "added collection of legacy gradient syntaxes", + "syntax": "<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>" + }, + "-legacy-linear-gradient": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )" + }, + "-legacy-repeating-linear-gradient": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )" + }, + "-legacy-linear-gradient-arguments": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "[ <angle> | <side-or-corner> ]? , <color-stop-list>" + }, + "-legacy-radial-gradient": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )" + }, + "-legacy-repeating-radial-gradient": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )" + }, + "-legacy-radial-gradient-arguments": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>" + }, + "-legacy-radial-gradient-size": { + "comment": "before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize", + "syntax": "closest-side | closest-corner | farthest-side | farthest-corner | contain | cover" + }, + "-legacy-radial-gradient-shape": { + "comment": "define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape", + "syntax": "circle | ellipse" + }, + "-non-standard-font": { + "comment": "non standard fonts", + "references": [ + "https://webkit.org/blog/3709/using-the-system-font-in-web-content/" + ], + "syntax": "-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body" + }, + "-non-standard-color": { + "comment": "non standard colors", + "references": [ + "http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html", + "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions" + ], + "syntax": "-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text" + }, + "-non-standard-image-rendering": { + "comment": "non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html", + "syntax": "optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast" + }, + "-non-standard-overflow": { + "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow", + "syntax": "-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable" + }, + "-non-standard-width": { + "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "syntax": "fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content" + }, + "-webkit-gradient()": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )", + "syntax": "-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )" + }, + "-webkit-gradient-color-stop": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )" + }, + "-webkit-gradient-point": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]" + }, + "-webkit-gradient-radius": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "<length> | <percentage>" + }, + "-webkit-gradient-type": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "linear | radial" + }, + "-webkit-mask-box-repeat": { + "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image", + "syntax": "repeat | stretch | round" + }, + "-webkit-mask-clip-style": { + "comment": "missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working", + "syntax": "border | border-box | padding | padding-box | content | content-box | text" + }, + "-ms-filter-function-list": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<-ms-filter-function>+" + }, + "-ms-filter-function": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<-ms-filter-function-progid> | <-ms-filter-function-legacy>" + }, + "-ms-filter-function-progid": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]" + }, + "-ms-filter-function-legacy": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<ident-token> | <function-token> <any-value>? )" + }, + "-ms-filter": { + "syntax": "<string>" + }, + "age": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "child | young | old" + }, + "attr-name": { + "syntax": "<wq-name>" + }, + "attr-fallback": { + "syntax": "<any-value>" + }, + "bg-clip": { + "comment": "missed, https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-clip", + "syntax": "<box> | border | text" + }, + "border-radius": { + "comment": "missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius", + "syntax": "<length-percentage>{1,2}" + }, + "bottom": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "content-list": { + "comment": "added attr(), see https://github.com/csstree/csstree/issues/201", + "syntax": "[ <string> | contents | <image> | <counter> | <quote> | <target> | <leader()> | <attr()> ]+" + }, + "element()": { + "comment": "https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation", + "syntax": "element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )" + }, + "generic-voice": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "[ <age>? <gender> <integer>? ]" + }, + "gender": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "male | female | neutral" + }, + "generic-family": { + "comment": "added -apple-system", + "references": [ + "https://webkit.org/blog/3709/using-the-system-font-in-web-content/" + ], + "syntax": "| -apple-system" + }, + "gradient": { + "comment": "added legacy syntaxes support", + "syntax": "| <-legacy-gradient>" + }, + "lab()": { + "comment": "missed; https://www.w3.org/TR/css-color-4/#specifying-lab-lch", + "syntax": "lab( [<percentage> | <number> | none] [ <percentage> | <number> | none] [ <percentage> | <number> | none] [ / [<alpha-value> | none] ]? )" + }, + "lch()": { + "comment": "missed; https://www.w3.org/TR/css-color-4/#specifying-lab-lch", + "syntax": "lch( [<percentage> | <number> | none] [ <percentage> | <number> | none] [ <hue> | none] [ / [<alpha-value> | none] ]? )" + }, + "left": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "mask-image": { + "comment": "missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image", + "syntax": "<mask-reference>#" + }, + "named-color": { + "comment": "added non standard color names", + "syntax": "| <-non-standard-color>" + }, + "paint": { + "comment": "used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint", + "syntax": "none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke" + }, + "ratio": { + "comment": "missed, https://drafts.csswg.org/css-values-4/#ratio-value", + "syntax": "<number [0,∞]> [ / <number [0,∞]> ]?" + }, + "reversed-counter-name": { + "comment": "missed; https://drafts.csswg.org/css-lists/#typedef-reversed-counter-name", + "syntax": "reversed( <counter-name> )" + }, + "right": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "shape": { + "comment": "missed spaces in function body and add backwards compatible syntax", + "syntax": "rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )" + }, + "svg-length": { + "comment": "All coordinates and lengths in SVG can be specified with or without a unit identifier", + "references": [ + "https://www.w3.org/TR/SVG11/coords.html#Units" + ], + "syntax": "<percentage> | <length> | <number>" + }, + "svg-writing-mode": { + "comment": "SVG specific keywords (deprecated for CSS)", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/writing-mode", + "https://www.w3.org/TR/SVG/text.html#WritingModeProperty" + ], + "syntax": "lr-tb | rl-tb | tb-rl | lr | rl | tb" + }, + "top": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "track-group": { + "comment": "used by old grid-columns and grid-rows syntax v0", + "syntax": "'(' [ <string>* <track-minmax> <string>* ]+ ')' [ '[' <positive-integer> ']' ]? | <track-minmax>" + }, + "track-list-v0": { + "comment": "used by old grid-columns and grid-rows syntax v0", + "syntax": "[ <string>* <track-group> <string>* ]+ | none" + }, + "track-minmax": { + "comment": "used by old grid-columns and grid-rows syntax v0", + "syntax": "minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content" + }, + "x": { + "comment": "missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor", + "syntax": "<number>" + }, + "y": { + "comment": "missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor", + "syntax": "<number>" + }, + "declaration": { + "comment": "missed, restored by https://drafts.csswg.org/css-syntax", + "syntax": "<ident-token> : <declaration-value>? [ '!' important ]?" + }, + "declaration-list": { + "comment": "missed, restored by https://drafts.csswg.org/css-syntax", + "syntax": "[ <declaration>? ';' ]* <declaration>?" + }, + "url": { + "comment": "https://drafts.csswg.org/css-values-4/#urls", + "syntax": "url( <string> <url-modifier>* ) | <url-token>" + }, + "url-modifier": { + "comment": "https://drafts.csswg.org/css-values-4/#typedef-url-modifier", + "syntax": "<ident> | <function-token> <any-value> )" + }, + "number-zero-one": { + "syntax": "<number [0,1]>" + }, + "number-one-or-greater": { + "syntax": "<number [1,∞]>" + }, + "positive-integer": { + "syntax": "<integer [0,∞]>" + }, + "-non-standard-display": { + "syntax": "-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box" + } + } +} diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/node_modules/mdn-data b/.output/server/node_modules/.nitro/css-tree@2.2.1/node_modules/mdn-data new file mode 120000 index 00000000..0a5571e7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/node_modules/mdn-data @@ -0,0 +1 @@ +../../mdn-data@2.0.28 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/css-tree@2.2.1/package.json b/.output/server/node_modules/.nitro/css-tree@2.2.1/package.json new file mode 100644 index 00000000..74e8445b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.2.1/package.json @@ -0,0 +1,127 @@ +{ + "name": "css-tree", + "version": "2.2.1", + "description": "A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations", + "author": "Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)", + "license": "MIT", + "repository": "csstree/csstree", + "keywords": [ + "css", + "ast", + "tokenizer", + "parser", + "walker", + "lexer", + "generator", + "utils", + "syntax", + "validation" + ], + "type": "module", + "module": "./lib/index.js", + "main": "./cjs/index.cjs", + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./cjs/index.cjs" + }, + "./dist/*": "./dist/*.js", + "./package.json": "./package.json", + "./tokenizer": { + "import": "./lib/tokenizer/index.js", + "require": "./cjs/tokenizer/index.cjs" + }, + "./parser": { + "import": "./lib/parser/index.js", + "require": "./cjs/parser/index.cjs" + }, + "./selector-parser": { + "import": "./lib/parser/parse-selector.js", + "require": "./cjs/parser/parse-selector.cjs" + }, + "./generator": { + "import": "./lib/generator/index.js", + "require": "./cjs/generator/index.cjs" + }, + "./walker": { + "import": "./lib/walker/index.js", + "require": "./cjs/walker/index.cjs" + }, + "./convertor": { + "import": "./lib/convertor/index.js", + "require": "./cjs/convertor/index.cjs" + }, + "./lexer": { + "import": "./lib/lexer/index.js", + "require": "./cjs/lexer/index.cjs" + }, + "./definition-syntax": { + "import": "./lib/definition-syntax/index.js", + "require": "./cjs/definition-syntax/index.cjs" + }, + "./definition-syntax-data": { + "import": "./lib/data.js", + "require": "./cjs/data.cjs" + }, + "./definition-syntax-data-patch": { + "import": "./lib/data-patch.js", + "require": "./cjs/data-patch.cjs" + }, + "./utils": { + "import": "./lib/utils/index.js", + "require": "./cjs/utils/index.cjs" + } + }, + "browser": { + "./cjs/data.cjs": "./dist/data.cjs", + "./cjs/version.cjs": "./dist/version.cjs", + "./lib/data.js": "./dist/data.js", + "./lib/version.js": "./dist/version.js" + }, + "unpkg": "dist/csstree.esm.js", + "jsdelivr": "dist/csstree.esm.js", + "scripts": { + "watch": "npm run build -- --watch", + "build": "npm run bundle && npm run esm-to-cjs --", + "build-and-test": "npm run build && npm run test:dist && npm run test:cjs", + "bundle": "node scripts/bundle", + "bundle-and-test": "npm run bundle && npm run test:dist", + "esm-to-cjs": "node scripts/esm-to-cjs.cjs", + "esm-to-cjs-and-test": "npm run esm-to-cjs && npm run test:cjs", + "lint": "eslint lib scripts && node scripts/review-syntax-patch --lint && node scripts/update-docs --lint", + "lint-and-test": "npm run lint && npm test", + "update:docs": "node scripts/update-docs", + "review:syntax-patch": "node scripts/review-syntax-patch", + "test": "mocha lib/__tests --reporter ${REPORTER:-progress}", + "test:cjs": "mocha cjs/__tests --reporter ${REPORTER:-progress}", + "test:dist": "mocha dist/__tests --reporter ${REPORTER:-progress}", + "coverage": "c8 --exclude lib/__tests --reporter=lcovonly npm test", + "prepublishOnly": "npm run lint-and-test && npm run build-and-test", + "hydrogen": "node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/parse --stat -o /dev/null" + }, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "devDependencies": { + "c8": "^7.7.1", + "clap": "^2.0.1", + "esbuild": "^0.14.53", + "eslint": "^8.4.1", + "json-to-ast": "^2.1.0", + "mocha": "^9.1.4", + "rollup": "^2.68.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + }, + "files": [ + "data", + "dist", + "cjs", + "!cjs/__tests", + "lib", + "!lib/__tests" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/convertor/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/convertor/create.cjs new file mode 100644 index 00000000..55c655b2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/convertor/create.cjs @@ -0,0 +1,32 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +function createConvertor(walk) { + return { + fromPlainObject(ast) { + walk(ast, { + enter(node) { + if (node.children && node.children instanceof List.List === false) { + node.children = new List.List().fromArray(node.children); + } + } + }); + + return ast; + }, + toPlainObject(ast) { + walk(ast, { + leave(node) { + if (node.children && node.children instanceof List.List) { + node.children = node.children.toArray(); + } + } + }); + + return ast; + } + }; +} + +exports.createConvertor = createConvertor; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data-patch.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data-patch.cjs new file mode 100644 index 00000000..9103ea4c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data-patch.cjs @@ -0,0 +1,7 @@ +'use strict'; + +const patch = require('../data/patch.json'); + +const patch$1 = patch; + +module.exports = patch$1; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data.cjs new file mode 100644 index 00000000..3ef8afdb --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/data.cjs @@ -0,0 +1,99 @@ +'use strict'; + +const dataPatch = require('./data-patch.cjs'); + +const mdnAtrules = require('mdn-data/css/at-rules.json'); +const mdnProperties = require('mdn-data/css/properties.json'); +const mdnSyntaxes = require('mdn-data/css/syntaxes.json'); + +const extendSyntax = /^\s*\|\s*/; + +function preprocessAtrules(dict) { + const result = Object.create(null); + + for (const atruleName in dict) { + const atrule = dict[atruleName]; + let descriptors = null; + + if (atrule.descriptors) { + descriptors = Object.create(null); + + for (const descriptor in atrule.descriptors) { + descriptors[descriptor] = atrule.descriptors[descriptor].syntax; + } + } + + result[atruleName.substr(1)] = { + prelude: atrule.syntax.trim().replace(/\{(.|\s)+\}/, '').match(/^@\S+\s+([^;\{]*)/)[1].trim() || null, + descriptors + }; + } + + return result; +} + +function patchDictionary(dict, patchDict) { + const result = {}; + + // copy all syntaxes for an original dict + for (const key in dict) { + result[key] = dict[key].syntax || dict[key]; + } + + // apply a patch + for (const key in patchDict) { + if (key in dict) { + if (patchDict[key].syntax) { + result[key] = extendSyntax.test(patchDict[key].syntax) + ? result[key] + ' ' + patchDict[key].syntax.trim() + : patchDict[key].syntax; + } else { + delete result[key]; + } + } else { + if (patchDict[key].syntax) { + result[key] = patchDict[key].syntax.replace(extendSyntax, ''); + } + } + } + + return result; +} + +function patchAtrules(dict, patchDict) { + const result = {}; + + // copy all syntaxes for an original dict + for (const key in dict) { + const atrulePatch = patchDict[key] || {}; + + result[key] = { + prelude: key in patchDict && 'prelude' in atrulePatch + ? atrulePatch.prelude + : dict[key].prelude || null, + descriptors: patchDictionary(dict[key].descriptors || {}, atrulePatch.descriptors || {}) + }; + } + + // apply a patch + for (const key in patchDict) { + if (!hasOwnProperty.call(dict, key)) { + const atrulePatch = patchDict[key] || {}; + + result[key] = { + prelude: atrulePatch.prelude || null, + descriptors: atrulePatch.descriptors && patchDictionary({}, atrulePatch.descriptors) + }; + } + } + + return result; +} + +const definitions = { + types: patchDictionary(mdnSyntaxes, dataPatch.types), + atrules: patchAtrules(preprocessAtrules(mdnAtrules), dataPatch.atrules), + properties: patchDictionary(mdnProperties, dataPatch.properties) +}; + +module.exports = definitions; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/SyntaxError.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/SyntaxError.cjs new file mode 100644 index 00000000..d24e7ced --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/SyntaxError.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); + +function SyntaxError(message, input, offset) { + return Object.assign(createCustomError.createCustomError('SyntaxError', message), { + input, + offset, + rawMessage: message, + message: message + '\n' + + ' ' + input + '\n' + + '--' + new Array((offset || input.length) + 1).join('-') + '^' + }); +} + +exports.SyntaxError = SyntaxError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/generate.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/generate.cjs new file mode 100644 index 00000000..785af062 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/generate.cjs @@ -0,0 +1,135 @@ +'use strict'; + +function noop(value) { + return value; +} + +function generateMultiplier(multiplier) { + const { min, max, comma } = multiplier; + + if (min === 0 && max === 0) { + return comma ? '#?' : '*'; + } + + if (min === 0 && max === 1) { + return '?'; + } + + if (min === 1 && max === 0) { + return comma ? '#' : '+'; + } + + if (min === 1 && max === 1) { + return ''; + } + + return ( + (comma ? '#' : '') + + (min === max + ? '{' + min + '}' + : '{' + min + ',' + (max !== 0 ? max : '') + '}' + ) + ); +} + +function generateTypeOpts(node) { + switch (node.type) { + case 'Range': + return ( + ' [' + + (node.min === null ? '-∞' : node.min) + + ',' + + (node.max === null ? '∞' : node.max) + + ']' + ); + + default: + throw new Error('Unknown node type `' + node.type + '`'); + } +} + +function generateSequence(node, decorate, forceBraces, compact) { + const combinator = node.combinator === ' ' || compact ? node.combinator : ' ' + node.combinator + ' '; + const result = node.terms + .map(term => internalGenerate(term, decorate, forceBraces, compact)) + .join(combinator); + + if (node.explicit || forceBraces) { + return (compact || result[0] === ',' ? '[' : '[ ') + result + (compact ? ']' : ' ]'); + } + + return result; +} + +function internalGenerate(node, decorate, forceBraces, compact) { + let result; + + switch (node.type) { + case 'Group': + result = + generateSequence(node, decorate, forceBraces, compact) + + (node.disallowEmpty ? '!' : ''); + break; + + case 'Multiplier': + // return since node is a composition + return ( + internalGenerate(node.term, decorate, forceBraces, compact) + + decorate(generateMultiplier(node), node) + ); + + case 'Type': + result = '<' + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : '') + '>'; + break; + + case 'Property': + result = '<\'' + node.name + '\'>'; + break; + + case 'Keyword': + result = node.name; + break; + + case 'AtKeyword': + result = '@' + node.name; + break; + + case 'Function': + result = node.name + '('; + break; + + case 'String': + case 'Token': + result = node.value; + break; + + case 'Comma': + result = ','; + break; + + default: + throw new Error('Unknown node type `' + node.type + '`'); + } + + return decorate(result, node); +} + +function generate(node, options) { + let decorate = noop; + let forceBraces = false; + let compact = false; + + if (typeof options === 'function') { + decorate = options; + } else if (options) { + forceBraces = Boolean(options.forceBraces); + compact = Boolean(options.compact); + if (typeof options.decorate === 'function') { + decorate = options.decorate; + } + } + + return internalGenerate(node, decorate, forceBraces, compact); +} + +exports.generate = generate; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/index.cjs new file mode 100644 index 00000000..0afb505c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/index.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const SyntaxError = require('./SyntaxError.cjs'); +const generate = require('./generate.cjs'); +const parse = require('./parse.cjs'); +const walk = require('./walk.cjs'); + + + +exports.SyntaxError = SyntaxError.SyntaxError; +exports.generate = generate.generate; +exports.parse = parse.parse; +exports.walk = walk.walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/parse.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/parse.cjs new file mode 100644 index 00000000..53eee015 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/parse.cjs @@ -0,0 +1,588 @@ +'use strict'; + +const tokenizer = require('./tokenizer.cjs'); + +const TAB = 9; +const N = 10; +const F = 12; +const R = 13; +const SPACE = 32; +const EXCLAMATIONMARK = 33; // ! +const NUMBERSIGN = 35; // # +const AMPERSAND = 38; // & +const APOSTROPHE = 39; // ' +const LEFTPARENTHESIS = 40; // ( +const RIGHTPARENTHESIS = 41; // ) +const ASTERISK = 42; // * +const PLUSSIGN = 43; // + +const COMMA = 44; // , +const HYPERMINUS = 45; // - +const LESSTHANSIGN = 60; // < +const GREATERTHANSIGN = 62; // > +const QUESTIONMARK = 63; // ? +const COMMERCIALAT = 64; // @ +const LEFTSQUAREBRACKET = 91; // [ +const RIGHTSQUAREBRACKET = 93; // ] +const LEFTCURLYBRACKET = 123; // { +const VERTICALLINE = 124; // | +const RIGHTCURLYBRACKET = 125; // } +const INFINITY = 8734; // ∞ +const NAME_CHAR = new Uint8Array(128).map((_, idx) => + /[a-zA-Z0-9\-]/.test(String.fromCharCode(idx)) ? 1 : 0 +); +const COMBINATOR_PRECEDENCE = { + ' ': 1, + '&&': 2, + '||': 3, + '|': 4 +}; + +function scanSpaces(tokenizer) { + return tokenizer.substringToPos( + tokenizer.findWsEnd(tokenizer.pos) + ); +} + +function scanWord(tokenizer) { + let end = tokenizer.pos; + + for (; end < tokenizer.str.length; end++) { + const code = tokenizer.str.charCodeAt(end); + if (code >= 128 || NAME_CHAR[code] === 0) { + break; + } + } + + if (tokenizer.pos === end) { + tokenizer.error('Expect a keyword'); + } + + return tokenizer.substringToPos(end); +} + +function scanNumber(tokenizer) { + let end = tokenizer.pos; + + for (; end < tokenizer.str.length; end++) { + const code = tokenizer.str.charCodeAt(end); + if (code < 48 || code > 57) { + break; + } + } + + if (tokenizer.pos === end) { + tokenizer.error('Expect a number'); + } + + return tokenizer.substringToPos(end); +} + +function scanString(tokenizer) { + const end = tokenizer.str.indexOf('\'', tokenizer.pos + 1); + + if (end === -1) { + tokenizer.pos = tokenizer.str.length; + tokenizer.error('Expect an apostrophe'); + } + + return tokenizer.substringToPos(end + 1); +} + +function readMultiplierRange(tokenizer) { + let min = null; + let max = null; + + tokenizer.eat(LEFTCURLYBRACKET); + + min = scanNumber(tokenizer); + + if (tokenizer.charCode() === COMMA) { + tokenizer.pos++; + if (tokenizer.charCode() !== RIGHTCURLYBRACKET) { + max = scanNumber(tokenizer); + } + } else { + max = min; + } + + tokenizer.eat(RIGHTCURLYBRACKET); + + return { + min: Number(min), + max: max ? Number(max) : 0 + }; +} + +function readMultiplier(tokenizer) { + let range = null; + let comma = false; + + switch (tokenizer.charCode()) { + case ASTERISK: + tokenizer.pos++; + + range = { + min: 0, + max: 0 + }; + + break; + + case PLUSSIGN: + tokenizer.pos++; + + range = { + min: 1, + max: 0 + }; + + break; + + case QUESTIONMARK: + tokenizer.pos++; + + range = { + min: 0, + max: 1 + }; + + break; + + case NUMBERSIGN: + tokenizer.pos++; + + comma = true; + + if (tokenizer.charCode() === LEFTCURLYBRACKET) { + range = readMultiplierRange(tokenizer); + } else if (tokenizer.charCode() === QUESTIONMARK) { + // https://www.w3.org/TR/css-values-4/#component-multipliers + // > the # and ? multipliers may be stacked as #? + // In this case just treat "#?" as a single multiplier + // { min: 0, max: 0, comma: true } + tokenizer.pos++; + range = { + min: 0, + max: 0 + }; + } else { + range = { + min: 1, + max: 0 + }; + } + + break; + + case LEFTCURLYBRACKET: + range = readMultiplierRange(tokenizer); + break; + + default: + return null; + } + + return { + type: 'Multiplier', + comma, + min: range.min, + max: range.max, + term: null + }; +} + +function maybeMultiplied(tokenizer, node) { + const multiplier = readMultiplier(tokenizer); + + if (multiplier !== null) { + multiplier.term = node; + + // https://www.w3.org/TR/css-values-4/#component-multipliers + // > The + and # multipliers may be stacked as +#; + // Represent "+#" as nested multipliers: + // { ...<multiplier #>, + // term: { + // ...<multipler +>, + // term: node + // } + // } + if (tokenizer.charCode() === NUMBERSIGN && + tokenizer.charCodeAt(tokenizer.pos - 1) === PLUSSIGN) { + return maybeMultiplied(tokenizer, multiplier); + } + + return multiplier; + } + + return node; +} + +function maybeToken(tokenizer) { + const ch = tokenizer.peek(); + + if (ch === '') { + return null; + } + + return { + type: 'Token', + value: ch + }; +} + +function readProperty(tokenizer) { + let name; + + tokenizer.eat(LESSTHANSIGN); + tokenizer.eat(APOSTROPHE); + + name = scanWord(tokenizer); + + tokenizer.eat(APOSTROPHE); + tokenizer.eat(GREATERTHANSIGN); + + return maybeMultiplied(tokenizer, { + type: 'Property', + name + }); +} + +// https://drafts.csswg.org/css-values-3/#numeric-ranges +// 4.1. Range Restrictions and Range Definition Notation +// +// Range restrictions can be annotated in the numeric type notation using CSS bracketed +// range notation—[min,max]—within the angle brackets, after the identifying keyword, +// indicating a closed range between (and including) min and max. +// For example, <integer [0, 10]> indicates an integer between 0 and 10, inclusive. +function readTypeRange(tokenizer) { + // use null for Infinity to make AST format JSON serializable/deserializable + let min = null; // -Infinity + let max = null; // Infinity + let sign = 1; + + tokenizer.eat(LEFTSQUAREBRACKET); + + if (tokenizer.charCode() === HYPERMINUS) { + tokenizer.peek(); + sign = -1; + } + + if (sign == -1 && tokenizer.charCode() === INFINITY) { + tokenizer.peek(); + } else { + min = sign * Number(scanNumber(tokenizer)); + + if (NAME_CHAR[tokenizer.charCode()] !== 0) { + min += scanWord(tokenizer); + } + } + + scanSpaces(tokenizer); + tokenizer.eat(COMMA); + scanSpaces(tokenizer); + + if (tokenizer.charCode() === INFINITY) { + tokenizer.peek(); + } else { + sign = 1; + + if (tokenizer.charCode() === HYPERMINUS) { + tokenizer.peek(); + sign = -1; + } + + max = sign * Number(scanNumber(tokenizer)); + + if (NAME_CHAR[tokenizer.charCode()] !== 0) { + max += scanWord(tokenizer); + } + } + + tokenizer.eat(RIGHTSQUAREBRACKET); + + return { + type: 'Range', + min, + max + }; +} + +function readType(tokenizer) { + let name; + let opts = null; + + tokenizer.eat(LESSTHANSIGN); + name = scanWord(tokenizer); + + if (tokenizer.charCode() === LEFTPARENTHESIS && + tokenizer.nextCharCode() === RIGHTPARENTHESIS) { + tokenizer.pos += 2; + name += '()'; + } + + if (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) { + scanSpaces(tokenizer); + opts = readTypeRange(tokenizer); + } + + tokenizer.eat(GREATERTHANSIGN); + + return maybeMultiplied(tokenizer, { + type: 'Type', + name, + opts + }); +} + +function readKeywordOrFunction(tokenizer) { + const name = scanWord(tokenizer); + + if (tokenizer.charCode() === LEFTPARENTHESIS) { + tokenizer.pos++; + + return { + type: 'Function', + name + }; + } + + return maybeMultiplied(tokenizer, { + type: 'Keyword', + name + }); +} + +function regroupTerms(terms, combinators) { + function createGroup(terms, combinator) { + return { + type: 'Group', + terms, + combinator, + disallowEmpty: false, + explicit: false + }; + } + + let combinator; + + combinators = Object.keys(combinators) + .sort((a, b) => COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b]); + + while (combinators.length > 0) { + combinator = combinators.shift(); + + let i = 0; + let subgroupStart = 0; + + for (; i < terms.length; i++) { + const term = terms[i]; + + if (term.type === 'Combinator') { + if (term.value === combinator) { + if (subgroupStart === -1) { + subgroupStart = i - 1; + } + terms.splice(i, 1); + i--; + } else { + if (subgroupStart !== -1 && i - subgroupStart > 1) { + terms.splice( + subgroupStart, + i - subgroupStart, + createGroup(terms.slice(subgroupStart, i), combinator) + ); + i = subgroupStart + 1; + } + subgroupStart = -1; + } + } + } + + if (subgroupStart !== -1 && combinators.length) { + terms.splice( + subgroupStart, + i - subgroupStart, + createGroup(terms.slice(subgroupStart, i), combinator) + ); + } + } + + return combinator; +} + +function readImplicitGroup(tokenizer) { + const terms = []; + const combinators = {}; + let token; + let prevToken = null; + let prevTokenPos = tokenizer.pos; + + while (token = peek(tokenizer)) { + if (token.type !== 'Spaces') { + if (token.type === 'Combinator') { + // check for combinator in group beginning and double combinator sequence + if (prevToken === null || prevToken.type === 'Combinator') { + tokenizer.pos = prevTokenPos; + tokenizer.error('Unexpected combinator'); + } + + combinators[token.value] = true; + } else if (prevToken !== null && prevToken.type !== 'Combinator') { + combinators[' '] = true; // a b + terms.push({ + type: 'Combinator', + value: ' ' + }); + } + + terms.push(token); + prevToken = token; + prevTokenPos = tokenizer.pos; + } + } + + // check for combinator in group ending + if (prevToken !== null && prevToken.type === 'Combinator') { + tokenizer.pos -= prevTokenPos; + tokenizer.error('Unexpected combinator'); + } + + return { + type: 'Group', + terms, + combinator: regroupTerms(terms, combinators) || ' ', + disallowEmpty: false, + explicit: false + }; +} + +function readGroup(tokenizer) { + let result; + + tokenizer.eat(LEFTSQUAREBRACKET); + result = readImplicitGroup(tokenizer); + tokenizer.eat(RIGHTSQUAREBRACKET); + + result.explicit = true; + + if (tokenizer.charCode() === EXCLAMATIONMARK) { + tokenizer.pos++; + result.disallowEmpty = true; + } + + return result; +} + +function peek(tokenizer) { + let code = tokenizer.charCode(); + + if (code < 128 && NAME_CHAR[code] === 1) { + return readKeywordOrFunction(tokenizer); + } + + switch (code) { + case RIGHTSQUAREBRACKET: + // don't eat, stop scan a group + break; + + case LEFTSQUAREBRACKET: + return maybeMultiplied(tokenizer, readGroup(tokenizer)); + + case LESSTHANSIGN: + return tokenizer.nextCharCode() === APOSTROPHE + ? readProperty(tokenizer) + : readType(tokenizer); + + case VERTICALLINE: + return { + type: 'Combinator', + value: tokenizer.substringToPos( + tokenizer.pos + (tokenizer.nextCharCode() === VERTICALLINE ? 2 : 1) + ) + }; + + case AMPERSAND: + tokenizer.pos++; + tokenizer.eat(AMPERSAND); + + return { + type: 'Combinator', + value: '&&' + }; + + case COMMA: + tokenizer.pos++; + return { + type: 'Comma' + }; + + case APOSTROPHE: + return maybeMultiplied(tokenizer, { + type: 'String', + value: scanString(tokenizer) + }); + + case SPACE: + case TAB: + case N: + case R: + case F: + return { + type: 'Spaces', + value: scanSpaces(tokenizer) + }; + + case COMMERCIALAT: + code = tokenizer.nextCharCode(); + + if (code < 128 && NAME_CHAR[code] === 1) { + tokenizer.pos++; + return { + type: 'AtKeyword', + name: scanWord(tokenizer) + }; + } + + return maybeToken(tokenizer); + + case ASTERISK: + case PLUSSIGN: + case QUESTIONMARK: + case NUMBERSIGN: + case EXCLAMATIONMARK: + // prohibited tokens (used as a multiplier start) + break; + + case LEFTCURLYBRACKET: + // LEFTCURLYBRACKET is allowed since mdn/data uses it w/o quoting + // check next char isn't a number, because it's likely a disjoined multiplier + code = tokenizer.nextCharCode(); + + if (code < 48 || code > 57) { + return maybeToken(tokenizer); + } + + break; + + default: + return maybeToken(tokenizer); + } +} + +function parse(source) { + const tokenizer$1 = new tokenizer.Tokenizer(source); + const result = readImplicitGroup(tokenizer$1); + + if (tokenizer$1.pos !== source.length) { + tokenizer$1.error('Unexpected input'); + } + + // reduce redundant groups with single group term + if (result.terms.length === 1 && result.terms[0].type === 'Group') { + return result.terms[0]; + } + + return result; +} + +exports.parse = parse; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/tokenizer.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/tokenizer.cjs new file mode 100644 index 00000000..6ab5ece2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/tokenizer.cjs @@ -0,0 +1,56 @@ +'use strict'; + +const SyntaxError = require('./SyntaxError.cjs'); + +const TAB = 9; +const N = 10; +const F = 12; +const R = 13; +const SPACE = 32; + +class Tokenizer { + constructor(str) { + this.str = str; + this.pos = 0; + } + charCodeAt(pos) { + return pos < this.str.length ? this.str.charCodeAt(pos) : 0; + } + charCode() { + return this.charCodeAt(this.pos); + } + nextCharCode() { + return this.charCodeAt(this.pos + 1); + } + nextNonWsCode(pos) { + return this.charCodeAt(this.findWsEnd(pos)); + } + findWsEnd(pos) { + for (; pos < this.str.length; pos++) { + const code = this.str.charCodeAt(pos); + if (code !== R && code !== N && code !== F && code !== SPACE && code !== TAB) { + break; + } + } + + return pos; + } + substringToPos(end) { + return this.str.substring(this.pos, this.pos = end); + } + eat(code) { + if (this.charCode() !== code) { + this.error('Expect `' + String.fromCharCode(code) + '`'); + } + + this.pos++; + } + peek() { + return this.pos < this.str.length ? this.str.charAt(this.pos++) : ''; + } + error(message) { + throw new SyntaxError.SyntaxError(message, this.str, this.pos); + } +} + +exports.Tokenizer = Tokenizer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/walk.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/walk.cjs new file mode 100644 index 00000000..728a446d --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/definition-syntax/walk.cjs @@ -0,0 +1,56 @@ +'use strict'; + +const noop = function() {}; + +function ensureFunction(value) { + return typeof value === 'function' ? value : noop; +} + +function walk(node, options, context) { + function walk(node) { + enter.call(context, node); + + switch (node.type) { + case 'Group': + node.terms.forEach(walk); + break; + + case 'Multiplier': + walk(node.term); + break; + + case 'Type': + case 'Property': + case 'Keyword': + case 'AtKeyword': + case 'Function': + case 'String': + case 'Token': + case 'Comma': + break; + + default: + throw new Error('Unknown type: ' + node.type); + } + + leave.call(context, node); + } + + let enter = noop; + let leave = noop; + + if (typeof options === 'function') { + enter = options; + } else if (options) { + enter = ensureFunction(options.enter); + leave = ensureFunction(options.leave); + } + + if (enter === noop && leave === noop) { + throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function'); + } + + walk(node); +} + +exports.walk = walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/create.cjs new file mode 100644 index 00000000..ab80f3ac --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/create.cjs @@ -0,0 +1,103 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); +const sourceMap = require('./sourceMap.cjs'); +const tokenBefore = require('./token-before.cjs'); +const types = require('../tokenizer/types.cjs'); + +const REVERSESOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) + +function processChildren(node, delimeter) { + if (typeof delimeter === 'function') { + let prev = null; + + node.children.forEach(node => { + if (prev !== null) { + delimeter.call(this, prev); + } + + this.node(node); + prev = node; + }); + + return; + } + + node.children.forEach(this.node, this); +} + +function processChunk(chunk) { + index.tokenize(chunk, (type, start, end) => { + this.token(type, chunk.slice(start, end)); + }); +} + +function createGenerator(config) { + const types$1 = new Map(); + + for (let name in config.node) { + const item = config.node[name]; + const fn = item.generate || item; + + if (typeof fn === 'function') { + types$1.set(name, item.generate || item); + } + } + + return function(node, options) { + let buffer = ''; + let prevCode = 0; + let handlers = { + node(node) { + if (types$1.has(node.type)) { + types$1.get(node.type).call(publicApi, node); + } else { + throw new Error('Unknown node type: ' + node.type); + } + }, + tokenBefore: tokenBefore.safe, + token(type, value) { + prevCode = this.tokenBefore(prevCode, type, value); + + this.emit(value, type, false); + + if (type === types.Delim && value.charCodeAt(0) === REVERSESOLIDUS) { + this.emit('\n', types.WhiteSpace, true); + } + }, + emit(value) { + buffer += value; + }, + result() { + return buffer; + } + }; + + if (options) { + if (typeof options.decorator === 'function') { + handlers = options.decorator(handlers); + } + + if (options.sourceMap) { + handlers = sourceMap.generateSourceMap(handlers); + } + + if (options.mode in tokenBefore) { + handlers.tokenBefore = tokenBefore[options.mode]; + } + } + + const publicApi = { + node: (node) => handlers.node(node), + children: processChildren, + token: (type, value) => handlers.token(type, value), + tokenize: processChunk + }; + + handlers.node(node); + + return handlers.result(); + }; +} + +exports.createGenerator = createGenerator; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/sourceMap.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/sourceMap.cjs new file mode 100644 index 00000000..efbc5b9e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/sourceMap.cjs @@ -0,0 +1,96 @@ +'use strict'; + +const sourceMapGenerator_js = require('source-map-js/lib/source-map-generator.js'); + +const trackNodes = new Set(['Atrule', 'Selector', 'Declaration']); + +function generateSourceMap(handlers) { + const map = new sourceMapGenerator_js.SourceMapGenerator(); + const generated = { + line: 1, + column: 0 + }; + const original = { + line: 0, // should be zero to add first mapping + column: 0 + }; + const activatedGenerated = { + line: 1, + column: 0 + }; + const activatedMapping = { + generated: activatedGenerated + }; + let line = 1; + let column = 0; + let sourceMappingActive = false; + + const origHandlersNode = handlers.node; + handlers.node = function(node) { + if (node.loc && node.loc.start && trackNodes.has(node.type)) { + const nodeLine = node.loc.start.line; + const nodeColumn = node.loc.start.column - 1; + + if (original.line !== nodeLine || + original.column !== nodeColumn) { + original.line = nodeLine; + original.column = nodeColumn; + + generated.line = line; + generated.column = column; + + if (sourceMappingActive) { + sourceMappingActive = false; + if (generated.line !== activatedGenerated.line || + generated.column !== activatedGenerated.column) { + map.addMapping(activatedMapping); + } + } + + sourceMappingActive = true; + map.addMapping({ + source: node.loc.source, + original, + generated + }); + } + } + + origHandlersNode.call(this, node); + + if (sourceMappingActive && trackNodes.has(node.type)) { + activatedGenerated.line = line; + activatedGenerated.column = column; + } + }; + + const origHandlersEmit = handlers.emit; + handlers.emit = function(value, type, auto) { + for (let i = 0; i < value.length; i++) { + if (value.charCodeAt(i) === 10) { // \n + line++; + column = 0; + } else { + column++; + } + } + + origHandlersEmit(value, type, auto); + }; + + const origHandlersResult = handlers.result; + handlers.result = function() { + if (sourceMappingActive) { + map.addMapping(activatedMapping); + } + + return { + css: origHandlersResult(), + map + }; + }; + + return handlers; +} + +exports.generateSourceMap = generateSourceMap; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/token-before.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/token-before.cjs new file mode 100644 index 00000000..87bf4a3e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/generator/token-before.cjs @@ -0,0 +1,170 @@ +'use strict'; + +const types = require('../tokenizer/types.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) + +const code = (type, value) => { + if (type === types.Delim) { + type = value; + } + + if (typeof type === 'string') { + const charCode = type.charCodeAt(0); + return charCode > 0x7F ? 0x8000 : charCode << 8; + } + + return type; +}; + +// https://www.w3.org/TR/css-syntax-3/#serialization +// The only requirement for serialization is that it must "round-trip" with parsing, +// that is, parsing the stylesheet must produce the same data structures as parsing, +// serializing, and parsing again, except for consecutive <whitespace-token>s, +// which may be collapsed into a single token. + +const specPairs = [ + [types.Ident, types.Ident], + [types.Ident, types.Function], + [types.Ident, types.Url], + [types.Ident, types.BadUrl], + [types.Ident, '-'], + [types.Ident, types.Number], + [types.Ident, types.Percentage], + [types.Ident, types.Dimension], + [types.Ident, types.CDC], + [types.Ident, types.LeftParenthesis], + + [types.AtKeyword, types.Ident], + [types.AtKeyword, types.Function], + [types.AtKeyword, types.Url], + [types.AtKeyword, types.BadUrl], + [types.AtKeyword, '-'], + [types.AtKeyword, types.Number], + [types.AtKeyword, types.Percentage], + [types.AtKeyword, types.Dimension], + [types.AtKeyword, types.CDC], + + [types.Hash, types.Ident], + [types.Hash, types.Function], + [types.Hash, types.Url], + [types.Hash, types.BadUrl], + [types.Hash, '-'], + [types.Hash, types.Number], + [types.Hash, types.Percentage], + [types.Hash, types.Dimension], + [types.Hash, types.CDC], + + [types.Dimension, types.Ident], + [types.Dimension, types.Function], + [types.Dimension, types.Url], + [types.Dimension, types.BadUrl], + [types.Dimension, '-'], + [types.Dimension, types.Number], + [types.Dimension, types.Percentage], + [types.Dimension, types.Dimension], + [types.Dimension, types.CDC], + + ['#', types.Ident], + ['#', types.Function], + ['#', types.Url], + ['#', types.BadUrl], + ['#', '-'], + ['#', types.Number], + ['#', types.Percentage], + ['#', types.Dimension], + ['#', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['-', types.Ident], + ['-', types.Function], + ['-', types.Url], + ['-', types.BadUrl], + ['-', '-'], + ['-', types.Number], + ['-', types.Percentage], + ['-', types.Dimension], + ['-', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + [types.Number, types.Ident], + [types.Number, types.Function], + [types.Number, types.Url], + [types.Number, types.BadUrl], + [types.Number, types.Number], + [types.Number, types.Percentage], + [types.Number, types.Dimension], + [types.Number, '%'], + [types.Number, types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['@', types.Ident], + ['@', types.Function], + ['@', types.Url], + ['@', types.BadUrl], + ['@', '-'], + ['@', types.CDC], // https://github.com/w3c/csswg-drafts/pull/6874 + + ['.', types.Number], + ['.', types.Percentage], + ['.', types.Dimension], + + ['+', types.Number], + ['+', types.Percentage], + ['+', types.Dimension], + + ['/', '*'] +]; +// validate with scripts/generate-safe +const safePairs = specPairs.concat([ + [types.Ident, types.Hash], + + [types.Dimension, types.Hash], + + [types.Hash, types.Hash], + + [types.AtKeyword, types.LeftParenthesis], + [types.AtKeyword, types.String], + [types.AtKeyword, types.Colon], + + [types.Percentage, types.Percentage], + [types.Percentage, types.Dimension], + [types.Percentage, types.Function], + [types.Percentage, '-'], + + [types.RightParenthesis, types.Ident], + [types.RightParenthesis, types.Function], + [types.RightParenthesis, types.Percentage], + [types.RightParenthesis, types.Dimension], + [types.RightParenthesis, types.Hash], + [types.RightParenthesis, '-'] +]); + +function createMap(pairs) { + const isWhiteSpaceRequired = new Set( + pairs.map(([prev, next]) => (code(prev) << 16 | code(next))) + ); + + return function(prevCode, type, value) { + const nextCode = code(type, value); + const nextCharCode = value.charCodeAt(0); + const emitWs = + (nextCharCode === HYPHENMINUS && + type !== types.Ident && + type !== types.Function && + type !== types.CDC) || + (nextCharCode === PLUSSIGN) + ? isWhiteSpaceRequired.has(prevCode << 16 | nextCharCode << 8) + : isWhiteSpaceRequired.has(prevCode << 16 | nextCode); + + if (emitWs) { + this.emit(' ', types.WhiteSpace, true); + } + + return nextCode; + }; +} + +const spec = createMap(specPairs); +const safe = createMap(safePairs); + +exports.safe = safe; +exports.spec = spec; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/index.cjs new file mode 100644 index 00000000..b781d15b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/index.cjs @@ -0,0 +1,63 @@ +'use strict'; + +const index$1 = require('./syntax/index.cjs'); +const version = require('./version.cjs'); +const create = require('./syntax/create.cjs'); +const List = require('./utils/List.cjs'); +const Lexer = require('./lexer/Lexer.cjs'); +const index = require('./definition-syntax/index.cjs'); +const clone = require('./utils/clone.cjs'); +const names$1 = require('./utils/names.cjs'); +const ident = require('./utils/ident.cjs'); +const string = require('./utils/string.cjs'); +const url = require('./utils/url.cjs'); +const types = require('./tokenizer/types.cjs'); +const names = require('./tokenizer/names.cjs'); +const TokenStream = require('./tokenizer/TokenStream.cjs'); + +const { + tokenize, + parse, + generate, + lexer, + createLexer, + + walk, + find, + findLast, + findAll, + + toPlainObject, + fromPlainObject, + + fork +} = index$1; + +exports.version = version.version; +exports.createSyntax = create; +exports.List = List.List; +exports.Lexer = Lexer.Lexer; +exports.definitionSyntax = index; +exports.clone = clone.clone; +exports.isCustomProperty = names$1.isCustomProperty; +exports.keyword = names$1.keyword; +exports.property = names$1.property; +exports.vendorPrefix = names$1.vendorPrefix; +exports.ident = ident; +exports.string = string; +exports.url = url; +exports.tokenTypes = types; +exports.tokenNames = names; +exports.TokenStream = TokenStream.TokenStream; +exports.createLexer = createLexer; +exports.find = find; +exports.findAll = findAll; +exports.findLast = findLast; +exports.fork = fork; +exports.fromPlainObject = fromPlainObject; +exports.generate = generate; +exports.lexer = lexer; +exports.parse = parse; +exports.toPlainObject = toPlainObject; +exports.tokenize = tokenize; +exports.walk = walk; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/Lexer.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/Lexer.cjs new file mode 100644 index 00000000..46380fae --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/Lexer.cjs @@ -0,0 +1,470 @@ +'use strict'; + +const error = require('./error.cjs'); +const names = require('../utils/names.cjs'); +const genericConst = require('./generic-const.cjs'); +const generic = require('./generic.cjs'); +const units = require('./units.cjs'); +const prepareTokens = require('./prepare-tokens.cjs'); +const matchGraph = require('./match-graph.cjs'); +const match = require('./match.cjs'); +const trace = require('./trace.cjs'); +const search = require('./search.cjs'); +const structure = require('./structure.cjs'); +const parse = require('../definition-syntax/parse.cjs'); +const generate = require('../definition-syntax/generate.cjs'); +const walk = require('../definition-syntax/walk.cjs'); + +const cssWideKeywordsSyntax = matchGraph.buildMatchGraph(genericConst.cssWideKeywords.join(' | ')); + +function dumpMapSyntax(map, compact, syntaxAsAst) { + const result = {}; + + for (const name in map) { + if (map[name].syntax) { + result[name] = syntaxAsAst + ? map[name].syntax + : generate.generate(map[name].syntax, { compact }); + } + } + + return result; +} + +function dumpAtruleMapSyntax(map, compact, syntaxAsAst) { + const result = {}; + + for (const [name, atrule] of Object.entries(map)) { + result[name] = { + prelude: atrule.prelude && ( + syntaxAsAst + ? atrule.prelude.syntax + : generate.generate(atrule.prelude.syntax, { compact }) + ), + descriptors: atrule.descriptors && dumpMapSyntax(atrule.descriptors, compact, syntaxAsAst) + }; + } + + return result; +} + +function valueHasVar(tokens) { + for (let i = 0; i < tokens.length; i++) { + if (tokens[i].value.toLowerCase() === 'var(') { + return true; + } + } + + return false; +} + +function buildMatchResult(matched, error, iterations) { + return { + matched, + iterations, + error, + ...trace + }; +} + +function matchSyntax(lexer, syntax, value, useCssWideKeywords) { + const tokens = prepareTokens(value, lexer.syntax); + let result; + + if (valueHasVar(tokens)) { + return buildMatchResult(null, new Error('Matching for a tree with var() is not supported')); + } + + if (useCssWideKeywords) { + result = match.matchAsTree(tokens, lexer.cssWideKeywordsSyntax, lexer); + } + + if (!useCssWideKeywords || !result.match) { + result = match.matchAsTree(tokens, syntax.match, lexer); + if (!result.match) { + return buildMatchResult( + null, + new error.SyntaxMatchError(result.reason, syntax.syntax, value, result), + result.iterations + ); + } + } + + return buildMatchResult(result.match, null, result.iterations); +} + +class Lexer { + constructor(config, syntax, structure$1) { + this.cssWideKeywordsSyntax = cssWideKeywordsSyntax; + this.syntax = syntax; + this.generic = false; + this.units = { ...units }; + this.atrules = Object.create(null); + this.properties = Object.create(null); + this.types = Object.create(null); + this.structure = structure$1 || structure.getStructureFromConfig(config); + + if (config) { + if (config.units) { + for (const group of Object.keys(units)) { + if (Array.isArray(config.units[group])) { + this.units[group] = config.units[group]; + } + } + } + + if (config.types) { + for (const name in config.types) { + this.addType_(name, config.types[name]); + } + } + + if (config.generic) { + this.generic = true; + for (const [name, value] of Object.entries(generic.createGenericTypes(this.units))) { + this.addType_(name, value); + } + } + + if (config.atrules) { + for (const name in config.atrules) { + this.addAtrule_(name, config.atrules[name]); + } + } + + if (config.properties) { + for (const name in config.properties) { + this.addProperty_(name, config.properties[name]); + } + } + } + } + + checkStructure(ast) { + function collectWarning(node, message) { + warns.push({ node, message }); + } + + const structure = this.structure; + const warns = []; + + this.syntax.walk(ast, function(node) { + if (structure.hasOwnProperty(node.type)) { + structure[node.type].check(node, collectWarning); + } else { + collectWarning(node, 'Unknown node type `' + node.type + '`'); + } + }); + + return warns.length ? warns : false; + } + + createDescriptor(syntax, type, name, parent = null) { + const ref = { + type, + name + }; + const descriptor = { + type, + name, + parent, + serializable: typeof syntax === 'string' || (syntax && typeof syntax.type === 'string'), + syntax: null, + match: null + }; + + if (typeof syntax === 'function') { + descriptor.match = matchGraph.buildMatchGraph(syntax, ref); + } else { + if (typeof syntax === 'string') { + // lazy parsing on first access + Object.defineProperty(descriptor, 'syntax', { + get() { + Object.defineProperty(descriptor, 'syntax', { + value: parse.parse(syntax) + }); + + return descriptor.syntax; + } + }); + } else { + descriptor.syntax = syntax; + } + + // lazy graph build on first access + Object.defineProperty(descriptor, 'match', { + get() { + Object.defineProperty(descriptor, 'match', { + value: matchGraph.buildMatchGraph(descriptor.syntax, ref) + }); + + return descriptor.match; + } + }); + } + + return descriptor; + } + addAtrule_(name, syntax) { + if (!syntax) { + return; + } + + this.atrules[name] = { + type: 'Atrule', + name: name, + prelude: syntax.prelude ? this.createDescriptor(syntax.prelude, 'AtrulePrelude', name) : null, + descriptors: syntax.descriptors + ? Object.keys(syntax.descriptors).reduce( + (map, descName) => { + map[descName] = this.createDescriptor(syntax.descriptors[descName], 'AtruleDescriptor', descName, name); + return map; + }, + Object.create(null) + ) + : null + }; + } + addProperty_(name, syntax) { + if (!syntax) { + return; + } + + this.properties[name] = this.createDescriptor(syntax, 'Property', name); + } + addType_(name, syntax) { + if (!syntax) { + return; + } + + this.types[name] = this.createDescriptor(syntax, 'Type', name); + } + + checkAtruleName(atruleName) { + if (!this.getAtrule(atruleName)) { + return new error.SyntaxReferenceError('Unknown at-rule', '@' + atruleName); + } + } + checkAtrulePrelude(atruleName, prelude) { + const error = this.checkAtruleName(atruleName); + + if (error) { + return error; + } + + const atrule = this.getAtrule(atruleName); + + if (!atrule.prelude && prelude) { + return new SyntaxError('At-rule `@' + atruleName + '` should not contain a prelude'); + } + + if (atrule.prelude && !prelude) { + if (!matchSyntax(this, atrule.prelude, '', false).matched) { + return new SyntaxError('At-rule `@' + atruleName + '` should contain a prelude'); + } + } + } + checkAtruleDescriptorName(atruleName, descriptorName) { + const error$1 = this.checkAtruleName(atruleName); + + if (error$1) { + return error$1; + } + + const atrule = this.getAtrule(atruleName); + const descriptor = names.keyword(descriptorName); + + if (!atrule.descriptors) { + return new SyntaxError('At-rule `@' + atruleName + '` has no known descriptors'); + } + + if (!atrule.descriptors[descriptor.name] && + !atrule.descriptors[descriptor.basename]) { + return new error.SyntaxReferenceError('Unknown at-rule descriptor', descriptorName); + } + } + checkPropertyName(propertyName) { + if (!this.getProperty(propertyName)) { + return new error.SyntaxReferenceError('Unknown property', propertyName); + } + } + + matchAtrulePrelude(atruleName, prelude) { + const error = this.checkAtrulePrelude(atruleName, prelude); + + if (error) { + return buildMatchResult(null, error); + } + + const atrule = this.getAtrule(atruleName); + + if (!atrule.prelude) { + return buildMatchResult(null, null); + } + + return matchSyntax(this, atrule.prelude, prelude || '', false); + } + matchAtruleDescriptor(atruleName, descriptorName, value) { + const error = this.checkAtruleDescriptorName(atruleName, descriptorName); + + if (error) { + return buildMatchResult(null, error); + } + + const atrule = this.getAtrule(atruleName); + const descriptor = names.keyword(descriptorName); + + return matchSyntax(this, atrule.descriptors[descriptor.name] || atrule.descriptors[descriptor.basename], value, false); + } + matchDeclaration(node) { + if (node.type !== 'Declaration') { + return buildMatchResult(null, new Error('Not a Declaration node')); + } + + return this.matchProperty(node.property, node.value); + } + matchProperty(propertyName, value) { + // don't match syntax for a custom property at the moment + if (names.property(propertyName).custom) { + return buildMatchResult(null, new Error('Lexer matching doesn\'t applicable for custom properties')); + } + + const error = this.checkPropertyName(propertyName); + + if (error) { + return buildMatchResult(null, error); + } + + return matchSyntax(this, this.getProperty(propertyName), value, true); + } + matchType(typeName, value) { + const typeSyntax = this.getType(typeName); + + if (!typeSyntax) { + return buildMatchResult(null, new error.SyntaxReferenceError('Unknown type', typeName)); + } + + return matchSyntax(this, typeSyntax, value, false); + } + match(syntax, value) { + if (typeof syntax !== 'string' && (!syntax || !syntax.type)) { + return buildMatchResult(null, new error.SyntaxReferenceError('Bad syntax')); + } + + if (typeof syntax === 'string' || !syntax.match) { + syntax = this.createDescriptor(syntax, 'Type', 'anonymous'); + } + + return matchSyntax(this, syntax, value, false); + } + + findValueFragments(propertyName, value, type, name) { + return search.matchFragments(this, value, this.matchProperty(propertyName, value), type, name); + } + findDeclarationValueFragments(declaration, type, name) { + return search.matchFragments(this, declaration.value, this.matchDeclaration(declaration), type, name); + } + findAllFragments(ast, type, name) { + const result = []; + + this.syntax.walk(ast, { + visit: 'Declaration', + enter: (declaration) => { + result.push.apply(result, this.findDeclarationValueFragments(declaration, type, name)); + } + }); + + return result; + } + + getAtrule(atruleName, fallbackBasename = true) { + const atrule = names.keyword(atruleName); + const atruleEntry = atrule.vendor && fallbackBasename + ? this.atrules[atrule.name] || this.atrules[atrule.basename] + : this.atrules[atrule.name]; + + return atruleEntry || null; + } + getAtrulePrelude(atruleName, fallbackBasename = true) { + const atrule = this.getAtrule(atruleName, fallbackBasename); + + return atrule && atrule.prelude || null; + } + getAtruleDescriptor(atruleName, name) { + return this.atrules.hasOwnProperty(atruleName) && this.atrules.declarators + ? this.atrules[atruleName].declarators[name] || null + : null; + } + getProperty(propertyName, fallbackBasename = true) { + const property = names.property(propertyName); + const propertyEntry = property.vendor && fallbackBasename + ? this.properties[property.name] || this.properties[property.basename] + : this.properties[property.name]; + + return propertyEntry || null; + } + getType(name) { + return hasOwnProperty.call(this.types, name) ? this.types[name] : null; + } + + validate() { + function validate(syntax, name, broken, descriptor) { + if (broken.has(name)) { + return broken.get(name); + } + + broken.set(name, false); + if (descriptor.syntax !== null) { + walk.walk(descriptor.syntax, function(node) { + if (node.type !== 'Type' && node.type !== 'Property') { + return; + } + + const map = node.type === 'Type' ? syntax.types : syntax.properties; + const brokenMap = node.type === 'Type' ? brokenTypes : brokenProperties; + + if (!hasOwnProperty.call(map, node.name) || validate(syntax, node.name, brokenMap, map[node.name])) { + broken.set(name, true); + } + }, this); + } + } + + let brokenTypes = new Map(); + let brokenProperties = new Map(); + + for (const key in this.types) { + validate(this, key, brokenTypes, this.types[key]); + } + + for (const key in this.properties) { + validate(this, key, brokenProperties, this.properties[key]); + } + + brokenTypes = [...brokenTypes.keys()].filter(name => brokenTypes.get(name)); + brokenProperties = [...brokenProperties.keys()].filter(name => brokenProperties.get(name)); + + if (brokenTypes.length || brokenProperties.length) { + return { + types: brokenTypes, + properties: brokenProperties + }; + } + + return null; + } + dump(syntaxAsAst, pretty) { + return { + generic: this.generic, + units: this.units, + types: dumpMapSyntax(this.types, !pretty, syntaxAsAst), + properties: dumpMapSyntax(this.properties, !pretty, syntaxAsAst), + atrules: dumpAtruleMapSyntax(this.atrules, !pretty, syntaxAsAst) + }; + } + toString() { + return JSON.stringify(this.dump()); + } +} + +exports.Lexer = Lexer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/error.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/error.cjs new file mode 100644 index 00000000..8d252eeb --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/error.cjs @@ -0,0 +1,128 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); +const generate = require('../definition-syntax/generate.cjs'); + +const defaultLoc = { offset: 0, line: 1, column: 1 }; + +function locateMismatch(matchResult, node) { + const tokens = matchResult.tokens; + const longestMatch = matchResult.longestMatch; + const mismatchNode = longestMatch < tokens.length ? tokens[longestMatch].node || null : null; + const badNode = mismatchNode !== node ? mismatchNode : null; + let mismatchOffset = 0; + let mismatchLength = 0; + let entries = 0; + let css = ''; + let start; + let end; + + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i].value; + + if (i === longestMatch) { + mismatchLength = token.length; + mismatchOffset = css.length; + } + + if (badNode !== null && tokens[i].node === badNode) { + if (i <= longestMatch) { + entries++; + } else { + entries = 0; + } + } + + css += token; + } + + if (longestMatch === tokens.length || entries > 1) { // last + start = fromLoc(badNode || node, 'end') || buildLoc(defaultLoc, css); + end = buildLoc(start); + } else { + start = fromLoc(badNode, 'start') || + buildLoc(fromLoc(node, 'start') || defaultLoc, css.slice(0, mismatchOffset)); + end = fromLoc(badNode, 'end') || + buildLoc(start, css.substr(mismatchOffset, mismatchLength)); + } + + return { + css, + mismatchOffset, + mismatchLength, + start, + end + }; +} + +function fromLoc(node, point) { + const value = node && node.loc && node.loc[point]; + + if (value) { + return 'line' in value ? buildLoc(value) : value; + } + + return null; +} + +function buildLoc({ offset, line, column }, extra) { + const loc = { + offset, + line, + column + }; + + if (extra) { + const lines = extra.split(/\n|\r\n?|\f/); + + loc.offset += extra.length; + loc.line += lines.length - 1; + loc.column = lines.length === 1 ? loc.column + extra.length : lines.pop().length + 1; + } + + return loc; +} + +const SyntaxReferenceError = function(type, referenceName) { + const error = createCustomError.createCustomError( + 'SyntaxReferenceError', + type + (referenceName ? ' `' + referenceName + '`' : '') + ); + + error.reference = referenceName; + + return error; +}; + +const SyntaxMatchError = function(message, syntax, node, matchResult) { + const error = createCustomError.createCustomError('SyntaxMatchError', message); + const { + css, + mismatchOffset, + mismatchLength, + start, + end + } = locateMismatch(matchResult, node); + + error.rawMessage = message; + error.syntax = syntax ? generate.generate(syntax) : '<generic>'; + error.css = css; + error.mismatchOffset = mismatchOffset; + error.mismatchLength = mismatchLength; + error.message = message + '\n' + + ' syntax: ' + error.syntax + '\n' + + ' value: ' + (css || '<empty string>') + '\n' + + ' --------' + new Array(error.mismatchOffset + 1).join('-') + '^'; + + Object.assign(error, start); + error.loc = { + source: (node && node.loc && node.loc.source) || '<unknown>', + start, + end + }; + + return error; +}; + +exports.SyntaxMatchError = SyntaxMatchError; +exports.SyntaxReferenceError = SyntaxReferenceError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-an-plus-b.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-an-plus-b.cjs new file mode 100644 index 00000000..a5dfba3e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-an-plus-b.cjs @@ -0,0 +1,235 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const types = require('../tokenizer/types.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const N = 0x006E; // U+006E LATIN SMALL LETTER N (n) +const DISALLOW_SIGN = true; +const ALLOW_SIGN = false; + +function isDelim(token, code) { + return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; +} + +function skipSC(token, offset, getNextToken) { + while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)) { + token = getNextToken(++offset); + } + + return offset; +} + +function checkInteger(token, valueOffset, disallowSign, offset) { + if (!token) { + return 0; + } + + const code = token.value.charCodeAt(valueOffset); + + if (code === PLUSSIGN || code === HYPHENMINUS) { + if (disallowSign) { + // Number sign is not allowed + return 0; + } + valueOffset++; + } + + for (; valueOffset < token.value.length; valueOffset++) { + if (!charCodeDefinitions.isDigit(token.value.charCodeAt(valueOffset))) { + // Integer is expected + return 0; + } + } + + return offset + 1; +} + +// ... <signed-integer> +// ... ['+' | '-'] <signless-integer> +function consumeB(token, offset_, getNextToken) { + let sign = false; + let offset = skipSC(token, offset_, getNextToken); + + token = getNextToken(offset); + + if (token === null) { + return offset_; + } + + if (token.type !== types.Number) { + if (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS)) { + sign = true; + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + if (token === null || token.type !== types.Number) { + return 0; + } + } else { + return offset_; + } + } + + if (!sign) { + const code = token.value.charCodeAt(0); + if (code !== PLUSSIGN && code !== HYPHENMINUS) { + // Number sign is expected + return 0; + } + } + + return checkInteger(token, sign ? 0 : 1, sign, offset); +} + +// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb +function anPlusB(token, getNextToken) { + /* eslint-disable brace-style*/ + let offset = 0; + + if (!token) { + return 0; + } + + // <integer> + if (token.type === types.Number) { + return checkInteger(token, 0, ALLOW_SIGN, offset); // b + } + + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + // -n- <signless-integer> + // <dashndashdigit-ident> + else if (token.type === types.Ident && token.value.charCodeAt(0) === HYPHENMINUS) { + // expect 1st char is N + if (!utils.cmpChar(token.value, 1, N)) { + return 0; + } + + switch (token.value.length) { + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + case 2: + return consumeB(getNextToken(++offset), offset, getNextToken); + + // -n- <signless-integer> + case 3: + if (token.value.charCodeAt(2) !== HYPHENMINUS) { + return 0; + } + + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + + // <dashndashdigit-ident> + default: + if (token.value.charCodeAt(2) !== HYPHENMINUS) { + return 0; + } + + return checkInteger(token, 3, DISALLOW_SIGN, offset); + } + } + + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + // '+'? n- <signless-integer> + // '+'? <ndashdigit-ident> + else if (token.type === types.Ident || (isDelim(token, PLUSSIGN) && getNextToken(offset + 1).type === types.Ident)) { + // just ignore a plus + if (token.type !== types.Ident) { + token = getNextToken(++offset); + } + + if (token === null || !utils.cmpChar(token.value, 0, N)) { + return 0; + } + + switch (token.value.length) { + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + case 1: + return consumeB(getNextToken(++offset), offset, getNextToken); + + // '+'? n- <signless-integer> + case 2: + if (token.value.charCodeAt(1) !== HYPHENMINUS) { + return 0; + } + + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + + // '+'? <ndashdigit-ident> + default: + if (token.value.charCodeAt(1) !== HYPHENMINUS) { + return 0; + } + + return checkInteger(token, 2, DISALLOW_SIGN, offset); + } + } + + // <ndashdigit-dimension> + // <ndash-dimension> <signless-integer> + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + else if (token.type === types.Dimension) { + let code = token.value.charCodeAt(0); + let sign = code === PLUSSIGN || code === HYPHENMINUS ? 1 : 0; + let i = sign; + + for (; i < token.value.length; i++) { + if (!charCodeDefinitions.isDigit(token.value.charCodeAt(i))) { + break; + } + } + + if (i === sign) { + // Integer is expected + return 0; + } + + if (!utils.cmpChar(token.value, i, N)) { + return 0; + } + + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + if (i + 1 === token.value.length) { + return consumeB(getNextToken(++offset), offset, getNextToken); + } else { + if (token.value.charCodeAt(i + 1) !== HYPHENMINUS) { + return 0; + } + + // <ndash-dimension> <signless-integer> + if (i + 2 === token.value.length) { + offset = skipSC(getNextToken(++offset), offset, getNextToken); + token = getNextToken(offset); + + return checkInteger(token, 0, DISALLOW_SIGN, offset); + } + // <ndashdigit-dimension> + else { + return checkInteger(token, i + 2, DISALLOW_SIGN, offset); + } + } + } + + return 0; +} + +module.exports = anPlusB; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-const.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-const.cjs new file mode 100644 index 00000000..9b9f6157 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-const.cjs @@ -0,0 +1,12 @@ +'use strict'; + +// https://drafts.csswg.org/css-cascade-5/ +const cssWideKeywords = [ + 'initial', + 'inherit', + 'unset', + 'revert', + 'revert-layer' +]; + +exports.cssWideKeywords = cssWideKeywords; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-urange.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-urange.cjs new file mode 100644 index 00000000..ce167bb1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic-urange.cjs @@ -0,0 +1,149 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const types = require('../tokenizer/types.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?) +const U = 0x0075; // U+0075 LATIN SMALL LETTER U (u) + +function isDelim(token, code) { + return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; +} + +function startsWith(token, code) { + return token.value.charCodeAt(0) === code; +} + +function hexSequence(token, offset, allowDash) { + let hexlen = 0; + + for (let pos = offset; pos < token.value.length; pos++) { + const code = token.value.charCodeAt(pos); + + if (code === HYPHENMINUS && allowDash && hexlen !== 0) { + hexSequence(token, offset + hexlen + 1, false); + return 6; // dissallow following question marks + } + + if (!charCodeDefinitions.isHexDigit(code)) { + return 0; // not a hex digit + } + + if (++hexlen > 6) { + return 0; // too many hex digits + } } + + return hexlen; +} + +function withQuestionMarkSequence(consumed, length, getNextToken) { + if (!consumed) { + return 0; // nothing consumed + } + + while (isDelim(getNextToken(length), QUESTIONMARK)) { + if (++consumed > 6) { + return 0; // too many question marks + } + + length++; + } + + return length; +} + +// https://drafts.csswg.org/css-syntax/#urange +// Informally, the <urange> production has three forms: +// U+0001 +// Defines a range consisting of a single code point, in this case the code point "1". +// U+0001-00ff +// Defines a range of codepoints between the first and the second value, in this case +// the range between "1" and "ff" (255 in decimal) inclusive. +// U+00?? +// Defines a range of codepoints where the "?" characters range over all hex digits, +// in this case defining the same as the value U+0000-00ff. +// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit). +// +// <urange> = +// u '+' <ident-token> '?'* | +// u <dimension-token> '?'* | +// u <number-token> '?'* | +// u <number-token> <dimension-token> | +// u <number-token> <number-token> | +// u '+' '?'+ +function urange(token, getNextToken) { + let length = 0; + + // should start with `u` or `U` + if (token === null || token.type !== types.Ident || !utils.cmpChar(token.value, 0, U)) { + return 0; + } + + token = getNextToken(++length); + if (token === null) { + return 0; + } + + // u '+' <ident-token> '?'* + // u '+' '?'+ + if (isDelim(token, PLUSSIGN)) { + token = getNextToken(++length); + if (token === null) { + return 0; + } + + if (token.type === types.Ident) { + // u '+' <ident-token> '?'* + return withQuestionMarkSequence(hexSequence(token, 0, true), ++length, getNextToken); + } + + if (isDelim(token, QUESTIONMARK)) { + // u '+' '?'+ + return withQuestionMarkSequence(1, ++length, getNextToken); + } + + // Hex digit or question mark is expected + return 0; + } + + // u <number-token> '?'* + // u <number-token> <dimension-token> + // u <number-token> <number-token> + if (token.type === types.Number) { + const consumedHexLength = hexSequence(token, 1, true); + if (consumedHexLength === 0) { + return 0; + } + + token = getNextToken(++length); + if (token === null) { + // u <number-token> <eof> + return length; + } + + if (token.type === types.Dimension || token.type === types.Number) { + // u <number-token> <dimension-token> + // u <number-token> <number-token> + if (!startsWith(token, HYPHENMINUS) || !hexSequence(token, 1, false)) { + return 0; + } + + return length + 1; + } + + // u <number-token> '?'* + return withQuestionMarkSequence(consumedHexLength, length, getNextToken); + } + + // u <dimension-token> '?'* + if (token.type === types.Dimension) { + return withQuestionMarkSequence(hexSequence(token, 1, true), ++length, getNextToken); + } + + return 0; +} + +module.exports = urange; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic.cjs new file mode 100644 index 00000000..6b9e5ced --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/generic.cjs @@ -0,0 +1,573 @@ +'use strict'; + +const genericConst = require('./generic-const.cjs'); +const genericAnPlusB = require('./generic-an-plus-b.cjs'); +const genericUrange = require('./generic-urange.cjs'); +const types = require('../tokenizer/types.cjs'); +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const calcFunctionNames = ['calc(', '-moz-calc(', '-webkit-calc(']; +const balancePair = new Map([ + [types.Function, types.RightParenthesis], + [types.LeftParenthesis, types.RightParenthesis], + [types.LeftSquareBracket, types.RightSquareBracket], + [types.LeftCurlyBracket, types.RightCurlyBracket] +]); + +// safe char code getter +function charCodeAt(str, index) { + return index < str.length ? str.charCodeAt(index) : 0; +} + +function eqStr(actual, expected) { + return utils.cmpStr(actual, 0, actual.length, expected); +} + +function eqStrAny(actual, expected) { + for (let i = 0; i < expected.length; i++) { + if (eqStr(actual, expected[i])) { + return true; + } + } + + return false; +} + +// IE postfix hack, i.e. 123\0 or 123px\9 +function isPostfixIeHack(str, offset) { + if (offset !== str.length - 2) { + return false; + } + + return ( + charCodeAt(str, offset) === 0x005C && // U+005C REVERSE SOLIDUS (\) + charCodeDefinitions.isDigit(charCodeAt(str, offset + 1)) + ); +} + +function outOfRange(opts, value, numEnd) { + if (opts && opts.type === 'Range') { + const num = Number( + numEnd !== undefined && numEnd !== value.length + ? value.substr(0, numEnd) + : value + ); + + if (isNaN(num)) { + return true; + } + + // FIXME: when opts.min is a string it's a dimension, skip a range validation + // for now since it requires a type covertation which is not implmented yet + if (opts.min !== null && num < opts.min && typeof opts.min !== 'string') { + return true; + } + + // FIXME: when opts.max is a string it's a dimension, skip a range validation + // for now since it requires a type covertation which is not implmented yet + if (opts.max !== null && num > opts.max && typeof opts.max !== 'string') { + return true; + } + } + + return false; +} + +function consumeFunction(token, getNextToken) { + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // balanced token consuming + scan: + do { + switch (token.type) { + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + + if (balanceStash.length === 0) { + length++; + break scan; + } + + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// TODO: implement +// can be used wherever <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> values are allowed +// https://drafts.csswg.org/css-values/#calc-notation +function calc(next) { + return function(token, getNextToken, opts) { + if (token === null) { + return 0; + } + + if (token.type === types.Function && eqStrAny(token.value, calcFunctionNames)) { + return consumeFunction(token, getNextToken); + } + + return next(token, getNextToken, opts); + }; +} + +function tokenType(expectedTokenType) { + return function(token) { + if (token === null || token.type !== expectedTokenType) { + return 0; + } + + return 1; + }; +} + +// ========================= +// Complex types +// + +// https://drafts.csswg.org/css-values-4/#custom-idents +// 4.2. Author-defined Identifiers: the <custom-ident> type +// Some properties accept arbitrary author-defined identifiers as a component value. +// This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier +// that would not be misinterpreted as a pre-defined keyword in that property’s value definition. +// +// See also: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident +function customIdent(token) { + if (token === null || token.type !== types.Ident) { + return 0; + } + + const name = token.value.toLowerCase(); + + // The CSS-wide keywords are not valid <custom-ident>s + if (eqStrAny(name, genericConst.cssWideKeywords)) { + return 0; + } + + // The default keyword is reserved and is also not a valid <custom-ident> + if (eqStr(name, 'default')) { + return 0; + } + + // TODO: ignore property specific keywords (as described https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident) + // Specifications using <custom-ident> must specify clearly what other keywords + // are excluded from <custom-ident>, if any—for example by saying that any pre-defined keywords + // in that property’s value definition are excluded. Excluded keywords are excluded + // in all ASCII case permutations. + + return 1; +} + +// https://drafts.csswg.org/css-variables/#typedef-custom-property-name +// A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo. +// The <custom-property-name> production corresponds to this: it’s defined as any valid identifier +// that starts with two dashes, except -- itself, which is reserved for future use by CSS. +// NOTE: Current implementation treat `--` as a valid name since most (all?) major browsers treat it as valid. +function customPropertyName(token) { + // ... defined as any valid identifier + if (token === null || token.type !== types.Ident) { + return 0; + } + + // ... that starts with two dashes (U+002D HYPHEN-MINUS) + if (charCodeAt(token.value, 0) !== 0x002D || charCodeAt(token.value, 1) !== 0x002D) { + return 0; + } + + return 1; +} + +// https://drafts.csswg.org/css-color-4/#hex-notation +// The syntax of a <hex-color> is a <hash-token> token whose value consists of 3, 4, 6, or 8 hexadecimal digits. +// In other words, a hex color is written as a hash character, "#", followed by some number of digits 0-9 or +// letters a-f (the case of the letters doesn’t matter - #00ff00 is identical to #00FF00). +function hexColor(token) { + if (token === null || token.type !== types.Hash) { + return 0; + } + + const length = token.value.length; + + // valid values (length): #rgb (4), #rgba (5), #rrggbb (7), #rrggbbaa (9) + if (length !== 4 && length !== 5 && length !== 7 && length !== 9) { + return 0; + } + + for (let i = 1; i < length; i++) { + if (!charCodeDefinitions.isHexDigit(charCodeAt(token.value, i))) { + return 0; + } + } + + return 1; +} + +function idSelector(token) { + if (token === null || token.type !== types.Hash) { + return 0; + } + + if (!charCodeDefinitions.isIdentifierStart(charCodeAt(token.value, 1), charCodeAt(token.value, 2), charCodeAt(token.value, 3))) { + return 0; + } + + return 1; +} + +// https://drafts.csswg.org/css-syntax/#any-value +// It represents the entirety of what a valid declaration can have as its value. +function declarationValue(token, getNextToken) { + if (!token) { + return 0; + } + + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // The <declaration-value> production matches any sequence of one or more tokens, + // so long as the sequence does not contain ... + scan: + do { + switch (token.type) { + // ... <bad-string-token>, <bad-url-token>, + case types.BadString: + case types.BadUrl: + break scan; + + // ... unmatched <)-token>, <]-token>, or <}-token>, + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + break; + + // ... or top-level <semicolon-token> tokens + case types.Semicolon: + if (balanceCloseType === 0) { + break scan; + } + + break; + + // ... or <delim-token> tokens with a value of "!" + case types.Delim: + if (balanceCloseType === 0 && token.value === '!') { + break scan; + } + + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// https://drafts.csswg.org/css-syntax/#any-value +// The <any-value> production is identical to <declaration-value>, but also +// allows top-level <semicolon-token> tokens and <delim-token> tokens +// with a value of "!". It represents the entirety of what valid CSS can be in any context. +function anyValue(token, getNextToken) { + if (!token) { + return 0; + } + + let balanceCloseType = 0; + let balanceStash = []; + let length = 0; + + // The <any-value> production matches any sequence of one or more tokens, + // so long as the sequence ... + scan: + do { + switch (token.type) { + // ... does not contain <bad-string-token>, <bad-url-token>, + case types.BadString: + case types.BadUrl: + break scan; + + // ... unmatched <)-token>, <]-token>, or <}-token>, + case types.RightCurlyBracket: + case types.RightParenthesis: + case types.RightSquareBracket: + if (token.type !== balanceCloseType) { + break scan; + } + + balanceCloseType = balanceStash.pop(); + break; + + case types.Function: + case types.LeftParenthesis: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balanceStash.push(balanceCloseType); + balanceCloseType = balancePair.get(token.type); + break; + } + + length++; + } while (token = getNextToken(length)); + + return length; +} + +// ========================= +// Dimensions +// + +function dimension(type) { + if (type) { + type = new Set(type); + } + + return function(token, getNextToken, opts) { + if (token === null || token.type !== types.Dimension) { + return 0; + } + + const numberEnd = utils.consumeNumber(token.value, 0); + + // check unit + if (type !== null) { + // check for IE postfix hack, i.e. 123px\0 or 123px\9 + const reverseSolidusOffset = token.value.indexOf('\\', numberEnd); + const unit = reverseSolidusOffset === -1 || !isPostfixIeHack(token.value, reverseSolidusOffset) + ? token.value.substr(numberEnd) + : token.value.substring(numberEnd, reverseSolidusOffset); + + if (type.has(unit.toLowerCase()) === false) { + return 0; + } + } + + // check range if specified + if (outOfRange(opts, token.value, numberEnd)) { + return 0; + } + + return 1; + }; +} + +// ========================= +// Percentage +// + +// §5.5. Percentages: the <percentage> type +// https://drafts.csswg.org/css-values-4/#percentages +function percentage(token, getNextToken, opts) { + // ... corresponds to the <percentage-token> production + if (token === null || token.type !== types.Percentage) { + return 0; + } + + // check range if specified + if (outOfRange(opts, token.value, token.value.length - 1)) { + return 0; + } + + return 1; +} + +// ========================= +// Numeric +// + +// https://drafts.csswg.org/css-values-4/#numbers +// The value <zero> represents a literal number with the value 0. Expressions that merely +// evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>; +// only literal <number-token>s do. +function zero(next) { + if (typeof next !== 'function') { + next = function() { + return 0; + }; + } + + return function(token, getNextToken, opts) { + if (token !== null && token.type === types.Number) { + if (Number(token.value) === 0) { + return 1; + } + } + + return next(token, getNextToken, opts); + }; +} + +// § 5.3. Real Numbers: the <number> type +// https://drafts.csswg.org/css-values-4/#numbers +// Number values are denoted by <number>, and represent real numbers, possibly with a fractional component. +// ... It corresponds to the <number-token> production +function number(token, getNextToken, opts) { + if (token === null) { + return 0; + } + + const numberEnd = utils.consumeNumber(token.value, 0); + const isNumber = numberEnd === token.value.length; + if (!isNumber && !isPostfixIeHack(token.value, numberEnd)) { + return 0; + } + + // check range if specified + if (outOfRange(opts, token.value, numberEnd)) { + return 0; + } + + return 1; +} + +// §5.2. Integers: the <integer> type +// https://drafts.csswg.org/css-values-4/#integers +function integer(token, getNextToken, opts) { + // ... corresponds to a subset of the <number-token> production + if (token === null || token.type !== types.Number) { + return 0; + } + + // The first digit of an integer may be immediately preceded by `-` or `+` to indicate the integer’s sign. + let i = charCodeAt(token.value, 0) === 0x002B || // U+002B PLUS SIGN (+) + charCodeAt(token.value, 0) === 0x002D ? 1 : 0; // U+002D HYPHEN-MINUS (-) + + // When written literally, an integer is one or more decimal digits 0 through 9 ... + for (; i < token.value.length; i++) { + if (!charCodeDefinitions.isDigit(charCodeAt(token.value, i))) { + return 0; + } + } + + // check range if specified + if (outOfRange(opts, token.value, i)) { + return 0; + } + + return 1; +} + +// token types +const tokenTypes = { + 'ident-token': tokenType(types.Ident), + 'function-token': tokenType(types.Function), + 'at-keyword-token': tokenType(types.AtKeyword), + 'hash-token': tokenType(types.Hash), + 'string-token': tokenType(types.String), + 'bad-string-token': tokenType(types.BadString), + 'url-token': tokenType(types.Url), + 'bad-url-token': tokenType(types.BadUrl), + 'delim-token': tokenType(types.Delim), + 'number-token': tokenType(types.Number), + 'percentage-token': tokenType(types.Percentage), + 'dimension-token': tokenType(types.Dimension), + 'whitespace-token': tokenType(types.WhiteSpace), + 'CDO-token': tokenType(types.CDO), + 'CDC-token': tokenType(types.CDC), + 'colon-token': tokenType(types.Colon), + 'semicolon-token': tokenType(types.Semicolon), + 'comma-token': tokenType(types.Comma), + '[-token': tokenType(types.LeftSquareBracket), + ']-token': tokenType(types.RightSquareBracket), + '(-token': tokenType(types.LeftParenthesis), + ')-token': tokenType(types.RightParenthesis), + '{-token': tokenType(types.LeftCurlyBracket), + '}-token': tokenType(types.RightCurlyBracket) +}; + +// token production types +const productionTypes = { + // token type aliases + 'string': tokenType(types.String), + 'ident': tokenType(types.Ident), + + // percentage + 'percentage': calc(percentage), + + // numeric + 'zero': zero(), + 'number': calc(number), + 'integer': calc(integer), + + // complex types + 'custom-ident': customIdent, + 'custom-property-name': customPropertyName, + 'hex-color': hexColor, + 'id-selector': idSelector, // element( <id-selector> ) + 'an-plus-b': genericAnPlusB, + 'urange': genericUrange, + 'declaration-value': declarationValue, + 'any-value': anyValue +}; + +// dimensions types depend on units set +function createDemensionTypes(units) { + const { + angle, + decibel, + frequency, + flex, + length, + resolution, + semitones, + time + } = units || {}; + + return { + 'dimension': calc(dimension(null)), + 'angle': calc(dimension(angle)), + 'decibel': calc(dimension(decibel)), + 'frequency': calc(dimension(frequency)), + 'flex': calc(dimension(flex)), + 'length': calc(zero(dimension(length))), + 'resolution': calc(dimension(resolution)), + 'semitones': calc(dimension(semitones)), + 'time': calc(dimension(time)) + }; +} + +function createGenericTypes(units) { + return { + ...tokenTypes, + ...productionTypes, + ...createDemensionTypes(units) + }; +} + +exports.createDemensionTypes = createDemensionTypes; +exports.createGenericTypes = createGenericTypes; +exports.productionTypes = productionTypes; +exports.tokenTypes = tokenTypes; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match-graph.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match-graph.cjs new file mode 100644 index 00000000..79c9b66c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match-graph.cjs @@ -0,0 +1,459 @@ +'use strict'; + +const parse = require('../definition-syntax/parse.cjs'); + +const MATCH = { type: 'Match' }; +const MISMATCH = { type: 'Mismatch' }; +const DISALLOW_EMPTY = { type: 'DisallowEmpty' }; + +const LEFTPARENTHESIS = 40; // ( +const RIGHTPARENTHESIS = 41; // ) + +function createCondition(match, thenBranch, elseBranch) { + // reduce node count + if (thenBranch === MATCH && elseBranch === MISMATCH) { + return match; + } + + if (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) { + return match; + } + + if (match.type === 'If' && match.else === MISMATCH && thenBranch === MATCH) { + thenBranch = match.then; + match = match.match; + } + + return { + type: 'If', + match, + then: thenBranch, + else: elseBranch + }; +} + +function isFunctionType(name) { + return ( + name.length > 2 && + name.charCodeAt(name.length - 2) === LEFTPARENTHESIS && + name.charCodeAt(name.length - 1) === RIGHTPARENTHESIS + ); +} + +function isEnumCapatible(term) { + return ( + term.type === 'Keyword' || + term.type === 'AtKeyword' || + term.type === 'Function' || + term.type === 'Type' && isFunctionType(term.name) + ); +} + +function buildGroupMatchGraph(combinator, terms, atLeastOneTermMatched) { + switch (combinator) { + case ' ': { + // Juxtaposing components means that all of them must occur, in the given order. + // + // a b c + // = + // match a + // then match b + // then match c + // then MATCH + // else MISMATCH + // else MISMATCH + // else MISMATCH + let result = MATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + + result = createCondition( + term, + result, + MISMATCH + ); + } + return result; + } + + case '|': { + // A bar (|) separates two or more alternatives: exactly one of them must occur. + // + // a | b | c + // = + // match a + // then MATCH + // else match b + // then MATCH + // else match c + // then MATCH + // else MISMATCH + + let result = MISMATCH; + let map = null; + + for (let i = terms.length - 1; i >= 0; i--) { + let term = terms[i]; + + // reduce sequence of keywords into a Enum + if (isEnumCapatible(term)) { + if (map === null && i > 0 && isEnumCapatible(terms[i - 1])) { + map = Object.create(null); + result = createCondition( + { + type: 'Enum', + map + }, + MATCH, + result + ); + } + + if (map !== null) { + const key = (isFunctionType(term.name) ? term.name.slice(0, -1) : term.name).toLowerCase(); + if (key in map === false) { + map[key] = term; + continue; + } + } + } + + map = null; + + // create a new conditonal node + result = createCondition( + term, + MATCH, + result + ); + } + return result; + } + + case '&&': { + // A double ampersand (&&) separates two or more components, + // all of which must occur, in any order. + + // Use MatchOnce for groups with a large number of terms, + // since &&-groups produces at least N!-node trees + if (terms.length > 5) { + return { + type: 'MatchOnce', + terms, + all: true + }; + } + + // Use a combination tree for groups with small number of terms + // + // a && b && c + // = + // match a + // then [b && c] + // else match b + // then [a && c] + // else match c + // then [a && b] + // else MISMATCH + // + // a && b + // = + // match a + // then match b + // then MATCH + // else MISMATCH + // else match b + // then match a + // then MATCH + // else MISMATCH + // else MISMATCH + let result = MISMATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + let thenClause; + + if (terms.length > 1) { + thenClause = buildGroupMatchGraph( + combinator, + terms.filter(function(newGroupTerm) { + return newGroupTerm !== term; + }), + false + ); + } else { + thenClause = MATCH; + } + + result = createCondition( + term, + thenClause, + result + ); + } + return result; + } + + case '||': { + // A double bar (||) separates two or more options: + // one or more of them must occur, in any order. + + // Use MatchOnce for groups with a large number of terms, + // since ||-groups produces at least N!-node trees + if (terms.length > 5) { + return { + type: 'MatchOnce', + terms, + all: false + }; + } + + // Use a combination tree for groups with small number of terms + // + // a || b || c + // = + // match a + // then [b || c] + // else match b + // then [a || c] + // else match c + // then [a || b] + // else MISMATCH + // + // a || b + // = + // match a + // then match b + // then MATCH + // else MATCH + // else match b + // then match a + // then MATCH + // else MATCH + // else MISMATCH + let result = atLeastOneTermMatched ? MATCH : MISMATCH; + + for (let i = terms.length - 1; i >= 0; i--) { + const term = terms[i]; + let thenClause; + + if (terms.length > 1) { + thenClause = buildGroupMatchGraph( + combinator, + terms.filter(function(newGroupTerm) { + return newGroupTerm !== term; + }), + true + ); + } else { + thenClause = MATCH; + } + + result = createCondition( + term, + thenClause, + result + ); + } + return result; + } + } +} + +function buildMultiplierMatchGraph(node) { + let result = MATCH; + let matchTerm = buildMatchGraphInternal(node.term); + + if (node.max === 0) { + // disable repeating of empty match to prevent infinite loop + matchTerm = createCondition( + matchTerm, + DISALLOW_EMPTY, + MISMATCH + ); + + // an occurrence count is not limited, make a cycle; + // to collect more terms on each following matching mismatch + result = createCondition( + matchTerm, + null, // will be a loop + MISMATCH + ); + + result.then = createCondition( + MATCH, + MATCH, + result // make a loop + ); + + if (node.comma) { + result.then.else = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + } else { + // create a match node chain for [min .. max] interval with optional matches + for (let i = node.min || 1; i <= node.max; i++) { + if (node.comma && result !== MATCH) { + result = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + + result = createCondition( + matchTerm, + createCondition( + MATCH, + MATCH, + result + ), + MISMATCH + ); + } + } + + if (node.min === 0) { + // allow zero match + result = createCondition( + MATCH, + MATCH, + result + ); + } else { + // create a match node chain to collect [0 ... min - 1] required matches + for (let i = 0; i < node.min - 1; i++) { + if (node.comma && result !== MATCH) { + result = createCondition( + { type: 'Comma', syntax: node }, + result, + MISMATCH + ); + } + + result = createCondition( + matchTerm, + result, + MISMATCH + ); + } + } + + return result; +} + +function buildMatchGraphInternal(node) { + if (typeof node === 'function') { + return { + type: 'Generic', + fn: node + }; + } + + switch (node.type) { + case 'Group': { + let result = buildGroupMatchGraph( + node.combinator, + node.terms.map(buildMatchGraphInternal), + false + ); + + if (node.disallowEmpty) { + result = createCondition( + result, + DISALLOW_EMPTY, + MISMATCH + ); + } + + return result; + } + + case 'Multiplier': + return buildMultiplierMatchGraph(node); + + case 'Type': + case 'Property': + return { + type: node.type, + name: node.name, + syntax: node + }; + + case 'Keyword': + return { + type: node.type, + name: node.name.toLowerCase(), + syntax: node + }; + + case 'AtKeyword': + return { + type: node.type, + name: '@' + node.name.toLowerCase(), + syntax: node + }; + + case 'Function': + return { + type: node.type, + name: node.name.toLowerCase() + '(', + syntax: node + }; + + case 'String': + // convert a one char length String to a Token + if (node.value.length === 3) { + return { + type: 'Token', + value: node.value.charAt(1), + syntax: node + }; + } + + // otherwise use it as is + return { + type: node.type, + value: node.value.substr(1, node.value.length - 2).replace(/\\'/g, '\''), + syntax: node + }; + + case 'Token': + return { + type: node.type, + value: node.value, + syntax: node + }; + + case 'Comma': + return { + type: node.type, + syntax: node + }; + + default: + throw new Error('Unknown node type:', node.type); + } +} + +function buildMatchGraph(syntaxTree, ref) { + if (typeof syntaxTree === 'string') { + syntaxTree = parse.parse(syntaxTree); + } + + return { + type: 'MatchGraph', + match: buildMatchGraphInternal(syntaxTree), + syntax: ref || null, + source: syntaxTree + }; +} + +exports.DISALLOW_EMPTY = DISALLOW_EMPTY; +exports.MATCH = MATCH; +exports.MISMATCH = MISMATCH; +exports.buildMatchGraph = buildMatchGraph; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match.cjs new file mode 100644 index 00000000..903720d8 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/match.cjs @@ -0,0 +1,632 @@ +'use strict'; + +const matchGraph = require('./match-graph.cjs'); +const types = require('../tokenizer/types.cjs'); + +const { hasOwnProperty } = Object.prototype; +const STUB = 0; +const TOKEN = 1; +const OPEN_SYNTAX = 2; +const CLOSE_SYNTAX = 3; + +const EXIT_REASON_MATCH = 'Match'; +const EXIT_REASON_MISMATCH = 'Mismatch'; +const EXIT_REASON_ITERATION_LIMIT = 'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)'; + +const ITERATION_LIMIT = 15000; + +function reverseList(list) { + let prev = null; + let next = null; + let item = list; + + while (item !== null) { + next = item.prev; + item.prev = prev; + prev = item; + item = next; + } + + return prev; +} + +function areStringsEqualCaseInsensitive(testStr, referenceStr) { + if (testStr.length !== referenceStr.length) { + return false; + } + + for (let i = 0; i < testStr.length; i++) { + const referenceCode = referenceStr.charCodeAt(i); + let testCode = testStr.charCodeAt(i); + + // testCode.toLowerCase() for U+0041 LATIN CAPITAL LETTER A (A) .. U+005A LATIN CAPITAL LETTER Z (Z). + if (testCode >= 0x0041 && testCode <= 0x005A) { + testCode = testCode | 32; + } + + if (testCode !== referenceCode) { + return false; + } + } + + return true; +} + +function isContextEdgeDelim(token) { + if (token.type !== types.Delim) { + return false; + } + + // Fix matching for unicode-range: U+30??, U+FF00-FF9F + // Probably we need to check out previous match instead + return token.value !== '?'; +} + +function isCommaContextStart(token) { + if (token === null) { + return true; + } + + return ( + token.type === types.Comma || + token.type === types.Function || + token.type === types.LeftParenthesis || + token.type === types.LeftSquareBracket || + token.type === types.LeftCurlyBracket || + isContextEdgeDelim(token) + ); +} + +function isCommaContextEnd(token) { + if (token === null) { + return true; + } + + return ( + token.type === types.RightParenthesis || + token.type === types.RightSquareBracket || + token.type === types.RightCurlyBracket || + (token.type === types.Delim && token.value === '/') + ); +} + +function internalMatch(tokens, state, syntaxes) { + function moveToNextToken() { + do { + tokenIndex++; + token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; + } while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)); + } + + function getNextToken(offset) { + const nextIndex = tokenIndex + offset; + + return nextIndex < tokens.length ? tokens[nextIndex] : null; + } + + function stateSnapshotFromSyntax(nextState, prev) { + return { + nextState, + matchStack, + syntaxStack, + thenStack, + tokenIndex, + prev + }; + } + + function pushThenStack(nextState) { + thenStack = { + nextState, + matchStack, + syntaxStack, + prev: thenStack + }; + } + + function pushElseStack(nextState) { + elseStack = stateSnapshotFromSyntax(nextState, elseStack); + } + + function addTokenToMatch() { + matchStack = { + type: TOKEN, + syntax: state.syntax, + token, + prev: matchStack + }; + + moveToNextToken(); + syntaxStash = null; + + if (tokenIndex > longestMatch) { + longestMatch = tokenIndex; + } + } + + function openSyntax() { + syntaxStack = { + syntax: state.syntax, + opts: state.syntax.opts || (syntaxStack !== null && syntaxStack.opts) || null, + prev: syntaxStack + }; + + matchStack = { + type: OPEN_SYNTAX, + syntax: state.syntax, + token: matchStack.token, + prev: matchStack + }; + } + + function closeSyntax() { + if (matchStack.type === OPEN_SYNTAX) { + matchStack = matchStack.prev; + } else { + matchStack = { + type: CLOSE_SYNTAX, + syntax: syntaxStack.syntax, + token: matchStack.token, + prev: matchStack + }; + } + + syntaxStack = syntaxStack.prev; + } + + let syntaxStack = null; + let thenStack = null; + let elseStack = null; + + // null – stashing allowed, nothing stashed + // false – stashing disabled, nothing stashed + // anithing else – fail stashable syntaxes, some syntax stashed + let syntaxStash = null; + + let iterationCount = 0; // count iterations and prevent infinite loop + let exitReason = null; + + let token = null; + let tokenIndex = -1; + let longestMatch = 0; + let matchStack = { + type: STUB, + syntax: null, + token: null, + prev: null + }; + + moveToNextToken(); + + while (exitReason === null && ++iterationCount < ITERATION_LIMIT) { + // function mapList(list, fn) { + // const result = []; + // while (list) { + // result.unshift(fn(list)); + // list = list.prev; + // } + // return result; + // } + // console.log('--\n', + // '#' + iterationCount, + // require('util').inspect({ + // match: mapList(matchStack, x => x.type === TOKEN ? x.token && x.token.value : x.syntax ? ({ [OPEN_SYNTAX]: '<', [CLOSE_SYNTAX]: '</' }[x.type] || x.type) + '!' + x.syntax.name : null), + // token: token && token.value, + // tokenIndex, + // syntax: syntax.type + (syntax.id ? ' #' + syntax.id : '') + // }, { depth: null }) + // ); + switch (state.type) { + case 'Match': + if (thenStack === null) { + // turn to MISMATCH when some tokens left unmatched + if (token !== null) { + // doesn't mismatch if just one token left and it's an IE hack + if (tokenIndex !== tokens.length - 1 || (token.value !== '\\0' && token.value !== '\\9')) { + state = matchGraph.MISMATCH; + break; + } + } + + // break the main loop, return a result - MATCH + exitReason = EXIT_REASON_MATCH; + break; + } + + // go to next syntax (`then` branch) + state = thenStack.nextState; + + // check match is not empty + if (state === matchGraph.DISALLOW_EMPTY) { + if (thenStack.matchStack === matchStack) { + state = matchGraph.MISMATCH; + break; + } else { + state = matchGraph.MATCH; + } + } + + // close syntax if needed + while (thenStack.syntaxStack !== syntaxStack) { + closeSyntax(); + } + + // pop stack + thenStack = thenStack.prev; + break; + + case 'Mismatch': + // when some syntax is stashed + if (syntaxStash !== null && syntaxStash !== false) { + // there is no else branches or a branch reduce match stack + if (elseStack === null || tokenIndex > elseStack.tokenIndex) { + // restore state from the stash + elseStack = syntaxStash; + syntaxStash = false; // disable stashing + } + } else if (elseStack === null) { + // no else branches -> break the main loop + // return a result - MISMATCH + exitReason = EXIT_REASON_MISMATCH; + break; + } + + // go to next syntax (`else` branch) + state = elseStack.nextState; + + // restore all the rest stack states + thenStack = elseStack.thenStack; + syntaxStack = elseStack.syntaxStack; + matchStack = elseStack.matchStack; + tokenIndex = elseStack.tokenIndex; + token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; + + // pop stack + elseStack = elseStack.prev; + break; + + case 'MatchGraph': + state = state.match; + break; + + case 'If': + // IMPORTANT: else stack push must go first, + // since it stores the state of thenStack before changes + if (state.else !== matchGraph.MISMATCH) { + pushElseStack(state.else); + } + + if (state.then !== matchGraph.MATCH) { + pushThenStack(state.then); + } + + state = state.match; + break; + + case 'MatchOnce': + state = { + type: 'MatchOnceBuffer', + syntax: state, + index: 0, + mask: 0 + }; + break; + + case 'MatchOnceBuffer': { + const terms = state.syntax.terms; + + if (state.index === terms.length) { + // no matches at all or it's required all terms to be matched + if (state.mask === 0 || state.syntax.all) { + state = matchGraph.MISMATCH; + break; + } + + // a partial match is ok + state = matchGraph.MATCH; + break; + } + + // all terms are matched + if (state.mask === (1 << terms.length) - 1) { + state = matchGraph.MATCH; + break; + } + + for (; state.index < terms.length; state.index++) { + const matchFlag = 1 << state.index; + + if ((state.mask & matchFlag) === 0) { + // IMPORTANT: else stack push must go first, + // since it stores the state of thenStack before changes + pushElseStack(state); + pushThenStack({ + type: 'AddMatchOnce', + syntax: state.syntax, + mask: state.mask | matchFlag + }); + + // match + state = terms[state.index++]; + break; + } + } + break; + } + + case 'AddMatchOnce': + state = { + type: 'MatchOnceBuffer', + syntax: state.syntax, + index: 0, + mask: state.mask + }; + break; + + case 'Enum': + if (token !== null) { + let name = token.value.toLowerCase(); + + // drop \0 and \9 hack from keyword name + if (name.indexOf('\\') !== -1) { + name = name.replace(/\\[09].*$/, ''); + } + + if (hasOwnProperty.call(state.map, name)) { + state = state.map[name]; + break; + } + } + + state = matchGraph.MISMATCH; + break; + + case 'Generic': { + const opts = syntaxStack !== null ? syntaxStack.opts : null; + const lastTokenIndex = tokenIndex + Math.floor(state.fn(token, getNextToken, opts)); + + if (!isNaN(lastTokenIndex) && lastTokenIndex > tokenIndex) { + while (tokenIndex < lastTokenIndex) { + addTokenToMatch(); + } + + state = matchGraph.MATCH; + } else { + state = matchGraph.MISMATCH; + } + + break; + } + + case 'Type': + case 'Property': { + const syntaxDict = state.type === 'Type' ? 'types' : 'properties'; + const dictSyntax = hasOwnProperty.call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : null; + + if (!dictSyntax || !dictSyntax.match) { + throw new Error( + 'Bad syntax reference: ' + + (state.type === 'Type' + ? '<' + state.name + '>' + : '<\'' + state.name + '\'>') + ); + } + + // stash a syntax for types with low priority + if (syntaxStash !== false && token !== null && state.type === 'Type') { + const lowPriorityMatching = + // https://drafts.csswg.org/css-values-4/#custom-idents + // When parsing positionally-ambiguous keywords in a property value, a <custom-ident> production + // can only claim the keyword if no other unfulfilled production can claim it. + (state.name === 'custom-ident' && token.type === types.Ident) || + + // https://drafts.csswg.org/css-values-4/#lengths + // ... if a `0` could be parsed as either a <number> or a <length> in a property (such as line-height), + // it must parse as a <number> + (state.name === 'length' && token.value === '0'); + + if (lowPriorityMatching) { + if (syntaxStash === null) { + syntaxStash = stateSnapshotFromSyntax(state, elseStack); + } + + state = matchGraph.MISMATCH; + break; + } + } + + openSyntax(); + state = dictSyntax.match; + break; + } + + case 'Keyword': { + const name = state.name; + + if (token !== null) { + let keywordName = token.value; + + // drop \0 and \9 hack from keyword name + if (keywordName.indexOf('\\') !== -1) { + keywordName = keywordName.replace(/\\[09].*$/, ''); + } + + if (areStringsEqualCaseInsensitive(keywordName, name)) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + } + + state = matchGraph.MISMATCH; + break; + } + + case 'AtKeyword': + case 'Function': + if (token !== null && areStringsEqualCaseInsensitive(token.value, state.name)) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + + state = matchGraph.MISMATCH; + break; + + case 'Token': + if (token !== null && token.value === state.value) { + addTokenToMatch(); + state = matchGraph.MATCH; + break; + } + + state = matchGraph.MISMATCH; + break; + + case 'Comma': + if (token !== null && token.type === types.Comma) { + if (isCommaContextStart(matchStack.token)) { + state = matchGraph.MISMATCH; + } else { + addTokenToMatch(); + state = isCommaContextEnd(token) ? matchGraph.MISMATCH : matchGraph.MATCH; + } + } else { + state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? matchGraph.MATCH : matchGraph.MISMATCH; + } + + break; + + case 'String': + let string = ''; + let lastTokenIndex = tokenIndex; + + for (; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) { + string += tokens[lastTokenIndex].value; + } + + if (areStringsEqualCaseInsensitive(string, state.value)) { + while (tokenIndex < lastTokenIndex) { + addTokenToMatch(); + } + + state = matchGraph.MATCH; + } else { + state = matchGraph.MISMATCH; + } + + break; + + default: + throw new Error('Unknown node type: ' + state.type); + } + } + + switch (exitReason) { + case null: + console.warn('[csstree-match] BREAK after ' + ITERATION_LIMIT + ' iterations'); + exitReason = EXIT_REASON_ITERATION_LIMIT; + matchStack = null; + break; + + case EXIT_REASON_MATCH: + while (syntaxStack !== null) { + closeSyntax(); + } + break; + + default: + matchStack = null; + } + + return { + tokens, + reason: exitReason, + iterations: iterationCount, + match: matchStack, + longestMatch + }; +} + +function matchAsList(tokens, matchGraph, syntaxes) { + const matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); + + if (matchResult.match !== null) { + let item = reverseList(matchResult.match).prev; + + matchResult.match = []; + + while (item !== null) { + switch (item.type) { + case OPEN_SYNTAX: + case CLOSE_SYNTAX: + matchResult.match.push({ + type: item.type, + syntax: item.syntax + }); + break; + + default: + matchResult.match.push({ + token: item.token.value, + node: item.token.node + }); + break; + } + + item = item.prev; + } + } + + return matchResult; +} + +function matchAsTree(tokens, matchGraph, syntaxes) { + const matchResult = internalMatch(tokens, matchGraph, syntaxes || {}); + + if (matchResult.match === null) { + return matchResult; + } + + let item = matchResult.match; + let host = matchResult.match = { + syntax: matchGraph.syntax || null, + match: [] + }; + const hostStack = [host]; + + // revert a list and start with 2nd item since 1st is a stub item + item = reverseList(item).prev; + + // build a tree + while (item !== null) { + switch (item.type) { + case OPEN_SYNTAX: + host.match.push(host = { + syntax: item.syntax, + match: [] + }); + hostStack.push(host); + break; + + case CLOSE_SYNTAX: + hostStack.pop(); + host = hostStack[hostStack.length - 1]; + break; + + default: + host.match.push({ + syntax: item.syntax || null, + token: item.token.value, + node: item.token.node + }); + } + + item = item.prev; + } + + return matchResult; +} + +exports.matchAsList = matchAsList; +exports.matchAsTree = matchAsTree; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/prepare-tokens.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/prepare-tokens.cjs new file mode 100644 index 00000000..24647a5e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/prepare-tokens.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); + +const astToTokens = { + decorator(handlers) { + const tokens = []; + let curNode = null; + + return { + ...handlers, + node(node) { + const tmp = curNode; + curNode = node; + handlers.node.call(this, node); + curNode = tmp; + }, + emit(value, type, auto) { + tokens.push({ + type, + value, + node: auto ? null : curNode + }); + }, + result() { + return tokens; + } + }; + } +}; + +function stringToTokens(str) { + const tokens = []; + + index.tokenize(str, (type, start, end) => + tokens.push({ + type, + value: str.slice(start, end), + node: null + }) + ); + + return tokens; +} + +function prepareTokens(value, syntax) { + if (typeof value === 'string') { + return stringToTokens(value); + } + + return syntax.generate(value, astToTokens); +} + +module.exports = prepareTokens; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/search.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/search.cjs new file mode 100644 index 00000000..2b1e12c3 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/search.cjs @@ -0,0 +1,65 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +function getFirstMatchNode(matchNode) { + if ('node' in matchNode) { + return matchNode.node; + } + + return getFirstMatchNode(matchNode.match[0]); +} + +function getLastMatchNode(matchNode) { + if ('node' in matchNode) { + return matchNode.node; + } + + return getLastMatchNode(matchNode.match[matchNode.match.length - 1]); +} + +function matchFragments(lexer, ast, match, type, name) { + function findFragments(matchNode) { + if (matchNode.syntax !== null && + matchNode.syntax.type === type && + matchNode.syntax.name === name) { + const start = getFirstMatchNode(matchNode); + const end = getLastMatchNode(matchNode); + + lexer.syntax.walk(ast, function(node, item, list) { + if (node === start) { + const nodes = new List.List(); + + do { + nodes.appendData(item.data); + + if (item.data === end) { + break; + } + + item = item.next; + } while (item !== null); + + fragments.push({ + parent: list, + nodes + }); + } + }); + } + + if (Array.isArray(matchNode.match)) { + matchNode.match.forEach(findFragments); + } + } + + const fragments = []; + + if (match.matched !== null) { + findFragments(match.matched); + } + + return fragments; +} + +exports.matchFragments = matchFragments; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/structure.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/structure.cjs new file mode 100644 index 00000000..77bdd35a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/structure.cjs @@ -0,0 +1,168 @@ +'use strict'; + +const List = require('../utils/List.cjs'); + +const { hasOwnProperty } = Object.prototype; + +function isValidNumber(value) { + // Number.isInteger(value) && value >= 0 + return ( + typeof value === 'number' && + isFinite(value) && + Math.floor(value) === value && + value >= 0 + ); +} + +function isValidLocation(loc) { + return ( + Boolean(loc) && + isValidNumber(loc.offset) && + isValidNumber(loc.line) && + isValidNumber(loc.column) + ); +} + +function createNodeStructureChecker(type, fields) { + return function checkNode(node, warn) { + if (!node || node.constructor !== Object) { + return warn(node, 'Type of node should be an Object'); + } + + for (let key in node) { + let valid = true; + + if (hasOwnProperty.call(node, key) === false) { + continue; + } + + if (key === 'type') { + if (node.type !== type) { + warn(node, 'Wrong node type `' + node.type + '`, expected `' + type + '`'); + } + } else if (key === 'loc') { + if (node.loc === null) { + continue; + } else if (node.loc && node.loc.constructor === Object) { + if (typeof node.loc.source !== 'string') { + key += '.source'; + } else if (!isValidLocation(node.loc.start)) { + key += '.start'; + } else if (!isValidLocation(node.loc.end)) { + key += '.end'; + } else { + continue; + } + } + + valid = false; + } else if (fields.hasOwnProperty(key)) { + valid = false; + + for (let i = 0; !valid && i < fields[key].length; i++) { + const fieldType = fields[key][i]; + + switch (fieldType) { + case String: + valid = typeof node[key] === 'string'; + break; + + case Boolean: + valid = typeof node[key] === 'boolean'; + break; + + case null: + valid = node[key] === null; + break; + + default: + if (typeof fieldType === 'string') { + valid = node[key] && node[key].type === fieldType; + } else if (Array.isArray(fieldType)) { + valid = node[key] instanceof List.List; + } + } + } + } else { + warn(node, 'Unknown field `' + key + '` for ' + type + ' node type'); + } + + if (!valid) { + warn(node, 'Bad value for `' + type + '.' + key + '`'); + } + } + + for (const key in fields) { + if (hasOwnProperty.call(fields, key) && + hasOwnProperty.call(node, key) === false) { + warn(node, 'Field `' + type + '.' + key + '` is missed'); + } + } + }; +} + +function processStructure(name, nodeType) { + const structure = nodeType.structure; + const fields = { + type: String, + loc: true + }; + const docs = { + type: '"' + name + '"' + }; + + for (const key in structure) { + if (hasOwnProperty.call(structure, key) === false) { + continue; + } + + const docsTypes = []; + const fieldTypes = fields[key] = Array.isArray(structure[key]) + ? structure[key].slice() + : [structure[key]]; + + for (let i = 0; i < fieldTypes.length; i++) { + const fieldType = fieldTypes[i]; + if (fieldType === String || fieldType === Boolean) { + docsTypes.push(fieldType.name); + } else if (fieldType === null) { + docsTypes.push('null'); + } else if (typeof fieldType === 'string') { + docsTypes.push('<' + fieldType + '>'); + } else if (Array.isArray(fieldType)) { + docsTypes.push('List'); // TODO: use type enum + } else { + throw new Error('Wrong value `' + fieldType + '` in `' + name + '.' + key + '` structure definition'); + } + } + + docs[key] = docsTypes.join(' | '); + } + + return { + docs, + check: createNodeStructureChecker(name, fields) + }; +} + +function getStructureFromConfig(config) { + const structure = {}; + + if (config.node) { + for (const name in config.node) { + if (hasOwnProperty.call(config.node, name)) { + const nodeType = config.node[name]; + + if (nodeType.structure) { + structure[name] = processStructure(name, nodeType); + } else { + throw new Error('Missed `structure` field in `' + name + '` node type definition'); + } + } + } + } + + return structure; +} + +exports.getStructureFromConfig = getStructureFromConfig; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/trace.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/trace.cjs new file mode 100644 index 00000000..13753f26 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/trace.cjs @@ -0,0 +1,73 @@ +'use strict'; + +function getTrace(node) { + function shouldPutToTrace(syntax) { + if (syntax === null) { + return false; + } + + return ( + syntax.type === 'Type' || + syntax.type === 'Property' || + syntax.type === 'Keyword' + ); + } + + function hasMatch(matchNode) { + if (Array.isArray(matchNode.match)) { + // use for-loop for better perfomance + for (let i = 0; i < matchNode.match.length; i++) { + if (hasMatch(matchNode.match[i])) { + if (shouldPutToTrace(matchNode.syntax)) { + result.unshift(matchNode.syntax); + } + + return true; + } + } + } else if (matchNode.node === node) { + result = shouldPutToTrace(matchNode.syntax) + ? [matchNode.syntax] + : []; + + return true; + } + + return false; + } + + let result = null; + + if (this.matched !== null) { + hasMatch(this.matched); + } + + return result; +} + +function isType(node, type) { + return testNode(this, node, match => match.type === 'Type' && match.name === type); +} + +function isProperty(node, property) { + return testNode(this, node, match => match.type === 'Property' && match.name === property); +} + +function isKeyword(node) { + return testNode(this, node, match => match.type === 'Keyword'); +} + +function testNode(match, node, fn) { + const trace = getTrace.call(match, node); + + if (trace === null) { + return false; + } + + return trace.some(fn); +} + +exports.getTrace = getTrace; +exports.isKeyword = isKeyword; +exports.isProperty = isProperty; +exports.isType = isType; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/units.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/units.cjs new file mode 100644 index 00000000..13f4e97b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/lexer/units.cjs @@ -0,0 +1,38 @@ +'use strict'; + +const length = [ + // absolute length units https://www.w3.org/TR/css-values-3/#lengths + 'cm', 'mm', 'q', 'in', 'pt', 'pc', 'px', + // font-relative length units https://drafts.csswg.org/css-values-4/#font-relative-lengths + 'em', 'rem', + 'ex', 'rex', + 'cap', 'rcap', + 'ch', 'rch', + 'ic', 'ric', + 'lh', 'rlh', + // viewport-percentage lengths https://drafts.csswg.org/css-values-4/#viewport-relative-lengths + 'vw', 'svw', 'lvw', 'dvw', + 'vh', 'svh', 'lvh', 'dvh', + 'vi', 'svi', 'lvi', 'dvi', + 'vb', 'svb', 'lvb', 'dvb', + 'vmin', 'svmin', 'lvmin', 'dvmin', + 'vmax', 'svmax', 'lvmax', 'dvmax', + // container relative lengths https://drafts.csswg.org/css-contain-3/#container-lengths + 'cqw', 'cqh', 'cqi', 'cqb', 'cqmin', 'cqmax' +]; +const angle = ['deg', 'grad', 'rad', 'turn']; // https://www.w3.org/TR/css-values-3/#angles +const time = ['s', 'ms']; // https://www.w3.org/TR/css-values-3/#time +const frequency = ['hz', 'khz']; // https://www.w3.org/TR/css-values-3/#frequency +const resolution = ['dpi', 'dpcm', 'dppx', 'x']; // https://www.w3.org/TR/css-values-3/#resolution +const flex = ['fr']; // https://drafts.csswg.org/css-grid/#fr-unit +const decibel = ['db']; // https://www.w3.org/TR/css3-speech/#mixing-props-voice-volume +const semitones = ['st']; // https://www.w3.org/TR/css3-speech/#voice-props-voice-pitch + +exports.angle = angle; +exports.decibel = decibel; +exports.flex = flex; +exports.frequency = frequency; +exports.length = length; +exports.resolution = resolution; +exports.semitones = semitones; +exports.time = time; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/SyntaxError.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/SyntaxError.cjs new file mode 100644 index 00000000..63dd44b5 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/SyntaxError.cjs @@ -0,0 +1,69 @@ +'use strict'; + +const createCustomError = require('../utils/create-custom-error.cjs'); + +const MAX_LINE_LENGTH = 100; +const OFFSET_CORRECTION = 60; +const TAB_REPLACEMENT = ' '; + +function sourceFragment({ source, line, column }, extraLines) { + function processLines(start, end) { + return lines + .slice(start, end) + .map((line, idx) => + String(start + idx + 1).padStart(maxNumLength) + ' |' + line + ).join('\n'); + } + + const lines = source.split(/\r\n?|\n|\f/); + const startLine = Math.max(1, line - extraLines) - 1; + const endLine = Math.min(line + extraLines, lines.length + 1); + const maxNumLength = Math.max(4, String(endLine).length) + 1; + let cutLeft = 0; + + // column correction according to replaced tab before column + column += (TAB_REPLACEMENT.length - 1) * (lines[line - 1].substr(0, column - 1).match(/\t/g) || []).length; + + if (column > MAX_LINE_LENGTH) { + cutLeft = column - OFFSET_CORRECTION + 3; + column = OFFSET_CORRECTION - 2; + } + + for (let i = startLine; i <= endLine; i++) { + if (i >= 0 && i < lines.length) { + lines[i] = lines[i].replace(/\t/g, TAB_REPLACEMENT); + lines[i] = + (cutLeft > 0 && lines[i].length > cutLeft ? '\u2026' : '') + + lines[i].substr(cutLeft, MAX_LINE_LENGTH - 2) + + (lines[i].length > cutLeft + MAX_LINE_LENGTH - 1 ? '\u2026' : ''); + } + } + + return [ + processLines(startLine, line), + new Array(column + maxNumLength + 2).join('-') + '^', + processLines(line, endLine) + ].filter(Boolean).join('\n'); +} + +function SyntaxError(message, source, offset, line, column) { + const error = Object.assign(createCustomError.createCustomError('SyntaxError', message), { + source, + offset, + line, + column, + sourceFragment(extraLines) { + return sourceFragment({ source, line, column }, isNaN(extraLines) ? 0 : extraLines); + }, + get formattedMessage() { + return ( + `Parse error: ${message}\n` + + sourceFragment({ source, line, column }, 2) + ); + } + }); + + return error; +} + +exports.SyntaxError = SyntaxError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/create.cjs new file mode 100644 index 00000000..f83d3bde --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/create.cjs @@ -0,0 +1,336 @@ +'use strict'; + +const List = require('../utils/List.cjs'); +const SyntaxError = require('./SyntaxError.cjs'); +const index = require('../tokenizer/index.cjs'); +const sequence = require('./sequence.cjs'); +const OffsetToLocation = require('../tokenizer/OffsetToLocation.cjs'); +const TokenStream = require('../tokenizer/TokenStream.cjs'); +const utils = require('../tokenizer/utils.cjs'); +const types = require('../tokenizer/types.cjs'); +const names = require('../tokenizer/names.cjs'); + +const NOOP = () => {}; +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const SEMICOLON = 0x003B; // U+003B SEMICOLON (;) +const LEFTCURLYBRACKET = 0x007B; // U+007B LEFT CURLY BRACKET ({) +const NULL = 0; + +function createParseContext(name) { + return function() { + return this[name](); + }; +} + +function fetchParseValues(dict) { + const result = Object.create(null); + + for (const name in dict) { + const item = dict[name]; + const fn = item.parse || item; + + if (fn) { + result[name] = fn; + } + } + + return result; +} + +function processConfig(config) { + const parseConfig = { + context: Object.create(null), + scope: Object.assign(Object.create(null), config.scope), + atrule: fetchParseValues(config.atrule), + pseudo: fetchParseValues(config.pseudo), + node: fetchParseValues(config.node) + }; + + for (const name in config.parseContext) { + switch (typeof config.parseContext[name]) { + case 'function': + parseConfig.context[name] = config.parseContext[name]; + break; + + case 'string': + parseConfig.context[name] = createParseContext(config.parseContext[name]); + break; + } + } + + return { + config: parseConfig, + ...parseConfig, + ...parseConfig.node + }; +} + +function createParser(config) { + let source = ''; + let filename = '<unknown>'; + let needPositions = false; + let onParseError = NOOP; + let onParseErrorThrow = false; + + const locationMap = new OffsetToLocation.OffsetToLocation(); + const parser = Object.assign(new TokenStream.TokenStream(), processConfig(config || {}), { + parseAtrulePrelude: true, + parseRulePrelude: true, + parseValue: true, + parseCustomProperty: false, + + readSequence: sequence.readSequence, + + consumeUntilBalanceEnd: () => 0, + consumeUntilLeftCurlyBracket(code) { + return code === LEFTCURLYBRACKET ? 1 : 0; + }, + consumeUntilLeftCurlyBracketOrSemicolon(code) { + return code === LEFTCURLYBRACKET || code === SEMICOLON ? 1 : 0; + }, + consumeUntilExclamationMarkOrSemicolon(code) { + return code === EXCLAMATIONMARK || code === SEMICOLON ? 1 : 0; + }, + consumeUntilSemicolonIncluded(code) { + return code === SEMICOLON ? 2 : 0; + }, + + createList() { + return new List.List(); + }, + createSingleNodeList(node) { + return new List.List().appendData(node); + }, + getFirstListNode(list) { + return list && list.first; + }, + getLastListNode(list) { + return list && list.last; + }, + + parseWithFallback(consumer, fallback) { + const startToken = this.tokenIndex; + + try { + return consumer.call(this); + } catch (e) { + if (onParseErrorThrow) { + throw e; + } + + const fallbackNode = fallback.call(this, startToken); + + onParseErrorThrow = true; + onParseError(e, fallbackNode); + onParseErrorThrow = false; + + return fallbackNode; + } + }, + + lookupNonWSType(offset) { + let type; + + do { + type = this.lookupType(offset++); + if (type !== types.WhiteSpace) { + return type; + } + } while (type !== NULL); + + return NULL; + }, + + charCodeAt(offset) { + return offset >= 0 && offset < source.length ? source.charCodeAt(offset) : 0; + }, + substring(offsetStart, offsetEnd) { + return source.substring(offsetStart, offsetEnd); + }, + substrToCursor(start) { + return this.source.substring(start, this.tokenStart); + }, + + cmpChar(offset, charCode) { + return utils.cmpChar(source, offset, charCode); + }, + cmpStr(offsetStart, offsetEnd, str) { + return utils.cmpStr(source, offsetStart, offsetEnd, str); + }, + + consume(tokenType) { + const start = this.tokenStart; + + this.eat(tokenType); + + return this.substrToCursor(start); + }, + consumeFunctionName() { + const name = source.substring(this.tokenStart, this.tokenEnd - 1); + + this.eat(types.Function); + + return name; + }, + consumeNumber(type) { + const number = source.substring(this.tokenStart, utils.consumeNumber(source, this.tokenStart)); + + this.eat(type); + + return number; + }, + + eat(tokenType) { + if (this.tokenType !== tokenType) { + const tokenName = names[tokenType].slice(0, -6).replace(/-/g, ' ').replace(/^./, m => m.toUpperCase()); + let message = `${/[[\](){}]/.test(tokenName) ? `"${tokenName}"` : tokenName} is expected`; + let offset = this.tokenStart; + + // tweak message and offset + switch (tokenType) { + case types.Ident: + // when identifier is expected but there is a function or url + if (this.tokenType === types.Function || this.tokenType === types.Url) { + offset = this.tokenEnd - 1; + message = 'Identifier is expected but function found'; + } else { + message = 'Identifier is expected'; + } + break; + + case types.Hash: + if (this.isDelim(NUMBERSIGN)) { + this.next(); + offset++; + message = 'Name is expected'; + } + break; + + case types.Percentage: + if (this.tokenType === types.Number) { + offset = this.tokenEnd; + message = 'Percent sign is expected'; + } + break; + } + + this.error(message, offset); + } + + this.next(); + }, + eatIdent(name) { + if (this.tokenType !== types.Ident || this.lookupValue(0, name) === false) { + this.error(`Identifier "${name}" is expected`); + } + + this.next(); + }, + eatDelim(code) { + if (!this.isDelim(code)) { + this.error(`Delim "${String.fromCharCode(code)}" is expected`); + } + + this.next(); + }, + + getLocation(start, end) { + if (needPositions) { + return locationMap.getLocationRange( + start, + end, + filename + ); + } + + return null; + }, + getLocationFromList(list) { + if (needPositions) { + const head = this.getFirstListNode(list); + const tail = this.getLastListNode(list); + return locationMap.getLocationRange( + head !== null ? head.loc.start.offset - locationMap.startOffset : this.tokenStart, + tail !== null ? tail.loc.end.offset - locationMap.startOffset : this.tokenStart, + filename + ); + } + + return null; + }, + + error(message, offset) { + const location = typeof offset !== 'undefined' && offset < source.length + ? locationMap.getLocation(offset) + : this.eof + ? locationMap.getLocation(utils.findWhiteSpaceStart(source, source.length - 1)) + : locationMap.getLocation(this.tokenStart); + + throw new SyntaxError.SyntaxError( + message || 'Unexpected input', + source, + location.offset, + location.line, + location.column + ); + } + }); + + const parse = function(source_, options) { + source = source_; + options = options || {}; + + parser.setSource(source, index.tokenize); + locationMap.setSource( + source, + options.offset, + options.line, + options.column + ); + + filename = options.filename || '<unknown>'; + needPositions = Boolean(options.positions); + onParseError = typeof options.onParseError === 'function' ? options.onParseError : NOOP; + onParseErrorThrow = false; + + parser.parseAtrulePrelude = 'parseAtrulePrelude' in options ? Boolean(options.parseAtrulePrelude) : true; + parser.parseRulePrelude = 'parseRulePrelude' in options ? Boolean(options.parseRulePrelude) : true; + parser.parseValue = 'parseValue' in options ? Boolean(options.parseValue) : true; + parser.parseCustomProperty = 'parseCustomProperty' in options ? Boolean(options.parseCustomProperty) : false; + + const { context = 'default', onComment } = options; + + if (context in parser.context === false) { + throw new Error('Unknown context `' + context + '`'); + } + + if (typeof onComment === 'function') { + parser.forEachToken((type, start, end) => { + if (type === types.Comment) { + const loc = parser.getLocation(start, end); + const value = utils.cmpStr(source, end - 2, end, '*/') + ? source.slice(start + 2, end - 2) + : source.slice(start + 2, end); + + onComment(value, loc); + } + }); + } + + const ast = parser.context[context].call(parser, options); + + if (!parser.eof) { + parser.error(); + } + + return ast; + }; + + return Object.assign(parse, { + SyntaxError: SyntaxError.SyntaxError, + config: parser.config + }); +} + +exports.createParser = createParser; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/sequence.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/sequence.cjs new file mode 100644 index 00000000..b7d7d29b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/parser/sequence.cjs @@ -0,0 +1,47 @@ +'use strict'; + +const types = require('../tokenizer/types.cjs'); + +function readSequence(recognizer) { + const children = this.createList(); + let space = false; + const context = { + recognizer + }; + + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + this.next(); + continue; + + case types.WhiteSpace: + space = true; + this.next(); + continue; + } + + let child = recognizer.getNode.call(this, context); + + if (child === undefined) { + break; + } + + if (space) { + if (recognizer.onWhiteSpace) { + recognizer.onWhiteSpace.call(this, child, children, context); + } + space = false; + } + + children.push(child); + } + + if (space && recognizer.onWhiteSpace) { + recognizer.onWhiteSpace.call(this, null, children, context); + } + + return children; +} + +exports.readSequence = readSequence; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/font-face.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/font-face.cjs new file mode 100644 index 00000000..fc7f64a6 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/font-face.cjs @@ -0,0 +1,12 @@ +'use strict'; + +const fontFace = { + parse: { + prelude: null, + block() { + return this.Block(true); + } + } +}; + +module.exports = fontFace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/import.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/import.cjs new file mode 100644 index 00000000..bb4402b4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/import.cjs @@ -0,0 +1,37 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const importAtrule = { + parse: { + prelude() { + const children = this.createList(); + + this.skipSC(); + + switch (this.tokenType) { + case types.String: + children.push(this.String()); + break; + + case types.Url: + case types.Function: + children.push(this.Url()); + break; + + default: + this.error('String or url() is expected'); + } + + if (this.lookupNonWSType(0) === types.Ident || + this.lookupNonWSType(0) === types.LeftParenthesis) { + children.push(this.MediaQueryList()); + } + + return children; + }, + block: null + } +}; + +module.exports = importAtrule; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/index.cjs new file mode 100644 index 00000000..0cfe83d1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/index.cjs @@ -0,0 +1,19 @@ +'use strict'; + +const fontFace = require('./font-face.cjs'); +const _import = require('./import.cjs'); +const media = require('./media.cjs'); +const nest = require('./nest.cjs'); +const page = require('./page.cjs'); +const supports = require('./supports.cjs'); + +const atrule = { + 'font-face': fontFace, + 'import': _import, + media, + nest, + page, + supports +}; + +module.exports = atrule; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/media.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/media.cjs new file mode 100644 index 00000000..77214d1c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/media.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const media = { + parse: { + prelude() { + return this.createSingleNodeList( + this.MediaQueryList() + ); + }, + block(isStyleBlock = false) { + return this.Block(isStyleBlock); + } + } +}; + +module.exports = media; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/nest.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/nest.cjs new file mode 100644 index 00000000..5cd66720 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/nest.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const nest = { + parse: { + prelude() { + return this.createSingleNodeList( + this.SelectorList() + ); + }, + block() { + return this.Block(true); + } + } +}; + +module.exports = nest; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/page.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/page.cjs new file mode 100644 index 00000000..ffef0d17 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/page.cjs @@ -0,0 +1,16 @@ +'use strict'; + +const page = { + parse: { + prelude() { + return this.createSingleNodeList( + this.SelectorList() + ); + }, + block() { + return this.Block(true); + } + } +}; + +module.exports = page; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/supports.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/supports.cjs new file mode 100644 index 00000000..bf30f034 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/atrule/supports.cjs @@ -0,0 +1,77 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw() { + return this.createSingleNodeList( + this.Raw(this.tokenIndex, null, false) + ); +} + +function parentheses() { + this.skipSC(); + + if (this.tokenType === types.Ident && + this.lookupNonWSType(1) === types.Colon) { + return this.createSingleNodeList( + this.Declaration() + ); + } + + return readSequence.call(this); +} + +function readSequence() { + const children = this.createList(); + let child; + + this.skipSC(); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + case types.WhiteSpace: + this.next(); + continue; + + case types.Function: + child = this.Function(consumeRaw, this.scope.AtrulePrelude); + break; + + case types.Ident: + child = this.Identifier(); + break; + + case types.LeftParenthesis: + child = this.Parentheses(parentheses, this.scope.AtrulePrelude); + break; + + default: + break scan; + } + + children.push(child); + } + + return children; +} + +const supports = { + parse: { + prelude() { + const children = readSequence.call(this); + + if (this.getFirstListNode(children) === null) { + this.error('Condition is expected'); + } + + return children; + }, + block(isStyleBlock = false) { + return this.Block(isStyleBlock); + } + } +}; + +module.exports = supports; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/lexer.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/lexer.cjs new file mode 100644 index 00000000..083c74cd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/lexer.cjs @@ -0,0 +1,12 @@ +'use strict'; + +const data = require('../../data.cjs'); +const index = require('../node/index.cjs'); + +const lexerConfig = { + generic: true, + ...data, + node: index +}; + +module.exports = lexerConfig; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/mix.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/mix.cjs new file mode 100644 index 00000000..2d03af71 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/mix.cjs @@ -0,0 +1,119 @@ +'use strict'; + +function appendOrSet(a, b) { + if (typeof b === 'string' && /^\s*\|/.test(b)) { + return typeof a === 'string' + ? a + b + : b.replace(/^\s*\|\s*/, ''); + } + + return b || null; +} + +function sliceProps(obj, props) { + const result = Object.create(null); + + for (const [key, value] of Object.entries(obj)) { + if (value) { + result[key] = {}; + for (const prop of Object.keys(value)) { + if (props.includes(prop)) { + result[key][prop] = value[prop]; + } + } + } + } + + return result; +} + +function mix(dest, src) { + const result = { ...dest }; + + for (const [prop, value] of Object.entries(src)) { + switch (prop) { + case 'generic': + result[prop] = Boolean(value); + break; + + case 'units': + result[prop] = { ...dest[prop] }; + for (const [name, patch] of Object.entries(value)) { + result[prop][name] = Array.isArray(patch) ? patch : []; + } + break; + + case 'atrules': + result[prop] = { ...dest[prop] }; + + for (const [name, atrule] of Object.entries(value)) { + const exists = result[prop][name] || {}; + const current = result[prop][name] = { + prelude: exists.prelude || null, + descriptors: { + ...exists.descriptors + } + }; + + if (!atrule) { + continue; + } + + current.prelude = atrule.prelude + ? appendOrSet(current.prelude, atrule.prelude) + : current.prelude || null; + + for (const [descriptorName, descriptorValue] of Object.entries(atrule.descriptors || {})) { + current.descriptors[descriptorName] = descriptorValue + ? appendOrSet(current.descriptors[descriptorName], descriptorValue) + : null; + } + + if (!Object.keys(current.descriptors).length) { + current.descriptors = null; + } + } + break; + + case 'types': + case 'properties': + result[prop] = { ...dest[prop] }; + for (const [name, syntax] of Object.entries(value)) { + result[prop][name] = appendOrSet(result[prop][name], syntax); + } + break; + + case 'scope': + result[prop] = { ...dest[prop] }; + for (const [name, props] of Object.entries(value)) { + result[prop][name] = { ...result[prop][name], ...props }; + } + break; + + case 'parseContext': + result[prop] = { + ...dest[prop], + ...value + }; + break; + + case 'atrule': + case 'pseudo': + result[prop] = { + ...dest[prop], + ...sliceProps(value, ['parse']) }; + break; + + case 'node': + result[prop] = { + ...dest[prop], + ...sliceProps(value, ['name', 'structure', 'parse', 'generate', 'walkContext']) + }; + break; + } + } + + return result; +} + +module.exports = mix; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/parser.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/parser.cjs new file mode 100644 index 00000000..af65e801 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/parser.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const index = require('../scope/index.cjs'); +const index$1 = require('../atrule/index.cjs'); +const index$2 = require('../pseudo/index.cjs'); +const indexParse = require('../node/index-parse.cjs'); + +const config = { + parseContext: { + default: 'StyleSheet', + stylesheet: 'StyleSheet', + atrule: 'Atrule', + atrulePrelude(options) { + return this.AtrulePrelude(options.atrule ? String(options.atrule) : null); + }, + mediaQueryList: 'MediaQueryList', + mediaQuery: 'MediaQuery', + rule: 'Rule', + selectorList: 'SelectorList', + selector: 'Selector', + block() { + return this.Block(true); + }, + declarationList: 'DeclarationList', + declaration: 'Declaration', + value: 'Value' + }, + scope: index, + atrule: index$1, + pseudo: index$2, + node: indexParse +}; + +module.exports = config; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/walker.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/walker.cjs new file mode 100644 index 00000000..95c8f7df --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/config/walker.cjs @@ -0,0 +1,9 @@ +'use strict'; + +const index = require('../node/index.cjs'); + +const config = { + node: index +}; + +module.exports = config; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/create.cjs new file mode 100644 index 00000000..aee487fb --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/create.cjs @@ -0,0 +1,57 @@ +'use strict'; + +const index = require('../tokenizer/index.cjs'); +const create = require('../parser/create.cjs'); +const create$2 = require('../generator/create.cjs'); +const create$3 = require('../convertor/create.cjs'); +const create$1 = require('../walker/create.cjs'); +const Lexer = require('../lexer/Lexer.cjs'); +const mix = require('./config/mix.cjs'); + +function createSyntax(config) { + const parse = create.createParser(config); + const walk = create$1.createWalker(config); + const generate = create$2.createGenerator(config); + const { fromPlainObject, toPlainObject } = create$3.createConvertor(walk); + + const syntax = { + lexer: null, + createLexer: config => new Lexer.Lexer(config, syntax, syntax.lexer.structure), + + tokenize: index.tokenize, + parse, + generate, + + walk, + find: walk.find, + findLast: walk.findLast, + findAll: walk.findAll, + + fromPlainObject, + toPlainObject, + + fork(extension) { + const base = mix({}, config); // copy of config + + return createSyntax( + typeof extension === 'function' + ? extension(base, Object.assign) + : mix(base, extension) + ); + } + }; + + syntax.lexer = new Lexer.Lexer({ + generic: true, + units: config.units, + types: config.types, + atrules: config.atrules, + properties: config.properties, + node: config.node + }, syntax); + + return syntax; +} +const createSyntax$1 = config => createSyntax(mix({}, config)); + +module.exports = createSyntax$1; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/expression.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/expression.cjs new file mode 100644 index 00000000..43d81374 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/expression.cjs @@ -0,0 +1,11 @@ +'use strict'; + +// legacy IE function +// expression( <any-value> ) +function expressionFn() { + return this.createSingleNodeList( + this.Raw(this.tokenIndex, null, false) + ); +} + +module.exports = expressionFn; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/var.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/var.cjs new file mode 100644 index 00000000..96729706 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/function/var.cjs @@ -0,0 +1,43 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +// var( <ident> , <value>? ) +function varFn() { + const children = this.createList(); + + this.skipSC(); + + // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer + children.push(this.Identifier()); + + this.skipSC(); + + if (this.tokenType === types.Comma) { + children.push(this.Operator()); + + const startIndex = this.tokenIndex; + const value = this.parseCustomProperty + ? this.Value(null) + : this.Raw(this.tokenIndex, this.consumeUntilExclamationMarkOrSemicolon, false); + + if (value.type === 'Value' && value.children.isEmpty) { + for (let offset = startIndex - this.tokenIndex; offset <= 0; offset++) { + if (this.lookupType(offset) === types.WhiteSpace) { + value.children.appendData({ + type: 'WhiteSpace', + loc: null, + value: ' ' + }); + break; + } + } + } + + children.push(value); + } + + return children; +} + +module.exports = varFn; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/index.cjs new file mode 100644 index 00000000..24de4957 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/index.cjs @@ -0,0 +1,14 @@ +'use strict'; + +const create = require('./create.cjs'); +const lexer = require('./config/lexer.cjs'); +const parser = require('./config/parser.cjs'); +const walker = require('./config/walker.cjs'); + +const syntax = create({ + ...lexer, + ...parser, + ...walker +}); + +module.exports = syntax; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AnPlusB.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AnPlusB.cjs new file mode 100644 index 00000000..cd59927a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AnPlusB.cjs @@ -0,0 +1,293 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const N = 0x006E; // U+006E LATIN SMALL LETTER N (n) +const DISALLOW_SIGN = true; +const ALLOW_SIGN = false; + +function checkInteger(offset, disallowSign) { + let pos = this.tokenStart + offset; + const code = this.charCodeAt(pos); + + if (code === PLUSSIGN || code === HYPHENMINUS) { + if (disallowSign) { + this.error('Number sign is not allowed'); + } + pos++; + } + + for (; pos < this.tokenEnd; pos++) { + if (!charCodeDefinitions.isDigit(this.charCodeAt(pos))) { + this.error('Integer is expected', pos); + } + } +} + +function checkTokenIsInteger(disallowSign) { + return checkInteger.call(this, 0, disallowSign); +} + +function expectCharCode(offset, code) { + if (!this.cmpChar(this.tokenStart + offset, code)) { + let msg = ''; + + switch (code) { + case N: + msg = 'N is expected'; + break; + case HYPHENMINUS: + msg = 'HyphenMinus is expected'; + break; + } + + this.error(msg, this.tokenStart + offset); + } +} + +// ... <signed-integer> +// ... ['+' | '-'] <signless-integer> +function consumeB() { + let offset = 0; + let sign = 0; + let type = this.tokenType; + + while (type === types.WhiteSpace || type === types.Comment) { + type = this.lookupType(++offset); + } + + if (type !== types.Number) { + if (this.isDelim(PLUSSIGN, offset) || + this.isDelim(HYPHENMINUS, offset)) { + sign = this.isDelim(PLUSSIGN, offset) ? PLUSSIGN : HYPHENMINUS; + + do { + type = this.lookupType(++offset); + } while (type === types.WhiteSpace || type === types.Comment); + + if (type !== types.Number) { + this.skip(offset); + checkTokenIsInteger.call(this, DISALLOW_SIGN); + } + } else { + return null; + } + } + + if (offset > 0) { + this.skip(offset); + } + + if (sign === 0) { + type = this.charCodeAt(this.tokenStart); + if (type !== PLUSSIGN && type !== HYPHENMINUS) { + this.error('Number sign is expected'); + } + } + + checkTokenIsInteger.call(this, sign !== 0); + return sign === HYPHENMINUS ? '-' + this.consume(types.Number) : this.consume(types.Number); +} + +// An+B microsyntax https://www.w3.org/TR/css-syntax-3/#anb +const name = 'AnPlusB'; +const structure = { + a: [String, null], + b: [String, null] +}; + +function parse() { + /* eslint-disable brace-style*/ + const start = this.tokenStart; + let a = null; + let b = null; + + // <integer> + if (this.tokenType === types.Number) { + checkTokenIsInteger.call(this, ALLOW_SIGN); + b = this.consume(types.Number); + } + + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + // -n- <signless-integer> + // <dashndashdigit-ident> + else if (this.tokenType === types.Ident && this.cmpChar(this.tokenStart, HYPHENMINUS)) { + a = '-1'; + + expectCharCode.call(this, 1, N); + + switch (this.tokenEnd - this.tokenStart) { + // -n + // -n <signed-integer> + // -n ['+' | '-'] <signless-integer> + case 2: + this.next(); + b = consumeB.call(this); + break; + + // -n- <signless-integer> + case 3: + expectCharCode.call(this, 2, HYPHENMINUS); + + this.next(); + this.skipSC(); + + checkTokenIsInteger.call(this, DISALLOW_SIGN); + + b = '-' + this.consume(types.Number); + break; + + // <dashndashdigit-ident> + default: + expectCharCode.call(this, 2, HYPHENMINUS); + checkInteger.call(this, 3, DISALLOW_SIGN); + this.next(); + + b = this.substrToCursor(start + 2); + } + } + + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + // '+'? n- <signless-integer> + // '+'? <ndashdigit-ident> + else if (this.tokenType === types.Ident || (this.isDelim(PLUSSIGN) && this.lookupType(1) === types.Ident)) { + let sign = 0; + a = '1'; + + // just ignore a plus + if (this.isDelim(PLUSSIGN)) { + sign = 1; + this.next(); + } + + expectCharCode.call(this, 0, N); + + switch (this.tokenEnd - this.tokenStart) { + // '+'? n + // '+'? n <signed-integer> + // '+'? n ['+' | '-'] <signless-integer> + case 1: + this.next(); + b = consumeB.call(this); + break; + + // '+'? n- <signless-integer> + case 2: + expectCharCode.call(this, 1, HYPHENMINUS); + + this.next(); + this.skipSC(); + + checkTokenIsInteger.call(this, DISALLOW_SIGN); + + b = '-' + this.consume(types.Number); + break; + + // '+'? <ndashdigit-ident> + default: + expectCharCode.call(this, 1, HYPHENMINUS); + checkInteger.call(this, 2, DISALLOW_SIGN); + this.next(); + + b = this.substrToCursor(start + sign + 1); + } + } + + // <ndashdigit-dimension> + // <ndash-dimension> <signless-integer> + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + else if (this.tokenType === types.Dimension) { + const code = this.charCodeAt(this.tokenStart); + const sign = code === PLUSSIGN || code === HYPHENMINUS; + let i = this.tokenStart + sign; + + for (; i < this.tokenEnd; i++) { + if (!charCodeDefinitions.isDigit(this.charCodeAt(i))) { + break; + } + } + + if (i === this.tokenStart + sign) { + this.error('Integer is expected', this.tokenStart + sign); + } + + expectCharCode.call(this, i - this.tokenStart, N); + a = this.substring(start, i); + + // <n-dimension> + // <n-dimension> <signed-integer> + // <n-dimension> ['+' | '-'] <signless-integer> + if (i + 1 === this.tokenEnd) { + this.next(); + b = consumeB.call(this); + } else { + expectCharCode.call(this, i - this.tokenStart + 1, HYPHENMINUS); + + // <ndash-dimension> <signless-integer> + if (i + 2 === this.tokenEnd) { + this.next(); + this.skipSC(); + checkTokenIsInteger.call(this, DISALLOW_SIGN); + b = '-' + this.consume(types.Number); + } + // <ndashdigit-dimension> + else { + checkInteger.call(this, i - this.tokenStart + 2, DISALLOW_SIGN); + this.next(); + b = this.substrToCursor(i + 1); + } + } + } else { + this.error(); + } + + if (a !== null && a.charCodeAt(0) === PLUSSIGN) { + a = a.substr(1); + } + + if (b !== null && b.charCodeAt(0) === PLUSSIGN) { + b = b.substr(1); + } + + return { + type: 'AnPlusB', + loc: this.getLocation(start, this.tokenStart), + a, + b + }; +} + +function generate(node) { + if (node.a) { + const a = + node.a === '+1' && 'n' || + node.a === '1' && 'n' || + node.a === '-1' && '-n' || + node.a + 'n'; + + if (node.b) { + const b = node.b[0] === '-' || node.b[0] === '+' + ? node.b + : '+' + node.b; + this.tokenize(a + b); + } else { + this.tokenize(a); + } + } else { + this.tokenize(node.b); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Atrule.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Atrule.cjs new file mode 100644 index 00000000..44746306 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Atrule.cjs @@ -0,0 +1,103 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilLeftCurlyBracketOrSemicolon, true); +} + +function isDeclarationBlockAtrule() { + for (let offset = 1, type; type = this.lookupType(offset); offset++) { + if (type === types.RightCurlyBracket) { + return true; + } + + if (type === types.LeftCurlyBracket || + type === types.AtKeyword) { + return false; + } + } + + return false; +} + + +const name = 'Atrule'; +const walkContext = 'atrule'; +const structure = { + name: String, + prelude: ['AtrulePrelude', 'Raw', null], + block: ['Block', null] +}; + +function parse(isDeclaration = false) { + const start = this.tokenStart; + let name; + let nameLowerCase; + let prelude = null; + let block = null; + + this.eat(types.AtKeyword); + + name = this.substrToCursor(start + 1); + nameLowerCase = name.toLowerCase(); + this.skipSC(); + + // parse prelude + if (this.eof === false && + this.tokenType !== types.LeftCurlyBracket && + this.tokenType !== types.Semicolon) { + if (this.parseAtrulePrelude) { + prelude = this.parseWithFallback(this.AtrulePrelude.bind(this, name, isDeclaration), consumeRaw); + } else { + prelude = consumeRaw.call(this, this.tokenIndex); + } + + this.skipSC(); + } + + switch (this.tokenType) { + case types.Semicolon: + this.next(); + break; + + case types.LeftCurlyBracket: + if (hasOwnProperty.call(this.atrule, nameLowerCase) && + typeof this.atrule[nameLowerCase].block === 'function') { + block = this.atrule[nameLowerCase].block.call(this, isDeclaration); + } else { + // TODO: should consume block content as Raw? + block = this.Block(isDeclarationBlockAtrule.call(this)); + } + + break; + } + + return { + type: 'Atrule', + loc: this.getLocation(start, this.tokenStart), + name, + prelude, + block + }; +} + +function generate(node) { + this.token(types.AtKeyword, '@' + node.name); + + if (node.prelude !== null) { + this.node(node.prelude); + } + + if (node.block) { + this.node(node.block); + } else { + this.token(types.Semicolon, ';'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AtrulePrelude.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AtrulePrelude.cjs new file mode 100644 index 00000000..0db69b67 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AtrulePrelude.cjs @@ -0,0 +1,52 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'AtrulePrelude'; +const walkContext = 'atrulePrelude'; +const structure = { + children: [[]] +}; + +function parse(name) { + let children = null; + + if (name !== null) { + name = name.toLowerCase(); + } + + this.skipSC(); + + if (hasOwnProperty.call(this.atrule, name) && + typeof this.atrule[name].prelude === 'function') { + // custom consumer + children = this.atrule[name].prelude.call(this); + } else { + // default consumer + children = this.readSequence(this.scope.AtrulePrelude); + } + + this.skipSC(); + + if (this.eof !== true && + this.tokenType !== types.LeftCurlyBracket && + this.tokenType !== types.Semicolon) { + this.error('Semicolon or block is expected'); + } + + return { + type: 'AtrulePrelude', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AttributeSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AttributeSelector.cjs new file mode 100644 index 00000000..757d4ebf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/AttributeSelector.cjs @@ -0,0 +1,148 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const DOLLARSIGN = 0x0024; // U+0024 DOLLAR SIGN ($) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const EQUALSSIGN = 0x003D; // U+003D EQUALS SIGN (=) +const CIRCUMFLEXACCENT = 0x005E; // U+005E (^) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) +const TILDE = 0x007E; // U+007E TILDE (~) + +function getAttributeName() { + if (this.eof) { + this.error('Unexpected end of input'); + } + + const start = this.tokenStart; + let expectIdent = false; + + if (this.isDelim(ASTERISK)) { + expectIdent = true; + this.next(); + } else if (!this.isDelim(VERTICALLINE)) { + this.eat(types.Ident); + } + + if (this.isDelim(VERTICALLINE)) { + if (this.charCodeAt(this.tokenStart + 1) !== EQUALSSIGN) { + this.next(); + this.eat(types.Ident); + } else if (expectIdent) { + this.error('Identifier is expected', this.tokenEnd); + } + } else if (expectIdent) { + this.error('Vertical line is expected'); + } + + return { + type: 'Identifier', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start) + }; +} + +function getOperator() { + const start = this.tokenStart; + const code = this.charCodeAt(start); + + if (code !== EQUALSSIGN && // = + code !== TILDE && // ~= + code !== CIRCUMFLEXACCENT && // ^= + code !== DOLLARSIGN && // $= + code !== ASTERISK && // *= + code !== VERTICALLINE // |= + ) { + this.error('Attribute selector (=, ~=, ^=, $=, *=, |=) is expected'); + } + + this.next(); + + if (code !== EQUALSSIGN) { + if (!this.isDelim(EQUALSSIGN)) { + this.error('Equal sign is expected'); + } + + this.next(); + } + + return this.substrToCursor(start); +} + +// '[' <wq-name> ']' +// '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']' +const name = 'AttributeSelector'; +const structure = { + name: 'Identifier', + matcher: [String, null], + value: ['String', 'Identifier', null], + flags: [String, null] +}; + +function parse() { + const start = this.tokenStart; + let name; + let matcher = null; + let value = null; + let flags = null; + + this.eat(types.LeftSquareBracket); + this.skipSC(); + + name = getAttributeName.call(this); + this.skipSC(); + + if (this.tokenType !== types.RightSquareBracket) { + // avoid case `[name i]` + if (this.tokenType !== types.Ident) { + matcher = getOperator.call(this); + + this.skipSC(); + + value = this.tokenType === types.String + ? this.String() + : this.Identifier(); + + this.skipSC(); + } + + // attribute flags + if (this.tokenType === types.Ident) { + flags = this.consume(types.Ident); + + this.skipSC(); + } + } + + this.eat(types.RightSquareBracket); + + return { + type: 'AttributeSelector', + loc: this.getLocation(start, this.tokenStart), + name, + matcher, + value, + flags + }; +} + +function generate(node) { + this.token(types.Delim, '['); + this.node(node.name); + + if (node.matcher !== null) { + this.tokenize(node.matcher); + this.node(node.value); + } + + if (node.flags !== null) { + this.token(types.Ident, node.flags); + } + + this.token(types.Delim, ']'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Block.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Block.cjs new file mode 100644 index 00000000..ce1058f1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Block.cjs @@ -0,0 +1,96 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) + +function consumeRaw(startToken) { + return this.Raw(startToken, null, true); +} +function consumeRule() { + return this.parseWithFallback(this.Rule, consumeRaw); +} +function consumeRawDeclaration(startToken) { + return this.Raw(startToken, this.consumeUntilSemicolonIncluded, true); +} +function consumeDeclaration() { + if (this.tokenType === types.Semicolon) { + return consumeRawDeclaration.call(this, this.tokenIndex); + } + + const node = this.parseWithFallback(this.Declaration, consumeRawDeclaration); + + if (this.tokenType === types.Semicolon) { + this.next(); + } + + return node; +} + +const name = 'Block'; +const walkContext = 'block'; +const structure = { + children: [[ + 'Atrule', + 'Rule', + 'Declaration' + ]] +}; + +function parse(isStyleBlock) { + const consumer = isStyleBlock ? consumeDeclaration : consumeRule; + const start = this.tokenStart; + let children = this.createList(); + + this.eat(types.LeftCurlyBracket); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.RightCurlyBracket: + break scan; + + case types.WhiteSpace: + case types.Comment: + this.next(); + break; + + case types.AtKeyword: + children.push(this.parseWithFallback(this.Atrule.bind(this, isStyleBlock), consumeRaw)); + break; + + default: + if (isStyleBlock && this.isDelim(AMPERSAND)) { + children.push(consumeRule.call(this)); + } else { + children.push(consumer.call(this)); + } + } + } + + if (!this.eof) { + this.eat(types.RightCurlyBracket); + } + + return { + type: 'Block', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.LeftCurlyBracket, '{'); + this.children(node, prev => { + if (prev.type === 'Declaration') { + this.token(types.Semicolon, ';'); + } + }); + this.token(types.RightCurlyBracket, '}'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Brackets.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Brackets.cjs new file mode 100644 index 00000000..eb181318 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Brackets.cjs @@ -0,0 +1,38 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Brackets'; +const structure = { + children: [[]] +}; + +function parse(readSequence, recognizer) { + const start = this.tokenStart; + let children = null; + + this.eat(types.LeftSquareBracket); + + children = readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightSquareBracket); + } + + return { + type: 'Brackets', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.Delim, '['); + this.children(node); + this.token(types.Delim, ']'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDC.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDC.cjs new file mode 100644 index 00000000..aadf3ad7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDC.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'CDC'; +const structure = []; + +function parse() { + const start = this.tokenStart; + + this.eat(types.CDC); // --> + + return { + type: 'CDC', + loc: this.getLocation(start, this.tokenStart) + }; +} + +function generate() { + this.token(types.CDC, '-->'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDO.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDO.cjs new file mode 100644 index 00000000..0e982178 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/CDO.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'CDO'; +const structure = []; + +function parse() { + const start = this.tokenStart; + + this.eat(types.CDO); // <!-- + + return { + type: 'CDO', + loc: this.getLocation(start, this.tokenStart) + }; +} + +function generate() { + this.token(types.CDO, '<!--'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/ClassSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/ClassSelector.cjs new file mode 100644 index 00000000..ff3de5cf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/ClassSelector.cjs @@ -0,0 +1,31 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) + +// '.' ident +const name = 'ClassSelector'; +const structure = { + name: String +}; + +function parse() { + this.eatDelim(FULLSTOP); + + return { + type: 'ClassSelector', + loc: this.getLocation(this.tokenStart - 1, this.tokenEnd), + name: this.consume(types.Ident) + }; +} + +function generate(node) { + this.token(types.Delim, '.'); + this.token(types.Ident, node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Combinator.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Combinator.cjs new file mode 100644 index 00000000..1a242788 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Combinator.cjs @@ -0,0 +1,61 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>) +const TILDE = 0x007E; // U+007E TILDE (~) + +const name = 'Combinator'; +const structure = { + name: String +}; + +// + | > | ~ | /deep/ +function parse() { + const start = this.tokenStart; + let name; + + switch (this.tokenType) { + case types.WhiteSpace: + name = ' '; + break; + + case types.Delim: + switch (this.charCodeAt(this.tokenStart)) { + case GREATERTHANSIGN: + case PLUSSIGN: + case TILDE: + this.next(); + break; + + case SOLIDUS: + this.next(); + this.eatIdent('deep'); + this.eatDelim(SOLIDUS); + break; + + default: + this.error('Combinator is expected'); + } + + name = this.substrToCursor(start); + break; + } + + return { + type: 'Combinator', + loc: this.getLocation(start, this.tokenStart), + name + }; +} + +function generate(node) { + this.tokenize(node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Comment.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Comment.cjs new file mode 100644 index 00000000..083e950b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Comment.cjs @@ -0,0 +1,40 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) + + +const name = 'Comment'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + let end = this.tokenEnd; + + this.eat(types.Comment); + + if ((end - start + 2) >= 2 && + this.charCodeAt(end - 2) === ASTERISK && + this.charCodeAt(end - 1) === SOLIDUS) { + end -= 2; + } + + return { + type: 'Comment', + loc: this.getLocation(start, this.tokenStart), + value: this.substring(start + 2, end) + }; +} + +function generate(node) { + this.token(types.Comment, '/*' + node.value + '*/'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Declaration.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Declaration.cjs new file mode 100644 index 00000000..c0075770 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Declaration.cjs @@ -0,0 +1,166 @@ +'use strict'; + +const names = require('../../utils/names.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const DOLLARSIGN = 0x0024; // U+0024 DOLLAR SIGN ($) +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) + +function consumeValueRaw(startToken) { + return this.Raw(startToken, this.consumeUntilExclamationMarkOrSemicolon, true); +} + +function consumeCustomPropertyRaw(startToken) { + return this.Raw(startToken, this.consumeUntilExclamationMarkOrSemicolon, false); +} + +function consumeValue() { + const startValueToken = this.tokenIndex; + const value = this.Value(); + + if (value.type !== 'Raw' && + this.eof === false && + this.tokenType !== types.Semicolon && + this.isDelim(EXCLAMATIONMARK) === false && + this.isBalanceEdge(startValueToken) === false) { + this.error(); + } + + return value; +} + +const name = 'Declaration'; +const walkContext = 'declaration'; +const structure = { + important: [Boolean, String], + property: String, + value: ['Value', 'Raw'] +}; + +function parse() { + const start = this.tokenStart; + const startToken = this.tokenIndex; + const property = readProperty.call(this); + const customProperty = names.isCustomProperty(property); + const parseValue = customProperty ? this.parseCustomProperty : this.parseValue; + const consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw; + let important = false; + let value; + + this.skipSC(); + this.eat(types.Colon); + + const valueStart = this.tokenIndex; + + if (!customProperty) { + this.skipSC(); + } + + if (parseValue) { + value = this.parseWithFallback(consumeValue, consumeRaw); + } else { + value = consumeRaw.call(this, this.tokenIndex); + } + + if (customProperty && value.type === 'Value' && value.children.isEmpty) { + for (let offset = valueStart - this.tokenIndex; offset <= 0; offset++) { + if (this.lookupType(offset) === types.WhiteSpace) { + value.children.appendData({ + type: 'WhiteSpace', + loc: null, + value: ' ' + }); + break; + } + } + } + + if (this.isDelim(EXCLAMATIONMARK)) { + important = getImportant.call(this); + this.skipSC(); + } + + // Do not include semicolon to range per spec + // https://drafts.csswg.org/css-syntax/#declaration-diagram + + if (this.eof === false && + this.tokenType !== types.Semicolon && + this.isBalanceEdge(startToken) === false) { + this.error(); + } + + return { + type: 'Declaration', + loc: this.getLocation(start, this.tokenStart), + important, + property, + value + }; +} + +function generate(node) { + this.token(types.Ident, node.property); + this.token(types.Colon, ':'); + this.node(node.value); + + if (node.important) { + this.token(types.Delim, '!'); + this.token(types.Ident, node.important === true ? 'important' : node.important); + } +} + +function readProperty() { + const start = this.tokenStart; + + // hacks + if (this.tokenType === types.Delim) { + switch (this.charCodeAt(this.tokenStart)) { + case ASTERISK: + case DOLLARSIGN: + case PLUSSIGN: + case NUMBERSIGN: + case AMPERSAND: + this.next(); + break; + + // TODO: not sure we should support this hack + case SOLIDUS: + this.next(); + if (this.isDelim(SOLIDUS)) { + this.next(); + } + break; + } + } + + if (this.tokenType === types.Hash) { + this.eat(types.Hash); + } else { + this.eat(types.Ident); + } + + return this.substrToCursor(start); +} + +// ! ws* important +function getImportant() { + this.eat(types.Delim); + this.skipSC(); + + const important = this.consume(types.Ident); + + // store original value in case it differ from `important` + // for better original source restoring and hacks like `!ie` support + return important === 'important' ? true : important; +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/DeclarationList.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/DeclarationList.cjs new file mode 100644 index 00000000..9df4dc3a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/DeclarationList.cjs @@ -0,0 +1,62 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilSemicolonIncluded, true); +} + +const name = 'DeclarationList'; +const structure = { + children: [[ + 'Declaration', + 'Atrule', + 'Rule' + ]] +}; + +function parse() { + const children = this.createList(); + + while (!this.eof) { + switch (this.tokenType) { + case types.WhiteSpace: + case types.Comment: + case types.Semicolon: + this.next(); + break; + + case types.AtKeyword: + children.push(this.parseWithFallback(this.Atrule.bind(this, true), consumeRaw)); + break; + + default: + if (this.isDelim(AMPERSAND)) { + children.push(this.parseWithFallback(this.Rule, consumeRaw)); + } else { + children.push(this.parseWithFallback(this.Declaration, consumeRaw)); + } + } + } + + return { + type: 'DeclarationList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, prev => { + if (prev.type === 'Declaration') { + this.token(types.Semicolon, ';'); + } + }); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Dimension.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Dimension.cjs new file mode 100644 index 00000000..227184cc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Dimension.cjs @@ -0,0 +1,30 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Dimension'; +const structure = { + value: String, + unit: String +}; + +function parse() { + const start = this.tokenStart; + const value = this.consumeNumber(types.Dimension); + + return { + type: 'Dimension', + loc: this.getLocation(start, this.tokenStart), + value, + unit: this.substring(start + value.length, this.tokenStart) + }; +} + +function generate(node) { + this.token(types.Dimension, node.value + node.unit); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Function.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Function.cjs new file mode 100644 index 00000000..b5e3b57e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Function.cjs @@ -0,0 +1,45 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Function'; +const walkContext = 'function'; +const structure = { + name: String, + children: [[]] +}; + +// <function-token> <sequence> ) +function parse(readSequence, recognizer) { + const start = this.tokenStart; + const name = this.consumeFunctionName(); + const nameLowerCase = name.toLowerCase(); + let children; + + children = recognizer.hasOwnProperty(nameLowerCase) + ? recognizer[nameLowerCase].call(this, recognizer) + : readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightParenthesis); + } + + return { + type: 'Function', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Hash.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Hash.cjs new file mode 100644 index 00000000..8b5f3753 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Hash.cjs @@ -0,0 +1,30 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +// '#' ident +const xxx = 'XXX'; +const name = 'Hash'; +const structure = { + value: String +}; +function parse() { + const start = this.tokenStart; + + this.eat(types.Hash); + + return { + type: 'Hash', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start + 1) + }; +} +function generate(node) { + this.token(types.Hash, '#' + node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.xxx = xxx; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/IdSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/IdSelector.cjs new file mode 100644 index 00000000..264525db --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/IdSelector.cjs @@ -0,0 +1,33 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'IdSelector'; +const structure = { + name: String +}; + +function parse() { + const start = this.tokenStart; + + // TODO: check value is an ident + this.eat(types.Hash); + + return { + type: 'IdSelector', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start + 1) + }; +} + +function generate(node) { + // Using Delim instead of Hash is a hack to avoid for a whitespace between ident and id-selector + // in safe mode (e.g. "a#id"), because IE11 doesn't allow a sequence <ident-token> <hash-token> + // without a whitespace in values (e.g. "1px solid#000") + this.token(types.Delim, '#' + node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Identifier.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Identifier.cjs new file mode 100644 index 00000000..8928cf8c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Identifier.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Identifier'; +const structure = { + name: String +}; + +function parse() { + return { + type: 'Identifier', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + name: this.consume(types.Ident) + }; +} + +function generate(node) { + this.token(types.Ident, node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaFeature.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaFeature.cjs new file mode 100644 index 00000000..90e8d5a8 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaFeature.cjs @@ -0,0 +1,76 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaFeature'; +const structure = { + name: String, + value: ['Identifier', 'Number', 'Dimension', 'Ratio', null] +}; + +function parse() { + const start = this.tokenStart; + let name; + let value = null; + + this.eat(types.LeftParenthesis); + this.skipSC(); + + name = this.consume(types.Ident); + this.skipSC(); + + if (this.tokenType !== types.RightParenthesis) { + this.eat(types.Colon); + this.skipSC(); + + switch (this.tokenType) { + case types.Number: + if (this.lookupNonWSType(1) === types.Delim) { + value = this.Ratio(); + } else { + value = this.Number(); + } + + break; + + case types.Dimension: + value = this.Dimension(); + break; + + case types.Ident: + value = this.Identifier(); + break; + + default: + this.error('Number, dimension, ratio or identifier is expected'); + } + + this.skipSC(); + } + + this.eat(types.RightParenthesis); + + return { + type: 'MediaFeature', + loc: this.getLocation(start, this.tokenStart), + name, + value + }; +} + +function generate(node) { + this.token(types.LeftParenthesis, '('); + this.token(types.Ident, node.name); + + if (node.value !== null) { + this.token(types.Colon, ':'); + this.node(node.value); + } + + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQuery.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQuery.cjs new file mode 100644 index 00000000..0b99d960 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQuery.cjs @@ -0,0 +1,61 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaQuery'; +const structure = { + children: [[ + 'Identifier', + 'MediaFeature', + 'WhiteSpace' + ]] +}; + +function parse() { + const children = this.createList(); + let child = null; + + this.skipSC(); + + scan: + while (!this.eof) { + switch (this.tokenType) { + case types.Comment: + case types.WhiteSpace: + this.next(); + continue; + + case types.Ident: + child = this.Identifier(); + break; + + case types.LeftParenthesis: + child = this.MediaFeature(); + break; + + default: + break scan; + } + + children.push(child); + } + + if (child === null) { + this.error('Identifier or parenthesis is expected'); + } + + return { + type: 'MediaQuery', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQueryList.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQueryList.cjs new file mode 100644 index 00000000..38779477 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/MediaQueryList.cjs @@ -0,0 +1,41 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'MediaQueryList'; +const structure = { + children: [[ + 'MediaQuery' + ]] +}; + +function parse() { + const children = this.createList(); + + this.skipSC(); + + while (!this.eof) { + children.push(this.MediaQuery()); + + if (this.tokenType !== types.Comma) { + break; + } + + this.next(); + } + + return { + type: 'MediaQueryList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, () => this.token(types.Comma, ',')); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/NestingSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/NestingSelector.cjs new file mode 100644 index 00000000..9850a9c1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/NestingSelector.cjs @@ -0,0 +1,29 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) + +const name = 'NestingSelector'; +const structure = { +}; + +function parse() { + const start = this.tokenStart; + + this.eatDelim(AMPERSAND); + + return { + type: 'NestingSelector', + loc: this.getLocation(start, this.tokenStart) + }; +} + +function generate() { + this.token(types.Delim, '&'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Nth.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Nth.cjs new file mode 100644 index 00000000..709312f4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Nth.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Nth'; +const structure = { + nth: ['AnPlusB', 'Identifier'], + selector: ['SelectorList', null] +}; + +function parse() { + this.skipSC(); + + const start = this.tokenStart; + let end = start; + let selector = null; + let nth; + + if (this.lookupValue(0, 'odd') || this.lookupValue(0, 'even')) { + nth = this.Identifier(); + } else { + nth = this.AnPlusB(); + } + + end = this.tokenStart; + this.skipSC(); + + if (this.lookupValue(0, 'of')) { + this.next(); + + selector = this.SelectorList(); + end = this.tokenStart; + } + + return { + type: 'Nth', + loc: this.getLocation(start, end), + nth, + selector + }; +} + +function generate(node) { + this.node(node.nth); + if (node.selector !== null) { + this.token(types.Ident, 'of'); + this.node(node.selector); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Number.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Number.cjs new file mode 100644 index 00000000..8abd9ae9 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Number.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Number'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'Number', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: this.consume(types.Number) + }; +} + +function generate(node) { + this.token(types.Number, node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Operator.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Operator.cjs new file mode 100644 index 00000000..c5a513bf --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Operator.cjs @@ -0,0 +1,28 @@ +'use strict'; + +// '/' | '*' | ',' | ':' | '+' | '-' +const name = 'Operator'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + + this.next(); + + return { + type: 'Operator', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Parentheses.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Parentheses.cjs new file mode 100644 index 00000000..7c14bc67 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Parentheses.cjs @@ -0,0 +1,38 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Parentheses'; +const structure = { + children: [[]] +}; + +function parse(readSequence, recognizer) { + const start = this.tokenStart; + let children = null; + + this.eat(types.LeftParenthesis); + + children = readSequence.call(this, recognizer); + + if (!this.eof) { + this.eat(types.RightParenthesis); + } + + return { + type: 'Parentheses', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.token(types.LeftParenthesis, '('); + this.children(node); + this.token(types.RightParenthesis, ')'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Percentage.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Percentage.cjs new file mode 100644 index 00000000..38cc1d5e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Percentage.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'Percentage'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'Percentage', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: this.consumeNumber(types.Percentage) + }; +} + +function generate(node) { + this.token(types.Percentage, node.value + '%'); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoClassSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoClassSelector.cjs new file mode 100644 index 00000000..ad58371e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoClassSelector.cjs @@ -0,0 +1,65 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'PseudoClassSelector'; +const walkContext = 'function'; +const structure = { + name: String, + children: [['Raw'], null] +}; + +// : [ <ident> | <function-token> <any-value>? ) ] +function parse() { + const start = this.tokenStart; + let children = null; + let name; + let nameLowerCase; + + this.eat(types.Colon); + + if (this.tokenType === types.Function) { + name = this.consumeFunctionName(); + nameLowerCase = name.toLowerCase(); + + if (hasOwnProperty.call(this.pseudo, nameLowerCase)) { + this.skipSC(); + children = this.pseudo[nameLowerCase].call(this); + this.skipSC(); + } else { + children = this.createList(); + children.push( + this.Raw(this.tokenIndex, null, false) + ); + } + + this.eat(types.RightParenthesis); + } else { + name = this.consume(types.Ident); + } + + return { + type: 'PseudoClassSelector', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Colon, ':'); + + if (node.children === null) { + this.token(types.Ident, node.name); + } else { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoElementSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoElementSelector.cjs new file mode 100644 index 00000000..a3c1f12f --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/PseudoElementSelector.cjs @@ -0,0 +1,67 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'PseudoElementSelector'; +const walkContext = 'function'; +const structure = { + name: String, + children: [['Raw'], null] +}; + +// :: [ <ident> | <function-token> <any-value>? ) ] +function parse() { + const start = this.tokenStart; + let children = null; + let name; + let nameLowerCase; + + this.eat(types.Colon); + this.eat(types.Colon); + + if (this.tokenType === types.Function) { + name = this.consumeFunctionName(); + nameLowerCase = name.toLowerCase(); + + if (hasOwnProperty.call(this.pseudo, nameLowerCase)) { + this.skipSC(); + children = this.pseudo[nameLowerCase].call(this); + this.skipSC(); + } else { + children = this.createList(); + children.push( + this.Raw(this.tokenIndex, null, false) + ); + } + + this.eat(types.RightParenthesis); + } else { + name = this.consume(types.Ident); + } + + return { + type: 'PseudoElementSelector', + loc: this.getLocation(start, this.tokenStart), + name, + children + }; +} + +function generate(node) { + this.token(types.Colon, ':'); + this.token(types.Colon, ':'); + + if (node.children === null) { + this.token(types.Ident, node.name); + } else { + this.token(types.Function, node.name + '('); + this.children(node); + this.token(types.RightParenthesis, ')'); + } +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Ratio.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Ratio.cjs new file mode 100644 index 00000000..8bdf2dcc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Ratio.cjs @@ -0,0 +1,67 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) + +// Terms of <ratio> should be a positive numbers (not zero or negative) +// (see https://drafts.csswg.org/mediaqueries-3/#values) +// However, -o-min-device-pixel-ratio takes fractional values as a ratio's term +// and this is using by various sites. Therefore we relax checking on parse +// to test a term is unsigned number without an exponent part. +// Additional checking may be applied on lexer validation. +function consumeNumber() { + this.skipSC(); + + const value = this.consume(types.Number); + + for (let i = 0; i < value.length; i++) { + const code = value.charCodeAt(i); + if (!charCodeDefinitions.isDigit(code) && code !== FULLSTOP) { + this.error('Unsigned number is expected', this.tokenStart - value.length + i); + } + } + + if (Number(value) === 0) { + this.error('Zero number is not allowed', this.tokenStart - value.length); + } + + return value; +} + +const name = 'Ratio'; +const structure = { + left: String, + right: String +}; + +// <positive-integer> S* '/' S* <positive-integer> +function parse() { + const start = this.tokenStart; + const left = consumeNumber.call(this); + let right; + + this.skipSC(); + this.eatDelim(SOLIDUS); + right = consumeNumber.call(this); + + return { + type: 'Ratio', + loc: this.getLocation(start, this.tokenStart), + left, + right + }; +} + +function generate(node) { + this.token(types.Number, node.left); + this.token(types.Delim, '/'); + this.token(types.Number, node.right); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Raw.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Raw.cjs new file mode 100644 index 00000000..505b5266 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Raw.cjs @@ -0,0 +1,48 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function getOffsetExcludeWS() { + if (this.tokenIndex > 0) { + if (this.lookupType(-1) === types.WhiteSpace) { + return this.tokenIndex > 1 + ? this.getTokenStart(this.tokenIndex - 1) + : this.firstCharOffset; + } + } + + return this.tokenStart; +} + +const name = 'Raw'; +const structure = { + value: String +}; + +function parse(startToken, consumeUntil, excludeWhiteSpace) { + const startOffset = this.getTokenStart(startToken); + let endOffset; + + this.skipUntilBalanced(startToken, consumeUntil || this.consumeUntilBalanceEnd); + + if (excludeWhiteSpace && this.tokenStart > startOffset) { + endOffset = getOffsetExcludeWS.call(this); + } else { + endOffset = this.tokenStart; + } + + return { + type: 'Raw', + loc: this.getLocation(startOffset, endOffset), + value: this.substring(startOffset, endOffset) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Rule.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Rule.cjs new file mode 100644 index 00000000..a76ce712 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Rule.cjs @@ -0,0 +1,58 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +function consumeRaw(startToken) { + return this.Raw(startToken, this.consumeUntilLeftCurlyBracket, true); +} + +function consumePrelude() { + const prelude = this.SelectorList(); + + if (prelude.type !== 'Raw' && + this.eof === false && + this.tokenType !== types.LeftCurlyBracket) { + this.error(); + } + + return prelude; +} + +const name = 'Rule'; +const walkContext = 'rule'; +const structure = { + prelude: ['SelectorList', 'Raw'], + block: ['Block'] +}; + +function parse() { + const startToken = this.tokenIndex; + const startOffset = this.tokenStart; + let prelude; + let block; + + if (this.parseRulePrelude) { + prelude = this.parseWithFallback(consumePrelude, consumeRaw); + } else { + prelude = consumeRaw.call(this, startToken); + } + + block = this.Block(true); + + return { + type: 'Rule', + loc: this.getLocation(startOffset, this.tokenStart), + prelude, + block + }; +} +function generate(node) { + this.node(node.prelude); + this.node(node.block); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Selector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Selector.cjs new file mode 100644 index 00000000..c6cafd1e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Selector.cjs @@ -0,0 +1,39 @@ +'use strict'; + +const name = 'Selector'; +const structure = { + children: [[ + 'TypeSelector', + 'IdSelector', + 'ClassSelector', + 'AttributeSelector', + 'PseudoClassSelector', + 'PseudoElementSelector', + 'Combinator', + 'WhiteSpace' + ]] +}; + +function parse() { + const children = this.readSequence(this.scope.Selector); + + // nothing were consumed + if (this.getFirstListNode(children) === null) { + this.error('Selector is expected'); + } + + return { + type: 'Selector', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/SelectorList.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/SelectorList.cjs new file mode 100644 index 00000000..7ecf09b2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/SelectorList.cjs @@ -0,0 +1,43 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const name = 'SelectorList'; +const walkContext = 'selector'; +const structure = { + children: [[ + 'Selector', + 'Raw' + ]] +}; + +function parse() { + const children = this.createList(); + + while (!this.eof) { + children.push(this.Selector()); + + if (this.tokenType === types.Comma) { + this.next(); + continue; + } + + break; + } + + return { + type: 'SelectorList', + loc: this.getLocationFromList(children), + children + }; +} + +function generate(node) { + this.children(node, () => this.token(types.Comma, ',')); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/String.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/String.cjs new file mode 100644 index 00000000..8a7801e5 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/String.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const string = require('../../utils/string.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const name = 'String'; +const structure = { + value: String +}; + +function parse() { + return { + type: 'String', + loc: this.getLocation(this.tokenStart, this.tokenEnd), + value: string.decode(this.consume(types.String)) + }; +} + +function generate(node) { + this.token(types.String, string.encode(node.value)); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/StyleSheet.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/StyleSheet.cjs new file mode 100644 index 00000000..60276185 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/StyleSheet.cjs @@ -0,0 +1,83 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const EXCLAMATIONMARK = 0x0021; // U+0021 EXCLAMATION MARK (!) + +function consumeRaw(startToken) { + return this.Raw(startToken, null, false); +} + +const name = 'StyleSheet'; +const walkContext = 'stylesheet'; +const structure = { + children: [[ + 'Comment', + 'CDO', + 'CDC', + 'Atrule', + 'Rule', + 'Raw' + ]] +}; + +function parse() { + const start = this.tokenStart; + const children = this.createList(); + let child; + + while (!this.eof) { + switch (this.tokenType) { + case types.WhiteSpace: + this.next(); + continue; + + case types.Comment: + // ignore comments except exclamation comments (i.e. /*! .. */) on top level + if (this.charCodeAt(this.tokenStart + 2) !== EXCLAMATIONMARK) { + this.next(); + continue; + } + + child = this.Comment(); + break; + + case types.CDO: // <!-- + child = this.CDO(); + break; + + case types.CDC: // --> + child = this.CDC(); + break; + + // CSS Syntax Module Level 3 + // §2.2 Error handling + // At the "top level" of a stylesheet, an <at-keyword-token> starts an at-rule. + case types.AtKeyword: + child = this.parseWithFallback(this.Atrule, consumeRaw); + break; + + // Anything else starts a qualified rule ... + default: + child = this.parseWithFallback(this.Rule, consumeRaw); + } + + children.push(child); + } + + return { + type: 'StyleSheet', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; +exports.walkContext = walkContext; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/TypeSelector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/TypeSelector.cjs new file mode 100644 index 00000000..1d152703 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/TypeSelector.cjs @@ -0,0 +1,59 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) + +function eatIdentifierOrAsterisk() { + if (this.tokenType !== types.Ident && + this.isDelim(ASTERISK) === false) { + this.error('Identifier or asterisk is expected'); + } + + this.next(); +} + +const name = 'TypeSelector'; +const structure = { + name: String +}; + +// ident +// ident|ident +// ident|* +// * +// *|ident +// *|* +// |ident +// |* +function parse() { + const start = this.tokenStart; + + if (this.isDelim(VERTICALLINE)) { + this.next(); + eatIdentifierOrAsterisk.call(this); + } else { + eatIdentifierOrAsterisk.call(this); + + if (this.isDelim(VERTICALLINE)) { + this.next(); + eatIdentifierOrAsterisk.call(this); + } + } + + return { + type: 'TypeSelector', + loc: this.getLocation(start, this.tokenStart), + name: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.name); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/UnicodeRange.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/UnicodeRange.cjs new file mode 100644 index 00000000..5585e8fd --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/UnicodeRange.cjs @@ -0,0 +1,158 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); +const charCodeDefinitions = require('../../tokenizer/char-code-definitions.cjs'); + +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const QUESTIONMARK = 0x003F; // U+003F QUESTION MARK (?) + +function eatHexSequence(offset, allowDash) { + let len = 0; + + for (let pos = this.tokenStart + offset; pos < this.tokenEnd; pos++) { + const code = this.charCodeAt(pos); + + if (code === HYPHENMINUS && allowDash && len !== 0) { + eatHexSequence.call(this, offset + len + 1, false); + return -1; + } + + if (!charCodeDefinitions.isHexDigit(code)) { + this.error( + allowDash && len !== 0 + ? 'Hyphen minus' + (len < 6 ? ' or hex digit' : '') + ' is expected' + : (len < 6 ? 'Hex digit is expected' : 'Unexpected input'), + pos + ); + } + + if (++len > 6) { + this.error('Too many hex digits', pos); + } } + + this.next(); + return len; +} + +function eatQuestionMarkSequence(max) { + let count = 0; + + while (this.isDelim(QUESTIONMARK)) { + if (++count > max) { + this.error('Too many question marks'); + } + + this.next(); + } +} + +function startsWith(code) { + if (this.charCodeAt(this.tokenStart) !== code) { + this.error((code === PLUSSIGN ? 'Plus sign' : 'Hyphen minus') + ' is expected'); + } +} + +// https://drafts.csswg.org/css-syntax/#urange +// Informally, the <urange> production has three forms: +// U+0001 +// Defines a range consisting of a single code point, in this case the code point "1". +// U+0001-00ff +// Defines a range of codepoints between the first and the second value, in this case +// the range between "1" and "ff" (255 in decimal) inclusive. +// U+00?? +// Defines a range of codepoints where the "?" characters range over all hex digits, +// in this case defining the same as the value U+0000-00ff. +// In each form, a maximum of 6 digits is allowed for each hexadecimal number (if you treat "?" as a hexadecimal digit). +// +// <urange> = +// u '+' <ident-token> '?'* | +// u <dimension-token> '?'* | +// u <number-token> '?'* | +// u <number-token> <dimension-token> | +// u <number-token> <number-token> | +// u '+' '?'+ +function scanUnicodeRange() { + let hexLength = 0; + + switch (this.tokenType) { + case types.Number: + // u <number-token> '?'* + // u <number-token> <dimension-token> + // u <number-token> <number-token> + hexLength = eatHexSequence.call(this, 1, true); + + if (this.isDelim(QUESTIONMARK)) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + break; + } + + if (this.tokenType === types.Dimension || + this.tokenType === types.Number) { + startsWith.call(this, HYPHENMINUS); + eatHexSequence.call(this, 1, false); + break; + } + + break; + + case types.Dimension: + // u <dimension-token> '?'* + hexLength = eatHexSequence.call(this, 1, true); + + if (hexLength > 0) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + } + + break; + + default: + // u '+' <ident-token> '?'* + // u '+' '?'+ + this.eatDelim(PLUSSIGN); + + if (this.tokenType === types.Ident) { + hexLength = eatHexSequence.call(this, 0, true); + if (hexLength > 0) { + eatQuestionMarkSequence.call(this, 6 - hexLength); + } + break; + } + + if (this.isDelim(QUESTIONMARK)) { + this.next(); + eatQuestionMarkSequence.call(this, 5); + break; + } + + this.error('Hex digit or question mark is expected'); + } +} + +const name = 'UnicodeRange'; +const structure = { + value: String +}; + +function parse() { + const start = this.tokenStart; + + // U or u + this.eatIdent('u'); + scanUnicodeRange.call(this); + + return { + type: 'UnicodeRange', + loc: this.getLocation(start, this.tokenStart), + value: this.substrToCursor(start) + }; +} + +function generate(node) { + this.tokenize(node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Url.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Url.cjs new file mode 100644 index 00000000..6a394577 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Url.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const url = require('../../utils/url.cjs'); +const string = require('../../utils/string.cjs'); +const types = require('../../tokenizer/types.cjs'); + +const name = 'Url'; +const structure = { + value: String +}; + +// <url-token> | <function-token> <string> ) +function parse() { + const start = this.tokenStart; + let value; + + switch (this.tokenType) { + case types.Url: + value = url.decode(this.consume(types.Url)); + break; + + case types.Function: + if (!this.cmpStr(this.tokenStart, this.tokenEnd, 'url(')) { + this.error('Function name must be `url`'); + } + + this.eat(types.Function); + this.skipSC(); + value = string.decode(this.consume(types.String)); + this.skipSC(); + if (!this.eof) { + this.eat(types.RightParenthesis); + } + break; + + default: + this.error('Url or Function is expected'); + } + + return { + type: 'Url', + loc: this.getLocation(start, this.tokenStart), + value + }; +} + +function generate(node) { + this.token(types.Url, url.encode(node.value)); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Value.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Value.cjs new file mode 100644 index 00000000..bdb322e7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/Value.cjs @@ -0,0 +1,26 @@ +'use strict'; + +const name = 'Value'; +const structure = { + children: [[]] +}; + +function parse() { + const start = this.tokenStart; + const children = this.readSequence(this.scope.Value); + + return { + type: 'Value', + loc: this.getLocation(start, this.tokenStart), + children + }; +} + +function generate(node) { + this.children(node); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/WhiteSpace.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/WhiteSpace.cjs new file mode 100644 index 00000000..50c19826 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/WhiteSpace.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const SPACE = Object.freeze({ + type: 'WhiteSpace', + loc: null, + value: ' ' +}); + +const name = 'WhiteSpace'; +const structure = { + value: String +}; + +function parse() { + this.eat(types.WhiteSpace); + return SPACE; + + // return { + // type: 'WhiteSpace', + // loc: this.getLocation(this.tokenStart, this.tokenEnd), + // value: this.consume(WHITESPACE) + // }; +} + +function generate(node) { + this.token(types.WhiteSpace, node.value); +} + +exports.generate = generate; +exports.name = name; +exports.parse = parse; +exports.structure = structure; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index-parse.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index-parse.cjs new file mode 100644 index 00000000..60e73043 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index-parse.cjs @@ -0,0 +1,87 @@ +'use strict'; + +const AnPlusB = require('./AnPlusB.cjs'); +const Atrule = require('./Atrule.cjs'); +const AtrulePrelude = require('./AtrulePrelude.cjs'); +const AttributeSelector = require('./AttributeSelector.cjs'); +const Block = require('./Block.cjs'); +const Brackets = require('./Brackets.cjs'); +const CDC = require('./CDC.cjs'); +const CDO = require('./CDO.cjs'); +const ClassSelector = require('./ClassSelector.cjs'); +const Combinator = require('./Combinator.cjs'); +const Comment = require('./Comment.cjs'); +const Declaration = require('./Declaration.cjs'); +const DeclarationList = require('./DeclarationList.cjs'); +const Dimension = require('./Dimension.cjs'); +const Function = require('./Function.cjs'); +const Hash = require('./Hash.cjs'); +const Identifier = require('./Identifier.cjs'); +const IdSelector = require('./IdSelector.cjs'); +const MediaFeature = require('./MediaFeature.cjs'); +const MediaQuery = require('./MediaQuery.cjs'); +const MediaQueryList = require('./MediaQueryList.cjs'); +const NestingSelector = require('./NestingSelector.cjs'); +const Nth = require('./Nth.cjs'); +const Number = require('./Number.cjs'); +const Operator = require('./Operator.cjs'); +const Parentheses = require('./Parentheses.cjs'); +const Percentage = require('./Percentage.cjs'); +const PseudoClassSelector = require('./PseudoClassSelector.cjs'); +const PseudoElementSelector = require('./PseudoElementSelector.cjs'); +const Ratio = require('./Ratio.cjs'); +const Raw = require('./Raw.cjs'); +const Rule = require('./Rule.cjs'); +const Selector = require('./Selector.cjs'); +const SelectorList = require('./SelectorList.cjs'); +const String = require('./String.cjs'); +const StyleSheet = require('./StyleSheet.cjs'); +const TypeSelector = require('./TypeSelector.cjs'); +const UnicodeRange = require('./UnicodeRange.cjs'); +const Url = require('./Url.cjs'); +const Value = require('./Value.cjs'); +const WhiteSpace = require('./WhiteSpace.cjs'); + + + +exports.AnPlusB = AnPlusB.parse; +exports.Atrule = Atrule.parse; +exports.AtrulePrelude = AtrulePrelude.parse; +exports.AttributeSelector = AttributeSelector.parse; +exports.Block = Block.parse; +exports.Brackets = Brackets.parse; +exports.CDC = CDC.parse; +exports.CDO = CDO.parse; +exports.ClassSelector = ClassSelector.parse; +exports.Combinator = Combinator.parse; +exports.Comment = Comment.parse; +exports.Declaration = Declaration.parse; +exports.DeclarationList = DeclarationList.parse; +exports.Dimension = Dimension.parse; +exports.Function = Function.parse; +exports.Hash = Hash.parse; +exports.Identifier = Identifier.parse; +exports.IdSelector = IdSelector.parse; +exports.MediaFeature = MediaFeature.parse; +exports.MediaQuery = MediaQuery.parse; +exports.MediaQueryList = MediaQueryList.parse; +exports.NestingSelector = NestingSelector.parse; +exports.Nth = Nth.parse; +exports.Number = Number.parse; +exports.Operator = Operator.parse; +exports.Parentheses = Parentheses.parse; +exports.Percentage = Percentage.parse; +exports.PseudoClassSelector = PseudoClassSelector.parse; +exports.PseudoElementSelector = PseudoElementSelector.parse; +exports.Ratio = Ratio.parse; +exports.Raw = Raw.parse; +exports.Rule = Rule.parse; +exports.Selector = Selector.parse; +exports.SelectorList = SelectorList.parse; +exports.String = String.parse; +exports.StyleSheet = StyleSheet.parse; +exports.TypeSelector = TypeSelector.parse; +exports.UnicodeRange = UnicodeRange.parse; +exports.Url = Url.parse; +exports.Value = Value.parse; +exports.WhiteSpace = WhiteSpace.parse; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index.cjs new file mode 100644 index 00000000..45c10a66 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/node/index.cjs @@ -0,0 +1,87 @@ +'use strict'; + +const AnPlusB = require('./AnPlusB.cjs'); +const Atrule = require('./Atrule.cjs'); +const AtrulePrelude = require('./AtrulePrelude.cjs'); +const AttributeSelector = require('./AttributeSelector.cjs'); +const Block = require('./Block.cjs'); +const Brackets = require('./Brackets.cjs'); +const CDC = require('./CDC.cjs'); +const CDO = require('./CDO.cjs'); +const ClassSelector = require('./ClassSelector.cjs'); +const Combinator = require('./Combinator.cjs'); +const Comment = require('./Comment.cjs'); +const Declaration = require('./Declaration.cjs'); +const DeclarationList = require('./DeclarationList.cjs'); +const Dimension = require('./Dimension.cjs'); +const Function = require('./Function.cjs'); +const Hash = require('./Hash.cjs'); +const Identifier = require('./Identifier.cjs'); +const IdSelector = require('./IdSelector.cjs'); +const MediaFeature = require('./MediaFeature.cjs'); +const MediaQuery = require('./MediaQuery.cjs'); +const MediaQueryList = require('./MediaQueryList.cjs'); +const NestingSelector = require('./NestingSelector.cjs'); +const Nth = require('./Nth.cjs'); +const Number$1 = require('./Number.cjs'); +const Operator = require('./Operator.cjs'); +const Parentheses = require('./Parentheses.cjs'); +const Percentage = require('./Percentage.cjs'); +const PseudoClassSelector = require('./PseudoClassSelector.cjs'); +const PseudoElementSelector = require('./PseudoElementSelector.cjs'); +const Ratio = require('./Ratio.cjs'); +const Raw = require('./Raw.cjs'); +const Rule = require('./Rule.cjs'); +const Selector = require('./Selector.cjs'); +const SelectorList = require('./SelectorList.cjs'); +const String$1 = require('./String.cjs'); +const StyleSheet = require('./StyleSheet.cjs'); +const TypeSelector = require('./TypeSelector.cjs'); +const UnicodeRange = require('./UnicodeRange.cjs'); +const Url = require('./Url.cjs'); +const Value = require('./Value.cjs'); +const WhiteSpace = require('./WhiteSpace.cjs'); + + + +exports.AnPlusB = AnPlusB; +exports.Atrule = Atrule; +exports.AtrulePrelude = AtrulePrelude; +exports.AttributeSelector = AttributeSelector; +exports.Block = Block; +exports.Brackets = Brackets; +exports.CDC = CDC; +exports.CDO = CDO; +exports.ClassSelector = ClassSelector; +exports.Combinator = Combinator; +exports.Comment = Comment; +exports.Declaration = Declaration; +exports.DeclarationList = DeclarationList; +exports.Dimension = Dimension; +exports.Function = Function; +exports.Hash = Hash; +exports.Identifier = Identifier; +exports.IdSelector = IdSelector; +exports.MediaFeature = MediaFeature; +exports.MediaQuery = MediaQuery; +exports.MediaQueryList = MediaQueryList; +exports.NestingSelector = NestingSelector; +exports.Nth = Nth; +exports.Number = Number$1; +exports.Operator = Operator; +exports.Parentheses = Parentheses; +exports.Percentage = Percentage; +exports.PseudoClassSelector = PseudoClassSelector; +exports.PseudoElementSelector = PseudoElementSelector; +exports.Ratio = Ratio; +exports.Raw = Raw; +exports.Rule = Rule; +exports.Selector = Selector; +exports.SelectorList = SelectorList; +exports.String = String$1; +exports.StyleSheet = StyleSheet; +exports.TypeSelector = TypeSelector; +exports.UnicodeRange = UnicodeRange; +exports.Url = Url; +exports.Value = Value; +exports.WhiteSpace = WhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/pseudo/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/pseudo/index.cjs new file mode 100644 index 00000000..760905d1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/pseudo/index.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const selectorList = { + parse() { + return this.createSingleNodeList( + this.SelectorList() + ); + } +}; + +const selector = { + parse() { + return this.createSingleNodeList( + this.Selector() + ); + } +}; + +const identList = { + parse() { + return this.createSingleNodeList( + this.Identifier() + ); + } +}; + +const nth = { + parse() { + return this.createSingleNodeList( + this.Nth() + ); + } +}; + +const pseudo = { + 'dir': identList, + 'has': selectorList, + 'lang': identList, + 'matches': selectorList, + 'is': selectorList, + '-moz-any': selectorList, + '-webkit-any': selectorList, + 'where': selectorList, + 'not': selectorList, + 'nth-child': nth, + 'nth-last-child': nth, + 'nth-last-of-type': nth, + 'nth-of-type': nth, + 'slotted': selector, + 'host': selector, + 'host-context': selector +}; + +module.exports = pseudo; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/atrulePrelude.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/atrulePrelude.cjs new file mode 100644 index 00000000..65a15447 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/atrulePrelude.cjs @@ -0,0 +1,9 @@ +'use strict'; + +const _default = require('./default.cjs'); + +const atrulePrelude = { + getNode: _default +}; + +module.exports = atrulePrelude; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/default.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/default.cjs new file mode 100644 index 00000000..43b5c188 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/default.cjs @@ -0,0 +1,76 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const HYPHENMINUS = 0x002D; // U+002D HYPHEN-MINUS (-) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const U = 0x0075; // U+0075 LATIN SMALL LETTER U (u) + +function defaultRecognizer(context) { + switch (this.tokenType) { + case types.Hash: + return this.Hash(); + + case types.Comma: + return this.Operator(); + + case types.LeftParenthesis: + return this.Parentheses(this.readSequence, context.recognizer); + + case types.LeftSquareBracket: + return this.Brackets(this.readSequence, context.recognizer); + + case types.String: + return this.String(); + + case types.Dimension: + return this.Dimension(); + + case types.Percentage: + return this.Percentage(); + + case types.Number: + return this.Number(); + + case types.Function: + return this.cmpStr(this.tokenStart, this.tokenEnd, 'url(') + ? this.Url() + : this.Function(this.readSequence, context.recognizer); + + case types.Url: + return this.Url(); + + case types.Ident: + // check for unicode range, it should start with u+ or U+ + if (this.cmpChar(this.tokenStart, U) && + this.cmpChar(this.tokenStart + 1, PLUSSIGN)) { + return this.UnicodeRange(); + } else { + return this.Identifier(); + } + + case types.Delim: { + const code = this.charCodeAt(this.tokenStart); + + if (code === SOLIDUS || + code === ASTERISK || + code === PLUSSIGN || + code === HYPHENMINUS) { + return this.Operator(); // TODO: replace with Delim + } + + // TODO: produce a node with Delim node type + + if (code === NUMBERSIGN) { + this.error('Hex or identifier is expected', this.tokenStart + 1); + } + + break; + } + } +} + +module.exports = defaultRecognizer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/index.cjs new file mode 100644 index 00000000..78391281 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/index.cjs @@ -0,0 +1,11 @@ +'use strict'; + +const atrulePrelude = require('./atrulePrelude.cjs'); +const selector = require('./selector.cjs'); +const value = require('./value.cjs'); + + + +exports.AtrulePrelude = atrulePrelude; +exports.Selector = selector; +exports.Value = value; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/selector.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/selector.cjs new file mode 100644 index 00000000..6b915aeb --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/selector.cjs @@ -0,0 +1,88 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +const NUMBERSIGN = 0x0023; // U+0023 NUMBER SIGN (#) +const AMPERSAND = 0x0026; // U+0026 AMPERSAND (&) +const ASTERISK = 0x002A; // U+002A ASTERISK (*) +const PLUSSIGN = 0x002B; // U+002B PLUS SIGN (+) +const SOLIDUS = 0x002F; // U+002F SOLIDUS (/) +const FULLSTOP = 0x002E; // U+002E FULL STOP (.) +const GREATERTHANSIGN = 0x003E; // U+003E GREATER-THAN SIGN (>) +const VERTICALLINE = 0x007C; // U+007C VERTICAL LINE (|) +const TILDE = 0x007E; // U+007E TILDE (~) + +function onWhiteSpace(next, children) { + if (children.last !== null && children.last.type !== 'Combinator' && + next !== null && next.type !== 'Combinator') { + children.push({ // FIXME: this.Combinator() should be used instead + type: 'Combinator', + loc: null, + name: ' ' + }); + } +} + +function getNode() { + switch (this.tokenType) { + case types.LeftSquareBracket: + return this.AttributeSelector(); + + case types.Hash: + return this.IdSelector(); + + case types.Colon: + if (this.lookupType(1) === types.Colon) { + return this.PseudoElementSelector(); + } else { + return this.PseudoClassSelector(); + } + + case types.Ident: + return this.TypeSelector(); + + case types.Number: + case types.Percentage: + return this.Percentage(); + + case types.Dimension: + // throws when .123ident + if (this.charCodeAt(this.tokenStart) === FULLSTOP) { + this.error('Identifier is expected', this.tokenStart + 1); + } + break; + + case types.Delim: { + const code = this.charCodeAt(this.tokenStart); + + switch (code) { + case PLUSSIGN: + case GREATERTHANSIGN: + case TILDE: + case SOLIDUS: // /deep/ + return this.Combinator(); + + case FULLSTOP: + return this.ClassSelector(); + + case ASTERISK: + case VERTICALLINE: + return this.TypeSelector(); + + case NUMBERSIGN: + return this.IdSelector(); + + case AMPERSAND: + return this.NestingSelector(); + } + + break; + } + } +} +const Selector = { + onWhiteSpace, + getNode +}; + +module.exports = Selector; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/value.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/value.cjs new file mode 100644 index 00000000..a9900a1c --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/syntax/scope/value.cjs @@ -0,0 +1,29 @@ +'use strict'; + +const _default = require('./default.cjs'); +const expression = require('../function/expression.cjs'); +const _var = require('../function/var.cjs'); + +function isPlusMinusOperator(node) { + return ( + node !== null && + node.type === 'Operator' && + (node.value[node.value.length - 1] === '-' || node.value[node.value.length - 1] === '+') + ); +} + +const value = { + getNode: _default, + onWhiteSpace(next, children) { + if (isPlusMinusOperator(next)) { + next.value = ' ' + next.value; + } + if (isPlusMinusOperator(children.last)) { + children.last.value += ' '; + } + }, + 'expression': expression, + 'var': _var +}; + +module.exports = value; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/OffsetToLocation.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/OffsetToLocation.cjs new file mode 100644 index 00000000..2875466b --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/OffsetToLocation.cjs @@ -0,0 +1,91 @@ +'use strict'; + +const adoptBuffer = require('./adopt-buffer.cjs'); +const charCodeDefinitions = require('./char-code-definitions.cjs'); + +const N = 10; +const F = 12; +const R = 13; + +function computeLinesAndColumns(host) { + const source = host.source; + const sourceLength = source.length; + const startOffset = source.length > 0 ? charCodeDefinitions.isBOM(source.charCodeAt(0)) : 0; + const lines = adoptBuffer.adoptBuffer(host.lines, sourceLength); + const columns = adoptBuffer.adoptBuffer(host.columns, sourceLength); + let line = host.startLine; + let column = host.startColumn; + + for (let i = startOffset; i < sourceLength; i++) { + const code = source.charCodeAt(i); + + lines[i] = line; + columns[i] = column++; + + if (code === N || code === R || code === F) { + if (code === R && i + 1 < sourceLength && source.charCodeAt(i + 1) === N) { + i++; + lines[i] = line; + columns[i] = column; + } + + line++; + column = 1; + } + } + + lines[sourceLength] = line; + columns[sourceLength] = column; + + host.lines = lines; + host.columns = columns; + host.computed = true; +} + +class OffsetToLocation { + constructor() { + this.lines = null; + this.columns = null; + this.computed = false; + } + setSource(source, startOffset = 0, startLine = 1, startColumn = 1) { + this.source = source; + this.startOffset = startOffset; + this.startLine = startLine; + this.startColumn = startColumn; + this.computed = false; + } + getLocation(offset, filename) { + if (!this.computed) { + computeLinesAndColumns(this); + } + + return { + source: filename, + offset: this.startOffset + offset, + line: this.lines[offset], + column: this.columns[offset] + }; + } + getLocationRange(start, end, filename) { + if (!this.computed) { + computeLinesAndColumns(this); + } + + return { + source: filename, + start: { + offset: this.startOffset + start, + line: this.lines[start], + column: this.columns[start] + }, + end: { + offset: this.startOffset + end, + line: this.lines[end], + column: this.columns[end] + } + }; + } +} + +exports.OffsetToLocation = OffsetToLocation; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/TokenStream.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/TokenStream.cjs new file mode 100644 index 00000000..42d6f906 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/TokenStream.cjs @@ -0,0 +1,264 @@ +'use strict'; + +const adoptBuffer = require('./adopt-buffer.cjs'); +const utils = require('./utils.cjs'); +const names = require('./names.cjs'); +const types = require('./types.cjs'); + +const OFFSET_MASK = 0x00FFFFFF; +const TYPE_SHIFT = 24; +const balancePair = new Map([ + [types.Function, types.RightParenthesis], + [types.LeftParenthesis, types.RightParenthesis], + [types.LeftSquareBracket, types.RightSquareBracket], + [types.LeftCurlyBracket, types.RightCurlyBracket] +]); + +class TokenStream { + constructor(source, tokenize) { + this.setSource(source, tokenize); + } + reset() { + this.eof = false; + this.tokenIndex = -1; + this.tokenType = 0; + this.tokenStart = this.firstCharOffset; + this.tokenEnd = this.firstCharOffset; + } + setSource(source = '', tokenize = () => {}) { + source = String(source || ''); + + const sourceLength = source.length; + const offsetAndType = adoptBuffer.adoptBuffer(this.offsetAndType, source.length + 1); // +1 because of eof-token + const balance = adoptBuffer.adoptBuffer(this.balance, source.length + 1); + let tokenCount = 0; + let balanceCloseType = 0; + let balanceStart = 0; + let firstCharOffset = -1; + + // capture buffers + this.offsetAndType = null; + this.balance = null; + + tokenize(source, (type, start, end) => { + switch (type) { + default: + balance[tokenCount] = sourceLength; + break; + + case balanceCloseType: { + let balancePrev = balanceStart & OFFSET_MASK; + balanceStart = balance[balancePrev]; + balanceCloseType = balanceStart >> TYPE_SHIFT; + balance[tokenCount] = balancePrev; + balance[balancePrev++] = tokenCount; + for (; balancePrev < tokenCount; balancePrev++) { + if (balance[balancePrev] === sourceLength) { + balance[balancePrev] = tokenCount; + } + } + break; + } + + case types.LeftParenthesis: + case types.Function: + case types.LeftSquareBracket: + case types.LeftCurlyBracket: + balance[tokenCount] = balanceStart; + balanceCloseType = balancePair.get(type); + balanceStart = (balanceCloseType << TYPE_SHIFT) | tokenCount; + break; + } + + offsetAndType[tokenCount++] = (type << TYPE_SHIFT) | end; + if (firstCharOffset === -1) { + firstCharOffset = start; + } + }); + + // finalize buffers + offsetAndType[tokenCount] = (types.EOF << TYPE_SHIFT) | sourceLength; // <EOF-token> + balance[tokenCount] = sourceLength; + balance[sourceLength] = sourceLength; // prevents false positive balance match with any token + while (balanceStart !== 0) { + const balancePrev = balanceStart & OFFSET_MASK; + balanceStart = balance[balancePrev]; + balance[balancePrev] = sourceLength; + } + + this.source = source; + this.firstCharOffset = firstCharOffset === -1 ? 0 : firstCharOffset; + this.tokenCount = tokenCount; + this.offsetAndType = offsetAndType; + this.balance = balance; + + this.reset(); + this.next(); + } + + lookupType(offset) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return this.offsetAndType[offset] >> TYPE_SHIFT; + } + + return types.EOF; + } + lookupOffset(offset) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return this.offsetAndType[offset - 1] & OFFSET_MASK; + } + + return this.source.length; + } + lookupValue(offset, referenceStr) { + offset += this.tokenIndex; + + if (offset < this.tokenCount) { + return utils.cmpStr( + this.source, + this.offsetAndType[offset - 1] & OFFSET_MASK, + this.offsetAndType[offset] & OFFSET_MASK, + referenceStr + ); + } + + return false; + } + getTokenStart(tokenIndex) { + if (tokenIndex === this.tokenIndex) { + return this.tokenStart; + } + + if (tokenIndex > 0) { + return tokenIndex < this.tokenCount + ? this.offsetAndType[tokenIndex - 1] & OFFSET_MASK + : this.offsetAndType[this.tokenCount] & OFFSET_MASK; + } + + return this.firstCharOffset; + } + substrToCursor(start) { + return this.source.substring(start, this.tokenStart); + } + + isBalanceEdge(pos) { + return this.balance[this.tokenIndex] < pos; + } + isDelim(code, offset) { + if (offset) { + return ( + this.lookupType(offset) === types.Delim && + this.source.charCodeAt(this.lookupOffset(offset)) === code + ); + } + + return ( + this.tokenType === types.Delim && + this.source.charCodeAt(this.tokenStart) === code + ); + } + + skip(tokenCount) { + let next = this.tokenIndex + tokenCount; + + if (next < this.tokenCount) { + this.tokenIndex = next; + this.tokenStart = this.offsetAndType[next - 1] & OFFSET_MASK; + next = this.offsetAndType[next]; + this.tokenType = next >> TYPE_SHIFT; + this.tokenEnd = next & OFFSET_MASK; + } else { + this.tokenIndex = this.tokenCount; + this.next(); + } + } + next() { + let next = this.tokenIndex + 1; + + if (next < this.tokenCount) { + this.tokenIndex = next; + this.tokenStart = this.tokenEnd; + next = this.offsetAndType[next]; + this.tokenType = next >> TYPE_SHIFT; + this.tokenEnd = next & OFFSET_MASK; + } else { + this.eof = true; + this.tokenIndex = this.tokenCount; + this.tokenType = types.EOF; + this.tokenStart = this.tokenEnd = this.source.length; + } + } + skipSC() { + while (this.tokenType === types.WhiteSpace || this.tokenType === types.Comment) { + this.next(); + } + } + skipUntilBalanced(startToken, stopConsume) { + let cursor = startToken; + let balanceEnd; + let offset; + + loop: + for (; cursor < this.tokenCount; cursor++) { + balanceEnd = this.balance[cursor]; + + // stop scanning on balance edge that points to offset before start token + if (balanceEnd < startToken) { + break loop; + } + + offset = cursor > 0 ? this.offsetAndType[cursor - 1] & OFFSET_MASK : this.firstCharOffset; + + // check stop condition + switch (stopConsume(this.source.charCodeAt(offset))) { + case 1: // just stop + break loop; + + case 2: // stop & included + cursor++; + break loop; + + default: + // fast forward to the end of balanced block + if (this.balance[balanceEnd] === cursor) { + cursor = balanceEnd; + } + } + } + + this.skip(cursor - this.tokenIndex); + } + + forEachToken(fn) { + for (let i = 0, offset = this.firstCharOffset; i < this.tokenCount; i++) { + const start = offset; + const item = this.offsetAndType[i]; + const end = item & OFFSET_MASK; + const type = item >> TYPE_SHIFT; + + offset = end; + + fn(type, start, end, i); + } + } + dump() { + const tokens = new Array(this.tokenCount); + + this.forEachToken((type, start, end, index) => { + tokens[index] = { + idx: index, + type: names[type], + chunk: this.source.substring(start, end), + balance: this.balance[index] + }; + }); + + return tokens; + } +} + +exports.TokenStream = TokenStream; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/adopt-buffer.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/adopt-buffer.cjs new file mode 100644 index 00000000..b2956ce4 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/adopt-buffer.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const MIN_SIZE = 16 * 1024; + +function adoptBuffer(buffer = null, size) { + if (buffer === null || buffer.length < size) { + return new Uint32Array(Math.max(size + 1024, MIN_SIZE)); + } + + return buffer; +} + +exports.adoptBuffer = adoptBuffer; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/char-code-definitions.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/char-code-definitions.cjs new file mode 100644 index 00000000..99b66670 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/char-code-definitions.cjs @@ -0,0 +1,231 @@ +'use strict'; + +const EOF = 0; + +// https://drafts.csswg.org/css-syntax-3/ +// § 4.2. Definitions + +// digit +// A code point between U+0030 DIGIT ZERO (0) and U+0039 DIGIT NINE (9). +function isDigit(code) { + return code >= 0x0030 && code <= 0x0039; +} + +// hex digit +// A digit, or a code point between U+0041 LATIN CAPITAL LETTER A (A) and U+0046 LATIN CAPITAL LETTER F (F), +// or a code point between U+0061 LATIN SMALL LETTER A (a) and U+0066 LATIN SMALL LETTER F (f). +function isHexDigit(code) { + return ( + isDigit(code) || // 0 .. 9 + (code >= 0x0041 && code <= 0x0046) || // A .. F + (code >= 0x0061 && code <= 0x0066) // a .. f + ); +} + +// uppercase letter +// A code point between U+0041 LATIN CAPITAL LETTER A (A) and U+005A LATIN CAPITAL LETTER Z (Z). +function isUppercaseLetter(code) { + return code >= 0x0041 && code <= 0x005A; +} + +// lowercase letter +// A code point between U+0061 LATIN SMALL LETTER A (a) and U+007A LATIN SMALL LETTER Z (z). +function isLowercaseLetter(code) { + return code >= 0x0061 && code <= 0x007A; +} + +// letter +// An uppercase letter or a lowercase letter. +function isLetter(code) { + return isUppercaseLetter(code) || isLowercaseLetter(code); +} + +// non-ASCII code point +// A code point with a value equal to or greater than U+0080 <control>. +function isNonAscii(code) { + return code >= 0x0080; +} + +// name-start code point +// A letter, a non-ASCII code point, or U+005F LOW LINE (_). +function isNameStart(code) { + return isLetter(code) || isNonAscii(code) || code === 0x005F; +} + +// name code point +// A name-start code point, a digit, or U+002D HYPHEN-MINUS (-). +function isName(code) { + return isNameStart(code) || isDigit(code) || code === 0x002D; +} + +// non-printable code point +// A code point between U+0000 NULL and U+0008 BACKSPACE, or U+000B LINE TABULATION, +// or a code point between U+000E SHIFT OUT and U+001F INFORMATION SEPARATOR ONE, or U+007F DELETE. +function isNonPrintable(code) { + return ( + (code >= 0x0000 && code <= 0x0008) || + (code === 0x000B) || + (code >= 0x000E && code <= 0x001F) || + (code === 0x007F) + ); +} + +// newline +// U+000A LINE FEED. Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not included in this definition, +// as they are converted to U+000A LINE FEED during preprocessing. +// TODO: we doesn't do a preprocessing, so check a code point for U+000D CARRIAGE RETURN and U+000C FORM FEED +function isNewline(code) { + return code === 0x000A || code === 0x000D || code === 0x000C; +} + +// whitespace +// A newline, U+0009 CHARACTER TABULATION, or U+0020 SPACE. +function isWhiteSpace(code) { + return isNewline(code) || code === 0x0020 || code === 0x0009; +} + +// § 4.3.8. Check if two code points are a valid escape +function isValidEscape(first, second) { + // If the first code point is not U+005C REVERSE SOLIDUS (\), return false. + if (first !== 0x005C) { + return false; + } + + // Otherwise, if the second code point is a newline or EOF, return false. + if (isNewline(second) || second === EOF) { + return false; + } + + // Otherwise, return true. + return true; +} + +// § 4.3.9. Check if three code points would start an identifier +function isIdentifierStart(first, second, third) { + // Look at the first code point: + + // U+002D HYPHEN-MINUS + if (first === 0x002D) { + // If the second code point is a name-start code point or a U+002D HYPHEN-MINUS, + // or the second and third code points are a valid escape, return true. Otherwise, return false. + return ( + isNameStart(second) || + second === 0x002D || + isValidEscape(second, third) + ); + } + + // name-start code point + if (isNameStart(first)) { + // Return true. + return true; + } + + // U+005C REVERSE SOLIDUS (\) + if (first === 0x005C) { + // If the first and second code points are a valid escape, return true. Otherwise, return false. + return isValidEscape(first, second); + } + + // anything else + // Return false. + return false; +} + +// § 4.3.10. Check if three code points would start a number +function isNumberStart(first, second, third) { + // Look at the first code point: + + // U+002B PLUS SIGN (+) + // U+002D HYPHEN-MINUS (-) + if (first === 0x002B || first === 0x002D) { + // If the second code point is a digit, return true. + if (isDigit(second)) { + return 2; + } + + // Otherwise, if the second code point is a U+002E FULL STOP (.) + // and the third code point is a digit, return true. + // Otherwise, return false. + return second === 0x002E && isDigit(third) ? 3 : 0; + } + + // U+002E FULL STOP (.) + if (first === 0x002E) { + // If the second code point is a digit, return true. Otherwise, return false. + return isDigit(second) ? 2 : 0; + } + + // digit + if (isDigit(first)) { + // Return true. + return 1; + } + + // anything else + // Return false. + return 0; +} + +// +// Misc +// + +// detect BOM (https://en.wikipedia.org/wiki/Byte_order_mark) +function isBOM(code) { + // UTF-16BE + if (code === 0xFEFF) { + return 1; + } + + // UTF-16LE + if (code === 0xFFFE) { + return 1; + } + + return 0; +} + +// Fast code category +// Only ASCII code points has a special meaning, that's why we define a maps for 0..127 codes only +const CATEGORY = new Array(0x80); +const EofCategory = 0x80; +const WhiteSpaceCategory = 0x82; +const DigitCategory = 0x83; +const NameStartCategory = 0x84; +const NonPrintableCategory = 0x85; + +for (let i = 0; i < CATEGORY.length; i++) { + CATEGORY[i] = + isWhiteSpace(i) && WhiteSpaceCategory || + isDigit(i) && DigitCategory || + isNameStart(i) && NameStartCategory || + isNonPrintable(i) && NonPrintableCategory || + i || EofCategory; +} + +function charCodeCategory(code) { + return code < 0x80 ? CATEGORY[code] : NameStartCategory; +} + +exports.DigitCategory = DigitCategory; +exports.EofCategory = EofCategory; +exports.NameStartCategory = NameStartCategory; +exports.NonPrintableCategory = NonPrintableCategory; +exports.WhiteSpaceCategory = WhiteSpaceCategory; +exports.charCodeCategory = charCodeCategory; +exports.isBOM = isBOM; +exports.isDigit = isDigit; +exports.isHexDigit = isHexDigit; +exports.isIdentifierStart = isIdentifierStart; +exports.isLetter = isLetter; +exports.isLowercaseLetter = isLowercaseLetter; +exports.isName = isName; +exports.isNameStart = isNameStart; +exports.isNewline = isNewline; +exports.isNonAscii = isNonAscii; +exports.isNonPrintable = isNonPrintable; +exports.isNumberStart = isNumberStart; +exports.isUppercaseLetter = isUppercaseLetter; +exports.isValidEscape = isValidEscape; +exports.isWhiteSpace = isWhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/index.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/index.cjs new file mode 100644 index 00000000..bfb73e5a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/index.cjs @@ -0,0 +1,554 @@ +'use strict'; + +const types = require('./types.cjs'); +const charCodeDefinitions = require('./char-code-definitions.cjs'); +const utils = require('./utils.cjs'); +const names = require('./names.cjs'); +const OffsetToLocation = require('./OffsetToLocation.cjs'); +const TokenStream = require('./TokenStream.cjs'); + +function tokenize(source, onToken) { + function getCharCode(offset) { + return offset < sourceLength ? source.charCodeAt(offset) : 0; + } + + // § 4.3.3. Consume a numeric token + function consumeNumericToken() { + // Consume a number and let number be the result. + offset = utils.consumeNumber(source, offset); + + // If the next 3 input code points would start an identifier, then: + if (charCodeDefinitions.isIdentifierStart(getCharCode(offset), getCharCode(offset + 1), getCharCode(offset + 2))) { + // Create a <dimension-token> with the same value and type flag as number, and a unit set initially to the empty string. + // Consume a name. Set the <dimension-token>’s unit to the returned value. + // Return the <dimension-token>. + type = types.Dimension; + offset = utils.consumeName(source, offset); + return; + } + + // Otherwise, if the next input code point is U+0025 PERCENTAGE SIGN (%), consume it. + if (getCharCode(offset) === 0x0025) { + // Create a <percentage-token> with the same value as number, and return it. + type = types.Percentage; + offset++; + return; + } + + // Otherwise, create a <number-token> with the same value and type flag as number, and return it. + type = types.Number; + } + + // § 4.3.4. Consume an ident-like token + function consumeIdentLikeToken() { + const nameStartOffset = offset; + + // Consume a name, and let string be the result. + offset = utils.consumeName(source, offset); + + // If string’s value is an ASCII case-insensitive match for "url", + // and the next input code point is U+0028 LEFT PARENTHESIS ((), consume it. + if (utils.cmpStr(source, nameStartOffset, offset, 'url') && getCharCode(offset) === 0x0028) { + // While the next two input code points are whitespace, consume the next input code point. + offset = utils.findWhiteSpaceEnd(source, offset + 1); + + // If the next one or two input code points are U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), + // or whitespace followed by U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('), + // then create a <function-token> with its value set to string and return it. + if (getCharCode(offset) === 0x0022 || + getCharCode(offset) === 0x0027) { + type = types.Function; + offset = nameStartOffset + 4; + return; + } + + // Otherwise, consume a url token, and return it. + consumeUrlToken(); + return; + } + + // Otherwise, if the next input code point is U+0028 LEFT PARENTHESIS ((), consume it. + // Create a <function-token> with its value set to string and return it. + if (getCharCode(offset) === 0x0028) { + type = types.Function; + offset++; + return; + } + + // Otherwise, create an <ident-token> with its value set to string and return it. + type = types.Ident; + } + + // § 4.3.5. Consume a string token + function consumeStringToken(endingCodePoint) { + // This algorithm may be called with an ending code point, which denotes the code point + // that ends the string. If an ending code point is not specified, + // the current input code point is used. + if (!endingCodePoint) { + endingCodePoint = getCharCode(offset++); + } + + // Initially create a <string-token> with its value set to the empty string. + type = types.String; + + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // ending code point + case endingCodePoint: + // Return the <string-token>. + offset++; + return; + + // EOF + // case EofCategory: + // This is a parse error. Return the <string-token>. + // return; + + // newline + case charCodeDefinitions.WhiteSpaceCategory: + if (charCodeDefinitions.isNewline(code)) { + // This is a parse error. Reconsume the current input code point, + // create a <bad-string-token>, and return it. + offset += utils.getNewlineLength(source, offset, code); + type = types.BadString; + return; + } + break; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the next input code point is EOF, do nothing. + if (offset === source.length - 1) { + break; + } + + const nextCode = getCharCode(offset + 1); + + // Otherwise, if the next input code point is a newline, consume it. + if (charCodeDefinitions.isNewline(nextCode)) { + offset += utils.getNewlineLength(source, offset + 1, nextCode); + } else if (charCodeDefinitions.isValidEscape(code, nextCode)) { + // Otherwise, (the stream starts with a valid escape) consume + // an escaped code point and append the returned code point to + // the <string-token>’s value. + offset = utils.consumeEscaped(source, offset) - 1; + } + break; + + // anything else + // Append the current input code point to the <string-token>’s value. + } + } + } + + // § 4.3.6. Consume a url token + // Note: This algorithm assumes that the initial "url(" has already been consumed. + // This algorithm also assumes that it’s being called to consume an "unquoted" value, like url(foo). + // A quoted value, like url("foo"), is parsed as a <function-token>. Consume an ident-like token + // automatically handles this distinction; this algorithm shouldn’t be called directly otherwise. + function consumeUrlToken() { + // Initially create a <url-token> with its value set to the empty string. + type = types.Url; + + // Consume as much whitespace as possible. + offset = utils.findWhiteSpaceEnd(source, offset); + + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // U+0029 RIGHT PARENTHESIS ()) + case 0x0029: + // Return the <url-token>. + offset++; + return; + + // EOF + // case EofCategory: + // This is a parse error. Return the <url-token>. + // return; + + // whitespace + case charCodeDefinitions.WhiteSpaceCategory: + // Consume as much whitespace as possible. + offset = utils.findWhiteSpaceEnd(source, offset); + + // If the next input code point is U+0029 RIGHT PARENTHESIS ()) or EOF, + // consume it and return the <url-token> + // (if EOF was encountered, this is a parse error); + if (getCharCode(offset) === 0x0029 || offset >= source.length) { + if (offset < source.length) { + offset++; + } + return; + } + + // otherwise, consume the remnants of a bad url, create a <bad-url-token>, + // and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // U+0022 QUOTATION MARK (") + // U+0027 APOSTROPHE (') + // U+0028 LEFT PARENTHESIS (() + // non-printable code point + case 0x0022: + case 0x0027: + case 0x0028: + case charCodeDefinitions.NonPrintableCategory: + // This is a parse error. Consume the remnants of a bad url, + // create a <bad-url-token>, and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the stream starts with a valid escape, consume an escaped code point and + // append the returned code point to the <url-token>’s value. + if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { + offset = utils.consumeEscaped(source, offset) - 1; + break; + } + + // Otherwise, this is a parse error. Consume the remnants of a bad url, + // create a <bad-url-token>, and return it. + offset = utils.consumeBadUrlRemnants(source, offset); + type = types.BadUrl; + return; + + // anything else + // Append the current input code point to the <url-token>’s value. + } + } + } + + // ensure source is a string + source = String(source || ''); + + const sourceLength = source.length; + let start = charCodeDefinitions.isBOM(getCharCode(0)); + let offset = start; + let type; + + // https://drafts.csswg.org/css-syntax-3/#consume-token + // § 4.3.1. Consume a token + while (offset < sourceLength) { + const code = source.charCodeAt(offset); + + switch (charCodeDefinitions.charCodeCategory(code)) { + // whitespace + case charCodeDefinitions.WhiteSpaceCategory: + // Consume as much whitespace as possible. Return a <whitespace-token>. + type = types.WhiteSpace; + offset = utils.findWhiteSpaceEnd(source, offset + 1); + break; + + // U+0022 QUOTATION MARK (") + case 0x0022: + // Consume a string token and return it. + consumeStringToken(); + break; + + // U+0023 NUMBER SIGN (#) + case 0x0023: + // If the next input code point is a name code point or the next two input code points are a valid escape, then: + if (charCodeDefinitions.isName(getCharCode(offset + 1)) || charCodeDefinitions.isValidEscape(getCharCode(offset + 1), getCharCode(offset + 2))) { + // Create a <hash-token>. + type = types.Hash; + + // If the next 3 input code points would start an identifier, set the <hash-token>’s type flag to "id". + // if (isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) { + // // TODO: set id flag + // } + + // Consume a name, and set the <hash-token>’s value to the returned string. + offset = utils.consumeName(source, offset + 1); + + // Return the <hash-token>. + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+0027 APOSTROPHE (') + case 0x0027: + // Consume a string token and return it. + consumeStringToken(); + break; + + // U+0028 LEFT PARENTHESIS (() + case 0x0028: + // Return a <(-token>. + type = types.LeftParenthesis; + offset++; + break; + + // U+0029 RIGHT PARENTHESIS ()) + case 0x0029: + // Return a <)-token>. + type = types.RightParenthesis; + offset++; + break; + + // U+002B PLUS SIGN (+) + case 0x002B: + // If the input stream starts with a number, ... + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + break; + + // U+002C COMMA (,) + case 0x002C: + // Return a <comma-token>. + type = types.Comma; + offset++; + break; + + // U+002D HYPHEN-MINUS (-) + case 0x002D: + // If the input stream starts with a number, reconsume the current input code point, consume a numeric token, and return it. + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + consumeNumericToken(); + } else { + // Otherwise, if the next 2 input code points are U+002D HYPHEN-MINUS U+003E GREATER-THAN SIGN (->), consume them and return a <CDC-token>. + if (getCharCode(offset + 1) === 0x002D && + getCharCode(offset + 2) === 0x003E) { + type = types.CDC; + offset = offset + 3; + } else { + // Otherwise, if the input stream starts with an identifier, ... + if (charCodeDefinitions.isIdentifierStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + } + } + break; + + // U+002E FULL STOP (.) + case 0x002E: + // If the input stream starts with a number, ... + if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { + // ... reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+002F SOLIDUS (/) + case 0x002F: + // If the next two input code point are U+002F SOLIDUS (/) followed by a U+002A ASTERISK (*), + if (getCharCode(offset + 1) === 0x002A) { + // ... consume them and all following code points up to and including the first U+002A ASTERISK (*) + // followed by a U+002F SOLIDUS (/), or up to an EOF code point. + type = types.Comment; + offset = source.indexOf('*/', offset + 2); + offset = offset === -1 ? source.length : offset + 2; + } else { + type = types.Delim; + offset++; + } + break; + + // U+003A COLON (:) + case 0x003A: + // Return a <colon-token>. + type = types.Colon; + offset++; + break; + + // U+003B SEMICOLON (;) + case 0x003B: + // Return a <semicolon-token>. + type = types.Semicolon; + offset++; + break; + + // U+003C LESS-THAN SIGN (<) + case 0x003C: + // If the next 3 input code points are U+0021 EXCLAMATION MARK U+002D HYPHEN-MINUS U+002D HYPHEN-MINUS (!--), ... + if (getCharCode(offset + 1) === 0x0021 && + getCharCode(offset + 2) === 0x002D && + getCharCode(offset + 3) === 0x002D) { + // ... consume them and return a <CDO-token>. + type = types.CDO; + offset = offset + 4; + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+0040 COMMERCIAL AT (@) + case 0x0040: + // If the next 3 input code points would start an identifier, ... + if (charCodeDefinitions.isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) { + // ... consume a name, create an <at-keyword-token> with its value set to the returned value, and return it. + type = types.AtKeyword; + offset = utils.consumeName(source, offset + 1); + } else { + // Otherwise, return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + break; + + // U+005B LEFT SQUARE BRACKET ([) + case 0x005B: + // Return a <[-token>. + type = types.LeftSquareBracket; + offset++; + break; + + // U+005C REVERSE SOLIDUS (\) + case 0x005C: + // If the input stream starts with a valid escape, ... + if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { + // ... reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + } else { + // Otherwise, this is a parse error. Return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + break; + + // U+005D RIGHT SQUARE BRACKET (]) + case 0x005D: + // Return a <]-token>. + type = types.RightSquareBracket; + offset++; + break; + + // U+007B LEFT CURLY BRACKET ({) + case 0x007B: + // Return a <{-token>. + type = types.LeftCurlyBracket; + offset++; + break; + + // U+007D RIGHT CURLY BRACKET (}) + case 0x007D: + // Return a <}-token>. + type = types.RightCurlyBracket; + offset++; + break; + + // digit + case charCodeDefinitions.DigitCategory: + // Reconsume the current input code point, consume a numeric token, and return it. + consumeNumericToken(); + break; + + // name-start code point + case charCodeDefinitions.NameStartCategory: + // Reconsume the current input code point, consume an ident-like token, and return it. + consumeIdentLikeToken(); + break; + + // EOF + // case EofCategory: + // Return an <EOF-token>. + // break; + + // anything else + default: + // Return a <delim-token> with its value set to the current input code point. + type = types.Delim; + offset++; + } + + // put token to stream + onToken(type, start, start = offset); + } +} + +exports.AtKeyword = types.AtKeyword; +exports.BadString = types.BadString; +exports.BadUrl = types.BadUrl; +exports.CDC = types.CDC; +exports.CDO = types.CDO; +exports.Colon = types.Colon; +exports.Comma = types.Comma; +exports.Comment = types.Comment; +exports.Delim = types.Delim; +exports.Dimension = types.Dimension; +exports.EOF = types.EOF; +exports.Function = types.Function; +exports.Hash = types.Hash; +exports.Ident = types.Ident; +exports.LeftCurlyBracket = types.LeftCurlyBracket; +exports.LeftParenthesis = types.LeftParenthesis; +exports.LeftSquareBracket = types.LeftSquareBracket; +exports.Number = types.Number; +exports.Percentage = types.Percentage; +exports.RightCurlyBracket = types.RightCurlyBracket; +exports.RightParenthesis = types.RightParenthesis; +exports.RightSquareBracket = types.RightSquareBracket; +exports.Semicolon = types.Semicolon; +exports.String = types.String; +exports.Url = types.Url; +exports.WhiteSpace = types.WhiteSpace; +exports.tokenTypes = types; +exports.DigitCategory = charCodeDefinitions.DigitCategory; +exports.EofCategory = charCodeDefinitions.EofCategory; +exports.NameStartCategory = charCodeDefinitions.NameStartCategory; +exports.NonPrintableCategory = charCodeDefinitions.NonPrintableCategory; +exports.WhiteSpaceCategory = charCodeDefinitions.WhiteSpaceCategory; +exports.charCodeCategory = charCodeDefinitions.charCodeCategory; +exports.isBOM = charCodeDefinitions.isBOM; +exports.isDigit = charCodeDefinitions.isDigit; +exports.isHexDigit = charCodeDefinitions.isHexDigit; +exports.isIdentifierStart = charCodeDefinitions.isIdentifierStart; +exports.isLetter = charCodeDefinitions.isLetter; +exports.isLowercaseLetter = charCodeDefinitions.isLowercaseLetter; +exports.isName = charCodeDefinitions.isName; +exports.isNameStart = charCodeDefinitions.isNameStart; +exports.isNewline = charCodeDefinitions.isNewline; +exports.isNonAscii = charCodeDefinitions.isNonAscii; +exports.isNonPrintable = charCodeDefinitions.isNonPrintable; +exports.isNumberStart = charCodeDefinitions.isNumberStart; +exports.isUppercaseLetter = charCodeDefinitions.isUppercaseLetter; +exports.isValidEscape = charCodeDefinitions.isValidEscape; +exports.isWhiteSpace = charCodeDefinitions.isWhiteSpace; +exports.cmpChar = utils.cmpChar; +exports.cmpStr = utils.cmpStr; +exports.consumeBadUrlRemnants = utils.consumeBadUrlRemnants; +exports.consumeEscaped = utils.consumeEscaped; +exports.consumeName = utils.consumeName; +exports.consumeNumber = utils.consumeNumber; +exports.decodeEscaped = utils.decodeEscaped; +exports.findDecimalNumberEnd = utils.findDecimalNumberEnd; +exports.findWhiteSpaceEnd = utils.findWhiteSpaceEnd; +exports.findWhiteSpaceStart = utils.findWhiteSpaceStart; +exports.getNewlineLength = utils.getNewlineLength; +exports.tokenNames = names; +exports.OffsetToLocation = OffsetToLocation.OffsetToLocation; +exports.TokenStream = TokenStream.TokenStream; +exports.tokenize = tokenize; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/names.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/names.cjs new file mode 100644 index 00000000..d302aedc --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/names.cjs @@ -0,0 +1,31 @@ +'use strict'; + +const tokenNames = [ + 'EOF-token', + 'ident-token', + 'function-token', + 'at-keyword-token', + 'hash-token', + 'string-token', + 'bad-string-token', + 'url-token', + 'bad-url-token', + 'delim-token', + 'number-token', + 'percentage-token', + 'dimension-token', + 'whitespace-token', + 'CDO-token', + 'CDC-token', + 'colon-token', + 'semicolon-token', + 'comma-token', + '[-token', + ']-token', + '(-token', + ')-token', + '{-token', + '}-token' +]; + +module.exports = tokenNames; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/types.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/types.cjs new file mode 100644 index 00000000..a89b8109 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/types.cjs @@ -0,0 +1,57 @@ +'use strict'; + +// CSS Syntax Module Level 3 +// https://www.w3.org/TR/css-syntax-3/ +const EOF = 0; // <EOF-token> +const Ident = 1; // <ident-token> +const Function = 2; // <function-token> +const AtKeyword = 3; // <at-keyword-token> +const Hash = 4; // <hash-token> +const String = 5; // <string-token> +const BadString = 6; // <bad-string-token> +const Url = 7; // <url-token> +const BadUrl = 8; // <bad-url-token> +const Delim = 9; // <delim-token> +const Number = 10; // <number-token> +const Percentage = 11; // <percentage-token> +const Dimension = 12; // <dimension-token> +const WhiteSpace = 13; // <whitespace-token> +const CDO = 14; // <CDO-token> +const CDC = 15; // <CDC-token> +const Colon = 16; // <colon-token> : +const Semicolon = 17; // <semicolon-token> ; +const Comma = 18; // <comma-token> , +const LeftSquareBracket = 19; // <[-token> +const RightSquareBracket = 20; // <]-token> +const LeftParenthesis = 21; // <(-token> +const RightParenthesis = 22; // <)-token> +const LeftCurlyBracket = 23; // <{-token> +const RightCurlyBracket = 24; // <}-token> +const Comment = 25; + +exports.AtKeyword = AtKeyword; +exports.BadString = BadString; +exports.BadUrl = BadUrl; +exports.CDC = CDC; +exports.CDO = CDO; +exports.Colon = Colon; +exports.Comma = Comma; +exports.Comment = Comment; +exports.Delim = Delim; +exports.Dimension = Dimension; +exports.EOF = EOF; +exports.Function = Function; +exports.Hash = Hash; +exports.Ident = Ident; +exports.LeftCurlyBracket = LeftCurlyBracket; +exports.LeftParenthesis = LeftParenthesis; +exports.LeftSquareBracket = LeftSquareBracket; +exports.Number = Number; +exports.Percentage = Percentage; +exports.RightCurlyBracket = RightCurlyBracket; +exports.RightParenthesis = RightParenthesis; +exports.RightSquareBracket = RightSquareBracket; +exports.Semicolon = Semicolon; +exports.String = String; +exports.Url = Url; +exports.WhiteSpace = WhiteSpace; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/utils.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/utils.cjs new file mode 100644 index 00000000..c3798e38 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/tokenizer/utils.cjs @@ -0,0 +1,261 @@ +'use strict'; + +const charCodeDefinitions = require('./char-code-definitions.cjs'); + +function getCharCode(source, offset) { + return offset < source.length ? source.charCodeAt(offset) : 0; +} + +function getNewlineLength(source, offset, code) { + if (code === 13 /* \r */ && getCharCode(source, offset + 1) === 10 /* \n */) { + return 2; + } + + return 1; +} + +function cmpChar(testStr, offset, referenceCode) { + let code = testStr.charCodeAt(offset); + + // code.toLowerCase() for A..Z + if (charCodeDefinitions.isUppercaseLetter(code)) { + code = code | 32; + } + + return code === referenceCode; +} + +function cmpStr(testStr, start, end, referenceStr) { + if (end - start !== referenceStr.length) { + return false; + } + + if (start < 0 || end > testStr.length) { + return false; + } + + for (let i = start; i < end; i++) { + const referenceCode = referenceStr.charCodeAt(i - start); + let testCode = testStr.charCodeAt(i); + + // testCode.toLowerCase() for A..Z + if (charCodeDefinitions.isUppercaseLetter(testCode)) { + testCode = testCode | 32; + } + + if (testCode !== referenceCode) { + return false; + } + } + + return true; +} + +function findWhiteSpaceStart(source, offset) { + for (; offset >= 0; offset--) { + if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { + break; + } + } + + return offset + 1; +} + +function findWhiteSpaceEnd(source, offset) { + for (; offset < source.length; offset++) { + if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { + break; + } + } + + return offset; +} + +function findDecimalNumberEnd(source, offset) { + for (; offset < source.length; offset++) { + if (!charCodeDefinitions.isDigit(source.charCodeAt(offset))) { + break; + } + } + + return offset; +} + +// § 4.3.7. Consume an escaped code point +function consumeEscaped(source, offset) { + // It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed and + // that the next input code point has already been verified to be part of a valid escape. + offset += 2; + + // hex digit + if (charCodeDefinitions.isHexDigit(getCharCode(source, offset - 1))) { + // Consume as many hex digits as possible, but no more than 5. + // Note that this means 1-6 hex digits have been consumed in total. + for (const maxOffset = Math.min(source.length, offset + 5); offset < maxOffset; offset++) { + if (!charCodeDefinitions.isHexDigit(getCharCode(source, offset))) { + break; + } + } + + // If the next input code point is whitespace, consume it as well. + const code = getCharCode(source, offset); + if (charCodeDefinitions.isWhiteSpace(code)) { + offset += getNewlineLength(source, offset, code); + } + } + + return offset; +} + +// §4.3.11. Consume a name +// Note: This algorithm does not do the verification of the first few code points that are necessary +// to ensure the returned code points would constitute an <ident-token>. If that is the intended use, +// ensure that the stream starts with an identifier before calling this algorithm. +function consumeName(source, offset) { + // Let result initially be an empty string. + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + // name code point + if (charCodeDefinitions.isName(code)) { + // Append the code point to result. + continue; + } + + // the stream starts with a valid escape + if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { + // Consume an escaped code point. Append the returned code point to result. + offset = consumeEscaped(source, offset) - 1; + continue; + } + + // anything else + // Reconsume the current input code point. Return result. + break; + } + + return offset; +} + +// §4.3.12. Consume a number +function consumeNumber(source, offset) { + let code = source.charCodeAt(offset); + + // 2. If the next input code point is U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-), + // consume it and append it to repr. + if (code === 0x002B || code === 0x002D) { + code = source.charCodeAt(offset += 1); + } + + // 3. While the next input code point is a digit, consume it and append it to repr. + if (charCodeDefinitions.isDigit(code)) { + offset = findDecimalNumberEnd(source, offset + 1); + code = source.charCodeAt(offset); + } + + // 4. If the next 2 input code points are U+002E FULL STOP (.) followed by a digit, then: + if (code === 0x002E && charCodeDefinitions.isDigit(source.charCodeAt(offset + 1))) { + // 4.1 Consume them. + // 4.2 Append them to repr. + offset += 2; + + // 4.3 Set type to "number". + // TODO + + // 4.4 While the next input code point is a digit, consume it and append it to repr. + + offset = findDecimalNumberEnd(source, offset); + } + + // 5. If the next 2 or 3 input code points are U+0045 LATIN CAPITAL LETTER E (E) + // or U+0065 LATIN SMALL LETTER E (e), ... , followed by a digit, then: + if (cmpChar(source, offset, 101 /* e */)) { + let sign = 0; + code = source.charCodeAt(offset + 1); + + // ... optionally followed by U+002D HYPHEN-MINUS (-) or U+002B PLUS SIGN (+) ... + if (code === 0x002D || code === 0x002B) { + sign = 1; + code = source.charCodeAt(offset + 2); + } + + // ... followed by a digit + if (charCodeDefinitions.isDigit(code)) { + // 5.1 Consume them. + // 5.2 Append them to repr. + + // 5.3 Set type to "number". + // TODO + + // 5.4 While the next input code point is a digit, consume it and append it to repr. + offset = findDecimalNumberEnd(source, offset + 1 + sign + 1); + } + } + + return offset; +} + +// § 4.3.14. Consume the remnants of a bad url +// ... its sole use is to consume enough of the input stream to reach a recovery point +// where normal tokenizing can resume. +function consumeBadUrlRemnants(source, offset) { + // Repeatedly consume the next input code point from the stream: + for (; offset < source.length; offset++) { + const code = source.charCodeAt(offset); + + // U+0029 RIGHT PARENTHESIS ()) + // EOF + if (code === 0x0029) { + // Return. + offset++; + break; + } + + if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { + // Consume an escaped code point. + // Note: This allows an escaped right parenthesis ("\)") to be encountered + // without ending the <bad-url-token>. This is otherwise identical to + // the "anything else" clause. + offset = consumeEscaped(source, offset); + } + } + + return offset; +} + +// § 4.3.7. Consume an escaped code point +// Note: This algorithm assumes that escaped is valid without leading U+005C REVERSE SOLIDUS (\) +function decodeEscaped(escaped) { + // Single char escaped that's not a hex digit + if (escaped.length === 1 && !charCodeDefinitions.isHexDigit(escaped.charCodeAt(0))) { + return escaped[0]; + } + + // Interpret the hex digits as a hexadecimal number. + let code = parseInt(escaped, 16); + + if ( + (code === 0) || // If this number is zero, + (code >= 0xD800 && code <= 0xDFFF) || // or is for a surrogate, + (code > 0x10FFFF) // or is greater than the maximum allowed code point + ) { + // ... return U+FFFD REPLACEMENT CHARACTER + code = 0xFFFD; + } + + // Otherwise, return the code point with that value. + return String.fromCodePoint(code); +} + +exports.cmpChar = cmpChar; +exports.cmpStr = cmpStr; +exports.consumeBadUrlRemnants = consumeBadUrlRemnants; +exports.consumeEscaped = consumeEscaped; +exports.consumeName = consumeName; +exports.consumeNumber = consumeNumber; +exports.decodeEscaped = decodeEscaped; +exports.findDecimalNumberEnd = findDecimalNumberEnd; +exports.findWhiteSpaceEnd = findWhiteSpaceEnd; +exports.findWhiteSpaceStart = findWhiteSpaceStart; +exports.getNewlineLength = getNewlineLength; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/List.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/List.cjs new file mode 100644 index 00000000..ec25f461 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/List.cjs @@ -0,0 +1,473 @@ +'use strict'; + +// +// list +// ┌──────┐ +// ┌──────────────┼─head │ +// │ │ tail─┼──────────────┐ +// │ └──────┘ │ +// ▼ ▼ +// item item item item +// ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ +// null ◀──┼─prev │◀───┼─prev │◀───┼─prev │◀───┼─prev │ +// │ next─┼───▶│ next─┼───▶│ next─┼───▶│ next─┼──▶ null +// ├──────┤ ├──────┤ ├──────┤ ├──────┤ +// │ data │ │ data │ │ data │ │ data │ +// └──────┘ └──────┘ └──────┘ └──────┘ +// + +let releasedCursors = null; + +class List { + static createItem(data) { + return { + prev: null, + next: null, + data + }; + } + + constructor() { + this.head = null; + this.tail = null; + this.cursor = null; + } + createItem(data) { + return List.createItem(data); + } + + // cursor helpers + allocateCursor(prev, next) { + let cursor; + + if (releasedCursors !== null) { + cursor = releasedCursors; + releasedCursors = releasedCursors.cursor; + cursor.prev = prev; + cursor.next = next; + cursor.cursor = this.cursor; + } else { + cursor = { + prev, + next, + cursor: this.cursor + }; + } + + this.cursor = cursor; + + return cursor; + } + releaseCursor() { + const { cursor } = this; + + this.cursor = cursor.cursor; + cursor.prev = null; + cursor.next = null; + cursor.cursor = releasedCursors; + releasedCursors = cursor; + } + updateCursors(prevOld, prevNew, nextOld, nextNew) { + let { cursor } = this; + + while (cursor !== null) { + if (cursor.prev === prevOld) { + cursor.prev = prevNew; + } + + if (cursor.next === nextOld) { + cursor.next = nextNew; + } + + cursor = cursor.cursor; + } + } + *[Symbol.iterator]() { + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + yield cursor.data; + } + } + + // getters + get size() { + let size = 0; + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + size++; + } + + return size; + } + get isEmpty() { + return this.head === null; + } + get first() { + return this.head && this.head.data; + } + get last() { + return this.tail && this.tail.data; + } + + // convertors + fromArray(array) { + let cursor = null; + this.head = null; + + for (let data of array) { + const item = List.createItem(data); + + if (cursor !== null) { + cursor.next = item; + } else { + this.head = item; + } + + item.prev = cursor; + cursor = item; + } + + this.tail = cursor; + return this; + } + toArray() { + return [...this]; + } + toJSON() { + return [...this]; + } + + // array-like methods + forEach(fn, thisArg = this) { + // push cursor + const cursor = this.allocateCursor(null, this.head); + + while (cursor.next !== null) { + const item = cursor.next; + cursor.next = item.next; + fn.call(thisArg, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + } + forEachRight(fn, thisArg = this) { + // push cursor + const cursor = this.allocateCursor(this.tail, null); + + while (cursor.prev !== null) { + const item = cursor.prev; + cursor.prev = item.prev; + fn.call(thisArg, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + } + reduce(fn, initialValue, thisArg = this) { + // push cursor + let cursor = this.allocateCursor(null, this.head); + let acc = initialValue; + let item; + + while (cursor.next !== null) { + item = cursor.next; + cursor.next = item.next; + + acc = fn.call(thisArg, acc, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + + return acc; + } + reduceRight(fn, initialValue, thisArg = this) { + // push cursor + let cursor = this.allocateCursor(this.tail, null); + let acc = initialValue; + let item; + + while (cursor.prev !== null) { + item = cursor.prev; + cursor.prev = item.prev; + + acc = fn.call(thisArg, acc, item.data, item, this); + } + + // pop cursor + this.releaseCursor(); + + return acc; + } + some(fn, thisArg = this) { + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + if (fn.call(thisArg, cursor.data, cursor, this)) { + return true; + } + } + + return false; + } + map(fn, thisArg = this) { + const result = new List(); + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + result.appendData(fn.call(thisArg, cursor.data, cursor, this)); + } + + return result; + } + filter(fn, thisArg = this) { + const result = new List(); + + for (let cursor = this.head; cursor !== null; cursor = cursor.next) { + if (fn.call(thisArg, cursor.data, cursor, this)) { + result.appendData(cursor.data); + } + } + + return result; + } + + nextUntil(start, fn, thisArg = this) { + if (start === null) { + return; + } + + // push cursor + const cursor = this.allocateCursor(null, start); + + while (cursor.next !== null) { + const item = cursor.next; + cursor.next = item.next; + if (fn.call(thisArg, item.data, item, this)) { + break; + } + } + + // pop cursor + this.releaseCursor(); + } + prevUntil(start, fn, thisArg = this) { + if (start === null) { + return; + } + + // push cursor + const cursor = this.allocateCursor(start, null); + + while (cursor.prev !== null) { + const item = cursor.prev; + cursor.prev = item.prev; + if (fn.call(thisArg, item.data, item, this)) { + break; + } + } + + // pop cursor + this.releaseCursor(); + } + + // mutation + clear() { + this.head = null; + this.tail = null; + } + copy() { + const result = new List(); + + for (let data of this) { + result.appendData(data); + } + + return result; + } + prepend(item) { + // head + // ^ + // item + this.updateCursors(null, item, this.head, item); + + // insert to the beginning of the list + if (this.head !== null) { + // new item <- first item + this.head.prev = item; + // new item -> first item + item.next = this.head; + } else { + // if list has no head, then it also has no tail + // in this case tail points to the new item + this.tail = item; + } + + // head always points to new item + this.head = item; + return this; + } + prependData(data) { + return this.prepend(List.createItem(data)); + } + append(item) { + return this.insert(item); + } + appendData(data) { + return this.insert(List.createItem(data)); + } + insert(item, before = null) { + if (before !== null) { + // prev before + // ^ + // item + this.updateCursors(before.prev, item, before, item); + + if (before.prev === null) { + // insert to the beginning of list + if (this.head !== before) { + throw new Error('before doesn\'t belong to list'); + } + // since head points to before therefore list doesn't empty + // no need to check tail + this.head = item; + before.prev = item; + item.next = before; + this.updateCursors(null, item); + } else { + // insert between two items + before.prev.next = item; + item.prev = before.prev; + before.prev = item; + item.next = before; + } + } else { + // tail + // ^ + // item + this.updateCursors(this.tail, item, null, item); + + // insert to the ending of the list + if (this.tail !== null) { + // last item -> new item + this.tail.next = item; + // last item <- new item + item.prev = this.tail; + } else { + // if list has no tail, then it also has no head + // in this case head points to new item + this.head = item; + } + + // tail always points to new item + this.tail = item; + } + + return this; + } + insertData(data, before) { + return this.insert(List.createItem(data), before); + } + remove(item) { + // item + // ^ + // prev next + this.updateCursors(item, item.prev, item, item.next); + + if (item.prev !== null) { + item.prev.next = item.next; + } else { + if (this.head !== item) { + throw new Error('item doesn\'t belong to list'); + } + + this.head = item.next; + } + + if (item.next !== null) { + item.next.prev = item.prev; + } else { + if (this.tail !== item) { + throw new Error('item doesn\'t belong to list'); + } + + this.tail = item.prev; + } + + item.prev = null; + item.next = null; + + return item; + } + push(data) { + this.insert(List.createItem(data)); + } + pop() { + return this.tail !== null ? this.remove(this.tail) : null; + } + unshift(data) { + this.prepend(List.createItem(data)); + } + shift() { + return this.head !== null ? this.remove(this.head) : null; + } + prependList(list) { + return this.insertList(list, this.head); + } + appendList(list) { + return this.insertList(list); + } + insertList(list, before) { + // ignore empty lists + if (list.head === null) { + return this; + } + + if (before !== undefined && before !== null) { + this.updateCursors(before.prev, list.tail, before, list.head); + + // insert in the middle of dist list + if (before.prev !== null) { + // before.prev <-> list.head + before.prev.next = list.head; + list.head.prev = before.prev; + } else { + this.head = list.head; + } + + before.prev = list.tail; + list.tail.next = before; + } else { + this.updateCursors(this.tail, list.tail, null, list.head); + + // insert to end of the list + if (this.tail !== null) { + // if destination list has a tail, then it also has a head, + // but head doesn't change + // dest tail -> source head + this.tail.next = list.head; + // dest tail <- source head + list.head.prev = this.tail; + } else { + // if list has no a tail, then it also has no a head + // in this case points head to new item + this.head = list.head; + } + + // tail always start point to new item + this.tail = list.tail; + } + + list.head = null; + list.tail = null; + return this; + } + replace(oldItem, newItemOrList) { + if ('head' in newItemOrList) { + this.insertList(newItemOrList, oldItem); + } else { + this.insert(newItemOrList, oldItem); + } + + this.remove(oldItem); + } +} + +exports.List = List; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/clone.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/clone.cjs new file mode 100644 index 00000000..f84c30f0 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/clone.cjs @@ -0,0 +1,25 @@ +'use strict'; + +const List = require('./List.cjs'); + +function clone(node) { + const result = {}; + + for (const key in node) { + let value = node[key]; + + if (value) { + if (Array.isArray(value) || value instanceof List.List) { + value = value.map(clone); + } else if (value.constructor === Object) { + value = clone(value); + } + } + + result[key] = value; + } + + return result; +} + +exports.clone = clone; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/create-custom-error.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/create-custom-error.cjs new file mode 100644 index 00000000..d1d3e535 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/create-custom-error.cjs @@ -0,0 +1,18 @@ +'use strict'; + +function createCustomError(name, message) { + // use Object.create(), because some VMs prevent setting line/column otherwise + // (iOS Safari 10 even throws an exception) + const error = Object.create(SyntaxError.prototype); + const errorStack = new Error(); + + return Object.assign(error, { + name, + message, + get stack() { + return (errorStack.stack || '').replace(/^(.+\n){1,3}/, `${name}: ${message}\n`); + } + }); +} + +exports.createCustomError = createCustomError; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/ident.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/ident.cjs new file mode 100644 index 00000000..cd70911d --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/ident.cjs @@ -0,0 +1,102 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) + +function decode(str) { + const end = str.length - 1; + let decoded = ''; + + for (let i = 0; i < str.length; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +// https://drafts.csswg.org/cssom/#serialize-an-identifier +// § 2.1. Common Serializing Idioms +function encode(str) { + let encoded = ''; + + // If the character is the first character and is a "-" (U+002D), + // and there is no second character, then the escaped character. + // Note: That's means a single dash string "-" return as escaped dash, + // so move the condition out of the main loop + if (str.length === 1 && str.charCodeAt(0) === 0x002D) { + return '\\-'; + } + + // To serialize an identifier means to create a string represented + // by the concatenation of, for each character of the identifier: + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + if ( + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F ... + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + code <= 0x001F || code === 0x007F || + // [or] ... is in the range [0-9] (U+0030 to U+0039), + (code >= 0x0030 && code <= 0x0039 && ( + // If the character is the first character ... + i === 0 || + // If the character is the second character ... and the first character is a "-" (U+002D) + i === 1 && str.charCodeAt(0) === 0x002D + )) + ) { + // ... then the character escaped as code point. + encoded += '\\' + code.toString(16) + ' '; + continue; + } + + // If the character is not handled by one of the above rules and is greater + // than or equal to U+0080, is "-" (U+002D) or "_" (U+005F), or is in one + // of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to U+005A), + // or \[a-z] (U+0061 to U+007A), then the character itself. + if (charCodeDefinitions.isName(code)) { + encoded += str.charAt(i); + } else { + // Otherwise, the escaped character. + encoded += '\\' + str.charAt(i); + } + } + + return encoded; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/names.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/names.cjs new file mode 100644 index 00000000..92c73c71 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/names.cjs @@ -0,0 +1,113 @@ +'use strict'; + +const keywords = new Map(); +const properties = new Map(); +const HYPHENMINUS = 45; // '-'.charCodeAt() + +const keyword = getKeywordDescriptor; +const property = getPropertyDescriptor; +const vendorPrefix = getVendorPrefix; +function isCustomProperty(str, offset) { + offset = offset || 0; + + return str.length - offset >= 2 && + str.charCodeAt(offset) === HYPHENMINUS && + str.charCodeAt(offset + 1) === HYPHENMINUS; +} + +function getVendorPrefix(str, offset) { + offset = offset || 0; + + // verdor prefix should be at least 3 chars length + if (str.length - offset >= 3) { + // vendor prefix starts with hyper minus following non-hyper minus + if (str.charCodeAt(offset) === HYPHENMINUS && + str.charCodeAt(offset + 1) !== HYPHENMINUS) { + // vendor prefix should contain a hyper minus at the ending + const secondDashIndex = str.indexOf('-', offset + 2); + + if (secondDashIndex !== -1) { + return str.substring(offset, secondDashIndex + 1); + } + } + } + + return ''; +} + +function getKeywordDescriptor(keyword) { + if (keywords.has(keyword)) { + return keywords.get(keyword); + } + + const name = keyword.toLowerCase(); + let descriptor = keywords.get(name); + + if (descriptor === undefined) { + const custom = isCustomProperty(name, 0); + const vendor = !custom ? getVendorPrefix(name, 0) : ''; + descriptor = Object.freeze({ + basename: name.substr(vendor.length), + name, + prefix: vendor, + vendor, + custom + }); + } + + keywords.set(keyword, descriptor); + + return descriptor; +} + +function getPropertyDescriptor(property) { + if (properties.has(property)) { + return properties.get(property); + } + + let name = property; + let hack = property[0]; + + if (hack === '/') { + hack = property[1] === '/' ? '//' : '/'; + } else if (hack !== '_' && + hack !== '*' && + hack !== '$' && + hack !== '#' && + hack !== '+' && + hack !== '&') { + hack = ''; + } + + const custom = isCustomProperty(name, hack.length); + + // re-use result when possible (the same as for lower case) + if (!custom) { + name = name.toLowerCase(); + if (properties.has(name)) { + const descriptor = properties.get(name); + properties.set(property, descriptor); + return descriptor; + } + } + + const vendor = !custom ? getVendorPrefix(name, hack.length) : ''; + const prefix = name.substr(0, hack.length + vendor.length); + const descriptor = Object.freeze({ + basename: name.substr(prefix.length), + name: name.substr(hack.length), + hack, + vendor, + prefix, + custom + }); + + properties.set(property, descriptor); + + return descriptor; +} + +exports.isCustomProperty = isCustomProperty; +exports.keyword = keyword; +exports.property = property; +exports.vendorPrefix = vendorPrefix; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/string.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/string.cjs new file mode 100644 index 00000000..d9c5d01e --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/string.cjs @@ -0,0 +1,99 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) +const QUOTATION_MARK = 0x0022; // " +const APOSTROPHE = 0x0027; // ' + +function decode(str) { + const len = str.length; + const firstChar = str.charCodeAt(0); + const start = firstChar === QUOTATION_MARK || firstChar === APOSTROPHE ? 1 : 0; + const end = start === 1 && len > 1 && str.charCodeAt(len - 1) === firstChar ? len - 2 : len - 1; + let decoded = ''; + + for (let i = start; i <= end; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + // otherwise include last quote as escaped + if (i !== len - 1) { + decoded = str.substr(i + 1); + } + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +// https://drafts.csswg.org/cssom/#serialize-a-string +// § 2.1. Common Serializing Idioms +function encode(str, apostrophe) { + const quote = apostrophe ? '\'' : '"'; + const quoteCode = apostrophe ? APOSTROPHE : QUOTATION_MARK; + let encoded = ''; + let wsBeforeHexIsNeeded = false; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F, + // the character escaped as code point. + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + if (code <= 0x001f || code === 0x007F) { + encoded += '\\' + code.toString(16); + wsBeforeHexIsNeeded = true; + continue; + } + + // If the character is '"' (U+0022) or "\" (U+005C), the escaped character. + if (code === quoteCode || code === REVERSE_SOLIDUS) { + encoded += '\\' + str.charAt(i); + wsBeforeHexIsNeeded = false; + } else { + if (wsBeforeHexIsNeeded && (charCodeDefinitions.isHexDigit(code) || charCodeDefinitions.isWhiteSpace(code))) { + encoded += ' '; + } + + // Otherwise, the character itself. + encoded += str.charAt(i); + wsBeforeHexIsNeeded = false; + } + } + + return quote + encoded + quote; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/url.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/url.cjs new file mode 100644 index 00000000..e0e5c227 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/utils/url.cjs @@ -0,0 +1,108 @@ +'use strict'; + +const charCodeDefinitions = require('../tokenizer/char-code-definitions.cjs'); +const utils = require('../tokenizer/utils.cjs'); + +const SPACE = 0x0020; // U+0020 SPACE +const REVERSE_SOLIDUS = 0x005c; // U+005C REVERSE SOLIDUS (\) +const QUOTATION_MARK = 0x0022; // " +const APOSTROPHE = 0x0027; // ' +const LEFTPARENTHESIS = 0x0028; // U+0028 LEFT PARENTHESIS (() +const RIGHTPARENTHESIS = 0x0029; // U+0029 RIGHT PARENTHESIS ()) + +function decode(str) { + const len = str.length; + let start = 4; // length of "url(" + let end = str.charCodeAt(len - 1) === RIGHTPARENTHESIS ? len - 2 : len - 1; + let decoded = ''; + + while (start < end && charCodeDefinitions.isWhiteSpace(str.charCodeAt(start))) { + start++; + } + + while (start < end && charCodeDefinitions.isWhiteSpace(str.charCodeAt(end))) { + end--; + } + + for (let i = start; i <= end; i++) { + let code = str.charCodeAt(i); + + if (code === REVERSE_SOLIDUS) { + // special case at the ending + if (i === end) { + // if the next input code point is EOF, do nothing + // otherwise include last left parenthesis as escaped + if (i !== len - 1) { + decoded = str.substr(i + 1); + } + break; + } + + code = str.charCodeAt(++i); + + // consume escaped + if (charCodeDefinitions.isValidEscape(REVERSE_SOLIDUS, code)) { + const escapeStart = i - 1; + const escapeEnd = utils.consumeEscaped(str, escapeStart); + + i = escapeEnd - 1; + decoded += utils.decodeEscaped(str.substring(escapeStart + 1, escapeEnd)); + } else { + // \r\n + if (code === 0x000d && str.charCodeAt(i + 1) === 0x000a) { + i++; + } + } + } else { + decoded += str[i]; + } + } + + return decoded; +} + +function encode(str) { + let encoded = ''; + let wsBeforeHexIsNeeded = false; + + for (let i = 0; i < str.length; i++) { + const code = str.charCodeAt(i); + + // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER (U+FFFD). + if (code === 0x0000) { + encoded += '\uFFFD'; + continue; + } + + // If the character is in the range [\1-\1f] (U+0001 to U+001F) or is U+007F, + // the character escaped as code point. + // Note: Do not compare with 0x0001 since 0x0000 is precessed before + if (code <= 0x001f || code === 0x007F) { + encoded += '\\' + code.toString(16); + wsBeforeHexIsNeeded = true; + continue; + } + + if (code === SPACE || + code === REVERSE_SOLIDUS || + code === QUOTATION_MARK || + code === APOSTROPHE || + code === LEFTPARENTHESIS || + code === RIGHTPARENTHESIS) { + encoded += '\\' + str.charAt(i); + wsBeforeHexIsNeeded = false; + } else { + if (wsBeforeHexIsNeeded && charCodeDefinitions.isHexDigit(code)) { + encoded += ' '; + } + + encoded += str.charAt(i); + wsBeforeHexIsNeeded = false; + } + } + + return 'url(' + encoded + ')'; +} + +exports.decode = decode; +exports.encode = encode; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/version.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/version.cjs new file mode 100644 index 00000000..eaa2fef2 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/version.cjs @@ -0,0 +1,5 @@ +'use strict'; + +const { version } = require('../package.json'); + +exports.version = version; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/walker/create.cjs b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/walker/create.cjs new file mode 100644 index 00000000..3938a9f1 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/cjs/walker/create.cjs @@ -0,0 +1,291 @@ +'use strict'; + +const { hasOwnProperty } = Object.prototype; +const noop = function() {}; + +function ensureFunction(value) { + return typeof value === 'function' ? value : noop; +} + +function invokeForType(fn, type) { + return function(node, item, list) { + if (node.type === type) { + fn.call(this, node, item, list); + } + }; +} + +function getWalkersFromStructure(name, nodeType) { + const structure = nodeType.structure; + const walkers = []; + + for (const key in structure) { + if (hasOwnProperty.call(structure, key) === false) { + continue; + } + + let fieldTypes = structure[key]; + const walker = { + name: key, + type: false, + nullable: false + }; + + if (!Array.isArray(fieldTypes)) { + fieldTypes = [fieldTypes]; + } + + for (const fieldType of fieldTypes) { + if (fieldType === null) { + walker.nullable = true; + } else if (typeof fieldType === 'string') { + walker.type = 'node'; + } else if (Array.isArray(fieldType)) { + walker.type = 'list'; + } + } + + if (walker.type) { + walkers.push(walker); + } + } + + if (walkers.length) { + return { + context: nodeType.walkContext, + fields: walkers + }; + } + + return null; +} + +function getTypesFromConfig(config) { + const types = {}; + + for (const name in config.node) { + if (hasOwnProperty.call(config.node, name)) { + const nodeType = config.node[name]; + + if (!nodeType.structure) { + throw new Error('Missed `structure` field in `' + name + '` node type definition'); + } + + types[name] = getWalkersFromStructure(name, nodeType); + } + } + + return types; +} + +function createTypeIterator(config, reverse) { + const fields = config.fields.slice(); + const contextName = config.context; + const useContext = typeof contextName === 'string'; + + if (reverse) { + fields.reverse(); + } + + return function(node, context, walk, walkReducer) { + let prevContextValue; + + if (useContext) { + prevContextValue = context[contextName]; + context[contextName] = node; + } + + for (const field of fields) { + const ref = node[field.name]; + + if (!field.nullable || ref) { + if (field.type === 'list') { + const breakWalk = reverse + ? ref.reduceRight(walkReducer, false) + : ref.reduce(walkReducer, false); + + if (breakWalk) { + return true; + } + } else if (walk(ref)) { + return true; + } + } + } + + if (useContext) { + context[contextName] = prevContextValue; + } + }; +} + +function createFastTraveralMap({ + StyleSheet, + Atrule, + Rule, + Block, + DeclarationList +}) { + return { + Atrule: { + StyleSheet, + Atrule, + Rule, + Block + }, + Rule: { + StyleSheet, + Atrule, + Rule, + Block + }, + Declaration: { + StyleSheet, + Atrule, + Rule, + Block, + DeclarationList + } + }; +} + +function createWalker(config) { + const types = getTypesFromConfig(config); + const iteratorsNatural = {}; + const iteratorsReverse = {}; + const breakWalk = Symbol('break-walk'); + const skipNode = Symbol('skip-node'); + + for (const name in types) { + if (hasOwnProperty.call(types, name) && types[name] !== null) { + iteratorsNatural[name] = createTypeIterator(types[name], false); + iteratorsReverse[name] = createTypeIterator(types[name], true); + } + } + + const fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural); + const fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse); + + const walk = function(root, options) { + function walkNode(node, item, list) { + const enterRet = enter.call(context, node, item, list); + + if (enterRet === breakWalk) { + return true; + } + + if (enterRet === skipNode) { + return false; + } + + if (iterators.hasOwnProperty(node.type)) { + if (iterators[node.type](node, context, walkNode, walkReducer)) { + return true; + } + } + + if (leave.call(context, node, item, list) === breakWalk) { + return true; + } + + return false; + } + + let enter = noop; + let leave = noop; + let iterators = iteratorsNatural; + let walkReducer = (ret, data, item, list) => ret || walkNode(data, item, list); + const context = { + break: breakWalk, + skip: skipNode, + + root, + stylesheet: null, + atrule: null, + atrulePrelude: null, + rule: null, + selector: null, + block: null, + declaration: null, + function: null + }; + + if (typeof options === 'function') { + enter = options; + } else if (options) { + enter = ensureFunction(options.enter); + leave = ensureFunction(options.leave); + + if (options.reverse) { + iterators = iteratorsReverse; + } + + if (options.visit) { + if (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) { + iterators = options.reverse + ? fastTraversalIteratorsReverse[options.visit] + : fastTraversalIteratorsNatural[options.visit]; + } else if (!types.hasOwnProperty(options.visit)) { + throw new Error('Bad value `' + options.visit + '` for `visit` option (should be: ' + Object.keys(types).sort().join(', ') + ')'); + } + + enter = invokeForType(enter, options.visit); + leave = invokeForType(leave, options.visit); + } + } + + if (enter === noop && leave === noop) { + throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function'); + } + + walkNode(root); + }; + + walk.break = breakWalk; + walk.skip = skipNode; + + walk.find = function(ast, fn) { + let found = null; + + walk(ast, function(node, item, list) { + if (fn.call(this, node, item, list)) { + found = node; + return breakWalk; + } + }); + + return found; + }; + + walk.findLast = function(ast, fn) { + let found = null; + + walk(ast, { + reverse: true, + enter(node, item, list) { + if (fn.call(this, node, item, list)) { + found = node; + return breakWalk; + } + } + }); + + return found; + }; + + walk.findAll = function(ast, fn) { + const found = []; + + walk(ast, function(node, item, list) { + if (fn.call(this, node, item, list)) { + found.push(node); + } + }); + + return found; + }; + + return walk; +} + +exports.createWalker = createWalker; diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/data/patch.json b/.output/server/node_modules/.nitro/css-tree@2.3.1/data/patch.json new file mode 100644 index 00000000..e57f7f73 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/data/patch.json @@ -0,0 +1,725 @@ +{ + "atrules": { + "charset": { + "prelude": "<string>" + }, + "font-face": { + "descriptors": { + "unicode-range": { + "comment": "replaces <unicode-range>, an old production name", + "syntax": "<urange>#" + } + } + }, + "nest": { + "prelude": "<complex-selector-list>" + } + }, + "properties": { + "-moz-background-clip": { + "comment": "deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip", + "syntax": "padding | border" + }, + "-moz-border-radius-bottomleft": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius", + "syntax": "<'border-bottom-left-radius'>" + }, + "-moz-border-radius-bottomright": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", + "syntax": "<'border-bottom-right-radius'>" + }, + "-moz-border-radius-topleft": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius", + "syntax": "<'border-top-left-radius'>" + }, + "-moz-border-radius-topright": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", + "syntax": "<'border-bottom-right-radius'>" + }, + "-moz-control-character-visibility": { + "comment": "firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588", + "syntax": "visible | hidden" + }, + "-moz-osx-font-smoothing": { + "comment": "misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", + "syntax": "auto | grayscale" + }, + "-moz-user-select": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", + "syntax": "none | text | all | -moz-none" + }, + "-ms-flex-align": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", + "syntax": "start | end | center | baseline | stretch" + }, + "-ms-flex-item-align": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", + "syntax": "auto | start | end | center | baseline | stretch" + }, + "-ms-flex-line-pack": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack", + "syntax": "start | end | center | justify | distribute | stretch" + }, + "-ms-flex-negative": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-shrink'>" + }, + "-ms-flex-pack": { + "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack", + "syntax": "start | end | center | justify | distribute" + }, + "-ms-flex-order": { + "comment": "misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx", + "syntax": "<integer>" + }, + "-ms-flex-positive": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-grow'>" + }, + "-ms-flex-preferred-size": { + "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation", + "syntax": "<'flex-basis'>" + }, + "-ms-interpolation-mode": { + "comment": "https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx", + "syntax": "nearest-neighbor | bicubic" + }, + "-ms-grid-column-align": { + "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx", + "syntax": "start | end | center | stretch" + }, + "-ms-grid-row-align": { + "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx", + "syntax": "start | end | center | stretch" + }, + "-ms-hyphenate-limit-last": { + "comment": "misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits", + "syntax": "none | always | column | page | spread" + }, + "-webkit-appearance": { + "comment": "webkit specific keywords", + "references": [ + "http://css-infos.net/property/-webkit-appearance" + ], + "syntax": "none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button" + }, + "-webkit-background-clip": { + "comment": "https://developer.mozilla.org/en/docs/Web/CSS/background-clip", + "syntax": "[ <box> | border | padding | content | text ]#" + }, + "-webkit-column-break-after": { + "comment": "added, http://help.dottoro.com/lcrthhhv.php", + "syntax": "always | auto | avoid" + }, + "-webkit-column-break-before": { + "comment": "added, http://help.dottoro.com/lcxquvkf.php", + "syntax": "always | auto | avoid" + }, + "-webkit-column-break-inside": { + "comment": "added, http://help.dottoro.com/lclhnthl.php", + "syntax": "always | auto | avoid" + }, + "-webkit-font-smoothing": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", + "syntax": "auto | none | antialiased | subpixel-antialiased" + }, + "-webkit-mask-box-image": { + "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image", + "syntax": "[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?" + }, + "-webkit-print-color-adjust": { + "comment": "missed", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust" + ], + "syntax": "economy | exact" + }, + "-webkit-text-security": { + "comment": "missed; http://help.dottoro.com/lcbkewgt.php", + "syntax": "none | circle | disc | square" + }, + "-webkit-user-drag": { + "comment": "missed; http://help.dottoro.com/lcbixvwm.php", + "syntax": "none | element | auto" + }, + "-webkit-user-select": { + "comment": "auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", + "syntax": "auto | none | text | all" + }, + "alignment-baseline": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty" + ], + "syntax": "auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical" + }, + "background-clip": { + "comment": "used <bg-clip> from CSS Backgrounds and Borders 4 since it adds new values", + "references": [ + "https://github.com/csstree/csstree/issues/190" + ], + "syntax": "<bg-clip>#" + }, + "baseline-shift": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty" + ], + "syntax": "baseline | sub | super | <svg-length>" + }, + "behavior": { + "comment": "added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx", + "syntax": "<url>+" + }, + "clip-rule": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty" + ], + "syntax": "nonzero | evenodd" + }, + "cue": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'cue-before'> <'cue-after'>?" + }, + "cue-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<url> <decibel>? | none" + }, + "cue-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<url> <decibel>? | none" + }, + "cursor": { + "comment": "added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out", + "references": [ + "https://www.sitepoint.com/css3-cursor-styles/" + ], + "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]" + }, + "display": { + "comment": "extended with -ms-flexbox", + "syntax": "| <-non-standard-display>" + }, + "position": { + "comment": "extended with -webkit-sticky", + "syntax": "| -webkit-sticky" + }, + "dominant-baseline": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty" + ], + "syntax": "auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge" + }, + "image-rendering": { + "comment": "extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/image-rendering", + "https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty" + ], + "syntax": "| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>" + }, + "fill": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "<paint>" + }, + "fill-opacity": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "<number-zero-one>" + }, + "fill-rule": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#FillProperty" + ], + "syntax": "nonzero | evenodd" + }, + "filter": { + "comment": "extend with IE legacy syntaxes", + "syntax": "| <-ms-filter-function-list>" + }, + "glyph-orientation-horizontal": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty" + ], + "syntax": "<angle>" + }, + "glyph-orientation-vertical": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty" + ], + "syntax": "<angle>" + }, + "kerning": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#KerningProperty" + ], + "syntax": "auto | <svg-length>" + }, + "letter-spacing": { + "comment": "fix syntax <length> -> <length-percentage>", + "references": [ + "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing" + ], + "syntax": "normal | <length-percentage>" + }, + "marker": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-end": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-mid": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "marker-start": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" + ], + "syntax": "none | <url>" + }, + "max-width": { + "comment": "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width", + "syntax": "| <-non-standard-width>" + }, + "width": { + "references": [ + "https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "https://github.com/csstree/stylelint-validator/issues/29" + ], + "syntax": "| fill | stretch | intrinsic | -moz-max-content | -webkit-max-content | -moz-fit-content | -webkit-fit-content" + }, + "min-width": { + "comment": "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "syntax": "| <-non-standard-width>" + }, + "overflow": { + "comment": "extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow", + "syntax": "| <-non-standard-overflow>" + }, + "pause": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'pause-before'> <'pause-after'>?" + }, + "pause-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "pause-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "rest": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<'rest-before'> <'rest-after'>?" + }, + "rest-after": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "rest-before": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong" + }, + "shape-rendering": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert" + ], + "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision" + }, + "src": { + "comment": "added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src", + "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#" + }, + "speak": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "auto | none | normal" + }, + "speak-as": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]" + }, + "stroke": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<paint>" + }, + "stroke-dasharray": { + "comment": "added SVG property; a list of comma and/or white space separated <length>s and <percentage>s", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "none | [ <svg-length>+ ]#" + }, + "stroke-dashoffset": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<svg-length>" + }, + "stroke-linecap": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "butt | round | square" + }, + "stroke-linejoin": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "miter | round | bevel" + }, + "stroke-miterlimit": { + "comment": "added SVG property (<miterlimit> = <number-one-or-greater>) ", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<number-one-or-greater>" + }, + "stroke-opacity": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<number-zero-one>" + }, + "stroke-width": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/painting.html#StrokeProperties" + ], + "syntax": "<svg-length>" + }, + "text-anchor": { + "comment": "added SVG property", + "references": [ + "https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties" + ], + "syntax": "start | middle | end" + }, + "unicode-bidi": { + "comment": "added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi", + "syntax": "| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext" + }, + "unicode-range": { + "comment": "added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range", + "syntax": "<urange>#" + }, + "voice-balance": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<number> | left | center | right | leftwards | rightwards" + }, + "voice-duration": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "auto | <time>" + }, + "voice-family": { + "comment": "<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve" + }, + "voice-pitch": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]" + }, + "voice-range": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]" + }, + "voice-rate": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>" + }, + "voice-stress": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "normal | strong | moderate | none | reduced" + }, + "voice-volume": { + "comment": "https://www.w3.org/TR/css3-speech/#property-index", + "syntax": "silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]" + }, + "writing-mode": { + "comment": "extend with SVG keywords", + "syntax": "| <svg-writing-mode>" + } + }, + "types": { + "-legacy-gradient": { + "comment": "added collection of legacy gradient syntaxes", + "syntax": "<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>" + }, + "-legacy-linear-gradient": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )" + }, + "-legacy-repeating-linear-gradient": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )" + }, + "-legacy-linear-gradient-arguments": { + "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient", + "syntax": "[ <angle> | <side-or-corner> ]? , <color-stop-list>" + }, + "-legacy-radial-gradient": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )" + }, + "-legacy-repeating-radial-gradient": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )" + }, + "-legacy-radial-gradient-arguments": { + "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients", + "syntax": "[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>" + }, + "-legacy-radial-gradient-size": { + "comment": "before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize", + "syntax": "closest-side | closest-corner | farthest-side | farthest-corner | contain | cover" + }, + "-legacy-radial-gradient-shape": { + "comment": "define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape", + "syntax": "circle | ellipse" + }, + "-non-standard-font": { + "comment": "non standard fonts", + "references": [ + "https://webkit.org/blog/3709/using-the-system-font-in-web-content/" + ], + "syntax": "-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body" + }, + "-non-standard-color": { + "comment": "non standard colors", + "references": [ + "http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html", + "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions" + ], + "syntax": "-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text" + }, + "-non-standard-image-rendering": { + "comment": "non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html", + "syntax": "optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast" + }, + "-non-standard-overflow": { + "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow", + "syntax": "-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable" + }, + "-non-standard-width": { + "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width", + "syntax": "fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content" + }, + "-webkit-gradient()": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )", + "syntax": "-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )" + }, + "-webkit-gradient-color-stop": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )" + }, + "-webkit-gradient-point": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]" + }, + "-webkit-gradient-radius": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "<length> | <percentage>" + }, + "-webkit-gradient-type": { + "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/", + "syntax": "linear | radial" + }, + "-webkit-mask-box-repeat": { + "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image", + "syntax": "repeat | stretch | round" + }, + "-webkit-mask-clip-style": { + "comment": "missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working", + "syntax": "border | border-box | padding | padding-box | content | content-box | text" + }, + "-ms-filter-function-list": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<-ms-filter-function>+" + }, + "-ms-filter-function": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<-ms-filter-function-progid> | <-ms-filter-function-legacy>" + }, + "-ms-filter-function-progid": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]" + }, + "-ms-filter-function-legacy": { + "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter", + "syntax": "<ident-token> | <function-token> <any-value>? )" + }, + "-ms-filter": { + "syntax": "<string>" + }, + "age": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "child | young | old" + }, + "attr-name": { + "syntax": "<wq-name>" + }, + "attr-fallback": { + "syntax": "<any-value>" + }, + "bg-clip": { + "comment": "missed, https://drafts.csswg.org/css-backgrounds-4/#typedef-bg-clip", + "syntax": "<box> | border | text" + }, + "bottom": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "content-list": { + "comment": "added attr(), see https://github.com/csstree/csstree/issues/201", + "syntax": "[ <string> | contents | <image> | <counter> | <quote> | <target> | <leader()> | <attr()> ]+" + }, + "element()": { + "comment": "https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation", + "syntax": "element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )" + }, + "generic-voice": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "[ <age>? <gender> <integer>? ]" + }, + "gender": { + "comment": "https://www.w3.org/TR/css3-speech/#voice-family", + "syntax": "male | female | neutral" + }, + "generic-family": { + "comment": "added -apple-system", + "references": [ + "https://webkit.org/blog/3709/using-the-system-font-in-web-content/" + ], + "syntax": "| -apple-system" + }, + "gradient": { + "comment": "added legacy syntaxes support", + "syntax": "| <-legacy-gradient>" + }, + "left": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "mask-image": { + "comment": "missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image", + "syntax": "<mask-reference>#" + }, + "named-color": { + "comment": "added non standard color names", + "syntax": "| <-non-standard-color>" + }, + "paint": { + "comment": "used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint", + "syntax": "none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke" + }, + "right": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "shape": { + "comment": "missed spaces in function body and add backwards compatible syntax", + "syntax": "rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )" + }, + "scroll-timeline-axis": { + "comment": "missed definition", + "syntax": "block | inline | vertical | horizontal" + }, + "scroll-timeline-name": { + "comment": "missed definition", + "references": [ + "https://w3c.github.io/csswg-drafts/scroll-animations/#propdef-scroll-timeline-name" + ], + "syntax": "none | <custom-ident>" + }, + "single-animation-composition": { + "comment": "missed definition", + "references": [ + "https://w3c.github.io/csswg-drafts/css-animations-2/#typedef-single-animation-composition" + ], + "syntax": "replace | add | accumulate" + }, + "svg-length": { + "comment": "All coordinates and lengths in SVG can be specified with or without a unit identifier", + "references": [ + "https://www.w3.org/TR/SVG11/coords.html#Units" + ], + "syntax": "<percentage> | <length> | <number>" + }, + "svg-writing-mode": { + "comment": "SVG specific keywords (deprecated for CSS)", + "references": [ + "https://developer.mozilla.org/en/docs/Web/CSS/writing-mode", + "https://www.w3.org/TR/SVG/text.html#WritingModeProperty" + ], + "syntax": "lr-tb | rl-tb | tb-rl | lr | rl | tb" + }, + "top": { + "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect", + "syntax": "<length> | auto" + }, + "x": { + "comment": "missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor", + "syntax": "<number>" + }, + "y": { + "comment": "missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor", + "syntax": "<number>" + }, + "declaration": { + "comment": "missed, restored by https://drafts.csswg.org/css-syntax", + "syntax": "<ident-token> : <declaration-value>? [ '!' important ]?" + }, + "declaration-list": { + "comment": "missed, restored by https://drafts.csswg.org/css-syntax", + "syntax": "[ <declaration>? ';' ]* <declaration>?" + }, + "url": { + "comment": "https://drafts.csswg.org/css-values-4/#urls", + "syntax": "url( <string> <url-modifier>* ) | <url-token>" + }, + "url-modifier": { + "comment": "https://drafts.csswg.org/css-values-4/#typedef-url-modifier", + "syntax": "<ident> | <function-token> <any-value> )" + }, + "number-zero-one": { + "syntax": "<number [0,1]>" + }, + "number-one-or-greater": { + "syntax": "<number [1,∞]>" + }, + "-non-standard-display": { + "syntax": "-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box" + } + } +} diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/node_modules/mdn-data b/.output/server/node_modules/.nitro/css-tree@2.3.1/node_modules/mdn-data new file mode 120000 index 00000000..95e2852a --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/node_modules/mdn-data @@ -0,0 +1 @@ +../../mdn-data@2.0.30 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/css-tree@2.3.1/package.json b/.output/server/node_modules/.nitro/css-tree@2.3.1/package.json new file mode 100644 index 00000000..5c41ded7 --- /dev/null +++ b/.output/server/node_modules/.nitro/css-tree@2.3.1/package.json @@ -0,0 +1,126 @@ +{ + "name": "css-tree", + "version": "2.3.1", + "description": "A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations", + "author": "Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)", + "license": "MIT", + "repository": "csstree/csstree", + "keywords": [ + "css", + "ast", + "tokenizer", + "parser", + "walker", + "lexer", + "generator", + "utils", + "syntax", + "validation" + ], + "type": "module", + "module": "./lib/index.js", + "main": "./cjs/index.cjs", + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./cjs/index.cjs" + }, + "./dist/*": "./dist/*.js", + "./package.json": "./package.json", + "./tokenizer": { + "import": "./lib/tokenizer/index.js", + "require": "./cjs/tokenizer/index.cjs" + }, + "./parser": { + "import": "./lib/parser/index.js", + "require": "./cjs/parser/index.cjs" + }, + "./selector-parser": { + "import": "./lib/parser/parse-selector.js", + "require": "./cjs/parser/parse-selector.cjs" + }, + "./generator": { + "import": "./lib/generator/index.js", + "require": "./cjs/generator/index.cjs" + }, + "./walker": { + "import": "./lib/walker/index.js", + "require": "./cjs/walker/index.cjs" + }, + "./convertor": { + "import": "./lib/convertor/index.js", + "require": "./cjs/convertor/index.cjs" + }, + "./lexer": { + "import": "./lib/lexer/index.js", + "require": "./cjs/lexer/index.cjs" + }, + "./definition-syntax": { + "import": "./lib/definition-syntax/index.js", + "require": "./cjs/definition-syntax/index.cjs" + }, + "./definition-syntax-data": { + "import": "./lib/data.js", + "require": "./cjs/data.cjs" + }, + "./definition-syntax-data-patch": { + "import": "./lib/data-patch.js", + "require": "./cjs/data-patch.cjs" + }, + "./utils": { + "import": "./lib/utils/index.js", + "require": "./cjs/utils/index.cjs" + } + }, + "browser": { + "./cjs/data.cjs": "./dist/data.cjs", + "./cjs/version.cjs": "./dist/version.cjs", + "./lib/data.js": "./dist/data.js", + "./lib/version.js": "./dist/version.js" + }, + "unpkg": "dist/csstree.esm.js", + "jsdelivr": "dist/csstree.esm.js", + "scripts": { + "watch": "npm run build -- --watch", + "build": "npm run bundle && npm run esm-to-cjs --", + "build-and-test": "npm run build && npm run test:dist && npm run test:cjs", + "bundle": "node scripts/bundle", + "bundle-and-test": "npm run bundle && npm run test:dist", + "esm-to-cjs": "node scripts/esm-to-cjs.cjs", + "esm-to-cjs-and-test": "npm run esm-to-cjs && npm run test:cjs", + "lint": "eslint lib scripts && node scripts/review-syntax-patch --lint && node scripts/update-docs --lint", + "lint-and-test": "npm run lint && npm test", + "update:docs": "node scripts/update-docs", + "review:syntax-patch": "node scripts/review-syntax-patch", + "test": "mocha lib/__tests --reporter ${REPORTER:-progress}", + "test:cjs": "mocha cjs/__tests --reporter ${REPORTER:-progress}", + "test:dist": "mocha dist/__tests --reporter ${REPORTER:-progress}", + "coverage": "c8 --exclude lib/__tests --reporter=lcovonly npm test", + "prepublishOnly": "npm run lint-and-test && npm run build-and-test", + "hydrogen": "node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/parse --stat -o /dev/null" + }, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "devDependencies": { + "c8": "^7.12.0", + "clap": "^2.0.1", + "esbuild": "^0.14.53", + "eslint": "^8.4.1", + "json-to-ast": "^2.1.0", + "mocha": "^9.2.2", + "rollup": "^2.68.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + }, + "files": [ + "data", + "dist", + "cjs", + "!cjs/__tests", + "lib", + "!lib/__tests" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode.js new file mode 100644 index 00000000..aa4a42c0 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode.js @@ -0,0 +1,536 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0; +var decode_data_html_js_1 = __importDefault(require("./generated/decode-data-html.js")); +exports.htmlDecodeTree = decode_data_html_js_1.default; +var decode_data_xml_js_1 = __importDefault(require("./generated/decode-data-xml.js")); +exports.xmlDecodeTree = decode_data_xml_js_1.default; +var decode_codepoint_js_1 = __importStar(require("./decode_codepoint.js")); +exports.decodeCodePoint = decode_codepoint_js_1.default; +var decode_codepoint_js_2 = require("./decode_codepoint.js"); +Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } }); +Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } }); +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["NUM"] = 35] = "NUM"; + CharCodes[CharCodes["SEMI"] = 59] = "SEMI"; + CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS"; + CharCodes[CharCodes["ZERO"] = 48] = "ZERO"; + CharCodes[CharCodes["NINE"] = 57] = "NINE"; + CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A"; + CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F"; + CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X"; + CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z"; + CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A"; + CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F"; + CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z"; +})(CharCodes || (CharCodes = {})); +/** Bit that needs to be set to convert an upper case ASCII character to lower case */ +var TO_LOWER_BIT = 32; +var BinTrieFlags; +(function (BinTrieFlags) { + BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; + BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH"; + BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; +})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {})); +function isNumber(code) { + return code >= CharCodes.ZERO && code <= CharCodes.NINE; +} +function isHexadecimalCharacter(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F)); +} +function isAsciiAlphaNumeric(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) || + isNumber(code)); +} +/** + * Checks if the given character is a valid end character for an entity in an attribute. + * + * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error. + * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state + */ +function isEntityInAttributeInvalidEnd(code) { + return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); +} +var EntityDecoderState; +(function (EntityDecoderState) { + EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart"; + EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart"; + EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal"; + EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex"; + EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity"; +})(EntityDecoderState || (EntityDecoderState = {})); +var DecodingMode; +(function (DecodingMode) { + /** Entities in text nodes that can end with any character. */ + DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; + /** Only allow entities terminated with a semicolon. */ + DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; + /** Entities in attributes have limitations on ending characters. */ + DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute"; +})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {})); +/** + * Token decoder with support of writing partial entities. + */ +var EntityDecoder = /** @class */ (function () { + function EntityDecoder( + /** The tree used to decode entities. */ + decodeTree, + /** + * The function that is called when a codepoint is decoded. + * + * For multi-byte named entities, this will be called multiple times, + * with the second codepoint, and the same `consumed` value. + * + * @param codepoint The decoded codepoint. + * @param consumed The number of bytes consumed by the decoder. + */ + emitCodePoint, + /** An object that is used to produce errors. */ + errors) { + this.decodeTree = decodeTree; + this.emitCodePoint = emitCodePoint; + this.errors = errors; + /** The current state of the decoder. */ + this.state = EntityDecoderState.EntityStart; + /** Characters that were consumed while parsing an entity. */ + this.consumed = 1; + /** + * The result of the entity. + * + * Either the result index of a numeric entity, or the codepoint of a + * numeric entity. + */ + this.result = 0; + /** The current index in the decode tree. */ + this.treeIndex = 0; + /** The number of characters that were consumed in excess. */ + this.excess = 1; + /** The mode in which the decoder is operating. */ + this.decodeMode = DecodingMode.Strict; + } + /** Resets the instance to make it reusable. */ + EntityDecoder.prototype.startEntity = function (decodeMode) { + this.decodeMode = decodeMode; + this.state = EntityDecoderState.EntityStart; + this.result = 0; + this.treeIndex = 0; + this.excess = 1; + this.consumed = 1; + }; + /** + * Write an entity to the decoder. This can be called multiple times with partial entities. + * If the entity is incomplete, the decoder will return -1. + * + * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the + * entity is incomplete, and resume when the next string is written. + * + * @param string The string containing the entity (or a continuation of the entity). + * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.write = function (str, offset) { + switch (this.state) { + case EntityDecoderState.EntityStart: { + if (str.charCodeAt(offset) === CharCodes.NUM) { + this.state = EntityDecoderState.NumericStart; + this.consumed += 1; + return this.stateNumericStart(str, offset + 1); + } + this.state = EntityDecoderState.NamedEntity; + return this.stateNamedEntity(str, offset); + } + case EntityDecoderState.NumericStart: { + return this.stateNumericStart(str, offset); + } + case EntityDecoderState.NumericDecimal: { + return this.stateNumericDecimal(str, offset); + } + case EntityDecoderState.NumericHex: { + return this.stateNumericHex(str, offset); + } + case EntityDecoderState.NamedEntity: { + return this.stateNamedEntity(str, offset); + } + } + }; + /** + * Switches between the numeric decimal and hexadecimal states. + * + * Equivalent to the `Numeric character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericStart = function (str, offset) { + if (offset >= str.length) { + return -1; + } + if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { + this.state = EntityDecoderState.NumericHex; + this.consumed += 1; + return this.stateNumericHex(str, offset + 1); + } + this.state = EntityDecoderState.NumericDecimal; + return this.stateNumericDecimal(str, offset); + }; + EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) { + if (start !== end) { + var digitCount = end - start; + this.result = + this.result * Math.pow(base, digitCount) + + parseInt(str.substr(start, digitCount), base); + this.consumed += digitCount; + } + }; + /** + * Parses a hexadecimal numeric entity. + * + * Equivalent to the `Hexademical character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericHex = function (str, offset) { + var startIdx = offset; + while (offset < str.length) { + var char = str.charCodeAt(offset); + if (isNumber(char) || isHexadecimalCharacter(char)) { + offset += 1; + } + else { + this.addToNumericResult(str, startIdx, offset, 16); + return this.emitNumericEntity(char, 3); + } + } + this.addToNumericResult(str, startIdx, offset, 16); + return -1; + }; + /** + * Parses a decimal numeric entity. + * + * Equivalent to the `Decimal character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericDecimal = function (str, offset) { + var startIdx = offset; + while (offset < str.length) { + var char = str.charCodeAt(offset); + if (isNumber(char)) { + offset += 1; + } + else { + this.addToNumericResult(str, startIdx, offset, 10); + return this.emitNumericEntity(char, 2); + } + } + this.addToNumericResult(str, startIdx, offset, 10); + return -1; + }; + /** + * Validate and emit a numeric entity. + * + * Implements the logic from the `Hexademical character reference start + * state` and `Numeric character reference end state` in the HTML spec. + * + * @param lastCp The last code point of the entity. Used to see if the + * entity was terminated with a semicolon. + * @param expectedLength The minimum number of characters that should be + * consumed. Used to validate that at least one digit + * was consumed. + * @returns The number of characters that were consumed. + */ + EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) { + var _a; + // Ensure we consumed at least one digit. + if (this.consumed <= expectedLength) { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + // Figure out if this is a legit end of the entity + if (lastCp === CharCodes.SEMI) { + this.consumed += 1; + } + else if (this.decodeMode === DecodingMode.Strict) { + return 0; + } + this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); + if (this.errors) { + if (lastCp !== CharCodes.SEMI) { + this.errors.missingSemicolonAfterCharacterReference(); + } + this.errors.validateNumericCharacterReference(this.result); + } + return this.consumed; + }; + /** + * Parses a named entity. + * + * Equivalent to the `Named character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNamedEntity = function (str, offset) { + var decodeTree = this.decodeTree; + var current = decodeTree[this.treeIndex]; + // The mask is the number of bytes of the value, including the current byte. + var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; + for (; offset < str.length; offset++, this.excess++) { + var char = str.charCodeAt(offset); + this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); + if (this.treeIndex < 0) { + return this.result === 0 || + // If we are parsing an attribute + (this.decodeMode === DecodingMode.Attribute && + // We shouldn't have consumed any characters after the entity, + (valueLength === 0 || + // And there should be no invalid characters. + isEntityInAttributeInvalidEnd(char))) + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + current = decodeTree[this.treeIndex]; + valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; + // If the branch is a value, store it and continue + if (valueLength !== 0) { + // If the entity is terminated by a semicolon, we are done. + if (char === CharCodes.SEMI) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it. + if (this.decodeMode !== DecodingMode.Strict) { + this.result = this.treeIndex; + this.consumed += this.excess; + this.excess = 0; + } + } + } + return -1; + }; + /** + * Emit a named entity that was not terminated with a semicolon. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () { + var _a; + var _b = this, result = _b.result, decodeTree = _b.decodeTree; + var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14; + this.emitNamedEntityData(result, valueLength, this.consumed); + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); + return this.consumed; + }; + /** + * Emit a named entity. + * + * @param result The index of the entity in the decode tree. + * @param valueLength The number of bytes in the entity. + * @param consumed The number of characters consumed. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) { + var decodeTree = this.decodeTree; + this.emitCodePoint(valueLength === 1 + ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH + : decodeTree[result + 1], consumed); + if (valueLength === 3) { + // For multi-byte values, we need to emit the second byte. + this.emitCodePoint(decodeTree[result + 2], consumed); + } + return consumed; + }; + /** + * Signal to the parser that the end of the input was reached. + * + * Remaining data will be emitted and relevant errors will be produced. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.end = function () { + var _a; + switch (this.state) { + case EntityDecoderState.NamedEntity: { + // Emit a named entity if we have one. + return this.result !== 0 && + (this.decodeMode !== DecodingMode.Attribute || + this.result === this.treeIndex) + ? this.emitNotTerminatedNamedEntity() + : 0; + } + // Otherwise, emit a numeric entity if we have one. + case EntityDecoderState.NumericDecimal: { + return this.emitNumericEntity(0, 2); + } + case EntityDecoderState.NumericHex: { + return this.emitNumericEntity(0, 3); + } + case EntityDecoderState.NumericStart: { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + case EntityDecoderState.EntityStart: { + // Return 0 if we have no entity. + return 0; + } + } + }; + return EntityDecoder; +}()); +exports.EntityDecoder = EntityDecoder; +/** + * Creates a function that decodes entities in a string. + * + * @param decodeTree The decode tree. + * @returns A function that decodes entities in a string. + */ +function getDecoder(decodeTree) { + var ret = ""; + var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); }); + return function decodeWithTrie(str, decodeMode) { + var lastIndex = 0; + var offset = 0; + while ((offset = str.indexOf("&", offset)) >= 0) { + ret += str.slice(lastIndex, offset); + decoder.startEntity(decodeMode); + var len = decoder.write(str, + // Skip the "&" + offset + 1); + if (len < 0) { + lastIndex = offset + decoder.end(); + break; + } + lastIndex = offset + len; + // If `len` is 0, skip the current `&` and continue. + offset = len === 0 ? lastIndex + 1 : lastIndex; + } + var result = ret + str.slice(lastIndex); + // Make sure we don't keep a reference to the final string. + ret = ""; + return result; + }; +} +/** + * Determines the branch of the current node that is taken given the current + * character. This function is used to traverse the trie. + * + * @param decodeTree The trie. + * @param current The current node. + * @param nodeIdx The index right after the current node and its value. + * @param char The current character. + * @returns The index of the next node, or -1 if no branch is taken. + */ +function determineBranch(decodeTree, current, nodeIdx, char) { + var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7; + var jumpOffset = current & BinTrieFlags.JUMP_TABLE; + // Case 1: Single branch encoded in jump offset + if (branchCount === 0) { + return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1; + } + // Case 2: Multiple branches encoded in jump table + if (jumpOffset) { + var value = char - jumpOffset; + return value < 0 || value >= branchCount + ? -1 + : decodeTree[nodeIdx + value] - 1; + } + // Case 3: Multiple branches encoded in dictionary + // Binary search for the character. + var lo = nodeIdx; + var hi = lo + branchCount - 1; + while (lo <= hi) { + var mid = (lo + hi) >>> 1; + var midVal = decodeTree[mid]; + if (midVal < char) { + lo = mid + 1; + } + else if (midVal > char) { + hi = mid - 1; + } + else { + return decodeTree[mid + branchCount]; + } + } + return -1; +} +exports.determineBranch = determineBranch; +var htmlDecoder = getDecoder(decode_data_html_js_1.default); +var xmlDecoder = getDecoder(decode_data_xml_js_1.default); +/** + * Decodes an HTML string. + * + * @param str The string to decode. + * @param mode The decoding mode. + * @returns The decoded string. + */ +function decodeHTML(str, mode) { + if (mode === void 0) { mode = DecodingMode.Legacy; } + return htmlDecoder(str, mode); +} +exports.decodeHTML = decodeHTML; +/** + * Decodes an HTML string in an attribute. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeHTMLAttribute(str) { + return htmlDecoder(str, DecodingMode.Attribute); +} +exports.decodeHTMLAttribute = decodeHTMLAttribute; +/** + * Decodes an HTML string, requiring all entities to be terminated by a semicolon. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeHTMLStrict(str) { + return htmlDecoder(str, DecodingMode.Strict); +} +exports.decodeHTMLStrict = decodeHTMLStrict; +/** + * Decodes an XML string, requiring all entities to be terminated by a semicolon. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeXML(str) { + return xmlDecoder(str, DecodingMode.Strict); +} +exports.decodeXML = decodeXML; +//# sourceMappingURL=decode.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode_codepoint.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode_codepoint.js new file mode 100644 index 00000000..12053468 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/decode_codepoint.js @@ -0,0 +1,76 @@ +"use strict"; +// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.replaceCodePoint = exports.fromCodePoint = void 0; +var decodeMap = new Map([ + [0, 65533], + // C1 Unicode control character reference replacements + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376], +]); +/** + * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point. + */ +exports.fromCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins +(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) { + var output = ""; + if (codePoint > 0xffff) { + codePoint -= 0x10000; + output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800); + codePoint = 0xdc00 | (codePoint & 0x3ff); + } + output += String.fromCharCode(codePoint); + return output; +}; +/** + * Replace the given code point with a replacement character if it is a + * surrogate or is outside the valid range. Otherwise return the code + * point unchanged. + */ +function replaceCodePoint(codePoint) { + var _a; + if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { + return 0xfffd; + } + return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; +} +exports.replaceCodePoint = replaceCodePoint; +/** + * Replace the code point if relevant, then convert it to a string. + * + * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead. + * @param codePoint The code point to decode. + * @returns The decoded code point. + */ +function decodeCodePoint(codePoint) { + return (0, exports.fromCodePoint)(replaceCodePoint(codePoint)); +} +exports.default = decodeCodePoint; +//# sourceMappingURL=decode_codepoint.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/encode.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/encode.js new file mode 100644 index 00000000..4786a03b --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/encode.js @@ -0,0 +1,77 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeNonAsciiHTML = exports.encodeHTML = void 0; +var encode_html_js_1 = __importDefault(require("./generated/encode-html.js")); +var escape_js_1 = require("./escape.js"); +var htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g; +/** + * Encodes all characters in the input using HTML entities. This includes + * characters that are valid ASCII characters in HTML documents, such as `#`. + * + * To get a more compact output, consider using the `encodeNonAsciiHTML` + * function, which will only encode characters that are not valid in HTML + * documents, as well as non-ASCII characters. + * + * If a character has no equivalent entity, a numeric hexadecimal reference + * (eg. `ü`) will be used. + */ +function encodeHTML(data) { + return encodeHTMLTrieRe(htmlReplacer, data); +} +exports.encodeHTML = encodeHTML; +/** + * Encodes all non-ASCII characters, as well as characters not valid in HTML + * documents using HTML entities. This function will not encode characters that + * are valid in HTML documents, such as `#`. + * + * If a character has no equivalent entity, a numeric hexadecimal reference + * (eg. `ü`) will be used. + */ +function encodeNonAsciiHTML(data) { + return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data); +} +exports.encodeNonAsciiHTML = encodeNonAsciiHTML; +function encodeHTMLTrieRe(regExp, str) { + var ret = ""; + var lastIdx = 0; + var match; + while ((match = regExp.exec(str)) !== null) { + var i = match.index; + ret += str.substring(lastIdx, i); + var char = str.charCodeAt(i); + var next = encode_html_js_1.default.get(char); + if (typeof next === "object") { + // We are in a branch. Try to match the next char. + if (i + 1 < str.length) { + var nextChar = str.charCodeAt(i + 1); + var value = typeof next.n === "number" + ? next.n === nextChar + ? next.o + : undefined + : next.n.get(nextChar); + if (value !== undefined) { + ret += value; + lastIdx = regExp.lastIndex += 1; + continue; + } + } + next = next.v; + } + // We might have a tree node without a value; skip and use a numeric entity. + if (next !== undefined) { + ret += next; + lastIdx = i + 1; + } + else { + var cp = (0, escape_js_1.getCodePoint)(str, i); + ret += "&#x".concat(cp.toString(16), ";"); + // Increase by 1 if we have a surrogate pair + lastIdx = regExp.lastIndex += Number(cp !== char); + } + } + return ret + str.substr(lastIdx); +} +//# sourceMappingURL=encode.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/escape.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/escape.js new file mode 100644 index 00000000..9f36272f --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/escape.js @@ -0,0 +1,122 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0; +exports.xmlReplacer = /["&'<>$\x80-\uFFFF]/g; +var xmlCodeMap = new Map([ + [34, """], + [38, "&"], + [39, "'"], + [60, "<"], + [62, ">"], +]); +// For compatibility with node < 4, we wrap `codePointAt` +exports.getCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition +String.prototype.codePointAt != null + ? function (str, index) { return str.codePointAt(index); } + : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + function (c, index) { + return (c.charCodeAt(index) & 0xfc00) === 0xd800 + ? (c.charCodeAt(index) - 0xd800) * 0x400 + + c.charCodeAt(index + 1) - + 0xdc00 + + 0x10000 + : c.charCodeAt(index); + }; +/** + * Encodes all non-ASCII characters, as well as characters not valid in XML + * documents using XML entities. + * + * If a character has no equivalent entity, a + * numeric hexadecimal reference (eg. `ü`) will be used. + */ +function encodeXML(str) { + var ret = ""; + var lastIdx = 0; + var match; + while ((match = exports.xmlReplacer.exec(str)) !== null) { + var i = match.index; + var char = str.charCodeAt(i); + var next = xmlCodeMap.get(char); + if (next !== undefined) { + ret += str.substring(lastIdx, i) + next; + lastIdx = i + 1; + } + else { + ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports.getCodePoint)(str, i).toString(16), ";"); + // Increase by 1 if we have a surrogate pair + lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800); + } + } + return ret + str.substr(lastIdx); +} +exports.encodeXML = encodeXML; +/** + * Encodes all non-ASCII characters, as well as characters not valid in XML + * documents using numeric hexadecimal reference (eg. `ü`). + * + * Have a look at `escapeUTF8` if you want a more concise output at the expense + * of reduced transportability. + * + * @param data String to escape. + */ +exports.escape = encodeXML; +/** + * Creates a function that escapes all characters matched by the given regular + * expression using the given map of characters to escape to their entities. + * + * @param regex Regular expression to match characters to escape. + * @param map Map of characters to escape to their entities. + * + * @returns Function that escapes all characters matched by the given regular + * expression using the given map of characters to escape to their entities. + */ +function getEscaper(regex, map) { + return function escape(data) { + var match; + var lastIdx = 0; + var result = ""; + while ((match = regex.exec(data))) { + if (lastIdx !== match.index) { + result += data.substring(lastIdx, match.index); + } + // We know that this character will be in the map. + result += map.get(match[0].charCodeAt(0)); + // Every match will be of length 1 + lastIdx = match.index + 1; + } + return result + data.substring(lastIdx); + }; +} +/** + * Encodes all characters not valid in XML documents using XML entities. + * + * Note that the output will be character-set dependent. + * + * @param data String to escape. + */ +exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap); +/** + * Encodes all characters that have to be escaped in HTML attributes, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + * + * @param data String to escape. + */ +exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([ + [34, """], + [38, "&"], + [160, " "], +])); +/** + * Encodes all characters that have to be escaped in HTML text, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + * + * @param data String to escape. + */ +exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([ + [38, "&"], + [60, "<"], + [62, ">"], + [160, " "], +])); +//# sourceMappingURL=escape.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-html.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-html.js new file mode 100644 index 00000000..295cd9b4 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-html.js @@ -0,0 +1,9 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = new Uint16Array( +// prettier-ignore +"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c" + .split("") + .map(function (c) { return c.charCodeAt(0); })); +//# sourceMappingURL=decode-data-html.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-xml.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-xml.js new file mode 100644 index 00000000..8fee7832 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/decode-data-xml.js @@ -0,0 +1,9 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = new Uint16Array( +// prettier-ignore +"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022" + .split("") + .map(function (c) { return c.charCodeAt(0); })); +//# sourceMappingURL=decode-data-xml.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/encode-html.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/encode-html.js new file mode 100644 index 00000000..071e8530 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/generated/encode-html.js @@ -0,0 +1,12 @@ +"use strict"; +// Generated using scripts/write-encode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +function restoreDiff(arr) { + for (var i = 1; i < arr.length; i++) { + arr[i][0] += arr[i - 1][0] + 1; + } + return arr; +} +// prettier-ignore +exports.default = new Map(/* #__PURE__ */ restoreDiff([[9, " "], [0, " "], [22, "!"], [0, """], [0, "#"], [0, "$"], [0, "%"], [0, "&"], [0, "'"], [0, "("], [0, ")"], [0, "*"], [0, "+"], [0, ","], [1, "."], [0, "/"], [10, ":"], [0, ";"], [0, { v: "<", n: 8402, o: "<⃒" }], [0, { v: "=", n: 8421, o: "=⃥" }], [0, { v: ">", n: 8402, o: ">⃒" }], [0, "?"], [0, "@"], [26, "["], [0, "\"], [0, "]"], [0, "^"], [0, "_"], [0, "`"], [5, { n: 106, o: "fj" }], [20, "{"], [0, "|"], [0, "}"], [34, " "], [0, "¡"], [0, "¢"], [0, "£"], [0, "¤"], [0, "¥"], [0, "¦"], [0, "§"], [0, "¨"], [0, "©"], [0, "ª"], [0, "«"], [0, "¬"], [0, "­"], [0, "®"], [0, "¯"], [0, "°"], [0, "±"], [0, "²"], [0, "³"], [0, "´"], [0, "µ"], [0, "¶"], [0, "·"], [0, "¸"], [0, "¹"], [0, "º"], [0, "»"], [0, "¼"], [0, "½"], [0, "¾"], [0, "¿"], [0, "À"], [0, "Á"], [0, "Â"], [0, "Ã"], [0, "Ä"], [0, "Å"], [0, "Æ"], [0, "Ç"], [0, "È"], [0, "É"], [0, "Ê"], [0, "Ë"], [0, "Ì"], [0, "Í"], [0, "Î"], [0, "Ï"], [0, "Ð"], [0, "Ñ"], [0, "Ò"], [0, "Ó"], [0, "Ô"], [0, "Õ"], [0, "Ö"], [0, "×"], [0, "Ø"], [0, "Ù"], [0, "Ú"], [0, "Û"], [0, "Ü"], [0, "Ý"], [0, "Þ"], [0, "ß"], [0, "à"], [0, "á"], [0, "â"], [0, "ã"], [0, "ä"], [0, "å"], [0, "æ"], [0, "ç"], [0, "è"], [0, "é"], [0, "ê"], [0, "ë"], [0, "ì"], [0, "í"], [0, "î"], [0, "ï"], [0, "ð"], [0, "ñ"], [0, "ò"], [0, "ó"], [0, "ô"], [0, "õ"], [0, "ö"], [0, "÷"], [0, "ø"], [0, "ù"], [0, "ú"], [0, "û"], [0, "ü"], [0, "ý"], [0, "þ"], [0, "ÿ"], [0, "Ā"], [0, "ā"], [0, "Ă"], [0, "ă"], [0, "Ą"], [0, "ą"], [0, "Ć"], [0, "ć"], [0, "Ĉ"], [0, "ĉ"], [0, "Ċ"], [0, "ċ"], [0, "Č"], [0, "č"], [0, "Ď"], [0, "ď"], [0, "Đ"], [0, "đ"], [0, "Ē"], [0, "ē"], [2, "Ė"], [0, "ė"], [0, "Ę"], [0, "ę"], [0, "Ě"], [0, "ě"], [0, "Ĝ"], [0, "ĝ"], [0, "Ğ"], [0, "ğ"], [0, "Ġ"], [0, "ġ"], [0, "Ģ"], [1, "Ĥ"], [0, "ĥ"], [0, "Ħ"], [0, "ħ"], [0, "Ĩ"], [0, "ĩ"], [0, "Ī"], [0, "ī"], [2, "Į"], [0, "į"], [0, "İ"], [0, "ı"], [0, "IJ"], [0, "ij"], [0, "Ĵ"], [0, "ĵ"], [0, "Ķ"], [0, "ķ"], [0, "ĸ"], [0, "Ĺ"], [0, "ĺ"], [0, "Ļ"], [0, "ļ"], [0, "Ľ"], [0, "ľ"], [0, "Ŀ"], [0, "ŀ"], [0, "Ł"], [0, "ł"], [0, "Ń"], [0, "ń"], [0, "Ņ"], [0, "ņ"], [0, "Ň"], [0, "ň"], [0, "ʼn"], [0, "Ŋ"], [0, "ŋ"], [0, "Ō"], [0, "ō"], [2, "Ő"], [0, "ő"], [0, "Œ"], [0, "œ"], [0, "Ŕ"], [0, "ŕ"], [0, "Ŗ"], [0, "ŗ"], [0, "Ř"], [0, "ř"], [0, "Ś"], [0, "ś"], [0, "Ŝ"], [0, "ŝ"], [0, "Ş"], [0, "ş"], [0, "Š"], [0, "š"], [0, "Ţ"], [0, "ţ"], [0, "Ť"], [0, "ť"], [0, "Ŧ"], [0, "ŧ"], [0, "Ũ"], [0, "ũ"], [0, "Ū"], [0, "ū"], [0, "Ŭ"], [0, "ŭ"], [0, "Ů"], [0, "ů"], [0, "Ű"], [0, "ű"], [0, "Ų"], [0, "ų"], [0, "Ŵ"], [0, "ŵ"], [0, "Ŷ"], [0, "ŷ"], [0, "Ÿ"], [0, "Ź"], [0, "ź"], [0, "Ż"], [0, "ż"], [0, "Ž"], [0, "ž"], [19, "ƒ"], [34, "Ƶ"], [63, "ǵ"], [65, "ȷ"], [142, "ˆ"], [0, "ˇ"], [16, "˘"], [0, "˙"], [0, "˚"], [0, "˛"], [0, "˜"], [0, "˝"], [51, "̑"], [127, "Α"], [0, "Β"], [0, "Γ"], [0, "Δ"], [0, "Ε"], [0, "Ζ"], [0, "Η"], [0, "Θ"], [0, "Ι"], [0, "Κ"], [0, "Λ"], [0, "Μ"], [0, "Ν"], [0, "Ξ"], [0, "Ο"], [0, "Π"], [0, "Ρ"], [1, "Σ"], [0, "Τ"], [0, "Υ"], [0, "Φ"], [0, "Χ"], [0, "Ψ"], [0, "Ω"], [7, "α"], [0, "β"], [0, "γ"], [0, "δ"], [0, "ε"], [0, "ζ"], [0, "η"], [0, "θ"], [0, "ι"], [0, "κ"], [0, "λ"], [0, "μ"], [0, "ν"], [0, "ξ"], [0, "ο"], [0, "π"], [0, "ρ"], [0, "ς"], [0, "σ"], [0, "τ"], [0, "υ"], [0, "φ"], [0, "χ"], [0, "ψ"], [0, "ω"], [7, "ϑ"], [0, "ϒ"], [2, "ϕ"], [0, "ϖ"], [5, "Ϝ"], [0, "ϝ"], [18, "ϰ"], [0, "ϱ"], [3, "ϵ"], [0, "϶"], [10, "Ё"], [0, "Ђ"], [0, "Ѓ"], [0, "Є"], [0, "Ѕ"], [0, "І"], [0, "Ї"], [0, "Ј"], [0, "Љ"], [0, "Њ"], [0, "Ћ"], [0, "Ќ"], [1, "Ў"], [0, "Џ"], [0, "А"], [0, "Б"], [0, "В"], [0, "Г"], [0, "Д"], [0, "Е"], [0, "Ж"], [0, "З"], [0, "И"], [0, "Й"], [0, "К"], [0, "Л"], [0, "М"], [0, "Н"], [0, "О"], [0, "П"], [0, "Р"], [0, "С"], [0, "Т"], [0, "У"], [0, "Ф"], [0, "Х"], [0, "Ц"], [0, "Ч"], [0, "Ш"], [0, "Щ"], [0, "Ъ"], [0, "Ы"], [0, "Ь"], [0, "Э"], [0, "Ю"], [0, "Я"], [0, "а"], [0, "б"], [0, "в"], [0, "г"], [0, "д"], [0, "е"], [0, "ж"], [0, "з"], [0, "и"], [0, "й"], [0, "к"], [0, "л"], [0, "м"], [0, "н"], [0, "о"], [0, "п"], [0, "р"], [0, "с"], [0, "т"], [0, "у"], [0, "ф"], [0, "х"], [0, "ц"], [0, "ч"], [0, "ш"], [0, "щ"], [0, "ъ"], [0, "ы"], [0, "ь"], [0, "э"], [0, "ю"], [0, "я"], [1, "ё"], [0, "ђ"], [0, "ѓ"], [0, "є"], [0, "ѕ"], [0, "і"], [0, "ї"], [0, "ј"], [0, "љ"], [0, "њ"], [0, "ћ"], [0, "ќ"], [1, "ў"], [0, "џ"], [7074, " "], [0, " "], [0, " "], [0, " "], [1, " "], [0, " "], [0, " "], [0, " "], [0, "​"], [0, "‌"], [0, "‍"], [0, "‎"], [0, "‏"], [0, "‐"], [2, "–"], [0, "—"], [0, "―"], [0, "‖"], [1, "‘"], [0, "’"], [0, "‚"], [1, "“"], [0, "”"], [0, "„"], [1, "†"], [0, "‡"], [0, "•"], [2, "‥"], [0, "…"], [9, "‰"], [0, "‱"], [0, "′"], [0, "″"], [0, "‴"], [0, "‵"], [3, "‹"], [0, "›"], [3, "‾"], [2, "⁁"], [1, "⁃"], [0, "⁄"], [10, "⁏"], [7, "⁗"], [7, { v: " ", n: 8202, o: "  " }], [0, "⁠"], [0, "⁡"], [0, "⁢"], [0, "⁣"], [72, "€"], [46, "⃛"], [0, "⃜"], [37, "ℂ"], [2, "℅"], [4, "ℊ"], [0, "ℋ"], [0, "ℌ"], [0, "ℍ"], [0, "ℎ"], [0, "ℏ"], [0, "ℐ"], [0, "ℑ"], [0, "ℒ"], [0, "ℓ"], [1, "ℕ"], [0, "№"], [0, "℗"], [0, "℘"], [0, "ℙ"], [0, "ℚ"], [0, "ℛ"], [0, "ℜ"], [0, "ℝ"], [0, "℞"], [3, "™"], [1, "ℤ"], [2, "℧"], [0, "ℨ"], [0, "℩"], [2, "ℬ"], [0, "ℭ"], [1, "ℯ"], [0, "ℰ"], [0, "ℱ"], [1, "ℳ"], [0, "ℴ"], [0, "ℵ"], [0, "ℶ"], [0, "ℷ"], [0, "ℸ"], [12, "ⅅ"], [0, "ⅆ"], [0, "ⅇ"], [0, "ⅈ"], [10, "⅓"], [0, "⅔"], [0, "⅕"], [0, "⅖"], [0, "⅗"], [0, "⅘"], [0, "⅙"], [0, "⅚"], [0, "⅛"], [0, "⅜"], [0, "⅝"], [0, "⅞"], [49, "←"], [0, "↑"], [0, "→"], [0, "↓"], [0, "↔"], [0, "↕"], [0, "↖"], [0, "↗"], [0, "↘"], [0, "↙"], [0, "↚"], [0, "↛"], [1, { v: "↝", n: 824, o: "↝̸" }], [0, "↞"], [0, "↟"], [0, "↠"], [0, "↡"], [0, "↢"], [0, "↣"], [0, "↤"], [0, "↥"], [0, "↦"], [0, "↧"], [1, "↩"], [0, "↪"], [0, "↫"], [0, "↬"], [0, "↭"], [0, "↮"], [1, "↰"], [0, "↱"], [0, "↲"], [0, "↳"], [1, "↵"], [0, "↶"], [0, "↷"], [2, "↺"], [0, "↻"], [0, "↼"], [0, "↽"], [0, "↾"], [0, "↿"], [0, "⇀"], [0, "⇁"], [0, "⇂"], [0, "⇃"], [0, "⇄"], [0, "⇅"], [0, "⇆"], [0, "⇇"], [0, "⇈"], [0, "⇉"], [0, "⇊"], [0, "⇋"], [0, "⇌"], [0, "⇍"], [0, "⇎"], [0, "⇏"], [0, "⇐"], [0, "⇑"], [0, "⇒"], [0, "⇓"], [0, "⇔"], [0, "⇕"], [0, "⇖"], [0, "⇗"], [0, "⇘"], [0, "⇙"], [0, "⇚"], [0, "⇛"], [1, "⇝"], [6, "⇤"], [0, "⇥"], [15, "⇵"], [7, "⇽"], [0, "⇾"], [0, "⇿"], [0, "∀"], [0, "∁"], [0, { v: "∂", n: 824, o: "∂̸" }], [0, "∃"], [0, "∄"], [0, "∅"], [1, "∇"], [0, "∈"], [0, "∉"], [1, "∋"], [0, "∌"], [2, "∏"], [0, "∐"], [0, "∑"], [0, "−"], [0, "∓"], [0, "∔"], [1, "∖"], [0, "∗"], [0, "∘"], [1, "√"], [2, "∝"], [0, "∞"], [0, "∟"], [0, { v: "∠", n: 8402, o: "∠⃒" }], [0, "∡"], [0, "∢"], [0, "∣"], [0, "∤"], [0, "∥"], [0, "∦"], [0, "∧"], [0, "∨"], [0, { v: "∩", n: 65024, o: "∩︀" }], [0, { v: "∪", n: 65024, o: "∪︀" }], [0, "∫"], [0, "∬"], [0, "∭"], [0, "∮"], [0, "∯"], [0, "∰"], [0, "∱"], [0, "∲"], [0, "∳"], [0, "∴"], [0, "∵"], [0, "∶"], [0, "∷"], [0, "∸"], [1, "∺"], [0, "∻"], [0, { v: "∼", n: 8402, o: "∼⃒" }], [0, { v: "∽", n: 817, o: "∽̱" }], [0, { v: "∾", n: 819, o: "∾̳" }], [0, "∿"], [0, "≀"], [0, "≁"], [0, { v: "≂", n: 824, o: "≂̸" }], [0, "≃"], [0, "≄"], [0, "≅"], [0, "≆"], [0, "≇"], [0, "≈"], [0, "≉"], [0, "≊"], [0, { v: "≋", n: 824, o: "≋̸" }], [0, "≌"], [0, { v: "≍", n: 8402, o: "≍⃒" }], [0, { v: "≎", n: 824, o: "≎̸" }], [0, { v: "≏", n: 824, o: "≏̸" }], [0, { v: "≐", n: 824, o: "≐̸" }], [0, "≑"], [0, "≒"], [0, "≓"], [0, "≔"], [0, "≕"], [0, "≖"], [0, "≗"], [1, "≙"], [0, "≚"], [1, "≜"], [2, "≟"], [0, "≠"], [0, { v: "≡", n: 8421, o: "≡⃥" }], [0, "≢"], [1, { v: "≤", n: 8402, o: "≤⃒" }], [0, { v: "≥", n: 8402, o: "≥⃒" }], [0, { v: "≦", n: 824, o: "≦̸" }], [0, { v: "≧", n: 824, o: "≧̸" }], [0, { v: "≨", n: 65024, o: "≨︀" }], [0, { v: "≩", n: 65024, o: "≩︀" }], [0, { v: "≪", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≪̸"], [7577, "≪⃒"]])) }], [0, { v: "≫", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≫̸"], [7577, "≫⃒"]])) }], [0, "≬"], [0, "≭"], [0, "≮"], [0, "≯"], [0, "≰"], [0, "≱"], [0, "≲"], [0, "≳"], [0, "≴"], [0, "≵"], [0, "≶"], [0, "≷"], [0, "≸"], [0, "≹"], [0, "≺"], [0, "≻"], [0, "≼"], [0, "≽"], [0, "≾"], [0, { v: "≿", n: 824, o: "≿̸" }], [0, "⊀"], [0, "⊁"], [0, { v: "⊂", n: 8402, o: "⊂⃒" }], [0, { v: "⊃", n: 8402, o: "⊃⃒" }], [0, "⊄"], [0, "⊅"], [0, "⊆"], [0, "⊇"], [0, "⊈"], [0, "⊉"], [0, { v: "⊊", n: 65024, o: "⊊︀" }], [0, { v: "⊋", n: 65024, o: "⊋︀" }], [1, "⊍"], [0, "⊎"], [0, { v: "⊏", n: 824, o: "⊏̸" }], [0, { v: "⊐", n: 824, o: "⊐̸" }], [0, "⊑"], [0, "⊒"], [0, { v: "⊓", n: 65024, o: "⊓︀" }], [0, { v: "⊔", n: 65024, o: "⊔︀" }], [0, "⊕"], [0, "⊖"], [0, "⊗"], [0, "⊘"], [0, "⊙"], [0, "⊚"], [0, "⊛"], [1, "⊝"], [0, "⊞"], [0, "⊟"], [0, "⊠"], [0, "⊡"], [0, "⊢"], [0, "⊣"], [0, "⊤"], [0, "⊥"], [1, "⊧"], [0, "⊨"], [0, "⊩"], [0, "⊪"], [0, "⊫"], [0, "⊬"], [0, "⊭"], [0, "⊮"], [0, "⊯"], [0, "⊰"], [1, "⊲"], [0, "⊳"], [0, { v: "⊴", n: 8402, o: "⊴⃒" }], [0, { v: "⊵", n: 8402, o: "⊵⃒" }], [0, "⊶"], [0, "⊷"], [0, "⊸"], [0, "⊹"], [0, "⊺"], [0, "⊻"], [1, "⊽"], [0, "⊾"], [0, "⊿"], [0, "⋀"], [0, "⋁"], [0, "⋂"], [0, "⋃"], [0, "⋄"], [0, "⋅"], [0, "⋆"], [0, "⋇"], [0, "⋈"], [0, "⋉"], [0, "⋊"], [0, "⋋"], [0, "⋌"], [0, "⋍"], [0, "⋎"], [0, "⋏"], [0, "⋐"], [0, "⋑"], [0, "⋒"], [0, "⋓"], [0, "⋔"], [0, "⋕"], [0, "⋖"], [0, "⋗"], [0, { v: "⋘", n: 824, o: "⋘̸" }], [0, { v: "⋙", n: 824, o: "⋙̸" }], [0, { v: "⋚", n: 65024, o: "⋚︀" }], [0, { v: "⋛", n: 65024, o: "⋛︀" }], [2, "⋞"], [0, "⋟"], [0, "⋠"], [0, "⋡"], [0, "⋢"], [0, "⋣"], [2, "⋦"], [0, "⋧"], [0, "⋨"], [0, "⋩"], [0, "⋪"], [0, "⋫"], [0, "⋬"], [0, "⋭"], [0, "⋮"], [0, "⋯"], [0, "⋰"], [0, "⋱"], [0, "⋲"], [0, "⋳"], [0, "⋴"], [0, { v: "⋵", n: 824, o: "⋵̸" }], [0, "⋶"], [0, "⋷"], [1, { v: "⋹", n: 824, o: "⋹̸" }], [0, "⋺"], [0, "⋻"], [0, "⋼"], [0, "⋽"], [0, "⋾"], [6, "⌅"], [0, "⌆"], [1, "⌈"], [0, "⌉"], [0, "⌊"], [0, "⌋"], [0, "⌌"], [0, "⌍"], [0, "⌎"], [0, "⌏"], [0, "⌐"], [1, "⌒"], [0, "⌓"], [1, "⌕"], [0, "⌖"], [5, "⌜"], [0, "⌝"], [0, "⌞"], [0, "⌟"], [2, "⌢"], [0, "⌣"], [9, "⌭"], [0, "⌮"], [7, "⌶"], [6, "⌽"], [1, "⌿"], [60, "⍼"], [51, "⎰"], [0, "⎱"], [2, "⎴"], [0, "⎵"], [0, "⎶"], [37, "⏜"], [0, "⏝"], [0, "⏞"], [0, "⏟"], [2, "⏢"], [4, "⏧"], [59, "␣"], [164, "Ⓢ"], [55, "─"], [1, "│"], [9, "┌"], [3, "┐"], [3, "└"], [3, "┘"], [3, "├"], [7, "┤"], [7, "┬"], [7, "┴"], [7, "┼"], [19, "═"], [0, "║"], [0, "╒"], [0, "╓"], [0, "╔"], [0, "╕"], [0, "╖"], [0, "╗"], [0, "╘"], [0, "╙"], [0, "╚"], [0, "╛"], [0, "╜"], [0, "╝"], [0, "╞"], [0, "╟"], [0, "╠"], [0, "╡"], [0, "╢"], [0, "╣"], [0, "╤"], [0, "╥"], [0, "╦"], [0, "╧"], [0, "╨"], [0, "╩"], [0, "╪"], [0, "╫"], [0, "╬"], [19, "▀"], [3, "▄"], [3, "█"], [8, "░"], [0, "▒"], [0, "▓"], [13, "□"], [8, "▪"], [0, "▫"], [1, "▭"], [0, "▮"], [2, "▱"], [1, "△"], [0, "▴"], [0, "▵"], [2, "▸"], [0, "▹"], [3, "▽"], [0, "▾"], [0, "▿"], [2, "◂"], [0, "◃"], [6, "◊"], [0, "○"], [32, "◬"], [2, "◯"], [8, "◸"], [0, "◹"], [0, "◺"], [0, "◻"], [0, "◼"], [8, "★"], [0, "☆"], [7, "☎"], [49, "♀"], [1, "♂"], [29, "♠"], [2, "♣"], [1, "♥"], [0, "♦"], [3, "♪"], [2, "♭"], [0, "♮"], [0, "♯"], [163, "✓"], [3, "✗"], [8, "✠"], [21, "✶"], [33, "❘"], [25, "❲"], [0, "❳"], [84, "⟈"], [0, "⟉"], [28, "⟦"], [0, "⟧"], [0, "⟨"], [0, "⟩"], [0, "⟪"], [0, "⟫"], [0, "⟬"], [0, "⟭"], [7, "⟵"], [0, "⟶"], [0, "⟷"], [0, "⟸"], [0, "⟹"], [0, "⟺"], [1, "⟼"], [2, "⟿"], [258, "⤂"], [0, "⤃"], [0, "⤄"], [0, "⤅"], [6, "⤌"], [0, "⤍"], [0, "⤎"], [0, "⤏"], [0, "⤐"], [0, "⤑"], [0, "⤒"], [0, "⤓"], [2, "⤖"], [2, "⤙"], [0, "⤚"], [0, "⤛"], [0, "⤜"], [0, "⤝"], [0, "⤞"], [0, "⤟"], [0, "⤠"], [2, "⤣"], [0, "⤤"], [0, "⤥"], [0, "⤦"], [0, "⤧"], [0, "⤨"], [0, "⤩"], [0, "⤪"], [8, { v: "⤳", n: 824, o: "⤳̸" }], [1, "⤵"], [0, "⤶"], [0, "⤷"], [0, "⤸"], [0, "⤹"], [2, "⤼"], [0, "⤽"], [7, "⥅"], [2, "⥈"], [0, "⥉"], [0, "⥊"], [0, "⥋"], [2, "⥎"], [0, "⥏"], [0, "⥐"], [0, "⥑"], [0, "⥒"], [0, "⥓"], [0, "⥔"], [0, "⥕"], [0, "⥖"], [0, "⥗"], [0, "⥘"], [0, "⥙"], [0, "⥚"], [0, "⥛"], [0, "⥜"], [0, "⥝"], [0, "⥞"], [0, "⥟"], [0, "⥠"], [0, "⥡"], [0, "⥢"], [0, "⥣"], [0, "⥤"], [0, "⥥"], [0, "⥦"], [0, "⥧"], [0, "⥨"], [0, "⥩"], [0, "⥪"], [0, "⥫"], [0, "⥬"], [0, "⥭"], [0, "⥮"], [0, "⥯"], [0, "⥰"], [0, "⥱"], [0, "⥲"], [0, "⥳"], [0, "⥴"], [0, "⥵"], [0, "⥶"], [1, "⥸"], [0, "⥹"], [1, "⥻"], [0, "⥼"], [0, "⥽"], [0, "⥾"], [0, "⥿"], [5, "⦅"], [0, "⦆"], [4, "⦋"], [0, "⦌"], [0, "⦍"], [0, "⦎"], [0, "⦏"], [0, "⦐"], [0, "⦑"], [0, "⦒"], [0, "⦓"], [0, "⦔"], [0, "⦕"], [0, "⦖"], [3, "⦚"], [1, "⦜"], [0, "⦝"], [6, "⦤"], [0, "⦥"], [0, "⦦"], [0, "⦧"], [0, "⦨"], [0, "⦩"], [0, "⦪"], [0, "⦫"], [0, "⦬"], [0, "⦭"], [0, "⦮"], [0, "⦯"], [0, "⦰"], [0, "⦱"], [0, "⦲"], [0, "⦳"], [0, "⦴"], [0, "⦵"], [0, "⦶"], [0, "⦷"], [1, "⦹"], [1, "⦻"], [0, "⦼"], [1, "⦾"], [0, "⦿"], [0, "⧀"], [0, "⧁"], [0, "⧂"], [0, "⧃"], [0, "⧄"], [0, "⧅"], [3, "⧉"], [3, "⧍"], [0, "⧎"], [0, { v: "⧏", n: 824, o: "⧏̸" }], [0, { v: "⧐", n: 824, o: "⧐̸" }], [11, "⧜"], [0, "⧝"], [0, "⧞"], [4, "⧣"], [0, "⧤"], [0, "⧥"], [5, "⧫"], [8, "⧴"], [1, "⧶"], [9, "⨀"], [0, "⨁"], [0, "⨂"], [1, "⨄"], [1, "⨆"], [5, "⨌"], [0, "⨍"], [2, "⨐"], [0, "⨑"], [0, "⨒"], [0, "⨓"], [0, "⨔"], [0, "⨕"], [0, "⨖"], [0, "⨗"], [10, "⨢"], [0, "⨣"], [0, "⨤"], [0, "⨥"], [0, "⨦"], [0, "⨧"], [1, "⨩"], [0, "⨪"], [2, "⨭"], [0, "⨮"], [0, "⨯"], [0, "⨰"], [0, "⨱"], [1, "⨳"], [0, "⨴"], [0, "⨵"], [0, "⨶"], [0, "⨷"], [0, "⨸"], [0, "⨹"], [0, "⨺"], [0, "⨻"], [0, "⨼"], [2, "⨿"], [0, "⩀"], [1, "⩂"], [0, "⩃"], [0, "⩄"], [0, "⩅"], [0, "⩆"], [0, "⩇"], [0, "⩈"], [0, "⩉"], [0, "⩊"], [0, "⩋"], [0, "⩌"], [0, "⩍"], [2, "⩐"], [2, "⩓"], [0, "⩔"], [0, "⩕"], [0, "⩖"], [0, "⩗"], [0, "⩘"], [1, "⩚"], [0, "⩛"], [0, "⩜"], [0, "⩝"], [1, "⩟"], [6, "⩦"], [3, "⩪"], [2, { v: "⩭", n: 824, o: "⩭̸" }], [0, "⩮"], [0, "⩯"], [0, { v: "⩰", n: 824, o: "⩰̸" }], [0, "⩱"], [0, "⩲"], [0, "⩳"], [0, "⩴"], [0, "⩵"], [1, "⩷"], [0, "⩸"], [0, "⩹"], [0, "⩺"], [0, "⩻"], [0, "⩼"], [0, { v: "⩽", n: 824, o: "⩽̸" }], [0, { v: "⩾", n: 824, o: "⩾̸" }], [0, "⩿"], [0, "⪀"], [0, "⪁"], [0, "⪂"], [0, "⪃"], [0, "⪄"], [0, "⪅"], [0, "⪆"], [0, "⪇"], [0, "⪈"], [0, "⪉"], [0, "⪊"], [0, "⪋"], [0, "⪌"], [0, "⪍"], [0, "⪎"], [0, "⪏"], [0, "⪐"], [0, "⪑"], [0, "⪒"], [0, "⪓"], [0, "⪔"], [0, "⪕"], [0, "⪖"], [0, "⪗"], [0, "⪘"], [0, "⪙"], [0, "⪚"], [2, "⪝"], [0, "⪞"], [0, "⪟"], [0, "⪠"], [0, { v: "⪡", n: 824, o: "⪡̸" }], [0, { v: "⪢", n: 824, o: "⪢̸" }], [1, "⪤"], [0, "⪥"], [0, "⪦"], [0, "⪧"], [0, "⪨"], [0, "⪩"], [0, "⪪"], [0, "⪫"], [0, { v: "⪬", n: 65024, o: "⪬︀" }], [0, { v: "⪭", n: 65024, o: "⪭︀" }], [0, "⪮"], [0, { v: "⪯", n: 824, o: "⪯̸" }], [0, { v: "⪰", n: 824, o: "⪰̸" }], [2, "⪳"], [0, "⪴"], [0, "⪵"], [0, "⪶"], [0, "⪷"], [0, "⪸"], [0, "⪹"], [0, "⪺"], [0, "⪻"], [0, "⪼"], [0, "⪽"], [0, "⪾"], [0, "⪿"], [0, "⫀"], [0, "⫁"], [0, "⫂"], [0, "⫃"], [0, "⫄"], [0, { v: "⫅", n: 824, o: "⫅̸" }], [0, { v: "⫆", n: 824, o: "⫆̸" }], [0, "⫇"], [0, "⫈"], [2, { v: "⫋", n: 65024, o: "⫋︀" }], [0, { v: "⫌", n: 65024, o: "⫌︀" }], [2, "⫏"], [0, "⫐"], [0, "⫑"], [0, "⫒"], [0, "⫓"], [0, "⫔"], [0, "⫕"], [0, "⫖"], [0, "⫗"], [0, "⫘"], [0, "⫙"], [0, "⫚"], [0, "⫛"], [8, "⫤"], [1, "⫦"], [0, "⫧"], [0, "⫨"], [0, "⫩"], [1, "⫫"], [0, "⫬"], [0, "⫭"], [0, "⫮"], [0, "⫯"], [0, "⫰"], [0, "⫱"], [0, "⫲"], [0, "⫳"], [9, { v: "⫽", n: 8421, o: "⫽⃥" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, "𝒜"], [1, "𝒞"], [0, "𝒟"], [2, "𝒢"], [2, "𝒥"], [0, "𝒦"], [2, "𝒩"], [0, "𝒪"], [0, "𝒫"], [0, "𝒬"], [1, "𝒮"], [0, "𝒯"], [0, "𝒰"], [0, "𝒱"], [0, "𝒲"], [0, "𝒳"], [0, "𝒴"], [0, "𝒵"], [0, "𝒶"], [0, "𝒷"], [0, "𝒸"], [0, "𝒹"], [1, "𝒻"], [1, "𝒽"], [0, "𝒾"], [0, "𝒿"], [0, "𝓀"], [0, "𝓁"], [0, "𝓂"], [0, "𝓃"], [1, "𝓅"], [0, "𝓆"], [0, "𝓇"], [0, "𝓈"], [0, "𝓉"], [0, "𝓊"], [0, "𝓋"], [0, "𝓌"], [0, "𝓍"], [0, "𝓎"], [0, "𝓏"], [52, "𝔄"], [0, "𝔅"], [1, "𝔇"], [0, "𝔈"], [0, "𝔉"], [0, "𝔊"], [2, "𝔍"], [0, "𝔎"], [0, "𝔏"], [0, "𝔐"], [0, "𝔑"], [0, "𝔒"], [0, "𝔓"], [0, "𝔔"], [1, "𝔖"], [0, "𝔗"], [0, "𝔘"], [0, "𝔙"], [0, "𝔚"], [0, "𝔛"], [0, "𝔜"], [1, "𝔞"], [0, "𝔟"], [0, "𝔠"], [0, "𝔡"], [0, "𝔢"], [0, "𝔣"], [0, "𝔤"], [0, "𝔥"], [0, "𝔦"], [0, "𝔧"], [0, "𝔨"], [0, "𝔩"], [0, "𝔪"], [0, "𝔫"], [0, "𝔬"], [0, "𝔭"], [0, "𝔮"], [0, "𝔯"], [0, "𝔰"], [0, "𝔱"], [0, "𝔲"], [0, "𝔳"], [0, "𝔴"], [0, "𝔵"], [0, "𝔶"], [0, "𝔷"], [0, "𝔸"], [0, "𝔹"], [1, "𝔻"], [0, "𝔼"], [0, "𝔽"], [0, "𝔾"], [1, "𝕀"], [0, "𝕁"], [0, "𝕂"], [0, "𝕃"], [0, "𝕄"], [1, "𝕆"], [3, "𝕊"], [0, "𝕋"], [0, "𝕌"], [0, "𝕍"], [0, "𝕎"], [0, "𝕏"], [0, "𝕐"], [1, "𝕒"], [0, "𝕓"], [0, "𝕔"], [0, "𝕕"], [0, "𝕖"], [0, "𝕗"], [0, "𝕘"], [0, "𝕙"], [0, "𝕚"], [0, "𝕛"], [0, "𝕜"], [0, "𝕝"], [0, "𝕞"], [0, "𝕟"], [0, "𝕠"], [0, "𝕡"], [0, "𝕢"], [0, "𝕣"], [0, "𝕤"], [0, "𝕥"], [0, "𝕦"], [0, "𝕧"], [0, "𝕨"], [0, "𝕩"], [0, "𝕪"], [0, "𝕫"]])) }], [8906, "ff"], [0, "fi"], [0, "fl"], [0, "ffi"], [0, "ffl"]])); +//# sourceMappingURL=encode-html.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/lib/index.js b/.output/server/node_modules/.nitro/entities@4.5.0/lib/index.js new file mode 100644 index 00000000..f809b1b6 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/lib/index.js @@ -0,0 +1,126 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0; +var decode_js_1 = require("./decode.js"); +var encode_js_1 = require("./encode.js"); +var escape_js_1 = require("./escape.js"); +/** The level of entities to support. */ +var EntityLevel; +(function (EntityLevel) { + /** Support only XML entities. */ + EntityLevel[EntityLevel["XML"] = 0] = "XML"; + /** Support HTML entities, which are a superset of XML entities. */ + EntityLevel[EntityLevel["HTML"] = 1] = "HTML"; +})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {})); +var EncodingMode; +(function (EncodingMode) { + /** + * The output is UTF-8 encoded. Only characters that need escaping within + * XML will be escaped. + */ + EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8"; + /** + * The output consists only of ASCII characters. Characters that need + * escaping within HTML, and characters that aren't ASCII characters will + * be escaped. + */ + EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII"; + /** + * Encode all characters that have an equivalent entity, as well as all + * characters that are not ASCII characters. + */ + EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive"; + /** + * Encode all characters that have to be escaped in HTML attributes, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + */ + EncodingMode[EncodingMode["Attribute"] = 3] = "Attribute"; + /** + * Encode all characters that have to be escaped in HTML text, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + */ + EncodingMode[EncodingMode["Text"] = 4] = "Text"; +})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {})); +/** + * Decodes a string with entities. + * + * @param data String to decode. + * @param options Decoding options. + */ +function decode(data, options) { + if (options === void 0) { options = EntityLevel.XML; } + var level = typeof options === "number" ? options : options.level; + if (level === EntityLevel.HTML) { + var mode = typeof options === "object" ? options.mode : undefined; + return (0, decode_js_1.decodeHTML)(data, mode); + } + return (0, decode_js_1.decodeXML)(data); +} +exports.decode = decode; +/** + * Decodes a string with entities. Does not allow missing trailing semicolons for entities. + * + * @param data String to decode. + * @param options Decoding options. + * @deprecated Use `decode` with the `mode` set to `Strict`. + */ +function decodeStrict(data, options) { + var _a; + if (options === void 0) { options = EntityLevel.XML; } + var opts = typeof options === "number" ? { level: options } : options; + (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = decode_js_1.DecodingMode.Strict); + return decode(data, opts); +} +exports.decodeStrict = decodeStrict; +/** + * Encodes a string with entities. + * + * @param data String to encode. + * @param options Encoding options. + */ +function encode(data, options) { + if (options === void 0) { options = EntityLevel.XML; } + var opts = typeof options === "number" ? { level: options } : options; + // Mode `UTF8` just escapes XML entities + if (opts.mode === EncodingMode.UTF8) + return (0, escape_js_1.escapeUTF8)(data); + if (opts.mode === EncodingMode.Attribute) + return (0, escape_js_1.escapeAttribute)(data); + if (opts.mode === EncodingMode.Text) + return (0, escape_js_1.escapeText)(data); + if (opts.level === EntityLevel.HTML) { + if (opts.mode === EncodingMode.ASCII) { + return (0, encode_js_1.encodeNonAsciiHTML)(data); + } + return (0, encode_js_1.encodeHTML)(data); + } + // ASCII and Extensive are equivalent + return (0, escape_js_1.encodeXML)(data); +} +exports.encode = encode; +var escape_js_2 = require("./escape.js"); +Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function () { return escape_js_2.encodeXML; } }); +Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return escape_js_2.escape; } }); +Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function () { return escape_js_2.escapeUTF8; } }); +Object.defineProperty(exports, "escapeAttribute", { enumerable: true, get: function () { return escape_js_2.escapeAttribute; } }); +Object.defineProperty(exports, "escapeText", { enumerable: true, get: function () { return escape_js_2.escapeText; } }); +var encode_js_2 = require("./encode.js"); +Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } }); +Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function () { return encode_js_2.encodeNonAsciiHTML; } }); +// Legacy aliases (deprecated) +Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } }); +Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } }); +var decode_js_2 = require("./decode.js"); +Object.defineProperty(exports, "EntityDecoder", { enumerable: true, get: function () { return decode_js_2.EntityDecoder; } }); +Object.defineProperty(exports, "DecodingMode", { enumerable: true, get: function () { return decode_js_2.DecodingMode; } }); +Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function () { return decode_js_2.decodeXML; } }); +Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } }); +Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } }); +Object.defineProperty(exports, "decodeHTMLAttribute", { enumerable: true, get: function () { return decode_js_2.decodeHTMLAttribute; } }); +// Legacy aliases (deprecated) +Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } }); +Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } }); +Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } }); +Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } }); +Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function () { return decode_js_2.decodeXML; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@4.5.0/package.json b/.output/server/node_modules/.nitro/entities@4.5.0/package.json new file mode 100644 index 00000000..9bf05dbf --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@4.5.0/package.json @@ -0,0 +1,90 @@ +{ + "name": "entities", + "version": "4.5.0", + "description": "Encode & decode XML and HTML entities with ease & speed", + "author": "Felix Boehm <me@feedic.com>", + "funding": "https://github.com/fb55/entities?sponsor=1", + "sideEffects": false, + "keywords": [ + "entity", + "decoding", + "encoding", + "html", + "xml", + "html entities" + ], + "directories": { + "lib": "lib/" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + ".": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "./lib/decode.js": { + "require": "./lib/decode.js", + "import": "./lib/esm/decode.js" + }, + "./lib/escape.js": { + "require": "./lib/escape.js", + "import": "./lib/esm/escape.js" + } + }, + "files": [ + "lib/**/*" + ], + "engines": { + "node": ">=0.12" + }, + "devDependencies": { + "@types/jest": "^28.1.8", + "@types/node": "^18.15.11", + "@typescript-eslint/eslint-plugin": "^5.58.0", + "@typescript-eslint/parser": "^5.58.0", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-node": "^11.1.0", + "jest": "^28.1.3", + "prettier": "^2.8.7", + "ts-jest": "^28.0.8", + "typedoc": "^0.24.1", + "typescript": "^5.0.4" + }, + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint .", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier '**/*.{ts,md,json,yml}'", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc --sourceRoot https://raw.githubusercontent.com/fb55/entities/$(git rev-parse HEAD)/src/", + "build:esm": "npm run build:cjs -- --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "build:docs": "typedoc --hideGenerator src/index.ts", + "build:trie": "ts-node scripts/write-decode-map.ts", + "build:encode-trie": "ts-node scripts/write-encode-map.ts", + "prepare": "npm run build" + }, + "repository": { + "type": "git", + "url": "git://github.com/fb55/entities.git" + }, + "license": "BSD-2-Clause", + "jest": { + "preset": "ts-jest", + "coverageProvider": "v8", + "moduleNameMapper": { + "^(.*)\\.js$": "$1" + } + }, + "prettier": { + "tabWidth": 4, + "proseWrap": "always" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode-codepoint.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode-codepoint.js new file mode 100644 index 00000000..ebb0d90d --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode-codepoint.js @@ -0,0 +1,77 @@ +"use strict"; +// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromCodePoint = void 0; +exports.replaceCodePoint = replaceCodePoint; +exports.decodeCodePoint = decodeCodePoint; +const decodeMap = new Map([ + [0, 65533], + // C1 Unicode control character reference replacements + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376], +]); +/** + * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point. + */ +exports.fromCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins +(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : ((codePoint) => { + let output = ""; + if (codePoint > 65535) { + codePoint -= 65536; + output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296); + codePoint = 56320 | (codePoint & 1023); + } + output += String.fromCharCode(codePoint); + return output; +}); +/** + * Replace the given code point with a replacement character if it is a + * surrogate or is outside the valid range. Otherwise return the code + * point unchanged. + */ +function replaceCodePoint(codePoint) { + var _a; + if ((codePoint >= 55296 && codePoint <= 57343) || + codePoint > 1114111) { + return 65533; + } + return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; +} +/** + * Replace the code point if relevant, then convert it to a string. + * + * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead. + * @param codePoint The code point to decode. + * @returns The decoded code point. + */ +function decodeCodePoint(codePoint) { + return (0, exports.fromCodePoint)(replaceCodePoint(codePoint)); +} +//# sourceMappingURL=decode-codepoint.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode.js new file mode 100644 index 00000000..1c4b89d8 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/decode.js @@ -0,0 +1,568 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xmlDecodeTree = exports.htmlDecodeTree = exports.replaceCodePoint = exports.fromCodePoint = exports.decodeCodePoint = exports.EntityDecoder = exports.DecodingMode = void 0; +exports.determineBranch = determineBranch; +exports.decodeHTML = decodeHTML; +exports.decodeHTMLAttribute = decodeHTMLAttribute; +exports.decodeHTMLStrict = decodeHTMLStrict; +exports.decodeXML = decodeXML; +const decode_codepoint_js_1 = require("./decode-codepoint.js"); +const decode_data_html_js_1 = require("./generated/decode-data-html.js"); +const decode_data_xml_js_1 = require("./generated/decode-data-xml.js"); +const bin_trie_flags_js_1 = require("./internal/bin-trie-flags.js"); +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["NUM"] = 35] = "NUM"; + CharCodes[CharCodes["SEMI"] = 59] = "SEMI"; + CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS"; + CharCodes[CharCodes["ZERO"] = 48] = "ZERO"; + CharCodes[CharCodes["NINE"] = 57] = "NINE"; + CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A"; + CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F"; + CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X"; + CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z"; + CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A"; + CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F"; + CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z"; +})(CharCodes || (CharCodes = {})); +/** Bit that needs to be set to convert an upper case ASCII character to lower case */ +const TO_LOWER_BIT = 32; +function isNumber(code) { + return code >= CharCodes.ZERO && code <= CharCodes.NINE; +} +function isHexadecimalCharacter(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F)); +} +function isAsciiAlphaNumeric(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) || + isNumber(code)); +} +/** + * Checks if the given character is a valid end character for an entity in an attribute. + * + * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error. + * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state + */ +function isEntityInAttributeInvalidEnd(code) { + return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); +} +var EntityDecoderState; +(function (EntityDecoderState) { + EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart"; + EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart"; + EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal"; + EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex"; + EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity"; +})(EntityDecoderState || (EntityDecoderState = {})); +var DecodingMode; +(function (DecodingMode) { + /** Entities in text nodes that can end with any character. */ + DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; + /** Only allow entities terminated with a semicolon. */ + DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; + /** Entities in attributes have limitations on ending characters. */ + DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute"; +})(DecodingMode || (exports.DecodingMode = DecodingMode = {})); +/** + * Token decoder with support of writing partial entities. + */ +class EntityDecoder { + constructor( + /** The tree used to decode entities. */ + // biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive + decodeTree, + /** + * The function that is called when a codepoint is decoded. + * + * For multi-byte named entities, this will be called multiple times, + * with the second codepoint, and the same `consumed` value. + * + * @param codepoint The decoded codepoint. + * @param consumed The number of bytes consumed by the decoder. + */ + emitCodePoint, + /** An object that is used to produce errors. */ + errors) { + this.decodeTree = decodeTree; + this.emitCodePoint = emitCodePoint; + this.errors = errors; + /** The current state of the decoder. */ + this.state = EntityDecoderState.EntityStart; + /** Characters that were consumed while parsing an entity. */ + this.consumed = 1; + /** + * The result of the entity. + * + * Either the result index of a numeric entity, or the codepoint of a + * numeric entity. + */ + this.result = 0; + /** The current index in the decode tree. */ + this.treeIndex = 0; + /** The number of characters that were consumed in excess. */ + this.excess = 1; + /** The mode in which the decoder is operating. */ + this.decodeMode = DecodingMode.Strict; + } + /** Resets the instance to make it reusable. */ + startEntity(decodeMode) { + this.decodeMode = decodeMode; + this.state = EntityDecoderState.EntityStart; + this.result = 0; + this.treeIndex = 0; + this.excess = 1; + this.consumed = 1; + } + /** + * Write an entity to the decoder. This can be called multiple times with partial entities. + * If the entity is incomplete, the decoder will return -1. + * + * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the + * entity is incomplete, and resume when the next string is written. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + write(input, offset) { + switch (this.state) { + case EntityDecoderState.EntityStart: { + if (input.charCodeAt(offset) === CharCodes.NUM) { + this.state = EntityDecoderState.NumericStart; + this.consumed += 1; + return this.stateNumericStart(input, offset + 1); + } + this.state = EntityDecoderState.NamedEntity; + return this.stateNamedEntity(input, offset); + } + case EntityDecoderState.NumericStart: { + return this.stateNumericStart(input, offset); + } + case EntityDecoderState.NumericDecimal: { + return this.stateNumericDecimal(input, offset); + } + case EntityDecoderState.NumericHex: { + return this.stateNumericHex(input, offset); + } + case EntityDecoderState.NamedEntity: { + return this.stateNamedEntity(input, offset); + } + } + } + /** + * Switches between the numeric decimal and hexadecimal states. + * + * Equivalent to the `Numeric character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericStart(input, offset) { + if (offset >= input.length) { + return -1; + } + if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { + this.state = EntityDecoderState.NumericHex; + this.consumed += 1; + return this.stateNumericHex(input, offset + 1); + } + this.state = EntityDecoderState.NumericDecimal; + return this.stateNumericDecimal(input, offset); + } + /** + * Parses a hexadecimal numeric entity. + * + * Equivalent to the `Hexademical character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericHex(input, offset) { + while (offset < input.length) { + const char = input.charCodeAt(offset); + if (isNumber(char) || isHexadecimalCharacter(char)) { + // Convert hex digit to value (0-15); 'a'/'A' -> 10. + const digit = char <= CharCodes.NINE + ? char - CharCodes.ZERO + : (char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10; + this.result = this.result * 16 + digit; + this.consumed++; + offset++; + } + else { + return this.emitNumericEntity(char, 3); + } + } + return -1; // Incomplete entity + } + /** + * Parses a decimal numeric entity. + * + * Equivalent to the `Decimal character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericDecimal(input, offset) { + while (offset < input.length) { + const char = input.charCodeAt(offset); + if (isNumber(char)) { + this.result = this.result * 10 + (char - CharCodes.ZERO); + this.consumed++; + offset++; + } + else { + return this.emitNumericEntity(char, 2); + } + } + return -1; // Incomplete entity + } + /** + * Validate and emit a numeric entity. + * + * Implements the logic from the `Hexademical character reference start + * state` and `Numeric character reference end state` in the HTML spec. + * + * @param lastCp The last code point of the entity. Used to see if the + * entity was terminated with a semicolon. + * @param expectedLength The minimum number of characters that should be + * consumed. Used to validate that at least one digit + * was consumed. + * @returns The number of characters that were consumed. + */ + emitNumericEntity(lastCp, expectedLength) { + var _a; + // Ensure we consumed at least one digit. + if (this.consumed <= expectedLength) { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + // Figure out if this is a legit end of the entity + if (lastCp === CharCodes.SEMI) { + this.consumed += 1; + } + else if (this.decodeMode === DecodingMode.Strict) { + return 0; + } + this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); + if (this.errors) { + if (lastCp !== CharCodes.SEMI) { + this.errors.missingSemicolonAfterCharacterReference(); + } + this.errors.validateNumericCharacterReference(this.result); + } + return this.consumed; + } + /** + * Parses a named entity. + * + * Equivalent to the `Named character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNamedEntity(input, offset) { + const { decodeTree } = this; + let current = decodeTree[this.treeIndex]; + // The length is the number of bytes of the value, including the current byte. + let valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + while (offset < input.length) { + // Handle compact runs (possibly inline): valueLength == 0 and SEMI_REQUIRED bit set. + if (valueLength === 0 && (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) { + const runLength = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7; /* 2..63 */ + const firstChar = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE; + // Fast-fail if we don't have enough remaining input for the full run (incomplete entity) + if (offset + runLength > input.length) + return -1; + // Verify first char + if (input.charCodeAt(offset) !== firstChar) { + return this.result === 0 + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + offset++; + this.excess++; + // Remaining characters after the first + const remaining = runLength - 1; + // Iterate over packed 2-char words + for (let runPos = 1; runPos < runLength; runPos += 2) { + const packedWord = decodeTree[this.treeIndex + 1 + ((runPos - 1) >> 1)]; + const low = packedWord & 0xff; + if (input.charCodeAt(offset) !== low) { + return this.result === 0 + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + offset++; + this.excess++; + const high = (packedWord >> 8) & 0xff; + if (runPos + 1 < runLength) { + if (input.charCodeAt(offset) !== high) { + return this.result === 0 + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + offset++; + this.excess++; + } + } + this.treeIndex += 1 + ((remaining + 1) >> 1); + current = decodeTree[this.treeIndex]; + valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + } + if (offset >= input.length) + break; + const char = input.charCodeAt(offset); + /* + * Implicit semicolon handling for nodes that require a semicolon but + * don't have an explicit ';' branch stored in the trie. If we have + * a value on the current node, it requires a semicolon, and the + * current input character is a semicolon, emit the entity using the + * current node (without descending further). + */ + if (char === CharCodes.SEMI && + valueLength !== 0 && + (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); + if (this.treeIndex < 0) { + return this.result === 0 || + // If we are parsing an attribute + (this.decodeMode === DecodingMode.Attribute && + // We shouldn't have consumed any characters after the entity, + (valueLength === 0 || + // And there should be no invalid characters. + isEntityInAttributeInvalidEnd(char))) + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + current = decodeTree[this.treeIndex]; + valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + // If the branch is a value, store it and continue + if (valueLength !== 0) { + // If the entity is terminated by a semicolon, we are done. + if (char === CharCodes.SEMI) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it. + if (this.decodeMode !== DecodingMode.Strict && + (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) === 0) { + this.result = this.treeIndex; + this.consumed += this.excess; + this.excess = 0; + } + } + // Increment offset & excess for next iteration + offset++; + this.excess++; + } + return -1; + } + /** + * Emit a named entity that was not terminated with a semicolon. + * + * @returns The number of characters consumed. + */ + emitNotTerminatedNamedEntity() { + var _a; + const { result, decodeTree } = this; + const valueLength = (decodeTree[result] & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + this.emitNamedEntityData(result, valueLength, this.consumed); + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); + return this.consumed; + } + /** + * Emit a named entity. + * + * @param result The index of the entity in the decode tree. + * @param valueLength The number of bytes in the entity. + * @param consumed The number of characters consumed. + * + * @returns The number of characters consumed. + */ + emitNamedEntityData(result, valueLength, consumed) { + const { decodeTree } = this; + this.emitCodePoint(valueLength === 1 + ? decodeTree[result] & + ~(bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH | bin_trie_flags_js_1.BinTrieFlags.FLAG13) + : decodeTree[result + 1], consumed); + if (valueLength === 3) { + // For multi-byte values, we need to emit the second byte. + this.emitCodePoint(decodeTree[result + 2], consumed); + } + return consumed; + } + /** + * Signal to the parser that the end of the input was reached. + * + * Remaining data will be emitted and relevant errors will be produced. + * + * @returns The number of characters consumed. + */ + end() { + var _a; + switch (this.state) { + case EntityDecoderState.NamedEntity: { + // Emit a named entity if we have one. + return this.result !== 0 && + (this.decodeMode !== DecodingMode.Attribute || + this.result === this.treeIndex) + ? this.emitNotTerminatedNamedEntity() + : 0; + } + // Otherwise, emit a numeric entity if we have one. + case EntityDecoderState.NumericDecimal: { + return this.emitNumericEntity(0, 2); + } + case EntityDecoderState.NumericHex: { + return this.emitNumericEntity(0, 3); + } + case EntityDecoderState.NumericStart: { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + case EntityDecoderState.EntityStart: { + // Return 0 if we have no entity. + return 0; + } + } + } +} +exports.EntityDecoder = EntityDecoder; +/** + * Creates a function that decodes entities in a string. + * + * @param decodeTree The decode tree. + * @returns A function that decodes entities in a string. + */ +function getDecoder(decodeTree) { + let returnValue = ""; + const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += (0, decode_codepoint_js_1.fromCodePoint)(data))); + return function decodeWithTrie(input, decodeMode) { + let lastIndex = 0; + let offset = 0; + while ((offset = input.indexOf("&", offset)) >= 0) { + returnValue += input.slice(lastIndex, offset); + decoder.startEntity(decodeMode); + const length = decoder.write(input, + // Skip the "&" + offset + 1); + if (length < 0) { + lastIndex = offset + decoder.end(); + break; + } + lastIndex = offset + length; + // If `length` is 0, skip the current `&` and continue. + offset = length === 0 ? lastIndex + 1 : lastIndex; + } + const result = returnValue + input.slice(lastIndex); + // Make sure we don't keep a reference to the final string. + returnValue = ""; + return result; + }; +} +/** + * Determines the branch of the current node that is taken given the current + * character. This function is used to traverse the trie. + * + * @param decodeTree The trie. + * @param current The current node. + * @param nodeIdx The index right after the current node and its value. + * @param char The current character. + * @returns The index of the next node, or -1 if no branch is taken. + */ +function determineBranch(decodeTree, current, nodeIndex, char) { + const branchCount = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7; + const jumpOffset = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE; + // Case 1: Single branch encoded in jump offset + if (branchCount === 0) { + return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1; + } + // Case 2: Multiple branches encoded in jump table + if (jumpOffset) { + const value = char - jumpOffset; + return value < 0 || value >= branchCount + ? -1 + : decodeTree[nodeIndex + value] - 1; + } + // Case 3: Multiple branches encoded in packed dictionary (two keys per uint16) + const packedKeySlots = (branchCount + 1) >> 1; + /* + * Treat packed keys as a virtual sorted array of length `branchCount`. + * Key(i) = low byte for even i, high byte for odd i in slot i>>1. + */ + let lo = 0; + let hi = branchCount - 1; + while (lo <= hi) { + const mid = (lo + hi) >>> 1; + const slot = mid >> 1; + const packed = decodeTree[nodeIndex + slot]; + const midKey = (packed >> ((mid & 1) * 8)) & 0xff; + if (midKey < char) { + lo = mid + 1; + } + else if (midKey > char) { + hi = mid - 1; + } + else { + return decodeTree[nodeIndex + packedKeySlots + mid]; + } + } + return -1; +} +const htmlDecoder = /* #__PURE__ */ getDecoder(decode_data_html_js_1.htmlDecodeTree); +const xmlDecoder = /* #__PURE__ */ getDecoder(decode_data_xml_js_1.xmlDecodeTree); +/** + * Decodes an HTML string. + * + * @param htmlString The string to decode. + * @param mode The decoding mode. + * @returns The decoded string. + */ +function decodeHTML(htmlString, mode = DecodingMode.Legacy) { + return htmlDecoder(htmlString, mode); +} +/** + * Decodes an HTML string in an attribute. + * + * @param htmlAttribute The string to decode. + * @returns The decoded string. + */ +function decodeHTMLAttribute(htmlAttribute) { + return htmlDecoder(htmlAttribute, DecodingMode.Attribute); +} +/** + * Decodes an HTML string, requiring all entities to be terminated by a semicolon. + * + * @param htmlString The string to decode. + * @returns The decoded string. + */ +function decodeHTMLStrict(htmlString) { + return htmlDecoder(htmlString, DecodingMode.Strict); +} +/** + * Decodes an XML string, requiring all entities to be terminated by a semicolon. + * + * @param xmlString The string to decode. + * @returns The decoded string. + */ +function decodeXML(xmlString) { + return xmlDecoder(xmlString, DecodingMode.Strict); +} +var decode_codepoint_js_2 = require("./decode-codepoint.js"); +Object.defineProperty(exports, "decodeCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.decodeCodePoint; } }); +Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } }); +Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } }); +// Re-export for use by eg. htmlparser2 +var decode_data_html_js_2 = require("./generated/decode-data-html.js"); +Object.defineProperty(exports, "htmlDecodeTree", { enumerable: true, get: function () { return decode_data_html_js_2.htmlDecodeTree; } }); +var decode_data_xml_js_2 = require("./generated/decode-data-xml.js"); +Object.defineProperty(exports, "xmlDecodeTree", { enumerable: true, get: function () { return decode_data_xml_js_2.xmlDecodeTree; } }); +//# sourceMappingURL=decode.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-html.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-html.js new file mode 100644 index 00000000..c02d503e --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-html.js @@ -0,0 +1,7 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.htmlDecodeTree = void 0; +const decode_shared_js_1 = require("../internal/decode-shared.js"); +exports.htmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"); +//# sourceMappingURL=decode-data-html.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-xml.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-xml.js new file mode 100644 index 00000000..9edfb906 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/generated/decode-data-xml.js @@ -0,0 +1,7 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xmlDecodeTree = void 0; +const decode_shared_js_1 = require("../internal/decode-shared.js"); +exports.xmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"); +//# sourceMappingURL=decode-data-xml.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/bin-trie-flags.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/bin-trie-flags.js new file mode 100644 index 00000000..c649d6a8 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/bin-trie-flags.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BinTrieFlags = void 0; +/** + * Bit flags & masks for the binary trie encoding used for entity decoding. + * + * Bit layout (16 bits total): + * 15..14 VALUE_LENGTH (+1 encoding; 0 => no value) + * 13 FLAG13. If valueLength>0: semicolon required flag (implicit ';'). + * If valueLength==0: compact run flag. + * 12..7 BRANCH_LENGTH Branch length (0 => single branch in 6..0 if jumpOffset==char) OR run length (when compact run) + * 6..0 JUMP_TABLE Jump offset (jump table) OR single-branch char code OR first run char + */ +var BinTrieFlags; +(function (BinTrieFlags) { + BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; + BinTrieFlags[BinTrieFlags["FLAG13"] = 8192] = "FLAG13"; + BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 8064] = "BRANCH_LENGTH"; + BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; +})(BinTrieFlags || (exports.BinTrieFlags = BinTrieFlags = {})); +//# sourceMappingURL=bin-trie-flags.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/decode-shared.js b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/decode-shared.js new file mode 100644 index 00000000..36d50f5c --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/internal/decode-shared.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeBase64 = decodeBase64; +/* + * Shared base64 decode helper for generated decode data. + * Assumes global atob is available. + */ +function decodeBase64(input) { + const binary = + // eslint-disable-next-line n/no-unsupported-features/node-builtins + typeof atob === "function" + ? // Browser (and Node >=16) + // eslint-disable-next-line n/no-unsupported-features/node-builtins + atob(input) + : // Older Node versions (<16) + // eslint-disable-next-line n/no-unsupported-features/node-builtins + typeof Buffer.from === "function" + ? // eslint-disable-next-line n/no-unsupported-features/node-builtins + Buffer.from(input, "base64").toString("binary") + : // eslint-disable-next-line unicorn/no-new-buffer, n/no-deprecated-api + new Buffer(input, "base64").toString("binary"); + const evenLength = binary.length & ~1; // Round down to even length + const out = new Uint16Array(evenLength / 2); + for (let index = 0, outIndex = 0; index < evenLength; index += 2) { + const lo = binary.charCodeAt(index); + const hi = binary.charCodeAt(index + 1); + out[outIndex++] = lo | (hi << 8); + } + return out; +} +//# sourceMappingURL=decode-shared.js.map \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/package.json b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/dist/commonjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/.output/server/node_modules/.nitro/entities@7.0.0/package.json b/.output/server/node_modules/.nitro/entities@7.0.0/package.json new file mode 100644 index 00000000..b8890fb9 --- /dev/null +++ b/.output/server/node_modules/.nitro/entities@7.0.0/package.json @@ -0,0 +1,113 @@ +{ + "name": "entities", + "version": "7.0.0", + "description": "Encode & decode XML and HTML entities with ease & speed", + "keywords": [ + "html entities", + "entity decoder", + "entity encoding", + "html decoding", + "html encoding", + "xml decoding", + "xml encoding" + ], + "repository": { + "type": "git", + "url": "https://github.com/fb55/entities.git" + }, + "funding": "https://github.com/fb55/entities?sponsor=1", + "license": "BSD-2-Clause", + "author": "Felix Boehm <me@feedic.com>", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/commonjs/index.d.ts", + "default": "./dist/commonjs/index.js" + } + }, + "./decode": { + "import": { + "types": "./dist/esm/decode.d.ts", + "default": "./dist/esm/decode.js" + }, + "require": { + "types": "./dist/commonjs/decode.d.ts", + "default": "./dist/commonjs/decode.js" + } + }, + "./escape": { + "import": { + "types": "./dist/esm/escape.d.ts", + "default": "./dist/esm/escape.js" + }, + "require": { + "types": "./dist/commonjs/escape.d.ts", + "default": "./dist/commonjs/escape.js" + } + } + }, + "main": "./dist/commonjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/commonjs/index.d.ts", + "files": [ + "decode.js", + "decode.d.ts", + "escape.js", + "escape.d.ts", + "dist", + "src" + ], + "scripts": { + "build:docs": "typedoc --hideGenerator src/index.ts", + "build:encode-trie": "node --import=tsx scripts/write-encode-map.ts", + "build:trie": "node --import=tsx scripts/write-decode-map.ts", + "format": "npm run format:es && npm run format:biome", + "format:es": "npm run lint:es -- --fix", + "format:biome": "biome check --fix .", + "lint": "npm run lint:es && npm run lint:ts && npm run lint:biome", + "lint:es": "eslint . --ignore-path .gitignore", + "lint:biome": "biome check .", + "lint:ts": "tsc --noEmit", + "prepublishOnly": "tshy", + "test": "npm run test:vi && npm run lint", + "test:vi": "vitest run" + }, + "devDependencies": { + "@biomejs/biome": "^2.2.3", + "@types/node": "^24.3.1", + "@typescript-eslint/eslint-plugin": "^8.42.0", + "@typescript-eslint/parser": "^8.33.1", + "@vitest/coverage-v8": "^3.2.4", + "eslint": "^8.57.1", + "eslint-config-biome": "^2.1.3", + "eslint-plugin-n": "^17.21.3", + "eslint-plugin-unicorn": "^56.0.1", + "tshy": "^3.0.2", + "tsx": "^4.20.5", + "typedoc": "^0.28.12", + "typescript": "^5.9.2", + "vitest": "^3.2.4" + }, + "engines": { + "node": ">=0.12" + }, + "tshy": { + "exclude": [ + "**/*.spec.ts", + "**/__fixtures__/*", + "**/__tests__/*", + "**/__snapshots__/*" + ], + "exports": { + ".": "./src/index.ts", + "./decode": "./src/decode.ts", + "./escape": "./src/escape.ts" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/at-rules.json b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/at-rules.json new file mode 100644 index 00000000..a58731c1 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/at-rules.json @@ -0,0 +1,620 @@ +{ + "@charset": { + "syntax": "@charset \"<charset>\";", + "groups": [ + "CSS Charsets" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@charset" + }, + "@counter-style": { + "syntax": "@counter-style <counter-style-name> {\n [ system: <counter-system>; ] ||\n [ symbols: <counter-symbols>; ] ||\n [ additive-symbols: <additive-symbols>; ] ||\n [ negative: <negative-symbol>; ] ||\n [ prefix: <prefix>; ] ||\n [ suffix: <suffix>; ] ||\n [ range: <range>; ] ||\n [ pad: <padding>; ] ||\n [ speak-as: <speak-as>; ] ||\n [ fallback: <counter-style-name>; ]\n}", + "interfaces": [ + "CSSCounterStyleRule" + ], + "groups": [ + "CSS Counter Styles" + ], + "descriptors": { + "additive-symbols": { + "syntax": "[ <integer> && <symbol> ]#", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "fallback": { + "syntax": "<counter-style-name>", + "media": "all", + "initial": "decimal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "negative": { + "syntax": "<symbol> <symbol>?", + "media": "all", + "initial": "\"-\" hyphen-minus", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "pad": { + "syntax": "<integer> && <symbol>", + "media": "all", + "initial": "0 \"\"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "prefix": { + "syntax": "<symbol>", + "media": "all", + "initial": "\"\"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "range": { + "syntax": "[ [ <integer> | infinite ]{2} ]# | auto", + "media": "all", + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "speak-as": { + "syntax": "auto | bullets | numbers | words | spell-out | <counter-style-name>", + "media": "all", + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "suffix": { + "syntax": "<symbol>", + "media": "all", + "initial": "\". \"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "symbols": { + "syntax": "<symbol>+", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "system": { + "syntax": "cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]", + "media": "all", + "initial": "symbolic", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@counter-style" + }, + "@document": { + "syntax": "@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule" + ], + "groups": [ + "CSS Conditional Rules" + ], + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@document" + }, + "@font-face": { + "syntax": "@font-face {\n [ font-family: <family-name>; ] ||\n [ src: <src>; ] ||\n [ unicode-range: <unicode-range>; ] ||\n [ font-variant: <font-variant>; ] ||\n [ font-feature-settings: <font-feature-settings>; ] ||\n [ font-variation-settings: <font-variation-settings>; ] ||\n [ font-stretch: <font-stretch>; ] ||\n [ font-weight: <font-weight>; ] ||\n [ font-style: <font-style>; ] ||\n [ size-adjust: <size-adjust>; ] ||\n [ ascent-override: <ascent-override>; ] ||\n [ descent-override: <descent-override>; ] ||\n [ line-gap-override: <line-gap-override>; ]\n}", + "interfaces": [ + "CSSFontFaceRule" + ], + "groups": [ + "CSS Fonts" + ], + "descriptors": { + "ascent-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "descent-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "font-display": { + "syntax": "[ auto | block | swap | fallback | optional ]", + "media": "visual", + "percentages": "no", + "initial": "auto", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "font-family": { + "syntax": "<family-name>", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-feature-settings": { + "syntax": "normal | <feature-tag-value>#", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "font-variation-settings": { + "syntax": "normal | [ <string> <number> ]#", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "font-stretch": { + "syntax": "<font-stretch-absolute>{1,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-style": { + "syntax": "normal | italic | oblique <angle>{0,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-weight": { + "syntax": "<font-weight-absolute>{1,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-variant": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "line-gap-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "size-adjust": { + "syntax": "<percentage>", + "media": "all", + "initial": "100%", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "src": { + "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "unicode-range": { + "syntax": "<unicode-range>#", + "media": "all", + "initial": "U+0-10FFFF", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-face" + }, + "@font-feature-values": { + "syntax": "@font-feature-values <family-name># {\n <feature-value-block-list>\n}", + "interfaces": [ + "CSSFontFeatureValuesRule" + ], + "groups": [ + "CSS Fonts" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-feature-values" + }, + "@import": { + "syntax": "@import [ <string> | <url> ]\n [ layer | layer(<layer-name>) ]?\n [ supports( [ <supports-condition> | <declaration> ] ) ]?\n <media-query-list>? ;", + "groups": [ + "CSS Conditional Rules", + "Media Queries" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@import" + }, + "@keyframes": { + "syntax": "@keyframes <keyframes-name> {\n <keyframe-block-list>\n}", + "interfaces": [ + "CSSKeyframeRule", + "CSSKeyframesRule" + ], + "groups": [ + "CSS Animations" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@keyframes" + }, + "@layer": { + "syntax": "@layer [ <layer-name># | <layer-name>? {\n <stylesheet>\n} ]", + "interfaces": [ + "CSSLayerBlockRule", + "CSSLayerStatementRule" + ], + "groups": [ + "CSS Cascading and Inheritance" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@layer" + }, + "@media": { + "syntax": "@media <media-query-list> {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule", + "CSSMediaRule", + "CSSCustomMediaRule" + ], + "groups": [ + "CSS Conditional Rules", + "Media Queries" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@media" + }, + "@namespace": { + "syntax": "@namespace <namespace-prefix>? [ <string> | <url> ];", + "groups": [ + "CSS Namespaces" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@namespace" + }, + "@page": { + "syntax": "@page <page-selector-list> {\n <page-body>\n}", + "interfaces": [ + "CSSPageRule" + ], + "groups": [ + "CSS Pages" + ], + "descriptors": { + "bleed": { + "syntax": "auto | <length>", + "media": [ + "visual", + "paged" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "marks": { + "syntax": "none | [ crop || cross ]", + "media": [ + "visual", + "paged" + ], + "initial": "none", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "size": { + "syntax": "<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]", + "media": [ + "visual", + "paged" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "orderOfAppearance", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@page" + }, + "@property": { + "syntax": "@property <custom-property-name> {\n <declaration-list>\n}", + "interfaces": [ + "CSS", + "CSSPropertyRule" + ], + "groups": [ + "CSS Houdini" + ], + "descriptors": { + "syntax": { + "syntax": "<string>", + "media": "all", + "percentages": "no", + "initial": "n/a (required)", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "inherits": { + "syntax": "true | false", + "media": "all", + "percentages": "no", + "initial": "auto", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "initial-value": { + "syntax": "<string>", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + } + }, + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@property" + }, + "@scroll-timeline": { + "syntax": "@scroll-timeline <timeline-name> { <declaration-list> }", + "interfaces": [ + "ScrollTimeline" + ], + "groups": [ + "CSS Animations" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@scroll-timeline" + }, + "@supports": { + "syntax": "@supports <supports-condition> {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule", + "CSSSupportsRule" + ], + "groups": [ + "CSS Conditional Rules" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@supports" + }, + "@viewport": { + "syntax": "@viewport {\n <group-rule-body>\n}", + "interfaces": [ + "CSSViewportRule" + ], + "groups": [ + "CSS Device Adaptation" + ], + "descriptors": { + "height": { + "syntax": "<viewport-length>{1,2}", + "media": [ + "visual", + "continuous" + ], + "initial": [ + "min-height", + "max-height" + ], + "percentages": [ + "min-height", + "max-height" + ], + "computed": [ + "min-height", + "max-height" + ], + "order": "orderOfAppearance", + "status": "standard" + }, + "max-height": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToHeightOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "max-width": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToWidthOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "max-zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + }, + "min-height": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToHeightOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "min-width": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToWidthOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "min-zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + }, + "orientation": { + "syntax": "auto | portrait | landscape", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToSizeOfBoundingBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "user-zoom": { + "syntax": "zoom | fixed", + "media": [ + "visual", + "continuous" + ], + "initial": "zoom", + "percentages": "referToSizeOfBoundingBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "viewport-fit": { + "syntax": "auto | contain | cover", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "width": { + "syntax": "<viewport-length>{1,2}", + "media": [ + "visual", + "continuous" + ], + "initial": [ + "min-width", + "max-width" + ], + "percentages": [ + "min-width", + "max-width" + ], + "computed": [ + "min-width", + "max-width" + ], + "order": "orderOfAppearance", + "status": "standard" + }, + "zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@viewport" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/properties.json b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/properties.json new file mode 100644 index 00000000..cd528a98 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/properties.json @@ -0,0 +1,9297 @@ +{ + "--*": { + "syntax": "<declaration-value>", + "media": "all", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Variables" + ], + "initial": "seeProse", + "appliesto": "allElements", + "computed": "asSpecifiedWithVarsSubstituted", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/--*" + }, + "-ms-accelerator": { + "syntax": "false | true", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "false", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator" + }, + "-ms-block-progression": { + "syntax": "tb | rl | bt | lr", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "tb", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression" + }, + "-ms-content-zoom-chaining": { + "syntax": "none | chained", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining" + }, + "-ms-content-zooming": { + "syntax": "none | zoom", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "zoomForTheTopLevelNoneForTheRest", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming" + }, + "-ms-content-zoom-limit": { + "syntax": "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit" + }, + "-ms-content-zoom-limit-max": { + "syntax": "<percentage>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "maxZoomFactor", + "groups": [ + "Microsoft Extensions" + ], + "initial": "400%", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max" + }, + "-ms-content-zoom-limit-min": { + "syntax": "<percentage>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "minZoomFactor", + "groups": [ + "Microsoft Extensions" + ], + "initial": "100%", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min" + }, + "-ms-content-zoom-snap": { + "syntax": "<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-content-zoom-snap-type", + "-ms-content-zoom-snap-points" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-content-zoom-snap-type", + "-ms-content-zoom-snap-points" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap" + }, + "-ms-content-zoom-snap-points": { + "syntax": "snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0%, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points" + }, + "-ms-content-zoom-snap-type": { + "syntax": "none | proximity | mandatory", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type" + }, + "-ms-filter": { + "syntax": "<string>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "\"\"", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-filter" + }, + "-ms-flow-from": { + "syntax": "[ none | <custom-ident> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from" + }, + "-ms-flow-into": { + "syntax": "[ none | <custom-ident> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "iframeElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into" + }, + "-ms-grid-columns": { + "syntax": "none | <track-list> | <auto-track-list>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns" + }, + "-ms-grid-rows": { + "syntax": "none | <track-list> | <auto-track-list>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows" + }, + "-ms-high-contrast-adjust": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust" + }, + "-ms-hyphenate-limit-chars": { + "syntax": "auto | <integer>{1,3}", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars" + }, + "-ms-hyphenate-limit-lines": { + "syntax": "no-limit | <integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "no-limit", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines" + }, + "-ms-hyphenate-limit-zone": { + "syntax": "<percentage> | <length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "referToLineBoxWidth", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone" + }, + "-ms-ime-align": { + "syntax": "auto | after", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align" + }, + "-ms-overflow-style": { + "syntax": "auto | none | scrollbar | -ms-autohiding-scrollbar", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style" + }, + "-ms-scrollbar-3dlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color" + }, + "-ms-scrollbar-arrow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ButtonText", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color" + }, + "-ms-scrollbar-base-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color" + }, + "-ms-scrollbar-darkshadow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDDarkShadow", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color" + }, + "-ms-scrollbar-face-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDFace", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color" + }, + "-ms-scrollbar-highlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDHighlight", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color" + }, + "-ms-scrollbar-shadow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDDarkShadow", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color" + }, + "-ms-scrollbar-track-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "Scrollbar", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color" + }, + "-ms-scroll-chaining": { + "syntax": "chained | none", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "chained", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining" + }, + "-ms-scroll-limit": { + "syntax": "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-limit-x-min", + "-ms-scroll-limit-y-min", + "-ms-scroll-limit-x-max", + "-ms-scroll-limit-y-max" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-limit-x-min", + "-ms-scroll-limit-y-min", + "-ms-scroll-limit-x-max", + "-ms-scroll-limit-y-max" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit" + }, + "-ms-scroll-limit-x-max": { + "syntax": "auto | <length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max" + }, + "-ms-scroll-limit-x-min": { + "syntax": "<length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min" + }, + "-ms-scroll-limit-y-max": { + "syntax": "auto | <length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max" + }, + "-ms-scroll-limit-y-min": { + "syntax": "<length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min" + }, + "-ms-scroll-rails": { + "syntax": "none | railed", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "railed", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails" + }, + "-ms-scroll-snap-points-x": { + "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0px, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x" + }, + "-ms-scroll-snap-points-y": { + "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0px, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y" + }, + "-ms-scroll-snap-type": { + "syntax": "none | proximity | mandatory", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type" + }, + "-ms-scroll-snap-x": { + "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-x" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-x" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x" + }, + "-ms-scroll-snap-y": { + "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-y" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-y" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y" + }, + "-ms-scroll-translation": { + "syntax": "none | vertical-to-horizontal", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation" + }, + "-ms-text-autospace": { + "syntax": "none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace" + }, + "-ms-touch-select": { + "syntax": "grippers | none", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "grippers", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select" + }, + "-ms-user-select": { + "syntax": "none | element | text", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "text", + "appliesto": "nonReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-user-select" + }, + "-ms-wrap-flow": { + "syntax": "auto | both | start | end | maximum | clear", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow" + }, + "-ms-wrap-margin": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "exclusionElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin" + }, + "-ms-wrap-through": { + "syntax": "wrap | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "wrap", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through" + }, + "-moz-appearance": { + "syntax": "none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "noneButOverriddenInUserAgentCSS", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "-moz-binding": { + "syntax": "<url> | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElementsExceptGeneratedContentOrPseudoElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-binding" + }, + "-moz-border-bottom-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors" + }, + "-moz-border-left-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors" + }, + "-moz-border-right-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors" + }, + "-moz-border-top-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors" + }, + "-moz-context-properties": { + "syntax": "none | [ fill | fill-opacity | stroke | stroke-opacity ]#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElementsThatCanReferenceImages", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties" + }, + "-moz-float-edge": { + "syntax": "border-box | content-box | margin-box | padding-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "content-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge" + }, + "-moz-force-broken-image-icon": { + "syntax": "0 | 1", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "images", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon" + }, + "-moz-image-region": { + "syntax": "<shape> | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "auto", + "appliesto": "xulImageElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-image-region" + }, + "-moz-orient": { + "syntax": "inline | block | horizontal | vertical", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "inline", + "appliesto": "anyElementEffectOnProgressAndMeter", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-orient" + }, + "-moz-outline-radius": { + "syntax": "<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "percentages": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "groups": [ + "Mozilla Extensions" + ], + "initial": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "appliesto": "allElements", + "computed": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius" + }, + "-moz-outline-radius-bottomleft": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft" + }, + "-moz-outline-radius-bottomright": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright" + }, + "-moz-outline-radius-topleft": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft" + }, + "-moz-outline-radius-topright": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright" + }, + "-moz-stack-sizing": { + "syntax": "ignore | stretch-to-fit", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "stretch-to-fit", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing" + }, + "-moz-text-blink": { + "syntax": "none | blink", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink" + }, + "-moz-user-focus": { + "syntax": "ignore | normal | select-after | select-before | select-menu | select-same | select-all | none", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus" + }, + "-moz-user-input": { + "syntax": "auto | none | enabled | disabled", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-input" + }, + "-moz-user-modify": { + "syntax": "read-only | read-write | write-only", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "read-only", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify" + }, + "-moz-window-dragging": { + "syntax": "drag | no-drag", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "drag", + "appliesto": "allElementsCreatingNativeWindows", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging" + }, + "-moz-window-shadow": { + "syntax": "default | menu | tooltip | sheet | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "default", + "appliesto": "allElementsCreatingNativeWindows", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow" + }, + "-webkit-appearance": { + "syntax": "none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "noneButOverriddenInUserAgentCSS", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "-webkit-border-before": { + "syntax": "<'border-width'> || <'border-style'> || <color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": [ + "-webkit-border-before-width" + ], + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "color" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before" + }, + "-webkit-border-before-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-border-before-style": { + "syntax": "<'border-style'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-border-before-width": { + "syntax": "<'border-width'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "WebKit Extensions" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-box-reflect": { + "syntax": "[ above | below | right | left ]? <length>? <image>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect" + }, + "-webkit-line-clamp": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "WebKit Extensions", + "CSS Overflow" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp" + }, + "-webkit-mask": { + "syntax": "[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "-webkit-mask-image", + "-webkit-mask-repeat", + "-webkit-mask-attachment", + "-webkit-mask-position", + "-webkit-mask-origin", + "-webkit-mask-clip" + ], + "appliesto": "allElements", + "computed": [ + "-webkit-mask-image", + "-webkit-mask-repeat", + "-webkit-mask-attachment", + "-webkit-mask-position", + "-webkit-mask-origin", + "-webkit-mask-clip" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask" + }, + "-webkit-mask-attachment": { + "syntax": "<attachment>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "scroll", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment" + }, + "-webkit-mask-clip": { + "syntax": "[ <box> | border | padding | content | text ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "border", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip" + }, + "-webkit-mask-composite": { + "syntax": "<composite-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "source-over", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite" + }, + "-webkit-mask-image": { + "syntax": "<mask-reference>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "absoluteURIOrNone", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image" + }, + "-webkit-mask-origin": { + "syntax": "[ <box> | border | padding | content ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "padding", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin" + }, + "-webkit-mask-position": { + "syntax": "<position>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0% 0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position" + }, + "-webkit-mask-position-x": { + "syntax": "[ <length-percentage> | left | center | right ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x" + }, + "-webkit-mask-position-y": { + "syntax": "[ <length-percentage> | top | center | bottom ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y" + }, + "-webkit-mask-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat" + }, + "-webkit-mask-repeat-x": { + "syntax": "repeat | no-repeat | space | round", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x" + }, + "-webkit-mask-repeat-y": { + "syntax": "repeat | no-repeat | space | round", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y" + }, + "-webkit-mask-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToBackgroundPositioningArea", + "groups": [ + "WebKit Extensions" + ], + "initial": "auto auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size" + }, + "-webkit-overflow-scrolling": { + "syntax": "auto | touch", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling" + }, + "-webkit-tap-highlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "black", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color" + }, + "-webkit-text-fill-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color" + }, + "-webkit-text-stroke": { + "syntax": "<length> || <color>", + "media": "visual", + "inherited": true, + "animationType": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "appliesto": "allElements", + "computed": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "order": "canonicalOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke" + }, + "-webkit-text-stroke-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color" + }, + "-webkit-text-stroke-width": { + "syntax": "<length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "absoluteLength", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width" + }, + "-webkit-touch-callout": { + "syntax": "default | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "default", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout" + }, + "-webkit-user-modify": { + "syntax": "read-only | read-write | read-write-plaintext-only", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "read-only", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "accent-color": { + "syntax": "auto | <color>", + "media": "interactive", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asAutoOrColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/accent-color" + }, + "align-content": { + "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multilineFlexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-content" + }, + "align-items": { + "syntax": "normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-items" + }, + "align-self": { + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "auto", + "appliesto": "flexItemsGridItemsAndAbsolutelyPositionedBoxes", + "computed": "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-self" + }, + "align-tracks": { + "syntax": "[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "normal", + "appliesto": "gridContainersWithMasonryLayoutInTheirBlockAxis", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-tracks" + }, + "all": { + "syntax": "initial | inherit | unset | revert | revert-layer", + "media": "noPracticalMedia", + "inherited": false, + "animationType": "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection", + "percentages": "no", + "groups": [ + "CSS Miscellaneous" + ], + "initial": "noPracticalInitialValue", + "appliesto": "allElements", + "computed": "asSpecifiedAppliesToEachProperty", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/all" + }, + "animation": { + "syntax": "<single-animation>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": [ + "animation-name", + "animation-duration", + "animation-timing-function", + "animation-delay", + "animation-iteration-count", + "animation-direction", + "animation-fill-mode", + "animation-play-state", + "animation-timeline" + ], + "appliesto": "allElementsAndPseudos", + "computed": [ + "animation-name", + "animation-duration", + "animation-timing-function", + "animation-delay", + "animation-direction", + "animation-iteration-count", + "animation-fill-mode", + "animation-play-state", + "animation-timeline" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation" + }, + "animation-delay": { + "syntax": "<time>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-delay" + }, + "animation-direction": { + "syntax": "<single-animation-direction>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "normal", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-direction" + }, + "animation-duration": { + "syntax": "<time>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-duration" + }, + "animation-fill-mode": { + "syntax": "<single-animation-fill-mode>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "none", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode" + }, + "animation-iteration-count": { + "syntax": "<single-animation-iteration-count>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "1", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count" + }, + "animation-name": { + "syntax": "[ none | <keyframes-name> ]#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "none", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-name" + }, + "animation-play-state": { + "syntax": "<single-animation-play-state>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "running", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-play-state" + }, + "animation-timing-function": { + "syntax": "<easing-function>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "ease", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timing-function" + }, + "animation-timeline": { + "syntax": "<single-animation-timeline>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "listEachItemIdentifyerOrNoneAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timeline" + }, + "appearance": { + "syntax": "none | auto | textfield | menulist-button | <compat-auto>", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "aspect-ratio": { + "syntax": "auto | <ratio>", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/aspect-ratio" + }, + "azimuth": { + "syntax": "<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards", + "media": "aural", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Speech" + ], + "initial": "center", + "appliesto": "allElements", + "computed": "normalizedAngle", + "order": "orderOfAppearance", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/azimuth" + }, + "backdrop-filter": { + "syntax": "none | <filter-function-list>", + "media": "visual", + "inherited": false, + "animationType": "filterList", + "percentages": "no", + "groups": [ + "Filter Effects" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backdrop-filter" + }, + "backface-visibility": { + "syntax": "visible | hidden", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "visible", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backface-visibility" + }, + "background": { + "syntax": "[ <bg-layer> , ]* <final-bg-layer>", + "media": "visual", + "inherited": false, + "animationType": [ + "background-color", + "background-image", + "background-clip", + "background-position", + "background-size", + "background-repeat", + "background-attachment" + ], + "percentages": [ + "background-position", + "background-size" + ], + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "background-image", + "background-position", + "background-size", + "background-repeat", + "background-origin", + "background-clip", + "background-attachment", + "background-color" + ], + "appliesto": "allElements", + "computed": [ + "background-image", + "background-position", + "background-size", + "background-repeat", + "background-origin", + "background-clip", + "background-attachment", + "background-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background" + }, + "background-attachment": { + "syntax": "<attachment>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "scroll", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-attachment" + }, + "background-blend-mode": { + "syntax": "<blend-mode>#", + "media": "none", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "normal", + "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-blend-mode" + }, + "background-clip": { + "syntax": "<box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "border-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-clip" + }, + "background-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "transparent", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-color" + }, + "background-image": { + "syntax": "<bg-image>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-image" + }, + "background-origin": { + "syntax": "<box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "padding-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-origin" + }, + "background-position": { + "syntax": "<bg-position>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0% 0%", + "appliesto": "allElements", + "computed": [ + "background-position-x", + "background-position-y" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position" + }, + "background-position-x": { + "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-x" + }, + "background-position-y": { + "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-y" + }, + "background-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "listEachItemHasTwoKeywordsOnePerDimension", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-repeat" + }, + "background-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "relativeToBackgroundPositioningArea", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "auto auto", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-size" + }, + "block-overflow": { + "syntax": "clip | ellipsis | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "clip", + "appliesto": "blockContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "block-size": { + "syntax": "<'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsWidthAndHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/block-size" + }, + "border": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-color", + "border-style", + "border-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-width", + "border-style", + "border-color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border" + }, + "border-block": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block" + }, + "border-block-color": { + "syntax": "<'border-top-color'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-color" + }, + "border-block-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-style" + }, + "border-block-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-width" + }, + "border-block-end": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-block-end-color", + "border-block-end-style", + "border-block-end-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end" + }, + "border-block-end-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-color" + }, + "border-block-end-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-style" + }, + "border-block-end-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-width" + }, + "border-block-start": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-block-start-color", + "border-block-start-style", + "border-block-start-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-block-start-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start" + }, + "border-block-start-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-color" + }, + "border-block-start-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-style" + }, + "border-block-start-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-width" + }, + "border-bottom": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-color", + "border-bottom-style", + "border-bottom-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-bottom-width", + "border-bottom-style", + "border-bottom-color" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-width", + "border-bottom-style", + "border-bottom-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom" + }, + "border-bottom-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-color" + }, + "border-bottom-left-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius" + }, + "border-bottom-right-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius" + }, + "border-bottom-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-style" + }, + "border-bottom-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-width" + }, + "border-collapse": { + "syntax": "collapse | separate", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "separate", + "appliesto": "tableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-collapse" + }, + "border-color": { + "syntax": "<color>{1,4}", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-color", + "border-left-color", + "border-right-color", + "border-top-color" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-color", + "border-right-color", + "border-bottom-color", + "border-left-color" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-color", + "border-left-color", + "border-right-color", + "border-top-color" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-color" + }, + "border-end-end-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius" + }, + "border-end-start-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius" + }, + "border-image": { + "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "border-image-slice", + "border-image-width" + ], + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-image-source", + "border-image-slice", + "border-image-width", + "border-image-outset", + "border-image-repeat" + ], + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": [ + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image" + }, + "border-image-outset": { + "syntax": "[ <length> | <number> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-outset" + }, + "border-image-repeat": { + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "stretch", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-repeat" + }, + "border-image-slice": { + "syntax": "<number-percentage>{1,4} && fill?", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToSizeOfBorderImage", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "100%", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "oneToFourPercentagesOrAbsoluteLengthsPlusFill", + "order": "percentagesOrLengthsFollowedByFill", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-slice" + }, + "border-image-source": { + "syntax": "none | <image>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "noneOrImageWithAbsoluteURI", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-source" + }, + "border-image-width": { + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToWidthOrHeightOfBorderImageArea", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "1", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-width" + }, + "border-inline": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline" + }, + "border-inline-end": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-inline-end-color", + "border-inline-end-style", + "border-inline-end-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-inline-end-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end" + }, + "border-inline-color": { + "syntax": "<'border-top-color'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-color" + }, + "border-inline-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-style" + }, + "border-inline-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-width" + }, + "border-inline-end-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color" + }, + "border-inline-end-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style" + }, + "border-inline-end-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width" + }, + "border-inline-start": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-inline-start-color", + "border-inline-start-style", + "border-inline-start-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-inline-start-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start" + }, + "border-inline-start-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color" + }, + "border-inline-start-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style" + }, + "border-inline-start-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width" + }, + "border-left": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-left-color", + "border-left-style", + "border-left-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-left-width", + "border-left-style", + "border-left-color" + ], + "appliesto": "allElements", + "computed": [ + "border-left-width", + "border-left-style", + "border-left-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left" + }, + "border-left-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-color" + }, + "border-left-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-style" + }, + "border-left-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-width" + }, + "border-radius": { + "syntax": "<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius" + ], + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius" + ], + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": [ + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-top-left-radius", + "border-top-right-radius" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-radius" + }, + "border-right": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-right-color", + "border-right-style", + "border-right-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-right-width", + "border-right-style", + "border-right-color" + ], + "appliesto": "allElements", + "computed": [ + "border-right-width", + "border-right-style", + "border-right-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right" + }, + "border-right-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-color" + }, + "border-right-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-style" + }, + "border-right-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderRightStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-width" + }, + "border-spacing": { + "syntax": "<length> <length>?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "0", + "appliesto": "tableElements", + "computed": "twoAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-spacing" + }, + "border-start-end-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius" + }, + "border-start-start-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius" + }, + "border-style": { + "syntax": "<line-style>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-style", + "border-right-style", + "border-bottom-style", + "border-left-style" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-style", + "border-left-style", + "border-right-style", + "border-top-style" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-style" + }, + "border-top": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-top-color", + "border-top-style", + "border-top-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top" + }, + "border-top-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-color" + }, + "border-top-left-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius" + }, + "border-top-right-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius" + }, + "border-top-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-style" + }, + "border-top-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderTopStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-width" + }, + "border-width": { + "syntax": "<line-width>{1,4}", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-width", + "border-left-width", + "border-right-width", + "border-top-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-width", + "border-right-width", + "border-bottom-width", + "border-left-width" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-width", + "border-left-width", + "border-right-width", + "border-top-width" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-width" + }, + "bottom": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToContainingBlockHeight", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/bottom" + }, + "box-align": { + "syntax": "start | center | end | baseline | stretch", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "stretch", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-align" + }, + "box-decoration-break": { + "syntax": "slice | clone", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "slice", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-decoration-break" + }, + "box-direction": { + "syntax": "normal | reverse | inherit", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "normal", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-direction" + }, + "box-flex": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "0", + "appliesto": "directChildrenOfElementsWithDisplayMozBoxMozInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex" + }, + "box-flex-group": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "1", + "appliesto": "inFlowChildrenOfBoxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex-group" + }, + "box-lines": { + "syntax": "single | multiple", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "single", + "appliesto": "boxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-lines" + }, + "box-ordinal-group": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "1", + "appliesto": "childrenOfBoxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group" + }, + "box-orient": { + "syntax": "horizontal | vertical | inline-axis | block-axis | inherit", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "inlineAxisHorizontalInXUL", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-orient" + }, + "box-pack": { + "syntax": "start | center | end | justify", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "start", + "appliesto": "elementsWithDisplayMozBoxMozInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-pack" + }, + "box-shadow": { + "syntax": "none | <shadow>#", + "media": "visual", + "inherited": false, + "animationType": "shadowList", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "absoluteLengthsSpecifiedColorAsSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-shadow" + }, + "box-sizing": { + "syntax": "content-box | border-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "content-box", + "appliesto": "allElementsAcceptingWidthOrHeight", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-sizing" + }, + "break-after": { + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-after" + }, + "break-before": { + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-before" + }, + "break-inside": { + "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-inside" + }, + "caption-side": { + "syntax": "top | bottom | block-start | block-end | inline-start | inline-end", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "top", + "appliesto": "tableCaptionElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caption-side" + }, + "caret-color": { + "syntax": "auto | <color>", + "media": "interactive", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asAutoOrColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caret-color" + }, + "clear": { + "syntax": "none | left | right | both | inline-start | inline-end", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "none", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clear" + }, + "clip": { + "syntax": "<shape> | auto", + "media": "visual", + "inherited": false, + "animationType": "rectangle", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "absolutelyPositionedElements", + "computed": "autoOrRectangle", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip" + }, + "clip-path": { + "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none", + "media": "visual", + "inherited": false, + "animationType": "basicShapeOtherwiseNo", + "percentages": "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip-path" + }, + "color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "canvastext", + "appliesto": "allElementsAndText", + "computed": "computedColor", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color" + }, + "print-color-adjust": { + "syntax": "economy | exact", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "economy", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/print-color-adjust" + }, + "color-scheme": { + "syntax": "normal | [ light | dark | <custom-ident> ]+ && only?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "normal", + "appliesto": "allElementsAndText", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color-scheme" + }, + "column-count": { + "syntax": "<integer> | auto", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "auto", + "appliesto": "blockContainersExceptTableWrappers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-count" + }, + "column-fill": { + "syntax": "auto | balance | balance-all", + "media": "visualInContinuousMediaNoEffectInOverflowColumns", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "balance", + "appliesto": "multicolElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-fill" + }, + "column-gap": { + "syntax": "normal | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap" + }, + "column-rule": { + "syntax": "<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>", + "media": "visual", + "inherited": false, + "animationType": [ + "column-rule-color", + "column-rule-style", + "column-rule-width" + ], + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": [ + "column-rule-width", + "column-rule-style", + "column-rule-color" + ], + "appliesto": "multicolElements", + "computed": [ + "column-rule-color", + "column-rule-style", + "column-rule-width" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule" + }, + "column-rule-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "currentcolor", + "appliesto": "multicolElements", + "computed": "computedColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-color" + }, + "column-rule-style": { + "syntax": "<'border-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "none", + "appliesto": "multicolElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-style" + }, + "column-rule-width": { + "syntax": "<'border-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "medium", + "appliesto": "multicolElements", + "computed": "absoluteLength0IfColumnRuleStyleNoneOrHidden", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-width" + }, + "column-span": { + "syntax": "none | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "none", + "appliesto": "inFlowBlockLevelElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-span" + }, + "column-width": { + "syntax": "<length> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "auto", + "appliesto": "blockContainersExceptTableWrappers", + "computed": "absoluteLengthZeroOrLarger", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-width" + }, + "columns": { + "syntax": "<'column-width'> || <'column-count'>", + "media": "visual", + "inherited": false, + "animationType": [ + "column-width", + "column-count" + ], + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": [ + "column-width", + "column-count" + ], + "appliesto": "blockContainersExceptTableWrappers", + "computed": [ + "column-width", + "column-count" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/columns" + }, + "contain": { + "syntax": "none | strict | content | [ size || layout || style || paint ]", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain" + }, + "content": { + "syntax": "normal | none | [ <content-replacement> | <content-list> ] [/ [ <string> | <counter> ]+ ]?", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Generated Content" + ], + "initial": "normal", + "appliesto": "allElementsTreeAbidingPseudoElementsPageMarginBoxes", + "computed": "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/content" + }, + "content-visibility": { + "syntax": "visible | auto | hidden", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "visible", + "appliesto": "elementsForWhichLayoutContainmentCanApply", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/content-visibility" + }, + "counter-increment": { + "syntax": "[ <counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-increment" + }, + "counter-reset": { + "syntax": "[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-reset" + }, + "counter-set": { + "syntax": "[ <counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-set" + }, + "cursor": { + "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]", + "media": [ + "visual", + "interactive" + ], + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/cursor" + }, + "direction": { + "syntax": "ltr | rtl", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "ltr", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/direction" + }, + "display": { + "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>", + "media": "all", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Display" + ], + "initial": "inline", + "appliesto": "allElements", + "computed": "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/display" + }, + "empty-cells": { + "syntax": "show | hide", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "show", + "appliesto": "tableCellElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/empty-cells" + }, + "filter": { + "syntax": "none | <filter-function-list>", + "media": "visual", + "inherited": false, + "animationType": "filterList", + "percentages": "no", + "groups": [ + "Filter Effects" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/filter" + }, + "flex": { + "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]", + "media": "visual", + "inherited": false, + "animationType": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "appliesto": "flexItemsAndInFlowPseudos", + "computed": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex" + }, + "flex-basis": { + "syntax": "content | <'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToFlexContainersInnerMainSize", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "auto", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "lengthOrPercentageBeforeKeywordIfBothPresent", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-basis" + }, + "flex-direction": { + "syntax": "row | row-reverse | column | column-reverse", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "row", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-direction" + }, + "flex-flow": { + "syntax": "<'flex-direction'> || <'flex-wrap'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": [ + "flex-direction", + "flex-wrap" + ], + "appliesto": "flexContainers", + "computed": [ + "flex-direction", + "flex-wrap" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-flow" + }, + "flex-grow": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "0", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-grow" + }, + "flex-shrink": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "1", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-shrink" + }, + "flex-wrap": { + "syntax": "nowrap | wrap | wrap-reverse", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "nowrap", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-wrap" + }, + "float": { + "syntax": "left | right | none | inline-start | inline-end", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "none", + "appliesto": "allElementsNoEffectIfDisplayNone", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/float" + }, + "font": { + "syntax": "[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar", + "media": "visual", + "inherited": true, + "animationType": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "percentages": [ + "font-size", + "line-height" + ], + "groups": [ + "CSS Fonts" + ], + "initial": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "appliesto": "allElements", + "computed": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font" + }, + "font-family": { + "syntax": "[ <family-name> | <generic-family> ]#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-family" + }, + "font-feature-settings": { + "syntax": "normal | <feature-tag-value>#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-feature-settings" + }, + "font-kerning": { + "syntax": "auto | normal | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-kerning" + }, + "font-language-override": { + "syntax": "normal | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-language-override" + }, + "font-optical-sizing": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing" + }, + "font-variation-settings": { + "syntax": "normal | [ <string> <number> ]#", + "media": "visual", + "inherited": true, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variation-settings" + }, + "font-size": { + "syntax": "<absolute-size> | <relative-size> | <length-percentage>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "referToParentElementsFontSize", + "groups": [ + "CSS Fonts" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size" + }, + "font-size-adjust": { + "syntax": "none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]", + "media": "visual", + "inherited": true, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size-adjust" + }, + "font-smooth": { + "syntax": "auto | never | always | <absolute-size> | <length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-smooth" + }, + "font-stretch": { + "syntax": "<font-stretch-absolute>", + "media": "visual", + "inherited": true, + "animationType": "fontStretch", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-stretch" + }, + "font-style": { + "syntax": "normal | italic | oblique <angle>?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-style" + }, + "font-synthesis": { + "syntax": "none | [ weight || style || small-caps ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "weight style", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-synthesis" + }, + "font-variant": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant" + }, + "font-variant-alternates": { + "syntax": "normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates" + }, + "font-variant-caps": { + "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-caps" + }, + "font-variant-east-asian": { + "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian" + }, + "font-variant-ligatures": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures" + }, + "font-variant-numeric": { + "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric" + }, + "font-variant-position": { + "syntax": "normal | sub | super", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-position" + }, + "font-weight": { + "syntax": "<font-weight-absolute> | bolder | lighter", + "media": "visual", + "inherited": true, + "animationType": "fontWeight", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "keywordOrNumericalValueBolderLighterTransformedToRealValue", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-weight" + }, + "forced-color-adjust": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "auto", + "appliesto": "allElementsAndText", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust" + }, + "gap": { + "syntax": "<'row-gap'> <'column-gap'>?", + "media": "visual", + "inherited": false, + "animationType": [ + "row-gap", + "column-gap" + ], + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "row-gap", + "column-gap" + ], + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": [ + "row-gap", + "column-gap" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap" + }, + "grid": { + "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "grid-template-rows", + "grid-template-columns", + "grid-auto-rows", + "grid-auto-columns" + ], + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-template-rows", + "grid-template-columns", + "grid-template-areas", + "grid-auto-rows", + "grid-auto-columns", + "grid-auto-flow", + "grid-column-gap", + "grid-row-gap", + "column-gap", + "row-gap" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-template-rows", + "grid-template-columns", + "grid-template-areas", + "grid-auto-rows", + "grid-auto-columns", + "grid-auto-flow", + "grid-column-gap", + "grid-row-gap", + "column-gap", + "row-gap" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid" + }, + "grid-area": { + "syntax": "<grid-line> [ / <grid-line> ]{0,3}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-start", + "grid-column-start", + "grid-row-end", + "grid-column-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-row-start", + "grid-column-start", + "grid-row-end", + "grid-column-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-area" + }, + "grid-auto-columns": { + "syntax": "<track-size>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns" + }, + "grid-auto-flow": { + "syntax": "[ row | column ] || dense", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "row", + "appliesto": "gridContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow" + }, + "grid-auto-rows": { + "syntax": "<track-size>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows" + }, + "grid-column": { + "syntax": "<grid-line> [ / <grid-line> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-column-start", + "grid-column-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-column-start", + "grid-column-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column" + }, + "grid-column-end": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-end" + }, + "grid-column-gap": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "0", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap" + }, + "grid-column-start": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-start" + }, + "grid-gap": { + "syntax": "<'grid-row-gap'> <'grid-column-gap'>?", + "media": "visual", + "inherited": false, + "animationType": [ + "grid-row-gap", + "grid-column-gap" + ], + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-gap", + "grid-column-gap" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-row-gap", + "grid-column-gap" + ], + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap" + }, + "grid-row": { + "syntax": "<grid-line> [ / <grid-line> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-start", + "grid-row-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-row-start", + "grid-row-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row" + }, + "grid-row-end": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-end" + }, + "grid-row-gap": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "0", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap" + }, + "grid-row-start": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-start" + }, + "grid-template": { + "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "grid-template-columns", + "grid-template-rows" + ], + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-template-columns", + "grid-template-rows", + "grid-template-areas" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-template-columns", + "grid-template-rows", + "grid-template-areas" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template" + }, + "grid-template-areas": { + "syntax": "none | <string>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-areas" + }, + "grid-template-columns": { + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-columns" + }, + "grid-template-rows": { + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-rows" + }, + "hanging-punctuation": { + "syntax": "none | [ first || [ force-end | allow-end ] || last ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation" + }, + "height": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAutoOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/height" + }, + "hyphenate-character": { + "syntax": "auto | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hyphenate-character" + }, + "hyphens": { + "syntax": "none | manual | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "manual", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hyphens" + }, + "image-orientation": { + "syntax": "from-image | <angle> | [ <angle>? flip ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "from-image", + "appliesto": "allElements", + "computed": "angleRoundedToNextQuarter", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-orientation" + }, + "image-rendering": { + "syntax": "auto | crisp-edges | pixelated", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-rendering" + }, + "image-resolution": { + "syntax": "[ from-image || <resolution> ] && snap?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "1dppx", + "appliesto": "allElements", + "computed": "asSpecifiedWithExceptionOfResolution", + "order": "uniqueOrder", + "status": "experimental" + }, + "ime-mode": { + "syntax": "auto | normal | active | inactive | disabled", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "textFields", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ime-mode" + }, + "initial-letter": { + "syntax": "normal | [ <number> <integer>? ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Inline" + ], + "initial": "normal", + "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter" + }, + "initial-letter-align": { + "syntax": "[ auto | alphabetic | hanging | ideographic ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Inline" + ], + "initial": "auto", + "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter-align" + }, + "inline-size": { + "syntax": "<'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsWidthAndHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inline-size" + }, + "input-security": { + "syntax": "auto | none", + "media": "interactive", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "sensitiveTextInputs", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard" + }, + "inset": { + "syntax": "<'top'>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOrWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset" + }, + "inset-block": { + "syntax": "<'top'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block" + }, + "inset-block-end": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-end" + }, + "inset-block-start": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-start" + }, + "inset-inline": { + "syntax": "<'top'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline" + }, + "inset-inline-end": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-end" + }, + "inset-inline-start": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-start" + }, + "isolation": { + "syntax": "auto | isolate", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/isolation" + }, + "justify-content": { + "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-content" + }, + "justify-items": { + "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "legacy", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-items" + }, + "justify-self": { + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "auto", + "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-self" + }, + "justify-tracks": { + "syntax": "[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "normal", + "appliesto": "gridContainersWithMasonryLayoutInTheirInlineAxis", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-tracks" + }, + "left": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/left" + }, + "letter-spacing": { + "syntax": "normal | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "optimumValueOfAbsoluteLengthOrNormal", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/letter-spacing" + }, + "line-break": { + "syntax": "auto | loose | normal | strict | anywhere", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-break" + }, + "line-clamp": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "none", + "appliesto": "blockContainersExceptMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "line-height": { + "syntax": "normal | <number> | <length> | <percentage>", + "media": "visual", + "inherited": true, + "animationType": "numberOrLength", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "absoluteLengthOrAsSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height" + }, + "line-height-step": { + "syntax": "<length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "0", + "appliesto": "blockContainers", + "computed": "absoluteLength", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height-step" + }, + "list-style": { + "syntax": "<'list-style-type'> || <'list-style-position'> || <'list-style-image'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": [ + "list-style-type", + "list-style-position", + "list-style-image" + ], + "appliesto": "listItems", + "computed": [ + "list-style-image", + "list-style-position", + "list-style-type" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style" + }, + "list-style-image": { + "syntax": "<image> | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "none", + "appliesto": "listItems", + "computed": "theKeywordListStyleImageNoneOrComputedValue", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-image" + }, + "list-style-position": { + "syntax": "inside | outside", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "outside", + "appliesto": "listItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-position" + }, + "list-style-type": { + "syntax": "<counter-style> | <string> | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "disc", + "appliesto": "listItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-type" + }, + "margin": { + "syntax": "[ <length> | <percentage> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": [ + "margin-bottom", + "margin-left", + "margin-right", + "margin-top" + ], + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": [ + "margin-bottom", + "margin-left", + "margin-right", + "margin-top" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin" + }, + "margin-block": { + "syntax": "<'margin-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block" + }, + "margin-block-end": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-end" + }, + "margin-block-start": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-start" + }, + "margin-bottom": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-bottom" + }, + "margin-inline": { + "syntax": "<'margin-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline" + }, + "margin-inline-end": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-end" + }, + "margin-inline-start": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-start" + }, + "margin-left": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-left" + }, + "margin-right": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-right" + }, + "margin-top": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-top" + }, + "margin-trim": { + "syntax": "none | in-flow | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "blockContainersAndMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-trim" + }, + "mask": { + "syntax": "<mask-layer>#", + "media": "visual", + "inherited": false, + "animationType": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "percentages": [ + "mask-position" + ], + "groups": [ + "CSS Masking" + ], + "initial": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "appliesto": "allElementsSVGContainerElements", + "computed": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask" + }, + "mask-border": { + "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>", + "media": "visual", + "inherited": false, + "animationType": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "percentages": [ + "mask-border-slice", + "mask-border-width" + ], + "groups": [ + "CSS Masking" + ], + "initial": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "appliesto": "allElementsSVGContainerElements", + "computed": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border" + }, + "mask-border-mode": { + "syntax": "luminance | alpha", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "alpha", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-mode" + }, + "mask-border-outset": { + "syntax": "[ <length> | <number> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "0", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-outset" + }, + "mask-border-repeat": { + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "stretch", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat" + }, + "mask-border-slice": { + "syntax": "<number-percentage>{1,4} fill?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfMaskBorderImage", + "groups": [ + "CSS Masking" + ], + "initial": "0", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-slice" + }, + "mask-border-source": { + "syntax": "none | <image>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-source" + }, + "mask-border-width": { + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToMaskBorderImageArea", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-width" + }, + "mask-clip": { + "syntax": "[ <geometry-box> | no-clip ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "border-box", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip" + }, + "mask-composite": { + "syntax": "<compositing-operator>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "add", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-composite" + }, + "mask-image": { + "syntax": "<mask-reference>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image" + }, + "mask-mode": { + "syntax": "<masking-mode>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "match-source", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-mode" + }, + "mask-origin": { + "syntax": "<geometry-box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "border-box", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin" + }, + "mask-position": { + "syntax": "<position>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToSizeOfMaskPaintingArea", + "groups": [ + "CSS Masking" + ], + "initial": "center", + "appliesto": "allElementsSVGContainerElements", + "computed": "consistsOfTwoKeywordsForOriginAndOffsets", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position" + }, + "mask-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "no-repeat", + "appliesto": "allElementsSVGContainerElements", + "computed": "consistsOfTwoDimensionKeywords", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat" + }, + "mask-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size" + }, + "mask-type": { + "syntax": "luminance | alpha", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "luminance", + "appliesto": "maskElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-type" + }, + "masonry-auto-flow": { + "syntax": "[ pack | next ] || [ definite-first | ordered ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "pack", + "appliesto": "gridContainersWithMasonryLayout", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow" + }, + "math-style": { + "syntax": "normal | compact", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "MathML" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/math-style" + }, + "max-block-size": { + "syntax": "<'max-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMaxWidthAndMaxHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-block-size" + }, + "max-height": { + "syntax": "none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAsSpecifiedAbsoluteLengthOrNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-height" + }, + "max-inline-size": { + "syntax": "<'max-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMaxWidthAndMaxHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-inline-size" + }, + "max-lines": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "none", + "appliesto": "blockContainersExceptMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "max-width": { + "syntax": "none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAsSpecifiedAbsoluteLengthOrNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-width" + }, + "min-block-size": { + "syntax": "<'min-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMinWidthAndMinHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-block-size" + }, + "min-height": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentages0", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-height" + }, + "min-inline-size": { + "syntax": "<'min-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMinWidthAndMinHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-inline-size" + }, + "min-width": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-width" + }, + "mix-blend-mode": { + "syntax": "<blend-mode> | plus-lighter", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode" + }, + "object-fit": { + "syntax": "fill | contain | cover | none | scale-down", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "fill", + "appliesto": "replacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-fit" + }, + "object-position": { + "syntax": "<position>", + "media": "visual", + "inherited": true, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToWidthAndHeightOfElement", + "groups": [ + "CSS Images" + ], + "initial": "50% 50%", + "appliesto": "replacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-position" + }, + "offset": { + "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "percentages": [ + "offset-position", + "offset-distance", + "offset-anchor" + ], + "groups": [ + "CSS Motion Path" + ], + "initial": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "appliesto": "transformableElements", + "computed": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset" + }, + "offset-anchor": { + "syntax": "auto | <position>", + "media": "visual", + "inherited": false, + "animationType": "position", + "percentages": "relativeToWidthAndHeight", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "standard" + }, + "offset-distance": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToTotalPathLength", + "groups": [ + "CSS Motion Path" + ], + "initial": "0", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-distance" + }, + "offset-path": { + "syntax": "none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]", + "media": "visual", + "inherited": false, + "animationType": "angleOrBasicShapeOrPath", + "percentages": "no", + "groups": [ + "CSS Motion Path" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-path" + }, + "offset-position": { + "syntax": "auto | <position>", + "media": "visual", + "inherited": false, + "animationType": "position", + "percentages": "referToSizeOfContainingBlock", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "experimental" + }, + "offset-rotate": { + "syntax": "[ auto | reverse ] || <angle>", + "media": "visual", + "inherited": false, + "animationType": "angleOrBasicShapeOrPath", + "percentages": "no", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-rotate" + }, + "opacity": { + "syntax": "<alpha-value>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "mapToRange0To1", + "groups": [ + "CSS Color" + ], + "initial": "1", + "appliesto": "allElements", + "computed": "specifiedValueNumberClipped0To1", + "order": "perGrammar", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/opacity" + }, + "order": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "0", + "appliesto": "flexItemsGridItemsAbsolutelyPositionedContainerChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/order" + }, + "orphans": { + "syntax": "<integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "2", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/orphans" + }, + "outline": { + "syntax": "[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": [ + "outline-color", + "outline-width", + "outline-style" + ], + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": [ + "outline-color", + "outline-style", + "outline-width" + ], + "appliesto": "allElements", + "computed": [ + "outline-color", + "outline-width", + "outline-style" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline" + }, + "outline-color": { + "syntax": "<color> | invert", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "invertOrCurrentColor", + "appliesto": "allElements", + "computed": "invertForTranslucentColorRGBAOtherwiseRGB", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-color" + }, + "outline-offset": { + "syntax": "<length>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-offset" + }, + "outline-style": { + "syntax": "auto | <'border-style'>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-style" + }, + "outline-width": { + "syntax": "<line-width>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLength0ForNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-width" + }, + "overflow": { + "syntax": "[ visible | hidden | clip | scroll | auto ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": [ + "overflow-x", + "overflow-y" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow" + }, + "overflow-anchor": { + "syntax": "auto | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Anchoring" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard" + }, + "overflow-block": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "perGrammar", + "status": "standard" + }, + "overflow-clip-box": { + "syntax": "padding-box | content-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "padding-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box" + }, + "overflow-clip-margin": { + "syntax": "<visual-box> || <length [0,∞]>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "0px", + "appliesto": "allElements", + "computed": "theComputedLength", + "order": "perGrammar", + "status": "standard" + }, + "overflow-inline": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "perGrammar", + "status": "standard" + }, + "overflow-wrap": { + "syntax": "normal | break-word | anywhere", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "nonReplacedInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap" + }, + "overflow-x": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-x" + }, + "overflow-y": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-y" + }, + "overscroll-behavior": { + "syntax": "[ contain | none | auto ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "overscroll-behavior-x", + "overscroll-behavior-y" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior" + }, + "overscroll-behavior-block": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block" + }, + "overscroll-behavior-inline": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline" + }, + "overscroll-behavior-x": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x" + }, + "overscroll-behavior-y": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y" + }, + "padding": { + "syntax": "[ <length> | <percentage> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": [ + "padding-bottom", + "padding-left", + "padding-right", + "padding-top" + ], + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": [ + "padding-bottom", + "padding-left", + "padding-right", + "padding-top" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding" + }, + "padding-block": { + "syntax": "<'padding-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block" + }, + "padding-block-end": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-end" + }, + "padding-block-start": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-start" + }, + "padding-bottom": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-bottom" + }, + "padding-inline": { + "syntax": "<'padding-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline" + }, + "padding-inline-end": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-end" + }, + "padding-inline-start": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-start" + }, + "padding-left": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-left" + }, + "padding-right": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-right" + }, + "padding-top": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-top" + }, + "page-break-after": { + "syntax": "auto | always | avoid | left | right | recto | verso", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-after" + }, + "page-break-before": { + "syntax": "auto | always | avoid | left | right | recto | verso", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-before" + }, + "page-break-inside": { + "syntax": "auto | avoid", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-inside" + }, + "paint-order": { + "syntax": "normal | [ fill || stroke || markers ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "textElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/paint-order" + }, + "perspective": { + "syntax": "none | <length>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "absoluteLengthOrNone", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective" + }, + "perspective-origin": { + "syntax": "<position>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpc", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "50% 50%", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective-origin" + }, + "place-content": { + "syntax": "<'align-content'> <'justify-content'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multilineFlexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-content" + }, + "place-items": { + "syntax": "<'align-items'> <'justify-items'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "align-items", + "justify-items" + ], + "appliesto": "allElements", + "computed": [ + "align-items", + "justify-items" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-items" + }, + "place-self": { + "syntax": "<'align-self'> <'justify-self'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "align-self", + "justify-self" + ], + "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems", + "computed": [ + "align-self", + "justify-self" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-self" + }, + "pointer-events": { + "syntax": "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/pointer-events" + }, + "position": { + "syntax": "static | relative | absolute | sticky | fixed", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "static", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/position" + }, + "quotes": { + "syntax": "none | auto | [ <string> <string> ]+", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Generated Content" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/quotes" + }, + "resize": { + "syntax": "none | both | horizontal | vertical | block | inline", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "elementsWithOverflowNotVisibleAndReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/resize" + }, + "right": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/right" + }, + "rotate": { + "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/rotate" + }, + "row-gap": { + "syntax": "normal | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap" + }, + "ruby-align": { + "syntax": "start | center | space-between | space-around", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "space-around", + "appliesto": "rubyBasesAnnotationsBaseAnnotationContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-align" + }, + "ruby-merge": { + "syntax": "separate | collapse | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "separate", + "appliesto": "rubyAnnotationsContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "ruby-position": { + "syntax": "[ alternate || [ over | under ] ] | inter-character", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "alternate", + "appliesto": "rubyAnnotationsContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-position" + }, + "scale": { + "syntax": "none | <number>{1,3}", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scale" + }, + "scrollbar-color": { + "syntax": "auto | <color>{2}", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Scrollbars" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-color" + }, + "scrollbar-gutter": { + "syntax": "auto | stable && both-edges?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter" + }, + "scrollbar-width": { + "syntax": "auto | thin | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scrollbars" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-width" + }, + "scroll-behavior": { + "syntax": "auto | smooth", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSSOM View" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-behavior" + }, + "scroll-margin": { + "syntax": "<length>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin" + }, + "scroll-margin-block": { + "syntax": "<length>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block" + }, + "scroll-margin-block-start": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start" + }, + "scroll-margin-block-end": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end" + }, + "scroll-margin-bottom": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom" + }, + "scroll-margin-inline": { + "syntax": "<length>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline" + }, + "scroll-margin-inline-start": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start" + }, + "scroll-margin-inline-end": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end" + }, + "scroll-margin-left": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left" + }, + "scroll-margin-right": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right" + }, + "scroll-margin-top": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top" + }, + "scroll-padding": { + "syntax": "[ auto | <length-percentage> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding" + }, + "scroll-padding-block": { + "syntax": "[ auto | <length-percentage> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block" + }, + "scroll-padding-block-start": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start" + }, + "scroll-padding-block-end": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end" + }, + "scroll-padding-bottom": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom" + }, + "scroll-padding-inline": { + "syntax": "[ auto | <length-percentage> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline" + }, + "scroll-padding-inline-start": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start" + }, + "scroll-padding-inline-end": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end" + }, + "scroll-padding-left": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left" + }, + "scroll-padding-right": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right" + }, + "scroll-padding-top": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top" + }, + "scroll-snap-align": { + "syntax": "[ none | start | end | center ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align" + }, + "scroll-snap-coordinate": { + "syntax": "none | <position>#", + "media": "interactive", + "inherited": false, + "animationType": "position", + "percentages": "referToBorderBox", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate" + }, + "scroll-snap-destination": { + "syntax": "<position>", + "media": "interactive", + "inherited": false, + "animationType": "position", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0px 0px", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination" + }, + "scroll-snap-points-x": { + "syntax": "none | repeat( <length-percentage> )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x" + }, + "scroll-snap-points-y": { + "syntax": "none | repeat( <length-percentage> )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y" + }, + "scroll-snap-stop": { + "syntax": "normal | always", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop" + }, + "scroll-snap-type": { + "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type" + }, + "scroll-snap-type-x": { + "syntax": "none | mandatory | proximity", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x" + }, + "scroll-snap-type-y": { + "syntax": "none | mandatory | proximity", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y" + }, + "shape-image-threshold": { + "syntax": "<alpha-value>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Shapes" + ], + "initial": "0.0", + "appliesto": "floats", + "computed": "specifiedValueNumberClipped0To1", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold" + }, + "shape-margin": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Shapes" + ], + "initial": "0", + "appliesto": "floats", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-margin" + }, + "shape-outside": { + "syntax": "none | [ <shape-box> || <basic-shape> ] | <image>", + "media": "visual", + "inherited": false, + "animationType": "basicShapeOtherwiseNo", + "percentages": "no", + "groups": [ + "CSS Shapes" + ], + "initial": "none", + "appliesto": "floats", + "computed": "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-outside" + }, + "tab-size": { + "syntax": "<integer> | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "8", + "appliesto": "blockContainers", + "computed": "specifiedIntegerOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/tab-size" + }, + "table-layout": { + "syntax": "auto | fixed", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "auto", + "appliesto": "tableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/table-layout" + }, + "text-align": { + "syntax": "start | end | left | right | center | justify | match-parent", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "startOrNamelessValueIfLTRRightIfRTL", + "appliesto": "blockContainers", + "computed": "asSpecifiedExceptMatchParent", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align" + }, + "text-align-last": { + "syntax": "auto | start | end | left | right | center | justify", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "blockContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align-last" + }, + "text-combine-upright": { + "syntax": "none | all | [ digits <integer>? ]", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "none", + "appliesto": "nonReplacedInlineElements", + "computed": "keywordPlusIntegerIfDigits", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-combine-upright" + }, + "text-decoration": { + "syntax": "<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>", + "media": "visual", + "inherited": false, + "animationType": [ + "text-decoration-color", + "text-decoration-style", + "text-decoration-line", + "text-decoration-thickness" + ], + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": [ + "text-decoration-color", + "text-decoration-style", + "text-decoration-line" + ], + "appliesto": "allElements", + "computed": [ + "text-decoration-line", + "text-decoration-style", + "text-decoration-color", + "text-decoration-thickness" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration" + }, + "text-decoration-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-color" + }, + "text-decoration-line": { + "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-line" + }, + "text-decoration-skip": { + "syntax": "none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "objects", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip" + }, + "text-decoration-skip-ink": { + "syntax": "auto | all | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink" + }, + "text-decoration-style": { + "syntax": "solid | double | dotted | dashed | wavy", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "solid", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-style" + }, + "text-decoration-thickness": { + "syntax": "auto | from-font | <length> | <percentage> ", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness" + }, + "text-emphasis": { + "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>", + "media": "visual", + "inherited": false, + "animationType": [ + "text-emphasis-color", + "text-emphasis-style" + ], + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": [ + "text-emphasis-style", + "text-emphasis-color" + ], + "appliesto": "allElements", + "computed": [ + "text-emphasis-style", + "text-emphasis-color" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis" + }, + "text-emphasis-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color" + }, + "text-emphasis-position": { + "syntax": "[ over | under ] && [ right | left ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "over right", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position" + }, + "text-emphasis-style": { + "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style" + }, + "text-indent": { + "syntax": "<length-percentage> && hanging? && each-line?", + "media": "visual", + "inherited": true, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Text" + ], + "initial": "0", + "appliesto": "blockContainers", + "computed": "percentageOrAbsoluteLengthPlusKeywords", + "order": "lengthOrPercentageBeforeKeywords", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-indent" + }, + "text-justify": { + "syntax": "auto | inter-character | inter-word | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "inlineLevelAndTableCellElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-justify" + }, + "text-orientation": { + "syntax": "mixed | upright | sideways", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "mixed", + "appliesto": "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-orientation" + }, + "text-overflow": { + "syntax": "[ clip | ellipsis | <string> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "clip", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-overflow" + }, + "text-rendering": { + "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Miscellaneous" + ], + "initial": "auto", + "appliesto": "textElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-rendering" + }, + "text-shadow": { + "syntax": "none | <shadow-t>#", + "media": "visual", + "inherited": true, + "animationType": "shadowList", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "colorPlusThreeAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-shadow" + }, + "text-size-adjust": { + "syntax": "none | auto | <percentage>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "referToSizeOfFont", + "groups": [ + "CSS Text" + ], + "initial": "autoForSmartphoneBrowsersSupportingInflation", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-size-adjust" + }, + "text-transform": { + "syntax": "none | capitalize | uppercase | lowercase | full-width | full-size-kana", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-transform" + }, + "text-underline-offset": { + "syntax": "auto | <length> | <percentage> ", + "media": "visual", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-offset" + }, + "text-underline-position": { + "syntax": "auto | from-font | [ under || [ left | right ] ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-position" + }, + "top": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToContainingBlockHeight", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/top" + }, + "touch-action": { + "syntax": "auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Pointer Events" + ], + "initial": "auto", + "appliesto": "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/touch-action" + }, + "transform": { + "syntax": "none | <transform-list>", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform" + }, + "transform-box": { + "syntax": "content-box | border-box | fill-box | stroke-box | view-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "view-box", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-box" + }, + "transform-origin": { + "syntax": "[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpc", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "50% 50% 0", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-origin" + }, + "transform-style": { + "syntax": "flat | preserve-3d", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "flat", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-style" + }, + "transition": { + "syntax": "<single-transition>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": [ + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function" + ], + "appliesto": "allElementsAndPseudos", + "computed": [ + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition" + }, + "transition-delay": { + "syntax": "<time>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-delay" + }, + "transition-duration": { + "syntax": "<time>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-duration" + }, + "transition-property": { + "syntax": "none | <single-transition-property>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "all", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-property" + }, + "transition-timing-function": { + "syntax": "<easing-function>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "ease", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-timing-function" + }, + "translate": { + "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/translate" + }, + "unicode-bidi": { + "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "normal", + "appliesto": "allElementsSomeValuesNoEffectOnNonInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/unicode-bidi" + }, + "user-select": { + "syntax": "auto | text | none | contain | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/user-select" + }, + "vertical-align": { + "syntax": "baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToLineHeight", + "groups": [ + "CSS Table" + ], + "initial": "baseline", + "appliesto": "inlineLevelAndTableCellElements", + "computed": "absoluteLengthOrKeyword", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/vertical-align" + }, + "visibility": { + "syntax": "visible | hidden | collapse", + "media": "visual", + "inherited": true, + "animationType": "visibility", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "visible", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/visibility" + }, + "white-space": { + "syntax": "normal | pre | nowrap | pre-wrap | pre-line | break-spaces", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/white-space" + }, + "widows": { + "syntax": "<integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "2", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/widows" + }, + "width": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAutoOrAbsoluteLength", + "order": "lengthOrPercentageBeforeKeywordIfBothPresent", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/width" + }, + "will-change": { + "syntax": "auto | <animateable-feature>#", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Will Change" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/will-change" + }, + "word-break": { + "syntax": "normal | break-all | keep-all | break-word", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-break" + }, + "word-spacing": { + "syntax": "normal | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "referToWidthOfAffectedGlyph", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-spacing" + }, + "word-wrap": { + "syntax": "normal | break-word", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "nonReplacedInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap" + }, + "writing-mode": { + "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "horizontal-tb", + "appliesto": "allElementsExceptTableRowColumnGroupsTableRowsColumns", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/writing-mode" + }, + "z-index": { + "syntax": "auto | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/z-index" + }, + "zoom": { + "syntax": "normal | reset | <number> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/zoom" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/syntaxes.json b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/syntaxes.json new file mode 100644 index 00000000..88fa658e --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.28/css/syntaxes.json @@ -0,0 +1,794 @@ +{ + "absolute-size": { + "syntax": "xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large" + }, + "alpha-value": { + "syntax": "<number> | <percentage>" + }, + "angle-percentage": { + "syntax": "<angle> | <percentage>" + }, + "angular-color-hint": { + "syntax": "<angle-percentage>" + }, + "angular-color-stop": { + "syntax": "<color> && <color-stop-angle>?" + }, + "angular-color-stop-list": { + "syntax": "[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>" + }, + "animateable-feature": { + "syntax": "scroll-position | contents | <custom-ident>" + }, + "attachment": { + "syntax": "scroll | fixed | local" + }, + "attr()": { + "syntax": "attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )" + }, + "attr-matcher": { + "syntax": "[ '~' | '|' | '^' | '$' | '*' ]? '='" + }, + "attr-modifier": { + "syntax": "i | s" + }, + "attribute-selector": { + "syntax": "'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'" + }, + "auto-repeat": { + "syntax": "repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )" + }, + "auto-track-list": { + "syntax": "[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?" + }, + "baseline-position": { + "syntax": "[ first | last ]? baseline" + }, + "basic-shape": { + "syntax": "<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>" + }, + "bg-image": { + "syntax": "none | <image>" + }, + "bg-layer": { + "syntax": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>" + }, + "bg-position": { + "syntax": "[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]" + }, + "bg-size": { + "syntax": "[ <length-percentage> | auto ]{1,2} | cover | contain" + }, + "blur()": { + "syntax": "blur( <length> )" + }, + "blend-mode": { + "syntax": "normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity" + }, + "box": { + "syntax": "border-box | padding-box | content-box" + }, + "brightness()": { + "syntax": "brightness( <number-percentage> )" + }, + "calc()": { + "syntax": "calc( <calc-sum> )" + }, + "calc-sum": { + "syntax": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*" + }, + "calc-product": { + "syntax": "<calc-value> [ '*' <calc-value> | '/' <number> ]*" + }, + "calc-value": { + "syntax": "<number> | <dimension> | <percentage> | ( <calc-sum> )" + }, + "cf-final-image": { + "syntax": "<image> | <color>" + }, + "cf-mixing-image": { + "syntax": "<percentage>? && <image>" + }, + "circle()": { + "syntax": "circle( [ <shape-radius> ]? [ at <position> ]? )" + }, + "clamp()": { + "syntax": "clamp( <calc-sum>#{3} )" + }, + "class-selector": { + "syntax": "'.' <ident-token>" + }, + "clip-source": { + "syntax": "<url>" + }, + "color": { + "syntax": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>" + }, + "color-stop": { + "syntax": "<color-stop-length> | <color-stop-angle>" + }, + "color-stop-angle": { + "syntax": "<angle-percentage>{1,2}" + }, + "color-stop-length": { + "syntax": "<length-percentage>{1,2}" + }, + "color-stop-list": { + "syntax": "[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>" + }, + "combinator": { + "syntax": "'>' | '+' | '~' | [ '||' ]" + }, + "common-lig-values": { + "syntax": "[ common-ligatures | no-common-ligatures ]" + }, + "compat-auto": { + "syntax": "searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button" + }, + "composite-style": { + "syntax": "clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor" + }, + "compositing-operator": { + "syntax": "add | subtract | intersect | exclude" + }, + "compound-selector": { + "syntax": "[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!" + }, + "compound-selector-list": { + "syntax": "<compound-selector>#" + }, + "complex-selector": { + "syntax": "<compound-selector> [ <combinator>? <compound-selector> ]*" + }, + "complex-selector-list": { + "syntax": "<complex-selector>#" + }, + "conic-gradient()": { + "syntax": "conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )" + }, + "contextual-alt-values": { + "syntax": "[ contextual | no-contextual ]" + }, + "content-distribution": { + "syntax": "space-between | space-around | space-evenly | stretch" + }, + "content-list": { + "syntax": "[ <string> | contents | <image> | <counter> | <quote> | <target> | <leader()> ]+" + }, + "content-position": { + "syntax": "center | start | end | flex-start | flex-end" + }, + "content-replacement": { + "syntax": "<image>" + }, + "contrast()": { + "syntax": "contrast( [ <number-percentage> ] )" + }, + "counter": { + "syntax": "<counter()> | <counters()>" + }, + "counter()": { + "syntax": "counter( <counter-name>, <counter-style>? )" + }, + "counter-name": { + "syntax": "<custom-ident>" + }, + "counter-style": { + "syntax": "<counter-style-name> | symbols()" + }, + "counter-style-name": { + "syntax": "<custom-ident>" + }, + "counters()": { + "syntax": "counters( <counter-name>, <string>, <counter-style>? )" + }, + "cross-fade()": { + "syntax": "cross-fade( <cf-mixing-image> , <cf-final-image>? )" + }, + "cubic-bezier-timing-function": { + "syntax": "ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)" + }, + "deprecated-system-color": { + "syntax": "ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText" + }, + "discretionary-lig-values": { + "syntax": "[ discretionary-ligatures | no-discretionary-ligatures ]" + }, + "display-box": { + "syntax": "contents | none" + }, + "display-inside": { + "syntax": "flow | flow-root | table | flex | grid | ruby" + }, + "display-internal": { + "syntax": "table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container" + }, + "display-legacy": { + "syntax": "inline-block | inline-list-item | inline-table | inline-flex | inline-grid" + }, + "display-listitem": { + "syntax": "<display-outside>? && [ flow | flow-root ]? && list-item" + }, + "display-outside": { + "syntax": "block | inline | run-in" + }, + "drop-shadow()": { + "syntax": "drop-shadow( <length>{2,3} <color>? )" + }, + "east-asian-variant-values": { + "syntax": "[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]" + }, + "east-asian-width-values": { + "syntax": "[ full-width | proportional-width ]" + }, + "element()": { + "syntax": "element( <id-selector> )" + }, + "ellipse()": { + "syntax": "ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )" + }, + "ending-shape": { + "syntax": "circle | ellipse" + }, + "env()": { + "syntax": "env( <custom-ident> , <declaration-value>? )" + }, + "explicit-track-list": { + "syntax": "[ <line-names>? <track-size> ]+ <line-names>?" + }, + "family-name": { + "syntax": "<string> | <custom-ident>+" + }, + "feature-tag-value": { + "syntax": "<string> [ <integer> | on | off ]?" + }, + "feature-type": { + "syntax": "@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation" + }, + "feature-value-block": { + "syntax": "<feature-type> '{' <feature-value-declaration-list> '}'" + }, + "feature-value-block-list": { + "syntax": "<feature-value-block>+" + }, + "feature-value-declaration": { + "syntax": "<custom-ident>: <integer>+;" + }, + "feature-value-declaration-list": { + "syntax": "<feature-value-declaration>" + }, + "feature-value-name": { + "syntax": "<custom-ident>" + }, + "fill-rule": { + "syntax": "nonzero | evenodd" + }, + "filter-function": { + "syntax": "<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>" + }, + "filter-function-list": { + "syntax": "[ <filter-function> | <url> ]+" + }, + "final-bg-layer": { + "syntax": "<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>" + }, + "fit-content()": { + "syntax": "fit-content( [ <length> | <percentage> ] )" + }, + "fixed-breadth": { + "syntax": "<length-percentage>" + }, + "fixed-repeat": { + "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )" + }, + "fixed-size": { + "syntax": "<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )" + }, + "font-stretch-absolute": { + "syntax": "normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>" + }, + "font-variant-css21": { + "syntax": "[ normal | small-caps ]" + }, + "font-weight-absolute": { + "syntax": "normal | bold | <number [1,1000]>" + }, + "frequency-percentage": { + "syntax": "<frequency> | <percentage>" + }, + "general-enclosed": { + "syntax": "[ <function-token> <any-value> ) ] | ( <ident> <any-value> )" + }, + "generic-family": { + "syntax": "serif | sans-serif | cursive | fantasy | monospace" + }, + "generic-name": { + "syntax": "serif | sans-serif | cursive | fantasy | monospace" + }, + "geometry-box": { + "syntax": "<shape-box> | fill-box | stroke-box | view-box" + }, + "gradient": { + "syntax": "<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <repeating-conic-gradient()>" + }, + "grayscale()": { + "syntax": "grayscale( <number-percentage> )" + }, + "grid-line": { + "syntax": "auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]" + }, + "historical-lig-values": { + "syntax": "[ historical-ligatures | no-historical-ligatures ]" + }, + "hsl()": { + "syntax": "hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )" + }, + "hsla()": { + "syntax": "hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )" + }, + "hue": { + "syntax": "<number> | <angle>" + }, + "hue-rotate()": { + "syntax": "hue-rotate( <angle> )" + }, + "hwb()": { + "syntax": "hwb( [<hue> | none] [<percentage> | none] [<percentage> | none] [ / [<alpha-value> | none] ]? )" + }, + "id-selector": { + "syntax": "<hash-token>" + }, + "image": { + "syntax": "<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>" + }, + "image()": { + "syntax": "image( <image-tags>? [ <image-src>? , <color>? ]! )" + }, + "image-set()": { + "syntax": "image-set( <image-set-option># )" + }, + "image-set-option": { + "syntax": "[ <image> | <string> ] [ <resolution> || type(<string>) ]" + }, + "image-src": { + "syntax": "<url> | <string>" + }, + "image-tags": { + "syntax": "ltr | rtl" + }, + "inflexible-breadth": { + "syntax": "<length> | <percentage> | min-content | max-content | auto" + }, + "inset()": { + "syntax": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )" + }, + "invert()": { + "syntax": "invert( <number-percentage> )" + }, + "keyframes-name": { + "syntax": "<custom-ident> | <string>" + }, + "keyframe-block": { + "syntax": "<keyframe-selector># {\n <declaration-list>\n}" + }, + "keyframe-block-list": { + "syntax": "<keyframe-block>+" + }, + "keyframe-selector": { + "syntax": "from | to | <percentage>" + }, + "layer()": { + "syntax": "layer( <layer-name> )" + }, + "layer-name": { + "syntax": "<ident> [ '.' <ident> ]*" + }, + "leader()": { + "syntax": "leader( <leader-type> )" + }, + "leader-type": { + "syntax": "dotted | solid | space | <string>" + }, + "length-percentage": { + "syntax": "<length> | <percentage>" + }, + "line-names": { + "syntax": "'[' <custom-ident>* ']'" + }, + "line-name-list": { + "syntax": "[ <line-names> | <name-repeat> ]+" + }, + "line-style": { + "syntax": "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset" + }, + "line-width": { + "syntax": "<length> | thin | medium | thick" + }, + "linear-color-hint": { + "syntax": "<length-percentage>" + }, + "linear-color-stop": { + "syntax": "<color> <color-stop-length>?" + }, + "linear-gradient()": { + "syntax": "linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )" + }, + "mask-layer": { + "syntax": "<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>" + }, + "mask-position": { + "syntax": "[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?" + }, + "mask-reference": { + "syntax": "none | <image> | <mask-source>" + }, + "mask-source": { + "syntax": "<url>" + }, + "masking-mode": { + "syntax": "alpha | luminance | match-source" + }, + "matrix()": { + "syntax": "matrix( <number>#{6} )" + }, + "matrix3d()": { + "syntax": "matrix3d( <number>#{16} )" + }, + "max()": { + "syntax": "max( <calc-sum># )" + }, + "media-and": { + "syntax": "<media-in-parens> [ and <media-in-parens> ]+" + }, + "media-condition": { + "syntax": "<media-not> | <media-and> | <media-or> | <media-in-parens>" + }, + "media-condition-without-or": { + "syntax": "<media-not> | <media-and> | <media-in-parens>" + }, + "media-feature": { + "syntax": "( [ <mf-plain> | <mf-boolean> | <mf-range> ] )" + }, + "media-in-parens": { + "syntax": "( <media-condition> ) | <media-feature> | <general-enclosed>" + }, + "media-not": { + "syntax": "not <media-in-parens>" + }, + "media-or": { + "syntax": "<media-in-parens> [ or <media-in-parens> ]+" + }, + "media-query": { + "syntax": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?" + }, + "media-query-list": { + "syntax": "<media-query>#" + }, + "media-type": { + "syntax": "<ident>" + }, + "mf-boolean": { + "syntax": "<mf-name>" + }, + "mf-name": { + "syntax": "<ident>" + }, + "mf-plain": { + "syntax": "<mf-name> : <mf-value>" + }, + "mf-range": { + "syntax": "<mf-name> [ '<' | '>' ]? '='? <mf-value>\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>" + }, + "mf-value": { + "syntax": "<number> | <dimension> | <ident> | <ratio>" + }, + "min()": { + "syntax": "min( <calc-sum># )" + }, + "minmax()": { + "syntax": "minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )" + }, + "name-repeat": { + "syntax": "repeat( [ <integer [1,∞]> | auto-fill ], <line-names>+ )" + }, + "named-color": { + "syntax": "transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen" + }, + "namespace-prefix": { + "syntax": "<ident>" + }, + "ns-prefix": { + "syntax": "[ <ident-token> | '*' ]? '|'" + }, + "number-percentage": { + "syntax": "<number> | <percentage>" + }, + "numeric-figure-values": { + "syntax": "[ lining-nums | oldstyle-nums ]" + }, + "numeric-fraction-values": { + "syntax": "[ diagonal-fractions | stacked-fractions ]" + }, + "numeric-spacing-values": { + "syntax": "[ proportional-nums | tabular-nums ]" + }, + "nth": { + "syntax": "<an-plus-b> | even | odd" + }, + "opacity()": { + "syntax": "opacity( [ <number-percentage> ] )" + }, + "overflow-position": { + "syntax": "unsafe | safe" + }, + "outline-radius": { + "syntax": "<length> | <percentage>" + }, + "page-body": { + "syntax": "<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>" + }, + "page-margin-box": { + "syntax": "<page-margin-box-type> '{' <declaration-list> '}'" + }, + "page-margin-box-type": { + "syntax": "@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom" + }, + "page-selector-list": { + "syntax": "[ <page-selector># ]?" + }, + "page-selector": { + "syntax": "<pseudo-page>+ | <ident> <pseudo-page>*" + }, + "page-size": { + "syntax": "A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger" + }, + "path()": { + "syntax": "path( [ <fill-rule>, ]? <string> )" + }, + "paint()": { + "syntax": "paint( <ident>, <declaration-value>? )" + }, + "perspective()": { + "syntax": "perspective( <length> )" + }, + "polygon()": { + "syntax": "polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )" + }, + "position": { + "syntax": "[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]" + }, + "pseudo-class-selector": { + "syntax": "':' <ident-token> | ':' <function-token> <any-value> ')'" + }, + "pseudo-element-selector": { + "syntax": "':' <pseudo-class-selector>" + }, + "pseudo-page": { + "syntax": ": [ left | right | first | blank ]" + }, + "quote": { + "syntax": "open-quote | close-quote | no-open-quote | no-close-quote" + }, + "radial-gradient()": { + "syntax": "radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )" + }, + "relative-selector": { + "syntax": "<combinator>? <complex-selector>" + }, + "relative-selector-list": { + "syntax": "<relative-selector>#" + }, + "relative-size": { + "syntax": "larger | smaller" + }, + "repeat-style": { + "syntax": "repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}" + }, + "repeating-conic-gradient()": { + "syntax": "repeating-conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )" + }, + "repeating-linear-gradient()": { + "syntax": "repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )" + }, + "repeating-radial-gradient()": { + "syntax": "repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )" + }, + "rgb()": { + "syntax": "rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )" + }, + "rgba()": { + "syntax": "rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )" + }, + "rotate()": { + "syntax": "rotate( [ <angle> | <zero> ] )" + }, + "rotate3d()": { + "syntax": "rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )" + }, + "rotateX()": { + "syntax": "rotateX( [ <angle> | <zero> ] )" + }, + "rotateY()": { + "syntax": "rotateY( [ <angle> | <zero> ] )" + }, + "rotateZ()": { + "syntax": "rotateZ( [ <angle> | <zero> ] )" + }, + "saturate()": { + "syntax": "saturate( <number-percentage> )" + }, + "scale()": { + "syntax": "scale( <number> , <number>? )" + }, + "scale3d()": { + "syntax": "scale3d( <number> , <number> , <number> )" + }, + "scaleX()": { + "syntax": "scaleX( <number> )" + }, + "scaleY()": { + "syntax": "scaleY( <number> )" + }, + "scaleZ()": { + "syntax": "scaleZ( <number> )" + }, + "self-position": { + "syntax": "center | start | end | self-start | self-end | flex-start | flex-end" + }, + "shape-radius": { + "syntax": "<length-percentage> | closest-side | farthest-side" + }, + "skew()": { + "syntax": "skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )" + }, + "skewX()": { + "syntax": "skewX( [ <angle> | <zero> ] )" + }, + "skewY()": { + "syntax": "skewY( [ <angle> | <zero> ] )" + }, + "sepia()": { + "syntax": "sepia( <number-percentage> )" + }, + "shadow": { + "syntax": "inset? && <length>{2,4} && <color>?" + }, + "shadow-t": { + "syntax": "[ <length>{2,3} && <color>? ]" + }, + "shape": { + "syntax": "rect(<top>, <right>, <bottom>, <left>)" + }, + "shape-box": { + "syntax": "<box> | margin-box" + }, + "side-or-corner": { + "syntax": "[ left | right ] || [ top | bottom ]" + }, + "single-animation": { + "syntax": "<time> || <easing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]" + }, + "single-animation-direction": { + "syntax": "normal | reverse | alternate | alternate-reverse" + }, + "single-animation-fill-mode": { + "syntax": "none | forwards | backwards | both" + }, + "single-animation-iteration-count": { + "syntax": "infinite | <number>" + }, + "single-animation-play-state": { + "syntax": "running | paused" + }, + "single-animation-timeline": { + "syntax": "auto | none | <timeline-name>" + }, + "single-transition": { + "syntax": "[ none | <single-transition-property> ] || <time> || <easing-function> || <time>" + }, + "single-transition-property": { + "syntax": "all | <custom-ident>" + }, + "size": { + "syntax": "closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}" + }, + "step-position": { + "syntax": "jump-start | jump-end | jump-none | jump-both | start | end" + }, + "step-timing-function": { + "syntax": "step-start | step-end | steps(<integer>[, <step-position>]?)" + }, + "subclass-selector": { + "syntax": "<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>" + }, + "supports-condition": { + "syntax": "not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*" + }, + "supports-in-parens": { + "syntax": "( <supports-condition> ) | <supports-feature> | <general-enclosed>" + }, + "supports-feature": { + "syntax": "<supports-decl> | <supports-selector-fn>" + }, + "supports-decl": { + "syntax": "( <declaration> )" + }, + "supports-selector-fn": { + "syntax": "selector( <complex-selector> )" + }, + "symbol": { + "syntax": "<string> | <image> | <custom-ident>" + }, + "target": { + "syntax": "<target-counter()> | <target-counters()> | <target-text()>" + }, + "target-counter()": { + "syntax": "target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )" + }, + "target-counters()": { + "syntax": "target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )" + }, + "target-text()": { + "syntax": "target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )" + }, + "time-percentage": { + "syntax": "<time> | <percentage>" + }, + "timeline-name": { + "syntax": "<custom-ident> | <string>" + }, + "easing-function": { + "syntax": "linear | <cubic-bezier-timing-function> | <step-timing-function>" + }, + "track-breadth": { + "syntax": "<length-percentage> | <flex> | min-content | max-content | auto" + }, + "track-list": { + "syntax": "[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?" + }, + "track-repeat": { + "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )" + }, + "track-size": { + "syntax": "<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )" + }, + "transform-function": { + "syntax": "<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>" + }, + "transform-list": { + "syntax": "<transform-function>+" + }, + "translate()": { + "syntax": "translate( <length-percentage> , <length-percentage>? )" + }, + "translate3d()": { + "syntax": "translate3d( <length-percentage> , <length-percentage> , <length> )" + }, + "translateX()": { + "syntax": "translateX( <length-percentage> )" + }, + "translateY()": { + "syntax": "translateY( <length-percentage> )" + }, + "translateZ()": { + "syntax": "translateZ( <length> )" + }, + "type-or-unit": { + "syntax": "string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %" + }, + "type-selector": { + "syntax": "<wq-name> | <ns-prefix>? '*'" + }, + "var()": { + "syntax": "var( <custom-property-name> , <declaration-value>? )" + }, + "viewport-length": { + "syntax": "auto | <length-percentage>" + }, + "visual-box": { + "syntax": "content-box | padding-box | border-box" + }, + "wq-name": { + "syntax": "<ns-prefix>? <ident-token>" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.28/package.json b/.output/server/node_modules/.nitro/mdn-data@2.0.28/package.json new file mode 100644 index 00000000..c7d3b744 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.28/package.json @@ -0,0 +1,38 @@ +{ + "name": "mdn-data", + "version": "2.0.28", + "description": "Open Web data by the Mozilla Developer Network", + "main": "index.js", + "files": [ + "api/index.js", + "api/*.json", + "css/index.js", + "css/*.json", + "l10n/index.js", + "l10n/*.json" + ], + "repository": { + "type": "git", + "url": "https://github.com/mdn/data.git" + }, + "keywords": [ + "data", + "mdn", + "mozilla", + "css" + ], + "author": "Mozilla Developer Network", + "license": "CC0-1.0", + "bugs": { + "url": "https://github.com/mdn/data/issues" + }, + "homepage": "https://developer.mozilla.org", + "devDependencies": { + "ajv": "^6.12.6", + "better-ajv-errors": "^1.1.2" + }, + "scripts": { + "lint": "node test/lint", + "test": "npm run lint" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/at-rules.json b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/at-rules.json new file mode 100644 index 00000000..a58731c1 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/at-rules.json @@ -0,0 +1,620 @@ +{ + "@charset": { + "syntax": "@charset \"<charset>\";", + "groups": [ + "CSS Charsets" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@charset" + }, + "@counter-style": { + "syntax": "@counter-style <counter-style-name> {\n [ system: <counter-system>; ] ||\n [ symbols: <counter-symbols>; ] ||\n [ additive-symbols: <additive-symbols>; ] ||\n [ negative: <negative-symbol>; ] ||\n [ prefix: <prefix>; ] ||\n [ suffix: <suffix>; ] ||\n [ range: <range>; ] ||\n [ pad: <padding>; ] ||\n [ speak-as: <speak-as>; ] ||\n [ fallback: <counter-style-name>; ]\n}", + "interfaces": [ + "CSSCounterStyleRule" + ], + "groups": [ + "CSS Counter Styles" + ], + "descriptors": { + "additive-symbols": { + "syntax": "[ <integer> && <symbol> ]#", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "fallback": { + "syntax": "<counter-style-name>", + "media": "all", + "initial": "decimal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "negative": { + "syntax": "<symbol> <symbol>?", + "media": "all", + "initial": "\"-\" hyphen-minus", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "pad": { + "syntax": "<integer> && <symbol>", + "media": "all", + "initial": "0 \"\"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "prefix": { + "syntax": "<symbol>", + "media": "all", + "initial": "\"\"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "range": { + "syntax": "[ [ <integer> | infinite ]{2} ]# | auto", + "media": "all", + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "speak-as": { + "syntax": "auto | bullets | numbers | words | spell-out | <counter-style-name>", + "media": "all", + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "suffix": { + "syntax": "<symbol>", + "media": "all", + "initial": "\". \"", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "symbols": { + "syntax": "<symbol>+", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "system": { + "syntax": "cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]", + "media": "all", + "initial": "symbolic", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@counter-style" + }, + "@document": { + "syntax": "@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule" + ], + "groups": [ + "CSS Conditional Rules" + ], + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@document" + }, + "@font-face": { + "syntax": "@font-face {\n [ font-family: <family-name>; ] ||\n [ src: <src>; ] ||\n [ unicode-range: <unicode-range>; ] ||\n [ font-variant: <font-variant>; ] ||\n [ font-feature-settings: <font-feature-settings>; ] ||\n [ font-variation-settings: <font-variation-settings>; ] ||\n [ font-stretch: <font-stretch>; ] ||\n [ font-weight: <font-weight>; ] ||\n [ font-style: <font-style>; ] ||\n [ size-adjust: <size-adjust>; ] ||\n [ ascent-override: <ascent-override>; ] ||\n [ descent-override: <descent-override>; ] ||\n [ line-gap-override: <line-gap-override>; ]\n}", + "interfaces": [ + "CSSFontFaceRule" + ], + "groups": [ + "CSS Fonts" + ], + "descriptors": { + "ascent-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "descent-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "font-display": { + "syntax": "[ auto | block | swap | fallback | optional ]", + "media": "visual", + "percentages": "no", + "initial": "auto", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "font-family": { + "syntax": "<family-name>", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-feature-settings": { + "syntax": "normal | <feature-tag-value>#", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "font-variation-settings": { + "syntax": "normal | [ <string> <number> ]#", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "font-stretch": { + "syntax": "<font-stretch-absolute>{1,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-style": { + "syntax": "normal | italic | oblique <angle>{0,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-weight": { + "syntax": "<font-weight-absolute>{1,2}", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "font-variant": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "all", + "initial": "normal", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "line-gap-override": { + "syntax": "normal | <percentage>", + "media": "all", + "initial": "normal", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "size-adjust": { + "syntax": "<percentage>", + "media": "all", + "initial": "100%", + "percentages": "asSpecified", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental" + }, + "src": { + "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "unicode-range": { + "syntax": "<unicode-range>#", + "media": "all", + "initial": "U+0-10FFFF", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-face" + }, + "@font-feature-values": { + "syntax": "@font-feature-values <family-name># {\n <feature-value-block-list>\n}", + "interfaces": [ + "CSSFontFeatureValuesRule" + ], + "groups": [ + "CSS Fonts" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-feature-values" + }, + "@import": { + "syntax": "@import [ <string> | <url> ]\n [ layer | layer(<layer-name>) ]?\n [ supports( [ <supports-condition> | <declaration> ] ) ]?\n <media-query-list>? ;", + "groups": [ + "CSS Conditional Rules", + "Media Queries" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@import" + }, + "@keyframes": { + "syntax": "@keyframes <keyframes-name> {\n <keyframe-block-list>\n}", + "interfaces": [ + "CSSKeyframeRule", + "CSSKeyframesRule" + ], + "groups": [ + "CSS Animations" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@keyframes" + }, + "@layer": { + "syntax": "@layer [ <layer-name># | <layer-name>? {\n <stylesheet>\n} ]", + "interfaces": [ + "CSSLayerBlockRule", + "CSSLayerStatementRule" + ], + "groups": [ + "CSS Cascading and Inheritance" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@layer" + }, + "@media": { + "syntax": "@media <media-query-list> {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule", + "CSSMediaRule", + "CSSCustomMediaRule" + ], + "groups": [ + "CSS Conditional Rules", + "Media Queries" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@media" + }, + "@namespace": { + "syntax": "@namespace <namespace-prefix>? [ <string> | <url> ];", + "groups": [ + "CSS Namespaces" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@namespace" + }, + "@page": { + "syntax": "@page <page-selector-list> {\n <page-body>\n}", + "interfaces": [ + "CSSPageRule" + ], + "groups": [ + "CSS Pages" + ], + "descriptors": { + "bleed": { + "syntax": "auto | <length>", + "media": [ + "visual", + "paged" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "marks": { + "syntax": "none | [ crop || cross ]", + "media": [ + "visual", + "paged" + ], + "initial": "none", + "percentages": "no", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard" + }, + "size": { + "syntax": "<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]", + "media": [ + "visual", + "paged" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "orderOfAppearance", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@page" + }, + "@property": { + "syntax": "@property <custom-property-name> {\n <declaration-list>\n}", + "interfaces": [ + "CSS", + "CSSPropertyRule" + ], + "groups": [ + "CSS Houdini" + ], + "descriptors": { + "syntax": { + "syntax": "<string>", + "media": "all", + "percentages": "no", + "initial": "n/a (required)", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "inherits": { + "syntax": "true | false", + "media": "all", + "percentages": "no", + "initial": "auto", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "initial-value": { + "syntax": "<string>", + "media": "all", + "initial": "n/a (required)", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + } + }, + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@property" + }, + "@scroll-timeline": { + "syntax": "@scroll-timeline <timeline-name> { <declaration-list> }", + "interfaces": [ + "ScrollTimeline" + ], + "groups": [ + "CSS Animations" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@scroll-timeline" + }, + "@supports": { + "syntax": "@supports <supports-condition> {\n <group-rule-body>\n}", + "interfaces": [ + "CSSGroupingRule", + "CSSConditionRule", + "CSSSupportsRule" + ], + "groups": [ + "CSS Conditional Rules" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@supports" + }, + "@viewport": { + "syntax": "@viewport {\n <group-rule-body>\n}", + "interfaces": [ + "CSSViewportRule" + ], + "groups": [ + "CSS Device Adaptation" + ], + "descriptors": { + "height": { + "syntax": "<viewport-length>{1,2}", + "media": [ + "visual", + "continuous" + ], + "initial": [ + "min-height", + "max-height" + ], + "percentages": [ + "min-height", + "max-height" + ], + "computed": [ + "min-height", + "max-height" + ], + "order": "orderOfAppearance", + "status": "standard" + }, + "max-height": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToHeightOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "max-width": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToWidthOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "max-zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + }, + "min-height": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToHeightOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "min-width": { + "syntax": "<viewport-length>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToWidthOfInitialViewport", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard" + }, + "min-zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + }, + "orientation": { + "syntax": "auto | portrait | landscape", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "referToSizeOfBoundingBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "user-zoom": { + "syntax": "zoom | fixed", + "media": [ + "visual", + "continuous" + ], + "initial": "zoom", + "percentages": "referToSizeOfBoundingBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "viewport-fit": { + "syntax": "auto | contain | cover", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "no", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard" + }, + "width": { + "syntax": "<viewport-length>{1,2}", + "media": [ + "visual", + "continuous" + ], + "initial": [ + "min-width", + "max-width" + ], + "percentages": [ + "min-width", + "max-width" + ], + "computed": [ + "min-width", + "max-width" + ], + "order": "orderOfAppearance", + "status": "standard" + }, + "zoom": { + "syntax": "auto | <number> | <percentage>", + "media": [ + "visual", + "continuous" + ], + "initial": "auto", + "percentages": "the zoom factor itself", + "computed": "autoNonNegativeOrPercentage", + "order": "uniqueOrder", + "status": "standard" + } + }, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@viewport" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/properties.json b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/properties.json new file mode 100644 index 00000000..dbd266a1 --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/properties.json @@ -0,0 +1,9626 @@ +{ + "--*": { + "syntax": "<declaration-value>", + "media": "all", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Variables" + ], + "initial": "seeProse", + "appliesto": "allElements", + "computed": "asSpecifiedWithVarsSubstituted", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/--*" + }, + "-ms-accelerator": { + "syntax": "false | true", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "false", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator" + }, + "-ms-block-progression": { + "syntax": "tb | rl | bt | lr", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "tb", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression" + }, + "-ms-content-zoom-chaining": { + "syntax": "none | chained", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining" + }, + "-ms-content-zooming": { + "syntax": "none | zoom", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "zoomForTheTopLevelNoneForTheRest", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming" + }, + "-ms-content-zoom-limit": { + "syntax": "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-content-zoom-limit-max", + "-ms-content-zoom-limit-min" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit" + }, + "-ms-content-zoom-limit-max": { + "syntax": "<percentage>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "maxZoomFactor", + "groups": [ + "Microsoft Extensions" + ], + "initial": "400%", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max" + }, + "-ms-content-zoom-limit-min": { + "syntax": "<percentage>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "minZoomFactor", + "groups": [ + "Microsoft Extensions" + ], + "initial": "100%", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min" + }, + "-ms-content-zoom-snap": { + "syntax": "<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-content-zoom-snap-type", + "-ms-content-zoom-snap-points" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-content-zoom-snap-type", + "-ms-content-zoom-snap-points" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap" + }, + "-ms-content-zoom-snap-points": { + "syntax": "snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0%, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points" + }, + "-ms-content-zoom-snap-type": { + "syntax": "none | proximity | mandatory", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type" + }, + "-ms-filter": { + "syntax": "<string>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "\"\"", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-filter" + }, + "-ms-flow-from": { + "syntax": "[ none | <custom-ident> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from" + }, + "-ms-flow-into": { + "syntax": "[ none | <custom-ident> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "iframeElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into" + }, + "-ms-grid-columns": { + "syntax": "none | <track-list> | <auto-track-list>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns" + }, + "-ms-grid-rows": { + "syntax": "none | <track-list> | <auto-track-list>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows" + }, + "-ms-high-contrast-adjust": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust" + }, + "-ms-hyphenate-limit-chars": { + "syntax": "auto | <integer>{1,3}", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars" + }, + "-ms-hyphenate-limit-lines": { + "syntax": "no-limit | <integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "no-limit", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines" + }, + "-ms-hyphenate-limit-zone": { + "syntax": "<percentage> | <length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "referToLineBoxWidth", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone" + }, + "-ms-ime-align": { + "syntax": "auto | after", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align" + }, + "-ms-overflow-style": { + "syntax": "auto | none | scrollbar | -ms-autohiding-scrollbar", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style" + }, + "-ms-scrollbar-3dlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color" + }, + "-ms-scrollbar-arrow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ButtonText", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color" + }, + "-ms-scrollbar-base-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color" + }, + "-ms-scrollbar-darkshadow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDDarkShadow", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color" + }, + "-ms-scrollbar-face-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDFace", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color" + }, + "-ms-scrollbar-highlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDHighlight", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color" + }, + "-ms-scrollbar-shadow-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "ThreeDDarkShadow", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color" + }, + "-ms-scrollbar-track-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "Scrollbar", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color" + }, + "-ms-scroll-chaining": { + "syntax": "chained | none", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "chained", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining" + }, + "-ms-scroll-limit": { + "syntax": "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-limit-x-min", + "-ms-scroll-limit-y-min", + "-ms-scroll-limit-x-max", + "-ms-scroll-limit-y-max" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-limit-x-min", + "-ms-scroll-limit-y-min", + "-ms-scroll-limit-x-max", + "-ms-scroll-limit-y-max" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit" + }, + "-ms-scroll-limit-x-max": { + "syntax": "auto | <length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max" + }, + "-ms-scroll-limit-x-min": { + "syntax": "<length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min" + }, + "-ms-scroll-limit-y-max": { + "syntax": "auto | <length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max" + }, + "-ms-scroll-limit-y-min": { + "syntax": "<length>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min" + }, + "-ms-scroll-rails": { + "syntax": "none | railed", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "railed", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails" + }, + "-ms-scroll-snap-points-x": { + "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0px, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x" + }, + "-ms-scroll-snap-points-y": { + "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "snapInterval(0px, 100%)", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y" + }, + "-ms-scroll-snap-type": { + "syntax": "none | proximity | mandatory", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type" + }, + "-ms-scroll-snap-x": { + "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-x" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-x" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x" + }, + "-ms-scroll-snap-y": { + "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-y" + ], + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "-ms-scroll-snap-type", + "-ms-scroll-snap-points-y" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y" + }, + "-ms-scroll-translation": { + "syntax": "none | vertical-to-horizontal", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation" + }, + "-ms-text-autospace": { + "syntax": "none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace" + }, + "-ms-touch-select": { + "syntax": "grippers | none", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "grippers", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select" + }, + "-ms-user-select": { + "syntax": "none | element | text", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "text", + "appliesto": "nonReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-user-select" + }, + "-ms-wrap-flow": { + "syntax": "auto | both | start | end | maximum | clear", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow" + }, + "-ms-wrap-margin": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "0", + "appliesto": "exclusionElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin" + }, + "-ms-wrap-through": { + "syntax": "wrap | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "wrap", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through" + }, + "-moz-appearance": { + "syntax": "none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "noneButOverriddenInUserAgentCSS", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "-moz-binding": { + "syntax": "<url> | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElementsExceptGeneratedContentOrPseudoElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-binding" + }, + "-moz-border-bottom-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors" + }, + "-moz-border-left-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors" + }, + "-moz-border-right-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors" + }, + "-moz-border-top-colors": { + "syntax": "<color>+ | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors" + }, + "-moz-context-properties": { + "syntax": "none | [ fill | fill-opacity | stroke | stroke-opacity ]#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElementsThatCanReferenceImages", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties" + }, + "-moz-float-edge": { + "syntax": "border-box | content-box | margin-box | padding-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "content-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge" + }, + "-moz-force-broken-image-icon": { + "syntax": "0 | 1", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "images", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon" + }, + "-moz-image-region": { + "syntax": "<shape> | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "auto", + "appliesto": "xulImageElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-image-region" + }, + "-moz-orient": { + "syntax": "inline | block | horizontal | vertical", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "inline", + "appliesto": "anyElementEffectOnProgressAndMeter", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-orient" + }, + "-moz-outline-radius": { + "syntax": "<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "percentages": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "groups": [ + "Mozilla Extensions" + ], + "initial": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "appliesto": "allElements", + "computed": [ + "-moz-outline-radius-topleft", + "-moz-outline-radius-topright", + "-moz-outline-radius-bottomright", + "-moz-outline-radius-bottomleft" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius" + }, + "-moz-outline-radius-bottomleft": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft" + }, + "-moz-outline-radius-bottomright": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright" + }, + "-moz-outline-radius-topleft": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft" + }, + "-moz-outline-radius-topright": { + "syntax": "<outline-radius>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "Mozilla Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright" + }, + "-moz-stack-sizing": { + "syntax": "ignore | stretch-to-fit", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "stretch-to-fit", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing" + }, + "-moz-text-blink": { + "syntax": "none | blink", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink" + }, + "-moz-user-focus": { + "syntax": "ignore | normal | select-after | select-before | select-menu | select-same | select-all | none", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus" + }, + "-moz-user-input": { + "syntax": "auto | none | enabled | disabled", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-input" + }, + "-moz-user-modify": { + "syntax": "read-only | read-write | write-only", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "read-only", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify" + }, + "-moz-window-dragging": { + "syntax": "drag | no-drag", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "drag", + "appliesto": "allElementsCreatingNativeWindows", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging" + }, + "-moz-window-shadow": { + "syntax": "default | menu | tooltip | sheet | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "default", + "appliesto": "allElementsCreatingNativeWindows", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow" + }, + "-webkit-appearance": { + "syntax": "none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "noneButOverriddenInUserAgentCSS", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "-webkit-border-before": { + "syntax": "<'border-width'> || <'border-style'> || <color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": [ + "-webkit-border-before-width" + ], + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "color" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before" + }, + "-webkit-border-before-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-border-before-style": { + "syntax": "<'border-style'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-border-before-width": { + "syntax": "<'border-width'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "WebKit Extensions" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "-webkit-box-reflect": { + "syntax": "[ above | below | right | left ]? <length>? <image>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect" + }, + "-webkit-line-clamp": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "WebKit Extensions", + "CSS Overflow" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp" + }, + "-webkit-mask": { + "syntax": "[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "-webkit-mask-image", + "-webkit-mask-repeat", + "-webkit-mask-attachment", + "-webkit-mask-position", + "-webkit-mask-origin", + "-webkit-mask-clip" + ], + "appliesto": "allElements", + "computed": [ + "-webkit-mask-image", + "-webkit-mask-repeat", + "-webkit-mask-attachment", + "-webkit-mask-position", + "-webkit-mask-origin", + "-webkit-mask-clip" + ], + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask" + }, + "-webkit-mask-attachment": { + "syntax": "<attachment>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "scroll", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment" + }, + "-webkit-mask-clip": { + "syntax": "[ <box> | border | padding | content | text ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "border", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip" + }, + "-webkit-mask-composite": { + "syntax": "<composite-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "source-over", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite" + }, + "-webkit-mask-image": { + "syntax": "<mask-reference>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "absoluteURIOrNone", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image" + }, + "-webkit-mask-origin": { + "syntax": "[ <box> | border | padding | content ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "padding", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin" + }, + "-webkit-mask-position": { + "syntax": "<position>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0% 0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position" + }, + "-webkit-mask-position-x": { + "syntax": "[ <length-percentage> | left | center | right ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x" + }, + "-webkit-mask-position-y": { + "syntax": "[ <length-percentage> | top | center | bottom ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfElement", + "groups": [ + "WebKit Extensions" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y" + }, + "-webkit-mask-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat" + }, + "-webkit-mask-repeat-x": { + "syntax": "repeat | no-repeat | space | round", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x" + }, + "-webkit-mask-repeat-y": { + "syntax": "repeat | no-repeat | space | round", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "absoluteLengthOrPercentage", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y" + }, + "-webkit-mask-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToBackgroundPositioningArea", + "groups": [ + "WebKit Extensions" + ], + "initial": "auto auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size" + }, + "-webkit-overflow-scrolling": { + "syntax": "auto | touch", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling" + }, + "-webkit-tap-highlight-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "black", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color" + }, + "-webkit-text-fill-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color" + }, + "-webkit-text-stroke": { + "syntax": "<length> || <color>", + "media": "visual", + "inherited": true, + "animationType": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "appliesto": "allElements", + "computed": [ + "-webkit-text-stroke-width", + "-webkit-text-stroke-color" + ], + "order": "canonicalOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke" + }, + "-webkit-text-stroke-color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color" + }, + "-webkit-text-stroke-width": { + "syntax": "<length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "absoluteLength", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width" + }, + "-webkit-touch-callout": { + "syntax": "default | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "default", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout" + }, + "-webkit-user-modify": { + "syntax": "read-only | read-write | read-write-plaintext-only", + "media": "interactive", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "WebKit Extensions" + ], + "initial": "read-only", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard" + }, + "accent-color": { + "syntax": "auto | <color>", + "media": "interactive", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asAutoOrColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/accent-color" + }, + "align-content": { + "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multilineFlexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-content" + }, + "align-items": { + "syntax": "normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-items" + }, + "align-self": { + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "auto", + "appliesto": "flexItemsGridItemsAndAbsolutelyPositionedBoxes", + "computed": "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-self" + }, + "align-tracks": { + "syntax": "[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "normal", + "appliesto": "gridContainersWithMasonryLayoutInTheirBlockAxis", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-tracks" + }, + "all": { + "syntax": "initial | inherit | unset | revert | revert-layer", + "media": "noPracticalMedia", + "inherited": false, + "animationType": "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection", + "percentages": "no", + "groups": [ + "CSS Miscellaneous" + ], + "initial": "noPracticalInitialValue", + "appliesto": "allElements", + "computed": "asSpecifiedAppliesToEachProperty", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/all" + }, + "animation": { + "syntax": "<single-animation>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": [ + "animation-name", + "animation-duration", + "animation-timing-function", + "animation-delay", + "animation-iteration-count", + "animation-direction", + "animation-fill-mode", + "animation-play-state", + "animation-timeline" + ], + "appliesto": "allElementsAndPseudos", + "computed": [ + "animation-name", + "animation-duration", + "animation-timing-function", + "animation-delay", + "animation-direction", + "animation-iteration-count", + "animation-fill-mode", + "animation-play-state", + "animation-timeline" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation" + }, + "animation-composition": { + "syntax": "<single-animation-composition>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "replace", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-composition" + }, + "animation-delay": { + "syntax": "<time>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-delay" + }, + "animation-direction": { + "syntax": "<single-animation-direction>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "normal", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-direction" + }, + "animation-duration": { + "syntax": "<time>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-duration" + }, + "animation-fill-mode": { + "syntax": "<single-animation-fill-mode>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "none", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode" + }, + "animation-iteration-count": { + "syntax": "<single-animation-iteration-count>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "1", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count" + }, + "animation-name": { + "syntax": "[ none | <keyframes-name> ]#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "none", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-name" + }, + "animation-play-state": { + "syntax": "<single-animation-play-state>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "running", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-play-state" + }, + "animation-timing-function": { + "syntax": "<easing-function>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "ease", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timing-function" + }, + "animation-timeline": { + "syntax": "<single-animation-timeline>#", + "media": "visual", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "listEachItemIdentifyerOrNoneAuto", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timeline" + }, + "appearance": { + "syntax": "none | auto | textfield | menulist-button | <compat-auto>", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance" + }, + "aspect-ratio": { + "syntax": "auto | <ratio>", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/aspect-ratio" + }, + "azimuth": { + "syntax": "<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards", + "media": "aural", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Speech" + ], + "initial": "center", + "appliesto": "allElements", + "computed": "normalizedAngle", + "order": "orderOfAppearance", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/azimuth" + }, + "backdrop-filter": { + "syntax": "none | <filter-function-list>", + "media": "visual", + "inherited": false, + "animationType": "filterList", + "percentages": "no", + "groups": [ + "Filter Effects" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backdrop-filter" + }, + "backface-visibility": { + "syntax": "visible | hidden", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "visible", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backface-visibility" + }, + "background": { + "syntax": "[ <bg-layer> , ]* <final-bg-layer>", + "media": "visual", + "inherited": false, + "animationType": [ + "background-color", + "background-image", + "background-clip", + "background-position", + "background-size", + "background-repeat", + "background-attachment" + ], + "percentages": [ + "background-position", + "background-size" + ], + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "background-image", + "background-position", + "background-size", + "background-repeat", + "background-origin", + "background-clip", + "background-attachment", + "background-color" + ], + "appliesto": "allElements", + "computed": [ + "background-image", + "background-position", + "background-size", + "background-repeat", + "background-origin", + "background-clip", + "background-attachment", + "background-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background" + }, + "background-attachment": { + "syntax": "<attachment>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "scroll", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-attachment" + }, + "background-blend-mode": { + "syntax": "<blend-mode>#", + "media": "none", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "normal", + "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-blend-mode" + }, + "background-clip": { + "syntax": "<box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "border-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-clip" + }, + "background-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "transparent", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-color" + }, + "background-image": { + "syntax": "<bg-image>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-image" + }, + "background-origin": { + "syntax": "<box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "padding-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-origin" + }, + "background-position": { + "syntax": "<bg-position>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0% 0%", + "appliesto": "allElements", + "computed": [ + "background-position-x", + "background-position-y" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position" + }, + "background-position-x": { + "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-x" + }, + "background-position-y": { + "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0%", + "appliesto": "allElements", + "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-y" + }, + "background-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "repeat", + "appliesto": "allElements", + "computed": "listEachItemHasTwoKeywordsOnePerDimension", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-repeat" + }, + "background-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "relativeToBackgroundPositioningArea", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "auto auto", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-size" + }, + "block-overflow": { + "syntax": "clip | ellipsis | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "clip", + "appliesto": "blockContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "block-size": { + "syntax": "<'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsWidthAndHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/block-size" + }, + "border": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-color", + "border-style", + "border-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-width", + "border-style", + "border-color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border" + }, + "border-block": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block" + }, + "border-block-color": { + "syntax": "<'border-top-color'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-color" + }, + "border-block-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-style" + }, + "border-block-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-width" + }, + "border-block-end": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-block-end-color", + "border-block-end-style", + "border-block-end-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end" + }, + "border-block-end-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-color" + }, + "border-block-end-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-style" + }, + "border-block-end-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-width" + }, + "border-block-start": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-block-start-color", + "border-block-start-style", + "border-block-start-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-block-start-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start" + }, + "border-block-start-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-color" + }, + "border-block-start-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-style" + }, + "border-block-start-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-width" + }, + "border-bottom": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-color", + "border-bottom-style", + "border-bottom-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-bottom-width", + "border-bottom-style", + "border-bottom-color" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-width", + "border-bottom-style", + "border-bottom-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom" + }, + "border-bottom-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-color" + }, + "border-bottom-left-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius" + }, + "border-bottom-right-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius" + }, + "border-bottom-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-style" + }, + "border-bottom-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-width" + }, + "border-collapse": { + "syntax": "collapse | separate", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "separate", + "appliesto": "tableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-collapse" + }, + "border-color": { + "syntax": "<color>{1,4}", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-color", + "border-left-color", + "border-right-color", + "border-top-color" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-color", + "border-right-color", + "border-bottom-color", + "border-left-color" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-color", + "border-left-color", + "border-right-color", + "border-top-color" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-color" + }, + "border-end-end-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius" + }, + "border-end-start-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius" + }, + "border-image": { + "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "border-image-slice", + "border-image-width" + ], + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-image-source", + "border-image-slice", + "border-image-width", + "border-image-outset", + "border-image-repeat" + ], + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": [ + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image" + }, + "border-image-outset": { + "syntax": "[ <length> | <number> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-outset" + }, + "border-image-repeat": { + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "stretch", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-repeat" + }, + "border-image-slice": { + "syntax": "<number-percentage>{1,4} && fill?", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToSizeOfBorderImage", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "100%", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "oneToFourPercentagesOrAbsoluteLengthsPlusFill", + "order": "percentagesOrLengthsFollowedByFill", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-slice" + }, + "border-image-source": { + "syntax": "none | <image>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "noneOrImageWithAbsoluteURI", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-source" + }, + "border-image-width": { + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToWidthOrHeightOfBorderImageArea", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "1", + "appliesto": "allElementsExceptTableElementsWhenCollapse", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-width" + }, + "border-inline": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline" + }, + "border-inline-end": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-inline-end-color", + "border-inline-end-style", + "border-inline-end-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-inline-end-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end" + }, + "border-inline-color": { + "syntax": "<'border-top-color'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-color" + }, + "border-inline-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-style" + }, + "border-inline-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-width" + }, + "border-inline-end-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color" + }, + "border-inline-end-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style" + }, + "border-inline-end-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width" + }, + "border-inline-start": { + "syntax": "<'border-top-width'> || <'border-top-style'> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-inline-start-color", + "border-inline-start-style", + "border-inline-start-width" + ], + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "border-width", + "border-style", + "color" + ], + "appliesto": "allElements", + "computed": [ + "border-width", + "border-style", + "border-inline-start-color" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start" + }, + "border-inline-start-color": { + "syntax": "<'border-top-color'>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color" + }, + "border-inline-start-style": { + "syntax": "<'border-top-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style" + }, + "border-inline-start-width": { + "syntax": "<'border-top-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width" + }, + "border-left": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-left-color", + "border-left-style", + "border-left-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-left-width", + "border-left-style", + "border-left-color" + ], + "appliesto": "allElements", + "computed": [ + "border-left-width", + "border-left-style", + "border-left-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left" + }, + "border-left-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-color" + }, + "border-left-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-style" + }, + "border-left-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-width" + }, + "border-radius": { + "syntax": "<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius" + ], + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius" + ], + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": [ + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-top-left-radius", + "border-top-right-radius" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-radius" + }, + "border-right": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-right-color", + "border-right-style", + "border-right-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-right-width", + "border-right-style", + "border-right-color" + ], + "appliesto": "allElements", + "computed": [ + "border-right-width", + "border-right-style", + "border-right-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right" + }, + "border-right-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-color" + }, + "border-right-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-style" + }, + "border-right-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderRightStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-width" + }, + "border-spacing": { + "syntax": "<length> <length>?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "0", + "appliesto": "tableElements", + "computed": "twoAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-spacing" + }, + "border-start-end-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius" + }, + "border-start-start-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius" + }, + "border-style": { + "syntax": "<line-style>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-style", + "border-right-style", + "border-bottom-style", + "border-left-style" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-style", + "border-left-style", + "border-right-style", + "border-top-style" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-style" + }, + "border-top": { + "syntax": "<line-width> || <line-style> || <color>", + "media": "visual", + "inherited": false, + "animationType": [ + "border-top-color", + "border-top-style", + "border-top-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "appliesto": "allElements", + "computed": [ + "border-top-width", + "border-top-style", + "border-top-color" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top" + }, + "border-top-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-color" + }, + "border-top-left-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius" + }, + "border-top-right-radius": { + "syntax": "<length-percentage>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfBorderBox", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "0", + "appliesto": "allElementsUAsNotRequiredWhenCollapse", + "computed": "twoAbsoluteLengthOrPercentages", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius" + }, + "border-top-style": { + "syntax": "<line-style>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-style" + }, + "border-top-width": { + "syntax": "<line-width>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLengthOr0IfBorderTopStyleNoneOrHidden", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-width" + }, + "border-width": { + "syntax": "<line-width>{1,4}", + "media": "visual", + "inherited": false, + "animationType": [ + "border-bottom-width", + "border-left-width", + "border-right-width", + "border-top-width" + ], + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": [ + "border-top-width", + "border-right-width", + "border-bottom-width", + "border-left-width" + ], + "appliesto": "allElements", + "computed": [ + "border-bottom-width", + "border-left-width", + "border-right-width", + "border-top-width" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-width" + }, + "bottom": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToContainingBlockHeight", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/bottom" + }, + "box-align": { + "syntax": "start | center | end | baseline | stretch", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "stretch", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-align" + }, + "box-decoration-break": { + "syntax": "slice | clone", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "slice", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-decoration-break" + }, + "box-direction": { + "syntax": "normal | reverse | inherit", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "normal", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-direction" + }, + "box-flex": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "0", + "appliesto": "directChildrenOfElementsWithDisplayMozBoxMozInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex" + }, + "box-flex-group": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "1", + "appliesto": "inFlowChildrenOfBoxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex-group" + }, + "box-lines": { + "syntax": "single | multiple", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "single", + "appliesto": "boxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-lines" + }, + "box-ordinal-group": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "1", + "appliesto": "childrenOfBoxElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group" + }, + "box-orient": { + "syntax": "horizontal | vertical | inline-axis | block-axis | inherit", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "inlineAxisHorizontalInXUL", + "appliesto": "elementsWithDisplayBoxOrInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-orient" + }, + "box-pack": { + "syntax": "start | center | end | justify", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions", + "WebKit Extensions" + ], + "initial": "start", + "appliesto": "elementsWithDisplayMozBoxMozInlineBox", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-pack" + }, + "box-shadow": { + "syntax": "none | <shadow>#", + "media": "visual", + "inherited": false, + "animationType": "shadowList", + "percentages": "no", + "groups": [ + "CSS Backgrounds and Borders" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "absoluteLengthsSpecifiedColorAsSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-shadow" + }, + "box-sizing": { + "syntax": "content-box | border-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "content-box", + "appliesto": "allElementsAcceptingWidthOrHeight", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-sizing" + }, + "break-after": { + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-after" + }, + "break-before": { + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-before" + }, + "break-inside": { + "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "auto", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-inside" + }, + "caption-side": { + "syntax": "top | bottom | block-start | block-end | inline-start | inline-end", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "top", + "appliesto": "tableCaptionElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caption-side" + }, + "caret": { + "syntax": "<'caret-color'> || <'caret-shape'>", + "media": "interactive", + "inherited": true, + "animationType": [ + "caret-color", + "caret-shape" + ], + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": [ + "caret-color", + "caret-shape" + ], + "appliesto": "elementsThatAcceptInput", + "computed": [ + "caret-color", + "caret-shape" + ], + "order": "perGrammar", + "status": "standard" + }, + "caret-color": { + "syntax": "auto | <color>", + "media": "interactive", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asAutoOrColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caret-color" + }, + "caret-shape": { + "syntax": "auto | bar | block | underscore", + "media": "interactive", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "elementsThatAcceptInput", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard" + }, + "clear": { + "syntax": "none | left | right | both | inline-start | inline-end", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "none", + "appliesto": "blockLevelElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clear" + }, + "clip": { + "syntax": "<shape> | auto", + "media": "visual", + "inherited": false, + "animationType": "rectangle", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "absolutelyPositionedElements", + "computed": "autoOrRectangle", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip" + }, + "clip-path": { + "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none", + "media": "visual", + "inherited": false, + "animationType": "basicShapeOtherwiseNo", + "percentages": "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip-path" + }, + "color": { + "syntax": "<color>", + "media": "visual", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "canvastext", + "appliesto": "allElementsAndText", + "computed": "computedColor", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color" + }, + "print-color-adjust": { + "syntax": "economy | exact", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "economy", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/print-color-adjust" + }, + "color-scheme": { + "syntax": "normal | [ light | dark | <custom-ident> ]+ && only?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "normal", + "appliesto": "allElementsAndText", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color-scheme" + }, + "column-count": { + "syntax": "<integer> | auto", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "auto", + "appliesto": "blockContainersExceptTableWrappers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-count" + }, + "column-fill": { + "syntax": "auto | balance | balance-all", + "media": "visualInContinuousMediaNoEffectInOverflowColumns", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "balance", + "appliesto": "multicolElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-fill" + }, + "column-gap": { + "syntax": "normal | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap" + }, + "column-rule": { + "syntax": "<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>", + "media": "visual", + "inherited": false, + "animationType": [ + "column-rule-color", + "column-rule-style", + "column-rule-width" + ], + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": [ + "column-rule-width", + "column-rule-style", + "column-rule-color" + ], + "appliesto": "multicolElements", + "computed": [ + "column-rule-color", + "column-rule-style", + "column-rule-width" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule" + }, + "column-rule-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "currentcolor", + "appliesto": "multicolElements", + "computed": "computedColor", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-color" + }, + "column-rule-style": { + "syntax": "<'border-style'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "none", + "appliesto": "multicolElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-style" + }, + "column-rule-width": { + "syntax": "<'border-width'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "medium", + "appliesto": "multicolElements", + "computed": "absoluteLength0IfColumnRuleStyleNoneOrHidden", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-width" + }, + "column-span": { + "syntax": "none | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "none", + "appliesto": "inFlowBlockLevelElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-span" + }, + "column-width": { + "syntax": "<length> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": "auto", + "appliesto": "blockContainersExceptTableWrappers", + "computed": "absoluteLengthZeroOrLarger", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-width" + }, + "columns": { + "syntax": "<'column-width'> || <'column-count'>", + "media": "visual", + "inherited": false, + "animationType": [ + "column-width", + "column-count" + ], + "percentages": "no", + "groups": [ + "CSS Columns" + ], + "initial": [ + "column-width", + "column-count" + ], + "appliesto": "blockContainersExceptTableWrappers", + "computed": [ + "column-width", + "column-count" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/columns" + }, + "contain": { + "syntax": "none | strict | content | [ [ size || inline-size ] || layout || style || paint ]", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain" + }, + "contain-intrinsic-size": { + "syntax": "[ none | <length> | auto <length> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": [ + "contain-intrinsic-width", + "contain-intrinsic-height" + ], + "percentages": [ + "contain-intrinsic-width", + "contain-intrinsic-height" + ], + "groups": [ + "CSS Containment" + ], + "initial": [ + "contain-intrinsic-width", + "contain-intrinsic-height" + ], + "appliesto": "elementsForWhichSizeContainmentCanApply", + "computed": [ + "contain-intrinsic-width", + "contain-intrinsic-height" + ], + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size" + }, + "contain-intrinsic-block-size": { + "syntax": "none | <length> | auto <length>", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "elementsForWhichSizeContainmentCanApply", + "computed": "asSpecifiedWithLengthValuesComputed", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-block-size" + }, + "contain-intrinsic-height": { + "syntax": "none | <length> | auto <length>", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "elementsForWhichSizeContainmentCanApply", + "computed": "asSpecifiedWithLengthValuesComputed", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height" + }, + "contain-intrinsic-inline-size": { + "syntax": "none | <length> | auto <length>", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "elementsForWhichSizeContainmentCanApply", + "computed": "asSpecifiedWithLengthValuesComputed", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-inline-size" + }, + "contain-intrinsic-width": { + "syntax": "none | <length> | auto <length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "none", + "appliesto": "elementsForWhichSizeContainmentCanApply", + "computed": "asSpecifiedWithLengthValuesComputed", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-width" + }, + "content": { + "syntax": "normal | none | [ <content-replacement> | <content-list> ] [/ [ <string> | <counter> ]+ ]?", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Generated Content" + ], + "initial": "normal", + "appliesto": "allElementsTreeAbidingPseudoElementsPageMarginBoxes", + "computed": "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/content" + }, + "content-visibility": { + "syntax": "visible | auto | hidden", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Containment" + ], + "initial": "visible", + "appliesto": "elementsForWhichLayoutContainmentCanApply", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/content-visibility" + }, + "counter-increment": { + "syntax": "[ <counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-increment" + }, + "counter-reset": { + "syntax": "[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-reset" + }, + "counter-set": { + "syntax": "[ <counter-name> <integer>? ]+ | none", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Counter Styles" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-set" + }, + "cursor": { + "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]", + "media": [ + "visual", + "interactive" + ], + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/cursor" + }, + "direction": { + "syntax": "ltr | rtl", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "ltr", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/direction" + }, + "display": { + "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>", + "media": "all", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Display" + ], + "initial": "inline", + "appliesto": "allElements", + "computed": "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/display" + }, + "empty-cells": { + "syntax": "show | hide", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "show", + "appliesto": "tableCellElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/empty-cells" + }, + "filter": { + "syntax": "none | <filter-function-list>", + "media": "visual", + "inherited": false, + "animationType": "filterList", + "percentages": "no", + "groups": [ + "Filter Effects" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/filter" + }, + "flex": { + "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]", + "media": "visual", + "inherited": false, + "animationType": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "appliesto": "flexItemsAndInFlowPseudos", + "computed": [ + "flex-grow", + "flex-shrink", + "flex-basis" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex" + }, + "flex-basis": { + "syntax": "content | <'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToFlexContainersInnerMainSize", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "auto", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "lengthOrPercentageBeforeKeywordIfBothPresent", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-basis" + }, + "flex-direction": { + "syntax": "row | row-reverse | column | column-reverse", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "row", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-direction" + }, + "flex-flow": { + "syntax": "<'flex-direction'> || <'flex-wrap'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": [ + "flex-direction", + "flex-wrap" + ], + "appliesto": "flexContainers", + "computed": [ + "flex-direction", + "flex-wrap" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-flow" + }, + "flex-grow": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "0", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-grow" + }, + "flex-shrink": { + "syntax": "<number>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "1", + "appliesto": "flexItemsAndInFlowPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-shrink" + }, + "flex-wrap": { + "syntax": "nowrap | wrap | wrap-reverse", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "nowrap", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-wrap" + }, + "float": { + "syntax": "left | right | none | inline-start | inline-end", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "none", + "appliesto": "allElementsNoEffectIfDisplayNone", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/float" + }, + "font": { + "syntax": "[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar", + "media": "visual", + "inherited": true, + "animationType": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "percentages": [ + "font-size", + "line-height" + ], + "groups": [ + "CSS Fonts" + ], + "initial": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "appliesto": "allElements", + "computed": [ + "font-style", + "font-variant", + "font-weight", + "font-stretch", + "font-size", + "line-height", + "font-family" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font" + }, + "font-family": { + "syntax": "[ <family-name> | <generic-family> ]#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-family" + }, + "font-feature-settings": { + "syntax": "normal | <feature-tag-value>#", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-feature-settings" + }, + "font-kerning": { + "syntax": "auto | normal | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-kerning" + }, + "font-language-override": { + "syntax": "normal | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-language-override" + }, + "font-optical-sizing": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing" + }, + "font-variation-settings": { + "syntax": "normal | [ <string> <number> ]#", + "media": "visual", + "inherited": true, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variation-settings" + }, + "font-size": { + "syntax": "<absolute-size> | <relative-size> | <length-percentage>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "referToParentElementsFontSize", + "groups": [ + "CSS Fonts" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size" + }, + "font-size-adjust": { + "syntax": "none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]", + "media": "visual", + "inherited": true, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size-adjust" + }, + "font-smooth": { + "syntax": "auto | never | always | <absolute-size> | <length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-smooth" + }, + "font-stretch": { + "syntax": "<font-stretch-absolute>", + "media": "visual", + "inherited": true, + "animationType": "fontStretch", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-stretch" + }, + "font-style": { + "syntax": "normal | italic | oblique <angle>?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-style" + }, + "font-synthesis": { + "syntax": "none | [ weight || style || small-caps ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "weight style", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-synthesis" + }, + "font-variant": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant" + }, + "font-variant-alternates": { + "syntax": "normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates" + }, + "font-variant-caps": { + "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-caps" + }, + "font-variant-east-asian": { + "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian" + }, + "font-variant-ligatures": { + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures" + }, + "font-variant-numeric": { + "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric" + }, + "font-variant-position": { + "syntax": "normal | sub | super", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-position" + }, + "font-weight": { + "syntax": "<font-weight-absolute> | bolder | lighter", + "media": "visual", + "inherited": true, + "animationType": "fontWeight", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "keywordOrNumericalValueBolderLighterTransformedToRealValue", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-weight" + }, + "forced-color-adjust": { + "syntax": "auto | none", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Color" + ], + "initial": "auto", + "appliesto": "allElementsAndText", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust" + }, + "gap": { + "syntax": "<'row-gap'> <'column-gap'>?", + "media": "visual", + "inherited": false, + "animationType": [ + "row-gap", + "column-gap" + ], + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "row-gap", + "column-gap" + ], + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": [ + "row-gap", + "column-gap" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap" + }, + "grid": { + "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "grid-template-rows", + "grid-template-columns", + "grid-auto-rows", + "grid-auto-columns" + ], + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-template-rows", + "grid-template-columns", + "grid-template-areas", + "grid-auto-rows", + "grid-auto-columns", + "grid-auto-flow", + "grid-column-gap", + "grid-row-gap", + "column-gap", + "row-gap" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-template-rows", + "grid-template-columns", + "grid-template-areas", + "grid-auto-rows", + "grid-auto-columns", + "grid-auto-flow", + "grid-column-gap", + "grid-row-gap", + "column-gap", + "row-gap" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid" + }, + "grid-area": { + "syntax": "<grid-line> [ / <grid-line> ]{0,3}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-start", + "grid-column-start", + "grid-row-end", + "grid-column-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-row-start", + "grid-column-start", + "grid-row-end", + "grid-column-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-area" + }, + "grid-auto-columns": { + "syntax": "<track-size>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns" + }, + "grid-auto-flow": { + "syntax": "[ row | column ] || dense", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "row", + "appliesto": "gridContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow" + }, + "grid-auto-rows": { + "syntax": "<track-size>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows" + }, + "grid-column": { + "syntax": "<grid-line> [ / <grid-line> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-column-start", + "grid-column-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-column-start", + "grid-column-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column" + }, + "grid-column-end": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-end" + }, + "grid-column-gap": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "0", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap" + }, + "grid-column-start": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-start" + }, + "grid-gap": { + "syntax": "<'grid-row-gap'> <'grid-column-gap'>?", + "media": "visual", + "inherited": false, + "animationType": [ + "grid-row-gap", + "grid-column-gap" + ], + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-gap", + "grid-column-gap" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-row-gap", + "grid-column-gap" + ], + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap" + }, + "grid-row": { + "syntax": "<grid-line> [ / <grid-line> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-row-start", + "grid-row-end" + ], + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": [ + "grid-row-start", + "grid-row-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row" + }, + "grid-row-end": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-end" + }, + "grid-row-gap": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "0", + "appliesto": "gridContainers", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap" + }, + "grid-row-start": { + "syntax": "<grid-line>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "auto", + "appliesto": "gridItemsAndBoxesWithinGridContainer", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-start" + }, + "grid-template": { + "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": [ + "grid-template-columns", + "grid-template-rows" + ], + "groups": [ + "CSS Grid Layout" + ], + "initial": [ + "grid-template-columns", + "grid-template-rows", + "grid-template-areas" + ], + "appliesto": "gridContainers", + "computed": [ + "grid-template-columns", + "grid-template-rows", + "grid-template-areas" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template" + }, + "grid-template-areas": { + "syntax": "none | <string>+", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-areas" + }, + "grid-template-columns": { + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-columns" + }, + "grid-template-rows": { + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpcDifferenceLpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Grid Layout" + ], + "initial": "none", + "appliesto": "gridContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-rows" + }, + "hanging-punctuation": { + "syntax": "none | [ first || [ force-end | allow-end ] || last ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation" + }, + "height": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAutoOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/height" + }, + "hyphenate-character": { + "syntax": "auto | <string>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hyphenate-character" + }, + "hyphens": { + "syntax": "none | manual | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "manual", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hyphens" + }, + "image-orientation": { + "syntax": "from-image | <angle> | [ <angle>? flip ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "from-image", + "appliesto": "allElements", + "computed": "angleRoundedToNextQuarter", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-orientation" + }, + "image-rendering": { + "syntax": "auto | crisp-edges | pixelated", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-rendering" + }, + "image-resolution": { + "syntax": "[ from-image || <resolution> ] && snap?", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "1dppx", + "appliesto": "allElements", + "computed": "asSpecifiedWithExceptionOfResolution", + "order": "uniqueOrder", + "status": "experimental" + }, + "ime-mode": { + "syntax": "auto | normal | active | inactive | disabled", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "textFields", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ime-mode" + }, + "initial-letter": { + "syntax": "normal | [ <number> <integer>? ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Inline" + ], + "initial": "normal", + "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter" + }, + "initial-letter-align": { + "syntax": "[ auto | alphabetic | hanging | ideographic ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Inline" + ], + "initial": "auto", + "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter-align" + }, + "inline-size": { + "syntax": "<'width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsWidthAndHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inline-size" + }, + "input-security": { + "syntax": "auto | none", + "media": "interactive", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "sensitiveTextInputs", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard" + }, + "inset": { + "syntax": "<'top'>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOrWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "top", + "bottom", + "left", + "right" + ], + "appliesto": "positionedElements", + "computed": [ + "top", + "bottom", + "left", + "right" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset" + }, + "inset-block": { + "syntax": "<'top'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "inset-block-start", + "inset-block-end" + ], + "appliesto": "positionedElements", + "computed": [ + "inset-block-start", + "inset-block-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block" + }, + "inset-block-end": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-end" + }, + "inset-block-start": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalHeightOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-start" + }, + "inset-inline": { + "syntax": "<'top'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "inset-inline-start", + "inset-inline-end" + ], + "appliesto": "positionedElements", + "computed": [ + "inset-inline-start", + "inset-inline-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline" + }, + "inset-inline-end": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-end" + }, + "inset-inline-start": { + "syntax": "<'top'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "sameAsBoxOffsets", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-start" + }, + "isolation": { + "syntax": "auto | isolate", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/isolation" + }, + "justify-content": { + "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "flexContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-content" + }, + "justify-items": { + "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "legacy", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-items" + }, + "justify-self": { + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": "auto", + "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-self" + }, + "justify-tracks": { + "syntax": "[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "normal", + "appliesto": "gridContainersWithMasonryLayoutInTheirInlineAxis", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-tracks" + }, + "left": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/left" + }, + "letter-spacing": { + "syntax": "normal | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "optimumValueOfAbsoluteLengthOrNormal", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/letter-spacing" + }, + "line-break": { + "syntax": "auto | loose | normal | strict | anywhere", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-break" + }, + "line-clamp": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "none", + "appliesto": "blockContainersExceptMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "line-height": { + "syntax": "normal | <number> | <length> | <percentage>", + "media": "visual", + "inherited": true, + "animationType": "numberOrLength", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Fonts" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "absoluteLengthOrAsSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height" + }, + "line-height-step": { + "syntax": "<length>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fonts" + ], + "initial": "0", + "appliesto": "blockContainers", + "computed": "absoluteLength", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height-step" + }, + "list-style": { + "syntax": "<'list-style-type'> || <'list-style-position'> || <'list-style-image'>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": [ + "list-style-type", + "list-style-position", + "list-style-image" + ], + "appliesto": "listItems", + "computed": [ + "list-style-image", + "list-style-position", + "list-style-type" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style" + }, + "list-style-image": { + "syntax": "<image> | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "none", + "appliesto": "listItems", + "computed": "theKeywordListStyleImageNoneOrComputedValue", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-image" + }, + "list-style-position": { + "syntax": "inside | outside", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "outside", + "appliesto": "listItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-position" + }, + "list-style-type": { + "syntax": "<counter-style> | <string> | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Lists and Counters" + ], + "initial": "disc", + "appliesto": "listItems", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-type" + }, + "margin": { + "syntax": "[ <length> | <percentage> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": [ + "margin-bottom", + "margin-left", + "margin-right", + "margin-top" + ], + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": [ + "margin-bottom", + "margin-left", + "margin-right", + "margin-top" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin" + }, + "margin-block": { + "syntax": "<'margin-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "margin-block-start", + "margin-block-end" + ], + "appliesto": "sameAsMargin", + "computed": [ + "margin-block-start", + "margin-block-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block" + }, + "margin-block-end": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-end" + }, + "margin-block-start": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-start" + }, + "margin-bottom": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-bottom" + }, + "margin-inline": { + "syntax": "<'margin-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "margin-inline-start", + "margin-inline-end" + ], + "appliesto": "sameAsMargin", + "computed": [ + "margin-inline-start", + "margin-inline-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline" + }, + "margin-inline-end": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-end" + }, + "margin-inline-start": { + "syntax": "<'margin-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "dependsOnLayoutModel", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsMargin", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-start" + }, + "margin-left": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-left" + }, + "margin-right": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-right" + }, + "margin-top": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-top" + }, + "margin-trim": { + "syntax": "none | in-flow | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "blockContainersAndMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-trim" + }, + "mask": { + "syntax": "<mask-layer>#", + "media": "visual", + "inherited": false, + "animationType": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "percentages": [ + "mask-position" + ], + "groups": [ + "CSS Masking" + ], + "initial": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "appliesto": "allElementsSVGContainerElements", + "computed": [ + "mask-image", + "mask-mode", + "mask-repeat", + "mask-position", + "mask-clip", + "mask-origin", + "mask-size", + "mask-composite" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask" + }, + "mask-border": { + "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>", + "media": "visual", + "inherited": false, + "animationType": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "percentages": [ + "mask-border-slice", + "mask-border-width" + ], + "groups": [ + "CSS Masking" + ], + "initial": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "appliesto": "allElementsSVGContainerElements", + "computed": [ + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border" + }, + "mask-border-mode": { + "syntax": "luminance | alpha", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "alpha", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-mode" + }, + "mask-border-outset": { + "syntax": "[ <length> | <number> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "0", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-outset" + }, + "mask-border-repeat": { + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "stretch", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat" + }, + "mask-border-slice": { + "syntax": "<number-percentage>{1,4} fill?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "referToSizeOfMaskBorderImage", + "groups": [ + "CSS Masking" + ], + "initial": "0", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-slice" + }, + "mask-border-source": { + "syntax": "none | <image>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-source" + }, + "mask-border-width": { + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToMaskBorderImageArea", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-width" + }, + "mask-clip": { + "syntax": "[ <geometry-box> | no-clip ]#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "border-box", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip" + }, + "mask-composite": { + "syntax": "<compositing-operator>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "add", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-composite" + }, + "mask-image": { + "syntax": "<mask-reference>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "none", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedURLsAbsolute", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image" + }, + "mask-mode": { + "syntax": "<masking-mode>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "match-source", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-mode" + }, + "mask-origin": { + "syntax": "<geometry-box>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "border-box", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin" + }, + "mask-position": { + "syntax": "<position>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToSizeOfMaskPaintingArea", + "groups": [ + "CSS Masking" + ], + "initial": "center", + "appliesto": "allElementsSVGContainerElements", + "computed": "consistsOfTwoKeywordsForOriginAndOffsets", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position" + }, + "mask-repeat": { + "syntax": "<repeat-style>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "repeat", + "appliesto": "allElementsSVGContainerElements", + "computed": "consistsOfTwoDimensionKeywords", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat" + }, + "mask-size": { + "syntax": "<bg-size>#", + "media": "visual", + "inherited": false, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "auto", + "appliesto": "allElementsSVGContainerElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size" + }, + "mask-type": { + "syntax": "luminance | alpha", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Masking" + ], + "initial": "luminance", + "appliesto": "maskElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-type" + }, + "masonry-auto-flow": { + "syntax": "[ pack | next ] || [ definite-first | ordered ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Grid Layout" + ], + "initial": "pack", + "appliesto": "gridContainersWithMasonryLayout", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow" + }, + "math-depth": { + "syntax": "auto-add | add(<integer>) | <integer>", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "MathML" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/math-depth" + }, + "math-shift": { + "syntax": "normal | compact", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "MathML" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/math-shift" + }, + "math-style": { + "syntax": "normal | compact", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "MathML" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/math-style" + }, + "max-block-size": { + "syntax": "<'max-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMaxWidthAndMaxHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-block-size" + }, + "max-height": { + "syntax": "none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAsSpecifiedAbsoluteLengthOrNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-height" + }, + "max-inline-size": { + "syntax": "<'max-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "none", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMaxWidthAndMaxHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-inline-size" + }, + "max-lines": { + "syntax": "none | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "none", + "appliesto": "blockContainersExceptMultiColumnContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental" + }, + "max-width": { + "syntax": "none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "none", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAsSpecifiedAbsoluteLengthOrNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-width" + }, + "min-block-size": { + "syntax": "<'min-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "blockSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMinWidthAndMinHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-block-size" + }, + "min-height": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentages0", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableColumns", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-height" + }, + "min-inline-size": { + "syntax": "<'min-width'>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "inlineSizeOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "sameAsWidthAndHeight", + "computed": "sameAsMinWidthAndMinHeight", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-inline-size" + }, + "min-width": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-width" + }, + "mix-blend-mode": { + "syntax": "<blend-mode> | plus-lighter", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Compositing and Blending" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode" + }, + "object-fit": { + "syntax": "fill | contain | cover | none | scale-down", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Images" + ], + "initial": "fill", + "appliesto": "replacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-fit" + }, + "object-position": { + "syntax": "<position>", + "media": "visual", + "inherited": true, + "animationType": "repeatableListOfSimpleListOfLpc", + "percentages": "referToWidthAndHeightOfElement", + "groups": [ + "CSS Images" + ], + "initial": "50% 50%", + "appliesto": "replacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-position" + }, + "offset": { + "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?", + "media": "visual", + "inherited": false, + "animationType": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "percentages": [ + "offset-position", + "offset-distance", + "offset-anchor" + ], + "groups": [ + "CSS Motion Path" + ], + "initial": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "appliesto": "transformableElements", + "computed": [ + "offset-position", + "offset-path", + "offset-distance", + "offset-anchor", + "offset-rotate" + ], + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset" + }, + "offset-anchor": { + "syntax": "auto | <position>", + "media": "visual", + "inherited": false, + "animationType": "position", + "percentages": "relativeToWidthAndHeight", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "standard" + }, + "offset-distance": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToTotalPathLength", + "groups": [ + "CSS Motion Path" + ], + "initial": "0", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-distance" + }, + "offset-path": { + "syntax": "none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]", + "media": "visual", + "inherited": false, + "animationType": "angleOrBasicShapeOrPath", + "percentages": "no", + "groups": [ + "CSS Motion Path" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-path" + }, + "offset-position": { + "syntax": "auto | <position>", + "media": "visual", + "inherited": false, + "animationType": "position", + "percentages": "referToSizeOfContainingBlock", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "perGrammar", + "status": "experimental" + }, + "offset-rotate": { + "syntax": "[ auto | reverse ] || <angle>", + "media": "visual", + "inherited": false, + "animationType": "angleOrBasicShapeOrPath", + "percentages": "no", + "groups": [ + "CSS Motion Path" + ], + "initial": "auto", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-rotate" + }, + "opacity": { + "syntax": "<alpha-value>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "mapToRange0To1", + "groups": [ + "CSS Color" + ], + "initial": "1", + "appliesto": "allElements", + "computed": "specifiedValueNumberClipped0To1", + "order": "perGrammar", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/opacity" + }, + "order": { + "syntax": "<integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Flexible Box Layout" + ], + "initial": "0", + "appliesto": "flexItemsGridItemsAbsolutelyPositionedContainerChildren", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/order" + }, + "orphans": { + "syntax": "<integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "2", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/orphans" + }, + "outline": { + "syntax": "[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": [ + "outline-color", + "outline-width", + "outline-style" + ], + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": [ + "outline-color", + "outline-style", + "outline-width" + ], + "appliesto": "allElements", + "computed": [ + "outline-color", + "outline-width", + "outline-style" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline" + }, + "outline-color": { + "syntax": "<color> | invert", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "invertOrCurrentColor", + "appliesto": "allElements", + "computed": "invertForTranslucentColorRGBAOtherwiseRGB", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-color" + }, + "outline-offset": { + "syntax": "<length>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-offset" + }, + "outline-style": { + "syntax": "auto | <'border-style'>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-style" + }, + "outline-width": { + "syntax": "<line-width>", + "media": [ + "visual", + "interactive" + ], + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "medium", + "appliesto": "allElements", + "computed": "absoluteLength0ForNone", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-width" + }, + "overflow": { + "syntax": "[ visible | hidden | clip | scroll | auto ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": [ + "overflow-x", + "overflow-y" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow" + }, + "overflow-anchor": { + "syntax": "auto | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Anchoring" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard" + }, + "overflow-block": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "perGrammar", + "status": "standard" + }, + "overflow-clip-box": { + "syntax": "padding-box | content-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Mozilla Extensions" + ], + "initial": "padding-box", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box" + }, + "overflow-clip-margin": { + "syntax": "<visual-box> || <length [0,∞]>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "0px", + "appliesto": "allElements", + "computed": "theComputedLength", + "order": "perGrammar", + "status": "standard" + }, + "overflow-inline": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "perGrammar", + "status": "standard" + }, + "overflow-wrap": { + "syntax": "normal | break-word | anywhere", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "nonReplacedInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap" + }, + "overflow-x": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-x" + }, + "overflow-y": { + "syntax": "visible | hidden | clip | scroll | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "visible", + "appliesto": "blockContainersFlexContainersGridContainers", + "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-y" + }, + "overscroll-behavior": { + "syntax": "[ contain | none | auto ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": [ + "overscroll-behavior-x", + "overscroll-behavior-y" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior" + }, + "overscroll-behavior-block": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block" + }, + "overscroll-behavior-inline": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline" + }, + "overscroll-behavior-x": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x" + }, + "overscroll-behavior-y": { + "syntax": "contain | none | auto", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "nonReplacedBlockAndInlineBlockElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y" + }, + "padding": { + "syntax": "[ <length> | <percentage> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": [ + "padding-bottom", + "padding-left", + "padding-right", + "padding-top" + ], + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": [ + "padding-bottom", + "padding-left", + "padding-right", + "padding-top" + ], + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding" + }, + "padding-block": { + "syntax": "<'padding-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "padding-block-start", + "padding-block-end" + ], + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": [ + "padding-block-start", + "padding-block-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block" + }, + "padding-block-end": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-end" + }, + "padding-block-start": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-start" + }, + "padding-bottom": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-bottom" + }, + "padding-inline": { + "syntax": "<'padding-left'>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": [ + "padding-inline-start", + "padding-inline-end" + ], + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": [ + "padding-inline-start", + "padding-inline-end" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline" + }, + "padding-inline-end": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-end" + }, + "padding-inline-start": { + "syntax": "<'padding-left'>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "logicalWidthOfContainingBlock", + "groups": [ + "CSS Logical Properties" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "asLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-start" + }, + "padding-left": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-left" + }, + "padding-right": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-right" + }, + "padding-top": { + "syntax": "<length> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "0", + "appliesto": "allElementsExceptInternalTableDisplayTypes", + "computed": "percentageAsSpecifiedOrAbsoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-top" + }, + "page-break-after": { + "syntax": "auto | always | avoid | left | right | recto | verso", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-after" + }, + "page-break-before": { + "syntax": "auto | always | avoid | left | right | recto | verso", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-before" + }, + "page-break-inside": { + "syntax": "auto | avoid", + "media": [ + "visual", + "paged" + ], + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Pages" + ], + "initial": "auto", + "appliesto": "blockElementsInNormalFlow", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-inside" + }, + "paint-order": { + "syntax": "normal | [ fill || stroke || markers ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "textElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/paint-order" + }, + "perspective": { + "syntax": "none | <length>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "absoluteLengthOrNone", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective" + }, + "perspective-origin": { + "syntax": "<position>", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpc", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "50% 50%", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective-origin" + }, + "place-content": { + "syntax": "<'align-content'> <'justify-content'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "align-content", + "justify-content" + ], + "appliesto": "multilineFlexContainers", + "computed": [ + "align-content", + "justify-content" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-content" + }, + "place-items": { + "syntax": "<'align-items'> <'justify-items'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "align-items", + "justify-items" + ], + "appliesto": "allElements", + "computed": [ + "align-items", + "justify-items" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-items" + }, + "place-self": { + "syntax": "<'align-self'> <'justify-self'>?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Box Alignment" + ], + "initial": [ + "align-self", + "justify-self" + ], + "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems", + "computed": [ + "align-self", + "justify-self" + ], + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-self" + }, + "pointer-events": { + "syntax": "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/pointer-events" + }, + "position": { + "syntax": "static | relative | absolute | sticky | fixed", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "static", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/position" + }, + "quotes": { + "syntax": "none | auto | [ <string> <string> ]+", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Generated Content" + ], + "initial": "dependsOnUserAgent", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/quotes" + }, + "resize": { + "syntax": "none | both | horizontal | vertical | block | inline", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "none", + "appliesto": "elementsWithOverflowNotVisibleAndReplacedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/resize" + }, + "right": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/right" + }, + "rotate": { + "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/rotate" + }, + "row-gap": { + "syntax": "normal | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToDimensionOfContentArea", + "groups": [ + "CSS Box Alignment" + ], + "initial": "normal", + "appliesto": "multiColumnElementsFlexContainersGridContainers", + "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap" + }, + "ruby-align": { + "syntax": "start | center | space-between | space-around", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "space-around", + "appliesto": "rubyBasesAnnotationsBaseAnnotationContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-align" + }, + "ruby-merge": { + "syntax": "separate | collapse | auto", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "separate", + "appliesto": "rubyAnnotationsContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental" + }, + "ruby-position": { + "syntax": "[ alternate || [ over | under ] ] | inter-character", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Ruby" + ], + "initial": "alternate", + "appliesto": "rubyAnnotationsContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-position" + }, + "scale": { + "syntax": "none | <number>{1,3}", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scale" + }, + "scrollbar-color": { + "syntax": "auto | <color>{2}", + "media": "visual", + "inherited": true, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Scrollbars" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-color" + }, + "scrollbar-gutter": { + "syntax": "auto | stable && both-edges?", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Overflow" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter" + }, + "scrollbar-width": { + "syntax": "auto | thin | none", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scrollbars" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-width" + }, + "scroll-behavior": { + "syntax": "auto | smooth", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSSOM View" + ], + "initial": "auto", + "appliesto": "scrollingBoxes", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-behavior" + }, + "scroll-margin": { + "syntax": "<length>{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-margin-bottom", + "scroll-margin-left", + "scroll-margin-right", + "scroll-margin-top" + ], + "appliesto": "allElements", + "computed": [ + "scroll-margin-bottom", + "scroll-margin-left", + "scroll-margin-right", + "scroll-margin-top" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin" + }, + "scroll-margin-block": { + "syntax": "<length>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-margin-block-start", + "scroll-margin-block-end" + ], + "appliesto": "allElements", + "computed": [ + "scroll-margin-block-start", + "scroll-margin-block-end" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block" + }, + "scroll-margin-block-start": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start" + }, + "scroll-margin-block-end": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end" + }, + "scroll-margin-bottom": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom" + }, + "scroll-margin-inline": { + "syntax": "<length>{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-margin-inline-start", + "scroll-margin-inline-end" + ], + "appliesto": "allElements", + "computed": [ + "scroll-margin-inline-start", + "scroll-margin-inline-end" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline" + }, + "scroll-margin-inline-start": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start" + }, + "scroll-margin-inline-end": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end" + }, + "scroll-margin-left": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left" + }, + "scroll-margin-right": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right" + }, + "scroll-margin-top": { + "syntax": "<length>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top" + }, + "scroll-padding": { + "syntax": "[ auto | <length-percentage> ]{1,4}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-padding-bottom", + "scroll-padding-left", + "scroll-padding-right", + "scroll-padding-top" + ], + "appliesto": "scrollContainers", + "computed": [ + "scroll-padding-bottom", + "scroll-padding-left", + "scroll-padding-right", + "scroll-padding-top" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding" + }, + "scroll-padding-block": { + "syntax": "[ auto | <length-percentage> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-padding-block-start", + "scroll-padding-block-end" + ], + "appliesto": "scrollContainers", + "computed": [ + "scroll-padding-block-start", + "scroll-padding-block-end" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block" + }, + "scroll-padding-block-start": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start" + }, + "scroll-padding-block-end": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end" + }, + "scroll-padding-bottom": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom" + }, + "scroll-padding-inline": { + "syntax": "[ auto | <length-percentage> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": [ + "scroll-padding-inline-start", + "scroll-padding-inline-end" + ], + "appliesto": "scrollContainers", + "computed": [ + "scroll-padding-inline-start", + "scroll-padding-inline-end" + ], + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline" + }, + "scroll-padding-inline-start": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start" + }, + "scroll-padding-inline-end": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end" + }, + "scroll-padding-left": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left" + }, + "scroll-padding-right": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right" + }, + "scroll-padding-top": { + "syntax": "auto | <length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "relativeToTheScrollContainersScrollport", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "auto", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top" + }, + "scroll-snap-align": { + "syntax": "[ none | start | end | center ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align" + }, + "scroll-snap-coordinate": { + "syntax": "none | <position>#", + "media": "interactive", + "inherited": false, + "animationType": "position", + "percentages": "referToBorderBox", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate" + }, + "scroll-snap-destination": { + "syntax": "<position>", + "media": "interactive", + "inherited": false, + "animationType": "position", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "0px 0px", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination" + }, + "scroll-snap-points-x": { + "syntax": "none | repeat( <length-percentage> )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x" + }, + "scroll-snap-points-y": { + "syntax": "none | repeat( <length-percentage> )", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "relativeToScrollContainerPaddingBoxAxis", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y" + }, + "scroll-snap-stop": { + "syntax": "normal | always", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop" + }, + "scroll-snap-type": { + "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type" + }, + "scroll-snap-type-x": { + "syntax": "none | mandatory | proximity", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x" + }, + "scroll-snap-type-y": { + "syntax": "none | mandatory | proximity", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Scroll Snap" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "obsolete", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y" + }, + "scroll-timeline": { + "syntax": "<scroll-timeline-name> || <scroll-timeline-axis>", + "media": "visual", + "inherited": false, + "animationType": [ + "scroll-timeline-name", + "scroll-timeline-axis" + ], + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": [ + "scroll-timeline-name", + "scroll-timeline-axis" + ], + "appliesto": "scrollContainers", + "computed": [ + "scroll-timeline-name", + "scroll-timeline-axis" + ], + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline" + }, + "scroll-timeline-axis": { + "syntax": "block | inline | vertical | horizontal", + "media": "interactive", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "block", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis" + }, + "scroll-timeline-name": { + "syntax": "none | <custom-ident>", + "media": "interactive", + "inherited": false, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Animations" + ], + "initial": "none", + "appliesto": "scrollContainers", + "computed": "asSpecified", + "order": "perGrammar", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name" + }, + "shape-image-threshold": { + "syntax": "<alpha-value>", + "media": "visual", + "inherited": false, + "animationType": "number", + "percentages": "no", + "groups": [ + "CSS Shapes" + ], + "initial": "0.0", + "appliesto": "floats", + "computed": "specifiedValueNumberClipped0To1", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold" + }, + "shape-margin": { + "syntax": "<length-percentage>", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Shapes" + ], + "initial": "0", + "appliesto": "floats", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-margin" + }, + "shape-outside": { + "syntax": "none | [ <shape-box> || <basic-shape> ] | <image>", + "media": "visual", + "inherited": false, + "animationType": "basicShapeOtherwiseNo", + "percentages": "no", + "groups": [ + "CSS Shapes" + ], + "initial": "none", + "appliesto": "floats", + "computed": "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-outside" + }, + "tab-size": { + "syntax": "<integer> | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "8", + "appliesto": "blockContainers", + "computed": "specifiedIntegerOrAbsoluteLength", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/tab-size" + }, + "table-layout": { + "syntax": "auto | fixed", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Table" + ], + "initial": "auto", + "appliesto": "tableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/table-layout" + }, + "text-align": { + "syntax": "start | end | left | right | center | justify | match-parent", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "startOrNamelessValueIfLTRRightIfRTL", + "appliesto": "blockContainers", + "computed": "asSpecifiedExceptMatchParent", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align" + }, + "text-align-last": { + "syntax": "auto | start | end | left | right | center | justify", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "blockContainers", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align-last" + }, + "text-combine-upright": { + "syntax": "none | all | [ digits <integer>? ]", + "media": "visual", + "inherited": true, + "animationType": "notAnimatable", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "none", + "appliesto": "nonReplacedInlineElements", + "computed": "keywordPlusIntegerIfDigits", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-combine-upright" + }, + "text-decoration": { + "syntax": "<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>", + "media": "visual", + "inherited": false, + "animationType": [ + "text-decoration-color", + "text-decoration-style", + "text-decoration-line", + "text-decoration-thickness" + ], + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": [ + "text-decoration-color", + "text-decoration-style", + "text-decoration-line" + ], + "appliesto": "allElements", + "computed": [ + "text-decoration-line", + "text-decoration-style", + "text-decoration-color", + "text-decoration-thickness" + ], + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration" + }, + "text-decoration-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-color" + }, + "text-decoration-line": { + "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-line" + }, + "text-decoration-skip": { + "syntax": "none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "objects", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip" + }, + "text-decoration-skip-ink": { + "syntax": "auto | all | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink" + }, + "text-decoration-style": { + "syntax": "solid | double | dotted | dashed | wavy", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "solid", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-style" + }, + "text-decoration-thickness": { + "syntax": "auto | from-font | <length> | <percentage> ", + "media": "visual", + "inherited": false, + "animationType": "byComputedValueType", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness" + }, + "text-emphasis": { + "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>", + "media": "visual", + "inherited": false, + "animationType": [ + "text-emphasis-color", + "text-emphasis-style" + ], + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": [ + "text-emphasis-style", + "text-emphasis-color" + ], + "appliesto": "allElements", + "computed": [ + "text-emphasis-style", + "text-emphasis-color" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis" + }, + "text-emphasis-color": { + "syntax": "<color>", + "media": "visual", + "inherited": false, + "animationType": "color", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "currentcolor", + "appliesto": "allElements", + "computed": "computedColor", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color" + }, + "text-emphasis-position": { + "syntax": "[ over | under ] && [ right | left ]", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "over right", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position" + }, + "text-emphasis-style": { + "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style" + }, + "text-indent": { + "syntax": "<length-percentage> && hanging? && each-line?", + "media": "visual", + "inherited": true, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Text" + ], + "initial": "0", + "appliesto": "blockContainers", + "computed": "percentageOrAbsoluteLengthPlusKeywords", + "order": "lengthOrPercentageBeforeKeywords", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-indent" + }, + "text-justify": { + "syntax": "auto | inter-character | inter-word | none", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "auto", + "appliesto": "inlineLevelAndTableCellElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-justify" + }, + "text-orientation": { + "syntax": "mixed | upright | sideways", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "mixed", + "appliesto": "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-orientation" + }, + "text-overflow": { + "syntax": "[ clip | ellipsis | <string> ]{1,2}", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "clip", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-overflow" + }, + "text-rendering": { + "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Miscellaneous" + ], + "initial": "auto", + "appliesto": "textElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-rendering" + }, + "text-shadow": { + "syntax": "none | <shadow-t>#", + "media": "visual", + "inherited": true, + "animationType": "shadowList", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "colorPlusThreeAbsoluteLengths", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-shadow" + }, + "text-size-adjust": { + "syntax": "none | auto | <percentage>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "referToSizeOfFont", + "groups": [ + "CSS Text" + ], + "initial": "autoForSmartphoneBrowsersSupportingInflation", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "experimental", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-size-adjust" + }, + "text-transform": { + "syntax": "none | capitalize | uppercase | lowercase | full-width | full-size-kana", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "none", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-transform" + }, + "text-underline-offset": { + "syntax": "auto | <length> | <percentage> ", + "media": "visual", + "inherited": true, + "animationType": "byComputedValueType", + "percentages": "referToElementFontSize", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-offset" + }, + "text-underline-position": { + "syntax": "auto | from-font | [ under || [ left | right ] ]", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text Decoration" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-position" + }, + "top": { + "syntax": "<length> | <percentage> | auto", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToContainingBlockHeight", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/top" + }, + "touch-action": { + "syntax": "auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "Pointer Events" + ], + "initial": "auto", + "appliesto": "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/touch-action" + }, + "transform": { + "syntax": "none | <transform-list>", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform" + }, + "transform-box": { + "syntax": "content-box | border-box | fill-box | stroke-box | view-box", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "view-box", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-box" + }, + "transform-origin": { + "syntax": "[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?", + "media": "visual", + "inherited": false, + "animationType": "simpleListOfLpc", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "50% 50% 0", + "appliesto": "transformableElements", + "computed": "forLengthAbsoluteValueOtherwisePercentage", + "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-origin" + }, + "transform-style": { + "syntax": "flat | preserve-3d", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transforms" + ], + "initial": "flat", + "appliesto": "transformableElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-style" + }, + "transition": { + "syntax": "<single-transition>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": [ + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function" + ], + "appliesto": "allElementsAndPseudos", + "computed": [ + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function" + ], + "order": "orderOfAppearance", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition" + }, + "transition-delay": { + "syntax": "<time>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-delay" + }, + "transition-duration": { + "syntax": "<time>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "0s", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-duration" + }, + "transition-property": { + "syntax": "none | <single-transition-property>#", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "all", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-property" + }, + "transition-timing-function": { + "syntax": "<easing-function>#", + "media": "interactive", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Transitions" + ], + "initial": "ease", + "appliesto": "allElementsAndPseudos", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-timing-function" + }, + "translate": { + "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?", + "media": "visual", + "inherited": false, + "animationType": "transform", + "percentages": "referToSizeOfBoundingBox", + "groups": [ + "CSS Transforms" + ], + "initial": "none", + "appliesto": "transformableElements", + "computed": "asSpecifiedRelativeToAbsoluteLengths", + "order": "perGrammar", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/translate" + }, + "unicode-bidi": { + "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "normal", + "appliesto": "allElementsSomeValuesNoEffectOnNonInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/unicode-bidi" + }, + "user-select": { + "syntax": "auto | text | none | contain | all", + "media": "visual", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Basic User Interface" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/user-select" + }, + "vertical-align": { + "syntax": "baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>", + "media": "visual", + "inherited": false, + "animationType": "length", + "percentages": "referToLineHeight", + "groups": [ + "CSS Table" + ], + "initial": "baseline", + "appliesto": "inlineLevelAndTableCellElements", + "computed": "absoluteLengthOrKeyword", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/vertical-align" + }, + "visibility": { + "syntax": "visible | hidden | collapse", + "media": "visual", + "inherited": true, + "animationType": "visibility", + "percentages": "no", + "groups": [ + "CSS Box Model" + ], + "initial": "visible", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/visibility" + }, + "white-space": { + "syntax": "normal | pre | nowrap | pre-wrap | pre-line | break-spaces", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/white-space" + }, + "widows": { + "syntax": "<integer>", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Fragmentation" + ], + "initial": "2", + "appliesto": "blockContainerElements", + "computed": "asSpecified", + "order": "perGrammar", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/widows" + }, + "width": { + "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)", + "media": "visual", + "inherited": false, + "animationType": "lpc", + "percentages": "referToWidthOfContainingBlock", + "groups": [ + "CSS Box Model" + ], + "initial": "auto", + "appliesto": "allElementsButNonReplacedAndTableRows", + "computed": "percentageAutoOrAbsoluteLength", + "order": "lengthOrPercentageBeforeKeywordIfBothPresent", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/width" + }, + "will-change": { + "syntax": "auto | <animateable-feature>#", + "media": "all", + "inherited": false, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Will Change" + ], + "initial": "auto", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/will-change" + }, + "word-break": { + "syntax": "normal | break-all | keep-all | break-word", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-break" + }, + "word-spacing": { + "syntax": "normal | <length>", + "media": "visual", + "inherited": true, + "animationType": "length", + "percentages": "referToWidthOfAffectedGlyph", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "absoluteLength", + "order": "uniqueOrder", + "alsoAppliesTo": [ + "::first-letter", + "::first-line", + "::placeholder" + ], + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-spacing" + }, + "word-wrap": { + "syntax": "normal | break-word", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Text" + ], + "initial": "normal", + "appliesto": "nonReplacedInlineElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap" + }, + "writing-mode": { + "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr", + "media": "visual", + "inherited": true, + "animationType": "discrete", + "percentages": "no", + "groups": [ + "CSS Writing Modes" + ], + "initial": "horizontal-tb", + "appliesto": "allElementsExceptTableRowColumnGroupsTableRowsColumns", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/writing-mode" + }, + "z-index": { + "syntax": "auto | <integer>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "CSS Positioning" + ], + "initial": "auto", + "appliesto": "positionedElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "stacking": true, + "status": "standard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/z-index" + }, + "zoom": { + "syntax": "normal | reset | <number> | <percentage>", + "media": "visual", + "inherited": false, + "animationType": "integer", + "percentages": "no", + "groups": [ + "Microsoft Extensions" + ], + "initial": "normal", + "appliesto": "allElements", + "computed": "asSpecified", + "order": "uniqueOrder", + "status": "nonstandard", + "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/zoom" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/syntaxes.json b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/syntaxes.json new file mode 100644 index 00000000..efa00e3c --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.30/css/syntaxes.json @@ -0,0 +1,866 @@ +{ + "abs()": { + "syntax": "abs( <calc-sum> )" + }, + "absolute-size": { + "syntax": "xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large" + }, + "acos()": { + "syntax": "acos( <calc-sum> )" + }, + "alpha-value": { + "syntax": "<number> | <percentage>" + }, + "angle-percentage": { + "syntax": "<angle> | <percentage>" + }, + "angular-color-hint": { + "syntax": "<angle-percentage>" + }, + "angular-color-stop": { + "syntax": "<color> && <color-stop-angle>?" + }, + "angular-color-stop-list": { + "syntax": "[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>" + }, + "animateable-feature": { + "syntax": "scroll-position | contents | <custom-ident>" + }, + "asin()": { + "syntax": "asin( <calc-sum> )" + }, + "atan()": { + "syntax": "atan( <calc-sum> )" + }, + "atan2()": { + "syntax": "atan2( <calc-sum>, <calc-sum> )" + }, + "attachment": { + "syntax": "scroll | fixed | local" + }, + "attr()": { + "syntax": "attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )" + }, + "attr-matcher": { + "syntax": "[ '~' | '|' | '^' | '$' | '*' ]? '='" + }, + "attr-modifier": { + "syntax": "i | s" + }, + "attribute-selector": { + "syntax": "'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'" + }, + "auto-repeat": { + "syntax": "repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )" + }, + "auto-track-list": { + "syntax": "[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?" + }, + "axis": { + "syntax": "block | inline | vertical | horizontal" + }, + "baseline-position": { + "syntax": "[ first | last ]? baseline" + }, + "basic-shape": { + "syntax": "<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>" + }, + "bg-image": { + "syntax": "none | <image>" + }, + "bg-layer": { + "syntax": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>" + }, + "bg-position": { + "syntax": "[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]" + }, + "bg-size": { + "syntax": "[ <length-percentage> | auto ]{1,2} | cover | contain" + }, + "blur()": { + "syntax": "blur( <length> )" + }, + "blend-mode": { + "syntax": "normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity" + }, + "box": { + "syntax": "border-box | padding-box | content-box" + }, + "brightness()": { + "syntax": "brightness( <number-percentage> )" + }, + "calc()": { + "syntax": "calc( <calc-sum> )" + }, + "calc-sum": { + "syntax": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*" + }, + "calc-product": { + "syntax": "<calc-value> [ '*' <calc-value> | '/' <number> ]*" + }, + "calc-value": { + "syntax": "<number> | <dimension> | <percentage> | <calc-constant> | ( <calc-sum> )" + }, + "calc-constant": { + "syntax": "e | pi | infinity | -infinity | NaN" + }, + "cf-final-image": { + "syntax": "<image> | <color>" + }, + "cf-mixing-image": { + "syntax": "<percentage>? && <image>" + }, + "circle()": { + "syntax": "circle( [ <shape-radius> ]? [ at <position> ]? )" + }, + "clamp()": { + "syntax": "clamp( <calc-sum>#{3} )" + }, + "class-selector": { + "syntax": "'.' <ident-token>" + }, + "clip-source": { + "syntax": "<url>" + }, + "color": { + "syntax": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>" + }, + "color-stop": { + "syntax": "<color-stop-length> | <color-stop-angle>" + }, + "color-stop-angle": { + "syntax": "<angle-percentage>{1,2}" + }, + "color-stop-length": { + "syntax": "<length-percentage>{1,2}" + }, + "color-stop-list": { + "syntax": "[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>" + }, + "combinator": { + "syntax": "'>' | '+' | '~' | [ '||' ]" + }, + "common-lig-values": { + "syntax": "[ common-ligatures | no-common-ligatures ]" + }, + "compat-auto": { + "syntax": "searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button" + }, + "composite-style": { + "syntax": "clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor" + }, + "compositing-operator": { + "syntax": "add | subtract | intersect | exclude" + }, + "compound-selector": { + "syntax": "[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!" + }, + "compound-selector-list": { + "syntax": "<compound-selector>#" + }, + "complex-selector": { + "syntax": "<compound-selector> [ <combinator>? <compound-selector> ]*" + }, + "complex-selector-list": { + "syntax": "<complex-selector>#" + }, + "conic-gradient()": { + "syntax": "conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )" + }, + "contextual-alt-values": { + "syntax": "[ contextual | no-contextual ]" + }, + "content-distribution": { + "syntax": "space-between | space-around | space-evenly | stretch" + }, + "content-list": { + "syntax": "[ <string> | contents | <image> | <counter> | <quote> | <target> | <leader()> ]+" + }, + "content-position": { + "syntax": "center | start | end | flex-start | flex-end" + }, + "content-replacement": { + "syntax": "<image>" + }, + "contrast()": { + "syntax": "contrast( [ <number-percentage> ] )" + }, + "cos()": { + "syntax": "cos( <calc-sum> )" + }, + "counter": { + "syntax": "<counter()> | <counters()>" + }, + "counter()": { + "syntax": "counter( <counter-name>, <counter-style>? )" + }, + "counter-name": { + "syntax": "<custom-ident>" + }, + "counter-style": { + "syntax": "<counter-style-name> | symbols()" + }, + "counter-style-name": { + "syntax": "<custom-ident>" + }, + "counters()": { + "syntax": "counters( <counter-name>, <string>, <counter-style>? )" + }, + "cross-fade()": { + "syntax": "cross-fade( <cf-mixing-image> , <cf-final-image>? )" + }, + "cubic-bezier-timing-function": { + "syntax": "ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)" + }, + "deprecated-system-color": { + "syntax": "ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText" + }, + "discretionary-lig-values": { + "syntax": "[ discretionary-ligatures | no-discretionary-ligatures ]" + }, + "display-box": { + "syntax": "contents | none" + }, + "display-inside": { + "syntax": "flow | flow-root | table | flex | grid | ruby" + }, + "display-internal": { + "syntax": "table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container" + }, + "display-legacy": { + "syntax": "inline-block | inline-list-item | inline-table | inline-flex | inline-grid" + }, + "display-listitem": { + "syntax": "<display-outside>? && [ flow | flow-root ]? && list-item" + }, + "display-outside": { + "syntax": "block | inline | run-in" + }, + "drop-shadow()": { + "syntax": "drop-shadow( <length>{2,3} <color>? )" + }, + "east-asian-variant-values": { + "syntax": "[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]" + }, + "east-asian-width-values": { + "syntax": "[ full-width | proportional-width ]" + }, + "element()": { + "syntax": "element( <id-selector> )" + }, + "ellipse()": { + "syntax": "ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )" + }, + "ending-shape": { + "syntax": "circle | ellipse" + }, + "env()": { + "syntax": "env( <custom-ident> , <declaration-value>? )" + }, + "exp()": { + "syntax": "exp( <calc-sum> )" + }, + "explicit-track-list": { + "syntax": "[ <line-names>? <track-size> ]+ <line-names>?" + }, + "family-name": { + "syntax": "<string> | <custom-ident>+" + }, + "feature-tag-value": { + "syntax": "<string> [ <integer> | on | off ]?" + }, + "feature-type": { + "syntax": "@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation" + }, + "feature-value-block": { + "syntax": "<feature-type> '{' <feature-value-declaration-list> '}'" + }, + "feature-value-block-list": { + "syntax": "<feature-value-block>+" + }, + "feature-value-declaration": { + "syntax": "<custom-ident>: <integer>+;" + }, + "feature-value-declaration-list": { + "syntax": "<feature-value-declaration>" + }, + "feature-value-name": { + "syntax": "<custom-ident>" + }, + "fill-rule": { + "syntax": "nonzero | evenodd" + }, + "filter-function": { + "syntax": "<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>" + }, + "filter-function-list": { + "syntax": "[ <filter-function> | <url> ]+" + }, + "final-bg-layer": { + "syntax": "<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>" + }, + "fixed-breadth": { + "syntax": "<length-percentage>" + }, + "fixed-repeat": { + "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )" + }, + "fixed-size": { + "syntax": "<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )" + }, + "font-stretch-absolute": { + "syntax": "normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>" + }, + "font-variant-css21": { + "syntax": "[ normal | small-caps ]" + }, + "font-weight-absolute": { + "syntax": "normal | bold | <number [1,1000]>" + }, + "frequency-percentage": { + "syntax": "<frequency> | <percentage>" + }, + "general-enclosed": { + "syntax": "[ <function-token> <any-value> ) ] | ( <ident> <any-value> )" + }, + "generic-family": { + "syntax": "serif | sans-serif | cursive | fantasy | monospace" + }, + "generic-name": { + "syntax": "serif | sans-serif | cursive | fantasy | monospace" + }, + "geometry-box": { + "syntax": "<shape-box> | fill-box | stroke-box | view-box" + }, + "gradient": { + "syntax": "<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <repeating-conic-gradient()>" + }, + "grayscale()": { + "syntax": "grayscale( <number-percentage> )" + }, + "grid-line": { + "syntax": "auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]" + }, + "historical-lig-values": { + "syntax": "[ historical-ligatures | no-historical-ligatures ]" + }, + "hsl()": { + "syntax": "hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )" + }, + "hsla()": { + "syntax": "hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )" + }, + "hue": { + "syntax": "<number> | <angle>" + }, + "hue-rotate()": { + "syntax": "hue-rotate( <angle> )" + }, + "hwb()": { + "syntax": "hwb( [<hue> | none] [<percentage> | none] [<percentage> | none] [ / [<alpha-value> | none] ]? )" + }, + "hypot()": { + "syntax": "hypot( <calc-sum># )" + }, + "id-selector": { + "syntax": "<hash-token>" + }, + "image": { + "syntax": "<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>" + }, + "image()": { + "syntax": "image( <image-tags>? [ <image-src>? , <color>? ]! )" + }, + "image-set()": { + "syntax": "image-set( <image-set-option># )" + }, + "image-set-option": { + "syntax": "[ <image> | <string> ] [ <resolution> || type(<string>) ]" + }, + "image-src": { + "syntax": "<url> | <string>" + }, + "image-tags": { + "syntax": "ltr | rtl" + }, + "inflexible-breadth": { + "syntax": "<length-percentage> | min-content | max-content | auto" + }, + "inset()": { + "syntax": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )" + }, + "invert()": { + "syntax": "invert( <number-percentage> )" + }, + "keyframes-name": { + "syntax": "<custom-ident> | <string>" + }, + "keyframe-block": { + "syntax": "<keyframe-selector># {\n <declaration-list>\n}" + }, + "keyframe-block-list": { + "syntax": "<keyframe-block>+" + }, + "keyframe-selector": { + "syntax": "from | to | <percentage>" + }, + "lab()": { + "syntax": "lab( [<percentage> | <number> | none] [ <percentage> | <number> | none] [ <percentage> | <number> | none] [ / [<alpha-value> | none] ]? )" + }, + "layer()": { + "syntax": "layer( <layer-name> )" + }, + "layer-name": { + "syntax": "<ident> [ '.' <ident> ]*" + }, + "lch()": { + "syntax": "lch( [<percentage> | <number> | none] [ <percentage> | <number> | none] [ <hue> | none] [ / [<alpha-value> | none] ]? )" + }, + "leader()": { + "syntax": "leader( <leader-type> )" + }, + "leader-type": { + "syntax": "dotted | solid | space | <string>" + }, + "length-percentage": { + "syntax": "<length> | <percentage>" + }, + "line-names": { + "syntax": "'[' <custom-ident>* ']'" + }, + "line-name-list": { + "syntax": "[ <line-names> | <name-repeat> ]+" + }, + "line-style": { + "syntax": "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset" + }, + "line-width": { + "syntax": "<length> | thin | medium | thick" + }, + "linear-color-hint": { + "syntax": "<length-percentage>" + }, + "linear-color-stop": { + "syntax": "<color> <color-stop-length>?" + }, + "linear-gradient()": { + "syntax": "linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )" + }, + "log()": { + "syntax": "log( <calc-sum>, <calc-sum>? )" + }, + "mask-layer": { + "syntax": "<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>" + }, + "mask-position": { + "syntax": "[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?" + }, + "mask-reference": { + "syntax": "none | <image> | <mask-source>" + }, + "mask-source": { + "syntax": "<url>" + }, + "masking-mode": { + "syntax": "alpha | luminance | match-source" + }, + "matrix()": { + "syntax": "matrix( <number>#{6} )" + }, + "matrix3d()": { + "syntax": "matrix3d( <number>#{16} )" + }, + "max()": { + "syntax": "max( <calc-sum># )" + }, + "media-and": { + "syntax": "<media-in-parens> [ and <media-in-parens> ]+" + }, + "media-condition": { + "syntax": "<media-not> | <media-and> | <media-or> | <media-in-parens>" + }, + "media-condition-without-or": { + "syntax": "<media-not> | <media-and> | <media-in-parens>" + }, + "media-feature": { + "syntax": "( [ <mf-plain> | <mf-boolean> | <mf-range> ] )" + }, + "media-in-parens": { + "syntax": "( <media-condition> ) | <media-feature> | <general-enclosed>" + }, + "media-not": { + "syntax": "not <media-in-parens>" + }, + "media-or": { + "syntax": "<media-in-parens> [ or <media-in-parens> ]+" + }, + "media-query": { + "syntax": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?" + }, + "media-query-list": { + "syntax": "<media-query>#" + }, + "media-type": { + "syntax": "<ident>" + }, + "mf-boolean": { + "syntax": "<mf-name>" + }, + "mf-name": { + "syntax": "<ident>" + }, + "mf-plain": { + "syntax": "<mf-name> : <mf-value>" + }, + "mf-range": { + "syntax": "<mf-name> [ '<' | '>' ]? '='? <mf-value>\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>" + }, + "mf-value": { + "syntax": "<number> | <dimension> | <ident> | <ratio>" + }, + "min()": { + "syntax": "min( <calc-sum># )" + }, + "minmax()": { + "syntax": "minmax( [ <length-percentage> | min-content | max-content | auto ] , [ <length-percentage> | <flex> | min-content | max-content | auto ] )" + }, + "mod()": { + "syntax": "mod( <calc-sum>, <calc-sum> )" + }, + "name-repeat": { + "syntax": "repeat( [ <integer [1,∞]> | auto-fill ], <line-names>+ )" + }, + "named-color": { + "syntax": "transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen" + }, + "namespace-prefix": { + "syntax": "<ident>" + }, + "ns-prefix": { + "syntax": "[ <ident-token> | '*' ]? '|'" + }, + "number-percentage": { + "syntax": "<number> | <percentage>" + }, + "numeric-figure-values": { + "syntax": "[ lining-nums | oldstyle-nums ]" + }, + "numeric-fraction-values": { + "syntax": "[ diagonal-fractions | stacked-fractions ]" + }, + "numeric-spacing-values": { + "syntax": "[ proportional-nums | tabular-nums ]" + }, + "nth": { + "syntax": "<an-plus-b> | even | odd" + }, + "opacity()": { + "syntax": "opacity( [ <number-percentage> ] )" + }, + "overflow-position": { + "syntax": "unsafe | safe" + }, + "outline-radius": { + "syntax": "<length> | <percentage>" + }, + "page-body": { + "syntax": "<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>" + }, + "page-margin-box": { + "syntax": "<page-margin-box-type> '{' <declaration-list> '}'" + }, + "page-margin-box-type": { + "syntax": "@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom" + }, + "page-selector-list": { + "syntax": "[ <page-selector># ]?" + }, + "page-selector": { + "syntax": "<pseudo-page>+ | <ident> <pseudo-page>*" + }, + "page-size": { + "syntax": "A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger" + }, + "path()": { + "syntax": "path( [ <fill-rule>, ]? <string> )" + }, + "paint()": { + "syntax": "paint( <ident>, <declaration-value>? )" + }, + "perspective()": { + "syntax": "perspective( [ <length [0,∞]> | none ] )" + }, + "polygon()": { + "syntax": "polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )" + }, + "position": { + "syntax": "[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]" + }, + "pow()": { + "syntax": "pow( <calc-sum>, <calc-sum> )" + }, + "pseudo-class-selector": { + "syntax": "':' <ident-token> | ':' <function-token> <any-value> ')'" + }, + "pseudo-element-selector": { + "syntax": "':' <pseudo-class-selector>" + }, + "pseudo-page": { + "syntax": ": [ left | right | first | blank ]" + }, + "quote": { + "syntax": "open-quote | close-quote | no-open-quote | no-close-quote" + }, + "radial-gradient()": { + "syntax": "radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )" + }, + "ratio": { + "syntax": "<number [0,∞]> [ / <number [0,∞]> ]?" + }, + "relative-selector": { + "syntax": "<combinator>? <complex-selector>" + }, + "relative-selector-list": { + "syntax": "<relative-selector>#" + }, + "relative-size": { + "syntax": "larger | smaller" + }, + "rem()": { + "syntax": "rem( <calc-sum>, <calc-sum> )" + }, + "repeat-style": { + "syntax": "repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}" + }, + "repeating-conic-gradient()": { + "syntax": "repeating-conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )" + }, + "repeating-linear-gradient()": { + "syntax": "repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )" + }, + "repeating-radial-gradient()": { + "syntax": "repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )" + }, + "reversed-counter-name": { + "syntax": "reversed( <counter-name> )" + }, + "rgb()": { + "syntax": "rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )" + }, + "rgba()": { + "syntax": "rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )" + }, + "rotate()": { + "syntax": "rotate( [ <angle> | <zero> ] )" + }, + "rotate3d()": { + "syntax": "rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )" + }, + "rotateX()": { + "syntax": "rotateX( [ <angle> | <zero> ] )" + }, + "rotateY()": { + "syntax": "rotateY( [ <angle> | <zero> ] )" + }, + "rotateZ()": { + "syntax": "rotateZ( [ <angle> | <zero> ] )" + }, + "round()": { + "syntax": "round( <rounding-strategy>?, <calc-sum>, <calc-sum> )" + }, + "rounding-strategy": { + "syntax": "nearest | up | down | to-zero" + }, + "saturate()": { + "syntax": "saturate( <number-percentage> )" + }, + "scale()": { + "syntax": "scale( [ <number> | <percentage> ]#{1,2} )" + }, + "scale3d()": { + "syntax": "scale3d( [ <number> | <percentage> ]#{3} )" + }, + "scaleX()": { + "syntax": "scaleX( [ <number> | <percentage> ] )" + }, + "scaleY()": { + "syntax": "scaleY( [ <number> | <percentage> ] )" + }, + "scaleZ()": { + "syntax": "scaleZ( [ <number> | <percentage> ] )" + }, + "scroller": { + "syntax": "root | nearest" + }, + "self-position": { + "syntax": "center | start | end | self-start | self-end | flex-start | flex-end" + }, + "shape-radius": { + "syntax": "<length-percentage> | closest-side | farthest-side" + }, + "sign()": { + "syntax": "sign( <calc-sum> )" + }, + "skew()": { + "syntax": "skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )" + }, + "skewX()": { + "syntax": "skewX( [ <angle> | <zero> ] )" + }, + "skewY()": { + "syntax": "skewY( [ <angle> | <zero> ] )" + }, + "sepia()": { + "syntax": "sepia( <number-percentage> )" + }, + "shadow": { + "syntax": "inset? && <length>{2,4} && <color>?" + }, + "shadow-t": { + "syntax": "[ <length>{2,3} && <color>? ]" + }, + "shape": { + "syntax": "rect(<top>, <right>, <bottom>, <left>)" + }, + "shape-box": { + "syntax": "<box> | margin-box" + }, + "side-or-corner": { + "syntax": "[ left | right ] || [ top | bottom ]" + }, + "sin()": { + "syntax": "sin( <calc-sum> )" + }, + "single-animation": { + "syntax": "<time> || <easing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]" + }, + "single-animation-direction": { + "syntax": "normal | reverse | alternate | alternate-reverse" + }, + "single-animation-fill-mode": { + "syntax": "none | forwards | backwards | both" + }, + "single-animation-iteration-count": { + "syntax": "infinite | <number>" + }, + "single-animation-play-state": { + "syntax": "running | paused" + }, + "single-animation-timeline": { + "syntax": "auto | none | <timeline-name> | scroll(<axis>? <scroller>?)" + }, + "single-transition": { + "syntax": "[ none | <single-transition-property> ] || <time> || <easing-function> || <time>" + }, + "single-transition-property": { + "syntax": "all | <custom-ident>" + }, + "size": { + "syntax": "closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}" + }, + "sqrt()": { + "syntax": "sqrt( <calc-sum> )" + }, + "step-position": { + "syntax": "jump-start | jump-end | jump-none | jump-both | start | end" + }, + "step-timing-function": { + "syntax": "step-start | step-end | steps(<integer>[, <step-position>]?)" + }, + "subclass-selector": { + "syntax": "<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>" + }, + "supports-condition": { + "syntax": "not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*" + }, + "supports-in-parens": { + "syntax": "( <supports-condition> ) | <supports-feature> | <general-enclosed>" + }, + "supports-feature": { + "syntax": "<supports-decl> | <supports-selector-fn>" + }, + "supports-decl": { + "syntax": "( <declaration> )" + }, + "supports-selector-fn": { + "syntax": "selector( <complex-selector> )" + }, + "symbol": { + "syntax": "<string> | <image> | <custom-ident>" + }, + "tan()": { + "syntax": "tan( <calc-sum> )" + }, + "target": { + "syntax": "<target-counter()> | <target-counters()> | <target-text()>" + }, + "target-counter()": { + "syntax": "target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )" + }, + "target-counters()": { + "syntax": "target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )" + }, + "target-text()": { + "syntax": "target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )" + }, + "time-percentage": { + "syntax": "<time> | <percentage>" + }, + "timeline-name": { + "syntax": "<custom-ident> | <string>" + }, + "easing-function": { + "syntax": "linear | <cubic-bezier-timing-function> | <step-timing-function>" + }, + "track-breadth": { + "syntax": "<length-percentage> | <flex> | min-content | max-content | auto" + }, + "track-list": { + "syntax": "[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?" + }, + "track-repeat": { + "syntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )" + }, + "track-size": { + "syntax": "<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage> )" + }, + "transform-function": { + "syntax": "<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>" + }, + "transform-list": { + "syntax": "<transform-function>+" + }, + "translate()": { + "syntax": "translate( <length-percentage> , <length-percentage>? )" + }, + "translate3d()": { + "syntax": "translate3d( <length-percentage> , <length-percentage> , <length> )" + }, + "translateX()": { + "syntax": "translateX( <length-percentage> )" + }, + "translateY()": { + "syntax": "translateY( <length-percentage> )" + }, + "translateZ()": { + "syntax": "translateZ( <length> )" + }, + "type-or-unit": { + "syntax": "string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %" + }, + "type-selector": { + "syntax": "<wq-name> | <ns-prefix>? '*'" + }, + "var()": { + "syntax": "var( <custom-property-name> , <declaration-value>? )" + }, + "viewport-length": { + "syntax": "auto | <length-percentage>" + }, + "visual-box": { + "syntax": "content-box | padding-box | border-box" + }, + "wq-name": { + "syntax": "<ns-prefix>? <ident-token>" + } +} diff --git a/.output/server/node_modules/.nitro/mdn-data@2.0.30/package.json b/.output/server/node_modules/.nitro/mdn-data@2.0.30/package.json new file mode 100644 index 00000000..a892cdda --- /dev/null +++ b/.output/server/node_modules/.nitro/mdn-data@2.0.30/package.json @@ -0,0 +1,38 @@ +{ + "name": "mdn-data", + "version": "2.0.30", + "description": "Open Web data by the Mozilla Developer Network", + "main": "index.js", + "files": [ + "api/index.js", + "api/*.json", + "css/index.js", + "css/*.json", + "l10n/index.js", + "l10n/*.json" + ], + "repository": { + "type": "git", + "url": "https://github.com/mdn/data.git" + }, + "keywords": [ + "data", + "mdn", + "mozilla", + "css" + ], + "author": "Mozilla Developer Network", + "license": "CC0-1.0", + "bugs": { + "url": "https://github.com/mdn/data/issues" + }, + "homepage": "https://developer.mozilla.org", + "devDependencies": { + "ajv": "^6.12.6", + "better-ajv-errors": "^1.1.2" + }, + "scripts": { + "lint": "node test/lint", + "test": "npm run lint" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/dist/index.cjs b/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/dist/index.cjs new file mode 100644 index 00000000..1ccc156a --- /dev/null +++ b/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/dist/index.cjs @@ -0,0 +1,59 @@ +'use strict'; + +const DEBOUNCE_DEFAULTS = { + trailing: true +}; +function debounce(fn, wait = 25, options = {}) { + options = { ...DEBOUNCE_DEFAULTS, ...options }; + if (!Number.isFinite(wait)) { + throw new TypeError("Expected `wait` to be a finite number"); + } + let leadingValue; + let timeout; + let resolveList = []; + let currentPromise; + let trailingArgs; + const applyFn = (_this, args) => { + currentPromise = _applyPromised(fn, _this, args); + currentPromise.finally(() => { + currentPromise = null; + if (options.trailing && trailingArgs && !timeout) { + const promise = applyFn(_this, trailingArgs); + trailingArgs = null; + return promise; + } + }); + return currentPromise; + }; + return function(...args) { + if (currentPromise) { + if (options.trailing) { + trailingArgs = args; + } + return currentPromise; + } + return new Promise((resolve) => { + const shouldCallNow = !timeout && options.leading; + clearTimeout(timeout); + timeout = setTimeout(() => { + timeout = null; + const promise = options.leading ? leadingValue : applyFn(this, args); + for (const _resolve of resolveList) { + _resolve(promise); + } + resolveList = []; + }, wait); + if (shouldCallNow) { + leadingValue = applyFn(this, args); + resolve(leadingValue); + } else { + resolveList.push(resolve); + } + }); + }; +} +async function _applyPromised(fn, _this, args) { + return await fn.apply(_this, args); +} + +exports.debounce = debounce; diff --git a/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/package.json b/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/package.json new file mode 100644 index 00000000..0989372a --- /dev/null +++ b/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/package.json @@ -0,0 +1,44 @@ +{ + "name": "perfect-debounce", + "version": "1.0.0", + "description": "", + "repository": "unjs/perfect-debounce", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest dev", + "lint": "eslint --ext .ts,.js,.mjs,.cjs . && prettier --check src test", + "lint:fix": "eslint --ext .ts,.js,.mjs,.cjs . --fix && prettier -w src test", + "release": "pnpm test && pnpm build && changelogen --release --push && npm publish", + "test": "vitest run --coverage" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@vitest/coverage-c8": "^0.31.0", + "changelogen": "^0.5.3", + "eslint": "^8.39.0", + "eslint-config-unjs": "^0.1.0", + "in-range": "^3.0.0", + "prettier": "^2.8.8", + "time-span": "^5.1.0", + "typescript": "^5.0.4", + "unbuild": "^1.2.1", + "vitest": "^0.31.0" + }, + "packageManager": "pnpm@8.4.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/dist/index.mjs b/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/dist/index.mjs new file mode 100644 index 00000000..a2401a3c --- /dev/null +++ b/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/dist/index.mjs @@ -0,0 +1,89 @@ +//#region src/index.ts +const DEBOUNCE_DEFAULTS = { trailing: true }; +/** +Debounce functions +@param fn - Promise-returning/async function to debounce. +@param wait - Milliseconds to wait before calling `fn`. Default value is 25ms +@returns A function that delays calling `fn` until after `wait` milliseconds have elapsed since the last time it was called. +@example +``` +import { debounce } from 'perfect-debounce'; +const expensiveCall = async input => input; +const debouncedFn = debounce(expensiveCall, 200); +for (const number of [1, 2, 3]) { +console.log(await debouncedFn(number)); +} +//=> 1 +//=> 2 +//=> 3 +``` +*/ +function debounce(fn, wait = 25, options = {}) { + options = { + ...DEBOUNCE_DEFAULTS, + ...options + }; + if (!Number.isFinite(wait)) throw new TypeError("Expected `wait` to be a finite number"); + let leadingValue; + let timeout; + let resolveList = []; + let currentPromise; + let trailingArgs; + const applyFn = (_this, args) => { + currentPromise = _applyPromised(fn, _this, args); + currentPromise.finally(() => { + currentPromise = null; + if (options.trailing && trailingArgs && !timeout) { + const promise = applyFn(_this, trailingArgs); + trailingArgs = null; + return promise; + } + }); + return currentPromise; + }; + const debounced = function(...args) { + if (options.trailing) trailingArgs = args; + if (currentPromise) return currentPromise; + return new Promise((resolve) => { + const shouldCallNow = !timeout && options.leading; + clearTimeout(timeout); + timeout = setTimeout(() => { + timeout = null; + const promise = options.leading ? leadingValue : applyFn(this, args); + trailingArgs = null; + for (const _resolve of resolveList) _resolve(promise); + resolveList = []; + }, wait); + if (shouldCallNow) { + leadingValue = applyFn(this, args); + resolve(leadingValue); + } else resolveList.push(resolve); + }); + }; + const _clearTimeout = (timer) => { + if (timer) { + clearTimeout(timer); + timeout = null; + } + }; + debounced.isPending = () => !!timeout; + debounced.cancel = () => { + _clearTimeout(timeout); + resolveList = []; + trailingArgs = null; + }; + debounced.flush = () => { + _clearTimeout(timeout); + if (!trailingArgs || currentPromise) return; + const args = trailingArgs; + trailingArgs = null; + return applyFn(this, args); + }; + return debounced; +} +async function _applyPromised(fn, _this, args) { + return await fn.apply(_this, args); +} + +//#endregion +export { debounce }; \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/package.json b/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/package.json new file mode 100644 index 00000000..14d5bf2b --- /dev/null +++ b/.output/server/node_modules/.nitro/perfect-debounce@2.0.0/package.json @@ -0,0 +1,41 @@ +{ + "name": "perfect-debounce", + "version": "2.0.0", + "description": "", + "repository": "unjs/perfect-debounce", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": "./dist/index.mjs" + }, + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "files": [ + "dist" + ], + "scripts": { + "build": "obuild", + "dev": "vitest dev", + "lint": "eslint . && prettier --check src test", + "lint:fix": "eslint . --fix && prettier -w src test", + "release": "pnpm test && pnpm build && changelogen --release --push && npm publish", + "test": "vitest run --coverage" + }, + "devDependencies": { + "@types/node": "^24.3.0", + "@vitest/coverage-v8": "^3.2.4", + "automd": "^0.4.0", + "changelogen": "^0.6.2", + "eslint": "^9.34.0", + "eslint-config-unjs": "^0.5.0", + "in-range": "^3.0.0", + "obuild": "^0.2.1", + "prettier": "^3.6.2", + "time-span": "^5.1.0", + "typescript": "^5.9.2", + "vitest": "^3.2.4" + }, + "packageManager": "pnpm@10.15.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.js b/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.js new file mode 100644 index 00000000..2b8e1c03 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.js @@ -0,0 +1,80 @@ +/** +* vue v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + runtimeDom.warn(`invalid template option: `, template); + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + if (!el) { + runtimeDom.warn(`Template element not found or is empty: ${template}`); + } + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: onError , + onWarn: (e) => onError(e, true) + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + function onError(err, asWarning = false) { + const message = asWarning ? err.message : `Template compilation error: ${err.message}`; + const codeFrame = err.loc && shared.generateCodeFrame( + template, + err.loc.start.offset, + err.loc.end.offset + ); + runtimeDom.warn(codeFrame ? `${message} +${codeFrame}` : message); + } + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.prod.js b/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.prod.js new file mode 100644 index 00000000..6b98fa92 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/dist/vue.cjs.prod.js @@ -0,0 +1,66 @@ +/** +* vue v3.5.22 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: void 0, + onWarn: shared.NOOP + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/index.js b/.output/server/node_modules/.nitro/vue@3.5.22/index.js new file mode 100644 index 00000000..7a3dc2d8 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/index.js @@ -0,0 +1,7 @@ +'use strict' + +if (process.env.NODE_ENV === 'production') { + module.exports = require('./dist/vue.cjs.prod.js') +} else { + module.exports = require('./dist/vue.cjs.js') +} diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/index.mjs b/.output/server/node_modules/.nitro/vue@3.5.22/index.mjs new file mode 100644 index 00000000..fcb9204c --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/index.mjs @@ -0,0 +1 @@ +export * from './index.js' diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/compiler-dom b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/compiler-dom new file mode 120000 index 00000000..29d7d939 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/compiler-dom @@ -0,0 +1 @@ +../../../@vue/compiler-dom@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/runtime-dom b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/runtime-dom new file mode 120000 index 00000000..6feee652 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/runtime-dom @@ -0,0 +1 @@ +../../../@vue/runtime-dom@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/server-renderer b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/server-renderer new file mode 120000 index 00000000..26de5f1c --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/server-renderer @@ -0,0 +1 @@ +../../../@vue/server-renderer@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/shared b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/shared new file mode 120000 index 00000000..93b2fe63 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../@vue/shared@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/package.json b/.output/server/node_modules/.nitro/vue@3.5.22/package.json new file mode 100644 index 00000000..261608f5 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/package.json @@ -0,0 +1,112 @@ +{ + "name": "vue", + "version": "3.5.22", + "description": "The progressive JavaScript framework for building modern web UI.", + "main": "index.js", + "module": "dist/vue.runtime.esm-bundler.js", + "types": "dist/vue.d.ts", + "unpkg": "dist/vue.global.js", + "jsdelivr": "dist/vue.global.js", + "files": [ + "index.js", + "index.mjs", + "dist", + "compiler-sfc", + "server-renderer", + "jsx-runtime", + "jsx.d.ts" + ], + "exports": { + ".": { + "import": { + "types": "./dist/vue.d.mts", + "node": "./index.mjs", + "default": "./dist/vue.runtime.esm-bundler.js" + }, + "require": { + "types": "./dist/vue.d.ts", + "node": { + "production": "./dist/vue.cjs.prod.js", + "development": "./dist/vue.cjs.js", + "default": "./dist/vue.cjs.prod.js" + }, + "default": "./index.js" + } + }, + "./server-renderer": { + "import": { + "types": "./server-renderer/index.d.mts", + "default": "./server-renderer/index.mjs" + }, + "require": { + "types": "./server-renderer/index.d.ts", + "default": "./server-renderer/index.js" + } + }, + "./compiler-sfc": { + "import": { + "types": "./compiler-sfc/index.d.mts", + "browser": "./compiler-sfc/index.browser.mjs", + "default": "./compiler-sfc/index.mjs" + }, + "require": { + "types": "./compiler-sfc/index.d.ts", + "browser": "./compiler-sfc/index.browser.js", + "default": "./compiler-sfc/index.js" + } + }, + "./jsx-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx-dev-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx": "./jsx.d.ts", + "./dist/*": "./dist/*", + "./package.json": "./package.json" + }, + "buildOptions": { + "name": "Vue", + "formats": [ + "esm-bundler", + "esm-bundler-runtime", + "cjs", + "global", + "global-runtime", + "esm-browser", + "esm-browser-runtime" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/vue#readme", + "dependencies": { + "@vue/shared": "3.5.22", + "@vue/compiler-dom": "3.5.22", + "@vue/runtime-dom": "3.5.22", + "@vue/compiler-sfc": "3.5.22", + "@vue/server-renderer": "3.5.22" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.22/server-renderer/index.mjs b/.output/server/node_modules/.nitro/vue@3.5.22/server-renderer/index.mjs new file mode 100644 index 00000000..ac614729 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.22/server-renderer/index.mjs @@ -0,0 +1 @@ +export * from '@vue/server-renderer' diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.js b/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.js new file mode 100644 index 00000000..b129ded0 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.js @@ -0,0 +1,80 @@ +/** +* vue v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + runtimeDom.warn(`invalid template option: `, template); + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + if (!el) { + runtimeDom.warn(`Template element not found or is empty: ${template}`); + } + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: onError , + onWarn: (e) => onError(e, true) + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + function onError(err, asWarning = false) { + const message = asWarning ? err.message : `Template compilation error: ${err.message}`; + const codeFrame = err.loc && shared.generateCodeFrame( + template, + err.loc.start.offset, + err.loc.end.offset + ); + runtimeDom.warn(codeFrame ? `${message} +${codeFrame}` : message); + } + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.prod.js b/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.prod.js new file mode 100644 index 00000000..e0191c8c --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/dist/vue.cjs.prod.js @@ -0,0 +1,66 @@ +/** +* vue v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: void 0, + onWarn: shared.NOOP + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/index.js b/.output/server/node_modules/.nitro/vue@3.5.26/index.js new file mode 100644 index 00000000..7a3dc2d8 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/index.js @@ -0,0 +1,7 @@ +'use strict' + +if (process.env.NODE_ENV === 'production') { + module.exports = require('./dist/vue.cjs.prod.js') +} else { + module.exports = require('./dist/vue.cjs.js') +} diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/index.mjs b/.output/server/node_modules/.nitro/vue@3.5.26/index.mjs new file mode 100644 index 00000000..fcb9204c --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/index.mjs @@ -0,0 +1 @@ +export * from './index.js' diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/compiler-dom b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/compiler-dom new file mode 120000 index 00000000..c3ae063d --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/compiler-dom @@ -0,0 +1 @@ +../../../@vue/compiler-dom@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/runtime-dom b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/runtime-dom new file mode 120000 index 00000000..0dd35cfc --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/runtime-dom @@ -0,0 +1 @@ +../../../@vue/runtime-dom@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/server-renderer b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/server-renderer new file mode 120000 index 00000000..4220888c --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/server-renderer @@ -0,0 +1 @@ +../../../@vue/server-renderer@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/shared b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/shared new file mode 120000 index 00000000..380af187 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/node_modules/@vue/shared @@ -0,0 +1 @@ +../../../@vue/shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/package.json b/.output/server/node_modules/.nitro/vue@3.5.26/package.json new file mode 100644 index 00000000..af987e19 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/package.json @@ -0,0 +1,112 @@ +{ + "name": "vue", + "version": "3.5.26", + "description": "The progressive JavaScript framework for building modern web UI.", + "main": "index.js", + "module": "dist/vue.runtime.esm-bundler.js", + "types": "dist/vue.d.ts", + "unpkg": "dist/vue.global.js", + "jsdelivr": "dist/vue.global.js", + "files": [ + "index.js", + "index.mjs", + "dist", + "compiler-sfc", + "server-renderer", + "jsx-runtime", + "jsx.d.ts" + ], + "exports": { + ".": { + "import": { + "types": "./dist/vue.d.mts", + "node": "./index.mjs", + "default": "./dist/vue.runtime.esm-bundler.js" + }, + "require": { + "types": "./dist/vue.d.ts", + "node": { + "production": "./dist/vue.cjs.prod.js", + "development": "./dist/vue.cjs.js", + "default": "./dist/vue.cjs.prod.js" + }, + "default": "./index.js" + } + }, + "./server-renderer": { + "import": { + "types": "./server-renderer/index.d.mts", + "default": "./server-renderer/index.mjs" + }, + "require": { + "types": "./server-renderer/index.d.ts", + "default": "./server-renderer/index.js" + } + }, + "./compiler-sfc": { + "import": { + "types": "./compiler-sfc/index.d.mts", + "browser": "./compiler-sfc/index.browser.mjs", + "default": "./compiler-sfc/index.mjs" + }, + "require": { + "types": "./compiler-sfc/index.d.ts", + "browser": "./compiler-sfc/index.browser.js", + "default": "./compiler-sfc/index.js" + } + }, + "./jsx-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx-dev-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx": "./jsx.d.ts", + "./dist/*": "./dist/*", + "./package.json": "./package.json" + }, + "buildOptions": { + "name": "Vue", + "formats": [ + "esm-bundler", + "esm-bundler-runtime", + "cjs", + "global", + "global-runtime", + "esm-browser", + "esm-browser-runtime" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/vue#readme", + "dependencies": { + "@vue/shared": "3.5.26", + "@vue/runtime-dom": "3.5.26", + "@vue/compiler-sfc": "3.5.26", + "@vue/compiler-dom": "3.5.26", + "@vue/server-renderer": "3.5.26" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/.nitro/vue@3.5.26/server-renderer/index.mjs b/.output/server/node_modules/.nitro/vue@3.5.26/server-renderer/index.mjs new file mode 100644 index 00000000..ac614729 --- /dev/null +++ b/.output/server/node_modules/.nitro/vue@3.5.26/server-renderer/index.mjs @@ -0,0 +1 @@ +export * from '@vue/server-renderer' diff --git a/.output/server/node_modules/@ant-design/colors/dist/index.js b/.output/server/node_modules/@ant-design/colors/dist/index.js new file mode 100644 index 00000000..ee4285be --- /dev/null +++ b/.output/server/node_modules/@ant-design/colors/dist/index.js @@ -0,0 +1,255 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var tinycolor = require('@ctrl/tinycolor'); + +var hueStep = 2; // 色相阶梯 + +var saturationStep = 0.16; // 饱和度阶梯,浅色部分 + +var saturationStep2 = 0.05; // 饱和度阶梯,深色部分 + +var brightnessStep1 = 0.05; // 亮度阶梯,浅色部分 + +var brightnessStep2 = 0.15; // 亮度阶梯,深色部分 + +var lightColorCount = 5; // 浅色数量,主色上 + +var darkColorCount = 4; // 深色数量,主色下 +// 暗色主题颜色映射关系表 + +var darkColorMap = [{ + index: 7, + opacity: 0.15 +}, { + index: 6, + opacity: 0.25 +}, { + index: 5, + opacity: 0.3 +}, { + index: 5, + opacity: 0.45 +}, { + index: 5, + opacity: 0.65 +}, { + index: 5, + opacity: 0.85 +}, { + index: 4, + opacity: 0.9 +}, { + index: 3, + opacity: 0.95 +}, { + index: 2, + opacity: 0.97 +}, { + index: 1, + opacity: 0.98 +}]; // Wrapper function ported from TinyColor.prototype.toHsv +// Keep it here because of `hsv.h * 360` + +function toHsv(_ref) { + var r = _ref.r, + g = _ref.g, + b = _ref.b; + var hsv = tinycolor.rgbToHsv(r, g, b); + return { + h: hsv.h * 360, + s: hsv.s, + v: hsv.v + }; +} // Wrapper function ported from TinyColor.prototype.toHexString +// Keep it here because of the prefix `#` + + +function toHex(_ref2) { + var r = _ref2.r, + g = _ref2.g, + b = _ref2.b; + return "#".concat(tinycolor.rgbToHex(r, g, b, false)); +} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable. +// Amount in range [0, 1] +// Assume color1 & color2 has no alpha, since the following src code did so. + + +function mix(rgb1, rgb2, amount) { + var p = amount / 100; + var rgb = { + r: (rgb2.r - rgb1.r) * p + rgb1.r, + g: (rgb2.g - rgb1.g) * p + rgb1.g, + b: (rgb2.b - rgb1.b) * p + rgb1.b + }; + return rgb; +} + +function getHue(hsv, i, light) { + var hue; // 根据色相不同,色相转向不同 + + if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) { + hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i; + } else { + hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i; + } + + if (hue < 0) { + hue += 360; + } else if (hue >= 360) { + hue -= 360; + } + + return hue; +} + +function getSaturation(hsv, i, light) { + // grey color don't change saturation + if (hsv.h === 0 && hsv.s === 0) { + return hsv.s; + } + + var saturation; + + if (light) { + saturation = hsv.s - saturationStep * i; + } else if (i === darkColorCount) { + saturation = hsv.s + saturationStep; + } else { + saturation = hsv.s + saturationStep2 * i; + } // 边界值修正 + + + if (saturation > 1) { + saturation = 1; + } // 第一格的 s 限制在 0.06-0.1 之间 + + + if (light && i === lightColorCount && saturation > 0.1) { + saturation = 0.1; + } + + if (saturation < 0.06) { + saturation = 0.06; + } + + return Number(saturation.toFixed(2)); +} + +function getValue(hsv, i, light) { + var value; + + if (light) { + value = hsv.v + brightnessStep1 * i; + } else { + value = hsv.v - brightnessStep2 * i; + } + + if (value > 1) { + value = 1; + } + + return Number(value.toFixed(2)); +} + +function generate(color) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var patterns = []; + var pColor = tinycolor.inputToRGB(color); + + for (var i = lightColorCount; i > 0; i -= 1) { + var hsv = toHsv(pColor); + var colorString = toHex(tinycolor.inputToRGB({ + h: getHue(hsv, i, true), + s: getSaturation(hsv, i, true), + v: getValue(hsv, i, true) + })); + patterns.push(colorString); + } + + patterns.push(toHex(pColor)); + + for (var _i = 1; _i <= darkColorCount; _i += 1) { + var _hsv = toHsv(pColor); + + var _colorString = toHex(tinycolor.inputToRGB({ + h: getHue(_hsv, _i), + s: getSaturation(_hsv, _i), + v: getValue(_hsv, _i) + })); + + patterns.push(_colorString); + } // dark theme patterns + + + if (opts.theme === 'dark') { + return darkColorMap.map(function (_ref3) { + var index = _ref3.index, + opacity = _ref3.opacity; + var darkColorString = toHex(mix(tinycolor.inputToRGB(opts.backgroundColor || '#141414'), tinycolor.inputToRGB(patterns[index]), opacity * 100)); + return darkColorString; + }); + } + + return patterns; +} + +var presetPrimaryColors = { + red: '#F5222D', + volcano: '#FA541C', + orange: '#FA8C16', + gold: '#FAAD14', + yellow: '#FADB14', + lime: '#A0D911', + green: '#52C41A', + cyan: '#13C2C2', + blue: '#1890FF', + geekblue: '#2F54EB', + purple: '#722ED1', + magenta: '#EB2F96', + grey: '#666666' +}; +var presetPalettes = {}; +var presetDarkPalettes = {}; +Object.keys(presetPrimaryColors).forEach(function (key) { + presetPalettes[key] = generate(presetPrimaryColors[key]); + presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes + + presetDarkPalettes[key] = generate(presetPrimaryColors[key], { + theme: 'dark', + backgroundColor: '#141414' + }); + presetDarkPalettes[key].primary = presetDarkPalettes[key][5]; +}); +var red = presetPalettes.red; +var volcano = presetPalettes.volcano; +var gold = presetPalettes.gold; +var orange = presetPalettes.orange; +var yellow = presetPalettes.yellow; +var lime = presetPalettes.lime; +var green = presetPalettes.green; +var cyan = presetPalettes.cyan; +var blue = presetPalettes.blue; +var geekblue = presetPalettes.geekblue; +var purple = presetPalettes.purple; +var magenta = presetPalettes.magenta; +var grey = presetPalettes.grey; + +exports.blue = blue; +exports.cyan = cyan; +exports.geekblue = geekblue; +exports.generate = generate; +exports.gold = gold; +exports.green = green; +exports.grey = grey; +exports.lime = lime; +exports.magenta = magenta; +exports.orange = orange; +exports.presetDarkPalettes = presetDarkPalettes; +exports.presetPalettes = presetPalettes; +exports.presetPrimaryColors = presetPrimaryColors; +exports.purple = purple; +exports.red = red; +exports.volcano = volcano; +exports.yellow = yellow; diff --git a/.output/server/node_modules/@ant-design/colors/package.json b/.output/server/node_modules/@ant-design/colors/package.json new file mode 100644 index 00000000..8757e4ef --- /dev/null +++ b/.output/server/node_modules/@ant-design/colors/package.json @@ -0,0 +1,53 @@ +{ + "name": "@ant-design/colors", + "version": "6.0.0", + "description": "Color palettes calculator of Ant Design", + "main": "dist/index.js", + "module": "dist/index.esm.js", + "files": [ + "lib", + "dist/index.js", + "dist/index.esm.js", + "dist/src/index.d.ts", + "dist/src/generate.d.ts" + ], + "typings": "dist/src/index.d.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/ant-design/ant-design-colors.git" + }, + "bugs": { + "url": "https://github.com/ant-design/ant-design-colors/issues" + }, + "scripts": { + "tsc": "tsc --noEmit", + "compile": "father build --esm --cjs", + "prepublishOnly": "npm run compile && np --no-cleanup --no-publish", + "lint": "eslint src --ext .ts", + "lint:fix": "prettier --write '{src,tests}/**/*.ts'", + "jest": "jest", + "coverage": "jest --coverage && cat ./coverage/lcov.info | coveralls", + "test": "npm run tsc && npm run lint && npm run jest" + }, + "author": "afc163 <afc163@gmail.com>", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + }, + "devDependencies": { + "@types/jest": "^26.0.0", + "@typescript-eslint/eslint-plugin": "^4.0.0", + "@typescript-eslint/parser": "^4.7.0", + "coveralls": "^3.0.3", + "eslint": "^7.1.0", + "eslint-config-prettier": "^7.0.0", + "eslint-plugin-prettier": "^3.0.1", + "father": "^2.29.5", + "jest": "^26.0.1", + "np": "^7.0.0", + "prettier": "^2.0.0", + "ts-jest": "^26.0.0", + "typescript": "^4.0.2" + }, + "homepage": "https://github.com/ant-design/ant-design-colors#readme" +} \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookFilled.js new file mode 100644 index 00000000..ba7e7d8f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AccountBookFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 018.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z" } }] }, "name": "account-book", "theme": "filled" }; +exports.default = AccountBookFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookOutlined.js new file mode 100644 index 00000000..5190ce62 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AccountBookOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 00-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z" } }] }, "name": "account-book", "theme": "outlined" }; +exports.default = AccountBookOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookTwoTone.js new file mode 100644 index 00000000..8c4a5485 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AccountBookTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AccountBookTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-65.6 121.8l-89.3 164.1h49.1c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4v33.7h65.4c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4V752c0 4.4-3.6 8-8 8h-41.3c-4.4 0-8-3.6-8-8v-53.8h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8h65.1v-33.7h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8H467l-89.3-164c-2.1-3.9-.7-8.8 3.2-10.9 1.1-.7 2.5-1 3.8-1h46a8 8 0 017.1 4.4l73.4 145.4h2.8l73.4-145.4c1.3-2.7 4.1-4.4 7.1-4.4h45c4.5 0 8 3.6 7.9 8 0 1.3-.4 2.6-1 3.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 00-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z", "fill": primaryColor } }] }; }, "name": "account-book", "theme": "twotone" }; +exports.default = AccountBookTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AimOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AimOutlined.js new file mode 100644 index 00000000..3a2de984 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AimOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AimOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z" } }, { "tag": "path", "attrs": { "d": "M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z" } }] }, "name": "aim", "theme": "outlined" }; +exports.default = AimOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertFilled.js new file mode 100644 index 00000000..ecd13ea4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlertFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 244c176.18 0 319 142.82 319 319v233a32 32 0 01-32 32H225a32 32 0 01-32-32V563c0-176.18 142.82-319 319-319zM484 68h56a8 8 0 018 8v96a8 8 0 01-8 8h-56a8 8 0 01-8-8V76a8 8 0 018-8zM177.25 191.66a8 8 0 0111.32 0l67.88 67.88a8 8 0 010 11.31l-39.6 39.6a8 8 0 01-11.31 0l-67.88-67.88a8 8 0 010-11.31l39.6-39.6zm669.6 0l39.6 39.6a8 8 0 010 11.3l-67.88 67.9a8 8 0 01-11.32 0l-39.6-39.6a8 8 0 010-11.32l67.89-67.88a8 8 0 0111.31 0zM192 892h640a32 32 0 0132 32v24a8 8 0 01-8 8H168a8 8 0 01-8-8v-24a32 32 0 0132-32zm148-317v253h64V575h-64z" } }] }, "name": "alert", "theme": "filled" }; +exports.default = AlertFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertOutlined.js new file mode 100644 index 00000000..0c24609e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlertOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M193 796c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563zm-48.1-252.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 00-11.3 0l-39.6 39.6a8.03 8.03 0 000 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 00-11.3 0l-67.9 67.9a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM832 892H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z" } }] }, "name": "alert", "theme": "outlined" }; +exports.default = AlertOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertTwoTone.js new file mode 100644 index 00000000..91a84225 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlertTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlertTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M340 585c0-5.5 4.5-10 10-10h44c5.5 0 10 4.5 10 10v171h355V563c0-136.4-110.6-247-247-247S265 426.6 265 563v193h75V585z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M216.9 310.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 00-11.3 0l-39.6 39.6a8.03 8.03 0 000 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 00-11.3 0l-67.9 67.9a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8zm348 712H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zm-639-96c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563z", "fill": primaryColor } }] }; }, "name": "alert", "theme": "twotone" }; +exports.default = AlertTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlibabaOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlibabaOutlined.js new file mode 100644 index 00000000..6e44b624 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlibabaOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlibabaOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M602.9 669.8c-37.2 2.6-33.6-17.3-11.5-46.2 50.4-67.2 143.7-158.5 147.9-225.2 5.8-86.6-81.3-113.4-171-113.4-62.4 1.6-127 18.9-171 34.6-151.6 53.5-246.6 137.5-306.9 232-62.4 93.4-43 183.2 91.8 185.8 101.8-4.2 170.5-32.5 239.7-68.2.5 0-192.5 55.1-263.9 14.7-7.9-4.2-15.7-10-17.8-26.2 0-33.1 54.6-67.7 86.6-78.7v-56.7c64.5 22.6 140.6 16.3 205.7-32 2.1 5.8 4.2 13.1 3.7 21h11c2.6-22.6-12.6-44.6-37.8-46.2 7.3 5.8 12.6 10.5 15.2 14.7l-1 1-.5.5c-83.9 58.8-165.3 31.5-173.1 29.9l46.7-45.7-13.1-33.1c92.9-32.5 169.5-56.2 296.9-78.7l-28.5-23 14.7-8.9c75.5 21 126.4 36.7 123.8 76.6-1 6.8-3.7 14.7-7.9 23.1C660.1 466.1 594 538 567.2 569c-17.3 20.5-34.6 39.4-46.7 58.3-13.6 19.4-20.5 37.3-21 53.5 2.6 131.8 391.4-61.9 468-112.9-111.7 47.8-232.9 93.5-364.6 101.9zm85-302.9c2.8 5.2 4.1 11.6 4.1 19.1-.1-6.8-1.4-13.3-4.1-19.1z" } }] }, "name": "alibaba", "theme": "outlined" }; +exports.default = AlibabaOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignCenterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignCenterOutlined.js new file mode 100644 index 00000000..154501e1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignCenterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlignCenterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "align-center", "theme": "outlined" }; +exports.default = AlignCenterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignLeftOutlined.js new file mode 100644 index 00000000..941d0f9a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlignLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "align-left", "theme": "outlined" }; +exports.default = AlignLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignRightOutlined.js new file mode 100644 index 00000000..3132cf02 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlignRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlignRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 158H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 424H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 212H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "align-right", "theme": "outlined" }; +exports.default = AlignRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleFilled.js new file mode 100644 index 00000000..66b28cb6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlipayCircleFilled = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64c247.42 0 448 200.58 448 448S759.42 960 512 960 64 759.42 64 512 264.58 64 512 64m32.5 168c-69.67 0-86.06 16.84-86.72 39.08l-.02 1.43v46.62H291.45c-9.92 0-14.28 23.05-14.27 39.3 0 2.7 2.08 4.93 4.77 4.93h175.81v58.3h-116.5c-9.96 0-14.3 23.76-14.27 39.47a4.77 4.77 0 004.77 4.76h233.45c-4.53 41.06-15.43 77.59-30.72 109.32l-1.22 2.5-.32-.28c-60.24-28.47-120.43-52.57-194.4-52.57l-2.62.01c-84.98 1.11-144.71 56.5-145.91 127.04l-.02 1.22.02 2.13c1.24 70.4 63.56 126.45 148.52 126.45 61.25 0 116.38-16.85 163.46-45.02a138.58 138.58 0 0014.07-7.96 345.6 345.6 0 0050.3-41.16l9.45 6.35 12.46 8.32c57.53 38.26 113.76 72.62 169.86 79.27a142.62 142.62 0 0018.31 1.16c43.02 0 55-52.68 57.39-95.51l.14-2.84c.4-8.46-6.2-15.6-14.65-15.86-75.46-2.37-136.45-22.05-192-46.11l-6.27-2.75c35.15-56.8 56.66-121.81 57.15-186.66l.09-1.08c.4-5.51-4-10.2-9.52-10.2H549.33v-58.3h165.73c9.92 0 14.28-22.12 14.27-39.31a4.85 4.85 0 00-4.78-4.92H549.32v-82.35a4.8 4.8 0 00-4.83-4.78M328 583.85c54.63 0 107.08 22.41 158.1 52.19l5.76 3.4c-103.57 119.84-247.17 95.9-261.72 26.37a66.89 66.89 0 01-1.14-9.83l-.06-2.34.02-.9c.97-40.12 45.33-68.9 99.04-68.9" } }] }, "name": "alipay-circle", "theme": "filled" }; +exports.default = AlipayCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleOutlined.js new file mode 100644 index 00000000..f54fe910 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlipayCircleOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64c247.42 0 448 200.58 448 448S759.42 960 512 960 64 759.42 64 512 264.58 64 512 64m32.5 168c-69.67 0-86.06 16.84-86.72 39.08l-.02 1.43v46.62H291.45c-9.92 0-14.28 23.05-14.27 39.3 0 2.7 2.08 4.93 4.77 4.93h175.81v58.3h-116.5c-9.96 0-14.3 23.76-14.27 39.47a4.77 4.77 0 004.77 4.76h233.45c-4.53 41.06-15.43 77.59-30.72 109.32l-1.22 2.5-.32-.28c-60.24-28.47-120.43-52.57-194.4-52.57l-2.62.01c-84.98 1.11-144.71 56.5-145.91 127.04l-.02 1.22.02 2.13c1.24 70.4 63.56 126.45 148.52 126.45 61.25 0 116.38-16.85 163.46-45.02a138.58 138.58 0 0014.07-7.96 345.6 345.6 0 0050.3-41.16l9.45 6.35 12.46 8.32c57.53 38.26 113.76 72.62 169.86 79.27a142.62 142.62 0 0018.31 1.16c43.02 0 55-52.68 57.39-95.51l.14-2.84c.4-8.46-6.2-15.6-14.65-15.86-75.46-2.37-136.45-22.05-192-46.11l-6.27-2.75c35.15-56.8 56.66-121.81 57.15-186.66l.09-1.08c.4-5.51-4-10.2-9.52-10.2H549.33v-58.3h165.73c9.92 0 14.28-22.12 14.27-39.31a4.85 4.85 0 00-4.78-4.92H549.32v-82.35a4.8 4.8 0 00-4.83-4.78M328 583.85c54.63 0 107.08 22.41 158.1 52.19l5.76 3.4c-103.57 119.84-247.17 95.9-261.72 26.37a66.89 66.89 0 01-1.14-9.83l-.06-2.34.02-.9c.97-40.12 45.33-68.9 99.04-68.9" } }] }, "name": "alipay-circle", "theme": "outlined" }; +exports.default = AlipayCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayOutlined.js new file mode 100644 index 00000000..c8fece1d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipayOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlipayOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M557.2 129a6.68 6.68 0 016.72 6.65V250.2h243.8a6.74 6.74 0 016.65 6.84c.02 23.92-6.05 54.69-19.85 54.69H563.94v81.1h166.18c7.69 0 13.8 6.51 13.25 14.18l-.11 1.51c-.7 90.2-30.63 180.64-79.52 259.65l8.71 3.82c77.3 33.48 162.15 60.85 267.15 64.14a21.08 21.08 0 0120.38 22.07l-.2 3.95c-3.34 59.57-20 132.85-79.85 132.85-8.8 0-17.29-.55-25.48-1.61-78.04-9.25-156.28-57.05-236.32-110.27l-17.33-11.57-13.15-8.83a480.83 480.83 0 01-69.99 57.25 192.8 192.8 0 01-19.57 11.08c-65.51 39.18-142.21 62.6-227.42 62.62-118.2 0-204.92-77.97-206.64-175.9l-.03-2.95.03-1.7c1.66-98.12 84.77-175.18 203-176.72l3.64-.03c102.92 0 186.66 33.54 270.48 73.14l.44.38 1.7-3.47c21.27-44.14 36.44-94.95 42.74-152.06h-324.8a6.64 6.64 0 01-6.63-6.62c-.04-21.86 6-54.91 19.85-54.91h162.1v-81.1H191.92a6.71 6.71 0 01-6.64-6.85c-.01-22.61 6.06-54.68 19.86-54.68h231.4v-64.85l.02-1.99c.9-30.93 23.72-54.36 120.64-54.36M256.9 619c-74.77 0-136.53 39.93-137.88 95.6l-.02 1.26.08 3.24a92.55 92.55 0 001.58 13.64c20.26 96.5 220.16 129.71 364.34-36.59l-8.03-4.72C405.95 650.11 332.94 619 256.9 619" } }] }, "name": "alipay", "theme": "outlined" }; +exports.default = AlipayOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipaySquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipaySquareFilled.js new file mode 100644 index 00000000..3af96d64 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AlipaySquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AlipaySquareFilled = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M894.6 116.54a30.9 30.9 0 0112.86 12.85c2.96 5.54 4.54 11.04 4.54 26.2V868.4c0 15.16-1.58 20.66-4.54 26.2a30.9 30.9 0 01-12.85 12.85c-5.54 2.96-11.04 4.54-26.2 4.54H155.6c-15.16 0-20.66-1.58-26.2-4.54a30.9 30.9 0 01-12.85-12.85c-2.92-5.47-4.5-10.9-4.54-25.59V155.6c0-15.16 1.58-20.66 4.54-26.2a30.9 30.9 0 0112.85-12.85c5.47-2.92 10.9-4.5 25.59-4.54H868.4c15.16 0 20.66 1.58 26.2 4.54M541 262c-62.2 0-76.83 15.04-77.42 34.9l-.02 1.27v41.62H315.08c-8.86 0-12.75 20.59-12.74 35.1a4.3 4.3 0 004.26 4.4h156.97v52.05H359.56c-8.9 0-12.77 21.22-12.75 35.25a4.26 4.26 0 004.26 4.25h208.44c-4.04 36.66-13.78 69.27-27.43 97.6l-1.09 2.23-.28-.25c-53.8-25.42-107.53-46.94-173.58-46.94l-2.33.01c-75.88 1-129.21 50.45-130.28 113.43l-.02 1.1.02 1.89c1.1 62.85 56.75 112.9 132.6 112.9 54.7 0 103.91-15.04 145.95-40.2a123.73 123.73 0 0012.56-7.1 308.6 308.6 0 0044.92-36.75l8.44 5.67 11.12 7.43c51.36 34.15 101.57 64.83 151.66 70.77a127.34 127.34 0 0016.35 1.04c38.4 0 49.1-47.04 51.24-85.28l.13-2.53a13.53 13.53 0 00-13.08-14.17c-67.39-2.1-121.84-19.68-171.44-41.17l-5.6-2.44c31.39-50.72 50.6-108.77 51.04-166.67l.07-.96a8.51 8.51 0 00-8.5-9.1H545.33v-52.06H693.3c8.86 0 12.75-19.75 12.75-35.1-.01-2.4-1.87-4.4-4.27-4.4H545.32v-73.52a4.29 4.29 0 00-4.31-4.27m-193.3 314.15c48.77 0 95.6 20.01 141.15 46.6l5.15 3.04c-92.48 107-220.69 85.62-233.68 23.54a59.72 59.72 0 01-1.02-8.78l-.05-2.08.01-.81c.87-35.82 40.48-61.51 88.44-61.51" } }] }, "name": "alipay-square", "theme": "filled" }; +exports.default = AlipaySquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangFilled.js new file mode 100644 index 00000000..0dae8a02 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AliwangwangFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 00-120.5-81.2A375.65 375.65 0 00519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 00-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0029.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-325.2 79c0 20.4-16.6 37.1-37.1 37.1-20.4 0-37.1-16.7-37.1-37.1v-55.1c0-20.4 16.6-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1zm175.2 0c0 20.4-16.6 37.1-37.1 37.1S644 476.8 644 456.4v-55.1c0-20.4 16.7-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1z" } }] }, "name": "aliwangwang", "theme": "filled" }; +exports.default = AliwangwangFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangOutlined.js new file mode 100644 index 00000000..1cca59ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliwangwangOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AliwangwangOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 00-120.5-81.2A375.65 375.65 0 00519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 00-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10.1 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0029.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-66.4 266.5a307.08 307.08 0 01-65.9 98c-28.4 28.5-61.3 50.7-97.7 65.9h-.1c-38 16-78.3 24.2-119.9 24.2a306.51 306.51 0 01-217.5-90.2c-28.4-28.5-50.6-61.4-65.8-97.8v-.1c-16-37.8-24.1-78.2-24.1-119.9 0-55.4 14.8-109.7 42.8-157l13.2-22.1-9.5-23.9L206 192c14.9.6 35.9 2.1 59.7 5.6 43.8 6.5 82.5 17.5 114.9 32.6l19 8.9 19.9-6.8c31.5-10.8 64.8-16.2 98.9-16.2a306.51 306.51 0 01217.5 90.2c28.4 28.5 50.6 61.4 65.8 97.8l.1.1.1.1c16 37.6 24.1 78 24.2 119.8-.1 41.7-8.3 82-24.3 119.8zM681.1 364.2c-20.4 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.6 37.1 37.1 37.1s37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1zm-175.2 0c-20.5 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.7 37.1 37.1 37.1 20.5 0 37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1z" } }] }, "name": "aliwangwang", "theme": "outlined" }; +exports.default = AliwangwangOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliyunOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliyunOutlined.js new file mode 100644 index 00000000..db83aff4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AliyunOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AliyunOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M959.2 383.9c-.3-82.1-66.9-148.6-149.1-148.6H575.9l21.6 85.2 201 43.7a42.58 42.58 0 0132.9 39.7c.1.5.1 216.1 0 216.6a42.58 42.58 0 01-32.9 39.7l-201 43.7-21.6 85.3h234.2c82.1 0 148.8-66.5 149.1-148.6V383.9zM225.5 660.4a42.58 42.58 0 01-32.9-39.7c-.1-.6-.1-216.1 0-216.6.8-19.4 14.6-35.5 32.9-39.7l201-43.7 21.6-85.2H213.8c-82.1 0-148.8 66.4-149.1 148.6V641c.3 82.1 67 148.6 149.1 148.6H448l-21.6-85.3-200.9-43.9zm200.9-158.8h171v21.3h-171z" } }] }, "name": "aliyun", "theme": "outlined" }; +exports.default = AliyunOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonCircleFilled.js new file mode 100644 index 00000000..2ce9441e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AmazonCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm35.8 262.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 00-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9 4.7-12.2 11.8-23.9 21.4-35 9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0125.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 017.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 01-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7z" } }] }, "name": "amazon-circle", "theme": "filled" }; +exports.default = AmazonCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonOutlined.js new file mode 100644 index 00000000..f6e03a9f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AmazonOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M825 768.9c-3.3-.9-7.3-.4-11.9 1.3-61.6 28.2-121.5 48.3-179.7 60.2C507.7 856 385.2 842.6 266 790.3c-33.1-14.6-79.1-39.2-138-74a9.36 9.36 0 00-5.3-2c-2-.1-3.7.1-5.3.9-1.6.8-2.8 1.8-3.7 3.1-.9 1.3-1.1 3.1-.4 5.4.6 2.2 2.1 4.7 4.6 7.4 10.4 12.2 23.3 25.2 38.6 39s35.6 29.4 60.9 46.8c25.3 17.4 51.8 32.9 79.3 46.4 27.6 13.5 59.6 24.9 96.1 34.1s73 13.8 109.4 13.8c36.2 0 71.4-3.7 105.5-10.9 34.2-7.3 63-15.9 86.5-25.9 23.4-9.9 45-21 64.8-33 19.8-12 34.4-22.2 43.9-30.3 9.5-8.2 16.3-14.6 20.2-19.4 4.6-5.7 6.9-10.6 6.9-14.9.1-4.5-1.7-7.1-5-7.9zM527.4 348.1c-15.2 1.3-33.5 4.1-55 8.3-21.5 4.1-41.4 9.3-59.8 15.4s-37.2 14.6-56.3 25.4c-19.2 10.8-35.5 23.2-49 37s-24.5 31.1-33.1 52c-8.6 20.8-12.9 43.7-12.9 68.7 0 27.1 4.7 51.2 14.3 72.5 9.5 21.3 22.2 38 38.2 50.4 15.9 12.4 34 22.1 54 29.2 20 7.1 41.2 10.3 63.2 9.4 22-.9 43.5-4.3 64.4-10.3 20.8-5.9 40.4-15.4 58.6-28.3 18.2-12.9 33.1-28.2 44.8-45.7 4.3 6.6 8.1 11.5 11.5 14.7l8.7 8.9c5.8 5.9 14.7 14.6 26.7 26.1 11.9 11.5 24.1 22.7 36.3 33.7l104.4-99.9-6-4.9c-4.3-3.3-9.4-8-15.2-14.3-5.8-6.2-11.6-13.1-17.2-20.5-5.7-7.4-10.6-16.1-14.7-25.9-4.1-9.8-6.2-19.3-6.2-28.5V258.7c0-10.1-1.9-21-5.7-32.8-3.9-11.7-10.7-24.5-20.7-38.3-10-13.8-22.4-26.2-37.2-37-14.9-10.8-34.7-20-59.6-27.4-24.8-7.4-52.6-11.1-83.2-11.1-31.3 0-60.4 3.7-87.6 10.9-27.1 7.3-50.3 17-69.7 29.2-19.3 12.2-35.9 26.3-49.7 42.4-13.8 16.1-24.1 32.9-30.8 50.4-6.7 17.5-10.1 35.2-10.1 53.1L408 310c5.5-16.4 12.9-30.6 22-42.8 9.2-12.2 17.9-21 25.8-26.5 8-5.5 16.6-9.9 25.7-13.2 9.2-3.3 15.4-5 18.6-5.4 3.2-.3 5.7-.4 7.6-.4 26.7 0 45.2 7.9 55.6 23.6 6.5 9.5 9.7 23.9 9.7 43.3v56.6c-15.2.6-30.4 1.6-45.6 2.9zM573.1 500c0 16.6-2.2 31.7-6.5 45-9.2 29.1-26.7 47.4-52.4 54.8-22.4 6.6-43.7 3.3-63.9-9.8-21.5-14-32.2-33.8-32.2-59.3 0-19.9 5-36.9 15-51.1 10-14.1 23.3-24.7 40-31.7s33-12 49-14.9c15.9-3 33-4.8 51-5.4V500zm335.2 218.9c-4.3-5.4-15.9-8.9-34.9-10.7-19-1.8-35.5-1.7-49.7.4-15.3 1.8-31.1 6.2-47.3 13.4-16.3 7.1-23.4 13.1-21.6 17.8l.7 1.3.9.7 1.4.2h4.6c.8 0 1.8-.1 3.2-.2 1.4-.1 2.7-.3 3.9-.4 1.2-.1 2.9-.3 5.1-.4 2.1-.1 4.1-.4 6-.7.3 0 3.7-.3 10.3-.9 6.6-.6 11.4-1 14.3-1.3 2.9-.3 7.8-.6 14.5-.9 6.7-.3 12.1-.3 16.1 0 4 .3 8.5.7 13.6 1.1 5.1.4 9.2 1.3 12.4 2.7 3.2 1.3 5.6 3 7.1 5.1 5.2 6.6 4.2 21.2-3 43.9s-14 40.8-20.4 54.2c-2.8 5.7-2.8 9.2 0 10.7s6.7.1 11.9-4c15.6-12.2 28.6-30.6 39.1-55.3 6.1-14.6 10.5-29.8 13.1-45.7 2.4-15.9 2-26.2-1.3-31z" } }] }, "name": "amazon", "theme": "outlined" }; +exports.default = AmazonOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonSquareFilled.js new file mode 100644 index 00000000..d4f1052b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AmazonSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AmazonSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM547.8 326.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 00-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9s11.8-23.9 21.4-35c9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0125.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 017.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 01-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7zM485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4z" } }] }, "name": "amazon-square", "theme": "filled" }; +exports.default = AmazonSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidFilled.js new file mode 100644 index 00000000..f1748af1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AndroidFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1126.9-26.9 26.97 26.97 0 01-26.9 26.9zm208.4 0a26.9 26.9 0 1126.9-26.9 26.97 26.97 0 01-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z" } }] }, "name": "android", "theme": "filled" }; +exports.default = AndroidFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidOutlined.js new file mode 100644 index 00000000..2a5b9edd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AndroidOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AndroidOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M448.3 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32-13.4 32-31.9.1-18.4-13.4-31.9-32-31.9zm393.9 96.4c-13.8-13.8-32.7-21.5-53.2-21.5-3.9 0-7.4.4-10.7 1v-1h-3.6c-5.5-30.6-18.6-60.5-38.1-87.4-18.7-25.7-43-47.9-70.8-64.9l25.1-35.8v-3.3c0-.8.4-2.3.7-3.8.6-2.4 1.4-5.5 1.4-8.9 0-18.5-13.5-31.9-32-31.9-9.8 0-19.5 5.7-25.9 15.4l-29.3 42.1c-30-9.8-62.4-15-93.8-15-31.3 0-63.7 5.2-93.8 15L389 79.4c-6.6-9.6-16.1-15.4-26-15.4-18.6 0-32 13.4-32 31.9 0 6.2 2.5 12.8 6.7 17.4l22.6 32.3c-28.7 17-53.5 39.4-72.2 65.1-19.4 26.9-32 56.8-36.7 87.4h-5.5v1c-3.2-.6-6.7-1-10.7-1-20.3 0-39.2 7.5-53.1 21.3-13.8 13.8-21.5 32.6-21.5 53v235c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 3.9 0 7.4-.4 10.7-1v93.5c0 29.2 23.9 53.1 53.2 53.1H331v58.3c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-58.2H544v58.1c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.4 0 39.2-7.5 53.1-21.6 13.8-13.8 21.5-32.6 21.5-53v-58.2h31.9c29.3 0 53.2-23.8 53.2-53.1v-91.4c3.2.6 6.7 1 10.7 1 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-235c-.1-20.3-7.6-39-21.4-52.9zM246 609.6c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zm131.1-396.8c37.5-27.3 85.3-42.3 135-42.3s97.5 15.1 135 42.5c32.4 23.7 54.2 54.2 62.7 87.5H314.4c8.5-33.4 30.5-64 62.7-87.7zm39.3 674.7c-.6 5.6-4.4 8.7-10.5 8.7-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1zm202.3 8.7c-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1c-.6 5.6-4.3 8.7-10.5 8.7zm95.8-132.6H309.9V364h404.6v399.6zm85.2-154c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zM576.1 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32.1-13.4 32.1-32-.1-18.6-13.4-31.8-32.1-31.8z" } }] }, "name": "android", "theme": "outlined" }; +exports.default = AndroidOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntCloudOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntCloudOutlined.js new file mode 100644 index 00000000..251f4231 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntCloudOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AntCloudOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M378.9 738c-3.1 0-6.1-.5-8.8-1.5l4.4 30.7h26.3l-15.5-29.9c-2.1.5-4.2.7-6.4.7zm421-291.2c-12.6 0-24.8 1.5-36.5 4.2-21.4-38.4-62.3-64.3-109.3-64.3-6.9 0-13.6.6-20.2 1.6-35.4-77.4-113.4-131.1-203.9-131.1-112.3 0-205.3 82.6-221.6 190.4C127.3 455.5 64 523.8 64 607c0 88.4 71.6 160.1 160 160.2h50l13.2-27.6c-26.2-8.3-43.3-29-39.1-48.8 4.6-21.6 32.8-33.9 63.1-27.5 22.9 4.9 40.4 19.1 45.5 35.1a26.1 26.1 0 0122.1-12.4h.2c-.8-3.2-1.2-6.5-1.2-9.9 0-20.1 14.8-36.7 34.1-39.6v-25.4c0-4.4 3.6-8 8-8s8 3.6 8 8v26.3c4.6 1.2 8.8 3.2 12.6 5.8l19.5-21.4c3-3.3 8-3.5 11.3-.5 3.3 3 3.5 8 .5 11.3l-20 22-.2.2a40 40 0 01-46.9 59.2c-.4 5.6-2.6 10.7-6 14.8l20 38.4H804v-.1c86.5-2.2 156-73 156-160.1 0-88.5-71.7-160.2-160.1-160.2zM338.2 737.2l-4.3 30h24.4l-5.9-41.5c-3.5 4.6-8.3 8.5-14.2 11.5zM797.5 305a48 48 0 1096 0 48 48 0 10-96 0zm-65.7 61.3a24 24 0 1048 0 24 24 0 10-48 0zM303.4 742.9l-11.6 24.3h26l3.5-24.7c-5.7.8-11.7 1-17.9.4z" } }] }, "name": "ant-cloud", "theme": "outlined" }; +exports.default = AntCloudOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntDesignOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntDesignOutlined.js new file mode 100644 index 00000000..9b226c37 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AntDesignOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AntDesignOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9.1.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5.5L80.9 474.2a53.84 53.84 0 000 76.4L474.6 944a54.14 54.14 0 0076.5 0l165.1-165c19-18.9 19-49.7 0-68.6a48.7 48.7 0 00-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c.4-.4.9-.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0zM408.6 514.4a106.3 106.2 0 10212.6 0 106.3 106.2 0 10-212.6 0zm536.2-38.6L821.9 353.5c-19-18.9-49.8-18.9-68.7.1a48.4 48.4 0 000 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7a48.4 48.4 0 000 68.6 48.7 48.7 0 0068.7 0l121.8-121.7a53.93 53.93 0 00-.1-76.4z" } }] }, "name": "ant-design", "theme": "outlined" }; +exports.default = AntDesignOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApartmentOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApartmentOutlined.js new file mode 100644 index 00000000..2820c202 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApartmentOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ApartmentOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z" } }] }, "name": "apartment", "theme": "outlined" }; +exports.default = ApartmentOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiFilled.js new file mode 100644 index 00000000..9554c5d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ApiFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM578.9 546.7a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 68.9-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2z" } }] }, "name": "api", "theme": "filled" }; +exports.default = ApiFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiOutlined.js new file mode 100644 index 00000000..0a05d3ec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ApiOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z" } }] }, "name": "api", "theme": "outlined" }; +exports.default = ApiOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiTwoTone.js new file mode 100644 index 00000000..95955205 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ApiTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ApiTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M148.2 674.6zm106.7-92.3c-25 25-38.7 58.1-38.7 93.4s13.8 68.5 38.7 93.4c25 25 58.1 38.7 93.4 38.7 35.3 0 68.5-13.8 93.4-38.7l59.4-59.4-186.8-186.8-59.4 59.4zm420.8-366.1c-35.3 0-68.5 13.8-93.4 38.7l-59.4 59.4 186.8 186.8 59.4-59.4c24.9-25 38.7-58.1 38.7-93.4s-13.8-68.5-38.7-93.4c-25-25-58.1-38.7-93.4-38.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M578.9 546.7a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2a199.45 199.45 0 00-58.6 140.4c-.2 39.5 11.2 79.1 34.3 113.1l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7-24.9-24.9-38.7-58.1-38.7-93.4s13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4zm476-620.3l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7s68.4 13.7 93.4 38.7c24.9 24.9 38.7 58.1 38.7 93.4s-13.8 68.4-38.7 93.4z", "fill": primaryColor } }] }; }, "name": "api", "theme": "twotone" }; +exports.default = ApiTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleFilled.js new file mode 100644 index 00000000..c1cfab4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z" } }] }, "name": "apple", "theme": "filled" }; +exports.default = AppleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleOutlined.js new file mode 100644 index 00000000..2235fcb0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-10.6 267c-14.3 19.9-28.7 35.6-41.9 45.7-10.5 8-18.6 11.4-24 11.6-9-.1-17.7-2.3-34.7-8.8-1.2-.5-2.5-1-4.2-1.6l-4.4-1.7c-17.4-6.7-27.8-10.3-41.1-13.8-18.6-4.8-37.1-7.4-56.9-7.4-20.2 0-39.2 2.5-58.1 7.2-13.9 3.5-25.6 7.4-42.7 13.8-.7.3-8.1 3.1-10.2 3.9-3.5 1.3-6.2 2.3-8.7 3.2-10.4 3.6-17 5.1-22.9 5.2-.7 0-1.3-.1-1.8-.2-1.1-.2-2.5-.6-4.1-1.3-4.5-1.8-9.9-5.1-16-9.8-14-10.9-29.4-28-45.1-49.9-27.5-38.6-53.5-89.8-66-125.7-15.4-44.8-23-87.7-23-128.6 0-60.2 17.8-106 48.4-137.1 26.3-26.6 61.7-41.5 97.8-42.3 5.9.1 14.5 1.5 25.4 4.5 8.6 2.3 18 5.4 30.7 9.9 3.8 1.4 16.9 6.1 18.5 6.7 7.7 2.8 13.5 4.8 19.2 6.6 18.2 5.8 32.3 9 47.6 9 15.5 0 28.8-3.3 47.7-9.8 7.1-2.4 32.9-12 37.5-13.6 25.6-9.1 44.5-14 60.8-15.2 4.8-.4 9.1-.4 13.2-.1 22.7 1.8 42.1 6.3 58.6 13.8-37.6 43.4-57 96.5-56.9 158.4-.3 14.7.9 31.7 5.1 51.8 6.4 30.5 18.6 60.7 37.9 89 14.7 21.5 32.9 40.9 54.7 57.8-11.5 23.7-25.6 48.2-40.4 68.8zm-94.5-572c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z" } }] }, "name": "apple", "theme": "outlined" }; +exports.default = AppleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreAddOutlined.js new file mode 100644 index 00000000..ddf6e23a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppstoreAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "appstore-add", "theme": "outlined" }; +exports.default = AppstoreAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreFilled.js new file mode 100644 index 00000000..aff5a7d4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppstoreFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zM464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z" } }] }, "name": "appstore", "theme": "filled" }; +exports.default = AppstoreFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreOutlined.js new file mode 100644 index 00000000..8349408b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppstoreOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z" } }] }, "name": "appstore", "theme": "outlined" }; +exports.default = AppstoreOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreTwoTone.js new file mode 100644 index 00000000..2e20fc74 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AppstoreTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AppstoreTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm52-668H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M212 212h200v200H212zm400 0h200v200H612zM212 612h200v200H212zm400 0h200v200H612z", "fill": secondaryColor } }] }; }, "name": "appstore", "theme": "twotone" }; +exports.default = AppstoreTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AreaChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AreaChartOutlined.js new file mode 100644 index 00000000..6542104a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AreaChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AreaChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 00-11.3 0l-189 189.6a7.87 7.87 0 00-2.3 5.6V720c0 4.4 3.6 8 8 8z" } }] }, "name": "area-chart", "theme": "outlined" }; +exports.default = AreaChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowDownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowDownOutlined.js new file mode 100644 index 00000000..4a12f111 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowDownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ArrowDownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z" } }] }, "name": "arrow-down", "theme": "outlined" }; +exports.default = ArrowDownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowLeftOutlined.js new file mode 100644 index 00000000..8e49c1cf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ArrowLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "arrow-left", "theme": "outlined" }; +exports.default = ArrowLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowRightOutlined.js new file mode 100644 index 00000000..2bda5e13 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ArrowRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z" } }] }, "name": "arrow-right", "theme": "outlined" }; +exports.default = ArrowRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowUpOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowUpOutlined.js new file mode 100644 index 00000000..fa486f04 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowUpOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ArrowUpOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z" } }] }, "name": "arrow-up", "theme": "outlined" }; +exports.default = ArrowUpOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowsAltOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowsAltOutlined.js new file mode 100644 index 00000000..444d72bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ArrowsAltOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ArrowsAltOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 000 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0013.5-4.7L863.9 169a7.9 7.9 0 00-8.9-8.9zM416.6 562.3a8.03 8.03 0 00-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 00-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z" } }] }, "name": "arrows-alt", "theme": "outlined" }; +exports.default = ArrowsAltOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioFilled.js new file mode 100644 index 00000000..a596d31e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AudioFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z" } }] }, "name": "audio", "theme": "filled" }; +exports.default = AudioFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioMutedOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioMutedOutlined.js new file mode 100644 index 00000000..7fb9b9ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioMutedOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AudioMutedOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M682 455V311l-76 76v68c-.1 50.7-42 92.1-94 92a95.8 95.8 0 01-52-15l-54 55c29.1 22.4 65.9 36 106 36 93.8 0 170-75.1 170-168z" } }, { "tag": "path", "attrs": { "d": "M833 446h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254-63 0-120.7-23-165-61l-54 54a334.01 334.01 0 00179 81v102H326c-13.9 0-24.9 14.3-25 32v36c.1 4.4 2.9 8 6 8h408c3.2 0 6-3.6 6-8v-36c0-17.7-11-32-25-32H547V782c165.3-17.9 294-157.9 294-328 0-4.4-3.6-8-8-8zm13.1-377.7l-43.5-41.9a8 8 0 00-11.2.1l-129 129C634.3 101.2 577 64 511 64c-93.9 0-170 75.3-170 168v224c0 6.7.4 13.3 1.2 19.8l-68 68A252.33 252.33 0 01258 454c-.2-4.4-3.8-8-8-8h-60c-4.4 0-8 3.6-8 8 0 53 12.5 103 34.6 147.4l-137 137a8.03 8.03 0 000 11.3l42.7 42.7c3.1 3.1 8.2 3.1 11.3 0L846.2 79.8l.1-.1c3.1-3.2 3-8.3-.2-11.4zM417 401V232c0-50.6 41.9-92 94-92 46 0 84.1 32.3 92.3 74.7L417 401z" } }] }, "name": "audio-muted", "theme": "outlined" }; +exports.default = AudioMutedOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioOutlined.js new file mode 100644 index 00000000..af8c14fd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AudioOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z" } }] }, "name": "audio", "theme": "outlined" }; +exports.default = AudioOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioTwoTone.js new file mode 100644 index 00000000..e6217dad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AudioTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AudioTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 552c54.3 0 98-43.2 98-96V232c0-52.8-43.7-96-98-96s-98 43.2-98 96v224c0 52.8 43.7 96 98 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-98-392c0-52.8 43.7-96 98-96s98 43.2 98 96v224c0 52.8-43.7 96-98 96s-98-43.2-98-96V232z", "fill": primaryColor } }] }; }, "name": "audio", "theme": "twotone" }; +exports.default = AudioTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AuditOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AuditOutlined.js new file mode 100644 index 00000000..433e0f43 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/AuditOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var AuditOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z" } }] }, "name": "audit", "theme": "outlined" }; +exports.default = AuditOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardFilled.js new file mode 100644 index 00000000..86573717 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BackwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 00-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z" } }] }, "name": "backward", "theme": "filled" }; +exports.default = BackwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardOutlined.js new file mode 100644 index 00000000..ae2b2f44 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BackwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BackwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 00-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z" } }] }, "name": "backward", "theme": "outlined" }; +exports.default = BackwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankFilled.js new file mode 100644 index 00000000..cb95d056 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BankFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374z" } }] }, "name": "bank", "theme": "filled" }; +exports.default = BankFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankOutlined.js new file mode 100644 index 00000000..c74369c6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BankOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z" } }] }, "name": "bank", "theme": "outlined" }; +exports.default = BankOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankTwoTone.js new file mode 100644 index 00000000..74aefe14 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BankTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BankTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M240.9 393.9h542.2L512 196.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374zM240.9 393.9L512 196.7l271.1 197.2H240.9z", "fill": primaryColor } }] }; }, "name": "bank", "theme": "twotone" }; +exports.default = BankTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarChartOutlined.js new file mode 100644 index 00000000..f510c050 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BarChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z" } }] }, "name": "bar-chart", "theme": "outlined" }; +exports.default = BarChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarcodeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarcodeOutlined.js new file mode 100644 index 00000000..c1aef4c2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarcodeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BarcodeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M120 160H72c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm833 0h-48c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zM200 736h112c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm321 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm126 0h178c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H647c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-255 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-79 64H201c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm257 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm256 0H648c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-385 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "barcode", "theme": "outlined" }; +exports.default = BarcodeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarsOutlined.js new file mode 100644 index 00000000..d7530496 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BarsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BarsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "bars", "theme": "outlined" }; +exports.default = BarsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceCircleFilled.js new file mode 100644 index 00000000..968f462c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BehanceCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M420.3 470.3c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 00-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1a50.5 50.5 0 0017.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm86.5 286.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 01-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 01-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 01-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0138.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 00-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7z" } }] }, "name": "behance-circle", "theme": "filled" }; +exports.default = BehanceCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceOutlined.js new file mode 100644 index 00000000..880a86d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BehanceOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M634 294.3h199.5v48.4H634zM434.1 485.8c44.1-21.1 67.2-53.2 67.2-102.8 0-98.1-73-121.9-157.3-121.9H112v492.4h238.5c89.4 0 173.3-43 173.3-143 0-61.8-29.2-107.5-89.7-124.7zM220.2 345.1h101.5c39.1 0 74.2 10.9 74.2 56.3 0 41.8-27.3 58.6-66 58.6H220.2V345.1zm115.5 324.8H220.1V534.3H338c47.6 0 77.7 19.9 77.7 70.3 0 49.6-35.9 65.3-80 65.3zm575.8-89.5c0-105.5-61.7-193.4-173.3-193.4-108.5 0-182.3 81.7-182.3 188.8 0 111 69.9 187.2 182.3 187.2 85.1 0 140.2-38.3 166.7-120h-86.3c-9.4 30.5-47.6 46.5-77.3 46.5-57.4 0-87.4-33.6-87.4-90.7h256.9c.3-5.9.7-12.1.7-18.4zM653.9 537c3.1-46.9 34.4-76.2 81.2-76.2 49.2 0 73.8 28.9 78.1 76.2H653.9z" } }] }, "name": "behance", "theme": "outlined" }; +exports.default = BehanceOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareFilled.js new file mode 100644 index 00000000..c57e7aa1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BehanceSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 01-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 01-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 01-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0138.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 00-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 00-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z" } }] }, "name": "behance-square", "theme": "filled" }; +exports.default = BehanceSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareOutlined.js new file mode 100644 index 00000000..7e13b724 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BehanceSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BehanceSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 01-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 01-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 01-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0138.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 00-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 00-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z" } }] }, "name": "behance-square", "theme": "outlined" }; +exports.default = BehanceSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellFilled.js new file mode 100644 index 00000000..1d4cb0ff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BellFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z" } }] }, "name": "bell", "theme": "filled" }; +exports.default = BellFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellOutlined.js new file mode 100644 index 00000000..2aca1310 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BellOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z" } }] }, "name": "bell", "theme": "outlined" }; +exports.default = BellOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellTwoTone.js new file mode 100644 index 00000000..e3165b4b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BellTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BellTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 220c-55.6 0-107.8 21.6-147.1 60.9S304 372.4 304 428v340h416V428c0-55.6-21.6-107.8-60.9-147.1S567.6 220 512 220zm280 208c0-141.1-104.3-257.8-240-277.2v.1c135.7 19.4 240 136 240 277.1zM472 150.9v-.1C336.3 170.2 232 286.9 232 428c0-141.1 104.3-257.7 240-277.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zm208-120H304V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340z", "fill": primaryColor } }] }; }, "name": "bell", "theme": "twotone" }; +exports.default = BellTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BgColorsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BgColorsOutlined.js new file mode 100644 index 00000000..adfdc401 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BgColorsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BgColorsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 00-12.8 0l-48 48a9.11 9.11 0 000 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z" } }] }, "name": "bg-colors", "theme": "outlined" }; +exports.default = BgColorsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BlockOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BlockOutlined.js new file mode 100644 index 00000000..8a41e70c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BlockOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BlockOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z" } }] }, "name": "block", "theme": "outlined" }; +exports.default = BlockOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoldOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoldOutlined.js new file mode 100644 index 00000000..316671ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoldOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BoldOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M697.8 481.4c33.6-35 54.2-82.3 54.2-134.3v-10.2C752 229.3 663.9 142 555.3 142H259.4c-15.1 0-27.4 12.3-27.4 27.4v679.1c0 16.3 13.2 29.5 29.5 29.5h318.7c117 0 211.8-94.2 211.8-210.5v-11c0-73-37.4-137.3-94.2-175.1zM328 238h224.7c57.1 0 103.3 44.4 103.3 99.3v9.5c0 54.8-46.3 99.3-103.3 99.3H328V238zm366.6 429.4c0 62.9-51.7 113.9-115.5 113.9H328V542.7h251.1c63.8 0 115.5 51 115.5 113.9v10.8z" } }] }, "name": "bold", "theme": "outlined" }; +exports.default = BoldOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookFilled.js new file mode 100644 index 00000000..fd7abdb2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BookFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM668 345.9L621.5 312 572 347.4V124h96v221.9z" } }] }, "name": "book", "theme": "filled" }; +exports.default = BookFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookOutlined.js new file mode 100644 index 00000000..18bc99e0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BookOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0022.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z" } }] }, "name": "book", "theme": "outlined" }; +exports.default = BookOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookTwoTone.js new file mode 100644 index 00000000..33ca2cda --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BookTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BookTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zM232 888V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0022.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752H232z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M668 345.9V136h-96v211.4l49.5-35.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M727.9 136v296.5c0 8.8-7.2 16-16 16-3.4 0-6.7-1.1-9.4-3.1L621.1 386l-83.8 59.9a15.9 15.9 0 01-22.3-3.7c-2-2.7-3-6-3-9.3V136H232v752h559.9V136h-64z", "fill": secondaryColor } }] }; }, "name": "book", "theme": "twotone" }; +exports.default = BookTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderBottomOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderBottomOutlined.js new file mode 100644 index 00000000..84c51680 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderBottomOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderBottomOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 808H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-720-94h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-498h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm166 166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm222-72h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388 426h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z" } }] }, "name": "border-bottom", "theme": "outlined" }; +exports.default = BorderBottomOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderHorizontalOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderHorizontalOutlined.js new file mode 100644 index 00000000..133f678d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderHorizontalOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderHorizontalOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M540 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-horizontal", "theme": "outlined" }; +exports.default = BorderHorizontalOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderInnerOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderInnerOutlined.js new file mode 100644 index 00000000..d20d9e20 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderInnerOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderInnerOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 476H548V144h-72v332H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v332h72V548h324c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-426h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 260h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-inner", "theme": "outlined" }; +exports.default = BorderInnerOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderLeftOutlined.js new file mode 100644 index 00000000..d187ffe5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M208 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM540 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-left", "theme": "outlined" }; +exports.default = BorderLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOuterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOuterOutlined.js new file mode 100644 index 00000000..220d290e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOuterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderOuterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM484 366h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM302 548h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm364 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-182 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 182h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z" } }] }, "name": "border-outer", "theme": "outlined" }; +exports.default = BorderOuterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOutlined.js new file mode 100644 index 00000000..2c3b4548 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "border", "theme": "outlined" }; +exports.default = BorderOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderRightOutlined.js new file mode 100644 index 00000000..6989ac3a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-right", "theme": "outlined" }; +exports.default = BorderRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderTopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderTopOutlined.js new file mode 100644 index 00000000..43009c94 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderTopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderTopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 144H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332-498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-top", "theme": "outlined" }; +exports.default = BorderTopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderVerticleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderVerticleOutlined.js new file mode 100644 index 00000000..d3251a26 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderVerticleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderVerticleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 476H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM152 382h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 642h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "border-verticle", "theme": "outlined" }; +exports.default = BorderVerticleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderlessTableOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderlessTableOutlined.js new file mode 100644 index 00000000..b408969c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BorderlessTableOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BorderlessTableOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M117 368h231v64H117zm559 0h241v64H676zm-264 0h200v64H412zm0 224h200v64H412zm264 0h241v64H676zm-559 0h231v64H117zm295-160V179h-64v666h64V592zm264-64V179h-64v666h64V432z" } }] }, "name": "borderless-table", "theme": "outlined" }; +exports.default = BorderlessTableOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotFilled.js new file mode 100644 index 00000000..045d4fe4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BoxPlotFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H448v432h344c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-728 80v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h152V296H232c-4.4 0-8 3.6-8 8z" } }] }, "name": "box-plot", "theme": "filled" }; +exports.default = BoxPlotFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotOutlined.js new file mode 100644 index 00000000..969f5cd1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BoxPlotOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM296 368h88v288h-88V368zm432 288H448V368h280v288z" } }] }, "name": "box-plot", "theme": "outlined" }; +exports.default = BoxPlotOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotTwoTone.js new file mode 100644 index 00000000..c998fd4d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BoxPlotTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BoxPlotTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M296 368h88v288h-88zm152 0h280v288H448z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM384 656h-88V368h88v288zm344 0H448V368h280v288z", "fill": primaryColor } }] }; }, "name": "box-plot", "theme": "twotone" }; +exports.default = BoxPlotTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BranchesOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BranchesOutlined.js new file mode 100644 index 00000000..d59bd4d8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BranchesOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BranchesOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0034.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm96 600a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0zm408-491a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "branches", "theme": "outlined" }; +exports.default = BranchesOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugFilled.js new file mode 100644 index 00000000..ab71f995 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BugFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 00-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 00-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z" } }, { "tag": "path", "attrs": { "d": "M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 01-63 63H232a63 63 0 01-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0022.7 49c24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5a281.38 281.38 0 00123.2-149.5A120.4 120.4 0 01836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "bug", "theme": "filled" }; +exports.default = BugFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugOutlined.js new file mode 100644 index 00000000..4ccf842b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BugOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 00-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 00-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z" } }, { "tag": "path", "attrs": { "d": "M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 01-63 63H232a63 63 0 01-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0022.7 49c24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2a281.38 281.38 0 00123.2-149.5A120 120 0 01836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3A202.75 202.75 0 01308 680V412h408v268z" } }] }, "name": "bug", "theme": "outlined" }; +exports.default = BugOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugTwoTone.js new file mode 100644 index 00000000..14f2ff19 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BugTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BugTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0073.3 73.3A202.68 202.68 0 00512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0073.3-73.3A202.68 202.68 0 00716 680V412H308zm484 172v96c0 6.5-.22 12.95-.66 19.35C859.94 728.64 908 796.7 908 876a8 8 0 01-8 8h-56a8 8 0 01-8-8c0-44.24-23.94-82.89-59.57-103.7a278.63 278.63 0 01-22.66 49.02 281.39 281.39 0 01-100.45 100.45C611.84 946.07 563.55 960 512 960s-99.84-13.93-141.32-38.23a281.39 281.39 0 01-100.45-100.45 278.63 278.63 0 01-22.66-49.02A119.95 119.95 0 00188 876a8 8 0 01-8 8h-56a8 8 0 01-8-8c0-79.3 48.07-147.36 116.66-176.65A284.12 284.12 0 01232 680v-96H84a8 8 0 01-8-8v-56a8 8 0 018-8h148V412c-76.77 0-139-62.23-139-139a8 8 0 018-8h60a8 8 0 018 8 63 63 0 0063 63h560a63 63 0 0063-63 8 8 0 018-8h60a8 8 0 018 8c0 76.77-62.23 139-139 139v100h148a8 8 0 018 8v56a8 8 0 01-8 8H792zM368 272a8 8 0 01-8 8h-56a8 8 0 01-8-8c0-40.04 8.78-76.75 25.9-108.07a184.57 184.57 0 0174.03-74.03C427.25 72.78 463.96 64 504 64h16c40.04 0 76.75 8.78 108.07 25.9a184.57 184.57 0 0174.03 74.03C719.22 195.25 728 231.96 728 272a8 8 0 01-8 8h-56a8 8 0 01-8-8c0-28.33-5.94-53.15-17.08-73.53a112.56 112.56 0 00-45.39-45.4C573.15 141.95 548.33 136 520 136h-16c-28.33 0-53.15 5.94-73.53 17.08a112.56 112.56 0 00-45.4 45.39C373.95 218.85 368 243.67 368 272z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0073.3 73.3A202.68 202.68 0 00512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0073.3-73.3A202.68 202.68 0 00716 680V412H308z", "fill": secondaryColor } }] }; }, "name": "bug", "theme": "twotone" }; +exports.default = BugTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildFilled.js new file mode 100644 index 00000000..90395ce0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BuildFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM612 746H412V546h200v200zm268-268H680V278h200v200z" } }] }, "name": "build", "theme": "filled" }; +exports.default = BuildFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildOutlined.js new file mode 100644 index 00000000..fa25732e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BuildOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z" } }] }, "name": "build", "theme": "outlined" }; +exports.default = BuildOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildTwoTone.js new file mode 100644 index 00000000..9db448d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BuildTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BuildTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M144 546h200v200H144zm268-268h200v200H412z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM344 746H144V546h200v200zm268 0H412V546h200v200zm0-268H412V278h200v200zm268 0H680V278h200v200z", "fill": primaryColor } }] }; }, "name": "build", "theme": "twotone" }; +exports.default = BuildTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbFilled.js new file mode 100644 index 00000000..6fee71d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BulbFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z" } }] }, "name": "bulb", "theme": "filled" }; +exports.default = BulbFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbOutlined.js new file mode 100644 index 00000000..0930621b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BulbOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z" } }] }, "name": "bulb", "theme": "outlined" }; +exports.default = BulbOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbTwoTone.js new file mode 100644 index 00000000..2d94528d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/BulbTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var BulbTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 136c-141.4 0-256 114.6-256 256 0 92.5 49.4 176.3 128.1 221.8l35.9 20.8V752h184V634.6l35.9-20.8C718.6 568.3 768 484.5 768 392c0-141.4-114.6-256-256-256z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z", "fill": primaryColor } }] }; }, "name": "bulb", "theme": "twotone" }; +exports.default = BulbTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorFilled.js new file mode 100644 index 00000000..582715fe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalculatorFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM440.2 765h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 01-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zm7.8-382c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48zm328 369c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-104c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-265c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48z" } }] }, "name": "calculator", "theme": "filled" }; +exports.default = CalculatorFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorOutlined.js new file mode 100644 index 00000000..ddbbc680 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalculatorOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 00-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z" } }] }, "name": "calculator", "theme": "outlined" }; +exports.default = CalculatorOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorTwoTone.js new file mode 100644 index 00000000..4e84fe59 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalculatorTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalculatorTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm256.2-75h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 01-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zM576 335c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 265c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 104c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zM248 335c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M383.5 675l61.3-74.8c4.3-5.2.7-13.1-5.9-13.1h-50.8c-2.3 0-4.4 1-5.9 2.9l-34 41.6-34-41.6a7.69 7.69 0 00-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.4-1 5.9-2.9l35.5-43.5 35.5 43.5c1.4 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 6-13.2L383.5 675zM251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 369h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4z", "fill": primaryColor } }] }; }, "name": "calculator", "theme": "twotone" }; +exports.default = CalculatorTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarFilled.js new file mode 100644 index 00000000..911474db --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalendarFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M112 880c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V460H112v420zm768-696H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v176h800V216c0-17.7-14.3-32-32-32z" } }] }, "name": "calendar", "theme": "filled" }; +exports.default = CalendarFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarOutlined.js new file mode 100644 index 00000000..8a84ce11 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalendarOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z" } }] }, "name": "calendar", "theme": "outlined" }; +exports.default = CalendarOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarTwoTone.js new file mode 100644 index 00000000..addeaac2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CalendarTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CalendarTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z", "fill": primaryColor } }] }; }, "name": "calendar", "theme": "twotone" }; +exports.default = CalendarTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraFilled.js new file mode 100644 index 00000000..434eb209 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CameraFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 260H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 260H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V340c0-44.2-35.8-80-80-80zM512 716c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm-96-160a96 96 0 10192 0 96 96 0 10-192 0z" } }] }, "name": "camera", "theme": "filled" }; +exports.default = CameraFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraOutlined.js new file mode 100644 index 00000000..d7859c4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CameraOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z" } }] }, "name": "camera", "theme": "outlined" }; +exports.default = CameraOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraTwoTone.js new file mode 100644 index 00000000..23de49f1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CameraTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CameraTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 320H677.2l-17.1-47.8-22.9-64.2H386.7l-22.9 64.2-17.1 47.8H160c-4.4 0-8 3.6-8 8v456c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zM512 704c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456z", "fill": primaryColor } }] }; }, "name": "camera", "theme": "twotone" }; +exports.default = CameraTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarFilled.js new file mode 100644 index 00000000..e1a23f26 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M959 413.4L935.3 372a8 8 0 00-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 00-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 00-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 003-10.8zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM220 418l72.7-199.9.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220z" } }] }, "name": "car", "theme": "filled" }; +exports.default = CarFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarOutlined.js new file mode 100644 index 00000000..a4dae1ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1080 0 40 40 0 10-80 0zm239-167.6L935.3 372a8 8 0 00-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 00-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 00-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 003-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "car", "theme": "outlined" }; +exports.default = CarOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarTwoTone.js new file mode 100644 index 00000000..c3a5d64d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M199.6 474L184 517v237h656V517l-15.6-43H199.6zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M720 581a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M959 413.4L935.3 372a8 8 0 00-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 00-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 00-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 003-10.8zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM840 754H184V517l15.6-43h624.8l15.6 43v237z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M224 581a40 40 0 1080 0 40 40 0 10-80 0zm420 23h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "car", "theme": "twotone" }; +exports.default = CarTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownFilled.js new file mode 100644 index 00000000..383d2700 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretDownFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" } }] }, "name": "caret-down", "theme": "filled" }; +exports.default = CaretDownFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownOutlined.js new file mode 100644 index 00000000..fcaae173 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretDownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretDownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z" } }] }, "name": "caret-down", "theme": "outlined" }; +exports.default = CaretDownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftFilled.js new file mode 100644 index 00000000..b1b201dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretLeftFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z" } }] }, "name": "caret-left", "theme": "filled" }; +exports.default = CaretLeftFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftOutlined.js new file mode 100644 index 00000000..89dea7d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z" } }] }, "name": "caret-left", "theme": "outlined" }; +exports.default = CaretLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightFilled.js new file mode 100644 index 00000000..3ddac392 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretRightFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z" } }] }, "name": "caret-right", "theme": "filled" }; +exports.default = CaretRightFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightOutlined.js new file mode 100644 index 00000000..f7b92f33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z" } }] }, "name": "caret-right", "theme": "outlined" }; +exports.default = CaretRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpFilled.js new file mode 100644 index 00000000..67694877 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretUpFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z" } }] }, "name": "caret-up", "theme": "filled" }; +exports.default = CaretUpFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpOutlined.js new file mode 100644 index 00000000..fe0c9992 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CaretUpOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CaretUpOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z" } }] }, "name": "caret-up", "theme": "outlined" }; +exports.default = CaretUpOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutFilled.js new file mode 100644 index 00000000..2e81a6ff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarryOutFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM694.5 432.7L481.9 725.4a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z" } }] }, "name": "carry-out", "theme": "filled" }; +exports.default = CarryOutFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutOutlined.js new file mode 100644 index 00000000..055ad715 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarryOutOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z" } }] }, "name": "carry-out", "theme": "outlined" }; +exports.default = CarryOutOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutTwoTone.js new file mode 100644 index 00000000..8abecbeb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CarryOutTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CarryOutTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-17.5 128.8L481.9 725.5a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.9-6.6 13-6.6H688c6.5 0 10.3 7.4 6.5 12.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z", "fill": primaryColor } }] }; }, "name": "carry-out", "theme": "twotone" }; +exports.default = CarryOutTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleFilled.js new file mode 100644 index 00000000..2224ba35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z" } }] }, "name": "check-circle", "theme": "filled" }; +exports.default = CheckCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleOutlined.js new file mode 100644 index 00000000..daa52817 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "check-circle", "theme": "outlined" }; +exports.default = CheckCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleTwoTone.js new file mode 100644 index 00000000..f10f7294 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm193.4 225.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 5 25.9 13.3l71.2 98.8 157.2-218c6-8.4 15.7-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.4 12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z", "fill": primaryColor } }] }; }, "name": "check-circle", "theme": "twotone" }; +exports.default = CheckCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js new file mode 100644 index 00000000..dcf8da27 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z" } }] }, "name": "check", "theme": "outlined" }; +exports.default = CheckOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareFilled.js new file mode 100644 index 00000000..51a58f18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM695.5 365.7l-210.6 292a31.8 31.8 0 01-51.7 0L308.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H689c6.5 0 10.3 7.4 6.5 12.7z" } }] }, "name": "check-square", "theme": "filled" }; +exports.default = CheckSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareOutlined.js new file mode 100644 index 00000000..5be22e1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M433.1 657.7a31.8 31.8 0 0051.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "check-square", "theme": "outlined" }; +exports.default = CheckSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareTwoTone.js new file mode 100644 index 00000000..05ed6cdf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CheckSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CheckSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm130-367.8h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H688c6.5 0 10.3 7.4 6.5 12.7l-210.6 292a31.8 31.8 0 01-51.7 0L307.5 484.9c-3.8-5.3 0-12.7 6.5-12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M432.2 657.7a31.8 31.8 0 0051.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7h-46.9c-10.3 0-19.9 5-25.9 13.3L458 584.3l-71.2-98.8c-6-8.4-15.7-13.3-25.9-13.3H314c-6.5 0-10.3 7.4-6.5 12.7l124.7 172.8z", "fill": primaryColor } }] }; }, "name": "check-square", "theme": "twotone" }; +exports.default = CheckSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeFilled.js new file mode 100644 index 00000000..e942e8f3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ChromeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M371.8 512c0 77.5 62.7 140.2 140.2 140.2S652.2 589.5 652.2 512 589.5 371.8 512 371.8 371.8 434.4 371.8 512zM900 362.4l-234.3 12.1c63.6 74.3 64.6 181.5 11.1 263.7l-188 289.2c78 4.2 158.4-12.9 231.2-55.2 180-104 253-322.1 180-509.8zM320.3 591.9L163.8 284.1A415.35 415.35 0 0096 512c0 208 152.3 380.3 351.4 410.8l106.9-209.4c-96.6 18.2-189.9-34.8-234-121.5zm218.5-285.5l344.4 18.1C848 254.7 792.6 194 719.8 151.7 653.9 113.6 581.5 95.5 510.5 96c-122.5.5-242.2 55.2-322.1 154.5l128.2 196.9c32-91.9 124.8-146.7 222.2-141z" } }] }, "name": "chrome", "theme": "filled" }; +exports.default = ChromeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeOutlined.js new file mode 100644 index 00000000..d85a767c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ChromeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ChromeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z" } }] }, "name": "chrome", "theme": "outlined" }; +exports.default = ChromeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleFilled.js new file mode 100644 index 00000000..4aa8e40b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CiCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-63.6 656c-103 0-162.4-68.6-162.4-182.6v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-4-46.1-37.6-77.6-87-77.6-61.1 0-95.6 45.4-95.6 126.9v49.3c0 80.3 34.5 125.1 95.6 125.1 49.3 0 82.8-29.5 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z" } }] }, "name": "ci-circle", "theme": "filled" }; +exports.default = CiCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleOutlined.js new file mode 100644 index 00000000..9c95010d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CiCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z" } }] }, "name": "ci-circle", "theme": "outlined" }; +exports.default = CiCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleTwoTone.js new file mode 100644 index 00000000..bfb67346 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CiCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z", "fill": primaryColor } }] }; }, "name": "ci-circle", "theme": "twotone" }; +exports.default = CiCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiOutlined.js new file mode 100644 index 00000000..34d7fdb6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CiOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z" } }] }, "name": "ci", "theme": "outlined" }; +exports.default = CiOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiTwoTone.js new file mode 100644 index 00000000..05590ff1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CiTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CiTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z", "fill": primaryColor } }] }; }, "name": "ci", "theme": "twotone" }; +exports.default = CiTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClearOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClearOutlined.js new file mode 100644 index 00000000..2d8c6d1f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClearOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ClearOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z" } }] }, "name": "clear", "theme": "outlined" }; +exports.default = ClearOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleFilled.js new file mode 100644 index 00000000..77785d33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ClockCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm176.5 585.7l-28.6 39a7.99 7.99 0 01-11.2 1.7L483.3 569.8a7.92 7.92 0 01-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z" } }] }, "name": "clock-circle", "theme": "filled" }; +exports.default = ClockCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleOutlined.js new file mode 100644 index 00000000..c094bc35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ClockCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z" } }] }, "name": "clock-circle", "theme": "outlined" }; +exports.default = ClockCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleTwoTone.js new file mode 100644 index 00000000..6116ed9f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClockCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ClockCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm176.5 509.7l-28.6 39a7.99 7.99 0 01-11.2 1.7L483.3 569.8a7.92 7.92 0 01-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.6-3.6 1.8-8.6-1.8-11.1z", "fill": primaryColor } }] }; }, "name": "clock-circle", "theme": "twotone" }; +exports.default = ClockCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleFilled.js new file mode 100644 index 00000000..f5a80db0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseCircleFilled = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z" } }] }, "name": "close-circle", "theme": "filled" }; +exports.default = CloseCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleOutlined.js new file mode 100644 index 00000000..edec0427 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseCircleOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z" } }] }, "name": "close-circle", "theme": "outlined" }; +exports.default = CloseCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleTwoTone.js new file mode 100644 index 00000000..bb465b23 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm171.8 527.1c1.2 1.5 1.9 3.3 1.9 5.2 0 4.5-3.6 8-8 8l-66-.3-99.3-118.4-99.3 118.5-66.1.3c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2L471 512.3l-130.1-155a8.32 8.32 0 01-1.9-5.2c0-4.5 3.6-8 8-8l66.1.3 99.3 118.4 99.4-118.5 66-.3c4.4 0 8 3.6 8 8 0 1.9-.6 3.8-1.8 5.2l-130.1 155 129.9 154.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M685.8 352c0-4.4-3.6-8-8-8l-66 .3-99.4 118.5-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155-130.1 154.9a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3 99.3-118.5L611.7 680l66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.9 512.2l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z", "fill": primaryColor } }] }; }, "name": "close-circle", "theme": "twotone" }; +exports.default = CloseCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseOutlined.js new file mode 100644 index 00000000..43ef1098 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z" } }] }, "name": "close", "theme": "outlined" }; +exports.default = CloseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareFilled.js new file mode 100644 index 00000000..c23fabb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseSquareFilled = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112c17.7 0 32 14.3 32 32v736c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32zM639.98 338.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z" } }] }, "name": "close-square", "theme": "filled" }; +exports.default = CloseSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareOutlined.js new file mode 100644 index 00000000..5f5f2936 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseSquareOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112c17.7 0 32 14.3 32 32v736c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32zm-40 72H184v656h656V184zM640.01 338.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z" } }] }, "name": "close-square", "theme": "outlined" }; +exports.default = CloseSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareTwoTone.js new file mode 100644 index 00000000..6d5d3bf7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloseSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloseSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm163.9-473.9A7.95 7.95 0 01354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M354 671h58.9c4.8 0 9.3-2.1 12.3-5.7L512 561.8l86.8 103.5c3.1 3.6 7.6 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.3-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.8 0-9.3 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3.1-3.6-7.6-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 00354 671z", "fill": primaryColor } }] }; }, "name": "close-square", "theme": "twotone" }; +exports.default = CloseSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudDownloadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudDownloadOutlined.js new file mode 100644 index 00000000..bd24313a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudDownloadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudDownloadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z" } }, { "tag": "path", "attrs": { "d": "M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z" } }] }, "name": "cloud-download", "theme": "outlined" }; +exports.default = CloudDownloadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudFilled.js new file mode 100644 index 00000000..3da5159f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z" } }] }, "name": "cloud", "theme": "filled" }; +exports.default = CloudFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudOutlined.js new file mode 100644 index 00000000..de270ec9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z" } }] }, "name": "cloud", "theme": "outlined" }; +exports.default = CloudOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudServerOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudServerOutlined.js new file mode 100644 index 00000000..a6fce659 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudServerOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudServerOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z" } }, { "tag": "path", "attrs": { "d": "M424 748a32 32 0 1064 0 32 32 0 10-64 0zm0-178a32 32 0 1064 0 32 32 0 10-64 0z" } }, { "tag": "path", "attrs": { "d": "M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z" } }] }, "name": "cloud-server", "theme": "outlined" }; +exports.default = CloudServerOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudSyncOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudSyncOutlined.js new file mode 100644 index 00000000..e40d1062 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudSyncOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudSyncOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z" } }, { "tag": "path", "attrs": { "d": "M376.9 656.4c1.8-33.5 15.7-64.7 39.5-88.6 25.4-25.5 60-39.8 96-39.8 36.2 0 70.3 14.1 96 39.8 1.4 1.4 2.7 2.8 4.1 4.3l-25 19.6a8 8 0 003 14.1l98.2 24c5 1.2 9.9-2.6 9.9-7.7l.5-101.3c0-6.7-7.6-10.5-12.9-6.3L663 532.7c-36.6-42-90.4-68.6-150.5-68.6-107.4 0-195 85.1-199.4 191.7-.2 4.5 3.4 8.3 8 8.3H369c4.2-.1 7.7-3.4 7.9-7.7zM703 664h-47.9c-4.2 0-7.7 3.3-8 7.6-1.8 33.5-15.7 64.7-39.5 88.6-25.4 25.5-60 39.8-96 39.8-36.2 0-70.3-14.1-96-39.8-1.4-1.4-2.7-2.8-4.1-4.3l25-19.6a8 8 0 00-3-14.1l-98.2-24c-5-1.2-9.9 2.6-9.9 7.7l-.4 101.4c0 6.7 7.6 10.5 12.9 6.3l23.2-18.2c36.6 42 90.4 68.6 150.5 68.6 107.4 0 195-85.1 199.4-191.7.2-4.5-3.4-8.3-8-8.3z" } }] }, "name": "cloud-sync", "theme": "outlined" }; +exports.default = CloudSyncOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudTwoTone.js new file mode 100644 index 00000000..b7e8f6fb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M791.9 492l-37.8-10-13.8-36.5c-8.6-22.7-20.6-44.1-35.7-63.4a245.73 245.73 0 00-52.4-49.9c-41.1-28.9-89.5-44.2-140-44.2s-98.9 15.3-140 44.2a245.6 245.6 0 00-52.4 49.9 240.47 240.47 0 00-35.7 63.4l-13.9 36.6-37.9 9.9a125.7 125.7 0 00-66.1 43.7A123.1 123.1 0 00140 612c0 33.1 12.9 64.3 36.3 87.7 23.4 23.4 54.5 36.3 87.6 36.3h496.2c33.1 0 64.2-12.9 87.6-36.3A123.3 123.3 0 00884 612c0-56.2-37.8-105.5-92.1-120z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z", "fill": primaryColor } }] }; }, "name": "cloud", "theme": "twotone" }; +exports.default = CloudTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudUploadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudUploadOutlined.js new file mode 100644 index 00000000..88ad0021 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CloudUploadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CloudUploadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M518.3 459a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z" } }, { "tag": "path", "attrs": { "d": "M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z" } }] }, "name": "cloud-upload", "theme": "outlined" }; +exports.default = CloudUploadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClusterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClusterOutlined.js new file mode 100644 index 00000000..4482bad6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ClusterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ClusterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 680h-54V540H546v-92h238c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h238v92H190v140h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8zM256 805.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zm288 0c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM288 384V216h448v168H288zm544 421.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM360 300a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "cluster", "theme": "outlined" }; +exports.default = ClusterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeFilled.js new file mode 100644 index 00000000..66a53eb7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM513.1 518.1l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 01-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3zM716 673c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8h185c4.1 0 7.5 3.6 7.5 8v48z" } }] }, "name": "code", "theme": "filled" }; +exports.default = CodeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeOutlined.js new file mode 100644 index 00000000..694ccfd0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "code", "theme": "outlined" }; +exports.default = CodeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxCircleFilled.js new file mode 100644 index 00000000..ac70e7a5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeSandboxCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm243.7 589.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zM307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zm203.9-151.8L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8zm20 352l97.3-56.2v-94.1l87-49.5V418.5L531.8 525z" } }] }, "name": "code-sandbox-circle", "theme": "filled" }; +exports.default = CodeSandboxCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxOutlined.js new file mode 100644 index 00000000..4be3c997 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeSandboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M709.6 210l.4-.2h.2L512 96 313.9 209.8h-.2l.7.3L151.5 304v416L512 928l360.5-208V304l-162.9-94zM482.7 843.6L339.6 761V621.4L210 547.8V372.9l272.7 157.3v313.4zM238.2 321.5l134.7-77.8 138.9 79.7 139.1-79.9 135.2 78-273.9 158-274-158zM814 548.3l-128.8 73.1v139.1l-143.9 83V530.4L814 373.1v175.2z" } }] }, "name": "code-sandbox", "theme": "outlined" }; +exports.default = CodeSandboxOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxSquareFilled.js new file mode 100644 index 00000000..c247bb45 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeSandboxSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeSandboxSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM755.7 653.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zm-223.9 83.7l97.3-56.2v-94.1l87-49.5V418.5L531.8 525zm-20-352L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8z" } }] }, "name": "code-sandbox-square", "theme": "filled" }; +exports.default = CodeSandboxSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeTwoTone.js new file mode 100644 index 00000000..8eb1dc4f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm339.5-223h185c4.1 0 7.5 3.6 7.5 8v48c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8zM308 610.3c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 01-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M321.1 679.1l192-161c3.9-3.2 3.9-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48z", "fill": primaryColor } }] }; }, "name": "code", "theme": "twotone" }; +exports.default = CodeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleFilled.js new file mode 100644 index 00000000..f9bca218 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodepenCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 01-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 01-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 01.8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z" } }] }, "name": "codepen-circle", "theme": "filled" }; +exports.default = CodepenCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleOutlined.js new file mode 100644 index 00000000..b246abd5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodepenCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 01-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 01-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 01.8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z" } }] }, "name": "codepen-circle", "theme": "outlined" }; +exports.default = CodepenCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenOutlined.js new file mode 100644 index 00000000..6f60ced3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodepenOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M911.7 385.3l-.3-1.5c-.2-1-.3-1.9-.6-2.9-.2-.6-.4-1.1-.5-1.7-.3-.8-.5-1.7-.9-2.5-.2-.6-.5-1.1-.8-1.7-.4-.8-.8-1.5-1.2-2.3-.3-.5-.6-1.1-1-1.6-.8-1.2-1.7-2.4-2.6-3.6-.5-.6-1.1-1.3-1.7-1.9-.4-.5-.9-.9-1.4-1.3-.6-.6-1.3-1.1-1.9-1.6-.5-.4-1-.8-1.6-1.2-.2-.1-.4-.3-.6-.4L531.1 117.8a34.3 34.3 0 00-38.1 0L127.3 361.3c-.2.1-.4.3-.6.4-.5.4-1 .8-1.6 1.2-.7.5-1.3 1.1-1.9 1.6-.5.4-.9.9-1.4 1.3-.6.6-1.2 1.2-1.7 1.9-1 1.1-1.8 2.3-2.6 3.6-.3.5-.7 1-1 1.6-.4.7-.8 1.5-1.2 2.3-.3.5-.5 1.1-.8 1.7-.3.8-.6 1.7-.9 2.5-.2.6-.4 1.1-.5 1.7-.2.9-.4 1.9-.6 2.9l-.3 1.5c-.2 1.5-.3 3-.3 4.5v243.5c0 1.5.1 3 .3 4.5l.3 1.5.6 2.9c.2.6.3 1.1.5 1.7.3.9.6 1.7.9 2.5.2.6.5 1.1.8 1.7.4.8.7 1.5 1.2 2.3.3.5.6 1.1 1 1.6.5.7.9 1.4 1.5 2.1l1.2 1.5c.5.6 1.1 1.3 1.7 1.9.4.5.9.9 1.4 1.3.6.6 1.3 1.1 1.9 1.6.5.4 1 .8 1.6 1.2.2.1.4.3.6.4L493 905.7c5.6 3.8 12.3 5.8 19.1 5.8 6.6 0 13.3-1.9 19.1-5.8l365.6-243.5c.2-.1.4-.3.6-.4.5-.4 1-.8 1.6-1.2.7-.5 1.3-1.1 1.9-1.6.5-.4.9-.9 1.4-1.3.6-.6 1.2-1.2 1.7-1.9l1.2-1.5 1.5-2.1c.3-.5.7-1 1-1.6.4-.8.8-1.5 1.2-2.3.3-.5.5-1.1.8-1.7.3-.8.6-1.7.9-2.5.2-.5.4-1.1.5-1.7.3-.9.4-1.9.6-2.9l.3-1.5c.2-1.5.3-3 .3-4.5V389.8c-.3-1.5-.4-3-.6-4.5zM546.4 210.5l269.4 179.4-120.3 80.4-149-99.6V210.5zm-68.8 0v160.2l-149 99.6-120.3-80.4 269.3-179.4zM180.7 454.1l86 57.5-86 57.5v-115zm296.9 358.5L208.3 633.2l120.3-80.4 149 99.6v160.2zM512 592.8l-121.6-81.2L512 430.3l121.6 81.2L512 592.8zm34.4 219.8V652.4l149-99.6 120.3 80.4-269.3 179.4zM843.3 569l-86-57.5 86-57.5v115z" } }] }, "name": "codepen", "theme": "outlined" }; +exports.default = CodepenOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenSquareFilled.js new file mode 100644 index 00000000..39e99b51 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CodepenSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CodepenSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M723.1 428L535.9 303.4v111.3l103.6 69.1zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zm23.9 154.2v111.3L723.1 597l-83.6-55.8zm-151.4-69.1L300.9 597l187.2 124.6V610.3l-103.6-69.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-90 485c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 01-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 01-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 01.8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-47.8-44.6v-79.8l-59.8 39.9zm-460.4-79.8v79.8l59.8-39.9zm206.3-57.9V303.4L300.9 428l83.6 55.8z" } }] }, "name": "codepen-square", "theme": "filled" }; +exports.default = CodepenSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CoffeeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CoffeeOutlined.js new file mode 100644 index 00000000..a7199f33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CoffeeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CoffeeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z" } }] }, "name": "coffee", "theme": "outlined" }; +exports.default = CoffeeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnHeightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnHeightOutlined.js new file mode 100644 index 00000000..c1f3dbbe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnHeightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ColumnHeightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 00-11.3 0L403.6 366.3a7.23 7.23 0 005.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z" } }] }, "name": "column-height", "theme": "outlined" }; +exports.default = ColumnHeightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnWidthOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnWidthOutlined.js new file mode 100644 index 00000000..eb74ea22 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ColumnWidthOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ColumnWidthOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 00-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z" } }] }, "name": "column-width", "theme": "outlined" }; +exports.default = ColumnWidthOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CommentOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CommentOutlined.js new file mode 100644 index 00000000..f112825b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CommentOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CommentOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M573 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40zm-280 0c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z" } }, { "tag": "path", "attrs": { "d": "M894 345a343.92 343.92 0 00-189-130v.1c-17.1-19-36.4-36.5-58-52.1-163.7-119-393.5-82.7-513 81-96.3 133-92.2 311.9 6 439l.8 132.6c0 3.2.5 6.4 1.5 9.4a31.95 31.95 0 0040.1 20.9L309 806c33.5 11.9 68.1 18.7 102.5 20.6l-.5.4c89.1 64.9 205.9 84.4 313 49l127.1 41.4c3.2 1 6.5 1.6 9.9 1.6 17.7 0 32-14.3 32-32V753c88.1-119.6 90.4-284.9 1-408zM323 735l-12-5-99 31-1-104-8-9c-84.6-103.2-90.2-251.9-11-361 96.4-132.2 281.2-161.4 413-66 132.2 96.1 161.5 280.6 66 412-80.1 109.9-223.5 150.5-348 102zm505-17l-8 10 1 104-98-33-12 5c-56 20.8-115.7 22.5-171 7l-.2-.1A367.31 367.31 0 00729 676c76.4-105.3 88.8-237.6 44.4-350.4l.6.4c23 16.5 44.1 37.1 62 62 72.6 99.6 68.5 235.2-8 330z" } }, { "tag": "path", "attrs": { "d": "M433 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z" } }] }, "name": "comment", "theme": "outlined" }; +exports.default = CommentOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassFilled.js new file mode 100644 index 00000000..df046775 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CompassFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM327.3 702.4c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2l98.7-225.5 132.1 132.1-225.5 98.7zm375.1-375.1l-98.7 225.5-132.1-132.1L697.1 322c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z" } }] }, "name": "compass", "theme": "filled" }; +exports.default = CompassFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassOutlined.js new file mode 100644 index 00000000..bd170b05 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CompassOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 00-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 00-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z" } }] }, "name": "compass", "theme": "outlined" }; +exports.default = CompassOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassTwoTone.js new file mode 100644 index 00000000..8b33cafa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompassTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CompassTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM327.6 701.7c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2L421 470.9 553.1 603l-225.5 98.7zm375.1-375.1L604 552.1 471.9 420l225.5-98.7c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M322.3 696.4c-.4 1-.4 2.2 0 3.2.9 2.1 3.3 3 5.3 2.1L553.1 603 421 470.9l-98.7 225.5zm375.1-375.1L471.9 420 604 552.1l98.7-225.5c.4-1.1.4-2.2 0-3.2-.9-2.1-3.3-3-5.3-2.1z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }] }; }, "name": "compass", "theme": "twotone" }; +exports.default = CompassTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompressOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompressOutlined.js new file mode 100644 index 00000000..a760a25d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CompressOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CompressOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M326 664H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h174v176c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V696c0-17.7-14.3-32-32-32zm16-576h-48c-8.8 0-16 7.2-16 16v176H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h222c17.7 0 32-14.3 32-32V104c0-8.8-7.2-16-16-16zm578 576H698c-17.7 0-32 14.3-32 32v224c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V744h174c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zm0-384H746V104c0-8.8-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16v224c0 17.7 14.3 32 32 32h222c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16z" } }] }, "name": "compress", "theme": "outlined" }; +exports.default = CompressOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ConsoleSqlOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ConsoleSqlOutlined.js new file mode 100644 index 00000000..6102ad45 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ConsoleSqlOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ConsoleSqlOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M301.3 496.7c-23.8 0-40.2-10.5-41.6-26.9H205c.9 43.4 36.9 70.3 93.9 70.3 59.1 0 95-28.4 95-75.5 0-35.8-20-55.9-64.5-64.5l-29.1-5.6c-23.8-4.7-33.8-11.9-33.8-24.2 0-15 13.3-24.5 33.4-24.5 20.1 0 35.3 11.1 36.6 27h53c-.9-41.7-37.5-70.3-90.3-70.3-54.4 0-89.7 28.9-89.7 73 0 35.5 21.2 58 62.5 65.8l29.7 5.9c25.8 5.2 35.6 11.9 35.6 24.4.1 14.7-14.5 25.1-36 25.1z" } }, { "tag": "path", "attrs": { "d": "M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z" } }, { "tag": "path", "attrs": { "d": "M828.5 486.7h-95.8V308.5h-57.4V534h153.2zm-298.6 53.4c14.1 0 27.2-2 39.1-5.8l13.3 20.3h53.3L607.9 511c21.1-20 33-51.1 33-89.8 0-73.3-43.3-118.8-110.9-118.8s-111.2 45.3-111.2 118.8c-.1 73.7 43 118.9 111.1 118.9zm0-190c31.6 0 52.7 27.7 52.7 71.1 0 16.7-3.6 30.6-10 40.5l-5.2-6.9h-48.8L542 491c-3.9.9-8 1.4-12.2 1.4-31.7 0-52.8-27.5-52.8-71.2.1-43.6 21.2-71.1 52.9-71.1z" } }] }, "name": "console-sql", "theme": "outlined" }; +exports.default = ConsoleSqlOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsFilled.js new file mode 100644 index 00000000..51bfac20 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContactsFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM661 736h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.6-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H363a8 8 0 01-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 01-29.1-75.5c0-61.9 49.9-112 111.4-112 61.5 0 111.4 50.1 111.4 112 0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zM512 474c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52z" } }] }, "name": "contacts", "theme": "filled" }; +exports.default = ContactsFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsOutlined.js new file mode 100644 index 00000000..2f4e2276 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContactsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M594.3 601.5a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1 8 8 0 008 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52zm416-354H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z" } }] }, "name": "contacts", "theme": "outlined" }; +exports.default = ContactsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsTwoTone.js new file mode 100644 index 00000000..5db33b0b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContactsTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContactsTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M460.3 526a51.7 52 0 10103.4 0 51.7 52 0 10-103.4 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM661 736h-43.8c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 39.9-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5h-43.9a8 8 0 01-8-8.4c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.7 26.4 71.9 72.8 74.7 126.1a8 8 0 01-8 8.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M594.3 601.5a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1 8 8 0 008 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z", "fill": primaryColor } }] }; }, "name": "contacts", "theme": "twotone" }; +exports.default = ContactsTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerFilled.js new file mode 100644 index 00000000..bdf347b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContainerFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v529c0-.6.4-1 1-1h219.3l5.2 24.7C397.6 708.5 450.8 752 512 752s114.4-43.5 126.4-103.3l5.2-24.7H863c.6 0 1 .4 1 1V96c0-17.7-14.3-32-32-32zM712 493c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm0-160c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm151 354H694.1c-11.6 32.8-32 62.3-59.1 84.7-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 01-59.1-84.7H161c-.6 0-1-.4-1-1v242c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V686c0 .6-.4 1-1 1z" } }] }, "name": "container", "theme": "filled" }; +exports.default = ContainerFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerOutlined.js new file mode 100644 index 00000000..75ba2743 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContainerOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }] }, "name": "container", "theme": "outlined" }; +exports.default = ContainerOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerTwoTone.js new file mode 100644 index 00000000..b0dcb66a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ContainerTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ContainerTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M635 771.7c-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 01-59.1-84.7H232v201h560V687h-97.9c-11.6 32.8-32 62.3-59.1 84.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M320 501h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v201zm0-264H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v488z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "container", "theme": "twotone" }; +exports.default = ContainerTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlFilled.js new file mode 100644 index 00000000..8eac1846 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ControlFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM404 683v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99zm279.6-143.9c.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1zM616 440a36 36 0 1072 0 36 36 0 10-72 0zM403.4 566.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 00-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5z" } }] }, "name": "control", "theme": "filled" }; +exports.default = ControlFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlOutlined.js new file mode 100644 index 00000000..a2b48622 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ControlOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8s0 .1.1.1a36.18 36.18 0 015.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8 0 0 0 .1-.1.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7zM620 539v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8v.1a36.18 36.18 0 015.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8v.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7z" } }] }, "name": "control", "theme": "outlined" }; +exports.default = ControlOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlTwoTone.js new file mode 100644 index 00000000..4c9c4543 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ControlTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ControlTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M616 440a36 36 0 1072 0 36 36 0 10-72 0zM340.4 601.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 00-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm436.4-499.1c-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1zM340 485V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c41.7-13.5 72-52.8 72-99s-30.3-85.4-72-99V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c-41.7 13.5-72 52.8-72 99s30.3 85.4 72 99zm.1-116c.1-.2.2-.3.3-.5l1.5-2.4c0-.1.1-.1.1-.2l.9-1.2c0-.1.1-.2.2-.3 1-1.2 2.1-2.5 3.2-3.6l.2-.2c.4-.4.8-.7 1.2-1.1.8-.7 1.7-1.4 2.6-2.1h.1l1.2-.9c.1-.1.3-.2.4-.3 1.3-.8 2.6-1.5 3.9-2.2.2-.2.5-.3.7-.4.4-.2.7-.3 1.1-.5.3-.1.7-.3 1-.4.5-.1 1-.3 1.5-.5.4-.1.9-.3 1.3-.4l.9-.3 1.4-.3c.2-.1.5-.1.7-.2.7-.2 1.4-.3 2.1-.4.2-.1.4-.1.6-.1.5-.1 1.1-.2 1.7-.2.3-.1.5-.1.7-.1.8-.1 1.5-.1 2.3-.1s1.5.1 2.3.1c.3.1.5.1.7.1.6.1 1.1.1 1.7.2.2.1.4.1.6.1.7.1 1.4.3 2.1.4.2.1.5.1.7.2l1.4.3.9.3c.4.1.9.3 1.3.4.5.1 1 .3 1.5.5.3.1.7.3 1 .4.4.2.7.3 1.1.5.2.2.5.3.7.4 1.4.6 2.7 1.4 3.9 2.2.1.1.3.2.4.3l1.2.9h.1c.9.6 1.8 1.3 2.6 2.1.4.3.8.7 1.2 1.1l.2.2c1.2 1.1 2.2 2.3 3.2 3.6 0 .1.1.2.2.3l.9 1.2c0 .1.1.1.1.2l1.5 2.4A36.03 36.03 0 01408 584c0 6.1-1.6 11.9-4.3 17-.1.2-.2.3-.3.5l-1.5 2.4c0 .1-.1.1-.1.2l-.9 1.2c0 .1-.1.2-.2.3-1 1.2-2.1 2.5-3.2 3.6l-.2.2c-.4.4-.8.7-1.2 1.1-.8.7-1.7 1.4-2.6 2.1h-.1l-1.2.9c-.1.1-.3.2-.4.3-1.3.8-2.6 1.5-3.9 2.2-.2.2-.5.3-.7.4-.4.2-.7.3-1.1.5-.3.1-.7.3-1 .4-.5.1-1 .3-1.5.5-.4.1-.9.3-1.3.4l-.9.3-1.4.3c-.2.1-.5.1-.7.2-.7.2-1.4.3-2.1.4-.2.1-.4.1-.6.1-.5.1-1.1.2-1.7.2-.3.1-.5.1-.7.1-.8.1-1.5.1-2.3.1s-1.5-.1-2.3-.1c-.3-.1-.5-.1-.7-.1-.6-.1-1.1-.1-1.7-.2-.2-.1-.4-.1-.6-.1-.7-.1-1.4-.3-2.1-.4-.2-.1-.5-.1-.7-.2l-1.4-.3-.9-.3c-.4-.1-.9-.3-1.3-.4-.5-.1-1-.3-1.5-.5-.3-.1-.7-.3-1-.4-.4-.2-.7-.3-1.1-.5-.2-.2-.5-.3-.7-.4-1.4-.6-2.7-1.4-3.9-2.2-.1-.1-.3-.2-.4-.3l-1.2-.9h-.1c-.9-.6-1.8-1.3-2.6-2.1-.4-.3-.8-.7-1.2-1.1l-.2-.2c-1.2-1.1-2.2-2.3-3.2-3.6 0-.1-.1-.2-.2-.3l-.9-1.2c0-.1-.1-.1-.1-.2l-1.5-2.4c-.1-.2-.2-.3-.3-.5-2.7-5-4.3-10.9-4.3-17s1.6-11.9 4.3-17zm280.3-27.9c-.1 0-.2-.1-.4-.1v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-.1 0-.2.1-.4.1 42-13.4 72.4-52.7 72.4-99.1 0-46.4-30.4-85.7-72.4-99.1.1 0 .2.1.4.1v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c.1 0 .2-.1.4-.1-42 13.4-72.4 52.7-72.4 99.1 0 46.4 30.4 85.7 72.4 99.1zM652 404c19.9 0 36 16.1 36 36s-16.1 36-36 36-36-16.1-36-36 16.1-36 36-36z", "fill": primaryColor } }] }; }, "name": "control", "theme": "twotone" }; +exports.default = ControlTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyFilled.js new file mode 100644 index 00000000..7eacda63 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM382 896h-.2L232 746.2v-.2h150v150z" } }] }, "name": "copy", "theme": "filled" }; +exports.default = CopyFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyOutlined.js new file mode 100644 index 00000000..a6dec2da --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z" } }] }, "name": "copy", "theme": "outlined" }; +exports.default = CopyOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyTwoTone.js new file mode 100644 index 00000000..e765bdd9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M232 706h142c22.1 0 40 17.9 40 40v142h250V264H232v442z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z", "fill": primaryColor } }] }; }, "name": "copy", "theme": "twotone" }; +exports.default = CopyTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleFilled.js new file mode 100644 index 00000000..e7c1b015 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyrightCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm5.4 670c-110 0-173.4-73.2-173.4-194.9v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.6-3.2-8-7.4-4-49.5-40-83.4-93-83.4-65.3 0-102.1 48.5-102.1 135.5v52.6c0 85.7 36.9 133.6 102.1 133.6 52.8 0 88.7-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4z" } }] }, "name": "copyright-circle", "theme": "filled" }; +exports.default = CopyrightCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleOutlined.js new file mode 100644 index 00000000..fd9f322a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyrightCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z" } }] }, "name": "copyright-circle", "theme": "outlined" }; +exports.default = CopyrightCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleTwoTone.js new file mode 100644 index 00000000..5bfab6f7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyrightCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z", "fill": primaryColor } }] }; }, "name": "copyright-circle", "theme": "twotone" }; +exports.default = CopyrightCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightOutlined.js new file mode 100644 index 00000000..d32f55cb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyrightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z" } }] }, "name": "copyright", "theme": "outlined" }; +exports.default = CopyrightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightTwoTone.js new file mode 100644 index 00000000..8b71a63a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CopyrightTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CopyrightTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z", "fill": primaryColor } }] }; }, "name": "copyright", "theme": "twotone" }; +exports.default = CopyrightTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardFilled.js new file mode 100644 index 00000000..9ff3f1fc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CreditCardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v160h896V192c0-17.7-14.3-32-32-32zM64 832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V440H64v392zm579-184c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72z" } }] }, "name": "credit-card", "theme": "filled" }; +exports.default = CreditCardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardOutlined.js new file mode 100644 index 00000000..e81a348b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CreditCardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z" } }] }, "name": "credit-card", "theme": "outlined" }; +exports.default = CreditCardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardTwoTone.js new file mode 100644 index 00000000..5b4e2682 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CreditCardTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CreditCardTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M136 792h752V440H136v352zm507-144c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72zM136 232h752v120H136z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M651 728h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V440h752v352zm0-440H136V232h752v120z", "fill": primaryColor } }] }; }, "name": "credit-card", "theme": "twotone" }; +exports.default = CreditCardTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownFilled.js new file mode 100644 index 00000000..0cbc2085 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CrownFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zM512 734.2c-62.1 0-112.6-50.5-112.6-112.6S449.9 509 512 509s112.6 50.5 112.6 112.6S574.1 734.2 512 734.2zm0-160.9c-26.6 0-48.2 21.6-48.2 48.3 0 26.6 21.6 48.3 48.2 48.3s48.2-21.6 48.2-48.3c0-26.6-21.6-48.3-48.2-48.3z" } }] }, "name": "crown", "theme": "filled" }; +exports.default = CrownFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownOutlined.js new file mode 100644 index 00000000..f244bf29 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CrownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z" } }] }, "name": "crown", "theme": "outlined" }; +exports.default = CrownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownTwoTone.js new file mode 100644 index 00000000..201e4ddf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CrownTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CrownTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M911.9 283.9v.5L835.5 865c-1 8-7.9 14-15.9 14H204.5c-8.1 0-14.9-6.1-16-14l-76.4-580.6v-.6 1.6L188.5 866c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.1-.5.1-1 0-1.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M773.6 810.6l53.9-409.4-139.8 86.1L512 252.9 336.3 487.3l-139.8-86.1 53.8 409.4h523.3zm-374.2-189c0-62.1 50.5-112.6 112.6-112.6s112.6 50.5 112.6 112.6v1c0 62.1-50.5 112.6-112.6 112.6s-112.6-50.5-112.6-112.6v-1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 734.2c61.9 0 112.3-50.2 112.6-112.1v-.5c0-62.1-50.5-112.6-112.6-112.6s-112.6 50.5-112.6 112.6v.5c.3 61.9 50.7 112.1 112.6 112.1zm0-160.9c26.6 0 48.2 21.6 48.2 48.3 0 26.6-21.6 48.3-48.2 48.3s-48.2-21.6-48.2-48.3c0-26.6 21.6-48.3 48.2-48.3z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6v-.5c.3-6.4-6.7-10.8-12.3-7.4L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.5-3.4-12.6.9-12.2 7.3v.6L188.5 865zm147.8-377.7L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4H250.3l-53.8-409.4 139.8 86.1z", "fill": primaryColor } }] }; }, "name": "crown", "theme": "twotone" }; +exports.default = CrownTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceFilled.js new file mode 100644 index 00000000..e5d7137e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CustomerServiceFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384z" } }] }, "name": "customer-service", "theme": "filled" }; +exports.default = CustomerServiceFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceOutlined.js new file mode 100644 index 00000000..7417031e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CustomerServiceOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z" } }] }, "name": "customer-service", "theme": "outlined" }; +exports.default = CustomerServiceOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceTwoTone.js new file mode 100644 index 00000000..d6fd6f05 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/CustomerServiceTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var CustomerServiceTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M696 632h128v192H696zm-496 0h128v192H200z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z", "fill": primaryColor } }] }; }, "name": "customer-service", "theme": "twotone" }; +exports.default = CustomerServiceTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashOutlined.js new file mode 100644 index 00000000..b7f0880e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DashOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M112 476h160v72H112zm320 0h160v72H432zm320 0h160v72H752z" } }] }, "name": "dash", "theme": "outlined" }; +exports.default = DashOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardFilled.js new file mode 100644 index 00000000..f934c5cc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DashboardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M924.8 385.6a446.7 446.7 0 00-96-142.4 446.7 446.7 0 00-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 00-142.4 96 446.7 446.7 0 00-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM482 232c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.5l-31.1 31.1a8.03 8.03 0 01-11.3 0L261.7 352a8.03 8.03 0 010-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.6l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 01-79.2 0 55.95 55.95 0 010-79.2 55.87 55.87 0 0154.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.1 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 010-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 01-11.3 0zM846 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44z" } }] }, "name": "dashboard", "theme": "filled" }; +exports.default = DashboardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardOutlined.js new file mode 100644 index 00000000..0c90db52 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DashboardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M924.8 385.6a446.7 446.7 0 00-96-142.4 446.7 446.7 0 00-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 00-142.4 96 446.7 446.7 0 00-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 01140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 00-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 000 79.2 55.95 55.95 0 0079.2 0 55.87 55.87 0 0014.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 00-11.3 0l-56.6 56.6a8.03 8.03 0 000 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 00-11.3 0l-31.1 31.1a8.03 8.03 0 000 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z" } }] }, "name": "dashboard", "theme": "outlined" }; +exports.default = DashboardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardTwoTone.js new file mode 100644 index 00000000..7ff2bcf9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DashboardTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DashboardTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 188c-99.3 0-192.7 38.7-263 109-70.3 70.2-109 163.6-109 263 0 105.6 44.5 205.5 122.6 276h498.8A371.12 371.12 0 00884 560c0-99.3-38.7-192.7-109-263-70.2-70.3-163.6-109-263-109zm-30 44c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.4l-31.1 31.1a8.03 8.03 0 01-11.3 0l-56.6-56.6a8.03 8.03 0 010-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.5l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 01-79.2 0 55.95 55.95 0 010-79.2 55.87 55.87 0 0154.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.2 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 010-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 01-11.3 0zM846 538v44c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M623.5 421.5a8.03 8.03 0 00-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 000 79.2 55.95 55.95 0 0079.2 0 55.87 55.87 0 0014.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M924.8 385.6a446.7 446.7 0 00-96-142.4 446.7 446.7 0 00-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 00-142.4 96 446.7 446.7 0 00-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 01140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M762.7 340.8l-31.1-31.1a8.03 8.03 0 00-11.3 0l-56.6 56.6a8.03 8.03 0 000 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zM750 538v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zM304.1 309.7a8.03 8.03 0 00-11.3 0l-31.1 31.1a8.03 8.03 0 000 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "dashboard", "theme": "twotone" }; +exports.default = DashboardTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseFilled.js new file mode 100644 index 00000000..ade8a066 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DatabaseFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM288 232c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm128-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm128-168c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z" } }] }, "name": "database", "theme": "filled" }; +exports.default = DatabaseFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseOutlined.js new file mode 100644 index 00000000..5658eef7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DatabaseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "database", "theme": "outlined" }; +exports.default = DatabaseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseTwoTone.js new file mode 100644 index 00000000..0730e858 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DatabaseTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DatabaseTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M232 616h560V408H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 888h560V680H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 344h560V136H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M304 512a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0-544a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z", "fill": primaryColor } }] }; }, "name": "database", "theme": "twotone" }; +exports.default = DatabaseTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteColumnOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteColumnOutlined.js new file mode 100644 index 00000000..b420984f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteColumnOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeleteColumnOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M651.1 641.9a7.84 7.84 0 00-5.1-1.9h-54.7c-2.4 0-4.6 1.1-6.1 2.9L512 730.7l-73.1-87.8a8.1 8.1 0 00-6.1-2.9H378c-1.9 0-3.7.7-5.1 1.9a7.97 7.97 0 00-1 11.3L474.2 776 371.8 898.9a8.06 8.06 0 006.1 13.2h54.7c2.4 0 4.6-1.1 6.1-2.9l73.1-87.8 73.1 87.8a8.1 8.1 0 006.1 2.9h55c1.9 0 3.7-.7 5.1-1.9 3.4-2.8 3.9-7.9 1-11.3L549.8 776l102.4-122.9c2.8-3.4 2.3-8.4-1.1-11.2zM472 544h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8zM350 386H184V136c0-3.3-2.7-6-6-6h-60c-3.3 0-6 2.7-6 6v292c0 16.6 13.4 30 30 30h208c3.3 0 6-2.7 6-6v-60c0-3.3-2.7-6-6-6zm556-256h-60c-3.3 0-6 2.7-6 6v250H674c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6h208c16.6 0 30-13.4 30-30V136c0-3.3-2.7-6-6-6z" } }] }, "name": "delete-column", "theme": "outlined" }; +exports.default = DeleteColumnOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteFilled.js new file mode 100644 index 00000000..3ef5ea51 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeleteFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z" } }] }, "name": "delete", "theme": "filled" }; +exports.default = DeleteFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteOutlined.js new file mode 100644 index 00000000..535c18d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeleteOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z" } }] }, "name": "delete", "theme": "outlined" }; +exports.default = DeleteOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteRowOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteRowOutlined.js new file mode 100644 index 00000000..a5c955ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteRowOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeleteRowOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M819.8 512l102.4-122.9a8.06 8.06 0 00-6.1-13.2h-54.7c-2.4 0-4.6 1.1-6.1 2.9L782 466.7l-73.1-87.8a8.1 8.1 0 00-6.1-2.9H648c-1.9 0-3.7.7-5.1 1.9a7.97 7.97 0 00-1 11.3L744.2 512 641.8 634.9a8.06 8.06 0 006.1 13.2h54.7c2.4 0 4.6-1.1 6.1-2.9l73.1-87.8 73.1 87.8a8.1 8.1 0 006.1 2.9h55c1.9 0 3.7-.7 5.1-1.9 3.4-2.8 3.9-7.9 1-11.3L819.8 512zM536 464H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h416c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-84 204h-60c-3.3 0-6 2.7-6 6v166H136c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6h292c16.6 0 30-13.4 30-30V674c0-3.3-2.7-6-6-6zM136 184h250v166c0 3.3 2.7 6 6 6h60c3.3 0 6-2.7 6-6V142c0-16.6-13.4-30-30-30H136c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6z" } }] }, "name": "delete-row", "theme": "outlined" }; +exports.default = DeleteRowOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteTwoTone.js new file mode 100644 index 00000000..5c5efee5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeleteTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeleteTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M292.7 840h438.6l24.2-512h-487z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-504-72h304v72H360v-72zm371.3 656H292.7l-24.2-512h487l-24.2 512z", "fill": primaryColor } }] }; }, "name": "delete", "theme": "twotone" }; +exports.default = DeleteTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeliveredProcedureOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeliveredProcedureOutlined.js new file mode 100644 index 00000000..1faf2dad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeliveredProcedureOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeliveredProcedureOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M632 698.3l141.9-112a8 8 0 000-12.6L632 461.7c-5.3-4.2-13-.4-13 6.3v76H295c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v76c0 6.7 7.8 10.4 13 6.3zm261.3-405L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v278c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V422c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-83.5c0-17-6.7-33.2-18.7-45.2zM640 288H384V184h256v104zm264 436h-56c-4.4 0-8 3.6-8 8v108H184V732c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v148c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V732c0-4.4-3.6-8-8-8z" } }] }, "name": "delivered-procedure", "theme": "outlined" }; +exports.default = DeliveredProcedureOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeploymentUnitOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeploymentUnitOutlined.js new file mode 100644 index 00000000..da06edb1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DeploymentUnitOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DeploymentUnitOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 01-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0165.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z" } }] }, "name": "deployment-unit", "theme": "outlined" }; +exports.default = DeploymentUnitOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DesktopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DesktopOutlined.js new file mode 100644 index 00000000..d3fb154a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DesktopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DesktopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z" } }] }, "name": "desktop", "theme": "outlined" }; +exports.default = DesktopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffFilled.js new file mode 100644 index 00000000..ef2c8405 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DiffFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23zM553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM568 753c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-220c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7v42z" } }] }, "name": "diff", "theme": "filled" }; +exports.default = DiffFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffOutlined.js new file mode 100644 index 00000000..f5ae405e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DiffOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7zm-7.1-502.6c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888zm190.2-581.4L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z" } }] }, "name": "diff", "theme": "outlined" }; +exports.default = DiffOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffTwoTone.js new file mode 100644 index 00000000..f7fa3c7b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DiffTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DiffTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M232 264v624h432V413.8L514.2 264H232zm336 489c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-262v42c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7z", "fill": primaryColor } }] }; }, "name": "diff", "theme": "twotone" }; +exports.default = DiffTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingdingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingdingOutlined.js new file mode 100644 index 00000000..2d8b503f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingdingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DingdingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z" } }] }, "name": "dingding", "theme": "outlined" }; +exports.default = DingdingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkCircleFilled.js new file mode 100644 index 00000000..7145dc8e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DingtalkCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm227 385.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z" } }] }, "name": "dingtalk-circle", "theme": "filled" }; +exports.default = DingtalkCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkOutlined.js new file mode 100644 index 00000000..f9a1d751 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DingtalkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z" } }] }, "name": "dingtalk", "theme": "outlined" }; +exports.default = DingtalkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkSquareFilled.js new file mode 100644 index 00000000..91974948 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DingtalkSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DingtalkSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM739 449.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z" } }] }, "name": "dingtalk-square", "theme": "filled" }; +exports.default = DingtalkSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DisconnectOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DisconnectOutlined.js new file mode 100644 index 00000000..8af7239f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DisconnectOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DisconnectOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832.6 191.4c-84.6-84.6-221.5-84.6-306 0l-96.9 96.9 51 51 96.9-96.9c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204l-96.9 96.9 51.1 51.1 96.9-96.9c84.4-84.6 84.4-221.5-.1-306.1zM446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l96.9-96.9-51.1-51.1-96.9 96.9c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l96.9-96.9-51-51-96.8 97zM260.3 209.4a8.03 8.03 0 00-11.3 0L209.4 249a8.03 8.03 0 000 11.3l554.4 554.4c3.1 3.1 8.2 3.1 11.3 0l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3L260.3 209.4z" } }] }, "name": "disconnect", "theme": "outlined" }; +exports.default = DisconnectOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeFilled.js new file mode 100644 index 00000000..afd38e48 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DislikeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 00-26.5-5.4H273v428h.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32z" } }] }, "name": "dislike", "theme": "filled" }; +exports.default = DislikeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeOutlined.js new file mode 100644 index 00000000..a5f33b4c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DislikeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 00-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 01-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0133.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0119.6 43c0 19.1-11 37.5-28.8 48.4z" } }] }, "name": "dislike", "theme": "outlined" }; +exports.default = DislikeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeTwoTone.js new file mode 100644 index 00000000..16eaf686 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DislikeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DislikeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M273 100.1v428h.3l-.3-428zM820.4 525l-21.9-19 14-25.5a56.2 56.2 0 006.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 006.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 006.9-27.3c0-22.4-13.2-42.6-33.6-51.8H345v345.2c18.6 67.2 46.4 168 83.5 302.5a44.28 44.28 0 0042.2 32.3c7.5.1 15-2.2 21.1-6.7 9.9-7.4 15.2-18.6 14.6-30.5l-9.6-198.4h314.4C829 605.5 840 587.1 840 568c0-16.5-7.1-32.2-19.6-43z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32zm773.9 358.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 00-26.5-5.4H273l.3 428 85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zm-74.7 126.1H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 01-42.2-32.3c-37.1-134.4-64.9-235.2-83.5-302.5V172h399.4a56.85 56.85 0 0133.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0119.6 43c0 19.1-11 37.5-28.8 48.4z", "fill": primaryColor } }] }; }, "name": "dislike", "theme": "twotone" }; +exports.default = DislikeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleFilled.js new file mode 100644 index 00000000..d4dee4e0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DollarCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm22.3 665.2l.2 31.7c0 4.4-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4C401.3 723 359.5 672.4 355 617.4c-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.7 29.8 55.4 74.1 61.3V533.9l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-72.9 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.9 46.9 125.9 109.2.5 4.7-3.2 8.8-8 8.8h-44.9c-4 0-7.4-3-7.9-6.9-4-29.2-27.4-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 108.9 116.4 0 75.3-56 117.3-134.3 124.1zM426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-36.9 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.8-.6-5.6-1.3-8.8-2.2V677c42.6-3.8 72-27.2 72-66.4 0-30.7-15.9-50.7-63.2-65.1z" } }] }, "name": "dollar-circle", "theme": "filled" }; +exports.default = DollarCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleOutlined.js new file mode 100644 index 00000000..a992f888 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DollarCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z" } }] }, "name": "dollar-circle", "theme": "outlined" }; +exports.default = DollarCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleTwoTone.js new file mode 100644 index 00000000..1c4a3617 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DollarCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 01-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z", "fill": primaryColor } }] }; }, "name": "dollar-circle", "theme": "twotone" }; +exports.default = DollarCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarOutlined.js new file mode 100644 index 00000000..d088e3ff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DollarOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z" } }] }, "name": "dollar", "theme": "outlined" }; +exports.default = DollarOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarTwoTone.js new file mode 100644 index 00000000..c6deda03 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DollarTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DollarTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 01-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z", "fill": primaryColor } }] }; }, "name": "dollar", "theme": "twotone" }; +exports.default = DollarTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DotChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DotChartOutlined.js new file mode 100644 index 00000000..a0777936 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DotChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DotChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "dot-chart", "theme": "outlined" }; +exports.default = DotChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleLeftOutlined.js new file mode 100644 index 00000000..f3f1e170 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DoubleLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z" } }] }, "name": "double-left", "theme": "outlined" }; +exports.default = DoubleLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleRightOutlined.js new file mode 100644 index 00000000..49fa3d40 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DoubleRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DoubleRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z" } }] }, "name": "double-right", "theme": "outlined" }; +exports.default = DoubleRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleFilled.js new file mode 100644 index 00000000..1800f288 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm184.5 353.7l-178 246a7.95 7.95 0 01-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z" } }] }, "name": "down-circle", "theme": "filled" }; +exports.default = DownCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleOutlined.js new file mode 100644 index 00000000..211184ae --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "down-circle", "theme": "outlined" }; +exports.default = DownCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleTwoTone.js new file mode 100644 index 00000000..17fcbfec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm184.4 277.7l-178 246a7.95 7.95 0 01-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z", "fill": primaryColor } }] }; }, "name": "down-circle", "theme": "twotone" }; +exports.default = DownCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js new file mode 100644 index 00000000..9979d783 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" } }] }, "name": "down", "theme": "outlined" }; +exports.default = DownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareFilled.js new file mode 100644 index 00000000..e7b57522 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM696.5 412.7l-178 246a7.95 7.95 0 01-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z" } }] }, "name": "down-square", "theme": "filled" }; +exports.default = DownSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareOutlined.js new file mode 100644 index 00000000..84d53889 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "down-square", "theme": "outlined" }; +exports.default = DownSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareTwoTone.js new file mode 100644 index 00000000..03d46b08 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm150-440h46.9c10.3 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7l-178 246a7.95 7.95 0 01-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z", "fill": primaryColor } }] }; }, "name": "down-square", "theme": "twotone" }; +exports.default = DownSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownloadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownloadOutlined.js new file mode 100644 index 00000000..0cb75469 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DownloadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DownloadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z" } }] }, "name": "download", "theme": "outlined" }; +exports.default = DownloadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DragOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DragOutlined.js new file mode 100644 index 00000000..b5f4f62f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DragOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DragOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M909.3 506.3L781.7 405.6a7.23 7.23 0 00-11.7 5.7V476H548V254h64.8c6 0 9.4-7 5.7-11.7L517.7 114.7a7.14 7.14 0 00-11.3 0L405.6 242.3a7.23 7.23 0 005.7 11.7H476v222H254v-64.8c0-6-7-9.4-11.7-5.7L114.7 506.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h222v222h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V548h222v64.8c0 6 7 9.4 11.7 5.7l127.5-100.8a7.3 7.3 0 00.1-11.4z" } }] }, "name": "drag", "theme": "outlined" }; +exports.default = DragOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleCircleFilled.js new file mode 100644 index 00000000..6e6dfbd1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DribbbleCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M675.1 328.3a245.2 245.2 0 00-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6zm47.7-11.9c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 736c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm53.1-346.2c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm30.6 82.5c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4z" } }] }, "name": "dribbble-circle", "theme": "filled" }; +exports.default = DribbbleCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleOutlined.js new file mode 100644 index 00000000..762b6928 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DribbbleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 96C282.6 96 96 282.6 96 512s186.6 416 416 416 416-186.6 416-416S741.4 96 512 96zm275.1 191.8c49.5 60.5 79.5 137.5 80.2 221.4-11.7-2.5-129.2-26.3-247.4-11.4-2.5-6.1-5-12.2-7.6-18.3-7.4-17.3-15.3-34.6-23.6-51.5C720 374.3 779.6 298 787.1 287.8zM512 157.2c90.3 0 172.8 33.9 235.5 89.5-6.4 9.1-59.9 81-186.2 128.4-58.2-107-122.7-194.8-132.6-208 27.3-6.6 55.2-9.9 83.3-9.9zM360.9 191c9.4 12.8 72.9 100.9 131.7 205.5C326.4 440.6 180 440 164.1 439.8c23.1-110.3 97.4-201.9 196.8-248.8zM156.7 512.5c0-3.6.1-7.3.2-10.9 15.5.3 187.7 2.5 365.2-50.6 10.2 19.9 19.9 40.1 28.8 60.3-4.7 1.3-9.4 2.7-14 4.2C353.6 574.9 256.1 736.4 248 750.1c-56.7-63-91.3-146.3-91.3-237.6zM512 867.8c-82.2 0-157.9-28-218.1-75 6.4-13.1 78.3-152 278.7-221.9l2.3-.8c49.9 129.6 70.5 238.3 75.8 269.5A350.46 350.46 0 01512 867.8zm198.5-60.7c-3.6-21.6-22.5-125.6-69-253.3C752.9 536 850.7 565.2 862.8 569c-15.8 98.8-72.5 184.2-152.3 238.1z" } }] }, "name": "dribbble", "theme": "outlined" }; +exports.default = DribbbleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareFilled.js new file mode 100644 index 00000000..e7ec0d72 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DribbbleSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 00-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z" } }] }, "name": "dribbble-square", "theme": "filled" }; +exports.default = DribbbleSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareOutlined.js new file mode 100644 index 00000000..29f40e5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DribbbleSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DribbbleSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 00-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z" } }] }, "name": "dribbble-square", "theme": "outlined" }; +exports.default = DribbbleSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxCircleFilled.js new file mode 100644 index 00000000..047da20d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DropboxCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M663.8 455.5zm-151.5-93.8l-151.8 93.8 151.8 93.9 151.5-93.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm151.2 595.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1z" } }] }, "name": "dropbox-circle", "theme": "filled" }; +exports.default = DropboxCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxOutlined.js new file mode 100644 index 00000000..95abf424 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DropboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M64 556.9l264.2 173.5L512.5 577 246.8 412.7zm896-290.3zm0 0L696.8 95 512.5 248.5l265.2 164.2L512.5 577l184.3 153.4L960 558.8 777.7 412.7zM513 609.8L328.2 763.3l-79.4-51.5v57.8L513 928l263.7-158.4v-57.8l-78.9 51.5zM328.2 95L64 265.1l182.8 147.6 265.7-164.2zM64 556.9z" } }] }, "name": "dropbox", "theme": "outlined" }; +exports.default = DropboxOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxSquareFilled.js new file mode 100644 index 00000000..9a24f79d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/DropboxSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var DropboxSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM663.2 659.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1zM512.3 361.7l-151.8 93.8 151.8 93.9 151.5-93.9zm151.5 93.8z" } }] }, "name": "dropbox-square", "theme": "filled" }; +exports.default = DropboxSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditFilled.js new file mode 100644 index 00000000..0bceb2f1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EditFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z" } }] }, "name": "edit", "theme": "filled" }; +exports.default = EditFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditOutlined.js new file mode 100644 index 00000000..cc8e0582 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EditOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z" } }] }, "name": "edit", "theme": "outlined" }; +exports.default = EditOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditTwoTone.js new file mode 100644 index 00000000..cde58d64 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EditTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EditTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M761.1 288.3L687.8 215 325.1 577.6l-15.6 89 88.9-15.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89z", "fill": primaryColor } }] }; }, "name": "edit", "theme": "twotone" }; +exports.default = EditTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js new file mode 100644 index 00000000..aad4f39e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EllipsisOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "ellipsis", "theme": "outlined" }; +exports.default = EllipsisOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnterOutlined.js new file mode 100644 index 00000000..ee2d3062 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EnterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z" } }] }, "name": "enter", "theme": "outlined" }; +exports.default = EnterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentFilled.js new file mode 100644 index 00000000..523538d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EnvironmentFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 327c-29.9 0-58 11.6-79.2 32.8A111.6 111.6 0 00400 439c0 29.9 11.7 58 32.8 79.2A111.6 111.6 0 00512 551c29.9 0 58-11.7 79.2-32.8C612.4 497 624 468.9 624 439c0-29.9-11.6-58-32.8-79.2S541.9 327 512 327zm342.6-37.9a362.49 362.49 0 00-79.9-115.7 370.83 370.83 0 00-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 00169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0022.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z" } }] }, "name": "environment", "theme": "filled" }; +exports.default = EnvironmentFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentOutlined.js new file mode 100644 index 00000000..de0bec10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EnvironmentOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 289.1a362.49 362.49 0 00-79.9-115.7 370.83 370.83 0 00-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 00169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0022.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1zm0-617.2c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8C612.4 381 624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z" } }] }, "name": "environment", "theme": "outlined" }; +exports.default = EnvironmentOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentTwoTone.js new file mode 100644 index 00000000..19ba5574 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EnvironmentTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EnvironmentTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M724.4 224.9C667.7 169.5 592.3 139 512 139s-155.7 30.5-212.4 85.8C243.1 280 212 353.2 212 431.1c0 241.3 234.1 407.2 300 449.1 65.9-41.9 300-207.8 300-449.1 0-77.9-31.1-151.1-87.6-206.2zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 263c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8S624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 289.1a362.49 362.49 0 00-79.9-115.7 370.83 370.83 0 00-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 00169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0022.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1z", "fill": primaryColor } }] }; }, "name": "environment", "theme": "twotone" }; +exports.default = EnvironmentTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleFilled.js new file mode 100644 index 00000000..87f223d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EuroCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm63.5 375.8c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8h-136c-.3 4.4-.3 9.1-.3 13.8v36h136.2c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H444.9c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.2 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.3 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.8.3-12.8H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.7c19.7-94.2 92-149.9 198.6-149.9 20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346h.1c0 5.1-4.6 8.8-9.6 7.8-14.7-2.9-31.8-4.4-51.7-4.4-65.4 0-110.4 33.5-127.6 90.4h128.4z" } }] }, "name": "euro-circle", "theme": "filled" }; +exports.default = EuroCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleOutlined.js new file mode 100644 index 00000000..154bd8f2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EuroCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 009.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z" } }] }, "name": "euro-circle", "theme": "outlined" }; +exports.default = EuroCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleTwoTone.js new file mode 100644 index 00000000..e7388274 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EuroCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 01-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 009.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z", "fill": primaryColor } }] }; }, "name": "euro-circle", "theme": "twotone" }; +exports.default = EuroCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroOutlined.js new file mode 100644 index 00000000..d66580d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EuroOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 009.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z" } }] }, "name": "euro", "theme": "outlined" }; +exports.default = EuroOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroTwoTone.js new file mode 100644 index 00000000..f3fdcecd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EuroTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EuroTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 01-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 009.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z", "fill": primaryColor } }] }; }, "name": "euro", "theme": "twotone" }; +exports.default = EuroTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExceptionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExceptionOutlined.js new file mode 100644 index 00000000..4118df5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExceptionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExceptionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM640 812a32 32 0 1064 0 32 32 0 10-64 0zm12-64h40c4.4 0 8-3.6 8-8V628c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "exception", "theme": "outlined" }; +exports.default = ExceptionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleFilled.js new file mode 100644 index 00000000..88179de9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExclamationCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "exclamation-circle", "theme": "filled" }; +exports.default = ExclamationCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined.js new file mode 100644 index 00000000..e5ece0df --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExclamationCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z" } }] }, "name": "exclamation-circle", "theme": "outlined" }; +exports.default = ExclamationCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleTwoTone.js new file mode 100644 index 00000000..afffa4ac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExclamationCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-32 156c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M488 576h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8zm-24 112a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "exclamation-circle", "theme": "twotone" }; +exports.default = ExclamationCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationOutlined.js new file mode 100644 index 00000000..bbc7f619 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExclamationOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExclamationOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M448 804a64 64 0 10128 0 64 64 0 10-128 0zm32-168h64c4.4 0 8-3.6 8-8V164c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z" } }] }, "name": "exclamation", "theme": "outlined" }; +exports.default = ExclamationOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandAltOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandAltOutlined.js new file mode 100644 index 00000000..55bd26ca --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandAltOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExpandAltOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 000 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0013.5-4.7L863.9 169a7.9 7.9 0 00-8.9-8.9zM416.6 562.3a8.03 8.03 0 00-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 00-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z" } }] }, "name": "expand-alt", "theme": "outlined" }; +exports.default = ExpandAltOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandOutlined.js new file mode 100644 index 00000000..f419f1c1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExpandOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExpandOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M342 88H120c-17.7 0-32 14.3-32 32v224c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V168h174c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zm578 576h-48c-8.8 0-16 7.2-16 16v176H682c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h222c17.7 0 32-14.3 32-32V680c0-8.8-7.2-16-16-16zM342 856H168V680c0-8.8-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16v224c0 17.7 14.3 32 32 32h222c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zM904 88H682c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h174v176c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V120c0-17.7-14.3-32-32-32z" } }] }, "name": "expand", "theme": "outlined" }; +exports.default = ExpandOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentFilled.js new file mode 100644 index 00000000..090f7280 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExperimentFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M218.9 636.3l42.6 26.6c.1.1.3.2.4.3l12.7 8 .3.3a186.9 186.9 0 0094.1 25.1c44.9 0 87.2-15.7 121-43.8a256.27 256.27 0 01164.9-59.9c52.3 0 102.2 15.7 144.6 44.5l7.9 5-111.6-289V179.8h63.5c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8H264.7c-4.4 0-8 3.6-8 8v51.9c0 4.4 3.6 8 8 8h63.5v173.6L218.9 636.3zm333-203.1c22 0 39.9 17.9 39.9 39.9S573.9 513 551.9 513 512 495.1 512 473.1s17.9-39.9 39.9-39.9zM878 825.1l-29.9-77.4-85.7-53.5-.1.1c-.7-.5-1.5-1-2.2-1.5l-8.1-5-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 01-164.9 59.9c-53 0-103.5-16.1-146.2-45.6l-28.9-18.1L146 825.1c-2.8 7.4-4.3 15.2-4.3 23 0 35.2 28.6 63.8 63.8 63.8h612.9c7.9 0 15.7-1.5 23-4.3a63.6 63.6 0 0036.6-82.5z" } }] }, "name": "experiment", "theme": "filled" }; +exports.default = ExperimentFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentOutlined.js new file mode 100644 index 00000000..ee03115f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExperimentOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z" } }] }, "name": "experiment", "theme": "outlined" }; +exports.default = ExperimentOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentTwoTone.js new file mode 100644 index 00000000..92b7ae5b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExperimentTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExperimentTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M551.9 513c19.6 0 35.9-14.2 39.3-32.8A40.02 40.02 0 01552 512a40 40 0 01-40-39.4v.5c0 22 17.9 39.9 39.9 39.9zM752 687.8l-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 01-164.9 59.9c-41.2 0-81-9.8-116.7-28L210.5 844h603l-59.9-155.2-1.6-1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M879 824.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.6-107.6.1-.2c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1l.6 1.6L813.5 844h-603z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M552 512c19.3 0 35.4-13.6 39.2-31.8.6-2.7.8-5.4.8-8.2 0-22.1-17.9-40-40-40s-40 17.9-40 40v.6a40 40 0 0040 39.4z", "fill": primaryColor } }] }; }, "name": "experiment", "theme": "twotone" }; +exports.default = ExperimentTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExportOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExportOutlined.js new file mode 100644 index 00000000..f86abe82 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ExportOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ExportOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z" } }] }, "name": "export", "theme": "outlined" }; +exports.default = ExportOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeFilled.js new file mode 100644 index 00000000..8309f76f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M396 512a112 112 0 10224 0 112 112 0 10-224 0zm546.2-25.8C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM508 688c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z" } }] }, "name": "eye", "theme": "filled" }; +exports.default = EyeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleFilled.js new file mode 100644 index 00000000..73a64329 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeInvisibleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M508 624a112 112 0 00112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 00-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 000 11.31L155.25 889a8 8 0 0011.31 0l712.16-712.12a8 8 0 000-11.32zM332 512a176 176 0 01258.88-155.28l-48.62 48.62a112.08 112.08 0 00-140.92 140.92l-48.62 48.62A175.09 175.09 0 01332 512z" } }, { "tag": "path", "attrs": { "d": "M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 01445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5z" } }] }, "name": "eye-invisible", "theme": "filled" }; +exports.default = EyeInvisibleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleOutlined.js new file mode 100644 index 00000000..41520fb9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeInvisibleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z" } }, { "tag": "path", "attrs": { "d": "M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z" } }] }, "name": "eye-invisible", "theme": "outlined" }; +exports.default = EyeInvisibleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleTwoTone.js new file mode 100644 index 00000000..ea3e9c77 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeInvisibleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeInvisibleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M254.89 758.85l125.57-125.57a176 176 0 01248.82-248.82L757 256.72Q651.69 186.07 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q69.27 145.91 173.09 221.05zM942.2 486.2Q889.46 375.11 816.7 305L672.48 449.27a176.09 176.09 0 01-227.22 227.21L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zM878.63 165.56L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z", "fill": primaryColor } }] }; }, "name": "eye-invisible", "theme": "twotone" }; +exports.default = EyeInvisibleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeOutlined.js new file mode 100644 index 00000000..66b47509 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z" } }] }, "name": "eye", "theme": "outlined" }; +exports.default = EyeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeTwoTone.js new file mode 100644 index 00000000..05fc06eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/EyeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var EyeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M81.8 537.8a60.3 60.3 0 010-51.5C176.6 286.5 319.8 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c-192.1 0-335.4-100.5-430.2-300.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 258c-161.3 0-279.4 81.8-362.7 254C232.6 684.2 350.7 766 512 766c161.4 0 279.5-81.8 362.7-254C791.4 339.8 673.3 258 512 258zm-4 430c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258s279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z", "fill": primaryColor } }] }; }, "name": "eye", "theme": "twotone" }; +exports.default = EyeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookFilled.js new file mode 100644 index 00000000..7920f00a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FacebookFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z" } }] }, "name": "facebook", "theme": "filled" }; +exports.default = FacebookFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookOutlined.js new file mode 100644 index 00000000..d785e636 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FacebookOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FacebookOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 736H663.9V602.2h104l15.6-120.7H663.9v-77.1c0-35 9.7-58.8 59.8-58.8h63.9v-108c-11.1-1.5-49-4.8-93.2-4.8-92.2 0-155.3 56.3-155.3 159.6v89H434.9v120.7h104.3V848H176V176h672v672z" } }] }, "name": "facebook", "theme": "outlined" }; +exports.default = FacebookOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FallOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FallOutlined.js new file mode 100644 index 00000000..11943a85 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FallOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FallOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M925.9 804l-24-199.2c-.8-6.6-8.9-9.4-13.6-4.7L829 659.5 557.7 388.3c-6.3-6.2-16.4-6.2-22.6 0L433.3 490 156.6 213.3a8.03 8.03 0 00-11.3 0l-45 45.2a8.03 8.03 0 000 11.3L422 591.7c6.2 6.3 16.4 6.3 22.6 0L546.4 490l226.1 226-59.3 59.3a8.01 8.01 0 004.7 13.6l199.2 24c5.1.7 9.5-3.7 8.8-8.9z" } }] }, "name": "fall", "theme": "outlined" }; +exports.default = FallOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardFilled.js new file mode 100644 index 00000000..892531b3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FastBackwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M517.6 273.5L230.2 499.3a16.14 16.14 0 000 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 000 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z" } }] }, "name": "fast-backward", "theme": "filled" }; +exports.default = FastBackwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardOutlined.js new file mode 100644 index 00000000..fbc65de3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastBackwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FastBackwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M517.6 273.5L230.2 499.3a16.14 16.14 0 000 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 000 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z" } }] }, "name": "fast-backward", "theme": "outlined" }; +exports.default = FastBackwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardFilled.js new file mode 100644 index 00000000..8bd1e174 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FastForwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 000-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z" } }] }, "name": "fast-forward", "theme": "filled" }; +exports.default = FastForwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardOutlined.js new file mode 100644 index 00000000..68e87652 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FastForwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FastForwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 000-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z" } }] }, "name": "fast-forward", "theme": "outlined" }; +exports.default = FastForwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldBinaryOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldBinaryOutlined.js new file mode 100644 index 00000000..cdbde769 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldBinaryOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FieldBinaryOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M600 395.4h91V649h79V267c0-4.4-3.6-8-8-8h-48.2c-3.7 0-7 2.6-7.7 6.3-2.6 12.1-6.9 22.3-12.9 30.9a86.14 86.14 0 01-26.3 24.4c-10.3 6.2-22 10.5-35 12.9-10.4 1.9-21 3-32 3.1a8 8 0 00-7.9 8v42.8c0 4.4 3.6 8 8 8zM871 702H567c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM443.9 312.7c-16.1-19-34.4-32.4-55.2-40.4-21.3-8.2-44.1-12.3-68.4-12.3-23.9 0-46.4 4.1-67.7 12.3-20.8 8-39 21.4-54.8 40.3-15.9 19.1-28.7 44.7-38.3 77-9.6 32.5-14.5 73-14.5 121.5 0 49.9 4.9 91.4 14.5 124.4 9.6 32.8 22.4 58.7 38.3 77.7 15.8 18.9 34 32.3 54.8 40.3 21.3 8.2 43.8 12.3 67.7 12.3 24.4 0 47.2-4.1 68.4-12.3 20.8-8 39.2-21.4 55.2-40.4 16.1-19 29-44.9 38.6-77.7 9.6-33 14.5-74.5 14.5-124.4 0-48.4-4.9-88.9-14.5-121.5-9.5-32.1-22.4-57.7-38.6-76.8zm-29.5 251.7c-1 21.4-4.2 42-9.5 61.9-5.5 20.7-14.5 38.5-27 53.4-13.6 16.3-33.2 24.3-57.6 24.3-24 0-43.2-8.1-56.7-24.4-12.2-14.8-21.1-32.6-26.6-53.3-5.3-19.9-8.5-40.6-9.5-61.9-1-20.8-1.5-38.5-1.5-53.2 0-8.8.1-19.4.4-31.8.2-12.7 1.1-25.8 2.6-39.2 1.5-13.6 4-27.1 7.6-40.5 3.7-13.8 8.8-26.3 15.4-37.4 6.9-11.6 15.8-21.1 26.7-28.3 11.4-7.6 25.3-11.3 41.5-11.3 16.1 0 30.1 3.7 41.7 11.2a87.94 87.94 0 0127.4 28.2c6.9 11.2 12.1 23.8 15.6 37.7 3.3 13.2 5.8 26.6 7.5 40.1 1.8 13.5 2.8 26.6 3 39.4.2 12.4.4 23 .4 31.8.1 14.8-.4 32.5-1.4 53.3z" } }] }, "name": "field-binary", "theme": "outlined" }; +exports.default = FieldBinaryOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldNumberOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldNumberOutlined.js new file mode 100644 index 00000000..6d07d795 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldNumberOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FieldNumberOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M508 280h-63.3c-3.3 0-6 2.7-6 6v340.2H433L197.4 282.6c-1.1-1.6-3-2.6-4.9-2.6H126c-3.3 0-6 2.7-6 6v464c0 3.3 2.7 6 6 6h62.7c3.3 0 6-2.7 6-6V405.1h5.7l238.2 348.3c1.1 1.6 3 2.6 5 2.6H508c3.3 0 6-2.7 6-6V286c0-3.3-2.7-6-6-6zm378 413H582c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-152.2-63c52.9 0 95.2-17.2 126.2-51.7 29.4-32.9 44-75.8 44-128.8 0-53.1-14.6-96.5-44-129.3-30.9-34.8-73.2-52.2-126.2-52.2-53.7 0-95.9 17.5-126.3 52.8-29.2 33.1-43.4 75.9-43.4 128.7 0 52.4 14.3 95.2 43.5 128.3 30.6 34.7 73 52.2 126.2 52.2zm-71.5-263.7c16.9-20.6 40.3-30.9 71.4-30.9 31.5 0 54.8 9.6 71 29.1 16.4 20.3 24.9 48.6 24.9 84.9 0 36.3-8.4 64.1-24.8 83.9-16.5 19.4-40 29.2-71.1 29.2-31.2 0-55-10.3-71.4-30.4-16.3-20.1-24.5-47.3-24.5-82.6.1-35.8 8.2-63 24.5-83.2z" } }] }, "name": "field-number", "theme": "outlined" }; +exports.default = FieldNumberOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldStringOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldStringOutlined.js new file mode 100644 index 00000000..5bb8b2a8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldStringOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FieldStringOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M875.6 515.9c2.1.8 4.4-.3 5.2-2.4.2-.4.2-.9.2-1.4v-58.3c0-1.8-1.1-3.3-2.8-3.8-6-1.8-17.2-3-27.2-3-32.9 0-61.7 16.7-73.5 41.2v-28.6c0-4.4-3.6-8-8-8H717c-4.4 0-8 3.6-8 8V729c0 4.4 3.6 8 8 8h54.8c4.4 0 8-3.6 8-8V572.7c0-36.2 26.1-60.2 65.1-60.2 10.4.1 26.6 1.8 30.7 3.4zm-537-40.5l-54.7-12.6c-61.2-14.2-87.7-34.8-87.7-70.7 0-44.6 39.1-73.5 96.9-73.5 52.8 0 91.4 26.5 99.9 68.9h70C455.9 311.6 387.6 259 293.4 259c-103.3 0-171 55.5-171 139 0 68.6 38.6 109.5 122.2 128.5l61.6 14.3c63.6 14.9 91.6 37.1 91.6 75.1 0 44.1-43.5 75.2-102.5 75.2-60.6 0-104.5-27.2-112.8-70.5H111c7.2 79.9 75.6 130.4 179.1 130.4C402.3 751 471 695.2 471 605.3c0-70.2-38.6-108.5-132.4-129.9zM841 729a36 36 0 1072 0 36 36 0 10-72 0zM653 457.8h-51.4V396c0-4.4-3.6-8-8-8h-54.7c-4.4 0-8 3.6-8 8v61.8H495c-4.4 0-8 3.6-8 8v42.3c0 4.4 3.6 8 8 8h35.9v147.5c0 56.2 27.4 79.4 93.1 79.4 11.7 0 23.6-1.2 33.8-3.1 1.9-.3 3.2-2 3.2-3.9v-49.3c0-2.2-1.8-4-4-4h-.4c-4.9.5-6.2.6-8.3.8-4.1.3-7.8.5-12.6.5-24.1 0-34.1-10.3-34.1-35.6V516.1H653c4.4 0 8-3.6 8-8v-42.3c0-4.4-3.6-8-8-8z" } }] }, "name": "field-string", "theme": "outlined" }; +exports.default = FieldStringOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldTimeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldTimeOutlined.js new file mode 100644 index 00000000..10d6df02 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FieldTimeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FieldTimeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M945 412H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h256c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM811 548H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h122c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM477.3 322.5H434c-6.2 0-11.2 5-11.2 11.2v248c0 3.6 1.7 6.9 4.6 9l148.9 108.6c5 3.6 12 2.6 15.6-2.4l25.7-35.1v-.1c3.6-5 2.5-12-2.5-15.6l-126.7-91.6V333.7c.1-6.2-5-11.2-11.1-11.2z" } }, { "tag": "path", "attrs": { "d": "M804.8 673.9H747c-5.6 0-10.9 2.9-13.9 7.7a321 321 0 01-44.5 55.7 317.17 317.17 0 01-101.3 68.3c-39.3 16.6-81 25-124 25-43.1 0-84.8-8.4-124-25-37.9-16-72-39-101.3-68.3s-52.3-63.4-68.3-101.3c-16.6-39.2-25-80.9-25-124 0-43.1 8.4-84.7 25-124 16-37.9 39-72 68.3-101.3 29.3-29.3 63.4-52.3 101.3-68.3 39.2-16.6 81-25 124-25 43.1 0 84.8 8.4 124 25 37.9 16 72 39 101.3 68.3a321 321 0 0144.5 55.7c3 4.8 8.3 7.7 13.9 7.7h57.8c6.9 0 11.3-7.2 8.2-13.3-65.2-129.7-197.4-214-345-215.7-216.1-2.7-395.6 174.2-396 390.1C71.6 727.5 246.9 903 463.2 903c149.5 0 283.9-84.6 349.8-215.8a9.18 9.18 0 00-8.2-13.3z" } }] }, "name": "field-time", "theme": "outlined" }; +exports.default = FieldTimeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddFilled.js new file mode 100644 index 00000000..b0610e22 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileAddFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M480 580H372a8 8 0 00-8 8v48a8 8 0 008 8h108v108a8 8 0 008 8h48a8 8 0 008-8V644h108a8 8 0 008-8v-48a8 8 0 00-8-8H544V472a8 8 0 00-8-8h-48a8 8 0 00-8 8v108zm374.6-291.3c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z" } }] }, "name": "file-add", "theme": "filled" }; +exports.default = FileAddFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddOutlined.js new file mode 100644 index 00000000..0d65d653 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z" } }] }, "name": "file-add", "theme": "outlined" }; +exports.default = FileAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddTwoTone.js new file mode 100644 index 00000000..7012b44a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileAddTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileAddTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm126 236v48c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V644H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V472c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z", "fill": primaryColor } }] }; }, "name": "file-add", "theme": "twotone" }; +exports.default = FileAddTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileDoneOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileDoneOutlined.js new file mode 100644 index 00000000..4120b9f2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileDoneOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileDoneOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 00-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "file-done", "theme": "outlined" }; +exports.default = FileDoneOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelFilled.js new file mode 100644 index 00000000..f4a1be57 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExcelFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM575.34 477.84l-61.22 102.3L452.3 477.8a12 12 0 00-10.27-5.79h-38.44a12 12 0 00-6.4 1.85 12 12 0 00-3.75 16.56l82.34 130.42-83.45 132.78a12 12 0 00-1.84 6.39 12 12 0 0012 12h34.46a12 12 0 0010.21-5.7l62.7-101.47 62.3 101.45a12 12 0 0010.23 5.72h37.48a12 12 0 006.48-1.9 12 12 0 003.62-16.58l-83.83-130.55 85.3-132.47a12 12 0 001.9-6.5 12 12 0 00-12-12h-35.7a12 12 0 00-10.29 5.84z" } }] }, "name": "file-excel", "theme": "filled" }; +exports.default = FileExcelFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelOutlined.js new file mode 100644 index 00000000..565a1f4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExcelOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z" } }] }, "name": "file-excel", "theme": "outlined" }; +exports.default = FileExcelOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelTwoTone.js new file mode 100644 index 00000000..be94363d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExcelTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExcelTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm51.6 120h35.7a12.04 12.04 0 0110.1 18.5L546.1 623l84 130.4c3.6 5.6 2 13-3.6 16.6-2 1.2-4.2 1.9-6.5 1.9h-37.5c-4.1 0-8-2.1-10.2-5.7L510 664.8l-62.7 101.5c-2.2 3.5-6 5.7-10.2 5.7h-34.5a12.04 12.04 0 01-10.2-18.4l83.4-132.8-82.3-130.4c-3.6-5.7-1.9-13.1 3.7-16.6 1.9-1.3 4.1-1.9 6.4-1.9H442c4.2 0 8.1 2.2 10.3 5.8l61.8 102.4 61.2-102.3c2.2-3.6 6.1-5.8 10.3-5.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0010.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 00-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z", "fill": primaryColor } }] }; }, "name": "file-excel", "theme": "twotone" }; +exports.default = FileExcelTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationFilled.js new file mode 100644 index 00000000..55ad87f4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExclamationFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 784a40 40 0 100-80 40 40 0 000 80zm32-152V448a8 8 0 00-8-8h-48a8 8 0 00-8 8v184a8 8 0 008 8h48a8 8 0 008-8z" } }] }, "name": "file-exclamation", "theme": "filled" }; +exports.default = FileExclamationFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationOutlined.js new file mode 100644 index 00000000..7dac42b4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExclamationOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM472 744a40 40 0 1080 0 40 40 0 10-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z" } }] }, "name": "file-exclamation", "theme": "outlined" }; +exports.default = FileExclamationOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationTwoTone.js new file mode 100644 index 00000000..338904e9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileExclamationTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileExclamationTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm-54 96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V448zm32 336c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M488 640h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm-16 104a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }] }; }, "name": "file-exclamation", "theme": "twotone" }; +exports.default = FileExclamationTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileFilled.js new file mode 100644 index 00000000..e61185d0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z" } }] }, "name": "file", "theme": "filled" }; +exports.default = FileFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileGifOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileGifOutlined.js new file mode 100644 index 00000000..4d16a410 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileGifOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileGifOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M551.5 490.5H521c-4.6 0-8.4 3.7-8.4 8.4V720c0 4.6 3.7 8.4 8.4 8.4h30.5c4.6 0 8.4-3.7 8.4-8.4V498.9c-.1-4.6-3.8-8.4-8.4-8.4zM477.3 600h-88.1c-4.6 0-8.4 3.7-8.4 8.4v23.8c0 4.6 3.7 8.4 8.4 8.4h47.6v.7c-.6 29.9-23 49.8-56.5 49.8-39.2 0-63.6-30.7-63.6-81.4 0-50.1 23.9-80.6 62.3-80.6 28.1 0 47.5 13.5 55.4 38.3l.9 2.8h49.2l-.7-4.6C475.9 515.9 434.7 484 379 484c-68.8 0-113 49.4-113 125.9 0 77.5 43.7 126.1 113.6 126.1 64.4 0 106-40.3 106-102.9v-24.8c0-4.6-3.7-8.3-8.3-8.3z" } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z" } }, { "tag": "path", "attrs": { "d": "M608.2 727.8h32.3c4.6 0 8.4-3.7 8.4-8.4v-84.8h87.8c4.6 0 8.4-3.7 8.4-8.4v-25.5c0-4.6-3.7-8.4-8.4-8.4h-87.8v-58.9h96.8c4.6 0 8.4-3.7 8.4-8.4v-26.8c0-4.6-3.7-8.4-8.4-8.4H608.2c-4.6 0-8.4 3.7-8.4 8.4v221.1c0 4.8 3.8 8.5 8.4 8.5z" } }] }, "name": "file-gif", "theme": "outlined" }; +exports.default = FileGifOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageFilled.js new file mode 100644 index 00000000..09ad454d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileImageFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM400 402c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0112.6 0l41.1 52.4 77.8-99.2a8 8 0 0112.6 0l136.5 174c4.3 5.2.5 12.9-6.1 12.9zm-94-370V137.8L790.2 326H602z" } }] }, "name": "file-image", "theme": "filled" }; +exports.default = FileImageFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageOutlined.js new file mode 100644 index 00000000..cc6edacc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileImageOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z" } }] }, "name": "file-image", "theme": "outlined" }; +exports.default = FileImageOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageTwoTone.js new file mode 100644 index 00000000..8833f463 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileImageTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileImageTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm-134 50c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328.1c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0112.6 0l41.1 52.4 77.8-99.2a8.1 8.1 0 0112.7 0l136.5 174c4.1 5.2.4 12.9-6.3 12.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }] }; }, "name": "file-image", "theme": "twotone" }; +exports.default = FileImageTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileJpgOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileJpgOutlined.js new file mode 100644 index 00000000..4b7e59f6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileJpgOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileJpgOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M874.6 301.8L596.8 21.3c-4.5-4.5-9.4-8.3-14.7-11.5-1.4-.8-2.8-1.6-4.3-2.3-.9-.5-1.9-.9-2.8-1.3-9-4-18.9-6.2-29-6.2H201c-39.8 0-73 32.2-73 72v880c0 39.8 33.2 72 73 72h623c39.8 0 71-32.2 71-72V352.5c0-19-7-37.2-20.4-50.7zM583 110.4L783.8 312H583V110.4zM823 952H200V72h311v240c0 39.8 33.2 72 73 72h239v568zM350 696.5c0 24.2-7.5 31.4-21.9 31.4-9 0-18.4-5.8-24.8-18.5L272.9 732c13.4 22.9 32.3 34.2 61.3 34.2 41.6 0 60.8-29.9 60.8-66.2V577h-45v119.5zM501.3 577H437v186h44v-62h21.6c39.1 0 73.1-19.6 73.1-63.6 0-45.8-33.5-60.4-74.4-60.4zm-.8 89H481v-53h18.2c21.5 0 33.4 6.2 33.4 24.9 0 18.1-10.5 28.1-32.1 28.1zm182.5-9v36h30v30.1c-4 2.9-11 4.7-17.7 4.7-34.3 0-50.7-21.4-50.7-58.2 0-36.1 19.7-57.4 47.1-57.4 15.3 0 25 6.2 34 14.4l23.7-28.3c-12.7-12.8-32.1-24.2-59.2-24.2-49.6 0-91.1 35.3-91.1 97 0 62.7 40 95.1 91.5 95.1 25.9 0 49.2-10.2 61.5-22.6V657H683z" } }] }, "name": "file-jpg", "theme": "outlined" }; +exports.default = FileJpgOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownFilled.js new file mode 100644 index 00000000..4ce85118 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileMarkdownFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM426.13 600.93l59.11 132.97a16 16 0 0014.62 9.5h24.06a16 16 0 0014.63-9.51l59.1-133.35V758a16 16 0 0016.01 16H641a16 16 0 0016-16V486a16 16 0 00-16-16h-34.75a16 16 0 00-14.67 9.62L512.1 662.2l-79.48-182.59a16 16 0 00-14.67-9.61H383a16 16 0 00-16 16v272a16 16 0 0016 16h27.13a16 16 0 0016-16V600.93z" } }] }, "name": "file-markdown", "theme": "filled" }; +exports.default = FileMarkdownFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownOutlined.js new file mode 100644 index 00000000..cf7790c5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileMarkdownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0011 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z" } }] }, "name": "file-markdown", "theme": "outlined" }; +exports.default = FileMarkdownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownTwoTone.js new file mode 100644 index 00000000..56a51869 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileMarkdownTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileMarkdownTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm72.3 122H641c6.6 0 12 5.4 12 12v272c0 6.6-5.4 12-12 12h-27.2c-6.6 0-12-5.4-12-12V581.7L535 732.3c-2 4.3-6.3 7.1-11 7.1h-24.1a12 12 0 01-11-7.1l-66.8-150.2V758c0 6.6-5.4 12-12 12H383c-6.6 0-12-5.4-12-12V486c0-6.6 5.4-12 12-12h35c4.8 0 9.1 2.8 11 7.2l83.2 191 83.1-191c1.9-4.4 6.2-7.2 11-7.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0011 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z", "fill": primaryColor } }] }; }, "name": "file-markdown", "theme": "twotone" }; +exports.default = FileMarkdownTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileOutlined.js new file mode 100644 index 00000000..64902b25 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z" } }] }, "name": "file", "theme": "outlined" }; +exports.default = FileOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfFilled.js new file mode 100644 index 00000000..6dcb62c6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePdfFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.22 637.26c-15.18-.5-31.32.67-49.65 2.96-24.3-14.99-40.66-35.58-52.28-65.83l1.07-4.38 1.24-5.18c4.3-18.13 6.61-31.36 7.3-44.7.52-10.07-.04-19.36-1.83-27.97-3.3-18.59-16.45-29.46-33.02-30.13-15.45-.63-29.65 8-33.28 21.37-5.91 21.62-2.45 50.07 10.08 98.59-15.96 38.05-37.05 82.66-51.2 107.54-18.89 9.74-33.6 18.6-45.96 28.42-16.3 12.97-26.48 26.3-29.28 40.3-1.36 6.49.69 14.97 5.36 21.92 5.3 7.88 13.28 13 22.85 13.74 24.15 1.87 53.83-23.03 86.6-79.26 3.29-1.1 6.77-2.26 11.02-3.7l11.9-4.02c7.53-2.54 12.99-4.36 18.39-6.11 23.4-7.62 41.1-12.43 57.2-15.17 27.98 14.98 60.32 24.8 82.1 24.8 17.98 0 30.13-9.32 34.52-23.99 3.85-12.88.8-27.82-7.48-36.08-8.56-8.41-24.3-12.43-45.65-13.12zM385.23 765.68v-.36l.13-.34a54.86 54.86 0 015.6-10.76c4.28-6.58 10.17-13.5 17.47-20.87 3.92-3.95 8-7.8 12.79-12.12 1.07-.96 7.91-7.05 9.19-8.25l11.17-10.4-8.12 12.93c-12.32 19.64-23.46 33.78-33 43-3.51 3.4-6.6 5.9-9.1 7.51a16.43 16.43 0 01-2.61 1.42c-.41.17-.77.27-1.13.3a2.2 2.2 0 01-1.12-.15 2.07 2.07 0 01-1.27-1.91zM511.17 547.4l-2.26 4-1.4-4.38c-3.1-9.83-5.38-24.64-6.01-38-.72-15.2.49-24.32 5.29-24.32 6.74 0 9.83 10.8 10.07 27.05.22 14.28-2.03 29.14-5.7 35.65zm-5.81 58.46l1.53-4.05 2.09 3.8c11.69 21.24 26.86 38.96 43.54 51.31l3.6 2.66-4.39.9c-16.33 3.38-31.54 8.46-52.34 16.85 2.17-.88-21.62 8.86-27.64 11.17l-5.25 2.01 2.8-4.88c12.35-21.5 23.76-47.32 36.05-79.77zm157.62 76.26c-7.86 3.1-24.78.33-54.57-12.39l-7.56-3.22 8.2-.6c23.3-1.73 39.8-.45 49.42 3.07 4.1 1.5 6.83 3.39 8.04 5.55a4.64 4.64 0 01-1.36 6.31 6.7 6.7 0 01-2.17 1.28z" } }] }, "name": "file-pdf", "theme": "filled" }; +exports.default = FilePdfFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfOutlined.js new file mode 100644 index 00000000..d9843e0f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePdfOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z" } }] }, "name": "file-pdf", "theme": "outlined" }; +exports.default = FilePdfOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfTwoTone.js new file mode 100644 index 00000000..735c5293 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePdfTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePdfTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M509.2 490.8c-.7-1.3-1.4-1.9-2.2-2-2.9 3.3-2.2 31.5 2.7 51.4 4-13.6 4.7-40.5-.5-49.4zm-1.6 120.5c-7.7 20-18.8 47.3-32.1 71.4 4-1.6 8.1-3.3 12.3-5 17.6-7.2 37.3-15.3 58.9-20.2-14.9-11.8-28.4-27.7-39.1-46.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm55 287.6c16.1-1.9 30.6-2.8 44.3-2.3 12.8.4 23.6 2 32 5.1.2.1.3.1.5.2.4.2.8.3 1.2.5.5.2 1.1.4 1.6.7.1.1.3.1.4.2 4.1 1.8 7.5 4 10.1 6.6 9.1 9.1 11.8 26.1 6.2 39.6-3.2 7.7-11.7 20.5-33.3 20.5-21.8 0-53.9-9.7-82.1-24.8-25.5 4.3-53.7 13.9-80.9 23.1-5.8 2-11.8 4-17.6 5.9-38 65.2-66.5 79.4-84.1 79.4-4.2 0-7.8-.9-10.8-2-6.9-2.6-12.8-8-16.5-15-.9-1.7-1.6-3.4-2.2-5.2-1.6-4.8-2.1-9.6-1.3-13.6l.6-2.7c.1-.2.1-.4.2-.6.2-.7.4-1.4.7-2.1 0-.1.1-.2.1-.3 4.1-11.9 13.6-23.4 27.7-34.6 12.3-9.8 27.1-18.7 45.9-28.4 15.9-28 37.6-75.1 51.2-107.4-10.8-41.8-16.7-74.6-10.1-98.6.9-3.3 2.5-6.4 4.6-9.1.2-.2.3-.4.5-.6.1-.1.1-.2.2-.2 6.3-7.5 16.9-11.9 28.1-11.5 16.6.7 29.7 11.5 33 30.1 1.7 8 2.2 16.5 1.9 25.7v.7c0 .5 0 1-.1 1.5-.7 13.3-3 26.6-7.3 44.7-.4 1.6-.8 3.2-1.2 5.2l-1 4.1-.1.3c.1.2.1.3.2.5l1.8 4.5c.1.3.3.7.4 1 .7 1.6 1.4 3.3 2.1 4.8v.1c8.7 18.8 19.7 33.4 33.9 45.1 4.3 3.5 8.9 6.7 13.9 9.8 1.8-.5 3.5-.7 5.3-.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M391.5 761c5.7-4.4 16.2-14.5 30.1-34.7-10.3 9.4-23.4 22.4-30.1 34.7zm270.9-83l.2-.3h.2c.6-.4.5-.7.4-.9-.1-.1-4.5-9.3-45.1-7.4 35.3 13.9 43.5 9.1 44.3 8.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M535.9 585.3c-.8-1.7-1.5-3.3-2.2-4.9-.1-.3-.3-.7-.4-1l-1.8-4.5c-.1-.2-.1-.3-.2-.5l.1-.3.2-1.1c4-16.3 8.6-35.3 9.4-54.4v-.7c.3-8.6-.2-17.2-2-25.6-3.8-21.3-19.5-29.6-32.9-30.2-11.3-.5-21.8 4-28.1 11.4-.1.1-.1.2-.2.2-.2.2-.4.4-.5.6-2.1 2.7-3.7 5.8-4.6 9.1-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.4-51.2 107.4v.1c-27.7 14.3-64.1 35.8-73.6 62.9 0 .1-.1.2-.1.3-.2.7-.5 1.4-.7 2.1-.1.2-.1.4-.2.6-.2.9-.5 1.8-.6 2.7-.9 4-.4 8.8 1.3 13.6.6 1.8 1.3 3.5 2.2 5.2 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-2.6-2.6-6-4.8-10.1-6.6-.1-.1-.3-.1-.4-.2-.5-.2-1.1-.4-1.6-.7-.4-.2-.8-.3-1.2-.5-.2-.1-.3-.1-.5-.2-16.2-5.8-41.7-6.7-76.3-2.8l-5.3.6c-5-3-9.6-6.3-13.9-9.8-14.2-11.3-25.1-25.8-33.8-44.7zM391.5 761c6.7-12.3 19.8-25.3 30.1-34.7-13.9 20.2-24.4 30.3-30.1 34.7zM507 488.8c.8.1 1.5.7 2.2 2 5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4zm-19.2 188.9c-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4 10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2zm175.4-.9c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4z", "fill": primaryColor } }] }; }, "name": "file-pdf", "theme": "twotone" }; +exports.default = FilePdfTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptFilled.js new file mode 100644 index 00000000..cd493f18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePptFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM468.53 760v-91.54h59.27c60.57 0 100.2-39.65 100.2-98.12 0-58.22-39.58-98.34-99.98-98.34H424a12 12 0 00-12 12v276a12 12 0 0012 12h32.53a12 12 0 0012-12zm0-139.33h34.9c47.82 0 67.19-12.93 67.19-50.33 0-32.05-18.12-50.12-49.87-50.12h-52.22v100.45z" } }] }, "name": "file-ppt", "theme": "filled" }; +exports.default = FilePptFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptOutlined.js new file mode 100644 index 00000000..515bbd4c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePptOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M424 476c-4.4 0-8 3.6-8 8v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.3c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1zm280-281.7L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z" } }] }, "name": "file-ppt", "theme": "outlined" }; +exports.default = FilePptOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptTwoTone.js new file mode 100644 index 00000000..d5746122 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilePptTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilePptTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M464.5 516.2v108.4h38.9c44.7 0 71.2-10.9 71.2-54.3 0-34.4-20.1-54.1-53.9-54.1h-56.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm90 218.4c0 55.2-36.8 94.1-96.2 94.1h-63.3V760c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V484c0-4.4 3.6-8 8-8v.1h104c59.7 0 96 39.8 96 94.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M424 476.1c-4.4-.1-8 3.5-8 7.9v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.2c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1z", "fill": primaryColor } }] }; }, "name": "file-ppt", "theme": "twotone" }; +exports.default = FilePptTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileProtectOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileProtectOutlined.js new file mode 100644 index 00000000..7ec15581 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileProtectOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileProtectOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M644.7 669.2a7.92 7.92 0 00-6.5-3.3H594c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.8-5.3 0-12.7-6.5-12.7h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-22.9-31.9zM688 306v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 458H208V148h560v296c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h312c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm402.6-320.8l-192-66.7c-.9-.3-1.7-.4-2.6-.4s-1.8.1-2.6.4l-192 66.7a7.96 7.96 0 00-5.4 7.5v251.1c0 2.5 1.1 4.8 3.1 6.3l192 150.2c1.4 1.1 3.2 1.7 4.9 1.7s3.5-.6 4.9-1.7l192-150.2c1.9-1.5 3.1-3.8 3.1-6.3V538.7c0-3.4-2.2-6.4-5.4-7.5zM826 763.7L688 871.6 550 763.7V577l138-48 138 48v186.7z" } }] }, "name": "file-protect", "theme": "outlined" }; +exports.default = FileProtectOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSearchOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSearchOutlined.js new file mode 100644 index 00000000..ff55f756 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSearchOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileSearchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm144 452H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm445.7 51.5l-93.3-93.3C814.7 780.7 828 743.9 828 704c0-97.2-78.8-176-176-176s-176 78.8-176 176 78.8 176 176 176c35.8 0 69-10.7 96.8-29l94.7 94.7c1.6 1.6 3.6 2.3 5.6 2.3s4.1-.8 5.6-2.3l31-31a7.9 7.9 0 000-11.2zM652 816c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z" } }] }, "name": "file-search", "theme": "outlined" }; +exports.default = FileSearchOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSyncOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSyncOutlined.js new file mode 100644 index 00000000..db7dd47d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileSyncOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileSyncOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M296 256c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm192 200v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8zm-48 396H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm104.1-115.6c1.8-34.5 16.2-66.8 40.8-91.4 26.2-26.2 62-41 99.1-41 37.4 0 72.6 14.6 99.1 41 3.2 3.2 6.3 6.6 9.2 10.1L769.2 673a8 8 0 003 14.1l93.3 22.5c5 1.2 9.8-2.6 9.9-7.7l.6-95.4a8 8 0 00-12.9-6.4l-20.3 15.8C805.4 569.6 748.1 540 684 540c-109.9 0-199.6 86.9-204 195.7-.2 4.5 3.5 8.3 8 8.3h48.1c4.3 0 7.8-3.3 8-7.6zM880 744h-48.1c-4.3 0-7.8 3.3-8 7.6-1.8 34.5-16.2 66.8-40.8 91.4-26.2 26.2-62 41-99.1 41-37.4 0-72.6-14.6-99.1-41-3.2-3.2-6.3-6.6-9.2-10.1l23.1-17.9a8 8 0 00-3-14.1l-93.3-22.5c-5-1.2-9.8 2.6-9.9 7.7l-.6 95.4a8 8 0 0012.9 6.4l20.3-15.8C562.6 918.4 619.9 948 684 948c109.9 0 199.6-86.9 204-195.7.2-4.5-3.5-8.3-8-8.3z" } }] }, "name": "file-sync", "theme": "outlined" }; +exports.default = FileSyncOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextFilled.js new file mode 100644 index 00000000..d35cd995 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileTextFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM320 482a8 8 0 00-8 8v48a8 8 0 008 8h384a8 8 0 008-8v-48a8 8 0 00-8-8H320zm0 136a8 8 0 00-8 8v48a8 8 0 008 8h184a8 8 0 008-8v-48a8 8 0 00-8-8H320z" } }] }, "name": "file-text", "theme": "filled" }; +exports.default = FileTextFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextOutlined.js new file mode 100644 index 00000000..062b04ca --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileTextOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z" } }] }, "name": "file-text", "theme": "outlined" }; +exports.default = FileTextOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextTwoTone.js new file mode 100644 index 00000000..2f4083d8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTextTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileTextTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm-22 322c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm200-184v48c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8zm192 128H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "file-text", "theme": "twotone" }; +exports.default = FileTextTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTwoTone.js new file mode 100644 index 00000000..e8e023a9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }] }; }, "name": "file", "theme": "twotone" }; +exports.default = FileTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownFilled.js new file mode 100644 index 00000000..2ba4561f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileUnknownFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm110 227a32 32 0 100-64 32 32 0 000 64z" } }] }, "name": "file-unknown", "theme": "filled" }; +exports.default = FileUnknownFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownOutlined.js new file mode 100644 index 00000000..8bc7556d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileUnknownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm78 195a32 32 0 1064 0 32 32 0 10-64 0z" } }] }, "name": "file-unknown", "theme": "outlined" }; +exports.default = FileUnknownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownTwoTone.js new file mode 100644 index 00000000..1805e04f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileUnknownTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileUnknownTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm-22 424c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm110-228.4c.7 44.9-29.7 84.5-74.3 98.9-5.7 1.8-9.7 7.3-9.7 13.3V672c0 5.5-4.5 10-10 10h-32c-5.5 0-10-4.5-10-10v-32c.2-19.8 15.4-37.3 34.7-40.1C549 596.2 570 574.3 570 549c0-28.1-25.8-51.5-58-51.5s-58 23.4-58 51.6c0 5.2-4.4 9.4-9.8 9.4h-32.4c-5.4 0-9.8-4.1-9.8-9.5 0-57.4 50.1-103.7 111.5-103 59.3.8 107.7 46.1 108.5 101.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M480 744a32 32 0 1064 0 32 32 0 10-64 0zm-78-195c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103z", "fill": primaryColor } }] }; }, "name": "file-unknown", "theme": "twotone" }; +exports.default = FileUnknownTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordFilled.js new file mode 100644 index 00000000..91a8fff2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileWordFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 566.1l52.81 197a12 12 0 0011.6 8.9h31.77a12 12 0 0011.6-8.88l74.37-276a12 12 0 00.4-3.12 12 12 0 00-12-12h-35.57a12 12 0 00-11.7 9.31l-45.78 199.1-49.76-199.32A12 12 0 00528.1 472h-32.2a12 12 0 00-11.64 9.1L434.6 680.01 388.5 481.3a12 12 0 00-11.68-9.29h-35.39a12 12 0 00-3.11.41 12 12 0 00-8.47 14.7l74.17 276A12 12 0 00415.6 772h31.99a12 12 0 0011.59-8.9l52.81-197z" } }] }, "name": "file-word", "theme": "filled" }; +exports.default = FileWordFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordOutlined.js new file mode 100644 index 00000000..e2e377da --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileWordOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 00-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 00-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z" } }] }, "name": "file-word", "theme": "outlined" }; +exports.default = FileWordOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordTwoTone.js new file mode 100644 index 00000000..2c7666e6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileWordTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileWordTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M534 352V136H232v752h560V394H576a42 42 0 01-42-42zm101.3 129.3c1.3-5.4 6.1-9.3 11.7-9.3h35.6a12.04 12.04 0 0111.6 15.1l-74.4 276c-1.4 5.3-6.2 8.9-11.6 8.9h-31.8c-5.4 0-10.2-3.7-11.6-8.9l-52.8-197-52.8 197c-1.4 5.3-6.2 8.9-11.6 8.9h-32c-5.4 0-10.2-3.7-11.6-8.9l-74.2-276a12.02 12.02 0 0111.6-15.1h35.4c5.6 0 10.4 3.9 11.7 9.3L434.6 680l49.7-198.9c1.3-5.4 6.1-9.1 11.6-9.1h32.2c5.5 0 10.3 3.7 11.6 9.1l49.8 199.3 45.8-199.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 00-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 00-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z", "fill": primaryColor } }] }; }, "name": "file-word", "theme": "twotone" }; +exports.default = FileWordTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipFilled.js new file mode 100644 index 00000000..be470583 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileZipFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM296 136v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm0 64v160h128V584H296zm48 48h32v64h-32v-64z" } }] }, "name": "file-zip", "theme": "filled" }; +exports.default = FileZipFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipOutlined.js new file mode 100644 index 00000000..c03ae391 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileZipOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M296 392h64v64h-64zm0 190v160h128V582h-64v-62h-64v62zm80 48v64h-32v-64h32zm-16-302h64v64h-64zm-64-64h64v64h-64zm64 192h64v64h-64zm0-256h64v64h-64zm494.6 88.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h64v64h64v-64h174v216a42 42 0 0042 42h216v494z" } }] }, "name": "file-zip", "theme": "outlined" }; +exports.default = FileZipOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipTwoTone.js new file mode 100644 index 00000000..1faa3b29 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FileZipTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FileZipTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M344 630h32v2h-32z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M534 352V136H360v64h64v64h-64v64h64v64h-64v64h64v64h-64v62h64v160H296V520h64v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h-64v752h560V394H576a42 42 0 01-42-42z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h64v64h64v-64h174v216a42 42 0 0042 42h216v494z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M296 392h64v64h-64zm0-128h64v64h-64zm0 318v160h128V582h-64v-62h-64v62zm48 50v-2h32v64h-32v-62zm16-432h64v64h-64zm0 256h64v64h-64zm0-128h64v64h-64z", "fill": primaryColor } }] }; }, "name": "file-zip", "theme": "twotone" }; +exports.default = FileZipTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterFilled.js new file mode 100644 index 00000000..7f653b5f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilterFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z" } }] }, "name": "filter", "theme": "filled" }; +exports.default = FilterFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterOutlined.js new file mode 100644 index 00000000..38693703 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z" } }] }, "name": "filter", "theme": "outlined" }; +exports.default = FilterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterTwoTone.js new file mode 100644 index 00000000..8053536e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FilterTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FilterTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M420.6 798h182.9V642H420.6zM411 561.4l9.5 16.6h183l9.5-16.6L811.3 226H212.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V642h182.9v156zm9.5-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z", "fill": primaryColor } }] }; }, "name": "filter", "theme": "twotone" }; +exports.default = FilterTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireFilled.js new file mode 100644 index 00000000..1d8d8b36 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FireFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9z" } }] }, "name": "fire", "theme": "filled" }; +exports.default = FireFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireOutlined.js new file mode 100644 index 00000000..ff61609d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FireOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z" } }] }, "name": "fire", "theme": "outlined" }; +exports.default = FireOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireTwoTone.js new file mode 100644 index 00000000..38c8241c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FireTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FireTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M737 438.6c-9.6 15.5-21.1 30.7-34.4 45.6a73.1 73.1 0 01-51 24.4 73.36 73.36 0 01-53.4-18.8 74.01 74.01 0 01-24.4-59.8c3-47.4-12.4-103.1-45.8-165.7-16.9-31.4-37.1-58.2-61.2-80.4a240 240 0 01-12.1 46.5 354.26 354.26 0 01-58.2 101 349.6 349.6 0 01-58.6 56.8c-34 26.1-62 60-80.8 97.9a275.96 275.96 0 00-29.1 124c0 74.9 29.5 145.3 83 198.4 53.7 53.2 125 82.4 201 82.4s147.3-29.2 201-82.4c53.5-53 83-123.5 83-198.4 0-39.2-8.1-77.3-24-113.1-9.3-21-21-40.5-35-58.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z", "fill": primaryColor } }] }; }, "name": "fire", "theme": "twotone" }; +exports.default = FireTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagFilled.js new file mode 100644 index 00000000..14848318 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FlagFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32z" } }] }, "name": "flag", "theme": "filled" }; +exports.default = FlagFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagOutlined.js new file mode 100644 index 00000000..65535f9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FlagOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z" } }] }, "name": "flag", "theme": "outlined" }; +exports.default = FlagOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagTwoTone.js new file mode 100644 index 00000000..b466e2bf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FlagTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FlagTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M184 232h368v336H184z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M624 632c0 4.4-3.6 8-8 8H504v73h336V377H624v255z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z", "fill": primaryColor } }] }; }, "name": "flag", "theme": "twotone" }; +exports.default = FlagTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddFilled.js new file mode 100644 index 00000000..b6c55500 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderAddFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM632 577c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.2 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.8 0 7 3.2 7 7.1V528h84.5c4.1 0 7.5 3.2 7.5 7v42z" } }] }, "name": "folder-add", "theme": "filled" }; +exports.default = FolderAddFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddOutlined.js new file mode 100644 index 00000000..0dae3d5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1zm396-144.7H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z" } }] }, "name": "folder-add", "theme": "outlined" }; +exports.default = FolderAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddTwoTone.js new file mode 100644 index 00000000..2a17633a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderAddTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderAddTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M372.5 256H184v512h656V370.4H492.1L372.5 256zM540 443.1V528h84.5c4.1 0 7.5 3.1 7.5 7v42c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1z", "fill": primaryColor } }] }; }, "name": "folder-add", "theme": "twotone" }; +exports.default = FolderAddTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderFilled.js new file mode 100644 index 00000000..2b90dc04 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z" } }] }, "name": "folder", "theme": "filled" }; +exports.default = FolderFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenFilled.js new file mode 100644 index 00000000..f74f0f1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderOpenFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zm-180 0H238c-13 0-24.8 7.9-29.7 20L136 643.2V256h188.5l119.6 114.4H748V444z" } }] }, "name": "folder-open", "theme": "filled" }; +exports.default = FolderOpenFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenOutlined.js new file mode 100644 index 00000000..3482d78f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderOpenOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z" } }] }, "name": "folder-open", "theme": "outlined" }; +exports.default = FolderOpenOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenTwoTone.js new file mode 100644 index 00000000..c5b0f0a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOpenTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderOpenTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M159 768h612.3l103.4-256H262.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z", "fill": primaryColor } }] }; }, "name": "folder-open", "theme": "twotone" }; +exports.default = FolderOpenTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOutlined.js new file mode 100644 index 00000000..0f8f7aa3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z" } }] }, "name": "folder", "theme": "outlined" }; +exports.default = FolderOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderTwoTone.js new file mode 100644 index 00000000..32fc8168 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M372.5 256H184v512h656V370.4H492.1z", "fill": secondaryColor } }] }; }, "name": "folder", "theme": "twotone" }; +exports.default = FolderTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderViewOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderViewOutlined.js new file mode 100644 index 00000000..b263cb1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FolderViewOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FolderViewOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M309.1 554.3a42.92 42.92 0 000 36.4C353.3 684 421.6 732 512.5 732s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8.1-36.3l-.1-.1-.1-.1C671.7 461 603.4 413 512.5 413s-159.2 48.1-203.4 141.3zM512.5 477c62.1 0 107.4 30 141.1 95.5C620 638 574.6 668 512.5 668s-107.4-30-141.1-95.5c33.7-65.5 79-95.5 141.1-95.5z" } }, { "tag": "path", "attrs": { "d": "M457 573a56 56 0 10112 0 56 56 0 10-112 0z" } }, { "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z" } }] }, "name": "folder-view", "theme": "outlined" }; +exports.default = FolderViewOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontColorsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontColorsOutlined.js new file mode 100644 index 00000000..ee44cc78 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontColorsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FontColorsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-650.3-80h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-.2 3.2-.5a9.7 9.7 0 006-12.4L573.6 118.6a9.9 9.9 0 00-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-.4 1-.5 2.1-.5 3.2-.1 5.3 4.3 9.7 9.7 9.7zm255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z" } }] }, "name": "font-colors", "theme": "outlined" }; +exports.default = FontColorsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontSizeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontSizeOutlined.js new file mode 100644 index 00000000..d706fa10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FontSizeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FontSizeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z" } }] }, "name": "font-size", "theme": "outlined" }; +exports.default = FontSizeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForkOutlined.js new file mode 100644 index 00000000..67712230 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ForkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M752 100c-61.8 0-112 50.2-112 112 0 47.7 29.9 88.5 72 104.6v27.6L512 601.4 312 344.2v-27.6c42.1-16.1 72-56.9 72-104.6 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 50.6 33.8 93.5 80 107.3v34.4c0 9.7 3.3 19.3 9.3 27L476 672.3v33.6c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-33.6l226.7-291.6c6-7.7 9.3-17.3 9.3-27v-34.4c46.2-13.8 80-56.7 80-107.3 0-61.8-50.2-112-112-112zM224 212a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm336 600a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0zm192-552a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "fork", "theme": "outlined" }; +exports.default = ForkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormOutlined.js new file mode 100644 index 00000000..84bf388e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FormOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 512h-56c-4.4 0-8 3.6-8 8v320H184V184h320c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V520c0-4.4-3.6-8-8-8z" } }, { "tag": "path", "attrs": { "d": "M355.9 534.9L354 653.8c-.1 8.9 7.1 16.2 16 16.2h.4l118-2.9c2-.1 4-.9 5.4-2.3l415.9-415c3.1-3.1 3.1-8.2 0-11.3L785.4 114.3c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-415.8 415a8.3 8.3 0 00-2.3 5.6zm63.5 23.6L779.7 199l45.2 45.1-360.5 359.7-45.7 1.1.7-46.4z" } }] }, "name": "form", "theme": "outlined" }; +exports.default = FormOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterFilled.js new file mode 100644 index 00000000..99b35b8e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FormatPainterFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 1.1.2 2.2.6 3.1-.4 1.6-.6 3.2-.6 4.9 0 46.4 37.6 84 84 84s84-37.6 84-84c0-1.7-.2-3.3-.6-4.9.4-1 .6-2 .6-3.1V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40z" } }] }, "name": "format-painter", "theme": "filled" }; +exports.default = FormatPainterFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterOutlined.js new file mode 100644 index 00000000..e1f05eb7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FormatPainterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FormatPainterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 .6.1 1.3.2 1.9A83.99 83.99 0 00457 960c46.4 0 84-37.6 84-84 0-2.1-.1-4.1-.2-6.1.1-.6.2-1.2.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40zM720 352H208V160h512v192zM477 876c0 11-9 20-20 20s-20-9-20-20V696h40v180z" } }] }, "name": "format-painter", "theme": "outlined" }; +exports.default = FormatPainterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardFilled.js new file mode 100644 index 00000000..66fe3a60 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ForwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z" } }] }, "name": "forward", "theme": "filled" }; +exports.default = ForwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardOutlined.js new file mode 100644 index 00000000..b04d0003 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ForwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ForwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z" } }] }, "name": "forward", "theme": "outlined" }; +exports.default = ForwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownFilled.js new file mode 100644 index 00000000..9f1214c0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FrownFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 01-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 01-8 8.4zm24-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "frown", "theme": "filled" }; +exports.default = FrownFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownOutlined.js new file mode 100644 index 00000000..1acd6e35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FrownOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM512 533c-85.5 0-155.6 67.3-160 151.6a8 8 0 008 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4C420 636.1 461.5 597 512 597s92.1 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 008-8.4C667.6 600.3 597.5 533 512 533z" } }] }, "name": "frown", "theme": "outlined" }; +exports.default = FrownOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownTwoTone.js new file mode 100644 index 00000000..8d8a5b9e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FrownTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FrownTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 01-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 01-8 8.4zm24-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm224 112c-85.5 0-155.6 67.3-160 151.6a8 8 0 008 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4 3.7-49.5 45.3-88.6 95.8-88.6s92 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 008-8.4C667.6 600.3 597.5 533 512 533zm128-112a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "frown", "theme": "twotone" }; +exports.default = FrownTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenExitOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenExitOutlined.js new file mode 100644 index 00000000..110ebc50 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenExitOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FullscreenExitOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 000 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 00391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 00-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z" } }] }, "name": "fullscreen-exit", "theme": "outlined" }; +exports.default = FullscreenExitOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenOutlined.js new file mode 100644 index 00000000..ae5e6e26 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FullscreenOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FullscreenOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M290 236.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0013.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 000 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 00-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z" } }] }, "name": "fullscreen", "theme": "outlined" }; +exports.default = FullscreenOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunctionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunctionOutlined.js new file mode 100644 index 00000000..af8ef53e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunctionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FunctionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M841 370c3-3.3 2.7-8.3-.6-11.3a8.24 8.24 0 00-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6a7.96 7.96 0 01-13.4-1.9l-63.5-141.3a7.9 7.9 0 00-7.3-4.7H380.7l.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415a8.07 8.07 0 007.8 9.7H284l-89 429.9a8.07 8.07 0 007.8 9.7H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 .9.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6a8.02 8.02 0 007.2-11.5l-95.2-198.9c-1.4-2.9-.9-6.4 1.3-8.8L841 370z" } }] }, "name": "function", "theme": "outlined" }; +exports.default = FunctionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundFilled.js new file mode 100644 index 00000000..0f3e086a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FundFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-92.3 194.4l-297 297.2a8.03 8.03 0 01-11.3 0L410.9 541.1 238.4 713.7a8.03 8.03 0 01-11.3 0l-36.8-36.8a8.03 8.03 0 010-11.3l214.9-215c3.1-3.1 8.2-3.1 11.3 0L531 565l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.2 3 3.2 8.1.1 11.2z" } }] }, "name": "fund", "theme": "filled" }; +exports.default = FundFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundOutlined.js new file mode 100644 index 00000000..c89caf90 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FundOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-40 632H134V236h752v560zm-658.9-82.3c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 00-11.3 0L531 565 416.6 450.5a8.03 8.03 0 00-11.3 0l-214.9 215a8.03 8.03 0 000 11.3l36.7 36.9z" } }] }, "name": "fund", "theme": "outlined" }; +exports.default = FundOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundProjectionScreenOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundProjectionScreenOutlined.js new file mode 100644 index 00000000..27c29977 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundProjectionScreenOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FundProjectionScreenOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M312.1 591.5c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 00-11.3 0L517 485.3l-86.1-86.2a8.03 8.03 0 00-11.3 0L275.3 543.4a8.03 8.03 0 000 11.3l36.8 36.8z" } }, { "tag": "path", "attrs": { "d": "M904 160H548V96c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H120c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h356.4v32L311.6 884.1a7.92 7.92 0 00-2.3 11l30.3 47.2v.1c2.4 3.7 7.4 4.7 11.1 2.3L512 838.9l161.3 105.8c3.7 2.4 8.7 1.4 11.1-2.3v-.1l30.3-47.2a8 8 0 00-2.3-11L548 776.3V744h356c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 512H160V232h704v440z" } }] }, "name": "fund-projection-screen", "theme": "outlined" }; +exports.default = FundProjectionScreenOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundTwoTone.js new file mode 100644 index 00000000..c6c6a26b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FundTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M136 792h752V232H136v560zm56.4-130.5l214.9-215c3.1-3.1 8.2-3.1 11.3 0L533 561l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.1 3.1 3.1 8.2 0 11.3l-297 297.2a8.03 8.03 0 01-11.3 0L412.9 537.2 240.4 709.7a8.03 8.03 0 01-11.3 0l-36.7-36.9a8.03 8.03 0 010-11.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M229.1 709.7c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 00-11.3 0L533 561 418.6 446.5a8.03 8.03 0 00-11.3 0l-214.9 215a8.03 8.03 0 000 11.3l36.7 36.9z", "fill": primaryColor } }] }; }, "name": "fund", "theme": "twotone" }; +exports.default = FundTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundViewOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundViewOutlined.js new file mode 100644 index 00000000..48543768 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FundViewOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FundViewOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M956 686.5l-.1-.1-.1-.1C911.7 593 843.4 545 752.5 545s-159.2 48.1-203.4 141.3v.1a42.92 42.92 0 000 36.4C593.3 816 661.6 864 752.5 864s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8.1-36.2zM752.5 800c-62.1 0-107.4-30-141.1-95.5C645 639 690.4 609 752.5 609c62.1 0 107.4 30 141.1 95.5C860 770 814.6 800 752.5 800z" } }, { "tag": "path", "attrs": { "d": "M697 705a56 56 0 10112 0 56 56 0 10-112 0zM136 232h704v253h72V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h352v-72H136V232z" } }, { "tag": "path", "attrs": { "d": "M724.9 338.1l-36.8-36.8a8.03 8.03 0 00-11.3 0L493 485.3l-86.1-86.2a8.03 8.03 0 00-11.3 0L251.3 543.4a8.03 8.03 0 000 11.3l36.8 36.8c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.2-3.1 3.2-8.2 0-11.3z" } }] }, "name": "fund-view", "theme": "outlined" }; +exports.default = FundViewOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotFilled.js new file mode 100644 index 00000000..8ae458a0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FunnelPlotFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M336.7 586h350.6l84.9-148H251.8zm543.4-432H143.9c-24.5 0-39.8 26.7-27.5 48L215 374h594l98.7-172c12.2-21.3-3.1-48-27.6-48zM349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V650H349v188z" } }] }, "name": "funnel-plot", "theme": "filled" }; +exports.default = FunnelPlotFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotOutlined.js new file mode 100644 index 00000000..ff1e8a85 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FunnelPlotOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z" } }] }, "name": "funnel-plot", "theme": "outlined" }; +exports.default = FunnelPlotOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotTwoTone.js new file mode 100644 index 00000000..b1261f28 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/FunnelPlotTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var FunnelPlotTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M420.6 798h182.9V650H420.6zM297.7 374h428.6l85-148H212.7zm113.2 197.4l8.4 14.6h185.3l8.4-14.6L689.6 438H334.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V650h182.9v148zm9.5-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z", "fill": primaryColor } }] }; }, "name": "funnel-plot", "theme": "twotone" }; +exports.default = FunnelPlotTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GatewayOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GatewayOutlined.js new file mode 100644 index 00000000..fd63b969 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GatewayOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GatewayOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z" } }] }, "name": "gateway", "theme": "outlined" }; +exports.default = GatewayOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GifOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GifOutlined.js new file mode 100644 index 00000000..8b7b7cb3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GifOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GifOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M944 299H692c-4.4 0-8 3.6-8 8v406c0 4.4 3.6 8 8 8h59.2c4.4 0 8-3.6 8-8V549.9h168.2c4.4 0 8-3.6 8-8V495c0-4.4-3.6-8-8-8H759.2V364.2H944c4.4 0 8-3.6 8-8V307c0-4.4-3.6-8-8-8zm-356 1h-56c-4.4 0-8 3.6-8 8v406c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V308c0-4.4-3.6-8-8-8zM452 500.9H290.5c-4.4 0-8 3.6-8 8v43.7c0 4.4 3.6 8 8 8h94.9l-.3 8.9c-1.2 58.8-45.6 98.5-110.9 98.5-76.2 0-123.9-59.7-123.9-156.7 0-95.8 46.8-155.2 121.5-155.2 54.8 0 93.1 26.9 108.5 75.4h76.2c-13.6-87.2-86-143.4-184.7-143.4C150 288 72 375.2 72 511.9 72 650.2 149.1 736 273 736c114.1 0 187-70.7 187-181.6v-45.5c0-4.4-3.6-8-8-8z" } }] }, "name": "gif", "theme": "outlined" }; +exports.default = GifOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftFilled.js new file mode 100644 index 00000000..e21371a2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GiftFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M160 894c0 17.7 14.3 32 32 32h286V550H160v344zm386 32h286c17.7 0 32-14.3 32-32V550H546v376zm334-616H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v140h366V310h68v172h366V342c0-17.7-14.3-32-32-32zm-402-4h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm138 0h-70v-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70z" } }] }, "name": "gift", "theme": "filled" }; +exports.default = GiftFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftOutlined.js new file mode 100644 index 00000000..067e8fbc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GiftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z" } }] }, "name": "gift", "theme": "outlined" }; +exports.default = GiftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftTwoTone.js new file mode 100644 index 00000000..edf4fc1f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GiftTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GiftTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M546 378h298v104H546zM228 550h250v308H228zm-48-172h298v104H180zm366 172h250v308H546z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zM478 858H228V550h250v308zm0-376H180V378h298v104zm0-176h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm68-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm250 622H546V550h250v308zm48-376H546V378h298v104z", "fill": primaryColor } }] }; }, "name": "gift", "theme": "twotone" }; +exports.default = GiftTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubFilled.js new file mode 100644 index 00000000..6cb757b4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GithubFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0138.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z" } }] }, "name": "github", "theme": "filled" }; +exports.default = GithubFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubOutlined.js new file mode 100644 index 00000000..c6498bf0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GithubOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GithubOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0138.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z" } }] }, "name": "github", "theme": "outlined" }; +exports.default = GithubOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabFilled.js new file mode 100644 index 00000000..c7577934 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GitlabFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M910.5 553.2l-109-370.8c-6.8-20.4-23.1-34.1-44.9-34.1s-39.5 12.3-46.3 32.7l-72.2 215.4H386.2L314 181.1c-6.8-20.4-24.5-32.7-46.3-32.7s-39.5 13.6-44.9 34.1L113.9 553.2c-4.1 13.6 1.4 28.6 12.3 36.8l385.4 289 386.7-289c10.8-8.1 16.3-23.1 12.2-36.8z" } }] }, "name": "gitlab", "theme": "filled" }; +exports.default = GitlabFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabOutlined.js new file mode 100644 index 00000000..4b7e535a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GitlabOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GitlabOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M913.9 552.2L805 181.4v-.1c-7.6-22.9-25.7-36.5-48.3-36.5-23.4 0-42.5 13.5-49.7 35.2l-71.4 213H388.8l-71.4-213c-7.2-21.7-26.3-35.2-49.7-35.2-23.1 0-42.5 14.8-48.4 36.6L110.5 552.2c-4.4 14.7 1.2 31.4 13.5 40.7l368.5 276.4c2.6 3.6 6.2 6.3 10.4 7.8l8.6 6.4 8.5-6.4c4.9-1.7 9-4.7 11.9-8.9l368.4-275.4c12.4-9.2 18-25.9 13.6-40.6zM751.7 193.4c1-1.8 2.9-1.9 3.5-1.9 1.1 0 2.5.3 3.4 3L818 394.3H684.5l67.2-200.9zm-487.4 1c.9-2.6 2.3-2.9 3.4-2.9 2.7 0 2.9.1 3.4 1.7l67.3 201.2H206.5l57.8-200zM158.8 558.7l28.2-97.3 202.4 270.2-230.6-172.9zm73.9-116.4h122.1l90.8 284.3-212.9-284.3zM512.9 776L405.7 442.3H620L512.9 776zm157.9-333.7h119.5L580 723.1l90.8-280.8zm-40.7 293.9l207.3-276.7 29.5 99.2-236.8 177.5z" } }] }, "name": "gitlab", "theme": "outlined" }; +exports.default = GitlabOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GlobalOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GlobalOutlined.js new file mode 100644 index 00000000..8fad12a2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GlobalOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GlobalOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z" } }] }, "name": "global", "theme": "outlined" }; +exports.default = GlobalOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldFilled.js new file mode 100644 index 00000000..cd84e2a9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoldFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z" } }] }, "name": "gold", "theme": "filled" }; +exports.default = GoldFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldOutlined.js new file mode 100644 index 00000000..c3daca2f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoldOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128zm2.5 282.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5z" } }] }, "name": "gold", "theme": "outlined" }; +exports.default = GoldOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldTwoTone.js new file mode 100644 index 00000000..332fb3e1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoldTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M435.7 558.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M592.7 276H433.2l-20.8 128h201zM217.2 620l-20.7 128h200.9l-20.7-128zm430 0l-20.7 128h200.9l-20.7-128z", "fill": secondaryColor } }] }; }, "name": "gold", "theme": "twotone" }; +exports.default = GoldTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldenFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldenFilled.js new file mode 100644 index 00000000..a9704149 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoldenFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoldenFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z" } }] }, "name": "golden", "theme": "filled" }; +exports.default = GoldenFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleCircleFilled.js new file mode 100644 index 00000000..5d6e2cd1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoogleCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm167 633.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9C281.5 589 272 551.6 272 512s9.5-77 26.1-110.1c40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z" } }] }, "name": "google-circle", "theme": "filled" }; +exports.default = GoogleCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleOutlined.js new file mode 100644 index 00000000..8cc4f544 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoogleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M881 442.4H519.7v148.5h206.4c-8.9 48-35.9 88.6-76.6 115.8-34.4 23-78.3 36.6-129.9 36.6-99.9 0-184.4-67.5-214.6-158.2-7.6-23-12-47.6-12-72.9s4.4-49.9 12-72.9c30.3-90.6 114.8-158.1 214.7-158.1 56.3 0 106.8 19.4 146.6 57.4l110-110.1c-66.5-62-153.2-100-256.6-100-149.9 0-279.6 86-342.7 211.4-26 51.8-40.8 110.4-40.8 172.4S151 632.8 177 684.6C240.1 810 369.8 896 519.7 896c103.6 0 190.4-34.4 253.8-93 72.5-66.8 114.4-165.2 114.4-282.1 0-27.2-2.4-53.3-6.9-78.5z" } }] }, "name": "google", "theme": "outlined" }; +exports.default = GoogleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusCircleFilled.js new file mode 100644 index 00000000..fcfb34aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GooglePlusCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm36.5 558.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z" } }] }, "name": "google-plus-circle", "theme": "filled" }; +exports.default = GooglePlusCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusOutlined.js new file mode 100644 index 00000000..c086cef1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GooglePlusOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M879.5 470.4c-.3-27-.4-54.2-.5-81.3h-80.8c-.3 27-.5 54.1-.7 81.3-27.2.1-54.2.3-81.2.6v80.9c27 .3 54.2.5 81.2.8.3 27 .3 54.1.5 81.1h80.9c.1-27 .3-54.1.5-81.3 27.2-.3 54.2-.4 81.2-.7v-80.9c-26.9-.2-54.1-.2-81.1-.5zm-530 .4c-.1 32.3 0 64.7.1 97 54.2 1.8 108.5 1 162.7 1.8-23.9 120.3-187.4 159.3-273.9 80.7-89-68.9-84.8-220 7.7-284 64.7-51.6 156.6-38.9 221.3 5.8 25.4-23.5 49.2-48.7 72.1-74.7-53.8-42.9-119.8-73.5-190-70.3-146.6-4.9-281.3 123.5-283.7 270.2-9.4 119.9 69.4 237.4 180.6 279.8 110.8 42.7 252.9 13.6 323.7-86 46.7-62.9 56.8-143.9 51.3-220-90.7-.7-181.3-.6-271.9-.3z" } }] }, "name": "google-plus", "theme": "outlined" }; +exports.default = GooglePlusOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusSquareFilled.js new file mode 100644 index 00000000..2fc253cd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GooglePlusSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GooglePlusSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM548.5 622.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z" } }] }, "name": "google-plus-square", "theme": "filled" }; +exports.default = GooglePlusSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleSquareFilled.js new file mode 100644 index 00000000..01be2310 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GoogleSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GoogleSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM679 697.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9A245.02 245.02 0 01272 512c0-39.6 9.5-77 26.1-110.1 40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z" } }] }, "name": "google-square", "theme": "filled" }; +exports.default = GoogleSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GroupOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GroupOutlined.js new file mode 100644 index 00000000..c568ed0d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/GroupOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var GroupOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M912 820.1V203.9c28-9.9 48-36.6 48-67.9 0-39.8-32.2-72-72-72-31.3 0-58 20-67.9 48H203.9C194 84 167.3 64 136 64c-39.8 0-72 32.2-72 72 0 31.3 20 58 48 67.9v616.2C84 830 64 856.7 64 888c0 39.8 32.2 72 72 72 31.3 0 58-20 67.9-48h616.2c9.9 28 36.6 48 67.9 48 39.8 0 72-32.2 72-72 0-31.3-20-58-48-67.9zM888 112c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 912c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-752c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm704 680H184V184h656v656zm48 72c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z" } }, { "tag": "path", "attrs": { "d": "M288 474h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64zm-56 420h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64z" } }] }, "name": "group", "theme": "outlined" }; +exports.default = GroupOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddFilled.js new file mode 100644 index 00000000..cda1d580 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HddFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM456 216c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm576-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm96-152c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48z" } }] }, "name": "hdd", "theme": "filled" }; +exports.default = HddFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddOutlined.js new file mode 100644 index 00000000..214d0811 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "hdd", "theme": "outlined" }; +exports.default = HddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddTwoTone.js new file mode 100644 index 00000000..bf633498 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HddTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HddTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M232 888h560V680H232v208zm448-140c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 616h560V408H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48zm-72-144h560V136H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-272h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 516a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }] }; }, "name": "hdd", "theme": "twotone" }; +exports.default = HddTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartFilled.js new file mode 100644 index 00000000..a2d7ecf1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HeartFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z" } }] }, "name": "heart", "theme": "filled" }; +exports.default = HeartFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartOutlined.js new file mode 100644 index 00000000..3c378519 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HeartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z" } }] }, "name": "heart", "theme": "outlined" }; +exports.default = HeartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartTwoTone.js new file mode 100644 index 00000000..6a5433db --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeartTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HeartTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M679.7 201c-73.1 0-136.5 40.8-167.7 100.4C480.8 241.8 417.4 201 344.3 201c-104 0-188.3 82.6-188.3 184.5 0 201.2 356 429.3 356 429.3s356-228.1 356-429.3C868 283.6 783.7 201 679.7 201z", "fill": secondaryColor } }] }; }, "name": "heart", "theme": "twotone" }; +exports.default = HeartTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeatMapOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeatMapOutlined.js new file mode 100644 index 00000000..0c737932 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HeatMapOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HeatMapOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-790.4-23.9L512 231.9 858.7 832H165.3zm319-474.1l-228 394c-12.3 21.3 3.1 48 27.7 48h455.8c24.7 0 40.1-26.7 27.7-48L539.7 358c-6.2-10.7-17-16-27.7-16-10.8 0-21.6 5.3-27.7 16zm214 386H325.7L512 422l186.3 322zm-214-194.1l-57 98.4C415 669.5 430.4 696 455 696h114c24.6 0 39.9-26.5 27.7-47.7l-57-98.4c-6.1-10.6-16.9-15.9-27.7-15.9s-21.5 5.3-27.7 15.9zm57.1 98.4h-58.7l29.4-50.7 29.3 50.7z" } }] }, "name": "heat-map", "theme": "outlined" }; +exports.default = HeatMapOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightFilled.js new file mode 100644 index 00000000..574307da --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HighlightFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M957.6 507.4L603.2 158.2a7.9 7.9 0 00-11.2 0L353.3 393.4a8.03 8.03 0 00-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 00-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0011.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0011.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2z" } }] }, "name": "highlight", "theme": "filled" }; +exports.default = HighlightFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightOutlined.js new file mode 100644 index 00000000..049cc16d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HighlightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M957.6 507.4L603.2 158.2a7.9 7.9 0 00-11.2 0L353.3 393.4a8.03 8.03 0 00-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 00-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0011.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0011.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z" } }] }, "name": "highlight", "theme": "outlined" }; +exports.default = HighlightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightTwoTone.js new file mode 100644 index 00000000..ba9b6810 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HighlightTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HighlightTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M229.6 796.3h160.2l54.3-54.1-80.1-78.9zm220.7-397.1l262.8 258.9 147.3-145-262.8-259zm-77.1 166.1l171.4 168.9 68.6-67.6-171.4-168.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M957.6 507.5L603.2 158.3a7.9 7.9 0 00-11.2 0L353.3 393.5a8.03 8.03 0 00-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 00-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8v55.2c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6L539 830a7.9 7.9 0 0011.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0011.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.3H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.3l68.6-67.6 171.4 168.9-68.6 67.6zm168.5-76.1L450.3 399.2l147.3-145.1 262.8 259-147.3 145z", "fill": primaryColor } }] }; }, "name": "highlight", "theme": "twotone" }; +exports.default = HighlightTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HistoryOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HistoryOutlined.js new file mode 100644 index 00000000..7896c7c8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HistoryOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HistoryOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 003 14.1zm167.7 301.1l-56.7-19.5a8 8 0 00-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 01-112.5 75.9 352.18 352.18 0 01-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 01-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 01171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 01112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 01775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z" } }] }, "name": "history", "theme": "outlined" }; +exports.default = HistoryOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HolderOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HolderOutlined.js new file mode 100644 index 00000000..29189ca0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HolderOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HolderOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z" } }] }, "name": "holder", "theme": "outlined" }; +exports.default = HolderOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeFilled.js new file mode 100644 index 00000000..44354913 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HomeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M946.5 505L534.6 93.4a31.93 31.93 0 00-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z" } }] }, "name": "home", "theme": "filled" }; +exports.default = HomeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeOutlined.js new file mode 100644 index 00000000..40adbc4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HomeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.9 63.9 0 00-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0018.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z" } }] }, "name": "home", "theme": "outlined" }; +exports.default = HomeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeTwoTone.js new file mode 100644 index 00000000..63f01fcc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HomeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HomeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512.1 172.6l-370 369.7h96V868H392V640c0-22.1 17.9-40 40-40h160c22.1 0 40 17.9 40 40v228h153.9V542.3H882L535.2 195.7l-23.1-23.1zm434.5 422.9c-6 6-13.1 10.8-20.8 13.9 7.7-3.2 14.8-7.9 20.8-13.9zm-887-34.7c5 30.3 31.4 53.5 63.1 53.5h.9c-31.9 0-58.9-23-64-53.5zm-.9-10.5v-1.9 1.9zm.1-2.6c.1-3.1.5-6.1 1-9.1-.6 2.9-.9 6-1 9.1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M951 510c0-.1-.1-.1-.1-.2l-1.8-2.1c-.1-.1-.2-.3-.4-.4-.7-.8-1.5-1.6-2.2-2.4L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.6 63.6 0 00-16 26.6l-.6 2.1-.3 1.1-.3 1.2c-.2.7-.3 1.4-.4 2.1 0 .1 0 .3-.1.4-.6 3-.9 6-1 9.1v3.3c0 .5 0 1 .1 1.5 0 .5 0 .9.1 1.4 0 .5.1 1 .1 1.5 0 .6.1 1.2.2 1.8 0 .3.1.6.1.9l.3 2.5v.1c5.1 30.5 32.2 53.5 64 53.5h42.5V940h691.7V614.3h43.4c8.6 0 16.9-1.7 24.5-4.9s14.7-7.9 20.8-13.9a63.6 63.6 0 0018.7-45.3c0-14.7-5-28.8-14.3-40.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z", "fill": primaryColor } }] }; }, "name": "home", "theme": "twotone" }; +exports.default = HomeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassFilled.js new file mode 100644 index 00000000..3c608ed5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HourglassFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194z" } }] }, "name": "hourglass", "theme": "filled" }; +exports.default = HourglassFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassOutlined.js new file mode 100644 index 00000000..69099a52 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HourglassOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 01354 318V184h316v134z" } }] }, "name": "hourglass", "theme": "outlined" }; +exports.default = HourglassOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassTwoTone.js new file mode 100644 index 00000000..d2fd9dcd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/HourglassTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var HourglassTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 548c-42.2 0-81.9 16.4-111.7 46.3A156.63 156.63 0 00354 706v134h316V706c0-42.2-16.4-81.9-46.3-111.7A156.63 156.63 0 00512 548zM354 318c0 42.2 16.4 81.9 46.3 111.7C430.1 459.6 469.8 476 512 476s81.9-16.4 111.7-46.3C653.6 399.9 670 360.2 670 318V184H354v134z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 01354 318V184h316v134z", "fill": primaryColor } }] }; }, "name": "hourglass", "theme": "twotone" }; +exports.default = HourglassTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Filled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Filled.js new file mode 100644 index 00000000..b21f9395 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Filled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var Html5Filled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M145.2 96l66 746.6L512 928l299.6-85.4L878.9 96H145.2zm595 177.1l-4.8 47.2-1.7 19.5H382.3l8.2 94.2h335.1l-3.3 24.3-21.2 242.2-1.7 16.2-187 51.6v.3h-1.2l-.3.1v-.1h-.1l-188.6-52L310.8 572h91.1l6.5 73.2 102.4 27.7h.4l102-27.6 11.4-118.6H510.9v-.1H306l-22.8-253.5-1.7-24.3h460.3l-1.6 24.3z" } }] }, "name": "html5", "theme": "filled" }; +exports.default = Html5Filled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Outlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Outlined.js new file mode 100644 index 00000000..80f252ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5Outlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var Html5Outlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2zM281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z" } }] }, "name": "html5", "theme": "outlined" }; +exports.default = Html5Outlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5TwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5TwoTone.js new file mode 100644 index 00000000..f28816a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Html5TwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var Html5TwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M209.9 155.4l56.7 641.2 245.2 69.6 244.1-69.6 57.8-641.2H209.9zm530.4 117.9l-4.8 47.2-1.7 19.5H381.7l8.2 94.2H511v-.2h214.7l-3.2 24.3-21.2 242.2-1.7 16.3-187.7 51.7v.4h-1.7l-188.6-52-11.3-144.7h91l6.5 73.2 102.4 27.7h.8v-.2l102.4-27.7 11.4-118.5H511.9v.1H305.4l-22.7-253.5L281 249h461l-1.7 24.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z", "fill": primaryColor } }] }; }, "name": "html5", "theme": "twotone" }; +exports.default = Html5TwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardFilled.js new file mode 100644 index 00000000..44990b0b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IdcardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M373 411c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52 51.7-23.3 51.7-52-23.2-52-51.7-52zm555-251H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM608 420c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm-86 253h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224a8 8 0 01-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 01-29.1-75.5c0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zm278.9-53H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48h.1c0 4.4-3.2 8-7.1 8z" } }] }, "name": "idcard", "theme": "filled" }; +exports.default = IdcardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardOutlined.js new file mode 100644 index 00000000..1f012d45 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IdcardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z" } }] }, "name": "idcard", "theme": "outlined" }; +exports.default = IdcardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardTwoTone.js new file mode 100644 index 00000000..1f8f010b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IdcardTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IdcardTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M136 792h752V232H136v560zm472-372c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm0 144c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48zM216.2 664.6c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.6 26.4 71.8 72.8 74.6 126.1a8 8 0 01-8 8.4h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224c-4.6 0-8.2-3.8-7.8-8.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M321.3 463a51.7 52 0 10103.4 0 51.7 52 0 10-103.4 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z", "fill": primaryColor } }] }; }, "name": "idcard", "theme": "twotone" }; +exports.default = IdcardTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeCircleFilled.js new file mode 100644 index 00000000..6a346b6a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IeCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M693.6 284.4c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm253.9 492.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z" } }] }, "name": "ie-circle", "theme": "filled" }; +exports.default = IeCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeOutlined.js new file mode 100644 index 00000000..97699f4d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M852.6 367.6c16.3-36.9 32.1-90.7 32.1-131.8 0-109.1-119.5-147.6-314.5-57.9-161.4-10.8-316.8 110.5-355.6 279.7 46.3-52.3 117.4-123.4 183-151.7C316.1 378.3 246.7 470 194 565.6c-31.1 56.9-66 148.8-66 217.5 0 147.9 139.3 129.8 270.4 63 47.1 23.1 99.8 23.4 152.5 23.4 145.7 0 276.4-81.4 325.2-219H694.9c-78.8 132.9-295.2 79.5-295.2-71.2h493.2c9.6-65.4-2.5-143.6-40.3-211.7zM224.8 648.3c26.6 76.7 80.6 143.8 150.4 185-133.1 73.4-259.9 43.6-150.4-185zm174-163.3c3-82.7 75.4-142.3 156-142.3 80.1 0 153 59.6 156 142.3h-312zm276.8-281.4c32.1-15.4 72.8-33 108.8-33 47.1 0 81.4 32.6 81.4 80.6 0 30-11.1 73.5-21.9 101.8-39.3-63.5-98.9-122.4-168.3-149.4z" } }] }, "name": "ie", "theme": "outlined" }; +exports.default = IeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeSquareFilled.js new file mode 100644 index 00000000..ee905a41 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IeSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IeSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM765.9 556.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zm-72.3-272.5c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z" } }] }, "name": "ie-square", "theme": "filled" }; +exports.default = IeSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ImportOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ImportOutlined.js new file mode 100644 index 00000000..c8650b8e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ImportOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ImportOutlined = { "icon": { "tag": "svg", "attrs": { "fill-rule": "evenodd", "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM653.3 424.6l52.2 52.2a8.01 8.01 0 01-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4 256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3L653.3 424.6z" } }] }, "name": "import", "theme": "outlined" }; +exports.default = ImportOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InboxOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InboxOutlined.js new file mode 100644 index 00000000..fd3a811f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InboxOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z" } }] }, "name": "inbox", "theme": "outlined" }; +exports.default = InboxOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleFilled.js new file mode 100644 index 00000000..351b65b3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InfoCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "info-circle", "theme": "filled" }; +exports.default = InfoCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleOutlined.js new file mode 100644 index 00000000..3c57697d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InfoCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z" } }] }, "name": "info-circle", "theme": "outlined" }; +exports.default = InfoCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleTwoTone.js new file mode 100644 index 00000000..d10c9571 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InfoCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm32 588c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "info-circle", "theme": "twotone" }; +exports.default = InfoCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoOutlined.js new file mode 100644 index 00000000..edaf5f26 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InfoOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InfoOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M448 224a64 64 0 10128 0 64 64 0 10-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z" } }] }, "name": "info", "theme": "outlined" }; +exports.default = InfoOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowAboveOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowAboveOutlined.js new file mode 100644 index 00000000..8a94a8ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowAboveOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsertRowAboveOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M878.7 336H145.3c-18.4 0-33.3 14.3-33.3 32v464c0 17.7 14.9 32 33.3 32h733.3c18.4 0 33.3-14.3 33.3-32V368c.1-17.7-14.8-32-33.2-32zM360 792H184V632h176v160zm0-224H184V408h176v160zm240 224H424V632h176v160zm0-224H424V408h176v160zm240 224H664V632h176v160zm0-224H664V408h176v160zm64-408H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z" } }] }, "name": "insert-row-above", "theme": "outlined" }; +exports.default = InsertRowAboveOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowBelowOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowBelowOutlined.js new file mode 100644 index 00000000..779bd550 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowBelowOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsertRowBelowOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M904 768H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-25.3-608H145.3c-18.4 0-33.3 14.3-33.3 32v464c0 17.7 14.9 32 33.3 32h733.3c18.4 0 33.3-14.3 33.3-32V192c.1-17.7-14.8-32-33.2-32zM360 616H184V456h176v160zm0-224H184V232h176v160zm240 224H424V456h176v160zm0-224H424V232h176v160zm240 224H664V456h176v160zm0-224H664V232h176v160z" } }] }, "name": "insert-row-below", "theme": "outlined" }; +exports.default = InsertRowBelowOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowLeftOutlined.js new file mode 100644 index 00000000..bca841f8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsertRowLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M248 112h-80c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8zm584 0H368c-17.7 0-32 14.9-32 33.3v733.3c0 18.4 14.3 33.3 32 33.3h464c17.7 0 32-14.9 32-33.3V145.3c0-18.4-14.3-33.3-32-33.3zM568 840H408V664h160v176zm0-240H408V424h160v176zm0-240H408V184h160v176zm224 480H632V664h160v176zm0-240H632V424h160v176zm0-240H632V184h160v176z" } }] }, "name": "insert-row-left", "theme": "outlined" }; +exports.default = InsertRowLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowRightOutlined.js new file mode 100644 index 00000000..4297541d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsertRowRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsertRowRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M856 112h-80c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8zm-200 0H192c-17.7 0-32 14.9-32 33.3v733.3c0 18.4 14.3 33.3 32 33.3h464c17.7 0 32-14.9 32-33.3V145.3c0-18.4-14.3-33.3-32-33.3zM392 840H232V664h160v176zm0-240H232V424h160v176zm0-240H232V184h160v176zm224 480H456V664h160v176zm0-240H456V424h160v176zm0-240H456V184h160v176z" } }] }, "name": "insert-row-right", "theme": "outlined" }; +exports.default = InsertRowRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramFilled.js new file mode 100644 index 00000000..b96baa86 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InstagramFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 378.7c-73.4 0-133.3 59.9-133.3 133.3S438.6 645.3 512 645.3 645.3 585.4 645.3 512 585.4 378.7 512 378.7zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zM512 717.1c-113.5 0-205.1-91.6-205.1-205.1S398.5 306.9 512 306.9 717.1 398.5 717.1 512 625.5 717.1 512 717.1zm213.5-370.7c-26.5 0-47.9-21.4-47.9-47.9s21.4-47.9 47.9-47.9 47.9 21.4 47.9 47.9a47.84 47.84 0 01-47.9 47.9z" } }] }, "name": "instagram", "theme": "filled" }; +exports.default = InstagramFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramOutlined.js new file mode 100644 index 00000000..80656436 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InstagramOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InstagramOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 306.9c-113.5 0-205.1 91.6-205.1 205.1S398.5 717.1 512 717.1 717.1 625.5 717.1 512 625.5 306.9 512 306.9zm0 338.4c-73.4 0-133.3-59.9-133.3-133.3S438.6 378.7 512 378.7 645.3 438.6 645.3 512 585.4 645.3 512 645.3zm213.5-394.6c-26.5 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9 47.9-21.3 47.9-47.9a47.84 47.84 0 00-47.9-47.9zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zm-88 235.8c-7.3 18.2-16.1 31.8-30.2 45.8-14.1 14.1-27.6 22.9-45.8 30.2C695.2 844.7 570.3 840 512 840c-58.3 0-183.3 4.7-235.9-16.1-18.2-7.3-31.8-16.1-45.8-30.2-14.1-14.1-22.9-27.6-30.2-45.8C179.3 695.2 184 570.3 184 512c0-58.3-4.7-183.3 16.1-235.9 7.3-18.2 16.1-31.8 30.2-45.8s27.6-22.9 45.8-30.2C328.7 179.3 453.7 184 512 184s183.3-4.7 235.9 16.1c18.2 7.3 31.8 16.1 45.8 30.2 14.1 14.1 22.9 27.6 30.2 45.8C844.7 328.7 840 453.7 840 512c0 58.3 4.7 183.2-16.2 235.8z" } }] }, "name": "instagram", "theme": "outlined" }; +exports.default = InstagramOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceFilled.js new file mode 100644 index 00000000..60f6b6f1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsuranceFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M519.9 358.8h97.9v41.6h-97.9zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM411.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 01-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 01-33.6 79V656zm296.5-49.2l-26.3 35.3a5.92 5.92 0 01-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a5.9 5.9 0 01-8.9-1.4L430 605.7a6 6 0 011.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5z" } }] }, "name": "insurance", "theme": "filled" }; +exports.default = InsuranceFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceOutlined.js new file mode 100644 index 00000000..8e2034f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsuranceOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M441.6 306.8L403 288.6a6.1 6.1 0 00-8.4 3.7c-17.5 58.5-45.2 110.1-82.2 153.6a6.05 6.05 0 00-1.2 5.6l13.2 43.5c1.3 4.4 7 5.7 10.2 2.4 7.7-8.1 15.4-16.9 23.1-26V656c0 4.4 3.6 8 8 8H403c4.4 0 8-3.6 8-8V393.1a429.2 429.2 0 0033.6-79c1-2.9-.3-6-3-7.3zm26.8 9.2v127.2c0 4.4 3.6 8 8 8h65.9v18.6h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 00-1.6 8.1l22.8 36.5c1.9 3.1 6.2 3.8 8.9 1.4 31.6-26.8 58.7-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V536c21.3 41.7 47.5 77.5 78.1 106.9 2.6 2.5 6.8 2.1 8.9-.7l26.3-35.3c2-2.7 1.4-6.5-1.2-8.4-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8V478c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H476.4c-4.4 0-8 3.6-8 8zm51.5 42.8h97.9v41.6h-97.9v-41.6zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z" } }] }, "name": "insurance", "theme": "outlined" }; +exports.default = InsuranceOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceTwoTone.js new file mode 100644 index 00000000..b99d85eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InsuranceTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InsuranceTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M521.9 358.8h97.9v41.6h-97.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM413.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 01-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 01-33.6 79V656zm257.9-340v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5l-26.3 35.3a5.92 5.92 0 01-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a6.38 6.38 0 01-4.8 1.4c-1.7-.3-3.2-1.3-4.1-2.8L432 605.7a6 6 0 011.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M443.7 306.9l-38.6-18.3c-3.4-1.6-7.3.2-8.4 3.7-17.5 58.5-45.2 110.2-82.2 153.6a5.7 5.7 0 00-1.2 5.6l13.2 43.5c1.4 4.5 7 5.8 10.2 2.4 7.7-8.1 15.4-16.8 23.1-26V656c0 4.4 3.6 8 8 8h37.3c4.4 0 8-3.6 8-8h.2V393.1a429.2 429.2 0 0033.6-79c.9-2.8-.5-5.9-3.2-7.2zm26.8 9.1v127.4c0 4.4 3.6 8 8 8h65.9V470h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 00-1.6 8.1l22.8 36.5c.9 1.5 2.4 2.5 4.1 2.8 1.7.3 3.5-.2 4.8-1.4 31.6-26.8 58.6-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V535.9c21.3 41.7 47.5 77.6 78.1 106.9 2.6 2.5 6.7 2.2 8.9-.7l26.3-35.3c2-2.6 1.4-6.4-1.2-8.5-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8v-35.6c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H478.5c-4.4 0-8 3.6-8 8zm51.4 42.8h97.9v41.6h-97.9v-41.6z", "fill": primaryColor } }] }; }, "name": "insurance", "theme": "twotone" }; +exports.default = InsuranceTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionFilled.js new file mode 100644 index 00000000..2cc71284 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InteractionFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z" } }] }, "name": "interaction", "theme": "filled" }; +exports.default = InteractionFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionOutlined.js new file mode 100644 index 00000000..855f55d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InteractionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z" } }] }, "name": "interaction", "theme": "outlined" }; +exports.default = InteractionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionTwoTone.js new file mode 100644 index 00000000..0193c6d4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/InteractionTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var InteractionTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z", "fill": primaryColor } }] }; }, "name": "interaction", "theme": "twotone" }; +exports.default = InteractionTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IssuesCloseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IssuesCloseOutlined.js new file mode 100644 index 00000000..e51b200f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/IssuesCloseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var IssuesCloseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M464 688a48 48 0 1096 0 48 48 0 10-96 0zm72-112c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48zm400-188h-59.3c-2.6 0-5 1.2-6.5 3.3L763.7 538.1l-49.9-68.8a7.92 7.92 0 00-6.5-3.3H648c-6.5 0-10.3 7.4-6.5 12.7l109.2 150.7a16.1 16.1 0 0026 0l165.8-228.7c3.8-5.3 0-12.7-6.5-12.7zm-44 306h-64.2c-5.5 0-10.6 2.9-13.6 7.5a352.2 352.2 0 01-49.8 62.2A355.92 355.92 0 01651.1 840a355 355 0 01-138.7 27.9c-48.1 0-94.8-9.4-138.7-27.9a355.92 355.92 0 01-113.3-76.3A353.06 353.06 0 01184 650.5c-18.6-43.8-28-90.5-28-138.5s9.4-94.7 28-138.5c17.9-42.4 43.6-80.5 76.4-113.2 32.8-32.7 70.9-58.4 113.3-76.3a355 355 0 01138.7-27.9c48.1 0 94.8 9.4 138.7 27.9 42.4 17.9 80.5 43.6 113.3 76.3 19 19 35.6 39.8 49.8 62.2 2.9 4.7 8.1 7.5 13.6 7.5H892c6 0 9.8-6.3 7.2-11.6C828.8 178.5 684.7 82 517.7 80 278.9 77.2 80.5 272.5 80 511.2 79.5 750.1 273.3 944 512.4 944c169.2 0 315.6-97 386.7-238.4A8 8 0 00892 694z" } }] }, "name": "issues-close", "theme": "outlined" }; +exports.default = IssuesCloseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ItalicOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ItalicOutlined.js new file mode 100644 index 00000000..80e81281 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ItalicOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ItalicOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M798 160H366c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h181.2l-156 544H229c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8H474.4l156-544H798c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z" } }] }, "name": "italic", "theme": "outlined" }; +exports.default = ItalicOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/KeyOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/KeyOutlined.js new file mode 100644 index 00000000..7dfcd65a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/KeyOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var KeyOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 00-11.4 0l-39.8 39.8a8.15 8.15 0 000 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z" } }] }, "name": "key", "theme": "outlined" }; +exports.default = KeyOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LaptopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LaptopOutlined.js new file mode 100644 index 00000000..a919efc7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LaptopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LaptopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z" } }] }, "name": "laptop", "theme": "outlined" }; +exports.default = LaptopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutFilled.js new file mode 100644 index 00000000..af486a68 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LayoutFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M384 912h496c17.7 0 32-14.3 32-32V340H384v572zm496-800H384v164h528V144c0-17.7-14.3-32-32-32zm-768 32v736c0 17.7 14.3 32 32 32h176V112H144c-17.7 0-32 14.3-32 32z" } }] }, "name": "layout", "theme": "filled" }; +exports.default = LayoutFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutOutlined.js new file mode 100644 index 00000000..7fbc82fd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LayoutOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z" } }] }, "name": "layout", "theme": "outlined" }; +exports.default = LayoutOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutTwoTone.js new file mode 100644 index 00000000..1f3215f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LayoutTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LayoutTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M384 185h456v136H384zm-200 0h136v656H184zm696-73H144c-17.7 0-32 14.3-32 32v1c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32v-1c0-17.7-14.3-32-32-32zM384 385h456v456H384z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 113H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V145c0-17.7-14.3-32-32-32zM320 841H184V185h136v656zm520 0H384V385h456v456zm0-520H384V185h456v136z", "fill": primaryColor } }] }; }, "name": "layout", "theme": "twotone" }; +exports.default = LayoutTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleFilled.js new file mode 100644 index 00000000..32bf2506 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm104 316.9c0 10.2-4.9 19.9-13.2 25.9L457.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 010-12.9l246-178a8 8 0 0112.7 6.5v46.8z" } }] }, "name": "left-circle", "theme": "filled" }; +exports.default = LeftCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleOutlined.js new file mode 100644 index 00000000..42fb932b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "left-circle", "theme": "outlined" }; +exports.default = LeftCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleTwoTone.js new file mode 100644 index 00000000..0171be2a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm104 240.9c0 10.3-4.9 19.9-13.2 25.9L457.4 512l145.4 105.1c8.3 6 13.2 15.7 13.2 25.9v46.9c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 010-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M603.3 327.5l-246 178a7.95 7.95 0 000 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z", "fill": primaryColor } }] }; }, "name": "left-circle", "theme": "twotone" }; +exports.default = LeftCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftOutlined.js new file mode 100644 index 00000000..d0eb94fd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z" } }] }, "name": "left", "theme": "outlined" }; +exports.default = LeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareFilled.js new file mode 100644 index 00000000..27d4ddb2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM624 380.9c0 10.2-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 010-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.8z" } }] }, "name": "left-square", "theme": "filled" }; +exports.default = LeftSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareOutlined.js new file mode 100644 index 00000000..506fc005 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 000 13z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "left-square", "theme": "outlined" }; +exports.default = LeftSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareTwoTone.js new file mode 100644 index 00000000..842cc7d5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LeftSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LeftSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm181.3-334.5l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9c0 10.3-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.7 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.4l-246-178a7.95 7.95 0 010-12.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M365.3 518.4l246 178c5.3 3.9 12.7.1 12.7-6.4v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a7.95 7.95 0 000 12.9z", "fill": primaryColor } }] }; }, "name": "left-square", "theme": "twotone" }; +exports.default = LeftSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeFilled.js new file mode 100644 index 00000000..0a32aef9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LikeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z" } }] }, "name": "like", "theme": "filled" }; +exports.default = LikeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeOutlined.js new file mode 100644 index 00000000..70468d4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LikeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0142.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z" } }] }, "name": "like", "theme": "outlined" }; +exports.default = LikeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeTwoTone.js new file mode 100644 index 00000000..f4d0cdaa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LikeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LikeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M273 495.9v428l.3-428zm538.2-88.3H496.8l9.6-198.4c.6-11.9-4.7-23.1-14.6-30.5-6.1-4.5-13.6-6.8-21.1-6.7-19.6.1-36.9 13.4-42.2 32.3-37.1 134.4-64.9 235.2-83.5 302.5V852h399.4a56.85 56.85 0 0033.6-51.8c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0019.6-43c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0019.6-43c0-9.7-2.3-18.9-6.9-27.3l-14-25.5 21.9-19a56.76 56.76 0 0019.6-43c0-19.1-11-37.5-28.8-48.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32zm773.9 5.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.5-65.5-111a67.67 67.67 0 00-34.3-9.3H572.3l6-122.9c1.5-29.7-9-57.9-29.5-79.4a106.4 106.4 0 00-77.9-33.4c-52 0-98 35-111.8 85.1l-85.8 310.8-.3 428h472.1c9.3 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37zM820.4 499l-21.9 19 14 25.5a56.2 56.2 0 016.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 22.4-13.2 42.6-33.6 51.8H345V506.8c18.6-67.2 46.4-168 83.5-302.5a44.28 44.28 0 0142.2-32.3c7.5-.1 15 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.1 32.2-19.6 43z", "fill": primaryColor } }] }; }, "name": "like", "theme": "twotone" }; +exports.default = LikeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineChartOutlined.js new file mode 100644 index 00000000..0639d7bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LineChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z" } }] }, "name": "line-chart", "theme": "outlined" }; +exports.default = LineChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineHeightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineHeightOutlined.js new file mode 100644 index 00000000..7b250d04 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineHeightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LineHeightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M648 160H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm272.8 546H856V318h64.8c6 0 9.4-7 5.7-11.7L825.7 178.7a7.14 7.14 0 00-11.3 0L713.6 306.3a7.23 7.23 0 005.7 11.7H784v388h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5a7.2 7.2 0 00-5.6-11.7z" } }] }, "name": "line-height", "theme": "outlined" }; +exports.default = LineHeightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineOutlined.js new file mode 100644 index 00000000..0e718673 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LineOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LineOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "line", "theme": "outlined" }; +exports.default = LineOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js new file mode 100644 index 00000000..e5562749 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LinkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z" } }] }, "name": "link", "theme": "outlined" }; +exports.default = LinkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinFilled.js new file mode 100644 index 00000000..9ef5e2ae --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LinkedinFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM349.3 793.7H230.6V411.9h118.7v381.8zm-59.3-434a68.8 68.8 0 1168.8-68.8c-.1 38-30.9 68.8-68.8 68.8zm503.7 434H675.1V608c0-44.3-.8-101.2-61.7-101.2-61.7 0-71.2 48.2-71.2 98v188.9H423.7V411.9h113.8v52.2h1.6c15.8-30 54.5-61.7 112.3-61.7 120.2 0 142.3 79.1 142.3 181.9v209.4z" } }] }, "name": "linkedin", "theme": "filled" }; +exports.default = LinkedinFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinOutlined.js new file mode 100644 index 00000000..adae6671 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LinkedinOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LinkedinOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M847.7 112H176.3c-35.5 0-64.3 28.8-64.3 64.3v671.4c0 35.5 28.8 64.3 64.3 64.3h671.4c35.5 0 64.3-28.8 64.3-64.3V176.3c0-35.5-28.8-64.3-64.3-64.3zm0 736c-447.8-.1-671.7-.2-671.7-.3.1-447.8.2-671.7.3-671.7 447.8.1 671.7.2 671.7.3-.1 447.8-.2 671.7-.3 671.7zM230.6 411.9h118.7v381.8H230.6zm59.4-52.2c37.9 0 68.8-30.8 68.8-68.8a68.8 68.8 0 10-137.6 0c-.1 38 30.7 68.8 68.8 68.8zm252.3 245.1c0-49.8 9.5-98 71.2-98 60.8 0 61.7 56.9 61.7 101.2v185.7h118.6V584.3c0-102.8-22.2-181.9-142.3-181.9-57.7 0-96.4 31.7-112.3 61.7h-1.6v-52.2H423.7v381.8h118.6V604.8z" } }] }, "name": "linkedin", "theme": "outlined" }; +exports.default = LinkedinOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Loading3QuartersOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Loading3QuartersOutlined.js new file mode 100644 index 00000000..86f53cb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/Loading3QuartersOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var Loading3QuartersOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z" } }] }, "name": "loading-3-quarters", "theme": "outlined" }; +exports.default = Loading3QuartersOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js new file mode 100644 index 00000000..0537e7af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LoadingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z" } }] }, "name": "loading", "theme": "outlined" }; +exports.default = LoadingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockFilled.js new file mode 100644 index 00000000..512c0dce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LockFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z" } }] }, "name": "lock", "theme": "filled" }; +exports.default = LockFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockOutlined.js new file mode 100644 index 00000000..4a1002bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LockOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z" } }] }, "name": "lock", "theme": "outlined" }; +exports.default = LockOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockTwoTone.js new file mode 100644 index 00000000..efe5e85f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LockTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LockTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M232 840h560V536H232v304zm280-226a48.01 48.01 0 0128 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0128-87z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z", "fill": primaryColor } }] }; }, "name": "lock", "theme": "twotone" }; +exports.default = LockTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoginOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoginOutlined.js new file mode 100644 index 00000000..256a33e7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LoginOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LoginOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 01520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 01270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 010 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z" } }] }, "name": "login", "theme": "outlined" }; +exports.default = LoginOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LogoutOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LogoutOutlined.js new file mode 100644 index 00000000..e7c21b15 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/LogoutOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var LogoutOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z" } }] }, "name": "logout", "theme": "outlined" }; +exports.default = LogoutOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandFilled.js new file mode 100644 index 00000000..074c566a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MacCommandFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M624 672a48.01 48.01 0 0096 0c0-26.5-21.5-48-48-48h-48v48zm96-320a48.01 48.01 0 00-96 0v48h48c26.5 0 48-21.5 48-48z" } }, { "tag": "path", "attrs": { "d": "M928 64H96c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM672 560c61.9 0 112 50.1 112 112s-50.1 112-112 112-112-50.1-112-112v-48h-96v48c0 61.9-50.1 112-112 112s-112-50.1-112-112 50.1-112 112-112h48v-96h-48c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112v48h96v-48c0-61.9 50.1-112 112-112s112 50.1 112 112-50.1 112-112 112h-48v96h48z" } }, { "tag": "path", "attrs": { "d": "M464 464h96v96h-96zM352 304a48.01 48.01 0 000 96h48v-48c0-26.5-21.5-48-48-48zm-48 368a48.01 48.01 0 0096 0v-48h-48c-26.5 0-48 21.5-48 48z" } }] }, "name": "mac-command", "theme": "filled" }; +exports.default = MacCommandFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandOutlined.js new file mode 100644 index 00000000..18c2dd2a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MacCommandOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MacCommandOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }, { "tag": "path", "attrs": { "d": "M370.8 554.4c-54.6 0-98.8 44.2-98.8 98.8s44.2 98.8 98.8 98.8 98.8-44.2 98.8-98.8v-42.4h84.7v42.4c0 54.6 44.2 98.8 98.8 98.8s98.8-44.2 98.8-98.8-44.2-98.8-98.8-98.8h-42.4v-84.7h42.4c54.6 0 98.8-44.2 98.8-98.8 0-54.6-44.2-98.8-98.8-98.8s-98.8 44.2-98.8 98.8v42.4h-84.7v-42.4c0-54.6-44.2-98.8-98.8-98.8S272 316.2 272 370.8s44.2 98.8 98.8 98.8h42.4v84.7h-42.4zm42.4 98.8c0 23.4-19 42.4-42.4 42.4s-42.4-19-42.4-42.4 19-42.4 42.4-42.4h42.4v42.4zm197.6-282.4c0-23.4 19-42.4 42.4-42.4s42.4 19 42.4 42.4-19 42.4-42.4 42.4h-42.4v-42.4zm0 240h42.4c23.4 0 42.4 19 42.4 42.4s-19 42.4-42.4 42.4-42.4-19-42.4-42.4v-42.4zM469.6 469.6h84.7v84.7h-84.7v-84.7zm-98.8-56.4c-23.4 0-42.4-19-42.4-42.4s19-42.4 42.4-42.4 42.4 19 42.4 42.4v42.4h-42.4z" } }] }, "name": "mac-command", "theme": "outlined" }; +exports.default = MacCommandOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailFilled.js new file mode 100644 index 00000000..9b64fcbc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MailFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-80.8 108.9L531.7 514.4c-7.8 6.1-18.7 6.1-26.5 0L189.6 268.9A7.2 7.2 0 01194 256h648.8a7.2 7.2 0 014.4 12.9z" } }] }, "name": "mail", "theme": "filled" }; +exports.default = MailFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailOutlined.js new file mode 100644 index 00000000..9ee73cf9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MailOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z" } }] }, "name": "mail", "theme": "outlined" }; +exports.default = MailOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailTwoTone.js new file mode 100644 index 00000000..be4a23a5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MailTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MailTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M477.5 536.3L135.9 270.7l-27.5-21.4 27.6 21.5V792h752V270.8L546.2 536.3a55.99 55.99 0 01-68.7 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M876.3 198.8l39.3 50.5-27.6 21.5 27.7-21.5-39.3-50.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-94.5 72.1L512 482 190.5 232.1h643zm54.5 38.7V792H136V270.8l-27.6-21.5 27.5 21.4 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5h.1l39.3 50.5-27.7 21.5z", "fill": primaryColor } }] }; }, "name": "mail", "theme": "twotone" }; +exports.default = MailTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ManOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ManOutlined.js new file mode 100644 index 00000000..53dd97d2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ManOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ManOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M874 120H622c-3.3 0-6 2.7-6 6v56c0 3.3 2.7 6 6 6h160.4L583.1 387.3c-50-38.5-111-59.3-175.1-59.3-76.9 0-149.3 30-203.6 84.4S120 539.1 120 616s30 149.3 84.4 203.6C258.7 874 331.1 904 408 904s149.3-30 203.6-84.4C666 765.3 696 692.9 696 616c0-64.1-20.8-124.9-59.2-174.9L836 241.9V402c0 3.3 2.7 6 6 6h56c3.3 0 6-2.7 6-6V150c0-16.5-13.5-30-30-30zM408 828c-116.9 0-212-95.1-212-212s95.1-212 212-212 212 95.1 212 212-95.1 212-212 212z" } }] }, "name": "man", "theme": "outlined" }; +exports.default = ManOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxFilled.js new file mode 100644 index 00000000..76e0d9a9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MedicineBoxFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M839.2 278.1a32 32 0 00-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 00-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48zm4-372H360v-72h304v72z" } }] }, "name": "medicine-box", "theme": "filled" }; +exports.default = MedicineBoxFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxOutlined.js new file mode 100644 index 00000000..8464ba0a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MedicineBoxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M839.2 278.1a32 32 0 00-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 00-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "medicine-box", "theme": "outlined" }; +exports.default = MedicineBoxOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxTwoTone.js new file mode 100644 index 00000000..2732b8b3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MedicineBoxTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MedicineBoxTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M244.3 328L184 513.4V840h656V513.4L779.7 328H244.3zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M839.2 278.1a32 32 0 00-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 00-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840z", "fill": primaryColor } }] }; }, "name": "medicine-box", "theme": "twotone" }; +exports.default = MedicineBoxTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumCircleFilled.js new file mode 100644 index 00000000..2e3180d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MediumCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm256 253.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 007-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z" } }] }, "name": "medium-circle", "theme": "filled" }; +exports.default = MediumCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumOutlined.js new file mode 100644 index 00000000..4db8e2cb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MediumOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M834.7 279.8l61.3-58.9V208H683.7L532.4 586.4 360.3 208H137.7v12.9l71.6 86.6c7 6.4 10.6 15.8 9.7 25.2V673c2.2 12.3-1.7 24.8-10.3 33.7L128 805v12.7h228.6v-12.9l-80.6-98a39.99 39.99 0 01-11.1-33.7V378.7l200.7 439.2h23.3l172.6-439.2v349.9c0 9.2 0 11.1-6 17.2l-62.1 60.3V819h301.2v-12.9l-59.9-58.9c-5.2-4-7.9-10.7-6.8-17.2V297a18.1 18.1 0 016.8-17.2z" } }] }, "name": "medium", "theme": "outlined" }; +exports.default = MediumOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumSquareFilled.js new file mode 100644 index 00000000..0dc2e53a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MediumSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM768 317.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 007-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z" } }] }, "name": "medium-square", "theme": "filled" }; +exports.default = MediumSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumWorkmarkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumWorkmarkOutlined.js new file mode 100644 index 00000000..b7ebc2a4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MediumWorkmarkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MediumWorkmarkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M517.2 590.55c0 3.55 0 4.36 2.4 6.55l13.43 13.25v.57h-59.57v-25.47a41.44 41.44 0 01-39.5 27.65c-30.61 0-52.84-24.25-52.84-68.87 0-41.8 23.99-69.69 57.65-69.69a35.15 35.15 0 0134.61 21.67v-56.19a6.99 6.99 0 00-2.71-6.79l-12.8-12.45v-.56l59.33-7.04v177.37zm-43.74-8.09v-83.83a22.2 22.2 0 00-17.74-8.4c-14.48 0-28.47 13.25-28.47 52.62 0 36.86 12.07 49.88 27.1 49.88a23.91 23.91 0 0019.11-10.27zm83.23 28.46V497.74a7.65 7.65 0 00-2.4-6.79l-13.19-13.74v-.57h59.56v114.8c0 3.55 0 4.36 2.4 6.54l13.12 12.45v.57l-59.49-.08zm-2.16-175.67c0-13.4 10.74-24.25 23.99-24.25 13.25 0 23.98 10.86 23.98 24.25 0 13.4-10.73 24.25-23.98 24.25s-23.99-10.85-23.99-24.25zm206.83 155.06c0 3.55 0 4.6 2.4 6.79l13.43 13.25v.57h-59.88V581.9a43.4 43.4 0 01-41.01 31.2c-26.55 0-40.78-19.56-40.78-56.59 0-17.86 0-37.43.56-59.41a6.91 6.91 0 00-2.4-6.55L620.5 477.2v-.57h59.09v73.81c0 24.25 3.51 40.42 18.54 40.42a23.96 23.96 0 0019.35-12.2v-80.85a7.65 7.65 0 00-2.4-6.79l-13.27-13.82v-.57h59.56V590.3zm202.76 20.6c0-4.36.8-59.97.8-72.75 0-24.25-3.76-40.98-20.63-40.98a26.7 26.7 0 00-21.19 11.64 99.68 99.68 0 012.4 23.04c0 16.81-.56 38.23-.8 59.66a6.91 6.91 0 002.4 6.55l13.43 12.45v.56h-60.12c0-4.04.8-59.98.8-72.76 0-24.65-3.76-40.98-20.39-40.98-8.2.3-15.68 4.8-19.83 11.96v82.46c0 3.56 0 4.37 2.4 6.55l13.11 12.45v.56h-59.48V498.15a7.65 7.65 0 00-2.4-6.8l-13.19-14.14v-.57H841v28.78c5.53-19 23.13-31.76 42.7-30.96 19.82 0 33.26 11.16 38.93 32.34a46.41 46.41 0 0144.77-32.34c26.55 0 41.58 19.8 41.58 57.23 0 17.87-.56 38.24-.8 59.66a6.5 6.5 0 002.72 6.55l13.11 12.45v.57h-59.88zM215.87 593.3l17.66 17.05v.57h-89.62v-.57l17.99-17.05a6.91 6.91 0 002.4-6.55V477.69c0-4.6 0-10.83.8-16.16L104.66 613.1h-.72l-62.6-139.45c-1.37-3.47-1.77-3.72-2.65-6.06v91.43a32.08 32.08 0 002.96 17.87l25.19 33.46v.57H0v-.57l25.18-33.55a32.16 32.16 0 002.96-17.78V457.97A19.71 19.71 0 0024 444.15L6.16 420.78v-.56h63.96l53.56 118.1 47.17-118.1h62.6v.56l-17.58 19.8a6.99 6.99 0 00-2.72 6.8v139.37a6.5 6.5 0 002.72 6.55zm70.11-54.65v.56c0 34.6 17.67 48.5 38.38 48.5a43.5 43.5 0 0040.77-24.97h.56c-7.2 34.2-28.14 50.36-59.48 50.36-33.82 0-65.72-20.61-65.72-68.39 0-50.2 31.98-70.25 67.32-70.25 28.46 0 58.76 13.58 58.76 57.24v6.95h-80.59zm0-6.95h39.42v-7.04c0-35.57-7.28-45.03-18.23-45.03-13.27 0-21.35 14.15-21.35 52.07h.16z" } }] }, "name": "medium-workmark", "theme": "outlined" }; +exports.default = MediumWorkmarkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehFilled.js new file mode 100644 index 00000000..1240e065 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MehFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "meh", "theme": "filled" }; +exports.default = MehFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehOutlined.js new file mode 100644 index 00000000..7accdc74 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MehOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM664 565H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "meh", "theme": "outlined" }; +exports.default = MehOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehTwoTone.js new file mode 100644 index 00000000..ba66c7b2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MehTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MehTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm376 144H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-24-144a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "meh", "theme": "twotone" }; +exports.default = MehTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuFoldOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuFoldOutlined.js new file mode 100644 index 00000000..96d4d3b6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuFoldOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MenuFoldOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z" } }] }, "name": "menu-fold", "theme": "outlined" }; +exports.default = MenuFoldOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuOutlined.js new file mode 100644 index 00000000..6e400e00 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MenuOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z" } }] }, "name": "menu", "theme": "outlined" }; +exports.default = MenuOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuUnfoldOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuUnfoldOutlined.js new file mode 100644 index 00000000..6d5d60b2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MenuUnfoldOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MenuUnfoldOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z" } }] }, "name": "menu-unfold", "theme": "outlined" }; +exports.default = MenuUnfoldOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MergeCellsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MergeCellsOutlined.js new file mode 100644 index 00000000..7c3771a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MergeCellsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MergeCellsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M482.2 508.4L331.3 389c-3-2.4-7.3-.2-7.3 3.6V478H184V184h204v128c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V144c0-15.5-12.5-28-28-28H144c-15.5 0-28 12.5-28 28v736c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v128H184V546h140v85.4c0 3.8 4.4 6 7.3 3.6l150.9-119.4a4.5 4.5 0 000-7.2zM880 116H596c-15.5 0-28 12.5-28 28v168c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V184h204v294H700v-85.4c0-3.8-4.3-6-7.3-3.6l-151 119.4a4.52 4.52 0 000 7.1l151 119.5c2.9 2.3 7.3.2 7.3-3.6V546h140v294H636V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v168c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V144c0-15.5-12.5-28-28-28z" } }] }, "name": "merge-cells", "theme": "outlined" }; +exports.default = MergeCellsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageFilled.js new file mode 100644 index 00000000..8a493a43 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MessageFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M924.3 338.4a447.57 447.57 0 00-96.1-143.3 443.09 443.09 0 00-143-96.3A443.91 443.91 0 00512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 00-141.7 96.5 445 445 0 00-95 142.8A449.89 449.89 0 0065 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 00199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 00827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z" } }] }, "name": "message", "theme": "filled" }; +exports.default = MessageFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageOutlined.js new file mode 100644 index 00000000..275343b4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MessageOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M464 512a48 48 0 1096 0 48 48 0 10-96 0zm200 0a48 48 0 1096 0 48 48 0 10-96 0zm-400 0a48 48 0 1096 0 48 48 0 10-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 00-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 00-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 00112 714v152a46 46 0 0046 46h152.1A449.4 449.4 0 00510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 00142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z" } }] }, "name": "message", "theme": "outlined" }; +exports.default = MessageOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageTwoTone.js new file mode 100644 index 00000000..e840aab5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MessageTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MessageTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M775.3 248.9a369.62 369.62 0 00-119-80A370.2 370.2 0 00512.1 140h-1.7c-99.7.4-193 39.4-262.8 109.9-69.9 70.5-108 164.1-107.6 263.8.3 60.3 15.3 120.2 43.5 173.1l4.5 8.4V836h140.8l8.4 4.5c52.9 28.2 112.8 43.2 173.1 43.5h1.7c99 0 192-38.2 262.1-107.6 70.4-69.8 109.5-163.1 110.1-262.7.2-50.6-9.5-99.6-28.9-145.8a370.15 370.15 0 00-80-119zM312 560a48.01 48.01 0 010-96 48.01 48.01 0 010 96zm200 0a48.01 48.01 0 010-96 48.01 48.01 0 010 96zm200 0a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M664 512a48 48 0 1096 0 48 48 0 10-96 0zm-400 0a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 00-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 00-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 00112 714v152a46 46 0 0046 46h152.1A449.4 449.4 0 00510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 00142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M464 512a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "message", "theme": "twotone" }; +exports.default = MessageTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleFilled.js new file mode 100644 index 00000000..2df86b7a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z" } }] }, "name": "minus-circle", "theme": "filled" }; +exports.default = MinusCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleOutlined.js new file mode 100644 index 00000000..79e8781e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "minus-circle", "theme": "outlined" }; +exports.default = MinusCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleTwoTone.js new file mode 100644 index 00000000..7aeaa5f4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "minus-circle", "theme": "twotone" }; +exports.default = MinusCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusOutlined.js new file mode 100644 index 00000000..28fb7267 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "minus", "theme": "outlined" }; +exports.default = MinusOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareFilled.js new file mode 100644 index 00000000..593bef8a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z" } }] }, "name": "minus-square", "theme": "filled" }; +exports.default = MinusSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareOutlined.js new file mode 100644 index 00000000..c0b4ad69 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "minus-square", "theme": "outlined" }; +exports.default = MinusSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareTwoTone.js new file mode 100644 index 00000000..0b8cdbcb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MinusSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MinusSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "minus-square", "theme": "twotone" }; +exports.default = MinusSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileFilled.js new file mode 100644 index 00000000..6bd4d214 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MobileFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z" } }] }, "name": "mobile", "theme": "filled" }; +exports.default = MobileFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileOutlined.js new file mode 100644 index 00000000..71e60cae --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MobileOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "mobile", "theme": "outlined" }; +exports.default = MobileOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileTwoTone.js new file mode 100644 index 00000000..73ebbd39 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MobileTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MobileTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M744 64H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H288V136h448v752z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M288 888h448V136H288v752zm224-142c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M472 786a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }] }; }, "name": "mobile", "theme": "twotone" }; +exports.default = MobileTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectFilled.js new file mode 100644 index 00000000..59b2ed9f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MoneyCollectFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M911.5 699.7a8 8 0 00-10.3-4.8L840 717.2V179c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V762c0 3.3 2.1 6.3 5.3 7.5L501 909.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zm-243.8-377L564 514.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V703c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 322.8c-2.1-3.8-.7-8.7 3.2-10.8 1.2-.7 2.5-1 3.8-1h55.7a8 8 0 017.1 4.4L511 484.2h3.3L599 315.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8z" } }] }, "name": "money-collect", "theme": "filled" }; +exports.default = MoneyCollectFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectOutlined.js new file mode 100644 index 00000000..33657001 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MoneyCollectOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M911.5 700.7a8 8 0 00-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM512 837.5l-256-93.1V184h512v560.4l-256 93.1zM660.6 312h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 00-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9z" } }] }, "name": "money-collect", "theme": "outlined" }; +exports.default = MoneyCollectOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectTwoTone.js new file mode 100644 index 00000000..4670d998 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoneyCollectTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MoneyCollectTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M256 744.4l256 93.1 256-93.1V184H256v560.4zM359.7 313c1.2-.7 2.5-1 3.8-1h55.7a8 8 0 017.1 4.4L511 485.2h3.3L599 316.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8L564 515.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V704c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 323.8c-2.1-3.8-.7-8.7 3.2-10.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M911.5 700.7a8 8 0 00-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM768 744.4l-256 93.1-256-93.1V184h512v560.4z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M460.4 515.4h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 00-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6z", "fill": primaryColor } }] }; }, "name": "money-collect", "theme": "twotone" }; +exports.default = MoneyCollectTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MonitorOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MonitorOutlined.js new file mode 100644 index 00000000..d4ab108a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MonitorOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MonitorOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 00-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 00-11.2-1.4l-37.9 29.7a7.97 7.97 0 00-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z" } }] }, "name": "monitor", "theme": "outlined" }; +exports.default = MonitorOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoreOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoreOutlined.js new file mode 100644 index 00000000..6ddc6c54 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/MoreOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var MoreOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M456 231a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0zm0 280a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "more", "theme": "outlined" }; +exports.default = MoreOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeCollapseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeCollapseOutlined.js new file mode 100644 index 00000000..1efe0b53 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeCollapseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NodeCollapseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M952 612c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H298a95.92 95.92 0 00-89-60c-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h150.3v152c0 55.2 44.8 100 100 100H952c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H548.3c-15.5 0-28-12.5-28-28V612H952zM451.7 313.7l172.5 136.2c6.3 5.1 15.8.5 15.8-7.7V344h264c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H640v-98.2c0-8.1-9.4-12.8-15.8-7.7L451.7 298.3a9.9 9.9 0 000 15.4z" } }] }, "name": "node-collapse", "theme": "outlined" }; +exports.default = NodeCollapseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeExpandOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeExpandOutlined.js new file mode 100644 index 00000000..831077e5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeExpandOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NodeExpandOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M952 612c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H298a95.92 95.92 0 00-89-60c-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h150.3v152c0 55.2 44.8 100 100 100H952c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H548.3c-15.5 0-28-12.5-28-28V612H952zM456 344h264v98.2c0 8.1 9.5 12.8 15.8 7.7l172.5-136.2c5-3.9 5-11.4 0-15.3L735.8 162.1c-6.4-5.1-15.8-.5-15.8 7.7V268H456c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8z" } }] }, "name": "node-expand", "theme": "outlined" }; +exports.default = NodeExpandOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeIndexOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeIndexOutlined.js new file mode 100644 index 00000000..25e5cc2d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NodeIndexOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NodeIndexOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7 3.3-27.3 19.8-41.9 50.1-49 18.4-4.3 38.8-4.9 57.3-3.2 1.7.2 3.5.3 5.2.5 11.3 2.7 22.8 5 34.3 6.8 34.1 5.6 68.8 8.4 101.8 6.6 92.8-5 156-45.9 159.2-132.7 3.1-84.1-54.7-143.7-147.9-183.6-29.9-12.8-61.6-22.7-93.3-30.2-14.3-3.4-26.3-5.7-35.2-7.2-7.9-75.9-71.5-133.8-147.8-134.4-76.3-.6-140.9 56.1-150.1 131.9s40 146.3 114.2 163.9c74.2 17.6 149.9-23.3 175.7-95.1 9.4 1.7 18.7 3.6 28 5.8 28.2 6.6 56.4 15.4 82.4 26.6 70.7 30.2 109.3 70.1 107.5 119.9-1.6 44.6-33.6 65.2-96.2 68.6-27.5 1.5-57.6-.9-87.3-5.8-8.3-1.4-15.9-2.8-22.6-4.3-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3-25-2.3-52.1-1.5-78.5 4.6-55.2 12.9-93.9 47.2-101.1 105.8-15.7 126.2 78.6 184.7 276 188.9 29.1 70.4 106.4 107.9 179.6 87 73.3-20.9 119.3-93.4 106.9-168.6zM329.1 345.2a83.3 83.3 0 11.01-166.61 83.3 83.3 0 01-.01 166.61zM695.6 845a83.3 83.3 0 11.01-166.61A83.3 83.3 0 01695.6 845z" } }] }, "name": "node-index", "theme": "outlined" }; +exports.default = NodeIndexOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationFilled.js new file mode 100644 index 00000000..a0582ec9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NotificationFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z" } }] }, "name": "notification", "theme": "filled" }; +exports.default = NotificationFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationOutlined.js new file mode 100644 index 00000000..df5ae78d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NotificationOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z" } }] }, "name": "notification", "theme": "outlined" }; +exports.default = NotificationOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationTwoTone.js new file mode 100644 index 00000000..3f2db078 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NotificationTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NotificationTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M229.6 678.1c-3.7 11.6-5.6 23.9-5.6 36.4 0-12.5 2-24.8 5.7-36.4h-.1zm76.3-260.2H184v188.2h121.9l12.9 5.2L840 820.7V203.3L318.8 412.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z", "fill": primaryColor } }] }; }, "name": "notification", "theme": "twotone" }; +exports.default = NotificationTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NumberOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NumberOutlined.js new file mode 100644 index 00000000..6f0886be --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/NumberOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var NumberOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z" } }] }, "name": "number", "theme": "outlined" }; +exports.default = NumberOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OneToOneOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OneToOneOutlined.js new file mode 100644 index 00000000..89617bb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OneToOneOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var OneToOneOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M316 672h60c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8zm196-50c22.1 0 40-17.9 40-39 0-23.1-17.9-41-40-41s-40 17.9-40 41c0 21.1 17.9 39 40 39zm0-140c22.1 0 40-17.9 40-39 0-23.1-17.9-41-40-41s-40 17.9-40 41c0 21.1 17.9 39 40 39z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }, { "tag": "path", "attrs": { "d": "M648 672h60c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8z" } }] }, "name": "one-to-one", "theme": "outlined" }; +exports.default = OneToOneOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OrderedListOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OrderedListOutlined.js new file mode 100644 index 00000000..99fa4e09 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/OrderedListOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var OrderedListOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M920 760H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-568H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM216 712H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h72.4v20.5h-35.7c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h35.7V838H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4V716c0-2.2-1.8-4-4-4zM100 188h38v120c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V152c0-4.4-3.6-8-8-8h-78c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4zm116 240H100c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h68.4l-70.3 77.7a8.3 8.3 0 00-2.1 5.4V592c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4v-36c0-2.2-1.8-4-4-4h-68.4l70.3-77.7a8.3 8.3 0 002.1-5.4V432c0-2.2-1.8-4-4-4z" } }] }, "name": "ordered-list", "theme": "outlined" }; +exports.default = OrderedListOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PaperClipOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PaperClipOutlined.js new file mode 100644 index 00000000..1e3305af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PaperClipOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PaperClipOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z" } }] }, "name": "paper-clip", "theme": "outlined" }; +exports.default = PaperClipOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PartitionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PartitionOutlined.js new file mode 100644 index 00000000..0bdc05a0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PartitionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PartitionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M640.6 429.8h257.1c7.9 0 14.3-6.4 14.3-14.3V158.3c0-7.9-6.4-14.3-14.3-14.3H640.6c-7.9 0-14.3 6.4-14.3 14.3v92.9H490.6c-3.9 0-7.1 3.2-7.1 7.1v221.5h-85.7v-96.5c0-7.9-6.4-14.3-14.3-14.3H126.3c-7.9 0-14.3 6.4-14.3 14.3v257.2c0 7.9 6.4 14.3 14.3 14.3h257.1c7.9 0 14.3-6.4 14.3-14.3V544h85.7v221.5c0 3.9 3.2 7.1 7.1 7.1h135.7v92.9c0 7.9 6.4 14.3 14.3 14.3h257.1c7.9 0 14.3-6.4 14.3-14.3v-257c0-7.9-6.4-14.3-14.3-14.3h-257c-7.9 0-14.3 6.4-14.3 14.3v100h-78.6v-393h78.6v100c0 7.9 6.4 14.3 14.3 14.3zm53.5-217.9h150V362h-150V211.9zM329.9 587h-150V437h150v150zm364.2 75.1h150v150.1h-150V662.1z" } }] }, "name": "partition", "theme": "outlined" }; +exports.default = PartitionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleFilled.js new file mode 100644 index 00000000..778bc259 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PauseCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z" } }] }, "name": "pause-circle", "theme": "filled" }; +exports.default = PauseCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleOutlined.js new file mode 100644 index 00000000..9ec1d594 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PauseCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z" } }] }, "name": "pause-circle", "theme": "outlined" }; +exports.default = PauseCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleTwoTone.js new file mode 100644 index 00000000..3707b437 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PauseCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-80 524c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M424 352h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "pause-circle", "theme": "twotone" }; +exports.default = PauseCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseOutlined.js new file mode 100644 index 00000000..92188eee --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PauseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PauseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z" } }] }, "name": "pause", "theme": "outlined" }; +exports.default = PauseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleFilled.js new file mode 100644 index 00000000..9c94d4e2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PayCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 017-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 017.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z" } }] }, "name": "pay-circle", "theme": "filled" }; +exports.default = PayCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleOutlined.js new file mode 100644 index 00000000..6c73729c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PayCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PayCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 00-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z" } }] }, "name": "pay-circle", "theme": "outlined" }; +exports.default = PayCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PercentageOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PercentageOutlined.js new file mode 100644 index 00000000..47b1c489 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PercentageOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PercentageOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M855.7 210.8l-42.4-42.4a8.03 8.03 0 00-11.3 0L168.3 801.9a8.03 8.03 0 000 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0L855.6 222c3.2-3 3.2-8.1.1-11.2zM304 448c79.4 0 144-64.6 144-144s-64.6-144-144-144-144 64.6-144 144 64.6 144 144 144zm0-216c39.7 0 72 32.3 72 72s-32.3 72-72 72-72-32.3-72-72 32.3-72 72-72zm416 344c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144-64.6-144-144-144zm0 216c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z" } }] }, "name": "percentage", "theme": "outlined" }; +exports.default = PercentageOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneFilled.js new file mode 100644 index 00000000..1dd5e536 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PhoneFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.6 230.2L779.1 123.8a80.83 80.83 0 00-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L549.8 238.4a80.83 80.83 0 00-23.8 57.3c0 21.7 8.5 42.1 23.8 57.4l83.8 83.8A393.82 393.82 0 01553.1 553 395.34 395.34 0 01437 633.8L353.2 550a80.83 80.83 0 00-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L123.8 664.5a80.89 80.89 0 00-23.8 57.4c0 21.7 8.5 42.1 23.8 57.4l106.3 106.3c24.4 24.5 58.1 38.4 92.7 38.4 7.3 0 14.3-.6 21.2-1.8 134.8-22.2 268.5-93.9 376.4-201.7C828.2 612.8 899.8 479.2 922.3 344c6.8-41.3-6.9-83.8-36.7-113.8z" } }] }, "name": "phone", "theme": "filled" }; +exports.default = PhoneFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneOutlined.js new file mode 100644 index 00000000..c4563e52 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PhoneOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 01-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 00-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 00285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z" } }] }, "name": "phone", "theme": "outlined" }; +exports.default = PhoneOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneTwoTone.js new file mode 100644 index 00000000..c20c9cdc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PhoneTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PhoneTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M721.7 184.9L610.9 295.8l120.8 120.7-8 21.6A481.29 481.29 0 01438 723.9l-21.6 8-.9-.9-119.8-120-110.8 110.9 104.5 104.5c10.8 10.7 26 15.7 40.8 13.2 117.9-19.5 235.4-82.9 330.9-178.4s158.9-213.1 178.4-331c2.5-14.8-2.5-30-13.3-40.8L721.7 184.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 01-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 00-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 00285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z", "fill": primaryColor } }] }; }, "name": "phone", "theme": "twotone" }; +exports.default = PhoneTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicCenterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicCenterOutlined.js new file mode 100644 index 00000000..c335cde6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicCenterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PicCenterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z" } }] }, "name": "pic-center", "theme": "outlined" }; +exports.default = PicCenterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicLeftOutlined.js new file mode 100644 index 00000000..15cdf4ca --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PicLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM608 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM152 436h400v152H152V436zm552 210c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z" } }] }, "name": "pic-left", "theme": "outlined" }; +exports.default = PicLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicRightOutlined.js new file mode 100644 index 00000000..1d0e4de2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PicRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PicRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-24 500c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM472 436h400v152H472V436zM80 646c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z" } }] }, "name": "pic-right", "theme": "outlined" }; +exports.default = PicRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureFilled.js new file mode 100644 index 00000000..ba92b89f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PictureFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM338 304c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm513.9 437.1a8.11 8.11 0 01-5.2 1.9H177.2c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2l170.3-202c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l99.4 118 158.1-187.5c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l229.6 271.6c2.6 3.3 2.2 8.4-1.2 11.2z" } }] }, "name": "picture", "theme": "filled" }; +exports.default = PictureFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureOutlined.js new file mode 100644 index 00000000..ee51f674 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PictureOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z" } }] }, "name": "picture", "theme": "outlined" }; +exports.default = PictureOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureTwoTone.js new file mode 100644 index 00000000..a986aea2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PictureTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PictureTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M276 368a28 28 0 1056 0 28 28 0 10-56 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z", "fill": primaryColor } }] }; }, "name": "picture", "theme": "twotone" }; +exports.default = PictureTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartFilled.js new file mode 100644 index 00000000..0ab02687 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PieChartFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M863.1 518.5H505.5V160.9c0-4.4-3.6-8-8-8h-26a398.57 398.57 0 00-282.5 117 397.47 397.47 0 00-85.6 127C82.6 446.2 72 498.5 72 552.5S82.6 658.7 103.4 708c20.1 47.5 48.9 90.3 85.6 127 36.7 36.7 79.4 65.5 127 85.6a396.64 396.64 0 00155.6 31.5 398.57 398.57 0 00282.5-117c36.7-36.7 65.5-79.4 85.6-127a396.64 396.64 0 0031.5-155.6v-26c-.1-4.4-3.7-8-8.1-8zM951 463l-2.6-28.2c-8.5-92-49.3-178.8-115.1-244.3A398.5 398.5 0 00588.4 75.6L560.1 73c-4.7-.4-8.7 3.2-8.7 7.9v383.7c0 4.4 3.6 8 8 8l383.6-1c4.7-.1 8.4-4 8-8.6z" } }] }, "name": "pie-chart", "theme": "filled" }; +exports.default = PieChartFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartOutlined.js new file mode 100644 index 00000000..3a7a54b5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PieChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 00-282.8 117.1 398.19 398.19 0 00-85.7 127.1A397.61 397.61 0 0072 552a398.46 398.46 0 00117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 00472 952a398.46 398.46 0 00282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 00872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 01470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 00589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 01166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z" } }] }, "name": "pie-chart", "theme": "outlined" }; +exports.default = PieChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartTwoTone.js new file mode 100644 index 00000000..938f7f2f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PieChartTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PieChartTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M316.2 920.5c-47.6-20.1-90.4-49-127.1-85.7a398.19 398.19 0 01-85.7-127.1A397.12 397.12 0 0172 552.2v.2a398.57 398.57 0 00117 282.5c36.7 36.7 79.4 65.5 127 85.6A396.64 396.64 0 00471.6 952c27 0 53.6-2.7 79.7-7.9-25.9 5.2-52.4 7.8-79.3 7.8-54 .1-106.4-10.5-155.8-31.4zM560 472c-4.4 0-8-3.6-8-8V79.9c0-1.3.3-2.5.9-3.6-.9 1.3-1.5 2.9-1.5 4.6v383.7c0 4.4 3.6 8 8 8l383.6-1c1.6 0 3.1-.5 4.4-1.3-1 .5-2.2.7-3.4.7l-384 1z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M619.8 147.6v256.6l256.4-.7c-13-62.5-44.3-120.5-90-166.1a332.24 332.24 0 00-166.4-89.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M438 221.7c-75.9 7.6-146.2 40.9-200.8 95.5C174.5 379.9 140 463.3 140 552s34.5 172.1 97.2 234.8c62.3 62.3 145.1 96.8 233.2 97.2 88.2.4 172.7-34.1 235.3-96.2C761 733 794.6 662.3 802.3 586H438V221.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 00-282.8 117.1 398.19 398.19 0 00-85.7 127.1A397.61 397.61 0 0072 552v.2c0 53.9 10.6 106.2 31.4 155.5 20.1 47.6 49 90.4 85.7 127.1 36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 00472 952c26.9 0 53.4-2.6 79.3-7.8 26.1-5.3 51.7-13.1 76.4-23.6 47.6-20.1 90.4-49 127.1-85.7 36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 00872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 01470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552s34.5-172.1 97.2-234.8c54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 00589 74.6L560.7 72c-3.4-.3-6.4 1.5-7.8 4.3a8.7 8.7 0 00-.9 3.6V464c0 4.4 3.6 8 8 8l384-1c1.2 0 2.3-.3 3.4-.7a8.1 8.1 0 004.6-7.9zm-332.2-58.2V147.6a332.24 332.24 0 01166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z", "fill": primaryColor } }] }; }, "name": "pie-chart", "theme": "twotone" }; +exports.default = PieChartTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleFilled.js new file mode 100644 index 00000000..b4212e09 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlayCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 01-12.7-6.5V353.7a8 8 0 0112.7-6.5L656.1 506a7.9 7.9 0 010 12.9z" } }] }, "name": "play-circle", "theme": "filled" }; +exports.default = PlayCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleOutlined.js new file mode 100644 index 00000000..2a0295ef --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlayCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M719.4 499.1l-296.1-215A15.9 15.9 0 00398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 000-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z" } }] }, "name": "play-circle", "theme": "outlined" }; +exports.default = PlayCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleTwoTone.js new file mode 100644 index 00000000..09aa6a5b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlayCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlayCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm164.1 378.2L457.7 677.1a8.02 8.02 0 01-12.7-6.5V353a8 8 0 0112.7-6.5l218.4 158.8a7.9 7.9 0 010 12.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M676.1 505.3L457.7 346.5A8 8 0 00445 353v317.6a8.02 8.02 0 0012.7 6.5l218.4-158.9a7.9 7.9 0 000-12.9z", "fill": primaryColor } }] }; }, "name": "play-circle", "theme": "twotone" }; +exports.default = PlayCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareFilled.js new file mode 100644 index 00000000..3b637813 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlaySquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM641.7 520.8L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 010 17.6z" } }] }, "name": "play-square", "theme": "filled" }; +exports.default = PlaySquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareOutlined.js new file mode 100644 index 00000000..b314ae41 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlaySquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M442.3 677.6l199.4-156.7a11.3 11.3 0 000-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "play-square", "theme": "outlined" }; +exports.default = PlaySquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareTwoTone.js new file mode 100644 index 00000000..d45325bc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlaySquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlaySquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm240-484.7c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 010 17.6L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M442.3 677.6l199.4-156.8a11.2 11.2 0 000-17.6L442.3 346.5c-7.4-5.9-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.6 18.3 8.8z", "fill": primaryColor } }] }; }, "name": "play-square", "theme": "twotone" }; +exports.default = PlaySquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleFilled.js new file mode 100644 index 00000000..06bb8678 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z" } }] }, "name": "plus-circle", "theme": "filled" }; +exports.default = PlusCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleOutlined.js new file mode 100644 index 00000000..b67503bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "plus-circle", "theme": "outlined" }; +exports.default = PlusCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleTwoTone.js new file mode 100644 index 00000000..886c09d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "plus-circle", "theme": "twotone" }; +exports.default = PlusCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusOutlined.js new file mode 100644 index 00000000..ae1a3573 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z" } }, { "tag": "path", "attrs": { "d": "M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z" } }] }, "name": "plus", "theme": "outlined" }; +exports.default = PlusOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareFilled.js new file mode 100644 index 00000000..c313088c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z" } }] }, "name": "plus-square", "theme": "filled" }; +exports.default = PlusSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareOutlined.js new file mode 100644 index 00000000..ab01279b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "plus-square", "theme": "outlined" }; +exports.default = PlusSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareTwoTone.js new file mode 100644 index 00000000..7de81fd0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PlusSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PlusSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "plus-square", "theme": "twotone" }; +exports.default = PlusSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleFilled.js new file mode 100644 index 00000000..39142cdb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PoundCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm146 658c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 01-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8V722z" } }] }, "name": "pound-circle", "theme": "filled" }; +exports.default = PoundCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleOutlined.js new file mode 100644 index 00000000..8436331c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PoundCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z" } }] }, "name": "pound-circle", "theme": "outlined" }; +exports.default = PoundCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleTwoTone.js new file mode 100644 index 00000000..ad953fa9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PoundCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm146 582.1c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 01-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8v39.8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M650 674.3H470v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.8-5.3-41h98.6c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8h-112c-7.2-22.6-13.4-45.8-13.4-70.5 0-43.6 34-70.2 87.3-70.2 21.4 0 42.5 4.1 60.4 10.5a8 8 0 0010.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.9-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.4 6.8 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.2c3.4 14.8 5.9 29.5 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8v38.5c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "pound-circle", "theme": "twotone" }; +exports.default = PoundCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundOutlined.js new file mode 100644 index 00000000..148ed1bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoundOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PoundOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z" } }] }, "name": "pound", "theme": "outlined" }; +exports.default = PoundOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoweroffOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoweroffOutlined.js new file mode 100644 index 00000000..7dddfeff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PoweroffOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PoweroffOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M705.6 124.9a8 8 0 00-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0162.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0127.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 01-76.3 113.3 353.06 353.06 0 01-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 01-113.2-76.4A355.92 355.92 0 01184 650.4a355 355 0 01-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z" } }] }, "name": "poweroff", "theme": "outlined" }; +exports.default = PoweroffOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterFilled.js new file mode 100644 index 00000000..f2916afa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PrinterFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M732 120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v148h440V120zm120 212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM664 844H360V568h304v276zm164-360c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z" } }] }, "name": "printer", "theme": "filled" }; +exports.default = PrinterFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterOutlined.js new file mode 100644 index 00000000..4b053829 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PrinterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8zm32-104H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z" } }] }, "name": "printer", "theme": "outlined" }; +exports.default = PrinterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterTwoTone.js new file mode 100644 index 00000000..50236c99 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PrinterTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PrinterTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M360 180h304v152H360zm492 220H172c-6.6 0-12 5.4-12 12v292h132V500h440v204h132V412c0-6.6-5.4-12-12-12zm-24 84c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "printer", "theme": "twotone" }; +exports.default = PrinterTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileFilled.js new file mode 100644 index 00000000..8ca8691c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProfileFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM380 696c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm304 272c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48z" } }] }, "name": "profile", "theme": "filled" }; +exports.default = ProfileFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileOutlined.js new file mode 100644 index 00000000..d2747e13 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProfileOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0zm0 144a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "profile", "theme": "outlined" }; +exports.default = ProfileOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileTwoTone.js new file mode 100644 index 00000000..9fc0a188 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProfileTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProfileTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm300-496c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zM380 328c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M340 656a40 40 0 1080 0 40 40 0 10-80 0zm0-144a40 40 0 1080 0 40 40 0 10-80 0zm0-144a40 40 0 1080 0 40 40 0 10-80 0zm152 320h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "profile", "theme": "twotone" }; +exports.default = ProfileTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectFilled.js new file mode 100644 index 00000000..31ef8c2b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProjectFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM368 744c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464zm192-280c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184zm192 72c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256z" } }] }, "name": "project", "theme": "filled" }; +exports.default = ProjectFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectOutlined.js new file mode 100644 index 00000000..6a22081e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProjectOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "project", "theme": "outlined" }; +exports.default = ProjectOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectTwoTone.js new file mode 100644 index 00000000..fd13b31f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ProjectTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ProjectTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm472-560c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "project", "theme": "twotone" }; +exports.default = ProjectTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyFilled.js new file mode 100644 index 00000000..934c1c93 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PropertySafetyFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM648.3 332.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 018.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z" } }] }, "name": "property-safety", "theme": "filled" }; +exports.default = PropertySafetyFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyOutlined.js new file mode 100644 index 00000000..f0370f9e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PropertySafetyOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM430.5 318h-46c-1.7 0-3.3.4-4.8 1.2a10.1 10.1 0 00-4 13.6l88 161.1h-45.2c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7h-63.1c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1a10.05 10.05 0 00-8.8-14.8h-45c-3.8 0-7.2 2.1-8.9 5.5l-73.2 144.3-72.9-144.3c-1.7-3.4-5.2-5.5-9-5.5z" } }] }, "name": "property-safety", "theme": "outlined" }; +exports.default = PropertySafetyOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyTwoTone.js new file mode 100644 index 00000000..12c63f01 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PropertySafetyTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PropertySafetyTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM593.9 318h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3L585 323.5a10 10 0 018.9-5.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M438.9 323.5a9.88 9.88 0 00-8.9-5.5h-46c-1.7 0-3.3.4-4.8 1.2-4.9 2.7-6.6 8.8-4 13.6l88 161.1H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1c.8-1.5 1.2-3.1 1.1-4.8 0-5.5-4.5-10-10-10h-45a10 10 0 00-8.9 5.5l-73.2 144.3-72.9-144.3z", "fill": primaryColor } }] }; }, "name": "property-safety", "theme": "twotone" }; +exports.default = PropertySafetyTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PullRequestOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PullRequestOutlined.js new file mode 100644 index 00000000..67e579cf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PullRequestOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PullRequestOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M788 705.9V192c0-8.8-7.2-16-16-16H602v-68.8c0-6-7-9.4-11.7-5.7L462.7 202.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V240h114v465.9c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c.1-49.2-31.7-91-75.9-106.1zM752 860a48.01 48.01 0 010-96 48.01 48.01 0 010 96zM384 212c0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1V318.1c44.2-15.1 76-56.9 76-106.1zm-160 0a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm96 600a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0z" } }] }, "name": "pull-request", "theme": "outlined" }; +exports.default = PullRequestOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinFilled.js new file mode 100644 index 00000000..02ec9531 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PushpinFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z" } }] }, "name": "pushpin", "theme": "filled" }; +exports.default = PushpinFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinOutlined.js new file mode 100644 index 00000000..ec9f8ac5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PushpinOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z" } }] }, "name": "pushpin", "theme": "outlined" }; +exports.default = PushpinOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinTwoTone.js new file mode 100644 index 00000000..6f3527a4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/PushpinTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var PushpinTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M474.8 357.7l-24.5 24.5-34.4-3.8c-9.6-1.1-19.3-1.6-28.9-1.6-29 0-57.5 4.7-84.7 14.1-14 4.8-27.4 10.8-40.3 17.9l353.1 353.3a259.92 259.92 0 0030.4-153.9l-3.8-34.4 24.5-24.5L800 415.5 608.5 224 474.8 357.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z", "fill": primaryColor } }] }; }, "name": "pushpin", "theme": "twotone" }; +exports.default = PushpinTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqCircleFilled.js new file mode 100644 index 00000000..235b5fe4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QqCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm210.5 612.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z" } }] }, "name": "qq-circle", "theme": "filled" }; +exports.default = QqCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqOutlined.js new file mode 100644 index 00000000..e218c998 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QqOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z" } }] }, "name": "qq", "theme": "outlined" }; +exports.default = QqOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqSquareFilled.js new file mode 100644 index 00000000..f80fc184 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QqSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QqSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM722.5 676.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z" } }] }, "name": "qq-square", "theme": "filled" }; +exports.default = QqSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QrcodeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QrcodeOutlined.js new file mode 100644 index 00000000..0ad178c4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QrcodeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QrcodeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "qrcode", "theme": "outlined" }; +exports.default = QrcodeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleFilled.js new file mode 100644 index 00000000..86501871 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QuestionCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 00-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z" } }] }, "name": "question-circle", "theme": "filled" }; +exports.default = QuestionCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleOutlined.js new file mode 100644 index 00000000..7c03618f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QuestionCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }, { "tag": "path", "attrs": { "d": "M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "question-circle", "theme": "outlined" }; +exports.default = QuestionCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleTwoTone.js new file mode 100644 index 00000000..18d5ef5e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QuestionCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm0 632c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 00-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M472 732a40 40 0 1080 0 40 40 0 10-80 0zm151.6-415.3C593.6 290.5 554 276 512 276s-81.6 14.4-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.2 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5 0-39.3-17.2-76-48.4-103.3z", "fill": primaryColor } }] }; }, "name": "question-circle", "theme": "twotone" }; +exports.default = QuestionCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionOutlined.js new file mode 100644 index 00000000..dc383d9d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/QuestionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var QuestionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 00-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z" } }] }, "name": "question", "theme": "outlined" }; +exports.default = QuestionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadarChartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadarChartOutlined.js new file mode 100644 index 00000000..96370b0a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadarChartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadarChartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M926.8 397.1l-396-288a31.81 31.81 0 00-37.6 0l-396 288a31.99 31.99 0 00-11.6 35.8l151.3 466a32 32 0 0030.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z" } }] }, "name": "radar-chart", "theme": "outlined" }; +exports.default = RadarChartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomleftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomleftOutlined.js new file mode 100644 index 00000000..5fb57a40 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomleftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadiusBottomleftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "radius-bottomleft", "theme": "outlined" }; +exports.default = RadiusBottomleftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomrightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomrightOutlined.js new file mode 100644 index 00000000..45349f95 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusBottomrightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadiusBottomrightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M368 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-58-624h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm578 102h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm292 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm174 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 276h-56c-4.4 0-8 3.6-8 8v182c0 87.3-70.7 158-158 158H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c127 0 230-103 230-230V484c0-4.4-3.6-8-8-8z" } }] }, "name": "radius-bottomright", "theme": "outlined" }; +exports.default = RadiusBottomrightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusSettingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusSettingOutlined.js new file mode 100644 index 00000000..b43a3b39 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusSettingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadiusSettingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M396 140h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-44 684h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm524-204h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 344h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm320 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm160 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm140-284c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V370c0-127-103-230-230-230H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h170c87.3 0 158 70.7 158 158v170zM236 96H92c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V104c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2zM920 780H776c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V788c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2z" } }] }, "name": "radius-setting", "theme": "outlined" }; +exports.default = RadiusSettingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUpleftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUpleftOutlined.js new file mode 100644 index 00000000..6a53222d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUpleftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadiusUpleftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M656 200h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm58 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 650h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm696-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174-696H358c-127 0-230 103-230 230v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-87.3 70.7-158 158-158h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "radius-upleft", "theme": "outlined" }; +exports.default = RadiusUpleftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUprightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUprightOutlined.js new file mode 100644 index 00000000..55491d9d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RadiusUprightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RadiusUprightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M368 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-2 696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm522-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-48-696H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c87.3 0 158 70.7 158 158v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-127-103-230-230-230z" } }] }, "name": "radius-upright", "theme": "outlined" }; +exports.default = RadiusUprightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadFilled.js new file mode 100644 index 00000000..619cd88f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReadFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 00324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM404 553.5c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm416 140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45z" } }] }, "name": "read", "theme": "filled" }; +exports.default = ReadFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadOutlined.js new file mode 100644 index 00000000..27e52d5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 00324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z" } }] }, "name": "read", "theme": "outlined" }; +exports.default = ReadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationFilled.js new file mode 100644 index 00000000..799c5533 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReconciliationFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M676 623c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34-15.2-34-34-34zm204-455H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zM448 848H176V616h272v232zm0-296H176v-88h272v88zm20-272v-48h72v-56h64v56h72v48H468zm180 168v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8zm28 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-245c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v96zm-92 61c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z" } }] }, "name": "reconciliation", "theme": "filled" }; +exports.default = ReconciliationFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationOutlined.js new file mode 100644 index 00000000..ba2058eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReconciliationOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34zm204-523H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552zM704 408v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zM592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z" } }] }, "name": "reconciliation", "theme": "outlined" }; +exports.default = ReconciliationOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationTwoTone.js new file mode 100644 index 00000000..461886f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReconciliationTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReconciliationTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M740 344H404V240H304v160h176c17.7 0 32 14.3 32 32v360h328V240H740v104zM584 448c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56zm92 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-341v96c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M642 657a34 34 0 1068 0 34 34 0 10-68 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm112-104v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M880 168H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z", "fill": primaryColor } }] }; }, "name": "reconciliation", "theme": "twotone" }; +exports.default = ReconciliationTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeFilled.js new file mode 100644 index 00000000..436bdcb1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedEnvelopeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM647 470.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4v25.1c0 4.6-3.8 8.4-8.4 8.4h-63.3v28.6h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.6-3.6 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4l-87.5-161c-2.2-4.1-.7-9.1 3.4-11.4 1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.9 141.8 71.9-141.9a8.5 8.5 0 017.5-4.6h47.8c4.6 0 8.4 3.8 8.4 8.4-.1 1.5-.5 2.9-1.1 4.1zM512.6 323L289 148h446L512.6 323z" } }] }, "name": "red-envelope", "theme": "filled" }; +exports.default = RedEnvelopeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeOutlined.js new file mode 100644 index 00000000..baaa0cfe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedEnvelopeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M440.6 462.6a8.38 8.38 0 00-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 00-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 00-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142zM832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z" } }] }, "name": "red-envelope", "theme": "outlined" }; +exports.default = RedEnvelopeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeTwoTone.js new file mode 100644 index 00000000..61578198 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedEnvelopeTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedEnvelopeTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M492.3 397.2L232 193.1V888h560V193.1L531.8 397.2a31.99 31.99 0 01-39.5 0zm99.4 60.9h47.8a8.45 8.45 0 017.4 12.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4V665c0 4.6-3.8 8.4-8.4 8.4h-63.3V702h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.7-3.5 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4L377 470.4a8.4 8.4 0 013.4-11.4c1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.7 142 71.9-141.9a8.6 8.6 0 017.5-4.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M232 136.7h31.7L512 331.3l248.3-194.6H792v-.7H232z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M440.6 462.6a8.38 8.38 0 00-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 00-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 00-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142z", "fill": primaryColor } }] }; }, "name": "red-envelope", "theme": "twotone" }; +exports.default = RedEnvelopeTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditCircleFilled.js new file mode 100644 index 00000000..a5210a33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedditCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M584 548a36 36 0 1072 0 36 36 0 10-72 0zm144-108a35.9 35.9 0 00-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 00728 440zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm245 477.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 01296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 01101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zm-171.3 83c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 00-30.1-3.6zM296 440a35.98 35.98 0 00-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 00296 440zm72 108a36 36 0 1072 0 36 36 0 10-72 0z" } }] }, "name": "reddit-circle", "theme": "filled" }; +exports.default = RedditCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditOutlined.js new file mode 100644 index 00000000..dc880dd5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedditOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M288 568a56 56 0 10112 0 56 56 0 10-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 10-41.2-52.2zM960 456c0-61.9-50.1-112-112-112-42.1 0-78.7 23.2-97.9 57.6-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1 46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 00-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 00176 344c-61.9 0-112 50.1-112 112 0 45.8 27.5 85.1 66.8 102.5-7.1 21-10.8 43-10.8 65.5 0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 110 63 31.5 31.5 0 010-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0150.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 01-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5 837.5 506.1 837.5 624 691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9 9-18.9 28.3-32.1 50.6-32.1 30.9 0 56 25.1 56 56 .1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "reddit", "theme": "outlined" }; +exports.default = RedditOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditSquareFilled.js new file mode 100644 index 00000000..b1c8d839 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedditSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedditSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M296 440a35.98 35.98 0 00-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 00296 440zm289.7 184.9c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 00-30.1-3.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM757 541.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 01296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 01101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zM584 548a36 36 0 1072 0 36 36 0 10-72 0zm144-108a35.9 35.9 0 00-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 00728 440zM368 548a36 36 0 1072 0 36 36 0 10-72 0z" } }] }, "name": "reddit-square", "theme": "filled" }; +exports.default = RedditSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedoOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedoOutlined.js new file mode 100644 index 00000000..d1250e07 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RedoOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RedoOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z" } }] }, "name": "redo", "theme": "outlined" }; +exports.default = RedoOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReloadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReloadOutlined.js new file mode 100644 index 00000000..c3784508 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ReloadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ReloadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z" } }] }, "name": "reload", "theme": "outlined" }; +exports.default = ReloadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestFilled.js new file mode 100644 index 00000000..b7a2602d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RestFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0031.9 29.3h429.2a32 32 0 0031.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zM508 704c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zM291 256l22.4-76h397.2l22.4 76H291zm137 304a80 80 0 10160 0 80 80 0 10-160 0z" } }] }, "name": "rest", "theme": "filled" }; +exports.default = RestFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestOutlined.js new file mode 100644 index 00000000..d6e0c24c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RestOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z" } }, { "tag": "path", "attrs": { "d": "M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0031.9 29.3h429.2a32 32 0 0031.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z" } }] }, "name": "rest", "theme": "outlined" }; +exports.default = RestOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestTwoTone.js new file mode 100644 index 00000000..3f682963 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RestTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RestTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M326.4 844h363.2l44.3-520H282l44.4 520zM508 416c79.5 0 144 64.5 144 144s-64.5 144-144 144-144-64.5-144-144 64.5-144 144-144z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0031.9 29.3h429.2a32 32 0 0031.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z", "fill": primaryColor } }] }; }, "name": "rest", "theme": "twotone" }; +exports.default = RestTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RetweetOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RetweetOutlined.js new file mode 100644 index 00000000..b0a1154b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RetweetOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RetweetOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M136 552h63.6c4.4 0 8-3.6 8-8V288.7h528.6v72.6c0 1.9.6 3.7 1.8 5.2a8.3 8.3 0 0011.7 1.4L893 255.4c4.3-5 3.6-10.3 0-13.2L749.7 129.8a8.22 8.22 0 00-5.2-1.8c-4.6 0-8.4 3.8-8.4 8.4V209H199.7c-39.5 0-71.7 32.2-71.7 71.8V544c0 4.4 3.6 8 8 8zm752-80h-63.6c-4.4 0-8 3.6-8 8v255.3H287.8v-72.6c0-1.9-.6-3.7-1.8-5.2a8.3 8.3 0 00-11.7-1.4L131 768.6c-4.3 5-3.6 10.3 0 13.2l143.3 112.4c1.5 1.2 3.3 1.8 5.2 1.8 4.6 0 8.4-3.8 8.4-8.4V815h536.6c39.5 0 71.7-32.2 71.7-71.8V480c-.2-4.4-3.8-8-8.2-8z" } }] }, "name": "retweet", "theme": "outlined" }; +exports.default = RetweetOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleFilled.js new file mode 100644 index 00000000..e7a3dcaf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm154.7 454.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z" } }] }, "name": "right-circle", "theme": "filled" }; +exports.default = RightCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleOutlined.js new file mode 100644 index 00000000..4fd4619b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M666.7 505.5l-246-178A8 8 0 00408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "right-circle", "theme": "outlined" }; +exports.default = RightCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleTwoTone.js new file mode 100644 index 00000000..9281ff23 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm154.7 378.4l-246 178c-5.3 3.8-12.7 0-12.7-6.5V643c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M666.7 505.5l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L566.6 512 421.2 617.1c-8.3 6-13.2 15.7-13.2 25.9v46.9c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.7 0-12.9z", "fill": primaryColor } }] }; }, "name": "right-circle", "theme": "twotone" }; +exports.default = RightCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightOutlined.js new file mode 100644 index 00000000..6b95b723 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z" } }] }, "name": "right", "theme": "outlined" }; +exports.default = RightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareFilled.js new file mode 100644 index 00000000..0c11b961 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM658.7 518.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z" } }] }, "name": "right-square", "theme": "filled" }; +exports.default = RightSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareOutlined.js new file mode 100644 index 00000000..342b7bce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M412.7 696.5l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5V381c0 10.2 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "right-square", "theme": "outlined" }; +exports.default = RightSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareTwoTone.js new file mode 100644 index 00000000..828ae7e8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RightSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RightSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm216-196.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9l-246 178c-5.3 3.9-12.7.1-12.7-6.4v-46.9z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M412.7 696.4l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.7-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.4z", "fill": primaryColor } }] }; }, "name": "right-square", "theme": "twotone" }; +exports.default = RightSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RiseOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RiseOutlined.js new file mode 100644 index 00000000..911f3bb1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RiseOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RiseOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 000 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0013.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z" } }] }, "name": "rise", "theme": "outlined" }; +exports.default = RiseOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotFilled.js new file mode 100644 index 00000000..fd8518b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RobotFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM300 328c0-33.1 26.9-60 60-60s60 26.9 60 60-26.9 60-60 60-60-26.9-60-60zm372 248c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-60c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v60zm-8-188c-33.1 0-60-26.9-60-60s26.9-60 60-60 60 26.9 60 60-26.9 60-60 60zm135 476H225c-13.8 0-25 14.3-25 32v56c0 4.4 2.8 8 6.2 8h611.5c3.4 0 6.2-3.6 6.2-8v-56c.1-17.7-11.1-32-24.9-32z" } }] }, "name": "robot", "theme": "filled" }; +exports.default = RobotFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotOutlined.js new file mode 100644 index 00000000..46f534aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RobotOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RobotOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "robot", "theme": "outlined" }; +exports.default = RobotOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketFilled.js new file mode 100644 index 00000000..7418f8b4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RocketFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zM512 352a48.01 48.01 0 010 96 48.01 48.01 0 010-96zm116.1 432.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5z" } }] }, "name": "rocket", "theme": "filled" }; +exports.default = RocketFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketOutlined.js new file mode 100644 index 00000000..826bf9f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RocketOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z" } }] }, "name": "rocket", "theme": "outlined" }; +exports.default = RocketOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketTwoTone.js new file mode 100644 index 00000000..5560d16b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RocketTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RocketTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M261.7 621.4c-9.4 14.6-17 30.3-22.5 46.6H324V558.7c-24.8 16.2-46 37.5-62.3 62.7zM700 558.7V668h84.8c-5.5-16.3-13.1-32-22.5-46.6a211.6 211.6 0 00-62.3-62.7zm-64-239.9l-124-147-124 147V668h248V318.8zM512 448a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zm-540-68h-84.8c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668zm64-184.9V318.8l124-147 124 147V668H388V483.1zm240.1 301.1c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM700 668V558.7a211.6 211.6 0 0162.3 62.7c9.4 14.6 17 30.3 22.5 46.6H700z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M464 400a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "rocket", "theme": "twotone" }; +exports.default = RocketTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RollbackOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RollbackOutlined.js new file mode 100644 index 00000000..f948c956 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RollbackOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RollbackOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 000 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z" } }] }, "name": "rollback", "theme": "outlined" }; +exports.default = RollbackOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateLeftOutlined.js new file mode 100644 index 00000000..e9bdfdf9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RotateLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H188V494h440v326z" } }, { "tag": "path", "attrs": { "d": "M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 016.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3z" } }] }, "name": "rotate-left", "theme": "outlined" }; +exports.default = RotateLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateRightOutlined.js new file mode 100644 index 00000000..7bf38dc4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/RotateRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var RotateRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 00123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z" } }, { "tag": "path", "attrs": { "d": "M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H396V494h440v326z" } }] }, "name": "rotate-right", "theme": "outlined" }; +exports.default = RotateRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateFilled.js new file mode 100644 index 00000000..234c73ea --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SafetyCertificateFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z" } }] }, "name": "safety-certificate", "theme": "filled" }; +exports.default = SafetyCertificateFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateOutlined.js new file mode 100644 index 00000000..1326e07b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SafetyCertificateOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z" } }] }, "name": "safety-certificate", "theme": "outlined" }; +exports.default = SafetyCertificateOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateTwoTone.js new file mode 100644 index 00000000..61790565 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SafetyCertificateTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM632.8 328H688c6.5 0 10.3 7.4 6.5 12.7L481.9 633.4a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89.1 150.9-207.8c3-4.1 7.9-6.6 13-6.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M404.2 453.3c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z", "fill": primaryColor } }] }; }, "name": "safety-certificate", "theme": "twotone" }; +exports.default = SafetyCertificateTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyOutlined.js new file mode 100644 index 00000000..cbd9c55f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SafetyOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SafetyOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z" } }, { "tag": "path", "attrs": { "d": "M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z" } }] }, "name": "safety", "theme": "outlined" }; +exports.default = SafetyOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveFilled.js new file mode 100644 index 00000000..8450b4af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SaveFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M893.3 293.3L730.7 130.7c-12-12-28.3-18.7-45.3-18.7H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 176h256v112H384V176zm128 554c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zm0-224c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z" } }] }, "name": "save", "theme": "filled" }; +exports.default = SaveFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveOutlined.js new file mode 100644 index 00000000..83dae142 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SaveOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z" } }] }, "name": "save", "theme": "outlined" }; +exports.default = SaveOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveTwoTone.js new file mode 100644 index 00000000..3dc0853e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SaveTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SaveTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M704 320c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V184H184v656h656V341.8l-136-136V320zM512 730c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M893.3 293.3L730.7 130.7c-.7-.7-1.4-1.3-2.1-2-.1-.1-.3-.2-.4-.3-.7-.7-1.5-1.3-2.2-1.9a64 64 0 00-22-11.7V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z", "fill": primaryColor } }] }; }, "name": "save", "theme": "twotone" }; +exports.default = SaveTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScanOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScanOutlined.js new file mode 100644 index 00000000..47fb9217 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScanOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ScanOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "scan", "theme": "outlined" }; +exports.default = ScanOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleFilled.js new file mode 100644 index 00000000..4b0d161f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ScheduleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.5-91.3l-165 228.7a15.9 15.9 0 01-25.8 0L493.5 531.2c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.5 12.9 6.6l52.8 73.1 103.7-143.7c3-4.2 7.8-6.6 12.9-6.6H792c6.5.1 10.3 7.5 6.5 12.8z" } }] }, "name": "schedule", "theme": "filled" }; +exports.default = ScheduleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleOutlined.js new file mode 100644 index 00000000..da796979 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ScheduleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 136H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm308.2-177.4L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0025.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5z" } }] }, "name": "schedule", "theme": "outlined" }; +exports.default = ScheduleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleTwoTone.js new file mode 100644 index 00000000..e477f35f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScheduleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ScheduleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.4-91.2l-165 228.7a15.9 15.9 0 01-25.8 0L493.5 531.3c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.4 12.9 6.6l52.8 73.1 103.6-143.7c3-4.1 7.8-6.6 12.8-6.5h54.9c6.5 0 10.3 7.4 6.5 12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0025.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }] }; }, "name": "schedule", "theme": "twotone" }; +exports.default = ScheduleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScissorOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScissorOutlined.js new file mode 100644 index 00000000..11eaf8c8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ScissorOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ScissorOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 00288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z" } }] }, "name": "scissor", "theme": "outlined" }; +exports.default = ScissorOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SearchOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SearchOutlined.js new file mode 100644 index 00000000..c04d0ab6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SearchOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SearchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z" } }] }, "name": "search", "theme": "outlined" }; +exports.default = SearchOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanFilled.js new file mode 100644 index 00000000..009c89d0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SecurityScanFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM626.8 554c-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 01-11.3 0l-34-34a8.03 8.03 0 010-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0 56.3 56.3 56.3 147.5 0 203.8zm-158.54-45.27a80.1 80.1 0 10113.27-113.28 80.1 80.1 0 10-113.27 113.28z" } }] }, "name": "security-scan", "theme": "filled" }; +exports.default = SecurityScanFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanOutlined.js new file mode 100644 index 00000000..36d74c04 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SecurityScanOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 000 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z" } }] }, "name": "security-scan", "theme": "outlined" }; +exports.default = SecurityScanOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanTwoTone.js new file mode 100644 index 00000000..8ffb531e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SecurityScanTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SecurityScanTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M460.7 451.1a80.1 80.1 0 10160.2 0 80.1 80.1 0 10-160.2 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zm428.7 122.5c56.3 56.3 56.3 147.5 0 203.8-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 01-11.3 0l-34-34a8.03 8.03 0 010-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M418.8 527.8l-77.5 77.5a8.03 8.03 0 000 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.6 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 122.9-20.1 178.6zm65.4-133.3a80.1 80.1 0 01113.3 0 80.1 80.1 0 010 113.3c-31.3 31.3-82 31.3-113.3 0s-31.3-82 0-113.3z", "fill": primaryColor } }] }; }, "name": "security-scan", "theme": "twotone" }; +exports.default = SecurityScanTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SelectOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SelectOutlined.js new file mode 100644 index 00000000..eaf0b6dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SelectOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SelectOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 00-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z" } }] }, "name": "select", "theme": "outlined" }; +exports.default = SelectOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SendOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SendOutlined.js new file mode 100644 index 00000000..39aa8421 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SendOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SendOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z" } }] }, "name": "send", "theme": "outlined" }; +exports.default = SendOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingFilled.js new file mode 100644 index 00000000..0122f1f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SettingFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 00-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 009.3-35.2l-.9-2.6a442.5 442.5 0 00-79.6-137.7l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.3a353.44 353.44 0 00-98.9 57.3l-81.8-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a445.93 445.93 0 00-79.6 137.7l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3a32.05 32.05 0 0025.8 25.7l2.7.5a448.27 448.27 0 00158.8 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c4.3-12.4.6-26.3-9.5-35zm-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z" } }] }, "name": "setting", "theme": "filled" }; +exports.default = SettingFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingOutlined.js new file mode 100644 index 00000000..1289195b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SettingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z" } }] }, "name": "setting", "theme": "outlined" }; +exports.default = SettingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingTwoTone.js new file mode 100644 index 00000000..a91a1a52 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SettingTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SettingTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M859.3 569.7l.2.1c3.1-18.9 4.6-38.2 4.6-57.3 0-17.1-1.3-34.3-3.7-51.1 2.4 16.7 3.6 33.6 3.6 50.5 0 19.4-1.6 38.8-4.7 57.8zM99 398.1c-.5-.4-.9-.8-1.4-1.3.7.7 1.4 1.4 2.2 2.1l65.5 55.9v-.1L99 398.1zm536.6-216h.1l-15.5-83.8c-.2-1-.4-1.9-.7-2.8.1.5.3 1.1.4 1.6l15.7 85zm54 546.5l31.4-25.8 92.8 32.9c17-22.9 31.3-47.5 42.6-73.6l-74.7-63.9 6.6-40.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.5-39.9 74.7-63.9c-11.4-26-25.6-50.7-42.6-73.6l-92.8 32.9-31.4-25.8c-23.9-19.6-50.6-35-79.3-45.8l-38.1-14.3-17.9-97a377.5 377.5 0 00-85 0l-17.9 97.2-37.9 14.3c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.3 47.5-42.6 73.6l75.5 64.5-6.5 40c-2.5 14.9-3.7 30.2-3.7 45.5 0 15.2 1.3 30.6 3.7 45.5l6.5 40-75.5 64.5c11.4 26 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.8 14.5 17.9 97.2c28.2 3.2 56.9 3.2 85 0l17.9-97 38.1-14.3c28.8-10.8 55.4-26.2 79.3-45.8zm-177.1-50.3c-30.5 0-59.2-7.8-84.3-21.5C373.3 627 336 568.9 336 502c0-97.2 78.8-176 176-176 66.9 0 125 37.3 154.8 92.2 13.7 25 21.5 53.7 21.5 84.3 0 97.1-78.7 175.8-175.8 175.8zM207.2 812.8c-5.5 1.9-11.2 2.3-16.6 1.2 5.7 1.2 11.7 1 17.5-1l81.4-29c-.1-.1-.3-.2-.4-.3l-81.9 29.1zm717.6-414.7l-65.5 56c0 .2.1.5.1.7l65.4-55.9c7.1-6.1 11.1-14.9 11.2-24-.3 8.8-4.3 17.3-11.2 23.2z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M935.8 646.6c.5 4.7 0 9.5-1.7 14.1l-.9 2.6a446.02 446.02 0 01-79.7 137.9l-1.8 2.1a32 32 0 01-35.1 9.5l-81.3-28.9a350 350 0 01-99.7 57.6l-15.7 85a32.05 32.05 0 01-25.8 25.7l-2.7.5a445.2 445.2 0 01-79.2 7.1h.3c26.7 0 53.4-2.4 79.4-7.1l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c1.6-4.7 2.1-9.7 1.5-14.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M688 502c0-30.3-7.7-58.9-21.2-83.8C637 363.3 578.9 326 512 326c-97.2 0-176 78.8-176 176 0 66.9 37.3 125 92.2 154.8 24.9 13.5 53.4 21.2 83.8 21.2 97.2 0 176-78.8 176-176zm-288 0c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M594.1 952.2a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c1.7-4.6 2.2-9.4 1.7-14.1-.9-7.9-4.7-15.4-11-20.9l-65.3-55.9-.2-.1c3.1-19 4.7-38.4 4.7-57.8 0-16.9-1.2-33.9-3.6-50.5-.3-2.2-.7-4.4-1-6.6 0-.2-.1-.5-.1-.7l65.5-56c6.9-5.9 10.9-14.4 11.2-23.2.1-4-.5-8.1-1.9-12l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.4-44-99.6-57.6h-.1l-15.7-85c-.1-.5-.2-1.1-.4-1.6a32.08 32.08 0 00-25.4-24.1l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6a32.09 32.09 0 007.9 33.9c.5.4.9.9 1.4 1.3l66.3 56.6v.1c-3.1 18.8-4.6 37.9-4.6 57 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c4.9 5.7 11.4 9.4 18.5 10.7 5.4 1 11.1.7 16.6-1.2l81.9-29.1c.1.1.3.2.4.3 29.7 24.3 62.8 43.6 98.6 57.1l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5c26.1 4.7 52.8 7.1 79.5 7.1h.3c26.6 0 53.3-2.4 79.2-7.1l2.7-.5zm-39.8-66.5a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97z", "fill": primaryColor } }] }; }, "name": "setting", "theme": "twotone" }; +exports.default = SettingTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShakeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShakeOutlined.js new file mode 100644 index 00000000..6079e14b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShakeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShakeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M324 666a48 48 0 1096 0 48 48 0 10-96 0zm616.7-309.6L667.6 83.2C655.2 70.9 638.7 64 621.1 64s-34.1 6.8-46.5 19.2L83.3 574.5a65.85 65.85 0 000 93.1l273.2 273.2c12.3 12.3 28.9 19.2 46.5 19.2s34.1-6.8 46.5-19.2l491.3-491.3c25.6-25.7 25.6-67.5-.1-93.1zM403 880.1L143.9 621l477.2-477.2 259 259.2L403 880.1zM152.8 373.7a7.9 7.9 0 0011.2 0L373.7 164a7.9 7.9 0 000-11.2l-38.4-38.4a7.9 7.9 0 00-11.2 0L114.3 323.9a7.9 7.9 0 000 11.2l38.5 38.6zm718.6 276.6a7.9 7.9 0 00-11.2 0L650.3 860.1a7.9 7.9 0 000 11.2l38.4 38.4a7.9 7.9 0 0011.2 0L909.7 700a7.9 7.9 0 000-11.2l-38.3-38.5z" } }] }, "name": "shake", "theme": "outlined" }; +exports.default = ShakeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShareAltOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShareAltOutlined.js new file mode 100644 index 00000000..b42a6692 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShareAltOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShareAltOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 000-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z" } }] }, "name": "share-alt", "theme": "outlined" }; +exports.default = ShareAltOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopFilled.js new file mode 100644 index 00000000..84e9eae9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShopFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0014.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h274V736h128v176h274c17.7 0 32-14.3 32-32V535a175 175 0 0015.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zm-72 568H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm0-568.1H214v-88h596v88z" } }] }, "name": "shop", "theme": "filled" }; +exports.default = ShopFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopOutlined.js new file mode 100644 index 00000000..07c71019 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0014.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0015.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm30-404.4c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 01512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 01-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z" } }] }, "name": "shop", "theme": "outlined" }; +exports.default = ShopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopTwoTone.js new file mode 100644 index 00000000..7ce190f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShopTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShopTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M839.5 344h-655c-.3 0-.5.2-.5.5v91.2c0 59.8 49 108.3 109.3 108.3 40.7 0 76.2-22 95.1-54.7 2.9-5.1 8.4-8.3 14.3-8.3s11.3 3.2 14.3 8.3c18.8 32.7 54.3 54.7 95 54.7 40.8 0 76.4-22.1 95.1-54.9 2.9-5 8.2-8.1 13.9-8.1h.6c5.8 0 11 3.1 13.9 8.1 18.8 32.8 54.4 54.9 95.2 54.9C791 544 840 495.5 840 435.7v-91.2c0-.3-.2-.5-.5-.5z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0014.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0015.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234.4 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0038.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c3-1.3 6-2.6 9-4v242.2zM840 435.7c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 01512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 01-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z", "fill": primaryColor } }] }; }, "name": "shop", "theme": "twotone" }; +exports.default = ShopTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingCartOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingCartOutlined.js new file mode 100644 index 00000000..5fba506d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingCartOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShoppingCartOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z" } }] }, "name": "shopping-cart", "theme": "outlined" }; +exports.default = ShoppingCartOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingFilled.js new file mode 100644 index 00000000..497baee5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShoppingFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-208 0H400v-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16z" } }] }, "name": "shopping", "theme": "filled" }; +exports.default = ShoppingFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingOutlined.js new file mode 100644 index 00000000..63d1c3a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShoppingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z" } }] }, "name": "shopping", "theme": "outlined" }; +exports.default = ShoppingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingTwoTone.js new file mode 100644 index 00000000..4ec5c870 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShoppingTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShoppingTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M696 472c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88H400v88c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88h-96v456h560V384h-96v88z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z", "fill": primaryColor } }] }; }, "name": "shopping", "theme": "twotone" }; +exports.default = ShoppingTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShrinkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShrinkOutlined.js new file mode 100644 index 00000000..6490b2f8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ShrinkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ShrinkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M881.7 187.4l-45.1-45.1a8.03 8.03 0 00-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 00-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 000 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0013.5-4.7L447.9 585a7.9 7.9 0 00-8.9-8.9z" } }] }, "name": "shrink", "theme": "outlined" }; +exports.default = ShrinkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SignalFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SignalFilled.js new file mode 100644 index 00000000..f9171841 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SignalFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SignalFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M584 352H440c-17.7 0-32 14.3-32 32v544c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32zM892 64H748c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM276 640H132c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V672c0-17.7-14.3-32-32-32z" } }] }, "name": "signal", "theme": "filled" }; +exports.default = SignalFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SisternodeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SisternodeOutlined.js new file mode 100644 index 00000000..0a955475 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SisternodeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SisternodeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M672 432c-120.3 0-219.9 88.5-237.3 204H320c-15.5 0-28-12.5-28-28V244h291c14.2 35.2 48.7 60 89 60 53 0 96-43 96-96s-43-96-96-96c-40.3 0-74.8 24.8-89 60H112v72h108v364c0 55.2 44.8 100 100 100h114.7c17.4 115.5 117 204 237.3 204 132.5 0 240-107.5 240-240S804.5 432 672 432zm128 266c0 4.4-3.6 8-8 8h-86v86c0 4.4-3.6 8-8 8h-52c-4.4 0-8-3.6-8-8v-86h-86c-4.4 0-8-3.6-8-8v-52c0-4.4 3.6-8 8-8h86v-86c0-4.4 3.6-8 8-8h52c4.4 0 8 3.6 8 8v86h86c4.4 0 8 3.6 8 8v52z" } }] }, "name": "sisternode", "theme": "outlined" }; +exports.default = SisternodeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchCircleFilled.js new file mode 100644 index 00000000..5b36d617 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SketchCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M582.3 625.6l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zm-274.7 36L512 684.5l114.4-225.2zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm286.7 380.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 01-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 010 6.6zm-190.5-20.9L512 326.1l-96.2 97.2zM420.3 301.1l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8zm-222.4 7.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3z" } }] }, "name": "sketch-circle", "theme": "filled" }; +exports.default = SketchCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchOutlined.js new file mode 100644 index 00000000..daa1c4d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SketchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M925.6 405.1l-203-253.7a6.5 6.5 0 00-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 00.2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 00.2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z" } }] }, "name": "sketch", "theme": "outlined" }; +exports.default = SketchOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchSquareFilled.js new file mode 100644 index 00000000..123163bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SketchSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SketchSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M608.2 423.3L512 326.1l-96.2 97.2zm-25.9 202.3l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-81.3 332.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 01-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 010 6.6zm-401.1 15.1L512 684.5l114.4-225.2zm-16.3-151.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3zm126.5-158.2l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8z" } }] }, "name": "sketch-square", "theme": "filled" }; +exports.default = SketchSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinFilled.js new file mode 100644 index 00000000..eaf423c7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SkinFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 00-37-29.3H154a44 44 0 00-44 44v252a44 44 0 0044 44h75v388a44 44 0 0044 44h478a44 44 0 0044-44V466h75a44 44 0 0044-44V170a44 44 0 00-44-44z" } }] }, "name": "skin", "theme": "filled" }; +exports.default = SkinFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinOutlined.js new file mode 100644 index 00000000..d7bef544 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SkinOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 00-37-29.3H154a44 44 0 00-44 44v252a44 44 0 0044 44h75v388a44 44 0 0044 44h478a44 44 0 0044-44V466h75a44 44 0 0044-44V170a44 44 0 00-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z" } }] }, "name": "skin", "theme": "outlined" }; +exports.default = SkinOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinTwoTone.js new file mode 100644 index 00000000..23fdd53c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkinTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SkinTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 318c-79.2 0-148.5-48.8-176.7-120H182v196h119v432h422V394h119V198H688.7c-28.2 71.2-97.5 120-176.7 120z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 00-37-29.3H154a44 44 0 00-44 44v252a44 44 0 0044 44h75v388a44 44 0 0044 44h478a44 44 0 0044-44V466h75a44 44 0 0044-44V170a44 44 0 00-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z", "fill": primaryColor } }] }; }, "name": "skin", "theme": "twotone" }; +exports.default = SkinTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeFilled.js new file mode 100644 index 00000000..3ad2015c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SkypeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 00-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 00335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 00112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-370 162.9c-134.2 0-194.2-66-194.2-115.4 0-25.4 18.7-43.1 44.5-43.1 57.4 0 42.6 82.5 149.7 82.5 54.9 0 85.2-29.8 85.2-60.3 0-18.3-9-38.7-45.2-47.6l-119.4-29.8c-96.1-24.1-113.6-76.1-113.6-124.9 0-101.4 95.5-139.5 185.2-139.5 82.6 0 180 45.7 180 106.5 0 26.1-22.6 41.2-48.4 41.2-49 0-40-67.8-138.7-67.8-49 0-76.1 22.2-76.1 53.9s38.7 41.8 72.3 49.5l88.4 19.6c96.8 21.6 121.3 78.1 121.3 131.3 0 82.3-63.3 143.9-191 143.9z" } }] }, "name": "skype", "theme": "filled" }; +exports.default = SkypeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeOutlined.js new file mode 100644 index 00000000..5424a1aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SkypeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SkypeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 00-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 00335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 00112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-88.1 216C766.9 823.4 729 839 688.4 839c-26.1 0-51.8-6.8-74.6-19.7l-22.5-12.7-25.5 4.5c-17.8 3.2-35.8 4.8-53.6 4.8-41.4 0-81.3-8.1-119.1-24.1-36.3-15.3-69-37.3-97.2-65.5a304.29 304.29 0 01-65.5-97.1c-16-37.7-24-77.6-24-119 0-17.4 1.6-35.2 4.6-52.8l4.4-25.1L203 410a151.02 151.02 0 01-19.1-73.4c0-40.6 15.7-78.5 44.4-107.2C257.1 200.7 295 185 335.6 185a153 153 0 0171.4 17.9l22.4 11.8 24.8-4.8c18.9-3.6 38.4-5.5 58-5.5 41.4 0 81.3 8.1 119 24 36.5 15.4 69.1 37.4 97.2 65.5 28.2 28.1 50.2 60.8 65.6 97.2 16 37.7 24 77.6 24 119 0 18.4-1.7 37-5.1 55.5l-4.7 25.5 12.6 22.6c12.6 22.5 19.2 48 19.2 73.7 0 40.7-15.7 78.5-44.4 107.2zM583.4 466.2L495 446.6c-33.6-7.7-72.3-17.8-72.3-49.5s27.1-53.9 76.1-53.9c98.7 0 89.7 67.8 138.7 67.8 25.8 0 48.4-15.2 48.4-41.2 0-60.8-97.4-106.5-180-106.5-89.7 0-185.2 38.1-185.2 139.5 0 48.8 17.4 100.8 113.6 124.9l119.4 29.8c36.1 8.9 45.2 29.2 45.2 47.6 0 30.5-30.3 60.3-85.2 60.3-107.2 0-92.3-82.5-149.7-82.5-25.8 0-44.5 17.8-44.5 43.1 0 49.4 60 115.4 194.2 115.4 127.7 0 191-61.5 191-144 0-53.1-24.5-109.6-121.3-131.2z" } }] }, "name": "skype", "theme": "outlined" }; +exports.default = SkypeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackCircleFilled.js new file mode 100644 index 00000000..990b1ba5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlackCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 01-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0150.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm83.7-50.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM579.3 765c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8S529 593.6 529 580.2c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z" } }] }, "name": "slack-circle", "theme": "filled" }; +exports.default = SlackCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackOutlined.js new file mode 100644 index 00000000..31b33913 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlackOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M409.4 128c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0054.3 22.5h76.7v-76.8c0-42.3-34.3-76.7-76.7-76.8zm0 204.8H204.7c-42.4 0-76.7 34.4-76.7 76.8s34.4 76.8 76.7 76.8h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.8-76.6-76.8zM614 486.4c42.4 0 76.8-34.4 76.7-76.8V204.8c0-42.4-34.3-76.8-76.7-76.8-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.5 34.3 76.8 76.7 76.8zm281.4-76.8c0-42.4-34.4-76.8-76.7-76.8S742 367.2 742 409.6v76.8h76.7c42.3 0 76.7-34.4 76.7-76.8zm-76.8 128H614c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0054.3 22.5h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM614 742.4h-76.7v76.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM409.4 537.6c-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8V614.4c0-20.3-8.1-39.9-22.4-54.3a76.92 76.92 0 00-54.3-22.5zM128 614.4c0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0054.3 22.5c42.4 0 76.8-34.4 76.7-76.8v-76.8h-76.7c-42.3 0-76.7 34.4-76.7 76.8z" } }] }, "name": "slack", "theme": "outlined" }; +exports.default = SlackOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareFilled.js new file mode 100644 index 00000000..d990fde3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlackSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 01-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0150.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 01-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z" } }] }, "name": "slack-square", "theme": "filled" }; +exports.default = SlackSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareOutlined.js new file mode 100644 index 00000000..a13367ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlackSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlackSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 01-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0150.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 01-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z" } }] }, "name": "slack-square", "theme": "outlined" }; +exports.default = SlackSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersFilled.js new file mode 100644 index 00000000..dfba876f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlidersFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-584-72h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm292 180h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8z" } }] }, "name": "sliders", "theme": "filled" }; +exports.default = SlidersFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersOutlined.js new file mode 100644 index 00000000..32c10885 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlidersOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 01-3 3h-74a3 3 0 01-3-3v-74a3 3 0 013-3h74a3 3 0 013 3v74z" } }] }, "name": "sliders", "theme": "outlined" }; +exports.default = SlidersOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersTwoTone.js new file mode 100644 index 00000000..2b035264 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SlidersTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SlidersTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M180 292h80v440h-80zm369 180h-74a3 3 0 00-3 3v74a3 3 0 003 3h74a3 3 0 003-3v-74a3 3 0 00-3-3zm215-108h80v296h-80z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 01-3 3h-74a3 3 0 01-3-3v-74a3 3 0 013-3h74a3 3 0 013 3v74zM320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440z", "fill": primaryColor } }] }; }, "name": "sliders", "theme": "twotone" }; +exports.default = SlidersTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmallDashOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmallDashOutlined.js new file mode 100644 index 00000000..3c80f81a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmallDashOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SmallDashOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M112 476h72v72h-72zm182 0h72v72h-72zm364 0h72v72h-72zm182 0h72v72h-72zm-364 0h72v72h-72z" } }] }, "name": "small-dash", "theme": "outlined" }; +exports.default = SmallDashOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileFilled.js new file mode 100644 index 00000000..fc02e5ae --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SmileFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 018-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 018 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "smile", "theme": "filled" }; +exports.default = SmileFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileOutlined.js new file mode 100644 index 00000000..e8dd7253 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SmileOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4z" } }] }, "name": "smile", "theme": "outlined" }; +exports.default = SmileOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileTwoTone.js new file mode 100644 index 00000000..39ada88e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SmileTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SmileTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 018-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 018 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M288 421a48 48 0 1096 0 48 48 0 10-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4zm-24-112a48 48 0 1096 0 48 48 0 10-96 0z", "fill": primaryColor } }] }; }, "name": "smile", "theme": "twotone" }; +exports.default = SmileTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsFilled.js new file mode 100644 index 00000000..dd876cc6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SnippetsFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 486H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z" } }] }, "name": "snippets", "theme": "filled" }; +exports.default = SnippetsFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsOutlined.js new file mode 100644 index 00000000..ac3c591a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SnippetsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z" } }] }, "name": "snippets", "theme": "outlined" }; +exports.default = SnippetsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsTwoTone.js new file mode 100644 index 00000000..49099094 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SnippetsTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SnippetsTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M450 510V336H232v552h432V550H490c-22.1 0-40-17.9-40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z", "fill": primaryColor } }] }; }, "name": "snippets", "theme": "twotone" }; +exports.default = SnippetsTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SolutionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SolutionOutlined.js new file mode 100644 index 00000000..6f176c72 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SolutionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SolutionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z" } }] }, "name": "solution", "theme": "outlined" }; +exports.default = SolutionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortAscendingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortAscendingOutlined.js new file mode 100644 index 00000000..4d2f3896 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortAscendingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SortAscendingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0012.6 0l112-141.9c4.1-5.2.4-13-6.3-13z" } }] }, "name": "sort-ascending", "theme": "outlined" }; +exports.default = SortAscendingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortDescendingOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortDescendingOutlined.js new file mode 100644 index 00000000..1ebafbf4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SortDescendingOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SortDescendingOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M839.6 433.8L749 150.5a9.24 9.24 0 00-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 00-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 00-9.2-9.3zM310.3 167.1a8 8 0 00-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z" } }] }, "name": "sort-descending", "theme": "outlined" }; +exports.default = SortDescendingOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundFilled.js new file mode 100644 index 00000000..abdb4bee --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SoundFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M892.1 737.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z" } }] }, "name": "sound", "theme": "filled" }; +exports.default = SoundFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundOutlined.js new file mode 100644 index 00000000..4347b7d5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SoundOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344z" } }] }, "name": "sound", "theme": "outlined" }; +exports.default = SoundOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundTwoTone.js new file mode 100644 index 00000000..730b7254 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SoundTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SoundTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M275.4 424H146v176h129.4l18 11.7L586 803V221L293.3 412.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M892.1 737.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM934 476H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582z", "fill": primaryColor } }] }; }, "name": "sound", "theme": "twotone" }; +exports.default = SoundTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SplitCellsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SplitCellsOutlined.js new file mode 100644 index 00000000..8d9dffd6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SplitCellsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SplitCellsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M938.2 508.4L787.3 389c-3-2.4-7.3-.2-7.3 3.6V478H636V184h204v128c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V144c0-15.5-12.5-28-28-28H596c-15.5 0-28 12.5-28 28v736c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v128H636V546h144v85.4c0 3.8 4.4 6 7.3 3.6l150.9-119.4a4.5 4.5 0 000-7.2zM428 116H144c-15.5 0-28 12.5-28 28v168c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V184h204v294H244v-85.4c0-3.8-4.3-6-7.3-3.6l-151 119.4a4.52 4.52 0 000 7.1l151 119.5c2.9 2.3 7.3.2 7.3-3.6V546h144v294H184V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v168c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V144c0-15.5-12.5-28-28-28z" } }] }, "name": "split-cells", "theme": "outlined" }; +exports.default = SplitCellsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarFilled.js new file mode 100644 index 00000000..8e277a3e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StarFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z" } }] }, "name": "star", "theme": "filled" }; +exports.default = StarFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarOutlined.js new file mode 100644 index 00000000..0f80fd35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StarOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z" } }] }, "name": "star", "theme": "outlined" }; +exports.default = StarOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarTwoTone.js new file mode 100644 index 00000000..25287b33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StarTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StarTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512.5 190.4l-94.4 191.3-211.2 30.7 152.8 149-36.1 210.3 188.9-99.3 188.9 99.2-36.1-210.3 152.8-148.9-211.2-30.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M908.6 352.8l-253.9-36.9L541.2 85.8c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L370.3 315.9l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1L239 839.4a31.95 31.95 0 0046.4 33.7l227.1-119.4 227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM665.3 561.3l36.1 210.3-188.9-99.2-188.9 99.3 36.1-210.3-152.8-149 211.2-30.7 94.4-191.3 94.4 191.3 211.2 30.7-152.8 148.9z", "fill": primaryColor } }] }; }, "name": "star", "theme": "twotone" }; +exports.default = StarTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardFilled.js new file mode 100644 index 00000000..cb96ad4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StepBackwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 000 33.9M330 864h-64a8 8 0 01-8-8V168a8 8 0 018-8h64a8 8 0 018 8v688a8 8 0 01-8 8" } }] }, "name": "step-backward", "theme": "filled" }; +exports.default = StepBackwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardOutlined.js new file mode 100644 index 00000000..236d821f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepBackwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StepBackwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 000 33.9M330 864h-64a8 8 0 01-8-8V168a8 8 0 018-8h64a8 8 0 018 8v688a8 8 0 01-8 8" } }] }, "name": "step-backward", "theme": "outlined" }; +exports.default = StepBackwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardFilled.js new file mode 100644 index 00000000..81df6adb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StepForwardFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 010 33.9M694 864h64a8 8 0 008-8V168a8 8 0 00-8-8h-64a8 8 0 00-8 8v688a8 8 0 008 8" } }] }, "name": "step-forward", "theme": "filled" }; +exports.default = StepForwardFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardOutlined.js new file mode 100644 index 00000000..0997127d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StepForwardOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StepForwardOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 010 33.9M694 864h64a8 8 0 008-8V168a8 8 0 00-8-8h-64a8 8 0 00-8 8v688a8 8 0 008 8" } }] }, "name": "step-forward", "theme": "outlined" }; +exports.default = StepForwardOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StockOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StockOutlined.js new file mode 100644 index 00000000..46ee80ea --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StockOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StockOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M904 747H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM165.7 621.8l39.7 39.5c3.1 3.1 8.2 3.1 11.3 0l234.7-233.9 97.6 97.3a32.11 32.11 0 0045.2 0l264.2-263.2c3.1-3.1 3.1-8.2 0-11.3l-39.7-39.6a8.03 8.03 0 00-11.3 0l-235.7 235-97.7-97.3a32.11 32.11 0 00-45.2 0L165.7 610.5a7.94 7.94 0 000 11.3z" } }] }, "name": "stock", "theme": "outlined" }; +exports.default = StockOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopFilled.js new file mode 100644 index 00000000..efa3e76b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StopFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z" } }] }, "name": "stop", "theme": "filled" }; +exports.default = StopFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopOutlined.js new file mode 100644 index 00000000..ebdc2c8a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z" } }] }, "name": "stop", "theme": "outlined" }; +exports.default = StopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopTwoTone.js new file mode 100644 index 00000000..3280e924 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StopTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StopTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm288.5 682.8L277.7 224C258 240 240 258 224 277.7l522.8 522.8C682.8 852.7 601 884 512 884c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372c0 89-31.3 170.8-83.5 234.8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372c89 0 170.8-31.3 234.8-83.5L224 277.7c16-19.7 34-37.7 53.7-53.7l522.8 522.8C852.7 682.8 884 601 884 512c0-205.4-166.6-372-372-372z", "fill": secondaryColor } }] }; }, "name": "stop", "theme": "twotone" }; +exports.default = StopTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StrikethroughOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StrikethroughOutlined.js new file mode 100644 index 00000000..966dd188 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/StrikethroughOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var StrikethroughOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M952 474H569.9c-10-2-20.5-4-31.6-6-15.9-2.9-22.2-4.1-30.8-5.8-51.3-10-82.2-20-106.8-34.2-35.1-20.5-52.2-48.3-52.2-85.1 0-37 15.2-67.7 44-89 28.4-21 68.8-32.1 116.8-32.1 54.8 0 97.1 14.4 125.8 42.8 14.6 14.4 25.3 32.1 31.8 52.6 1.3 4.1 2.8 10 4.3 17.8.9 4.8 5.2 8.2 9.9 8.2h72.8c5.6 0 10.1-4.6 10.1-10.1v-1c-.7-6.8-1.3-12.1-2-16-7.3-43.5-28-81.7-59.7-110.3-44.4-40.5-109.7-61.8-188.7-61.8-72.3 0-137.4 18.1-183.3 50.9-25.6 18.4-45.4 41.2-58.6 67.7-13.5 27.1-20.3 58.4-20.3 92.9 0 29.5 5.7 54.5 17.3 76.5 8.3 15.7 19.6 29.5 34.1 42H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h433.2c2.1.4 3.9.8 5.9 1.2 30.9 6.2 49.5 10.4 66.6 15.2 23 6.5 40.6 13.3 55.2 21.5 35.8 20.2 53.3 49.2 53.3 89 0 35.3-15.5 66.8-43.6 88.8-30.5 23.9-75.6 36.4-130.5 36.4-43.7 0-80.7-8.5-110.2-25-29.1-16.3-49.1-39.8-59.7-69.5-.8-2.2-1.7-5.2-2.7-9-1.2-4.4-5.3-7.5-9.7-7.5h-79.7c-5.6 0-10.1 4.6-10.1 10.1v1c.2 2.3.4 4.2.6 5.7 6.5 48.8 30.3 88.8 70.7 118.8 47.1 34.8 113.4 53.2 191.8 53.2 84.2 0 154.8-19.8 204.2-57.3 25-18.9 44.2-42.2 57.1-69 13-27.1 19.7-57.9 19.7-91.5 0-31.8-5.8-58.4-17.8-81.4-5.8-11.2-13.1-21.5-21.8-30.8H952c4.4 0 8-3.6 8-8v-60a8 8 0 00-8-7.9z" } }] }, "name": "strikethrough", "theme": "outlined" }; +exports.default = StrikethroughOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SubnodeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SubnodeOutlined.js new file mode 100644 index 00000000..450c8268 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SubnodeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SubnodeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M688 240c-138 0-252 102.8-269.6 236H249a95.92 95.92 0 00-89-60c-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h169.3C436 681.2 550 784 688 784c150.2 0 272-121.8 272-272S838.2 240 688 240zm128 298c0 4.4-3.6 8-8 8h-86v86c0 4.4-3.6 8-8 8h-52c-4.4 0-8-3.6-8-8v-86h-86c-4.4 0-8-3.6-8-8v-52c0-4.4 3.6-8 8-8h86v-86c0-4.4 3.6-8 8-8h52c4.4 0 8 3.6 8 8v86h86c4.4 0 8 3.6 8 8v52z" } }] }, "name": "subnode", "theme": "outlined" }; +exports.default = SubnodeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapLeftOutlined.js new file mode 100644 index 00000000..d6a9b3aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwapLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 572H266.8l144.3-183c4.1-5.2.4-13-6.3-13H340c-9.8 0-19.1 4.5-25.1 12.2l-164 208c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "swap-left", "theme": "outlined" }; +exports.default = SwapLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapOutlined.js new file mode 100644 index 00000000..f8d27d00 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwapOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "swap", "theme": "outlined" }; +exports.default = SwapOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapRightOutlined.js new file mode 100644 index 00000000..41af2e12 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwapRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwapRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z" } }] }, "name": "swap-right", "theme": "outlined" }; +exports.default = SwapRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherFilled.js new file mode 100644 index 00000000..b4f4dcbc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwitcherFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zM596 606c0 4.4-3.6 8-8 8H308c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h280c4.4 0 8 3.6 8 8v48zm284-494H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z" } }] }, "name": "switcher", "theme": "filled" }; +exports.default = SwitcherFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherOutlined.js new file mode 100644 index 00000000..7f9bcc3f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwitcherOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528zm168-728H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM300 550h296v64H300z" } }] }, "name": "switcher", "theme": "outlined" }; +exports.default = SwitcherOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherTwoTone.js new file mode 100644 index 00000000..42c63e9d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SwitcherTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SwitcherTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M184 840h528V312H184v528zm116-290h296v64H300v-64z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M880 112H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M300 550h296v64H300z", "fill": primaryColor } }] }; }, "name": "switcher", "theme": "twotone" }; +exports.default = SwitcherTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SyncOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SyncOutlined.js new file mode 100644 index 00000000..93702e22 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/SyncOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var SyncOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 01755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 01512.1 856a342.24 342.24 0 01-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 00-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 00-8-8.2z" } }] }, "name": "sync", "theme": "outlined" }; +exports.default = SyncOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TableOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TableOutlined.js new file mode 100644 index 00000000..8a290025 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TableOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TableOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z" } }] }, "name": "table", "theme": "outlined" }; +exports.default = TableOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletFilled.js new file mode 100644 index 00000000..d949d745 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TabletFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z" } }] }, "name": "tablet", "theme": "filled" }; +exports.default = TabletFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletOutlined.js new file mode 100644 index 00000000..65a15dc9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TabletOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752zM472 784a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "tablet", "theme": "outlined" }; +exports.default = TabletOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletTwoTone.js new file mode 100644 index 00000000..78b4aa5f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TabletTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TabletTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M232 888h560V136H232v752zm280-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M472 784a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }] }; }, "name": "tablet", "theme": "twotone" }; +exports.default = TabletTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagFilled.js new file mode 100644 index 00000000..9ca7e84a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM699 387c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z" } }] }, "name": "tag", "theme": "filled" }; +exports.default = TagFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagOutlined.js new file mode 100644 index 00000000..e9f4eb5a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z" } }] }, "name": "tag", "theme": "outlined" }; +exports.default = TagOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagTwoTone.js new file mode 100644 index 00000000..7100e34b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M589 164.6L189.3 564.3l270.4 270.4L859.4 435 836 188l-247-23.4zM680 432c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8a9.9 9.9 0 007.1 2.9c2.7 0 5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7z", "fill": primaryColor } }] }; }, "name": "tag", "theme": "twotone" }; +exports.default = TagTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsFilled.js new file mode 100644 index 00000000..c6b7b7f2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagsFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm122.7-533.4c18.7-18.7 49.1-18.7 67.9 0 18.7 18.7 18.7 49.1 0 67.9-18.7 18.7-49.1 18.7-67.9 0-18.7-18.7-18.7-49.1 0-67.9zm283.8 282.9l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z" } }] }, "name": "tags", "theme": "filled" }; +exports.default = TagsFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsOutlined.js new file mode 100644 index 00000000..a60ec92c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1067.88-67.89 48 48 0 10-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z" } }] }, "name": "tags", "theme": "outlined" }; +exports.default = TagsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsTwoTone.js new file mode 100644 index 00000000..fc63172a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TagsTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TagsTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M477.5 694l311.9-311.8-19-224.6-224.6-19-311.9 311.9L477.5 694zm116-415.5a47.81 47.81 0 0133.9-33.9c16.6-4.4 34.2.3 46.4 12.4a47.93 47.93 0 0112.4 46.4 47.81 47.81 0 01-33.9 33.9c-16.6 4.4-34.2-.3-46.4-12.4a48.3 48.3 0 01-12.4-46.4z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M476.6 792.6c-1.7-.2-3.4-1-4.7-2.3L137.7 456.1a8.03 8.03 0 010-11.3L515.9 66.6c1.2-1.3 2.9-2.1 4.7-2.3h-.4c-2.3-.2-4.7.6-6.3 2.3L135.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c1.8 1.9 4.3 2.6 6.7 2.3z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M889.7 539.8l-39.6-39.5a8.03 8.03 0 00-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 00-11.3 0l-39.6 39.5a8.03 8.03 0 000 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3zM652.3 337.3a47.81 47.81 0 0033.9-33.9c4.4-16.6-.3-34.2-12.4-46.4a47.93 47.93 0 00-46.4-12.4 47.81 47.81 0 00-33.9 33.9c-4.4 16.6.3 34.2 12.4 46.4a48.3 48.3 0 0046.4 12.4z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M137.7 444.8a8.03 8.03 0 000 11.3l334.2 334.2c1.3 1.3 2.9 2.1 4.7 2.3 2.4.3 4.8-.5 6.6-2.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3h-1.6c-1.8.2-3.4 1-4.7 2.3L137.7 444.8zm408.1-306.2l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9z", "fill": primaryColor } }] }; }, "name": "tags", "theme": "twotone" }; +exports.default = TagsTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleFilled.js new file mode 100644 index 00000000..5778f392 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TaobaoCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 110-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z" } }] }, "name": "taobao-circle", "theme": "filled" }; +exports.default = TaobaoCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleOutlined.js new file mode 100644 index 00000000..182a1e15 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TaobaoCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 110-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z" } }] }, "name": "taobao-circle", "theme": "outlined" }; +exports.default = TaobaoCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoOutlined.js new file mode 100644 index 00000000..73db8ed4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TaobaoOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M168.5 273.7a68.7 68.7 0 10137.4 0 68.7 68.7 0 10-137.4 0zm730 79.2s-23.7-184.4-426.9-70.1c17.3-30 25.6-49.5 25.6-49.5L396.4 205s-40.6 132.6-113 194.4c0 0 70.1 40.6 69.4 39.4 20.1-20.1 38.2-40.6 53.7-60.4 16.1-7 31.5-13.6 46.7-19.8-18.6 33.5-48.7 83.8-78.8 115.6l42.4 37s28.8-27.7 60.4-61.2h36v61.8H372.9v49.5h140.3v118.5c-1.7 0-3.6 0-5.4-.2-15.4-.7-39.5-3.3-49-18.2-11.5-18.1-3-51.5-2.4-71.9h-97l-3.4 1.8s-35.5 159.1 102.3 155.5c129.1 3.6 203-36 238.6-63.1l14.2 52.6 79.6-33.2-53.9-131.9-64.6 20.1 12.1 45.2c-16.6 12.4-35.6 21.7-56.2 28.4V561.3h137.1v-49.5H628.1V450h137.6v-49.5H521.3c17.6-21.4 31.5-41.1 35-53.6l-42.5-11.6c182.8-65.5 284.5-54.2 283.6 53.2v282.8s10.8 97.1-100.4 90.1l-60.2-12.9-14.2 57.1S882.5 880 903.7 680.2c21.3-200-5.2-327.3-5.2-327.3zm-707.4 18.3l-45.4 69.7 83.6 52.1s56 28.5 29.4 81.9C233.8 625.5 112 736.3 112 736.3l109 68.1c75.4-163.7 70.5-142 89.5-200.7 19.5-60.1 23.7-105.9-9.4-139.1-42.4-42.6-47-46.6-110-93.4z" } }] }, "name": "taobao", "theme": "outlined" }; +exports.default = TaobaoOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoSquareFilled.js new file mode 100644 index 00000000..48568df0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TaobaoSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TaobaoSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 110-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z" } }] }, "name": "taobao-square", "theme": "filled" }; +exports.default = TaobaoSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TeamOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TeamOutlined.js new file mode 100644 index 00000000..d4c536bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TeamOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TeamOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z" } }] }, "name": "team", "theme": "outlined" }; +exports.default = TeamOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltFilled.js new file mode 100644 index 00000000..bc282826 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ThunderboltFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z" } }] }, "name": "thunderbolt", "theme": "filled" }; +exports.default = ThunderboltFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltOutlined.js new file mode 100644 index 00000000..1eb31035 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ThunderboltOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z" } }] }, "name": "thunderbolt", "theme": "outlined" }; +exports.default = ThunderboltOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltTwoTone.js new file mode 100644 index 00000000..fd2151e3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ThunderboltTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ThunderboltTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M695.4 164.1H470.8L281.2 491.5h157.4l-60.3 241 319.8-305.1h-211z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M848.1 359.3H627.8L825.9 109c4.1-5.3.4-13-6.3-13H436.1c-2.8 0-5.5 1.5-6.9 4L170.1 547.5c-3.1 5.3.7 12 6.9 12h174.4L262 917.1c-1.9 7.8 7.5 13.3 13.3 7.7L853.6 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.3 732.5l60.3-241H281.2l189.6-327.4h224.6L487.1 427.4h211L378.3 732.5z", "fill": primaryColor } }] }; }, "name": "thunderbolt", "theme": "twotone" }; +exports.default = ThunderboltTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToTopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToTopOutlined.js new file mode 100644 index 00000000..2e535df5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToTopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ToTopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885 780H165c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM400 325.7h73.9V664c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V325.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 171a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13z" } }] }, "name": "to-top", "theme": "outlined" }; +exports.default = ToTopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolFilled.js new file mode 100644 index 00000000..ccc4c229 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ToolFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M865.3 244.7c-.3-.3-61.1 59.8-182.1 180.6l-84.9-84.9 180.9-180.9c-95.2-57.3-217.5-42.6-296.8 36.7A244.42 244.42 0 00419 432l1.8 6.7-283.5 283.4c-6.2 6.2-6.2 16.4 0 22.6l141.4 141.4c6.2 6.2 16.4 6.2 22.6 0l283.3-283.3 6.7 1.8c83.7 22.3 173.6-.9 236-63.3 79.4-79.3 94.1-201.6 38-296.6z" } }] }, "name": "tool", "theme": "filled" }; +exports.default = ToolFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolOutlined.js new file mode 100644 index 00000000..e2e36541 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ToolOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z" } }] }, "name": "tool", "theme": "outlined" }; +exports.default = ToolOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolTwoTone.js new file mode 100644 index 00000000..4ad7c67a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ToolTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ToolTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M706.8 488.7a32.05 32.05 0 01-45.3 0L537 364.2a32.05 32.05 0 010-45.3l132.9-132.8a184.2 184.2 0 00-144 53.5c-58.1 58.1-69.3 145.3-33.6 214.6L439.5 507c-.1 0-.1-.1-.1-.1L209.3 737l79.2 79.2 274-274.1.1.1 8.8-8.8c69.3 35.7 156.5 24.5 214.6-33.6 39.2-39.1 57.3-92.1 53.6-143.9L706.8 488.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z", "fill": primaryColor } }] }; }, "name": "tool", "theme": "twotone" }; +exports.default = ToolTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleFilled.js new file mode 100644 index 00000000..9534c0b8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrademarkCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm164.7 660.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H378c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7zM523.9 357h-83.4v148H522c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z" } }] }, "name": "trademark-circle", "theme": "filled" }; +exports.default = TrademarkCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleOutlined.js new file mode 100644 index 00000000..1844703f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrademarkCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 007.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z" } }] }, "name": "trademark-circle", "theme": "outlined" }; +exports.default = TrademarkCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleTwoTone.js new file mode 100644 index 00000000..55cfd61e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrademarkCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm170.7 584.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H384c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M529.9 357h-83.4v148H528c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M605.4 549.3c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.4-131.1-144.2-131.1H384c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.7c4.4 0 8-3.6 8-8V561.2h88.7L610 720.4c1.3 2.8 4.1 4.6 7.2 4.6h62c1.2 0 2.4-.3 3.5-.8 3.9-2 5.6-6.8 3.5-10.7l-80.8-164.2zM528 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.6 0 46.8-29.8 72.4-82.8 72.4z", "fill": primaryColor } }] }; }, "name": "trademark-circle", "theme": "twotone" }; +exports.default = TrademarkCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkOutlined.js new file mode 100644 index 00000000..c57ae41a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrademarkOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrademarkOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 007.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z" } }] }, "name": "trademark", "theme": "outlined" }; +exports.default = TrademarkOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TransactionOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TransactionOutlined.js new file mode 100644 index 00000000..7bb6b2bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TransactionOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TransactionOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 00-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7zM157.9 504.2a352.7 352.7 0 01103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9 43.6-18.4 89.9-27.8 137.6-27.8 47.8 0 94.1 9.3 137.6 27.8 42.1 17.8 79.9 43.4 112.4 75.9 10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 003 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82 277 82 86.3 270.1 82 503.8a8 8 0 008 8.2h60c4.3 0 7.8-3.5 7.9-7.8zM934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 01-103.5 242.4 352.57 352.57 0 01-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.57 352.57 0 01-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 00-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942 747 942 937.7 753.9 942 520.2a8 8 0 00-8-8.2z" } }] }, "name": "transaction", "theme": "outlined" }; +exports.default = TransactionOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TranslationOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TranslationOutlined.js new file mode 100644 index 00000000..6f5cbf6a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TranslationOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TranslationOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z" } }, { "tag": "path", "attrs": { "d": "M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-.3.8-.4 1.7-.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4a8.42 8.42 0 00-7.7-5.4zm12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80zm160 0h-88v-80h88v80z" } }] }, "name": "translation", "theme": "outlined" }; +exports.default = TranslationOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyFilled.js new file mode 100644 index 00000000..32b43677 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrophyFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 00-44 44v148c0 81.7 60 149.6 138.2 162C265.6 630.2 359 721.8 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.8 758.4 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 00-44-44zM248 439.6c-37.1-11.9-64-46.7-64-87.6V232h64v207.6zM840 352c0 41-26.9 75.8-64 87.6V232h64v120z" } }] }, "name": "trophy", "theme": "filled" }; +exports.default = TrophyFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyOutlined.js new file mode 100644 index 00000000..3fa463e5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrophyOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 00-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 00-44-44zM184 352V232h64v207.6a91.99 91.99 0 01-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z" } }] }, "name": "trophy", "theme": "outlined" }; +exports.default = TrophyOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyTwoTone.js new file mode 100644 index 00000000..0c83e62a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TrophyTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TrophyTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M320 480c0 49.1 19.1 95.3 53.9 130.1 34.7 34.8 81 53.9 130.1 53.9h16c49.1 0 95.3-19.1 130.1-53.9 34.8-34.7 53.9-81 53.9-130.1V184H320v296zM184 352c0 41 26.9 75.8 64 87.6-37.1-11.9-64-46.7-64-87.6zm364 382.5C665 721.8 758.4 630.2 773.8 514 758.3 630.2 665 721.7 548 734.5zM250.2 514C265.6 630.2 359 721.8 476 734.5 359 721.7 265.7 630.2 250.2 514z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 00-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 00-44-44zM248 439.6a91.99 91.99 0 01-64-87.6V232h64v207.6zM704 480c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z", "fill": primaryColor } }] }; }, "name": "trophy", "theme": "twotone" }; +exports.default = TrophyTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterCircleFilled.js new file mode 100644 index 00000000..035ae0d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TwitterCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 01-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 01-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 00229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z" } }] }, "name": "twitter-circle", "theme": "filled" }; +exports.default = TwitterCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterOutlined.js new file mode 100644 index 00000000..d43eb173 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TwitterOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 254.3c-30.6 13.2-63.9 22.7-98.2 26.4a170.1 170.1 0 0075-94 336.64 336.64 0 01-108.2 41.2A170.1 170.1 0 00672 174c-94.5 0-170.5 76.6-170.5 170.6 0 13.2 1.6 26.4 4.2 39.1-141.5-7.4-267.7-75-351.6-178.5a169.32 169.32 0 00-23.2 86.1c0 59.2 30.1 111.4 76 142.1a172 172 0 01-77.1-21.7v2.1c0 82.9 58.6 151.6 136.7 167.4a180.6 180.6 0 01-44.9 5.8c-11.1 0-21.6-1.1-32.2-2.6C211 652 273.9 701.1 348.8 702.7c-58.6 45.9-132 72.9-211.7 72.9-14.3 0-27.5-.5-41.2-2.1C171.5 822 261.2 850 357.8 850 671.4 850 843 590.2 843 364.7c0-7.4 0-14.8-.5-22.2 33.2-24.3 62.3-54.4 85.5-88.2z" } }] }, "name": "twitter", "theme": "outlined" }; +exports.default = TwitterOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterSquareFilled.js new file mode 100644 index 00000000..fdbf0d70 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/TwitterSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var TwitterSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM727.3 401.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 01-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 01-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 00229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z" } }] }, "name": "twitter-square", "theme": "filled" }; +exports.default = TwitterSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnderlineOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnderlineOutlined.js new file mode 100644 index 00000000..af140d5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnderlineOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UnderlineOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M824 804H200c-4.4 0-8 3.4-8 7.6v60.8c0 4.2 3.6 7.6 8 7.6h624c4.4 0 8-3.4 8-7.6v-60.8c0-4.2-3.6-7.6-8-7.6zm-312-76c69.4 0 134.6-27.1 183.8-76.2C745 602.7 772 537.4 772 468V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 97-79 176-176 176s-176-79-176-176V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 69.4 27.1 134.6 76.2 183.8C377.3 701 442.6 728 512 728z" } }] }, "name": "underline", "theme": "outlined" }; +exports.default = UnderlineOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UndoOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UndoOutlined.js new file mode 100644 index 00000000..cead6cb4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UndoOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UndoOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z" } }] }, "name": "undo", "theme": "outlined" }; +exports.default = UndoOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UngroupOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UngroupOutlined.js new file mode 100644 index 00000000..eeb93b21 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UngroupOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UngroupOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M736 550H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16zm-56 136H344v-64h336v64zm208 130c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zM736 266H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16zm-56 136H344v-64h336v64zm208-194c39.8 0 72-32.2 72-72s-32.2-72-72-72-72 32.2-72 72 32.2 72 72 72zm0-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 64c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0 656c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z" } }] }, "name": "ungroup", "theme": "outlined" }; +exports.default = UngroupOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockFilled.js new file mode 100644 index 00000000..a1eb642c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UnlockFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0z" } }] }, "name": "unlock", "theme": "filled" }; +exports.default = UnlockFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockOutlined.js new file mode 100644 index 00000000..76fd7334 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UnlockOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z" } }] }, "name": "unlock", "theme": "outlined" }; +exports.default = UnlockOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockTwoTone.js new file mode 100644 index 00000000..7470044d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnlockTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UnlockTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M232 840h560V536H232v304zm280-226a48.01 48.01 0 0128 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0128-87z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304z", "fill": primaryColor } }] }; }, "name": "unlock", "theme": "twotone" }; +exports.default = UnlockTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnorderedListOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnorderedListOutlined.js new file mode 100644 index 00000000..4e0455cf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UnorderedListOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UnorderedListOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z" } }] }, "name": "unordered-list", "theme": "outlined" }; +exports.default = UnorderedListOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleFilled.js new file mode 100644 index 00000000..2bd8429e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm178 555h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z" } }] }, "name": "up-circle", "theme": "filled" }; +exports.default = UpCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleOutlined.js new file mode 100644 index 00000000..fb5c5f49 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M518.5 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z" } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" } }] }, "name": "up-circle", "theme": "outlined" }; +exports.default = UpCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleTwoTone.js new file mode 100644 index 00000000..98fd9f5a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpCircleTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpCircleTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm178 479h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M518.4 360.3a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7h46.9c10.3 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246z", "fill": primaryColor } }] }; }, "name": "up-circle", "theme": "twotone" }; +exports.default = UpCircleTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpOutlined.js new file mode 100644 index 00000000..492aa373 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z" } }] }, "name": "up", "theme": "outlined" }; +exports.default = UpOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareFilled.js new file mode 100644 index 00000000..cb025e51 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM690 624h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z" } }] }, "name": "up-square", "theme": "filled" }; +exports.default = UpSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareOutlined.js new file mode 100644 index 00000000..ec8c923b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M334 624h46.9c10.2 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246a7.95 7.95 0 00-12.9 0l-178 246A7.96 7.96 0 00334 624z" } }, { "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z" } }] }, "name": "up-square", "theme": "outlined" }; +exports.default = UpSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareTwoTone.js new file mode 100644 index 00000000..fd2cdad2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UpSquareTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UpSquareTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V184H184v656zm143.5-228.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M334 624h46.9c10.3 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246a7.95 7.95 0 00-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7z", "fill": primaryColor } }] }; }, "name": "up-square", "theme": "twotone" }; +exports.default = UpSquareTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UploadOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UploadOutlined.js new file mode 100644 index 00000000..7d7a1d80 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UploadOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UploadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z" } }] }, "name": "upload", "theme": "outlined" }; +exports.default = UploadOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbFilled.js new file mode 100644 index 00000000..e834b263 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UsbFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M408 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm352 120V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-72 0H336V184h352v248zM568 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }] }, "name": "usb", "theme": "filled" }; +exports.default = UsbFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbOutlined.js new file mode 100644 index 00000000..66b0a798 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UsbOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-424 0V184h352v248H336zm120-184h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }] }, "name": "usb", "theme": "outlined" }; +exports.default = UsbOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbTwoTone.js new file mode 100644 index 00000000..f607ead4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsbTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UsbTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M759.9 504H264.1c-26.5 0-48.1 19.7-48.1 44v292h592V548c0-24.3-21.6-44-48.1-44z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M456 248h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zM336 184h352v248H336V184zm472 656H216V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v292z", "fill": primaryColor } }] }; }, "name": "usb", "theme": "twotone" }; +exports.default = UsbTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserAddOutlined.js new file mode 100644 index 00000000..ee5afc5e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UserAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "user-add", "theme": "outlined" }; +exports.default = UserAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserDeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserDeleteOutlined.js new file mode 100644 index 00000000..bc26b16f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserDeleteOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UserDeleteOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M678.3 655.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 518 759.6 444.7 759.6 362c0-137-110.8-248-247.5-248S264.7 225 264.7 362c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 901.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 641.2 432.2 610 512.2 610c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 534c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 362c0-45.9 17.9-89.1 50.3-121.6S466.3 190 512.2 190s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 362c0 45.9-17.9 89.1-50.3 121.6C601.1 516.1 558 534 512.2 534zM880 772H640c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, "name": "user-delete", "theme": "outlined" }; +exports.default = UserDeleteOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserOutlined.js new file mode 100644 index 00000000..319e2b72 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UserOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z" } }] }, "name": "user", "theme": "outlined" }; +exports.default = UserOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserSwitchOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserSwitchOutlined.js new file mode 100644 index 00000000..2aa5fb0b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UserSwitchOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UserSwitchOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M759 335c0-137-111-248-248-248S263 198 263 335c0 82.8 40.6 156.2 103 201.2-.4.2-.7.3-.9.4-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00136 874.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C356 614.2 431 583 511 583c137 0 248-111 248-248zM511 507c-95 0-172-77-172-172s77-172 172-172 172 77 172 172-77 172-172 172zm105 221h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H703.5l47.2-60.1a8.1 8.1 0 001.7-4.9c0-4.4-3.6-8-8-8h-72.6c-4.9 0-9.5 2.3-12.6 6.1l-68.5 87.1c-4.4 5.6-6.8 12.6-6.8 19.8.1 17.7 14.4 32 32.1 32zm240 64H592c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h176.5l-47.2 60.1a8.1 8.1 0 00-1.7 4.9c0 4.4 3.6 8 8 8h72.6c4.9 0 9.5-2.3 12.6-6.1l68.5-87.1c4.4-5.6 6.8-12.6 6.8-19.8-.1-17.7-14.4-32-32.1-32z" } }] }, "name": "user-switch", "theme": "outlined" }; +exports.default = UserSwitchOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupAddOutlined.js new file mode 100644 index 00000000..8914b9fc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UsergroupAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z" } }] }, "name": "usergroup-add", "theme": "outlined" }; +exports.default = UsergroupAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupDeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupDeleteOutlined.js new file mode 100644 index 00000000..d85aca39 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/UsergroupDeleteOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var UsergroupDeleteOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M888 784H664c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7zM824 484c0-109.4-87.9-198.3-196.9-200C516.3 282.3 424 373.2 424 484c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 754.6 326 826.8 324 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 707.7 563 684 624 684c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 598.7 658.2 612 624 612s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z" } }] }, "name": "usergroup-delete", "theme": "outlined" }; +exports.default = UsergroupDeleteOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerifiedOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerifiedOutlined.js new file mode 100644 index 00000000..d7bb0007 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerifiedOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerifiedOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M447.8 588.8l-7.3-32.5c-.2-1-.6-1.9-1.1-2.7a7.94 7.94 0 00-11.1-2.2L405 567V411c0-4.4-3.6-8-8-8h-81c-4.4 0-8 3.6-8 8v36c0 4.4 3.6 8 8 8h37v192.4a8 8 0 0012.7 6.5l79-56.8c2.6-1.9 3.8-5.1 3.1-8.3zm-56.7-216.6l.2.2c3.2 3 8.3 2.8 11.3-.5l24.1-26.2a8.1 8.1 0 00-.3-11.2l-53.7-52.1a8 8 0 00-11.2.1l-24.7 24.7c-3.1 3.1-3.1 8.2.1 11.3l54.2 53.7z" } }, { "tag": "path", "attrs": { "d": "M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z" } }, { "tag": "path", "attrs": { "d": "M452 297v36c0 4.4 3.6 8 8 8h108v274h-38V405c0-4.4-3.6-8-8-8h-35c-4.4 0-8 3.6-8 8v210h-31c-4.4 0-8 3.6-8 8v37c0 4.4 3.6 8 8 8h244c4.4 0 8-3.6 8-8v-37c0-4.4-3.6-8-8-8h-72V493h58c4.4 0 8-3.6 8-8v-35c0-4.4-3.6-8-8-8h-58V341h63c4.4 0 8-3.6 8-8v-36c0-4.4-3.6-8-8-8H460c-4.4 0-8 3.6-8 8z" } }] }, "name": "verified", "theme": "outlined" }; +exports.default = VerifiedOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignBottomOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignBottomOutlined.js new file mode 100644 index 00000000..ce520666 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignBottomOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerticalAlignBottomOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z" } }] }, "name": "vertical-align-bottom", "theme": "outlined" }; +exports.default = VerticalAlignBottomOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignMiddleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignMiddleOutlined.js new file mode 100644 index 00000000..dc70580a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignMiddleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerticalAlignMiddleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 00-11.3 0L405.6 752.3a7.23 7.23 0 005.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z" } }] }, "name": "vertical-align-middle", "theme": "outlined" }; +exports.default = VerticalAlignMiddleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignTopOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignTopOutlined.js new file mode 100644 index 00000000..1e2ebee7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignTopOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerticalAlignTopOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 00-12.6 0l-112 141.7a7.98 7.98 0 006.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z" } }] }, "name": "vertical-align-top", "theme": "outlined" }; +exports.default = VerticalAlignTopOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalLeftOutlined.js new file mode 100644 index 00000000..ce78cf1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalLeftOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerticalLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M762 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm-508 0v72.4c0 9.5 4.2 18.4 11.4 24.5L564.6 512 265.4 763.1c-7.2 6.1-11.4 15-11.4 24.5V860c0 6.8 7.9 10.5 13.1 6.1L689 512 267.1 157.9A7.95 7.95 0 00254 164z" } }] }, "name": "vertical-left", "theme": "outlined" }; +exports.default = VerticalLeftOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalRightOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalRightOutlined.js new file mode 100644 index 00000000..9134f429 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VerticalRightOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VerticalRightOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M326 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm444 72.4V164c0-6.8-7.9-10.5-13.1-6.1L335 512l421.9 354.1c5.2 4.4 13.1.7 13.1-6.1v-72.4c0-9.4-4.2-18.4-11.4-24.5L459.4 512l299.2-251.1c7.2-6.1 11.4-15.1 11.4-24.5z" } }] }, "name": "vertical-right", "theme": "outlined" }; +exports.default = VerticalRightOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraAddOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraAddOutlined.js new file mode 100644 index 00000000..8df7e4f4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraAddOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VideoCameraAddOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M368 724H252V608c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v116H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h116v116c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V788h116c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z" } }, { "tag": "path", "attrs": { "d": "M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v352h72V232h576v560H448v72h272c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM888 625l-104-59.8V458.9L888 399v226z" } }, { "tag": "path", "attrs": { "d": "M320 360c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112z" } }] }, "name": "video-camera-add", "theme": "outlined" }; +exports.default = VideoCameraAddOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraFilled.js new file mode 100644 index 00000000..b097c192 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VideoCameraFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM328 352c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48zm560 273l-104-59.8V458.9L888 399v226z" } }] }, "name": "video-camera", "theme": "filled" }; +exports.default = VideoCameraFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraOutlined.js new file mode 100644 index 00000000..f4bd8bbd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VideoCameraOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z" } }] }, "name": "video-camera", "theme": "outlined" }; +exports.default = VideoCameraOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraTwoTone.js new file mode 100644 index 00000000..57eae5af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/VideoCameraTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var VideoCameraTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M136 792h576V232H136v560zm64-488c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z", "fill": primaryColor } }] }; }, "name": "video-camera", "theme": "twotone" }; +exports.default = VideoCameraTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletFilled.js new file mode 100644 index 00000000..0cfcd073 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WalletFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 464H528V448h320v128zm-268-64a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "wallet", "theme": "filled" }; +exports.default = WalletFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletOutlined.js new file mode 100644 index 00000000..cb1fcbce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WalletOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z" } }] }, "name": "wallet", "theme": "outlined" }; +exports.default = WalletOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletTwoTone.js new file mode 100644 index 00000000..db704867 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WalletTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WalletTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0-192H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200H184V184h656v200z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M528 576h312V448H528v128zm92-104c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M580 512a40 40 0 1080 0 40 40 0 10-80 0z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M184 840h656V640H496c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32h344V184H184v656z", "fill": secondaryColor } }] }; }, "name": "wallet", "theme": "twotone" }; +exports.default = WalletTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningFilled.js new file mode 100644 index 00000000..702995d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WarningFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z" } }] }, "name": "warning", "theme": "filled" }; +exports.default = WarningFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningOutlined.js new file mode 100644 index 00000000..d80417dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WarningOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z" } }] }, "name": "warning", "theme": "outlined" }; +exports.default = WarningOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningTwoTone.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningTwoTone.js new file mode 100644 index 00000000..5a4d6980 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WarningTwoTone.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WarningTwoTone = { "icon": function render(primaryColor, secondaryColor) { return { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z", "fill": primaryColor } }, { "tag": "path", "attrs": { "d": "M172.2 828.1h679.6L512 239.9 172.2 828.1zM560 720a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0zm-16-304v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z", "fill": secondaryColor } }, { "tag": "path", "attrs": { "d": "M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z", "fill": primaryColor } }] }; }, "name": "warning", "theme": "twotone" }; +exports.default = WarningTwoTone; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatFilled.js new file mode 100644 index 00000000..84133924 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WechatFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 019.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 006.4-2.6 9 9 0 002.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 01-36 35.9z" } }] }, "name": "wechat", "theme": "filled" }; +exports.default = WechatFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatOutlined.js new file mode 100644 index 00000000..1f281b53 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WechatOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WechatOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 019.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 006.4-2.6 9 9 0 002.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 01-36 35.9z" } }] }, "name": "wechat", "theme": "outlined" }; +exports.default = WechatOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleFilled.js new file mode 100644 index 00000000..6f5200be --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WeiboCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 00-7.2-34.1 34.68 34.68 0 00-33.1-10.7 18.24 18.24 0 01-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 01-22.9 11.7 18.18 18.18 0 01-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 01-26.6 13.7 21.19 21.19 0 01-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 00-98.9-32.1 21.14 21.14 0 01-25.1-16.3 21.07 21.07 0 0116.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z" } }] }, "name": "weibo-circle", "theme": "filled" }; +exports.default = WeiboCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleOutlined.js new file mode 100644 index 00000000..a5a06e05 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboCircleOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WeiboCircleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 00-7.2-34.1 34.68 34.68 0 00-33.1-10.7 18.24 18.24 0 01-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 01-22.9 11.7 18.18 18.18 0 01-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 01-26.6 13.7 21.19 21.19 0 01-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 00-98.9-32.1 21.14 21.14 0 01-25.1-16.3 21.07 21.07 0 0116.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z" } }] }, "name": "weibo-circle", "theme": "outlined" }; +exports.default = WeiboCircleOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboOutlined.js new file mode 100644 index 00000000..788e2991 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WeiboOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M457.3 543c-68.1-17.7-145 16.2-174.6 76.2-30.1 61.2-1 129.1 67.8 151.3 71.2 23 155.2-12.2 184.4-78.3 28.7-64.6-7.2-131-77.6-149.2zm-52 156.2c-13.8 22.1-43.5 31.7-65.8 21.6-22-10-28.5-35.7-14.6-57.2 13.7-21.4 42.3-31 64.4-21.7 22.4 9.5 29.6 35 16 57.3zm45.5-58.5c-5 8.6-16.1 12.7-24.7 9.1-8.5-3.5-11.2-13.1-6.4-21.5 5-8.4 15.6-12.4 24.1-9.1 8.7 3.2 11.8 12.9 7 21.5zm334.5-197.2c15 4.8 31-3.4 35.9-18.3 11.8-36.6 4.4-78.4-23.2-109a111.39 111.39 0 00-106-34.3 28.45 28.45 0 00-21.9 33.8 28.39 28.39 0 0033.8 21.8c18.4-3.9 38.3 1.8 51.9 16.7a54.2 54.2 0 0111.3 53.3 28.45 28.45 0 0018.2 36zm99.8-206c-56.7-62.9-140.4-86.9-217.7-70.5a32.98 32.98 0 00-25.4 39.3 33.12 33.12 0 0039.3 25.5c55-11.7 114.4 5.4 154.8 50.1 40.3 44.7 51.2 105.7 34 159.1-5.6 17.4 3.9 36 21.3 41.7 17.4 5.6 36-3.9 41.6-21.2v-.1c24.1-75.4 8.9-161.1-47.9-223.9zM729 499c-12.2-3.6-20.5-6.1-14.1-22.1 13.8-34.7 15.2-64.7.3-86-28-40.1-104.8-37.9-192.8-1.1 0 0-27.6 12.1-20.6-9.8 13.5-43.5 11.5-79.9-9.6-101-47.7-47.8-174.6 1.8-283.5 110.6C127.3 471.1 80 557.5 80 632.2 80 775.1 263.2 862 442.5 862c235 0 391.3-136.5 391.3-245 0-65.5-55.2-102.6-104.8-118zM443 810.8c-143 14.1-266.5-50.5-275.8-144.5-9.3-93.9 99.2-181.5 242.2-195.6 143-14.2 266.5 50.5 275.8 144.4C694.4 709 586 796.6 443 810.8z" } }] }, "name": "weibo", "theme": "outlined" }; +exports.default = WeiboOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareFilled.js new file mode 100644 index 00000000..6d04c50b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WeiboSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 00-7.2-34.1 34.68 34.68 0 00-33.1-10.7 18.24 18.24 0 01-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 01-22.9 11.7 18.18 18.18 0 01-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 01-26.6 13.7 21.19 21.19 0 01-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 00-98.9-32.1 21.14 21.14 0 01-25.1-16.3 21.07 21.07 0 0116.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z" } }] }, "name": "weibo-square", "theme": "filled" }; +exports.default = WeiboSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareOutlined.js new file mode 100644 index 00000000..db5cccc7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WeiboSquareOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WeiboSquareOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 00-7.2-34.1 34.68 34.68 0 00-33.1-10.7 18.24 18.24 0 01-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 01-22.9 11.7 18.18 18.18 0 01-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 01-26.6 13.7 21.19 21.19 0 01-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 00-98.9-32.1 21.14 21.14 0 01-25.1-16.3 21.07 21.07 0 0116.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z" } }] }, "name": "weibo-square", "theme": "outlined" }; +exports.default = WeiboSquareOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WhatsAppOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WhatsAppOutlined.js new file mode 100644 index 00000000..dc2416d5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WhatsAppOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WhatsAppOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "defs", "attrs": {}, "children": [{ "tag": "style", "attrs": {} }] }, { "tag": "path", "attrs": { "d": "M713.5 599.9c-10.9-5.6-65.2-32.2-75.3-35.8-10.1-3.8-17.5-5.6-24.8 5.6-7.4 11.1-28.4 35.8-35 43.3-6.4 7.4-12.9 8.3-23.8 2.8-64.8-32.4-107.3-57.8-150-131.1-11.3-19.5 11.3-18.1 32.4-60.2 3.6-7.4 1.8-13.7-1-19.3-2.8-5.6-24.8-59.8-34-81.9-8.9-21.5-18.1-18.5-24.8-18.9-6.4-.4-13.7-.4-21.1-.4-7.4 0-19.3 2.8-29.4 13.7-10.1 11.1-38.6 37.8-38.6 92s39.5 106.7 44.9 114.1c5.6 7.4 77.7 118.6 188.4 166.5 70 30.2 97.4 32.8 132.4 27.6 21.3-3.2 65.2-26.6 74.3-52.5 9.1-25.8 9.1-47.9 6.4-52.5-2.7-4.9-10.1-7.7-21-13z" } }, { "tag": "path", "attrs": { "d": "M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 00-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 00-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 00112 714v152a46 46 0 0046 46h152.1A449.4 449.4 0 00510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 00142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z" } }] }, "name": "whats-app", "theme": "outlined" }; +exports.default = WhatsAppOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WifiOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WifiOutlined.js new file mode 100644 index 00000000..ac3a2479 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WifiOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WifiOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 00-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 00-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 00-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 10128 0 64 64 0 10-128 0z" } }] }, "name": "wifi", "theme": "outlined" }; +exports.default = WifiOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsFilled.js new file mode 100644 index 00000000..88a7706d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WindowsFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M523.8 191.4v288.9h382V128.1zm0 642.2l382 62.2v-352h-382zM120.1 480.2H443V201.9l-322.9 53.5zm0 290.4L443 823.2V543.8H120.1z" } }] }, "name": "windows", "theme": "filled" }; +exports.default = WindowsFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsOutlined.js new file mode 100644 index 00000000..85834a3a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WindowsOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WindowsOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M120.1 770.6L443 823.2V543.8H120.1v226.8zm63.4-163.5h196.2v141.6l-196.2-31.9V607.1zm340.3 226.5l382 62.2v-352h-382v289.8zm63.4-226.5h255.3v214.4l-255.3-41.6V607.1zm-63.4-415.7v288.8h382V128.1l-382 63.3zm318.7 225.5H587.3V245l255.3-42.3v214.2zm-722.4 63.3H443V201.9l-322.9 53.5v224.8zM183.5 309l196.2-32.5v140.4H183.5V309z" } }] }, "name": "windows", "theme": "outlined" }; +exports.default = WindowsOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WomanOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WomanOutlined.js new file mode 100644 index 00000000..f469877a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/WomanOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var WomanOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M712.8 548.8c53.6-53.6 83.2-125 83.2-200.8 0-75.9-29.5-147.2-83.2-200.8C659.2 93.6 587.8 64 512 64s-147.2 29.5-200.8 83.2C257.6 200.9 228 272.1 228 348c0 63.8 20.9 124.4 59.4 173.9 7.3 9.4 15.2 18.3 23.7 26.9 8.5 8.5 17.5 16.4 26.8 23.7 39.6 30.8 86.3 50.4 136.1 57V736H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h114v140c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V812h114c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H550V629.5c61.5-8.2 118.2-36.1 162.8-80.7zM512 556c-55.6 0-107.7-21.6-147.1-60.9C325.6 455.8 304 403.6 304 348s21.6-107.7 60.9-147.1C404.2 161.5 456.4 140 512 140s107.7 21.6 147.1 60.9C698.4 240.2 720 292.4 720 348s-21.6 107.7-60.9 147.1C619.7 534.4 567.6 556 512 556z" } }] }, "name": "woman", "theme": "outlined" }; +exports.default = WomanOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooFilled.js new file mode 100644 index 00000000..0b37a1bf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YahooFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M937.3 231H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7zm-77.4 450.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm225.2 225.2h-65.3L458.9 559.8v65.3h84.4v56.3H318.2v-56.3h84.4v-65.3L242.9 399.9h-37v-56.3h168.5v56.3h-37l93.4 93.5 28.1-28.1V400h168.8v56.2z" } }] }, "name": "yahoo", "theme": "filled" }; +exports.default = YahooFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooOutlined.js new file mode 100644 index 00000000..9f5f6fd6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YahooOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YahooOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M859.9 681.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm0 507C245.1 738 121 634.6 121 512.5c0-62.3 32.3-119.7 84.9-161v48.4h37l159.8 159.9v65.3h-84.4v56.3h225.1v-56.3H459v-65.3l103.5-103.6h65.3v-56.3H459v65.3l-28.1 28.1-93.4-93.5h37v-56.3H216.4c49.4-35 114.3-56.6 186.2-56.6 157.6 0 281.6 103.4 281.6 225.5S560.2 738 402.6 738zm534.7-507H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7z" } }] }, "name": "yahoo", "theme": "outlined" }; +exports.default = YahooOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeFilled.js new file mode 100644 index 00000000..ed9c62f2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YoutubeFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M941.3 296.1a112.3 112.3 0 00-79.2-79.3C792.2 198 512 198 512 198s-280.2 0-350.1 18.7A112.12 112.12 0 0082.7 296C64 366 64 512 64 512s0 146 18.7 215.9c10.3 38.6 40.7 69 79.2 79.3C231.8 826 512 826 512 826s280.2 0 350.1-18.8c38.6-10.3 68.9-40.7 79.2-79.3C960 658 960 512 960 512s0-146-18.7-215.9zM423 646V378l232 133-232 135z" } }] }, "name": "youtube", "theme": "filled" }; +exports.default = YoutubeFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeOutlined.js new file mode 100644 index 00000000..f07e9640 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YoutubeOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YoutubeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M960 509.2c0-2.2 0-4.7-.1-7.6-.1-8.1-.3-17.2-.5-26.9-.8-27.9-2.2-55.7-4.4-81.9-3-36.1-7.4-66.2-13.4-88.8a139.52 139.52 0 00-98.3-98.5c-28.3-7.6-83.7-12.3-161.7-15.2-37.1-1.4-76.8-2.3-116.5-2.8-13.9-.2-26.8-.3-38.4-.4h-29.4c-11.6.1-24.5.2-38.4.4-39.7.5-79.4 1.4-116.5 2.8-78 3-133.5 7.7-161.7 15.2A139.35 139.35 0 0082.4 304C76.3 326.6 72 356.7 69 392.8c-2.2 26.2-3.6 54-4.4 81.9-.3 9.7-.4 18.8-.5 26.9 0 2.9-.1 5.4-.1 7.6v5.6c0 2.2 0 4.7.1 7.6.1 8.1.3 17.2.5 26.9.8 27.9 2.2 55.7 4.4 81.9 3 36.1 7.4 66.2 13.4 88.8 12.8 47.9 50.4 85.7 98.3 98.5 28.2 7.6 83.7 12.3 161.7 15.2 37.1 1.4 76.8 2.3 116.5 2.8 13.9.2 26.8.3 38.4.4h29.4c11.6-.1 24.5-.2 38.4-.4 39.7-.5 79.4-1.4 116.5-2.8 78-3 133.5-7.7 161.7-15.2 47.9-12.8 85.5-50.5 98.3-98.5 6.1-22.6 10.4-52.7 13.4-88.8 2.2-26.2 3.6-54 4.4-81.9.3-9.7.4-18.8.5-26.9 0-2.9.1-5.4.1-7.6v-5.6zm-72 5.2c0 2.1 0 4.4-.1 7.1-.1 7.8-.3 16.4-.5 25.7-.7 26.6-2.1 53.2-4.2 77.9-2.7 32.2-6.5 58.6-11.2 76.3-6.2 23.1-24.4 41.4-47.4 47.5-21 5.6-73.9 10.1-145.8 12.8-36.4 1.4-75.6 2.3-114.7 2.8-13.7.2-26.4.3-37.8.3h-28.6l-37.8-.3c-39.1-.5-78.2-1.4-114.7-2.8-71.9-2.8-124.9-7.2-145.8-12.8-23-6.2-41.2-24.4-47.4-47.5-4.7-17.7-8.5-44.1-11.2-76.3-2.1-24.7-3.4-51.3-4.2-77.9-.3-9.3-.4-18-.5-25.7 0-2.7-.1-5.1-.1-7.1v-4.8c0-2.1 0-4.4.1-7.1.1-7.8.3-16.4.5-25.7.7-26.6 2.1-53.2 4.2-77.9 2.7-32.2 6.5-58.6 11.2-76.3 6.2-23.1 24.4-41.4 47.4-47.5 21-5.6 73.9-10.1 145.8-12.8 36.4-1.4 75.6-2.3 114.7-2.8 13.7-.2 26.4-.3 37.8-.3h28.6l37.8.3c39.1.5 78.2 1.4 114.7 2.8 71.9 2.8 124.9 7.2 145.8 12.8 23 6.2 41.2 24.4 47.4 47.5 4.7 17.7 8.5 44.1 11.2 76.3 2.1 24.7 3.4 51.3 4.2 77.9.3 9.3.4 18 .5 25.7 0 2.7.1 5.1.1 7.1v4.8zM423 646l232-135-232-133z" } }] }, "name": "youtube", "theme": "outlined" }; +exports.default = YoutubeOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueFilled.js new file mode 100644 index 00000000..482f256c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YuqueFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.9-8.1-195-3-195-3s87.4 55.6 52.4 154.7c-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6z" } }] }, "name": "yuque", "theme": "filled" }; +exports.default = YuqueFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueOutlined.js new file mode 100644 index 00000000..7c0fad5f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/YuqueOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var YuqueOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.8-8.1-194.9-3-195-3 .1 0 87.4 55.6 52.4 154.7-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6zm-204.1 334c-10.6 0-26.2.1-46.8.3l-23.6.2-17.8 15.5c-47.1 41-104.4 71.5-171.4 87.6-52.5 12.6-110 16.2-172.7 9.6 18-20.5 36.5-41.6 55.4-63.1 92-104.6 173.8-197.5 236.9-268.5l1.4-1.4 1.3-1.5c4.1-4.6 20.6-23.3 24.7-28.1 9.7-11.1 17.3-19.9 24.5-28.6 30.7-36.7 52.2-67.8 69-102.2l1.6-3.3 1.2-3.4c13.7-38.8 15.4-76.9 6.2-112.8 22.5.7 46.5 1.9 71.7 3.6 33.3 2.3 55.5 12.9 71.1 29.2 5.8 6 10.2 12.5 13.4 18.7 1 2 1.7 3.6 2.3 5l5 17.7c-15.7 34.5-19.9 73.3-11.4 107.2 3 11.8 6.9 22.4 12.3 34.4 2.1 4.7 9.5 20.1 11 23.3 10.3 22.7 15.4 43 16.7 78.7 3.3 94.6-82.7 181.9-182 181.9z" } }] }, "name": "yuque", "theme": "outlined" }; +exports.default = YuqueOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuCircleFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuCircleFilled.js new file mode 100644 index 00000000..bde17544 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuCircleFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ZhihuCircleFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-90.7 477.8l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24-18.1 71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7H421.3zm346.5 167h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z" } }] }, "name": "zhihu-circle", "theme": "filled" }; +exports.default = ZhihuCircleFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuOutlined.js new file mode 100644 index 00000000..eceea65b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ZhihuOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M564.7 230.1V803h60l25.2 71.4L756.3 803h131.5V230.1H564.7zm247.7 497h-59.9l-75.1 50.4-17.8-50.4h-18V308.3h170.7v418.8zM526.1 486.9H393.3c2.1-44.9 4.3-104.3 6.6-172.9h130.9l-.1-8.1c0-.6-.2-14.7-2.3-29.1-2.1-15-6.6-34.9-21-34.9H287.8c4.4-20.6 15.7-69.7 29.4-93.8l6.4-11.2-12.9-.7c-.8 0-19.6-.9-41.4 10.6-35.7 19-51.7 56.4-58.7 84.4-18.4 73.1-44.6 123.9-55.7 145.6-3.3 6.4-5.3 10.2-6.2 12.8-1.8 4.9-.8 9.8 2.8 13 10.5 9.5 38.2-2.9 38.5-3 .6-.3 1.3-.6 2.2-1 13.9-6.3 55.1-25 69.8-84.5h56.7c.7 32.2 3.1 138.4 2.9 172.9h-141l-2.1 1.5c-23.1 16.9-30.5 63.2-30.8 65.2l-1.4 9.2h167c-12.3 78.3-26.5 113.4-34 127.4-3.7 7-7.3 14-10.7 20.8-21.3 42.2-43.4 85.8-126.3 153.6-3.6 2.8-7 8-4.8 13.7 2.4 6.3 9.3 9.1 24.6 9.1 5.4 0 11.8-.3 19.4-1 49.9-4.4 100.8-18 135.1-87.6 17-35.1 31.7-71.7 43.9-108.9L497 850l5-12c.8-1.9 19-46.3 5.1-95.9l-.5-1.8-108.1-123-22 16.6c6.4-26.1 10.6-49.9 12.5-71.1h158.7v-8c0-40.1-18.5-63.9-19.2-64.9l-2.4-3z" } }] }, "name": "zhihu", "theme": "outlined" }; +exports.default = ZhihuOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuSquareFilled.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuSquareFilled.js new file mode 100644 index 00000000..08a43874 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZhihuSquareFilled.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ZhihuSquareFilled = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM432.3 592.8l71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7h-110l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24.1-18.1zm335.5 116h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z" } }] }, "name": "zhihu-square", "theme": "filled" }; +exports.default = ZhihuSquareFilled; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomInOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomInOutlined.js new file mode 100644 index 00000000..c184a3c0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomInOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ZoomInOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z" } }] }, "name": "zoom-in", "theme": "outlined" }; +exports.default = ZoomInOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomOutOutlined.js b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomOutOutlined.js new file mode 100644 index 00000000..46eea5e8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/lib/asn/ZoomOutOutlined.js @@ -0,0 +1,5 @@ +"use strict"; +// This icon file is generated automatically. +Object.defineProperty(exports, "__esModule", { value: true }); +var ZoomOutOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z" } }] }, "name": "zoom-out", "theme": "outlined" }; +exports.default = ZoomOutOutlined; diff --git a/.output/server/node_modules/@ant-design/icons-svg/package.json b/.output/server/node_modules/@ant-design/icons-svg/package.json new file mode 100644 index 00000000..7dd31aff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-svg/package.json @@ -0,0 +1,82 @@ +{ + "name": "@ant-design/icons-svg", + "version": "4.4.2", + "sideEffects": false, + "description": "Abstract nodes for ant design icons.", + "contributors": [ + "HeskeyBaozi <hezhiyu233@foxmail.com>" + ], + "homepage": "https://github.com/ant-design/ant-design-icons/", + "license": "MIT", + "main": "lib/index.js", + "module": "es/index.js", + "files": [ + "lib", + "es", + "inline-svg", + "inline-namespaced-svg" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/ant-design/ant-design-icons.git" + }, + "scripts": { + "g": "npm run generate", + "generate": "cross-env NODE_ENV=production gulp --require ts-node/register/transpile-only", + "type-check": "tsc --noEmit", + "build:es": "tsc --project tsconfig.build.json --module esnext --outDir es", + "build:lib": "tsc --project tsconfig.build.json --module commonjs --outDir lib", + "build": "cross-env NODE_ENV=production && npm run build:es && npm run build:lib", + "test": "cross-env NODE_ENV=test && npm run test:unit", + "test:unit": "jest", + "prepublishOnly": "npm run test && npm run g && npm run build && npm run type-check && npm run digest", + "digest": "node scripts/digest.js" + }, + "bugs": { + "url": "https://github.com/ant-design/ant-design-icons/issues" + }, + "devDependencies": { + "@babel/core": "^7.8.6", + "@babel/preset-env": "^7.8.6", + "@babel/preset-typescript": "^7.8.3", + "@rgrove/parse-xml": "^2.0.2", + "@types/gulp": "^4.0.6", + "@types/gulp-concat": "^0.0.32", + "@types/gulp-rename": "^0.0.33", + "@types/jest": "^25.1.3", + "@types/lodash.camelcase": "^4.3.6", + "@types/lodash.template": "^4.4.6", + "@types/lodash.upperfirst": "^4.3.6", + "@types/node": "^13.9.3", + "@types/ramda": "^0.26.43", + "@types/rgrove__parse-xml": "^1.1.0", + "@types/svgo": "^1.3.1", + "@types/through2": "^2.0.34", + "@typescript-eslint/eslint-plugin": "^2.21.0", + "@typescript-eslint/parser": "^2.21.0", + "babel-jest": "^25.1.0", + "cross-env": "^7.0.0", + "del": "^5.1.0", + "eslint": "^7.16.0", + "globby": "^11.0.0", + "gulp": "^4.0.2", + "gulp-clone": "^2.0.1", + "gulp-concat": "^2.6.1", + "gulp-header": "^2.0.9", + "gulp-rename": "^2.0.0", + "jest": "^25.1.0", + "lodash.camelcase": "^4.3.0", + "lodash.template": "^4.5.0", + "lodash.upperfirst": "^4.3.1", + "ramda": "^0.27.0", + "svgo": "^1.3.2", + "through2": "^3.0.1", + "ts-node": "^8.6.2", + "typescript": "^4.0.0", + "vinyl": "^2.2.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/AntdIcon.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/AntdIcon.js new file mode 100644 index 00000000..230dd967 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/AntdIcon.js @@ -0,0 +1,109 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IconBase = _interopRequireDefault(require("./IconBase")); + +var _twoTonePrimaryColor = require("./twoTonePrimaryColor"); + +var _utils = require("../utils"); + +var _colors = require("@ant-design/colors"); + +var _Context = require("./Context"); + +var _InsertStyle = require("./InsertStyle"); + +var _excluded = ["class", "icon", "spin", "rotate", "tabindex", "twoToneColor", "onClick"]; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +// Initial setting +(0, _twoTonePrimaryColor.setTwoToneColor)(_colors.blue.primary); + +var Icon = function Icon(props, context) { + var _classObj; + + var _props$context$attrs = _objectSpread({}, props, context.attrs), + cls = _props$context$attrs["class"], + icon = _props$context$attrs.icon, + spin = _props$context$attrs.spin, + rotate = _props$context$attrs.rotate, + tabindex = _props$context$attrs.tabindex, + twoToneColor = _props$context$attrs.twoToneColor, + onClick = _props$context$attrs.onClick, + restProps = _objectWithoutProperties(_props$context$attrs, _excluded); + + var _useInjectIconContext = (0, _Context.useInjectIconContext)(), + prefixCls = _useInjectIconContext.prefixCls, + rootClassName = _useInjectIconContext.rootClassName; + + var classObj = (_classObj = {}, _defineProperty(_classObj, rootClassName.value, !!rootClassName.value), _defineProperty(_classObj, prefixCls.value, true), _defineProperty(_classObj, "".concat(prefixCls.value, "-").concat(icon.name), Boolean(icon.name)), _defineProperty(_classObj, "".concat(prefixCls.value, "-spin"), !!spin || icon.name === 'loading'), _classObj); + var iconTabIndex = tabindex; + + if (iconTabIndex === undefined && onClick) { + iconTabIndex = -1; + } + + var svgStyle = rotate ? { + msTransform: "rotate(".concat(rotate, "deg)"), + transform: "rotate(".concat(rotate, "deg)") + } : undefined; + + var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor), + _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2), + primaryColor = _normalizeTwoToneColo2[0], + secondaryColor = _normalizeTwoToneColo2[1]; + + return (0, _vue.createVNode)("span", _objectSpread({ + "role": "img", + "aria-label": icon.name + }, restProps, { + "onClick": onClick, + "class": [classObj, cls], + "tabindex": iconTabIndex + }), [(0, _vue.createVNode)(_IconBase["default"], { + "icon": icon, + "primaryColor": primaryColor, + "secondaryColor": secondaryColor, + "style": svgStyle + }, null), (0, _vue.createVNode)(_InsertStyle.InsertStyles, null, null)]); +}; + +Icon.props = { + spin: Boolean, + rotate: Number, + icon: Object, + twoToneColor: [String, Array] +}; +Icon.displayName = 'AntdIcon'; +Icon.inheritAttrs = false; +Icon.getTwoToneColor = _twoTonePrimaryColor.getTwoToneColor; +Icon.setTwoToneColor = _twoTonePrimaryColor.setTwoToneColor; +var _default = Icon; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/Context.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/Context.js new file mode 100644 index 00000000..37fb19b2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/Context.js @@ -0,0 +1,27 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.useInjectIconContext = exports.useProvideIconContext = void 0; + +var _vue = require("vue"); + +var contextKey = Symbol('iconContext'); + +var useProvideIconContext = function useProvideIconContext(props) { + (0, _vue.provide)(contextKey, props); + return props; +}; + +exports.useProvideIconContext = useProvideIconContext; + +var useInjectIconContext = function useInjectIconContext() { + return (0, _vue.inject)(contextKey, { + prefixCls: (0, _vue.ref)('anticon'), + rootClassName: (0, _vue.ref)(''), + csp: (0, _vue.ref)() + }); +}; + +exports.useInjectIconContext = useInjectIconContext; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/Icon.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/Icon.js new file mode 100644 index 00000000..14d13a5b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/Icon.js @@ -0,0 +1,116 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _utils = require("../utils"); + +var _Context = require("./Context"); + +var _InsertStyle = require("./InsertStyle"); + +var _excluded = ["class", "component", "viewBox", "spin", "rotate", "tabindex", "onClick"]; + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +var Icon = function Icon(props, context) { + var _classString; + + var attrs = context.attrs, + slots = context.slots; + + var _props$attrs = _objectSpread({}, props, attrs), + cls = _props$attrs["class"], + Component = _props$attrs.component, + viewBox = _props$attrs.viewBox, + spin = _props$attrs.spin, + rotate = _props$attrs.rotate, + tabindex = _props$attrs.tabindex, + onClick = _props$attrs.onClick, + restProps = _objectWithoutProperties(_props$attrs, _excluded); + + var _useInjectIconContext = (0, _Context.useInjectIconContext)(), + prefixCls = _useInjectIconContext.prefixCls, + rootClassName = _useInjectIconContext.rootClassName; + + var children = slots["default"] && slots["default"](); + var hasChildren = children && children.length; + var slotsComponent = slots.component; + (0, _utils.warning)(Boolean(Component || hasChildren || slotsComponent), 'Should have `component` prop/slot or `children`.'); + var classString = (_classString = {}, _defineProperty(_classString, rootClassName.value, !!rootClassName.value), _defineProperty(_classString, prefixCls.value, true), _classString); + + var svgClassString = _defineProperty({}, "".concat(prefixCls.value, "-spin"), spin === '' || !!spin); + + var svgStyle = rotate ? { + msTransform: "rotate(".concat(rotate, "deg)"), + transform: "rotate(".concat(rotate, "deg)") + } : undefined; + + var innerSvgProps = _objectSpread({}, _utils.svgBaseProps, { + viewBox: viewBox, + "class": svgClassString, + style: svgStyle + }); + + if (!viewBox) { + delete innerSvgProps.viewBox; + } + + var renderInnerNode = function renderInnerNode() { + if (Component) { + return (0, _vue.createVNode)(Component, innerSvgProps, { + "default": function _default() { + return [children]; + } + }); + } + + if (slotsComponent) { + return slotsComponent(innerSvgProps); + } + + if (hasChildren) { + (0, _utils.warning)(Boolean(viewBox) || children.length === 1 && children[0] && children[0].type === 'use', 'Make sure that you provide correct `viewBox`' + ' prop (default `0 0 1024 1024`) to the icon.'); + return (0, _vue.createVNode)("svg", _objectSpread({}, innerSvgProps, { + "viewBox": viewBox + }), [children]); + } + + return null; + }; + + var iconTabIndex = tabindex; + + if (iconTabIndex === undefined && onClick) { + iconTabIndex = -1; + restProps.tabindex = iconTabIndex; + } + + return (0, _vue.createVNode)("span", _objectSpread({ + "role": "img" + }, restProps, { + "onClick": onClick, + "class": [classString, cls] + }), [renderInnerNode(), (0, _vue.createVNode)(_InsertStyle.InsertStyles, null, null)]); +}; + +Icon.props = { + spin: Boolean, + rotate: Number, + viewBox: String, + ariaLabel: String +}; +Icon.inheritAttrs = false; +Icon.displayName = 'Icon'; +var _default2 = Icon; +exports["default"] = _default2; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconBase.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconBase.js new file mode 100644 index 00000000..fc451937 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconBase.js @@ -0,0 +1,90 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _utils = require("../utils"); + +var _vue = require("vue"); + +var _excluded = ["icon", "primaryColor", "secondaryColor"]; + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var twoToneColorPalette = (0, _vue.reactive)({ + primaryColor: '#333', + secondaryColor: '#E6E6E6', + calculated: false +}); + +function setTwoToneColors(_ref) { + var primaryColor = _ref.primaryColor, + secondaryColor = _ref.secondaryColor; + twoToneColorPalette.primaryColor = primaryColor; + twoToneColorPalette.secondaryColor = secondaryColor || (0, _utils.getSecondaryColor)(primaryColor); + twoToneColorPalette.calculated = !!secondaryColor; +} + +function getTwoToneColors() { + return _objectSpread({}, twoToneColorPalette); +} + +var IconBase = function IconBase(props, context) { + var _props$context$attrs = _objectSpread({}, props, context.attrs), + icon = _props$context$attrs.icon, + primaryColor = _props$context$attrs.primaryColor, + secondaryColor = _props$context$attrs.secondaryColor, + restProps = _objectWithoutProperties(_props$context$attrs, _excluded); + + var colors = twoToneColorPalette; + + if (primaryColor) { + colors = { + primaryColor: primaryColor, + secondaryColor: secondaryColor || (0, _utils.getSecondaryColor)(primaryColor) + }; + } + + (0, _utils.warning)((0, _utils.isIconDefinition)(icon), "icon should be icon definiton, but got ".concat(icon)); + + if (!(0, _utils.isIconDefinition)(icon)) { + return null; + } + + var target = icon; + + if (target && typeof target.icon === 'function') { + target = _objectSpread({}, target, { + icon: target.icon(colors.primaryColor, colors.secondaryColor) + }); + } + + return (0, _utils.generate)(target.icon, "svg-".concat(target.name), _objectSpread({}, restProps, { + 'data-icon': target.name, + width: '1em', + height: '1em', + fill: 'currentColor', + 'aria-hidden': 'true' + })); // }, +}; + +IconBase.props = { + icon: Object, + primaryColor: String, + secondaryColor: String, + focusable: String +}; +IconBase.inheritAttrs = false; +IconBase.displayName = 'IconBase'; +IconBase.getTwoToneColors = getTwoToneColors; +IconBase.setTwoToneColors = setTwoToneColors; +var _default = IconBase; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconFont.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconFont.js new file mode 100644 index 00000000..3c3283bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/IconFont.js @@ -0,0 +1,114 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = create; + +var _vue = require("vue"); + +var _Icon = _interopRequireDefault(require("./Icon")); + +var _excluded = ["type"]; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +var customCache = new Set(); + +function isValidCustomScriptUrl(scriptUrl) { + return typeof scriptUrl === 'string' && scriptUrl.length && !customCache.has(scriptUrl); +} + +function createScriptUrlElements(scriptUrls) { + var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + var currentScriptUrl = scriptUrls[index]; + + if (isValidCustomScriptUrl(currentScriptUrl)) { + var script = document.createElement('script'); + script.setAttribute('src', currentScriptUrl); + script.setAttribute('data-namespace', currentScriptUrl); + + if (scriptUrls.length > index + 1) { + script.onload = function () { + createScriptUrlElements(scriptUrls, index + 1); + }; + + script.onerror = function () { + createScriptUrlElements(scriptUrls, index + 1); + }; + } + + customCache.add(currentScriptUrl); + document.body.appendChild(script); + } +} + +function create() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var scriptUrl = options.scriptUrl, + _options$extraCommonP = options.extraCommonProps, + extraCommonProps = _options$extraCommonP === void 0 ? {} : _options$extraCommonP; + /** + * DOM API required. + * Make sure in browser environment. + * The Custom Icon will create a <script/> + * that loads SVG symbols and insert the SVG Element into the document body. + */ + + if (typeof document !== 'undefined' && typeof window !== 'undefined' && typeof document.createElement === 'function') { + if (Array.isArray(scriptUrl)) { + // 因为iconfont资源会把svg插入before,所以前加载相同type会覆盖后加载,为了数组覆盖顺序,倒叙插入 + createScriptUrlElements(scriptUrl.reverse()); + } else { + createScriptUrlElements([scriptUrl]); + } + } + + var Iconfont = function Iconfont(props, context) { + var attrs = context.attrs, + slots = context.slots; + + var _props$attrs = _objectSpread({}, props, attrs), + type = _props$attrs.type, + restProps = _objectWithoutProperties(_props$attrs, _excluded); + + var children = slots["default"] && slots["default"](); // children > type + + var content = null; + + if (type) { + content = (0, _vue.createVNode)("use", { + "xlink:href": "#".concat(type) + }, null); + } + + if (children && children.length) { + content = children; + } + + var iconProps = _objectSpread({}, extraCommonProps, restProps); + + return (0, _vue.createVNode)(_Icon["default"], iconProps, { + "default": function _default() { + return [content]; + } + }); + }; + + Iconfont.props = { + spin: Boolean, + rotate: Number, + type: String + }; + Iconfont.inheritAttrs = false; + Iconfont.displayName = 'Iconfont'; + return Iconfont; +} \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/InsertStyle.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/InsertStyle.js new file mode 100644 index 00000000..6192ce05 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/InsertStyle.js @@ -0,0 +1,21 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.InsertStyles = void 0; + +var _vue = require("vue"); + +var _utils = require("../utils"); + +var InsertStyles = (0, _vue.defineComponent)({ + name: 'InsertStyles', + setup: function setup() { + (0, _utils.useInsertStyles)(); + return function () { + return null; + }; + } +}); +exports.InsertStyles = InsertStyles; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/components/twoTonePrimaryColor.js b/.output/server/node_modules/@ant-design/icons-vue/lib/components/twoTonePrimaryColor.js new file mode 100644 index 00000000..4323c39c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/components/twoTonePrimaryColor.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.setTwoToneColor = setTwoToneColor; +exports.getTwoToneColor = getTwoToneColor; + +var _IconBase = _interopRequireDefault(require("./IconBase")); + +var _utils = require("../utils"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function setTwoToneColor(twoToneColor) { + var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor), + _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2), + primaryColor = _normalizeTwoToneColo2[0], + secondaryColor = _normalizeTwoToneColo2[1]; + + return _IconBase["default"].setTwoToneColors({ + primaryColor: primaryColor, + secondaryColor: secondaryColor + }); +} + +function getTwoToneColor() { + var colors = _IconBase["default"].getTwoToneColors(); + + if (!colors.calculated) { + return colors.primaryColor; + } + + return [colors.primaryColor, colors.secondaryColor]; +} \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/dynamicCSS.js b/.output/server/node_modules/@ant-design/icons-vue/lib/dynamicCSS.js new file mode 100644 index 00000000..51314335 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/dynamicCSS.js @@ -0,0 +1,176 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.canUseDom = canUseDom; +exports.injectCSS = injectCSS; +exports.removeCSS = removeCSS; +exports.clearContainerCache = clearContainerCache; +exports.updateCSS = updateCSS; + +function canUseDom() { + return !!(typeof window !== 'undefined' && window.document && window.document.createElement); +} + +function contains(root, n) { + if (!root) { + return false; + } // Use native if support + + + if (root.contains) { + return root.contains(n); + } + + return false; +} + +var APPEND_ORDER = 'data-vc-order'; +var MARK_KEY = "vc-icon-key"; +var containerCache = new Map(); + +function getMark() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + mark = _ref.mark; + + if (mark) { + return mark.startsWith('data-') ? mark : "data-".concat(mark); + } + + return MARK_KEY; +} + +function getContainer(option) { + if (option.attachTo) { + return option.attachTo; + } + + var head = document.querySelector('head'); + return head || document.body; +} + +function getOrder(prepend) { + if (prepend === 'queue') { + return 'prependQueue'; + } + + return prepend ? 'prepend' : 'append'; +} +/** + * Find style which inject by rc-util + */ + + +function findStyles(container) { + return Array.from((containerCache.get(container) || container).children).filter(function (node) { + return node.tagName === 'STYLE'; + }); +} + +function injectCSS(css) { + var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!canUseDom()) { + return null; + } + + var csp = option.csp, + prepend = option.prepend; + var styleNode = document.createElement('style'); + styleNode.setAttribute(APPEND_ORDER, getOrder(prepend)); + + if (csp && csp.nonce) { + styleNode.nonce = csp.nonce; + } + + styleNode.innerHTML = css; + var container = getContainer(option); + var firstChild = container.firstChild; + + if (prepend) { + // If is queue `prepend`, it will prepend first style and then append rest style + if (prepend === 'queue') { + var existStyle = findStyles(container).filter(function (node) { + return ['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER)); + }); + + if (existStyle.length) { + container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling); + return styleNode; + } + } // Use `insertBefore` as `prepend` + + + container.insertBefore(styleNode, firstChild); + } else { + container.appendChild(styleNode); + } + + return styleNode; +} + +function findExistNode(key) { + var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var container = getContainer(option); + return findStyles(container).find(function (node) { + return node.getAttribute(getMark(option)) === key; + }); +} + +function removeCSS(key) { + var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var existNode = findExistNode(key, option); + + if (existNode) { + var container = getContainer(option); + container.removeChild(existNode); + } +} +/** + * qiankun will inject `appendChild` to insert into other + */ + + +function syncRealContainer(container, option) { + var cachedRealContainer = containerCache.get(container); // Find real container when not cached or cached container removed + + if (!cachedRealContainer || !contains(document, cachedRealContainer)) { + var placeholderStyle = injectCSS('', option); + var parentNode = placeholderStyle.parentNode; + containerCache.set(container, parentNode); + container.removeChild(placeholderStyle); + } +} +/** + * manually clear container cache to avoid global cache in unit testes + */ + + +function clearContainerCache() { + containerCache.clear(); +} + +function updateCSS(css, key) { + var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var container = getContainer(option); // Sync real parent + + syncRealContainer(container, option); + var existNode = findExistNode(key, option); + + if (existNode) { + if (option.csp && option.csp.nonce && existNode.nonce !== option.csp.nonce) { + existNode.nonce = option.csp.nonce; + } + + if (existNode.innerHTML !== css) { + existNode.innerHTML = css; + } + + return existNode; + } + + var newNode = injectCSS(css, option); + newNode.setAttribute(getMark(option), key); + return newNode; +} \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookFilled.js new file mode 100644 index 00000000..5cb398ff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AccountBookFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AccountBookFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AccountBookFilled = function AccountBookFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AccountBookFilled["default"] + }), null); +}; + +AccountBookFilled.displayName = 'AccountBookFilled'; +AccountBookFilled.inheritAttrs = false; +var _default = AccountBookFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookOutlined.js new file mode 100644 index 00000000..5768165e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AccountBookOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AccountBookOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AccountBookOutlined = function AccountBookOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AccountBookOutlined["default"] + }), null); +}; + +AccountBookOutlined.displayName = 'AccountBookOutlined'; +AccountBookOutlined.inheritAttrs = false; +var _default = AccountBookOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookTwoTone.js new file mode 100644 index 00000000..cb19dc6f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AccountBookTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AccountBookTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AccountBookTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AccountBookTwoTone = function AccountBookTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AccountBookTwoTone["default"] + }), null); +}; + +AccountBookTwoTone.displayName = 'AccountBookTwoTone'; +AccountBookTwoTone.inheritAttrs = false; +var _default = AccountBookTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AimOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AimOutlined.js new file mode 100644 index 00000000..6b3d5549 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AimOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AimOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AimOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AimOutlined = function AimOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AimOutlined["default"] + }), null); +}; + +AimOutlined.displayName = 'AimOutlined'; +AimOutlined.inheritAttrs = false; +var _default = AimOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertFilled.js new file mode 100644 index 00000000..aeca1621 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlertFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlertFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlertFilled = function AlertFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlertFilled["default"] + }), null); +}; + +AlertFilled.displayName = 'AlertFilled'; +AlertFilled.inheritAttrs = false; +var _default = AlertFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertOutlined.js new file mode 100644 index 00000000..1ed0a34a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlertOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlertOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlertOutlined = function AlertOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlertOutlined["default"] + }), null); +}; + +AlertOutlined.displayName = 'AlertOutlined'; +AlertOutlined.inheritAttrs = false; +var _default = AlertOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertTwoTone.js new file mode 100644 index 00000000..67dd3c49 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlertTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlertTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlertTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlertTwoTone = function AlertTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlertTwoTone["default"] + }), null); +}; + +AlertTwoTone.displayName = 'AlertTwoTone'; +AlertTwoTone.inheritAttrs = false; +var _default = AlertTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlibabaOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlibabaOutlined.js new file mode 100644 index 00000000..d5353434 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlibabaOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlibabaOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlibabaOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlibabaOutlined = function AlibabaOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlibabaOutlined["default"] + }), null); +}; + +AlibabaOutlined.displayName = 'AlibabaOutlined'; +AlibabaOutlined.inheritAttrs = false; +var _default = AlibabaOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignCenterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignCenterOutlined.js new file mode 100644 index 00000000..f846a4f0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignCenterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlignCenterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlignCenterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlignCenterOutlined = function AlignCenterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlignCenterOutlined["default"] + }), null); +}; + +AlignCenterOutlined.displayName = 'AlignCenterOutlined'; +AlignCenterOutlined.inheritAttrs = false; +var _default = AlignCenterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignLeftOutlined.js new file mode 100644 index 00000000..85434437 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlignLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlignLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlignLeftOutlined = function AlignLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlignLeftOutlined["default"] + }), null); +}; + +AlignLeftOutlined.displayName = 'AlignLeftOutlined'; +AlignLeftOutlined.inheritAttrs = false; +var _default = AlignLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignRightOutlined.js new file mode 100644 index 00000000..01662d9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlignRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlignRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlignRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlignRightOutlined = function AlignRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlignRightOutlined["default"] + }), null); +}; + +AlignRightOutlined.displayName = 'AlignRightOutlined'; +AlignRightOutlined.inheritAttrs = false; +var _default = AlignRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleFilled.js new file mode 100644 index 00000000..f9ef9e46 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlipayCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlipayCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlipayCircleFilled = function AlipayCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlipayCircleFilled["default"] + }), null); +}; + +AlipayCircleFilled.displayName = 'AlipayCircleFilled'; +AlipayCircleFilled.inheritAttrs = false; +var _default = AlipayCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleOutlined.js new file mode 100644 index 00000000..e2e4e91b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlipayCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlipayCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlipayCircleOutlined = function AlipayCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlipayCircleOutlined["default"] + }), null); +}; + +AlipayCircleOutlined.displayName = 'AlipayCircleOutlined'; +AlipayCircleOutlined.inheritAttrs = false; +var _default = AlipayCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayOutlined.js new file mode 100644 index 00000000..3efd0cd5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipayOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlipayOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlipayOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlipayOutlined = function AlipayOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlipayOutlined["default"] + }), null); +}; + +AlipayOutlined.displayName = 'AlipayOutlined'; +AlipayOutlined.inheritAttrs = false; +var _default = AlipayOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipaySquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipaySquareFilled.js new file mode 100644 index 00000000..6c44fd88 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AlipaySquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AlipaySquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AlipaySquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AlipaySquareFilled = function AlipaySquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AlipaySquareFilled["default"] + }), null); +}; + +AlipaySquareFilled.displayName = 'AlipaySquareFilled'; +AlipaySquareFilled.inheritAttrs = false; +var _default = AlipaySquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangFilled.js new file mode 100644 index 00000000..353ca5a0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AliwangwangFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AliwangwangFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AliwangwangFilled = function AliwangwangFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AliwangwangFilled["default"] + }), null); +}; + +AliwangwangFilled.displayName = 'AliwangwangFilled'; +AliwangwangFilled.inheritAttrs = false; +var _default = AliwangwangFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangOutlined.js new file mode 100644 index 00000000..c195af1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliwangwangOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AliwangwangOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AliwangwangOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AliwangwangOutlined = function AliwangwangOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AliwangwangOutlined["default"] + }), null); +}; + +AliwangwangOutlined.displayName = 'AliwangwangOutlined'; +AliwangwangOutlined.inheritAttrs = false; +var _default = AliwangwangOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliyunOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliyunOutlined.js new file mode 100644 index 00000000..9498cb55 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AliyunOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AliyunOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AliyunOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AliyunOutlined = function AliyunOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AliyunOutlined["default"] + }), null); +}; + +AliyunOutlined.displayName = 'AliyunOutlined'; +AliyunOutlined.inheritAttrs = false; +var _default = AliyunOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonCircleFilled.js new file mode 100644 index 00000000..caa3e547 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AmazonCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AmazonCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AmazonCircleFilled = function AmazonCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AmazonCircleFilled["default"] + }), null); +}; + +AmazonCircleFilled.displayName = 'AmazonCircleFilled'; +AmazonCircleFilled.inheritAttrs = false; +var _default = AmazonCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonOutlined.js new file mode 100644 index 00000000..9a78031d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AmazonOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AmazonOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AmazonOutlined = function AmazonOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AmazonOutlined["default"] + }), null); +}; + +AmazonOutlined.displayName = 'AmazonOutlined'; +AmazonOutlined.inheritAttrs = false; +var _default = AmazonOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonSquareFilled.js new file mode 100644 index 00000000..581f07b7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AmazonSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AmazonSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AmazonSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AmazonSquareFilled = function AmazonSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AmazonSquareFilled["default"] + }), null); +}; + +AmazonSquareFilled.displayName = 'AmazonSquareFilled'; +AmazonSquareFilled.inheritAttrs = false; +var _default = AmazonSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidFilled.js new file mode 100644 index 00000000..eaa421ef --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AndroidFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AndroidFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AndroidFilled = function AndroidFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AndroidFilled["default"] + }), null); +}; + +AndroidFilled.displayName = 'AndroidFilled'; +AndroidFilled.inheritAttrs = false; +var _default = AndroidFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidOutlined.js new file mode 100644 index 00000000..185a89fe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AndroidOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AndroidOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AndroidOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AndroidOutlined = function AndroidOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AndroidOutlined["default"] + }), null); +}; + +AndroidOutlined.displayName = 'AndroidOutlined'; +AndroidOutlined.inheritAttrs = false; +var _default = AndroidOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntCloudOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntCloudOutlined.js new file mode 100644 index 00000000..8c6b49bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntCloudOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AntCloudOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AntCloudOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AntCloudOutlined = function AntCloudOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AntCloudOutlined["default"] + }), null); +}; + +AntCloudOutlined.displayName = 'AntCloudOutlined'; +AntCloudOutlined.inheritAttrs = false; +var _default = AntCloudOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntDesignOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntDesignOutlined.js new file mode 100644 index 00000000..d7fb6162 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AntDesignOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AntDesignOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AntDesignOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AntDesignOutlined = function AntDesignOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AntDesignOutlined["default"] + }), null); +}; + +AntDesignOutlined.displayName = 'AntDesignOutlined'; +AntDesignOutlined.inheritAttrs = false; +var _default = AntDesignOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApartmentOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApartmentOutlined.js new file mode 100644 index 00000000..022a278a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApartmentOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ApartmentOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ApartmentOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ApartmentOutlined = function ApartmentOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ApartmentOutlined["default"] + }), null); +}; + +ApartmentOutlined.displayName = 'ApartmentOutlined'; +ApartmentOutlined.inheritAttrs = false; +var _default = ApartmentOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiFilled.js new file mode 100644 index 00000000..006ef429 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ApiFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ApiFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ApiFilled = function ApiFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ApiFilled["default"] + }), null); +}; + +ApiFilled.displayName = 'ApiFilled'; +ApiFilled.inheritAttrs = false; +var _default = ApiFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiOutlined.js new file mode 100644 index 00000000..5fcb8722 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ApiOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ApiOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ApiOutlined = function ApiOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ApiOutlined["default"] + }), null); +}; + +ApiOutlined.displayName = 'ApiOutlined'; +ApiOutlined.inheritAttrs = false; +var _default = ApiOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiTwoTone.js new file mode 100644 index 00000000..24764940 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ApiTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ApiTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ApiTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ApiTwoTone = function ApiTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ApiTwoTone["default"] + }), null); +}; + +ApiTwoTone.displayName = 'ApiTwoTone'; +ApiTwoTone.inheritAttrs = false; +var _default = ApiTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleFilled.js new file mode 100644 index 00000000..865512fb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppleFilled = function AppleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppleFilled["default"] + }), null); +}; + +AppleFilled.displayName = 'AppleFilled'; +AppleFilled.inheritAttrs = false; +var _default = AppleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleOutlined.js new file mode 100644 index 00000000..c4c256d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppleOutlined = function AppleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppleOutlined["default"] + }), null); +}; + +AppleOutlined.displayName = 'AppleOutlined'; +AppleOutlined.inheritAttrs = false; +var _default = AppleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreAddOutlined.js new file mode 100644 index 00000000..1a1da76b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppstoreAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppstoreAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppstoreAddOutlined = function AppstoreAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppstoreAddOutlined["default"] + }), null); +}; + +AppstoreAddOutlined.displayName = 'AppstoreAddOutlined'; +AppstoreAddOutlined.inheritAttrs = false; +var _default = AppstoreAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreFilled.js new file mode 100644 index 00000000..acc2230a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppstoreFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppstoreFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppstoreFilled = function AppstoreFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppstoreFilled["default"] + }), null); +}; + +AppstoreFilled.displayName = 'AppstoreFilled'; +AppstoreFilled.inheritAttrs = false; +var _default = AppstoreFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreOutlined.js new file mode 100644 index 00000000..4e4b2691 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppstoreOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppstoreOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppstoreOutlined = function AppstoreOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppstoreOutlined["default"] + }), null); +}; + +AppstoreOutlined.displayName = 'AppstoreOutlined'; +AppstoreOutlined.inheritAttrs = false; +var _default = AppstoreOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreTwoTone.js new file mode 100644 index 00000000..84006ad5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AppstoreTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AppstoreTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AppstoreTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AppstoreTwoTone = function AppstoreTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AppstoreTwoTone["default"] + }), null); +}; + +AppstoreTwoTone.displayName = 'AppstoreTwoTone'; +AppstoreTwoTone.inheritAttrs = false; +var _default = AppstoreTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AreaChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AreaChartOutlined.js new file mode 100644 index 00000000..0b343e4a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AreaChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AreaChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AreaChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AreaChartOutlined = function AreaChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AreaChartOutlined["default"] + }), null); +}; + +AreaChartOutlined.displayName = 'AreaChartOutlined'; +AreaChartOutlined.inheritAttrs = false; +var _default = AreaChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowDownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowDownOutlined.js new file mode 100644 index 00000000..9b99b00d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowDownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ArrowDownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ArrowDownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ArrowDownOutlined = function ArrowDownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ArrowDownOutlined["default"] + }), null); +}; + +ArrowDownOutlined.displayName = 'ArrowDownOutlined'; +ArrowDownOutlined.inheritAttrs = false; +var _default = ArrowDownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowLeftOutlined.js new file mode 100644 index 00000000..d5c767fa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ArrowLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ArrowLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ArrowLeftOutlined = function ArrowLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ArrowLeftOutlined["default"] + }), null); +}; + +ArrowLeftOutlined.displayName = 'ArrowLeftOutlined'; +ArrowLeftOutlined.inheritAttrs = false; +var _default = ArrowLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowRightOutlined.js new file mode 100644 index 00000000..9083499f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ArrowRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ArrowRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ArrowRightOutlined = function ArrowRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ArrowRightOutlined["default"] + }), null); +}; + +ArrowRightOutlined.displayName = 'ArrowRightOutlined'; +ArrowRightOutlined.inheritAttrs = false; +var _default = ArrowRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowUpOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowUpOutlined.js new file mode 100644 index 00000000..dcc53256 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowUpOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ArrowUpOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ArrowUpOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ArrowUpOutlined = function ArrowUpOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ArrowUpOutlined["default"] + }), null); +}; + +ArrowUpOutlined.displayName = 'ArrowUpOutlined'; +ArrowUpOutlined.inheritAttrs = false; +var _default = ArrowUpOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowsAltOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowsAltOutlined.js new file mode 100644 index 00000000..1bad0ee6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ArrowsAltOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ArrowsAltOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ArrowsAltOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ArrowsAltOutlined = function ArrowsAltOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ArrowsAltOutlined["default"] + }), null); +}; + +ArrowsAltOutlined.displayName = 'ArrowsAltOutlined'; +ArrowsAltOutlined.inheritAttrs = false; +var _default = ArrowsAltOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioFilled.js new file mode 100644 index 00000000..3ee5f7ac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AudioFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AudioFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AudioFilled = function AudioFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AudioFilled["default"] + }), null); +}; + +AudioFilled.displayName = 'AudioFilled'; +AudioFilled.inheritAttrs = false; +var _default = AudioFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioMutedOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioMutedOutlined.js new file mode 100644 index 00000000..30d557e4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioMutedOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AudioMutedOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AudioMutedOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AudioMutedOutlined = function AudioMutedOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AudioMutedOutlined["default"] + }), null); +}; + +AudioMutedOutlined.displayName = 'AudioMutedOutlined'; +AudioMutedOutlined.inheritAttrs = false; +var _default = AudioMutedOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioOutlined.js new file mode 100644 index 00000000..dd663047 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AudioOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AudioOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AudioOutlined = function AudioOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AudioOutlined["default"] + }), null); +}; + +AudioOutlined.displayName = 'AudioOutlined'; +AudioOutlined.inheritAttrs = false; +var _default = AudioOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioTwoTone.js new file mode 100644 index 00000000..ae9d21b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AudioTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AudioTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AudioTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AudioTwoTone = function AudioTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AudioTwoTone["default"] + }), null); +}; + +AudioTwoTone.displayName = 'AudioTwoTone'; +AudioTwoTone.inheritAttrs = false; +var _default = AudioTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AuditOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AuditOutlined.js new file mode 100644 index 00000000..29cfa08e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/AuditOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _AuditOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/AuditOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var AuditOutlined = function AuditOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _AuditOutlined["default"] + }), null); +}; + +AuditOutlined.displayName = 'AuditOutlined'; +AuditOutlined.inheritAttrs = false; +var _default = AuditOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardFilled.js new file mode 100644 index 00000000..1c79debf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BackwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BackwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BackwardFilled = function BackwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BackwardFilled["default"] + }), null); +}; + +BackwardFilled.displayName = 'BackwardFilled'; +BackwardFilled.inheritAttrs = false; +var _default = BackwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardOutlined.js new file mode 100644 index 00000000..42411c59 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BackwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BackwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BackwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BackwardOutlined = function BackwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BackwardOutlined["default"] + }), null); +}; + +BackwardOutlined.displayName = 'BackwardOutlined'; +BackwardOutlined.inheritAttrs = false; +var _default = BackwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankFilled.js new file mode 100644 index 00000000..f0e3ba7a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BankFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BankFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BankFilled = function BankFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BankFilled["default"] + }), null); +}; + +BankFilled.displayName = 'BankFilled'; +BankFilled.inheritAttrs = false; +var _default = BankFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankOutlined.js new file mode 100644 index 00000000..95b980eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BankOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BankOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BankOutlined = function BankOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BankOutlined["default"] + }), null); +}; + +BankOutlined.displayName = 'BankOutlined'; +BankOutlined.inheritAttrs = false; +var _default = BankOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankTwoTone.js new file mode 100644 index 00000000..d7f4ca3b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BankTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BankTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BankTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BankTwoTone = function BankTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BankTwoTone["default"] + }), null); +}; + +BankTwoTone.displayName = 'BankTwoTone'; +BankTwoTone.inheritAttrs = false; +var _default = BankTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarChartOutlined.js new file mode 100644 index 00000000..2fa00e64 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BarChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BarChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BarChartOutlined = function BarChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BarChartOutlined["default"] + }), null); +}; + +BarChartOutlined.displayName = 'BarChartOutlined'; +BarChartOutlined.inheritAttrs = false; +var _default = BarChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarcodeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarcodeOutlined.js new file mode 100644 index 00000000..6059a695 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarcodeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BarcodeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BarcodeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BarcodeOutlined = function BarcodeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BarcodeOutlined["default"] + }), null); +}; + +BarcodeOutlined.displayName = 'BarcodeOutlined'; +BarcodeOutlined.inheritAttrs = false; +var _default = BarcodeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarsOutlined.js new file mode 100644 index 00000000..fb2804cb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BarsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BarsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BarsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BarsOutlined = function BarsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BarsOutlined["default"] + }), null); +}; + +BarsOutlined.displayName = 'BarsOutlined'; +BarsOutlined.inheritAttrs = false; +var _default = BarsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceCircleFilled.js new file mode 100644 index 00000000..4901a1a1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BehanceCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BehanceCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BehanceCircleFilled = function BehanceCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BehanceCircleFilled["default"] + }), null); +}; + +BehanceCircleFilled.displayName = 'BehanceCircleFilled'; +BehanceCircleFilled.inheritAttrs = false; +var _default = BehanceCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceOutlined.js new file mode 100644 index 00000000..77a387d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BehanceOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BehanceOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BehanceOutlined = function BehanceOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BehanceOutlined["default"] + }), null); +}; + +BehanceOutlined.displayName = 'BehanceOutlined'; +BehanceOutlined.inheritAttrs = false; +var _default = BehanceOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareFilled.js new file mode 100644 index 00000000..1cbbc24e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BehanceSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BehanceSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BehanceSquareFilled = function BehanceSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BehanceSquareFilled["default"] + }), null); +}; + +BehanceSquareFilled.displayName = 'BehanceSquareFilled'; +BehanceSquareFilled.inheritAttrs = false; +var _default = BehanceSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareOutlined.js new file mode 100644 index 00000000..e898fe18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BehanceSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BehanceSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BehanceSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BehanceSquareOutlined = function BehanceSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BehanceSquareOutlined["default"] + }), null); +}; + +BehanceSquareOutlined.displayName = 'BehanceSquareOutlined'; +BehanceSquareOutlined.inheritAttrs = false; +var _default = BehanceSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellFilled.js new file mode 100644 index 00000000..2ab480ba --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BellFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BellFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BellFilled = function BellFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BellFilled["default"] + }), null); +}; + +BellFilled.displayName = 'BellFilled'; +BellFilled.inheritAttrs = false; +var _default = BellFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellOutlined.js new file mode 100644 index 00000000..62da4b38 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BellOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BellOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BellOutlined = function BellOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BellOutlined["default"] + }), null); +}; + +BellOutlined.displayName = 'BellOutlined'; +BellOutlined.inheritAttrs = false; +var _default = BellOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellTwoTone.js new file mode 100644 index 00000000..4df2dc37 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BellTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BellTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BellTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BellTwoTone = function BellTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BellTwoTone["default"] + }), null); +}; + +BellTwoTone.displayName = 'BellTwoTone'; +BellTwoTone.inheritAttrs = false; +var _default = BellTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BgColorsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BgColorsOutlined.js new file mode 100644 index 00000000..4c2bab56 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BgColorsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BgColorsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BgColorsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BgColorsOutlined = function BgColorsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BgColorsOutlined["default"] + }), null); +}; + +BgColorsOutlined.displayName = 'BgColorsOutlined'; +BgColorsOutlined.inheritAttrs = false; +var _default = BgColorsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BlockOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BlockOutlined.js new file mode 100644 index 00000000..dfbb3562 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BlockOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BlockOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BlockOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BlockOutlined = function BlockOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BlockOutlined["default"] + }), null); +}; + +BlockOutlined.displayName = 'BlockOutlined'; +BlockOutlined.inheritAttrs = false; +var _default = BlockOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoldOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoldOutlined.js new file mode 100644 index 00000000..3141e419 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoldOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BoldOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BoldOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BoldOutlined = function BoldOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BoldOutlined["default"] + }), null); +}; + +BoldOutlined.displayName = 'BoldOutlined'; +BoldOutlined.inheritAttrs = false; +var _default = BoldOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookFilled.js new file mode 100644 index 00000000..a53e26ac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BookFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BookFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BookFilled = function BookFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BookFilled["default"] + }), null); +}; + +BookFilled.displayName = 'BookFilled'; +BookFilled.inheritAttrs = false; +var _default = BookFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookOutlined.js new file mode 100644 index 00000000..8cfbfb89 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BookOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BookOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BookOutlined = function BookOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BookOutlined["default"] + }), null); +}; + +BookOutlined.displayName = 'BookOutlined'; +BookOutlined.inheritAttrs = false; +var _default = BookOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookTwoTone.js new file mode 100644 index 00000000..e6ee365c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BookTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BookTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BookTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BookTwoTone = function BookTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BookTwoTone["default"] + }), null); +}; + +BookTwoTone.displayName = 'BookTwoTone'; +BookTwoTone.inheritAttrs = false; +var _default = BookTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderBottomOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderBottomOutlined.js new file mode 100644 index 00000000..d4a3c425 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderBottomOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderBottomOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderBottomOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderBottomOutlined = function BorderBottomOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderBottomOutlined["default"] + }), null); +}; + +BorderBottomOutlined.displayName = 'BorderBottomOutlined'; +BorderBottomOutlined.inheritAttrs = false; +var _default = BorderBottomOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderHorizontalOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderHorizontalOutlined.js new file mode 100644 index 00000000..cb5cd0ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderHorizontalOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderHorizontalOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderHorizontalOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderHorizontalOutlined = function BorderHorizontalOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderHorizontalOutlined["default"] + }), null); +}; + +BorderHorizontalOutlined.displayName = 'BorderHorizontalOutlined'; +BorderHorizontalOutlined.inheritAttrs = false; +var _default = BorderHorizontalOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderInnerOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderInnerOutlined.js new file mode 100644 index 00000000..4ea854de --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderInnerOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderInnerOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderInnerOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderInnerOutlined = function BorderInnerOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderInnerOutlined["default"] + }), null); +}; + +BorderInnerOutlined.displayName = 'BorderInnerOutlined'; +BorderInnerOutlined.inheritAttrs = false; +var _default = BorderInnerOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderLeftOutlined.js new file mode 100644 index 00000000..ce7afb0a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderLeftOutlined = function BorderLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderLeftOutlined["default"] + }), null); +}; + +BorderLeftOutlined.displayName = 'BorderLeftOutlined'; +BorderLeftOutlined.inheritAttrs = false; +var _default = BorderLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOuterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOuterOutlined.js new file mode 100644 index 00000000..c59d89f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOuterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderOuterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderOuterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderOuterOutlined = function BorderOuterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderOuterOutlined["default"] + }), null); +}; + +BorderOuterOutlined.displayName = 'BorderOuterOutlined'; +BorderOuterOutlined.inheritAttrs = false; +var _default = BorderOuterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOutlined.js new file mode 100644 index 00000000..77f87ad8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderOutlined = function BorderOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderOutlined["default"] + }), null); +}; + +BorderOutlined.displayName = 'BorderOutlined'; +BorderOutlined.inheritAttrs = false; +var _default = BorderOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderRightOutlined.js new file mode 100644 index 00000000..f0df7052 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderRightOutlined = function BorderRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderRightOutlined["default"] + }), null); +}; + +BorderRightOutlined.displayName = 'BorderRightOutlined'; +BorderRightOutlined.inheritAttrs = false; +var _default = BorderRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderTopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderTopOutlined.js new file mode 100644 index 00000000..a7d641ea --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderTopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderTopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderTopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderTopOutlined = function BorderTopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderTopOutlined["default"] + }), null); +}; + +BorderTopOutlined.displayName = 'BorderTopOutlined'; +BorderTopOutlined.inheritAttrs = false; +var _default = BorderTopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderVerticleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderVerticleOutlined.js new file mode 100644 index 00000000..afa1c9eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderVerticleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderVerticleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderVerticleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderVerticleOutlined = function BorderVerticleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderVerticleOutlined["default"] + }), null); +}; + +BorderVerticleOutlined.displayName = 'BorderVerticleOutlined'; +BorderVerticleOutlined.inheritAttrs = false; +var _default = BorderVerticleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderlessTableOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderlessTableOutlined.js new file mode 100644 index 00000000..848a2374 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BorderlessTableOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BorderlessTableOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BorderlessTableOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BorderlessTableOutlined = function BorderlessTableOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BorderlessTableOutlined["default"] + }), null); +}; + +BorderlessTableOutlined.displayName = 'BorderlessTableOutlined'; +BorderlessTableOutlined.inheritAttrs = false; +var _default = BorderlessTableOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotFilled.js new file mode 100644 index 00000000..ecd565a8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BoxPlotFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BoxPlotFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BoxPlotFilled = function BoxPlotFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BoxPlotFilled["default"] + }), null); +}; + +BoxPlotFilled.displayName = 'BoxPlotFilled'; +BoxPlotFilled.inheritAttrs = false; +var _default = BoxPlotFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotOutlined.js new file mode 100644 index 00000000..f588b1ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BoxPlotOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BoxPlotOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BoxPlotOutlined = function BoxPlotOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BoxPlotOutlined["default"] + }), null); +}; + +BoxPlotOutlined.displayName = 'BoxPlotOutlined'; +BoxPlotOutlined.inheritAttrs = false; +var _default = BoxPlotOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotTwoTone.js new file mode 100644 index 00000000..2aed1a86 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BoxPlotTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BoxPlotTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BoxPlotTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BoxPlotTwoTone = function BoxPlotTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BoxPlotTwoTone["default"] + }), null); +}; + +BoxPlotTwoTone.displayName = 'BoxPlotTwoTone'; +BoxPlotTwoTone.inheritAttrs = false; +var _default = BoxPlotTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BranchesOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BranchesOutlined.js new file mode 100644 index 00000000..659e8045 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BranchesOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BranchesOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BranchesOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BranchesOutlined = function BranchesOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BranchesOutlined["default"] + }), null); +}; + +BranchesOutlined.displayName = 'BranchesOutlined'; +BranchesOutlined.inheritAttrs = false; +var _default = BranchesOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugFilled.js new file mode 100644 index 00000000..db162d43 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BugFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BugFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BugFilled = function BugFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BugFilled["default"] + }), null); +}; + +BugFilled.displayName = 'BugFilled'; +BugFilled.inheritAttrs = false; +var _default = BugFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugOutlined.js new file mode 100644 index 00000000..1e2ff0e8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BugOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BugOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BugOutlined = function BugOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BugOutlined["default"] + }), null); +}; + +BugOutlined.displayName = 'BugOutlined'; +BugOutlined.inheritAttrs = false; +var _default = BugOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugTwoTone.js new file mode 100644 index 00000000..ed2b5ef8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BugTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BugTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BugTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BugTwoTone = function BugTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BugTwoTone["default"] + }), null); +}; + +BugTwoTone.displayName = 'BugTwoTone'; +BugTwoTone.inheritAttrs = false; +var _default = BugTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildFilled.js new file mode 100644 index 00000000..59d5abf3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BuildFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BuildFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BuildFilled = function BuildFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BuildFilled["default"] + }), null); +}; + +BuildFilled.displayName = 'BuildFilled'; +BuildFilled.inheritAttrs = false; +var _default = BuildFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildOutlined.js new file mode 100644 index 00000000..50815e10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BuildOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BuildOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BuildOutlined = function BuildOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BuildOutlined["default"] + }), null); +}; + +BuildOutlined.displayName = 'BuildOutlined'; +BuildOutlined.inheritAttrs = false; +var _default = BuildOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildTwoTone.js new file mode 100644 index 00000000..5b8bcc74 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BuildTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BuildTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BuildTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BuildTwoTone = function BuildTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BuildTwoTone["default"] + }), null); +}; + +BuildTwoTone.displayName = 'BuildTwoTone'; +BuildTwoTone.inheritAttrs = false; +var _default = BuildTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbFilled.js new file mode 100644 index 00000000..223278e7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BulbFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BulbFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BulbFilled = function BulbFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BulbFilled["default"] + }), null); +}; + +BulbFilled.displayName = 'BulbFilled'; +BulbFilled.inheritAttrs = false; +var _default = BulbFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbOutlined.js new file mode 100644 index 00000000..38c2f809 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BulbOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BulbOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BulbOutlined = function BulbOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BulbOutlined["default"] + }), null); +}; + +BulbOutlined.displayName = 'BulbOutlined'; +BulbOutlined.inheritAttrs = false; +var _default = BulbOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbTwoTone.js new file mode 100644 index 00000000..dc264b2d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/BulbTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _BulbTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/BulbTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var BulbTwoTone = function BulbTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _BulbTwoTone["default"] + }), null); +}; + +BulbTwoTone.displayName = 'BulbTwoTone'; +BulbTwoTone.inheritAttrs = false; +var _default = BulbTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorFilled.js new file mode 100644 index 00000000..62066c77 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalculatorFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalculatorFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalculatorFilled = function CalculatorFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalculatorFilled["default"] + }), null); +}; + +CalculatorFilled.displayName = 'CalculatorFilled'; +CalculatorFilled.inheritAttrs = false; +var _default = CalculatorFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorOutlined.js new file mode 100644 index 00000000..9118644d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalculatorOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalculatorOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalculatorOutlined = function CalculatorOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalculatorOutlined["default"] + }), null); +}; + +CalculatorOutlined.displayName = 'CalculatorOutlined'; +CalculatorOutlined.inheritAttrs = false; +var _default = CalculatorOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorTwoTone.js new file mode 100644 index 00000000..52119db4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalculatorTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalculatorTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalculatorTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalculatorTwoTone = function CalculatorTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalculatorTwoTone["default"] + }), null); +}; + +CalculatorTwoTone.displayName = 'CalculatorTwoTone'; +CalculatorTwoTone.inheritAttrs = false; +var _default = CalculatorTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarFilled.js new file mode 100644 index 00000000..da2e885a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalendarFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalendarFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalendarFilled = function CalendarFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalendarFilled["default"] + }), null); +}; + +CalendarFilled.displayName = 'CalendarFilled'; +CalendarFilled.inheritAttrs = false; +var _default = CalendarFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarOutlined.js new file mode 100644 index 00000000..be911538 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalendarOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalendarOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalendarOutlined = function CalendarOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalendarOutlined["default"] + }), null); +}; + +CalendarOutlined.displayName = 'CalendarOutlined'; +CalendarOutlined.inheritAttrs = false; +var _default = CalendarOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarTwoTone.js new file mode 100644 index 00000000..99c5b2ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CalendarTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CalendarTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CalendarTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CalendarTwoTone = function CalendarTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CalendarTwoTone["default"] + }), null); +}; + +CalendarTwoTone.displayName = 'CalendarTwoTone'; +CalendarTwoTone.inheritAttrs = false; +var _default = CalendarTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraFilled.js new file mode 100644 index 00000000..1fed9060 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CameraFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CameraFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CameraFilled = function CameraFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CameraFilled["default"] + }), null); +}; + +CameraFilled.displayName = 'CameraFilled'; +CameraFilled.inheritAttrs = false; +var _default = CameraFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraOutlined.js new file mode 100644 index 00000000..a8a36108 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CameraOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CameraOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CameraOutlined = function CameraOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CameraOutlined["default"] + }), null); +}; + +CameraOutlined.displayName = 'CameraOutlined'; +CameraOutlined.inheritAttrs = false; +var _default = CameraOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraTwoTone.js new file mode 100644 index 00000000..1764a435 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CameraTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CameraTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CameraTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CameraTwoTone = function CameraTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CameraTwoTone["default"] + }), null); +}; + +CameraTwoTone.displayName = 'CameraTwoTone'; +CameraTwoTone.inheritAttrs = false; +var _default = CameraTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarFilled.js new file mode 100644 index 00000000..4aede3c1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarFilled = function CarFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarFilled["default"] + }), null); +}; + +CarFilled.displayName = 'CarFilled'; +CarFilled.inheritAttrs = false; +var _default = CarFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarOutlined.js new file mode 100644 index 00000000..df91dbe9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarOutlined = function CarOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarOutlined["default"] + }), null); +}; + +CarOutlined.displayName = 'CarOutlined'; +CarOutlined.inheritAttrs = false; +var _default = CarOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarTwoTone.js new file mode 100644 index 00000000..8b3521f6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarTwoTone = function CarTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarTwoTone["default"] + }), null); +}; + +CarTwoTone.displayName = 'CarTwoTone'; +CarTwoTone.inheritAttrs = false; +var _default = CarTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownFilled.js new file mode 100644 index 00000000..57a33797 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretDownFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretDownFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretDownFilled = function CaretDownFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretDownFilled["default"] + }), null); +}; + +CaretDownFilled.displayName = 'CaretDownFilled'; +CaretDownFilled.inheritAttrs = false; +var _default = CaretDownFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownOutlined.js new file mode 100644 index 00000000..d2cf0cd5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretDownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretDownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretDownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretDownOutlined = function CaretDownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretDownOutlined["default"] + }), null); +}; + +CaretDownOutlined.displayName = 'CaretDownOutlined'; +CaretDownOutlined.inheritAttrs = false; +var _default = CaretDownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftFilled.js new file mode 100644 index 00000000..e091fa59 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretLeftFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretLeftFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretLeftFilled = function CaretLeftFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretLeftFilled["default"] + }), null); +}; + +CaretLeftFilled.displayName = 'CaretLeftFilled'; +CaretLeftFilled.inheritAttrs = false; +var _default = CaretLeftFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftOutlined.js new file mode 100644 index 00000000..2b8fd53c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretLeftOutlined = function CaretLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretLeftOutlined["default"] + }), null); +}; + +CaretLeftOutlined.displayName = 'CaretLeftOutlined'; +CaretLeftOutlined.inheritAttrs = false; +var _default = CaretLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightFilled.js new file mode 100644 index 00000000..5a441bbb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretRightFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretRightFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretRightFilled = function CaretRightFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretRightFilled["default"] + }), null); +}; + +CaretRightFilled.displayName = 'CaretRightFilled'; +CaretRightFilled.inheritAttrs = false; +var _default = CaretRightFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightOutlined.js new file mode 100644 index 00000000..653ad4f3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretRightOutlined = function CaretRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretRightOutlined["default"] + }), null); +}; + +CaretRightOutlined.displayName = 'CaretRightOutlined'; +CaretRightOutlined.inheritAttrs = false; +var _default = CaretRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpFilled.js new file mode 100644 index 00000000..29b5a855 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretUpFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretUpFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretUpFilled = function CaretUpFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretUpFilled["default"] + }), null); +}; + +CaretUpFilled.displayName = 'CaretUpFilled'; +CaretUpFilled.inheritAttrs = false; +var _default = CaretUpFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpOutlined.js new file mode 100644 index 00000000..4911ebf8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CaretUpOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CaretUpOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CaretUpOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CaretUpOutlined = function CaretUpOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CaretUpOutlined["default"] + }), null); +}; + +CaretUpOutlined.displayName = 'CaretUpOutlined'; +CaretUpOutlined.inheritAttrs = false; +var _default = CaretUpOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutFilled.js new file mode 100644 index 00000000..429a85e1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarryOutFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarryOutFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarryOutFilled = function CarryOutFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarryOutFilled["default"] + }), null); +}; + +CarryOutFilled.displayName = 'CarryOutFilled'; +CarryOutFilled.inheritAttrs = false; +var _default = CarryOutFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutOutlined.js new file mode 100644 index 00000000..f4b21715 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarryOutOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarryOutOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarryOutOutlined = function CarryOutOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarryOutOutlined["default"] + }), null); +}; + +CarryOutOutlined.displayName = 'CarryOutOutlined'; +CarryOutOutlined.inheritAttrs = false; +var _default = CarryOutOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutTwoTone.js new file mode 100644 index 00000000..eb2af5a2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CarryOutTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CarryOutTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CarryOutTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CarryOutTwoTone = function CarryOutTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CarryOutTwoTone["default"] + }), null); +}; + +CarryOutTwoTone.displayName = 'CarryOutTwoTone'; +CarryOutTwoTone.inheritAttrs = false; +var _default = CarryOutTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleFilled.js new file mode 100644 index 00000000..81fb9747 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckCircleFilled = function CheckCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckCircleFilled["default"] + }), null); +}; + +CheckCircleFilled.displayName = 'CheckCircleFilled'; +CheckCircleFilled.inheritAttrs = false; +var _default = CheckCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleOutlined.js new file mode 100644 index 00000000..53526813 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckCircleOutlined = function CheckCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckCircleOutlined["default"] + }), null); +}; + +CheckCircleOutlined.displayName = 'CheckCircleOutlined'; +CheckCircleOutlined.inheritAttrs = false; +var _default = CheckCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleTwoTone.js new file mode 100644 index 00000000..1405d719 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckCircleTwoTone = function CheckCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckCircleTwoTone["default"] + }), null); +}; + +CheckCircleTwoTone.displayName = 'CheckCircleTwoTone'; +CheckCircleTwoTone.inheritAttrs = false; +var _default = CheckCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckOutlined.js new file mode 100644 index 00000000..057ba72a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckOutlined = function CheckOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckOutlined["default"] + }), null); +}; + +CheckOutlined.displayName = 'CheckOutlined'; +CheckOutlined.inheritAttrs = false; +var _default = CheckOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareFilled.js new file mode 100644 index 00000000..b54240a8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckSquareFilled = function CheckSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckSquareFilled["default"] + }), null); +}; + +CheckSquareFilled.displayName = 'CheckSquareFilled'; +CheckSquareFilled.inheritAttrs = false; +var _default = CheckSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareOutlined.js new file mode 100644 index 00000000..7980ef0d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckSquareOutlined = function CheckSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckSquareOutlined["default"] + }), null); +}; + +CheckSquareOutlined.displayName = 'CheckSquareOutlined'; +CheckSquareOutlined.inheritAttrs = false; +var _default = CheckSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareTwoTone.js new file mode 100644 index 00000000..52d14f92 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CheckSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CheckSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CheckSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CheckSquareTwoTone = function CheckSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CheckSquareTwoTone["default"] + }), null); +}; + +CheckSquareTwoTone.displayName = 'CheckSquareTwoTone'; +CheckSquareTwoTone.inheritAttrs = false; +var _default = CheckSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeFilled.js new file mode 100644 index 00000000..58dbacc5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ChromeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ChromeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ChromeFilled = function ChromeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ChromeFilled["default"] + }), null); +}; + +ChromeFilled.displayName = 'ChromeFilled'; +ChromeFilled.inheritAttrs = false; +var _default = ChromeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeOutlined.js new file mode 100644 index 00000000..3685ee31 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ChromeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ChromeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ChromeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ChromeOutlined = function ChromeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ChromeOutlined["default"] + }), null); +}; + +ChromeOutlined.displayName = 'ChromeOutlined'; +ChromeOutlined.inheritAttrs = false; +var _default = ChromeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleFilled.js new file mode 100644 index 00000000..fcaa91ed --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CiCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CiCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CiCircleFilled = function CiCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CiCircleFilled["default"] + }), null); +}; + +CiCircleFilled.displayName = 'CiCircleFilled'; +CiCircleFilled.inheritAttrs = false; +var _default = CiCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleOutlined.js new file mode 100644 index 00000000..598a987f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CiCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CiCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CiCircleOutlined = function CiCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CiCircleOutlined["default"] + }), null); +}; + +CiCircleOutlined.displayName = 'CiCircleOutlined'; +CiCircleOutlined.inheritAttrs = false; +var _default = CiCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleTwoTone.js new file mode 100644 index 00000000..a497932a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CiCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CiCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CiCircleTwoTone = function CiCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CiCircleTwoTone["default"] + }), null); +}; + +CiCircleTwoTone.displayName = 'CiCircleTwoTone'; +CiCircleTwoTone.inheritAttrs = false; +var _default = CiCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiOutlined.js new file mode 100644 index 00000000..40effaf3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CiOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CiOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CiOutlined = function CiOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CiOutlined["default"] + }), null); +}; + +CiOutlined.displayName = 'CiOutlined'; +CiOutlined.inheritAttrs = false; +var _default = CiOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiTwoTone.js new file mode 100644 index 00000000..18df18fb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CiTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CiTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CiTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CiTwoTone = function CiTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CiTwoTone["default"] + }), null); +}; + +CiTwoTone.displayName = 'CiTwoTone'; +CiTwoTone.inheritAttrs = false; +var _default = CiTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClearOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClearOutlined.js new file mode 100644 index 00000000..58bebcac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClearOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ClearOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ClearOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ClearOutlined = function ClearOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ClearOutlined["default"] + }), null); +}; + +ClearOutlined.displayName = 'ClearOutlined'; +ClearOutlined.inheritAttrs = false; +var _default = ClearOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleFilled.js new file mode 100644 index 00000000..0c991689 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ClockCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ClockCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ClockCircleFilled = function ClockCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ClockCircleFilled["default"] + }), null); +}; + +ClockCircleFilled.displayName = 'ClockCircleFilled'; +ClockCircleFilled.inheritAttrs = false; +var _default = ClockCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleOutlined.js new file mode 100644 index 00000000..b9b25ebc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ClockCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ClockCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ClockCircleOutlined = function ClockCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ClockCircleOutlined["default"] + }), null); +}; + +ClockCircleOutlined.displayName = 'ClockCircleOutlined'; +ClockCircleOutlined.inheritAttrs = false; +var _default = ClockCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleTwoTone.js new file mode 100644 index 00000000..ff0e7671 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClockCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ClockCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ClockCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ClockCircleTwoTone = function ClockCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ClockCircleTwoTone["default"] + }), null); +}; + +ClockCircleTwoTone.displayName = 'ClockCircleTwoTone'; +ClockCircleTwoTone.inheritAttrs = false; +var _default = ClockCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleFilled.js new file mode 100644 index 00000000..f5077852 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseCircleFilled = function CloseCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseCircleFilled["default"] + }), null); +}; + +CloseCircleFilled.displayName = 'CloseCircleFilled'; +CloseCircleFilled.inheritAttrs = false; +var _default = CloseCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleOutlined.js new file mode 100644 index 00000000..f74521ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseCircleOutlined = function CloseCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseCircleOutlined["default"] + }), null); +}; + +CloseCircleOutlined.displayName = 'CloseCircleOutlined'; +CloseCircleOutlined.inheritAttrs = false; +var _default = CloseCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleTwoTone.js new file mode 100644 index 00000000..44fe11dd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseCircleTwoTone = function CloseCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseCircleTwoTone["default"] + }), null); +}; + +CloseCircleTwoTone.displayName = 'CloseCircleTwoTone'; +CloseCircleTwoTone.inheritAttrs = false; +var _default = CloseCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseOutlined.js new file mode 100644 index 00000000..25793ac1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseOutlined = function CloseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseOutlined["default"] + }), null); +}; + +CloseOutlined.displayName = 'CloseOutlined'; +CloseOutlined.inheritAttrs = false; +var _default = CloseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareFilled.js new file mode 100644 index 00000000..78807f83 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseSquareFilled = function CloseSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseSquareFilled["default"] + }), null); +}; + +CloseSquareFilled.displayName = 'CloseSquareFilled'; +CloseSquareFilled.inheritAttrs = false; +var _default = CloseSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareOutlined.js new file mode 100644 index 00000000..afb08f1d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseSquareOutlined = function CloseSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseSquareOutlined["default"] + }), null); +}; + +CloseSquareOutlined.displayName = 'CloseSquareOutlined'; +CloseSquareOutlined.inheritAttrs = false; +var _default = CloseSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareTwoTone.js new file mode 100644 index 00000000..09eedc96 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloseSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloseSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloseSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloseSquareTwoTone = function CloseSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloseSquareTwoTone["default"] + }), null); +}; + +CloseSquareTwoTone.displayName = 'CloseSquareTwoTone'; +CloseSquareTwoTone.inheritAttrs = false; +var _default = CloseSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudDownloadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudDownloadOutlined.js new file mode 100644 index 00000000..21813864 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudDownloadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudDownloadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudDownloadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudDownloadOutlined = function CloudDownloadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudDownloadOutlined["default"] + }), null); +}; + +CloudDownloadOutlined.displayName = 'CloudDownloadOutlined'; +CloudDownloadOutlined.inheritAttrs = false; +var _default = CloudDownloadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudFilled.js new file mode 100644 index 00000000..c8dcef9c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudFilled = function CloudFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudFilled["default"] + }), null); +}; + +CloudFilled.displayName = 'CloudFilled'; +CloudFilled.inheritAttrs = false; +var _default = CloudFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudOutlined.js new file mode 100644 index 00000000..4dabf4c3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudOutlined = function CloudOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudOutlined["default"] + }), null); +}; + +CloudOutlined.displayName = 'CloudOutlined'; +CloudOutlined.inheritAttrs = false; +var _default = CloudOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudServerOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudServerOutlined.js new file mode 100644 index 00000000..5866e416 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudServerOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudServerOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudServerOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudServerOutlined = function CloudServerOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudServerOutlined["default"] + }), null); +}; + +CloudServerOutlined.displayName = 'CloudServerOutlined'; +CloudServerOutlined.inheritAttrs = false; +var _default = CloudServerOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudSyncOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudSyncOutlined.js new file mode 100644 index 00000000..9236086f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudSyncOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudSyncOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudSyncOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudSyncOutlined = function CloudSyncOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudSyncOutlined["default"] + }), null); +}; + +CloudSyncOutlined.displayName = 'CloudSyncOutlined'; +CloudSyncOutlined.inheritAttrs = false; +var _default = CloudSyncOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudTwoTone.js new file mode 100644 index 00000000..2eaa00ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudTwoTone = function CloudTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudTwoTone["default"] + }), null); +}; + +CloudTwoTone.displayName = 'CloudTwoTone'; +CloudTwoTone.inheritAttrs = false; +var _default = CloudTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudUploadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudUploadOutlined.js new file mode 100644 index 00000000..f3b6cc22 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CloudUploadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CloudUploadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CloudUploadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CloudUploadOutlined = function CloudUploadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CloudUploadOutlined["default"] + }), null); +}; + +CloudUploadOutlined.displayName = 'CloudUploadOutlined'; +CloudUploadOutlined.inheritAttrs = false; +var _default = CloudUploadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClusterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClusterOutlined.js new file mode 100644 index 00000000..ccc1d2bf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ClusterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ClusterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ClusterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ClusterOutlined = function ClusterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ClusterOutlined["default"] + }), null); +}; + +ClusterOutlined.displayName = 'ClusterOutlined'; +ClusterOutlined.inheritAttrs = false; +var _default = ClusterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeFilled.js new file mode 100644 index 00000000..da6f96a8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeFilled = function CodeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeFilled["default"] + }), null); +}; + +CodeFilled.displayName = 'CodeFilled'; +CodeFilled.inheritAttrs = false; +var _default = CodeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeOutlined.js new file mode 100644 index 00000000..bcd48bfd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeOutlined = function CodeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeOutlined["default"] + }), null); +}; + +CodeOutlined.displayName = 'CodeOutlined'; +CodeOutlined.inheritAttrs = false; +var _default = CodeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxCircleFilled.js new file mode 100644 index 00000000..228a46f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeSandboxCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeSandboxCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeSandboxCircleFilled = function CodeSandboxCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeSandboxCircleFilled["default"] + }), null); +}; + +CodeSandboxCircleFilled.displayName = 'CodeSandboxCircleFilled'; +CodeSandboxCircleFilled.inheritAttrs = false; +var _default = CodeSandboxCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxOutlined.js new file mode 100644 index 00000000..15e330df --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeSandboxOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeSandboxOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeSandboxOutlined = function CodeSandboxOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeSandboxOutlined["default"] + }), null); +}; + +CodeSandboxOutlined.displayName = 'CodeSandboxOutlined'; +CodeSandboxOutlined.inheritAttrs = false; +var _default = CodeSandboxOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxSquareFilled.js new file mode 100644 index 00000000..b7f211aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeSandboxSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeSandboxSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeSandboxSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeSandboxSquareFilled = function CodeSandboxSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeSandboxSquareFilled["default"] + }), null); +}; + +CodeSandboxSquareFilled.displayName = 'CodeSandboxSquareFilled'; +CodeSandboxSquareFilled.inheritAttrs = false; +var _default = CodeSandboxSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeTwoTone.js new file mode 100644 index 00000000..221be071 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodeTwoTone = function CodeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodeTwoTone["default"] + }), null); +}; + +CodeTwoTone.displayName = 'CodeTwoTone'; +CodeTwoTone.inheritAttrs = false; +var _default = CodeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleFilled.js new file mode 100644 index 00000000..5578e5a1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodepenCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodepenCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodepenCircleFilled = function CodepenCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodepenCircleFilled["default"] + }), null); +}; + +CodepenCircleFilled.displayName = 'CodepenCircleFilled'; +CodepenCircleFilled.inheritAttrs = false; +var _default = CodepenCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleOutlined.js new file mode 100644 index 00000000..0f48f906 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodepenCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodepenCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodepenCircleOutlined = function CodepenCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodepenCircleOutlined["default"] + }), null); +}; + +CodepenCircleOutlined.displayName = 'CodepenCircleOutlined'; +CodepenCircleOutlined.inheritAttrs = false; +var _default = CodepenCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenOutlined.js new file mode 100644 index 00000000..c1f4a2fe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodepenOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodepenOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodepenOutlined = function CodepenOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodepenOutlined["default"] + }), null); +}; + +CodepenOutlined.displayName = 'CodepenOutlined'; +CodepenOutlined.inheritAttrs = false; +var _default = CodepenOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenSquareFilled.js new file mode 100644 index 00000000..706689a0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CodepenSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CodepenSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CodepenSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CodepenSquareFilled = function CodepenSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CodepenSquareFilled["default"] + }), null); +}; + +CodepenSquareFilled.displayName = 'CodepenSquareFilled'; +CodepenSquareFilled.inheritAttrs = false; +var _default = CodepenSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CoffeeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CoffeeOutlined.js new file mode 100644 index 00000000..dbd03360 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CoffeeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CoffeeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CoffeeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CoffeeOutlined = function CoffeeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CoffeeOutlined["default"] + }), null); +}; + +CoffeeOutlined.displayName = 'CoffeeOutlined'; +CoffeeOutlined.inheritAttrs = false; +var _default = CoffeeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnHeightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnHeightOutlined.js new file mode 100644 index 00000000..a433e9f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnHeightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ColumnHeightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ColumnHeightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ColumnHeightOutlined = function ColumnHeightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ColumnHeightOutlined["default"] + }), null); +}; + +ColumnHeightOutlined.displayName = 'ColumnHeightOutlined'; +ColumnHeightOutlined.inheritAttrs = false; +var _default = ColumnHeightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnWidthOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnWidthOutlined.js new file mode 100644 index 00000000..61675935 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ColumnWidthOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ColumnWidthOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ColumnWidthOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ColumnWidthOutlined = function ColumnWidthOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ColumnWidthOutlined["default"] + }), null); +}; + +ColumnWidthOutlined.displayName = 'ColumnWidthOutlined'; +ColumnWidthOutlined.inheritAttrs = false; +var _default = ColumnWidthOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CommentOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CommentOutlined.js new file mode 100644 index 00000000..d33d5485 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CommentOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CommentOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CommentOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CommentOutlined = function CommentOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CommentOutlined["default"] + }), null); +}; + +CommentOutlined.displayName = 'CommentOutlined'; +CommentOutlined.inheritAttrs = false; +var _default = CommentOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassFilled.js new file mode 100644 index 00000000..62ccecdc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CompassFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CompassFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CompassFilled = function CompassFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CompassFilled["default"] + }), null); +}; + +CompassFilled.displayName = 'CompassFilled'; +CompassFilled.inheritAttrs = false; +var _default = CompassFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassOutlined.js new file mode 100644 index 00000000..0f4ec46d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CompassOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CompassOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CompassOutlined = function CompassOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CompassOutlined["default"] + }), null); +}; + +CompassOutlined.displayName = 'CompassOutlined'; +CompassOutlined.inheritAttrs = false; +var _default = CompassOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassTwoTone.js new file mode 100644 index 00000000..ec3d9401 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompassTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CompassTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CompassTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CompassTwoTone = function CompassTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CompassTwoTone["default"] + }), null); +}; + +CompassTwoTone.displayName = 'CompassTwoTone'; +CompassTwoTone.inheritAttrs = false; +var _default = CompassTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompressOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompressOutlined.js new file mode 100644 index 00000000..11c5d077 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CompressOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CompressOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CompressOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CompressOutlined = function CompressOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CompressOutlined["default"] + }), null); +}; + +CompressOutlined.displayName = 'CompressOutlined'; +CompressOutlined.inheritAttrs = false; +var _default = CompressOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ConsoleSqlOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ConsoleSqlOutlined.js new file mode 100644 index 00000000..b1d46c21 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ConsoleSqlOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ConsoleSqlOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ConsoleSqlOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ConsoleSqlOutlined = function ConsoleSqlOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ConsoleSqlOutlined["default"] + }), null); +}; + +ConsoleSqlOutlined.displayName = 'ConsoleSqlOutlined'; +ConsoleSqlOutlined.inheritAttrs = false; +var _default = ConsoleSqlOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsFilled.js new file mode 100644 index 00000000..598baaff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContactsFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContactsFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContactsFilled = function ContactsFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContactsFilled["default"] + }), null); +}; + +ContactsFilled.displayName = 'ContactsFilled'; +ContactsFilled.inheritAttrs = false; +var _default = ContactsFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsOutlined.js new file mode 100644 index 00000000..71d407d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContactsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContactsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContactsOutlined = function ContactsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContactsOutlined["default"] + }), null); +}; + +ContactsOutlined.displayName = 'ContactsOutlined'; +ContactsOutlined.inheritAttrs = false; +var _default = ContactsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsTwoTone.js new file mode 100644 index 00000000..f4e133d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContactsTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContactsTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContactsTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContactsTwoTone = function ContactsTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContactsTwoTone["default"] + }), null); +}; + +ContactsTwoTone.displayName = 'ContactsTwoTone'; +ContactsTwoTone.inheritAttrs = false; +var _default = ContactsTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerFilled.js new file mode 100644 index 00000000..95de2637 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContainerFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContainerFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContainerFilled = function ContainerFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContainerFilled["default"] + }), null); +}; + +ContainerFilled.displayName = 'ContainerFilled'; +ContainerFilled.inheritAttrs = false; +var _default = ContainerFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerOutlined.js new file mode 100644 index 00000000..9029a480 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContainerOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContainerOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContainerOutlined = function ContainerOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContainerOutlined["default"] + }), null); +}; + +ContainerOutlined.displayName = 'ContainerOutlined'; +ContainerOutlined.inheritAttrs = false; +var _default = ContainerOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerTwoTone.js new file mode 100644 index 00000000..aea09164 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ContainerTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ContainerTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ContainerTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ContainerTwoTone = function ContainerTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ContainerTwoTone["default"] + }), null); +}; + +ContainerTwoTone.displayName = 'ContainerTwoTone'; +ContainerTwoTone.inheritAttrs = false; +var _default = ContainerTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlFilled.js new file mode 100644 index 00000000..57897872 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ControlFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ControlFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ControlFilled = function ControlFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ControlFilled["default"] + }), null); +}; + +ControlFilled.displayName = 'ControlFilled'; +ControlFilled.inheritAttrs = false; +var _default = ControlFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlOutlined.js new file mode 100644 index 00000000..1bd5b071 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ControlOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ControlOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ControlOutlined = function ControlOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ControlOutlined["default"] + }), null); +}; + +ControlOutlined.displayName = 'ControlOutlined'; +ControlOutlined.inheritAttrs = false; +var _default = ControlOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlTwoTone.js new file mode 100644 index 00000000..0856da39 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ControlTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ControlTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ControlTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ControlTwoTone = function ControlTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ControlTwoTone["default"] + }), null); +}; + +ControlTwoTone.displayName = 'ControlTwoTone'; +ControlTwoTone.inheritAttrs = false; +var _default = ControlTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyFilled.js new file mode 100644 index 00000000..2eebb2e5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyFilled = function CopyFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyFilled["default"] + }), null); +}; + +CopyFilled.displayName = 'CopyFilled'; +CopyFilled.inheritAttrs = false; +var _default = CopyFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyOutlined.js new file mode 100644 index 00000000..abbaa6b6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyOutlined = function CopyOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyOutlined["default"] + }), null); +}; + +CopyOutlined.displayName = 'CopyOutlined'; +CopyOutlined.inheritAttrs = false; +var _default = CopyOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyTwoTone.js new file mode 100644 index 00000000..b68b2ddf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyTwoTone = function CopyTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyTwoTone["default"] + }), null); +}; + +CopyTwoTone.displayName = 'CopyTwoTone'; +CopyTwoTone.inheritAttrs = false; +var _default = CopyTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleFilled.js new file mode 100644 index 00000000..f6701ea3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyrightCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyrightCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyrightCircleFilled = function CopyrightCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyrightCircleFilled["default"] + }), null); +}; + +CopyrightCircleFilled.displayName = 'CopyrightCircleFilled'; +CopyrightCircleFilled.inheritAttrs = false; +var _default = CopyrightCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleOutlined.js new file mode 100644 index 00000000..4266173f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyrightCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyrightCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyrightCircleOutlined = function CopyrightCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyrightCircleOutlined["default"] + }), null); +}; + +CopyrightCircleOutlined.displayName = 'CopyrightCircleOutlined'; +CopyrightCircleOutlined.inheritAttrs = false; +var _default = CopyrightCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleTwoTone.js new file mode 100644 index 00000000..52b6dec8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyrightCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyrightCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyrightCircleTwoTone = function CopyrightCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyrightCircleTwoTone["default"] + }), null); +}; + +CopyrightCircleTwoTone.displayName = 'CopyrightCircleTwoTone'; +CopyrightCircleTwoTone.inheritAttrs = false; +var _default = CopyrightCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightOutlined.js new file mode 100644 index 00000000..6298932e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyrightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyrightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyrightOutlined = function CopyrightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyrightOutlined["default"] + }), null); +}; + +CopyrightOutlined.displayName = 'CopyrightOutlined'; +CopyrightOutlined.inheritAttrs = false; +var _default = CopyrightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightTwoTone.js new file mode 100644 index 00000000..571bad2e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CopyrightTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CopyrightTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CopyrightTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CopyrightTwoTone = function CopyrightTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CopyrightTwoTone["default"] + }), null); +}; + +CopyrightTwoTone.displayName = 'CopyrightTwoTone'; +CopyrightTwoTone.inheritAttrs = false; +var _default = CopyrightTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardFilled.js new file mode 100644 index 00000000..1dc31bea --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CreditCardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CreditCardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CreditCardFilled = function CreditCardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CreditCardFilled["default"] + }), null); +}; + +CreditCardFilled.displayName = 'CreditCardFilled'; +CreditCardFilled.inheritAttrs = false; +var _default = CreditCardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardOutlined.js new file mode 100644 index 00000000..ebafedb6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CreditCardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CreditCardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CreditCardOutlined = function CreditCardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CreditCardOutlined["default"] + }), null); +}; + +CreditCardOutlined.displayName = 'CreditCardOutlined'; +CreditCardOutlined.inheritAttrs = false; +var _default = CreditCardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardTwoTone.js new file mode 100644 index 00000000..53b4ad56 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CreditCardTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CreditCardTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CreditCardTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CreditCardTwoTone = function CreditCardTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CreditCardTwoTone["default"] + }), null); +}; + +CreditCardTwoTone.displayName = 'CreditCardTwoTone'; +CreditCardTwoTone.inheritAttrs = false; +var _default = CreditCardTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownFilled.js new file mode 100644 index 00000000..0a27d595 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CrownFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CrownFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CrownFilled = function CrownFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CrownFilled["default"] + }), null); +}; + +CrownFilled.displayName = 'CrownFilled'; +CrownFilled.inheritAttrs = false; +var _default = CrownFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownOutlined.js new file mode 100644 index 00000000..db4f7907 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CrownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CrownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CrownOutlined = function CrownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CrownOutlined["default"] + }), null); +}; + +CrownOutlined.displayName = 'CrownOutlined'; +CrownOutlined.inheritAttrs = false; +var _default = CrownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownTwoTone.js new file mode 100644 index 00000000..80c1e6d9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CrownTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CrownTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CrownTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CrownTwoTone = function CrownTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CrownTwoTone["default"] + }), null); +}; + +CrownTwoTone.displayName = 'CrownTwoTone'; +CrownTwoTone.inheritAttrs = false; +var _default = CrownTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceFilled.js new file mode 100644 index 00000000..6e5e53b6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CustomerServiceFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CustomerServiceFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CustomerServiceFilled = function CustomerServiceFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CustomerServiceFilled["default"] + }), null); +}; + +CustomerServiceFilled.displayName = 'CustomerServiceFilled'; +CustomerServiceFilled.inheritAttrs = false; +var _default = CustomerServiceFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceOutlined.js new file mode 100644 index 00000000..a6c7b36d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CustomerServiceOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CustomerServiceOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CustomerServiceOutlined = function CustomerServiceOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CustomerServiceOutlined["default"] + }), null); +}; + +CustomerServiceOutlined.displayName = 'CustomerServiceOutlined'; +CustomerServiceOutlined.inheritAttrs = false; +var _default = CustomerServiceOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceTwoTone.js new file mode 100644 index 00000000..0d43de29 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/CustomerServiceTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _CustomerServiceTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/CustomerServiceTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CustomerServiceTwoTone = function CustomerServiceTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _CustomerServiceTwoTone["default"] + }), null); +}; + +CustomerServiceTwoTone.displayName = 'CustomerServiceTwoTone'; +CustomerServiceTwoTone.inheritAttrs = false; +var _default = CustomerServiceTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashOutlined.js new file mode 100644 index 00000000..9e92a947 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DashOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DashOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DashOutlined = function DashOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DashOutlined["default"] + }), null); +}; + +DashOutlined.displayName = 'DashOutlined'; +DashOutlined.inheritAttrs = false; +var _default = DashOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardFilled.js new file mode 100644 index 00000000..7695a9b3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DashboardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DashboardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DashboardFilled = function DashboardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DashboardFilled["default"] + }), null); +}; + +DashboardFilled.displayName = 'DashboardFilled'; +DashboardFilled.inheritAttrs = false; +var _default = DashboardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardOutlined.js new file mode 100644 index 00000000..b92a76cf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DashboardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DashboardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DashboardOutlined = function DashboardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DashboardOutlined["default"] + }), null); +}; + +DashboardOutlined.displayName = 'DashboardOutlined'; +DashboardOutlined.inheritAttrs = false; +var _default = DashboardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardTwoTone.js new file mode 100644 index 00000000..53acbd5e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DashboardTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DashboardTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DashboardTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DashboardTwoTone = function DashboardTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DashboardTwoTone["default"] + }), null); +}; + +DashboardTwoTone.displayName = 'DashboardTwoTone'; +DashboardTwoTone.inheritAttrs = false; +var _default = DashboardTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseFilled.js new file mode 100644 index 00000000..5e360494 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DatabaseFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DatabaseFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DatabaseFilled = function DatabaseFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DatabaseFilled["default"] + }), null); +}; + +DatabaseFilled.displayName = 'DatabaseFilled'; +DatabaseFilled.inheritAttrs = false; +var _default = DatabaseFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseOutlined.js new file mode 100644 index 00000000..5f53a5fc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DatabaseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DatabaseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DatabaseOutlined = function DatabaseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DatabaseOutlined["default"] + }), null); +}; + +DatabaseOutlined.displayName = 'DatabaseOutlined'; +DatabaseOutlined.inheritAttrs = false; +var _default = DatabaseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseTwoTone.js new file mode 100644 index 00000000..8bf0a12f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DatabaseTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DatabaseTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DatabaseTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DatabaseTwoTone = function DatabaseTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DatabaseTwoTone["default"] + }), null); +}; + +DatabaseTwoTone.displayName = 'DatabaseTwoTone'; +DatabaseTwoTone.inheritAttrs = false; +var _default = DatabaseTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteColumnOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteColumnOutlined.js new file mode 100644 index 00000000..f27cf7be --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteColumnOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeleteColumnOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeleteColumnOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeleteColumnOutlined = function DeleteColumnOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeleteColumnOutlined["default"] + }), null); +}; + +DeleteColumnOutlined.displayName = 'DeleteColumnOutlined'; +DeleteColumnOutlined.inheritAttrs = false; +var _default = DeleteColumnOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteFilled.js new file mode 100644 index 00000000..12127a87 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeleteFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeleteFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeleteFilled = function DeleteFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeleteFilled["default"] + }), null); +}; + +DeleteFilled.displayName = 'DeleteFilled'; +DeleteFilled.inheritAttrs = false; +var _default = DeleteFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteOutlined.js new file mode 100644 index 00000000..cce6e421 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeleteOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeleteOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeleteOutlined = function DeleteOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeleteOutlined["default"] + }), null); +}; + +DeleteOutlined.displayName = 'DeleteOutlined'; +DeleteOutlined.inheritAttrs = false; +var _default = DeleteOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteRowOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteRowOutlined.js new file mode 100644 index 00000000..c9b1bfac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteRowOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeleteRowOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeleteRowOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeleteRowOutlined = function DeleteRowOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeleteRowOutlined["default"] + }), null); +}; + +DeleteRowOutlined.displayName = 'DeleteRowOutlined'; +DeleteRowOutlined.inheritAttrs = false; +var _default = DeleteRowOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteTwoTone.js new file mode 100644 index 00000000..84fe1c89 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeleteTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeleteTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeleteTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeleteTwoTone = function DeleteTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeleteTwoTone["default"] + }), null); +}; + +DeleteTwoTone.displayName = 'DeleteTwoTone'; +DeleteTwoTone.inheritAttrs = false; +var _default = DeleteTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeliveredProcedureOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeliveredProcedureOutlined.js new file mode 100644 index 00000000..5037e06c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeliveredProcedureOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeliveredProcedureOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeliveredProcedureOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeliveredProcedureOutlined = function DeliveredProcedureOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeliveredProcedureOutlined["default"] + }), null); +}; + +DeliveredProcedureOutlined.displayName = 'DeliveredProcedureOutlined'; +DeliveredProcedureOutlined.inheritAttrs = false; +var _default = DeliveredProcedureOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeploymentUnitOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeploymentUnitOutlined.js new file mode 100644 index 00000000..9239476a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DeploymentUnitOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DeploymentUnitOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DeploymentUnitOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DeploymentUnitOutlined = function DeploymentUnitOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DeploymentUnitOutlined["default"] + }), null); +}; + +DeploymentUnitOutlined.displayName = 'DeploymentUnitOutlined'; +DeploymentUnitOutlined.inheritAttrs = false; +var _default = DeploymentUnitOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DesktopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DesktopOutlined.js new file mode 100644 index 00000000..189a0a50 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DesktopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DesktopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DesktopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DesktopOutlined = function DesktopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DesktopOutlined["default"] + }), null); +}; + +DesktopOutlined.displayName = 'DesktopOutlined'; +DesktopOutlined.inheritAttrs = false; +var _default = DesktopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffFilled.js new file mode 100644 index 00000000..a734db5e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DiffFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DiffFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DiffFilled = function DiffFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DiffFilled["default"] + }), null); +}; + +DiffFilled.displayName = 'DiffFilled'; +DiffFilled.inheritAttrs = false; +var _default = DiffFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffOutlined.js new file mode 100644 index 00000000..981cf7f7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DiffOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DiffOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DiffOutlined = function DiffOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DiffOutlined["default"] + }), null); +}; + +DiffOutlined.displayName = 'DiffOutlined'; +DiffOutlined.inheritAttrs = false; +var _default = DiffOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffTwoTone.js new file mode 100644 index 00000000..7aed5d9c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DiffTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DiffTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DiffTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DiffTwoTone = function DiffTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DiffTwoTone["default"] + }), null); +}; + +DiffTwoTone.displayName = 'DiffTwoTone'; +DiffTwoTone.inheritAttrs = false; +var _default = DiffTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingdingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingdingOutlined.js new file mode 100644 index 00000000..0d4059aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingdingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DingdingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DingdingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DingdingOutlined = function DingdingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DingdingOutlined["default"] + }), null); +}; + +DingdingOutlined.displayName = 'DingdingOutlined'; +DingdingOutlined.inheritAttrs = false; +var _default = DingdingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkCircleFilled.js new file mode 100644 index 00000000..b29b1818 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DingtalkCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DingtalkCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DingtalkCircleFilled = function DingtalkCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DingtalkCircleFilled["default"] + }), null); +}; + +DingtalkCircleFilled.displayName = 'DingtalkCircleFilled'; +DingtalkCircleFilled.inheritAttrs = false; +var _default = DingtalkCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkOutlined.js new file mode 100644 index 00000000..3f51d42b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DingtalkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DingtalkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DingtalkOutlined = function DingtalkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DingtalkOutlined["default"] + }), null); +}; + +DingtalkOutlined.displayName = 'DingtalkOutlined'; +DingtalkOutlined.inheritAttrs = false; +var _default = DingtalkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkSquareFilled.js new file mode 100644 index 00000000..86dbf9ba --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DingtalkSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DingtalkSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DingtalkSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DingtalkSquareFilled = function DingtalkSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DingtalkSquareFilled["default"] + }), null); +}; + +DingtalkSquareFilled.displayName = 'DingtalkSquareFilled'; +DingtalkSquareFilled.inheritAttrs = false; +var _default = DingtalkSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DisconnectOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DisconnectOutlined.js new file mode 100644 index 00000000..5bd34c6b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DisconnectOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DisconnectOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DisconnectOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DisconnectOutlined = function DisconnectOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DisconnectOutlined["default"] + }), null); +}; + +DisconnectOutlined.displayName = 'DisconnectOutlined'; +DisconnectOutlined.inheritAttrs = false; +var _default = DisconnectOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeFilled.js new file mode 100644 index 00000000..1fe0453d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DislikeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DislikeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DislikeFilled = function DislikeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DislikeFilled["default"] + }), null); +}; + +DislikeFilled.displayName = 'DislikeFilled'; +DislikeFilled.inheritAttrs = false; +var _default = DislikeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeOutlined.js new file mode 100644 index 00000000..b1a3292a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DislikeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DislikeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DislikeOutlined = function DislikeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DislikeOutlined["default"] + }), null); +}; + +DislikeOutlined.displayName = 'DislikeOutlined'; +DislikeOutlined.inheritAttrs = false; +var _default = DislikeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeTwoTone.js new file mode 100644 index 00000000..e432a167 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DislikeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DislikeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DislikeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DislikeTwoTone = function DislikeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DislikeTwoTone["default"] + }), null); +}; + +DislikeTwoTone.displayName = 'DislikeTwoTone'; +DislikeTwoTone.inheritAttrs = false; +var _default = DislikeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleFilled.js new file mode 100644 index 00000000..34ac20da --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DollarCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DollarCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DollarCircleFilled = function DollarCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DollarCircleFilled["default"] + }), null); +}; + +DollarCircleFilled.displayName = 'DollarCircleFilled'; +DollarCircleFilled.inheritAttrs = false; +var _default = DollarCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleOutlined.js new file mode 100644 index 00000000..87c505cb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DollarCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DollarCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DollarCircleOutlined = function DollarCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DollarCircleOutlined["default"] + }), null); +}; + +DollarCircleOutlined.displayName = 'DollarCircleOutlined'; +DollarCircleOutlined.inheritAttrs = false; +var _default = DollarCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleTwoTone.js new file mode 100644 index 00000000..ea8bbbb8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DollarCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DollarCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DollarCircleTwoTone = function DollarCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DollarCircleTwoTone["default"] + }), null); +}; + +DollarCircleTwoTone.displayName = 'DollarCircleTwoTone'; +DollarCircleTwoTone.inheritAttrs = false; +var _default = DollarCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarOutlined.js new file mode 100644 index 00000000..a3547897 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DollarOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DollarOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DollarOutlined = function DollarOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DollarOutlined["default"] + }), null); +}; + +DollarOutlined.displayName = 'DollarOutlined'; +DollarOutlined.inheritAttrs = false; +var _default = DollarOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarTwoTone.js new file mode 100644 index 00000000..f4d2a6b2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DollarTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DollarTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DollarTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DollarTwoTone = function DollarTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DollarTwoTone["default"] + }), null); +}; + +DollarTwoTone.displayName = 'DollarTwoTone'; +DollarTwoTone.inheritAttrs = false; +var _default = DollarTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DotChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DotChartOutlined.js new file mode 100644 index 00000000..65ca55d1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DotChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DotChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DotChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DotChartOutlined = function DotChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DotChartOutlined["default"] + }), null); +}; + +DotChartOutlined.displayName = 'DotChartOutlined'; +DotChartOutlined.inheritAttrs = false; +var _default = DotChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleLeftOutlined.js new file mode 100644 index 00000000..3ec60437 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DoubleLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DoubleLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DoubleLeftOutlined = function DoubleLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DoubleLeftOutlined["default"] + }), null); +}; + +DoubleLeftOutlined.displayName = 'DoubleLeftOutlined'; +DoubleLeftOutlined.inheritAttrs = false; +var _default = DoubleLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleRightOutlined.js new file mode 100644 index 00000000..c7908540 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DoubleRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DoubleRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DoubleRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DoubleRightOutlined = function DoubleRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DoubleRightOutlined["default"] + }), null); +}; + +DoubleRightOutlined.displayName = 'DoubleRightOutlined'; +DoubleRightOutlined.inheritAttrs = false; +var _default = DoubleRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleFilled.js new file mode 100644 index 00000000..eabd64bc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownCircleFilled = function DownCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownCircleFilled["default"] + }), null); +}; + +DownCircleFilled.displayName = 'DownCircleFilled'; +DownCircleFilled.inheritAttrs = false; +var _default = DownCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleOutlined.js new file mode 100644 index 00000000..42c0581b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownCircleOutlined = function DownCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownCircleOutlined["default"] + }), null); +}; + +DownCircleOutlined.displayName = 'DownCircleOutlined'; +DownCircleOutlined.inheritAttrs = false; +var _default = DownCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleTwoTone.js new file mode 100644 index 00000000..be8453bb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownCircleTwoTone = function DownCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownCircleTwoTone["default"] + }), null); +}; + +DownCircleTwoTone.displayName = 'DownCircleTwoTone'; +DownCircleTwoTone.inheritAttrs = false; +var _default = DownCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownOutlined.js new file mode 100644 index 00000000..3ff39426 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownOutlined = function DownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownOutlined["default"] + }), null); +}; + +DownOutlined.displayName = 'DownOutlined'; +DownOutlined.inheritAttrs = false; +var _default = DownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareFilled.js new file mode 100644 index 00000000..16b03a8a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownSquareFilled = function DownSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownSquareFilled["default"] + }), null); +}; + +DownSquareFilled.displayName = 'DownSquareFilled'; +DownSquareFilled.inheritAttrs = false; +var _default = DownSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareOutlined.js new file mode 100644 index 00000000..1326ad7d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownSquareOutlined = function DownSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownSquareOutlined["default"] + }), null); +}; + +DownSquareOutlined.displayName = 'DownSquareOutlined'; +DownSquareOutlined.inheritAttrs = false; +var _default = DownSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareTwoTone.js new file mode 100644 index 00000000..82797250 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownSquareTwoTone = function DownSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownSquareTwoTone["default"] + }), null); +}; + +DownSquareTwoTone.displayName = 'DownSquareTwoTone'; +DownSquareTwoTone.inheritAttrs = false; +var _default = DownSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownloadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownloadOutlined.js new file mode 100644 index 00000000..03367245 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DownloadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DownloadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DownloadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DownloadOutlined = function DownloadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DownloadOutlined["default"] + }), null); +}; + +DownloadOutlined.displayName = 'DownloadOutlined'; +DownloadOutlined.inheritAttrs = false; +var _default = DownloadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DragOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DragOutlined.js new file mode 100644 index 00000000..bb83bae5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DragOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DragOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DragOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DragOutlined = function DragOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DragOutlined["default"] + }), null); +}; + +DragOutlined.displayName = 'DragOutlined'; +DragOutlined.inheritAttrs = false; +var _default = DragOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleCircleFilled.js new file mode 100644 index 00000000..6201628c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DribbbleCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DribbbleCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DribbbleCircleFilled = function DribbbleCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DribbbleCircleFilled["default"] + }), null); +}; + +DribbbleCircleFilled.displayName = 'DribbbleCircleFilled'; +DribbbleCircleFilled.inheritAttrs = false; +var _default = DribbbleCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleOutlined.js new file mode 100644 index 00000000..ee02db79 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DribbbleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DribbbleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DribbbleOutlined = function DribbbleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DribbbleOutlined["default"] + }), null); +}; + +DribbbleOutlined.displayName = 'DribbbleOutlined'; +DribbbleOutlined.inheritAttrs = false; +var _default = DribbbleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareFilled.js new file mode 100644 index 00000000..844a43eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DribbbleSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DribbbleSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DribbbleSquareFilled = function DribbbleSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DribbbleSquareFilled["default"] + }), null); +}; + +DribbbleSquareFilled.displayName = 'DribbbleSquareFilled'; +DribbbleSquareFilled.inheritAttrs = false; +var _default = DribbbleSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareOutlined.js new file mode 100644 index 00000000..8b38cb10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DribbbleSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DribbbleSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DribbbleSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DribbbleSquareOutlined = function DribbbleSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DribbbleSquareOutlined["default"] + }), null); +}; + +DribbbleSquareOutlined.displayName = 'DribbbleSquareOutlined'; +DribbbleSquareOutlined.inheritAttrs = false; +var _default = DribbbleSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxCircleFilled.js new file mode 100644 index 00000000..13d35d4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DropboxCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DropboxCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DropboxCircleFilled = function DropboxCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DropboxCircleFilled["default"] + }), null); +}; + +DropboxCircleFilled.displayName = 'DropboxCircleFilled'; +DropboxCircleFilled.inheritAttrs = false; +var _default = DropboxCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxOutlined.js new file mode 100644 index 00000000..9c36067d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DropboxOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DropboxOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DropboxOutlined = function DropboxOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DropboxOutlined["default"] + }), null); +}; + +DropboxOutlined.displayName = 'DropboxOutlined'; +DropboxOutlined.inheritAttrs = false; +var _default = DropboxOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxSquareFilled.js new file mode 100644 index 00000000..cabdadbd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/DropboxSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _DropboxSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/DropboxSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var DropboxSquareFilled = function DropboxSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _DropboxSquareFilled["default"] + }), null); +}; + +DropboxSquareFilled.displayName = 'DropboxSquareFilled'; +DropboxSquareFilled.inheritAttrs = false; +var _default = DropboxSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditFilled.js new file mode 100644 index 00000000..1e0f6d9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EditFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EditFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EditFilled = function EditFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EditFilled["default"] + }), null); +}; + +EditFilled.displayName = 'EditFilled'; +EditFilled.inheritAttrs = false; +var _default = EditFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditOutlined.js new file mode 100644 index 00000000..3bbe6f97 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EditOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EditOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EditOutlined = function EditOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EditOutlined["default"] + }), null); +}; + +EditOutlined.displayName = 'EditOutlined'; +EditOutlined.inheritAttrs = false; +var _default = EditOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditTwoTone.js new file mode 100644 index 00000000..1a2114f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EditTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EditTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EditTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EditTwoTone = function EditTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EditTwoTone["default"] + }), null); +}; + +EditTwoTone.displayName = 'EditTwoTone'; +EditTwoTone.inheritAttrs = false; +var _default = EditTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EllipsisOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EllipsisOutlined.js new file mode 100644 index 00000000..5615b1cd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EllipsisOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EllipsisOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EllipsisOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EllipsisOutlined = function EllipsisOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EllipsisOutlined["default"] + }), null); +}; + +EllipsisOutlined.displayName = 'EllipsisOutlined'; +EllipsisOutlined.inheritAttrs = false; +var _default = EllipsisOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnterOutlined.js new file mode 100644 index 00000000..b898eb80 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EnterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EnterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EnterOutlined = function EnterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EnterOutlined["default"] + }), null); +}; + +EnterOutlined.displayName = 'EnterOutlined'; +EnterOutlined.inheritAttrs = false; +var _default = EnterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentFilled.js new file mode 100644 index 00000000..14a625e2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EnvironmentFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EnvironmentFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EnvironmentFilled = function EnvironmentFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EnvironmentFilled["default"] + }), null); +}; + +EnvironmentFilled.displayName = 'EnvironmentFilled'; +EnvironmentFilled.inheritAttrs = false; +var _default = EnvironmentFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentOutlined.js new file mode 100644 index 00000000..393681e6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EnvironmentOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EnvironmentOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EnvironmentOutlined = function EnvironmentOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EnvironmentOutlined["default"] + }), null); +}; + +EnvironmentOutlined.displayName = 'EnvironmentOutlined'; +EnvironmentOutlined.inheritAttrs = false; +var _default = EnvironmentOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentTwoTone.js new file mode 100644 index 00000000..c5ab077a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EnvironmentTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EnvironmentTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EnvironmentTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EnvironmentTwoTone = function EnvironmentTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EnvironmentTwoTone["default"] + }), null); +}; + +EnvironmentTwoTone.displayName = 'EnvironmentTwoTone'; +EnvironmentTwoTone.inheritAttrs = false; +var _default = EnvironmentTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleFilled.js new file mode 100644 index 00000000..2ae9db0c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EuroCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EuroCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EuroCircleFilled = function EuroCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EuroCircleFilled["default"] + }), null); +}; + +EuroCircleFilled.displayName = 'EuroCircleFilled'; +EuroCircleFilled.inheritAttrs = false; +var _default = EuroCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleOutlined.js new file mode 100644 index 00000000..6c3da04c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EuroCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EuroCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EuroCircleOutlined = function EuroCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EuroCircleOutlined["default"] + }), null); +}; + +EuroCircleOutlined.displayName = 'EuroCircleOutlined'; +EuroCircleOutlined.inheritAttrs = false; +var _default = EuroCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleTwoTone.js new file mode 100644 index 00000000..29e4f27d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EuroCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EuroCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EuroCircleTwoTone = function EuroCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EuroCircleTwoTone["default"] + }), null); +}; + +EuroCircleTwoTone.displayName = 'EuroCircleTwoTone'; +EuroCircleTwoTone.inheritAttrs = false; +var _default = EuroCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroOutlined.js new file mode 100644 index 00000000..901e9ba7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EuroOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EuroOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EuroOutlined = function EuroOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EuroOutlined["default"] + }), null); +}; + +EuroOutlined.displayName = 'EuroOutlined'; +EuroOutlined.inheritAttrs = false; +var _default = EuroOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroTwoTone.js new file mode 100644 index 00000000..a5bb3828 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EuroTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EuroTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EuroTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EuroTwoTone = function EuroTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EuroTwoTone["default"] + }), null); +}; + +EuroTwoTone.displayName = 'EuroTwoTone'; +EuroTwoTone.inheritAttrs = false; +var _default = EuroTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExceptionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExceptionOutlined.js new file mode 100644 index 00000000..37f076d3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExceptionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExceptionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExceptionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExceptionOutlined = function ExceptionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExceptionOutlined["default"] + }), null); +}; + +ExceptionOutlined.displayName = 'ExceptionOutlined'; +ExceptionOutlined.inheritAttrs = false; +var _default = ExceptionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleFilled.js new file mode 100644 index 00000000..77d4f045 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExclamationCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExclamationCircleFilled = function ExclamationCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExclamationCircleFilled["default"] + }), null); +}; + +ExclamationCircleFilled.displayName = 'ExclamationCircleFilled'; +ExclamationCircleFilled.inheritAttrs = false; +var _default = ExclamationCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleOutlined.js new file mode 100644 index 00000000..d9b70832 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExclamationCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExclamationCircleOutlined = function ExclamationCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExclamationCircleOutlined["default"] + }), null); +}; + +ExclamationCircleOutlined.displayName = 'ExclamationCircleOutlined'; +ExclamationCircleOutlined.inheritAttrs = false; +var _default = ExclamationCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleTwoTone.js new file mode 100644 index 00000000..a018327b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExclamationCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExclamationCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExclamationCircleTwoTone = function ExclamationCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExclamationCircleTwoTone["default"] + }), null); +}; + +ExclamationCircleTwoTone.displayName = 'ExclamationCircleTwoTone'; +ExclamationCircleTwoTone.inheritAttrs = false; +var _default = ExclamationCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationOutlined.js new file mode 100644 index 00000000..f864815d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExclamationOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExclamationOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExclamationOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExclamationOutlined = function ExclamationOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExclamationOutlined["default"] + }), null); +}; + +ExclamationOutlined.displayName = 'ExclamationOutlined'; +ExclamationOutlined.inheritAttrs = false; +var _default = ExclamationOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandAltOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandAltOutlined.js new file mode 100644 index 00000000..cb68e689 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandAltOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExpandAltOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExpandAltOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExpandAltOutlined = function ExpandAltOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExpandAltOutlined["default"] + }), null); +}; + +ExpandAltOutlined.displayName = 'ExpandAltOutlined'; +ExpandAltOutlined.inheritAttrs = false; +var _default = ExpandAltOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandOutlined.js new file mode 100644 index 00000000..ef0d016b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExpandOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExpandOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExpandOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExpandOutlined = function ExpandOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExpandOutlined["default"] + }), null); +}; + +ExpandOutlined.displayName = 'ExpandOutlined'; +ExpandOutlined.inheritAttrs = false; +var _default = ExpandOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentFilled.js new file mode 100644 index 00000000..cac65ff4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExperimentFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExperimentFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExperimentFilled = function ExperimentFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExperimentFilled["default"] + }), null); +}; + +ExperimentFilled.displayName = 'ExperimentFilled'; +ExperimentFilled.inheritAttrs = false; +var _default = ExperimentFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentOutlined.js new file mode 100644 index 00000000..fa88e17a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExperimentOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExperimentOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExperimentOutlined = function ExperimentOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExperimentOutlined["default"] + }), null); +}; + +ExperimentOutlined.displayName = 'ExperimentOutlined'; +ExperimentOutlined.inheritAttrs = false; +var _default = ExperimentOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentTwoTone.js new file mode 100644 index 00000000..6ccc6296 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExperimentTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExperimentTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExperimentTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExperimentTwoTone = function ExperimentTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExperimentTwoTone["default"] + }), null); +}; + +ExperimentTwoTone.displayName = 'ExperimentTwoTone'; +ExperimentTwoTone.inheritAttrs = false; +var _default = ExperimentTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExportOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExportOutlined.js new file mode 100644 index 00000000..660b051a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ExportOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ExportOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ExportOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ExportOutlined = function ExportOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ExportOutlined["default"] + }), null); +}; + +ExportOutlined.displayName = 'ExportOutlined'; +ExportOutlined.inheritAttrs = false; +var _default = ExportOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeFilled.js new file mode 100644 index 00000000..e5b09389 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeFilled = function EyeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeFilled["default"] + }), null); +}; + +EyeFilled.displayName = 'EyeFilled'; +EyeFilled.inheritAttrs = false; +var _default = EyeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleFilled.js new file mode 100644 index 00000000..ae149bb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeInvisibleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeInvisibleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeInvisibleFilled = function EyeInvisibleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeInvisibleFilled["default"] + }), null); +}; + +EyeInvisibleFilled.displayName = 'EyeInvisibleFilled'; +EyeInvisibleFilled.inheritAttrs = false; +var _default = EyeInvisibleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleOutlined.js new file mode 100644 index 00000000..8e104414 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeInvisibleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeInvisibleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeInvisibleOutlined = function EyeInvisibleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeInvisibleOutlined["default"] + }), null); +}; + +EyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined'; +EyeInvisibleOutlined.inheritAttrs = false; +var _default = EyeInvisibleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleTwoTone.js new file mode 100644 index 00000000..24dd8c9e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeInvisibleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeInvisibleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeInvisibleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeInvisibleTwoTone = function EyeInvisibleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeInvisibleTwoTone["default"] + }), null); +}; + +EyeInvisibleTwoTone.displayName = 'EyeInvisibleTwoTone'; +EyeInvisibleTwoTone.inheritAttrs = false; +var _default = EyeInvisibleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeOutlined.js new file mode 100644 index 00000000..aa7a11d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeOutlined = function EyeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeOutlined["default"] + }), null); +}; + +EyeOutlined.displayName = 'EyeOutlined'; +EyeOutlined.inheritAttrs = false; +var _default = EyeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeTwoTone.js new file mode 100644 index 00000000..36982a18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/EyeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _EyeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/EyeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var EyeTwoTone = function EyeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _EyeTwoTone["default"] + }), null); +}; + +EyeTwoTone.displayName = 'EyeTwoTone'; +EyeTwoTone.inheritAttrs = false; +var _default = EyeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookFilled.js new file mode 100644 index 00000000..dc5fa32c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FacebookFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FacebookFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FacebookFilled = function FacebookFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FacebookFilled["default"] + }), null); +}; + +FacebookFilled.displayName = 'FacebookFilled'; +FacebookFilled.inheritAttrs = false; +var _default = FacebookFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookOutlined.js new file mode 100644 index 00000000..07e8d0c6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FacebookOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FacebookOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FacebookOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FacebookOutlined = function FacebookOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FacebookOutlined["default"] + }), null); +}; + +FacebookOutlined.displayName = 'FacebookOutlined'; +FacebookOutlined.inheritAttrs = false; +var _default = FacebookOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FallOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FallOutlined.js new file mode 100644 index 00000000..946dd695 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FallOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FallOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FallOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FallOutlined = function FallOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FallOutlined["default"] + }), null); +}; + +FallOutlined.displayName = 'FallOutlined'; +FallOutlined.inheritAttrs = false; +var _default = FallOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardFilled.js new file mode 100644 index 00000000..17304922 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FastBackwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FastBackwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FastBackwardFilled = function FastBackwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FastBackwardFilled["default"] + }), null); +}; + +FastBackwardFilled.displayName = 'FastBackwardFilled'; +FastBackwardFilled.inheritAttrs = false; +var _default = FastBackwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardOutlined.js new file mode 100644 index 00000000..080a82f0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastBackwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FastBackwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FastBackwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FastBackwardOutlined = function FastBackwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FastBackwardOutlined["default"] + }), null); +}; + +FastBackwardOutlined.displayName = 'FastBackwardOutlined'; +FastBackwardOutlined.inheritAttrs = false; +var _default = FastBackwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardFilled.js new file mode 100644 index 00000000..2bb1f2a9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FastForwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FastForwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FastForwardFilled = function FastForwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FastForwardFilled["default"] + }), null); +}; + +FastForwardFilled.displayName = 'FastForwardFilled'; +FastForwardFilled.inheritAttrs = false; +var _default = FastForwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardOutlined.js new file mode 100644 index 00000000..c9af4aa9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FastForwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FastForwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FastForwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FastForwardOutlined = function FastForwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FastForwardOutlined["default"] + }), null); +}; + +FastForwardOutlined.displayName = 'FastForwardOutlined'; +FastForwardOutlined.inheritAttrs = false; +var _default = FastForwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldBinaryOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldBinaryOutlined.js new file mode 100644 index 00000000..62095ae3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldBinaryOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FieldBinaryOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FieldBinaryOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FieldBinaryOutlined = function FieldBinaryOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FieldBinaryOutlined["default"] + }), null); +}; + +FieldBinaryOutlined.displayName = 'FieldBinaryOutlined'; +FieldBinaryOutlined.inheritAttrs = false; +var _default = FieldBinaryOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldNumberOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldNumberOutlined.js new file mode 100644 index 00000000..2cc98dfc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldNumberOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FieldNumberOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FieldNumberOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FieldNumberOutlined = function FieldNumberOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FieldNumberOutlined["default"] + }), null); +}; + +FieldNumberOutlined.displayName = 'FieldNumberOutlined'; +FieldNumberOutlined.inheritAttrs = false; +var _default = FieldNumberOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldStringOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldStringOutlined.js new file mode 100644 index 00000000..898c241c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldStringOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FieldStringOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FieldStringOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FieldStringOutlined = function FieldStringOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FieldStringOutlined["default"] + }), null); +}; + +FieldStringOutlined.displayName = 'FieldStringOutlined'; +FieldStringOutlined.inheritAttrs = false; +var _default = FieldStringOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldTimeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldTimeOutlined.js new file mode 100644 index 00000000..6680c38b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FieldTimeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FieldTimeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FieldTimeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FieldTimeOutlined = function FieldTimeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FieldTimeOutlined["default"] + }), null); +}; + +FieldTimeOutlined.displayName = 'FieldTimeOutlined'; +FieldTimeOutlined.inheritAttrs = false; +var _default = FieldTimeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddFilled.js new file mode 100644 index 00000000..ad241544 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileAddFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileAddFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileAddFilled = function FileAddFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileAddFilled["default"] + }), null); +}; + +FileAddFilled.displayName = 'FileAddFilled'; +FileAddFilled.inheritAttrs = false; +var _default = FileAddFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddOutlined.js new file mode 100644 index 00000000..03e5baf1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileAddOutlined = function FileAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileAddOutlined["default"] + }), null); +}; + +FileAddOutlined.displayName = 'FileAddOutlined'; +FileAddOutlined.inheritAttrs = false; +var _default = FileAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddTwoTone.js new file mode 100644 index 00000000..a65d7ecb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileAddTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileAddTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileAddTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileAddTwoTone = function FileAddTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileAddTwoTone["default"] + }), null); +}; + +FileAddTwoTone.displayName = 'FileAddTwoTone'; +FileAddTwoTone.inheritAttrs = false; +var _default = FileAddTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileDoneOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileDoneOutlined.js new file mode 100644 index 00000000..e1702beb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileDoneOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileDoneOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileDoneOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileDoneOutlined = function FileDoneOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileDoneOutlined["default"] + }), null); +}; + +FileDoneOutlined.displayName = 'FileDoneOutlined'; +FileDoneOutlined.inheritAttrs = false; +var _default = FileDoneOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelFilled.js new file mode 100644 index 00000000..72a399b7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExcelFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExcelFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExcelFilled = function FileExcelFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExcelFilled["default"] + }), null); +}; + +FileExcelFilled.displayName = 'FileExcelFilled'; +FileExcelFilled.inheritAttrs = false; +var _default = FileExcelFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelOutlined.js new file mode 100644 index 00000000..fe675d8a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExcelOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExcelOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExcelOutlined = function FileExcelOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExcelOutlined["default"] + }), null); +}; + +FileExcelOutlined.displayName = 'FileExcelOutlined'; +FileExcelOutlined.inheritAttrs = false; +var _default = FileExcelOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelTwoTone.js new file mode 100644 index 00000000..bf6d2c64 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExcelTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExcelTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExcelTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExcelTwoTone = function FileExcelTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExcelTwoTone["default"] + }), null); +}; + +FileExcelTwoTone.displayName = 'FileExcelTwoTone'; +FileExcelTwoTone.inheritAttrs = false; +var _default = FileExcelTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationFilled.js new file mode 100644 index 00000000..26178fc7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExclamationFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExclamationFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExclamationFilled = function FileExclamationFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExclamationFilled["default"] + }), null); +}; + +FileExclamationFilled.displayName = 'FileExclamationFilled'; +FileExclamationFilled.inheritAttrs = false; +var _default = FileExclamationFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationOutlined.js new file mode 100644 index 00000000..cf5df343 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExclamationOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExclamationOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExclamationOutlined = function FileExclamationOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExclamationOutlined["default"] + }), null); +}; + +FileExclamationOutlined.displayName = 'FileExclamationOutlined'; +FileExclamationOutlined.inheritAttrs = false; +var _default = FileExclamationOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationTwoTone.js new file mode 100644 index 00000000..7dde258e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileExclamationTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileExclamationTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileExclamationTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileExclamationTwoTone = function FileExclamationTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileExclamationTwoTone["default"] + }), null); +}; + +FileExclamationTwoTone.displayName = 'FileExclamationTwoTone'; +FileExclamationTwoTone.inheritAttrs = false; +var _default = FileExclamationTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileFilled.js new file mode 100644 index 00000000..6afdd4b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileFilled = function FileFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileFilled["default"] + }), null); +}; + +FileFilled.displayName = 'FileFilled'; +FileFilled.inheritAttrs = false; +var _default = FileFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileGifOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileGifOutlined.js new file mode 100644 index 00000000..4b270c0f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileGifOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileGifOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileGifOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileGifOutlined = function FileGifOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileGifOutlined["default"] + }), null); +}; + +FileGifOutlined.displayName = 'FileGifOutlined'; +FileGifOutlined.inheritAttrs = false; +var _default = FileGifOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageFilled.js new file mode 100644 index 00000000..8b6f0048 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileImageFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileImageFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileImageFilled = function FileImageFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileImageFilled["default"] + }), null); +}; + +FileImageFilled.displayName = 'FileImageFilled'; +FileImageFilled.inheritAttrs = false; +var _default = FileImageFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageOutlined.js new file mode 100644 index 00000000..a0fee91c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileImageOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileImageOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileImageOutlined = function FileImageOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileImageOutlined["default"] + }), null); +}; + +FileImageOutlined.displayName = 'FileImageOutlined'; +FileImageOutlined.inheritAttrs = false; +var _default = FileImageOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageTwoTone.js new file mode 100644 index 00000000..6a63596b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileImageTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileImageTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileImageTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileImageTwoTone = function FileImageTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileImageTwoTone["default"] + }), null); +}; + +FileImageTwoTone.displayName = 'FileImageTwoTone'; +FileImageTwoTone.inheritAttrs = false; +var _default = FileImageTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileJpgOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileJpgOutlined.js new file mode 100644 index 00000000..1de23118 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileJpgOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileJpgOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileJpgOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileJpgOutlined = function FileJpgOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileJpgOutlined["default"] + }), null); +}; + +FileJpgOutlined.displayName = 'FileJpgOutlined'; +FileJpgOutlined.inheritAttrs = false; +var _default = FileJpgOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownFilled.js new file mode 100644 index 00000000..b47fcd35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileMarkdownFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileMarkdownFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileMarkdownFilled = function FileMarkdownFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileMarkdownFilled["default"] + }), null); +}; + +FileMarkdownFilled.displayName = 'FileMarkdownFilled'; +FileMarkdownFilled.inheritAttrs = false; +var _default = FileMarkdownFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownOutlined.js new file mode 100644 index 00000000..d9a2b84e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileMarkdownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileMarkdownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileMarkdownOutlined = function FileMarkdownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileMarkdownOutlined["default"] + }), null); +}; + +FileMarkdownOutlined.displayName = 'FileMarkdownOutlined'; +FileMarkdownOutlined.inheritAttrs = false; +var _default = FileMarkdownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownTwoTone.js new file mode 100644 index 00000000..85fff3ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileMarkdownTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileMarkdownTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileMarkdownTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileMarkdownTwoTone = function FileMarkdownTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileMarkdownTwoTone["default"] + }), null); +}; + +FileMarkdownTwoTone.displayName = 'FileMarkdownTwoTone'; +FileMarkdownTwoTone.inheritAttrs = false; +var _default = FileMarkdownTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileOutlined.js new file mode 100644 index 00000000..ac8f5b22 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileOutlined = function FileOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileOutlined["default"] + }), null); +}; + +FileOutlined.displayName = 'FileOutlined'; +FileOutlined.inheritAttrs = false; +var _default = FileOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfFilled.js new file mode 100644 index 00000000..8b0f31d8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePdfFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePdfFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePdfFilled = function FilePdfFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePdfFilled["default"] + }), null); +}; + +FilePdfFilled.displayName = 'FilePdfFilled'; +FilePdfFilled.inheritAttrs = false; +var _default = FilePdfFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfOutlined.js new file mode 100644 index 00000000..77dc474e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePdfOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePdfOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePdfOutlined = function FilePdfOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePdfOutlined["default"] + }), null); +}; + +FilePdfOutlined.displayName = 'FilePdfOutlined'; +FilePdfOutlined.inheritAttrs = false; +var _default = FilePdfOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfTwoTone.js new file mode 100644 index 00000000..cdecdfbf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePdfTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePdfTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePdfTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePdfTwoTone = function FilePdfTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePdfTwoTone["default"] + }), null); +}; + +FilePdfTwoTone.displayName = 'FilePdfTwoTone'; +FilePdfTwoTone.inheritAttrs = false; +var _default = FilePdfTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptFilled.js new file mode 100644 index 00000000..58d86840 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePptFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePptFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePptFilled = function FilePptFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePptFilled["default"] + }), null); +}; + +FilePptFilled.displayName = 'FilePptFilled'; +FilePptFilled.inheritAttrs = false; +var _default = FilePptFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptOutlined.js new file mode 100644 index 00000000..00a6d349 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePptOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePptOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePptOutlined = function FilePptOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePptOutlined["default"] + }), null); +}; + +FilePptOutlined.displayName = 'FilePptOutlined'; +FilePptOutlined.inheritAttrs = false; +var _default = FilePptOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptTwoTone.js new file mode 100644 index 00000000..d6c003ec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilePptTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilePptTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilePptTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilePptTwoTone = function FilePptTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilePptTwoTone["default"] + }), null); +}; + +FilePptTwoTone.displayName = 'FilePptTwoTone'; +FilePptTwoTone.inheritAttrs = false; +var _default = FilePptTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileProtectOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileProtectOutlined.js new file mode 100644 index 00000000..24304e8b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileProtectOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileProtectOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileProtectOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileProtectOutlined = function FileProtectOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileProtectOutlined["default"] + }), null); +}; + +FileProtectOutlined.displayName = 'FileProtectOutlined'; +FileProtectOutlined.inheritAttrs = false; +var _default = FileProtectOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSearchOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSearchOutlined.js new file mode 100644 index 00000000..10785b90 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSearchOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileSearchOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileSearchOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileSearchOutlined = function FileSearchOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileSearchOutlined["default"] + }), null); +}; + +FileSearchOutlined.displayName = 'FileSearchOutlined'; +FileSearchOutlined.inheritAttrs = false; +var _default = FileSearchOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSyncOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSyncOutlined.js new file mode 100644 index 00000000..85df4e16 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileSyncOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileSyncOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileSyncOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileSyncOutlined = function FileSyncOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileSyncOutlined["default"] + }), null); +}; + +FileSyncOutlined.displayName = 'FileSyncOutlined'; +FileSyncOutlined.inheritAttrs = false; +var _default = FileSyncOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextFilled.js new file mode 100644 index 00000000..bbdb843b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileTextFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileTextFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileTextFilled = function FileTextFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileTextFilled["default"] + }), null); +}; + +FileTextFilled.displayName = 'FileTextFilled'; +FileTextFilled.inheritAttrs = false; +var _default = FileTextFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextOutlined.js new file mode 100644 index 00000000..dcfafcef --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileTextOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileTextOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileTextOutlined = function FileTextOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileTextOutlined["default"] + }), null); +}; + +FileTextOutlined.displayName = 'FileTextOutlined'; +FileTextOutlined.inheritAttrs = false; +var _default = FileTextOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextTwoTone.js new file mode 100644 index 00000000..0f61cfd1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTextTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileTextTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileTextTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileTextTwoTone = function FileTextTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileTextTwoTone["default"] + }), null); +}; + +FileTextTwoTone.displayName = 'FileTextTwoTone'; +FileTextTwoTone.inheritAttrs = false; +var _default = FileTextTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTwoTone.js new file mode 100644 index 00000000..1df55352 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileTwoTone = function FileTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileTwoTone["default"] + }), null); +}; + +FileTwoTone.displayName = 'FileTwoTone'; +FileTwoTone.inheritAttrs = false; +var _default = FileTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownFilled.js new file mode 100644 index 00000000..bd19b46f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileUnknownFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileUnknownFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileUnknownFilled = function FileUnknownFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileUnknownFilled["default"] + }), null); +}; + +FileUnknownFilled.displayName = 'FileUnknownFilled'; +FileUnknownFilled.inheritAttrs = false; +var _default = FileUnknownFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownOutlined.js new file mode 100644 index 00000000..b3537453 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileUnknownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileUnknownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileUnknownOutlined = function FileUnknownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileUnknownOutlined["default"] + }), null); +}; + +FileUnknownOutlined.displayName = 'FileUnknownOutlined'; +FileUnknownOutlined.inheritAttrs = false; +var _default = FileUnknownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownTwoTone.js new file mode 100644 index 00000000..65289a2d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileUnknownTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileUnknownTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileUnknownTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileUnknownTwoTone = function FileUnknownTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileUnknownTwoTone["default"] + }), null); +}; + +FileUnknownTwoTone.displayName = 'FileUnknownTwoTone'; +FileUnknownTwoTone.inheritAttrs = false; +var _default = FileUnknownTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordFilled.js new file mode 100644 index 00000000..bcef44a3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileWordFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileWordFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileWordFilled = function FileWordFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileWordFilled["default"] + }), null); +}; + +FileWordFilled.displayName = 'FileWordFilled'; +FileWordFilled.inheritAttrs = false; +var _default = FileWordFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordOutlined.js new file mode 100644 index 00000000..86f652d4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileWordOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileWordOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileWordOutlined = function FileWordOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileWordOutlined["default"] + }), null); +}; + +FileWordOutlined.displayName = 'FileWordOutlined'; +FileWordOutlined.inheritAttrs = false; +var _default = FileWordOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordTwoTone.js new file mode 100644 index 00000000..07e22cf7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileWordTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileWordTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileWordTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileWordTwoTone = function FileWordTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileWordTwoTone["default"] + }), null); +}; + +FileWordTwoTone.displayName = 'FileWordTwoTone'; +FileWordTwoTone.inheritAttrs = false; +var _default = FileWordTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipFilled.js new file mode 100644 index 00000000..30cef0ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileZipFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileZipFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileZipFilled = function FileZipFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileZipFilled["default"] + }), null); +}; + +FileZipFilled.displayName = 'FileZipFilled'; +FileZipFilled.inheritAttrs = false; +var _default = FileZipFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipOutlined.js new file mode 100644 index 00000000..24775946 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileZipOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileZipOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileZipOutlined = function FileZipOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileZipOutlined["default"] + }), null); +}; + +FileZipOutlined.displayName = 'FileZipOutlined'; +FileZipOutlined.inheritAttrs = false; +var _default = FileZipOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipTwoTone.js new file mode 100644 index 00000000..5aa159df --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FileZipTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FileZipTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FileZipTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FileZipTwoTone = function FileZipTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FileZipTwoTone["default"] + }), null); +}; + +FileZipTwoTone.displayName = 'FileZipTwoTone'; +FileZipTwoTone.inheritAttrs = false; +var _default = FileZipTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterFilled.js new file mode 100644 index 00000000..afd64a62 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilterFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilterFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilterFilled = function FilterFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilterFilled["default"] + }), null); +}; + +FilterFilled.displayName = 'FilterFilled'; +FilterFilled.inheritAttrs = false; +var _default = FilterFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterOutlined.js new file mode 100644 index 00000000..d2157930 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilterOutlined = function FilterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilterOutlined["default"] + }), null); +}; + +FilterOutlined.displayName = 'FilterOutlined'; +FilterOutlined.inheritAttrs = false; +var _default = FilterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterTwoTone.js new file mode 100644 index 00000000..0727ced0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FilterTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FilterTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FilterTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FilterTwoTone = function FilterTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FilterTwoTone["default"] + }), null); +}; + +FilterTwoTone.displayName = 'FilterTwoTone'; +FilterTwoTone.inheritAttrs = false; +var _default = FilterTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireFilled.js new file mode 100644 index 00000000..0bd7fc23 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FireFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FireFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FireFilled = function FireFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FireFilled["default"] + }), null); +}; + +FireFilled.displayName = 'FireFilled'; +FireFilled.inheritAttrs = false; +var _default = FireFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireOutlined.js new file mode 100644 index 00000000..c3c7577b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FireOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FireOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FireOutlined = function FireOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FireOutlined["default"] + }), null); +}; + +FireOutlined.displayName = 'FireOutlined'; +FireOutlined.inheritAttrs = false; +var _default = FireOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireTwoTone.js new file mode 100644 index 00000000..236c6c97 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FireTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FireTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FireTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FireTwoTone = function FireTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FireTwoTone["default"] + }), null); +}; + +FireTwoTone.displayName = 'FireTwoTone'; +FireTwoTone.inheritAttrs = false; +var _default = FireTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagFilled.js new file mode 100644 index 00000000..42c5d95b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FlagFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FlagFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FlagFilled = function FlagFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FlagFilled["default"] + }), null); +}; + +FlagFilled.displayName = 'FlagFilled'; +FlagFilled.inheritAttrs = false; +var _default = FlagFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagOutlined.js new file mode 100644 index 00000000..a8671621 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FlagOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FlagOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FlagOutlined = function FlagOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FlagOutlined["default"] + }), null); +}; + +FlagOutlined.displayName = 'FlagOutlined'; +FlagOutlined.inheritAttrs = false; +var _default = FlagOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagTwoTone.js new file mode 100644 index 00000000..e19cf7ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FlagTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FlagTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FlagTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FlagTwoTone = function FlagTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FlagTwoTone["default"] + }), null); +}; + +FlagTwoTone.displayName = 'FlagTwoTone'; +FlagTwoTone.inheritAttrs = false; +var _default = FlagTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddFilled.js new file mode 100644 index 00000000..d177bd8e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderAddFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderAddFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderAddFilled = function FolderAddFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderAddFilled["default"] + }), null); +}; + +FolderAddFilled.displayName = 'FolderAddFilled'; +FolderAddFilled.inheritAttrs = false; +var _default = FolderAddFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddOutlined.js new file mode 100644 index 00000000..809ca16e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderAddOutlined = function FolderAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderAddOutlined["default"] + }), null); +}; + +FolderAddOutlined.displayName = 'FolderAddOutlined'; +FolderAddOutlined.inheritAttrs = false; +var _default = FolderAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddTwoTone.js new file mode 100644 index 00000000..829b32f6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderAddTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderAddTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderAddTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderAddTwoTone = function FolderAddTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderAddTwoTone["default"] + }), null); +}; + +FolderAddTwoTone.displayName = 'FolderAddTwoTone'; +FolderAddTwoTone.inheritAttrs = false; +var _default = FolderAddTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderFilled.js new file mode 100644 index 00000000..bb2b7f0a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderFilled = function FolderFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderFilled["default"] + }), null); +}; + +FolderFilled.displayName = 'FolderFilled'; +FolderFilled.inheritAttrs = false; +var _default = FolderFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenFilled.js new file mode 100644 index 00000000..0e66f1c5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderOpenFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderOpenFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderOpenFilled = function FolderOpenFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderOpenFilled["default"] + }), null); +}; + +FolderOpenFilled.displayName = 'FolderOpenFilled'; +FolderOpenFilled.inheritAttrs = false; +var _default = FolderOpenFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenOutlined.js new file mode 100644 index 00000000..b9d6fdd0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderOpenOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderOpenOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderOpenOutlined = function FolderOpenOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderOpenOutlined["default"] + }), null); +}; + +FolderOpenOutlined.displayName = 'FolderOpenOutlined'; +FolderOpenOutlined.inheritAttrs = false; +var _default = FolderOpenOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenTwoTone.js new file mode 100644 index 00000000..a70cf7c0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOpenTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderOpenTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderOpenTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderOpenTwoTone = function FolderOpenTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderOpenTwoTone["default"] + }), null); +}; + +FolderOpenTwoTone.displayName = 'FolderOpenTwoTone'; +FolderOpenTwoTone.inheritAttrs = false; +var _default = FolderOpenTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOutlined.js new file mode 100644 index 00000000..0359d068 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderOutlined = function FolderOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderOutlined["default"] + }), null); +}; + +FolderOutlined.displayName = 'FolderOutlined'; +FolderOutlined.inheritAttrs = false; +var _default = FolderOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderTwoTone.js new file mode 100644 index 00000000..ca186340 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderTwoTone = function FolderTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderTwoTone["default"] + }), null); +}; + +FolderTwoTone.displayName = 'FolderTwoTone'; +FolderTwoTone.inheritAttrs = false; +var _default = FolderTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderViewOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderViewOutlined.js new file mode 100644 index 00000000..e4d96209 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FolderViewOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FolderViewOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FolderViewOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FolderViewOutlined = function FolderViewOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FolderViewOutlined["default"] + }), null); +}; + +FolderViewOutlined.displayName = 'FolderViewOutlined'; +FolderViewOutlined.inheritAttrs = false; +var _default = FolderViewOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontColorsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontColorsOutlined.js new file mode 100644 index 00000000..cef518b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontColorsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FontColorsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FontColorsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FontColorsOutlined = function FontColorsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FontColorsOutlined["default"] + }), null); +}; + +FontColorsOutlined.displayName = 'FontColorsOutlined'; +FontColorsOutlined.inheritAttrs = false; +var _default = FontColorsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontSizeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontSizeOutlined.js new file mode 100644 index 00000000..1696bb57 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FontSizeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FontSizeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FontSizeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FontSizeOutlined = function FontSizeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FontSizeOutlined["default"] + }), null); +}; + +FontSizeOutlined.displayName = 'FontSizeOutlined'; +FontSizeOutlined.inheritAttrs = false; +var _default = FontSizeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForkOutlined.js new file mode 100644 index 00000000..c9285a0d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ForkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ForkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ForkOutlined = function ForkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ForkOutlined["default"] + }), null); +}; + +ForkOutlined.displayName = 'ForkOutlined'; +ForkOutlined.inheritAttrs = false; +var _default = ForkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormOutlined.js new file mode 100644 index 00000000..9a65e144 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FormOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FormOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FormOutlined = function FormOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FormOutlined["default"] + }), null); +}; + +FormOutlined.displayName = 'FormOutlined'; +FormOutlined.inheritAttrs = false; +var _default = FormOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterFilled.js new file mode 100644 index 00000000..1bc5ef00 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FormatPainterFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FormatPainterFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FormatPainterFilled = function FormatPainterFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FormatPainterFilled["default"] + }), null); +}; + +FormatPainterFilled.displayName = 'FormatPainterFilled'; +FormatPainterFilled.inheritAttrs = false; +var _default = FormatPainterFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterOutlined.js new file mode 100644 index 00000000..3906c00d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FormatPainterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FormatPainterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FormatPainterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FormatPainterOutlined = function FormatPainterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FormatPainterOutlined["default"] + }), null); +}; + +FormatPainterOutlined.displayName = 'FormatPainterOutlined'; +FormatPainterOutlined.inheritAttrs = false; +var _default = FormatPainterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardFilled.js new file mode 100644 index 00000000..140169f1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ForwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ForwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ForwardFilled = function ForwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ForwardFilled["default"] + }), null); +}; + +ForwardFilled.displayName = 'ForwardFilled'; +ForwardFilled.inheritAttrs = false; +var _default = ForwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardOutlined.js new file mode 100644 index 00000000..6b18744a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ForwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ForwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ForwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ForwardOutlined = function ForwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ForwardOutlined["default"] + }), null); +}; + +ForwardOutlined.displayName = 'ForwardOutlined'; +ForwardOutlined.inheritAttrs = false; +var _default = ForwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownFilled.js new file mode 100644 index 00000000..0acc9e0e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FrownFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FrownFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FrownFilled = function FrownFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FrownFilled["default"] + }), null); +}; + +FrownFilled.displayName = 'FrownFilled'; +FrownFilled.inheritAttrs = false; +var _default = FrownFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownOutlined.js new file mode 100644 index 00000000..013a80ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FrownOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FrownOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FrownOutlined = function FrownOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FrownOutlined["default"] + }), null); +}; + +FrownOutlined.displayName = 'FrownOutlined'; +FrownOutlined.inheritAttrs = false; +var _default = FrownOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownTwoTone.js new file mode 100644 index 00000000..0563ed71 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FrownTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FrownTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FrownTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FrownTwoTone = function FrownTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FrownTwoTone["default"] + }), null); +}; + +FrownTwoTone.displayName = 'FrownTwoTone'; +FrownTwoTone.inheritAttrs = false; +var _default = FrownTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenExitOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenExitOutlined.js new file mode 100644 index 00000000..4a24da6b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenExitOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FullscreenExitOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FullscreenExitOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FullscreenExitOutlined = function FullscreenExitOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FullscreenExitOutlined["default"] + }), null); +}; + +FullscreenExitOutlined.displayName = 'FullscreenExitOutlined'; +FullscreenExitOutlined.inheritAttrs = false; +var _default = FullscreenExitOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenOutlined.js new file mode 100644 index 00000000..0ac3dd9e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FullscreenOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FullscreenOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FullscreenOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FullscreenOutlined = function FullscreenOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FullscreenOutlined["default"] + }), null); +}; + +FullscreenOutlined.displayName = 'FullscreenOutlined'; +FullscreenOutlined.inheritAttrs = false; +var _default = FullscreenOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunctionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunctionOutlined.js new file mode 100644 index 00000000..f53df155 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunctionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FunctionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FunctionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FunctionOutlined = function FunctionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FunctionOutlined["default"] + }), null); +}; + +FunctionOutlined.displayName = 'FunctionOutlined'; +FunctionOutlined.inheritAttrs = false; +var _default = FunctionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundFilled.js new file mode 100644 index 00000000..1bee2c6c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FundFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FundFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FundFilled = function FundFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FundFilled["default"] + }), null); +}; + +FundFilled.displayName = 'FundFilled'; +FundFilled.inheritAttrs = false; +var _default = FundFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundOutlined.js new file mode 100644 index 00000000..fe14444f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FundOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FundOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FundOutlined = function FundOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FundOutlined["default"] + }), null); +}; + +FundOutlined.displayName = 'FundOutlined'; +FundOutlined.inheritAttrs = false; +var _default = FundOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundProjectionScreenOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundProjectionScreenOutlined.js new file mode 100644 index 00000000..c22c5e86 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundProjectionScreenOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FundProjectionScreenOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FundProjectionScreenOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FundProjectionScreenOutlined = function FundProjectionScreenOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FundProjectionScreenOutlined["default"] + }), null); +}; + +FundProjectionScreenOutlined.displayName = 'FundProjectionScreenOutlined'; +FundProjectionScreenOutlined.inheritAttrs = false; +var _default = FundProjectionScreenOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundTwoTone.js new file mode 100644 index 00000000..3fa38aa9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FundTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FundTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FundTwoTone = function FundTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FundTwoTone["default"] + }), null); +}; + +FundTwoTone.displayName = 'FundTwoTone'; +FundTwoTone.inheritAttrs = false; +var _default = FundTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundViewOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundViewOutlined.js new file mode 100644 index 00000000..728e4fa1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FundViewOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FundViewOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FundViewOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FundViewOutlined = function FundViewOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FundViewOutlined["default"] + }), null); +}; + +FundViewOutlined.displayName = 'FundViewOutlined'; +FundViewOutlined.inheritAttrs = false; +var _default = FundViewOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotFilled.js new file mode 100644 index 00000000..d0b165d0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FunnelPlotFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FunnelPlotFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FunnelPlotFilled = function FunnelPlotFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FunnelPlotFilled["default"] + }), null); +}; + +FunnelPlotFilled.displayName = 'FunnelPlotFilled'; +FunnelPlotFilled.inheritAttrs = false; +var _default = FunnelPlotFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotOutlined.js new file mode 100644 index 00000000..8356cde7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FunnelPlotOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FunnelPlotOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FunnelPlotOutlined = function FunnelPlotOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FunnelPlotOutlined["default"] + }), null); +}; + +FunnelPlotOutlined.displayName = 'FunnelPlotOutlined'; +FunnelPlotOutlined.inheritAttrs = false; +var _default = FunnelPlotOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotTwoTone.js new file mode 100644 index 00000000..b5f7b176 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/FunnelPlotTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _FunnelPlotTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/FunnelPlotTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var FunnelPlotTwoTone = function FunnelPlotTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _FunnelPlotTwoTone["default"] + }), null); +}; + +FunnelPlotTwoTone.displayName = 'FunnelPlotTwoTone'; +FunnelPlotTwoTone.inheritAttrs = false; +var _default = FunnelPlotTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GatewayOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GatewayOutlined.js new file mode 100644 index 00000000..1207d7ec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GatewayOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GatewayOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GatewayOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GatewayOutlined = function GatewayOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GatewayOutlined["default"] + }), null); +}; + +GatewayOutlined.displayName = 'GatewayOutlined'; +GatewayOutlined.inheritAttrs = false; +var _default = GatewayOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GifOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GifOutlined.js new file mode 100644 index 00000000..2d6ada94 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GifOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GifOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GifOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GifOutlined = function GifOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GifOutlined["default"] + }), null); +}; + +GifOutlined.displayName = 'GifOutlined'; +GifOutlined.inheritAttrs = false; +var _default = GifOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftFilled.js new file mode 100644 index 00000000..7b53c441 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GiftFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GiftFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GiftFilled = function GiftFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GiftFilled["default"] + }), null); +}; + +GiftFilled.displayName = 'GiftFilled'; +GiftFilled.inheritAttrs = false; +var _default = GiftFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftOutlined.js new file mode 100644 index 00000000..be3bb2a7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GiftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GiftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GiftOutlined = function GiftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GiftOutlined["default"] + }), null); +}; + +GiftOutlined.displayName = 'GiftOutlined'; +GiftOutlined.inheritAttrs = false; +var _default = GiftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftTwoTone.js new file mode 100644 index 00000000..da79cb6b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GiftTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GiftTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GiftTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GiftTwoTone = function GiftTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GiftTwoTone["default"] + }), null); +}; + +GiftTwoTone.displayName = 'GiftTwoTone'; +GiftTwoTone.inheritAttrs = false; +var _default = GiftTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubFilled.js new file mode 100644 index 00000000..b93dffb1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GithubFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GithubFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GithubFilled = function GithubFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GithubFilled["default"] + }), null); +}; + +GithubFilled.displayName = 'GithubFilled'; +GithubFilled.inheritAttrs = false; +var _default = GithubFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubOutlined.js new file mode 100644 index 00000000..51cf38aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GithubOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GithubOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GithubOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GithubOutlined = function GithubOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GithubOutlined["default"] + }), null); +}; + +GithubOutlined.displayName = 'GithubOutlined'; +GithubOutlined.inheritAttrs = false; +var _default = GithubOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabFilled.js new file mode 100644 index 00000000..1712844c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GitlabFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GitlabFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GitlabFilled = function GitlabFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GitlabFilled["default"] + }), null); +}; + +GitlabFilled.displayName = 'GitlabFilled'; +GitlabFilled.inheritAttrs = false; +var _default = GitlabFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabOutlined.js new file mode 100644 index 00000000..66486974 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GitlabOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GitlabOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GitlabOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GitlabOutlined = function GitlabOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GitlabOutlined["default"] + }), null); +}; + +GitlabOutlined.displayName = 'GitlabOutlined'; +GitlabOutlined.inheritAttrs = false; +var _default = GitlabOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GlobalOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GlobalOutlined.js new file mode 100644 index 00000000..46d672f6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GlobalOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GlobalOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GlobalOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GlobalOutlined = function GlobalOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GlobalOutlined["default"] + }), null); +}; + +GlobalOutlined.displayName = 'GlobalOutlined'; +GlobalOutlined.inheritAttrs = false; +var _default = GlobalOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldFilled.js new file mode 100644 index 00000000..ad2f9ea0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoldFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoldFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoldFilled = function GoldFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoldFilled["default"] + }), null); +}; + +GoldFilled.displayName = 'GoldFilled'; +GoldFilled.inheritAttrs = false; +var _default = GoldFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldOutlined.js new file mode 100644 index 00000000..5197c1fc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoldOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoldOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoldOutlined = function GoldOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoldOutlined["default"] + }), null); +}; + +GoldOutlined.displayName = 'GoldOutlined'; +GoldOutlined.inheritAttrs = false; +var _default = GoldOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldTwoTone.js new file mode 100644 index 00000000..17fcc487 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoldTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoldTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoldTwoTone = function GoldTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoldTwoTone["default"] + }), null); +}; + +GoldTwoTone.displayName = 'GoldTwoTone'; +GoldTwoTone.inheritAttrs = false; +var _default = GoldTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldenFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldenFilled.js new file mode 100644 index 00000000..9a2d9d8c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoldenFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoldenFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoldenFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoldenFilled = function GoldenFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoldenFilled["default"] + }), null); +}; + +GoldenFilled.displayName = 'GoldenFilled'; +GoldenFilled.inheritAttrs = false; +var _default = GoldenFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleCircleFilled.js new file mode 100644 index 00000000..3f19f213 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoogleCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoogleCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoogleCircleFilled = function GoogleCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoogleCircleFilled["default"] + }), null); +}; + +GoogleCircleFilled.displayName = 'GoogleCircleFilled'; +GoogleCircleFilled.inheritAttrs = false; +var _default = GoogleCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleOutlined.js new file mode 100644 index 00000000..93825c4d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoogleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoogleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoogleOutlined = function GoogleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoogleOutlined["default"] + }), null); +}; + +GoogleOutlined.displayName = 'GoogleOutlined'; +GoogleOutlined.inheritAttrs = false; +var _default = GoogleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusCircleFilled.js new file mode 100644 index 00000000..1927de4a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GooglePlusCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GooglePlusCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GooglePlusCircleFilled = function GooglePlusCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GooglePlusCircleFilled["default"] + }), null); +}; + +GooglePlusCircleFilled.displayName = 'GooglePlusCircleFilled'; +GooglePlusCircleFilled.inheritAttrs = false; +var _default = GooglePlusCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusOutlined.js new file mode 100644 index 00000000..c365e82b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GooglePlusOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GooglePlusOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GooglePlusOutlined = function GooglePlusOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GooglePlusOutlined["default"] + }), null); +}; + +GooglePlusOutlined.displayName = 'GooglePlusOutlined'; +GooglePlusOutlined.inheritAttrs = false; +var _default = GooglePlusOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusSquareFilled.js new file mode 100644 index 00000000..cfb36380 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GooglePlusSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GooglePlusSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GooglePlusSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GooglePlusSquareFilled = function GooglePlusSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GooglePlusSquareFilled["default"] + }), null); +}; + +GooglePlusSquareFilled.displayName = 'GooglePlusSquareFilled'; +GooglePlusSquareFilled.inheritAttrs = false; +var _default = GooglePlusSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleSquareFilled.js new file mode 100644 index 00000000..70acb306 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GoogleSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GoogleSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GoogleSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GoogleSquareFilled = function GoogleSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GoogleSquareFilled["default"] + }), null); +}; + +GoogleSquareFilled.displayName = 'GoogleSquareFilled'; +GoogleSquareFilled.inheritAttrs = false; +var _default = GoogleSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GroupOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GroupOutlined.js new file mode 100644 index 00000000..acfafda9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/GroupOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _GroupOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/GroupOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var GroupOutlined = function GroupOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _GroupOutlined["default"] + }), null); +}; + +GroupOutlined.displayName = 'GroupOutlined'; +GroupOutlined.inheritAttrs = false; +var _default = GroupOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddFilled.js new file mode 100644 index 00000000..75b5c6c4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HddFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HddFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HddFilled = function HddFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HddFilled["default"] + }), null); +}; + +HddFilled.displayName = 'HddFilled'; +HddFilled.inheritAttrs = false; +var _default = HddFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddOutlined.js new file mode 100644 index 00000000..aa644b7e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HddOutlined = function HddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HddOutlined["default"] + }), null); +}; + +HddOutlined.displayName = 'HddOutlined'; +HddOutlined.inheritAttrs = false; +var _default = HddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddTwoTone.js new file mode 100644 index 00000000..97c03d7e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HddTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HddTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HddTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HddTwoTone = function HddTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HddTwoTone["default"] + }), null); +}; + +HddTwoTone.displayName = 'HddTwoTone'; +HddTwoTone.inheritAttrs = false; +var _default = HddTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartFilled.js new file mode 100644 index 00000000..f37920cc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HeartFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HeartFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HeartFilled = function HeartFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HeartFilled["default"] + }), null); +}; + +HeartFilled.displayName = 'HeartFilled'; +HeartFilled.inheritAttrs = false; +var _default = HeartFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartOutlined.js new file mode 100644 index 00000000..1414cabf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HeartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HeartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HeartOutlined = function HeartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HeartOutlined["default"] + }), null); +}; + +HeartOutlined.displayName = 'HeartOutlined'; +HeartOutlined.inheritAttrs = false; +var _default = HeartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartTwoTone.js new file mode 100644 index 00000000..5cd0c685 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeartTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HeartTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HeartTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HeartTwoTone = function HeartTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HeartTwoTone["default"] + }), null); +}; + +HeartTwoTone.displayName = 'HeartTwoTone'; +HeartTwoTone.inheritAttrs = false; +var _default = HeartTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeatMapOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeatMapOutlined.js new file mode 100644 index 00000000..da4262bc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HeatMapOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HeatMapOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HeatMapOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HeatMapOutlined = function HeatMapOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HeatMapOutlined["default"] + }), null); +}; + +HeatMapOutlined.displayName = 'HeatMapOutlined'; +HeatMapOutlined.inheritAttrs = false; +var _default = HeatMapOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightFilled.js new file mode 100644 index 00000000..4334402b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HighlightFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HighlightFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HighlightFilled = function HighlightFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HighlightFilled["default"] + }), null); +}; + +HighlightFilled.displayName = 'HighlightFilled'; +HighlightFilled.inheritAttrs = false; +var _default = HighlightFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightOutlined.js new file mode 100644 index 00000000..872e82ca --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HighlightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HighlightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HighlightOutlined = function HighlightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HighlightOutlined["default"] + }), null); +}; + +HighlightOutlined.displayName = 'HighlightOutlined'; +HighlightOutlined.inheritAttrs = false; +var _default = HighlightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightTwoTone.js new file mode 100644 index 00000000..a70a1be8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HighlightTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HighlightTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HighlightTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HighlightTwoTone = function HighlightTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HighlightTwoTone["default"] + }), null); +}; + +HighlightTwoTone.displayName = 'HighlightTwoTone'; +HighlightTwoTone.inheritAttrs = false; +var _default = HighlightTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HistoryOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HistoryOutlined.js new file mode 100644 index 00000000..c3c2329b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HistoryOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HistoryOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HistoryOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HistoryOutlined = function HistoryOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HistoryOutlined["default"] + }), null); +}; + +HistoryOutlined.displayName = 'HistoryOutlined'; +HistoryOutlined.inheritAttrs = false; +var _default = HistoryOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HolderOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HolderOutlined.js new file mode 100644 index 00000000..26b3714d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HolderOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HolderOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HolderOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HolderOutlined = function HolderOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HolderOutlined["default"] + }), null); +}; + +HolderOutlined.displayName = 'HolderOutlined'; +HolderOutlined.inheritAttrs = false; +var _default = HolderOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeFilled.js new file mode 100644 index 00000000..d14acac4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HomeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HomeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HomeFilled = function HomeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HomeFilled["default"] + }), null); +}; + +HomeFilled.displayName = 'HomeFilled'; +HomeFilled.inheritAttrs = false; +var _default = HomeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeOutlined.js new file mode 100644 index 00000000..143a3329 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HomeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HomeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HomeOutlined = function HomeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HomeOutlined["default"] + }), null); +}; + +HomeOutlined.displayName = 'HomeOutlined'; +HomeOutlined.inheritAttrs = false; +var _default = HomeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeTwoTone.js new file mode 100644 index 00000000..3cc04e6e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HomeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HomeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HomeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HomeTwoTone = function HomeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HomeTwoTone["default"] + }), null); +}; + +HomeTwoTone.displayName = 'HomeTwoTone'; +HomeTwoTone.inheritAttrs = false; +var _default = HomeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassFilled.js new file mode 100644 index 00000000..dcb22ba3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HourglassFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HourglassFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HourglassFilled = function HourglassFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HourglassFilled["default"] + }), null); +}; + +HourglassFilled.displayName = 'HourglassFilled'; +HourglassFilled.inheritAttrs = false; +var _default = HourglassFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassOutlined.js new file mode 100644 index 00000000..7fd87108 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HourglassOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HourglassOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HourglassOutlined = function HourglassOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HourglassOutlined["default"] + }), null); +}; + +HourglassOutlined.displayName = 'HourglassOutlined'; +HourglassOutlined.inheritAttrs = false; +var _default = HourglassOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassTwoTone.js new file mode 100644 index 00000000..42fb11a7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/HourglassTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _HourglassTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/HourglassTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var HourglassTwoTone = function HourglassTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _HourglassTwoTone["default"] + }), null); +}; + +HourglassTwoTone.displayName = 'HourglassTwoTone'; +HourglassTwoTone.inheritAttrs = false; +var _default = HourglassTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Filled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Filled.js new file mode 100644 index 00000000..50642a5d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Filled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _Html5Filled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/Html5Filled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Html5Filled = function Html5Filled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _Html5Filled["default"] + }), null); +}; + +Html5Filled.displayName = 'Html5Filled'; +Html5Filled.inheritAttrs = false; +var _default = Html5Filled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Outlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Outlined.js new file mode 100644 index 00000000..04d727e5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5Outlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _Html5Outlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/Html5Outlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Html5Outlined = function Html5Outlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _Html5Outlined["default"] + }), null); +}; + +Html5Outlined.displayName = 'Html5Outlined'; +Html5Outlined.inheritAttrs = false; +var _default = Html5Outlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5TwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5TwoTone.js new file mode 100644 index 00000000..a09c1fe2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Html5TwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _Html5TwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/Html5TwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Html5TwoTone = function Html5TwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _Html5TwoTone["default"] + }), null); +}; + +Html5TwoTone.displayName = 'Html5TwoTone'; +Html5TwoTone.inheritAttrs = false; +var _default = Html5TwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardFilled.js new file mode 100644 index 00000000..5c4e0cbf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IdcardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IdcardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IdcardFilled = function IdcardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IdcardFilled["default"] + }), null); +}; + +IdcardFilled.displayName = 'IdcardFilled'; +IdcardFilled.inheritAttrs = false; +var _default = IdcardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardOutlined.js new file mode 100644 index 00000000..b30f3bc0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IdcardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IdcardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IdcardOutlined = function IdcardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IdcardOutlined["default"] + }), null); +}; + +IdcardOutlined.displayName = 'IdcardOutlined'; +IdcardOutlined.inheritAttrs = false; +var _default = IdcardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardTwoTone.js new file mode 100644 index 00000000..d08a67d6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IdcardTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IdcardTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IdcardTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IdcardTwoTone = function IdcardTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IdcardTwoTone["default"] + }), null); +}; + +IdcardTwoTone.displayName = 'IdcardTwoTone'; +IdcardTwoTone.inheritAttrs = false; +var _default = IdcardTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeCircleFilled.js new file mode 100644 index 00000000..77b5b10f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IeCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IeCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IeCircleFilled = function IeCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IeCircleFilled["default"] + }), null); +}; + +IeCircleFilled.displayName = 'IeCircleFilled'; +IeCircleFilled.inheritAttrs = false; +var _default = IeCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeOutlined.js new file mode 100644 index 00000000..7f706d9d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IeOutlined = function IeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IeOutlined["default"] + }), null); +}; + +IeOutlined.displayName = 'IeOutlined'; +IeOutlined.inheritAttrs = false; +var _default = IeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeSquareFilled.js new file mode 100644 index 00000000..48e9cff6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IeSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IeSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IeSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IeSquareFilled = function IeSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IeSquareFilled["default"] + }), null); +}; + +IeSquareFilled.displayName = 'IeSquareFilled'; +IeSquareFilled.inheritAttrs = false; +var _default = IeSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ImportOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ImportOutlined.js new file mode 100644 index 00000000..d5d1324c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ImportOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ImportOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ImportOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ImportOutlined = function ImportOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ImportOutlined["default"] + }), null); +}; + +ImportOutlined.displayName = 'ImportOutlined'; +ImportOutlined.inheritAttrs = false; +var _default = ImportOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InboxOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InboxOutlined.js new file mode 100644 index 00000000..6d491756 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InboxOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InboxOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InboxOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InboxOutlined = function InboxOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InboxOutlined["default"] + }), null); +}; + +InboxOutlined.displayName = 'InboxOutlined'; +InboxOutlined.inheritAttrs = false; +var _default = InboxOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleFilled.js new file mode 100644 index 00000000..58d5af31 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InfoCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InfoCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InfoCircleFilled = function InfoCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InfoCircleFilled["default"] + }), null); +}; + +InfoCircleFilled.displayName = 'InfoCircleFilled'; +InfoCircleFilled.inheritAttrs = false; +var _default = InfoCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleOutlined.js new file mode 100644 index 00000000..ad2653a7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InfoCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InfoCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InfoCircleOutlined = function InfoCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InfoCircleOutlined["default"] + }), null); +}; + +InfoCircleOutlined.displayName = 'InfoCircleOutlined'; +InfoCircleOutlined.inheritAttrs = false; +var _default = InfoCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleTwoTone.js new file mode 100644 index 00000000..08329151 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InfoCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InfoCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InfoCircleTwoTone = function InfoCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InfoCircleTwoTone["default"] + }), null); +}; + +InfoCircleTwoTone.displayName = 'InfoCircleTwoTone'; +InfoCircleTwoTone.inheritAttrs = false; +var _default = InfoCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoOutlined.js new file mode 100644 index 00000000..0d648e90 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InfoOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InfoOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InfoOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InfoOutlined = function InfoOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InfoOutlined["default"] + }), null); +}; + +InfoOutlined.displayName = 'InfoOutlined'; +InfoOutlined.inheritAttrs = false; +var _default = InfoOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowAboveOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowAboveOutlined.js new file mode 100644 index 00000000..45efc1ff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowAboveOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsertRowAboveOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsertRowAboveOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsertRowAboveOutlined = function InsertRowAboveOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsertRowAboveOutlined["default"] + }), null); +}; + +InsertRowAboveOutlined.displayName = 'InsertRowAboveOutlined'; +InsertRowAboveOutlined.inheritAttrs = false; +var _default = InsertRowAboveOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowBelowOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowBelowOutlined.js new file mode 100644 index 00000000..dd220e26 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowBelowOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsertRowBelowOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsertRowBelowOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsertRowBelowOutlined = function InsertRowBelowOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsertRowBelowOutlined["default"] + }), null); +}; + +InsertRowBelowOutlined.displayName = 'InsertRowBelowOutlined'; +InsertRowBelowOutlined.inheritAttrs = false; +var _default = InsertRowBelowOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowLeftOutlined.js new file mode 100644 index 00000000..67d4cdc2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsertRowLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsertRowLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsertRowLeftOutlined = function InsertRowLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsertRowLeftOutlined["default"] + }), null); +}; + +InsertRowLeftOutlined.displayName = 'InsertRowLeftOutlined'; +InsertRowLeftOutlined.inheritAttrs = false; +var _default = InsertRowLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowRightOutlined.js new file mode 100644 index 00000000..1361c2a5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsertRowRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsertRowRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsertRowRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsertRowRightOutlined = function InsertRowRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsertRowRightOutlined["default"] + }), null); +}; + +InsertRowRightOutlined.displayName = 'InsertRowRightOutlined'; +InsertRowRightOutlined.inheritAttrs = false; +var _default = InsertRowRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramFilled.js new file mode 100644 index 00000000..79f42a54 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InstagramFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InstagramFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InstagramFilled = function InstagramFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InstagramFilled["default"] + }), null); +}; + +InstagramFilled.displayName = 'InstagramFilled'; +InstagramFilled.inheritAttrs = false; +var _default = InstagramFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramOutlined.js new file mode 100644 index 00000000..e885f8ee --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InstagramOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InstagramOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InstagramOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InstagramOutlined = function InstagramOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InstagramOutlined["default"] + }), null); +}; + +InstagramOutlined.displayName = 'InstagramOutlined'; +InstagramOutlined.inheritAttrs = false; +var _default = InstagramOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceFilled.js new file mode 100644 index 00000000..6b0a4797 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsuranceFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsuranceFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsuranceFilled = function InsuranceFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsuranceFilled["default"] + }), null); +}; + +InsuranceFilled.displayName = 'InsuranceFilled'; +InsuranceFilled.inheritAttrs = false; +var _default = InsuranceFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceOutlined.js new file mode 100644 index 00000000..e733c5ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsuranceOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsuranceOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsuranceOutlined = function InsuranceOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsuranceOutlined["default"] + }), null); +}; + +InsuranceOutlined.displayName = 'InsuranceOutlined'; +InsuranceOutlined.inheritAttrs = false; +var _default = InsuranceOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceTwoTone.js new file mode 100644 index 00000000..8322b9f2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InsuranceTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InsuranceTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InsuranceTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InsuranceTwoTone = function InsuranceTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InsuranceTwoTone["default"] + }), null); +}; + +InsuranceTwoTone.displayName = 'InsuranceTwoTone'; +InsuranceTwoTone.inheritAttrs = false; +var _default = InsuranceTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionFilled.js new file mode 100644 index 00000000..13d840c9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InteractionFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InteractionFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InteractionFilled = function InteractionFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InteractionFilled["default"] + }), null); +}; + +InteractionFilled.displayName = 'InteractionFilled'; +InteractionFilled.inheritAttrs = false; +var _default = InteractionFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionOutlined.js new file mode 100644 index 00000000..c3e6e0e2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InteractionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InteractionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InteractionOutlined = function InteractionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InteractionOutlined["default"] + }), null); +}; + +InteractionOutlined.displayName = 'InteractionOutlined'; +InteractionOutlined.inheritAttrs = false; +var _default = InteractionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionTwoTone.js new file mode 100644 index 00000000..6ddccebc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/InteractionTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _InteractionTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/InteractionTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var InteractionTwoTone = function InteractionTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _InteractionTwoTone["default"] + }), null); +}; + +InteractionTwoTone.displayName = 'InteractionTwoTone'; +InteractionTwoTone.inheritAttrs = false; +var _default = InteractionTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IssuesCloseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IssuesCloseOutlined.js new file mode 100644 index 00000000..3cd1577b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/IssuesCloseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _IssuesCloseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/IssuesCloseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var IssuesCloseOutlined = function IssuesCloseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _IssuesCloseOutlined["default"] + }), null); +}; + +IssuesCloseOutlined.displayName = 'IssuesCloseOutlined'; +IssuesCloseOutlined.inheritAttrs = false; +var _default = IssuesCloseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ItalicOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ItalicOutlined.js new file mode 100644 index 00000000..a3b4404d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ItalicOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ItalicOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ItalicOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ItalicOutlined = function ItalicOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ItalicOutlined["default"] + }), null); +}; + +ItalicOutlined.displayName = 'ItalicOutlined'; +ItalicOutlined.inheritAttrs = false; +var _default = ItalicOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/KeyOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/KeyOutlined.js new file mode 100644 index 00000000..2245e37c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/KeyOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _KeyOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/KeyOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var KeyOutlined = function KeyOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _KeyOutlined["default"] + }), null); +}; + +KeyOutlined.displayName = 'KeyOutlined'; +KeyOutlined.inheritAttrs = false; +var _default = KeyOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LaptopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LaptopOutlined.js new file mode 100644 index 00000000..b87efdf3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LaptopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LaptopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LaptopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LaptopOutlined = function LaptopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LaptopOutlined["default"] + }), null); +}; + +LaptopOutlined.displayName = 'LaptopOutlined'; +LaptopOutlined.inheritAttrs = false; +var _default = LaptopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutFilled.js new file mode 100644 index 00000000..76dcb439 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LayoutFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LayoutFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LayoutFilled = function LayoutFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LayoutFilled["default"] + }), null); +}; + +LayoutFilled.displayName = 'LayoutFilled'; +LayoutFilled.inheritAttrs = false; +var _default = LayoutFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutOutlined.js new file mode 100644 index 00000000..3eb78652 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LayoutOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LayoutOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LayoutOutlined = function LayoutOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LayoutOutlined["default"] + }), null); +}; + +LayoutOutlined.displayName = 'LayoutOutlined'; +LayoutOutlined.inheritAttrs = false; +var _default = LayoutOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutTwoTone.js new file mode 100644 index 00000000..f012e205 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LayoutTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LayoutTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LayoutTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LayoutTwoTone = function LayoutTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LayoutTwoTone["default"] + }), null); +}; + +LayoutTwoTone.displayName = 'LayoutTwoTone'; +LayoutTwoTone.inheritAttrs = false; +var _default = LayoutTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleFilled.js new file mode 100644 index 00000000..b8af77ce --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftCircleFilled = function LeftCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftCircleFilled["default"] + }), null); +}; + +LeftCircleFilled.displayName = 'LeftCircleFilled'; +LeftCircleFilled.inheritAttrs = false; +var _default = LeftCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleOutlined.js new file mode 100644 index 00000000..0d60fe78 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftCircleOutlined = function LeftCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftCircleOutlined["default"] + }), null); +}; + +LeftCircleOutlined.displayName = 'LeftCircleOutlined'; +LeftCircleOutlined.inheritAttrs = false; +var _default = LeftCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleTwoTone.js new file mode 100644 index 00000000..4e255d2a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftCircleTwoTone = function LeftCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftCircleTwoTone["default"] + }), null); +}; + +LeftCircleTwoTone.displayName = 'LeftCircleTwoTone'; +LeftCircleTwoTone.inheritAttrs = false; +var _default = LeftCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftOutlined.js new file mode 100644 index 00000000..cc60f320 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftOutlined = function LeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftOutlined["default"] + }), null); +}; + +LeftOutlined.displayName = 'LeftOutlined'; +LeftOutlined.inheritAttrs = false; +var _default = LeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareFilled.js new file mode 100644 index 00000000..6ce5591f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftSquareFilled = function LeftSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftSquareFilled["default"] + }), null); +}; + +LeftSquareFilled.displayName = 'LeftSquareFilled'; +LeftSquareFilled.inheritAttrs = false; +var _default = LeftSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareOutlined.js new file mode 100644 index 00000000..5ca765d2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftSquareOutlined = function LeftSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftSquareOutlined["default"] + }), null); +}; + +LeftSquareOutlined.displayName = 'LeftSquareOutlined'; +LeftSquareOutlined.inheritAttrs = false; +var _default = LeftSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareTwoTone.js new file mode 100644 index 00000000..f878abe8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LeftSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LeftSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LeftSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LeftSquareTwoTone = function LeftSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LeftSquareTwoTone["default"] + }), null); +}; + +LeftSquareTwoTone.displayName = 'LeftSquareTwoTone'; +LeftSquareTwoTone.inheritAttrs = false; +var _default = LeftSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeFilled.js new file mode 100644 index 00000000..6b82e84b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LikeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LikeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LikeFilled = function LikeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LikeFilled["default"] + }), null); +}; + +LikeFilled.displayName = 'LikeFilled'; +LikeFilled.inheritAttrs = false; +var _default = LikeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeOutlined.js new file mode 100644 index 00000000..321a1e10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LikeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LikeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LikeOutlined = function LikeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LikeOutlined["default"] + }), null); +}; + +LikeOutlined.displayName = 'LikeOutlined'; +LikeOutlined.inheritAttrs = false; +var _default = LikeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeTwoTone.js new file mode 100644 index 00000000..c3ecd29f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LikeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LikeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LikeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LikeTwoTone = function LikeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LikeTwoTone["default"] + }), null); +}; + +LikeTwoTone.displayName = 'LikeTwoTone'; +LikeTwoTone.inheritAttrs = false; +var _default = LikeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineChartOutlined.js new file mode 100644 index 00000000..125e653d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LineChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LineChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LineChartOutlined = function LineChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LineChartOutlined["default"] + }), null); +}; + +LineChartOutlined.displayName = 'LineChartOutlined'; +LineChartOutlined.inheritAttrs = false; +var _default = LineChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineHeightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineHeightOutlined.js new file mode 100644 index 00000000..97e73bda --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineHeightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LineHeightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LineHeightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LineHeightOutlined = function LineHeightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LineHeightOutlined["default"] + }), null); +}; + +LineHeightOutlined.displayName = 'LineHeightOutlined'; +LineHeightOutlined.inheritAttrs = false; +var _default = LineHeightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineOutlined.js new file mode 100644 index 00000000..602f9d3a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LineOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LineOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LineOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LineOutlined = function LineOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LineOutlined["default"] + }), null); +}; + +LineOutlined.displayName = 'LineOutlined'; +LineOutlined.inheritAttrs = false; +var _default = LineOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkOutlined.js new file mode 100644 index 00000000..b7229497 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LinkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LinkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LinkOutlined = function LinkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LinkOutlined["default"] + }), null); +}; + +LinkOutlined.displayName = 'LinkOutlined'; +LinkOutlined.inheritAttrs = false; +var _default = LinkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinFilled.js new file mode 100644 index 00000000..a5575502 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LinkedinFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LinkedinFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LinkedinFilled = function LinkedinFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LinkedinFilled["default"] + }), null); +}; + +LinkedinFilled.displayName = 'LinkedinFilled'; +LinkedinFilled.inheritAttrs = false; +var _default = LinkedinFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinOutlined.js new file mode 100644 index 00000000..44dd25e7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LinkedinOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LinkedinOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LinkedinOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LinkedinOutlined = function LinkedinOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LinkedinOutlined["default"] + }), null); +}; + +LinkedinOutlined.displayName = 'LinkedinOutlined'; +LinkedinOutlined.inheritAttrs = false; +var _default = LinkedinOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Loading3QuartersOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Loading3QuartersOutlined.js new file mode 100644 index 00000000..76fdf175 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/Loading3QuartersOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _Loading3QuartersOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/Loading3QuartersOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Loading3QuartersOutlined = function Loading3QuartersOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _Loading3QuartersOutlined["default"] + }), null); +}; + +Loading3QuartersOutlined.displayName = 'Loading3QuartersOutlined'; +Loading3QuartersOutlined.inheritAttrs = false; +var _default = Loading3QuartersOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoadingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoadingOutlined.js new file mode 100644 index 00000000..92b762d8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoadingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LoadingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LoadingOutlined = function LoadingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LoadingOutlined["default"] + }), null); +}; + +LoadingOutlined.displayName = 'LoadingOutlined'; +LoadingOutlined.inheritAttrs = false; +var _default = LoadingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockFilled.js new file mode 100644 index 00000000..ac0f7380 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LockFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LockFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LockFilled = function LockFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LockFilled["default"] + }), null); +}; + +LockFilled.displayName = 'LockFilled'; +LockFilled.inheritAttrs = false; +var _default = LockFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockOutlined.js new file mode 100644 index 00000000..75d1341c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LockOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LockOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LockOutlined = function LockOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LockOutlined["default"] + }), null); +}; + +LockOutlined.displayName = 'LockOutlined'; +LockOutlined.inheritAttrs = false; +var _default = LockOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockTwoTone.js new file mode 100644 index 00000000..908aa29b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LockTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LockTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LockTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LockTwoTone = function LockTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LockTwoTone["default"] + }), null); +}; + +LockTwoTone.displayName = 'LockTwoTone'; +LockTwoTone.inheritAttrs = false; +var _default = LockTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoginOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoginOutlined.js new file mode 100644 index 00000000..6bfb93fb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LoginOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LoginOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LoginOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LoginOutlined = function LoginOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LoginOutlined["default"] + }), null); +}; + +LoginOutlined.displayName = 'LoginOutlined'; +LoginOutlined.inheritAttrs = false; +var _default = LoginOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LogoutOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LogoutOutlined.js new file mode 100644 index 00000000..770939dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/LogoutOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _LogoutOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/LogoutOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LogoutOutlined = function LogoutOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _LogoutOutlined["default"] + }), null); +}; + +LogoutOutlined.displayName = 'LogoutOutlined'; +LogoutOutlined.inheritAttrs = false; +var _default = LogoutOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandFilled.js new file mode 100644 index 00000000..123cfaf5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MacCommandFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MacCommandFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MacCommandFilled = function MacCommandFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MacCommandFilled["default"] + }), null); +}; + +MacCommandFilled.displayName = 'MacCommandFilled'; +MacCommandFilled.inheritAttrs = false; +var _default = MacCommandFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandOutlined.js new file mode 100644 index 00000000..572adba8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MacCommandOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MacCommandOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MacCommandOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MacCommandOutlined = function MacCommandOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MacCommandOutlined["default"] + }), null); +}; + +MacCommandOutlined.displayName = 'MacCommandOutlined'; +MacCommandOutlined.inheritAttrs = false; +var _default = MacCommandOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailFilled.js new file mode 100644 index 00000000..f2eef0c3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MailFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MailFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MailFilled = function MailFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MailFilled["default"] + }), null); +}; + +MailFilled.displayName = 'MailFilled'; +MailFilled.inheritAttrs = false; +var _default = MailFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailOutlined.js new file mode 100644 index 00000000..9a51a6da --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MailOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MailOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MailOutlined = function MailOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MailOutlined["default"] + }), null); +}; + +MailOutlined.displayName = 'MailOutlined'; +MailOutlined.inheritAttrs = false; +var _default = MailOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailTwoTone.js new file mode 100644 index 00000000..145eb1c7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MailTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MailTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MailTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MailTwoTone = function MailTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MailTwoTone["default"] + }), null); +}; + +MailTwoTone.displayName = 'MailTwoTone'; +MailTwoTone.inheritAttrs = false; +var _default = MailTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ManOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ManOutlined.js new file mode 100644 index 00000000..a279ba1a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ManOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ManOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ManOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ManOutlined = function ManOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ManOutlined["default"] + }), null); +}; + +ManOutlined.displayName = 'ManOutlined'; +ManOutlined.inheritAttrs = false; +var _default = ManOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxFilled.js new file mode 100644 index 00000000..24e71051 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MedicineBoxFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MedicineBoxFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MedicineBoxFilled = function MedicineBoxFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MedicineBoxFilled["default"] + }), null); +}; + +MedicineBoxFilled.displayName = 'MedicineBoxFilled'; +MedicineBoxFilled.inheritAttrs = false; +var _default = MedicineBoxFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxOutlined.js new file mode 100644 index 00000000..b2fa8d1d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MedicineBoxOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MedicineBoxOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MedicineBoxOutlined = function MedicineBoxOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MedicineBoxOutlined["default"] + }), null); +}; + +MedicineBoxOutlined.displayName = 'MedicineBoxOutlined'; +MedicineBoxOutlined.inheritAttrs = false; +var _default = MedicineBoxOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxTwoTone.js new file mode 100644 index 00000000..81c380b5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MedicineBoxTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MedicineBoxTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MedicineBoxTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MedicineBoxTwoTone = function MedicineBoxTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MedicineBoxTwoTone["default"] + }), null); +}; + +MedicineBoxTwoTone.displayName = 'MedicineBoxTwoTone'; +MedicineBoxTwoTone.inheritAttrs = false; +var _default = MedicineBoxTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumCircleFilled.js new file mode 100644 index 00000000..821336a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MediumCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MediumCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MediumCircleFilled = function MediumCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MediumCircleFilled["default"] + }), null); +}; + +MediumCircleFilled.displayName = 'MediumCircleFilled'; +MediumCircleFilled.inheritAttrs = false; +var _default = MediumCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumOutlined.js new file mode 100644 index 00000000..99bc5690 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MediumOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MediumOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MediumOutlined = function MediumOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MediumOutlined["default"] + }), null); +}; + +MediumOutlined.displayName = 'MediumOutlined'; +MediumOutlined.inheritAttrs = false; +var _default = MediumOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumSquareFilled.js new file mode 100644 index 00000000..4982b479 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MediumSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MediumSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MediumSquareFilled = function MediumSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MediumSquareFilled["default"] + }), null); +}; + +MediumSquareFilled.displayName = 'MediumSquareFilled'; +MediumSquareFilled.inheritAttrs = false; +var _default = MediumSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumWorkmarkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumWorkmarkOutlined.js new file mode 100644 index 00000000..4e6a3df5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MediumWorkmarkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MediumWorkmarkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MediumWorkmarkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MediumWorkmarkOutlined = function MediumWorkmarkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MediumWorkmarkOutlined["default"] + }), null); +}; + +MediumWorkmarkOutlined.displayName = 'MediumWorkmarkOutlined'; +MediumWorkmarkOutlined.inheritAttrs = false; +var _default = MediumWorkmarkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehFilled.js new file mode 100644 index 00000000..71dc947f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MehFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MehFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MehFilled = function MehFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MehFilled["default"] + }), null); +}; + +MehFilled.displayName = 'MehFilled'; +MehFilled.inheritAttrs = false; +var _default = MehFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehOutlined.js new file mode 100644 index 00000000..ad34c56f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MehOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MehOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MehOutlined = function MehOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MehOutlined["default"] + }), null); +}; + +MehOutlined.displayName = 'MehOutlined'; +MehOutlined.inheritAttrs = false; +var _default = MehOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehTwoTone.js new file mode 100644 index 00000000..9dba51af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MehTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MehTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MehTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MehTwoTone = function MehTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MehTwoTone["default"] + }), null); +}; + +MehTwoTone.displayName = 'MehTwoTone'; +MehTwoTone.inheritAttrs = false; +var _default = MehTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuFoldOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuFoldOutlined.js new file mode 100644 index 00000000..ee62abb1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuFoldOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MenuFoldOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MenuFoldOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MenuFoldOutlined = function MenuFoldOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MenuFoldOutlined["default"] + }), null); +}; + +MenuFoldOutlined.displayName = 'MenuFoldOutlined'; +MenuFoldOutlined.inheritAttrs = false; +var _default = MenuFoldOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuOutlined.js new file mode 100644 index 00000000..a436e1a6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MenuOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MenuOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MenuOutlined = function MenuOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MenuOutlined["default"] + }), null); +}; + +MenuOutlined.displayName = 'MenuOutlined'; +MenuOutlined.inheritAttrs = false; +var _default = MenuOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuUnfoldOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuUnfoldOutlined.js new file mode 100644 index 00000000..71491069 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MenuUnfoldOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MenuUnfoldOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MenuUnfoldOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MenuUnfoldOutlined = function MenuUnfoldOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MenuUnfoldOutlined["default"] + }), null); +}; + +MenuUnfoldOutlined.displayName = 'MenuUnfoldOutlined'; +MenuUnfoldOutlined.inheritAttrs = false; +var _default = MenuUnfoldOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MergeCellsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MergeCellsOutlined.js new file mode 100644 index 00000000..d4b831fe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MergeCellsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MergeCellsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MergeCellsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MergeCellsOutlined = function MergeCellsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MergeCellsOutlined["default"] + }), null); +}; + +MergeCellsOutlined.displayName = 'MergeCellsOutlined'; +MergeCellsOutlined.inheritAttrs = false; +var _default = MergeCellsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageFilled.js new file mode 100644 index 00000000..36447c43 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MessageFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MessageFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MessageFilled = function MessageFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MessageFilled["default"] + }), null); +}; + +MessageFilled.displayName = 'MessageFilled'; +MessageFilled.inheritAttrs = false; +var _default = MessageFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageOutlined.js new file mode 100644 index 00000000..a43b9137 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MessageOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MessageOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MessageOutlined = function MessageOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MessageOutlined["default"] + }), null); +}; + +MessageOutlined.displayName = 'MessageOutlined'; +MessageOutlined.inheritAttrs = false; +var _default = MessageOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageTwoTone.js new file mode 100644 index 00000000..9456b41d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MessageTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MessageTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MessageTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MessageTwoTone = function MessageTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MessageTwoTone["default"] + }), null); +}; + +MessageTwoTone.displayName = 'MessageTwoTone'; +MessageTwoTone.inheritAttrs = false; +var _default = MessageTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleFilled.js new file mode 100644 index 00000000..659073c6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusCircleFilled = function MinusCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusCircleFilled["default"] + }), null); +}; + +MinusCircleFilled.displayName = 'MinusCircleFilled'; +MinusCircleFilled.inheritAttrs = false; +var _default = MinusCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleOutlined.js new file mode 100644 index 00000000..2014d6aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusCircleOutlined = function MinusCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusCircleOutlined["default"] + }), null); +}; + +MinusCircleOutlined.displayName = 'MinusCircleOutlined'; +MinusCircleOutlined.inheritAttrs = false; +var _default = MinusCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleTwoTone.js new file mode 100644 index 00000000..d753dae5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusCircleTwoTone = function MinusCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusCircleTwoTone["default"] + }), null); +}; + +MinusCircleTwoTone.displayName = 'MinusCircleTwoTone'; +MinusCircleTwoTone.inheritAttrs = false; +var _default = MinusCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusOutlined.js new file mode 100644 index 00000000..826d98d7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusOutlined = function MinusOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusOutlined["default"] + }), null); +}; + +MinusOutlined.displayName = 'MinusOutlined'; +MinusOutlined.inheritAttrs = false; +var _default = MinusOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareFilled.js new file mode 100644 index 00000000..05505232 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusSquareFilled = function MinusSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusSquareFilled["default"] + }), null); +}; + +MinusSquareFilled.displayName = 'MinusSquareFilled'; +MinusSquareFilled.inheritAttrs = false; +var _default = MinusSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareOutlined.js new file mode 100644 index 00000000..9ae36d1f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusSquareOutlined = function MinusSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusSquareOutlined["default"] + }), null); +}; + +MinusSquareOutlined.displayName = 'MinusSquareOutlined'; +MinusSquareOutlined.inheritAttrs = false; +var _default = MinusSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareTwoTone.js new file mode 100644 index 00000000..154aefd5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MinusSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MinusSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MinusSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MinusSquareTwoTone = function MinusSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MinusSquareTwoTone["default"] + }), null); +}; + +MinusSquareTwoTone.displayName = 'MinusSquareTwoTone'; +MinusSquareTwoTone.inheritAttrs = false; +var _default = MinusSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileFilled.js new file mode 100644 index 00000000..6595a91e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MobileFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MobileFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MobileFilled = function MobileFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MobileFilled["default"] + }), null); +}; + +MobileFilled.displayName = 'MobileFilled'; +MobileFilled.inheritAttrs = false; +var _default = MobileFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileOutlined.js new file mode 100644 index 00000000..ecf06046 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MobileOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MobileOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MobileOutlined = function MobileOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MobileOutlined["default"] + }), null); +}; + +MobileOutlined.displayName = 'MobileOutlined'; +MobileOutlined.inheritAttrs = false; +var _default = MobileOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileTwoTone.js new file mode 100644 index 00000000..268ad8ec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MobileTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MobileTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MobileTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MobileTwoTone = function MobileTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MobileTwoTone["default"] + }), null); +}; + +MobileTwoTone.displayName = 'MobileTwoTone'; +MobileTwoTone.inheritAttrs = false; +var _default = MobileTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectFilled.js new file mode 100644 index 00000000..6a9085df --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MoneyCollectFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MoneyCollectFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MoneyCollectFilled = function MoneyCollectFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MoneyCollectFilled["default"] + }), null); +}; + +MoneyCollectFilled.displayName = 'MoneyCollectFilled'; +MoneyCollectFilled.inheritAttrs = false; +var _default = MoneyCollectFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectOutlined.js new file mode 100644 index 00000000..380de74f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MoneyCollectOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MoneyCollectOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MoneyCollectOutlined = function MoneyCollectOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MoneyCollectOutlined["default"] + }), null); +}; + +MoneyCollectOutlined.displayName = 'MoneyCollectOutlined'; +MoneyCollectOutlined.inheritAttrs = false; +var _default = MoneyCollectOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectTwoTone.js new file mode 100644 index 00000000..113391a4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoneyCollectTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MoneyCollectTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MoneyCollectTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MoneyCollectTwoTone = function MoneyCollectTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MoneyCollectTwoTone["default"] + }), null); +}; + +MoneyCollectTwoTone.displayName = 'MoneyCollectTwoTone'; +MoneyCollectTwoTone.inheritAttrs = false; +var _default = MoneyCollectTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MonitorOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MonitorOutlined.js new file mode 100644 index 00000000..269952e0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MonitorOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MonitorOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MonitorOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MonitorOutlined = function MonitorOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MonitorOutlined["default"] + }), null); +}; + +MonitorOutlined.displayName = 'MonitorOutlined'; +MonitorOutlined.inheritAttrs = false; +var _default = MonitorOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoreOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoreOutlined.js new file mode 100644 index 00000000..92e1b972 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/MoreOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _MoreOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/MoreOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var MoreOutlined = function MoreOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _MoreOutlined["default"] + }), null); +}; + +MoreOutlined.displayName = 'MoreOutlined'; +MoreOutlined.inheritAttrs = false; +var _default = MoreOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeCollapseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeCollapseOutlined.js new file mode 100644 index 00000000..9b92b6a0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeCollapseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NodeCollapseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NodeCollapseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NodeCollapseOutlined = function NodeCollapseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NodeCollapseOutlined["default"] + }), null); +}; + +NodeCollapseOutlined.displayName = 'NodeCollapseOutlined'; +NodeCollapseOutlined.inheritAttrs = false; +var _default = NodeCollapseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeExpandOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeExpandOutlined.js new file mode 100644 index 00000000..a8374462 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeExpandOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NodeExpandOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NodeExpandOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NodeExpandOutlined = function NodeExpandOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NodeExpandOutlined["default"] + }), null); +}; + +NodeExpandOutlined.displayName = 'NodeExpandOutlined'; +NodeExpandOutlined.inheritAttrs = false; +var _default = NodeExpandOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeIndexOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeIndexOutlined.js new file mode 100644 index 00000000..7a7d7484 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NodeIndexOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NodeIndexOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NodeIndexOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NodeIndexOutlined = function NodeIndexOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NodeIndexOutlined["default"] + }), null); +}; + +NodeIndexOutlined.displayName = 'NodeIndexOutlined'; +NodeIndexOutlined.inheritAttrs = false; +var _default = NodeIndexOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationFilled.js new file mode 100644 index 00000000..65e9897b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NotificationFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NotificationFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NotificationFilled = function NotificationFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NotificationFilled["default"] + }), null); +}; + +NotificationFilled.displayName = 'NotificationFilled'; +NotificationFilled.inheritAttrs = false; +var _default = NotificationFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationOutlined.js new file mode 100644 index 00000000..85fde983 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NotificationOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NotificationOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NotificationOutlined = function NotificationOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NotificationOutlined["default"] + }), null); +}; + +NotificationOutlined.displayName = 'NotificationOutlined'; +NotificationOutlined.inheritAttrs = false; +var _default = NotificationOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationTwoTone.js new file mode 100644 index 00000000..138e31f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NotificationTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NotificationTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NotificationTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NotificationTwoTone = function NotificationTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NotificationTwoTone["default"] + }), null); +}; + +NotificationTwoTone.displayName = 'NotificationTwoTone'; +NotificationTwoTone.inheritAttrs = false; +var _default = NotificationTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NumberOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NumberOutlined.js new file mode 100644 index 00000000..5e12a5ef --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/NumberOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _NumberOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/NumberOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var NumberOutlined = function NumberOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _NumberOutlined["default"] + }), null); +}; + +NumberOutlined.displayName = 'NumberOutlined'; +NumberOutlined.inheritAttrs = false; +var _default = NumberOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OneToOneOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OneToOneOutlined.js new file mode 100644 index 00000000..99af3a54 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OneToOneOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _OneToOneOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/OneToOneOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var OneToOneOutlined = function OneToOneOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _OneToOneOutlined["default"] + }), null); +}; + +OneToOneOutlined.displayName = 'OneToOneOutlined'; +OneToOneOutlined.inheritAttrs = false; +var _default = OneToOneOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OrderedListOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OrderedListOutlined.js new file mode 100644 index 00000000..fd7b34ec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/OrderedListOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _OrderedListOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/OrderedListOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var OrderedListOutlined = function OrderedListOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _OrderedListOutlined["default"] + }), null); +}; + +OrderedListOutlined.displayName = 'OrderedListOutlined'; +OrderedListOutlined.inheritAttrs = false; +var _default = OrderedListOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PaperClipOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PaperClipOutlined.js new file mode 100644 index 00000000..9e825f8b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PaperClipOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PaperClipOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PaperClipOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PaperClipOutlined = function PaperClipOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PaperClipOutlined["default"] + }), null); +}; + +PaperClipOutlined.displayName = 'PaperClipOutlined'; +PaperClipOutlined.inheritAttrs = false; +var _default = PaperClipOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PartitionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PartitionOutlined.js new file mode 100644 index 00000000..51c3325b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PartitionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PartitionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PartitionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PartitionOutlined = function PartitionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PartitionOutlined["default"] + }), null); +}; + +PartitionOutlined.displayName = 'PartitionOutlined'; +PartitionOutlined.inheritAttrs = false; +var _default = PartitionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleFilled.js new file mode 100644 index 00000000..be254dc7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PauseCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PauseCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PauseCircleFilled = function PauseCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PauseCircleFilled["default"] + }), null); +}; + +PauseCircleFilled.displayName = 'PauseCircleFilled'; +PauseCircleFilled.inheritAttrs = false; +var _default = PauseCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleOutlined.js new file mode 100644 index 00000000..4cdded6c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PauseCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PauseCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PauseCircleOutlined = function PauseCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PauseCircleOutlined["default"] + }), null); +}; + +PauseCircleOutlined.displayName = 'PauseCircleOutlined'; +PauseCircleOutlined.inheritAttrs = false; +var _default = PauseCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleTwoTone.js new file mode 100644 index 00000000..667e3bec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PauseCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PauseCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PauseCircleTwoTone = function PauseCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PauseCircleTwoTone["default"] + }), null); +}; + +PauseCircleTwoTone.displayName = 'PauseCircleTwoTone'; +PauseCircleTwoTone.inheritAttrs = false; +var _default = PauseCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseOutlined.js new file mode 100644 index 00000000..44af144f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PauseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PauseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PauseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PauseOutlined = function PauseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PauseOutlined["default"] + }), null); +}; + +PauseOutlined.displayName = 'PauseOutlined'; +PauseOutlined.inheritAttrs = false; +var _default = PauseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleFilled.js new file mode 100644 index 00000000..3c89cf3c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PayCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PayCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PayCircleFilled = function PayCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PayCircleFilled["default"] + }), null); +}; + +PayCircleFilled.displayName = 'PayCircleFilled'; +PayCircleFilled.inheritAttrs = false; +var _default = PayCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleOutlined.js new file mode 100644 index 00000000..0118cce1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PayCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PayCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PayCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PayCircleOutlined = function PayCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PayCircleOutlined["default"] + }), null); +}; + +PayCircleOutlined.displayName = 'PayCircleOutlined'; +PayCircleOutlined.inheritAttrs = false; +var _default = PayCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PercentageOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PercentageOutlined.js new file mode 100644 index 00000000..1570fece --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PercentageOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PercentageOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PercentageOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PercentageOutlined = function PercentageOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PercentageOutlined["default"] + }), null); +}; + +PercentageOutlined.displayName = 'PercentageOutlined'; +PercentageOutlined.inheritAttrs = false; +var _default = PercentageOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneFilled.js new file mode 100644 index 00000000..d258cb70 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PhoneFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PhoneFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PhoneFilled = function PhoneFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PhoneFilled["default"] + }), null); +}; + +PhoneFilled.displayName = 'PhoneFilled'; +PhoneFilled.inheritAttrs = false; +var _default = PhoneFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneOutlined.js new file mode 100644 index 00000000..1dea552e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PhoneOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PhoneOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PhoneOutlined = function PhoneOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PhoneOutlined["default"] + }), null); +}; + +PhoneOutlined.displayName = 'PhoneOutlined'; +PhoneOutlined.inheritAttrs = false; +var _default = PhoneOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneTwoTone.js new file mode 100644 index 00000000..9c21ea9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PhoneTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PhoneTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PhoneTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PhoneTwoTone = function PhoneTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PhoneTwoTone["default"] + }), null); +}; + +PhoneTwoTone.displayName = 'PhoneTwoTone'; +PhoneTwoTone.inheritAttrs = false; +var _default = PhoneTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicCenterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicCenterOutlined.js new file mode 100644 index 00000000..c8b7e415 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicCenterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PicCenterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PicCenterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PicCenterOutlined = function PicCenterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PicCenterOutlined["default"] + }), null); +}; + +PicCenterOutlined.displayName = 'PicCenterOutlined'; +PicCenterOutlined.inheritAttrs = false; +var _default = PicCenterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicLeftOutlined.js new file mode 100644 index 00000000..a8f17e45 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PicLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PicLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PicLeftOutlined = function PicLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PicLeftOutlined["default"] + }), null); +}; + +PicLeftOutlined.displayName = 'PicLeftOutlined'; +PicLeftOutlined.inheritAttrs = false; +var _default = PicLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicRightOutlined.js new file mode 100644 index 00000000..d96fdd33 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PicRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PicRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PicRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PicRightOutlined = function PicRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PicRightOutlined["default"] + }), null); +}; + +PicRightOutlined.displayName = 'PicRightOutlined'; +PicRightOutlined.inheritAttrs = false; +var _default = PicRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureFilled.js new file mode 100644 index 00000000..7c5d1a78 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PictureFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PictureFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PictureFilled = function PictureFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PictureFilled["default"] + }), null); +}; + +PictureFilled.displayName = 'PictureFilled'; +PictureFilled.inheritAttrs = false; +var _default = PictureFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureOutlined.js new file mode 100644 index 00000000..f8158367 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PictureOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PictureOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PictureOutlined = function PictureOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PictureOutlined["default"] + }), null); +}; + +PictureOutlined.displayName = 'PictureOutlined'; +PictureOutlined.inheritAttrs = false; +var _default = PictureOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureTwoTone.js new file mode 100644 index 00000000..df0b078c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PictureTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PictureTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PictureTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PictureTwoTone = function PictureTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PictureTwoTone["default"] + }), null); +}; + +PictureTwoTone.displayName = 'PictureTwoTone'; +PictureTwoTone.inheritAttrs = false; +var _default = PictureTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartFilled.js new file mode 100644 index 00000000..b3f890c0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PieChartFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PieChartFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PieChartFilled = function PieChartFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PieChartFilled["default"] + }), null); +}; + +PieChartFilled.displayName = 'PieChartFilled'; +PieChartFilled.inheritAttrs = false; +var _default = PieChartFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartOutlined.js new file mode 100644 index 00000000..8e21ef31 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PieChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PieChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PieChartOutlined = function PieChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PieChartOutlined["default"] + }), null); +}; + +PieChartOutlined.displayName = 'PieChartOutlined'; +PieChartOutlined.inheritAttrs = false; +var _default = PieChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartTwoTone.js new file mode 100644 index 00000000..2fbc9967 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PieChartTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PieChartTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PieChartTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PieChartTwoTone = function PieChartTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PieChartTwoTone["default"] + }), null); +}; + +PieChartTwoTone.displayName = 'PieChartTwoTone'; +PieChartTwoTone.inheritAttrs = false; +var _default = PieChartTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleFilled.js new file mode 100644 index 00000000..303993b4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlayCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlayCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlayCircleFilled = function PlayCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlayCircleFilled["default"] + }), null); +}; + +PlayCircleFilled.displayName = 'PlayCircleFilled'; +PlayCircleFilled.inheritAttrs = false; +var _default = PlayCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleOutlined.js new file mode 100644 index 00000000..f1dd7a40 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlayCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlayCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlayCircleOutlined = function PlayCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlayCircleOutlined["default"] + }), null); +}; + +PlayCircleOutlined.displayName = 'PlayCircleOutlined'; +PlayCircleOutlined.inheritAttrs = false; +var _default = PlayCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleTwoTone.js new file mode 100644 index 00000000..3457e25b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlayCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlayCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlayCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlayCircleTwoTone = function PlayCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlayCircleTwoTone["default"] + }), null); +}; + +PlayCircleTwoTone.displayName = 'PlayCircleTwoTone'; +PlayCircleTwoTone.inheritAttrs = false; +var _default = PlayCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareFilled.js new file mode 100644 index 00000000..11f11c1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlaySquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlaySquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlaySquareFilled = function PlaySquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlaySquareFilled["default"] + }), null); +}; + +PlaySquareFilled.displayName = 'PlaySquareFilled'; +PlaySquareFilled.inheritAttrs = false; +var _default = PlaySquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareOutlined.js new file mode 100644 index 00000000..807a3068 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlaySquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlaySquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlaySquareOutlined = function PlaySquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlaySquareOutlined["default"] + }), null); +}; + +PlaySquareOutlined.displayName = 'PlaySquareOutlined'; +PlaySquareOutlined.inheritAttrs = false; +var _default = PlaySquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareTwoTone.js new file mode 100644 index 00000000..c9e87205 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlaySquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlaySquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlaySquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlaySquareTwoTone = function PlaySquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlaySquareTwoTone["default"] + }), null); +}; + +PlaySquareTwoTone.displayName = 'PlaySquareTwoTone'; +PlaySquareTwoTone.inheritAttrs = false; +var _default = PlaySquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleFilled.js new file mode 100644 index 00000000..8c8b03bd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusCircleFilled = function PlusCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusCircleFilled["default"] + }), null); +}; + +PlusCircleFilled.displayName = 'PlusCircleFilled'; +PlusCircleFilled.inheritAttrs = false; +var _default = PlusCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleOutlined.js new file mode 100644 index 00000000..72f4a3c1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusCircleOutlined = function PlusCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusCircleOutlined["default"] + }), null); +}; + +PlusCircleOutlined.displayName = 'PlusCircleOutlined'; +PlusCircleOutlined.inheritAttrs = false; +var _default = PlusCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleTwoTone.js new file mode 100644 index 00000000..20fefcd2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusCircleTwoTone = function PlusCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusCircleTwoTone["default"] + }), null); +}; + +PlusCircleTwoTone.displayName = 'PlusCircleTwoTone'; +PlusCircleTwoTone.inheritAttrs = false; +var _default = PlusCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusOutlined.js new file mode 100644 index 00000000..8e56f95e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusOutlined = function PlusOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusOutlined["default"] + }), null); +}; + +PlusOutlined.displayName = 'PlusOutlined'; +PlusOutlined.inheritAttrs = false; +var _default = PlusOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareFilled.js new file mode 100644 index 00000000..2a763003 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusSquareFilled = function PlusSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusSquareFilled["default"] + }), null); +}; + +PlusSquareFilled.displayName = 'PlusSquareFilled'; +PlusSquareFilled.inheritAttrs = false; +var _default = PlusSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareOutlined.js new file mode 100644 index 00000000..d37baa10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusSquareOutlined = function PlusSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusSquareOutlined["default"] + }), null); +}; + +PlusSquareOutlined.displayName = 'PlusSquareOutlined'; +PlusSquareOutlined.inheritAttrs = false; +var _default = PlusSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareTwoTone.js new file mode 100644 index 00000000..661a7be7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PlusSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PlusSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PlusSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PlusSquareTwoTone = function PlusSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PlusSquareTwoTone["default"] + }), null); +}; + +PlusSquareTwoTone.displayName = 'PlusSquareTwoTone'; +PlusSquareTwoTone.inheritAttrs = false; +var _default = PlusSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleFilled.js new file mode 100644 index 00000000..b8987ded --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PoundCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PoundCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PoundCircleFilled = function PoundCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PoundCircleFilled["default"] + }), null); +}; + +PoundCircleFilled.displayName = 'PoundCircleFilled'; +PoundCircleFilled.inheritAttrs = false; +var _default = PoundCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleOutlined.js new file mode 100644 index 00000000..f75bef86 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PoundCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PoundCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PoundCircleOutlined = function PoundCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PoundCircleOutlined["default"] + }), null); +}; + +PoundCircleOutlined.displayName = 'PoundCircleOutlined'; +PoundCircleOutlined.inheritAttrs = false; +var _default = PoundCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleTwoTone.js new file mode 100644 index 00000000..6838c150 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PoundCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PoundCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PoundCircleTwoTone = function PoundCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PoundCircleTwoTone["default"] + }), null); +}; + +PoundCircleTwoTone.displayName = 'PoundCircleTwoTone'; +PoundCircleTwoTone.inheritAttrs = false; +var _default = PoundCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundOutlined.js new file mode 100644 index 00000000..0da95018 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoundOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PoundOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PoundOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PoundOutlined = function PoundOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PoundOutlined["default"] + }), null); +}; + +PoundOutlined.displayName = 'PoundOutlined'; +PoundOutlined.inheritAttrs = false; +var _default = PoundOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoweroffOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoweroffOutlined.js new file mode 100644 index 00000000..1ca2b92d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PoweroffOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PoweroffOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PoweroffOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PoweroffOutlined = function PoweroffOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PoweroffOutlined["default"] + }), null); +}; + +PoweroffOutlined.displayName = 'PoweroffOutlined'; +PoweroffOutlined.inheritAttrs = false; +var _default = PoweroffOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterFilled.js new file mode 100644 index 00000000..a0fdb917 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PrinterFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PrinterFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PrinterFilled = function PrinterFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PrinterFilled["default"] + }), null); +}; + +PrinterFilled.displayName = 'PrinterFilled'; +PrinterFilled.inheritAttrs = false; +var _default = PrinterFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterOutlined.js new file mode 100644 index 00000000..5fdd1cb8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PrinterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PrinterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PrinterOutlined = function PrinterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PrinterOutlined["default"] + }), null); +}; + +PrinterOutlined.displayName = 'PrinterOutlined'; +PrinterOutlined.inheritAttrs = false; +var _default = PrinterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterTwoTone.js new file mode 100644 index 00000000..be6a8a30 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PrinterTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PrinterTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PrinterTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PrinterTwoTone = function PrinterTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PrinterTwoTone["default"] + }), null); +}; + +PrinterTwoTone.displayName = 'PrinterTwoTone'; +PrinterTwoTone.inheritAttrs = false; +var _default = PrinterTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileFilled.js new file mode 100644 index 00000000..41db0284 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProfileFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProfileFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProfileFilled = function ProfileFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProfileFilled["default"] + }), null); +}; + +ProfileFilled.displayName = 'ProfileFilled'; +ProfileFilled.inheritAttrs = false; +var _default = ProfileFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileOutlined.js new file mode 100644 index 00000000..e33ae34e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProfileOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProfileOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProfileOutlined = function ProfileOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProfileOutlined["default"] + }), null); +}; + +ProfileOutlined.displayName = 'ProfileOutlined'; +ProfileOutlined.inheritAttrs = false; +var _default = ProfileOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileTwoTone.js new file mode 100644 index 00000000..a97bfdd0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProfileTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProfileTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProfileTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProfileTwoTone = function ProfileTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProfileTwoTone["default"] + }), null); +}; + +ProfileTwoTone.displayName = 'ProfileTwoTone'; +ProfileTwoTone.inheritAttrs = false; +var _default = ProfileTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectFilled.js new file mode 100644 index 00000000..16dfff61 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProjectFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProjectFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProjectFilled = function ProjectFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProjectFilled["default"] + }), null); +}; + +ProjectFilled.displayName = 'ProjectFilled'; +ProjectFilled.inheritAttrs = false; +var _default = ProjectFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectOutlined.js new file mode 100644 index 00000000..775187ea --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProjectOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProjectOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProjectOutlined = function ProjectOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProjectOutlined["default"] + }), null); +}; + +ProjectOutlined.displayName = 'ProjectOutlined'; +ProjectOutlined.inheritAttrs = false; +var _default = ProjectOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectTwoTone.js new file mode 100644 index 00000000..c8272d8d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ProjectTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ProjectTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ProjectTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ProjectTwoTone = function ProjectTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ProjectTwoTone["default"] + }), null); +}; + +ProjectTwoTone.displayName = 'ProjectTwoTone'; +ProjectTwoTone.inheritAttrs = false; +var _default = ProjectTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyFilled.js new file mode 100644 index 00000000..2177170c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PropertySafetyFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PropertySafetyFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PropertySafetyFilled = function PropertySafetyFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PropertySafetyFilled["default"] + }), null); +}; + +PropertySafetyFilled.displayName = 'PropertySafetyFilled'; +PropertySafetyFilled.inheritAttrs = false; +var _default = PropertySafetyFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyOutlined.js new file mode 100644 index 00000000..a2e721c1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PropertySafetyOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PropertySafetyOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PropertySafetyOutlined = function PropertySafetyOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PropertySafetyOutlined["default"] + }), null); +}; + +PropertySafetyOutlined.displayName = 'PropertySafetyOutlined'; +PropertySafetyOutlined.inheritAttrs = false; +var _default = PropertySafetyOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyTwoTone.js new file mode 100644 index 00000000..e153b2e7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PropertySafetyTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PropertySafetyTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PropertySafetyTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PropertySafetyTwoTone = function PropertySafetyTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PropertySafetyTwoTone["default"] + }), null); +}; + +PropertySafetyTwoTone.displayName = 'PropertySafetyTwoTone'; +PropertySafetyTwoTone.inheritAttrs = false; +var _default = PropertySafetyTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PullRequestOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PullRequestOutlined.js new file mode 100644 index 00000000..b4795399 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PullRequestOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PullRequestOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PullRequestOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PullRequestOutlined = function PullRequestOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PullRequestOutlined["default"] + }), null); +}; + +PullRequestOutlined.displayName = 'PullRequestOutlined'; +PullRequestOutlined.inheritAttrs = false; +var _default = PullRequestOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinFilled.js new file mode 100644 index 00000000..82d4257d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PushpinFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PushpinFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PushpinFilled = function PushpinFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PushpinFilled["default"] + }), null); +}; + +PushpinFilled.displayName = 'PushpinFilled'; +PushpinFilled.inheritAttrs = false; +var _default = PushpinFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinOutlined.js new file mode 100644 index 00000000..902d2110 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PushpinOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PushpinOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PushpinOutlined = function PushpinOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PushpinOutlined["default"] + }), null); +}; + +PushpinOutlined.displayName = 'PushpinOutlined'; +PushpinOutlined.inheritAttrs = false; +var _default = PushpinOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinTwoTone.js new file mode 100644 index 00000000..54fdeb8d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/PushpinTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _PushpinTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/PushpinTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var PushpinTwoTone = function PushpinTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _PushpinTwoTone["default"] + }), null); +}; + +PushpinTwoTone.displayName = 'PushpinTwoTone'; +PushpinTwoTone.inheritAttrs = false; +var _default = PushpinTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqCircleFilled.js new file mode 100644 index 00000000..7bf986d5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QqCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QqCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QqCircleFilled = function QqCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QqCircleFilled["default"] + }), null); +}; + +QqCircleFilled.displayName = 'QqCircleFilled'; +QqCircleFilled.inheritAttrs = false; +var _default = QqCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqOutlined.js new file mode 100644 index 00000000..7dfe5fa8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QqOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QqOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QqOutlined = function QqOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QqOutlined["default"] + }), null); +}; + +QqOutlined.displayName = 'QqOutlined'; +QqOutlined.inheritAttrs = false; +var _default = QqOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqSquareFilled.js new file mode 100644 index 00000000..5ef9075d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QqSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QqSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QqSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QqSquareFilled = function QqSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QqSquareFilled["default"] + }), null); +}; + +QqSquareFilled.displayName = 'QqSquareFilled'; +QqSquareFilled.inheritAttrs = false; +var _default = QqSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QrcodeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QrcodeOutlined.js new file mode 100644 index 00000000..954b1f45 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QrcodeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QrcodeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QrcodeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QrcodeOutlined = function QrcodeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QrcodeOutlined["default"] + }), null); +}; + +QrcodeOutlined.displayName = 'QrcodeOutlined'; +QrcodeOutlined.inheritAttrs = false; +var _default = QrcodeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleFilled.js new file mode 100644 index 00000000..34e364a2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QuestionCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QuestionCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QuestionCircleFilled = function QuestionCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QuestionCircleFilled["default"] + }), null); +}; + +QuestionCircleFilled.displayName = 'QuestionCircleFilled'; +QuestionCircleFilled.inheritAttrs = false; +var _default = QuestionCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleOutlined.js new file mode 100644 index 00000000..d1629f7f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QuestionCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QuestionCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QuestionCircleOutlined = function QuestionCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QuestionCircleOutlined["default"] + }), null); +}; + +QuestionCircleOutlined.displayName = 'QuestionCircleOutlined'; +QuestionCircleOutlined.inheritAttrs = false; +var _default = QuestionCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleTwoTone.js new file mode 100644 index 00000000..c064b0e3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QuestionCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QuestionCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QuestionCircleTwoTone = function QuestionCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QuestionCircleTwoTone["default"] + }), null); +}; + +QuestionCircleTwoTone.displayName = 'QuestionCircleTwoTone'; +QuestionCircleTwoTone.inheritAttrs = false; +var _default = QuestionCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionOutlined.js new file mode 100644 index 00000000..1103c988 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/QuestionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _QuestionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/QuestionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var QuestionOutlined = function QuestionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _QuestionOutlined["default"] + }), null); +}; + +QuestionOutlined.displayName = 'QuestionOutlined'; +QuestionOutlined.inheritAttrs = false; +var _default = QuestionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadarChartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadarChartOutlined.js new file mode 100644 index 00000000..f7a9a11a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadarChartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadarChartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadarChartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadarChartOutlined = function RadarChartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadarChartOutlined["default"] + }), null); +}; + +RadarChartOutlined.displayName = 'RadarChartOutlined'; +RadarChartOutlined.inheritAttrs = false; +var _default = RadarChartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomleftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomleftOutlined.js new file mode 100644 index 00000000..eb2f492f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomleftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadiusBottomleftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadiusBottomleftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadiusBottomleftOutlined = function RadiusBottomleftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadiusBottomleftOutlined["default"] + }), null); +}; + +RadiusBottomleftOutlined.displayName = 'RadiusBottomleftOutlined'; +RadiusBottomleftOutlined.inheritAttrs = false; +var _default = RadiusBottomleftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomrightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomrightOutlined.js new file mode 100644 index 00000000..edc18d9d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusBottomrightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadiusBottomrightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadiusBottomrightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadiusBottomrightOutlined = function RadiusBottomrightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadiusBottomrightOutlined["default"] + }), null); +}; + +RadiusBottomrightOutlined.displayName = 'RadiusBottomrightOutlined'; +RadiusBottomrightOutlined.inheritAttrs = false; +var _default = RadiusBottomrightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusSettingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusSettingOutlined.js new file mode 100644 index 00000000..c2dde65f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusSettingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadiusSettingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadiusSettingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadiusSettingOutlined = function RadiusSettingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadiusSettingOutlined["default"] + }), null); +}; + +RadiusSettingOutlined.displayName = 'RadiusSettingOutlined'; +RadiusSettingOutlined.inheritAttrs = false; +var _default = RadiusSettingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUpleftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUpleftOutlined.js new file mode 100644 index 00000000..1461e96f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUpleftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadiusUpleftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadiusUpleftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadiusUpleftOutlined = function RadiusUpleftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadiusUpleftOutlined["default"] + }), null); +}; + +RadiusUpleftOutlined.displayName = 'RadiusUpleftOutlined'; +RadiusUpleftOutlined.inheritAttrs = false; +var _default = RadiusUpleftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUprightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUprightOutlined.js new file mode 100644 index 00000000..a0a17472 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RadiusUprightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RadiusUprightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RadiusUprightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RadiusUprightOutlined = function RadiusUprightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RadiusUprightOutlined["default"] + }), null); +}; + +RadiusUprightOutlined.displayName = 'RadiusUprightOutlined'; +RadiusUprightOutlined.inheritAttrs = false; +var _default = RadiusUprightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadFilled.js new file mode 100644 index 00000000..fa9e9c3c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReadFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReadFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReadFilled = function ReadFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReadFilled["default"] + }), null); +}; + +ReadFilled.displayName = 'ReadFilled'; +ReadFilled.inheritAttrs = false; +var _default = ReadFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadOutlined.js new file mode 100644 index 00000000..4f912519 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReadOutlined = function ReadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReadOutlined["default"] + }), null); +}; + +ReadOutlined.displayName = 'ReadOutlined'; +ReadOutlined.inheritAttrs = false; +var _default = ReadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationFilled.js new file mode 100644 index 00000000..c0fbf45d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReconciliationFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReconciliationFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReconciliationFilled = function ReconciliationFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReconciliationFilled["default"] + }), null); +}; + +ReconciliationFilled.displayName = 'ReconciliationFilled'; +ReconciliationFilled.inheritAttrs = false; +var _default = ReconciliationFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationOutlined.js new file mode 100644 index 00000000..bbcef6bc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReconciliationOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReconciliationOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReconciliationOutlined = function ReconciliationOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReconciliationOutlined["default"] + }), null); +}; + +ReconciliationOutlined.displayName = 'ReconciliationOutlined'; +ReconciliationOutlined.inheritAttrs = false; +var _default = ReconciliationOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationTwoTone.js new file mode 100644 index 00000000..27591764 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReconciliationTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReconciliationTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReconciliationTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReconciliationTwoTone = function ReconciliationTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReconciliationTwoTone["default"] + }), null); +}; + +ReconciliationTwoTone.displayName = 'ReconciliationTwoTone'; +ReconciliationTwoTone.inheritAttrs = false; +var _default = ReconciliationTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeFilled.js new file mode 100644 index 00000000..e40f845e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedEnvelopeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedEnvelopeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedEnvelopeFilled = function RedEnvelopeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedEnvelopeFilled["default"] + }), null); +}; + +RedEnvelopeFilled.displayName = 'RedEnvelopeFilled'; +RedEnvelopeFilled.inheritAttrs = false; +var _default = RedEnvelopeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeOutlined.js new file mode 100644 index 00000000..144aa87c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedEnvelopeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedEnvelopeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedEnvelopeOutlined = function RedEnvelopeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedEnvelopeOutlined["default"] + }), null); +}; + +RedEnvelopeOutlined.displayName = 'RedEnvelopeOutlined'; +RedEnvelopeOutlined.inheritAttrs = false; +var _default = RedEnvelopeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeTwoTone.js new file mode 100644 index 00000000..81d73cd9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedEnvelopeTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedEnvelopeTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedEnvelopeTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedEnvelopeTwoTone = function RedEnvelopeTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedEnvelopeTwoTone["default"] + }), null); +}; + +RedEnvelopeTwoTone.displayName = 'RedEnvelopeTwoTone'; +RedEnvelopeTwoTone.inheritAttrs = false; +var _default = RedEnvelopeTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditCircleFilled.js new file mode 100644 index 00000000..0b67bfd0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedditCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedditCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedditCircleFilled = function RedditCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedditCircleFilled["default"] + }), null); +}; + +RedditCircleFilled.displayName = 'RedditCircleFilled'; +RedditCircleFilled.inheritAttrs = false; +var _default = RedditCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditOutlined.js new file mode 100644 index 00000000..b55636a4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedditOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedditOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedditOutlined = function RedditOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedditOutlined["default"] + }), null); +}; + +RedditOutlined.displayName = 'RedditOutlined'; +RedditOutlined.inheritAttrs = false; +var _default = RedditOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditSquareFilled.js new file mode 100644 index 00000000..9f43ac9c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedditSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedditSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedditSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedditSquareFilled = function RedditSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedditSquareFilled["default"] + }), null); +}; + +RedditSquareFilled.displayName = 'RedditSquareFilled'; +RedditSquareFilled.inheritAttrs = false; +var _default = RedditSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedoOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedoOutlined.js new file mode 100644 index 00000000..5e8ad74a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RedoOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RedoOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RedoOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RedoOutlined = function RedoOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RedoOutlined["default"] + }), null); +}; + +RedoOutlined.displayName = 'RedoOutlined'; +RedoOutlined.inheritAttrs = false; +var _default = RedoOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReloadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReloadOutlined.js new file mode 100644 index 00000000..6fc764f5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ReloadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ReloadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ReloadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ReloadOutlined = function ReloadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ReloadOutlined["default"] + }), null); +}; + +ReloadOutlined.displayName = 'ReloadOutlined'; +ReloadOutlined.inheritAttrs = false; +var _default = ReloadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestFilled.js new file mode 100644 index 00000000..204214dd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RestFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RestFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RestFilled = function RestFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RestFilled["default"] + }), null); +}; + +RestFilled.displayName = 'RestFilled'; +RestFilled.inheritAttrs = false; +var _default = RestFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestOutlined.js new file mode 100644 index 00000000..d55982b6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RestOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RestOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RestOutlined = function RestOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RestOutlined["default"] + }), null); +}; + +RestOutlined.displayName = 'RestOutlined'; +RestOutlined.inheritAttrs = false; +var _default = RestOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestTwoTone.js new file mode 100644 index 00000000..67349a6c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RestTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RestTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RestTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RestTwoTone = function RestTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RestTwoTone["default"] + }), null); +}; + +RestTwoTone.displayName = 'RestTwoTone'; +RestTwoTone.inheritAttrs = false; +var _default = RestTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RetweetOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RetweetOutlined.js new file mode 100644 index 00000000..73774102 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RetweetOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RetweetOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RetweetOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RetweetOutlined = function RetweetOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RetweetOutlined["default"] + }), null); +}; + +RetweetOutlined.displayName = 'RetweetOutlined'; +RetweetOutlined.inheritAttrs = false; +var _default = RetweetOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleFilled.js new file mode 100644 index 00000000..1d9002f8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightCircleFilled = function RightCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightCircleFilled["default"] + }), null); +}; + +RightCircleFilled.displayName = 'RightCircleFilled'; +RightCircleFilled.inheritAttrs = false; +var _default = RightCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleOutlined.js new file mode 100644 index 00000000..ad09672d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightCircleOutlined = function RightCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightCircleOutlined["default"] + }), null); +}; + +RightCircleOutlined.displayName = 'RightCircleOutlined'; +RightCircleOutlined.inheritAttrs = false; +var _default = RightCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleTwoTone.js new file mode 100644 index 00000000..ec1f4ce7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightCircleTwoTone = function RightCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightCircleTwoTone["default"] + }), null); +}; + +RightCircleTwoTone.displayName = 'RightCircleTwoTone'; +RightCircleTwoTone.inheritAttrs = false; +var _default = RightCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightOutlined.js new file mode 100644 index 00000000..c155da64 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightOutlined = function RightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightOutlined["default"] + }), null); +}; + +RightOutlined.displayName = 'RightOutlined'; +RightOutlined.inheritAttrs = false; +var _default = RightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareFilled.js new file mode 100644 index 00000000..c5115fec --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightSquareFilled = function RightSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightSquareFilled["default"] + }), null); +}; + +RightSquareFilled.displayName = 'RightSquareFilled'; +RightSquareFilled.inheritAttrs = false; +var _default = RightSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareOutlined.js new file mode 100644 index 00000000..b76c4b97 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightSquareOutlined = function RightSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightSquareOutlined["default"] + }), null); +}; + +RightSquareOutlined.displayName = 'RightSquareOutlined'; +RightSquareOutlined.inheritAttrs = false; +var _default = RightSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareTwoTone.js new file mode 100644 index 00000000..a25fa507 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RightSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RightSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RightSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RightSquareTwoTone = function RightSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RightSquareTwoTone["default"] + }), null); +}; + +RightSquareTwoTone.displayName = 'RightSquareTwoTone'; +RightSquareTwoTone.inheritAttrs = false; +var _default = RightSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RiseOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RiseOutlined.js new file mode 100644 index 00000000..f685adb9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RiseOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RiseOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RiseOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RiseOutlined = function RiseOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RiseOutlined["default"] + }), null); +}; + +RiseOutlined.displayName = 'RiseOutlined'; +RiseOutlined.inheritAttrs = false; +var _default = RiseOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotFilled.js new file mode 100644 index 00000000..cdfd948c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RobotFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RobotFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RobotFilled = function RobotFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RobotFilled["default"] + }), null); +}; + +RobotFilled.displayName = 'RobotFilled'; +RobotFilled.inheritAttrs = false; +var _default = RobotFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotOutlined.js new file mode 100644 index 00000000..6837f181 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RobotOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RobotOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RobotOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RobotOutlined = function RobotOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RobotOutlined["default"] + }), null); +}; + +RobotOutlined.displayName = 'RobotOutlined'; +RobotOutlined.inheritAttrs = false; +var _default = RobotOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketFilled.js new file mode 100644 index 00000000..cf0dde37 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RocketFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RocketFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RocketFilled = function RocketFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RocketFilled["default"] + }), null); +}; + +RocketFilled.displayName = 'RocketFilled'; +RocketFilled.inheritAttrs = false; +var _default = RocketFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketOutlined.js new file mode 100644 index 00000000..2c2be9c4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RocketOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RocketOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RocketOutlined = function RocketOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RocketOutlined["default"] + }), null); +}; + +RocketOutlined.displayName = 'RocketOutlined'; +RocketOutlined.inheritAttrs = false; +var _default = RocketOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketTwoTone.js new file mode 100644 index 00000000..99f00cc8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RocketTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RocketTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RocketTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RocketTwoTone = function RocketTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RocketTwoTone["default"] + }), null); +}; + +RocketTwoTone.displayName = 'RocketTwoTone'; +RocketTwoTone.inheritAttrs = false; +var _default = RocketTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RollbackOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RollbackOutlined.js new file mode 100644 index 00000000..a49718ee --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RollbackOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RollbackOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RollbackOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RollbackOutlined = function RollbackOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RollbackOutlined["default"] + }), null); +}; + +RollbackOutlined.displayName = 'RollbackOutlined'; +RollbackOutlined.inheritAttrs = false; +var _default = RollbackOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateLeftOutlined.js new file mode 100644 index 00000000..dd3c0531 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RotateLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RotateLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RotateLeftOutlined = function RotateLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RotateLeftOutlined["default"] + }), null); +}; + +RotateLeftOutlined.displayName = 'RotateLeftOutlined'; +RotateLeftOutlined.inheritAttrs = false; +var _default = RotateLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateRightOutlined.js new file mode 100644 index 00000000..4d1d6b1e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/RotateRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _RotateRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/RotateRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var RotateRightOutlined = function RotateRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _RotateRightOutlined["default"] + }), null); +}; + +RotateRightOutlined.displayName = 'RotateRightOutlined'; +RotateRightOutlined.inheritAttrs = false; +var _default = RotateRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateFilled.js new file mode 100644 index 00000000..dd7b6f07 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SafetyCertificateFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SafetyCertificateFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SafetyCertificateFilled = function SafetyCertificateFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SafetyCertificateFilled["default"] + }), null); +}; + +SafetyCertificateFilled.displayName = 'SafetyCertificateFilled'; +SafetyCertificateFilled.inheritAttrs = false; +var _default = SafetyCertificateFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateOutlined.js new file mode 100644 index 00000000..9fd2d6c2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SafetyCertificateOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SafetyCertificateOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SafetyCertificateOutlined = function SafetyCertificateOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SafetyCertificateOutlined["default"] + }), null); +}; + +SafetyCertificateOutlined.displayName = 'SafetyCertificateOutlined'; +SafetyCertificateOutlined.inheritAttrs = false; +var _default = SafetyCertificateOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateTwoTone.js new file mode 100644 index 00000000..320ac91b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyCertificateTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SafetyCertificateTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SafetyCertificateTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SafetyCertificateTwoTone = function SafetyCertificateTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SafetyCertificateTwoTone["default"] + }), null); +}; + +SafetyCertificateTwoTone.displayName = 'SafetyCertificateTwoTone'; +SafetyCertificateTwoTone.inheritAttrs = false; +var _default = SafetyCertificateTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyOutlined.js new file mode 100644 index 00000000..6e5f4ee5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SafetyOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SafetyOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SafetyOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SafetyOutlined = function SafetyOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SafetyOutlined["default"] + }), null); +}; + +SafetyOutlined.displayName = 'SafetyOutlined'; +SafetyOutlined.inheritAttrs = false; +var _default = SafetyOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveFilled.js new file mode 100644 index 00000000..983a3b3b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SaveFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SaveFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SaveFilled = function SaveFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SaveFilled["default"] + }), null); +}; + +SaveFilled.displayName = 'SaveFilled'; +SaveFilled.inheritAttrs = false; +var _default = SaveFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveOutlined.js new file mode 100644 index 00000000..8b083fa3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SaveOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SaveOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SaveOutlined = function SaveOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SaveOutlined["default"] + }), null); +}; + +SaveOutlined.displayName = 'SaveOutlined'; +SaveOutlined.inheritAttrs = false; +var _default = SaveOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveTwoTone.js new file mode 100644 index 00000000..f6bfa423 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SaveTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SaveTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SaveTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SaveTwoTone = function SaveTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SaveTwoTone["default"] + }), null); +}; + +SaveTwoTone.displayName = 'SaveTwoTone'; +SaveTwoTone.inheritAttrs = false; +var _default = SaveTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScanOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScanOutlined.js new file mode 100644 index 00000000..da31bffc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScanOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ScanOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ScanOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ScanOutlined = function ScanOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ScanOutlined["default"] + }), null); +}; + +ScanOutlined.displayName = 'ScanOutlined'; +ScanOutlined.inheritAttrs = false; +var _default = ScanOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleFilled.js new file mode 100644 index 00000000..a929da3a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ScheduleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ScheduleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ScheduleFilled = function ScheduleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ScheduleFilled["default"] + }), null); +}; + +ScheduleFilled.displayName = 'ScheduleFilled'; +ScheduleFilled.inheritAttrs = false; +var _default = ScheduleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleOutlined.js new file mode 100644 index 00000000..1074f54c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ScheduleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ScheduleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ScheduleOutlined = function ScheduleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ScheduleOutlined["default"] + }), null); +}; + +ScheduleOutlined.displayName = 'ScheduleOutlined'; +ScheduleOutlined.inheritAttrs = false; +var _default = ScheduleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleTwoTone.js new file mode 100644 index 00000000..0b7d47f0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScheduleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ScheduleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ScheduleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ScheduleTwoTone = function ScheduleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ScheduleTwoTone["default"] + }), null); +}; + +ScheduleTwoTone.displayName = 'ScheduleTwoTone'; +ScheduleTwoTone.inheritAttrs = false; +var _default = ScheduleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScissorOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScissorOutlined.js new file mode 100644 index 00000000..dfdd8348 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ScissorOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ScissorOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ScissorOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ScissorOutlined = function ScissorOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ScissorOutlined["default"] + }), null); +}; + +ScissorOutlined.displayName = 'ScissorOutlined'; +ScissorOutlined.inheritAttrs = false; +var _default = ScissorOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SearchOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SearchOutlined.js new file mode 100644 index 00000000..0e46d554 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SearchOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SearchOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SearchOutlined = function SearchOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SearchOutlined["default"] + }), null); +}; + +SearchOutlined.displayName = 'SearchOutlined'; +SearchOutlined.inheritAttrs = false; +var _default = SearchOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanFilled.js new file mode 100644 index 00000000..3e210418 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SecurityScanFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SecurityScanFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SecurityScanFilled = function SecurityScanFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SecurityScanFilled["default"] + }), null); +}; + +SecurityScanFilled.displayName = 'SecurityScanFilled'; +SecurityScanFilled.inheritAttrs = false; +var _default = SecurityScanFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanOutlined.js new file mode 100644 index 00000000..f51dde71 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SecurityScanOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SecurityScanOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SecurityScanOutlined = function SecurityScanOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SecurityScanOutlined["default"] + }), null); +}; + +SecurityScanOutlined.displayName = 'SecurityScanOutlined'; +SecurityScanOutlined.inheritAttrs = false; +var _default = SecurityScanOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanTwoTone.js new file mode 100644 index 00000000..cb8d7b18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SecurityScanTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SecurityScanTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SecurityScanTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SecurityScanTwoTone = function SecurityScanTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SecurityScanTwoTone["default"] + }), null); +}; + +SecurityScanTwoTone.displayName = 'SecurityScanTwoTone'; +SecurityScanTwoTone.inheritAttrs = false; +var _default = SecurityScanTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SelectOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SelectOutlined.js new file mode 100644 index 00000000..364863fe --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SelectOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SelectOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SelectOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SelectOutlined = function SelectOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SelectOutlined["default"] + }), null); +}; + +SelectOutlined.displayName = 'SelectOutlined'; +SelectOutlined.inheritAttrs = false; +var _default = SelectOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SendOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SendOutlined.js new file mode 100644 index 00000000..93188c56 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SendOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SendOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SendOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SendOutlined = function SendOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SendOutlined["default"] + }), null); +}; + +SendOutlined.displayName = 'SendOutlined'; +SendOutlined.inheritAttrs = false; +var _default = SendOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingFilled.js new file mode 100644 index 00000000..0c7edd56 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SettingFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SettingFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SettingFilled = function SettingFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SettingFilled["default"] + }), null); +}; + +SettingFilled.displayName = 'SettingFilled'; +SettingFilled.inheritAttrs = false; +var _default = SettingFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingOutlined.js new file mode 100644 index 00000000..329ccdaa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SettingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SettingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SettingOutlined = function SettingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SettingOutlined["default"] + }), null); +}; + +SettingOutlined.displayName = 'SettingOutlined'; +SettingOutlined.inheritAttrs = false; +var _default = SettingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingTwoTone.js new file mode 100644 index 00000000..d388bb9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SettingTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SettingTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SettingTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SettingTwoTone = function SettingTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SettingTwoTone["default"] + }), null); +}; + +SettingTwoTone.displayName = 'SettingTwoTone'; +SettingTwoTone.inheritAttrs = false; +var _default = SettingTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShakeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShakeOutlined.js new file mode 100644 index 00000000..962cdef9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShakeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShakeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShakeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShakeOutlined = function ShakeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShakeOutlined["default"] + }), null); +}; + +ShakeOutlined.displayName = 'ShakeOutlined'; +ShakeOutlined.inheritAttrs = false; +var _default = ShakeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShareAltOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShareAltOutlined.js new file mode 100644 index 00000000..397957f0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShareAltOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShareAltOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShareAltOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShareAltOutlined = function ShareAltOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShareAltOutlined["default"] + }), null); +}; + +ShareAltOutlined.displayName = 'ShareAltOutlined'; +ShareAltOutlined.inheritAttrs = false; +var _default = ShareAltOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopFilled.js new file mode 100644 index 00000000..70046978 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShopFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShopFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShopFilled = function ShopFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShopFilled["default"] + }), null); +}; + +ShopFilled.displayName = 'ShopFilled'; +ShopFilled.inheritAttrs = false; +var _default = ShopFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopOutlined.js new file mode 100644 index 00000000..99caa76a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShopOutlined = function ShopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShopOutlined["default"] + }), null); +}; + +ShopOutlined.displayName = 'ShopOutlined'; +ShopOutlined.inheritAttrs = false; +var _default = ShopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopTwoTone.js new file mode 100644 index 00000000..e5c19b8f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShopTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShopTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShopTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShopTwoTone = function ShopTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShopTwoTone["default"] + }), null); +}; + +ShopTwoTone.displayName = 'ShopTwoTone'; +ShopTwoTone.inheritAttrs = false; +var _default = ShopTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingCartOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingCartOutlined.js new file mode 100644 index 00000000..78b4ee2c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingCartOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShoppingCartOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShoppingCartOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShoppingCartOutlined = function ShoppingCartOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShoppingCartOutlined["default"] + }), null); +}; + +ShoppingCartOutlined.displayName = 'ShoppingCartOutlined'; +ShoppingCartOutlined.inheritAttrs = false; +var _default = ShoppingCartOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingFilled.js new file mode 100644 index 00000000..f6d7f311 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShoppingFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShoppingFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShoppingFilled = function ShoppingFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShoppingFilled["default"] + }), null); +}; + +ShoppingFilled.displayName = 'ShoppingFilled'; +ShoppingFilled.inheritAttrs = false; +var _default = ShoppingFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingOutlined.js new file mode 100644 index 00000000..688fb75d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShoppingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShoppingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShoppingOutlined = function ShoppingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShoppingOutlined["default"] + }), null); +}; + +ShoppingOutlined.displayName = 'ShoppingOutlined'; +ShoppingOutlined.inheritAttrs = false; +var _default = ShoppingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingTwoTone.js new file mode 100644 index 00000000..4166ef1d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShoppingTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShoppingTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShoppingTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShoppingTwoTone = function ShoppingTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShoppingTwoTone["default"] + }), null); +}; + +ShoppingTwoTone.displayName = 'ShoppingTwoTone'; +ShoppingTwoTone.inheritAttrs = false; +var _default = ShoppingTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShrinkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShrinkOutlined.js new file mode 100644 index 00000000..9b20c8f4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ShrinkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ShrinkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ShrinkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ShrinkOutlined = function ShrinkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ShrinkOutlined["default"] + }), null); +}; + +ShrinkOutlined.displayName = 'ShrinkOutlined'; +ShrinkOutlined.inheritAttrs = false; +var _default = ShrinkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SignalFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SignalFilled.js new file mode 100644 index 00000000..3701cb2f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SignalFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SignalFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SignalFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SignalFilled = function SignalFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SignalFilled["default"] + }), null); +}; + +SignalFilled.displayName = 'SignalFilled'; +SignalFilled.inheritAttrs = false; +var _default = SignalFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SisternodeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SisternodeOutlined.js new file mode 100644 index 00000000..f556fd3f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SisternodeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SisternodeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SisternodeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SisternodeOutlined = function SisternodeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SisternodeOutlined["default"] + }), null); +}; + +SisternodeOutlined.displayName = 'SisternodeOutlined'; +SisternodeOutlined.inheritAttrs = false; +var _default = SisternodeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchCircleFilled.js new file mode 100644 index 00000000..0c11e8b0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SketchCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SketchCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SketchCircleFilled = function SketchCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SketchCircleFilled["default"] + }), null); +}; + +SketchCircleFilled.displayName = 'SketchCircleFilled'; +SketchCircleFilled.inheritAttrs = false; +var _default = SketchCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchOutlined.js new file mode 100644 index 00000000..d9dbc320 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SketchOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SketchOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SketchOutlined = function SketchOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SketchOutlined["default"] + }), null); +}; + +SketchOutlined.displayName = 'SketchOutlined'; +SketchOutlined.inheritAttrs = false; +var _default = SketchOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchSquareFilled.js new file mode 100644 index 00000000..c0028e51 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SketchSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SketchSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SketchSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SketchSquareFilled = function SketchSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SketchSquareFilled["default"] + }), null); +}; + +SketchSquareFilled.displayName = 'SketchSquareFilled'; +SketchSquareFilled.inheritAttrs = false; +var _default = SketchSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinFilled.js new file mode 100644 index 00000000..1dc24d96 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SkinFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SkinFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SkinFilled = function SkinFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SkinFilled["default"] + }), null); +}; + +SkinFilled.displayName = 'SkinFilled'; +SkinFilled.inheritAttrs = false; +var _default = SkinFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinOutlined.js new file mode 100644 index 00000000..3d921dc5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SkinOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SkinOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SkinOutlined = function SkinOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SkinOutlined["default"] + }), null); +}; + +SkinOutlined.displayName = 'SkinOutlined'; +SkinOutlined.inheritAttrs = false; +var _default = SkinOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinTwoTone.js new file mode 100644 index 00000000..0c0a7a12 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkinTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SkinTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SkinTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SkinTwoTone = function SkinTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SkinTwoTone["default"] + }), null); +}; + +SkinTwoTone.displayName = 'SkinTwoTone'; +SkinTwoTone.inheritAttrs = false; +var _default = SkinTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeFilled.js new file mode 100644 index 00000000..95656df6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SkypeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SkypeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SkypeFilled = function SkypeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SkypeFilled["default"] + }), null); +}; + +SkypeFilled.displayName = 'SkypeFilled'; +SkypeFilled.inheritAttrs = false; +var _default = SkypeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeOutlined.js new file mode 100644 index 00000000..c2b0d9dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SkypeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SkypeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SkypeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SkypeOutlined = function SkypeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SkypeOutlined["default"] + }), null); +}; + +SkypeOutlined.displayName = 'SkypeOutlined'; +SkypeOutlined.inheritAttrs = false; +var _default = SkypeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackCircleFilled.js new file mode 100644 index 00000000..83b2a757 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlackCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlackCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlackCircleFilled = function SlackCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlackCircleFilled["default"] + }), null); +}; + +SlackCircleFilled.displayName = 'SlackCircleFilled'; +SlackCircleFilled.inheritAttrs = false; +var _default = SlackCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackOutlined.js new file mode 100644 index 00000000..8e3c6ca5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlackOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlackOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlackOutlined = function SlackOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlackOutlined["default"] + }), null); +}; + +SlackOutlined.displayName = 'SlackOutlined'; +SlackOutlined.inheritAttrs = false; +var _default = SlackOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareFilled.js new file mode 100644 index 00000000..27f10abc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlackSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlackSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlackSquareFilled = function SlackSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlackSquareFilled["default"] + }), null); +}; + +SlackSquareFilled.displayName = 'SlackSquareFilled'; +SlackSquareFilled.inheritAttrs = false; +var _default = SlackSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareOutlined.js new file mode 100644 index 00000000..61582e03 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlackSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlackSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlackSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlackSquareOutlined = function SlackSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlackSquareOutlined["default"] + }), null); +}; + +SlackSquareOutlined.displayName = 'SlackSquareOutlined'; +SlackSquareOutlined.inheritAttrs = false; +var _default = SlackSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersFilled.js new file mode 100644 index 00000000..776261a4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlidersFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlidersFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlidersFilled = function SlidersFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlidersFilled["default"] + }), null); +}; + +SlidersFilled.displayName = 'SlidersFilled'; +SlidersFilled.inheritAttrs = false; +var _default = SlidersFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersOutlined.js new file mode 100644 index 00000000..833cef94 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlidersOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlidersOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlidersOutlined = function SlidersOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlidersOutlined["default"] + }), null); +}; + +SlidersOutlined.displayName = 'SlidersOutlined'; +SlidersOutlined.inheritAttrs = false; +var _default = SlidersOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersTwoTone.js new file mode 100644 index 00000000..9c7df7e3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SlidersTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SlidersTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SlidersTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SlidersTwoTone = function SlidersTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SlidersTwoTone["default"] + }), null); +}; + +SlidersTwoTone.displayName = 'SlidersTwoTone'; +SlidersTwoTone.inheritAttrs = false; +var _default = SlidersTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmallDashOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmallDashOutlined.js new file mode 100644 index 00000000..b517a886 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmallDashOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SmallDashOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SmallDashOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SmallDashOutlined = function SmallDashOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SmallDashOutlined["default"] + }), null); +}; + +SmallDashOutlined.displayName = 'SmallDashOutlined'; +SmallDashOutlined.inheritAttrs = false; +var _default = SmallDashOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileFilled.js new file mode 100644 index 00000000..c595d2c3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SmileFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SmileFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SmileFilled = function SmileFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SmileFilled["default"] + }), null); +}; + +SmileFilled.displayName = 'SmileFilled'; +SmileFilled.inheritAttrs = false; +var _default = SmileFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileOutlined.js new file mode 100644 index 00000000..4d8f161f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SmileOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SmileOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SmileOutlined = function SmileOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SmileOutlined["default"] + }), null); +}; + +SmileOutlined.displayName = 'SmileOutlined'; +SmileOutlined.inheritAttrs = false; +var _default = SmileOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileTwoTone.js new file mode 100644 index 00000000..82bc2580 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SmileTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SmileTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SmileTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SmileTwoTone = function SmileTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SmileTwoTone["default"] + }), null); +}; + +SmileTwoTone.displayName = 'SmileTwoTone'; +SmileTwoTone.inheritAttrs = false; +var _default = SmileTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsFilled.js new file mode 100644 index 00000000..be824677 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SnippetsFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SnippetsFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SnippetsFilled = function SnippetsFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SnippetsFilled["default"] + }), null); +}; + +SnippetsFilled.displayName = 'SnippetsFilled'; +SnippetsFilled.inheritAttrs = false; +var _default = SnippetsFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsOutlined.js new file mode 100644 index 00000000..21c9d3d0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SnippetsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SnippetsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SnippetsOutlined = function SnippetsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SnippetsOutlined["default"] + }), null); +}; + +SnippetsOutlined.displayName = 'SnippetsOutlined'; +SnippetsOutlined.inheritAttrs = false; +var _default = SnippetsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsTwoTone.js new file mode 100644 index 00000000..56b18a10 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SnippetsTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SnippetsTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SnippetsTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SnippetsTwoTone = function SnippetsTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SnippetsTwoTone["default"] + }), null); +}; + +SnippetsTwoTone.displayName = 'SnippetsTwoTone'; +SnippetsTwoTone.inheritAttrs = false; +var _default = SnippetsTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SolutionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SolutionOutlined.js new file mode 100644 index 00000000..55777599 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SolutionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SolutionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SolutionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SolutionOutlined = function SolutionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SolutionOutlined["default"] + }), null); +}; + +SolutionOutlined.displayName = 'SolutionOutlined'; +SolutionOutlined.inheritAttrs = false; +var _default = SolutionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortAscendingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortAscendingOutlined.js new file mode 100644 index 00000000..c2a6566f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortAscendingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SortAscendingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SortAscendingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SortAscendingOutlined = function SortAscendingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SortAscendingOutlined["default"] + }), null); +}; + +SortAscendingOutlined.displayName = 'SortAscendingOutlined'; +SortAscendingOutlined.inheritAttrs = false; +var _default = SortAscendingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortDescendingOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortDescendingOutlined.js new file mode 100644 index 00000000..dc15f768 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SortDescendingOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SortDescendingOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SortDescendingOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SortDescendingOutlined = function SortDescendingOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SortDescendingOutlined["default"] + }), null); +}; + +SortDescendingOutlined.displayName = 'SortDescendingOutlined'; +SortDescendingOutlined.inheritAttrs = false; +var _default = SortDescendingOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundFilled.js new file mode 100644 index 00000000..33ebec9b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SoundFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SoundFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SoundFilled = function SoundFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SoundFilled["default"] + }), null); +}; + +SoundFilled.displayName = 'SoundFilled'; +SoundFilled.inheritAttrs = false; +var _default = SoundFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundOutlined.js new file mode 100644 index 00000000..6c4ee4b8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SoundOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SoundOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SoundOutlined = function SoundOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SoundOutlined["default"] + }), null); +}; + +SoundOutlined.displayName = 'SoundOutlined'; +SoundOutlined.inheritAttrs = false; +var _default = SoundOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundTwoTone.js new file mode 100644 index 00000000..38faf6ab --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SoundTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SoundTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SoundTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SoundTwoTone = function SoundTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SoundTwoTone["default"] + }), null); +}; + +SoundTwoTone.displayName = 'SoundTwoTone'; +SoundTwoTone.inheritAttrs = false; +var _default = SoundTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SplitCellsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SplitCellsOutlined.js new file mode 100644 index 00000000..06fa8a13 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SplitCellsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SplitCellsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SplitCellsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SplitCellsOutlined = function SplitCellsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SplitCellsOutlined["default"] + }), null); +}; + +SplitCellsOutlined.displayName = 'SplitCellsOutlined'; +SplitCellsOutlined.inheritAttrs = false; +var _default = SplitCellsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarFilled.js new file mode 100644 index 00000000..039b3db4 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StarFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StarFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StarFilled = function StarFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StarFilled["default"] + }), null); +}; + +StarFilled.displayName = 'StarFilled'; +StarFilled.inheritAttrs = false; +var _default = StarFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarOutlined.js new file mode 100644 index 00000000..d979f28d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StarOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StarOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StarOutlined = function StarOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StarOutlined["default"] + }), null); +}; + +StarOutlined.displayName = 'StarOutlined'; +StarOutlined.inheritAttrs = false; +var _default = StarOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarTwoTone.js new file mode 100644 index 00000000..3783dbbb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StarTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StarTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StarTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StarTwoTone = function StarTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StarTwoTone["default"] + }), null); +}; + +StarTwoTone.displayName = 'StarTwoTone'; +StarTwoTone.inheritAttrs = false; +var _default = StarTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardFilled.js new file mode 100644 index 00000000..6b14c831 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StepBackwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StepBackwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StepBackwardFilled = function StepBackwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StepBackwardFilled["default"] + }), null); +}; + +StepBackwardFilled.displayName = 'StepBackwardFilled'; +StepBackwardFilled.inheritAttrs = false; +var _default = StepBackwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardOutlined.js new file mode 100644 index 00000000..a2675453 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepBackwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StepBackwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StepBackwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StepBackwardOutlined = function StepBackwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StepBackwardOutlined["default"] + }), null); +}; + +StepBackwardOutlined.displayName = 'StepBackwardOutlined'; +StepBackwardOutlined.inheritAttrs = false; +var _default = StepBackwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardFilled.js new file mode 100644 index 00000000..6f57b895 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StepForwardFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StepForwardFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StepForwardFilled = function StepForwardFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StepForwardFilled["default"] + }), null); +}; + +StepForwardFilled.displayName = 'StepForwardFilled'; +StepForwardFilled.inheritAttrs = false; +var _default = StepForwardFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardOutlined.js new file mode 100644 index 00000000..ac1f4a72 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StepForwardOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StepForwardOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StepForwardOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StepForwardOutlined = function StepForwardOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StepForwardOutlined["default"] + }), null); +}; + +StepForwardOutlined.displayName = 'StepForwardOutlined'; +StepForwardOutlined.inheritAttrs = false; +var _default = StepForwardOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StockOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StockOutlined.js new file mode 100644 index 00000000..df20b36c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StockOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StockOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StockOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StockOutlined = function StockOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StockOutlined["default"] + }), null); +}; + +StockOutlined.displayName = 'StockOutlined'; +StockOutlined.inheritAttrs = false; +var _default = StockOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopFilled.js new file mode 100644 index 00000000..c5948a07 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StopFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StopFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StopFilled = function StopFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StopFilled["default"] + }), null); +}; + +StopFilled.displayName = 'StopFilled'; +StopFilled.inheritAttrs = false; +var _default = StopFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopOutlined.js new file mode 100644 index 00000000..0dbe4723 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StopOutlined = function StopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StopOutlined["default"] + }), null); +}; + +StopOutlined.displayName = 'StopOutlined'; +StopOutlined.inheritAttrs = false; +var _default = StopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopTwoTone.js new file mode 100644 index 00000000..56af4153 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StopTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StopTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StopTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StopTwoTone = function StopTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StopTwoTone["default"] + }), null); +}; + +StopTwoTone.displayName = 'StopTwoTone'; +StopTwoTone.inheritAttrs = false; +var _default = StopTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StrikethroughOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StrikethroughOutlined.js new file mode 100644 index 00000000..932f2fd2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/StrikethroughOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _StrikethroughOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/StrikethroughOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var StrikethroughOutlined = function StrikethroughOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _StrikethroughOutlined["default"] + }), null); +}; + +StrikethroughOutlined.displayName = 'StrikethroughOutlined'; +StrikethroughOutlined.inheritAttrs = false; +var _default = StrikethroughOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SubnodeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SubnodeOutlined.js new file mode 100644 index 00000000..0e9cd293 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SubnodeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SubnodeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SubnodeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SubnodeOutlined = function SubnodeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SubnodeOutlined["default"] + }), null); +}; + +SubnodeOutlined.displayName = 'SubnodeOutlined'; +SubnodeOutlined.inheritAttrs = false; +var _default = SubnodeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapLeftOutlined.js new file mode 100644 index 00000000..7c94b4ac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwapLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwapLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwapLeftOutlined = function SwapLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwapLeftOutlined["default"] + }), null); +}; + +SwapLeftOutlined.displayName = 'SwapLeftOutlined'; +SwapLeftOutlined.inheritAttrs = false; +var _default = SwapLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapOutlined.js new file mode 100644 index 00000000..11c83bb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwapOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwapOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwapOutlined = function SwapOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwapOutlined["default"] + }), null); +}; + +SwapOutlined.displayName = 'SwapOutlined'; +SwapOutlined.inheritAttrs = false; +var _default = SwapOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapRightOutlined.js new file mode 100644 index 00000000..6f8d65ac --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwapRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwapRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwapRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwapRightOutlined = function SwapRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwapRightOutlined["default"] + }), null); +}; + +SwapRightOutlined.displayName = 'SwapRightOutlined'; +SwapRightOutlined.inheritAttrs = false; +var _default = SwapRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherFilled.js new file mode 100644 index 00000000..45606dc2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwitcherFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwitcherFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwitcherFilled = function SwitcherFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwitcherFilled["default"] + }), null); +}; + +SwitcherFilled.displayName = 'SwitcherFilled'; +SwitcherFilled.inheritAttrs = false; +var _default = SwitcherFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherOutlined.js new file mode 100644 index 00000000..d0e4b3dc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwitcherOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwitcherOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwitcherOutlined = function SwitcherOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwitcherOutlined["default"] + }), null); +}; + +SwitcherOutlined.displayName = 'SwitcherOutlined'; +SwitcherOutlined.inheritAttrs = false; +var _default = SwitcherOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherTwoTone.js new file mode 100644 index 00000000..bc76ca35 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SwitcherTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SwitcherTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SwitcherTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwitcherTwoTone = function SwitcherTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SwitcherTwoTone["default"] + }), null); +}; + +SwitcherTwoTone.displayName = 'SwitcherTwoTone'; +SwitcherTwoTone.inheritAttrs = false; +var _default = SwitcherTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SyncOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SyncOutlined.js new file mode 100644 index 00000000..b3d5584b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/SyncOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _SyncOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/SyncOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SyncOutlined = function SyncOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _SyncOutlined["default"] + }), null); +}; + +SyncOutlined.displayName = 'SyncOutlined'; +SyncOutlined.inheritAttrs = false; +var _default = SyncOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TableOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TableOutlined.js new file mode 100644 index 00000000..06cf5909 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TableOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TableOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TableOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TableOutlined = function TableOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TableOutlined["default"] + }), null); +}; + +TableOutlined.displayName = 'TableOutlined'; +TableOutlined.inheritAttrs = false; +var _default = TableOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletFilled.js new file mode 100644 index 00000000..79aec211 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TabletFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TabletFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TabletFilled = function TabletFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TabletFilled["default"] + }), null); +}; + +TabletFilled.displayName = 'TabletFilled'; +TabletFilled.inheritAttrs = false; +var _default = TabletFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletOutlined.js new file mode 100644 index 00000000..d6650fe2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TabletOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TabletOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TabletOutlined = function TabletOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TabletOutlined["default"] + }), null); +}; + +TabletOutlined.displayName = 'TabletOutlined'; +TabletOutlined.inheritAttrs = false; +var _default = TabletOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletTwoTone.js new file mode 100644 index 00000000..a68e3c91 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TabletTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TabletTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TabletTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TabletTwoTone = function TabletTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TabletTwoTone["default"] + }), null); +}; + +TabletTwoTone.displayName = 'TabletTwoTone'; +TabletTwoTone.inheritAttrs = false; +var _default = TabletTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagFilled.js new file mode 100644 index 00000000..7a484730 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagFilled = function TagFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagFilled["default"] + }), null); +}; + +TagFilled.displayName = 'TagFilled'; +TagFilled.inheritAttrs = false; +var _default = TagFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagOutlined.js new file mode 100644 index 00000000..037e761e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagOutlined = function TagOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagOutlined["default"] + }), null); +}; + +TagOutlined.displayName = 'TagOutlined'; +TagOutlined.inheritAttrs = false; +var _default = TagOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagTwoTone.js new file mode 100644 index 00000000..aa49d222 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagTwoTone = function TagTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagTwoTone["default"] + }), null); +}; + +TagTwoTone.displayName = 'TagTwoTone'; +TagTwoTone.inheritAttrs = false; +var _default = TagTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsFilled.js new file mode 100644 index 00000000..541c80f1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagsFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagsFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagsFilled = function TagsFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagsFilled["default"] + }), null); +}; + +TagsFilled.displayName = 'TagsFilled'; +TagsFilled.inheritAttrs = false; +var _default = TagsFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsOutlined.js new file mode 100644 index 00000000..52580bfc --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagsOutlined = function TagsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagsOutlined["default"] + }), null); +}; + +TagsOutlined.displayName = 'TagsOutlined'; +TagsOutlined.inheritAttrs = false; +var _default = TagsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsTwoTone.js new file mode 100644 index 00000000..31673eb5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TagsTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TagsTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TagsTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TagsTwoTone = function TagsTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TagsTwoTone["default"] + }), null); +}; + +TagsTwoTone.displayName = 'TagsTwoTone'; +TagsTwoTone.inheritAttrs = false; +var _default = TagsTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleFilled.js new file mode 100644 index 00000000..4655f108 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TaobaoCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TaobaoCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TaobaoCircleFilled = function TaobaoCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TaobaoCircleFilled["default"] + }), null); +}; + +TaobaoCircleFilled.displayName = 'TaobaoCircleFilled'; +TaobaoCircleFilled.inheritAttrs = false; +var _default = TaobaoCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleOutlined.js new file mode 100644 index 00000000..26e879aa --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TaobaoCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TaobaoCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TaobaoCircleOutlined = function TaobaoCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TaobaoCircleOutlined["default"] + }), null); +}; + +TaobaoCircleOutlined.displayName = 'TaobaoCircleOutlined'; +TaobaoCircleOutlined.inheritAttrs = false; +var _default = TaobaoCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoOutlined.js new file mode 100644 index 00000000..1a454fff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TaobaoOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TaobaoOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TaobaoOutlined = function TaobaoOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TaobaoOutlined["default"] + }), null); +}; + +TaobaoOutlined.displayName = 'TaobaoOutlined'; +TaobaoOutlined.inheritAttrs = false; +var _default = TaobaoOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoSquareFilled.js new file mode 100644 index 00000000..685c6c0f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TaobaoSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TaobaoSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TaobaoSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TaobaoSquareFilled = function TaobaoSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TaobaoSquareFilled["default"] + }), null); +}; + +TaobaoSquareFilled.displayName = 'TaobaoSquareFilled'; +TaobaoSquareFilled.inheritAttrs = false; +var _default = TaobaoSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TeamOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TeamOutlined.js new file mode 100644 index 00000000..6a7d9db9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TeamOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TeamOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TeamOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TeamOutlined = function TeamOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TeamOutlined["default"] + }), null); +}; + +TeamOutlined.displayName = 'TeamOutlined'; +TeamOutlined.inheritAttrs = false; +var _default = TeamOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltFilled.js new file mode 100644 index 00000000..af02f535 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ThunderboltFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ThunderboltFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ThunderboltFilled = function ThunderboltFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ThunderboltFilled["default"] + }), null); +}; + +ThunderboltFilled.displayName = 'ThunderboltFilled'; +ThunderboltFilled.inheritAttrs = false; +var _default = ThunderboltFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltOutlined.js new file mode 100644 index 00000000..2c7d7b6b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ThunderboltOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ThunderboltOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ThunderboltOutlined = function ThunderboltOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ThunderboltOutlined["default"] + }), null); +}; + +ThunderboltOutlined.displayName = 'ThunderboltOutlined'; +ThunderboltOutlined.inheritAttrs = false; +var _default = ThunderboltOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltTwoTone.js new file mode 100644 index 00000000..4e109aff --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ThunderboltTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ThunderboltTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ThunderboltTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ThunderboltTwoTone = function ThunderboltTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ThunderboltTwoTone["default"] + }), null); +}; + +ThunderboltTwoTone.displayName = 'ThunderboltTwoTone'; +ThunderboltTwoTone.inheritAttrs = false; +var _default = ThunderboltTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToTopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToTopOutlined.js new file mode 100644 index 00000000..d92ca4a5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToTopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ToTopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ToTopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ToTopOutlined = function ToTopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ToTopOutlined["default"] + }), null); +}; + +ToTopOutlined.displayName = 'ToTopOutlined'; +ToTopOutlined.inheritAttrs = false; +var _default = ToTopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolFilled.js new file mode 100644 index 00000000..e72c887c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ToolFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ToolFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ToolFilled = function ToolFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ToolFilled["default"] + }), null); +}; + +ToolFilled.displayName = 'ToolFilled'; +ToolFilled.inheritAttrs = false; +var _default = ToolFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolOutlined.js new file mode 100644 index 00000000..5a3599e5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ToolOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ToolOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ToolOutlined = function ToolOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ToolOutlined["default"] + }), null); +}; + +ToolOutlined.displayName = 'ToolOutlined'; +ToolOutlined.inheritAttrs = false; +var _default = ToolOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolTwoTone.js new file mode 100644 index 00000000..2cb68409 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ToolTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ToolTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ToolTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ToolTwoTone = function ToolTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ToolTwoTone["default"] + }), null); +}; + +ToolTwoTone.displayName = 'ToolTwoTone'; +ToolTwoTone.inheritAttrs = false; +var _default = ToolTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleFilled.js new file mode 100644 index 00000000..2427c571 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrademarkCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrademarkCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrademarkCircleFilled = function TrademarkCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrademarkCircleFilled["default"] + }), null); +}; + +TrademarkCircleFilled.displayName = 'TrademarkCircleFilled'; +TrademarkCircleFilled.inheritAttrs = false; +var _default = TrademarkCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleOutlined.js new file mode 100644 index 00000000..8b206eb2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrademarkCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrademarkCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrademarkCircleOutlined = function TrademarkCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrademarkCircleOutlined["default"] + }), null); +}; + +TrademarkCircleOutlined.displayName = 'TrademarkCircleOutlined'; +TrademarkCircleOutlined.inheritAttrs = false; +var _default = TrademarkCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleTwoTone.js new file mode 100644 index 00000000..78d9c9e8 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrademarkCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrademarkCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrademarkCircleTwoTone = function TrademarkCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrademarkCircleTwoTone["default"] + }), null); +}; + +TrademarkCircleTwoTone.displayName = 'TrademarkCircleTwoTone'; +TrademarkCircleTwoTone.inheritAttrs = false; +var _default = TrademarkCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkOutlined.js new file mode 100644 index 00000000..454cfe18 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrademarkOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrademarkOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrademarkOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrademarkOutlined = function TrademarkOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrademarkOutlined["default"] + }), null); +}; + +TrademarkOutlined.displayName = 'TrademarkOutlined'; +TrademarkOutlined.inheritAttrs = false; +var _default = TrademarkOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TransactionOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TransactionOutlined.js new file mode 100644 index 00000000..e5a59256 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TransactionOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TransactionOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TransactionOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TransactionOutlined = function TransactionOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TransactionOutlined["default"] + }), null); +}; + +TransactionOutlined.displayName = 'TransactionOutlined'; +TransactionOutlined.inheritAttrs = false; +var _default = TransactionOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TranslationOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TranslationOutlined.js new file mode 100644 index 00000000..f36e3af9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TranslationOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TranslationOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TranslationOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TranslationOutlined = function TranslationOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TranslationOutlined["default"] + }), null); +}; + +TranslationOutlined.displayName = 'TranslationOutlined'; +TranslationOutlined.inheritAttrs = false; +var _default = TranslationOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyFilled.js new file mode 100644 index 00000000..d4fe633f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrophyFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrophyFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrophyFilled = function TrophyFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrophyFilled["default"] + }), null); +}; + +TrophyFilled.displayName = 'TrophyFilled'; +TrophyFilled.inheritAttrs = false; +var _default = TrophyFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyOutlined.js new file mode 100644 index 00000000..9746bd70 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrophyOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrophyOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrophyOutlined = function TrophyOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrophyOutlined["default"] + }), null); +}; + +TrophyOutlined.displayName = 'TrophyOutlined'; +TrophyOutlined.inheritAttrs = false; +var _default = TrophyOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyTwoTone.js new file mode 100644 index 00000000..9fd5d64c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TrophyTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TrophyTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TrophyTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TrophyTwoTone = function TrophyTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TrophyTwoTone["default"] + }), null); +}; + +TrophyTwoTone.displayName = 'TrophyTwoTone'; +TrophyTwoTone.inheritAttrs = false; +var _default = TrophyTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterCircleFilled.js new file mode 100644 index 00000000..54c5c531 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TwitterCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TwitterCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TwitterCircleFilled = function TwitterCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TwitterCircleFilled["default"] + }), null); +}; + +TwitterCircleFilled.displayName = 'TwitterCircleFilled'; +TwitterCircleFilled.inheritAttrs = false; +var _default = TwitterCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterOutlined.js new file mode 100644 index 00000000..08803515 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TwitterOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TwitterOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TwitterOutlined = function TwitterOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TwitterOutlined["default"] + }), null); +}; + +TwitterOutlined.displayName = 'TwitterOutlined'; +TwitterOutlined.inheritAttrs = false; +var _default = TwitterOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterSquareFilled.js new file mode 100644 index 00000000..22635483 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/TwitterSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _TwitterSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/TwitterSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var TwitterSquareFilled = function TwitterSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _TwitterSquareFilled["default"] + }), null); +}; + +TwitterSquareFilled.displayName = 'TwitterSquareFilled'; +TwitterSquareFilled.inheritAttrs = false; +var _default = TwitterSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnderlineOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnderlineOutlined.js new file mode 100644 index 00000000..a3129277 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnderlineOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UnderlineOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UnderlineOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UnderlineOutlined = function UnderlineOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UnderlineOutlined["default"] + }), null); +}; + +UnderlineOutlined.displayName = 'UnderlineOutlined'; +UnderlineOutlined.inheritAttrs = false; +var _default = UnderlineOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UndoOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UndoOutlined.js new file mode 100644 index 00000000..32e06e1a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UndoOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UndoOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UndoOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UndoOutlined = function UndoOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UndoOutlined["default"] + }), null); +}; + +UndoOutlined.displayName = 'UndoOutlined'; +UndoOutlined.inheritAttrs = false; +var _default = UndoOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UngroupOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UngroupOutlined.js new file mode 100644 index 00000000..0c597a30 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UngroupOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UngroupOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UngroupOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UngroupOutlined = function UngroupOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UngroupOutlined["default"] + }), null); +}; + +UngroupOutlined.displayName = 'UngroupOutlined'; +UngroupOutlined.inheritAttrs = false; +var _default = UngroupOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockFilled.js new file mode 100644 index 00000000..163c0d56 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UnlockFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UnlockFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UnlockFilled = function UnlockFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UnlockFilled["default"] + }), null); +}; + +UnlockFilled.displayName = 'UnlockFilled'; +UnlockFilled.inheritAttrs = false; +var _default = UnlockFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockOutlined.js new file mode 100644 index 00000000..66c7611d --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UnlockOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UnlockOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UnlockOutlined = function UnlockOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UnlockOutlined["default"] + }), null); +}; + +UnlockOutlined.displayName = 'UnlockOutlined'; +UnlockOutlined.inheritAttrs = false; +var _default = UnlockOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockTwoTone.js new file mode 100644 index 00000000..b716695c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnlockTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UnlockTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UnlockTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UnlockTwoTone = function UnlockTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UnlockTwoTone["default"] + }), null); +}; + +UnlockTwoTone.displayName = 'UnlockTwoTone'; +UnlockTwoTone.inheritAttrs = false; +var _default = UnlockTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnorderedListOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnorderedListOutlined.js new file mode 100644 index 00000000..fbab7318 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UnorderedListOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UnorderedListOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UnorderedListOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UnorderedListOutlined = function UnorderedListOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UnorderedListOutlined["default"] + }), null); +}; + +UnorderedListOutlined.displayName = 'UnorderedListOutlined'; +UnorderedListOutlined.inheritAttrs = false; +var _default = UnorderedListOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleFilled.js new file mode 100644 index 00000000..69509b63 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpCircleFilled = function UpCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpCircleFilled["default"] + }), null); +}; + +UpCircleFilled.displayName = 'UpCircleFilled'; +UpCircleFilled.inheritAttrs = false; +var _default = UpCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleOutlined.js new file mode 100644 index 00000000..9071e2e0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpCircleOutlined = function UpCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpCircleOutlined["default"] + }), null); +}; + +UpCircleOutlined.displayName = 'UpCircleOutlined'; +UpCircleOutlined.inheritAttrs = false; +var _default = UpCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleTwoTone.js new file mode 100644 index 00000000..3f16a06f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpCircleTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpCircleTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpCircleTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpCircleTwoTone = function UpCircleTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpCircleTwoTone["default"] + }), null); +}; + +UpCircleTwoTone.displayName = 'UpCircleTwoTone'; +UpCircleTwoTone.inheritAttrs = false; +var _default = UpCircleTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpOutlined.js new file mode 100644 index 00000000..24959865 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpOutlined = function UpOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpOutlined["default"] + }), null); +}; + +UpOutlined.displayName = 'UpOutlined'; +UpOutlined.inheritAttrs = false; +var _default = UpOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareFilled.js new file mode 100644 index 00000000..732129ca --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpSquareFilled = function UpSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpSquareFilled["default"] + }), null); +}; + +UpSquareFilled.displayName = 'UpSquareFilled'; +UpSquareFilled.inheritAttrs = false; +var _default = UpSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareOutlined.js new file mode 100644 index 00000000..7af2fb4e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpSquareOutlined = function UpSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpSquareOutlined["default"] + }), null); +}; + +UpSquareOutlined.displayName = 'UpSquareOutlined'; +UpSquareOutlined.inheritAttrs = false; +var _default = UpSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareTwoTone.js new file mode 100644 index 00000000..adb1472e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UpSquareTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UpSquareTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UpSquareTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UpSquareTwoTone = function UpSquareTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UpSquareTwoTone["default"] + }), null); +}; + +UpSquareTwoTone.displayName = 'UpSquareTwoTone'; +UpSquareTwoTone.inheritAttrs = false; +var _default = UpSquareTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UploadOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UploadOutlined.js new file mode 100644 index 00000000..cddc0036 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UploadOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UploadOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UploadOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UploadOutlined = function UploadOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UploadOutlined["default"] + }), null); +}; + +UploadOutlined.displayName = 'UploadOutlined'; +UploadOutlined.inheritAttrs = false; +var _default = UploadOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbFilled.js new file mode 100644 index 00000000..393b6592 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UsbFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UsbFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UsbFilled = function UsbFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UsbFilled["default"] + }), null); +}; + +UsbFilled.displayName = 'UsbFilled'; +UsbFilled.inheritAttrs = false; +var _default = UsbFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbOutlined.js new file mode 100644 index 00000000..6f7ebb0e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UsbOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UsbOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UsbOutlined = function UsbOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UsbOutlined["default"] + }), null); +}; + +UsbOutlined.displayName = 'UsbOutlined'; +UsbOutlined.inheritAttrs = false; +var _default = UsbOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbTwoTone.js new file mode 100644 index 00000000..a78b9841 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsbTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UsbTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UsbTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UsbTwoTone = function UsbTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UsbTwoTone["default"] + }), null); +}; + +UsbTwoTone.displayName = 'UsbTwoTone'; +UsbTwoTone.inheritAttrs = false; +var _default = UsbTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserAddOutlined.js new file mode 100644 index 00000000..5b05554f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UserAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UserAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UserAddOutlined = function UserAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UserAddOutlined["default"] + }), null); +}; + +UserAddOutlined.displayName = 'UserAddOutlined'; +UserAddOutlined.inheritAttrs = false; +var _default = UserAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserDeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserDeleteOutlined.js new file mode 100644 index 00000000..b8d876cd --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserDeleteOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UserDeleteOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UserDeleteOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UserDeleteOutlined = function UserDeleteOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UserDeleteOutlined["default"] + }), null); +}; + +UserDeleteOutlined.displayName = 'UserDeleteOutlined'; +UserDeleteOutlined.inheritAttrs = false; +var _default = UserDeleteOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserOutlined.js new file mode 100644 index 00000000..3096deaf --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UserOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UserOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UserOutlined = function UserOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UserOutlined["default"] + }), null); +}; + +UserOutlined.displayName = 'UserOutlined'; +UserOutlined.inheritAttrs = false; +var _default = UserOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserSwitchOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserSwitchOutlined.js new file mode 100644 index 00000000..d4cf058c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UserSwitchOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UserSwitchOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UserSwitchOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UserSwitchOutlined = function UserSwitchOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UserSwitchOutlined["default"] + }), null); +}; + +UserSwitchOutlined.displayName = 'UserSwitchOutlined'; +UserSwitchOutlined.inheritAttrs = false; +var _default = UserSwitchOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupAddOutlined.js new file mode 100644 index 00000000..cc1ca956 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UsergroupAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UsergroupAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UsergroupAddOutlined = function UsergroupAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UsergroupAddOutlined["default"] + }), null); +}; + +UsergroupAddOutlined.displayName = 'UsergroupAddOutlined'; +UsergroupAddOutlined.inheritAttrs = false; +var _default = UsergroupAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupDeleteOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupDeleteOutlined.js new file mode 100644 index 00000000..94f8119f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/UsergroupDeleteOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _UsergroupDeleteOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/UsergroupDeleteOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var UsergroupDeleteOutlined = function UsergroupDeleteOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _UsergroupDeleteOutlined["default"] + }), null); +}; + +UsergroupDeleteOutlined.displayName = 'UsergroupDeleteOutlined'; +UsergroupDeleteOutlined.inheritAttrs = false; +var _default = UsergroupDeleteOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerifiedOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerifiedOutlined.js new file mode 100644 index 00000000..4a9af88b --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerifiedOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerifiedOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerifiedOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerifiedOutlined = function VerifiedOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerifiedOutlined["default"] + }), null); +}; + +VerifiedOutlined.displayName = 'VerifiedOutlined'; +VerifiedOutlined.inheritAttrs = false; +var _default = VerifiedOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignBottomOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignBottomOutlined.js new file mode 100644 index 00000000..001a3ee9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignBottomOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerticalAlignBottomOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerticalAlignBottomOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerticalAlignBottomOutlined = function VerticalAlignBottomOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerticalAlignBottomOutlined["default"] + }), null); +}; + +VerticalAlignBottomOutlined.displayName = 'VerticalAlignBottomOutlined'; +VerticalAlignBottomOutlined.inheritAttrs = false; +var _default = VerticalAlignBottomOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignMiddleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignMiddleOutlined.js new file mode 100644 index 00000000..709c8405 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignMiddleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerticalAlignMiddleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerticalAlignMiddleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerticalAlignMiddleOutlined = function VerticalAlignMiddleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerticalAlignMiddleOutlined["default"] + }), null); +}; + +VerticalAlignMiddleOutlined.displayName = 'VerticalAlignMiddleOutlined'; +VerticalAlignMiddleOutlined.inheritAttrs = false; +var _default = VerticalAlignMiddleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignTopOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignTopOutlined.js new file mode 100644 index 00000000..e77d9a30 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalAlignTopOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerticalAlignTopOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerticalAlignTopOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerticalAlignTopOutlined = function VerticalAlignTopOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerticalAlignTopOutlined["default"] + }), null); +}; + +VerticalAlignTopOutlined.displayName = 'VerticalAlignTopOutlined'; +VerticalAlignTopOutlined.inheritAttrs = false; +var _default = VerticalAlignTopOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalLeftOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalLeftOutlined.js new file mode 100644 index 00000000..ffd30ab0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalLeftOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerticalLeftOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerticalLeftOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerticalLeftOutlined = function VerticalLeftOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerticalLeftOutlined["default"] + }), null); +}; + +VerticalLeftOutlined.displayName = 'VerticalLeftOutlined'; +VerticalLeftOutlined.inheritAttrs = false; +var _default = VerticalLeftOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalRightOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalRightOutlined.js new file mode 100644 index 00000000..3d7853ad --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VerticalRightOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VerticalRightOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VerticalRightOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VerticalRightOutlined = function VerticalRightOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VerticalRightOutlined["default"] + }), null); +}; + +VerticalRightOutlined.displayName = 'VerticalRightOutlined'; +VerticalRightOutlined.inheritAttrs = false; +var _default = VerticalRightOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraAddOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraAddOutlined.js new file mode 100644 index 00000000..ab068391 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraAddOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VideoCameraAddOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VideoCameraAddOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VideoCameraAddOutlined = function VideoCameraAddOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VideoCameraAddOutlined["default"] + }), null); +}; + +VideoCameraAddOutlined.displayName = 'VideoCameraAddOutlined'; +VideoCameraAddOutlined.inheritAttrs = false; +var _default = VideoCameraAddOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraFilled.js new file mode 100644 index 00000000..bc634698 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VideoCameraFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VideoCameraFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VideoCameraFilled = function VideoCameraFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VideoCameraFilled["default"] + }), null); +}; + +VideoCameraFilled.displayName = 'VideoCameraFilled'; +VideoCameraFilled.inheritAttrs = false; +var _default = VideoCameraFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraOutlined.js new file mode 100644 index 00000000..627688f9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VideoCameraOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VideoCameraOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VideoCameraOutlined = function VideoCameraOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VideoCameraOutlined["default"] + }), null); +}; + +VideoCameraOutlined.displayName = 'VideoCameraOutlined'; +VideoCameraOutlined.inheritAttrs = false; +var _default = VideoCameraOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraTwoTone.js new file mode 100644 index 00000000..a177c645 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/VideoCameraTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _VideoCameraTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/VideoCameraTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var VideoCameraTwoTone = function VideoCameraTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _VideoCameraTwoTone["default"] + }), null); +}; + +VideoCameraTwoTone.displayName = 'VideoCameraTwoTone'; +VideoCameraTwoTone.inheritAttrs = false; +var _default = VideoCameraTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletFilled.js new file mode 100644 index 00000000..53d0aff2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WalletFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WalletFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WalletFilled = function WalletFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WalletFilled["default"] + }), null); +}; + +WalletFilled.displayName = 'WalletFilled'; +WalletFilled.inheritAttrs = false; +var _default = WalletFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletOutlined.js new file mode 100644 index 00000000..453384a3 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WalletOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WalletOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WalletOutlined = function WalletOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WalletOutlined["default"] + }), null); +}; + +WalletOutlined.displayName = 'WalletOutlined'; +WalletOutlined.inheritAttrs = false; +var _default = WalletOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletTwoTone.js new file mode 100644 index 00000000..ec8eeaa7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WalletTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WalletTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WalletTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WalletTwoTone = function WalletTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WalletTwoTone["default"] + }), null); +}; + +WalletTwoTone.displayName = 'WalletTwoTone'; +WalletTwoTone.inheritAttrs = false; +var _default = WalletTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningFilled.js new file mode 100644 index 00000000..605bc6eb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WarningFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WarningFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WarningFilled = function WarningFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WarningFilled["default"] + }), null); +}; + +WarningFilled.displayName = 'WarningFilled'; +WarningFilled.inheritAttrs = false; +var _default = WarningFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningOutlined.js new file mode 100644 index 00000000..7b79f141 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WarningOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WarningOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WarningOutlined = function WarningOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WarningOutlined["default"] + }), null); +}; + +WarningOutlined.displayName = 'WarningOutlined'; +WarningOutlined.inheritAttrs = false; +var _default = WarningOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningTwoTone.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningTwoTone.js new file mode 100644 index 00000000..2dc20958 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WarningTwoTone.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WarningTwoTone = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WarningTwoTone")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WarningTwoTone = function WarningTwoTone(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WarningTwoTone["default"] + }), null); +}; + +WarningTwoTone.displayName = 'WarningTwoTone'; +WarningTwoTone.inheritAttrs = false; +var _default = WarningTwoTone; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatFilled.js new file mode 100644 index 00000000..7c6991af --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WechatFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WechatFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WechatFilled = function WechatFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WechatFilled["default"] + }), null); +}; + +WechatFilled.displayName = 'WechatFilled'; +WechatFilled.inheritAttrs = false; +var _default = WechatFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatOutlined.js new file mode 100644 index 00000000..bb70643f --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WechatOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WechatOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WechatOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WechatOutlined = function WechatOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WechatOutlined["default"] + }), null); +}; + +WechatOutlined.displayName = 'WechatOutlined'; +WechatOutlined.inheritAttrs = false; +var _default = WechatOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleFilled.js new file mode 100644 index 00000000..dc0165d1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WeiboCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WeiboCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WeiboCircleFilled = function WeiboCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WeiboCircleFilled["default"] + }), null); +}; + +WeiboCircleFilled.displayName = 'WeiboCircleFilled'; +WeiboCircleFilled.inheritAttrs = false; +var _default = WeiboCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleOutlined.js new file mode 100644 index 00000000..94d306cb --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboCircleOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WeiboCircleOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WeiboCircleOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WeiboCircleOutlined = function WeiboCircleOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WeiboCircleOutlined["default"] + }), null); +}; + +WeiboCircleOutlined.displayName = 'WeiboCircleOutlined'; +WeiboCircleOutlined.inheritAttrs = false; +var _default = WeiboCircleOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboOutlined.js new file mode 100644 index 00000000..cf3f37a7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WeiboOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WeiboOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WeiboOutlined = function WeiboOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WeiboOutlined["default"] + }), null); +}; + +WeiboOutlined.displayName = 'WeiboOutlined'; +WeiboOutlined.inheritAttrs = false; +var _default = WeiboOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareFilled.js new file mode 100644 index 00000000..1880c8d5 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WeiboSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WeiboSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WeiboSquareFilled = function WeiboSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WeiboSquareFilled["default"] + }), null); +}; + +WeiboSquareFilled.displayName = 'WeiboSquareFilled'; +WeiboSquareFilled.inheritAttrs = false; +var _default = WeiboSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareOutlined.js new file mode 100644 index 00000000..515ab97e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WeiboSquareOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WeiboSquareOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WeiboSquareOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WeiboSquareOutlined = function WeiboSquareOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WeiboSquareOutlined["default"] + }), null); +}; + +WeiboSquareOutlined.displayName = 'WeiboSquareOutlined'; +WeiboSquareOutlined.inheritAttrs = false; +var _default = WeiboSquareOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WhatsAppOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WhatsAppOutlined.js new file mode 100644 index 00000000..654b5ed2 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WhatsAppOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WhatsAppOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WhatsAppOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WhatsAppOutlined = function WhatsAppOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WhatsAppOutlined["default"] + }), null); +}; + +WhatsAppOutlined.displayName = 'WhatsAppOutlined'; +WhatsAppOutlined.inheritAttrs = false; +var _default = WhatsAppOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WifiOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WifiOutlined.js new file mode 100644 index 00000000..8c1a7e9e --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WifiOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WifiOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WifiOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WifiOutlined = function WifiOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WifiOutlined["default"] + }), null); +}; + +WifiOutlined.displayName = 'WifiOutlined'; +WifiOutlined.inheritAttrs = false; +var _default = WifiOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsFilled.js new file mode 100644 index 00000000..6f1bb808 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WindowsFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WindowsFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WindowsFilled = function WindowsFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WindowsFilled["default"] + }), null); +}; + +WindowsFilled.displayName = 'WindowsFilled'; +WindowsFilled.inheritAttrs = false; +var _default = WindowsFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsOutlined.js new file mode 100644 index 00000000..a29366a7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WindowsOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WindowsOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WindowsOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WindowsOutlined = function WindowsOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WindowsOutlined["default"] + }), null); +}; + +WindowsOutlined.displayName = 'WindowsOutlined'; +WindowsOutlined.inheritAttrs = false; +var _default = WindowsOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WomanOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WomanOutlined.js new file mode 100644 index 00000000..06f0def7 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/WomanOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _WomanOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/WomanOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var WomanOutlined = function WomanOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _WomanOutlined["default"] + }), null); +}; + +WomanOutlined.displayName = 'WomanOutlined'; +WomanOutlined.inheritAttrs = false; +var _default = WomanOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooFilled.js new file mode 100644 index 00000000..29baa734 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YahooFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YahooFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YahooFilled = function YahooFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YahooFilled["default"] + }), null); +}; + +YahooFilled.displayName = 'YahooFilled'; +YahooFilled.inheritAttrs = false; +var _default = YahooFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooOutlined.js new file mode 100644 index 00000000..6fa5cc52 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YahooOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YahooOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YahooOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YahooOutlined = function YahooOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YahooOutlined["default"] + }), null); +}; + +YahooOutlined.displayName = 'YahooOutlined'; +YahooOutlined.inheritAttrs = false; +var _default = YahooOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeFilled.js new file mode 100644 index 00000000..cb465612 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YoutubeFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YoutubeFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YoutubeFilled = function YoutubeFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YoutubeFilled["default"] + }), null); +}; + +YoutubeFilled.displayName = 'YoutubeFilled'; +YoutubeFilled.inheritAttrs = false; +var _default = YoutubeFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeOutlined.js new file mode 100644 index 00000000..68e9a531 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YoutubeOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YoutubeOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YoutubeOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YoutubeOutlined = function YoutubeOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YoutubeOutlined["default"] + }), null); +}; + +YoutubeOutlined.displayName = 'YoutubeOutlined'; +YoutubeOutlined.inheritAttrs = false; +var _default = YoutubeOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueFilled.js new file mode 100644 index 00000000..dcc0d1c6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YuqueFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YuqueFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YuqueFilled = function YuqueFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YuqueFilled["default"] + }), null); +}; + +YuqueFilled.displayName = 'YuqueFilled'; +YuqueFilled.inheritAttrs = false; +var _default = YuqueFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueOutlined.js new file mode 100644 index 00000000..b59cb39a --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/YuqueOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _YuqueOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/YuqueOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var YuqueOutlined = function YuqueOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _YuqueOutlined["default"] + }), null); +}; + +YuqueOutlined.displayName = 'YuqueOutlined'; +YuqueOutlined.inheritAttrs = false; +var _default = YuqueOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuCircleFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuCircleFilled.js new file mode 100644 index 00000000..8f4cf717 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuCircleFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ZhihuCircleFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ZhihuCircleFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ZhihuCircleFilled = function ZhihuCircleFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ZhihuCircleFilled["default"] + }), null); +}; + +ZhihuCircleFilled.displayName = 'ZhihuCircleFilled'; +ZhihuCircleFilled.inheritAttrs = false; +var _default = ZhihuCircleFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuOutlined.js new file mode 100644 index 00000000..8147899c --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ZhihuOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ZhihuOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ZhihuOutlined = function ZhihuOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ZhihuOutlined["default"] + }), null); +}; + +ZhihuOutlined.displayName = 'ZhihuOutlined'; +ZhihuOutlined.inheritAttrs = false; +var _default = ZhihuOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuSquareFilled.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuSquareFilled.js new file mode 100644 index 00000000..cfc876b6 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZhihuSquareFilled.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ZhihuSquareFilled = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ZhihuSquareFilled")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ZhihuSquareFilled = function ZhihuSquareFilled(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ZhihuSquareFilled["default"] + }), null); +}; + +ZhihuSquareFilled.displayName = 'ZhihuSquareFilled'; +ZhihuSquareFilled.inheritAttrs = false; +var _default = ZhihuSquareFilled; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomInOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomInOutlined.js new file mode 100644 index 00000000..821162e9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomInOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ZoomInOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ZoomInOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ZoomInOutlined = function ZoomInOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ZoomInOutlined["default"] + }), null); +}; + +ZoomInOutlined.displayName = 'ZoomInOutlined'; +ZoomInOutlined.inheritAttrs = false; +var _default = ZoomInOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomOutOutlined.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomOutOutlined.js new file mode 100644 index 00000000..976f03f0 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/ZoomOutOutlined.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _vue = require("vue"); + +var _ZoomOutOutlined = _interopRequireDefault(require("@ant-design/icons-svg/lib/asn/ZoomOutOutlined")); + +var _AntdIcon = _interopRequireDefault(require("../components/AntdIcon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ZoomOutOutlined = function ZoomOutOutlined(props, context) { + var p = _objectSpread({}, props, context.attrs); + + return (0, _vue.createVNode)(_AntdIcon["default"], _objectSpread({}, p, { + "icon": _ZoomOutOutlined["default"] + }), null); +}; + +ZoomOutOutlined.displayName = 'ZoomOutOutlined'; +ZoomOutOutlined.inheritAttrs = false; +var _default = ZoomOutOutlined; +exports["default"] = _default; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/icons/index.js b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/index.js new file mode 100644 index 00000000..03346d08 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/icons/index.js @@ -0,0 +1,6319 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "AccountBookFilled", { + enumerable: true, + get: function get() { + return _AccountBookFilled["default"]; + } +}); +Object.defineProperty(exports, "AccountBookOutlined", { + enumerable: true, + get: function get() { + return _AccountBookOutlined["default"]; + } +}); +Object.defineProperty(exports, "AccountBookTwoTone", { + enumerable: true, + get: function get() { + return _AccountBookTwoTone["default"]; + } +}); +Object.defineProperty(exports, "AimOutlined", { + enumerable: true, + get: function get() { + return _AimOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlertFilled", { + enumerable: true, + get: function get() { + return _AlertFilled["default"]; + } +}); +Object.defineProperty(exports, "AlertOutlined", { + enumerable: true, + get: function get() { + return _AlertOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlertTwoTone", { + enumerable: true, + get: function get() { + return _AlertTwoTone["default"]; + } +}); +Object.defineProperty(exports, "AlibabaOutlined", { + enumerable: true, + get: function get() { + return _AlibabaOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlignCenterOutlined", { + enumerable: true, + get: function get() { + return _AlignCenterOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlignLeftOutlined", { + enumerable: true, + get: function get() { + return _AlignLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlignRightOutlined", { + enumerable: true, + get: function get() { + return _AlignRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlipayCircleFilled", { + enumerable: true, + get: function get() { + return _AlipayCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "AlipayCircleOutlined", { + enumerable: true, + get: function get() { + return _AlipayCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlipayOutlined", { + enumerable: true, + get: function get() { + return _AlipayOutlined["default"]; + } +}); +Object.defineProperty(exports, "AlipaySquareFilled", { + enumerable: true, + get: function get() { + return _AlipaySquareFilled["default"]; + } +}); +Object.defineProperty(exports, "AliwangwangFilled", { + enumerable: true, + get: function get() { + return _AliwangwangFilled["default"]; + } +}); +Object.defineProperty(exports, "AliwangwangOutlined", { + enumerable: true, + get: function get() { + return _AliwangwangOutlined["default"]; + } +}); +Object.defineProperty(exports, "AliyunOutlined", { + enumerable: true, + get: function get() { + return _AliyunOutlined["default"]; + } +}); +Object.defineProperty(exports, "AmazonCircleFilled", { + enumerable: true, + get: function get() { + return _AmazonCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "AmazonOutlined", { + enumerable: true, + get: function get() { + return _AmazonOutlined["default"]; + } +}); +Object.defineProperty(exports, "AmazonSquareFilled", { + enumerable: true, + get: function get() { + return _AmazonSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "AndroidFilled", { + enumerable: true, + get: function get() { + return _AndroidFilled["default"]; + } +}); +Object.defineProperty(exports, "AndroidOutlined", { + enumerable: true, + get: function get() { + return _AndroidOutlined["default"]; + } +}); +Object.defineProperty(exports, "AntCloudOutlined", { + enumerable: true, + get: function get() { + return _AntCloudOutlined["default"]; + } +}); +Object.defineProperty(exports, "AntDesignOutlined", { + enumerable: true, + get: function get() { + return _AntDesignOutlined["default"]; + } +}); +Object.defineProperty(exports, "ApartmentOutlined", { + enumerable: true, + get: function get() { + return _ApartmentOutlined["default"]; + } +}); +Object.defineProperty(exports, "ApiFilled", { + enumerable: true, + get: function get() { + return _ApiFilled["default"]; + } +}); +Object.defineProperty(exports, "ApiOutlined", { + enumerable: true, + get: function get() { + return _ApiOutlined["default"]; + } +}); +Object.defineProperty(exports, "ApiTwoTone", { + enumerable: true, + get: function get() { + return _ApiTwoTone["default"]; + } +}); +Object.defineProperty(exports, "AppleFilled", { + enumerable: true, + get: function get() { + return _AppleFilled["default"]; + } +}); +Object.defineProperty(exports, "AppleOutlined", { + enumerable: true, + get: function get() { + return _AppleOutlined["default"]; + } +}); +Object.defineProperty(exports, "AppstoreAddOutlined", { + enumerable: true, + get: function get() { + return _AppstoreAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "AppstoreFilled", { + enumerable: true, + get: function get() { + return _AppstoreFilled["default"]; + } +}); +Object.defineProperty(exports, "AppstoreOutlined", { + enumerable: true, + get: function get() { + return _AppstoreOutlined["default"]; + } +}); +Object.defineProperty(exports, "AppstoreTwoTone", { + enumerable: true, + get: function get() { + return _AppstoreTwoTone["default"]; + } +}); +Object.defineProperty(exports, "AreaChartOutlined", { + enumerable: true, + get: function get() { + return _AreaChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "ArrowDownOutlined", { + enumerable: true, + get: function get() { + return _ArrowDownOutlined["default"]; + } +}); +Object.defineProperty(exports, "ArrowLeftOutlined", { + enumerable: true, + get: function get() { + return _ArrowLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "ArrowRightOutlined", { + enumerable: true, + get: function get() { + return _ArrowRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "ArrowUpOutlined", { + enumerable: true, + get: function get() { + return _ArrowUpOutlined["default"]; + } +}); +Object.defineProperty(exports, "ArrowsAltOutlined", { + enumerable: true, + get: function get() { + return _ArrowsAltOutlined["default"]; + } +}); +Object.defineProperty(exports, "AudioFilled", { + enumerable: true, + get: function get() { + return _AudioFilled["default"]; + } +}); +Object.defineProperty(exports, "AudioMutedOutlined", { + enumerable: true, + get: function get() { + return _AudioMutedOutlined["default"]; + } +}); +Object.defineProperty(exports, "AudioOutlined", { + enumerable: true, + get: function get() { + return _AudioOutlined["default"]; + } +}); +Object.defineProperty(exports, "AudioTwoTone", { + enumerable: true, + get: function get() { + return _AudioTwoTone["default"]; + } +}); +Object.defineProperty(exports, "AuditOutlined", { + enumerable: true, + get: function get() { + return _AuditOutlined["default"]; + } +}); +Object.defineProperty(exports, "BackwardFilled", { + enumerable: true, + get: function get() { + return _BackwardFilled["default"]; + } +}); +Object.defineProperty(exports, "BackwardOutlined", { + enumerable: true, + get: function get() { + return _BackwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "BankFilled", { + enumerable: true, + get: function get() { + return _BankFilled["default"]; + } +}); +Object.defineProperty(exports, "BankOutlined", { + enumerable: true, + get: function get() { + return _BankOutlined["default"]; + } +}); +Object.defineProperty(exports, "BankTwoTone", { + enumerable: true, + get: function get() { + return _BankTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BarChartOutlined", { + enumerable: true, + get: function get() { + return _BarChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "BarcodeOutlined", { + enumerable: true, + get: function get() { + return _BarcodeOutlined["default"]; + } +}); +Object.defineProperty(exports, "BarsOutlined", { + enumerable: true, + get: function get() { + return _BarsOutlined["default"]; + } +}); +Object.defineProperty(exports, "BehanceCircleFilled", { + enumerable: true, + get: function get() { + return _BehanceCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "BehanceOutlined", { + enumerable: true, + get: function get() { + return _BehanceOutlined["default"]; + } +}); +Object.defineProperty(exports, "BehanceSquareFilled", { + enumerable: true, + get: function get() { + return _BehanceSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "BehanceSquareOutlined", { + enumerable: true, + get: function get() { + return _BehanceSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "BellFilled", { + enumerable: true, + get: function get() { + return _BellFilled["default"]; + } +}); +Object.defineProperty(exports, "BellOutlined", { + enumerable: true, + get: function get() { + return _BellOutlined["default"]; + } +}); +Object.defineProperty(exports, "BellTwoTone", { + enumerable: true, + get: function get() { + return _BellTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BgColorsOutlined", { + enumerable: true, + get: function get() { + return _BgColorsOutlined["default"]; + } +}); +Object.defineProperty(exports, "BlockOutlined", { + enumerable: true, + get: function get() { + return _BlockOutlined["default"]; + } +}); +Object.defineProperty(exports, "BoldOutlined", { + enumerable: true, + get: function get() { + return _BoldOutlined["default"]; + } +}); +Object.defineProperty(exports, "BookFilled", { + enumerable: true, + get: function get() { + return _BookFilled["default"]; + } +}); +Object.defineProperty(exports, "BookOutlined", { + enumerable: true, + get: function get() { + return _BookOutlined["default"]; + } +}); +Object.defineProperty(exports, "BookTwoTone", { + enumerable: true, + get: function get() { + return _BookTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BorderBottomOutlined", { + enumerable: true, + get: function get() { + return _BorderBottomOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderHorizontalOutlined", { + enumerable: true, + get: function get() { + return _BorderHorizontalOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderInnerOutlined", { + enumerable: true, + get: function get() { + return _BorderInnerOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderLeftOutlined", { + enumerable: true, + get: function get() { + return _BorderLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderOuterOutlined", { + enumerable: true, + get: function get() { + return _BorderOuterOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderOutlined", { + enumerable: true, + get: function get() { + return _BorderOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderRightOutlined", { + enumerable: true, + get: function get() { + return _BorderRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderTopOutlined", { + enumerable: true, + get: function get() { + return _BorderTopOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderVerticleOutlined", { + enumerable: true, + get: function get() { + return _BorderVerticleOutlined["default"]; + } +}); +Object.defineProperty(exports, "BorderlessTableOutlined", { + enumerable: true, + get: function get() { + return _BorderlessTableOutlined["default"]; + } +}); +Object.defineProperty(exports, "BoxPlotFilled", { + enumerable: true, + get: function get() { + return _BoxPlotFilled["default"]; + } +}); +Object.defineProperty(exports, "BoxPlotOutlined", { + enumerable: true, + get: function get() { + return _BoxPlotOutlined["default"]; + } +}); +Object.defineProperty(exports, "BoxPlotTwoTone", { + enumerable: true, + get: function get() { + return _BoxPlotTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BranchesOutlined", { + enumerable: true, + get: function get() { + return _BranchesOutlined["default"]; + } +}); +Object.defineProperty(exports, "BugFilled", { + enumerable: true, + get: function get() { + return _BugFilled["default"]; + } +}); +Object.defineProperty(exports, "BugOutlined", { + enumerable: true, + get: function get() { + return _BugOutlined["default"]; + } +}); +Object.defineProperty(exports, "BugTwoTone", { + enumerable: true, + get: function get() { + return _BugTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BuildFilled", { + enumerable: true, + get: function get() { + return _BuildFilled["default"]; + } +}); +Object.defineProperty(exports, "BuildOutlined", { + enumerable: true, + get: function get() { + return _BuildOutlined["default"]; + } +}); +Object.defineProperty(exports, "BuildTwoTone", { + enumerable: true, + get: function get() { + return _BuildTwoTone["default"]; + } +}); +Object.defineProperty(exports, "BulbFilled", { + enumerable: true, + get: function get() { + return _BulbFilled["default"]; + } +}); +Object.defineProperty(exports, "BulbOutlined", { + enumerable: true, + get: function get() { + return _BulbOutlined["default"]; + } +}); +Object.defineProperty(exports, "BulbTwoTone", { + enumerable: true, + get: function get() { + return _BulbTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CalculatorFilled", { + enumerable: true, + get: function get() { + return _CalculatorFilled["default"]; + } +}); +Object.defineProperty(exports, "CalculatorOutlined", { + enumerable: true, + get: function get() { + return _CalculatorOutlined["default"]; + } +}); +Object.defineProperty(exports, "CalculatorTwoTone", { + enumerable: true, + get: function get() { + return _CalculatorTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CalendarFilled", { + enumerable: true, + get: function get() { + return _CalendarFilled["default"]; + } +}); +Object.defineProperty(exports, "CalendarOutlined", { + enumerable: true, + get: function get() { + return _CalendarOutlined["default"]; + } +}); +Object.defineProperty(exports, "CalendarTwoTone", { + enumerable: true, + get: function get() { + return _CalendarTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CameraFilled", { + enumerable: true, + get: function get() { + return _CameraFilled["default"]; + } +}); +Object.defineProperty(exports, "CameraOutlined", { + enumerable: true, + get: function get() { + return _CameraOutlined["default"]; + } +}); +Object.defineProperty(exports, "CameraTwoTone", { + enumerable: true, + get: function get() { + return _CameraTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CarFilled", { + enumerable: true, + get: function get() { + return _CarFilled["default"]; + } +}); +Object.defineProperty(exports, "CarOutlined", { + enumerable: true, + get: function get() { + return _CarOutlined["default"]; + } +}); +Object.defineProperty(exports, "CarTwoTone", { + enumerable: true, + get: function get() { + return _CarTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CaretDownFilled", { + enumerable: true, + get: function get() { + return _CaretDownFilled["default"]; + } +}); +Object.defineProperty(exports, "CaretDownOutlined", { + enumerable: true, + get: function get() { + return _CaretDownOutlined["default"]; + } +}); +Object.defineProperty(exports, "CaretLeftFilled", { + enumerable: true, + get: function get() { + return _CaretLeftFilled["default"]; + } +}); +Object.defineProperty(exports, "CaretLeftOutlined", { + enumerable: true, + get: function get() { + return _CaretLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "CaretRightFilled", { + enumerable: true, + get: function get() { + return _CaretRightFilled["default"]; + } +}); +Object.defineProperty(exports, "CaretRightOutlined", { + enumerable: true, + get: function get() { + return _CaretRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "CaretUpFilled", { + enumerable: true, + get: function get() { + return _CaretUpFilled["default"]; + } +}); +Object.defineProperty(exports, "CaretUpOutlined", { + enumerable: true, + get: function get() { + return _CaretUpOutlined["default"]; + } +}); +Object.defineProperty(exports, "CarryOutFilled", { + enumerable: true, + get: function get() { + return _CarryOutFilled["default"]; + } +}); +Object.defineProperty(exports, "CarryOutOutlined", { + enumerable: true, + get: function get() { + return _CarryOutOutlined["default"]; + } +}); +Object.defineProperty(exports, "CarryOutTwoTone", { + enumerable: true, + get: function get() { + return _CarryOutTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CheckCircleFilled", { + enumerable: true, + get: function get() { + return _CheckCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CheckCircleOutlined", { + enumerable: true, + get: function get() { + return _CheckCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "CheckCircleTwoTone", { + enumerable: true, + get: function get() { + return _CheckCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CheckOutlined", { + enumerable: true, + get: function get() { + return _CheckOutlined["default"]; + } +}); +Object.defineProperty(exports, "CheckSquareFilled", { + enumerable: true, + get: function get() { + return _CheckSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "CheckSquareOutlined", { + enumerable: true, + get: function get() { + return _CheckSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "CheckSquareTwoTone", { + enumerable: true, + get: function get() { + return _CheckSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ChromeFilled", { + enumerable: true, + get: function get() { + return _ChromeFilled["default"]; + } +}); +Object.defineProperty(exports, "ChromeOutlined", { + enumerable: true, + get: function get() { + return _ChromeOutlined["default"]; + } +}); +Object.defineProperty(exports, "CiCircleFilled", { + enumerable: true, + get: function get() { + return _CiCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CiCircleOutlined", { + enumerable: true, + get: function get() { + return _CiCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "CiCircleTwoTone", { + enumerable: true, + get: function get() { + return _CiCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CiOutlined", { + enumerable: true, + get: function get() { + return _CiOutlined["default"]; + } +}); +Object.defineProperty(exports, "CiTwoTone", { + enumerable: true, + get: function get() { + return _CiTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ClearOutlined", { + enumerable: true, + get: function get() { + return _ClearOutlined["default"]; + } +}); +Object.defineProperty(exports, "ClockCircleFilled", { + enumerable: true, + get: function get() { + return _ClockCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "ClockCircleOutlined", { + enumerable: true, + get: function get() { + return _ClockCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "ClockCircleTwoTone", { + enumerable: true, + get: function get() { + return _ClockCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CloseCircleFilled", { + enumerable: true, + get: function get() { + return _CloseCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CloseCircleOutlined", { + enumerable: true, + get: function get() { + return _CloseCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloseCircleTwoTone", { + enumerable: true, + get: function get() { + return _CloseCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CloseOutlined", { + enumerable: true, + get: function get() { + return _CloseOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloseSquareFilled", { + enumerable: true, + get: function get() { + return _CloseSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "CloseSquareOutlined", { + enumerable: true, + get: function get() { + return _CloseSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloseSquareTwoTone", { + enumerable: true, + get: function get() { + return _CloseSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CloudDownloadOutlined", { + enumerable: true, + get: function get() { + return _CloudDownloadOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloudFilled", { + enumerable: true, + get: function get() { + return _CloudFilled["default"]; + } +}); +Object.defineProperty(exports, "CloudOutlined", { + enumerable: true, + get: function get() { + return _CloudOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloudServerOutlined", { + enumerable: true, + get: function get() { + return _CloudServerOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloudSyncOutlined", { + enumerable: true, + get: function get() { + return _CloudSyncOutlined["default"]; + } +}); +Object.defineProperty(exports, "CloudTwoTone", { + enumerable: true, + get: function get() { + return _CloudTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CloudUploadOutlined", { + enumerable: true, + get: function get() { + return _CloudUploadOutlined["default"]; + } +}); +Object.defineProperty(exports, "ClusterOutlined", { + enumerable: true, + get: function get() { + return _ClusterOutlined["default"]; + } +}); +Object.defineProperty(exports, "CodeFilled", { + enumerable: true, + get: function get() { + return _CodeFilled["default"]; + } +}); +Object.defineProperty(exports, "CodeOutlined", { + enumerable: true, + get: function get() { + return _CodeOutlined["default"]; + } +}); +Object.defineProperty(exports, "CodeSandboxCircleFilled", { + enumerable: true, + get: function get() { + return _CodeSandboxCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CodeSandboxOutlined", { + enumerable: true, + get: function get() { + return _CodeSandboxOutlined["default"]; + } +}); +Object.defineProperty(exports, "CodeSandboxSquareFilled", { + enumerable: true, + get: function get() { + return _CodeSandboxSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "CodeTwoTone", { + enumerable: true, + get: function get() { + return _CodeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CodepenCircleFilled", { + enumerable: true, + get: function get() { + return _CodepenCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CodepenCircleOutlined", { + enumerable: true, + get: function get() { + return _CodepenCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "CodepenOutlined", { + enumerable: true, + get: function get() { + return _CodepenOutlined["default"]; + } +}); +Object.defineProperty(exports, "CodepenSquareFilled", { + enumerable: true, + get: function get() { + return _CodepenSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "CoffeeOutlined", { + enumerable: true, + get: function get() { + return _CoffeeOutlined["default"]; + } +}); +Object.defineProperty(exports, "ColumnHeightOutlined", { + enumerable: true, + get: function get() { + return _ColumnHeightOutlined["default"]; + } +}); +Object.defineProperty(exports, "ColumnWidthOutlined", { + enumerable: true, + get: function get() { + return _ColumnWidthOutlined["default"]; + } +}); +Object.defineProperty(exports, "CommentOutlined", { + enumerable: true, + get: function get() { + return _CommentOutlined["default"]; + } +}); +Object.defineProperty(exports, "CompassFilled", { + enumerable: true, + get: function get() { + return _CompassFilled["default"]; + } +}); +Object.defineProperty(exports, "CompassOutlined", { + enumerable: true, + get: function get() { + return _CompassOutlined["default"]; + } +}); +Object.defineProperty(exports, "CompassTwoTone", { + enumerable: true, + get: function get() { + return _CompassTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CompressOutlined", { + enumerable: true, + get: function get() { + return _CompressOutlined["default"]; + } +}); +Object.defineProperty(exports, "ConsoleSqlOutlined", { + enumerable: true, + get: function get() { + return _ConsoleSqlOutlined["default"]; + } +}); +Object.defineProperty(exports, "ContactsFilled", { + enumerable: true, + get: function get() { + return _ContactsFilled["default"]; + } +}); +Object.defineProperty(exports, "ContactsOutlined", { + enumerable: true, + get: function get() { + return _ContactsOutlined["default"]; + } +}); +Object.defineProperty(exports, "ContactsTwoTone", { + enumerable: true, + get: function get() { + return _ContactsTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ContainerFilled", { + enumerable: true, + get: function get() { + return _ContainerFilled["default"]; + } +}); +Object.defineProperty(exports, "ContainerOutlined", { + enumerable: true, + get: function get() { + return _ContainerOutlined["default"]; + } +}); +Object.defineProperty(exports, "ContainerTwoTone", { + enumerable: true, + get: function get() { + return _ContainerTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ControlFilled", { + enumerable: true, + get: function get() { + return _ControlFilled["default"]; + } +}); +Object.defineProperty(exports, "ControlOutlined", { + enumerable: true, + get: function get() { + return _ControlOutlined["default"]; + } +}); +Object.defineProperty(exports, "ControlTwoTone", { + enumerable: true, + get: function get() { + return _ControlTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CopyFilled", { + enumerable: true, + get: function get() { + return _CopyFilled["default"]; + } +}); +Object.defineProperty(exports, "CopyOutlined", { + enumerable: true, + get: function get() { + return _CopyOutlined["default"]; + } +}); +Object.defineProperty(exports, "CopyTwoTone", { + enumerable: true, + get: function get() { + return _CopyTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CopyrightCircleFilled", { + enumerable: true, + get: function get() { + return _CopyrightCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "CopyrightCircleOutlined", { + enumerable: true, + get: function get() { + return _CopyrightCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "CopyrightCircleTwoTone", { + enumerable: true, + get: function get() { + return _CopyrightCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CopyrightOutlined", { + enumerable: true, + get: function get() { + return _CopyrightOutlined["default"]; + } +}); +Object.defineProperty(exports, "CopyrightTwoTone", { + enumerable: true, + get: function get() { + return _CopyrightTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CreditCardFilled", { + enumerable: true, + get: function get() { + return _CreditCardFilled["default"]; + } +}); +Object.defineProperty(exports, "CreditCardOutlined", { + enumerable: true, + get: function get() { + return _CreditCardOutlined["default"]; + } +}); +Object.defineProperty(exports, "CreditCardTwoTone", { + enumerable: true, + get: function get() { + return _CreditCardTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CrownFilled", { + enumerable: true, + get: function get() { + return _CrownFilled["default"]; + } +}); +Object.defineProperty(exports, "CrownOutlined", { + enumerable: true, + get: function get() { + return _CrownOutlined["default"]; + } +}); +Object.defineProperty(exports, "CrownTwoTone", { + enumerable: true, + get: function get() { + return _CrownTwoTone["default"]; + } +}); +Object.defineProperty(exports, "CustomerServiceFilled", { + enumerable: true, + get: function get() { + return _CustomerServiceFilled["default"]; + } +}); +Object.defineProperty(exports, "CustomerServiceOutlined", { + enumerable: true, + get: function get() { + return _CustomerServiceOutlined["default"]; + } +}); +Object.defineProperty(exports, "CustomerServiceTwoTone", { + enumerable: true, + get: function get() { + return _CustomerServiceTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DashOutlined", { + enumerable: true, + get: function get() { + return _DashOutlined["default"]; + } +}); +Object.defineProperty(exports, "DashboardFilled", { + enumerable: true, + get: function get() { + return _DashboardFilled["default"]; + } +}); +Object.defineProperty(exports, "DashboardOutlined", { + enumerable: true, + get: function get() { + return _DashboardOutlined["default"]; + } +}); +Object.defineProperty(exports, "DashboardTwoTone", { + enumerable: true, + get: function get() { + return _DashboardTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DatabaseFilled", { + enumerable: true, + get: function get() { + return _DatabaseFilled["default"]; + } +}); +Object.defineProperty(exports, "DatabaseOutlined", { + enumerable: true, + get: function get() { + return _DatabaseOutlined["default"]; + } +}); +Object.defineProperty(exports, "DatabaseTwoTone", { + enumerable: true, + get: function get() { + return _DatabaseTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DeleteColumnOutlined", { + enumerable: true, + get: function get() { + return _DeleteColumnOutlined["default"]; + } +}); +Object.defineProperty(exports, "DeleteFilled", { + enumerable: true, + get: function get() { + return _DeleteFilled["default"]; + } +}); +Object.defineProperty(exports, "DeleteOutlined", { + enumerable: true, + get: function get() { + return _DeleteOutlined["default"]; + } +}); +Object.defineProperty(exports, "DeleteRowOutlined", { + enumerable: true, + get: function get() { + return _DeleteRowOutlined["default"]; + } +}); +Object.defineProperty(exports, "DeleteTwoTone", { + enumerable: true, + get: function get() { + return _DeleteTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DeliveredProcedureOutlined", { + enumerable: true, + get: function get() { + return _DeliveredProcedureOutlined["default"]; + } +}); +Object.defineProperty(exports, "DeploymentUnitOutlined", { + enumerable: true, + get: function get() { + return _DeploymentUnitOutlined["default"]; + } +}); +Object.defineProperty(exports, "DesktopOutlined", { + enumerable: true, + get: function get() { + return _DesktopOutlined["default"]; + } +}); +Object.defineProperty(exports, "DiffFilled", { + enumerable: true, + get: function get() { + return _DiffFilled["default"]; + } +}); +Object.defineProperty(exports, "DiffOutlined", { + enumerable: true, + get: function get() { + return _DiffOutlined["default"]; + } +}); +Object.defineProperty(exports, "DiffTwoTone", { + enumerable: true, + get: function get() { + return _DiffTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DingdingOutlined", { + enumerable: true, + get: function get() { + return _DingdingOutlined["default"]; + } +}); +Object.defineProperty(exports, "DingtalkCircleFilled", { + enumerable: true, + get: function get() { + return _DingtalkCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "DingtalkOutlined", { + enumerable: true, + get: function get() { + return _DingtalkOutlined["default"]; + } +}); +Object.defineProperty(exports, "DingtalkSquareFilled", { + enumerable: true, + get: function get() { + return _DingtalkSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "DisconnectOutlined", { + enumerable: true, + get: function get() { + return _DisconnectOutlined["default"]; + } +}); +Object.defineProperty(exports, "DislikeFilled", { + enumerable: true, + get: function get() { + return _DislikeFilled["default"]; + } +}); +Object.defineProperty(exports, "DislikeOutlined", { + enumerable: true, + get: function get() { + return _DislikeOutlined["default"]; + } +}); +Object.defineProperty(exports, "DislikeTwoTone", { + enumerable: true, + get: function get() { + return _DislikeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DollarCircleFilled", { + enumerable: true, + get: function get() { + return _DollarCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "DollarCircleOutlined", { + enumerable: true, + get: function get() { + return _DollarCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "DollarCircleTwoTone", { + enumerable: true, + get: function get() { + return _DollarCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DollarOutlined", { + enumerable: true, + get: function get() { + return _DollarOutlined["default"]; + } +}); +Object.defineProperty(exports, "DollarTwoTone", { + enumerable: true, + get: function get() { + return _DollarTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DotChartOutlined", { + enumerable: true, + get: function get() { + return _DotChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "DoubleLeftOutlined", { + enumerable: true, + get: function get() { + return _DoubleLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "DoubleRightOutlined", { + enumerable: true, + get: function get() { + return _DoubleRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "DownCircleFilled", { + enumerable: true, + get: function get() { + return _DownCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "DownCircleOutlined", { + enumerable: true, + get: function get() { + return _DownCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "DownCircleTwoTone", { + enumerable: true, + get: function get() { + return _DownCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DownOutlined", { + enumerable: true, + get: function get() { + return _DownOutlined["default"]; + } +}); +Object.defineProperty(exports, "DownSquareFilled", { + enumerable: true, + get: function get() { + return _DownSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "DownSquareOutlined", { + enumerable: true, + get: function get() { + return _DownSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "DownSquareTwoTone", { + enumerable: true, + get: function get() { + return _DownSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "DownloadOutlined", { + enumerable: true, + get: function get() { + return _DownloadOutlined["default"]; + } +}); +Object.defineProperty(exports, "DragOutlined", { + enumerable: true, + get: function get() { + return _DragOutlined["default"]; + } +}); +Object.defineProperty(exports, "DribbbleCircleFilled", { + enumerable: true, + get: function get() { + return _DribbbleCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "DribbbleOutlined", { + enumerable: true, + get: function get() { + return _DribbbleOutlined["default"]; + } +}); +Object.defineProperty(exports, "DribbbleSquareFilled", { + enumerable: true, + get: function get() { + return _DribbbleSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "DribbbleSquareOutlined", { + enumerable: true, + get: function get() { + return _DribbbleSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "DropboxCircleFilled", { + enumerable: true, + get: function get() { + return _DropboxCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "DropboxOutlined", { + enumerable: true, + get: function get() { + return _DropboxOutlined["default"]; + } +}); +Object.defineProperty(exports, "DropboxSquareFilled", { + enumerable: true, + get: function get() { + return _DropboxSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "EditFilled", { + enumerable: true, + get: function get() { + return _EditFilled["default"]; + } +}); +Object.defineProperty(exports, "EditOutlined", { + enumerable: true, + get: function get() { + return _EditOutlined["default"]; + } +}); +Object.defineProperty(exports, "EditTwoTone", { + enumerable: true, + get: function get() { + return _EditTwoTone["default"]; + } +}); +Object.defineProperty(exports, "EllipsisOutlined", { + enumerable: true, + get: function get() { + return _EllipsisOutlined["default"]; + } +}); +Object.defineProperty(exports, "EnterOutlined", { + enumerable: true, + get: function get() { + return _EnterOutlined["default"]; + } +}); +Object.defineProperty(exports, "EnvironmentFilled", { + enumerable: true, + get: function get() { + return _EnvironmentFilled["default"]; + } +}); +Object.defineProperty(exports, "EnvironmentOutlined", { + enumerable: true, + get: function get() { + return _EnvironmentOutlined["default"]; + } +}); +Object.defineProperty(exports, "EnvironmentTwoTone", { + enumerable: true, + get: function get() { + return _EnvironmentTwoTone["default"]; + } +}); +Object.defineProperty(exports, "EuroCircleFilled", { + enumerable: true, + get: function get() { + return _EuroCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "EuroCircleOutlined", { + enumerable: true, + get: function get() { + return _EuroCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "EuroCircleTwoTone", { + enumerable: true, + get: function get() { + return _EuroCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "EuroOutlined", { + enumerable: true, + get: function get() { + return _EuroOutlined["default"]; + } +}); +Object.defineProperty(exports, "EuroTwoTone", { + enumerable: true, + get: function get() { + return _EuroTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ExceptionOutlined", { + enumerable: true, + get: function get() { + return _ExceptionOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExclamationCircleFilled", { + enumerable: true, + get: function get() { + return _ExclamationCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "ExclamationCircleOutlined", { + enumerable: true, + get: function get() { + return _ExclamationCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExclamationCircleTwoTone", { + enumerable: true, + get: function get() { + return _ExclamationCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ExclamationOutlined", { + enumerable: true, + get: function get() { + return _ExclamationOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExpandAltOutlined", { + enumerable: true, + get: function get() { + return _ExpandAltOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExpandOutlined", { + enumerable: true, + get: function get() { + return _ExpandOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExperimentFilled", { + enumerable: true, + get: function get() { + return _ExperimentFilled["default"]; + } +}); +Object.defineProperty(exports, "ExperimentOutlined", { + enumerable: true, + get: function get() { + return _ExperimentOutlined["default"]; + } +}); +Object.defineProperty(exports, "ExperimentTwoTone", { + enumerable: true, + get: function get() { + return _ExperimentTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ExportOutlined", { + enumerable: true, + get: function get() { + return _ExportOutlined["default"]; + } +}); +Object.defineProperty(exports, "EyeFilled", { + enumerable: true, + get: function get() { + return _EyeFilled["default"]; + } +}); +Object.defineProperty(exports, "EyeInvisibleFilled", { + enumerable: true, + get: function get() { + return _EyeInvisibleFilled["default"]; + } +}); +Object.defineProperty(exports, "EyeInvisibleOutlined", { + enumerable: true, + get: function get() { + return _EyeInvisibleOutlined["default"]; + } +}); +Object.defineProperty(exports, "EyeInvisibleTwoTone", { + enumerable: true, + get: function get() { + return _EyeInvisibleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "EyeOutlined", { + enumerable: true, + get: function get() { + return _EyeOutlined["default"]; + } +}); +Object.defineProperty(exports, "EyeTwoTone", { + enumerable: true, + get: function get() { + return _EyeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FacebookFilled", { + enumerable: true, + get: function get() { + return _FacebookFilled["default"]; + } +}); +Object.defineProperty(exports, "FacebookOutlined", { + enumerable: true, + get: function get() { + return _FacebookOutlined["default"]; + } +}); +Object.defineProperty(exports, "FallOutlined", { + enumerable: true, + get: function get() { + return _FallOutlined["default"]; + } +}); +Object.defineProperty(exports, "FastBackwardFilled", { + enumerable: true, + get: function get() { + return _FastBackwardFilled["default"]; + } +}); +Object.defineProperty(exports, "FastBackwardOutlined", { + enumerable: true, + get: function get() { + return _FastBackwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "FastForwardFilled", { + enumerable: true, + get: function get() { + return _FastForwardFilled["default"]; + } +}); +Object.defineProperty(exports, "FastForwardOutlined", { + enumerable: true, + get: function get() { + return _FastForwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "FieldBinaryOutlined", { + enumerable: true, + get: function get() { + return _FieldBinaryOutlined["default"]; + } +}); +Object.defineProperty(exports, "FieldNumberOutlined", { + enumerable: true, + get: function get() { + return _FieldNumberOutlined["default"]; + } +}); +Object.defineProperty(exports, "FieldStringOutlined", { + enumerable: true, + get: function get() { + return _FieldStringOutlined["default"]; + } +}); +Object.defineProperty(exports, "FieldTimeOutlined", { + enumerable: true, + get: function get() { + return _FieldTimeOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileAddFilled", { + enumerable: true, + get: function get() { + return _FileAddFilled["default"]; + } +}); +Object.defineProperty(exports, "FileAddOutlined", { + enumerable: true, + get: function get() { + return _FileAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileAddTwoTone", { + enumerable: true, + get: function get() { + return _FileAddTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileDoneOutlined", { + enumerable: true, + get: function get() { + return _FileDoneOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileExcelFilled", { + enumerable: true, + get: function get() { + return _FileExcelFilled["default"]; + } +}); +Object.defineProperty(exports, "FileExcelOutlined", { + enumerable: true, + get: function get() { + return _FileExcelOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileExcelTwoTone", { + enumerable: true, + get: function get() { + return _FileExcelTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileExclamationFilled", { + enumerable: true, + get: function get() { + return _FileExclamationFilled["default"]; + } +}); +Object.defineProperty(exports, "FileExclamationOutlined", { + enumerable: true, + get: function get() { + return _FileExclamationOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileExclamationTwoTone", { + enumerable: true, + get: function get() { + return _FileExclamationTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileFilled", { + enumerable: true, + get: function get() { + return _FileFilled["default"]; + } +}); +Object.defineProperty(exports, "FileGifOutlined", { + enumerable: true, + get: function get() { + return _FileGifOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileImageFilled", { + enumerable: true, + get: function get() { + return _FileImageFilled["default"]; + } +}); +Object.defineProperty(exports, "FileImageOutlined", { + enumerable: true, + get: function get() { + return _FileImageOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileImageTwoTone", { + enumerable: true, + get: function get() { + return _FileImageTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileJpgOutlined", { + enumerable: true, + get: function get() { + return _FileJpgOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileMarkdownFilled", { + enumerable: true, + get: function get() { + return _FileMarkdownFilled["default"]; + } +}); +Object.defineProperty(exports, "FileMarkdownOutlined", { + enumerable: true, + get: function get() { + return _FileMarkdownOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileMarkdownTwoTone", { + enumerable: true, + get: function get() { + return _FileMarkdownTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileOutlined", { + enumerable: true, + get: function get() { + return _FileOutlined["default"]; + } +}); +Object.defineProperty(exports, "FilePdfFilled", { + enumerable: true, + get: function get() { + return _FilePdfFilled["default"]; + } +}); +Object.defineProperty(exports, "FilePdfOutlined", { + enumerable: true, + get: function get() { + return _FilePdfOutlined["default"]; + } +}); +Object.defineProperty(exports, "FilePdfTwoTone", { + enumerable: true, + get: function get() { + return _FilePdfTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FilePptFilled", { + enumerable: true, + get: function get() { + return _FilePptFilled["default"]; + } +}); +Object.defineProperty(exports, "FilePptOutlined", { + enumerable: true, + get: function get() { + return _FilePptOutlined["default"]; + } +}); +Object.defineProperty(exports, "FilePptTwoTone", { + enumerable: true, + get: function get() { + return _FilePptTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileProtectOutlined", { + enumerable: true, + get: function get() { + return _FileProtectOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileSearchOutlined", { + enumerable: true, + get: function get() { + return _FileSearchOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileSyncOutlined", { + enumerable: true, + get: function get() { + return _FileSyncOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileTextFilled", { + enumerable: true, + get: function get() { + return _FileTextFilled["default"]; + } +}); +Object.defineProperty(exports, "FileTextOutlined", { + enumerable: true, + get: function get() { + return _FileTextOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileTextTwoTone", { + enumerable: true, + get: function get() { + return _FileTextTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileTwoTone", { + enumerable: true, + get: function get() { + return _FileTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileUnknownFilled", { + enumerable: true, + get: function get() { + return _FileUnknownFilled["default"]; + } +}); +Object.defineProperty(exports, "FileUnknownOutlined", { + enumerable: true, + get: function get() { + return _FileUnknownOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileUnknownTwoTone", { + enumerable: true, + get: function get() { + return _FileUnknownTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileWordFilled", { + enumerable: true, + get: function get() { + return _FileWordFilled["default"]; + } +}); +Object.defineProperty(exports, "FileWordOutlined", { + enumerable: true, + get: function get() { + return _FileWordOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileWordTwoTone", { + enumerable: true, + get: function get() { + return _FileWordTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FileZipFilled", { + enumerable: true, + get: function get() { + return _FileZipFilled["default"]; + } +}); +Object.defineProperty(exports, "FileZipOutlined", { + enumerable: true, + get: function get() { + return _FileZipOutlined["default"]; + } +}); +Object.defineProperty(exports, "FileZipTwoTone", { + enumerable: true, + get: function get() { + return _FileZipTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FilterFilled", { + enumerable: true, + get: function get() { + return _FilterFilled["default"]; + } +}); +Object.defineProperty(exports, "FilterOutlined", { + enumerable: true, + get: function get() { + return _FilterOutlined["default"]; + } +}); +Object.defineProperty(exports, "FilterTwoTone", { + enumerable: true, + get: function get() { + return _FilterTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FireFilled", { + enumerable: true, + get: function get() { + return _FireFilled["default"]; + } +}); +Object.defineProperty(exports, "FireOutlined", { + enumerable: true, + get: function get() { + return _FireOutlined["default"]; + } +}); +Object.defineProperty(exports, "FireTwoTone", { + enumerable: true, + get: function get() { + return _FireTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FlagFilled", { + enumerable: true, + get: function get() { + return _FlagFilled["default"]; + } +}); +Object.defineProperty(exports, "FlagOutlined", { + enumerable: true, + get: function get() { + return _FlagOutlined["default"]; + } +}); +Object.defineProperty(exports, "FlagTwoTone", { + enumerable: true, + get: function get() { + return _FlagTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FolderAddFilled", { + enumerable: true, + get: function get() { + return _FolderAddFilled["default"]; + } +}); +Object.defineProperty(exports, "FolderAddOutlined", { + enumerable: true, + get: function get() { + return _FolderAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "FolderAddTwoTone", { + enumerable: true, + get: function get() { + return _FolderAddTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FolderFilled", { + enumerable: true, + get: function get() { + return _FolderFilled["default"]; + } +}); +Object.defineProperty(exports, "FolderOpenFilled", { + enumerable: true, + get: function get() { + return _FolderOpenFilled["default"]; + } +}); +Object.defineProperty(exports, "FolderOpenOutlined", { + enumerable: true, + get: function get() { + return _FolderOpenOutlined["default"]; + } +}); +Object.defineProperty(exports, "FolderOpenTwoTone", { + enumerable: true, + get: function get() { + return _FolderOpenTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FolderOutlined", { + enumerable: true, + get: function get() { + return _FolderOutlined["default"]; + } +}); +Object.defineProperty(exports, "FolderTwoTone", { + enumerable: true, + get: function get() { + return _FolderTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FolderViewOutlined", { + enumerable: true, + get: function get() { + return _FolderViewOutlined["default"]; + } +}); +Object.defineProperty(exports, "FontColorsOutlined", { + enumerable: true, + get: function get() { + return _FontColorsOutlined["default"]; + } +}); +Object.defineProperty(exports, "FontSizeOutlined", { + enumerable: true, + get: function get() { + return _FontSizeOutlined["default"]; + } +}); +Object.defineProperty(exports, "ForkOutlined", { + enumerable: true, + get: function get() { + return _ForkOutlined["default"]; + } +}); +Object.defineProperty(exports, "FormOutlined", { + enumerable: true, + get: function get() { + return _FormOutlined["default"]; + } +}); +Object.defineProperty(exports, "FormatPainterFilled", { + enumerable: true, + get: function get() { + return _FormatPainterFilled["default"]; + } +}); +Object.defineProperty(exports, "FormatPainterOutlined", { + enumerable: true, + get: function get() { + return _FormatPainterOutlined["default"]; + } +}); +Object.defineProperty(exports, "ForwardFilled", { + enumerable: true, + get: function get() { + return _ForwardFilled["default"]; + } +}); +Object.defineProperty(exports, "ForwardOutlined", { + enumerable: true, + get: function get() { + return _ForwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "FrownFilled", { + enumerable: true, + get: function get() { + return _FrownFilled["default"]; + } +}); +Object.defineProperty(exports, "FrownOutlined", { + enumerable: true, + get: function get() { + return _FrownOutlined["default"]; + } +}); +Object.defineProperty(exports, "FrownTwoTone", { + enumerable: true, + get: function get() { + return _FrownTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FullscreenExitOutlined", { + enumerable: true, + get: function get() { + return _FullscreenExitOutlined["default"]; + } +}); +Object.defineProperty(exports, "FullscreenOutlined", { + enumerable: true, + get: function get() { + return _FullscreenOutlined["default"]; + } +}); +Object.defineProperty(exports, "FunctionOutlined", { + enumerable: true, + get: function get() { + return _FunctionOutlined["default"]; + } +}); +Object.defineProperty(exports, "FundFilled", { + enumerable: true, + get: function get() { + return _FundFilled["default"]; + } +}); +Object.defineProperty(exports, "FundOutlined", { + enumerable: true, + get: function get() { + return _FundOutlined["default"]; + } +}); +Object.defineProperty(exports, "FundProjectionScreenOutlined", { + enumerable: true, + get: function get() { + return _FundProjectionScreenOutlined["default"]; + } +}); +Object.defineProperty(exports, "FundTwoTone", { + enumerable: true, + get: function get() { + return _FundTwoTone["default"]; + } +}); +Object.defineProperty(exports, "FundViewOutlined", { + enumerable: true, + get: function get() { + return _FundViewOutlined["default"]; + } +}); +Object.defineProperty(exports, "FunnelPlotFilled", { + enumerable: true, + get: function get() { + return _FunnelPlotFilled["default"]; + } +}); +Object.defineProperty(exports, "FunnelPlotOutlined", { + enumerable: true, + get: function get() { + return _FunnelPlotOutlined["default"]; + } +}); +Object.defineProperty(exports, "FunnelPlotTwoTone", { + enumerable: true, + get: function get() { + return _FunnelPlotTwoTone["default"]; + } +}); +Object.defineProperty(exports, "GatewayOutlined", { + enumerable: true, + get: function get() { + return _GatewayOutlined["default"]; + } +}); +Object.defineProperty(exports, "GifOutlined", { + enumerable: true, + get: function get() { + return _GifOutlined["default"]; + } +}); +Object.defineProperty(exports, "GiftFilled", { + enumerable: true, + get: function get() { + return _GiftFilled["default"]; + } +}); +Object.defineProperty(exports, "GiftOutlined", { + enumerable: true, + get: function get() { + return _GiftOutlined["default"]; + } +}); +Object.defineProperty(exports, "GiftTwoTone", { + enumerable: true, + get: function get() { + return _GiftTwoTone["default"]; + } +}); +Object.defineProperty(exports, "GithubFilled", { + enumerable: true, + get: function get() { + return _GithubFilled["default"]; + } +}); +Object.defineProperty(exports, "GithubOutlined", { + enumerable: true, + get: function get() { + return _GithubOutlined["default"]; + } +}); +Object.defineProperty(exports, "GitlabFilled", { + enumerable: true, + get: function get() { + return _GitlabFilled["default"]; + } +}); +Object.defineProperty(exports, "GitlabOutlined", { + enumerable: true, + get: function get() { + return _GitlabOutlined["default"]; + } +}); +Object.defineProperty(exports, "GlobalOutlined", { + enumerable: true, + get: function get() { + return _GlobalOutlined["default"]; + } +}); +Object.defineProperty(exports, "GoldFilled", { + enumerable: true, + get: function get() { + return _GoldFilled["default"]; + } +}); +Object.defineProperty(exports, "GoldOutlined", { + enumerable: true, + get: function get() { + return _GoldOutlined["default"]; + } +}); +Object.defineProperty(exports, "GoldTwoTone", { + enumerable: true, + get: function get() { + return _GoldTwoTone["default"]; + } +}); +Object.defineProperty(exports, "GoldenFilled", { + enumerable: true, + get: function get() { + return _GoldenFilled["default"]; + } +}); +Object.defineProperty(exports, "GoogleCircleFilled", { + enumerable: true, + get: function get() { + return _GoogleCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "GoogleOutlined", { + enumerable: true, + get: function get() { + return _GoogleOutlined["default"]; + } +}); +Object.defineProperty(exports, "GooglePlusCircleFilled", { + enumerable: true, + get: function get() { + return _GooglePlusCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "GooglePlusOutlined", { + enumerable: true, + get: function get() { + return _GooglePlusOutlined["default"]; + } +}); +Object.defineProperty(exports, "GooglePlusSquareFilled", { + enumerable: true, + get: function get() { + return _GooglePlusSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "GoogleSquareFilled", { + enumerable: true, + get: function get() { + return _GoogleSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "GroupOutlined", { + enumerable: true, + get: function get() { + return _GroupOutlined["default"]; + } +}); +Object.defineProperty(exports, "HddFilled", { + enumerable: true, + get: function get() { + return _HddFilled["default"]; + } +}); +Object.defineProperty(exports, "HddOutlined", { + enumerable: true, + get: function get() { + return _HddOutlined["default"]; + } +}); +Object.defineProperty(exports, "HddTwoTone", { + enumerable: true, + get: function get() { + return _HddTwoTone["default"]; + } +}); +Object.defineProperty(exports, "HeartFilled", { + enumerable: true, + get: function get() { + return _HeartFilled["default"]; + } +}); +Object.defineProperty(exports, "HeartOutlined", { + enumerable: true, + get: function get() { + return _HeartOutlined["default"]; + } +}); +Object.defineProperty(exports, "HeartTwoTone", { + enumerable: true, + get: function get() { + return _HeartTwoTone["default"]; + } +}); +Object.defineProperty(exports, "HeatMapOutlined", { + enumerable: true, + get: function get() { + return _HeatMapOutlined["default"]; + } +}); +Object.defineProperty(exports, "HighlightFilled", { + enumerable: true, + get: function get() { + return _HighlightFilled["default"]; + } +}); +Object.defineProperty(exports, "HighlightOutlined", { + enumerable: true, + get: function get() { + return _HighlightOutlined["default"]; + } +}); +Object.defineProperty(exports, "HighlightTwoTone", { + enumerable: true, + get: function get() { + return _HighlightTwoTone["default"]; + } +}); +Object.defineProperty(exports, "HistoryOutlined", { + enumerable: true, + get: function get() { + return _HistoryOutlined["default"]; + } +}); +Object.defineProperty(exports, "HolderOutlined", { + enumerable: true, + get: function get() { + return _HolderOutlined["default"]; + } +}); +Object.defineProperty(exports, "HomeFilled", { + enumerable: true, + get: function get() { + return _HomeFilled["default"]; + } +}); +Object.defineProperty(exports, "HomeOutlined", { + enumerable: true, + get: function get() { + return _HomeOutlined["default"]; + } +}); +Object.defineProperty(exports, "HomeTwoTone", { + enumerable: true, + get: function get() { + return _HomeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "HourglassFilled", { + enumerable: true, + get: function get() { + return _HourglassFilled["default"]; + } +}); +Object.defineProperty(exports, "HourglassOutlined", { + enumerable: true, + get: function get() { + return _HourglassOutlined["default"]; + } +}); +Object.defineProperty(exports, "HourglassTwoTone", { + enumerable: true, + get: function get() { + return _HourglassTwoTone["default"]; + } +}); +Object.defineProperty(exports, "Html5Filled", { + enumerable: true, + get: function get() { + return _Html5Filled["default"]; + } +}); +Object.defineProperty(exports, "Html5Outlined", { + enumerable: true, + get: function get() { + return _Html5Outlined["default"]; + } +}); +Object.defineProperty(exports, "Html5TwoTone", { + enumerable: true, + get: function get() { + return _Html5TwoTone["default"]; + } +}); +Object.defineProperty(exports, "IdcardFilled", { + enumerable: true, + get: function get() { + return _IdcardFilled["default"]; + } +}); +Object.defineProperty(exports, "IdcardOutlined", { + enumerable: true, + get: function get() { + return _IdcardOutlined["default"]; + } +}); +Object.defineProperty(exports, "IdcardTwoTone", { + enumerable: true, + get: function get() { + return _IdcardTwoTone["default"]; + } +}); +Object.defineProperty(exports, "IeCircleFilled", { + enumerable: true, + get: function get() { + return _IeCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "IeOutlined", { + enumerable: true, + get: function get() { + return _IeOutlined["default"]; + } +}); +Object.defineProperty(exports, "IeSquareFilled", { + enumerable: true, + get: function get() { + return _IeSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "ImportOutlined", { + enumerable: true, + get: function get() { + return _ImportOutlined["default"]; + } +}); +Object.defineProperty(exports, "InboxOutlined", { + enumerable: true, + get: function get() { + return _InboxOutlined["default"]; + } +}); +Object.defineProperty(exports, "InfoCircleFilled", { + enumerable: true, + get: function get() { + return _InfoCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "InfoCircleOutlined", { + enumerable: true, + get: function get() { + return _InfoCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "InfoCircleTwoTone", { + enumerable: true, + get: function get() { + return _InfoCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "InfoOutlined", { + enumerable: true, + get: function get() { + return _InfoOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsertRowAboveOutlined", { + enumerable: true, + get: function get() { + return _InsertRowAboveOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsertRowBelowOutlined", { + enumerable: true, + get: function get() { + return _InsertRowBelowOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsertRowLeftOutlined", { + enumerable: true, + get: function get() { + return _InsertRowLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsertRowRightOutlined", { + enumerable: true, + get: function get() { + return _InsertRowRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "InstagramFilled", { + enumerable: true, + get: function get() { + return _InstagramFilled["default"]; + } +}); +Object.defineProperty(exports, "InstagramOutlined", { + enumerable: true, + get: function get() { + return _InstagramOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsuranceFilled", { + enumerable: true, + get: function get() { + return _InsuranceFilled["default"]; + } +}); +Object.defineProperty(exports, "InsuranceOutlined", { + enumerable: true, + get: function get() { + return _InsuranceOutlined["default"]; + } +}); +Object.defineProperty(exports, "InsuranceTwoTone", { + enumerable: true, + get: function get() { + return _InsuranceTwoTone["default"]; + } +}); +Object.defineProperty(exports, "InteractionFilled", { + enumerable: true, + get: function get() { + return _InteractionFilled["default"]; + } +}); +Object.defineProperty(exports, "InteractionOutlined", { + enumerable: true, + get: function get() { + return _InteractionOutlined["default"]; + } +}); +Object.defineProperty(exports, "InteractionTwoTone", { + enumerable: true, + get: function get() { + return _InteractionTwoTone["default"]; + } +}); +Object.defineProperty(exports, "IssuesCloseOutlined", { + enumerable: true, + get: function get() { + return _IssuesCloseOutlined["default"]; + } +}); +Object.defineProperty(exports, "ItalicOutlined", { + enumerable: true, + get: function get() { + return _ItalicOutlined["default"]; + } +}); +Object.defineProperty(exports, "KeyOutlined", { + enumerable: true, + get: function get() { + return _KeyOutlined["default"]; + } +}); +Object.defineProperty(exports, "LaptopOutlined", { + enumerable: true, + get: function get() { + return _LaptopOutlined["default"]; + } +}); +Object.defineProperty(exports, "LayoutFilled", { + enumerable: true, + get: function get() { + return _LayoutFilled["default"]; + } +}); +Object.defineProperty(exports, "LayoutOutlined", { + enumerable: true, + get: function get() { + return _LayoutOutlined["default"]; + } +}); +Object.defineProperty(exports, "LayoutTwoTone", { + enumerable: true, + get: function get() { + return _LayoutTwoTone["default"]; + } +}); +Object.defineProperty(exports, "LeftCircleFilled", { + enumerable: true, + get: function get() { + return _LeftCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "LeftCircleOutlined", { + enumerable: true, + get: function get() { + return _LeftCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "LeftCircleTwoTone", { + enumerable: true, + get: function get() { + return _LeftCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "LeftOutlined", { + enumerable: true, + get: function get() { + return _LeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "LeftSquareFilled", { + enumerable: true, + get: function get() { + return _LeftSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "LeftSquareOutlined", { + enumerable: true, + get: function get() { + return _LeftSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "LeftSquareTwoTone", { + enumerable: true, + get: function get() { + return _LeftSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "LikeFilled", { + enumerable: true, + get: function get() { + return _LikeFilled["default"]; + } +}); +Object.defineProperty(exports, "LikeOutlined", { + enumerable: true, + get: function get() { + return _LikeOutlined["default"]; + } +}); +Object.defineProperty(exports, "LikeTwoTone", { + enumerable: true, + get: function get() { + return _LikeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "LineChartOutlined", { + enumerable: true, + get: function get() { + return _LineChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "LineHeightOutlined", { + enumerable: true, + get: function get() { + return _LineHeightOutlined["default"]; + } +}); +Object.defineProperty(exports, "LineOutlined", { + enumerable: true, + get: function get() { + return _LineOutlined["default"]; + } +}); +Object.defineProperty(exports, "LinkOutlined", { + enumerable: true, + get: function get() { + return _LinkOutlined["default"]; + } +}); +Object.defineProperty(exports, "LinkedinFilled", { + enumerable: true, + get: function get() { + return _LinkedinFilled["default"]; + } +}); +Object.defineProperty(exports, "LinkedinOutlined", { + enumerable: true, + get: function get() { + return _LinkedinOutlined["default"]; + } +}); +Object.defineProperty(exports, "Loading3QuartersOutlined", { + enumerable: true, + get: function get() { + return _Loading3QuartersOutlined["default"]; + } +}); +Object.defineProperty(exports, "LoadingOutlined", { + enumerable: true, + get: function get() { + return _LoadingOutlined["default"]; + } +}); +Object.defineProperty(exports, "LockFilled", { + enumerable: true, + get: function get() { + return _LockFilled["default"]; + } +}); +Object.defineProperty(exports, "LockOutlined", { + enumerable: true, + get: function get() { + return _LockOutlined["default"]; + } +}); +Object.defineProperty(exports, "LockTwoTone", { + enumerable: true, + get: function get() { + return _LockTwoTone["default"]; + } +}); +Object.defineProperty(exports, "LoginOutlined", { + enumerable: true, + get: function get() { + return _LoginOutlined["default"]; + } +}); +Object.defineProperty(exports, "LogoutOutlined", { + enumerable: true, + get: function get() { + return _LogoutOutlined["default"]; + } +}); +Object.defineProperty(exports, "MacCommandFilled", { + enumerable: true, + get: function get() { + return _MacCommandFilled["default"]; + } +}); +Object.defineProperty(exports, "MacCommandOutlined", { + enumerable: true, + get: function get() { + return _MacCommandOutlined["default"]; + } +}); +Object.defineProperty(exports, "MailFilled", { + enumerable: true, + get: function get() { + return _MailFilled["default"]; + } +}); +Object.defineProperty(exports, "MailOutlined", { + enumerable: true, + get: function get() { + return _MailOutlined["default"]; + } +}); +Object.defineProperty(exports, "MailTwoTone", { + enumerable: true, + get: function get() { + return _MailTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ManOutlined", { + enumerable: true, + get: function get() { + return _ManOutlined["default"]; + } +}); +Object.defineProperty(exports, "MedicineBoxFilled", { + enumerable: true, + get: function get() { + return _MedicineBoxFilled["default"]; + } +}); +Object.defineProperty(exports, "MedicineBoxOutlined", { + enumerable: true, + get: function get() { + return _MedicineBoxOutlined["default"]; + } +}); +Object.defineProperty(exports, "MedicineBoxTwoTone", { + enumerable: true, + get: function get() { + return _MedicineBoxTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MediumCircleFilled", { + enumerable: true, + get: function get() { + return _MediumCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "MediumOutlined", { + enumerable: true, + get: function get() { + return _MediumOutlined["default"]; + } +}); +Object.defineProperty(exports, "MediumSquareFilled", { + enumerable: true, + get: function get() { + return _MediumSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "MediumWorkmarkOutlined", { + enumerable: true, + get: function get() { + return _MediumWorkmarkOutlined["default"]; + } +}); +Object.defineProperty(exports, "MehFilled", { + enumerable: true, + get: function get() { + return _MehFilled["default"]; + } +}); +Object.defineProperty(exports, "MehOutlined", { + enumerable: true, + get: function get() { + return _MehOutlined["default"]; + } +}); +Object.defineProperty(exports, "MehTwoTone", { + enumerable: true, + get: function get() { + return _MehTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MenuFoldOutlined", { + enumerable: true, + get: function get() { + return _MenuFoldOutlined["default"]; + } +}); +Object.defineProperty(exports, "MenuOutlined", { + enumerable: true, + get: function get() { + return _MenuOutlined["default"]; + } +}); +Object.defineProperty(exports, "MenuUnfoldOutlined", { + enumerable: true, + get: function get() { + return _MenuUnfoldOutlined["default"]; + } +}); +Object.defineProperty(exports, "MergeCellsOutlined", { + enumerable: true, + get: function get() { + return _MergeCellsOutlined["default"]; + } +}); +Object.defineProperty(exports, "MessageFilled", { + enumerable: true, + get: function get() { + return _MessageFilled["default"]; + } +}); +Object.defineProperty(exports, "MessageOutlined", { + enumerable: true, + get: function get() { + return _MessageOutlined["default"]; + } +}); +Object.defineProperty(exports, "MessageTwoTone", { + enumerable: true, + get: function get() { + return _MessageTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MinusCircleFilled", { + enumerable: true, + get: function get() { + return _MinusCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "MinusCircleOutlined", { + enumerable: true, + get: function get() { + return _MinusCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "MinusCircleTwoTone", { + enumerable: true, + get: function get() { + return _MinusCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MinusOutlined", { + enumerable: true, + get: function get() { + return _MinusOutlined["default"]; + } +}); +Object.defineProperty(exports, "MinusSquareFilled", { + enumerable: true, + get: function get() { + return _MinusSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "MinusSquareOutlined", { + enumerable: true, + get: function get() { + return _MinusSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "MinusSquareTwoTone", { + enumerable: true, + get: function get() { + return _MinusSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MobileFilled", { + enumerable: true, + get: function get() { + return _MobileFilled["default"]; + } +}); +Object.defineProperty(exports, "MobileOutlined", { + enumerable: true, + get: function get() { + return _MobileOutlined["default"]; + } +}); +Object.defineProperty(exports, "MobileTwoTone", { + enumerable: true, + get: function get() { + return _MobileTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MoneyCollectFilled", { + enumerable: true, + get: function get() { + return _MoneyCollectFilled["default"]; + } +}); +Object.defineProperty(exports, "MoneyCollectOutlined", { + enumerable: true, + get: function get() { + return _MoneyCollectOutlined["default"]; + } +}); +Object.defineProperty(exports, "MoneyCollectTwoTone", { + enumerable: true, + get: function get() { + return _MoneyCollectTwoTone["default"]; + } +}); +Object.defineProperty(exports, "MonitorOutlined", { + enumerable: true, + get: function get() { + return _MonitorOutlined["default"]; + } +}); +Object.defineProperty(exports, "MoreOutlined", { + enumerable: true, + get: function get() { + return _MoreOutlined["default"]; + } +}); +Object.defineProperty(exports, "NodeCollapseOutlined", { + enumerable: true, + get: function get() { + return _NodeCollapseOutlined["default"]; + } +}); +Object.defineProperty(exports, "NodeExpandOutlined", { + enumerable: true, + get: function get() { + return _NodeExpandOutlined["default"]; + } +}); +Object.defineProperty(exports, "NodeIndexOutlined", { + enumerable: true, + get: function get() { + return _NodeIndexOutlined["default"]; + } +}); +Object.defineProperty(exports, "NotificationFilled", { + enumerable: true, + get: function get() { + return _NotificationFilled["default"]; + } +}); +Object.defineProperty(exports, "NotificationOutlined", { + enumerable: true, + get: function get() { + return _NotificationOutlined["default"]; + } +}); +Object.defineProperty(exports, "NotificationTwoTone", { + enumerable: true, + get: function get() { + return _NotificationTwoTone["default"]; + } +}); +Object.defineProperty(exports, "NumberOutlined", { + enumerable: true, + get: function get() { + return _NumberOutlined["default"]; + } +}); +Object.defineProperty(exports, "OneToOneOutlined", { + enumerable: true, + get: function get() { + return _OneToOneOutlined["default"]; + } +}); +Object.defineProperty(exports, "OrderedListOutlined", { + enumerable: true, + get: function get() { + return _OrderedListOutlined["default"]; + } +}); +Object.defineProperty(exports, "PaperClipOutlined", { + enumerable: true, + get: function get() { + return _PaperClipOutlined["default"]; + } +}); +Object.defineProperty(exports, "PartitionOutlined", { + enumerable: true, + get: function get() { + return _PartitionOutlined["default"]; + } +}); +Object.defineProperty(exports, "PauseCircleFilled", { + enumerable: true, + get: function get() { + return _PauseCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "PauseCircleOutlined", { + enumerable: true, + get: function get() { + return _PauseCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "PauseCircleTwoTone", { + enumerable: true, + get: function get() { + return _PauseCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PauseOutlined", { + enumerable: true, + get: function get() { + return _PauseOutlined["default"]; + } +}); +Object.defineProperty(exports, "PayCircleFilled", { + enumerable: true, + get: function get() { + return _PayCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "PayCircleOutlined", { + enumerable: true, + get: function get() { + return _PayCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "PercentageOutlined", { + enumerable: true, + get: function get() { + return _PercentageOutlined["default"]; + } +}); +Object.defineProperty(exports, "PhoneFilled", { + enumerable: true, + get: function get() { + return _PhoneFilled["default"]; + } +}); +Object.defineProperty(exports, "PhoneOutlined", { + enumerable: true, + get: function get() { + return _PhoneOutlined["default"]; + } +}); +Object.defineProperty(exports, "PhoneTwoTone", { + enumerable: true, + get: function get() { + return _PhoneTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PicCenterOutlined", { + enumerable: true, + get: function get() { + return _PicCenterOutlined["default"]; + } +}); +Object.defineProperty(exports, "PicLeftOutlined", { + enumerable: true, + get: function get() { + return _PicLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "PicRightOutlined", { + enumerable: true, + get: function get() { + return _PicRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "PictureFilled", { + enumerable: true, + get: function get() { + return _PictureFilled["default"]; + } +}); +Object.defineProperty(exports, "PictureOutlined", { + enumerable: true, + get: function get() { + return _PictureOutlined["default"]; + } +}); +Object.defineProperty(exports, "PictureTwoTone", { + enumerable: true, + get: function get() { + return _PictureTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PieChartFilled", { + enumerable: true, + get: function get() { + return _PieChartFilled["default"]; + } +}); +Object.defineProperty(exports, "PieChartOutlined", { + enumerable: true, + get: function get() { + return _PieChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "PieChartTwoTone", { + enumerable: true, + get: function get() { + return _PieChartTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PlayCircleFilled", { + enumerable: true, + get: function get() { + return _PlayCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "PlayCircleOutlined", { + enumerable: true, + get: function get() { + return _PlayCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "PlayCircleTwoTone", { + enumerable: true, + get: function get() { + return _PlayCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PlaySquareFilled", { + enumerable: true, + get: function get() { + return _PlaySquareFilled["default"]; + } +}); +Object.defineProperty(exports, "PlaySquareOutlined", { + enumerable: true, + get: function get() { + return _PlaySquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "PlaySquareTwoTone", { + enumerable: true, + get: function get() { + return _PlaySquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PlusCircleFilled", { + enumerable: true, + get: function get() { + return _PlusCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "PlusCircleOutlined", { + enumerable: true, + get: function get() { + return _PlusCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "PlusCircleTwoTone", { + enumerable: true, + get: function get() { + return _PlusCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PlusOutlined", { + enumerable: true, + get: function get() { + return _PlusOutlined["default"]; + } +}); +Object.defineProperty(exports, "PlusSquareFilled", { + enumerable: true, + get: function get() { + return _PlusSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "PlusSquareOutlined", { + enumerable: true, + get: function get() { + return _PlusSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "PlusSquareTwoTone", { + enumerable: true, + get: function get() { + return _PlusSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PoundCircleFilled", { + enumerable: true, + get: function get() { + return _PoundCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "PoundCircleOutlined", { + enumerable: true, + get: function get() { + return _PoundCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "PoundCircleTwoTone", { + enumerable: true, + get: function get() { + return _PoundCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PoundOutlined", { + enumerable: true, + get: function get() { + return _PoundOutlined["default"]; + } +}); +Object.defineProperty(exports, "PoweroffOutlined", { + enumerable: true, + get: function get() { + return _PoweroffOutlined["default"]; + } +}); +Object.defineProperty(exports, "PrinterFilled", { + enumerable: true, + get: function get() { + return _PrinterFilled["default"]; + } +}); +Object.defineProperty(exports, "PrinterOutlined", { + enumerable: true, + get: function get() { + return _PrinterOutlined["default"]; + } +}); +Object.defineProperty(exports, "PrinterTwoTone", { + enumerable: true, + get: function get() { + return _PrinterTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ProfileFilled", { + enumerable: true, + get: function get() { + return _ProfileFilled["default"]; + } +}); +Object.defineProperty(exports, "ProfileOutlined", { + enumerable: true, + get: function get() { + return _ProfileOutlined["default"]; + } +}); +Object.defineProperty(exports, "ProfileTwoTone", { + enumerable: true, + get: function get() { + return _ProfileTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ProjectFilled", { + enumerable: true, + get: function get() { + return _ProjectFilled["default"]; + } +}); +Object.defineProperty(exports, "ProjectOutlined", { + enumerable: true, + get: function get() { + return _ProjectOutlined["default"]; + } +}); +Object.defineProperty(exports, "ProjectTwoTone", { + enumerable: true, + get: function get() { + return _ProjectTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PropertySafetyFilled", { + enumerable: true, + get: function get() { + return _PropertySafetyFilled["default"]; + } +}); +Object.defineProperty(exports, "PropertySafetyOutlined", { + enumerable: true, + get: function get() { + return _PropertySafetyOutlined["default"]; + } +}); +Object.defineProperty(exports, "PropertySafetyTwoTone", { + enumerable: true, + get: function get() { + return _PropertySafetyTwoTone["default"]; + } +}); +Object.defineProperty(exports, "PullRequestOutlined", { + enumerable: true, + get: function get() { + return _PullRequestOutlined["default"]; + } +}); +Object.defineProperty(exports, "PushpinFilled", { + enumerable: true, + get: function get() { + return _PushpinFilled["default"]; + } +}); +Object.defineProperty(exports, "PushpinOutlined", { + enumerable: true, + get: function get() { + return _PushpinOutlined["default"]; + } +}); +Object.defineProperty(exports, "PushpinTwoTone", { + enumerable: true, + get: function get() { + return _PushpinTwoTone["default"]; + } +}); +Object.defineProperty(exports, "QqCircleFilled", { + enumerable: true, + get: function get() { + return _QqCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "QqOutlined", { + enumerable: true, + get: function get() { + return _QqOutlined["default"]; + } +}); +Object.defineProperty(exports, "QqSquareFilled", { + enumerable: true, + get: function get() { + return _QqSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "QrcodeOutlined", { + enumerable: true, + get: function get() { + return _QrcodeOutlined["default"]; + } +}); +Object.defineProperty(exports, "QuestionCircleFilled", { + enumerable: true, + get: function get() { + return _QuestionCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "QuestionCircleOutlined", { + enumerable: true, + get: function get() { + return _QuestionCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "QuestionCircleTwoTone", { + enumerable: true, + get: function get() { + return _QuestionCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "QuestionOutlined", { + enumerable: true, + get: function get() { + return _QuestionOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadarChartOutlined", { + enumerable: true, + get: function get() { + return _RadarChartOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadiusBottomleftOutlined", { + enumerable: true, + get: function get() { + return _RadiusBottomleftOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadiusBottomrightOutlined", { + enumerable: true, + get: function get() { + return _RadiusBottomrightOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadiusSettingOutlined", { + enumerable: true, + get: function get() { + return _RadiusSettingOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadiusUpleftOutlined", { + enumerable: true, + get: function get() { + return _RadiusUpleftOutlined["default"]; + } +}); +Object.defineProperty(exports, "RadiusUprightOutlined", { + enumerable: true, + get: function get() { + return _RadiusUprightOutlined["default"]; + } +}); +Object.defineProperty(exports, "ReadFilled", { + enumerable: true, + get: function get() { + return _ReadFilled["default"]; + } +}); +Object.defineProperty(exports, "ReadOutlined", { + enumerable: true, + get: function get() { + return _ReadOutlined["default"]; + } +}); +Object.defineProperty(exports, "ReconciliationFilled", { + enumerable: true, + get: function get() { + return _ReconciliationFilled["default"]; + } +}); +Object.defineProperty(exports, "ReconciliationOutlined", { + enumerable: true, + get: function get() { + return _ReconciliationOutlined["default"]; + } +}); +Object.defineProperty(exports, "ReconciliationTwoTone", { + enumerable: true, + get: function get() { + return _ReconciliationTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RedEnvelopeFilled", { + enumerable: true, + get: function get() { + return _RedEnvelopeFilled["default"]; + } +}); +Object.defineProperty(exports, "RedEnvelopeOutlined", { + enumerable: true, + get: function get() { + return _RedEnvelopeOutlined["default"]; + } +}); +Object.defineProperty(exports, "RedEnvelopeTwoTone", { + enumerable: true, + get: function get() { + return _RedEnvelopeTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RedditCircleFilled", { + enumerable: true, + get: function get() { + return _RedditCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "RedditOutlined", { + enumerable: true, + get: function get() { + return _RedditOutlined["default"]; + } +}); +Object.defineProperty(exports, "RedditSquareFilled", { + enumerable: true, + get: function get() { + return _RedditSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "RedoOutlined", { + enumerable: true, + get: function get() { + return _RedoOutlined["default"]; + } +}); +Object.defineProperty(exports, "ReloadOutlined", { + enumerable: true, + get: function get() { + return _ReloadOutlined["default"]; + } +}); +Object.defineProperty(exports, "RestFilled", { + enumerable: true, + get: function get() { + return _RestFilled["default"]; + } +}); +Object.defineProperty(exports, "RestOutlined", { + enumerable: true, + get: function get() { + return _RestOutlined["default"]; + } +}); +Object.defineProperty(exports, "RestTwoTone", { + enumerable: true, + get: function get() { + return _RestTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RetweetOutlined", { + enumerable: true, + get: function get() { + return _RetweetOutlined["default"]; + } +}); +Object.defineProperty(exports, "RightCircleFilled", { + enumerable: true, + get: function get() { + return _RightCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "RightCircleOutlined", { + enumerable: true, + get: function get() { + return _RightCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "RightCircleTwoTone", { + enumerable: true, + get: function get() { + return _RightCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RightOutlined", { + enumerable: true, + get: function get() { + return _RightOutlined["default"]; + } +}); +Object.defineProperty(exports, "RightSquareFilled", { + enumerable: true, + get: function get() { + return _RightSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "RightSquareOutlined", { + enumerable: true, + get: function get() { + return _RightSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "RightSquareTwoTone", { + enumerable: true, + get: function get() { + return _RightSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RiseOutlined", { + enumerable: true, + get: function get() { + return _RiseOutlined["default"]; + } +}); +Object.defineProperty(exports, "RobotFilled", { + enumerable: true, + get: function get() { + return _RobotFilled["default"]; + } +}); +Object.defineProperty(exports, "RobotOutlined", { + enumerable: true, + get: function get() { + return _RobotOutlined["default"]; + } +}); +Object.defineProperty(exports, "RocketFilled", { + enumerable: true, + get: function get() { + return _RocketFilled["default"]; + } +}); +Object.defineProperty(exports, "RocketOutlined", { + enumerable: true, + get: function get() { + return _RocketOutlined["default"]; + } +}); +Object.defineProperty(exports, "RocketTwoTone", { + enumerable: true, + get: function get() { + return _RocketTwoTone["default"]; + } +}); +Object.defineProperty(exports, "RollbackOutlined", { + enumerable: true, + get: function get() { + return _RollbackOutlined["default"]; + } +}); +Object.defineProperty(exports, "RotateLeftOutlined", { + enumerable: true, + get: function get() { + return _RotateLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "RotateRightOutlined", { + enumerable: true, + get: function get() { + return _RotateRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "SafetyCertificateFilled", { + enumerable: true, + get: function get() { + return _SafetyCertificateFilled["default"]; + } +}); +Object.defineProperty(exports, "SafetyCertificateOutlined", { + enumerable: true, + get: function get() { + return _SafetyCertificateOutlined["default"]; + } +}); +Object.defineProperty(exports, "SafetyCertificateTwoTone", { + enumerable: true, + get: function get() { + return _SafetyCertificateTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SafetyOutlined", { + enumerable: true, + get: function get() { + return _SafetyOutlined["default"]; + } +}); +Object.defineProperty(exports, "SaveFilled", { + enumerable: true, + get: function get() { + return _SaveFilled["default"]; + } +}); +Object.defineProperty(exports, "SaveOutlined", { + enumerable: true, + get: function get() { + return _SaveOutlined["default"]; + } +}); +Object.defineProperty(exports, "SaveTwoTone", { + enumerable: true, + get: function get() { + return _SaveTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ScanOutlined", { + enumerable: true, + get: function get() { + return _ScanOutlined["default"]; + } +}); +Object.defineProperty(exports, "ScheduleFilled", { + enumerable: true, + get: function get() { + return _ScheduleFilled["default"]; + } +}); +Object.defineProperty(exports, "ScheduleOutlined", { + enumerable: true, + get: function get() { + return _ScheduleOutlined["default"]; + } +}); +Object.defineProperty(exports, "ScheduleTwoTone", { + enumerable: true, + get: function get() { + return _ScheduleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ScissorOutlined", { + enumerable: true, + get: function get() { + return _ScissorOutlined["default"]; + } +}); +Object.defineProperty(exports, "SearchOutlined", { + enumerable: true, + get: function get() { + return _SearchOutlined["default"]; + } +}); +Object.defineProperty(exports, "SecurityScanFilled", { + enumerable: true, + get: function get() { + return _SecurityScanFilled["default"]; + } +}); +Object.defineProperty(exports, "SecurityScanOutlined", { + enumerable: true, + get: function get() { + return _SecurityScanOutlined["default"]; + } +}); +Object.defineProperty(exports, "SecurityScanTwoTone", { + enumerable: true, + get: function get() { + return _SecurityScanTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SelectOutlined", { + enumerable: true, + get: function get() { + return _SelectOutlined["default"]; + } +}); +Object.defineProperty(exports, "SendOutlined", { + enumerable: true, + get: function get() { + return _SendOutlined["default"]; + } +}); +Object.defineProperty(exports, "SettingFilled", { + enumerable: true, + get: function get() { + return _SettingFilled["default"]; + } +}); +Object.defineProperty(exports, "SettingOutlined", { + enumerable: true, + get: function get() { + return _SettingOutlined["default"]; + } +}); +Object.defineProperty(exports, "SettingTwoTone", { + enumerable: true, + get: function get() { + return _SettingTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ShakeOutlined", { + enumerable: true, + get: function get() { + return _ShakeOutlined["default"]; + } +}); +Object.defineProperty(exports, "ShareAltOutlined", { + enumerable: true, + get: function get() { + return _ShareAltOutlined["default"]; + } +}); +Object.defineProperty(exports, "ShopFilled", { + enumerable: true, + get: function get() { + return _ShopFilled["default"]; + } +}); +Object.defineProperty(exports, "ShopOutlined", { + enumerable: true, + get: function get() { + return _ShopOutlined["default"]; + } +}); +Object.defineProperty(exports, "ShopTwoTone", { + enumerable: true, + get: function get() { + return _ShopTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ShoppingCartOutlined", { + enumerable: true, + get: function get() { + return _ShoppingCartOutlined["default"]; + } +}); +Object.defineProperty(exports, "ShoppingFilled", { + enumerable: true, + get: function get() { + return _ShoppingFilled["default"]; + } +}); +Object.defineProperty(exports, "ShoppingOutlined", { + enumerable: true, + get: function get() { + return _ShoppingOutlined["default"]; + } +}); +Object.defineProperty(exports, "ShoppingTwoTone", { + enumerable: true, + get: function get() { + return _ShoppingTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ShrinkOutlined", { + enumerable: true, + get: function get() { + return _ShrinkOutlined["default"]; + } +}); +Object.defineProperty(exports, "SignalFilled", { + enumerable: true, + get: function get() { + return _SignalFilled["default"]; + } +}); +Object.defineProperty(exports, "SisternodeOutlined", { + enumerable: true, + get: function get() { + return _SisternodeOutlined["default"]; + } +}); +Object.defineProperty(exports, "SketchCircleFilled", { + enumerable: true, + get: function get() { + return _SketchCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "SketchOutlined", { + enumerable: true, + get: function get() { + return _SketchOutlined["default"]; + } +}); +Object.defineProperty(exports, "SketchSquareFilled", { + enumerable: true, + get: function get() { + return _SketchSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "SkinFilled", { + enumerable: true, + get: function get() { + return _SkinFilled["default"]; + } +}); +Object.defineProperty(exports, "SkinOutlined", { + enumerable: true, + get: function get() { + return _SkinOutlined["default"]; + } +}); +Object.defineProperty(exports, "SkinTwoTone", { + enumerable: true, + get: function get() { + return _SkinTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SkypeFilled", { + enumerable: true, + get: function get() { + return _SkypeFilled["default"]; + } +}); +Object.defineProperty(exports, "SkypeOutlined", { + enumerable: true, + get: function get() { + return _SkypeOutlined["default"]; + } +}); +Object.defineProperty(exports, "SlackCircleFilled", { + enumerable: true, + get: function get() { + return _SlackCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "SlackOutlined", { + enumerable: true, + get: function get() { + return _SlackOutlined["default"]; + } +}); +Object.defineProperty(exports, "SlackSquareFilled", { + enumerable: true, + get: function get() { + return _SlackSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "SlackSquareOutlined", { + enumerable: true, + get: function get() { + return _SlackSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "SlidersFilled", { + enumerable: true, + get: function get() { + return _SlidersFilled["default"]; + } +}); +Object.defineProperty(exports, "SlidersOutlined", { + enumerable: true, + get: function get() { + return _SlidersOutlined["default"]; + } +}); +Object.defineProperty(exports, "SlidersTwoTone", { + enumerable: true, + get: function get() { + return _SlidersTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SmallDashOutlined", { + enumerable: true, + get: function get() { + return _SmallDashOutlined["default"]; + } +}); +Object.defineProperty(exports, "SmileFilled", { + enumerable: true, + get: function get() { + return _SmileFilled["default"]; + } +}); +Object.defineProperty(exports, "SmileOutlined", { + enumerable: true, + get: function get() { + return _SmileOutlined["default"]; + } +}); +Object.defineProperty(exports, "SmileTwoTone", { + enumerable: true, + get: function get() { + return _SmileTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SnippetsFilled", { + enumerable: true, + get: function get() { + return _SnippetsFilled["default"]; + } +}); +Object.defineProperty(exports, "SnippetsOutlined", { + enumerable: true, + get: function get() { + return _SnippetsOutlined["default"]; + } +}); +Object.defineProperty(exports, "SnippetsTwoTone", { + enumerable: true, + get: function get() { + return _SnippetsTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SolutionOutlined", { + enumerable: true, + get: function get() { + return _SolutionOutlined["default"]; + } +}); +Object.defineProperty(exports, "SortAscendingOutlined", { + enumerable: true, + get: function get() { + return _SortAscendingOutlined["default"]; + } +}); +Object.defineProperty(exports, "SortDescendingOutlined", { + enumerable: true, + get: function get() { + return _SortDescendingOutlined["default"]; + } +}); +Object.defineProperty(exports, "SoundFilled", { + enumerable: true, + get: function get() { + return _SoundFilled["default"]; + } +}); +Object.defineProperty(exports, "SoundOutlined", { + enumerable: true, + get: function get() { + return _SoundOutlined["default"]; + } +}); +Object.defineProperty(exports, "SoundTwoTone", { + enumerable: true, + get: function get() { + return _SoundTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SplitCellsOutlined", { + enumerable: true, + get: function get() { + return _SplitCellsOutlined["default"]; + } +}); +Object.defineProperty(exports, "StarFilled", { + enumerable: true, + get: function get() { + return _StarFilled["default"]; + } +}); +Object.defineProperty(exports, "StarOutlined", { + enumerable: true, + get: function get() { + return _StarOutlined["default"]; + } +}); +Object.defineProperty(exports, "StarTwoTone", { + enumerable: true, + get: function get() { + return _StarTwoTone["default"]; + } +}); +Object.defineProperty(exports, "StepBackwardFilled", { + enumerable: true, + get: function get() { + return _StepBackwardFilled["default"]; + } +}); +Object.defineProperty(exports, "StepBackwardOutlined", { + enumerable: true, + get: function get() { + return _StepBackwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "StepForwardFilled", { + enumerable: true, + get: function get() { + return _StepForwardFilled["default"]; + } +}); +Object.defineProperty(exports, "StepForwardOutlined", { + enumerable: true, + get: function get() { + return _StepForwardOutlined["default"]; + } +}); +Object.defineProperty(exports, "StockOutlined", { + enumerable: true, + get: function get() { + return _StockOutlined["default"]; + } +}); +Object.defineProperty(exports, "StopFilled", { + enumerable: true, + get: function get() { + return _StopFilled["default"]; + } +}); +Object.defineProperty(exports, "StopOutlined", { + enumerable: true, + get: function get() { + return _StopOutlined["default"]; + } +}); +Object.defineProperty(exports, "StopTwoTone", { + enumerable: true, + get: function get() { + return _StopTwoTone["default"]; + } +}); +Object.defineProperty(exports, "StrikethroughOutlined", { + enumerable: true, + get: function get() { + return _StrikethroughOutlined["default"]; + } +}); +Object.defineProperty(exports, "SubnodeOutlined", { + enumerable: true, + get: function get() { + return _SubnodeOutlined["default"]; + } +}); +Object.defineProperty(exports, "SwapLeftOutlined", { + enumerable: true, + get: function get() { + return _SwapLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "SwapOutlined", { + enumerable: true, + get: function get() { + return _SwapOutlined["default"]; + } +}); +Object.defineProperty(exports, "SwapRightOutlined", { + enumerable: true, + get: function get() { + return _SwapRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "SwitcherFilled", { + enumerable: true, + get: function get() { + return _SwitcherFilled["default"]; + } +}); +Object.defineProperty(exports, "SwitcherOutlined", { + enumerable: true, + get: function get() { + return _SwitcherOutlined["default"]; + } +}); +Object.defineProperty(exports, "SwitcherTwoTone", { + enumerable: true, + get: function get() { + return _SwitcherTwoTone["default"]; + } +}); +Object.defineProperty(exports, "SyncOutlined", { + enumerable: true, + get: function get() { + return _SyncOutlined["default"]; + } +}); +Object.defineProperty(exports, "TableOutlined", { + enumerable: true, + get: function get() { + return _TableOutlined["default"]; + } +}); +Object.defineProperty(exports, "TabletFilled", { + enumerable: true, + get: function get() { + return _TabletFilled["default"]; + } +}); +Object.defineProperty(exports, "TabletOutlined", { + enumerable: true, + get: function get() { + return _TabletOutlined["default"]; + } +}); +Object.defineProperty(exports, "TabletTwoTone", { + enumerable: true, + get: function get() { + return _TabletTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TagFilled", { + enumerable: true, + get: function get() { + return _TagFilled["default"]; + } +}); +Object.defineProperty(exports, "TagOutlined", { + enumerable: true, + get: function get() { + return _TagOutlined["default"]; + } +}); +Object.defineProperty(exports, "TagTwoTone", { + enumerable: true, + get: function get() { + return _TagTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TagsFilled", { + enumerable: true, + get: function get() { + return _TagsFilled["default"]; + } +}); +Object.defineProperty(exports, "TagsOutlined", { + enumerable: true, + get: function get() { + return _TagsOutlined["default"]; + } +}); +Object.defineProperty(exports, "TagsTwoTone", { + enumerable: true, + get: function get() { + return _TagsTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TaobaoCircleFilled", { + enumerable: true, + get: function get() { + return _TaobaoCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "TaobaoCircleOutlined", { + enumerable: true, + get: function get() { + return _TaobaoCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "TaobaoOutlined", { + enumerable: true, + get: function get() { + return _TaobaoOutlined["default"]; + } +}); +Object.defineProperty(exports, "TaobaoSquareFilled", { + enumerable: true, + get: function get() { + return _TaobaoSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "TeamOutlined", { + enumerable: true, + get: function get() { + return _TeamOutlined["default"]; + } +}); +Object.defineProperty(exports, "ThunderboltFilled", { + enumerable: true, + get: function get() { + return _ThunderboltFilled["default"]; + } +}); +Object.defineProperty(exports, "ThunderboltOutlined", { + enumerable: true, + get: function get() { + return _ThunderboltOutlined["default"]; + } +}); +Object.defineProperty(exports, "ThunderboltTwoTone", { + enumerable: true, + get: function get() { + return _ThunderboltTwoTone["default"]; + } +}); +Object.defineProperty(exports, "ToTopOutlined", { + enumerable: true, + get: function get() { + return _ToTopOutlined["default"]; + } +}); +Object.defineProperty(exports, "ToolFilled", { + enumerable: true, + get: function get() { + return _ToolFilled["default"]; + } +}); +Object.defineProperty(exports, "ToolOutlined", { + enumerable: true, + get: function get() { + return _ToolOutlined["default"]; + } +}); +Object.defineProperty(exports, "ToolTwoTone", { + enumerable: true, + get: function get() { + return _ToolTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TrademarkCircleFilled", { + enumerable: true, + get: function get() { + return _TrademarkCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "TrademarkCircleOutlined", { + enumerable: true, + get: function get() { + return _TrademarkCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "TrademarkCircleTwoTone", { + enumerable: true, + get: function get() { + return _TrademarkCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TrademarkOutlined", { + enumerable: true, + get: function get() { + return _TrademarkOutlined["default"]; + } +}); +Object.defineProperty(exports, "TransactionOutlined", { + enumerable: true, + get: function get() { + return _TransactionOutlined["default"]; + } +}); +Object.defineProperty(exports, "TranslationOutlined", { + enumerable: true, + get: function get() { + return _TranslationOutlined["default"]; + } +}); +Object.defineProperty(exports, "TrophyFilled", { + enumerable: true, + get: function get() { + return _TrophyFilled["default"]; + } +}); +Object.defineProperty(exports, "TrophyOutlined", { + enumerable: true, + get: function get() { + return _TrophyOutlined["default"]; + } +}); +Object.defineProperty(exports, "TrophyTwoTone", { + enumerable: true, + get: function get() { + return _TrophyTwoTone["default"]; + } +}); +Object.defineProperty(exports, "TwitterCircleFilled", { + enumerable: true, + get: function get() { + return _TwitterCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "TwitterOutlined", { + enumerable: true, + get: function get() { + return _TwitterOutlined["default"]; + } +}); +Object.defineProperty(exports, "TwitterSquareFilled", { + enumerable: true, + get: function get() { + return _TwitterSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "UnderlineOutlined", { + enumerable: true, + get: function get() { + return _UnderlineOutlined["default"]; + } +}); +Object.defineProperty(exports, "UndoOutlined", { + enumerable: true, + get: function get() { + return _UndoOutlined["default"]; + } +}); +Object.defineProperty(exports, "UngroupOutlined", { + enumerable: true, + get: function get() { + return _UngroupOutlined["default"]; + } +}); +Object.defineProperty(exports, "UnlockFilled", { + enumerable: true, + get: function get() { + return _UnlockFilled["default"]; + } +}); +Object.defineProperty(exports, "UnlockOutlined", { + enumerable: true, + get: function get() { + return _UnlockOutlined["default"]; + } +}); +Object.defineProperty(exports, "UnlockTwoTone", { + enumerable: true, + get: function get() { + return _UnlockTwoTone["default"]; + } +}); +Object.defineProperty(exports, "UnorderedListOutlined", { + enumerable: true, + get: function get() { + return _UnorderedListOutlined["default"]; + } +}); +Object.defineProperty(exports, "UpCircleFilled", { + enumerable: true, + get: function get() { + return _UpCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "UpCircleOutlined", { + enumerable: true, + get: function get() { + return _UpCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "UpCircleTwoTone", { + enumerable: true, + get: function get() { + return _UpCircleTwoTone["default"]; + } +}); +Object.defineProperty(exports, "UpOutlined", { + enumerable: true, + get: function get() { + return _UpOutlined["default"]; + } +}); +Object.defineProperty(exports, "UpSquareFilled", { + enumerable: true, + get: function get() { + return _UpSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "UpSquareOutlined", { + enumerable: true, + get: function get() { + return _UpSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "UpSquareTwoTone", { + enumerable: true, + get: function get() { + return _UpSquareTwoTone["default"]; + } +}); +Object.defineProperty(exports, "UploadOutlined", { + enumerable: true, + get: function get() { + return _UploadOutlined["default"]; + } +}); +Object.defineProperty(exports, "UsbFilled", { + enumerable: true, + get: function get() { + return _UsbFilled["default"]; + } +}); +Object.defineProperty(exports, "UsbOutlined", { + enumerable: true, + get: function get() { + return _UsbOutlined["default"]; + } +}); +Object.defineProperty(exports, "UsbTwoTone", { + enumerable: true, + get: function get() { + return _UsbTwoTone["default"]; + } +}); +Object.defineProperty(exports, "UserAddOutlined", { + enumerable: true, + get: function get() { + return _UserAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "UserDeleteOutlined", { + enumerable: true, + get: function get() { + return _UserDeleteOutlined["default"]; + } +}); +Object.defineProperty(exports, "UserOutlined", { + enumerable: true, + get: function get() { + return _UserOutlined["default"]; + } +}); +Object.defineProperty(exports, "UserSwitchOutlined", { + enumerable: true, + get: function get() { + return _UserSwitchOutlined["default"]; + } +}); +Object.defineProperty(exports, "UsergroupAddOutlined", { + enumerable: true, + get: function get() { + return _UsergroupAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "UsergroupDeleteOutlined", { + enumerable: true, + get: function get() { + return _UsergroupDeleteOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerifiedOutlined", { + enumerable: true, + get: function get() { + return _VerifiedOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerticalAlignBottomOutlined", { + enumerable: true, + get: function get() { + return _VerticalAlignBottomOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerticalAlignMiddleOutlined", { + enumerable: true, + get: function get() { + return _VerticalAlignMiddleOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerticalAlignTopOutlined", { + enumerable: true, + get: function get() { + return _VerticalAlignTopOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerticalLeftOutlined", { + enumerable: true, + get: function get() { + return _VerticalLeftOutlined["default"]; + } +}); +Object.defineProperty(exports, "VerticalRightOutlined", { + enumerable: true, + get: function get() { + return _VerticalRightOutlined["default"]; + } +}); +Object.defineProperty(exports, "VideoCameraAddOutlined", { + enumerable: true, + get: function get() { + return _VideoCameraAddOutlined["default"]; + } +}); +Object.defineProperty(exports, "VideoCameraFilled", { + enumerable: true, + get: function get() { + return _VideoCameraFilled["default"]; + } +}); +Object.defineProperty(exports, "VideoCameraOutlined", { + enumerable: true, + get: function get() { + return _VideoCameraOutlined["default"]; + } +}); +Object.defineProperty(exports, "VideoCameraTwoTone", { + enumerable: true, + get: function get() { + return _VideoCameraTwoTone["default"]; + } +}); +Object.defineProperty(exports, "WalletFilled", { + enumerable: true, + get: function get() { + return _WalletFilled["default"]; + } +}); +Object.defineProperty(exports, "WalletOutlined", { + enumerable: true, + get: function get() { + return _WalletOutlined["default"]; + } +}); +Object.defineProperty(exports, "WalletTwoTone", { + enumerable: true, + get: function get() { + return _WalletTwoTone["default"]; + } +}); +Object.defineProperty(exports, "WarningFilled", { + enumerable: true, + get: function get() { + return _WarningFilled["default"]; + } +}); +Object.defineProperty(exports, "WarningOutlined", { + enumerable: true, + get: function get() { + return _WarningOutlined["default"]; + } +}); +Object.defineProperty(exports, "WarningTwoTone", { + enumerable: true, + get: function get() { + return _WarningTwoTone["default"]; + } +}); +Object.defineProperty(exports, "WechatFilled", { + enumerable: true, + get: function get() { + return _WechatFilled["default"]; + } +}); +Object.defineProperty(exports, "WechatOutlined", { + enumerable: true, + get: function get() { + return _WechatOutlined["default"]; + } +}); +Object.defineProperty(exports, "WeiboCircleFilled", { + enumerable: true, + get: function get() { + return _WeiboCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "WeiboCircleOutlined", { + enumerable: true, + get: function get() { + return _WeiboCircleOutlined["default"]; + } +}); +Object.defineProperty(exports, "WeiboOutlined", { + enumerable: true, + get: function get() { + return _WeiboOutlined["default"]; + } +}); +Object.defineProperty(exports, "WeiboSquareFilled", { + enumerable: true, + get: function get() { + return _WeiboSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "WeiboSquareOutlined", { + enumerable: true, + get: function get() { + return _WeiboSquareOutlined["default"]; + } +}); +Object.defineProperty(exports, "WhatsAppOutlined", { + enumerable: true, + get: function get() { + return _WhatsAppOutlined["default"]; + } +}); +Object.defineProperty(exports, "WifiOutlined", { + enumerable: true, + get: function get() { + return _WifiOutlined["default"]; + } +}); +Object.defineProperty(exports, "WindowsFilled", { + enumerable: true, + get: function get() { + return _WindowsFilled["default"]; + } +}); +Object.defineProperty(exports, "WindowsOutlined", { + enumerable: true, + get: function get() { + return _WindowsOutlined["default"]; + } +}); +Object.defineProperty(exports, "WomanOutlined", { + enumerable: true, + get: function get() { + return _WomanOutlined["default"]; + } +}); +Object.defineProperty(exports, "YahooFilled", { + enumerable: true, + get: function get() { + return _YahooFilled["default"]; + } +}); +Object.defineProperty(exports, "YahooOutlined", { + enumerable: true, + get: function get() { + return _YahooOutlined["default"]; + } +}); +Object.defineProperty(exports, "YoutubeFilled", { + enumerable: true, + get: function get() { + return _YoutubeFilled["default"]; + } +}); +Object.defineProperty(exports, "YoutubeOutlined", { + enumerable: true, + get: function get() { + return _YoutubeOutlined["default"]; + } +}); +Object.defineProperty(exports, "YuqueFilled", { + enumerable: true, + get: function get() { + return _YuqueFilled["default"]; + } +}); +Object.defineProperty(exports, "YuqueOutlined", { + enumerable: true, + get: function get() { + return _YuqueOutlined["default"]; + } +}); +Object.defineProperty(exports, "ZhihuCircleFilled", { + enumerable: true, + get: function get() { + return _ZhihuCircleFilled["default"]; + } +}); +Object.defineProperty(exports, "ZhihuOutlined", { + enumerable: true, + get: function get() { + return _ZhihuOutlined["default"]; + } +}); +Object.defineProperty(exports, "ZhihuSquareFilled", { + enumerable: true, + get: function get() { + return _ZhihuSquareFilled["default"]; + } +}); +Object.defineProperty(exports, "ZoomInOutlined", { + enumerable: true, + get: function get() { + return _ZoomInOutlined["default"]; + } +}); +Object.defineProperty(exports, "ZoomOutOutlined", { + enumerable: true, + get: function get() { + return _ZoomOutOutlined["default"]; + } +}); + +var _AccountBookFilled = _interopRequireDefault(require("./AccountBookFilled")); + +var _AccountBookOutlined = _interopRequireDefault(require("./AccountBookOutlined")); + +var _AccountBookTwoTone = _interopRequireDefault(require("./AccountBookTwoTone")); + +var _AimOutlined = _interopRequireDefault(require("./AimOutlined")); + +var _AlertFilled = _interopRequireDefault(require("./AlertFilled")); + +var _AlertOutlined = _interopRequireDefault(require("./AlertOutlined")); + +var _AlertTwoTone = _interopRequireDefault(require("./AlertTwoTone")); + +var _AlibabaOutlined = _interopRequireDefault(require("./AlibabaOutlined")); + +var _AlignCenterOutlined = _interopRequireDefault(require("./AlignCenterOutlined")); + +var _AlignLeftOutlined = _interopRequireDefault(require("./AlignLeftOutlined")); + +var _AlignRightOutlined = _interopRequireDefault(require("./AlignRightOutlined")); + +var _AlipayCircleFilled = _interopRequireDefault(require("./AlipayCircleFilled")); + +var _AlipayCircleOutlined = _interopRequireDefault(require("./AlipayCircleOutlined")); + +var _AlipayOutlined = _interopRequireDefault(require("./AlipayOutlined")); + +var _AlipaySquareFilled = _interopRequireDefault(require("./AlipaySquareFilled")); + +var _AliwangwangFilled = _interopRequireDefault(require("./AliwangwangFilled")); + +var _AliwangwangOutlined = _interopRequireDefault(require("./AliwangwangOutlined")); + +var _AliyunOutlined = _interopRequireDefault(require("./AliyunOutlined")); + +var _AmazonCircleFilled = _interopRequireDefault(require("./AmazonCircleFilled")); + +var _AmazonOutlined = _interopRequireDefault(require("./AmazonOutlined")); + +var _AmazonSquareFilled = _interopRequireDefault(require("./AmazonSquareFilled")); + +var _AndroidFilled = _interopRequireDefault(require("./AndroidFilled")); + +var _AndroidOutlined = _interopRequireDefault(require("./AndroidOutlined")); + +var _AntCloudOutlined = _interopRequireDefault(require("./AntCloudOutlined")); + +var _AntDesignOutlined = _interopRequireDefault(require("./AntDesignOutlined")); + +var _ApartmentOutlined = _interopRequireDefault(require("./ApartmentOutlined")); + +var _ApiFilled = _interopRequireDefault(require("./ApiFilled")); + +var _ApiOutlined = _interopRequireDefault(require("./ApiOutlined")); + +var _ApiTwoTone = _interopRequireDefault(require("./ApiTwoTone")); + +var _AppleFilled = _interopRequireDefault(require("./AppleFilled")); + +var _AppleOutlined = _interopRequireDefault(require("./AppleOutlined")); + +var _AppstoreAddOutlined = _interopRequireDefault(require("./AppstoreAddOutlined")); + +var _AppstoreFilled = _interopRequireDefault(require("./AppstoreFilled")); + +var _AppstoreOutlined = _interopRequireDefault(require("./AppstoreOutlined")); + +var _AppstoreTwoTone = _interopRequireDefault(require("./AppstoreTwoTone")); + +var _AreaChartOutlined = _interopRequireDefault(require("./AreaChartOutlined")); + +var _ArrowDownOutlined = _interopRequireDefault(require("./ArrowDownOutlined")); + +var _ArrowLeftOutlined = _interopRequireDefault(require("./ArrowLeftOutlined")); + +var _ArrowRightOutlined = _interopRequireDefault(require("./ArrowRightOutlined")); + +var _ArrowUpOutlined = _interopRequireDefault(require("./ArrowUpOutlined")); + +var _ArrowsAltOutlined = _interopRequireDefault(require("./ArrowsAltOutlined")); + +var _AudioFilled = _interopRequireDefault(require("./AudioFilled")); + +var _AudioMutedOutlined = _interopRequireDefault(require("./AudioMutedOutlined")); + +var _AudioOutlined = _interopRequireDefault(require("./AudioOutlined")); + +var _AudioTwoTone = _interopRequireDefault(require("./AudioTwoTone")); + +var _AuditOutlined = _interopRequireDefault(require("./AuditOutlined")); + +var _BackwardFilled = _interopRequireDefault(require("./BackwardFilled")); + +var _BackwardOutlined = _interopRequireDefault(require("./BackwardOutlined")); + +var _BankFilled = _interopRequireDefault(require("./BankFilled")); + +var _BankOutlined = _interopRequireDefault(require("./BankOutlined")); + +var _BankTwoTone = _interopRequireDefault(require("./BankTwoTone")); + +var _BarChartOutlined = _interopRequireDefault(require("./BarChartOutlined")); + +var _BarcodeOutlined = _interopRequireDefault(require("./BarcodeOutlined")); + +var _BarsOutlined = _interopRequireDefault(require("./BarsOutlined")); + +var _BehanceCircleFilled = _interopRequireDefault(require("./BehanceCircleFilled")); + +var _BehanceOutlined = _interopRequireDefault(require("./BehanceOutlined")); + +var _BehanceSquareFilled = _interopRequireDefault(require("./BehanceSquareFilled")); + +var _BehanceSquareOutlined = _interopRequireDefault(require("./BehanceSquareOutlined")); + +var _BellFilled = _interopRequireDefault(require("./BellFilled")); + +var _BellOutlined = _interopRequireDefault(require("./BellOutlined")); + +var _BellTwoTone = _interopRequireDefault(require("./BellTwoTone")); + +var _BgColorsOutlined = _interopRequireDefault(require("./BgColorsOutlined")); + +var _BlockOutlined = _interopRequireDefault(require("./BlockOutlined")); + +var _BoldOutlined = _interopRequireDefault(require("./BoldOutlined")); + +var _BookFilled = _interopRequireDefault(require("./BookFilled")); + +var _BookOutlined = _interopRequireDefault(require("./BookOutlined")); + +var _BookTwoTone = _interopRequireDefault(require("./BookTwoTone")); + +var _BorderBottomOutlined = _interopRequireDefault(require("./BorderBottomOutlined")); + +var _BorderHorizontalOutlined = _interopRequireDefault(require("./BorderHorizontalOutlined")); + +var _BorderInnerOutlined = _interopRequireDefault(require("./BorderInnerOutlined")); + +var _BorderLeftOutlined = _interopRequireDefault(require("./BorderLeftOutlined")); + +var _BorderOuterOutlined = _interopRequireDefault(require("./BorderOuterOutlined")); + +var _BorderOutlined = _interopRequireDefault(require("./BorderOutlined")); + +var _BorderRightOutlined = _interopRequireDefault(require("./BorderRightOutlined")); + +var _BorderTopOutlined = _interopRequireDefault(require("./BorderTopOutlined")); + +var _BorderVerticleOutlined = _interopRequireDefault(require("./BorderVerticleOutlined")); + +var _BorderlessTableOutlined = _interopRequireDefault(require("./BorderlessTableOutlined")); + +var _BoxPlotFilled = _interopRequireDefault(require("./BoxPlotFilled")); + +var _BoxPlotOutlined = _interopRequireDefault(require("./BoxPlotOutlined")); + +var _BoxPlotTwoTone = _interopRequireDefault(require("./BoxPlotTwoTone")); + +var _BranchesOutlined = _interopRequireDefault(require("./BranchesOutlined")); + +var _BugFilled = _interopRequireDefault(require("./BugFilled")); + +var _BugOutlined = _interopRequireDefault(require("./BugOutlined")); + +var _BugTwoTone = _interopRequireDefault(require("./BugTwoTone")); + +var _BuildFilled = _interopRequireDefault(require("./BuildFilled")); + +var _BuildOutlined = _interopRequireDefault(require("./BuildOutlined")); + +var _BuildTwoTone = _interopRequireDefault(require("./BuildTwoTone")); + +var _BulbFilled = _interopRequireDefault(require("./BulbFilled")); + +var _BulbOutlined = _interopRequireDefault(require("./BulbOutlined")); + +var _BulbTwoTone = _interopRequireDefault(require("./BulbTwoTone")); + +var _CalculatorFilled = _interopRequireDefault(require("./CalculatorFilled")); + +var _CalculatorOutlined = _interopRequireDefault(require("./CalculatorOutlined")); + +var _CalculatorTwoTone = _interopRequireDefault(require("./CalculatorTwoTone")); + +var _CalendarFilled = _interopRequireDefault(require("./CalendarFilled")); + +var _CalendarOutlined = _interopRequireDefault(require("./CalendarOutlined")); + +var _CalendarTwoTone = _interopRequireDefault(require("./CalendarTwoTone")); + +var _CameraFilled = _interopRequireDefault(require("./CameraFilled")); + +var _CameraOutlined = _interopRequireDefault(require("./CameraOutlined")); + +var _CameraTwoTone = _interopRequireDefault(require("./CameraTwoTone")); + +var _CarFilled = _interopRequireDefault(require("./CarFilled")); + +var _CarOutlined = _interopRequireDefault(require("./CarOutlined")); + +var _CarTwoTone = _interopRequireDefault(require("./CarTwoTone")); + +var _CaretDownFilled = _interopRequireDefault(require("./CaretDownFilled")); + +var _CaretDownOutlined = _interopRequireDefault(require("./CaretDownOutlined")); + +var _CaretLeftFilled = _interopRequireDefault(require("./CaretLeftFilled")); + +var _CaretLeftOutlined = _interopRequireDefault(require("./CaretLeftOutlined")); + +var _CaretRightFilled = _interopRequireDefault(require("./CaretRightFilled")); + +var _CaretRightOutlined = _interopRequireDefault(require("./CaretRightOutlined")); + +var _CaretUpFilled = _interopRequireDefault(require("./CaretUpFilled")); + +var _CaretUpOutlined = _interopRequireDefault(require("./CaretUpOutlined")); + +var _CarryOutFilled = _interopRequireDefault(require("./CarryOutFilled")); + +var _CarryOutOutlined = _interopRequireDefault(require("./CarryOutOutlined")); + +var _CarryOutTwoTone = _interopRequireDefault(require("./CarryOutTwoTone")); + +var _CheckCircleFilled = _interopRequireDefault(require("./CheckCircleFilled")); + +var _CheckCircleOutlined = _interopRequireDefault(require("./CheckCircleOutlined")); + +var _CheckCircleTwoTone = _interopRequireDefault(require("./CheckCircleTwoTone")); + +var _CheckOutlined = _interopRequireDefault(require("./CheckOutlined")); + +var _CheckSquareFilled = _interopRequireDefault(require("./CheckSquareFilled")); + +var _CheckSquareOutlined = _interopRequireDefault(require("./CheckSquareOutlined")); + +var _CheckSquareTwoTone = _interopRequireDefault(require("./CheckSquareTwoTone")); + +var _ChromeFilled = _interopRequireDefault(require("./ChromeFilled")); + +var _ChromeOutlined = _interopRequireDefault(require("./ChromeOutlined")); + +var _CiCircleFilled = _interopRequireDefault(require("./CiCircleFilled")); + +var _CiCircleOutlined = _interopRequireDefault(require("./CiCircleOutlined")); + +var _CiCircleTwoTone = _interopRequireDefault(require("./CiCircleTwoTone")); + +var _CiOutlined = _interopRequireDefault(require("./CiOutlined")); + +var _CiTwoTone = _interopRequireDefault(require("./CiTwoTone")); + +var _ClearOutlined = _interopRequireDefault(require("./ClearOutlined")); + +var _ClockCircleFilled = _interopRequireDefault(require("./ClockCircleFilled")); + +var _ClockCircleOutlined = _interopRequireDefault(require("./ClockCircleOutlined")); + +var _ClockCircleTwoTone = _interopRequireDefault(require("./ClockCircleTwoTone")); + +var _CloseCircleFilled = _interopRequireDefault(require("./CloseCircleFilled")); + +var _CloseCircleOutlined = _interopRequireDefault(require("./CloseCircleOutlined")); + +var _CloseCircleTwoTone = _interopRequireDefault(require("./CloseCircleTwoTone")); + +var _CloseOutlined = _interopRequireDefault(require("./CloseOutlined")); + +var _CloseSquareFilled = _interopRequireDefault(require("./CloseSquareFilled")); + +var _CloseSquareOutlined = _interopRequireDefault(require("./CloseSquareOutlined")); + +var _CloseSquareTwoTone = _interopRequireDefault(require("./CloseSquareTwoTone")); + +var _CloudDownloadOutlined = _interopRequireDefault(require("./CloudDownloadOutlined")); + +var _CloudFilled = _interopRequireDefault(require("./CloudFilled")); + +var _CloudOutlined = _interopRequireDefault(require("./CloudOutlined")); + +var _CloudServerOutlined = _interopRequireDefault(require("./CloudServerOutlined")); + +var _CloudSyncOutlined = _interopRequireDefault(require("./CloudSyncOutlined")); + +var _CloudTwoTone = _interopRequireDefault(require("./CloudTwoTone")); + +var _CloudUploadOutlined = _interopRequireDefault(require("./CloudUploadOutlined")); + +var _ClusterOutlined = _interopRequireDefault(require("./ClusterOutlined")); + +var _CodeFilled = _interopRequireDefault(require("./CodeFilled")); + +var _CodeOutlined = _interopRequireDefault(require("./CodeOutlined")); + +var _CodeSandboxCircleFilled = _interopRequireDefault(require("./CodeSandboxCircleFilled")); + +var _CodeSandboxOutlined = _interopRequireDefault(require("./CodeSandboxOutlined")); + +var _CodeSandboxSquareFilled = _interopRequireDefault(require("./CodeSandboxSquareFilled")); + +var _CodeTwoTone = _interopRequireDefault(require("./CodeTwoTone")); + +var _CodepenCircleFilled = _interopRequireDefault(require("./CodepenCircleFilled")); + +var _CodepenCircleOutlined = _interopRequireDefault(require("./CodepenCircleOutlined")); + +var _CodepenOutlined = _interopRequireDefault(require("./CodepenOutlined")); + +var _CodepenSquareFilled = _interopRequireDefault(require("./CodepenSquareFilled")); + +var _CoffeeOutlined = _interopRequireDefault(require("./CoffeeOutlined")); + +var _ColumnHeightOutlined = _interopRequireDefault(require("./ColumnHeightOutlined")); + +var _ColumnWidthOutlined = _interopRequireDefault(require("./ColumnWidthOutlined")); + +var _CommentOutlined = _interopRequireDefault(require("./CommentOutlined")); + +var _CompassFilled = _interopRequireDefault(require("./CompassFilled")); + +var _CompassOutlined = _interopRequireDefault(require("./CompassOutlined")); + +var _CompassTwoTone = _interopRequireDefault(require("./CompassTwoTone")); + +var _CompressOutlined = _interopRequireDefault(require("./CompressOutlined")); + +var _ConsoleSqlOutlined = _interopRequireDefault(require("./ConsoleSqlOutlined")); + +var _ContactsFilled = _interopRequireDefault(require("./ContactsFilled")); + +var _ContactsOutlined = _interopRequireDefault(require("./ContactsOutlined")); + +var _ContactsTwoTone = _interopRequireDefault(require("./ContactsTwoTone")); + +var _ContainerFilled = _interopRequireDefault(require("./ContainerFilled")); + +var _ContainerOutlined = _interopRequireDefault(require("./ContainerOutlined")); + +var _ContainerTwoTone = _interopRequireDefault(require("./ContainerTwoTone")); + +var _ControlFilled = _interopRequireDefault(require("./ControlFilled")); + +var _ControlOutlined = _interopRequireDefault(require("./ControlOutlined")); + +var _ControlTwoTone = _interopRequireDefault(require("./ControlTwoTone")); + +var _CopyFilled = _interopRequireDefault(require("./CopyFilled")); + +var _CopyOutlined = _interopRequireDefault(require("./CopyOutlined")); + +var _CopyTwoTone = _interopRequireDefault(require("./CopyTwoTone")); + +var _CopyrightCircleFilled = _interopRequireDefault(require("./CopyrightCircleFilled")); + +var _CopyrightCircleOutlined = _interopRequireDefault(require("./CopyrightCircleOutlined")); + +var _CopyrightCircleTwoTone = _interopRequireDefault(require("./CopyrightCircleTwoTone")); + +var _CopyrightOutlined = _interopRequireDefault(require("./CopyrightOutlined")); + +var _CopyrightTwoTone = _interopRequireDefault(require("./CopyrightTwoTone")); + +var _CreditCardFilled = _interopRequireDefault(require("./CreditCardFilled")); + +var _CreditCardOutlined = _interopRequireDefault(require("./CreditCardOutlined")); + +var _CreditCardTwoTone = _interopRequireDefault(require("./CreditCardTwoTone")); + +var _CrownFilled = _interopRequireDefault(require("./CrownFilled")); + +var _CrownOutlined = _interopRequireDefault(require("./CrownOutlined")); + +var _CrownTwoTone = _interopRequireDefault(require("./CrownTwoTone")); + +var _CustomerServiceFilled = _interopRequireDefault(require("./CustomerServiceFilled")); + +var _CustomerServiceOutlined = _interopRequireDefault(require("./CustomerServiceOutlined")); + +var _CustomerServiceTwoTone = _interopRequireDefault(require("./CustomerServiceTwoTone")); + +var _DashOutlined = _interopRequireDefault(require("./DashOutlined")); + +var _DashboardFilled = _interopRequireDefault(require("./DashboardFilled")); + +var _DashboardOutlined = _interopRequireDefault(require("./DashboardOutlined")); + +var _DashboardTwoTone = _interopRequireDefault(require("./DashboardTwoTone")); + +var _DatabaseFilled = _interopRequireDefault(require("./DatabaseFilled")); + +var _DatabaseOutlined = _interopRequireDefault(require("./DatabaseOutlined")); + +var _DatabaseTwoTone = _interopRequireDefault(require("./DatabaseTwoTone")); + +var _DeleteColumnOutlined = _interopRequireDefault(require("./DeleteColumnOutlined")); + +var _DeleteFilled = _interopRequireDefault(require("./DeleteFilled")); + +var _DeleteOutlined = _interopRequireDefault(require("./DeleteOutlined")); + +var _DeleteRowOutlined = _interopRequireDefault(require("./DeleteRowOutlined")); + +var _DeleteTwoTone = _interopRequireDefault(require("./DeleteTwoTone")); + +var _DeliveredProcedureOutlined = _interopRequireDefault(require("./DeliveredProcedureOutlined")); + +var _DeploymentUnitOutlined = _interopRequireDefault(require("./DeploymentUnitOutlined")); + +var _DesktopOutlined = _interopRequireDefault(require("./DesktopOutlined")); + +var _DiffFilled = _interopRequireDefault(require("./DiffFilled")); + +var _DiffOutlined = _interopRequireDefault(require("./DiffOutlined")); + +var _DiffTwoTone = _interopRequireDefault(require("./DiffTwoTone")); + +var _DingdingOutlined = _interopRequireDefault(require("./DingdingOutlined")); + +var _DingtalkCircleFilled = _interopRequireDefault(require("./DingtalkCircleFilled")); + +var _DingtalkOutlined = _interopRequireDefault(require("./DingtalkOutlined")); + +var _DingtalkSquareFilled = _interopRequireDefault(require("./DingtalkSquareFilled")); + +var _DisconnectOutlined = _interopRequireDefault(require("./DisconnectOutlined")); + +var _DislikeFilled = _interopRequireDefault(require("./DislikeFilled")); + +var _DislikeOutlined = _interopRequireDefault(require("./DislikeOutlined")); + +var _DislikeTwoTone = _interopRequireDefault(require("./DislikeTwoTone")); + +var _DollarCircleFilled = _interopRequireDefault(require("./DollarCircleFilled")); + +var _DollarCircleOutlined = _interopRequireDefault(require("./DollarCircleOutlined")); + +var _DollarCircleTwoTone = _interopRequireDefault(require("./DollarCircleTwoTone")); + +var _DollarOutlined = _interopRequireDefault(require("./DollarOutlined")); + +var _DollarTwoTone = _interopRequireDefault(require("./DollarTwoTone")); + +var _DotChartOutlined = _interopRequireDefault(require("./DotChartOutlined")); + +var _DoubleLeftOutlined = _interopRequireDefault(require("./DoubleLeftOutlined")); + +var _DoubleRightOutlined = _interopRequireDefault(require("./DoubleRightOutlined")); + +var _DownCircleFilled = _interopRequireDefault(require("./DownCircleFilled")); + +var _DownCircleOutlined = _interopRequireDefault(require("./DownCircleOutlined")); + +var _DownCircleTwoTone = _interopRequireDefault(require("./DownCircleTwoTone")); + +var _DownOutlined = _interopRequireDefault(require("./DownOutlined")); + +var _DownSquareFilled = _interopRequireDefault(require("./DownSquareFilled")); + +var _DownSquareOutlined = _interopRequireDefault(require("./DownSquareOutlined")); + +var _DownSquareTwoTone = _interopRequireDefault(require("./DownSquareTwoTone")); + +var _DownloadOutlined = _interopRequireDefault(require("./DownloadOutlined")); + +var _DragOutlined = _interopRequireDefault(require("./DragOutlined")); + +var _DribbbleCircleFilled = _interopRequireDefault(require("./DribbbleCircleFilled")); + +var _DribbbleOutlined = _interopRequireDefault(require("./DribbbleOutlined")); + +var _DribbbleSquareFilled = _interopRequireDefault(require("./DribbbleSquareFilled")); + +var _DribbbleSquareOutlined = _interopRequireDefault(require("./DribbbleSquareOutlined")); + +var _DropboxCircleFilled = _interopRequireDefault(require("./DropboxCircleFilled")); + +var _DropboxOutlined = _interopRequireDefault(require("./DropboxOutlined")); + +var _DropboxSquareFilled = _interopRequireDefault(require("./DropboxSquareFilled")); + +var _EditFilled = _interopRequireDefault(require("./EditFilled")); + +var _EditOutlined = _interopRequireDefault(require("./EditOutlined")); + +var _EditTwoTone = _interopRequireDefault(require("./EditTwoTone")); + +var _EllipsisOutlined = _interopRequireDefault(require("./EllipsisOutlined")); + +var _EnterOutlined = _interopRequireDefault(require("./EnterOutlined")); + +var _EnvironmentFilled = _interopRequireDefault(require("./EnvironmentFilled")); + +var _EnvironmentOutlined = _interopRequireDefault(require("./EnvironmentOutlined")); + +var _EnvironmentTwoTone = _interopRequireDefault(require("./EnvironmentTwoTone")); + +var _EuroCircleFilled = _interopRequireDefault(require("./EuroCircleFilled")); + +var _EuroCircleOutlined = _interopRequireDefault(require("./EuroCircleOutlined")); + +var _EuroCircleTwoTone = _interopRequireDefault(require("./EuroCircleTwoTone")); + +var _EuroOutlined = _interopRequireDefault(require("./EuroOutlined")); + +var _EuroTwoTone = _interopRequireDefault(require("./EuroTwoTone")); + +var _ExceptionOutlined = _interopRequireDefault(require("./ExceptionOutlined")); + +var _ExclamationCircleFilled = _interopRequireDefault(require("./ExclamationCircleFilled")); + +var _ExclamationCircleOutlined = _interopRequireDefault(require("./ExclamationCircleOutlined")); + +var _ExclamationCircleTwoTone = _interopRequireDefault(require("./ExclamationCircleTwoTone")); + +var _ExclamationOutlined = _interopRequireDefault(require("./ExclamationOutlined")); + +var _ExpandAltOutlined = _interopRequireDefault(require("./ExpandAltOutlined")); + +var _ExpandOutlined = _interopRequireDefault(require("./ExpandOutlined")); + +var _ExperimentFilled = _interopRequireDefault(require("./ExperimentFilled")); + +var _ExperimentOutlined = _interopRequireDefault(require("./ExperimentOutlined")); + +var _ExperimentTwoTone = _interopRequireDefault(require("./ExperimentTwoTone")); + +var _ExportOutlined = _interopRequireDefault(require("./ExportOutlined")); + +var _EyeFilled = _interopRequireDefault(require("./EyeFilled")); + +var _EyeInvisibleFilled = _interopRequireDefault(require("./EyeInvisibleFilled")); + +var _EyeInvisibleOutlined = _interopRequireDefault(require("./EyeInvisibleOutlined")); + +var _EyeInvisibleTwoTone = _interopRequireDefault(require("./EyeInvisibleTwoTone")); + +var _EyeOutlined = _interopRequireDefault(require("./EyeOutlined")); + +var _EyeTwoTone = _interopRequireDefault(require("./EyeTwoTone")); + +var _FacebookFilled = _interopRequireDefault(require("./FacebookFilled")); + +var _FacebookOutlined = _interopRequireDefault(require("./FacebookOutlined")); + +var _FallOutlined = _interopRequireDefault(require("./FallOutlined")); + +var _FastBackwardFilled = _interopRequireDefault(require("./FastBackwardFilled")); + +var _FastBackwardOutlined = _interopRequireDefault(require("./FastBackwardOutlined")); + +var _FastForwardFilled = _interopRequireDefault(require("./FastForwardFilled")); + +var _FastForwardOutlined = _interopRequireDefault(require("./FastForwardOutlined")); + +var _FieldBinaryOutlined = _interopRequireDefault(require("./FieldBinaryOutlined")); + +var _FieldNumberOutlined = _interopRequireDefault(require("./FieldNumberOutlined")); + +var _FieldStringOutlined = _interopRequireDefault(require("./FieldStringOutlined")); + +var _FieldTimeOutlined = _interopRequireDefault(require("./FieldTimeOutlined")); + +var _FileAddFilled = _interopRequireDefault(require("./FileAddFilled")); + +var _FileAddOutlined = _interopRequireDefault(require("./FileAddOutlined")); + +var _FileAddTwoTone = _interopRequireDefault(require("./FileAddTwoTone")); + +var _FileDoneOutlined = _interopRequireDefault(require("./FileDoneOutlined")); + +var _FileExcelFilled = _interopRequireDefault(require("./FileExcelFilled")); + +var _FileExcelOutlined = _interopRequireDefault(require("./FileExcelOutlined")); + +var _FileExcelTwoTone = _interopRequireDefault(require("./FileExcelTwoTone")); + +var _FileExclamationFilled = _interopRequireDefault(require("./FileExclamationFilled")); + +var _FileExclamationOutlined = _interopRequireDefault(require("./FileExclamationOutlined")); + +var _FileExclamationTwoTone = _interopRequireDefault(require("./FileExclamationTwoTone")); + +var _FileFilled = _interopRequireDefault(require("./FileFilled")); + +var _FileGifOutlined = _interopRequireDefault(require("./FileGifOutlined")); + +var _FileImageFilled = _interopRequireDefault(require("./FileImageFilled")); + +var _FileImageOutlined = _interopRequireDefault(require("./FileImageOutlined")); + +var _FileImageTwoTone = _interopRequireDefault(require("./FileImageTwoTone")); + +var _FileJpgOutlined = _interopRequireDefault(require("./FileJpgOutlined")); + +var _FileMarkdownFilled = _interopRequireDefault(require("./FileMarkdownFilled")); + +var _FileMarkdownOutlined = _interopRequireDefault(require("./FileMarkdownOutlined")); + +var _FileMarkdownTwoTone = _interopRequireDefault(require("./FileMarkdownTwoTone")); + +var _FileOutlined = _interopRequireDefault(require("./FileOutlined")); + +var _FilePdfFilled = _interopRequireDefault(require("./FilePdfFilled")); + +var _FilePdfOutlined = _interopRequireDefault(require("./FilePdfOutlined")); + +var _FilePdfTwoTone = _interopRequireDefault(require("./FilePdfTwoTone")); + +var _FilePptFilled = _interopRequireDefault(require("./FilePptFilled")); + +var _FilePptOutlined = _interopRequireDefault(require("./FilePptOutlined")); + +var _FilePptTwoTone = _interopRequireDefault(require("./FilePptTwoTone")); + +var _FileProtectOutlined = _interopRequireDefault(require("./FileProtectOutlined")); + +var _FileSearchOutlined = _interopRequireDefault(require("./FileSearchOutlined")); + +var _FileSyncOutlined = _interopRequireDefault(require("./FileSyncOutlined")); + +var _FileTextFilled = _interopRequireDefault(require("./FileTextFilled")); + +var _FileTextOutlined = _interopRequireDefault(require("./FileTextOutlined")); + +var _FileTextTwoTone = _interopRequireDefault(require("./FileTextTwoTone")); + +var _FileTwoTone = _interopRequireDefault(require("./FileTwoTone")); + +var _FileUnknownFilled = _interopRequireDefault(require("./FileUnknownFilled")); + +var _FileUnknownOutlined = _interopRequireDefault(require("./FileUnknownOutlined")); + +var _FileUnknownTwoTone = _interopRequireDefault(require("./FileUnknownTwoTone")); + +var _FileWordFilled = _interopRequireDefault(require("./FileWordFilled")); + +var _FileWordOutlined = _interopRequireDefault(require("./FileWordOutlined")); + +var _FileWordTwoTone = _interopRequireDefault(require("./FileWordTwoTone")); + +var _FileZipFilled = _interopRequireDefault(require("./FileZipFilled")); + +var _FileZipOutlined = _interopRequireDefault(require("./FileZipOutlined")); + +var _FileZipTwoTone = _interopRequireDefault(require("./FileZipTwoTone")); + +var _FilterFilled = _interopRequireDefault(require("./FilterFilled")); + +var _FilterOutlined = _interopRequireDefault(require("./FilterOutlined")); + +var _FilterTwoTone = _interopRequireDefault(require("./FilterTwoTone")); + +var _FireFilled = _interopRequireDefault(require("./FireFilled")); + +var _FireOutlined = _interopRequireDefault(require("./FireOutlined")); + +var _FireTwoTone = _interopRequireDefault(require("./FireTwoTone")); + +var _FlagFilled = _interopRequireDefault(require("./FlagFilled")); + +var _FlagOutlined = _interopRequireDefault(require("./FlagOutlined")); + +var _FlagTwoTone = _interopRequireDefault(require("./FlagTwoTone")); + +var _FolderAddFilled = _interopRequireDefault(require("./FolderAddFilled")); + +var _FolderAddOutlined = _interopRequireDefault(require("./FolderAddOutlined")); + +var _FolderAddTwoTone = _interopRequireDefault(require("./FolderAddTwoTone")); + +var _FolderFilled = _interopRequireDefault(require("./FolderFilled")); + +var _FolderOpenFilled = _interopRequireDefault(require("./FolderOpenFilled")); + +var _FolderOpenOutlined = _interopRequireDefault(require("./FolderOpenOutlined")); + +var _FolderOpenTwoTone = _interopRequireDefault(require("./FolderOpenTwoTone")); + +var _FolderOutlined = _interopRequireDefault(require("./FolderOutlined")); + +var _FolderTwoTone = _interopRequireDefault(require("./FolderTwoTone")); + +var _FolderViewOutlined = _interopRequireDefault(require("./FolderViewOutlined")); + +var _FontColorsOutlined = _interopRequireDefault(require("./FontColorsOutlined")); + +var _FontSizeOutlined = _interopRequireDefault(require("./FontSizeOutlined")); + +var _ForkOutlined = _interopRequireDefault(require("./ForkOutlined")); + +var _FormOutlined = _interopRequireDefault(require("./FormOutlined")); + +var _FormatPainterFilled = _interopRequireDefault(require("./FormatPainterFilled")); + +var _FormatPainterOutlined = _interopRequireDefault(require("./FormatPainterOutlined")); + +var _ForwardFilled = _interopRequireDefault(require("./ForwardFilled")); + +var _ForwardOutlined = _interopRequireDefault(require("./ForwardOutlined")); + +var _FrownFilled = _interopRequireDefault(require("./FrownFilled")); + +var _FrownOutlined = _interopRequireDefault(require("./FrownOutlined")); + +var _FrownTwoTone = _interopRequireDefault(require("./FrownTwoTone")); + +var _FullscreenExitOutlined = _interopRequireDefault(require("./FullscreenExitOutlined")); + +var _FullscreenOutlined = _interopRequireDefault(require("./FullscreenOutlined")); + +var _FunctionOutlined = _interopRequireDefault(require("./FunctionOutlined")); + +var _FundFilled = _interopRequireDefault(require("./FundFilled")); + +var _FundOutlined = _interopRequireDefault(require("./FundOutlined")); + +var _FundProjectionScreenOutlined = _interopRequireDefault(require("./FundProjectionScreenOutlined")); + +var _FundTwoTone = _interopRequireDefault(require("./FundTwoTone")); + +var _FundViewOutlined = _interopRequireDefault(require("./FundViewOutlined")); + +var _FunnelPlotFilled = _interopRequireDefault(require("./FunnelPlotFilled")); + +var _FunnelPlotOutlined = _interopRequireDefault(require("./FunnelPlotOutlined")); + +var _FunnelPlotTwoTone = _interopRequireDefault(require("./FunnelPlotTwoTone")); + +var _GatewayOutlined = _interopRequireDefault(require("./GatewayOutlined")); + +var _GifOutlined = _interopRequireDefault(require("./GifOutlined")); + +var _GiftFilled = _interopRequireDefault(require("./GiftFilled")); + +var _GiftOutlined = _interopRequireDefault(require("./GiftOutlined")); + +var _GiftTwoTone = _interopRequireDefault(require("./GiftTwoTone")); + +var _GithubFilled = _interopRequireDefault(require("./GithubFilled")); + +var _GithubOutlined = _interopRequireDefault(require("./GithubOutlined")); + +var _GitlabFilled = _interopRequireDefault(require("./GitlabFilled")); + +var _GitlabOutlined = _interopRequireDefault(require("./GitlabOutlined")); + +var _GlobalOutlined = _interopRequireDefault(require("./GlobalOutlined")); + +var _GoldFilled = _interopRequireDefault(require("./GoldFilled")); + +var _GoldOutlined = _interopRequireDefault(require("./GoldOutlined")); + +var _GoldTwoTone = _interopRequireDefault(require("./GoldTwoTone")); + +var _GoldenFilled = _interopRequireDefault(require("./GoldenFilled")); + +var _GoogleCircleFilled = _interopRequireDefault(require("./GoogleCircleFilled")); + +var _GoogleOutlined = _interopRequireDefault(require("./GoogleOutlined")); + +var _GooglePlusCircleFilled = _interopRequireDefault(require("./GooglePlusCircleFilled")); + +var _GooglePlusOutlined = _interopRequireDefault(require("./GooglePlusOutlined")); + +var _GooglePlusSquareFilled = _interopRequireDefault(require("./GooglePlusSquareFilled")); + +var _GoogleSquareFilled = _interopRequireDefault(require("./GoogleSquareFilled")); + +var _GroupOutlined = _interopRequireDefault(require("./GroupOutlined")); + +var _HddFilled = _interopRequireDefault(require("./HddFilled")); + +var _HddOutlined = _interopRequireDefault(require("./HddOutlined")); + +var _HddTwoTone = _interopRequireDefault(require("./HddTwoTone")); + +var _HeartFilled = _interopRequireDefault(require("./HeartFilled")); + +var _HeartOutlined = _interopRequireDefault(require("./HeartOutlined")); + +var _HeartTwoTone = _interopRequireDefault(require("./HeartTwoTone")); + +var _HeatMapOutlined = _interopRequireDefault(require("./HeatMapOutlined")); + +var _HighlightFilled = _interopRequireDefault(require("./HighlightFilled")); + +var _HighlightOutlined = _interopRequireDefault(require("./HighlightOutlined")); + +var _HighlightTwoTone = _interopRequireDefault(require("./HighlightTwoTone")); + +var _HistoryOutlined = _interopRequireDefault(require("./HistoryOutlined")); + +var _HolderOutlined = _interopRequireDefault(require("./HolderOutlined")); + +var _HomeFilled = _interopRequireDefault(require("./HomeFilled")); + +var _HomeOutlined = _interopRequireDefault(require("./HomeOutlined")); + +var _HomeTwoTone = _interopRequireDefault(require("./HomeTwoTone")); + +var _HourglassFilled = _interopRequireDefault(require("./HourglassFilled")); + +var _HourglassOutlined = _interopRequireDefault(require("./HourglassOutlined")); + +var _HourglassTwoTone = _interopRequireDefault(require("./HourglassTwoTone")); + +var _Html5Filled = _interopRequireDefault(require("./Html5Filled")); + +var _Html5Outlined = _interopRequireDefault(require("./Html5Outlined")); + +var _Html5TwoTone = _interopRequireDefault(require("./Html5TwoTone")); + +var _IdcardFilled = _interopRequireDefault(require("./IdcardFilled")); + +var _IdcardOutlined = _interopRequireDefault(require("./IdcardOutlined")); + +var _IdcardTwoTone = _interopRequireDefault(require("./IdcardTwoTone")); + +var _IeCircleFilled = _interopRequireDefault(require("./IeCircleFilled")); + +var _IeOutlined = _interopRequireDefault(require("./IeOutlined")); + +var _IeSquareFilled = _interopRequireDefault(require("./IeSquareFilled")); + +var _ImportOutlined = _interopRequireDefault(require("./ImportOutlined")); + +var _InboxOutlined = _interopRequireDefault(require("./InboxOutlined")); + +var _InfoCircleFilled = _interopRequireDefault(require("./InfoCircleFilled")); + +var _InfoCircleOutlined = _interopRequireDefault(require("./InfoCircleOutlined")); + +var _InfoCircleTwoTone = _interopRequireDefault(require("./InfoCircleTwoTone")); + +var _InfoOutlined = _interopRequireDefault(require("./InfoOutlined")); + +var _InsertRowAboveOutlined = _interopRequireDefault(require("./InsertRowAboveOutlined")); + +var _InsertRowBelowOutlined = _interopRequireDefault(require("./InsertRowBelowOutlined")); + +var _InsertRowLeftOutlined = _interopRequireDefault(require("./InsertRowLeftOutlined")); + +var _InsertRowRightOutlined = _interopRequireDefault(require("./InsertRowRightOutlined")); + +var _InstagramFilled = _interopRequireDefault(require("./InstagramFilled")); + +var _InstagramOutlined = _interopRequireDefault(require("./InstagramOutlined")); + +var _InsuranceFilled = _interopRequireDefault(require("./InsuranceFilled")); + +var _InsuranceOutlined = _interopRequireDefault(require("./InsuranceOutlined")); + +var _InsuranceTwoTone = _interopRequireDefault(require("./InsuranceTwoTone")); + +var _InteractionFilled = _interopRequireDefault(require("./InteractionFilled")); + +var _InteractionOutlined = _interopRequireDefault(require("./InteractionOutlined")); + +var _InteractionTwoTone = _interopRequireDefault(require("./InteractionTwoTone")); + +var _IssuesCloseOutlined = _interopRequireDefault(require("./IssuesCloseOutlined")); + +var _ItalicOutlined = _interopRequireDefault(require("./ItalicOutlined")); + +var _KeyOutlined = _interopRequireDefault(require("./KeyOutlined")); + +var _LaptopOutlined = _interopRequireDefault(require("./LaptopOutlined")); + +var _LayoutFilled = _interopRequireDefault(require("./LayoutFilled")); + +var _LayoutOutlined = _interopRequireDefault(require("./LayoutOutlined")); + +var _LayoutTwoTone = _interopRequireDefault(require("./LayoutTwoTone")); + +var _LeftCircleFilled = _interopRequireDefault(require("./LeftCircleFilled")); + +var _LeftCircleOutlined = _interopRequireDefault(require("./LeftCircleOutlined")); + +var _LeftCircleTwoTone = _interopRequireDefault(require("./LeftCircleTwoTone")); + +var _LeftOutlined = _interopRequireDefault(require("./LeftOutlined")); + +var _LeftSquareFilled = _interopRequireDefault(require("./LeftSquareFilled")); + +var _LeftSquareOutlined = _interopRequireDefault(require("./LeftSquareOutlined")); + +var _LeftSquareTwoTone = _interopRequireDefault(require("./LeftSquareTwoTone")); + +var _LikeFilled = _interopRequireDefault(require("./LikeFilled")); + +var _LikeOutlined = _interopRequireDefault(require("./LikeOutlined")); + +var _LikeTwoTone = _interopRequireDefault(require("./LikeTwoTone")); + +var _LineChartOutlined = _interopRequireDefault(require("./LineChartOutlined")); + +var _LineHeightOutlined = _interopRequireDefault(require("./LineHeightOutlined")); + +var _LineOutlined = _interopRequireDefault(require("./LineOutlined")); + +var _LinkOutlined = _interopRequireDefault(require("./LinkOutlined")); + +var _LinkedinFilled = _interopRequireDefault(require("./LinkedinFilled")); + +var _LinkedinOutlined = _interopRequireDefault(require("./LinkedinOutlined")); + +var _Loading3QuartersOutlined = _interopRequireDefault(require("./Loading3QuartersOutlined")); + +var _LoadingOutlined = _interopRequireDefault(require("./LoadingOutlined")); + +var _LockFilled = _interopRequireDefault(require("./LockFilled")); + +var _LockOutlined = _interopRequireDefault(require("./LockOutlined")); + +var _LockTwoTone = _interopRequireDefault(require("./LockTwoTone")); + +var _LoginOutlined = _interopRequireDefault(require("./LoginOutlined")); + +var _LogoutOutlined = _interopRequireDefault(require("./LogoutOutlined")); + +var _MacCommandFilled = _interopRequireDefault(require("./MacCommandFilled")); + +var _MacCommandOutlined = _interopRequireDefault(require("./MacCommandOutlined")); + +var _MailFilled = _interopRequireDefault(require("./MailFilled")); + +var _MailOutlined = _interopRequireDefault(require("./MailOutlined")); + +var _MailTwoTone = _interopRequireDefault(require("./MailTwoTone")); + +var _ManOutlined = _interopRequireDefault(require("./ManOutlined")); + +var _MedicineBoxFilled = _interopRequireDefault(require("./MedicineBoxFilled")); + +var _MedicineBoxOutlined = _interopRequireDefault(require("./MedicineBoxOutlined")); + +var _MedicineBoxTwoTone = _interopRequireDefault(require("./MedicineBoxTwoTone")); + +var _MediumCircleFilled = _interopRequireDefault(require("./MediumCircleFilled")); + +var _MediumOutlined = _interopRequireDefault(require("./MediumOutlined")); + +var _MediumSquareFilled = _interopRequireDefault(require("./MediumSquareFilled")); + +var _MediumWorkmarkOutlined = _interopRequireDefault(require("./MediumWorkmarkOutlined")); + +var _MehFilled = _interopRequireDefault(require("./MehFilled")); + +var _MehOutlined = _interopRequireDefault(require("./MehOutlined")); + +var _MehTwoTone = _interopRequireDefault(require("./MehTwoTone")); + +var _MenuFoldOutlined = _interopRequireDefault(require("./MenuFoldOutlined")); + +var _MenuOutlined = _interopRequireDefault(require("./MenuOutlined")); + +var _MenuUnfoldOutlined = _interopRequireDefault(require("./MenuUnfoldOutlined")); + +var _MergeCellsOutlined = _interopRequireDefault(require("./MergeCellsOutlined")); + +var _MessageFilled = _interopRequireDefault(require("./MessageFilled")); + +var _MessageOutlined = _interopRequireDefault(require("./MessageOutlined")); + +var _MessageTwoTone = _interopRequireDefault(require("./MessageTwoTone")); + +var _MinusCircleFilled = _interopRequireDefault(require("./MinusCircleFilled")); + +var _MinusCircleOutlined = _interopRequireDefault(require("./MinusCircleOutlined")); + +var _MinusCircleTwoTone = _interopRequireDefault(require("./MinusCircleTwoTone")); + +var _MinusOutlined = _interopRequireDefault(require("./MinusOutlined")); + +var _MinusSquareFilled = _interopRequireDefault(require("./MinusSquareFilled")); + +var _MinusSquareOutlined = _interopRequireDefault(require("./MinusSquareOutlined")); + +var _MinusSquareTwoTone = _interopRequireDefault(require("./MinusSquareTwoTone")); + +var _MobileFilled = _interopRequireDefault(require("./MobileFilled")); + +var _MobileOutlined = _interopRequireDefault(require("./MobileOutlined")); + +var _MobileTwoTone = _interopRequireDefault(require("./MobileTwoTone")); + +var _MoneyCollectFilled = _interopRequireDefault(require("./MoneyCollectFilled")); + +var _MoneyCollectOutlined = _interopRequireDefault(require("./MoneyCollectOutlined")); + +var _MoneyCollectTwoTone = _interopRequireDefault(require("./MoneyCollectTwoTone")); + +var _MonitorOutlined = _interopRequireDefault(require("./MonitorOutlined")); + +var _MoreOutlined = _interopRequireDefault(require("./MoreOutlined")); + +var _NodeCollapseOutlined = _interopRequireDefault(require("./NodeCollapseOutlined")); + +var _NodeExpandOutlined = _interopRequireDefault(require("./NodeExpandOutlined")); + +var _NodeIndexOutlined = _interopRequireDefault(require("./NodeIndexOutlined")); + +var _NotificationFilled = _interopRequireDefault(require("./NotificationFilled")); + +var _NotificationOutlined = _interopRequireDefault(require("./NotificationOutlined")); + +var _NotificationTwoTone = _interopRequireDefault(require("./NotificationTwoTone")); + +var _NumberOutlined = _interopRequireDefault(require("./NumberOutlined")); + +var _OneToOneOutlined = _interopRequireDefault(require("./OneToOneOutlined")); + +var _OrderedListOutlined = _interopRequireDefault(require("./OrderedListOutlined")); + +var _PaperClipOutlined = _interopRequireDefault(require("./PaperClipOutlined")); + +var _PartitionOutlined = _interopRequireDefault(require("./PartitionOutlined")); + +var _PauseCircleFilled = _interopRequireDefault(require("./PauseCircleFilled")); + +var _PauseCircleOutlined = _interopRequireDefault(require("./PauseCircleOutlined")); + +var _PauseCircleTwoTone = _interopRequireDefault(require("./PauseCircleTwoTone")); + +var _PauseOutlined = _interopRequireDefault(require("./PauseOutlined")); + +var _PayCircleFilled = _interopRequireDefault(require("./PayCircleFilled")); + +var _PayCircleOutlined = _interopRequireDefault(require("./PayCircleOutlined")); + +var _PercentageOutlined = _interopRequireDefault(require("./PercentageOutlined")); + +var _PhoneFilled = _interopRequireDefault(require("./PhoneFilled")); + +var _PhoneOutlined = _interopRequireDefault(require("./PhoneOutlined")); + +var _PhoneTwoTone = _interopRequireDefault(require("./PhoneTwoTone")); + +var _PicCenterOutlined = _interopRequireDefault(require("./PicCenterOutlined")); + +var _PicLeftOutlined = _interopRequireDefault(require("./PicLeftOutlined")); + +var _PicRightOutlined = _interopRequireDefault(require("./PicRightOutlined")); + +var _PictureFilled = _interopRequireDefault(require("./PictureFilled")); + +var _PictureOutlined = _interopRequireDefault(require("./PictureOutlined")); + +var _PictureTwoTone = _interopRequireDefault(require("./PictureTwoTone")); + +var _PieChartFilled = _interopRequireDefault(require("./PieChartFilled")); + +var _PieChartOutlined = _interopRequireDefault(require("./PieChartOutlined")); + +var _PieChartTwoTone = _interopRequireDefault(require("./PieChartTwoTone")); + +var _PlayCircleFilled = _interopRequireDefault(require("./PlayCircleFilled")); + +var _PlayCircleOutlined = _interopRequireDefault(require("./PlayCircleOutlined")); + +var _PlayCircleTwoTone = _interopRequireDefault(require("./PlayCircleTwoTone")); + +var _PlaySquareFilled = _interopRequireDefault(require("./PlaySquareFilled")); + +var _PlaySquareOutlined = _interopRequireDefault(require("./PlaySquareOutlined")); + +var _PlaySquareTwoTone = _interopRequireDefault(require("./PlaySquareTwoTone")); + +var _PlusCircleFilled = _interopRequireDefault(require("./PlusCircleFilled")); + +var _PlusCircleOutlined = _interopRequireDefault(require("./PlusCircleOutlined")); + +var _PlusCircleTwoTone = _interopRequireDefault(require("./PlusCircleTwoTone")); + +var _PlusOutlined = _interopRequireDefault(require("./PlusOutlined")); + +var _PlusSquareFilled = _interopRequireDefault(require("./PlusSquareFilled")); + +var _PlusSquareOutlined = _interopRequireDefault(require("./PlusSquareOutlined")); + +var _PlusSquareTwoTone = _interopRequireDefault(require("./PlusSquareTwoTone")); + +var _PoundCircleFilled = _interopRequireDefault(require("./PoundCircleFilled")); + +var _PoundCircleOutlined = _interopRequireDefault(require("./PoundCircleOutlined")); + +var _PoundCircleTwoTone = _interopRequireDefault(require("./PoundCircleTwoTone")); + +var _PoundOutlined = _interopRequireDefault(require("./PoundOutlined")); + +var _PoweroffOutlined = _interopRequireDefault(require("./PoweroffOutlined")); + +var _PrinterFilled = _interopRequireDefault(require("./PrinterFilled")); + +var _PrinterOutlined = _interopRequireDefault(require("./PrinterOutlined")); + +var _PrinterTwoTone = _interopRequireDefault(require("./PrinterTwoTone")); + +var _ProfileFilled = _interopRequireDefault(require("./ProfileFilled")); + +var _ProfileOutlined = _interopRequireDefault(require("./ProfileOutlined")); + +var _ProfileTwoTone = _interopRequireDefault(require("./ProfileTwoTone")); + +var _ProjectFilled = _interopRequireDefault(require("./ProjectFilled")); + +var _ProjectOutlined = _interopRequireDefault(require("./ProjectOutlined")); + +var _ProjectTwoTone = _interopRequireDefault(require("./ProjectTwoTone")); + +var _PropertySafetyFilled = _interopRequireDefault(require("./PropertySafetyFilled")); + +var _PropertySafetyOutlined = _interopRequireDefault(require("./PropertySafetyOutlined")); + +var _PropertySafetyTwoTone = _interopRequireDefault(require("./PropertySafetyTwoTone")); + +var _PullRequestOutlined = _interopRequireDefault(require("./PullRequestOutlined")); + +var _PushpinFilled = _interopRequireDefault(require("./PushpinFilled")); + +var _PushpinOutlined = _interopRequireDefault(require("./PushpinOutlined")); + +var _PushpinTwoTone = _interopRequireDefault(require("./PushpinTwoTone")); + +var _QqCircleFilled = _interopRequireDefault(require("./QqCircleFilled")); + +var _QqOutlined = _interopRequireDefault(require("./QqOutlined")); + +var _QqSquareFilled = _interopRequireDefault(require("./QqSquareFilled")); + +var _QrcodeOutlined = _interopRequireDefault(require("./QrcodeOutlined")); + +var _QuestionCircleFilled = _interopRequireDefault(require("./QuestionCircleFilled")); + +var _QuestionCircleOutlined = _interopRequireDefault(require("./QuestionCircleOutlined")); + +var _QuestionCircleTwoTone = _interopRequireDefault(require("./QuestionCircleTwoTone")); + +var _QuestionOutlined = _interopRequireDefault(require("./QuestionOutlined")); + +var _RadarChartOutlined = _interopRequireDefault(require("./RadarChartOutlined")); + +var _RadiusBottomleftOutlined = _interopRequireDefault(require("./RadiusBottomleftOutlined")); + +var _RadiusBottomrightOutlined = _interopRequireDefault(require("./RadiusBottomrightOutlined")); + +var _RadiusSettingOutlined = _interopRequireDefault(require("./RadiusSettingOutlined")); + +var _RadiusUpleftOutlined = _interopRequireDefault(require("./RadiusUpleftOutlined")); + +var _RadiusUprightOutlined = _interopRequireDefault(require("./RadiusUprightOutlined")); + +var _ReadFilled = _interopRequireDefault(require("./ReadFilled")); + +var _ReadOutlined = _interopRequireDefault(require("./ReadOutlined")); + +var _ReconciliationFilled = _interopRequireDefault(require("./ReconciliationFilled")); + +var _ReconciliationOutlined = _interopRequireDefault(require("./ReconciliationOutlined")); + +var _ReconciliationTwoTone = _interopRequireDefault(require("./ReconciliationTwoTone")); + +var _RedEnvelopeFilled = _interopRequireDefault(require("./RedEnvelopeFilled")); + +var _RedEnvelopeOutlined = _interopRequireDefault(require("./RedEnvelopeOutlined")); + +var _RedEnvelopeTwoTone = _interopRequireDefault(require("./RedEnvelopeTwoTone")); + +var _RedditCircleFilled = _interopRequireDefault(require("./RedditCircleFilled")); + +var _RedditOutlined = _interopRequireDefault(require("./RedditOutlined")); + +var _RedditSquareFilled = _interopRequireDefault(require("./RedditSquareFilled")); + +var _RedoOutlined = _interopRequireDefault(require("./RedoOutlined")); + +var _ReloadOutlined = _interopRequireDefault(require("./ReloadOutlined")); + +var _RestFilled = _interopRequireDefault(require("./RestFilled")); + +var _RestOutlined = _interopRequireDefault(require("./RestOutlined")); + +var _RestTwoTone = _interopRequireDefault(require("./RestTwoTone")); + +var _RetweetOutlined = _interopRequireDefault(require("./RetweetOutlined")); + +var _RightCircleFilled = _interopRequireDefault(require("./RightCircleFilled")); + +var _RightCircleOutlined = _interopRequireDefault(require("./RightCircleOutlined")); + +var _RightCircleTwoTone = _interopRequireDefault(require("./RightCircleTwoTone")); + +var _RightOutlined = _interopRequireDefault(require("./RightOutlined")); + +var _RightSquareFilled = _interopRequireDefault(require("./RightSquareFilled")); + +var _RightSquareOutlined = _interopRequireDefault(require("./RightSquareOutlined")); + +var _RightSquareTwoTone = _interopRequireDefault(require("./RightSquareTwoTone")); + +var _RiseOutlined = _interopRequireDefault(require("./RiseOutlined")); + +var _RobotFilled = _interopRequireDefault(require("./RobotFilled")); + +var _RobotOutlined = _interopRequireDefault(require("./RobotOutlined")); + +var _RocketFilled = _interopRequireDefault(require("./RocketFilled")); + +var _RocketOutlined = _interopRequireDefault(require("./RocketOutlined")); + +var _RocketTwoTone = _interopRequireDefault(require("./RocketTwoTone")); + +var _RollbackOutlined = _interopRequireDefault(require("./RollbackOutlined")); + +var _RotateLeftOutlined = _interopRequireDefault(require("./RotateLeftOutlined")); + +var _RotateRightOutlined = _interopRequireDefault(require("./RotateRightOutlined")); + +var _SafetyCertificateFilled = _interopRequireDefault(require("./SafetyCertificateFilled")); + +var _SafetyCertificateOutlined = _interopRequireDefault(require("./SafetyCertificateOutlined")); + +var _SafetyCertificateTwoTone = _interopRequireDefault(require("./SafetyCertificateTwoTone")); + +var _SafetyOutlined = _interopRequireDefault(require("./SafetyOutlined")); + +var _SaveFilled = _interopRequireDefault(require("./SaveFilled")); + +var _SaveOutlined = _interopRequireDefault(require("./SaveOutlined")); + +var _SaveTwoTone = _interopRequireDefault(require("./SaveTwoTone")); + +var _ScanOutlined = _interopRequireDefault(require("./ScanOutlined")); + +var _ScheduleFilled = _interopRequireDefault(require("./ScheduleFilled")); + +var _ScheduleOutlined = _interopRequireDefault(require("./ScheduleOutlined")); + +var _ScheduleTwoTone = _interopRequireDefault(require("./ScheduleTwoTone")); + +var _ScissorOutlined = _interopRequireDefault(require("./ScissorOutlined")); + +var _SearchOutlined = _interopRequireDefault(require("./SearchOutlined")); + +var _SecurityScanFilled = _interopRequireDefault(require("./SecurityScanFilled")); + +var _SecurityScanOutlined = _interopRequireDefault(require("./SecurityScanOutlined")); + +var _SecurityScanTwoTone = _interopRequireDefault(require("./SecurityScanTwoTone")); + +var _SelectOutlined = _interopRequireDefault(require("./SelectOutlined")); + +var _SendOutlined = _interopRequireDefault(require("./SendOutlined")); + +var _SettingFilled = _interopRequireDefault(require("./SettingFilled")); + +var _SettingOutlined = _interopRequireDefault(require("./SettingOutlined")); + +var _SettingTwoTone = _interopRequireDefault(require("./SettingTwoTone")); + +var _ShakeOutlined = _interopRequireDefault(require("./ShakeOutlined")); + +var _ShareAltOutlined = _interopRequireDefault(require("./ShareAltOutlined")); + +var _ShopFilled = _interopRequireDefault(require("./ShopFilled")); + +var _ShopOutlined = _interopRequireDefault(require("./ShopOutlined")); + +var _ShopTwoTone = _interopRequireDefault(require("./ShopTwoTone")); + +var _ShoppingCartOutlined = _interopRequireDefault(require("./ShoppingCartOutlined")); + +var _ShoppingFilled = _interopRequireDefault(require("./ShoppingFilled")); + +var _ShoppingOutlined = _interopRequireDefault(require("./ShoppingOutlined")); + +var _ShoppingTwoTone = _interopRequireDefault(require("./ShoppingTwoTone")); + +var _ShrinkOutlined = _interopRequireDefault(require("./ShrinkOutlined")); + +var _SignalFilled = _interopRequireDefault(require("./SignalFilled")); + +var _SisternodeOutlined = _interopRequireDefault(require("./SisternodeOutlined")); + +var _SketchCircleFilled = _interopRequireDefault(require("./SketchCircleFilled")); + +var _SketchOutlined = _interopRequireDefault(require("./SketchOutlined")); + +var _SketchSquareFilled = _interopRequireDefault(require("./SketchSquareFilled")); + +var _SkinFilled = _interopRequireDefault(require("./SkinFilled")); + +var _SkinOutlined = _interopRequireDefault(require("./SkinOutlined")); + +var _SkinTwoTone = _interopRequireDefault(require("./SkinTwoTone")); + +var _SkypeFilled = _interopRequireDefault(require("./SkypeFilled")); + +var _SkypeOutlined = _interopRequireDefault(require("./SkypeOutlined")); + +var _SlackCircleFilled = _interopRequireDefault(require("./SlackCircleFilled")); + +var _SlackOutlined = _interopRequireDefault(require("./SlackOutlined")); + +var _SlackSquareFilled = _interopRequireDefault(require("./SlackSquareFilled")); + +var _SlackSquareOutlined = _interopRequireDefault(require("./SlackSquareOutlined")); + +var _SlidersFilled = _interopRequireDefault(require("./SlidersFilled")); + +var _SlidersOutlined = _interopRequireDefault(require("./SlidersOutlined")); + +var _SlidersTwoTone = _interopRequireDefault(require("./SlidersTwoTone")); + +var _SmallDashOutlined = _interopRequireDefault(require("./SmallDashOutlined")); + +var _SmileFilled = _interopRequireDefault(require("./SmileFilled")); + +var _SmileOutlined = _interopRequireDefault(require("./SmileOutlined")); + +var _SmileTwoTone = _interopRequireDefault(require("./SmileTwoTone")); + +var _SnippetsFilled = _interopRequireDefault(require("./SnippetsFilled")); + +var _SnippetsOutlined = _interopRequireDefault(require("./SnippetsOutlined")); + +var _SnippetsTwoTone = _interopRequireDefault(require("./SnippetsTwoTone")); + +var _SolutionOutlined = _interopRequireDefault(require("./SolutionOutlined")); + +var _SortAscendingOutlined = _interopRequireDefault(require("./SortAscendingOutlined")); + +var _SortDescendingOutlined = _interopRequireDefault(require("./SortDescendingOutlined")); + +var _SoundFilled = _interopRequireDefault(require("./SoundFilled")); + +var _SoundOutlined = _interopRequireDefault(require("./SoundOutlined")); + +var _SoundTwoTone = _interopRequireDefault(require("./SoundTwoTone")); + +var _SplitCellsOutlined = _interopRequireDefault(require("./SplitCellsOutlined")); + +var _StarFilled = _interopRequireDefault(require("./StarFilled")); + +var _StarOutlined = _interopRequireDefault(require("./StarOutlined")); + +var _StarTwoTone = _interopRequireDefault(require("./StarTwoTone")); + +var _StepBackwardFilled = _interopRequireDefault(require("./StepBackwardFilled")); + +var _StepBackwardOutlined = _interopRequireDefault(require("./StepBackwardOutlined")); + +var _StepForwardFilled = _interopRequireDefault(require("./StepForwardFilled")); + +var _StepForwardOutlined = _interopRequireDefault(require("./StepForwardOutlined")); + +var _StockOutlined = _interopRequireDefault(require("./StockOutlined")); + +var _StopFilled = _interopRequireDefault(require("./StopFilled")); + +var _StopOutlined = _interopRequireDefault(require("./StopOutlined")); + +var _StopTwoTone = _interopRequireDefault(require("./StopTwoTone")); + +var _StrikethroughOutlined = _interopRequireDefault(require("./StrikethroughOutlined")); + +var _SubnodeOutlined = _interopRequireDefault(require("./SubnodeOutlined")); + +var _SwapLeftOutlined = _interopRequireDefault(require("./SwapLeftOutlined")); + +var _SwapOutlined = _interopRequireDefault(require("./SwapOutlined")); + +var _SwapRightOutlined = _interopRequireDefault(require("./SwapRightOutlined")); + +var _SwitcherFilled = _interopRequireDefault(require("./SwitcherFilled")); + +var _SwitcherOutlined = _interopRequireDefault(require("./SwitcherOutlined")); + +var _SwitcherTwoTone = _interopRequireDefault(require("./SwitcherTwoTone")); + +var _SyncOutlined = _interopRequireDefault(require("./SyncOutlined")); + +var _TableOutlined = _interopRequireDefault(require("./TableOutlined")); + +var _TabletFilled = _interopRequireDefault(require("./TabletFilled")); + +var _TabletOutlined = _interopRequireDefault(require("./TabletOutlined")); + +var _TabletTwoTone = _interopRequireDefault(require("./TabletTwoTone")); + +var _TagFilled = _interopRequireDefault(require("./TagFilled")); + +var _TagOutlined = _interopRequireDefault(require("./TagOutlined")); + +var _TagTwoTone = _interopRequireDefault(require("./TagTwoTone")); + +var _TagsFilled = _interopRequireDefault(require("./TagsFilled")); + +var _TagsOutlined = _interopRequireDefault(require("./TagsOutlined")); + +var _TagsTwoTone = _interopRequireDefault(require("./TagsTwoTone")); + +var _TaobaoCircleFilled = _interopRequireDefault(require("./TaobaoCircleFilled")); + +var _TaobaoCircleOutlined = _interopRequireDefault(require("./TaobaoCircleOutlined")); + +var _TaobaoOutlined = _interopRequireDefault(require("./TaobaoOutlined")); + +var _TaobaoSquareFilled = _interopRequireDefault(require("./TaobaoSquareFilled")); + +var _TeamOutlined = _interopRequireDefault(require("./TeamOutlined")); + +var _ThunderboltFilled = _interopRequireDefault(require("./ThunderboltFilled")); + +var _ThunderboltOutlined = _interopRequireDefault(require("./ThunderboltOutlined")); + +var _ThunderboltTwoTone = _interopRequireDefault(require("./ThunderboltTwoTone")); + +var _ToTopOutlined = _interopRequireDefault(require("./ToTopOutlined")); + +var _ToolFilled = _interopRequireDefault(require("./ToolFilled")); + +var _ToolOutlined = _interopRequireDefault(require("./ToolOutlined")); + +var _ToolTwoTone = _interopRequireDefault(require("./ToolTwoTone")); + +var _TrademarkCircleFilled = _interopRequireDefault(require("./TrademarkCircleFilled")); + +var _TrademarkCircleOutlined = _interopRequireDefault(require("./TrademarkCircleOutlined")); + +var _TrademarkCircleTwoTone = _interopRequireDefault(require("./TrademarkCircleTwoTone")); + +var _TrademarkOutlined = _interopRequireDefault(require("./TrademarkOutlined")); + +var _TransactionOutlined = _interopRequireDefault(require("./TransactionOutlined")); + +var _TranslationOutlined = _interopRequireDefault(require("./TranslationOutlined")); + +var _TrophyFilled = _interopRequireDefault(require("./TrophyFilled")); + +var _TrophyOutlined = _interopRequireDefault(require("./TrophyOutlined")); + +var _TrophyTwoTone = _interopRequireDefault(require("./TrophyTwoTone")); + +var _TwitterCircleFilled = _interopRequireDefault(require("./TwitterCircleFilled")); + +var _TwitterOutlined = _interopRequireDefault(require("./TwitterOutlined")); + +var _TwitterSquareFilled = _interopRequireDefault(require("./TwitterSquareFilled")); + +var _UnderlineOutlined = _interopRequireDefault(require("./UnderlineOutlined")); + +var _UndoOutlined = _interopRequireDefault(require("./UndoOutlined")); + +var _UngroupOutlined = _interopRequireDefault(require("./UngroupOutlined")); + +var _UnlockFilled = _interopRequireDefault(require("./UnlockFilled")); + +var _UnlockOutlined = _interopRequireDefault(require("./UnlockOutlined")); + +var _UnlockTwoTone = _interopRequireDefault(require("./UnlockTwoTone")); + +var _UnorderedListOutlined = _interopRequireDefault(require("./UnorderedListOutlined")); + +var _UpCircleFilled = _interopRequireDefault(require("./UpCircleFilled")); + +var _UpCircleOutlined = _interopRequireDefault(require("./UpCircleOutlined")); + +var _UpCircleTwoTone = _interopRequireDefault(require("./UpCircleTwoTone")); + +var _UpOutlined = _interopRequireDefault(require("./UpOutlined")); + +var _UpSquareFilled = _interopRequireDefault(require("./UpSquareFilled")); + +var _UpSquareOutlined = _interopRequireDefault(require("./UpSquareOutlined")); + +var _UpSquareTwoTone = _interopRequireDefault(require("./UpSquareTwoTone")); + +var _UploadOutlined = _interopRequireDefault(require("./UploadOutlined")); + +var _UsbFilled = _interopRequireDefault(require("./UsbFilled")); + +var _UsbOutlined = _interopRequireDefault(require("./UsbOutlined")); + +var _UsbTwoTone = _interopRequireDefault(require("./UsbTwoTone")); + +var _UserAddOutlined = _interopRequireDefault(require("./UserAddOutlined")); + +var _UserDeleteOutlined = _interopRequireDefault(require("./UserDeleteOutlined")); + +var _UserOutlined = _interopRequireDefault(require("./UserOutlined")); + +var _UserSwitchOutlined = _interopRequireDefault(require("./UserSwitchOutlined")); + +var _UsergroupAddOutlined = _interopRequireDefault(require("./UsergroupAddOutlined")); + +var _UsergroupDeleteOutlined = _interopRequireDefault(require("./UsergroupDeleteOutlined")); + +var _VerifiedOutlined = _interopRequireDefault(require("./VerifiedOutlined")); + +var _VerticalAlignBottomOutlined = _interopRequireDefault(require("./VerticalAlignBottomOutlined")); + +var _VerticalAlignMiddleOutlined = _interopRequireDefault(require("./VerticalAlignMiddleOutlined")); + +var _VerticalAlignTopOutlined = _interopRequireDefault(require("./VerticalAlignTopOutlined")); + +var _VerticalLeftOutlined = _interopRequireDefault(require("./VerticalLeftOutlined")); + +var _VerticalRightOutlined = _interopRequireDefault(require("./VerticalRightOutlined")); + +var _VideoCameraAddOutlined = _interopRequireDefault(require("./VideoCameraAddOutlined")); + +var _VideoCameraFilled = _interopRequireDefault(require("./VideoCameraFilled")); + +var _VideoCameraOutlined = _interopRequireDefault(require("./VideoCameraOutlined")); + +var _VideoCameraTwoTone = _interopRequireDefault(require("./VideoCameraTwoTone")); + +var _WalletFilled = _interopRequireDefault(require("./WalletFilled")); + +var _WalletOutlined = _interopRequireDefault(require("./WalletOutlined")); + +var _WalletTwoTone = _interopRequireDefault(require("./WalletTwoTone")); + +var _WarningFilled = _interopRequireDefault(require("./WarningFilled")); + +var _WarningOutlined = _interopRequireDefault(require("./WarningOutlined")); + +var _WarningTwoTone = _interopRequireDefault(require("./WarningTwoTone")); + +var _WechatFilled = _interopRequireDefault(require("./WechatFilled")); + +var _WechatOutlined = _interopRequireDefault(require("./WechatOutlined")); + +var _WeiboCircleFilled = _interopRequireDefault(require("./WeiboCircleFilled")); + +var _WeiboCircleOutlined = _interopRequireDefault(require("./WeiboCircleOutlined")); + +var _WeiboOutlined = _interopRequireDefault(require("./WeiboOutlined")); + +var _WeiboSquareFilled = _interopRequireDefault(require("./WeiboSquareFilled")); + +var _WeiboSquareOutlined = _interopRequireDefault(require("./WeiboSquareOutlined")); + +var _WhatsAppOutlined = _interopRequireDefault(require("./WhatsAppOutlined")); + +var _WifiOutlined = _interopRequireDefault(require("./WifiOutlined")); + +var _WindowsFilled = _interopRequireDefault(require("./WindowsFilled")); + +var _WindowsOutlined = _interopRequireDefault(require("./WindowsOutlined")); + +var _WomanOutlined = _interopRequireDefault(require("./WomanOutlined")); + +var _YahooFilled = _interopRequireDefault(require("./YahooFilled")); + +var _YahooOutlined = _interopRequireDefault(require("./YahooOutlined")); + +var _YoutubeFilled = _interopRequireDefault(require("./YoutubeFilled")); + +var _YoutubeOutlined = _interopRequireDefault(require("./YoutubeOutlined")); + +var _YuqueFilled = _interopRequireDefault(require("./YuqueFilled")); + +var _YuqueOutlined = _interopRequireDefault(require("./YuqueOutlined")); + +var _ZhihuCircleFilled = _interopRequireDefault(require("./ZhihuCircleFilled")); + +var _ZhihuOutlined = _interopRequireDefault(require("./ZhihuOutlined")); + +var _ZhihuSquareFilled = _interopRequireDefault(require("./ZhihuSquareFilled")); + +var _ZoomInOutlined = _interopRequireDefault(require("./ZoomInOutlined")); + +var _ZoomOutOutlined = _interopRequireDefault(require("./ZoomOutOutlined")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/index.js b/.output/server/node_modules/@ant-design/icons-vue/lib/index.js new file mode 100644 index 00000000..a8045d07 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/index.js @@ -0,0 +1,54 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var _exportNames = { + createFromIconfontCN: true +}; +Object.defineProperty(exports, "createFromIconfontCN", { + enumerable: true, + get: function get() { + return _IconFont["default"]; + } +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _Icon["default"]; + } +}); + +var _icons = require("./icons"); + +Object.keys(_icons).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _icons[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _icons[key]; + } + }); +}); + +var _twoTonePrimaryColor = require("./components/twoTonePrimaryColor"); + +Object.keys(_twoTonePrimaryColor).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _twoTonePrimaryColor[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _twoTonePrimaryColor[key]; + } + }); +}); + +var _IconFont = _interopRequireDefault(require("./components/IconFont")); + +var _Icon = _interopRequireDefault(require("./components/Icon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/lib/utils.js b/.output/server/node_modules/@ant-design/icons-vue/lib/utils.js new file mode 100644 index 00000000..7f2426d1 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/lib/utils.js @@ -0,0 +1,162 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.warn = warn; +exports.warning = warning; +exports.isIconDefinition = isIconDefinition; +exports.normalizeAttrs = normalizeAttrs; +exports.generate = generate; +exports.getSecondaryColor = getSecondaryColor; +exports.normalizeTwoToneColors = normalizeTwoToneColors; +exports.useInsertStyles = exports.iconStyles = exports.svgBaseProps = void 0; + +var _vue = require("vue"); + +var _colors = require("@ant-design/colors"); + +var _Context = require("./components/Context"); + +var _dynamicCSS = require("./dynamicCSS"); + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function warn(valid, message) { + // Support uglify + if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) { + console.error("Warning: ".concat(message)); + } +} + +function warning(valid, message) { + warn(valid, "[@ant-design/icons-vue] ".concat(message)); +} + +function camelCase(input) { + return input.replace(/-(.)/g, function (_match, g) { + return g.toUpperCase(); + }); +} // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + + +function isIconDefinition(target) { + return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function'); +} + +function normalizeAttrs() { + var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return Object.keys(attrs).reduce(function (acc, key) { + var val = attrs[key]; + + switch (key) { + case 'class': + acc.className = val; + delete acc["class"]; + break; + + default: + delete acc[key]; + acc[camelCase(key)] = val; + } + + return acc; + }, {}); +} + +function generate(node, key, rootProps) { + if (!rootProps) { + return (0, _vue.h)(node.tag, _objectSpread({ + key: key + }, node.attrs), (node.children || []).map(function (child, index) { + return generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index)); + })); + } + + return (0, _vue.h)(node.tag, _objectSpread({ + key: key + }, rootProps, node.attrs), (node.children || []).map(function (child, index) { + return generate(child, "".concat(key, "-").concat(node.tag, "-").concat(index)); + })); +} + +function getSecondaryColor(primaryColor) { + // choose the second color + return (0, _colors.generate)(primaryColor)[0]; +} + +function normalizeTwoToneColors(twoToneColor) { + if (!twoToneColor) { + return []; + } + + return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor]; +} // These props make sure that the SVG behaviours like general text. +// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4 + + +var svgBaseProps = { + width: '1em', + height: '1em', + fill: 'currentColor', + 'aria-hidden': 'true', + focusable: 'false' +}; +exports.svgBaseProps = svgBaseProps; +var iconStyles = "\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n"; +exports.iconStyles = iconStyles; + +function getRoot(ele) { + return ele && ele.getRootNode && ele.getRootNode(); +} +/** + * Check if is in shadowRoot + */ + + +function inShadow(ele) { + if (!(0, _dynamicCSS.canUseDom)()) { + return false; + } + + return getRoot(ele) instanceof ShadowRoot; +} +/** + * Return shadowRoot if possible + */ + + +function getShadowRoot(ele) { + return inShadow(ele) ? getRoot(ele) : null; +} + +var useInsertStyles = function useInsertStyles() { + var _useInjectIconContext = (0, _Context.useInjectIconContext)(), + prefixCls = _useInjectIconContext.prefixCls, + csp = _useInjectIconContext.csp; + + var instance = (0, _vue.getCurrentInstance)(); + var mergedStyleStr = iconStyles; + + if (prefixCls) { + mergedStyleStr = mergedStyleStr.replace(/anticon/g, prefixCls.value); + } + + (0, _vue.nextTick)(function () { + if (!(0, _dynamicCSS.canUseDom)()) { + return; + } + + var ele = instance.vnode.el; + var shadowRoot = getShadowRoot(ele); + (0, _dynamicCSS.updateCSS)(mergedStyleStr, '@ant-design-vue-icons', { + prepend: true, + csp: csp.value, + attachTo: shadowRoot + }); + }); +}; + +exports.useInsertStyles = useInsertStyles; \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/node_modules/vue b/.output/server/node_modules/@ant-design/icons-vue/node_modules/vue new file mode 120000 index 00000000..4f64d938 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/node_modules/vue @@ -0,0 +1 @@ +../../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/@ant-design/icons-vue/package.json b/.output/server/node_modules/@ant-design/icons-vue/package.json new file mode 100644 index 00000000..2a308cf9 --- /dev/null +++ b/.output/server/node_modules/@ant-design/icons-vue/package.json @@ -0,0 +1,85 @@ +{ + "name": "@ant-design/icons-vue", + "version": "7.0.1", + "main": "./lib/index.js", + "module": "./es/index.js", + "sideEffects": false, + "repository": { + "type": "git", + "url": "https://github.com/ant-design/ant-design-icons/tree/master/packages/icons-vue" + }, + "contributors": [ + "tangjinzhou <415800467@qq.com>" + ], + "license": "MIT", + "scripts": { + "clean": "./scripts/cleanup.sh", + "start": "vc-tools run server", + "lint": "eslint src/ --ext .tsx,.ts", + "compile": "vc-tools run compile", + "test": "cross-env NODE_ENV=test jest --config .jest.js", + "prepublishOnly": "npm run lint && npm run generate && npm run compile && npm run test", + "generate": "rimraf src/icons && TS_NODE_PROJECT=scripts/tsconfig.json node -r ts-node/register scripts/generate.ts --target=icon", + "postcompile": "npm run clean && TS_NODE_PROJECT=scripts/tsconfig.json node -r ts-node/register scripts/generate.ts --target=entry", + "ci": "npm run lint && npm run compile && npm run test" + }, + "peerDependencies": { + "vue": ">=3.0.3" + }, + "devDependencies": { + "@ant-design-vue/tools": "^3.1.2", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-export-default-from": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-object-assign": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/runtime": "^7.11.2", + "@types/jest": "^24.9.1", + "@types/lodash": "^4.14.165", + "@types/node": "^13.13.15", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", + "@vue/babel-plugin-jsx": "^1.0.6", + "@vue/cli-plugin-babel": "^5.0.0-0", + "@vue/cli-plugin-eslint": "^5.0.0-0", + "@vue/cli-plugin-typescript": "^5.0.0-0", + "@vue/cli-service": "~4.5.0", + "@vue/compiler-sfc": "^3.0.3", + "@vue/eslint-config-prettier": "^6.0.0", + "@vue/eslint-config-typescript": "^7.0.0", + "@vue/test-utils": "^2.0.0-beta.2", + "core-js": "^3.32.2", + "cross-env": "^7.0.3", + "eslint": "^7.16.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-jest": "^24.4.0", + "eslint-plugin-prettier": "^3.1.3", + "eslint-plugin-vue": "^7.0.0", + "gulp-less": "^5.0.0", + "jest": "^26.0.0", + "jest-serializer-vue": "^2.0.2", + "lodash": "^4.17.15", + "prettier": "^1.19.1", + "ts-node": "^10.1.0", + "typescript": "^4.2.0", + "vue": "^3.0.3", + "vue-jest": "^5.0.0-alpha.10" + }, + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1" + }, + "config": { + "port": 9528, + "entry": { + "index": [ + "./src/index.ts" + ] + } + }, + "description": "Ant Design Icons for Vue" +} \ No newline at end of file diff --git a/.output/server/node_modules/@babel/parser/lib/index.js b/.output/server/node_modules/@babel/parser/lib/index.js new file mode 100644 index 00000000..1c6ff4c4 --- /dev/null +++ b/.output/server/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,14662 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (-1 !== e.indexOf(n)) continue; + t[n] = r[n]; + } + return t; +} +class Position { + constructor(line, col, index) { + this.line = void 0; + this.column = void 0; + this.index = void 0; + this.line = line; + this.column = col; + this.index = index; + } +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } +} +function createPositionWithColumnOffset(position, columnOffset) { + const { + line, + column, + index + } = position; + return new Position(line, column + columnOffset, index + columnOffset); +} +const code = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"; +var ModuleErrors = { + ImportMetaOutsideModule: { + message: `import.meta may appear only with 'sourceType: "module"'`, + code + }, + ImportOutsideModule: { + message: `'import' and 'export' may appear only with 'sourceType: "module"'`, + code + } +}; +const NodeDescriptions = { + ArrayPattern: "array destructuring pattern", + AssignmentExpression: "assignment expression", + AssignmentPattern: "assignment expression", + ArrowFunctionExpression: "arrow function expression", + ConditionalExpression: "conditional expression", + CatchClause: "catch clause", + ForOfStatement: "for-of statement", + ForInStatement: "for-in statement", + ForStatement: "for-loop", + FormalParameters: "function parameter list", + Identifier: "identifier", + ImportSpecifier: "import specifier", + ImportDefaultSpecifier: "import default specifier", + ImportNamespaceSpecifier: "import namespace specifier", + ObjectPattern: "object destructuring pattern", + ParenthesizedExpression: "parenthesized expression", + RestElement: "rest element", + UpdateExpression: { + true: "prefix operation", + false: "postfix operation" + }, + VariableDeclarator: "variable declaration", + YieldExpression: "yield expression" +}; +const toNodeDescription = node => node.type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[`${node.prefix}`] : NodeDescriptions[node.type]; +var StandardErrors = { + AccessorIsGenerator: ({ + kind + }) => `A ${kind}ter cannot be a generator.`, + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + BadGetterArity: "A 'get' accessor must not have any formal parameters.", + BadSetterArity: "A 'set' accessor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: ({ + kind + }) => `Missing initializer in ${kind} declaration.`, + DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.", + DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.', + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: ({ + exportName + }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`, + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: ({ + localName, + exportName + }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`, + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: ({ + type + }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, + ForInUsing: "For-in loop may not start with 'using' declaration.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: ({ + type + }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.", + ImportBindingIsString: ({ + importName + }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, + ImportCallArity: `\`import()\` requires exactly one or two arguments.`, + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", + ImportReflectionHasAssertion: "`import module x` cannot have assertions.", + ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.', + IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidCoverDiscardElement: "'void' must be followed by an expression when not used in a binding position.", + InvalidCoverInitializedName: "Invalid shorthand property initializer.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: ({ + radix + }) => `Expected number in radix ${radix}.`, + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: ({ + reservedWord + }) => `Escape sequence in keyword ${reservedWord}.`, + InvalidIdentifier: ({ + identifierName + }) => `Invalid identifier ${identifierName}.`, + InvalidLhs: ({ + ancestor + }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsBinding: ({ + ancestor + }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsOptionalChaining: ({ + ancestor + }) => `Invalid optional chaining in the left-hand side of ${toNodeDescription(ancestor)}.`, + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: ({ + unexpected + }) => `Unexpected character '${unexpected}'.`, + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: ({ + identifierName + }) => `Private name #${identifierName} is not defined.`, + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: ({ + labelName + }) => `Label '${labelName}' is already declared.`, + LetInLexicalBinding: "'let' is disallowed as a lexically bound name.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingPlugin: ({ + missingPlugin + }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingOneOfPlugins: ({ + missingPlugin + }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: ({ + key + }) => `Duplicate key "${key}" is not allowed in module attributes.`, + ModuleExportNameHasLoneSurrogate: ({ + surrogateCharCode + }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`, + ModuleExportUndefined: ({ + localName + }) => `Export '${localName}' is not defined.`, + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PrivateInExpectedIn: ({ + identifierName + }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`, + PrivateNameRedeclaration: ({ + identifierName + }) => `Duplicate private name #${identifierName}.`, + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.", + SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.', + StaticPrototype: "Classes may not have static property named prototype.", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: ({ + keyword + }) => `Unexpected keyword '${keyword}'.`, + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Unexpected private name.", + UnexpectedReservedWord: ({ + reservedWord + }) => `Unexpected reserved word '${reservedWord}'.`, + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: ({ + expected, + unexpected + }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`, + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.", + UnexpectedVoidPattern: "Unexpected void binding.", + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: ({ + target, + onlyValidPropertyName + }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`, + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + UsingDeclarationExport: "Using declaration cannot be exported.", + UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.", + VarRedeclaration: ({ + identifierName + }) => `Identifier '${identifierName}' has already been declared.`, + VoidPatternCatchClauseParam: "A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.", + VoidPatternInitializer: "A void binding may not have an initializer.", + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + YieldNotInGeneratorFunction: "'yield' is only allowed within generator functions.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}; +var StrictModeErrors = { + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: ({ + referenceName + }) => `Assigning to '${referenceName}' in strict mode.`, + StrictEvalArgumentsBinding: ({ + bindingName + }) => `Binding '${bindingName}' in strict mode.`, + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode." +}; +var ParseExpressionErrors = { + ParseExpressionEmptyInput: "Unexpected parseExpression() input: The input is empty or contains only comments.", + ParseExpressionExpectsEOF: ({ + unexpected + }) => `Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(unexpected)}\`.` +}; +const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); +var PipelineOperatorErrors = Object.assign({ + PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: ({ + token + }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`, + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: ({ + type + }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ + type + })}; please wrap it in parentheses.` +}, { + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' +}); +const _excluded = ["message"]; +function defineHidden(obj, key, value) { + Object.defineProperty(obj, key, { + enumerable: false, + configurable: true, + value + }); +} +function toParseErrorConstructor({ + toMessage, + code, + reasonCode, + syntaxPlugin +}) { + const hasMissingPlugin = reasonCode === "MissingPlugin" || reasonCode === "MissingOneOfPlugins"; + { + const oldReasonCodes = { + AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter", + AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters", + ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference", + SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter", + SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter", + SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType" + }; + if (oldReasonCodes[reasonCode]) { + reasonCode = oldReasonCodes[reasonCode]; + } + } + return function constructor(loc, details) { + const error = new SyntaxError(); + error.code = code; + error.reasonCode = reasonCode; + error.loc = loc; + error.pos = loc.index; + error.syntaxPlugin = syntaxPlugin; + if (hasMissingPlugin) { + error.missingPlugin = details.missingPlugin; + } + defineHidden(error, "clone", function clone(overrides = {}) { + var _overrides$loc; + const { + line, + column, + index + } = (_overrides$loc = overrides.loc) != null ? _overrides$loc : loc; + return constructor(new Position(line, column, index), Object.assign({}, details, overrides.details)); + }); + defineHidden(error, "details", details); + Object.defineProperty(error, "message", { + configurable: true, + get() { + const message = `${toMessage(details)} (${loc.line}:${loc.column})`; + this.message = message; + return message; + }, + set(value) { + Object.defineProperty(this, "message", { + value, + writable: true + }); + } + }); + return error; + }; +} +function ParseErrorEnum(argument, syntaxPlugin) { + if (Array.isArray(argument)) { + return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]); + } + const ParseErrorConstructors = {}; + for (const reasonCode of Object.keys(argument)) { + const template = argument[reasonCode]; + const _ref = typeof template === "string" ? { + message: () => template + } : typeof template === "function" ? { + message: template + } : template, + { + message + } = _ref, + rest = _objectWithoutPropertiesLoose(_ref, _excluded); + const toMessage = typeof message === "string" ? () => message : message; + ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ + code: "BABEL_PARSER_SYNTAX_ERROR", + reasonCode, + toMessage + }, syntaxPlugin ? { + syntaxPlugin + } : {}, rest)); + } + return ParseErrorConstructors; +} +const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum(ParseExpressionErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors)); +function createDefaultOptions() { + return { + sourceType: "script", + sourceFilename: undefined, + startIndex: 0, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowNewTargetOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + allowYieldOutsideFunction: false, + plugins: [], + strictMode: undefined, + ranges: false, + tokens: false, + createImportExpressions: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true, + annexB: true + }; +} +function getOptions(opts) { + const options = createDefaultOptions(); + if (opts == null) { + return options; + } + if (opts.annexB != null && opts.annexB !== false) { + throw new Error("The `annexB` option can only be set to `false`."); + } + for (const key of Object.keys(options)) { + if (opts[key] != null) options[key] = opts[key]; + } + if (options.startLine === 1) { + if (opts.startIndex == null && options.startColumn > 0) { + options.startIndex = options.startColumn; + } else if (opts.startColumn == null && options.startIndex > 0) { + options.startColumn = options.startIndex; + } + } else if (opts.startColumn == null || opts.startIndex == null) { + if (opts.startIndex != null) { + throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`."); + } + } + if (options.sourceType === "commonjs") { + if (opts.allowAwaitOutsideFunction != null) { + throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`."); + } + if (opts.allowReturnOutsideFunction != null) { + throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`."); + } + if (opts.allowNewTargetOutsideFunction != null) { + throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`."); + } + } + return options; +} +const { + defineProperty +} = Object; +const toUnenumerable = (object, key) => { + if (object) { + defineProperty(object, key, { + enumerable: false, + value: object[key] + }); + } +}; +function toESTreeLocation(node) { + toUnenumerable(node.loc.start, "index"); + toUnenumerable(node.loc.end, "index"); + return node; +} +var estree = superClass => class ESTreeParserMixin extends superClass { + parse() { + const file = toESTreeLocation(super.parse()); + if (this.optionFlags & 256) { + file.tokens = file.tokens.map(toESTreeLocation); + } + return file; + } + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + try { + regex = new RegExp(pattern, flags); + } catch (_) {} + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + parseBigIntLiteral(value) { + let bigInt; + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + estreeParseChainExpression(node, endLoc) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNodeAt(chain, "ChainExpression", endLoc); + } + directiveToStmt(directive) { + const expression = directive.value; + delete directive.value; + this.castNodeTo(expression, "Literal"); + expression.raw = expression.extra.raw; + expression.value = expression.extra.expressionValue; + const stmt = this.castNodeTo(directive, "ExpressionStatement"); + stmt.expression = expression; + stmt.directive = expression.extra.rawValue; + delete expression.extra; + return stmt; + } + fillOptionalPropertiesForTSESLint(node) {} + cloneEstreeStringLiteral(node) { + const { + start, + end, + loc, + range, + raw, + value + } = node; + const cloned = Object.create(node.constructor.prototype); + cloned.type = "Literal"; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.raw = raw; + cloned.value = value; + return cloned; + } + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + getObjectOrClassMethodParams(method) { + return method.value.params; + } + isValidDirective(stmt) { + var _stmt$expression$extr; + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + parsePrivateName() { + const node = super.parsePrivateName(); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + } + return this.convertPrivateNameToPrivateIdentifier(node); + } + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + delete node.id; + node.name = name; + return this.castNodeTo(node, "PrivateIdentifier"); + } + isPrivateName(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + } + return node.type === "PrivateIdentifier"; + } + getPrivateNameSV(node) { + { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + } + return node.name; + } + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + delete funcNode.kind; + const { + typeParameters + } = node; + if (typeParameters) { + delete node.typeParameters; + funcNode.typeParameters = typeParameters; + this.resetStartLocationFromNode(funcNode, typeParameters); + } + const valueNode = this.castNodeTo(funcNode, "FunctionExpression"); + node.value = valueNode; + if (type === "ClassPrivateMethod") { + node.computed = false; + } + if (type === "ObjectMethod") { + if (node.kind === "method") { + node.kind = "init"; + } + node.shorthand = false; + return this.finishNode(node, "Property"); + } else { + return this.finishNode(node, "MethodDefinition"); + } + } + nameIsConstructor(key) { + if (key.type === "Literal") return key.value === "constructor"; + return super.nameIsConstructor(key); + } + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + { + this.castNodeTo(propertyNode, "PropertyDefinition"); + } + return propertyNode; + } + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + } + { + this.castNodeTo(propertyNode, "PropertyDefinition"); + } + propertyNode.computed = false; + return propertyNode; + } + parseClassAccessorProperty(node) { + const accessorPropertyNode = super.parseClassAccessorProperty(node); + { + if (!this.getPluginOption("estree", "classFeatures")) { + return accessorPropertyNode; + } + } + if (accessorPropertyNode.abstract && this.hasPlugin("typescript")) { + delete accessorPropertyNode.abstract; + this.castNodeTo(accessorPropertyNode, "TSAbstractAccessorProperty"); + } else { + this.castNodeTo(accessorPropertyNode, "AccessorProperty"); + } + return accessorPropertyNode; + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (node) { + node.kind = "init"; + this.castNodeTo(node, "Property"); + } + return node; + } + finishObjectProperty(node) { + node.kind = "init"; + return this.finishNode(node, "Property"); + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + return type === "Property" ? "value" : super.isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding); + } + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + return super.isAssignable(node, isBinding); + } + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + } else { + super.toAssignable(node, isLHS); + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "Property" && (prop.kind === "get" || prop.kind === "set")) { + this.raise(Errors.PatternHasAccessor, prop.key); + } else if (prop.type === "Property" && prop.method) { + this.raise(Errors.PatternHasMethod, prop.key); + } else { + super.toAssignableObjectExpressionProp(prop, isLast, isLHS); + } + } + finishCallExpression(unfinished, optional) { + const node = super.finishCallExpression(unfinished, optional); + if (node.callee.type === "Import") { + var _ref; + this.castNodeTo(node, "ImportExpression"); + node.source = node.arguments[0]; + node.options = (_ref = node.arguments[1]) != null ? _ref : null; + { + var _ref2; + node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null; + } + delete node.arguments; + delete node.callee; + } else if (node.type === "OptionalCallExpression") { + this.castNodeTo(node, "CallExpression"); + } else { + node.optional = false; + } + return node; + } + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + super.toReferencedArguments(node); + } + parseExport(unfinished, decorators) { + const exportStartLoc = this.state.lastTokStartLoc; + const node = super.parseExport(unfinished, decorators); + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + this.castNodeTo(node, "ExportAllDeclaration"); + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + case "ExportDefaultDeclaration": + { + var _declaration$decorato; + const { + declaration + } = node; + if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) { + this.resetStartLocation(node, exportStartLoc); + } + } + break; + } + return node; + } + stopParseSubscript(base, state) { + const node = super.stopParseSubscript(base, state); + if (state.optionalChainMember) { + return this.estreeParseChainExpression(node, base.loc.end); + } + return node; + } + parseMember(base, startLoc, state, computed, optional) { + const node = super.parseMember(base, startLoc, state, computed, optional); + if (node.type === "OptionalMemberExpression") { + this.castNodeTo(node, "MemberExpression"); + } else { + node.optional = false; + } + return node; + } + isOptionalMemberExpression(node) { + if (node.type === "ChainExpression") { + return node.expression.type === "MemberExpression"; + } + return super.isOptionalMemberExpression(node); + } + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + return super.hasPropertyAsPrivateName(node); + } + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + isObjectMethod(node) { + return node.type === "Property" && (node.method || node.kind === "get" || node.kind === "set"); + } + castNodeTo(node, type) { + const result = super.castNodeTo(node, type); + this.fillOptionalPropertiesForTSESLint(result); + return result; + } + cloneIdentifier(node) { + const cloned = super.cloneIdentifier(node); + this.fillOptionalPropertiesForTSESLint(cloned); + return cloned; + } + cloneStringLiteral(node) { + if (node.type === "Literal") { + return this.cloneEstreeStringLiteral(node); + } + return super.cloneStringLiteral(node); + } + finishNodeAt(node, type, endLoc) { + return toESTreeLocation(super.finishNodeAt(node, type, endLoc)); + } + finishNode(node, type) { + const result = super.finishNode(node, type); + this.fillOptionalPropertiesForTSESLint(result); + return result; + } + resetStartLocation(node, startLoc) { + super.resetStartLocation(node, startLoc); + toESTreeLocation(node); + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + super.resetEndLocation(node, endLoc); + toESTreeLocation(node); + } +}; +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } +} +const types = { + brace: new TokContext("{"), + j_oTag: new TokContext("<tag"), + j_cTag: new TokContext("</tag"), + j_expr: new TokContext("<tag>...</tag>", true) +}; +{ + types.template = new TokContext("`", true); +} +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + { + this.updateContext = null; + } + } +} +const keywords$1 = new Map(); +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} +function createKeywordLike(name, options = {}) { + var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2; + ++tokenTypeCounter; + keywords$1.set(name, tokenTypeCounter); + tokenLabels.push(name); + tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1); + tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false); + tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false); + tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false); + tokenTypes.push(new ExportedTokenType("name", options)); + return tokenTypeCounter; +} +const tt = { + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}"), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + templateTail: createToken("...`", { + startsExpr + }), + templateNonTail: createToken("...${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + xorAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + doubleCaret: createToken("^^", { + startsExpr + }), + doubleAt: createToken("@@", { + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + lt: createBinop("</>/<=/>=", 7), + gt: createBinop("</>/<=/>=", 7), + relational: createBinop("</>/<=/>=", 7), + bitShift: createBinop("<</>>/>>>", 8), + bitShiftL: createBinop("<</>>/>>>", 8), + bitShiftR: createBinop("<</>>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + _as: createKeywordLike("as", { + startsExpr + }), + _assert: createKeywordLike("assert", { + startsExpr + }), + _async: createKeywordLike("async", { + startsExpr + }), + _await: createKeywordLike("await", { + startsExpr + }), + _defer: createKeywordLike("defer", { + startsExpr + }), + _from: createKeywordLike("from", { + startsExpr + }), + _get: createKeywordLike("get", { + startsExpr + }), + _let: createKeywordLike("let", { + startsExpr + }), + _meta: createKeywordLike("meta", { + startsExpr + }), + _of: createKeywordLike("of", { + startsExpr + }), + _sent: createKeywordLike("sent", { + startsExpr + }), + _set: createKeywordLike("set", { + startsExpr + }), + _source: createKeywordLike("source", { + startsExpr + }), + _static: createKeywordLike("static", { + startsExpr + }), + _using: createKeywordLike("using", { + startsExpr + }), + _yield: createKeywordLike("yield", { + startsExpr + }), + _asserts: createKeywordLike("asserts", { + startsExpr + }), + _checks: createKeywordLike("checks", { + startsExpr + }), + _exports: createKeywordLike("exports", { + startsExpr + }), + _global: createKeywordLike("global", { + startsExpr + }), + _implements: createKeywordLike("implements", { + startsExpr + }), + _intrinsic: createKeywordLike("intrinsic", { + startsExpr + }), + _infer: createKeywordLike("infer", { + startsExpr + }), + _is: createKeywordLike("is", { + startsExpr + }), + _mixins: createKeywordLike("mixins", { + startsExpr + }), + _proto: createKeywordLike("proto", { + startsExpr + }), + _require: createKeywordLike("require", { + startsExpr + }), + _satisfies: createKeywordLike("satisfies", { + startsExpr + }), + _keyof: createKeywordLike("keyof", { + startsExpr + }), + _readonly: createKeywordLike("readonly", { + startsExpr + }), + _unique: createKeywordLike("unique", { + startsExpr + }), + _abstract: createKeywordLike("abstract", { + startsExpr + }), + _declare: createKeywordLike("declare", { + startsExpr + }), + _enum: createKeywordLike("enum", { + startsExpr + }), + _module: createKeywordLike("module", { + startsExpr + }), + _namespace: createKeywordLike("namespace", { + startsExpr + }), + _interface: createKeywordLike("interface", { + startsExpr + }), + _type: createKeywordLike("type", { + startsExpr + }), + _opaque: createKeywordLike("opaque", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + placeholder: createToken("%%", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr + }), + jsxTagEnd: createToken("jsxTagEnd") +}; +function tokenIsIdentifier(token) { + return token >= 93 && token <= 133; +} +function tokenKeywordOrIdentifierIsKeyword(token) { + return token <= 92; +} +function tokenIsKeywordOrIdentifier(token) { + return token >= 58 && token <= 133; +} +function tokenIsLiteralPropertyName(token) { + return token >= 58 && token <= 137; +} +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 29 && token <= 33; +} +function tokenIsFlowInterfaceOrTypeOrOpaque(token) { + return token >= 129 && token <= 131; +} +function tokenIsLoop(token) { + return token >= 90 && token <= 92; +} +function tokenIsKeyword(token) { + return token >= 58 && token <= 92; +} +function tokenIsOperator(token) { + return token >= 39 && token <= 59; +} +function tokenIsPostfix(token) { + return token === 34; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenIsTSTypeOperator(token) { + return token >= 121 && token <= 123; +} +function tokenIsTSDeclarationStart(token) { + return token >= 124 && token <= 130; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 57; +} +function tokenIsTemplate(token) { + return token >= 24 && token <= 25; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +{ + tokenTypes[8].updateContext = context => { + context.pop(); + }; + tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => { + context.push(types.brace); + }; + tokenTypes[22].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } + }; + tokenTypes[143].updateContext = context => { + context.push(types.j_expr, types.j_oTag); + }; +} +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; +function isInAstralSet(code, set) { + let pos = 0x10000; + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + return false; +} +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} +function isIteratorStart(current, next, next2) { + return current === 64 && next === 64 && isIdentifierStart(next2); +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} +class Scope { + constructor(flags) { + this.flags = 0; + this.names = new Map(); + this.firstLexicalName = ""; + this.flags = flags; + } +} +class ScopeHandler { + constructor(parser, inModule) { + this.parser = void 0; + this.scopeStack = []; + this.inModule = void 0; + this.undefinedExports = new Map(); + this.parser = parser; + this.inModule = inModule; + } + get inTopLevel() { + return (this.currentScope().flags & 1) > 0; + } + get inFunction() { + return (this.currentVarScopeFlags() & 2) > 0; + } + get allowSuper() { + return (this.currentThisScopeFlags() & 16) > 0; + } + get allowDirectSuper() { + return (this.currentThisScopeFlags() & 32) > 0; + } + get allowNewTarget() { + return (this.currentThisScopeFlags() & 512) > 0; + } + get inClass() { + return (this.currentThisScopeFlags() & 64) > 0; + } + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & 64) > 0 && (flags & 2) === 0; + } + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 128) { + return true; + } + if (flags & (1667 | 64)) { + return false; + } + } + } + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & 2) > 0; + } + get inBareCaseStatement() { + return (this.currentScope().flags & 256) > 0; + } + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + createScope(flags) { + return new Scope(flags); + } + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + exit() { + const scope = this.scopeStack.pop(); + return scope.flags; + } + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & (2 | 128) || !this.parser.inModule && scope.flags & 1); + } + declareName(name, bindingType, loc) { + let scope = this.currentScope(); + if (bindingType & 8 || bindingType & 16) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + let type = scope.names.get(name) || 0; + if (bindingType & 16) { + type = type | 4; + } else { + if (!scope.firstLexicalName) { + scope.firstLexicalName = name; + } + type = type | 2; + } + scope.names.set(name, type); + if (bindingType & 8) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & 4) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, loc); + scope.names.set(name, (scope.names.get(name) || 0) | 1); + this.maybeExportDefined(scope, name); + if (scope.flags & 1667) break; + } + } + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + maybeExportDefined(scope, name) { + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + checkRedeclarationInScope(scope, name, bindingType, loc) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.parser.raise(Errors.VarRedeclaration, loc, { + identifierName: name + }); + } + } + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & 1)) return false; + if (bindingType & 8) { + return scope.names.has(name); + } + const type = scope.names.get(name) || 0; + if (bindingType & 16) { + return (type & 2) > 0 || !this.treatFunctionsAsVarInScope(scope) && (type & 1) > 0; + } + return (type & 2) > 0 && !(scope.flags & 8 && scope.firstLexicalName === name) || !this.treatFunctionsAsVarInScope(scope) && (type & 4) > 0; + } + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + if (!topLevelScope.names.has(name)) { + this.undefinedExports.set(name, id.loc.start); + } + } + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 1667) { + return flags; + } + } + } + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & (1667 | 64) && !(flags & 4)) { + return flags; + } + } + } +} +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } +} +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + if (bindingType & 2048) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + super.declareName(name, bindingType, loc); + } + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(scope, name, bindingType)) return true; + if (bindingType & 2048 && !scope.declareFunctions.has(name)) { + const type = scope.names.get(name); + return (type & 4) > 0 || (type & 2) > 0; + } + return false; + } + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } +} +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = ParseErrorEnum`flow`({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: ({ + reservedType + }) => `Cannot overwrite reserved type ${reservedType}.`, + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: ({ + memberName, + enumName + }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`, + EnumDuplicateMemberName: ({ + memberName, + enumName + }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`, + EnumInconsistentMemberValues: ({ + enumName + }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`, + EnumInvalidExplicitType: ({ + invalidEnumType, + enumName + }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidExplicitTypeUnknownSupplied: ({ + enumName + }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerPrimaryType: ({ + enumName, + memberName, + explicitType + }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`, + EnumInvalidMemberInitializerSymbolType: ({ + enumName, + memberName + }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerUnknownType: ({ + enumName, + memberName + }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`, + EnumInvalidMemberName: ({ + enumName, + memberName, + suggestion + }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`, + EnumNumberMemberNotInitialized: ({ + enumName, + memberName + }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`, + EnumStringMemberInconsistentlyInitialized: ({ + enumName + }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`, + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: Object.assign({ + message: "A binding pattern parameter cannot be optional in an implementation signature." + }, { + reasonCode: "OptionalBindingPattern" + }), + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: ({ + reservedType + }) => `Unexpected reserved type ${reservedType}.`, + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.", + UnsupportedDeclareExportKind: ({ + unsupportedExportKind, + suggestion + }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`, + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}); +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; +function partition(list, test) { + const list1 = []; + const list2 = []; + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + return [list1, list2]; +} +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = superClass => class FlowParserMixin extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + getScopeHandler() { + return FlowScopeHandler; + } + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + finishToken(type, val) { + if (type !== 134 && type !== 13 && type !== 28) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + super.finishToken(type, val); + } + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + if (!matches) ;else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + super.addComment(comment); + } + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 14); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + flowParsePredicate() { + const node = this.startNode(); + const moduloLoc = this.state.startLoc; + this.next(); + this.expectContextual(110); + if (this.state.lastTokStartLoc.index > moduloLoc.index + 1) { + this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, moduloLoc); + } + if (this.eat(10)) { + node.value = super.parseExpression(); + this.expect(11); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(14); + let type = null; + let predicate = null; + if (this.match(54)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + if (this.match(54)) { + predicate = this.flowParsePredicate(); + } + } + return [type, predicate]; + } + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + if (this.match(47)) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + this.expect(10); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(11); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, 2048, node.id.loc.start); + return this.finishNode(node, "DeclareFunction"); + } + flowParseDeclare(node, insideModule) { + if (this.match(80)) { + return this.flowParseDeclareClass(node); + } else if (this.match(68)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(74)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual(127)) { + if (this.match(16)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(FlowErrors.NestedDeclareModule, this.state.lastTokStartLoc); + } + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual(130)) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual(131)) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual(129)) { + return this.flowParseDeclareInterface(node); + } else if (this.match(82)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } + throw this.unexpected(); + } + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, 5, node.id.loc.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + flowParseDeclareModule(node) { + this.scope.enter(0); + if (this.match(134)) { + node.id = super.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(5); + while (!this.match(8)) { + const bodyNode = this.startNode(); + if (this.match(83)) { + this.next(); + if (!this.isContextual(130) && !this.match(87)) { + this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, this.state.lastTokStartLoc); + } + body.push(super.parseImport(bodyNode)); + } else { + this.expectContextual(125, FlowErrors.UnsupportedStatementInDeclareModule); + body.push(this.flowParseDeclare(bodyNode, true)); + } + } + this.scope.exit(); + this.expect(8); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement); + } + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(FlowErrors.DuplicateDeclareModuleExports, bodyElement); + } + if (kind === "ES") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement); + } + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(82); + if (this.eat(65)) { + if (this.match(68) || this.match(80)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !insideModule) { + const label = this.state.value; + throw this.raise(FlowErrors.UnsupportedDeclareExportKind, this.state.startLoc, { + unsupportedExportKind: label, + suggestion: exportSuggestions[label] + }); + } + if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131)) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131)) { + node = this.parseExport(node, null); + if (node.type === "ExportNamedDeclaration") { + node.default = false; + delete node.exportKind; + return this.castNodeTo(node, "DeclareExportDeclaration"); + } else { + return this.castNodeTo(node, "DeclareExportAllDeclaration"); + } + } + } + throw this.unexpected(); + } + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual(111); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + flowParseDeclareTypeAlias(node) { + this.next(); + const finished = this.flowParseTypeAlias(node); + this.castNodeTo(finished, "DeclareTypeAlias"); + return finished; + } + flowParseDeclareOpaqueType(node) { + this.next(); + const finished = this.flowParseOpaqueType(node, true); + this.castNodeTo(finished, "DeclareOpaqueType"); + return finished; + } + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "DeclareInterface"); + } + flowParseInterfaceish(node, isClass) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? 17 : 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(12)); + } + if (isClass) { + node.implements = []; + node.mixins = []; + if (this.eatContextual(117)) { + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + if (this.eatContextual(113)) { + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + } + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + return this.finishNode(node, "InterfaceExtends"); + } + flowParseInterface(node) { + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "InterfaceDeclaration"); + } + checkNotUnderscore(word) { + if (word === "_") { + this.raise(FlowErrors.UnexpectedReservedUnderscore, this.state.startLoc); + } + } + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, startLoc, { + reservedType: word + }); + } + flowParseRestrictedIdentifier(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.startLoc, declaration); + return this.parseIdentifier(liberal); + } + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.right = this.flowParseTypeInitialiser(29); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + flowParseOpaqueType(node, declare) { + this.expectContextual(130); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.supertype = null; + if (this.match(14)) { + node.supertype = this.flowParseTypeInitialiser(14); + } + node.impltype = null; + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(29); + } + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + flowParseTypeParameter(requireDefault = false) { + const nodeStartLoc = this.state.startLoc; + const node = this.startNode(); + const variance = this.flowParseVariance(); + const ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + if (this.match(29)) { + this.eat(29); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(FlowErrors.MissingTypeParamDefault, nodeStartLoc); + } + } + return this.finishNode(node, "TypeParameter"); + } + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + if (this.match(47) || this.match(143)) { + this.next(); + } else { + this.unexpected(); + } + let defaultRequired = false; + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + if (typeParameter.default) { + defaultRequired = true; + } + if (!this.match(48)) { + this.expect(12); + } + } while (!this.match(48)); + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + flowInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { + return cb(); + } + } + flowParseTypeParameterInstantiationInExpression() { + if (this.reScan_lt() !== 47) return; + return this.flowParseTypeParameterInstantiation(); + } + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + this.state.inType = true; + node.params = []; + this.flowInTopLevelContext(() => { + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + while (!this.match(48)) { + node.params.push(this.flowParseType()); + if (!this.match(48)) { + this.expect(12); + } + } + this.state.noAnonFunctionType = oldNoAnonFunctionType; + }); + this.state.inType = oldInType; + if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseTypeParameterInstantiationCallOrNew() { + if (this.reScan_lt() !== 47) return null; + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + while (!this.match(48)) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + if (!this.match(48)) { + this.expect(12); + } + } + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual(129); + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + flowParseObjectPropertyKey() { + return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(true); + } + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + if (this.lookahead().type === 14) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + this.expect(3); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(3); + this.expect(3); + if (this.match(47) || this.match(10)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + } else { + node.method = false; + if (this.eat(17)) { + node.optional = true; + } + node.value = this.flowParseTypeInitialiser(); + } + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + this.expect(10); + if (this.match(78)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + this.expect(11); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + if (allowExact && this.match(6)) { + this.expect(6); + endDelim = 9; + exact = true; + } else { + this.expect(5); + endDelim = 8; + exact = false; + } + nodeStart.exact = exact; + while (!this.match(endDelim)) { + let isStatic = false; + let protoStartLoc = null; + let inexactStartLoc = null; + const node = this.startNode(); + if (allowProto && this.isContextual(118)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + protoStartLoc = this.state.startLoc; + allowStatic = false; + } + } + if (allowStatic && this.isContextual(106)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + isStatic = true; + } + } + const variance = this.flowParseVariance(); + if (this.eat(0)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (this.eat(0)) { + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(10) || this.match(47)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + if (this.isContextual(99) || this.isContextual(104)) { + const lookahead = this.lookahead(); + if (tokenIsLiteralPropertyName(lookahead.type)) { + kind = this.state.value; + this.next(); + } + } + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + if (propOrInexact === null) { + inexact = true; + inexactStartLoc = this.state.lastTokStartLoc; + } else { + nodeStart.properties.push(propOrInexact); + } + } + this.flowObjectTypeSemicolon(); + if (inexactStartLoc && !this.match(8) && !this.match(9)) { + this.raise(FlowErrors.UnexpectedExplicitInexactInObject, inexactStartLoc); + } + } + this.expect(endDelim); + if (allowSpread) { + nodeStart.inexact = inexact; + } + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) { + if (this.eat(21)) { + const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9); + if (isInexactToken) { + if (!allowSpread) { + this.raise(FlowErrors.InexactInsideNonObject, this.state.lastTokStartLoc); + } else if (!allowInexact) { + this.raise(FlowErrors.InexactInsideExact, this.state.lastTokStartLoc); + } + if (variance) { + this.raise(FlowErrors.InexactVariance, variance); + } + return null; + } + if (!allowSpread) { + this.raise(FlowErrors.UnexpectedSpreadType, this.state.lastTokStartLoc); + } + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.raise(FlowErrors.SpreadVariance, variance); + } + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStartLoc != null; + node.kind = kind; + let optional = false; + if (this.match(47) || this.match(10)) { + node.method = true; + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(FlowErrors.ThisParamBannedInConstructor, node.value.this); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + if (this.eat(17)) { + optional = true; + } + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + if (property.value.this) { + this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, property.value.this); + } + if (length !== paramCount) { + this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, property); + } + if (property.kind === "set" && property.value.rest) { + this.raise(Errors.BadSetterRestParameter, property); + } + } + flowObjectTypeSemicolon() { + if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) { + this.unexpected(); + } + } + flowParseQualifiedTypeIdentifier(startLoc, id) { + startLoc != null ? startLoc : startLoc = this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + while (this.eat(16)) { + const node2 = this.startNodeAt(startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + return node; + } + flowParseGenericType(startLoc, id) { + const node = this.startNodeAt(startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + return this.finishNode(node, "GenericTypeAnnotation"); + } + flowParseTypeofType() { + const node = this.startNode(); + this.expect(87); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(0); + while (this.state.pos < this.length && !this.match(3)) { + node.types.push(this.flowParseType()); + if (this.match(3)) break; + this.expect(12); + } + this.expect(3); + return this.finishNode(node, "TupleTypeAnnotation"); + } + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 78; + if (lh.type === 14 || lh.type === 17) { + if (isThis && !first) { + this.raise(FlowErrors.ThisParamMustBeFirst, node); + } + name = this.parseIdentifier(isThis); + if (this.eat(17)) { + optional = true; + if (isThis) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, node); + } + } + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + if (this.match(78)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + rest = this.flowParseFunctionTypeParam(false); + } + return { + params, + rest, + _this + }; + } + flowIdentToTypeAnnotation(startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startLoc, id); + } + } + flowParsePrimaryType() { + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + switch (this.state.type) { + case 5: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + case 6: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + case 0: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + case 47: + { + const node = this.startNode(); + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(10); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + case 10: + { + const node = this.startNode(); + this.next(); + if (!this.match(11) && !this.match(21)) { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + const token = this.lookahead().type; + isGroupedType = token !== 17 && token !== 14; + } else { + isGroupedType = true; + } + } + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) { + this.expect(11); + return type; + } else { + this.eat(12); + } + } + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + case 134: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + case 85: + case 86: + node.value = this.match(85); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + case 53: + if (this.state.value === "-") { + this.next(); + if (this.match(135)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + if (this.match(136)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + throw this.raise(FlowErrors.UnexpectedSubtractionOperand, this.state.startLoc); + } + throw this.unexpected(); + case 135: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + case 136: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + case 88: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + case 84: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + case 78: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + case 55: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + case 87: + return this.flowParseTypeofType(); + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } else if (tokenIsIdentifier(this.state.type)) { + if (this.isContextual(129)) { + return this.flowParseInterfaceType(); + } + return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier()); + } + } + throw this.unexpected(); + } + flowParsePostfixType() { + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + const optional = this.eat(18); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(0); + if (!optional && this.match(3)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(3); + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + return type; + } + flowParsePrefixType() { + const node = this.startNode(); + if (this.eat(17)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + if (!this.state.noAnonFunctionType && this.eat(19)) { + const node = this.startNodeAt(param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + return param; + } + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(45); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + while (this.eat(45)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + flowParseUnionType() { + const node = this.startNode(); + this.eat(43); + const type = this.flowParseIntersectionType(); + node.types = [type]; + while (this.eat(43)) { + node.types.push(this.flowParseIntersectionType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 132 && this.state.value === "_") { + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startLoc, node); + } else { + return this.flowParseType(); + } + } + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + if (this.match(14)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + return ident; + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + flowParseVariance() { + let variance = null; + if (this.match(53)) { + variance = this.startNode(); + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + this.next(); + return this.finishNode(variance, "Variance"); + } + return variance; + } + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + return; + } + super.parseFunctionBody(node, false, isMethod); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + parseStatementLike(flags) { + if (this.state.strict && this.isContextual(129)) { + const lookahead = this.lookahead(); + if (tokenIsKeywordOrIdentifier(lookahead.type)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + const stmt = super.parseStatementLike(flags); + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + return stmt; + } + parseExpressionStatement(node, expr, decorators) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) { + return this.flowParseDeclare(node); + } + } else if (tokenIsIdentifier(this.state.type)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + return super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { + return !this.state.containsEsc; + } + return super.shouldParseExportDeclaration(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { + return this.state.containsEsc; + } + return super.isExportDefaultSpecifier(); + } + parseExportDefaultExpression() { + if (this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + return super.parseExportDefaultExpression(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + this.expect(17); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + if (failed && valid.length > 1) { + this.raise(FlowErrors.AmbiguousConditionalArrow, state.startLoc); + } + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(14); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(14); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + while (stack.length !== 0) { + const node = stack.pop(); + if (node.type === "ArrowFunctionExpression" && node.body.type !== "BlockStatement") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + stack.push(node.body); + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + finishArrowValidation(node) { + var _node$extra; + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false); + this.scope.enter(514 | 4); + super.checkParams(node, false, true); + this.scope.exit(); + } + forwardNoArrowParamsConversionAt(node, parse) { + let result; + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + return result; + } + parseParenItem(node, startLoc) { + const newNode = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + newNode.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = newNode; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + return newNode; + } + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + super.assertModuleNodeAllowed(node); + } + parseExportDeclaration(node) { + if (this.isContextual(130)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + if (this.match(5)) { + node.specifiers = this.parseExportSpecifiers(true); + super.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual(131)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual(129)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.isContextual(126)) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + eatExportStar(node) { + if (super.eatExportStar(node)) return true; + if (this.isContextual(130) && this.lookahead().type === 55) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + const { + startLoc + } = this.state; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + if (hasNamespace && node.exportKind === "type") { + this.unexpected(startLoc); + } + return hasNamespace; + } + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + parseClassMember(classBody, member, state) { + const { + startLoc + } = this.state; + if (this.isContextual(125)) { + if (super.parseClassMemberFromModifier(classBody, member)) { + return; + } + member.declare = true; + } + super.parseClassMember(classBody, member, state); + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(FlowErrors.DeclareClassElement, startLoc); + } else if (member.value) { + this.raise(FlowErrors.DeclareClassFieldInitializer, member.value); + } + } + } + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + if (!this.isIterator(word) || !this.state.inType) { + this.raise(Errors.InvalidIdentifier, this.state.curPosition(), { + identifierName: fullWord + }); + } + this.finishToken(132, fullWord); + } + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 123 && next === 124) { + this.finishOp(6, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + this.finishOp(code === 62 ? 48 : 47, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + this.finishOp(18, 2); + } else { + this.finishOp(17, 1); + } + } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) { + this.state.pos += 2; + this.readIterator(); + } else { + super.getTokenFromCode(code); + } + } + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + super.toAssignable(node, isLHS); + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + const expr = exprList[i]; + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(FlowErrors.TypeCastInPattern, expr.typeAnnotation); + } + } + return exprList; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, isTuple, refExpressionErrors); + if (refExpressionErrors != null && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + return node; + } + isValidLVal(type, disallowCallExpression, isParenthesized, binding) { + return type === "TypeCastExpression" || super.isValidLVal(type, disallowCallExpression, isParenthesized, binding); + } + parseClassProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassPrivateProperty(node); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(14) || super.isClassProperty(); + } + isNonstaticConstructor(method) { + return !this.match(14) && super.isNonstaticConstructor(method); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + if (method.params && isConstructor) { + const params = method.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, method); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, method); + } + } + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && (this.match(47) || this.match(51))) { + { + node.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression(); + } + } + if (this.isContextual(113)) { + this.next(); + const implemented = node.implements = []; + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(12)); + } + } + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length > 0) { + const param = params[0]; + if (this.isThisParam(param) && method.kind === "get") { + this.raise(FlowErrors.GetterMayNotHaveThisParam, param); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.SetterMayNotHaveThisParam, param); + } + } + } + parsePropertyNamePrefixOperator(node) { + node.variance = this.flowParseVariance(); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.loc.start); + } + delete prop.variance; + let typeParameters; + if (this.match(47) && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(10)) this.unexpected(); + } + const result = super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + if (typeParameters) { + (result.value || result).typeParameters = typeParameters; + } + return result; + } + parseFunctionParamType(param) { + if (this.eat(17)) { + if (param.type !== "Identifier") { + this.raise(FlowErrors.PatternIsOptional, param); + } + if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, param); + } + param.optional = true; + } + if (this.match(14)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamAnnotationRequired, param); + } + if (this.match(29) && this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamNoDefault, param); + } + this.resetEndLocation(param); + return param; + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(FlowErrors.TypeBeforeInitializer, node.typeAnnotation); + } + return node; + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(FlowErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start); + } + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + if (!isExport) return true; + const ch = this.lookaheadCharCode(); + return ch === 123 || ch === 42; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + if (!phase && this.match(65)) { + return; + } + node.exportKind = phase === "type" ? phase : "value"; + } else { + if (phase === "type" && this.match(55)) this.unexpected(); + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + const firstIdent = specifier.imported; + let specifierTypeKind = null; + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + let isBinding = false; + if (this.isContextual(93) && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = this.cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, specifier, { + importName: firstIdent.value + }); + } + specifier.imported = firstIdent; + specifier.importKind = null; + } + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = this.cloneIdentifier(specifier.imported); + } + } + const specifierIsTypeImport = hasTypeImportKind(specifier); + if (isInTypeOnlyImport && specifierIsTypeImport) { + this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, specifier); + } + if (isInTypeOnlyImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.loc.start, true); + } + if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true); + } + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + default: + return super.parseBindingAtom(); + } + } + parseFunctionParams(node, isConstructor) { + const kind = node.kind; + if (kind !== "get" && kind !== "set" && this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (this.match(14)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + let state = null; + let jsx; + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if ((_jsx = jsx) != null && _jsx.error || this.match(47)) { + var _jsx2, _jsx3; + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, typeParameters); + } + return arrow.node; + } + arrowExpression = arrow.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, typeParameters); + } + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(19)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + return super.parseArrow(node); + } + shouldParseArrow(params) { + return this.match(14) || super.shouldParseArrow(params); + } + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + return; + } + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(FlowErrors.ThisParamMustBeFirst, node.params[i]); + } + } + super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); + } + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start))); + } + parseSubscripts(base, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.includes(startLoc.index)) { + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = super.parseCallExpressionArguments(); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + if (result.node) { + this.state = result.failState; + return result.node; + } + throw arrow.error || result.error; + } + return super.parseSubscripts(base, startLoc, noCalls); + } + parseSubscript(base, startLoc, noCalls, subscriptState) { + if (this.match(18) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + if (noCalls) { + subscriptState.stop = true; + return base; + } + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); + this.expect(10); + node.arguments = this.parseCallExpressionArguments(); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && (this.match(47) || this.match(51))) { + const node = this.startNodeAt(startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(10); + node.arguments = super.parseCallExpressionArguments(); + if (subscriptState.optionalChainMember) { + node.optional = false; + } + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + return super.parseSubscript(base, startLoc, noCalls, subscriptState); + } + parseNewCallee(node) { + super.parseNewCallee(node); + let targs = null; + if (this.shouldParseTypes() && this.match(47)) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + node.typeArguments = targs; + } + parseAsyncArrowWithTypeParameters(startLoc) { + const node = this.startNodeAt(startLoc); + this.parseFunctionParams(node, false); + if (!this.parseArrow(node)) return; + return super.parseArrowExpression(node, undefined, true); + } + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + super.readToken_mult_modulo(code); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 124 && next === 125) { + this.finishOp(9, 2); + return; + } + super.readToken_pipe_amp(code); + } + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + if (this.state.hasFlowComment) { + this.raise(FlowErrors.UnterminatedFlowComment, this.state.curPosition()); + } + return fileNode; + } + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + throw this.raise(FlowErrors.NestedFlowComment, this.state.startLoc); + } + this.hasFlowCommentCompletion(); + const commentSkip = this.skipFlowComment(); + if (commentSkip) { + this.state.pos += commentSkip; + this.state.hasFlowComment = true; + } + return; + } + return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/"); + } + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + return false; + } + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, this.state.curPosition()); + } + } + flowEnumErrorBooleanMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumBooleanMemberNotInitialized, loc, { + memberName, + enumName + }); + } + flowEnumErrorInvalidMemberInitializer(loc, enumContext) { + return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, loc, enumContext); + } + flowEnumErrorNumberMemberNotInitialized(loc, details) { + this.raise(FlowErrors.EnumNumberMemberNotInitialized, loc, details); + } + flowEnumErrorStringMemberInconsistentlyInitialized(node, details) { + this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized, node, details); + } + flowEnumMemberInit() { + const startLoc = this.state.startLoc; + const endOfInit = () => this.match(12) || this.match(8); + switch (this.state.type) { + case 135: + { + const literal = this.parseNumericLiteral(this.state.value); + if (endOfInit()) { + return { + type: "number", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 134: + { + const literal = this.parseStringLiteral(this.state.value); + if (endOfInit()) { + return { + type: "string", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 85: + case 86: + { + const literal = this.parseBooleanLiteral(this.match(85)); + if (endOfInit()) { + return { + type: "boolean", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + default: + return { + type: "invalid", + loc: startLoc + }; + } + } + flowEnumMemberRaw() { + const loc = this.state.startLoc; + const id = this.parseIdentifier(true); + const init = this.eat(29) ? this.flowEnumMemberInit() : { + type: "none", + loc + }; + return { + id, + init + }; + } + flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) { + const { + explicitType + } = context; + if (explicitType === null) { + return; + } + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(loc, context); + } + } + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + while (!this.match(8)) { + if (this.eat(21)) { + hasUnknownMembers = true; + break; + } + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + if (memberName === "") { + continue; + } + if (/^[a-z]/.test(memberName)) { + this.raise(FlowErrors.EnumInvalidMemberName, id, { + memberName, + suggestion: memberName[0].toUpperCase() + memberName.slice(1), + enumName + }); + } + if (seenNames.has(memberName)) { + this.raise(FlowErrors.EnumDuplicateMemberName, id, { + memberName, + enumName + }); + } + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context); + } + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context); + break; + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.loc, context); + break; + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + if (!this.match(8)) { + this.expect(12); + } + } + return { + members, + hasUnknownMembers + }; + } + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return initializedMembers; + } + } + flowEnumParseExplicitType({ + enumName + }) { + if (!this.eatContextual(102)) return null; + if (!tokenIsIdentifier(this.state.type)) { + throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, { + enumName + }); + } + const { + value + } = this.state; + this.next(); + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.raise(FlowErrors.EnumInvalidExplicitType, this.state.startLoc, { + enumName, + invalidEnumType: value + }); + } + return value; + } + flowEnumBody(node, id) { + const enumName = id.name; + const nameLoc = id.loc.start; + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(5); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + case "symbol": + node.members = members.defaultedMembers; + this.expect(8); + return this.finishNode(node, "EnumSymbolBody"); + default: + { + const empty = () => { + node.members = []; + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + }; + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.raise(FlowErrors.EnumInconsistentMemberValues, nameLoc, { + enumName + }); + return empty(); + } + } + } + } + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), id); + return this.finishNode(node, "EnumDeclaration"); + } + jsxParseOpeningElementAfterName(node) { + if (this.shouldParseTypes()) { + if (this.match(47) || this.match(51)) { + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); + } + } + return super.jsxParseOpeningElementAfterName(node); + } + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + return false; + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } +}; +const entities = { + __proto__: null, + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; +const lineBreak = /\r\n|[\r\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + default: + return false; + } +} +function hasNewLine(input, start, end) { + for (let i = start; i < end; i++) { + if (isNewLine(input.charCodeAt(i))) { + return true; + } + } + return false; +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g; +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + default: + return false; + } +} +const JsxErrors = ParseErrorEnum`jsx`({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: ({ + openingTagName + }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`, + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnexpectedToken: ({ + unexpected, + HTMLEntity + }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`, + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?" +}); +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + throw new Error("Node had unexpected type: " + object.type); +} +var jsx = superClass => class JSXParserMixin extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(JsxErrors.UnterminatedJsxContent, this.state.startLoc); + } + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.canStartJSXElement) { + ++this.state.pos; + this.finishToken(143); + } else { + super.getTokenFromCode(ch); + } + return; + } + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(142, out); + return; + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + case 62: + case 125: + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + } + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(Errors.UnterminatedString, this.state.startLoc); + } + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(134, out); + } + jsxReadEntity() { + const startPos = ++this.state.pos; + if (this.codePointAtPos(this.state.pos) === 35) { + ++this.state.pos; + let radix = 10; + if (this.codePointAtPos(this.state.pos) === 120) { + radix = 16; + ++this.state.pos; + } + const codePoint = this.readInt(radix, undefined, false, "bail"); + if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) { + ++this.state.pos; + return String.fromCodePoint(codePoint); + } + } else { + let count = 0; + let semi = false; + while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) === 59)) { + ++this.state.pos; + } + if (semi) { + const desc = this.input.slice(startPos, this.state.pos); + const entity = entities[desc]; + ++this.state.pos; + if (entity) { + return entity; + } + } + } + this.state.pos = startPos; + return "&"; + } + jsxReadWord() { + let ch; + const start = this.state.pos; + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + this.finishToken(141, this.input.slice(start, this.state.pos)); + } + jsxParseIdentifier() { + const node = this.startNode(); + if (this.match(141)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + jsxParseNamespacedName() { + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(14)) return name; + const node = this.startNodeAt(startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + jsxParseElementName() { + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + if (node.type === "JSXNamespacedName") { + return node; + } + while (this.eat(16)) { + const newNode = this.startNodeAt(startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + return node; + } + jsxParseAttributeValue() { + let node; + switch (this.state.type) { + case 5: + node = this.startNode(); + this.setContext(types.brace); + this.next(); + node = this.jsxParseExpressionContainer(node, types.j_oTag); + if (node.expression.type === "JSXEmptyExpression") { + this.raise(JsxErrors.AttributeIsEmpty, node); + } + return node; + case 143: + case 134: + return this.parseExprAtom(); + default: + throw this.raise(JsxErrors.UnsupportedJsxValue, this.state.startLoc); + } + } + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc); + } + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadChild"); + } + jsxParseExpressionContainer(node, previousContext) { + if (this.match(8)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + this.setContext(previousContext); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXExpressionContainer"); + } + jsxParseAttribute() { + const node = this.startNode(); + if (this.match(5)) { + this.setContext(types.brace); + this.next(); + this.expect(21); + node.argument = this.parseMaybeAssignAllowIn(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadAttribute"); + } + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(29) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + jsxParseOpeningElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(144)) { + return this.finishNode(node, "JSXOpeningFragment"); + } + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + jsxParseOpeningElementAfterName(node) { + const attributes = []; + while (!this.match(56) && !this.match(144)) { + attributes.push(this.jsxParseAttribute()); + } + node.attributes = attributes; + node.selfClosing = this.eat(56); + this.expect(144); + return this.finishNode(node, "JSXOpeningElement"); + } + jsxParseClosingElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(144)) { + return this.finishNode(node, "JSXClosingFragment"); + } + node.name = this.jsxParseElementName(); + this.expect(144); + return this.finishNode(node, "JSXClosingElement"); + } + jsxParseElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startLoc); + let closingElement = null; + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 143: + startLoc = this.state.startLoc; + this.next(); + if (this.eat(56)) { + closingElement = this.jsxParseClosingElementAt(startLoc); + break contents; + } + children.push(this.jsxParseElementAt(startLoc)); + break; + case 142: + children.push(this.parseLiteral(this.state.value, "JSXText")); + break; + case 5: + { + const node = this.startNode(); + this.setContext(types.brace); + this.next(); + if (this.match(21)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node, types.j_expr)); + } + break; + } + default: + this.unexpected(); + } + } + if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) { + this.raise(JsxErrors.MissingClosingTagFragment, closingElement); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(JsxErrors.MissingClosingTagElement, closingElement, { + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(JsxErrors.MissingClosingTagElement, closingElement, { + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } + } + } + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + node.children = children; + if (this.match(47)) { + throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, this.state.startLoc); + } + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + jsxParseElement() { + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startLoc); + } + setContext(newContext) { + const { + context + } = this.state; + context[context.length - 1] = newContext; + } + parseExprAtom(refExpressionErrors) { + if (this.match(143)) { + return this.jsxParseElement(); + } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { + this.replaceToken(143); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + skipSpace() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) super.skipSpace(); + } + getTokenFromCode(code) { + const context = this.curContext(); + if (context === types.j_expr) { + this.jsxReadToken(); + return; + } + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + this.jsxReadWord(); + return; + } + if (code === 62) { + ++this.state.pos; + this.finishToken(144); + return; + } + if ((code === 34 || code === 39) && context === types.j_oTag) { + this.jsxReadString(code); + return; + } + } + if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + this.finishToken(143); + return; + } + super.getTokenFromCode(code); + } + updateContext(prevType) { + const { + context, + type + } = this.state; + if (type === 56 && prevType === 143) { + context.splice(-2, 2, types.j_cTag); + this.state.canStartJSXElement = false; + } else if (type === 143) { + context.push(types.j_oTag); + } else if (type === 144) { + const out = context[context.length - 1]; + if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { + context.pop(); + this.state.canStartJSXElement = context[context.length - 1] === types.j_expr; + } else { + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + } + } else { + this.state.canStartJSXElement = tokenComesBeforeExpression(type); + } + } +}; +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.tsNames = new Map(); + } +} +class TypeScriptScopeHandler extends ScopeHandler { + constructor(...args) { + super(...args); + this.importsStack = []; + } + createScope(flags) { + this.importsStack.push(new Set()); + return new TypeScriptScope(flags); + } + enter(flags) { + if (flags === 1024) { + this.importsStack.push(new Set()); + } + super.enter(flags); + } + exit() { + const flags = super.exit(); + if (flags === 1024) { + this.importsStack.pop(); + } + return flags; + } + hasImport(name, allowShadow) { + const len = this.importsStack.length; + if (this.importsStack[len - 1].has(name)) { + return true; + } + if (!allowShadow && len > 1) { + for (let i = 0; i < len - 1; i++) { + if (this.importsStack[i].has(name)) return true; + } + } + return false; + } + declareName(name, bindingType, loc) { + if (bindingType & 4096) { + if (this.hasImport(name, true)) { + this.parser.raise(Errors.VarRedeclaration, loc, { + identifierName: name + }); + } + this.importsStack[this.importsStack.length - 1].add(name); + return; + } + const scope = this.currentScope(); + let type = scope.tsNames.get(name) || 0; + if (bindingType & 1024) { + this.maybeExportDefined(scope, name); + scope.tsNames.set(name, type | 16); + return; + } + super.declareName(name, bindingType, loc); + if (bindingType & 2) { + if (!(bindingType & 1)) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + } + type = type | 1; + } + if (bindingType & 256) { + type = type | 2; + } + if (bindingType & 512) { + type = type | 4; + } + if (bindingType & 128) { + type = type | 8; + } + if (type) scope.tsNames.set(name, type); + } + isRedeclaredInScope(scope, name, bindingType) { + const type = scope.tsNames.get(name); + if ((type & 2) > 0) { + if (bindingType & 256) { + const isConst = !!(bindingType & 512); + const wasConst = (type & 4) > 0; + return isConst !== wasConst; + } + return true; + } + if (bindingType & 128 && (type & 8) > 0) { + if (scope.names.get(name) & 2) { + return !!(bindingType & 1); + } else { + return false; + } + } + if (bindingType & 2 && (type & 1) > 0) { + return true; + } + return super.isRedeclaredInScope(scope, name, bindingType); + } + checkLocalExport(id) { + const { + name + } = id; + if (this.hasImport(name)) return; + const len = this.scopeStack.length; + for (let i = len - 1; i >= 0; i--) { + const scope = this.scopeStack[i]; + const type = scope.tsNames.get(name); + if ((type & 1) > 0 || (type & 16) > 0) { + return; + } + } + super.checkLocalExport(id); + } +} +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + enter(flags) { + this.stacks.push(flags); + } + exit() { + this.stacks.pop(); + } + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + get hasAwait() { + return (this.currentFlags() & 2) > 0; + } + get hasYield() { + return (this.currentFlags() & 1) > 0; + } + get hasReturn() { + return (this.currentFlags() & 4) > 0; + } + get hasIn() { + return (this.currentFlags() & 8) > 0; + } +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? 2 : 0) | (isGenerator ? 1 : 0); +} +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + sourceToOffsetPos(sourcePos) { + return sourcePos + this.startIndex; + } + offsetToSourcePos(offsetPos) { + return offsetPos - this.startIndex; + } + hasPlugin(pluginConfig) { + if (typeof pluginConfig === "string") { + return this.plugins.has(pluginConfig); + } else { + const [pluginName, pluginOptions] = pluginConfig; + if (!this.hasPlugin(pluginName)) { + return false; + } + const actualOptions = this.plugins.get(pluginName); + for (const key of Object.keys(pluginOptions)) { + if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) { + return false; + } + } + return true; + } + } + getPluginOption(plugin, name) { + var _this$plugins$get; + return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name]; + } +} +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} +function setLeadingComments(node, comments) { + if (node.leadingComments === undefined) { + node.leadingComments = comments; + } else { + node.leadingComments.unshift(...comments); + } +} +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else { + node.innerComments.unshift(...comments); + } +} +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + const { + commentsLen + } = this.state; + if (this.comments.length !== commentsLen) { + this.comments.length = commentsLen; + } + this.comments.push(comment); + this.state.commentsLen++; + } + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + const { + start: nodeStart + } = node; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + break; + } + } + } + finalizeComment(commentWS) { + var _node$options; + const { + comments + } = commentWS; + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + if (commentWS.trailingNode !== null) { + setLeadingComments(commentWS.trailingNode, comments); + } + } else { + const node = commentWS.containingNode; + const commentStart = commentWS.start; + if (this.input.charCodeAt(this.offsetToSourcePos(commentStart) - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + case "RecordExpression": + adjustInnerComments(node, node.properties, commentWS); + break; + case "CallExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + case "ImportExpression": + adjustInnerComments(node, [node.source, (_node$options = node.options) != null ? _node$options : null], commentWS); + break; + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + adjustInnerComments(node, node.params, commentWS); + break; + case "ArrayExpression": + case "ArrayPattern": + case "TupleExpression": + adjustInnerComments(node, node.elements, commentWS); + break; + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + case "TSEnumDeclaration": + { + adjustInnerComments(node, node.members, commentWS); + } + break; + case "TSEnumBody": + adjustInnerComments(node, node.members, commentWS); + break; + default: + { + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + finalizeRemainingComments() { + const { + commentStack + } = this.state; + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + this.state.commentStack = []; + } + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + takeSurroundingComments(node, start, end) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + const commentStart = commentWS.start; + if (commentStart === end) { + commentWS.leadingNode = node; + } else if (commentEnd === start) { + commentWS.trailingNode = node; + } else if (commentEnd < start) { + break; + } + } + } +} +class State { + constructor() { + this.flags = 1024; + this.startIndex = void 0; + this.curLine = void 0; + this.lineStart = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.labels = []; + this.commentsLen = 0; + this.commentStack = []; + this.pos = 0; + this.type = 140; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.context = [types.brace]; + this.firstInvalidTemplateEscapePos = null; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + get strict() { + return (this.flags & 1) > 0; + } + set strict(v) { + if (v) this.flags |= 1;else this.flags &= -2; + } + init({ + strictMode, + sourceType, + startIndex, + startLine, + startColumn + }) { + this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.startIndex = startIndex; + this.curLine = startLine; + this.lineStart = -startColumn; + this.startLoc = this.endLoc = new Position(startLine, startColumn, startIndex); + } + get maybeInArrowParameters() { + return (this.flags & 2) > 0; + } + set maybeInArrowParameters(v) { + if (v) this.flags |= 2;else this.flags &= -3; + } + get inType() { + return (this.flags & 4) > 0; + } + set inType(v) { + if (v) this.flags |= 4;else this.flags &= -5; + } + get noAnonFunctionType() { + return (this.flags & 8) > 0; + } + set noAnonFunctionType(v) { + if (v) this.flags |= 8;else this.flags &= -9; + } + get hasFlowComment() { + return (this.flags & 16) > 0; + } + set hasFlowComment(v) { + if (v) this.flags |= 16;else this.flags &= -17; + } + get isAmbientContext() { + return (this.flags & 32) > 0; + } + set isAmbientContext(v) { + if (v) this.flags |= 32;else this.flags &= -33; + } + get inAbstractClass() { + return (this.flags & 64) > 0; + } + set inAbstractClass(v) { + if (v) this.flags |= 64;else this.flags &= -65; + } + get inDisallowConditionalTypesContext() { + return (this.flags & 128) > 0; + } + set inDisallowConditionalTypesContext(v) { + if (v) this.flags |= 128;else this.flags &= -129; + } + get soloAwait() { + return (this.flags & 256) > 0; + } + set soloAwait(v) { + if (v) this.flags |= 256;else this.flags &= -257; + } + get inFSharpPipelineDirectBody() { + return (this.flags & 512) > 0; + } + set inFSharpPipelineDirectBody(v) { + if (v) this.flags |= 512;else this.flags &= -513; + } + get canStartJSXElement() { + return (this.flags & 1024) > 0; + } + set canStartJSXElement(v) { + if (v) this.flags |= 1024;else this.flags &= -1025; + } + get containsEsc() { + return (this.flags & 2048) > 0; + } + set containsEsc(v) { + if (v) this.flags |= 2048;else this.flags &= -2049; + } + get hasTopLevelAwait() { + return (this.flags & 4096) > 0; + } + set hasTopLevelAwait(v) { + if (v) this.flags |= 4096;else this.flags &= -4097; + } + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex); + } + clone() { + const state = new State(); + state.flags = this.flags; + state.startIndex = this.startIndex; + state.curLine = this.curLine; + state.lineStart = this.lineStart; + state.startLoc = this.startLoc; + state.endLoc = this.endLoc; + state.errors = this.errors.slice(); + state.potentialArrowAt = this.potentialArrowAt; + state.noArrowAt = this.noArrowAt.slice(); + state.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(); + state.topicContext = this.topicContext; + state.labels = this.labels.slice(); + state.commentsLen = this.commentsLen; + state.commentStack = this.commentStack.slice(); + state.pos = this.pos; + state.type = this.type; + state.value = this.value; + state.start = this.start; + state.end = this.end; + state.lastTokEndLoc = this.lastTokEndLoc; + state.lastTokStartLoc = this.lastTokStartLoc; + state.context = this.context.slice(); + state.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos; + state.strictErrors = this.strictErrors; + state.tokensLength = this.tokensLength; + return state; + } +} +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; +const forbiddenNumericSeparatorSiblings = { + decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: new Set([46, 88, 95, 120]) +}; +const isAllowedNumericSeparatorSibling = { + bin: ch => ch === 48 || ch === 49, + oct: ch => ch >= 48 && ch <= 55, + dec: ch => ch >= 48 && ch <= 57, + hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 +}; +function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length + } = input; + for (;;) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; +} +function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); +} +function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = ch => ({ + pos, + ch, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: + { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: + { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res("\t"); + case 98: + return res("\b"); + case 118: + return res("\u000b"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2)); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } +} +function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; +} +function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + if (bailOnError) return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; +} +function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; +} +function buildPosition(pos, lineStart, curLine) { + return new Position(curLine, pos - lineStart, pos); +} +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); +class Token { + constructor(state) { + const startIndex = state.startIndex || 0; + this.type = state.type; + this.value = state.value; + this.start = startIndex + state.start; + this.end = startIndex + state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } +} +class Tokenizer extends CommentsParser { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.errorHandlers_readInt = { + invalidDigit: (pos, lineStart, curLine, radix) => { + if (!(this.optionFlags & 2048)) return false; + this.raise(Errors.InvalidDigit, buildPosition(pos, lineStart, curLine), { + radix + }); + return true; + }, + numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence), + unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator) + }; + this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, { + invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence), + invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint) + }); + this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: (pos, lineStart, curLine) => { + this.recordStrictModeErrors(Errors.StrictNumericEscape, buildPosition(pos, lineStart, curLine)); + }, + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedString, buildPosition(pos - 1, lineStart, curLine)); + } + }); + this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape), + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedTemplate, buildPosition(pos, lineStart, curLine)); + } + }); + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.comments = []; + this.isLookahead = false; + } + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + next() { + this.checkKeywordEscapes(); + if (this.optionFlags & 256) { + this.pushToken(new Token(this.state)); + } + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + match(type) { + return this.state.type === type; + } + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + context: [this.curContext()], + inType: state.inType, + startLoc: state.startLoc, + lastTokEndLoc: state.lastTokEndLoc, + curLine: state.curLine, + lineStart: state.lineStart, + curPosition: state.curPosition + }; + } + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + lookaheadCharCode() { + return this.lookaheadCharCodeSince(this.state.pos); + } + lookaheadCharCodeSince(pos) { + return this.input.charCodeAt(this.nextTokenStartSince(pos)); + } + nextTokenInLineStart() { + return this.nextTokenInLineStartSince(this.state.pos); + } + nextTokenInLineStartSince(pos) { + skipWhiteSpaceInLine.lastIndex = pos; + return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos; + } + lookaheadInLineCharCode() { + return this.input.charCodeAt(this.nextTokenInLineStart()); + } + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + return cp; + } + setStrict(strict) { + this.state.strict = strict; + if (strict) { + this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, at)); + this.state.strictErrors.clear(); + } + } + curContext() { + return this.state.context[this.state.context.length - 1]; + } + nextToken() { + this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + if (this.state.pos >= this.length) { + this.finishToken(140); + return; + } + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + skipBlockComment(commentEnd) { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf(commentEnd, start + 2); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, this.state.curPosition()); + } + this.state.pos = end + commentEnd.length; + lineBreakG.lastIndex = start + 2; + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end + commentEnd.length), + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.optionFlags & 256) this.pushToken(comment); + return comment; + } + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end), + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.optionFlags & 256) this.pushToken(comment); + return comment; + } + skipSpace() { + const spaceStart = this.state.pos; + const comments = this.optionFlags & 4096 ? [] : null; + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment("*/"); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + break; + } + case 47: + { + const comment = this.skipLineComment(2); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + break; + } + default: + break loop; + } + break; + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule && this.optionFlags & 8192) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule && this.optionFlags & 8192) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + } + } + if ((comments == null ? void 0 : comments.length) > 0) { + const end = this.state.pos; + const commentWhitespace = { + start: this.sourceToOffsetPos(spaceStart), + end: this.sourceToOffsetPos(end), + comments: comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(commentWhitespace); + } + } + finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + if (!this.isLookahead) { + this.updateContext(prevType); + } + } + replaceToken(type) { + this.state.type = type; + this.updateContext(); + } + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + if (next >= 48 && next <= 57) { + throw this.raise(Errors.UnexpectedDigitAfterHash, this.state.curPosition()); + } + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + if (this.getPluginOption("recordAndTuple", "syntaxType") === "bar") { + throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + if (next === 123) { + this.finishToken(7); + } else { + this.finishToken(1); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(139, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(139, this.readWord1()); + } else { + this.finishOp(27, 1); + } + } + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(21); + } else { + ++this.state.pos; + this.finishToken(16); + } + } + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(31, 2); + } else { + this.finishOp(56, 1); + } + } + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(28, value); + return true; + } + readToken_mult_modulo(code) { + let type = code === 42 ? 55 : 54; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 57; + } + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 33 : 30; + } + this.finishOp(type, width); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(code === 124 ? 41 : 42, 2); + } + return; + } + if (code === 124) { + if (next === 62) { + this.finishOp(39, 2); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(9); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(4); + return; + } + } + if (next === 61) { + this.finishOp(30, 2); + return; + } + this.finishOp(code === 124 ? 43 : 45, 1); + } + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61 && !this.state.inType) { + this.finishOp(32, 2); + } else if (next === 94 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "^^" + }])) { + this.finishOp(37, 2); + const lookaheadCh = this.input.codePointAt(this.state.pos); + if (lookaheadCh === 94) { + this.unexpected(); + } + } else { + this.finishOp(44, 1); + } + } + readToken_atSign() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 64 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "@@" + }])) { + this.finishOp(38, 2); + } else { + this.finishOp(26, 1); + } + } + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + this.finishOp(34, 2); + return; + } + if (next === 61) { + this.finishOp(30, 2); + } else { + this.finishOp(53, 1); + } + } + readToken_lt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 60) { + if (this.input.charCodeAt(pos + 2) === 61) { + this.finishOp(30, 3); + return; + } + this.finishOp(51, 2); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(47, 1); + } + readToken_gt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 62) { + const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(pos + size) === 61) { + this.finishOp(30, size + 1); + return; + } + this.finishOp(52, size); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(48, 1); + } + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(19); + return; + } + this.finishOp(code === 61 ? 29 : 35, 1); + } + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + if (next === 63) { + if (next2 === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(40, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(18); + } else { + ++this.state.pos; + this.finishToken(17); + } + } + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + case 40: + ++this.state.pos; + this.finishToken(10); + return; + case 41: + ++this.state.pos; + this.finishToken(11); + return; + case 59: + ++this.state.pos; + this.finishToken(13); + return; + case 44: + ++this.state.pos; + this.finishToken(12); + return; + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(2); + } else { + ++this.state.pos; + this.finishToken(0); + } + return; + case 93: + ++this.state.pos; + this.finishToken(3); + return; + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(6); + } else { + ++this.state.pos; + this.finishToken(5); + } + return; + case 125: + ++this.state.pos; + this.finishToken(8); + return; + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(15, 2); + } else { + ++this.state.pos; + this.finishToken(14); + } + return; + case 63: + this.readToken_question(); + return; + case 96: + this.readTemplateToken(); + return; + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + case 34: + case 39: + this.readString(code); + return; + case 47: + this.readToken_slash(); + return; + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + case 94: + this.readToken_caret(); + return; + case 43: + case 45: + this.readToken_plus_min(code); + return; + case 60: + this.readToken_lt(); + return; + case 62: + this.readToken_gt(); + return; + case 61: + case 33: + this.readToken_eq_excl(code); + return; + case 126: + this.finishOp(36, 1); + return; + case 64: + this.readToken_atSign(); + return; + case 35: + this.readToken_numberSign(); + return; + case 92: + this.readWord(); + return; + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + } + throw this.raise(Errors.InvalidOrUnexpectedToken, this.state.curPosition(), { + unexpected: String.fromCodePoint(code) + }); + } + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + readRegexp() { + const startLoc = this.state.startLoc; + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1)); + } + const ch = this.input.charCodeAt(pos); + if (isNewLine(ch)) { + throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1)); + } + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + escaped = ch === 92; + } + } + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start); + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + if (VALID_REGEX_FLAGS.has(cp)) { + if (cp === 118) { + if (mods.includes("u")) { + this.raise(Errors.IncompatibleRegExpUVFlags, nextPos()); + } + } else if (cp === 117) { + if (mods.includes("v")) { + this.raise(Errors.IncompatibleRegExpUVFlags, nextPos()); + } + } + if (mods.includes(char)) { + this.raise(Errors.DuplicateRegExpFlags, nextPos()); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(Errors.MalformedRegExpFlags, nextPos()); + } else { + break; + } + ++pos; + mods += char; + } + this.state.pos = pos; + this.finishToken(138, { + pattern: content, + flags: mods + }); + } + readInt(radix, len, forceLen = false, allowNumSeparator = true) { + const { + n, + pos + } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false); + this.state.pos = pos; + return n; + } + readRadixNumber(radix) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + if (val == null) { + this.raise(Errors.InvalidDigit, createPositionWithColumnOffset(startLoc, 2), { + radix + }); + } + const next = this.input.charCodeAt(this.state.pos); + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(Errors.InvalidDecimal, startLoc); + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, this.state.curPosition()); + } + if (isBigInt) { + const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(136, str); + return; + } + this.finishToken(135, val); + } + readNumber(startsWithDot) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isFloat = false; + let isBigInt = false; + let hasExponent = false; + let isOctal = false; + if (!startsWithDot && this.readInt(10) === null) { + this.raise(Errors.InvalidNumber, this.state.curPosition()); + } + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(Errors.StrictOctalLiteral, startLoc); + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + if (underscorePos > 0) { + this.raise(Errors.ZeroDigitNumericSeparator, createPositionWithColumnOffset(startLoc, underscorePos)); + } + } + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + let next = this.input.charCodeAt(this.state.pos); + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + if (next === 43 || next === 45) { + ++this.state.pos; + } + if (this.readInt(10) === null) { + this.raise(Errors.InvalidOrMissingExponent, startLoc); + } + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(Errors.InvalidBigIntLiteral, startLoc); + } + ++this.state.pos; + isBigInt = true; + } + if (next === 109) { + this.expectPlugin("decimal", this.state.curPosition()); + if (hasExponent || hasLeadingZero) { + this.raise(Errors.InvalidDecimal, startLoc); + } + ++this.state.pos; + var isDecimal = true; + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, this.state.curPosition()); + } + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + if (isBigInt) { + this.finishToken(136, str); + return; + } + if (isDecimal) { + this.finishToken(137, str); + return; + } + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(135, val); + } + readCodePoint(throwOnInvalid) { + const { + code, + pos + } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint); + this.state.pos = pos; + return code; + } + readString(quote) { + const { + str, + pos, + curLine, + lineStart + } = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + this.finishToken(134, str); + } + readTemplateContinuation() { + if (!this.match(8)) { + this.unexpected(null, 8); + } + this.state.pos--; + this.readTemplateToken(); + } + readTemplateToken() { + const opening = this.input[this.state.pos]; + const { + str, + firstInvalidLoc, + pos, + curLine, + lineStart + } = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + if (firstInvalidLoc) { + this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, this.sourceToOffsetPos(firstInvalidLoc.pos)); + } + if (this.input.codePointAt(pos) === 96) { + this.finishToken(24, firstInvalidLoc ? null : opening + str + "`"); + } else { + this.state.pos++; + this.finishToken(25, firstInvalidLoc ? null : opening + str + "${"); + } + } + recordStrictModeErrors(toParseError, at) { + const index = at.index; + if (this.state.strict && !this.state.strictErrors.has(index)) { + this.raise(toParseError, at); + } else { + this.state.strictErrors.set(index, [toParseError, at]); + } + } + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.curPosition(); + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(Errors.MissingUnicodeEscape, this.state.curPosition()); + chunkStart = this.state.pos - 1; + continue; + } + ++this.state.pos; + const esc = this.readCodePoint(true); + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(Errors.EscapedCharNotAnIdentifier, escStart); + } + word += String.fromCodePoint(esc); + } + chunkStart = this.state.pos; + } else { + break; + } + } + return word + this.input.slice(chunkStart, this.state.pos); + } + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word); + if (type !== undefined) { + this.finishToken(type, tokenLabelName(type)); + } else { + this.finishToken(132, word); + } + } + checkKeywordEscapes() { + const { + type + } = this.state; + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, this.state.startLoc, { + reservedWord: tokenLabelName(type) + }); + } + } + raise(toParseError, at, details = {}) { + const loc = at instanceof Position ? at : at.loc.start; + const error = toParseError(loc, details); + if (!(this.optionFlags & 2048)) throw error; + if (!this.isLookahead) this.state.errors.push(error); + return error; + } + raiseOverwrite(toParseError, at, details = {}) { + const loc = at instanceof Position ? at : at.loc.start; + const pos = loc.index; + const errors = this.state.errors; + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + if (error.loc.index === pos) { + return errors[i] = toParseError(loc, details); + } + if (error.loc.index < pos) break; + } + return this.raise(toParseError, at, details); + } + updateContext(prevType) {} + unexpected(loc, type) { + throw this.raise(Errors.UnexpectedToken, loc != null ? loc : this.state.startLoc, { + expected: type ? tokenLabelName(type) : null + }); + } + expectPlugin(pluginName, loc) { + if (this.hasPlugin(pluginName)) { + return true; + } + throw this.raise(Errors.MissingPlugin, loc != null ? loc : this.state.startLoc, { + missingPlugin: [pluginName] + }); + } + expectOnePlugin(pluginNames) { + if (!pluginNames.some(name => this.hasPlugin(name))) { + throw this.raise(Errors.MissingOneOfPlugins, this.state.startLoc, { + missingPlugin: pluginNames + }); + } + } + errorBuilder(error) { + return (pos, lineStart, curLine) => { + this.raise(error, buildPosition(pos, lineStart, curLine)); + }; + } +} +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } +} +class ClassScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.parser = parser; + } + current() { + return this.stack[this.stack.length - 1]; + } + enter() { + this.stack.push(new ClassScope()); + } + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, loc); + } + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, { + identifierName: name + }); + } + } + } + declarePrivateName(name, elementType, loc) { + const { + privateNames, + loneAccessors, + undefinedPrivateNames + } = this.current(); + let redefined = privateNames.has(name); + if (elementType & 3) { + const accessor = redefined && loneAccessors.get(name); + if (accessor) { + const oldStatic = accessor & 4; + const newStatic = elementType & 4; + const oldKind = accessor & 3; + const newKind = elementType & 3; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) loneAccessors.delete(name); + } else if (!redefined) { + loneAccessors.set(name, elementType); + } + } + if (redefined) { + this.parser.raise(Errors.PrivateNameRedeclaration, loc, { + identifierName: name + }); + } + privateNames.add(name); + undefinedPrivateNames.delete(name); + } + usePrivateName(name, loc) { + let classScope; + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + if (classScope) { + classScope.undefinedPrivateNames.set(name, loc); + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, { + identifierName: name + }); + } + } +} +class ExpressionScope { + constructor(type = 0) { + this.type = type; + } + canBeArrowParameterDeclaration() { + return this.type === 2 || this.type === 1; + } + isCertainlyParameterDeclaration() { + return this.type === 3; + } +} +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.declarationErrors = new Map(); + } + recordDeclarationError(ParsingErrorClass, at) { + const index = at.index; + this.declarationErrors.set(index, [ParsingErrorClass, at]); + } + clearDeclarationError(index) { + this.declarationErrors.delete(index); + } + iterateErrors(iterator) { + this.declarationErrors.forEach(iterator); + } +} +class ExpressionScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = [new ExpressionScope()]; + this.parser = parser; + } + enter(scope) { + this.stack.push(scope); + } + exit() { + this.stack.pop(); + } + recordParameterInitializerError(toParseError, node) { + const origin = node.loc.start; + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(toParseError, origin); + } else { + return; + } + scope = stack[--i]; + } + this.parser.raise(toParseError, origin); + } + recordArrowParameterBindingError(error, node) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + const origin = node.loc.start; + if (scope.isCertainlyParameterDeclaration()) { + this.parser.raise(error, origin); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(error, origin); + } else { + return; + } + } + recordAsyncArrowParametersError(at) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === 2) { + scope.recordDeclarationError(Errors.AwaitBindingIdentifier, at); + } + scope = stack[--i]; + } + } + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors(([toParseError, loc]) => { + this.parser.raise(toParseError, loc); + let i = stack.length - 2; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(loc.index); + scope = stack[--i]; + } + }); + } +} +function newParameterDeclarationScope() { + return new ExpressionScope(3); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(1); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(2); +} +function newExpressionScope() { + return new ExpressionScope(); +} +class UtilParser extends Tokenizer { + addExtra(node, key, value, enumerable = true) { + if (!node) return; + let { + extra + } = node; + if (extra == null) { + extra = {}; + node.extra = extra; + } + if (enumerable) { + extra[key] = value; + } else { + Object.defineProperty(extra, key, { + enumerable, + value + }); + } + } + isContextual(token) { + return this.state.type === token && !this.state.containsEsc; + } + isUnparsedContextual(nameStart, name) { + if (this.input.startsWith(name, nameStart)) { + const nextCh = this.input.charCodeAt(nameStart + name.length); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + return false; + } + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + eatContextual(token) { + if (this.isContextual(token)) { + this.next(); + return true; + } + return false; + } + expectContextual(token, toParseError) { + if (!this.eatContextual(token)) { + if (toParseError != null) { + throw this.raise(toParseError, this.state.startLoc); + } + this.unexpected(null, token); + } + } + canInsertSemicolon() { + return this.match(140) || this.match(8) || this.hasPrecedingLineBreak(); + } + hasPrecedingLineBreak() { + return hasNewLine(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start); + } + hasFollowingLineBreak() { + return hasNewLine(this.input, this.state.end, this.nextTokenStart()); + } + isLineTerminator() { + return this.eat(13) || this.canInsertSemicolon(); + } + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(13)) return; + this.raise(Errors.MissingSemicolon, this.state.lastTokEndLoc); + } + expect(type, loc) { + if (!this.eat(type)) { + this.unexpected(loc, type); + } + } + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + return { + node: node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + throw error; + } + } + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssignLoc, + doubleProtoLoc, + privateKeyLoc, + optionalParametersLoc, + voidPatternLoc + } = refExpressionErrors; + const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc || !!voidPatternLoc; + if (!andThrow) { + return hasErrors; + } + if (shorthandAssignLoc != null) { + this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc); + } + if (doubleProtoLoc != null) { + this.raise(Errors.DuplicateProto, doubleProtoLoc); + } + if (privateKeyLoc != null) { + this.raise(Errors.UnexpectedPrivateField, privateKeyLoc); + } + if (optionalParametersLoc != null) { + this.unexpected(optionalParametersLoc); + } + if (voidPatternLoc != null) { + this.raise(Errors.InvalidCoverDiscardElement, voidPatternLoc); + } + } + isLiteralPropertyName() { + return tokenIsLiteralPropertyName(this.state.type); + } + isPrivateName(node) { + return node.type === "PrivateName"; + } + getPrivateNameSV(node) { + return node.id.name; + } + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this, inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + enterInitialScopes() { + let paramFlags = 0; + if (this.inModule || this.optionFlags & 1) { + paramFlags |= 2; + } + if (this.optionFlags & 32) { + paramFlags |= 1; + } + const isCommonJS = !this.inModule && this.options.sourceType === "commonjs"; + if (isCommonJS || this.optionFlags & 2) { + paramFlags |= 4; + } + this.prodParam.enter(paramFlags); + let scopeFlags = isCommonJS ? 514 : 1; + if (this.optionFlags & 4) { + scopeFlags |= 512; + } + this.scope.enter(scopeFlags); + } + checkDestructuringPrivate(refExpressionErrors) { + const { + privateKeyLoc + } = refExpressionErrors; + if (privateKeyLoc !== null) { + this.expectPlugin("destructuringPrivate", privateKeyLoc); + } + } +} +class ExpressionErrors { + constructor() { + this.shorthandAssignLoc = null; + this.doubleProtoLoc = null; + this.privateKeyLoc = null; + this.optionalParametersLoc = null; + this.voidPatternLoc = null; + } +} +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if ((parser == null ? void 0 : parser.optionFlags) & 128) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } +} +const NodePrototype = Node.prototype; +{ + NodePrototype.__clone = function () { + const newNode = new Node(undefined, this.start, this.loc.start); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + return newNode; + }; +} +class NodeUtils extends UtilParser { + startNode() { + const loc = this.state.startLoc; + return new Node(this, loc.index, loc); + } + startNodeAt(loc) { + return new Node(this, loc.index, loc); + } + startNodeAtNode(type) { + return this.startNodeAt(type.loc.start); + } + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEndLoc); + } + finishNodeAt(node, type, endLoc) { + node.type = type; + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.optionFlags & 128) node.range[1] = endLoc.index; + if (this.optionFlags & 4096) { + this.processComment(node); + } + return node; + } + resetStartLocation(node, startLoc) { + node.start = startLoc.index; + node.loc.start = startLoc; + if (this.optionFlags & 128) node.range[0] = startLoc.index; + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.optionFlags & 128) node.range[1] = endLoc.index; + } + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.loc.start); + } + castNodeTo(node, type) { + node.type = type; + return node; + } + cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.name = name; + if (node.extra) cloned.extra = node.extra; + return cloned; + } + cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.value = node.value; + return cloned; + } +} +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + let parenthesized = undefined; + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, node); + } else if (parenthesized.type !== "CallExpression" && parenthesized.type !== "MemberExpression" && !this.isOptionalMemberExpression(parenthesized)) { + this.raise(Errors.InvalidParenthesizedAssignment, node); + } + } else { + this.raise(Errors.InvalidParenthesizedAssignment, node); + } + } + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + case "VoidPattern": + break; + case "ObjectExpression": + this.castNodeTo(node, "ObjectPattern"); + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, node.extra.trailingCommaLoc); + } + } + break; + case "ObjectProperty": + { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + break; + } + case "SpreadElement": + { + throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller."); + } + case "ArrayExpression": + this.castNodeTo(node, "ArrayPattern"); + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS); + break; + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(Errors.MissingEqInAssignment, node.left.loc.end); + } + this.castNodeTo(node, "AssignmentPattern"); + delete node.operator; + if (node.left.type === "VoidPattern") { + this.raise(Errors.VoidPatternInitializer, node.left); + } + this.toAssignable(node.left, isLHS); + break; + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, prop.key); + } else if (prop.type === "SpreadElement") { + this.castNodeTo(prop, "RestElement"); + const arg = prop.argument; + this.checkToRestConversion(arg, false); + this.toAssignable(arg, isLHS); + if (!isLast) { + this.raise(Errors.RestTrailingComma, prop); + } + } else { + this.toAssignable(prop, isLHS); + } + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + const end = exprList.length - 1; + for (let i = 0; i <= end; i++) { + const elt = exprList[i]; + if (!elt) continue; + this.toAssignableListItem(exprList, i, isLHS); + if (elt.type === "RestElement") { + if (i < end) { + this.raise(Errors.RestTrailingComma, elt); + } else if (trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, trailingCommaLoc); + } + } + } + } + toAssignableListItem(exprList, index, isLHS) { + const node = exprList[index]; + if (node.type === "SpreadElement") { + this.castNodeTo(node, "RestElement"); + const arg = node.argument; + this.checkToRestConversion(arg, true); + this.toAssignable(arg, isLHS); + } else { + this.toAssignable(node, isLHS); + } + } + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + case "VoidPattern": + return true; + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + case "ObjectProperty": + return this.isAssignable(node.value); + case "SpreadElement": + return this.isAssignable(node.argument); + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + case "AssignmentExpression": + return node.operator === "="; + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + default: + return false; + } + } + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + parseSpread(refExpressionErrors) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined); + return this.finishNode(node, "SpreadElement"); + } + parseRestBinding() { + const node = this.startNode(); + this.next(); + const argument = this.parseBindingAtom(); + if (argument.type === "VoidPattern") { + this.raise(Errors.UnexpectedVoidPattern, argument); + } + node.argument = argument; + return this.finishNode(node, "RestElement"); + } + parseBindingAtom() { + switch (this.state.type) { + case 0: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(3, 93, 1); + return this.finishNode(node, "ArrayPattern"); + } + case 5: + return this.parseObjectLike(8, true); + case 88: + return this.parseVoidPattern(null); + } + return this.parseIdentifier(); + } + parseBindingList(close, closeCharCode, flags) { + const allowEmpty = flags & 1; + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + } + if (allowEmpty && this.match(12)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(21)) { + let rest = this.parseRestBinding(); + if (this.hasPlugin("flow") || flags & 2) { + rest = this.parseFunctionParamType(rest); + } + elts.push(rest); + if (!this.checkCommaAfterRest(closeCharCode)) { + this.expect(close); + break; + } + } else { + const decorators = []; + if (flags & 2) { + if (this.match(26) && this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedParameterDecorator, this.state.startLoc); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + elts.push(this.parseBindingElement(flags, decorators)); + } + } + return elts; + } + parseBindingRestProperty(prop) { + this.next(); + if (this.hasPlugin("discardBinding") && this.match(88)) { + prop.argument = this.parseVoidPattern(null); + this.raise(Errors.UnexpectedVoidPattern, prop.argument); + } else { + prop.argument = this.parseIdentifier(); + } + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + parseBindingProperty() { + const { + type, + startLoc + } = this.state; + if (type === 21) { + return this.parseBindingRestProperty(this.startNode()); + } + const prop = this.startNode(); + if (type === 139) { + this.expectPlugin("destructuringPrivate", startLoc); + this.classScope.usePrivateName(this.state.value, startLoc); + prop.key = this.parsePrivateName(); + } else { + this.parsePropertyName(prop); + } + prop.method = false; + return this.parseObjPropValue(prop, startLoc, false, false, true, false); + } + parseBindingElement(flags, decorators) { + const left = this.parseMaybeDefault(); + if (this.hasPlugin("flow") || flags & 2) { + this.parseFunctionParamType(left); + } + if (decorators.length) { + left.decorators = decorators; + this.resetStartLocationFromNode(left, decorators[0]); + } + const elt = this.parseMaybeDefault(left.loc.start, left); + return elt; + } + parseFunctionParamType(param) { + return param; + } + parseMaybeDefault(startLoc, left) { + startLoc != null ? startLoc : startLoc = this.state.startLoc; + left = left != null ? left : this.parseBindingAtom(); + if (!this.eat(29)) return left; + const node = this.startNodeAt(startLoc); + if (left.type === "VoidPattern") { + this.raise(Errors.VoidPatternInitializer, left); + } + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + switch (type) { + case "AssignmentPattern": + return "left"; + case "RestElement": + return "argument"; + case "ObjectProperty": + return "value"; + case "ParenthesizedExpression": + return "expression"; + case "ArrayPattern": + return "elements"; + case "ObjectPattern": + return "properties"; + case "VoidPattern": + return true; + case "CallExpression": + if (!disallowCallExpression && !this.state.strict && this.optionFlags & 8192) { + return true; + } + } + return false; + } + isOptionalMemberExpression(expression) { + return expression.type === "OptionalMemberExpression"; + } + checkLVal(expression, ancestor, binding = 64, checkClashes = false, strictModeChanged = false, hasParenthesizedAncestor = false, disallowCallExpression = false) { + var _expression$extra; + const type = expression.type; + if (this.isObjectMethod(expression)) return; + const isOptionalMemberExpression = this.isOptionalMemberExpression(expression); + if (isOptionalMemberExpression || type === "MemberExpression") { + if (isOptionalMemberExpression) { + this.expectPlugin("optionalChainingAssign", expression.loc.start); + if (ancestor.type !== "AssignmentExpression") { + this.raise(Errors.InvalidLhsOptionalChaining, expression, { + ancestor + }); + } + } + if (binding !== 64) { + this.raise(Errors.InvalidPropertyBindingPattern, expression); + } + return; + } + if (type === "Identifier") { + this.checkIdentifier(expression, binding, strictModeChanged); + const { + name + } = expression; + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(Errors.ParamDupe, expression); + } else { + checkClashes.add(name); + } + } + return; + } else if (type === "VoidPattern" && ancestor.type === "CatchClause") { + this.raise(Errors.VoidPatternCatchClauseParam, expression); + } + const unwrappedExpression = unwrapParenthesizedExpression(expression); + disallowCallExpression || (disallowCallExpression = unwrappedExpression.type === "CallExpression" && (unwrappedExpression.callee.type === "Import" || unwrappedExpression.callee.type === "Super")); + const validity = this.isValidLVal(type, disallowCallExpression, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding); + if (validity === true) return; + if (validity === false) { + const ParseErrorClass = binding === 64 ? Errors.InvalidLhs : Errors.InvalidLhsBinding; + this.raise(ParseErrorClass, expression, { + ancestor + }); + return; + } + let key, isParenthesizedExpression; + if (typeof validity === "string") { + key = validity; + isParenthesizedExpression = type === "ParenthesizedExpression"; + } else { + [key, isParenthesizedExpression] = validity; + } + const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" ? { + type + } : ancestor; + const val = expression[key]; + if (Array.isArray(val)) { + for (const child of val) { + if (child) { + this.checkLVal(child, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression, true); + } + } + } else if (val) { + this.checkLVal(val, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression, disallowCallExpression); + } + } + checkIdentifier(at, bindingType, strictModeChanged = false) { + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) { + if (bindingType === 64) { + this.raise(Errors.StrictEvalArguments, at, { + referenceName: at.name + }); + } else { + this.raise(Errors.StrictEvalArgumentsBinding, at, { + bindingName: at.name + }); + } + } + if (bindingType & 8192 && at.name === "let") { + this.raise(Errors.LetInLexicalBinding, at); + } + if (!(bindingType & 64)) { + this.declareNameFromIdentifier(at, bindingType); + } + } + declareNameFromIdentifier(identifier, binding) { + this.scope.declareName(identifier.name, binding, identifier.loc.start); + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "ParenthesizedExpression": + this.checkToRestConversion(node.expression, allowPattern); + break; + case "Identifier": + case "MemberExpression": + break; + case "ArrayExpression": + case "ObjectExpression": + if (allowPattern) break; + default: + this.raise(Errors.InvalidRestAssignmentPattern, node); + } + } + checkCommaAfterRest(close) { + if (!this.match(12)) { + return false; + } + this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, this.state.startLoc); + return true; + } +} +const keywordAndTSRelationalOperator = /in(?:stanceof)?|as|satisfies/y; +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + return x; +} +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} +const TSErrors = ParseErrorEnum`typescript`({ + AbstractMethodHasImplementation: ({ + methodName + }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`, + AbstractPropertyHasInitializer: ({ + propertyName + }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`, + AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.", + AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: ({ + kind + }) => `'declare' is not allowed in ${kind}ters.`, + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: ({ + modifier + }) => `Accessibility modifier already seen: '${modifier}'.`, + DuplicateModifier: ({ + modifier + }) => `Duplicate modifier: '${modifier}'.`, + EmptyHeritageClauseType: ({ + token + }) => `'${token}' list cannot be empty.`, + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier", + IncompatibleModifiers: ({ + modifiers + }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`, + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: ({ + modifier + }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`, + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.", + InvalidHeritageClauseType: ({ + token + }) => `'${token}' list can only include identifiers or qualified-names with optional type arguments.`, + InvalidModifierOnAwaitUsingDeclaration: modifier => `'${modifier}' modifier cannot appear on an await using declaration.`, + InvalidModifierOnTypeMember: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type member.`, + InvalidModifierOnTypeParameter: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type parameter.`, + InvalidModifierOnTypeParameterPositions: ({ + modifier + }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`, + InvalidModifierOnUsingDeclaration: modifier => `'${modifier}' modifier cannot appear on a using declaration.`, + InvalidModifiersOrder: ({ + orderedModifiers + }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`, + InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifier: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: ({ + modifier + }) => `Private elements cannot have an accessibility modifier ('${modifier}').`, + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.", + ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.", + SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + SingleTypeParameterWithoutTrailingComma: ({ + typeParameterName + }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`, + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.", + TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: ({ + type + }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.`, + UsingDeclarationInAmbientContext: kind => `'${kind}' declarations are not allowed in ambient contexts.` +}); +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + case "boolean": + return "TSBooleanKeyword"; + case "bigint": + return "TSBigIntKeyword"; + case "never": + return "TSNeverKeyword"; + case "number": + return "TSNumberKeyword"; + case "object": + return "TSObjectKeyword"; + case "string": + return "TSStringKeyword"; + case "symbol": + return "TSSymbolKeyword"; + case "undefined": + return "TSUndefinedKeyword"; + case "unknown": + return "TSUnknownKeyword"; + default: + return undefined; + } +} +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} +function tsIsVarianceAnnotations(modifier) { + return modifier === "in" || modifier === "out"; +} +var typescript = superClass => class TypeScriptParserMixin extends superClass { + constructor(...args) { + super(...args); + this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out"], + disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + this.tsParseConstModifier = this.tsParseModifiers.bind(this, { + allowedModifiers: ["const"], + disallowedModifiers: ["in", "out"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out", "const"], + disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + } + getScopeHandler() { + return TypeScriptScopeHandler; + } + tsIsIdentifier() { + return tokenIsIdentifier(this.state.type); + } + tsTokenCanFollowModifier() { + return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName(); + } + tsNextTokenOnSameLineAndCanFollowModifier() { + this.next(); + if (this.hasPrecedingLineBreak()) { + return false; + } + return this.tsTokenCanFollowModifier(); + } + tsNextTokenCanFollowModifier() { + if (this.match(106)) { + this.next(); + return this.tsTokenCanFollowModifier(); + } + return this.tsNextTokenOnSameLineAndCanFollowModifier(); + } + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock, hasSeenStaticModifier) { + if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) { + return undefined; + } + const modifier = this.state.value; + if (allowedModifiers.includes(modifier)) { + if (hasSeenStaticModifier && this.match(106)) { + return undefined; + } + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + return undefined; + } + tsParseModifiers({ + allowedModifiers, + disallowedModifiers, + stopOnStartOfClassStaticBlock, + errorTemplate = TSErrors.InvalidModifierOnTypeMember + }, modified) { + const enforceOrder = (loc, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(TSErrors.InvalidModifiersOrder, loc, { + orderedModifiers: [before, after] + }); + } + }; + const incompatible = (loc, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(TSErrors.IncompatibleModifiers, loc, { + modifiers: [mod1, mod2] + }); + } + }; + for (;;) { + const { + startLoc + } = this.state; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock, modified.static); + if (!modifier) break; + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(TSErrors.DuplicateAccessibilityModifier, startLoc, { + modifier + }); + } else { + enforceOrder(startLoc, modifier, modifier, "override"); + enforceOrder(startLoc, modifier, modifier, "static"); + enforceOrder(startLoc, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else if (tsIsVarianceAnnotations(modifier)) { + if (modified[modifier]) { + this.raise(TSErrors.DuplicateModifier, startLoc, { + modifier + }); + } + modified[modifier] = true; + enforceOrder(startLoc, modifier, "in", "out"); + } else { + if (hasOwnProperty.call(modified, modifier)) { + this.raise(TSErrors.DuplicateModifier, startLoc, { + modifier + }); + } else { + enforceOrder(startLoc, modifier, "static", "readonly"); + enforceOrder(startLoc, modifier, "static", "override"); + enforceOrder(startLoc, modifier, "override", "readonly"); + enforceOrder(startLoc, modifier, "abstract", "override"); + incompatible(startLoc, modifier, "declare", "override"); + incompatible(startLoc, modifier, "static", "abstract"); + } + modified[modifier] = true; + } + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(errorTemplate, startLoc, { + modifier + }); + } + } + } + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(8); + case "HeritageClauseElement": + return this.match(5); + case "TupleElementTypes": + return this.match(3); + case "TypeParametersOrArguments": + return this.match(48); + } + } + tsParseList(kind, parseElement) { + const result = []; + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + return result; + } + tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos)); + } + tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) { + const result = []; + let trailingCommaPos = -1; + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + trailingCommaPos = -1; + const element = parseElement(); + if (element == null) { + return undefined; + } + result.push(element); + if (this.eat(12)) { + trailingCommaPos = this.state.lastTokStartLoc.index; + continue; + } + if (this.tsIsListTerminator(kind)) { + break; + } + if (expectSuccess) { + this.expect(12); + } + return undefined; + } + if (refTrailingCommaPos) { + refTrailingCommaPos.value = trailingCommaPos; + } + return result; + } + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) { + if (!skipFirstToken) { + if (bracket) { + this.expect(0); + } else { + this.expect(47); + } + } + const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos); + if (bracket) { + this.expect(3); + } else { + this.expect(48); + } + return result; + } + tsParseImportType() { + const node = this.startNode(); + this.expect(83); + this.expect(10); + if (!this.match(134)) { + this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc); + { + node.argument = super.parseExprAtom(); + } + } else { + { + node.argument = this.parseStringLiteral(this.state.value); + } + } + if (this.eat(12)) { + node.options = this.tsParseImportTypeOptions(); + } else { + node.options = null; + } + this.expect(11); + if (this.eat(16)) { + node.qualifier = this.tsParseEntityName(1 | 2); + } + if (this.match(47)) { + { + node.typeParameters = this.tsParseTypeArguments(); + } + } + return this.finishNode(node, "TSImportType"); + } + tsParseImportTypeOptions() { + const node = this.startNode(); + this.expect(5); + const withProperty = this.startNode(); + if (this.isContextual(76)) { + withProperty.method = false; + withProperty.key = this.parseIdentifier(true); + withProperty.computed = false; + withProperty.shorthand = false; + } else { + this.unexpected(null, 76); + } + this.expect(14); + withProperty.value = this.tsParseImportTypeWithPropertyValue(); + node.properties = [this.finishObjectProperty(withProperty)]; + this.eat(12); + this.expect(8); + return this.finishNode(node, "ObjectExpression"); + } + tsParseImportTypeWithPropertyValue() { + const node = this.startNode(); + const properties = []; + this.expect(5); + while (!this.match(8)) { + const type = this.state.type; + if (tokenIsIdentifier(type) || type === 134) { + properties.push(super.parsePropertyDefinition(null)); + } else { + this.unexpected(); + } + this.eat(12); + } + node.properties = properties; + this.next(); + return this.finishNode(node, "ObjectExpression"); + } + tsParseEntityName(flags) { + let entity; + if (flags & 1 && this.match(78)) { + if (flags & 2) { + entity = this.parseIdentifier(true); + } else { + const node = this.startNode(); + this.next(); + entity = this.finishNode(node, "ThisExpression"); + } + } else { + entity = this.parseIdentifier(!!(flags & 1)); + } + while (this.eat(16)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(!!(flags & 1)); + entity = this.finishNode(node, "TSQualifiedName"); + } + return entity; + } + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(1); + if (!this.hasPrecedingLineBreak() && this.match(47)) { + { + node.typeParameters = this.tsParseTypeArguments(); + } + } + return this.finishNode(node, "TSTypeReference"); + } + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(87); + if (this.match(83)) { + node.exprName = this.tsParseImportType(); + } else { + { + node.exprName = this.tsParseEntityName(1 | 2); + } + } + if (!this.hasPrecedingLineBreak() && this.match(47)) { + { + node.typeParameters = this.tsParseTypeArguments(); + } + } + return this.finishNode(node, "TSTypeQuery"); + } + tsParseTypeParameter(parseModifiers) { + const node = this.startNode(); + parseModifiers(node); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(81); + node.default = this.tsEatThenParseType(29); + return this.finishNode(node, "TSTypeParameter"); + } + tsTryParseTypeParameters(parseModifiers) { + if (this.match(47)) { + return this.tsParseTypeParameters(parseModifiers); + } + } + tsParseTypeParameters(parseModifiers) { + const node = this.startNode(); + if (this.match(47) || this.match(143)) { + this.next(); + } else { + this.unexpected(); + } + const refTrailingCommaPos = { + value: -1 + }; + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeParameters, node); + } + if (refTrailingCommaPos.value !== -1) { + this.addExtra(node, "trailingComma", refTrailingCommaPos.value); + } + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 19; + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + this.expect(10); + signature[paramsKey] = this.tsParseBindingListForSignature(); + if (returnTokenRequired) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + tsParseBindingListForSignature() { + const list = super.parseBindingList(11, 41, 2); + for (const pattern of list) { + const { + type + } = pattern; + if (type === "AssignmentPattern" || type === "TSParameterProperty") { + this.raise(TSErrors.UnsupportedSignatureParameterKind, pattern, { + type + }); + } + } + return list; + } + tsParseTypeMemberSemicolon() { + if (!this.eat(12) && !this.isLineTerminator()) { + this.expect(13); + } + } + tsParseSignatureMember(kind, node) { + this.tsFillSignature(14, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + tsIsUnambiguouslyIndexSignature() { + this.next(); + if (tokenIsIdentifier(this.state.type)) { + this.next(); + return this.match(14); + } + return false; + } + tsTryParseIndexSignature(node) { + if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return; + } + this.expect(0); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(3); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(17)) node.optional = true; + if (this.match(10) || this.match(47)) { + if (readonly) { + this.raise(TSErrors.ReadonlyForMethodSignature, node); + } + const method = node; + if (method.kind && this.match(47)) { + this.raise(TSErrors.AccessorCannotHaveTypeParameters, this.state.curPosition()); + } + this.tsFillSignature(14, method); + this.tsParseTypeMemberSemicolon(); + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + if (method.kind === "get") { + if (method[paramsKey].length > 0) { + this.raise(Errors.BadGetterArity, this.state.curPosition()); + if (this.isThisParam(method[paramsKey][0])) { + this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition()); + } + } + } else if (method.kind === "set") { + if (method[paramsKey].length !== 1) { + this.raise(Errors.BadSetterArity, this.state.curPosition()); + } else { + const firstParameter = method[paramsKey][0]; + if (this.isThisParam(firstParameter)) { + this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition()); + } + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(TSErrors.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()); + } + if (firstParameter.type === "RestElement") { + this.raise(TSErrors.SetAccessorCannotHaveRestParameter, this.state.curPosition()); + } + } + if (method[returnTypeKey]) { + this.raise(TSErrors.SetAccessorCannotHaveReturnType, method[returnTypeKey]); + } + } else { + method.kind = "method"; + } + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = node; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + tsParseTypeMember() { + const node = this.startNode(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + if (this.match(77)) { + const id = this.startNode(); + this.next(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + this.tsParseModifiers({ + allowedModifiers: ["readonly"], + disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"] + }, node); + const idx = this.tsTryParseIndexSignature(node); + if (idx) { + return idx; + } + super.parsePropertyName(node); + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + super.parsePropertyName(node); + if (!this.match(10) && !this.match(47)) { + this.unexpected(null, 10); + } + } + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + tsParseObjectTypeMembers() { + this.expect(5); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(8); + return members; + } + tsIsStartOfMappedType() { + this.next(); + if (this.eat(53)) { + return this.isContextual(122); + } + if (this.isContextual(122)) { + this.next(); + } + if (!this.match(0)) { + return false; + } + this.next(); + if (!this.tsIsIdentifier()) { + return false; + } + this.next(); + return this.match(58); + } + tsParseMappedType() { + const node = this.startNode(); + this.expect(5); + if (this.match(53)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual(122); + } else if (this.eatContextual(122)) { + node.readonly = true; + } + this.expect(0); + { + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsExpectThenParseType(58); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + } + node.nameType = this.eatContextual(93) ? this.tsParseType() : null; + this.expect(3); + if (this.match(53)) { + node.optional = this.state.value; + this.next(); + this.expect(17); + } else if (this.eat(17)) { + node.optional = true; + } + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(8); + return this.finishNode(node, "TSMappedType"); + } + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + node.elementTypes.forEach(elementNode => { + const { + type + } = elementNode; + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(TSErrors.OptionalTypeBeforeRequired, elementNode); + } + seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"); + }); + return this.finishNode(node, "TSTupleType"); + } + tsParseTupleElementType() { + const restStartLoc = this.state.startLoc; + const rest = this.eat(21); + const { + startLoc + } = this.state; + let labeled; + let label; + let optional; + let type; + const isWord = tokenIsKeywordOrIdentifier(this.state.type); + const chAfterWord = isWord ? this.lookaheadCharCode() : null; + if (chAfterWord === 58) { + labeled = true; + optional = false; + label = this.parseIdentifier(true); + this.expect(14); + type = this.tsParseType(); + } else if (chAfterWord === 63) { + optional = true; + const wordName = this.state.value; + const typeOrLabel = this.tsParseNonArrayType(); + if (this.lookaheadCharCode() === 58) { + labeled = true; + label = this.createIdentifier(this.startNodeAt(startLoc), wordName); + this.expect(17); + this.expect(14); + type = this.tsParseType(); + } else { + labeled = false; + type = typeOrLabel; + this.expect(17); + } + } else { + type = this.tsParseType(); + optional = this.eat(17); + labeled = this.eat(14); + } + if (labeled) { + let labeledNode; + if (label) { + labeledNode = this.startNodeAt(startLoc); + labeledNode.optional = optional; + labeledNode.label = label; + labeledNode.elementType = type; + if (this.eat(17)) { + labeledNode.optional = true; + this.raise(TSErrors.TupleOptionalAfterType, this.state.lastTokStartLoc); + } + } else { + labeledNode = this.startNodeAt(startLoc); + labeledNode.optional = optional; + this.raise(TSErrors.InvalidTupleMemberLabel, type); + labeledNode.label = type; + labeledNode.elementType = this.tsParseType(); + } + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAt(startLoc); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + if (rest) { + const restNode = this.startNodeAt(restStartLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + return type; + } + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(10); + node.typeAnnotation = this.tsParseType(); + this.expect(11); + return this.finishNode(node, "TSParenthesizedType"); + } + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node)); + return this.finishNode(node, type); + } + tsParseLiteralTypeNode() { + const node = this.startNode(); + switch (this.state.type) { + case 135: + case 136: + case 134: + case 85: + case 86: + node.literal = super.parseExprAtom(); + break; + default: + this.unexpected(); + } + return this.finishNode(node, "TSLiteralType"); + } + tsParseTemplateLiteralType() { + { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + } + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + tsParseNonArrayType() { + switch (this.state.type) { + case 134: + case 135: + case 136: + case 85: + case 86: + return this.tsParseLiteralTypeNode(); + case 53: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + if (nextToken.type !== 135 && nextToken.type !== 136) { + this.unexpected(); + } + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + break; + case 78: + return this.tsParseThisTypeOrThisTypePredicate(); + case 87: + return this.tsParseTypeQuery(); + case 83: + return this.tsParseImportType(); + case 5: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + case 0: + return this.tsParseTupleType(); + case 10: + return this.tsParseParenthesizedType(); + case 25: + case 24: + return this.tsParseTemplateLiteralType(); + default: + { + const { + type + } = this.state; + if (tokenIsIdentifier(type) || type === 88 || type === 84) { + const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + if (nodeType !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, nodeType); + } + return this.tsParseTypeReference(); + } + } + } + throw this.unexpected(); + } + tsParseArrayTypeOrHigher() { + const { + startLoc + } = this.state; + let type = this.tsParseNonArrayType(); + while (!this.hasPrecedingLineBreak() && this.eat(0)) { + if (this.match(3)) { + const node = this.startNodeAt(startLoc); + node.elementType = type; + this.expect(3); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAt(startLoc); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(3); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + return type; + } + tsParseTypeOperator() { + const node = this.startNode(); + const operator = this.state.value; + this.next(); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + return this.finishNode(node, "TSTypeOperator"); + } + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + default: + this.raise(TSErrors.UnexpectedReadonly, node); + } + } + tsParseInferType() { + const node = this.startNode(); + this.expectContextual(115); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + tsParseConstraintForInferType() { + if (this.eat(81)) { + const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType()); + if (this.state.inDisallowConditionalTypesContext || !this.match(17)) { + return constraint; + } + } + } + tsParseTypeOperatorOrHigher() { + const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc; + return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher()); + } + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + node.types = types; + return this.finishNode(node, kind); + } + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45); + } + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43); + } + tsIsStartOfFunctionType() { + if (this.match(47)) { + return true; + } + return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + tsSkipParameterStart() { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + this.next(); + return true; + } + if (this.match(5)) { + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + this.parseObjectLike(8, true); + return errors.length === previousErrorCount; + } catch (_unused) { + return false; + } + } + if (this.match(0)) { + this.next(); + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + super.parseBindingList(3, 93, 1); + return errors.length === previousErrorCount; + } catch (_unused2) { + return false; + } + } + return false; + } + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + if (this.match(11) || this.match(21)) { + return true; + } + if (this.tsSkipParameterStart()) { + if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) { + return true; + } + if (this.match(11)) { + this.next(); + if (this.match(19)) { + return true; + } + } + } + return false; + } + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + if (asserts && this.match(78)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + tsTryParseTypeOrTypePredicateAnnotation() { + if (this.match(14)) { + return this.tsParseTypeOrTypePredicateAnnotation(14); + } + } + tsTryParseTypeAnnotation() { + if (this.match(14)) { + return this.tsParseTypeAnnotation(); + } + } + tsTryParseType() { + return this.tsEatThenParseType(14); + } + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + tsParseTypePredicateAsserts() { + if (this.state.type !== 109) { + return false; + } + const containsEsc = this.state.containsEsc; + this.next(); + if (!tokenIsIdentifier(this.state.type) && !this.match(78)) { + return false; + } + if (containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, this.state.lastTokStartLoc, { + reservedWord: "asserts" + }); + } + return true; + } + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(14); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) { + return type; + } + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()); + this.expect(17); + node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + this.expect(14); + node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + return this.finishNode(node, "TSConditionalType"); + } + isAbstractConstructorSignature() { + return this.isContextual(124) && this.isLookaheadContextual("new"); + } + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + if (this.match(77)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + return this.tsParseUnionTypeOrHigher(); + } + tsParseTypeAssertion() { + if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedTypeAssertion, this.state.startLoc); + } + const node = this.startNode(); + node.typeAnnotation = this.tsInType(() => { + this.next(); + return this.match(75) ? this.tsParseTypeReference() : this.tsParseType(); + }); + this.expect(48); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + tsParseHeritageClause(token) { + const originalStartLoc = this.state.startLoc; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { + { + const node = this.startNode(); + node.expression = this.tsParseEntityName(1 | 2); + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSExpressionWithTypeArguments"); + } + }); + if (!delimitedList.length) { + this.raise(TSErrors.EmptyHeritageClauseType, originalStartLoc, { + token + }); + } + return delimitedList; + } + tsParseInterfaceDeclaration(node, properties = {}) { + if (this.hasFollowingLineBreak()) return null; + this.expectContextual(129); + if (properties.declare) node.declare = true; + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 130); + } else { + node.id = null; + this.raise(TSErrors.MissingInterfaceName, this.state.startLoc); + } + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (this.eat(81)) { + node.extends = this.tsParseHeritageClause("extends"); + } + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 2); + node.typeAnnotation = this.tsInType(() => { + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers); + this.expect(29); + if (this.isContextual(114) && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + tsInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { + return cb(); + } + } + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + tsInDisallowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = true; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsInAllowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = false; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsEatThenParseType(token) { + if (this.match(token)) { + return this.tsNextThenParseType(); + } + } + tsExpectThenParseType(token) { + return this.tsInType(() => { + this.expect(token); + return this.tsParseType(); + }); + } + tsNextThenParseType() { + return this.tsInType(() => { + this.next(); + return this.tsParseType(); + }); + } + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + if (this.eat(29)) { + node.initializer = super.parseMaybeAssignAllowIn(); + } + return this.finishNode(node, "TSEnumMember"); + } + tsParseEnumDeclaration(node, properties = {}) { + if (properties.const) node.const = true; + if (properties.declare) node.declare = true; + this.expectContextual(126); + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, node.const ? 8971 : 8459); + { + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + } + return this.finishNode(node, "TSEnumDeclaration"); + } + tsParseEnumBody() { + const node = this.startNode(); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumBody"); + } + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(0); + this.expect(5); + super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + if (!nested) { + this.checkIdentifier(node.id, 1024); + } + if (this.eat(16)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(1024); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual(112)) { + node.kind = "global"; + { + node.global = true; + } + node.id = this.parseIdentifier(); + } else if (this.match(134)) { + node.kind = "module"; + node.id = super.parseStringLiteral(this.state.value); + } else { + this.unexpected(); + } + if (this.match(5)) { + this.scope.enter(1024); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) { + { + node.isExport = isExport || false; + } + node.id = maybeDefaultIdentifier || this.parseIdentifier(); + this.checkIdentifier(node.id, 4096); + this.expect(29); + const moduleReference = this.tsParseModuleReference(); + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(TSErrors.ImportAliasHasImportType, moduleReference); + } + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + tsIsExternalModuleReference() { + return this.isContextual(119) && this.lookaheadCharCode() === 40; + } + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0); + } + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual(119); + this.expect(10); + if (!this.match(134)) { + this.unexpected(); + } + node.expression = super.parseExprAtom(); + this.expect(11); + this.sawUnambiguousESM = true; + return this.finishNode(node, "TSExternalModuleReference"); + } + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return; + if (result.error) this.state = result.failState; + return result.node; + } + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + if (result !== undefined && result !== false) { + return result; + } + this.state = state; + } + tsTryParseDeclare(node) { + if (this.isLineTerminator()) { + return; + } + const startType = this.state.type; + return this.tsInAmbientContext(() => { + switch (startType) { + case 68: + node.declare = true; + return super.parseFunctionStatement(node, false, false); + case 80: + node.declare = true; + return this.parseClass(node, true, false); + case 126: + return this.tsParseEnumDeclaration(node, { + declare: true + }); + case 112: + return this.tsParseAmbientExternalModuleDeclaration(node); + case 100: + if (this.state.containsEsc) { + return; + } + case 75: + case 74: + if (!this.match(75) || !this.isLookaheadContextual("enum")) { + node.declare = true; + return this.parseVarStatement(node, this.state.value, true); + } + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true, + declare: true + }); + case 107: + if (this.isUsing()) { + this.raise(TSErrors.InvalidModifierOnUsingDeclaration, this.state.startLoc, "declare"); + node.declare = true; + return this.parseVarStatement(node, "using", true); + } + break; + case 96: + if (this.isAwaitUsing()) { + this.raise(TSErrors.InvalidModifierOnAwaitUsingDeclaration, this.state.startLoc, "declare"); + node.declare = true; + this.next(); + return this.parseVarStatement(node, "await using", true); + } + break; + case 129: + { + const result = this.tsParseInterfaceDeclaration(node, { + declare: true + }); + if (result) return result; + } + default: + if (tokenIsIdentifier(startType)) { + return this.tsParseDeclaration(node, this.state.type, true, null); + } + } + }); + } + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.type, true, null); + } + tsParseDeclaration(node, type, next, decorators) { + switch (type) { + case 124: + if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) { + return this.tsParseAbstractDeclaration(node, decorators); + } + break; + case 127: + if (this.tsCheckLineTerminator(next)) { + if (this.match(134)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (tokenIsIdentifier(this.state.type)) { + node.kind = "module"; + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + break; + case 128: + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + node.kind = "namespace"; + return this.tsParseModuleOrNamespaceDeclaration(node); + } + break; + case 130: + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + return !this.isLineTerminator(); + } + tsTryParseGenericAsyncArrowFunction(startLoc) { + if (!this.match(47)) return; + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startLoc); + node.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(19); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + if (!res) return; + return super.parseArrowExpression(res, null, true); + } + tsParseTypeArgumentsInExpression() { + if (this.reScan_lt() !== 47) return; + return this.tsParseTypeArguments(); + } + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInTopLevelContext(() => { + this.expect(47); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeArguments, node); + } else if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + tsIsDeclarationStart() { + return tokenIsTSDeclarationStart(this.state.type); + } + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + parseBindingElement(flags, decorators) { + const startLoc = decorators.length ? decorators[0].loc.start : this.state.startLoc; + const modified = {}; + this.tsParseModifiers({ + allowedModifiers: ["public", "private", "protected", "override", "readonly"] + }, modified); + const accessibility = modified.accessibility; + const override = modified.override; + const readonly = modified.readonly; + if (!(flags & 4) && (accessibility || readonly || override)) { + this.raise(TSErrors.UnexpectedParameterModifier, startLoc); + } + const left = this.parseMaybeDefault(); + if (flags & 2) { + this.parseFunctionParamType(left); + } + const elt = this.parseMaybeDefault(left.loc.start, left); + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startLoc); + if (decorators.length) { + pp.decorators = decorators; + } + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(TSErrors.UnsupportedParameterPropertyKind, pp); + } + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + isSimpleParameter(node) { + return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node); + } + tsDisallowOptionalPattern(node) { + for (const param of node.params) { + if (param.type !== "Identifier" && param.optional && !this.state.isAmbientContext) { + this.raise(TSErrors.PatternIsOptional, param); + } + } + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + super.setArrowFunctionParameters(node, params, trailingCommaLoc); + this.tsDisallowOptionalPattern(node); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + } + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined; + if (bodilessType && !this.match(5) && this.isLineTerminator()) { + return this.finishNode(node, bodilessType); + } + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(TSErrors.DeclareFunctionHasImplementation, node); + if (node.declare) { + return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + } + } + this.tsDisallowOptionalPattern(node); + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkIdentifier(node.id, 1024); + } else { + super.registerFunctionStatementId(node); + } + } + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(TSErrors.UnexpectedTypeAnnotation, node.typeAnnotation); + } + }); + } + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, isTuple, refExpressionErrors); + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(35)) { + this.state.canStartJSXElement = false; + this.next(); + const nonNullExpression = this.startNodeAt(startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + let isOptionalCall = false; + if (this.match(18) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + if (this.match(47) || this.match(51)) { + let missingParenErrorLoc; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startLoc); + if (asyncArrowFn) { + state.stop = true; + return asyncArrowFn; + } + } + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (!typeArguments) return; + if (isOptionalCall && !this.match(10)) { + missingParenErrorLoc = this.state.curPosition(); + return; + } + if (tokenIsTemplate(this.state.type)) { + const result = super.parseTaggedTemplateExpression(base, startLoc, state); + { + result.typeParameters = typeArguments; + } + return result; + } + if (!noCalls && this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(); + this.tsCheckForInvalidTypeCasts(node.arguments); + { + node.typeParameters = typeArguments; + } + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + return this.finishCallExpression(node, state.optionalChainMember); + } + const tokenType = this.state.type; + if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) { + return; + } + const node = this.startNodeAt(startLoc); + node.expression = base; + { + node.typeParameters = typeArguments; + } + return this.finishNode(node, "TSInstantiationExpression"); + }); + if (missingParenErrorLoc) { + this.unexpected(missingParenErrorLoc, 10); + } + if (result) { + if (result.type === "TSInstantiationExpression") { + if (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) { + this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc); + } + if (!this.match(16) && !this.match(18)) { + result.expression = super.stopParseSubscript(base, state); + } + } + return result; + } + } + return super.parseSubscript(base, startLoc, noCalls, state); + } + parseNewCallee(node) { + var _callee$extra; + super.parseNewCallee(node); + const { + callee + } = node; + if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { + { + node.typeParameters = callee.typeParameters; + } + node.callee = callee.expression; + } + } + parseExprOp(left, leftStartLoc, minPrec) { + let isSatisfies; + if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(120)))) { + const node = this.startNodeAt(leftStartLoc); + node.expression = left; + node.typeAnnotation = this.tsInType(() => { + this.next(); + if (this.match(75)) { + if (isSatisfies) { + this.raise(Errors.UnexpectedKeyword, this.state.startLoc, { + keyword: "const" + }); + } + return this.tsParseTypeReference(); + } + return this.tsParseType(); + }); + this.finishNode(node, isSatisfies ? "TSSatisfiesExpression" : "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartLoc, minPrec); + } + return super.parseExprOp(left, leftStartLoc, minPrec); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (!this.state.isAmbientContext) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(TSErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start); + } + } + checkDuplicateExports() {} + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + const ch = this.lookaheadCharCode(); + return isExport ? ch === 123 || ch === 42 : ch !== 61; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + node.exportKind = phase === "type" ? "type" : "value"; + } else { + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImport(node) { + if (this.match(134)) { + node.importKind = "value"; + return super.parseImport(node); + } + let importNode; + if (tokenIsIdentifier(this.state.type) && this.lookaheadCharCode() === 61) { + node.importKind = "value"; + return this.tsParseImportEqualsDeclaration(node); + } else if (this.isContextual(130)) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + if (this.lookaheadCharCode() === 61) { + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier); + } else { + importNode = super.parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier); + } + } else { + importNode = super.parseImport(node); + } + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, importNode); + } + return importNode; + } + parseExport(node, decorators) { + if (this.match(83)) { + const nodeImportEquals = node; + this.next(); + let maybeDefaultIdentifier = null; + if (this.isContextual(130) && this.isPotentialImportPhase(false)) { + maybeDefaultIdentifier = this.parseMaybeImportPhase(nodeImportEquals, false); + } else { + nodeImportEquals.importKind = "value"; + } + const declaration = this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true); + { + return declaration; + } + } else if (this.eat(29)) { + const assign = node; + assign.expression = super.parseExpression(); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual(93)) { + const decl = node; + this.expectContextual(128); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + return super.parseExport(node, decorators); + } + } + isAbstractClass() { + return this.isContextual(124) && this.isLookaheadContextual("class"); + } + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + return this.parseClass(cls, true, true); + } + if (this.match(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseExportDefaultExpression(); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + const { + isAmbientContext + } = this.state; + const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext); + if (!isAmbientContext) return declaration; + if (!node.declare && (kind === "using" || kind === "await using")) { + this.raiseOverwrite(TSErrors.UsingDeclarationInAmbientContext, node, kind); + return declaration; + } + for (const { + id, + init + } of declaration.declarations) { + if (!init) continue; + if (kind === "var" || kind === "let" || !!id.typeAnnotation) { + this.raise(TSErrors.InitializerNotAllowedInAmbientContext, init); + } else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) { + this.raise(TSErrors.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, init); + } + } + return declaration; + } + parseStatementContent(flags, decorators) { + if (!this.state.containsEsc) { + switch (this.state.type) { + case 75: + { + if (this.isLookaheadContextual("enum")) { + const node = this.startNode(); + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true + }); + } + break; + } + case 124: + case 125: + { + if (this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()) { + const token = this.state.type; + const node = this.startNode(); + this.next(); + const declaration = token === 125 ? this.tsTryParseDeclare(node) : this.tsParseAbstractDeclaration(node, decorators); + if (declaration) { + if (token === 125) { + declaration.declare = true; + } + return declaration; + } else { + node.expression = this.createIdentifier(this.startNodeAt(node.loc.start), token === 125 ? "declare" : "abstract"); + this.semicolon(false); + return this.finishNode(node, "ExpressionStatement"); + } + } + break; + } + case 126: + return this.tsParseEnumDeclaration(this.startNode()); + case 112: + { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 123) { + const node = this.startNode(); + return this.tsParseAmbientExternalModuleDeclaration(node); + } + break; + } + case 129: + { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + break; + } + case 127: + { + if (this.nextTokenIsIdentifierOrStringLiteralOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseDeclaration(node, 127, false, decorators); + } + break; + } + case 128: + { + if (this.nextTokenIsIdentifierOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseDeclaration(node, 128, false, decorators); + } + break; + } + case 130: + { + if (this.nextTokenIsIdentifierOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + } + return super.parseStatementContent(flags, decorators); + } + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + return !!member[modifier]; + }); + } + tsIsStartOfStaticBlocks() { + return this.isContextual(106) && this.lookaheadCharCode() === 123; + } + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers({ + allowedModifiers: modifiers, + disallowedModifiers: ["in", "out"], + stopOnStartOfClassStaticBlock: true, + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }, member); + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(TSErrors.StaticBlockCannotHaveModifier, this.state.curPosition()); + } + super.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + if (idx) { + classBody.body.push(idx); + if (member.abstract) { + this.raise(TSErrors.IndexSignatureHasAbstract, member); + } + if (member.accessibility) { + this.raise(TSErrors.IndexSignatureHasAccessibility, member, { + modifier: member.accessibility + }); + } + if (member.declare) { + this.raise(TSErrors.IndexSignatureHasDeclare, member); + } + if (member.override) { + this.raise(TSErrors.IndexSignatureHasOverride, member); + } + return; + } + if (!this.state.inAbstractClass && member.abstract) { + this.raise(TSErrors.NonAbstractClassHasAbstractMethod, member); + } + if (member.override) { + if (!state.hadSuperClass) { + this.raise(TSErrors.OverrideNotInSubClass, member); + } + } + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(17); + if (optional) methodOrProp.optional = true; + if (methodOrProp.readonly && this.match(10)) { + this.raise(TSErrors.ClassMethodHasReadonly, methodOrProp); + } + if (methodOrProp.declare && this.match(10)) { + this.raise(TSErrors.ClassMethodHasDeclare, methodOrProp); + } + } + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + return super.parseConditional(expr, startLoc, refExpressionErrors); + } + parseParenItem(node, startLoc) { + const newNode = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + newNode.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + return node; + } + parseExportDeclaration(node) { + if (!this.state.isAmbientContext && this.isContextual(125)) { + return this.tsInAmbientContext(() => this.parseExportDeclaration(node)); + } + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual(125); + if (isDeclare && (this.isContextual(125) || !this.shouldParseExportDeclaration())) { + throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, this.state.startLoc); + } + const isIdentifier = tokenIsIdentifier(this.state.type); + const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node); + if (!declaration) return null; + if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { + node.exportKind = "type"; + } + if (isDeclare && declaration.type !== "TSImportEqualsDeclaration") { + this.resetStartLocation(declaration, startLoc); + declaration.declare = true; + } + return declaration; + } + parseClassId(node, isStatement, optionalId, bindingType) { + if ((!isStatement || optionalId) && this.isContextual(113)) { + return; + } + super.parseClassId(node, isStatement, optionalId, node.declare ? 1024 : 8331); + const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (typeParameters) node.typeParameters = typeParameters; + } + parseClassPropertyAnnotation(node) { + if (!node.optional) { + if (this.eat(35)) { + node.definite = true; + } else if (this.eat(17)) { + node.optional = true; + } + } + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) { + this.raise(TSErrors.DeclareClassFieldHasInitializer, this.state.startLoc); + } + if (node.abstract && this.match(29)) { + const { + key + } = node; + this.raise(TSErrors.AbstractPropertyHasInitializer, this.state.startLoc, { + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` + }); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(TSErrors.PrivateElementHasAbstract, node); + } + if (node.accessibility) { + this.raise(TSErrors.PrivateElementHasAccessibility, node, { + modifier: node.accessibility + }); + } + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + parseClassAccessorProperty(node) { + this.parseClassPropertyAnnotation(node); + if (node.optional) { + this.raise(TSErrors.AccessorCannotBeOptional, node); + } + return super.parseClassAccessorProperty(node); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters && isConstructor) { + this.raise(TSErrors.ConstructorHasTypeParameters, typeParameters); + } + const { + declare = false, + kind + } = method; + if (declare && (kind === "get" || kind === "set")) { + this.raise(TSErrors.DeclareAccessor, method, { + kind + }); + } + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + declareClassPrivateMethodInScope(node, kind) { + if (node.type === "TSDeclareMethod") return; + if (node.type === "MethodDefinition" && node.value.body == null) { + return; + } + super.declareClassPrivateMethodInScope(node, kind); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && (this.match(47) || this.match(51))) { + { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } + } + if (this.eatContextual(113)) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) prop.typeParameters = typeParameters; + return super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + } + parseFunctionParams(node, isConstructor) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) { + decl.definite = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + node.returnType = this.tsParseTypeAnnotation(); + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2; + let state; + let jsx; + let typeCast; + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) { + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + if (!state || state === this.state) state = this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) { + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!typeCast.error) return typeCast.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrow.node) { + this.state = arrow.failState; + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error); + } + reportReservedArrowTypeParam(node) { + var _node$extra2; + if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra2 = node.extra) != null && _node$extra2.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedArrowTypeParam, node); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + if (!this.hasPlugin("jsx") && this.match(47)) { + return this.tsParseTypeAssertion(); + } + return super.parseMaybeUnary(refExpressionErrors, sawUnary); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + if (this.canInsertSemicolon() || !this.match(19)) abort(); + return returnType; + }); + if (result.aborted) return; + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + return super.parseArrow(node); + } + parseFunctionParamType(param) { + if (this.eat(17)) { + param.optional = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + case "TSParameterProperty": + return true; + default: + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + switch (node.type) { + case "ParenthesizedExpression": + this.toAssignableParenthesizedExpression(node, isLHS); + break; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + if (isLHS) { + this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, node); + } else { + this.raise(TSErrors.UnexpectedTypeCastInParameter, node); + } + this.toAssignable(node.expression, isLHS); + break; + case "AssignmentExpression": + if (!isLHS && node.left.type === "TSTypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + default: + super.toAssignable(node, isLHS); + } + } + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + this.toAssignable(node.expression, isLHS); + break; + default: + super.toAssignable(node, isLHS); + } + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + this.checkToRestConversion(node.expression, false); + break; + default: + super.checkToRestConversion(node, allowPattern); + } + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + switch (type) { + case "TSTypeCastExpression": + return true; + case "TSParameterProperty": + return "parameter"; + case "TSNonNullExpression": + return "expression"; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + return (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true]; + default: + return super.isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding); + } + } + parseBindingAtom() { + if (this.state.type === 78) { + return this.parseIdentifier(true); + } + return super.parseBindingAtom(); + } + parseMaybeDecoratorArguments(expr, startLoc) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (this.match(10)) { + const call = super.parseMaybeDecoratorArguments(expr, startLoc); + { + call.typeParameters = typeArguments; + } + return call; + } + this.unexpected(null, 10); + } + return super.parseMaybeDecoratorArguments(expr, startLoc); + } + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { + this.next(); + return false; + } + return super.checkCommaAfterRest(close); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(35) || this.match(14) || super.isClassProperty(); + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(TSErrors.TypeAnnotationAfterAssign, node.typeAnnotation); + } + return node; + } + getTokenFromCode(code) { + if (this.state.inType) { + if (code === 62) { + this.finishOp(48, 1); + return; + } + if (code === 60) { + this.finishOp(47, 1); + return; + } + } + super.getTokenFromCode(code); + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + toAssignableListItem(exprList, index, isLHS) { + const node = exprList[index]; + if (node.type === "TSTypeCastExpression") { + exprList[index] = this.typeCastToParameter(node); + } + super.toAssignableListItem(exprList, index, isLHS); + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + shouldParseArrow(params) { + if (this.match(14)) { + return params.every(expr => this.isAssignable(expr, true)); + } + return super.shouldParseArrow(params); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + jsxParseOpeningElementAfterName(node) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); + if (typeArguments) { + { + node.typeParameters = typeArguments; + } + } + } + return super.jsxParseOpeningElementAfterName(node); + } + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + return param; + } + tsInAmbientContext(cb) { + const { + isAmbientContext: oldIsAmbientContext, + strict: oldStrict + } = this.state; + this.state.isAmbientContext = true; + this.state.strict = false; + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + this.state.strict = oldStrict; + } + } + parseClass(node, isStatement, optionalId) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + try { + return super.parseClass(node, isStatement, optionalId); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + tsParseAbstractDeclaration(node, decorators) { + if (this.match(80)) { + node.abstract = true; + return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false)); + } else if (this.isContextual(129)) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifier, node); + return this.tsParseInterfaceDeclaration(node); + } else { + return null; + } + } + throw this.unexpected(null, 80); + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { + const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + if (method.abstract || method.type === "TSAbstractMethodDefinition") { + const hasEstreePlugin = this.hasPlugin("estree"); + const methodFn = hasEstreePlugin ? method.value : method; + if (methodFn.body) { + const { + key + } = method; + this.raise(TSErrors.AbstractMethodHasImplementation, method, { + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` + }); + } + } + return method; + } + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.parse(); + } + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.getExpression(); + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (!isString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport); + return this.finishNode(node, "ExportSpecifier"); + } + node.exportKind = "value"; + return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly); + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (!importedIsString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport); + return this.finishNode(specifier, "ImportSpecifier"); + } + specifier.importKind = "value"; + return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? 4098 : 4096); + } + parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) { + const leftOfAsKey = isImport ? "imported" : "local"; + const rightOfAsKey = isImport ? "local" : "exported"; + let leftOfAs = node[leftOfAsKey]; + let rightOfAs; + let hasTypeSpecifier = false; + let canParseAsKeyword = true; + const loc = leftOfAs.loc.start; + if (this.isContextual(93)) { + const firstAs = this.parseIdentifier(); + if (this.isContextual(93)) { + const secondAs = this.parseIdentifier(); + if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + leftOfAs = firstAs; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + canParseAsKeyword = false; + } else { + rightOfAs = secondAs; + canParseAsKeyword = false; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + canParseAsKeyword = false; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } else { + hasTypeSpecifier = true; + leftOfAs = firstAs; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + if (isImport) { + leftOfAs = this.parseIdentifier(true); + if (!this.isContextual(93)) { + this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true); + } + } else { + leftOfAs = this.parseModuleExportName(); + } + } + if (hasTypeSpecifier && isInTypeOnlyImportExport) { + this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, loc); + } + node[leftOfAsKey] = leftOfAs; + node[rightOfAsKey] = rightOfAs; + const kindKey = isImport ? "importKind" : "exportKind"; + node[kindKey] = hasTypeSpecifier ? "type" : "value"; + if (canParseAsKeyword && this.eatContextual(93)) { + node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } + if (!node[rightOfAsKey]) { + node[rightOfAsKey] = this.cloneIdentifier(node[leftOfAsKey]); + } + if (isImport) { + this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? 4098 : 4096); + } + } + fillOptionalPropertiesForTSESLint(node) { + var _node$directive, _node$decorators, _node$optional, _node$typeAnnotation, _node$accessibility, _node$decorators2, _node$override, _node$readonly, _node$static, _node$declare, _node$returnType, _node$typeParameters, _node$optional2, _node$optional3, _node$accessibility2, _node$readonly2, _node$static2, _node$declare2, _node$definite, _node$readonly3, _node$typeAnnotation2, _node$accessibility3, _node$decorators3, _node$override2, _node$optional4, _node$id, _node$abstract, _node$declare3, _node$decorators4, _node$implements, _node$superTypeArgume, _node$typeParameters2, _node$declare4, _node$definite2, _node$const, _node$declare5, _node$computed, _node$qualifier, _node$options, _node$declare6, _node$extends, _node$optional5, _node$readonly4, _node$declare7, _node$global, _node$const2, _node$in, _node$out; + switch (node.type) { + case "ExpressionStatement": + (_node$directive = node.directive) != null ? _node$directive : node.directive = undefined; + return; + case "RestElement": + node.value = undefined; + case "Identifier": + case "ArrayPattern": + case "AssignmentPattern": + case "ObjectPattern": + (_node$decorators = node.decorators) != null ? _node$decorators : node.decorators = []; + (_node$optional = node.optional) != null ? _node$optional : node.optional = false; + (_node$typeAnnotation = node.typeAnnotation) != null ? _node$typeAnnotation : node.typeAnnotation = undefined; + return; + case "TSParameterProperty": + (_node$accessibility = node.accessibility) != null ? _node$accessibility : node.accessibility = undefined; + (_node$decorators2 = node.decorators) != null ? _node$decorators2 : node.decorators = []; + (_node$override = node.override) != null ? _node$override : node.override = false; + (_node$readonly = node.readonly) != null ? _node$readonly : node.readonly = false; + (_node$static = node.static) != null ? _node$static : node.static = false; + return; + case "TSEmptyBodyFunctionExpression": + node.body = null; + case "TSDeclareFunction": + case "FunctionDeclaration": + case "FunctionExpression": + case "ClassMethod": + case "ClassPrivateMethod": + (_node$declare = node.declare) != null ? _node$declare : node.declare = false; + (_node$returnType = node.returnType) != null ? _node$returnType : node.returnType = undefined; + (_node$typeParameters = node.typeParameters) != null ? _node$typeParameters : node.typeParameters = undefined; + return; + case "Property": + (_node$optional2 = node.optional) != null ? _node$optional2 : node.optional = false; + return; + case "TSMethodSignature": + case "TSPropertySignature": + (_node$optional3 = node.optional) != null ? _node$optional3 : node.optional = false; + case "TSIndexSignature": + (_node$accessibility2 = node.accessibility) != null ? _node$accessibility2 : node.accessibility = undefined; + (_node$readonly2 = node.readonly) != null ? _node$readonly2 : node.readonly = false; + (_node$static2 = node.static) != null ? _node$static2 : node.static = false; + return; + case "TSAbstractPropertyDefinition": + case "PropertyDefinition": + case "TSAbstractAccessorProperty": + case "AccessorProperty": + (_node$declare2 = node.declare) != null ? _node$declare2 : node.declare = false; + (_node$definite = node.definite) != null ? _node$definite : node.definite = false; + (_node$readonly3 = node.readonly) != null ? _node$readonly3 : node.readonly = false; + (_node$typeAnnotation2 = node.typeAnnotation) != null ? _node$typeAnnotation2 : node.typeAnnotation = undefined; + case "TSAbstractMethodDefinition": + case "MethodDefinition": + (_node$accessibility3 = node.accessibility) != null ? _node$accessibility3 : node.accessibility = undefined; + (_node$decorators3 = node.decorators) != null ? _node$decorators3 : node.decorators = []; + (_node$override2 = node.override) != null ? _node$override2 : node.override = false; + (_node$optional4 = node.optional) != null ? _node$optional4 : node.optional = false; + return; + case "ClassExpression": + (_node$id = node.id) != null ? _node$id : node.id = null; + case "ClassDeclaration": + (_node$abstract = node.abstract) != null ? _node$abstract : node.abstract = false; + (_node$declare3 = node.declare) != null ? _node$declare3 : node.declare = false; + (_node$decorators4 = node.decorators) != null ? _node$decorators4 : node.decorators = []; + (_node$implements = node.implements) != null ? _node$implements : node.implements = []; + (_node$superTypeArgume = node.superTypeArguments) != null ? _node$superTypeArgume : node.superTypeArguments = undefined; + (_node$typeParameters2 = node.typeParameters) != null ? _node$typeParameters2 : node.typeParameters = undefined; + return; + case "TSTypeAliasDeclaration": + case "VariableDeclaration": + (_node$declare4 = node.declare) != null ? _node$declare4 : node.declare = false; + return; + case "VariableDeclarator": + (_node$definite2 = node.definite) != null ? _node$definite2 : node.definite = false; + return; + case "TSEnumDeclaration": + (_node$const = node.const) != null ? _node$const : node.const = false; + (_node$declare5 = node.declare) != null ? _node$declare5 : node.declare = false; + return; + case "TSEnumMember": + (_node$computed = node.computed) != null ? _node$computed : node.computed = false; + return; + case "TSImportType": + (_node$qualifier = node.qualifier) != null ? _node$qualifier : node.qualifier = null; + (_node$options = node.options) != null ? _node$options : node.options = null; + return; + case "TSInterfaceDeclaration": + (_node$declare6 = node.declare) != null ? _node$declare6 : node.declare = false; + (_node$extends = node.extends) != null ? _node$extends : node.extends = []; + return; + case "TSMappedType": + (_node$optional5 = node.optional) != null ? _node$optional5 : node.optional = false; + (_node$readonly4 = node.readonly) != null ? _node$readonly4 : node.readonly = undefined; + return; + case "TSModuleDeclaration": + (_node$declare7 = node.declare) != null ? _node$declare7 : node.declare = false; + (_node$global = node.global) != null ? _node$global : node.global = node.kind === "global"; + return; + case "TSTypeParameter": + (_node$const2 = node.const) != null ? _node$const2 : node.const = false; + (_node$in = node.in) != null ? _node$in : node.in = false; + (_node$out = node.out) != null ? _node$out : node.out = false; + return; + } + } + chStartsBindingIdentifierAndNotRelationalOperator(ch, pos) { + if (isIdentifierStart(ch)) { + keywordAndTSRelationalOperator.lastIndex = pos; + if (keywordAndTSRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordAndTSRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifierAndNotRelationalOperator(nextCh, next); + } + nextTokenIsIdentifierOrStringLiteralOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next) || nextCh === 34 || nextCh === 39; + } +}; +function isPossiblyLiteralEnum(expression) { + if (expression.type !== "MemberExpression") return false; + const { + computed, + property + } = expression; + if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +function isValidAmbientConstInitializer(expression, estree) { + var _expression$extra; + const { + type + } = expression; + if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) { + return false; + } + if (estree) { + if (type === "Literal") { + const { + value + } = expression; + if (typeof value === "string" || typeof value === "boolean") { + return true; + } + } + } else { + if (type === "StringLiteral" || type === "BooleanLiteral") { + return true; + } + } + if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) { + return true; + } + if (type === "TemplateLiteral" && expression.expressions.length === 0) { + return true; + } + if (isPossiblyLiteralEnum(expression)) { + return true; + } + return false; +} +function isNumber(expression, estree) { + if (estree) { + return expression.type === "Literal" && (typeof expression.value === "number" || "bigint" in expression); + } + return expression.type === "NumericLiteral" || expression.type === "BigIntLiteral"; +} +function isNegativeNumber(expression, estree) { + if (expression.type === "UnaryExpression") { + const { + operator, + argument + } = expression; + if (operator === "-" && isNumber(argument, estree)) { + return true; + } + } + return false; +} +function isUncomputedMemberExpressionChain(expression) { + if (expression.type === "Identifier") return true; + if (expression.type !== "MemberExpression" || expression.computed) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +const PlaceholderErrors = ParseErrorEnum`placeholders`({ + ClassNameIsRequired: "A class name is required.", + UnexpectedSpace: "Unexpected space in placeholder." +}); +var placeholders = superClass => class PlaceholdersParserMixin extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(133)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace(); + node.name = super.parseIdentifier(true); + this.assertNoSpace(); + this.expect(133); + return this.finishPlaceholder(node, expectedNode); + } + } + finishPlaceholder(node, expectedNode) { + let placeholder = node; + if (!placeholder.expectedNode || !placeholder.type) { + placeholder = this.finishNode(placeholder, "Placeholder"); + } + placeholder.expectedNode = expectedNode; + return placeholder; + } + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + this.finishOp(133, 2); + } else { + super.getTokenFromCode(code); + } + } + parseExprAtom(refExpressionErrors) { + return this.parsePlaceholder("Expression") || super.parseExprAtom(refExpressionErrors); + } + parseIdentifier(liberal) { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(liberal); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word !== undefined) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + cloneIdentifier(node) { + const cloned = super.cloneIdentifier(node); + if (cloned.type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + return cloned; + } + cloneStringLiteral(node) { + if (node.type === "Placeholder") { + return this.cloneIdentifier(node); + } + return super.cloneStringLiteral(node); + } + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(); + } + isValidLVal(type, disallowCallExpression, isParenthesized, binding) { + return type === "Placeholder" || super.isValidLVal(type, disallowCallExpression, isParenthesized, binding); + } + toAssignable(node, isLHS) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + } else { + super.toAssignable(node, isLHS); + } + } + chStartsBindingIdentifier(ch, pos) { + if (super.chStartsBindingIdentifier(ch, pos)) { + return true; + } + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 37 && this.input.charCodeAt(next + 1) === 37) { + return true; + } + return false; + } + verifyBreakContinue(node, isBreak) { + if (node.label && node.label.type === "Placeholder") return; + super.verifyBreakContinue(node, isBreak); + } + parseExpressionStatement(node, expr) { + var _expr$extra; + if (expr.type !== "Placeholder" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + return super.parseExpressionStatement(node, expr); + } + if (this.match(14)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(); + return this.finishNode(stmt, "LabeledStatement"); + } + this.semicolon(); + const stmtPlaceholder = node; + stmtPlaceholder.name = expr.name; + return this.finishPlaceholder(stmtPlaceholder, "Statement"); + } + parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse); + } + parseFunctionId(requireId) { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(requireId); + } + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + if (placeholder) { + if (this.match(81) || this.match(133) || this.match(5)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + throw this.raise(PlaceholderErrors.ClassNameIsRequired, this.state.startLoc); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + super.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + parseExport(node, decorators) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(node, decorators); + const node2 = node; + if (!this.isContextual(98) && !this.match(12)) { + node2.specifiers = []; + node2.source = null; + node2.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node2, "ExportNamedDeclaration"); + } + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node2.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node2, decorators); + } + isExportDefaultSpecifier() { + if (this.match(65)) { + const next = this.nextTokenStart(); + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(133), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + return super.isExportDefaultSpecifier(); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + var _specifiers; + if ((_specifiers = node.specifiers) != null && _specifiers.length) { + return true; + } + return super.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + } + checkExport(node) { + const { + specifiers + } = node; + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + super.checkExport(node); + node.specifiers = specifiers; + } + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(node); + node.specifiers = []; + if (!this.isContextual(98) && !this.match(12)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier")); + if (this.eat(12)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + this.expectContextual(98); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); + } + assertNoSpace() { + if (this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index)) { + this.raise(PlaceholderErrors.UnexpectedSpace, this.state.lastTokEndLoc); + } + } +}; +var v8intrinsic = superClass => class V8IntrinsicMixin extends superClass { + parseV8Intrinsic() { + if (this.match(54)) { + const v8IntrinsicStartLoc = this.state.startLoc; + const node = this.startNode(); + this.next(); + if (tokenIsIdentifier(this.state.type)) { + const name = this.parseIdentifierName(); + const identifier = this.createIdentifier(node, name); + this.castNodeTo(identifier, "V8IntrinsicIdentifier"); + if (this.match(10)) { + return identifier; + } + } + this.unexpected(v8IntrinsicStartLoc); + } + } + parseExprAtom(refExpressionErrors) { + return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); + } +}; +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; +function validatePlugins(pluginsMap) { + if (pluginsMap.has("decorators")) { + if (pluginsMap.has("decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + const decoratorsBeforeExport = pluginsMap.get("decorators").decoratorsBeforeExport; + if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean, if specified."); + } + const allowCallParenthesized = pluginsMap.get("decorators").allowCallParenthesized; + if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") { + throw new Error("'allowCallParenthesized' must be a boolean."); + } + } + if (pluginsMap.has("flow") && pluginsMap.has("typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + if (pluginsMap.has("placeholders") && pluginsMap.has("v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + if (pluginsMap.has("pipelineOperator")) { + var _pluginsMap$get2; + const proposal = pluginsMap.get("pipelineOperator").proposal; + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + if (proposal === "hack") { + if (pluginsMap.has("placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + if (pluginsMap.has("v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + const topicToken = pluginsMap.get("pipelineOperator").topicToken; + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + { + var _pluginsMap$get; + if (topicToken === "#" && ((_pluginsMap$get = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get.syntaxType) === "hash") { + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); + } + } + } else if (proposal === "smart" && ((_pluginsMap$get2 = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get2.syntaxType) === "hash") { + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); + } + } + if (pluginsMap.has("moduleAttributes")) { + { + if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) { + throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins."); + } + const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version; + if (moduleAttributesVersionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + } + if (pluginsMap.has("importAssertions")) { + if (pluginsMap.has("deprecatedImportAssert")) { + throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins."); + } + } + if (!pluginsMap.has("deprecatedImportAssert") && pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) { + { + pluginsMap.set("deprecatedImportAssert", {}); + } + } + if (pluginsMap.has("recordAndTuple")) { + { + const syntaxType = pluginsMap.get("recordAndTuple").syntaxType; + if (syntaxType != null) { + const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; + if (!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(syntaxType)) { + throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + } + } + } + if (pluginsMap.has("asyncDoExpressions") && !pluginsMap.has("doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } + if (pluginsMap.has("optionalChainingAssign") && pluginsMap.get("optionalChainingAssign").version !== "2023-07") { + throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is '2023-07'."); + } + if (pluginsMap.has("discardBinding") && pluginsMap.get("discardBinding").syntaxType !== "void") { + throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'."); + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, sawProto, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return sawProto; + } + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + if (name === "__proto__") { + if (isRecord) { + this.raise(Errors.RecordNoProto, key); + return true; + } + if (sawProto) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProtoLoc === null) { + refExpressionErrors.doubleProtoLoc = key.loc.start; + } + } else { + this.raise(Errors.DuplicateProto, key); + } + } + return true; + } + return sawProto; + } + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && this.offsetToSourcePos(expr.start) === potentialArrowAt; + } + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + if (this.match(140)) { + throw this.raise(Errors.ParseExpressionEmptyInput, this.state.startLoc); + } + const expr = this.parseExpression(); + if (!this.match(140)) { + throw this.raise(Errors.ParseExpressionExpectsEOF, this.state.startLoc, { + unexpected: this.input.codePointAt(this.state.start) + }); + } + this.finalizeRemainingComments(); + expr.comments = this.comments; + expr.errors = this.state.errors; + if (this.optionFlags & 256) { + expr.tokens = this.tokens; + } + return expr; + } + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + parseExpressionBase(refExpressionErrors) { + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + if (this.match(12)) { + const node = this.startNodeAt(startLoc); + node.expressions = [expr]; + while (this.eat(12)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + return expr; + } + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + setOptionalParametersError(refExpressionErrors) { + refExpressionErrors.optionalParametersLoc = this.state.startLoc; + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startLoc = this.state.startLoc; + const isYield = this.isContextual(108); + if (isYield) { + if (this.prodParam.hasYield) { + this.next(); + let left = this.parseYield(startLoc); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + return left; + } + } + let ownExpressionErrors; + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + const { + type + } = this.state; + if (type === 10 || tokenIsIdentifier(type)) { + this.state.potentialArrowAt = this.state.start; + } + let left = this.parseMaybeConditional(refExpressionErrors); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startLoc); + const operator = this.state.value; + node.operator = operator; + if (this.match(29)) { + this.toAssignable(left, true); + node.left = left; + const startIndex = startLoc.index; + if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) { + refExpressionErrors.doubleProtoLoc = null; + } + if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) { + refExpressionErrors.shorthandAssignLoc = null; + } + if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) { + this.checkDestructuringPrivate(refExpressionErrors); + refExpressionErrors.privateKeyLoc = null; + } + if (refExpressionErrors.voidPatternLoc != null && refExpressionErrors.voidPatternLoc.index >= startIndex) { + refExpressionErrors.voidPatternLoc = null; + } + } else { + node.left = left; + } + this.next(); + node.right = this.parseMaybeAssign(); + this.checkLVal(left, this.finishNode(node, "AssignmentExpression"), undefined, undefined, undefined, undefined, operator === "||=" || operator === "&&=" || operator === "??="); + return node; + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (isYield) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousPrefixOrIdentifier()) { + this.raiseOverwrite(Errors.YieldNotInGeneratorFunction, startLoc); + return this.parseYield(startLoc); + } + } + return left; + } + parseMaybeConditional(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseConditional(expr, startLoc, refExpressionErrors); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (this.eat(17)) { + const node = this.startNodeAt(startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(14); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + return expr; + } + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + parseExprOps(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseExprOp(expr, startLoc, -1); + } + parseExprOp(left, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) { + this.raise(Errors.PrivateInExpectedIn, left, { + identifierName: value + }); + } + this.classScope.usePrivateName(value, left.loc.start); + } + const op = this.state.type; + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) { + let prec = tokenOperatorPrecedence(op); + if (prec > minPrec) { + if (op === 39) { + this.expectPlugin("pipelineOperator"); + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + this.checkPipelineAtInfixOperator(left, leftStartLoc); + } + const node = this.startNodeAt(leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 41 || op === 42; + const coalesce = op === 40; + if (coalesce) { + prec = tokenOperatorPrecedence(42); + } + this.next(); + if (op === 39 && this.hasPlugin(["pipelineOperator", { + proposal: "minimal" + }])) { + if (this.state.type === 96 && this.prodParam.hasAwait) { + throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, this.state.startLoc); + } + } + node.right = this.parseExprOpRightExpr(op, prec); + const finishedNode = this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) { + throw this.raise(Errors.MixingCoalesceWithLogical, this.state.startLoc); + } + return this.parseExprOp(finishedNode, leftStartLoc, minPrec); + } + } + return left; + } + parseExprOpRightExpr(op, prec) { + const startLoc = this.state.startLoc; + switch (op) { + case 39: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(108)) { + throw this.raise(Errors.PipeBodyIsTighter, this.state.startLoc); + } + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); + }); + } + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + parseExprOpBaseRightExpr(op, prec) { + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + parseHackPipeBody() { + var _body$extra; + const { + startLoc + } = this.state; + const body = this.parseMaybeAssign(); + const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type); + if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(Errors.PipeUnparenthesizedBody, startLoc, { + type: body.type + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipeTopicUnused, startLoc); + } + return body; + } + checkExponentialAfterUnary(node) { + if (this.match(57)) { + this.raise(Errors.UnexpectedTokenUnaryExponentiation, node.argument); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startLoc = this.state.startLoc; + const isAwait = this.isContextual(96); + if (isAwait && this.recordAwaitIfAllowed()) { + this.next(); + const expr = this.parseAwait(startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + const update = this.match(34); + const node = this.startNode(); + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + if (this.match(72)) { + this.expectPlugin("throwExpressions"); + } + const isDelete = this.match(89); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + if (this.state.strict && isDelete) { + const arg = node.argument; + if (arg.type === "Identifier") { + this.raise(Errors.StrictDelete, node); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(Errors.DeletePrivateField, node); + } + } + if (!update) { + if (!sawUnary) { + this.checkExponentialAfterUnary(node); + } + return this.finishNode(node, "UnaryExpression"); + } + } + const expr = this.parseUpdate(node, update, refExpressionErrors); + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousPrefixOrIdentifier()) { + this.raiseOverwrite(Errors.AwaitNotInAsyncContext, startLoc); + return this.parseAwait(startLoc); + } + } + return expr; + } + parseUpdate(node, update, refExpressionErrors) { + if (update) { + const updateExpressionNode = node; + this.checkLVal(updateExpressionNode.argument, this.finishNode(updateExpressionNode, "UpdateExpression")); + return node; + } + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.next(); + this.checkLVal(expr, expr = this.finishNode(node, "UpdateExpression")); + } + return expr; + } + parseExprSubscripts(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseSubscripts(expr, startLoc); + } + parseSubscripts(base, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + do { + base = this.parseSubscript(base, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + return base; + } + parseSubscript(base, startLoc, noCalls, state) { + const { + type + } = this.state; + if (!noCalls && type === 15) { + return this.parseBind(base, startLoc, noCalls, state); + } else if (tokenIsTemplate(type)) { + return this.parseTaggedTemplateExpression(base, startLoc, state); + } + let optional = false; + if (type === 18) { + if (noCalls) { + this.raise(Errors.OptionalChainingNoNew, this.state.startLoc); + if (this.lookaheadCharCode() === 40) { + return this.stopParseSubscript(base, state); + } + } + state.optionalChainMember = optional = true; + this.next(); + } + if (!noCalls && this.match(10)) { + return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional); + } else { + const computed = this.eat(0); + if (computed || optional || this.eat(16)) { + return this.parseMember(base, startLoc, state, computed, optional); + } else { + return this.stopParseSubscript(base, state); + } + } + } + stopParseSubscript(base, state) { + state.stop = true; + return base; + } + parseMember(base, startLoc, state, computed, optional) { + const node = this.startNodeAt(startLoc); + node.object = base; + node.computed = computed; + if (computed) { + node.property = this.parseExpression(); + this.expect(3); + } else if (this.match(139)) { + if (base.type === "Super") { + this.raise(Errors.SuperPrivateField, startLoc); + } + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + parseBind(base, startLoc, noCalls, state) { + const node = this.startNodeAt(startLoc); + node.object = base; + this.next(); + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startLoc, noCalls); + } + parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + const { + maybeAsyncArrow, + optionalChainMember + } = state; + if (maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + if (optionalChainMember) { + node.optional = optional; + } + if (optional) { + node.arguments = this.parseCallExpressionArguments(); + } else { + node.arguments = this.parseCallExpressionArguments(base.type !== "Super", node, refExpressionErrors); + } + let finishedNode = this.finishCallExpression(node, optionalChainMember); + if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode); + } else { + if (maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + this.toReferencedArguments(finishedNode); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return finishedNode; + } + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + parseTaggedTemplateExpression(base, startLoc, state) { + const node = this.startNodeAt(startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + if (state.optionalChainMember) { + this.raise(Errors.OptionalChainingNoTemplate, startLoc); + } + return this.finishNode(node, "TaggedTemplateExpression"); + } + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && this.offsetToSourcePos(base.start) === this.state.potentialArrowAt; + } + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(Errors.ImportCallArity, node); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(Errors.ImportCallSpreadArgument, arg); + } + } + } + } + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + parseCallExpressionArguments(allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + while (!this.eat(11)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(11)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(11, false, refExpressionErrors, allowPlaceholder)); + } + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + shouldParseAsyncArrow() { + return this.match(19) && !this.canInsertSemicolon(); + } + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + this.resetPreviousNodeTrailingComments(call); + this.expect(19); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc); + if (call.innerComments) { + setInnerComments(node, call.innerComments); + } + if (call.callee.trailingComments) { + setInnerComments(node, call.callee.trailingComments); + } + return node; + } + parseNoCallExpr() { + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startLoc, true); + } + parseExprAtom(refExpressionErrors) { + let node; + let decorators = null; + const { + type + } = this.state; + switch (type) { + case 79: + return this.parseSuper(); + case 83: + node = this.startNode(); + this.next(); + if (this.match(16)) { + return this.parseImportMetaPropertyOrPhaseCall(node); + } + if (this.match(10)) { + if (this.optionFlags & 512) { + return this.parseImportCall(node); + } else { + return this.finishNode(node, "Import"); + } + } else { + this.raise(Errors.UnsupportedImport, this.state.lastTokStartLoc); + return this.finishNode(node, "Import"); + } + case 78: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + case 90: + { + return this.parseDo(this.startNode(), false); + } + case 56: + case 31: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + case 135: + return this.parseNumericLiteral(this.state.value); + case 136: + return this.parseBigIntLiteral(this.state.value); + case 134: + return this.parseStringLiteral(this.state.value); + case 84: + return this.parseNullLiteral(); + case 85: + return this.parseBooleanLiteral(true); + case 86: + return this.parseBooleanLiteral(false); + case 10: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + case 0: + { + return this.parseArrayLike(3, false, refExpressionErrors); + } + case 5: + { + return this.parseObjectLike(8, false, false, refExpressionErrors); + } + case 68: + return this.parseFunctionOrFunctionSent(); + case 26: + decorators = this.parseDecorators(); + case 80: + return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false); + case 77: + return this.parseNewOrNewTarget(); + case 25: + case 24: + return this.parseTemplate(false); + case 15: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(Errors.UnsupportedBind, callee); + } + } + case 139: + { + this.raise(Errors.PrivateInExpectedIn, this.state.startLoc, { + identifierName: this.state.value + }); + return this.parsePrivateName(); + } + case 33: + { + return this.parseTopicReferenceThenEqualsSign(54, "%"); + } + case 32: + { + return this.parseTopicReferenceThenEqualsSign(44, "^"); + } + case 37: + case 38: + { + return this.parseTopicReference("hack"); + } + case 44: + case 54: + case 27: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + return this.parseTopicReference(pipeProposal); + } + throw this.unexpected(); + } + case 47: + { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + throw this.expectOnePlugin(["jsx", "flow", "typescript"]); + } + throw this.unexpected(); + } + default: + { + if (type === 137) { + return this.parseDecimalLiteral(this.state.value); + } else if (type === 2 || type === 1) { + return this.parseArrayLike(this.state.type === 2 ? 4 : 3, true); + } else if (type === 6 || type === 7) { + return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true); + } + } + if (tokenIsIdentifier(type)) { + if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) { + return this.parseModuleExpression(); + } + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + const { + type + } = this.state; + if (type === 68) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseAsyncFunctionExpression(this.startNodeAtNode(id)); + } else if (tokenIsIdentifier(type)) { + if (this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (type === 90) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + return id; + } else { + throw this.unexpected(); + } + } + } + parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + this.state.type = topicTokenType; + this.state.value = topicTokenValue; + this.state.pos--; + this.state.end--; + this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1); + return this.parseTopicReference(pipeProposal); + } + throw this.unexpected(); + } + parseTopicReference(pipeProposal) { + const node = this.startNode(); + const startLoc = this.state.startLoc; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, startLoc, pipeProposal, tokenType); + } + finishTopicReference(node, startLoc, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { + if (pipeProposal === "hack") { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PipeTopicUnbound, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "TopicReference"); + } else { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PrimaryTopicNotAllowed, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "PipelinePrimaryTopicReference"); + } + } else { + throw this.raise(Errors.PipeTopicUnconfiguredToken, startLoc, { + token: tokenLabelName(tokenType) + }); + } + } + testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) { + switch (pipeProposal) { + case "hack": + { + return this.hasPlugin(["pipelineOperator", { + topicToken: tokenLabelName(tokenType) + }]); + } + case "smart": + return tokenType === 27; + default: + throw this.raise(Errors.PipeTopicRequiresHackPipes, startLoc); + } + } + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.LineTerminatorBeforeArrow, this.state.curPosition()); + } + this.expect(19); + return this.parseArrowExpression(node, params, true); + } + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + if (isAsync) { + this.prodParam.enter(2); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + parseSuper() { + const node = this.startNode(); + this.next(); + if (this.match(10) && !this.scope.allowDirectSuper) { + { + if (!(this.optionFlags & 16)) { + this.raise(Errors.SuperNotAllowed, node); + } + } + } else if (!this.scope.allowSuper) { + { + if (!(this.optionFlags & 16)) { + this.raise(Errors.UnexpectedSuper, node); + } + } + } + if (!this.match(10) && !this.match(0) && !this.match(16)) { + this.raise(Errors.UnsupportedSuper, node); + } + return this.finishNode(node, "Super"); + } + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + if (this.prodParam.hasYield && this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + if (this.match(103)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + return this.parseMetaProperty(node, meta, "sent"); + } + return this.parseFunction(node); + } + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + if (node.property.name !== propertyName || containsEsc) { + this.raise(Errors.UnsupportedMetaProperty, node.property, { + target: meta.name, + onlyValidPropertyName: propertyName + }); + } + return this.finishNode(node, "MetaProperty"); + } + parseImportMetaPropertyOrPhaseCall(node) { + this.next(); + if (this.isContextual(105) || this.isContextual(97)) { + const isSource = this.isContextual(105); + this.expectPlugin(isSource ? "sourcePhaseImports" : "deferredImportEvaluation"); + this.next(); + node.phase = isSource ? "source" : "defer"; + return this.parseImportCall(node); + } else { + const id = this.createIdentifierAt(this.startNodeAtNode(node), "import", this.state.lastTokStartLoc); + if (this.isContextual(101)) { + if (!this.inModule) { + this.raise(Errors.ImportMetaOutsideModule, id); + } + this.sawUnambiguousESM = true; + } + return this.parseMetaProperty(node, id, "meta"); + } + } + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + parseBigIntLiteral(value) { + { + return this.parseLiteral(value, "BigIntLiteral"); + } + } + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + parseRegExpLiteral(value) { + const node = this.startNode(); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); + node.pattern = value.pattern; + node.flags = value.flags; + this.next(); + return this.finishNode(node, "RegExpLiteral"); + } + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + parseParenAndDistinguishExpression(canBeArrow) { + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStartLoc; + let optionalCommaStartLoc; + while (!this.match(11)) { + if (first) { + first = false; + } else { + this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc); + if (this.match(11)) { + optionalCommaStartLoc = this.state.startLoc; + break; + } + } + if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + spreadStartLoc = this.state.startLoc; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc)); + if (!this.checkCommaAfterRest(41)) { + break; + } + } else { + exprList.push(this.parseMaybeAssignAllowInOrVoidPattern(11, refExpressionErrors, this.parseParenItem)); + } + } + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(11); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startLoc); + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + this.expressionScope.exit(); + if (!exprList.length) { + this.unexpected(this.state.lastTokStartLoc); + } + if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc); + if (spreadStartLoc) this.unexpected(spreadStartLoc); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + if (exprList.length > 1) { + val = this.startNodeAt(innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndLoc); + } else { + val = exprList[0]; + } + return this.wrapParenthesis(startLoc, val); + } + wrapParenthesis(startLoc, expression) { + if (!(this.optionFlags & 1024)) { + this.addExtra(expression, "parenthesized", true); + this.addExtra(expression, "parenStart", startLoc.index); + this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index); + return expression; + } + const parenExpression = this.startNodeAt(startLoc); + parenExpression.expression = expression; + return this.finishNode(parenExpression, "ParenthesizedExpression"); + } + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + parseArrow(node) { + if (this.eat(19)) { + return node; + } + } + parseParenItem(node, startLoc) { + return node; + } + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + if (this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + if (!this.scope.allowNewTarget) { + this.raise(Errors.UnexpectedNewTarget, metaProp); + } + return metaProp; + } + return this.parseNew(node); + } + parseNew(node) { + this.parseNewCallee(node); + if (this.eat(10)) { + const args = this.parseExprList(11); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + return this.finishNode(node, "NewExpression"); + } + parseNewCallee(node) { + const isImport = this.match(83); + const callee = this.parseNoCallExpr(); + node.callee = callee; + if (isImport && (callee.type === "Import" || callee.type === "ImportExpression")) { + this.raise(Errors.ImportCallNotNewExpression, callee); + } + } + parseTemplateElement(isTagged) { + const { + start, + startLoc, + end, + value + } = this.state; + const elemStart = start + 1; + const elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1)); + if (value === null) { + if (!isTagged) { + this.raise(Errors.InvalidEscapeSequenceTemplate, createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1)); + } + } + const isTail = this.match(24); + const endOffset = isTail ? -1 : -2; + const elemEnd = end + endOffset; + elem.value = { + raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"), + cooked: value === null ? null : value.slice(1, endOffset) + }; + elem.tail = isTail; + this.next(); + const finishedNode = this.finishNode(elem, "TemplateElement"); + this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset)); + return finishedNode; + } + parseTemplate(isTagged) { + const node = this.startNode(); + let curElt = this.parseTemplateElement(isTagged); + const quasis = [curElt]; + const substitutions = []; + while (!curElt.tail) { + substitutions.push(this.parseTemplateSubstitution()); + this.readTemplateContinuation(); + quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + node.expressions = substitutions; + node.quasis = quasis; + return this.finishNode(node, "TemplateLiteral"); + } + parseTemplateSubstitution() { + return this.parseExpression(); + } + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + let sawProto = false; + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + this.addTrailingCommaExtraToNode(node); + break; + } + } + let prop; + if (isPattern) { + prop = this.parseBindingProperty(); + } else { + prop = this.parsePropertyDefinition(refExpressionErrors); + sawProto = this.checkProto(prop, isRecord, sawProto, refExpressionErrors); + } + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(Errors.InvalidRecordProperty, prop); + } + { + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + } + node.properties.push(prop); + } + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + return this.finishNode(node, type); + } + addTrailingCommaExtraToNode(node) { + this.addExtra(node, "trailingComma", this.state.lastTokStartLoc.index); + this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); + } + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55)); + } + parsePropertyDefinition(refExpressionErrors) { + let decorators = []; + if (this.match(26)) { + if (this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedPropertyDecorator, this.state.startLoc); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + const prop = this.startNode(); + let isAsync = false; + let isAccessor = false; + let startLoc; + if (this.match(21)) { + if (decorators.length) this.unexpected(); + return this.parseSpread(); + } + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + prop.method = false; + if (refExpressionErrors) { + startLoc = this.state.startLoc; + } + let isGenerator = this.eat(55); + this.parsePropertyNamePrefixOperator(prop); + const containsEsc = this.state.containsEsc; + this.parsePropertyName(prop, refExpressionErrors); + if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const { + key + } = prop; + const keyName = key.name; + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(55); + this.parsePropertyName(prop); + } + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + if (this.match(55)) { + isGenerator = true; + this.raise(Errors.AccessorIsGenerator, this.state.curPosition(), { + kind: keyName + }); + this.next(); + } + this.parsePropertyName(prop); + } + } + return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors); + } + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + getObjectOrClassMethodParams(method) { + return method.params; + } + checkGetterSetterParams(method) { + var _params; + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length !== paramCount) { + this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, method); + } + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(Errors.BadSetterRestParameter, method); + } + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(finishedProp); + return finishedProp; + } + if (isAsync || isGenerator || this.match(10)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + if (this.eat(14)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowInOrVoidPattern(8, refExpressionErrors); + return this.finishObjectProperty(prop); + } + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false); + if (isPattern) { + prop.value = this.parseMaybeDefault(startLoc, this.cloneIdentifier(prop.key)); + } else if (this.match(29)) { + const shorthandAssignLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.shorthandAssignLoc === null) { + refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc; + } + } else { + this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc); + } + prop.value = this.parseMaybeDefault(startLoc, this.cloneIdentifier(prop.key)); + } else { + prop.value = this.cloneIdentifier(prop.key); + } + prop.shorthand = true; + return this.finishObjectProperty(prop); + } + } + finishObjectProperty(node) { + return this.finishNode(node, "ObjectProperty"); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + parsePropertyName(prop, refExpressionErrors) { + if (this.eat(0)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(3); + } else { + const { + type, + value + } = this.state; + let key; + if (tokenIsKeywordOrIdentifier(type)) { + key = this.parseIdentifier(true); + } else { + switch (type) { + case 135: + key = this.parseNumericLiteral(value); + break; + case 134: + key = this.parseStringLiteral(value); + break; + case 136: + key = this.parseBigIntLiteral(value); + break; + case 139: + { + const privateKeyLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.privateKeyLoc === null) { + refExpressionErrors.privateKeyLoc = privateKeyLoc; + } + } else { + this.raise(Errors.UnexpectedPrivateField, privateKeyLoc); + } + key = this.parsePrivateName(); + break; + } + default: + if (type === 137) { + key = this.parseDecimalLiteral(value); + break; + } + this.unexpected(); + } + } + prop.key = key; + if (type !== 139) { + prop.computed = false; + } + } + } + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = isAsync; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = isGenerator; + this.scope.enter(514 | 16 | (inClassScope ? 576 : 0) | (allowDirectSuper ? 32 : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, isConstructor); + const finishedNode = this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return finishedNode; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + parseArrowExpression(node, params, isAsync, trailingCommaLoc) { + this.scope.enter(514 | 4); + let flags = functionFlags(isAsync, false); + if (!this.match(5) && this.prodParam.hasIn) { + flags |= 8; + } + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaLoc); + } + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + this.toAssignableList(params, trailingCommaLoc, false); + node.params = params; + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + return this.finishNode(node, type); + } + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(5); + this.expressionScope.enter(newExpressionScope()); + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | 4); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + if (hasStrictModeDirective && nonSimple) { + this.raise(Errors.IllegalLanguageModeDirective, (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node); + } + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + if (this.state.strict && node.id) { + this.checkIdentifier(node.id, 65, strictModeChanged); + } + }); + this.prodParam.exit(); + this.state.labels = oldLabels; + } + this.expressionScope.exit(); + } + isSimpleParameter(node) { + return node.type === "Identifier"; + } + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (!this.isSimpleParameter(params[i])) return false; + } + return true; + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = !allowDuplicates && new Set(); + const formalParameters = { + type: "FormalParameters" + }; + for (const param of node.params) { + this.checkLVal(param, formalParameters, 5, checkClashes, strictModeChanged); + } + } + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(close, allowEmpty, refExpressionErrors)); + } + return elts; + } + parseExprListItem(close, allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + if (this.match(12)) { + if (!allowEmpty) { + this.raise(Errors.UnexpectedToken, this.state.curPosition(), { + unexpected: "," + }); + } + elt = null; + } else if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc); + } else if (this.match(17)) { + this.expectPlugin("partialApplication"); + if (!allowPlaceholder) { + this.raise(Errors.UnexpectedArgumentPlaceholder, this.state.startLoc); + } + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowInOrVoidPattern(close, refExpressionErrors, this.parseParenItem); + } + return elt; + } + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(liberal); + return this.createIdentifier(node, name); + } + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + createIdentifierAt(node, name, endLoc) { + node.name = name; + node.loc.identifierName = name; + return this.finishNodeAt(node, "Identifier", endLoc); + } + parseIdentifierName(liberal) { + let name; + const { + startLoc, + type + } = this.state; + if (tokenIsKeywordOrIdentifier(type)) { + name = this.state.value; + } else { + this.unexpected(); + } + const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type); + if (liberal) { + if (tokenIsKeyword) { + this.replaceToken(132); + } + } else { + this.checkReservedWord(name, startLoc, tokenIsKeyword, false); + } + this.next(); + return name; + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + if (!canBeReservedWord(word)) { + return; + } + if (checkKeywords && isKeyword(word)) { + this.raise(Errors.UnexpectedKeyword, startLoc, { + keyword: word + }); + return; + } + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + if (reservedTest(word, this.inModule)) { + this.raise(Errors.UnexpectedReservedWord, startLoc, { + reservedWord: word + }); + return; + } else if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(Errors.YieldBindingIdentifier, startLoc); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(Errors.AwaitBindingIdentifier, startLoc); + return; + } + if (this.scope.inStaticBlock) { + this.raise(Errors.AwaitBindingIdentifierInStaticBlock, startLoc); + return; + } + this.expressionScope.recordAsyncArrowParametersError(startLoc); + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(Errors.ArgumentsInClass, startLoc); + return; + } + } + } + recordAwaitIfAllowed() { + const isAwaitAllowed = this.prodParam.hasAwait; + if (isAwaitAllowed && !this.scope.inFunction) { + this.state.hasTopLevelAwait = true; + } + return isAwaitAllowed; + } + parseAwait(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, node); + if (this.eat(55)) { + this.raise(Errors.ObsoleteAwaitStar, node); + } + if (!this.scope.inFunction && !(this.optionFlags & 1)) { + if (this.isAmbiguousPrefixOrIdentifier()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + return this.finishNode(node, "AwaitExpression"); + } + isAmbiguousPrefixOrIdentifier() { + if (this.hasPrecedingLineBreak()) return true; + const { + type + } = this.state; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 138 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + } + parseYield(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, node); + let delegating = false; + let argument = null; + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(55); + switch (this.state.type) { + case 13: + case 140: + case 8: + case 11: + case 3: + case 9: + case 14: + case 12: + if (!delegating) break; + default: + argument = this.parseMaybeAssign(); + } + } + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + parseImportCall(node) { + this.next(); + node.source = this.parseMaybeAssignAllowIn(); + node.options = null; + if (this.eat(12)) { + if (!this.match(11)) { + node.options = this.parseMaybeAssignAllowIn(); + if (this.eat(12)) { + this.addTrailingCommaExtraToNode(node.options); + if (!this.match(11)) { + do { + this.parseMaybeAssignAllowIn(); + } while (this.eat(12) && !this.match(11)); + this.raise(Errors.ImportCallArity, node); + } + } + } else { + this.addTrailingCommaExtraToNode(node.source); + } + } + this.expect(11); + return this.finishNode(node, "ImportExpression"); + } + checkPipelineAtInfixOperator(left, leftStartLoc) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + if (left.type === "SequenceExpression") { + this.raise(Errors.PipelineHeadSequenceExpression, leftStartLoc); + } + } + } + parseSmartPipelineBodyInStyle(childExpr, startLoc) { + if (this.isSimpleReference(childExpr)) { + const bodyNode = this.startNodeAt(startLoc); + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + const bodyNode = this.startNodeAt(startLoc); + this.checkSmartPipeTopicBodyEarlyErrors(startLoc); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + case "Identifier": + return true; + default: + return false; + } + } + checkSmartPipeTopicBodyEarlyErrors(startLoc) { + if (this.match(19)) { + throw this.raise(Errors.PipelineBodyNoArrow, this.state.startLoc); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipelineTopicUnused, startLoc); + } + } + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + withSmartMixTopicForbiddingContext(callback) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = 8 & ~flags; + if (prodParamToSet) { + this.prodParam.enter(flags | 8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = 8 & flags; + if (prodParamToClear) { + this.prodParam.enter(flags & ~8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + parseFSharpPipelineBody(prec) { + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + if (!this.match(5)) { + this.unexpected(null, 5); + } + const program = this.startNodeAt(this.state.endLoc); + this.next(); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + try { + node.body = this.parseProgram(program, 8, "module"); + } finally { + revertScopes(); + } + return this.finishNode(node, "ModuleExpression"); + } + parseVoidPattern(refExpressionErrors) { + this.expectPlugin("discardBinding"); + const node = this.startNode(); + if (refExpressionErrors != null) { + refExpressionErrors.voidPatternLoc = this.state.startLoc; + } + this.next(); + return this.finishNode(node, "VoidPattern"); + } + parseMaybeAssignAllowInOrVoidPattern(close, refExpressionErrors, afterLeftParse) { + if (refExpressionErrors != null && this.match(88)) { + const nextCode = this.lookaheadCharCode(); + if (nextCode === 44 || nextCode === (close === 3 ? 93 : close === 8 ? 125 : 41) || nextCode === 61) { + return this.parseMaybeDefault(this.state.startLoc, this.parseVoidPattern(refExpressionErrors)); + } + } + return this.parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse); + } + parsePropertyNamePrefixOperator(prop) {} +} +const loopLabel = { + kind: 1 + }, + switchLabel = { + kind: 2 + }; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; +function babel7CompatTokens(tokens, input, startIndex) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + if (typeof type === "number") { + { + if (type === 139) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = createPositionWithColumnOffset(loc.start, 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(27), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(132), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + if (tokenIsTemplate(type)) { + const { + loc, + start, + value, + end + } = token; + const backquoteEnd = start + 1; + const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); + let startToken; + if (input.charCodeAt(start - startIndex) === 96) { + startToken = new Token({ + type: getExportedToken(22), + value: "`", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } else { + startToken = new Token({ + type: getExportedToken(8), + value: "}", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } + let templateValue, templateElementEnd, templateElementEndLoc, endToken; + if (type === 24) { + templateElementEnd = end - 1; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1); + templateValue = value === null ? null : value.slice(1, -1); + endToken = new Token({ + type: getExportedToken(22), + value: "`", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } else { + templateElementEnd = end - 2; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2); + templateValue = value === null ? null : value.slice(1, -2); + endToken = new Token({ + type: getExportedToken(23), + value: "${", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } + tokens.splice(i, 1, startToken, new Token({ + type: getExportedToken(20), + value: templateValue, + start: backquoteEnd, + end: templateElementEnd, + startLoc: backquoteEndLoc, + endLoc: templateElementEndLoc + }), endToken); + i += 2; + continue; + } + } + token.type = getExportedToken(type); + } + } + return tokens; +} +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program, 140, this.options.sourceType === "module" ? "module" : "script"); + file.comments = this.comments; + if (this.optionFlags & 256) { + file.tokens = babel7CompatTokens(this.tokens, this.input, this.startIndex); + } + return this.finishNode(file, "File"); + } + parseProgram(program, end, sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + if (this.inModule) { + if (!(this.optionFlags & 64) && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, at, { + localName + }); + } + } + this.addExtra(program, "topLevelAwait", this.state.hasTopLevelAwait); + } + let finishedProgram; + if (end === 140) { + finishedProgram = this.finishNode(program, "Program"); + } else { + finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1)); + } + return finishedProgram; + } + stmtToDirective(stmt) { + const directive = this.castNodeTo(stmt, "Directive"); + const directiveLiteral = this.castNodeTo(stmt.expression, "DirectiveLiteral"); + const expressionValue = directiveLiteral.value; + const raw = this.input.slice(this.offsetToSourcePos(directiveLiteral.start), this.offsetToSourcePos(directiveLiteral.end)); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + this.addExtra(directiveLiteral, "expressionValue", expressionValue); + directive.value = directiveLiteral; + delete stmt.expression; + return directive; + } + parseInterpreterDirective() { + if (!this.match(28)) { + return null; + } + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + isLet() { + if (!this.isContextual(100)) { + return false; + } + return this.hasFollowingBindingAtom(); + } + isUsing() { + if (!this.isContextual(107)) { + return false; + } + return this.nextTokenIsIdentifierOnSameLine(); + } + isForUsing() { + if (!this.isContextual(107)) { + return false; + } + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + if (this.isUnparsedContextual(next, "of")) { + const nextCharAfterOf = this.lookaheadCharCodeSince(next + 2); + if (nextCharAfterOf !== 61 && nextCharAfterOf !== 58 && nextCharAfterOf !== 59) { + return false; + } + } + if (this.chStartsBindingIdentifier(nextCh, next) || this.isUnparsedContextual(next, "void")) { + return true; + } + return false; + } + nextTokenIsIdentifierOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next); + } + isAwaitUsing() { + if (!this.isContextual(96)) { + return false; + } + let next = this.nextTokenInLineStart(); + if (this.isUnparsedContextual(next, "using")) { + next = this.nextTokenInLineStartSince(next + 5); + const nextCh = this.codePointAtPos(next); + if (this.chStartsBindingIdentifier(nextCh, next)) { + return true; + } + } + return false; + } + chStartsBindingIdentifier(ch, pos) { + if (isIdentifierStart(ch)) { + keywordRelationalOperator.lastIndex = pos; + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + chStartsBindingPattern(ch) { + return ch === 91 || ch === 123; + } + hasFollowingBindingAtom() { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next); + } + hasInLineFollowingBindingIdentifierOrBrace() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return nextCh === 123 || this.chStartsBindingIdentifier(nextCh, next); + } + allowsUsing() { + return (this.scope.inModule || !this.scope.inTopLevel) && !this.scope.inBareCaseStatement; + } + parseModuleItem() { + return this.parseStatementLike(1 | 2 | 4 | 8); + } + parseStatementListItem() { + return this.parseStatementLike(2 | 4 | (!this.options.annexB || this.state.strict ? 0 : 8)); + } + parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction = false) { + let flags = 0; + if (this.options.annexB && !this.state.strict) { + flags |= 4; + if (allowLabeledFunction) { + flags |= 8; + } + } + return this.parseStatementLike(flags); + } + parseStatement() { + return this.parseStatementLike(0); + } + parseStatementLike(flags) { + let decorators = null; + if (this.match(26)) { + decorators = this.parseDecorators(true); + } + return this.parseStatementContent(flags, decorators); + } + parseStatementContent(flags, decorators) { + const startType = this.state.type; + const node = this.startNode(); + const allowDeclaration = !!(flags & 2); + const allowFunctionDeclaration = !!(flags & 4); + const topLevel = flags & 1; + switch (startType) { + case 60: + return this.parseBreakContinueStatement(node, true); + case 63: + return this.parseBreakContinueStatement(node, false); + case 64: + return this.parseDebuggerStatement(node); + case 90: + return this.parseDoWhileStatement(node); + case 91: + return this.parseForStatement(node); + case 68: + if (this.lookaheadCharCode() === 46) break; + if (!allowFunctionDeclaration) { + this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, this.state.startLoc); + } + return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration); + case 80: + if (!allowDeclaration) this.unexpected(); + return this.parseClass(this.maybeTakeDecorators(decorators, node), true); + case 69: + return this.parseIfStatement(node); + case 70: + return this.parseReturnStatement(node); + case 71: + return this.parseSwitchStatement(node); + case 72: + return this.parseThrowStatement(node); + case 73: + return this.parseTryStatement(node); + case 96: + if (this.isAwaitUsing()) { + if (!this.allowsUsing()) { + this.raise(Errors.UnexpectedUsingDeclaration, node); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, node); + } else if (!this.recordAwaitIfAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, node); + } + this.next(); + return this.parseVarStatement(node, "await using"); + } + break; + case 107: + if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace()) { + break; + } + if (!this.allowsUsing()) { + this.raise(Errors.UnexpectedUsingDeclaration, this.state.startLoc); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc); + } + return this.parseVarStatement(node, "using"); + case 100: + { + if (this.state.containsEsc) { + break; + } + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + if (nextCh !== 91) { + if (!allowDeclaration && this.hasFollowingLineBreak()) break; + if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) { + break; + } + } + } + case 75: + { + if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc); + } + } + case 74: + { + const kind = this.state.value; + return this.parseVarStatement(node, kind); + } + case 92: + return this.parseWhileStatement(node); + case 76: + return this.parseWithStatement(node); + case 5: + return this.parseBlock(); + case 13: + return this.parseEmptyStatement(node); + case 83: + { + const nextTokenCharCode = this.lookaheadCharCode(); + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + case 82: + { + if (!(this.optionFlags & 8) && !topLevel) { + this.raise(Errors.UnexpectedImportExport, this.state.startLoc); + } + this.next(); + let result; + if (startType === 83) { + result = this.parseImport(node); + } else { + result = this.parseExport(node, decorators); + } + this.assertModuleNodeAllowed(result); + return result; + } + default: + { + if (this.isAsyncFunction()) { + if (!allowDeclaration) { + this.raise(Errors.AsyncFunctionInSingleStatementContext, this.state.startLoc); + } + this.next(); + return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration); + } + } + } + const maybeName = this.state.value; + const expr = this.parseExpression(); + if (tokenIsIdentifier(startType) && expr.type === "Identifier" && this.eat(14)) { + return this.parseLabeledStatement(node, maybeName, expr, flags); + } else { + return this.parseExpressionStatement(node, expr, decorators); + } + } + assertModuleNodeAllowed(node) { + if (!(this.optionFlags & 8) && !this.inModule) { + this.raise(Errors.ImportOutsideModule, node); + } + } + decoratorsEnabledBeforeExport() { + if (this.hasPlugin("decorators-legacy")) return true; + return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") !== false; + } + maybeTakeDecorators(maybeDecorators, classNode, exportNode) { + if (maybeDecorators) { + var _classNode$decorators; + if ((_classNode$decorators = classNode.decorators) != null && _classNode$decorators.length) { + if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") { + this.raise(Errors.DecoratorsBeforeAfterExport, classNode.decorators[0]); + } + classNode.decorators.unshift(...maybeDecorators); + } else { + classNode.decorators = maybeDecorators; + } + this.resetStartLocationFromNode(classNode, maybeDecorators[0]); + if (exportNode) this.resetStartLocationFromNode(exportNode, classNode); + } + return classNode; + } + canHaveLeadingDecorator() { + return this.match(80); + } + parseDecorators(allowExport) { + const decorators = []; + do { + decorators.push(this.parseDecorator()); + } while (this.match(26)); + if (this.match(82)) { + if (!allowExport) { + this.unexpected(); + } + if (!this.decoratorsEnabledBeforeExport()) { + this.raise(Errors.DecoratorExportClass, this.state.startLoc); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(Errors.UnexpectedLeadingDecorator, this.state.startLoc); + } + return decorators; + } + parseDecorator() { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + const node = this.startNode(); + this.next(); + if (this.hasPlugin("decorators")) { + const startLoc = this.state.startLoc; + let expr; + if (this.match(10)) { + const startLoc = this.state.startLoc; + this.next(); + expr = this.parseExpression(); + this.expect(11); + expr = this.wrapParenthesis(startLoc, expr); + const paramsStartLoc = this.state.startLoc; + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); + if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) { + this.raise(Errors.DecoratorArgumentsOutsideParentheses, paramsStartLoc); + } + } else { + expr = this.parseIdentifier(false); + while (this.eat(16)) { + const node = this.startNodeAt(startLoc); + node.object = expr; + if (this.match(139)) { + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); + } + } else { + node.expression = this.parseExprSubscripts(); + } + return this.finishNode(node, "Decorator"); + } + parseMaybeDecoratorArguments(expr, startLoc) { + if (this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + return expr; + } + parseBreakContinueStatement(node, isBreak) { + this.next(); + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + verifyBreakContinue(node, isBreak) { + let i; + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === 1)) { + break; + } + if (node.label && isBreak) break; + } + } + if (i === this.state.labels.length) { + const type = isBreak ? "BreakStatement" : "ContinueStatement"; + this.raise(Errors.IllegalBreakContinue, node, { + type + }); + } + } + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + parseHeaderExpression() { + this.expect(10); + const val = this.parseExpression(); + this.expect(11); + return val; + } + parseDoWhileStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + this.expect(92); + node.test = this.parseHeaderExpression(); + this.eat(13); + return this.finishNode(node, "DoWhileStatement"); + } + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = null; + if (this.isContextual(96) && this.recordAwaitIfAllowed()) { + awaitAt = this.state.startLoc; + this.next(); + } + this.scope.enter(0); + this.expect(10); + if (this.match(13)) { + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, null); + } + const startsWithLet = this.isContextual(100); + { + const startsWithAwaitUsing = this.isAwaitUsing(); + const starsWithUsingDeclaration = startsWithAwaitUsing || this.isForUsing(); + const isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || starsWithUsingDeclaration; + if (this.match(74) || this.match(75) || isLetOrUsing) { + const initNode = this.startNode(); + let kind; + if (startsWithAwaitUsing) { + kind = "await using"; + if (!this.recordAwaitIfAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, this.state.startLoc); + } + this.next(); + } else { + kind = this.state.value; + } + this.next(); + this.parseVar(initNode, true, kind); + const init = this.finishNode(initNode, "VariableDeclaration"); + const isForIn = this.match(58); + if (isForIn && starsWithUsingDeclaration) { + this.raise(Errors.ForInUsing, init); + } + if ((isForIn || this.isContextual(102)) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + } + const startsWithAsync = this.isContextual(95); + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual(102); + if (isForOf) { + if (startsWithLet) { + this.raise(Errors.ForOfLet, init); + } + if (awaitAt === null && startsWithAsync && init.type === "Identifier") { + this.raise(Errors.ForOfAsync, init); + } + } + if (isForOf || this.match(58)) { + this.checkDestructuringPrivate(refExpressionErrors); + this.toAssignable(init, true); + const type = isForOf ? "ForOfStatement" : "ForInStatement"; + this.checkLVal(init, { + type + }); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + parseFunctionStatement(node, isAsync, isHangingDeclaration) { + this.next(); + return this.parseFunction(node, 1 | (isHangingDeclaration ? 2 : 0) | (isAsync ? 8 : 0)); + } + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(); + node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null; + return this.finishNode(node, "IfStatement"); + } + parseReturnStatement(node) { + if (!this.prodParam.hasReturn) { + this.raise(Errors.IllegalReturn, this.state.startLoc); + } + this.next(); + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + return this.finishNode(node, "ReturnStatement"); + } + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(5); + this.state.labels.push(switchLabel); + this.scope.enter(256); + let cur; + for (let sawDefault; !this.match(8);) { + if (this.match(61) || this.match(65)) { + const isCase = this.match(61); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(Errors.MultipleDefaultsInSwitch, this.state.lastTokStartLoc); + } + sawDefault = true; + cur.test = null; + } + this.expect(14); + } else { + if (cur) { + cur.consequent.push(this.parseStatementListItem()); + } else { + this.unexpected(); + } + } + } + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + parseThrowStatement(node) { + this.next(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.NewlineAfterThrow, this.state.lastTokEndLoc); + } + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + this.scope.enter(this.options.annexB && param.type === "Identifier" ? 8 : 0); + this.checkLVal(param, { + type: "CatchClause" + }, 9); + return param; + } + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.match(62)) { + const clause = this.startNode(); + this.next(); + if (this.match(10)) { + this.expect(10); + clause.param = this.parseCatchClauseParam(); + this.expect(11); + } else { + clause.param = null; + this.scope.enter(0); + } + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + node.finalizer = this.eat(67) ? this.parseBlock() : null; + if (!node.handler && !node.finalizer) { + this.raise(Errors.NoCatchOrFinally, node); + } + return this.finishNode(node, "TryStatement"); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + parseWithStatement(node) { + if (this.state.strict) { + this.raise(Errors.StrictWith, this.state.startLoc); + } + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + return this.finishNode(node, "WithStatement"); + } + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + parseLabeledStatement(node, maybeName, expr, flags) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(Errors.LabelRedeclaration, expr, { + labelName: maybeName + }); + } + } + const kind = tokenIsLoop(this.state.type) ? 1 : this.match(71) ? 2 : null; + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + if (label.statementStart === node.start) { + label.statementStart = this.sourceToOffsetPos(this.state.start); + label.kind = kind; + } else { + break; + } + } + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.sourceToOffsetPos(this.state.start) + }); + node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement(); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + parseExpressionStatement(node, expr, decorators) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + if (allowDirectives) { + this.state.strictErrors.clear(); + } + this.expect(5); + if (createNewLexicalScope) { + this.scope.enter(0); + } + this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse); + if (createNewLexicalScope) { + this.scope.exit(); + } + return this.finishNode(node, "BlockStatement"); + } + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + while (!this.match(end)) { + const stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem(); + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + continue; + } + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + body.push(stmt); + } + afterBlockParse == null || afterBlockParse.call(this, hasStrictModeDirective); + if (!oldStrict) { + this.setStrict(false); + } + this.next(); + } + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(13) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(11) ? null : this.parseExpression(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + parseForIn(node, init, awaitAt) { + const isForIn = this.match(58); + this.next(); + if (isForIn) { + if (awaitAt !== null) this.unexpected(awaitAt); + } else { + node.await = awaitAt !== null; + } + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(Errors.ForInOfLoopInitializer, init, { + type: isForIn ? "ForInStatement" : "ForOfStatement" + }); + } + if (init.type === "AssignmentPattern") { + this.raise(Errors.InvalidLhs, init, { + ancestor: { + type: "ForStatement" + } + }); + } + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + parseVar(node, isFor, kind, allowMissingInitializer = false) { + const declarations = node.declarations = []; + node.kind = kind; + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + if (decl.init === null && !allowMissingInitializer) { + if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(102)))) { + this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, { + kind: "destructuring" + }); + } else if ((kind === "const" || kind === "using" || kind === "await using") && !(this.match(58) || this.isContextual(102))) { + this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, { + kind + }); + } + } + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(12)) break; + } + return node; + } + parseVarId(decl, kind) { + const id = this.parseBindingAtom(); + if (kind === "using" || kind === "await using") { + if (id.type === "ArrayPattern" || id.type === "ObjectPattern") { + this.raise(Errors.UsingDeclarationHasBindingPattern, id.loc.start); + } + } else { + if (id.type === "VoidPattern") { + this.raise(Errors.UnexpectedVoidPattern, id.loc.start); + } + } + this.checkLVal(id, { + type: "VariableDeclarator" + }, kind === "var" ? 5 : 8201); + decl.id = id; + } + parseAsyncFunctionExpression(node) { + return this.parseFunction(node, 8); + } + parseFunction(node, flags = 0) { + const hangingDeclaration = flags & 2; + const isDeclaration = !!(flags & 1); + const requireId = isDeclaration && !(flags & 4); + const isAsync = !!(flags & 8); + this.initFunction(node, isAsync); + if (this.match(55)) { + if (hangingDeclaration) { + this.raise(Errors.GeneratorInSingleStatementContext, this.state.startLoc); + } + this.next(); + node.generator = true; + } + if (isDeclaration) { + node.id = this.parseFunctionId(requireId); + } + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(514); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + if (!isDeclaration) { + node.id = this.parseFunctionId(); + } + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isDeclaration ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + if (isDeclaration && !hangingDeclaration) { + this.registerFunctionStatementId(node); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + parseFunctionId(requireId) { + return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null; + } + parseFunctionParams(node, isConstructor) { + this.expect(10); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(11, 41, 2 | (isConstructor ? 4 : 0)); + this.expressionScope.exit(); + } + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? 5 : 8201 : 17, node.id.loc.start); + } + parseClass(node, isStatement, optionalId) { + this.next(); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + isClassProperty() { + return this.match(29) || this.match(13) || this.match(8); + } + isClassMethod() { + return this.match(10); + } + nameIsConstructor(key) { + return key.type === "Identifier" && key.name === "constructor" || key.type === "StringLiteral" && key.value === "constructor"; + } + isNonstaticConstructor(method) { + return !method.computed && !method.static && this.nameIsConstructor(method.key); + } + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(5); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(8)) { + if (this.eat(13)) { + if (decorators.length > 0) { + throw this.raise(Errors.DecoratorSemicolon, this.state.lastTokEndLoc); + } + continue; + } + if (this.match(26)) { + decorators.push(this.parseDecorator()); + continue; + } + const member = this.startNode(); + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + this.parseClassMember(classBody, member, state); + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(Errors.DecoratorConstructor, member); + } + } + }); + this.state.strict = oldStrict; + this.next(); + if (decorators.length) { + throw this.raise(Errors.TrailingDecorator, this.state.startLoc); + } + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + this.resetPreviousNodeTrailingComments(key); + return false; + } + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual(106); + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + if (this.eat(5)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const accessorProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + this.parsePropertyNamePrefixOperator(member); + if (this.eat(55)) { + method.kind = "method"; + const isPrivateName = this.match(139); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(method); + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsGenerator, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + const isContextual = !this.state.containsEsc && tokenIsIdentifier(this.state.type); + const key = this.parseClassElementName(member); + const maybeContextualKw = isContextual ? key.name : null; + const isPrivate = this.isPrivateName(key); + const maybeQuestionTokenStartLoc = this.state.startLoc; + this.parsePostMemberNameModifiers(publicMember); + if (this.isClassMethod()) { + method.kind = "method"; + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + if (isConstructor) { + publicMethod.kind = "constructor"; + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(Errors.DuplicateConstructor, key); + } + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(Errors.OverrideOnConstructor, key); + } + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (maybeContextualKw === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(55); + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStartLoc); + } + method.kind = "method"; + const isPrivate = this.match(139); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAsync, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if ((maybeContextualKw === "get" || maybeContextualKw === "set") && !(this.match(55) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = maybeContextualKw; + const isPrivate = this.match(139); + this.parseClassElementName(publicMethod); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAccessor, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + this.checkGetterSetterParams(publicMethod); + } else if (maybeContextualKw === "accessor" && !this.isLineTerminator()) { + this.expectPlugin("decoratorAutoAccessors"); + this.resetPreviousNodeTrailingComments(key); + const isPrivate = this.match(139); + this.parseClassElementName(publicProp); + this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + parseClassElementName(member) { + const { + type, + value + } = this.state; + if ((type === 132 || type === 134) && member.static && value === "prototype") { + this.raise(Errors.StaticPrototype, this.state.startLoc); + } + if (type === 139) { + if (value === "constructor") { + this.raise(Errors.ConstructorClassPrivateField, this.state.startLoc); + } + const key = this.parsePrivateName(); + member.key = key; + return key; + } + this.parsePropertyName(member); + return member.key; + } + parseClassStaticBlock(classBody, member) { + var _member$decorators; + this.scope.enter(576 | 128 | 16); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(0); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 8); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(Errors.DecoratorStaticBlock, member); + } + } + pushClassProperty(classBody, prop) { + if (!prop.computed && this.nameIsConstructor(prop.key)) { + this.raise(Errors.ConstructorClassField, prop.key); + } + classBody.body.push(this.parseClassProperty(prop)); + } + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + pushClassAccessorProperty(classBody, prop, isPrivate) { + if (!isPrivate && !prop.computed && this.nameIsConstructor(prop.key)) { + this.raise(Errors.ConstructorClassField, prop.key); + } + const node = this.parseClassAccessorProperty(prop); + classBody.body.push(node); + if (isPrivate) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? 6 : 2 : node.kind === "set" ? node.static ? 5 : 1 : 0; + this.declareClassPrivateMethodInScope(node, kind); + } + declareClassPrivateMethodInScope(node, kind) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start); + } + parsePostMemberNameModifiers(methodOrProp) {} + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + parseClassAccessorProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassAccessorProperty"); + } + parseInitializer(node) { + this.scope.enter(576 | 16); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(0); + node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + parseClassId(node, isStatement, optionalId, bindingType = 8331) { + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + if (isStatement) { + this.declareNameFromIdentifier(node.id, bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + throw this.raise(Errors.MissingClassName, this.state.startLoc); + } + } + } + parseClassSuper(node) { + node.superClass = this.eat(81) ? this.parseExprSubscripts() : null; + } + parseExport(node, decorators) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, true); + const hasDefault = this.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + const parseAfterDefault = !hasDefault || this.eat(12); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12)); + const isFromRequired = hasDefault || hasStar; + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.parseExportFrom(node, true); + this.sawUnambiguousESM = true; + return this.finishNode(node, "ExportAllDeclaration"); + } + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) { + this.unexpected(null, 5); + } + if (hasNamespace && parseAfterNamespace) { + this.unexpected(null, 98); + } + let hasDeclaration; + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + if (isFromRequired || hasSpecifiers || hasDeclaration) { + var _node2$declaration; + const node2 = node; + this.checkExport(node2, true, false, !!node2.source); + if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, node2.declaration, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.sawUnambiguousESM = true; + return this.finishNode(node2, "ExportNamedDeclaration"); + } + if (this.eat(65)) { + const node2 = node; + const decl = this.parseExportDefaultExpression(); + node2.declaration = decl; + if (decl.type === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, decl, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.checkExport(node2, true, true); + this.sawUnambiguousESM = true; + return this.finishNode(node2, "ExportDefaultDeclaration"); + } + throw this.unexpected(null, 5); + } + eatExportStar(node) { + return this.eat(55); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier || this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom", maybeDefaultIdentifier == null ? void 0 : maybeDefaultIdentifier.loc.start); + const id = maybeDefaultIdentifier || this.parseIdentifier(true); + const specifier = this.startNodeAtNode(id); + specifier.exported = id; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual(93)) { + var _ref, _ref$specifiers; + (_ref$specifiers = (_ref = node).specifiers) != null ? _ref$specifiers : _ref.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + return false; + } + maybeParseExportNamedSpecifiers(node) { + if (this.match(5)) { + const node2 = node; + if (!node2.specifiers) node2.specifiers = []; + const isTypeExport = node2.exportKind === "type"; + node2.specifiers.push(...this.parseExportSpecifiers(isTypeExport)); + node2.source = null; + if (this.hasPlugin("importAssertions")) { + node2.assertions = []; + } else { + node2.attributes = []; + } + node2.declaration = null; + return true; + } + return false; + } + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } else { + node.attributes = []; + } + node.declaration = this.parseExportDeclaration(node); + return true; + } + return false; + } + isAsyncFunction() { + if (!this.isContextual(95)) return false; + const next = this.nextTokenInLineStart(); + return this.isUnparsedContextual(next, "function"); + } + parseExportDefaultExpression() { + const expr = this.startNode(); + if (this.match(68)) { + this.next(); + return this.parseFunction(expr, 1 | 4); + } else if (this.isAsyncFunction()) { + this.next(); + this.next(); + return this.parseFunction(expr, 1 | 4 | 8); + } + if (this.match(80)) { + return this.parseClass(expr, true, true); + } + if (this.match(26)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, this.state.startLoc); + } + return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true); + } + if (this.match(75) || this.match(74) || this.isLet() || this.isUsing() || this.isAwaitUsing()) { + throw this.raise(Errors.UnsupportedDefaultExport, this.state.startLoc); + } + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + parseExportDeclaration(node) { + if (this.match(80)) { + const node = this.parseClass(this.startNode(), true, false); + return node; + } + return this.parseStatementListItem(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsIdentifier(type)) { + if (type === 95 && !this.state.containsEsc || type === 100) { + return false; + } + if ((type === 130 || type === 129) && !this.state.containsEsc) { + const next = this.nextTokenStart(); + const nextChar = this.input.charCodeAt(next); + if (nextChar === 123 || this.chStartsBindingIdentifier(nextChar, next) && !this.input.startsWith("from", next)) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(65)) { + return false; + } + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) { + return true; + } + if (this.match(65) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + return false; + } + parseExportFrom(node, expect) { + if (this.eatContextual(98)) { + node.source = this.parseImportSource(); + this.checkExport(node); + this.maybeParseImportAttributes(node); + this.checkJSONModuleImport(node); + } else if (expect) { + this.unexpected(); + } + this.semicolon(); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 26) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, this.state.startLoc); + } + return true; + } + } + if (this.isUsing()) { + this.raise(Errors.UsingDeclarationExport, this.state.startLoc); + return true; + } + if (this.isAwaitUsing()) { + this.raise(Errors.UsingDeclarationExport, this.state.startLoc); + return true; + } + return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction(); + } + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + var _node$specifiers; + if (isDefault) { + this.checkDuplicateExports(node, "default"); + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + const declaration = node.declaration; + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(Errors.ExportDefaultFromAsIdentifier, declaration); + } + } + } else if ((_node$specifiers = node.specifiers) != null && _node$specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportName); + if (!isFrom && specifier.local) { + const { + local + } = specifier; + if (local.type !== "Identifier") { + this.raise(Errors.ExportBindingIsString, specifier, { + localName: local.value, + exportName + }); + } else { + this.checkReservedWord(local.name, local.loc.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + const decl = node.declaration; + if (decl.type === "FunctionDeclaration" || decl.type === "ClassDeclaration") { + const { + id + } = decl; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (decl.type === "VariableDeclaration") { + for (const declaration of decl.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + } + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + checkDuplicateExports(node, exportName) { + if (this.exportedIdentifiers.has(exportName)) { + if (exportName === "default") { + this.raise(Errors.DuplicateDefaultExport, node); + } else { + this.raise(Errors.DuplicateExport, node, { + exportName + }); + } + } + this.exportedIdentifiers.add(exportName); + } + parseExportSpecifiers(isInTypeExport) { + const nodes = []; + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.eat(8)) break; + } + const isMaybeTypeOnly = this.isContextual(130); + const isString = this.match(134); + const node = this.startNode(); + node.local = this.parseModuleExportName(); + nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); + } + return nodes; + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = this.cloneStringLiteral(node.local); + } else if (!node.exported) { + node.exported = this.cloneIdentifier(node.local); + } + return this.finishNode(node, "ExportSpecifier"); + } + parseModuleExportName() { + if (this.match(134)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = loneSurrogate.exec(result.value); + if (surrogate) { + this.raise(Errors.ModuleExportNameHasLoneSurrogate, result, { + surrogateCharCode: surrogate[0].charCodeAt(0) + }); + } + return result; + } + return this.parseIdentifier(true); + } + isJSONModuleImport(node) { + if (node.assertions != null) { + return node.assertions.some(({ + key, + value + }) => { + return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type"); + }); + } + return false; + } + checkImportReflection(node) { + const { + specifiers + } = node; + const singleBindingType = specifiers.length === 1 ? specifiers[0].type : null; + if (node.phase === "source") { + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.SourcePhaseImportRequiresDefault, specifiers[0].loc.start); + } + } else if (node.phase === "defer") { + if (singleBindingType !== "ImportNamespaceSpecifier") { + this.raise(Errors.DeferImportRequiresNamespace, specifiers[0].loc.start); + } + } else if (node.module) { + var _node$assertions; + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.ImportReflectionNotBinding, specifiers[0].loc.start); + } + if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) { + this.raise(Errors.ImportReflectionHasAssertion, specifiers[0].loc.start); + } + } + } + checkJSONModuleImport(node) { + if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") { + const { + specifiers + } = node; + if (specifiers != null) { + const nonDefaultNamedSpecifier = specifiers.find(specifier => { + let imported; + if (specifier.type === "ExportSpecifier") { + imported = specifier.local; + } else if (specifier.type === "ImportSpecifier") { + imported = specifier.imported; + } + if (imported !== undefined) { + return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default"; + } + }); + if (nonDefaultNamedSpecifier !== undefined) { + this.raise(Errors.ImportJSONBindingNotDefault, nonDefaultNamedSpecifier.loc.start); + } + } + } + } + isPotentialImportPhase(isExport) { + if (isExport) return false; + return this.isContextual(105) || this.isContextual(97) || this.isContextual(127); + } + applyImportPhase(node, isExport, phase, loc) { + if (isExport) { + return; + } + if (phase === "module") { + this.expectPlugin("importReflection", loc); + node.module = true; + } else if (this.hasPlugin("importReflection")) { + node.module = false; + } + if (phase === "source") { + this.expectPlugin("sourcePhaseImports", loc); + node.phase = "source"; + } else if (phase === "defer") { + this.expectPlugin("deferredImportEvaluation", loc); + node.phase = "defer"; + } else if (this.hasPlugin("sourcePhaseImports")) { + node.phase = null; + } + } + parseMaybeImportPhase(node, isExport) { + if (!this.isPotentialImportPhase(isExport)) { + this.applyImportPhase(node, isExport, null); + return null; + } + const phaseIdentifier = this.startNode(); + const phaseIdentifierName = this.parseIdentifierName(true); + const { + type + } = this.state; + const isImportPhase = tokenIsKeywordOrIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + if (isImportPhase) { + this.applyImportPhase(node, isExport, phaseIdentifierName, phaseIdentifier.loc.start); + return null; + } else { + this.applyImportPhase(node, isExport, null); + return this.createIdentifier(phaseIdentifier, phaseIdentifierName); + } + } + isPrecedingIdImportPhase(phase) { + const { + type + } = this.state; + return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + } + parseImport(node) { + if (this.match(134)) { + return this.parseImportSourceAndAttributes(node); + } + return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false)); + } + parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier) { + node.specifiers = []; + const hasDefault = this.maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier); + const parseNext = !hasDefault || this.eat(12); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual(98); + return this.parseImportSourceAndAttributes(node); + } + parseImportSourceAndAttributes(node) { + var _node$specifiers2; + (_node$specifiers2 = node.specifiers) != null ? _node$specifiers2 : node.specifiers = []; + node.source = this.parseImportSource(); + this.maybeParseImportAttributes(node); + this.checkImportReflection(node); + this.checkJSONModuleImport(node); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + if (!this.match(134)) this.unexpected(); + return this.parseExprAtom(); + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + finishImportSpecifier(specifier, type, bindingType = 8201) { + this.checkLVal(specifier.local, { + type + }, bindingType); + return this.finishNode(specifier, type); + } + parseImportAttributes() { + this.expect(5); + const attrs = []; + const attrNames = new Set(); + do { + if (this.match(8)) { + break; + } + const node = this.startNode(); + const keyName = this.state.value; + if (attrNames.has(keyName)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, this.state.startLoc, { + key: keyName + }); + } + attrNames.add(keyName); + if (this.match(134)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + this.expect(14); + if (!this.match(134)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + this.expect(8); + return attrs; + } + parseModuleAttributes() { + const attrs = []; + const attributes = new Set(); + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + if (node.key.name !== "type") { + this.raise(Errors.ModuleAttributeDifferentFromType, node.key); + } + if (attributes.has(node.key.name)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, node.key, { + key: node.key.name + }); + } + attributes.add(node.key.name); + this.expect(14); + if (!this.match(134)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + return attrs; + } + maybeParseImportAttributes(node) { + let attributes; + { + var useWith = false; + } + if (this.match(76)) { + if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) { + return; + } + this.next(); + if (this.hasPlugin("moduleAttributes")) { + attributes = this.parseModuleAttributes(); + this.addExtra(node, "deprecatedWithLegacySyntax", true); + } else { + attributes = this.parseImportAttributes(); + } + { + useWith = true; + } + } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { + if (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importAssertions")) { + this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc); + } + if (!this.hasPlugin("importAssertions")) { + this.addExtra(node, "deprecatedAssertSyntax", true); + } + this.next(); + attributes = this.parseImportAttributes(); + } else { + attributes = []; + } + if (!useWith && this.hasPlugin("importAssertions")) { + node.assertions = attributes; + } else { + node.attributes = attributes; + } + } + maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier) { + const specifier = this.startNodeAtNode(maybeDefaultIdentifier); + specifier.local = maybeDefaultIdentifier; + node.specifiers.push(this.finishImportSpecifier(specifier, "ImportDefaultSpecifier")); + return true; + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier"); + return true; + } + return false; + } + maybeParseStarImportSpecifier(node) { + if (this.match(55)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual(93); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier"); + return true; + } + return false; + } + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + if (this.eat(14)) { + throw this.raise(Errors.DestructureNamedImport, this.state.startLoc); + } + this.expect(12); + if (this.eat(8)) break; + } + const specifier = this.startNode(); + const importedIsString = this.match(134); + const isMaybeTypeOnly = this.isContextual(130); + specifier.imported = this.parseModuleExportName(); + const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined); + node.specifiers.push(importSpecifier); + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, specifier, { + importName: imported.value + }); + } + this.checkReservedWord(imported.name, specifier.loc.start, true, true); + if (!specifier.local) { + specifier.local = this.cloneIdentifier(imported); + } + } + return this.finishImportSpecifier(specifier, "ImportSpecifier", bindingType); + } + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } +} +class Parser extends StatementParser { + constructor(options, input, pluginsMap) { + const normalizedOptions = getOptions(options); + super(normalizedOptions, input); + this.options = normalizedOptions; + this.initializeScopes(); + this.plugins = pluginsMap; + this.filename = normalizedOptions.sourceFilename; + this.startIndex = normalizedOptions.startIndex; + let optionFlags = 0; + if (normalizedOptions.allowAwaitOutsideFunction) { + optionFlags |= 1; + } + if (normalizedOptions.allowReturnOutsideFunction) { + optionFlags |= 2; + } + if (normalizedOptions.allowImportExportEverywhere) { + optionFlags |= 8; + } + if (normalizedOptions.allowSuperOutsideMethod) { + optionFlags |= 16; + } + if (normalizedOptions.allowUndeclaredExports) { + optionFlags |= 64; + } + if (normalizedOptions.allowNewTargetOutsideFunction) { + optionFlags |= 4; + } + if (normalizedOptions.allowYieldOutsideFunction) { + optionFlags |= 32; + } + if (normalizedOptions.ranges) { + optionFlags |= 128; + } + if (normalizedOptions.tokens) { + optionFlags |= 256; + } + if (normalizedOptions.createImportExpressions) { + optionFlags |= 512; + } + if (normalizedOptions.createParenthesizedExpressions) { + optionFlags |= 1024; + } + if (normalizedOptions.errorRecovery) { + optionFlags |= 2048; + } + if (normalizedOptions.attachComment) { + optionFlags |= 4096; + } + if (normalizedOptions.annexB) { + optionFlags |= 8192; + } + this.optionFlags = optionFlags; + } + getScopeHandler() { + return ScopeHandler; + } + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + const result = this.parseTopLevel(file, program); + result.errors = this.state.errors; + result.comments.length = this.state.commentsLen; + return result; + } +} +function parse(input, options) { + var _options; + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + if (parser.sawUnambiguousESM) { + return ast; + } + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + if (parser.options.strictMode) { + parser.state.strict = true; + } + return parser.getExpression(); +} +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + return tokenTypes; +} +const tokTypes = generateExportedTokenTypes(tt); +function getParser(options, input) { + let cls = Parser; + const pluginsMap = new Map(); + if (options != null && options.plugins) { + for (const plugin of options.plugins) { + let name, opts; + if (typeof plugin === "string") { + name = plugin; + } else { + [name, opts] = plugin; + } + if (!pluginsMap.has(name)) { + pluginsMap.set(name, opts || {}); + } + } + validatePlugins(pluginsMap); + cls = getParserClass(pluginsMap); + } + return new cls(options, input, pluginsMap); +} +const parserClassCache = new Map(); +function getParserClass(pluginsMap) { + const pluginList = []; + for (const name of mixinPluginNames) { + if (pluginsMap.has(name)) { + pluginList.push(name); + } + } + const key = pluginList.join("|"); + let cls = parserClassCache.get(key); + if (!cls) { + cls = Parser; + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + parserClassCache.set(key, cls); + } + return cls; +} +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/@babel/parser/package.json b/.output/server/node_modules/@babel/parser/package.json new file mode 100644 index 00000000..a9869d68 --- /dev/null +++ b/.output/server/node_modules/@babel/parser/package.json @@ -0,0 +1,50 @@ +{ + "name": "@babel/parser", + "version": "7.28.5", + "description": "A JavaScript parser", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-parser", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "javascript", + "parser", + "tc39", + "ecmascript", + "@babel/parser" + ], + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-parser" + }, + "main": "./lib/index.js", + "types": "./typings/babel-parser.d.ts", + "files": [ + "bin", + "lib", + "typings/babel-parser.d.ts", + "index.cjs" + ], + "engines": { + "node": ">=6.0.0" + }, + "# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "devDependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-check-duplicate-nodes": "^7.27.1", + "@babel/helper-fixtures": "^7.28.0", + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "charcodes": "^0.2.0" + }, + "bin": "./bin/babel-parser.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/defineProperty.js b/.output/server/node_modules/@babel/runtime/helpers/defineProperty.js new file mode 100644 index 00000000..2c2ff1e9 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/defineProperty.js @@ -0,0 +1,10 @@ +var toPropertyKey = require("./toPropertyKey.js"); +function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} +module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/defineProperty.js b/.output/server/node_modules/@babel/runtime/helpers/esm/defineProperty.js new file mode 100644 index 00000000..05ec32b7 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/defineProperty.js @@ -0,0 +1,10 @@ +import toPropertyKey from "./toPropertyKey.js"; +function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; +} +export { _defineProperty as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/extends.js b/.output/server/node_modules/@babel/runtime/helpers/esm/extends.js new file mode 100644 index 00000000..53f118ca --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/extends.js @@ -0,0 +1,10 @@ +function _extends() { + return _extends = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, _extends.apply(null, arguments); +} +export { _extends as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/objectSpread2.js b/.output/server/node_modules/@babel/runtime/helpers/esm/objectSpread2.js new file mode 100644 index 00000000..0035bc76 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/objectSpread2.js @@ -0,0 +1,23 @@ +import defineProperty from "./defineProperty.js"; +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +export { _objectSpread2 as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/package.json b/.output/server/node_modules/@babel/runtime/helpers/esm/package.json new file mode 100644 index 00000000..aead43de --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/toPrimitive.js b/.output/server/node_modules/@babel/runtime/helpers/esm/toPrimitive.js new file mode 100644 index 00000000..9a3de46b --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/toPrimitive.js @@ -0,0 +1,12 @@ +import _typeof from "./typeof.js"; +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +export { toPrimitive as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js b/.output/server/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js new file mode 100644 index 00000000..b3274d87 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js @@ -0,0 +1,7 @@ +import _typeof from "./typeof.js"; +import toPrimitive from "./toPrimitive.js"; +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +export { toPropertyKey as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/esm/typeof.js b/.output/server/node_modules/@babel/runtime/helpers/esm/typeof.js new file mode 100644 index 00000000..5b0bc9b0 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/esm/typeof.js @@ -0,0 +1,10 @@ +function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); +} +export { _typeof as default }; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/extends.js b/.output/server/node_modules/@babel/runtime/helpers/extends.js new file mode 100644 index 00000000..eee4a1f4 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/extends.js @@ -0,0 +1,10 @@ +function _extends() { + return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); +} +module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/interopRequireDefault.js b/.output/server/node_modules/@babel/runtime/helpers/interopRequireDefault.js new file mode 100644 index 00000000..69447158 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/interopRequireDefault.js @@ -0,0 +1,6 @@ +function _interopRequireDefault(e) { + return e && e.__esModule ? e : { + "default": e + }; +} +module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/objectSpread2.js b/.output/server/node_modules/@babel/runtime/helpers/objectSpread2.js new file mode 100644 index 00000000..4f3b9fa0 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/objectSpread2.js @@ -0,0 +1,23 @@ +var defineProperty = require("./defineProperty.js"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +module.exports = _objectSpread2, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/toPrimitive.js b/.output/server/node_modules/@babel/runtime/helpers/toPrimitive.js new file mode 100644 index 00000000..ef9d249b --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/toPrimitive.js @@ -0,0 +1,12 @@ +var _typeof = require("./typeof.js")["default"]; +function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/toPropertyKey.js b/.output/server/node_modules/@babel/runtime/helpers/toPropertyKey.js new file mode 100644 index 00000000..3ca3d4fc --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/toPropertyKey.js @@ -0,0 +1,7 @@ +var _typeof = require("./typeof.js")["default"]; +var toPrimitive = require("./toPrimitive.js"); +function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/helpers/typeof.js b/.output/server/node_modules/@babel/runtime/helpers/typeof.js new file mode 100644 index 00000000..b6fbfaf8 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/helpers/typeof.js @@ -0,0 +1,10 @@ +function _typeof(o) { + "@babel/helpers - typeof"; + + return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; \ No newline at end of file diff --git a/.output/server/node_modules/@babel/runtime/package.json b/.output/server/node_modules/@babel/runtime/package.json new file mode 100644 index 00000000..9575c409 --- /dev/null +++ b/.output/server/node_modules/@babel/runtime/package.json @@ -0,0 +1,1107 @@ +{ + "name": "@babel/runtime", + "version": "7.28.3", + "description": "babel's modular runtime helpers", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-runtime" + }, + "homepage": "https://babel.dev/docs/en/next/babel-runtime", + "author": "The Babel Team (https://babel.dev/team)", + "exports": { + "./helpers/OverloadYield": [ + { + "node": "./helpers/OverloadYield.js", + "import": "./helpers/esm/OverloadYield.js", + "default": "./helpers/OverloadYield.js" + }, + "./helpers/OverloadYield.js" + ], + "./helpers/esm/OverloadYield": "./helpers/esm/OverloadYield.js", + "./helpers/applyDecoratedDescriptor": [ + { + "node": "./helpers/applyDecoratedDescriptor.js", + "import": "./helpers/esm/applyDecoratedDescriptor.js", + "default": "./helpers/applyDecoratedDescriptor.js" + }, + "./helpers/applyDecoratedDescriptor.js" + ], + "./helpers/esm/applyDecoratedDescriptor": "./helpers/esm/applyDecoratedDescriptor.js", + "./helpers/applyDecs2311": [ + { + "node": "./helpers/applyDecs2311.js", + "import": "./helpers/esm/applyDecs2311.js", + "default": "./helpers/applyDecs2311.js" + }, + "./helpers/applyDecs2311.js" + ], + "./helpers/esm/applyDecs2311": "./helpers/esm/applyDecs2311.js", + "./helpers/arrayLikeToArray": [ + { + "node": "./helpers/arrayLikeToArray.js", + "import": "./helpers/esm/arrayLikeToArray.js", + "default": "./helpers/arrayLikeToArray.js" + }, + "./helpers/arrayLikeToArray.js" + ], + "./helpers/esm/arrayLikeToArray": "./helpers/esm/arrayLikeToArray.js", + "./helpers/arrayWithHoles": [ + { + "node": "./helpers/arrayWithHoles.js", + "import": "./helpers/esm/arrayWithHoles.js", + "default": "./helpers/arrayWithHoles.js" + }, + "./helpers/arrayWithHoles.js" + ], + "./helpers/esm/arrayWithHoles": "./helpers/esm/arrayWithHoles.js", + "./helpers/arrayWithoutHoles": [ + { + "node": "./helpers/arrayWithoutHoles.js", + "import": "./helpers/esm/arrayWithoutHoles.js", + "default": "./helpers/arrayWithoutHoles.js" + }, + "./helpers/arrayWithoutHoles.js" + ], + "./helpers/esm/arrayWithoutHoles": "./helpers/esm/arrayWithoutHoles.js", + "./helpers/assertClassBrand": [ + { + "node": "./helpers/assertClassBrand.js", + "import": "./helpers/esm/assertClassBrand.js", + "default": "./helpers/assertClassBrand.js" + }, + "./helpers/assertClassBrand.js" + ], + "./helpers/esm/assertClassBrand": "./helpers/esm/assertClassBrand.js", + "./helpers/assertThisInitialized": [ + { + "node": "./helpers/assertThisInitialized.js", + "import": "./helpers/esm/assertThisInitialized.js", + "default": "./helpers/assertThisInitialized.js" + }, + "./helpers/assertThisInitialized.js" + ], + "./helpers/esm/assertThisInitialized": "./helpers/esm/assertThisInitialized.js", + "./helpers/asyncGeneratorDelegate": [ + { + "node": "./helpers/asyncGeneratorDelegate.js", + "import": "./helpers/esm/asyncGeneratorDelegate.js", + "default": "./helpers/asyncGeneratorDelegate.js" + }, + "./helpers/asyncGeneratorDelegate.js" + ], + "./helpers/esm/asyncGeneratorDelegate": "./helpers/esm/asyncGeneratorDelegate.js", + "./helpers/asyncIterator": [ + { + "node": "./helpers/asyncIterator.js", + "import": "./helpers/esm/asyncIterator.js", + "default": "./helpers/asyncIterator.js" + }, + "./helpers/asyncIterator.js" + ], + "./helpers/esm/asyncIterator": "./helpers/esm/asyncIterator.js", + "./helpers/asyncToGenerator": [ + { + "node": "./helpers/asyncToGenerator.js", + "import": "./helpers/esm/asyncToGenerator.js", + "default": "./helpers/asyncToGenerator.js" + }, + "./helpers/asyncToGenerator.js" + ], + "./helpers/esm/asyncToGenerator": "./helpers/esm/asyncToGenerator.js", + "./helpers/awaitAsyncGenerator": [ + { + "node": "./helpers/awaitAsyncGenerator.js", + "import": "./helpers/esm/awaitAsyncGenerator.js", + "default": "./helpers/awaitAsyncGenerator.js" + }, + "./helpers/awaitAsyncGenerator.js" + ], + "./helpers/esm/awaitAsyncGenerator": "./helpers/esm/awaitAsyncGenerator.js", + "./helpers/callSuper": [ + { + "node": "./helpers/callSuper.js", + "import": "./helpers/esm/callSuper.js", + "default": "./helpers/callSuper.js" + }, + "./helpers/callSuper.js" + ], + "./helpers/esm/callSuper": "./helpers/esm/callSuper.js", + "./helpers/checkInRHS": [ + { + "node": "./helpers/checkInRHS.js", + "import": "./helpers/esm/checkInRHS.js", + "default": "./helpers/checkInRHS.js" + }, + "./helpers/checkInRHS.js" + ], + "./helpers/esm/checkInRHS": "./helpers/esm/checkInRHS.js", + "./helpers/checkPrivateRedeclaration": [ + { + "node": "./helpers/checkPrivateRedeclaration.js", + "import": "./helpers/esm/checkPrivateRedeclaration.js", + "default": "./helpers/checkPrivateRedeclaration.js" + }, + "./helpers/checkPrivateRedeclaration.js" + ], + "./helpers/esm/checkPrivateRedeclaration": "./helpers/esm/checkPrivateRedeclaration.js", + "./helpers/classCallCheck": [ + { + "node": "./helpers/classCallCheck.js", + "import": "./helpers/esm/classCallCheck.js", + "default": "./helpers/classCallCheck.js" + }, + "./helpers/classCallCheck.js" + ], + "./helpers/esm/classCallCheck": "./helpers/esm/classCallCheck.js", + "./helpers/classNameTDZError": [ + { + "node": "./helpers/classNameTDZError.js", + "import": "./helpers/esm/classNameTDZError.js", + "default": "./helpers/classNameTDZError.js" + }, + "./helpers/classNameTDZError.js" + ], + "./helpers/esm/classNameTDZError": "./helpers/esm/classNameTDZError.js", + "./helpers/classPrivateFieldGet2": [ + { + "node": "./helpers/classPrivateFieldGet2.js", + "import": "./helpers/esm/classPrivateFieldGet2.js", + "default": "./helpers/classPrivateFieldGet2.js" + }, + "./helpers/classPrivateFieldGet2.js" + ], + "./helpers/esm/classPrivateFieldGet2": "./helpers/esm/classPrivateFieldGet2.js", + "./helpers/classPrivateFieldInitSpec": [ + { + "node": "./helpers/classPrivateFieldInitSpec.js", + "import": "./helpers/esm/classPrivateFieldInitSpec.js", + "default": "./helpers/classPrivateFieldInitSpec.js" + }, + "./helpers/classPrivateFieldInitSpec.js" + ], + "./helpers/esm/classPrivateFieldInitSpec": "./helpers/esm/classPrivateFieldInitSpec.js", + "./helpers/classPrivateFieldLooseBase": [ + { + "node": "./helpers/classPrivateFieldLooseBase.js", + "import": "./helpers/esm/classPrivateFieldLooseBase.js", + "default": "./helpers/classPrivateFieldLooseBase.js" + }, + "./helpers/classPrivateFieldLooseBase.js" + ], + "./helpers/esm/classPrivateFieldLooseBase": "./helpers/esm/classPrivateFieldLooseBase.js", + "./helpers/classPrivateFieldLooseKey": [ + { + "node": "./helpers/classPrivateFieldLooseKey.js", + "import": "./helpers/esm/classPrivateFieldLooseKey.js", + "default": "./helpers/classPrivateFieldLooseKey.js" + }, + "./helpers/classPrivateFieldLooseKey.js" + ], + "./helpers/esm/classPrivateFieldLooseKey": "./helpers/esm/classPrivateFieldLooseKey.js", + "./helpers/classPrivateFieldSet2": [ + { + "node": "./helpers/classPrivateFieldSet2.js", + "import": "./helpers/esm/classPrivateFieldSet2.js", + "default": "./helpers/classPrivateFieldSet2.js" + }, + "./helpers/classPrivateFieldSet2.js" + ], + "./helpers/esm/classPrivateFieldSet2": "./helpers/esm/classPrivateFieldSet2.js", + "./helpers/classPrivateGetter": [ + { + "node": "./helpers/classPrivateGetter.js", + "import": "./helpers/esm/classPrivateGetter.js", + "default": "./helpers/classPrivateGetter.js" + }, + "./helpers/classPrivateGetter.js" + ], + "./helpers/esm/classPrivateGetter": "./helpers/esm/classPrivateGetter.js", + "./helpers/classPrivateMethodInitSpec": [ + { + "node": "./helpers/classPrivateMethodInitSpec.js", + "import": "./helpers/esm/classPrivateMethodInitSpec.js", + "default": "./helpers/classPrivateMethodInitSpec.js" + }, + "./helpers/classPrivateMethodInitSpec.js" + ], + "./helpers/esm/classPrivateMethodInitSpec": "./helpers/esm/classPrivateMethodInitSpec.js", + "./helpers/classPrivateSetter": [ + { + "node": "./helpers/classPrivateSetter.js", + "import": "./helpers/esm/classPrivateSetter.js", + "default": "./helpers/classPrivateSetter.js" + }, + "./helpers/classPrivateSetter.js" + ], + "./helpers/esm/classPrivateSetter": "./helpers/esm/classPrivateSetter.js", + "./helpers/classStaticPrivateMethodGet": [ + { + "node": "./helpers/classStaticPrivateMethodGet.js", + "import": "./helpers/esm/classStaticPrivateMethodGet.js", + "default": "./helpers/classStaticPrivateMethodGet.js" + }, + "./helpers/classStaticPrivateMethodGet.js" + ], + "./helpers/esm/classStaticPrivateMethodGet": "./helpers/esm/classStaticPrivateMethodGet.js", + "./helpers/construct": [ + { + "node": "./helpers/construct.js", + "import": "./helpers/esm/construct.js", + "default": "./helpers/construct.js" + }, + "./helpers/construct.js" + ], + "./helpers/esm/construct": "./helpers/esm/construct.js", + "./helpers/createClass": [ + { + "node": "./helpers/createClass.js", + "import": "./helpers/esm/createClass.js", + "default": "./helpers/createClass.js" + }, + "./helpers/createClass.js" + ], + "./helpers/esm/createClass": "./helpers/esm/createClass.js", + "./helpers/createForOfIteratorHelper": [ + { + "node": "./helpers/createForOfIteratorHelper.js", + "import": "./helpers/esm/createForOfIteratorHelper.js", + "default": "./helpers/createForOfIteratorHelper.js" + }, + "./helpers/createForOfIteratorHelper.js" + ], + "./helpers/esm/createForOfIteratorHelper": "./helpers/esm/createForOfIteratorHelper.js", + "./helpers/createForOfIteratorHelperLoose": [ + { + "node": "./helpers/createForOfIteratorHelperLoose.js", + "import": "./helpers/esm/createForOfIteratorHelperLoose.js", + "default": "./helpers/createForOfIteratorHelperLoose.js" + }, + "./helpers/createForOfIteratorHelperLoose.js" + ], + "./helpers/esm/createForOfIteratorHelperLoose": "./helpers/esm/createForOfIteratorHelperLoose.js", + "./helpers/createSuper": [ + { + "node": "./helpers/createSuper.js", + "import": "./helpers/esm/createSuper.js", + "default": "./helpers/createSuper.js" + }, + "./helpers/createSuper.js" + ], + "./helpers/esm/createSuper": "./helpers/esm/createSuper.js", + "./helpers/decorate": [ + { + "node": "./helpers/decorate.js", + "import": "./helpers/esm/decorate.js", + "default": "./helpers/decorate.js" + }, + "./helpers/decorate.js" + ], + "./helpers/esm/decorate": "./helpers/esm/decorate.js", + "./helpers/defaults": [ + { + "node": "./helpers/defaults.js", + "import": "./helpers/esm/defaults.js", + "default": "./helpers/defaults.js" + }, + "./helpers/defaults.js" + ], + "./helpers/esm/defaults": "./helpers/esm/defaults.js", + "./helpers/defineAccessor": [ + { + "node": "./helpers/defineAccessor.js", + "import": "./helpers/esm/defineAccessor.js", + "default": "./helpers/defineAccessor.js" + }, + "./helpers/defineAccessor.js" + ], + "./helpers/esm/defineAccessor": "./helpers/esm/defineAccessor.js", + "./helpers/defineProperty": [ + { + "node": "./helpers/defineProperty.js", + "import": "./helpers/esm/defineProperty.js", + "default": "./helpers/defineProperty.js" + }, + "./helpers/defineProperty.js" + ], + "./helpers/esm/defineProperty": "./helpers/esm/defineProperty.js", + "./helpers/extends": [ + { + "node": "./helpers/extends.js", + "import": "./helpers/esm/extends.js", + "default": "./helpers/extends.js" + }, + "./helpers/extends.js" + ], + "./helpers/esm/extends": "./helpers/esm/extends.js", + "./helpers/get": [ + { + "node": "./helpers/get.js", + "import": "./helpers/esm/get.js", + "default": "./helpers/get.js" + }, + "./helpers/get.js" + ], + "./helpers/esm/get": "./helpers/esm/get.js", + "./helpers/getPrototypeOf": [ + { + "node": "./helpers/getPrototypeOf.js", + "import": "./helpers/esm/getPrototypeOf.js", + "default": "./helpers/getPrototypeOf.js" + }, + "./helpers/getPrototypeOf.js" + ], + "./helpers/esm/getPrototypeOf": "./helpers/esm/getPrototypeOf.js", + "./helpers/identity": [ + { + "node": "./helpers/identity.js", + "import": "./helpers/esm/identity.js", + "default": "./helpers/identity.js" + }, + "./helpers/identity.js" + ], + "./helpers/esm/identity": "./helpers/esm/identity.js", + "./helpers/importDeferProxy": [ + { + "node": "./helpers/importDeferProxy.js", + "import": "./helpers/esm/importDeferProxy.js", + "default": "./helpers/importDeferProxy.js" + }, + "./helpers/importDeferProxy.js" + ], + "./helpers/esm/importDeferProxy": "./helpers/esm/importDeferProxy.js", + "./helpers/inherits": [ + { + "node": "./helpers/inherits.js", + "import": "./helpers/esm/inherits.js", + "default": "./helpers/inherits.js" + }, + "./helpers/inherits.js" + ], + "./helpers/esm/inherits": "./helpers/esm/inherits.js", + "./helpers/inheritsLoose": [ + { + "node": "./helpers/inheritsLoose.js", + "import": "./helpers/esm/inheritsLoose.js", + "default": "./helpers/inheritsLoose.js" + }, + "./helpers/inheritsLoose.js" + ], + "./helpers/esm/inheritsLoose": "./helpers/esm/inheritsLoose.js", + "./helpers/initializerDefineProperty": [ + { + "node": "./helpers/initializerDefineProperty.js", + "import": "./helpers/esm/initializerDefineProperty.js", + "default": "./helpers/initializerDefineProperty.js" + }, + "./helpers/initializerDefineProperty.js" + ], + "./helpers/esm/initializerDefineProperty": "./helpers/esm/initializerDefineProperty.js", + "./helpers/initializerWarningHelper": [ + { + "node": "./helpers/initializerWarningHelper.js", + "import": "./helpers/esm/initializerWarningHelper.js", + "default": "./helpers/initializerWarningHelper.js" + }, + "./helpers/initializerWarningHelper.js" + ], + "./helpers/esm/initializerWarningHelper": "./helpers/esm/initializerWarningHelper.js", + "./helpers/instanceof": [ + { + "node": "./helpers/instanceof.js", + "import": "./helpers/esm/instanceof.js", + "default": "./helpers/instanceof.js" + }, + "./helpers/instanceof.js" + ], + "./helpers/esm/instanceof": "./helpers/esm/instanceof.js", + "./helpers/interopRequireDefault": [ + { + "node": "./helpers/interopRequireDefault.js", + "import": "./helpers/esm/interopRequireDefault.js", + "default": "./helpers/interopRequireDefault.js" + }, + "./helpers/interopRequireDefault.js" + ], + "./helpers/esm/interopRequireDefault": "./helpers/esm/interopRequireDefault.js", + "./helpers/interopRequireWildcard": [ + { + "node": "./helpers/interopRequireWildcard.js", + "import": "./helpers/esm/interopRequireWildcard.js", + "default": "./helpers/interopRequireWildcard.js" + }, + "./helpers/interopRequireWildcard.js" + ], + "./helpers/esm/interopRequireWildcard": "./helpers/esm/interopRequireWildcard.js", + "./helpers/isNativeFunction": [ + { + "node": "./helpers/isNativeFunction.js", + "import": "./helpers/esm/isNativeFunction.js", + "default": "./helpers/isNativeFunction.js" + }, + "./helpers/isNativeFunction.js" + ], + "./helpers/esm/isNativeFunction": "./helpers/esm/isNativeFunction.js", + "./helpers/isNativeReflectConstruct": [ + { + "node": "./helpers/isNativeReflectConstruct.js", + "import": "./helpers/esm/isNativeReflectConstruct.js", + "default": "./helpers/isNativeReflectConstruct.js" + }, + "./helpers/isNativeReflectConstruct.js" + ], + "./helpers/esm/isNativeReflectConstruct": "./helpers/esm/isNativeReflectConstruct.js", + "./helpers/iterableToArray": [ + { + "node": "./helpers/iterableToArray.js", + "import": "./helpers/esm/iterableToArray.js", + "default": "./helpers/iterableToArray.js" + }, + "./helpers/iterableToArray.js" + ], + "./helpers/esm/iterableToArray": "./helpers/esm/iterableToArray.js", + "./helpers/iterableToArrayLimit": [ + { + "node": "./helpers/iterableToArrayLimit.js", + "import": "./helpers/esm/iterableToArrayLimit.js", + "default": "./helpers/iterableToArrayLimit.js" + }, + "./helpers/iterableToArrayLimit.js" + ], + "./helpers/esm/iterableToArrayLimit": "./helpers/esm/iterableToArrayLimit.js", + "./helpers/jsx": [ + { + "node": "./helpers/jsx.js", + "import": "./helpers/esm/jsx.js", + "default": "./helpers/jsx.js" + }, + "./helpers/jsx.js" + ], + "./helpers/esm/jsx": "./helpers/esm/jsx.js", + "./helpers/maybeArrayLike": [ + { + "node": "./helpers/maybeArrayLike.js", + "import": "./helpers/esm/maybeArrayLike.js", + "default": "./helpers/maybeArrayLike.js" + }, + "./helpers/maybeArrayLike.js" + ], + "./helpers/esm/maybeArrayLike": "./helpers/esm/maybeArrayLike.js", + "./helpers/newArrowCheck": [ + { + "node": "./helpers/newArrowCheck.js", + "import": "./helpers/esm/newArrowCheck.js", + "default": "./helpers/newArrowCheck.js" + }, + "./helpers/newArrowCheck.js" + ], + "./helpers/esm/newArrowCheck": "./helpers/esm/newArrowCheck.js", + "./helpers/nonIterableRest": [ + { + "node": "./helpers/nonIterableRest.js", + "import": "./helpers/esm/nonIterableRest.js", + "default": "./helpers/nonIterableRest.js" + }, + "./helpers/nonIterableRest.js" + ], + "./helpers/esm/nonIterableRest": "./helpers/esm/nonIterableRest.js", + "./helpers/nonIterableSpread": [ + { + "node": "./helpers/nonIterableSpread.js", + "import": "./helpers/esm/nonIterableSpread.js", + "default": "./helpers/nonIterableSpread.js" + }, + "./helpers/nonIterableSpread.js" + ], + "./helpers/esm/nonIterableSpread": "./helpers/esm/nonIterableSpread.js", + "./helpers/nullishReceiverError": [ + { + "node": "./helpers/nullishReceiverError.js", + "import": "./helpers/esm/nullishReceiverError.js", + "default": "./helpers/nullishReceiverError.js" + }, + "./helpers/nullishReceiverError.js" + ], + "./helpers/esm/nullishReceiverError": "./helpers/esm/nullishReceiverError.js", + "./helpers/objectDestructuringEmpty": [ + { + "node": "./helpers/objectDestructuringEmpty.js", + "import": "./helpers/esm/objectDestructuringEmpty.js", + "default": "./helpers/objectDestructuringEmpty.js" + }, + "./helpers/objectDestructuringEmpty.js" + ], + "./helpers/esm/objectDestructuringEmpty": "./helpers/esm/objectDestructuringEmpty.js", + "./helpers/objectSpread2": [ + { + "node": "./helpers/objectSpread2.js", + "import": "./helpers/esm/objectSpread2.js", + "default": "./helpers/objectSpread2.js" + }, + "./helpers/objectSpread2.js" + ], + "./helpers/esm/objectSpread2": "./helpers/esm/objectSpread2.js", + "./helpers/objectWithoutProperties": [ + { + "node": "./helpers/objectWithoutProperties.js", + "import": "./helpers/esm/objectWithoutProperties.js", + "default": "./helpers/objectWithoutProperties.js" + }, + "./helpers/objectWithoutProperties.js" + ], + "./helpers/esm/objectWithoutProperties": "./helpers/esm/objectWithoutProperties.js", + "./helpers/objectWithoutPropertiesLoose": [ + { + "node": "./helpers/objectWithoutPropertiesLoose.js", + "import": "./helpers/esm/objectWithoutPropertiesLoose.js", + "default": "./helpers/objectWithoutPropertiesLoose.js" + }, + "./helpers/objectWithoutPropertiesLoose.js" + ], + "./helpers/esm/objectWithoutPropertiesLoose": "./helpers/esm/objectWithoutPropertiesLoose.js", + "./helpers/possibleConstructorReturn": [ + { + "node": "./helpers/possibleConstructorReturn.js", + "import": "./helpers/esm/possibleConstructorReturn.js", + "default": "./helpers/possibleConstructorReturn.js" + }, + "./helpers/possibleConstructorReturn.js" + ], + "./helpers/esm/possibleConstructorReturn": "./helpers/esm/possibleConstructorReturn.js", + "./helpers/readOnlyError": [ + { + "node": "./helpers/readOnlyError.js", + "import": "./helpers/esm/readOnlyError.js", + "default": "./helpers/readOnlyError.js" + }, + "./helpers/readOnlyError.js" + ], + "./helpers/esm/readOnlyError": "./helpers/esm/readOnlyError.js", + "./helpers/regenerator": [ + { + "node": "./helpers/regenerator.js", + "import": "./helpers/esm/regenerator.js", + "default": "./helpers/regenerator.js" + }, + "./helpers/regenerator.js" + ], + "./helpers/esm/regenerator": "./helpers/esm/regenerator.js", + "./helpers/regeneratorAsync": [ + { + "node": "./helpers/regeneratorAsync.js", + "import": "./helpers/esm/regeneratorAsync.js", + "default": "./helpers/regeneratorAsync.js" + }, + "./helpers/regeneratorAsync.js" + ], + "./helpers/esm/regeneratorAsync": "./helpers/esm/regeneratorAsync.js", + "./helpers/regeneratorAsyncGen": [ + { + "node": "./helpers/regeneratorAsyncGen.js", + "import": "./helpers/esm/regeneratorAsyncGen.js", + "default": "./helpers/regeneratorAsyncGen.js" + }, + "./helpers/regeneratorAsyncGen.js" + ], + "./helpers/esm/regeneratorAsyncGen": "./helpers/esm/regeneratorAsyncGen.js", + "./helpers/regeneratorKeys": [ + { + "node": "./helpers/regeneratorKeys.js", + "import": "./helpers/esm/regeneratorKeys.js", + "default": "./helpers/regeneratorKeys.js" + }, + "./helpers/regeneratorKeys.js" + ], + "./helpers/esm/regeneratorKeys": "./helpers/esm/regeneratorKeys.js", + "./helpers/regeneratorValues": [ + { + "node": "./helpers/regeneratorValues.js", + "import": "./helpers/esm/regeneratorValues.js", + "default": "./helpers/regeneratorValues.js" + }, + "./helpers/regeneratorValues.js" + ], + "./helpers/esm/regeneratorValues": "./helpers/esm/regeneratorValues.js", + "./helpers/set": [ + { + "node": "./helpers/set.js", + "import": "./helpers/esm/set.js", + "default": "./helpers/set.js" + }, + "./helpers/set.js" + ], + "./helpers/esm/set": "./helpers/esm/set.js", + "./helpers/setFunctionName": [ + { + "node": "./helpers/setFunctionName.js", + "import": "./helpers/esm/setFunctionName.js", + "default": "./helpers/setFunctionName.js" + }, + "./helpers/setFunctionName.js" + ], + "./helpers/esm/setFunctionName": "./helpers/esm/setFunctionName.js", + "./helpers/setPrototypeOf": [ + { + "node": "./helpers/setPrototypeOf.js", + "import": "./helpers/esm/setPrototypeOf.js", + "default": "./helpers/setPrototypeOf.js" + }, + "./helpers/setPrototypeOf.js" + ], + "./helpers/esm/setPrototypeOf": "./helpers/esm/setPrototypeOf.js", + "./helpers/skipFirstGeneratorNext": [ + { + "node": "./helpers/skipFirstGeneratorNext.js", + "import": "./helpers/esm/skipFirstGeneratorNext.js", + "default": "./helpers/skipFirstGeneratorNext.js" + }, + "./helpers/skipFirstGeneratorNext.js" + ], + "./helpers/esm/skipFirstGeneratorNext": "./helpers/esm/skipFirstGeneratorNext.js", + "./helpers/slicedToArray": [ + { + "node": "./helpers/slicedToArray.js", + "import": "./helpers/esm/slicedToArray.js", + "default": "./helpers/slicedToArray.js" + }, + "./helpers/slicedToArray.js" + ], + "./helpers/esm/slicedToArray": "./helpers/esm/slicedToArray.js", + "./helpers/superPropBase": [ + { + "node": "./helpers/superPropBase.js", + "import": "./helpers/esm/superPropBase.js", + "default": "./helpers/superPropBase.js" + }, + "./helpers/superPropBase.js" + ], + "./helpers/esm/superPropBase": "./helpers/esm/superPropBase.js", + "./helpers/superPropGet": [ + { + "node": "./helpers/superPropGet.js", + "import": "./helpers/esm/superPropGet.js", + "default": "./helpers/superPropGet.js" + }, + "./helpers/superPropGet.js" + ], + "./helpers/esm/superPropGet": "./helpers/esm/superPropGet.js", + "./helpers/superPropSet": [ + { + "node": "./helpers/superPropSet.js", + "import": "./helpers/esm/superPropSet.js", + "default": "./helpers/superPropSet.js" + }, + "./helpers/superPropSet.js" + ], + "./helpers/esm/superPropSet": "./helpers/esm/superPropSet.js", + "./helpers/taggedTemplateLiteral": [ + { + "node": "./helpers/taggedTemplateLiteral.js", + "import": "./helpers/esm/taggedTemplateLiteral.js", + "default": "./helpers/taggedTemplateLiteral.js" + }, + "./helpers/taggedTemplateLiteral.js" + ], + "./helpers/esm/taggedTemplateLiteral": "./helpers/esm/taggedTemplateLiteral.js", + "./helpers/taggedTemplateLiteralLoose": [ + { + "node": "./helpers/taggedTemplateLiteralLoose.js", + "import": "./helpers/esm/taggedTemplateLiteralLoose.js", + "default": "./helpers/taggedTemplateLiteralLoose.js" + }, + "./helpers/taggedTemplateLiteralLoose.js" + ], + "./helpers/esm/taggedTemplateLiteralLoose": "./helpers/esm/taggedTemplateLiteralLoose.js", + "./helpers/tdz": [ + { + "node": "./helpers/tdz.js", + "import": "./helpers/esm/tdz.js", + "default": "./helpers/tdz.js" + }, + "./helpers/tdz.js" + ], + "./helpers/esm/tdz": "./helpers/esm/tdz.js", + "./helpers/temporalRef": [ + { + "node": "./helpers/temporalRef.js", + "import": "./helpers/esm/temporalRef.js", + "default": "./helpers/temporalRef.js" + }, + "./helpers/temporalRef.js" + ], + "./helpers/esm/temporalRef": "./helpers/esm/temporalRef.js", + "./helpers/temporalUndefined": [ + { + "node": "./helpers/temporalUndefined.js", + "import": "./helpers/esm/temporalUndefined.js", + "default": "./helpers/temporalUndefined.js" + }, + "./helpers/temporalUndefined.js" + ], + "./helpers/esm/temporalUndefined": "./helpers/esm/temporalUndefined.js", + "./helpers/toArray": [ + { + "node": "./helpers/toArray.js", + "import": "./helpers/esm/toArray.js", + "default": "./helpers/toArray.js" + }, + "./helpers/toArray.js" + ], + "./helpers/esm/toArray": "./helpers/esm/toArray.js", + "./helpers/toConsumableArray": [ + { + "node": "./helpers/toConsumableArray.js", + "import": "./helpers/esm/toConsumableArray.js", + "default": "./helpers/toConsumableArray.js" + }, + "./helpers/toConsumableArray.js" + ], + "./helpers/esm/toConsumableArray": "./helpers/esm/toConsumableArray.js", + "./helpers/toPrimitive": [ + { + "node": "./helpers/toPrimitive.js", + "import": "./helpers/esm/toPrimitive.js", + "default": "./helpers/toPrimitive.js" + }, + "./helpers/toPrimitive.js" + ], + "./helpers/esm/toPrimitive": "./helpers/esm/toPrimitive.js", + "./helpers/toPropertyKey": [ + { + "node": "./helpers/toPropertyKey.js", + "import": "./helpers/esm/toPropertyKey.js", + "default": "./helpers/toPropertyKey.js" + }, + "./helpers/toPropertyKey.js" + ], + "./helpers/esm/toPropertyKey": "./helpers/esm/toPropertyKey.js", + "./helpers/toSetter": [ + { + "node": "./helpers/toSetter.js", + "import": "./helpers/esm/toSetter.js", + "default": "./helpers/toSetter.js" + }, + "./helpers/toSetter.js" + ], + "./helpers/esm/toSetter": "./helpers/esm/toSetter.js", + "./helpers/tsRewriteRelativeImportExtensions": [ + { + "node": "./helpers/tsRewriteRelativeImportExtensions.js", + "import": "./helpers/esm/tsRewriteRelativeImportExtensions.js", + "default": "./helpers/tsRewriteRelativeImportExtensions.js" + }, + "./helpers/tsRewriteRelativeImportExtensions.js" + ], + "./helpers/esm/tsRewriteRelativeImportExtensions": "./helpers/esm/tsRewriteRelativeImportExtensions.js", + "./helpers/typeof": [ + { + "node": "./helpers/typeof.js", + "import": "./helpers/esm/typeof.js", + "default": "./helpers/typeof.js" + }, + "./helpers/typeof.js" + ], + "./helpers/esm/typeof": "./helpers/esm/typeof.js", + "./helpers/unsupportedIterableToArray": [ + { + "node": "./helpers/unsupportedIterableToArray.js", + "import": "./helpers/esm/unsupportedIterableToArray.js", + "default": "./helpers/unsupportedIterableToArray.js" + }, + "./helpers/unsupportedIterableToArray.js" + ], + "./helpers/esm/unsupportedIterableToArray": "./helpers/esm/unsupportedIterableToArray.js", + "./helpers/usingCtx": [ + { + "node": "./helpers/usingCtx.js", + "import": "./helpers/esm/usingCtx.js", + "default": "./helpers/usingCtx.js" + }, + "./helpers/usingCtx.js" + ], + "./helpers/esm/usingCtx": "./helpers/esm/usingCtx.js", + "./helpers/wrapAsyncGenerator": [ + { + "node": "./helpers/wrapAsyncGenerator.js", + "import": "./helpers/esm/wrapAsyncGenerator.js", + "default": "./helpers/wrapAsyncGenerator.js" + }, + "./helpers/wrapAsyncGenerator.js" + ], + "./helpers/esm/wrapAsyncGenerator": "./helpers/esm/wrapAsyncGenerator.js", + "./helpers/wrapNativeSuper": [ + { + "node": "./helpers/wrapNativeSuper.js", + "import": "./helpers/esm/wrapNativeSuper.js", + "default": "./helpers/wrapNativeSuper.js" + }, + "./helpers/wrapNativeSuper.js" + ], + "./helpers/esm/wrapNativeSuper": "./helpers/esm/wrapNativeSuper.js", + "./helpers/wrapRegExp": [ + { + "node": "./helpers/wrapRegExp.js", + "import": "./helpers/esm/wrapRegExp.js", + "default": "./helpers/wrapRegExp.js" + }, + "./helpers/wrapRegExp.js" + ], + "./helpers/esm/wrapRegExp": "./helpers/esm/wrapRegExp.js", + "./helpers/writeOnlyError": [ + { + "node": "./helpers/writeOnlyError.js", + "import": "./helpers/esm/writeOnlyError.js", + "default": "./helpers/writeOnlyError.js" + }, + "./helpers/writeOnlyError.js" + ], + "./helpers/esm/writeOnlyError": "./helpers/esm/writeOnlyError.js", + "./helpers/AwaitValue": [ + { + "node": "./helpers/AwaitValue.js", + "import": "./helpers/esm/AwaitValue.js", + "default": "./helpers/AwaitValue.js" + }, + "./helpers/AwaitValue.js" + ], + "./helpers/esm/AwaitValue": "./helpers/esm/AwaitValue.js", + "./helpers/applyDecs": [ + { + "node": "./helpers/applyDecs.js", + "import": "./helpers/esm/applyDecs.js", + "default": "./helpers/applyDecs.js" + }, + "./helpers/applyDecs.js" + ], + "./helpers/esm/applyDecs": "./helpers/esm/applyDecs.js", + "./helpers/applyDecs2203": [ + { + "node": "./helpers/applyDecs2203.js", + "import": "./helpers/esm/applyDecs2203.js", + "default": "./helpers/applyDecs2203.js" + }, + "./helpers/applyDecs2203.js" + ], + "./helpers/esm/applyDecs2203": "./helpers/esm/applyDecs2203.js", + "./helpers/applyDecs2203R": [ + { + "node": "./helpers/applyDecs2203R.js", + "import": "./helpers/esm/applyDecs2203R.js", + "default": "./helpers/applyDecs2203R.js" + }, + "./helpers/applyDecs2203R.js" + ], + "./helpers/esm/applyDecs2203R": "./helpers/esm/applyDecs2203R.js", + "./helpers/applyDecs2301": [ + { + "node": "./helpers/applyDecs2301.js", + "import": "./helpers/esm/applyDecs2301.js", + "default": "./helpers/applyDecs2301.js" + }, + "./helpers/applyDecs2301.js" + ], + "./helpers/esm/applyDecs2301": "./helpers/esm/applyDecs2301.js", + "./helpers/applyDecs2305": [ + { + "node": "./helpers/applyDecs2305.js", + "import": "./helpers/esm/applyDecs2305.js", + "default": "./helpers/applyDecs2305.js" + }, + "./helpers/applyDecs2305.js" + ], + "./helpers/esm/applyDecs2305": "./helpers/esm/applyDecs2305.js", + "./helpers/classApplyDescriptorDestructureSet": [ + { + "node": "./helpers/classApplyDescriptorDestructureSet.js", + "import": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "default": "./helpers/classApplyDescriptorDestructureSet.js" + }, + "./helpers/classApplyDescriptorDestructureSet.js" + ], + "./helpers/esm/classApplyDescriptorDestructureSet": "./helpers/esm/classApplyDescriptorDestructureSet.js", + "./helpers/classApplyDescriptorGet": [ + { + "node": "./helpers/classApplyDescriptorGet.js", + "import": "./helpers/esm/classApplyDescriptorGet.js", + "default": "./helpers/classApplyDescriptorGet.js" + }, + "./helpers/classApplyDescriptorGet.js" + ], + "./helpers/esm/classApplyDescriptorGet": "./helpers/esm/classApplyDescriptorGet.js", + "./helpers/classApplyDescriptorSet": [ + { + "node": "./helpers/classApplyDescriptorSet.js", + "import": "./helpers/esm/classApplyDescriptorSet.js", + "default": "./helpers/classApplyDescriptorSet.js" + }, + "./helpers/classApplyDescriptorSet.js" + ], + "./helpers/esm/classApplyDescriptorSet": "./helpers/esm/classApplyDescriptorSet.js", + "./helpers/classCheckPrivateStaticAccess": [ + { + "node": "./helpers/classCheckPrivateStaticAccess.js", + "import": "./helpers/esm/classCheckPrivateStaticAccess.js", + "default": "./helpers/classCheckPrivateStaticAccess.js" + }, + "./helpers/classCheckPrivateStaticAccess.js" + ], + "./helpers/esm/classCheckPrivateStaticAccess": "./helpers/esm/classCheckPrivateStaticAccess.js", + "./helpers/classCheckPrivateStaticFieldDescriptor": [ + { + "node": "./helpers/classCheckPrivateStaticFieldDescriptor.js", + "import": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "default": "./helpers/classCheckPrivateStaticFieldDescriptor.js" + }, + "./helpers/classCheckPrivateStaticFieldDescriptor.js" + ], + "./helpers/esm/classCheckPrivateStaticFieldDescriptor": "./helpers/esm/classCheckPrivateStaticFieldDescriptor.js", + "./helpers/classExtractFieldDescriptor": [ + { + "node": "./helpers/classExtractFieldDescriptor.js", + "import": "./helpers/esm/classExtractFieldDescriptor.js", + "default": "./helpers/classExtractFieldDescriptor.js" + }, + "./helpers/classExtractFieldDescriptor.js" + ], + "./helpers/esm/classExtractFieldDescriptor": "./helpers/esm/classExtractFieldDescriptor.js", + "./helpers/classPrivateFieldDestructureSet": [ + { + "node": "./helpers/classPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classPrivateFieldDestructureSet.js", + "default": "./helpers/classPrivateFieldDestructureSet.js" + }, + "./helpers/classPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classPrivateFieldDestructureSet": "./helpers/esm/classPrivateFieldDestructureSet.js", + "./helpers/classPrivateFieldGet": [ + { + "node": "./helpers/classPrivateFieldGet.js", + "import": "./helpers/esm/classPrivateFieldGet.js", + "default": "./helpers/classPrivateFieldGet.js" + }, + "./helpers/classPrivateFieldGet.js" + ], + "./helpers/esm/classPrivateFieldGet": "./helpers/esm/classPrivateFieldGet.js", + "./helpers/classPrivateFieldSet": [ + { + "node": "./helpers/classPrivateFieldSet.js", + "import": "./helpers/esm/classPrivateFieldSet.js", + "default": "./helpers/classPrivateFieldSet.js" + }, + "./helpers/classPrivateFieldSet.js" + ], + "./helpers/esm/classPrivateFieldSet": "./helpers/esm/classPrivateFieldSet.js", + "./helpers/classPrivateMethodGet": [ + { + "node": "./helpers/classPrivateMethodGet.js", + "import": "./helpers/esm/classPrivateMethodGet.js", + "default": "./helpers/classPrivateMethodGet.js" + }, + "./helpers/classPrivateMethodGet.js" + ], + "./helpers/esm/classPrivateMethodGet": "./helpers/esm/classPrivateMethodGet.js", + "./helpers/classPrivateMethodSet": [ + { + "node": "./helpers/classPrivateMethodSet.js", + "import": "./helpers/esm/classPrivateMethodSet.js", + "default": "./helpers/classPrivateMethodSet.js" + }, + "./helpers/classPrivateMethodSet.js" + ], + "./helpers/esm/classPrivateMethodSet": "./helpers/esm/classPrivateMethodSet.js", + "./helpers/classStaticPrivateFieldDestructureSet": [ + { + "node": "./helpers/classStaticPrivateFieldDestructureSet.js", + "import": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "default": "./helpers/classStaticPrivateFieldDestructureSet.js" + }, + "./helpers/classStaticPrivateFieldDestructureSet.js" + ], + "./helpers/esm/classStaticPrivateFieldDestructureSet": "./helpers/esm/classStaticPrivateFieldDestructureSet.js", + "./helpers/classStaticPrivateFieldSpecGet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecGet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "default": "./helpers/classStaticPrivateFieldSpecGet.js" + }, + "./helpers/classStaticPrivateFieldSpecGet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecGet": "./helpers/esm/classStaticPrivateFieldSpecGet.js", + "./helpers/classStaticPrivateFieldSpecSet": [ + { + "node": "./helpers/classStaticPrivateFieldSpecSet.js", + "import": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "default": "./helpers/classStaticPrivateFieldSpecSet.js" + }, + "./helpers/classStaticPrivateFieldSpecSet.js" + ], + "./helpers/esm/classStaticPrivateFieldSpecSet": "./helpers/esm/classStaticPrivateFieldSpecSet.js", + "./helpers/classStaticPrivateMethodSet": [ + { + "node": "./helpers/classStaticPrivateMethodSet.js", + "import": "./helpers/esm/classStaticPrivateMethodSet.js", + "default": "./helpers/classStaticPrivateMethodSet.js" + }, + "./helpers/classStaticPrivateMethodSet.js" + ], + "./helpers/esm/classStaticPrivateMethodSet": "./helpers/esm/classStaticPrivateMethodSet.js", + "./helpers/defineEnumerableProperties": [ + { + "node": "./helpers/defineEnumerableProperties.js", + "import": "./helpers/esm/defineEnumerableProperties.js", + "default": "./helpers/defineEnumerableProperties.js" + }, + "./helpers/defineEnumerableProperties.js" + ], + "./helpers/esm/defineEnumerableProperties": "./helpers/esm/defineEnumerableProperties.js", + "./helpers/dispose": [ + { + "node": "./helpers/dispose.js", + "import": "./helpers/esm/dispose.js", + "default": "./helpers/dispose.js" + }, + "./helpers/dispose.js" + ], + "./helpers/esm/dispose": "./helpers/esm/dispose.js", + "./helpers/objectSpread": [ + { + "node": "./helpers/objectSpread.js", + "import": "./helpers/esm/objectSpread.js", + "default": "./helpers/objectSpread.js" + }, + "./helpers/objectSpread.js" + ], + "./helpers/esm/objectSpread": "./helpers/esm/objectSpread.js", + "./helpers/regeneratorRuntime": [ + { + "node": "./helpers/regeneratorRuntime.js", + "import": "./helpers/esm/regeneratorRuntime.js", + "default": "./helpers/regeneratorRuntime.js" + }, + "./helpers/regeneratorRuntime.js" + ], + "./helpers/esm/regeneratorRuntime": "./helpers/esm/regeneratorRuntime.js", + "./helpers/using": [ + { + "node": "./helpers/using.js", + "import": "./helpers/esm/using.js", + "default": "./helpers/using.js" + }, + "./helpers/using.js" + ], + "./helpers/esm/using": "./helpers/esm/using.js", + "./package": "./package.json", + "./package.json": "./package.json", + "./regenerator": "./regenerator/index.js", + "./regenerator/*.js": "./regenerator/*.js", + "./regenerator/": "./regenerator/" + }, + "engines": { + "node": ">=6.9.0" + }, + "type": "commonjs" +} \ No newline at end of file diff --git a/.output/server/node_modules/@capacitor/camera/dist/plugin.cjs.js b/.output/server/node_modules/@capacitor/camera/dist/plugin.cjs.js new file mode 100644 index 00000000..c2ca6fcf --- /dev/null +++ b/.output/server/node_modules/@capacitor/camera/dist/plugin.cjs.js @@ -0,0 +1,288 @@ +'use strict'; + +var core = require('@capacitor/core'); + +exports.CameraSource = void 0; +(function (CameraSource) { + /** + * Prompts the user to select either the photo album or take a photo. + */ + CameraSource["Prompt"] = "PROMPT"; + /** + * Take a new photo using the camera. + */ + CameraSource["Camera"] = "CAMERA"; + /** + * Pick an existing photo from the gallery or photo album. + */ + CameraSource["Photos"] = "PHOTOS"; +})(exports.CameraSource || (exports.CameraSource = {})); +exports.CameraDirection = void 0; +(function (CameraDirection) { + CameraDirection["Rear"] = "REAR"; + CameraDirection["Front"] = "FRONT"; +})(exports.CameraDirection || (exports.CameraDirection = {})); +exports.CameraResultType = void 0; +(function (CameraResultType) { + CameraResultType["Uri"] = "uri"; + CameraResultType["Base64"] = "base64"; + CameraResultType["DataUrl"] = "dataUrl"; +})(exports.CameraResultType || (exports.CameraResultType = {})); + +class CameraWeb extends core.WebPlugin { + async getPhoto(options) { + // eslint-disable-next-line no-async-promise-executor + return new Promise(async (resolve, reject) => { + if (options.webUseInput || options.source === exports.CameraSource.Photos) { + this.fileInputExperience(options, resolve, reject); + } + else if (options.source === exports.CameraSource.Prompt) { + let actionSheet = document.querySelector('pwa-action-sheet'); + if (!actionSheet) { + actionSheet = document.createElement('pwa-action-sheet'); + document.body.appendChild(actionSheet); + } + actionSheet.header = options.promptLabelHeader || 'Photo'; + actionSheet.cancelable = false; + actionSheet.options = [ + { title: options.promptLabelPhoto || 'From Photos' }, + { title: options.promptLabelPicture || 'Take Picture' }, + ]; + actionSheet.addEventListener('onSelection', async (e) => { + const selection = e.detail; + if (selection === 0) { + this.fileInputExperience(options, resolve, reject); + } + else { + this.cameraExperience(options, resolve, reject); + } + }); + } + else { + this.cameraExperience(options, resolve, reject); + } + }); + } + async pickImages(_options) { + // eslint-disable-next-line no-async-promise-executor + return new Promise(async (resolve, reject) => { + this.multipleFileInputExperience(resolve, reject); + }); + } + async cameraExperience(options, resolve, reject) { + if (customElements.get('pwa-camera-modal')) { + const cameraModal = document.createElement('pwa-camera-modal'); + cameraModal.facingMode = + options.direction === exports.CameraDirection.Front ? 'user' : 'environment'; + document.body.appendChild(cameraModal); + try { + await cameraModal.componentOnReady(); + cameraModal.addEventListener('onPhoto', async (e) => { + const photo = e.detail; + if (photo === null) { + reject(new core.CapacitorException('User cancelled photos app')); + } + else if (photo instanceof Error) { + reject(photo); + } + else { + resolve(await this._getCameraPhoto(photo, options)); + } + cameraModal.dismiss(); + document.body.removeChild(cameraModal); + }); + cameraModal.present(); + } + catch (e) { + this.fileInputExperience(options, resolve, reject); + } + } + else { + console.error(`Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`); + this.fileInputExperience(options, resolve, reject); + } + } + fileInputExperience(options, resolve, reject) { + let input = document.querySelector('#_capacitor-camera-input'); + const cleanup = () => { + var _a; + (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input); + }; + if (!input) { + input = document.createElement('input'); + input.id = '_capacitor-camera-input'; + input.type = 'file'; + input.hidden = true; + document.body.appendChild(input); + input.addEventListener('change', (_e) => { + const file = input.files[0]; + let format = 'jpeg'; + if (file.type === 'image/png') { + format = 'png'; + } + else if (file.type === 'image/gif') { + format = 'gif'; + } + if (options.resultType === 'dataUrl' || + options.resultType === 'base64') { + const reader = new FileReader(); + reader.addEventListener('load', () => { + if (options.resultType === 'dataUrl') { + resolve({ + dataUrl: reader.result, + format, + }); + } + else if (options.resultType === 'base64') { + const b64 = reader.result.split(',')[1]; + resolve({ + base64String: b64, + format, + }); + } + cleanup(); + }); + reader.readAsDataURL(file); + } + else { + resolve({ + webPath: URL.createObjectURL(file), + format: format, + }); + cleanup(); + } + }); + input.addEventListener('cancel', (_e) => { + reject(new core.CapacitorException('User cancelled photos app')); + cleanup(); + }); + } + input.accept = 'image/*'; + input.capture = true; + if (options.source === exports.CameraSource.Photos || + options.source === exports.CameraSource.Prompt) { + input.removeAttribute('capture'); + } + else if (options.direction === exports.CameraDirection.Front) { + input.capture = 'user'; + } + else if (options.direction === exports.CameraDirection.Rear) { + input.capture = 'environment'; + } + input.click(); + } + multipleFileInputExperience(resolve, reject) { + let input = document.querySelector('#_capacitor-camera-input-multiple'); + const cleanup = () => { + var _a; + (_a = input.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(input); + }; + if (!input) { + input = document.createElement('input'); + input.id = '_capacitor-camera-input-multiple'; + input.type = 'file'; + input.hidden = true; + input.multiple = true; + document.body.appendChild(input); + input.addEventListener('change', (_e) => { + const photos = []; + // eslint-disable-next-line @typescript-eslint/prefer-for-of + for (let i = 0; i < input.files.length; i++) { + const file = input.files[i]; + let format = 'jpeg'; + if (file.type === 'image/png') { + format = 'png'; + } + else if (file.type === 'image/gif') { + format = 'gif'; + } + photos.push({ + webPath: URL.createObjectURL(file), + format: format, + }); + } + resolve({ photos }); + cleanup(); + }); + input.addEventListener('cancel', (_e) => { + reject(new core.CapacitorException('User cancelled photos app')); + cleanup(); + }); + } + input.accept = 'image/*'; + input.click(); + } + _getCameraPhoto(photo, options) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + const format = photo.type.split('/')[1]; + if (options.resultType === 'uri') { + resolve({ + webPath: URL.createObjectURL(photo), + format: format, + saved: false, + }); + } + else { + reader.readAsDataURL(photo); + reader.onloadend = () => { + const r = reader.result; + if (options.resultType === 'dataUrl') { + resolve({ + dataUrl: r, + format: format, + saved: false, + }); + } + else { + resolve({ + base64String: r.split(',')[1], + format: format, + saved: false, + }); + } + }; + reader.onerror = e => { + reject(e); + }; + } + }); + } + async checkPermissions() { + if (typeof navigator === 'undefined' || !navigator.permissions) { + throw this.unavailable('Permissions API not available in this browser'); + } + try { + // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query + // the specific permissions that are supported varies among browsers that implement the + // permissions API, so we need a try/catch in case 'camera' is invalid + const permission = await window.navigator.permissions.query({ + name: 'camera', + }); + return { + camera: permission.state, + photos: 'granted', + }; + } + catch (_a) { + throw this.unavailable('Camera permissions are not available in this browser'); + } + } + async requestPermissions() { + throw this.unimplemented('Not implemented on web.'); + } + async pickLimitedLibraryPhotos() { + throw this.unavailable('Not implemented on web.'); + } + async getLimitedLibraryPhotos() { + throw this.unavailable('Not implemented on web.'); + } +} +new CameraWeb(); + +const Camera = core.registerPlugin('Camera', { + web: () => new CameraWeb(), +}); + +exports.Camera = Camera; +//# sourceMappingURL=plugin.cjs.js.map diff --git a/.output/server/node_modules/@capacitor/camera/package.json b/.output/server/node_modules/@capacitor/camera/package.json new file mode 100644 index 00000000..3106d918 --- /dev/null +++ b/.output/server/node_modules/@capacitor/camera/package.json @@ -0,0 +1,85 @@ +{ + "name": "@capacitor/camera", + "version": "7.0.2", + "description": "The Camera API provides the ability to take a photo with the camera or choose an existing one from the photo album.", + "main": "dist/plugin.cjs.js", + "module": "dist/esm/index.js", + "types": "dist/esm/index.d.ts", + "unpkg": "dist/plugin.js", + "files": [ + "android/src/main/", + "android/build.gradle", + "dist/", + "ios/Sources", + "ios/Tests", + "Package.swift", + "CapacitorCamera.podspec" + ], + "author": "Ionic <hi@ionicframework.com>", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/ionic-team/capacitor-plugins.git" + }, + "bugs": { + "url": "https://github.com/ionic-team/capacitor-plugins/issues" + }, + "keywords": [ + "capacitor", + "plugin", + "native" + ], + "scripts": { + "verify": "npm run verify:ios && npm run verify:android && npm run verify:web", + "verify:ios": "xcodebuild build -scheme CapacitorCamera -destination generic/platform=iOS", + "verify:android": "cd android && ./gradlew clean build test && cd ..", + "verify:web": "npm run build", + "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint", + "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format", + "eslint": "eslint . --ext ts", + "prettier": "prettier \"**/*.{css,html,ts,js,java}\"", + "swiftlint": "node-swiftlint", + "docgen": "docgen --api CameraPlugin --output-readme README.md --output-json dist/docs.json", + "build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs", + "clean": "rimraf ./dist", + "watch": "tsc --watch", + "prepublishOnly": "npm run build", + "publish:cocoapod": "pod trunk push ./CapacitorCamera.podspec --allow-warnings" + }, + "devDependencies": { + "@capacitor/android": "^7.0.0", + "@capacitor/core": "^7.0.0", + "@capacitor/docgen": "0.2.2", + "@capacitor/ios": "^7.0.0", + "@ionic/eslint-config": "^0.4.0", + "@ionic/prettier-config": "~1.0.1", + "@ionic/swiftlint-config": "^1.1.2", + "eslint": "^8.57.0", + "prettier": "~2.3.0", + "prettier-plugin-java": "~1.0.2", + "rimraf": "^6.0.1", + "rollup": "^4.26.0", + "swiftlint": "^1.0.1", + "typescript": "~4.1.5" + }, + "peerDependencies": { + "@capacitor/core": ">=7.0.0" + }, + "prettier": "@ionic/prettier-config", + "swiftlint": "@ionic/swiftlint-config", + "eslintConfig": { + "extends": "@ionic/eslint-config/recommended" + }, + "capacitor": { + "ios": { + "src": "ios" + }, + "android": { + "src": "android" + } + }, + "publishConfig": { + "access": "public" + }, + "gitHead": "7c53a4c249abe958983f1ac9df04dec7ab89c10e" +} \ No newline at end of file diff --git a/.output/server/node_modules/@capacitor/core/dist/index.cjs.js b/.output/server/node_modules/@capacitor/core/dist/index.cjs.js new file mode 100644 index 00000000..d40a9c31 --- /dev/null +++ b/.output/server/node_modules/@capacitor/core/dist/index.cjs.js @@ -0,0 +1,594 @@ +/*! Capacitor: https://capacitorjs.com/ - MIT License */ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +exports.ExceptionCode = void 0; +(function (ExceptionCode) { + /** + * API is not implemented. + * + * This usually means the API can't be used because it is not implemented for + * the current platform. + */ + ExceptionCode["Unimplemented"] = "UNIMPLEMENTED"; + /** + * API is not available. + * + * This means the API can't be used right now because: + * - it is currently missing a prerequisite, such as network connectivity + * - it requires a particular platform or browser version + */ + ExceptionCode["Unavailable"] = "UNAVAILABLE"; +})(exports.ExceptionCode || (exports.ExceptionCode = {})); +class CapacitorException extends Error { + constructor(message, code, data) { + super(message); + this.message = message; + this.code = code; + this.data = data; + } +} +const getPlatformId = (win) => { + var _a, _b; + if (win === null || win === void 0 ? void 0 : win.androidBridge) { + return 'android'; + } + else if ((_b = (_a = win === null || win === void 0 ? void 0 : win.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.bridge) { + return 'ios'; + } + else { + return 'web'; + } +}; + +const createCapacitor = (win) => { + const capCustomPlatform = win.CapacitorCustomPlatform || null; + const cap = win.Capacitor || {}; + const Plugins = (cap.Plugins = cap.Plugins || {}); + const getPlatform = () => { + return capCustomPlatform !== null ? capCustomPlatform.name : getPlatformId(win); + }; + const isNativePlatform = () => getPlatform() !== 'web'; + const isPluginAvailable = (pluginName) => { + const plugin = registeredPlugins.get(pluginName); + if (plugin === null || plugin === void 0 ? void 0 : plugin.platforms.has(getPlatform())) { + // JS implementation available for the current platform. + return true; + } + if (getPluginHeader(pluginName)) { + // Native implementation available. + return true; + } + return false; + }; + const getPluginHeader = (pluginName) => { var _a; return (_a = cap.PluginHeaders) === null || _a === void 0 ? void 0 : _a.find((h) => h.name === pluginName); }; + const handleError = (err) => win.console.error(err); + const registeredPlugins = new Map(); + const registerPlugin = (pluginName, jsImplementations = {}) => { + const registeredPlugin = registeredPlugins.get(pluginName); + if (registeredPlugin) { + console.warn(`Capacitor plugin "${pluginName}" already registered. Cannot register plugins twice.`); + return registeredPlugin.proxy; + } + const platform = getPlatform(); + const pluginHeader = getPluginHeader(pluginName); + let jsImplementation; + const loadPluginImplementation = async () => { + if (!jsImplementation && platform in jsImplementations) { + jsImplementation = + typeof jsImplementations[platform] === 'function' + ? (jsImplementation = await jsImplementations[platform]()) + : (jsImplementation = jsImplementations[platform]); + } + else if (capCustomPlatform !== null && !jsImplementation && 'web' in jsImplementations) { + jsImplementation = + typeof jsImplementations['web'] === 'function' + ? (jsImplementation = await jsImplementations['web']()) + : (jsImplementation = jsImplementations['web']); + } + return jsImplementation; + }; + const createPluginMethod = (impl, prop) => { + var _a, _b; + if (pluginHeader) { + const methodHeader = pluginHeader === null || pluginHeader === void 0 ? void 0 : pluginHeader.methods.find((m) => prop === m.name); + if (methodHeader) { + if (methodHeader.rtype === 'promise') { + return (options) => cap.nativePromise(pluginName, prop.toString(), options); + } + else { + return (options, callback) => cap.nativeCallback(pluginName, prop.toString(), options, callback); + } + } + else if (impl) { + return (_a = impl[prop]) === null || _a === void 0 ? void 0 : _a.bind(impl); + } + } + else if (impl) { + return (_b = impl[prop]) === null || _b === void 0 ? void 0 : _b.bind(impl); + } + else { + throw new CapacitorException(`"${pluginName}" plugin is not implemented on ${platform}`, exports.ExceptionCode.Unimplemented); + } + }; + const createPluginMethodWrapper = (prop) => { + let remove; + const wrapper = (...args) => { + const p = loadPluginImplementation().then((impl) => { + const fn = createPluginMethod(impl, prop); + if (fn) { + const p = fn(...args); + remove = p === null || p === void 0 ? void 0 : p.remove; + return p; + } + else { + throw new CapacitorException(`"${pluginName}.${prop}()" is not implemented on ${platform}`, exports.ExceptionCode.Unimplemented); + } + }); + if (prop === 'addListener') { + p.remove = async () => remove(); + } + return p; + }; + // Some flair ✨ + wrapper.toString = () => `${prop.toString()}() { [capacitor code] }`; + Object.defineProperty(wrapper, 'name', { + value: prop, + writable: false, + configurable: false, + }); + return wrapper; + }; + const addListener = createPluginMethodWrapper('addListener'); + const removeListener = createPluginMethodWrapper('removeListener'); + const addListenerNative = (eventName, callback) => { + const call = addListener({ eventName }, callback); + const remove = async () => { + const callbackId = await call; + removeListener({ + eventName, + callbackId, + }, callback); + }; + const p = new Promise((resolve) => call.then(() => resolve({ remove }))); + p.remove = async () => { + console.warn(`Using addListener() without 'await' is deprecated.`); + await remove(); + }; + return p; + }; + const proxy = new Proxy({}, { + get(_, prop) { + switch (prop) { + // https://github.com/facebook/react/issues/20030 + case '$$typeof': + return undefined; + case 'toJSON': + return () => ({}); + case 'addListener': + return pluginHeader ? addListenerNative : addListener; + case 'removeListener': + return removeListener; + default: + return createPluginMethodWrapper(prop); + } + }, + }); + Plugins[pluginName] = proxy; + registeredPlugins.set(pluginName, { + name: pluginName, + proxy, + platforms: new Set([...Object.keys(jsImplementations), ...(pluginHeader ? [platform] : [])]), + }); + return proxy; + }; + // Add in convertFileSrc for web, it will already be available in native context + if (!cap.convertFileSrc) { + cap.convertFileSrc = (filePath) => filePath; + } + cap.getPlatform = getPlatform; + cap.handleError = handleError; + cap.isNativePlatform = isNativePlatform; + cap.isPluginAvailable = isPluginAvailable; + cap.registerPlugin = registerPlugin; + cap.Exception = CapacitorException; + cap.DEBUG = !!cap.DEBUG; + cap.isLoggingEnabled = !!cap.isLoggingEnabled; + return cap; +}; +const initCapacitorGlobal = (win) => (win.Capacitor = createCapacitor(win)); + +const Capacitor = /*#__PURE__*/ initCapacitorGlobal(typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}); +const registerPlugin = Capacitor.registerPlugin; + +/** + * Base class web plugins should extend. + */ +class WebPlugin { + constructor() { + this.listeners = {}; + this.retainedEventArguments = {}; + this.windowListeners = {}; + } + addListener(eventName, listenerFunc) { + let firstListener = false; + const listeners = this.listeners[eventName]; + if (!listeners) { + this.listeners[eventName] = []; + firstListener = true; + } + this.listeners[eventName].push(listenerFunc); + // If we haven't added a window listener for this event and it requires one, + // go ahead and add it + const windowListener = this.windowListeners[eventName]; + if (windowListener && !windowListener.registered) { + this.addWindowListener(windowListener); + } + if (firstListener) { + this.sendRetainedArgumentsForEvent(eventName); + } + const remove = async () => this.removeListener(eventName, listenerFunc); + const p = Promise.resolve({ remove }); + return p; + } + async removeAllListeners() { + this.listeners = {}; + for (const listener in this.windowListeners) { + this.removeWindowListener(this.windowListeners[listener]); + } + this.windowListeners = {}; + } + notifyListeners(eventName, data, retainUntilConsumed) { + const listeners = this.listeners[eventName]; + if (!listeners) { + if (retainUntilConsumed) { + let args = this.retainedEventArguments[eventName]; + if (!args) { + args = []; + } + args.push(data); + this.retainedEventArguments[eventName] = args; + } + return; + } + listeners.forEach((listener) => listener(data)); + } + hasListeners(eventName) { + var _a; + return !!((_a = this.listeners[eventName]) === null || _a === void 0 ? void 0 : _a.length); + } + registerWindowListener(windowEventName, pluginEventName) { + this.windowListeners[pluginEventName] = { + registered: false, + windowEventName, + pluginEventName, + handler: (event) => { + this.notifyListeners(pluginEventName, event); + }, + }; + } + unimplemented(msg = 'not implemented') { + return new Capacitor.Exception(msg, exports.ExceptionCode.Unimplemented); + } + unavailable(msg = 'not available') { + return new Capacitor.Exception(msg, exports.ExceptionCode.Unavailable); + } + async removeListener(eventName, listenerFunc) { + const listeners = this.listeners[eventName]; + if (!listeners) { + return; + } + const index = listeners.indexOf(listenerFunc); + this.listeners[eventName].splice(index, 1); + // If there are no more listeners for this type of event, + // remove the window listener + if (!this.listeners[eventName].length) { + this.removeWindowListener(this.windowListeners[eventName]); + } + } + addWindowListener(handle) { + window.addEventListener(handle.windowEventName, handle.handler); + handle.registered = true; + } + removeWindowListener(handle) { + if (!handle) { + return; + } + window.removeEventListener(handle.windowEventName, handle.handler); + handle.registered = false; + } + sendRetainedArgumentsForEvent(eventName) { + const args = this.retainedEventArguments[eventName]; + if (!args) { + return; + } + delete this.retainedEventArguments[eventName]; + args.forEach((arg) => { + this.notifyListeners(eventName, arg); + }); + } +} + +const WebView = /*#__PURE__*/ registerPlugin('WebView'); +/******** END WEB VIEW PLUGIN ********/ +/******** COOKIES PLUGIN ********/ +/** + * Safely web encode a string value (inspired by js-cookie) + * @param str The string value to encode + */ +const encode = (str) => encodeURIComponent(str) + .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent) + .replace(/[()]/g, escape); +/** + * Safely web decode a string value (inspired by js-cookie) + * @param str The string value to decode + */ +const decode = (str) => str.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent); +class CapacitorCookiesPluginWeb extends WebPlugin { + async getCookies() { + const cookies = document.cookie; + const cookieMap = {}; + cookies.split(';').forEach((cookie) => { + if (cookie.length <= 0) + return; + // Replace first "=" with CAP_COOKIE to prevent splitting on additional "=" + let [key, value] = cookie.replace(/=/, 'CAP_COOKIE').split('CAP_COOKIE'); + key = decode(key).trim(); + value = decode(value).trim(); + cookieMap[key] = value; + }); + return cookieMap; + } + async setCookie(options) { + try { + // Safely Encoded Key/Value + const encodedKey = encode(options.key); + const encodedValue = encode(options.value); + // Clean & sanitize options + const expires = `; expires=${(options.expires || '').replace('expires=', '')}`; // Default is "; expires=" + const path = (options.path || '/').replace('path=', ''); // Default is "path=/" + const domain = options.url != null && options.url.length > 0 ? `domain=${options.url}` : ''; + document.cookie = `${encodedKey}=${encodedValue || ''}${expires}; path=${path}; ${domain};`; + } + catch (error) { + return Promise.reject(error); + } + } + async deleteCookie(options) { + try { + document.cookie = `${options.key}=; Max-Age=0`; + } + catch (error) { + return Promise.reject(error); + } + } + async clearCookies() { + try { + const cookies = document.cookie.split(';') || []; + for (const cookie of cookies) { + document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`); + } + } + catch (error) { + return Promise.reject(error); + } + } + async clearAllCookies() { + try { + await this.clearCookies(); + } + catch (error) { + return Promise.reject(error); + } + } +} +const CapacitorCookies = registerPlugin('CapacitorCookies', { + web: () => new CapacitorCookiesPluginWeb(), +}); +// UTILITY FUNCTIONS +/** + * Read in a Blob value and return it as a base64 string + * @param blob The blob value to convert to a base64 string + */ +const readBlobAsBase64 = async (blob) => new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + const base64String = reader.result; + // remove prefix "data:application/pdf;base64," + resolve(base64String.indexOf(',') >= 0 ? base64String.split(',')[1] : base64String); + }; + reader.onerror = (error) => reject(error); + reader.readAsDataURL(blob); +}); +/** + * Normalize an HttpHeaders map by lowercasing all of the values + * @param headers The HttpHeaders object to normalize + */ +const normalizeHttpHeaders = (headers = {}) => { + const originalKeys = Object.keys(headers); + const loweredKeys = Object.keys(headers).map((k) => k.toLocaleLowerCase()); + const normalized = loweredKeys.reduce((acc, key, index) => { + acc[key] = headers[originalKeys[index]]; + return acc; + }, {}); + return normalized; +}; +/** + * Builds a string of url parameters that + * @param params A map of url parameters + * @param shouldEncode true if you should encodeURIComponent() the values (true by default) + */ +const buildUrlParams = (params, shouldEncode = true) => { + if (!params) + return null; + const output = Object.entries(params).reduce((accumulator, entry) => { + const [key, value] = entry; + let encodedValue; + let item; + if (Array.isArray(value)) { + item = ''; + value.forEach((str) => { + encodedValue = shouldEncode ? encodeURIComponent(str) : str; + item += `${key}=${encodedValue}&`; + }); + // last character will always be "&" so slice it off + item.slice(0, -1); + } + else { + encodedValue = shouldEncode ? encodeURIComponent(value) : value; + item = `${key}=${encodedValue}`; + } + return `${accumulator}&${item}`; + }, ''); + // Remove initial "&" from the reduce + return output.substr(1); +}; +/** + * Build the RequestInit object based on the options passed into the initial request + * @param options The Http plugin options + * @param extra Any extra RequestInit values + */ +const buildRequestInit = (options, extra = {}) => { + const output = Object.assign({ method: options.method || 'GET', headers: options.headers }, extra); + // Get the content-type + const headers = normalizeHttpHeaders(options.headers); + const type = headers['content-type'] || ''; + // If body is already a string, then pass it through as-is. + if (typeof options.data === 'string') { + output.body = options.data; + } + // Build request initializers based off of content-type + else if (type.includes('application/x-www-form-urlencoded')) { + const params = new URLSearchParams(); + for (const [key, value] of Object.entries(options.data || {})) { + params.set(key, value); + } + output.body = params.toString(); + } + else if (type.includes('multipart/form-data') || options.data instanceof FormData) { + const form = new FormData(); + if (options.data instanceof FormData) { + options.data.forEach((value, key) => { + form.append(key, value); + }); + } + else { + for (const key of Object.keys(options.data)) { + form.append(key, options.data[key]); + } + } + output.body = form; + const headers = new Headers(output.headers); + headers.delete('content-type'); // content-type will be set by `window.fetch` to includy boundary + output.headers = headers; + } + else if (type.includes('application/json') || typeof options.data === 'object') { + output.body = JSON.stringify(options.data); + } + return output; +}; +// WEB IMPLEMENTATION +class CapacitorHttpPluginWeb extends WebPlugin { + /** + * Perform an Http request given a set of options + * @param options Options to build the HTTP request + */ + async request(options) { + const requestInit = buildRequestInit(options, options.webFetchExtra); + const urlParams = buildUrlParams(options.params, options.shouldEncodeUrlParams); + const url = urlParams ? `${options.url}?${urlParams}` : options.url; + const response = await fetch(url, requestInit); + const contentType = response.headers.get('content-type') || ''; + // Default to 'text' responseType so no parsing happens + let { responseType = 'text' } = response.ok ? options : {}; + // If the response content-type is json, force the response to be json + if (contentType.includes('application/json')) { + responseType = 'json'; + } + let data; + let blob; + switch (responseType) { + case 'arraybuffer': + case 'blob': + blob = await response.blob(); + data = await readBlobAsBase64(blob); + break; + case 'json': + data = await response.json(); + break; + case 'document': + case 'text': + default: + data = await response.text(); + } + // Convert fetch headers to Capacitor HttpHeaders + const headers = {}; + response.headers.forEach((value, key) => { + headers[key] = value; + }); + return { + data, + headers, + status: response.status, + url: response.url, + }; + } + /** + * Perform an Http GET request given a set of options + * @param options Options to build the HTTP request + */ + async get(options) { + return this.request(Object.assign(Object.assign({}, options), { method: 'GET' })); + } + /** + * Perform an Http POST request given a set of options + * @param options Options to build the HTTP request + */ + async post(options) { + return this.request(Object.assign(Object.assign({}, options), { method: 'POST' })); + } + /** + * Perform an Http PUT request given a set of options + * @param options Options to build the HTTP request + */ + async put(options) { + return this.request(Object.assign(Object.assign({}, options), { method: 'PUT' })); + } + /** + * Perform an Http PATCH request given a set of options + * @param options Options to build the HTTP request + */ + async patch(options) { + return this.request(Object.assign(Object.assign({}, options), { method: 'PATCH' })); + } + /** + * Perform an Http DELETE request given a set of options + * @param options Options to build the HTTP request + */ + async delete(options) { + return this.request(Object.assign(Object.assign({}, options), { method: 'DELETE' })); + } +} +const CapacitorHttp = registerPlugin('CapacitorHttp', { + web: () => new CapacitorHttpPluginWeb(), +}); +/******** END HTTP PLUGIN ********/ + +exports.Capacitor = Capacitor; +exports.CapacitorCookies = CapacitorCookies; +exports.CapacitorException = CapacitorException; +exports.CapacitorHttp = CapacitorHttp; +exports.WebPlugin = WebPlugin; +exports.WebView = WebView; +exports.buildRequestInit = buildRequestInit; +exports.registerPlugin = registerPlugin; +//# sourceMappingURL=index.cjs.js.map diff --git a/.output/server/node_modules/@capacitor/core/package.json b/.output/server/node_modules/@capacitor/core/package.json new file mode 100644 index 00000000..6ac31829 --- /dev/null +++ b/.output/server/node_modules/@capacitor/core/package.json @@ -0,0 +1,61 @@ +{ + "name": "@capacitor/core", + "version": "7.4.3", + "description": "Capacitor: Cross-platform apps with JavaScript and the web", + "homepage": "https://capacitorjs.com", + "author": "Ionic Team <hi@ionic.io> (https://ionic.io)", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/ionic-team/capacitor.git" + }, + "bugs": { + "url": "https://github.com/ionic-team/capacitor/issues" + }, + "files": [ + "dist/", + "types/", + "cookies.md", + "cordova.js", + "http.md" + ], + "main": "dist/index.cjs.js", + "module": "dist/index.js", + "types": "types/index.d.ts", + "unpkg": "dist/capacitor.js", + "scripts": { + "build": "npm run clean && npm run docgen && npm run transpile && npm run rollup", + "build:nativebridge": "tsc native-bridge.ts --target es2017 --moduleResolution node --outDir build && rollup --config rollup.bridge.config.js", + "clean": "rimraf dist", + "docgen": "docgen --api CapacitorCookiesPlugin --output-readme cookies.md && docgen --api CapacitorHttpPlugin --output-readme http.md", + "prepublishOnly": "npm run build", + "rollup": "rollup --config rollup.config.js", + "transpile": "tsc", + "test": "jest", + "test.watch": "jest --watchAll", + "test.treeshaking": "node src/tests/build-treeshaking.js" + }, + "dependencies": { + "tslib": "^2.1.0" + }, + "devDependencies": { + "@capacitor/docgen": "^0.2.2", + "@rollup/plugin-node-resolve": "^10.0.0", + "@rollup/plugin-replace": "^2.4.2", + "@types/jest": "^29.5.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "jest-jasmine2": "^29.5.0", + "rimraf": "^4.4.1", + "rollup": "^2.21.0", + "rollup-plugin-terser": "^7.0.2", + "typescript": "~5.0.2" + }, + "jest": { + "preset": "ts-jest", + "testRunner": "jest-jasmine2" + }, + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js b/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js new file mode 100644 index 00000000..15782bd2 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/conversion.js @@ -0,0 +1,250 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.numberInputToObject = exports.parseIntFromHex = exports.convertHexToDecimal = exports.convertDecimalToHex = exports.rgbaToArgbHex = exports.rgbaToHex = exports.rgbToHex = exports.hsvToRgb = exports.rgbToHsv = exports.hslToRgb = exports.rgbToHsl = exports.rgbToRgb = void 0; +var util_js_1 = require("./util.js"); +// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: +// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript> +/** + * Handle bounds / percentage checking to conform to CSS color spec + * <http://www.w3.org/TR/css3-color/> + * *Assumes:* r, g, b in [0, 255] or [0, 1] + * *Returns:* { r, g, b } in [0, 255] + */ +function rgbToRgb(r, g, b) { + return { + r: (0, util_js_1.bound01)(r, 255) * 255, + g: (0, util_js_1.bound01)(g, 255) * 255, + b: (0, util_js_1.bound01)(b, 255) * 255, + }; +} +exports.rgbToRgb = rgbToRgb; +/** + * Converts an RGB color value to HSL. + * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] + * *Returns:* { h, s, l } in [0,1] + */ +function rgbToHsl(r, g, b) { + r = (0, util_js_1.bound01)(r, 255); + g = (0, util_js_1.bound01)(g, 255); + b = (0, util_js_1.bound01)(b, 255); + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = 0; + var s = 0; + var l = (max + min) / 2; + if (max === min) { + s = 0; + h = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + default: + break; + } + h /= 6; + } + return { h: h, s: s, l: l }; +} +exports.rgbToHsl = rgbToHsl; +function hue2rgb(p, q, t) { + if (t < 0) { + t += 1; + } + if (t > 1) { + t -= 1; + } + if (t < 1 / 6) { + return p + (q - p) * (6 * t); + } + if (t < 1 / 2) { + return q; + } + if (t < 2 / 3) { + return p + (q - p) * (2 / 3 - t) * 6; + } + return p; +} +/** + * Converts an HSL color value to RGB. + * + * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] + * *Returns:* { r, g, b } in the set [0, 255] + */ +function hslToRgb(h, s, l) { + var r; + var g; + var b; + h = (0, util_js_1.bound01)(h, 360); + s = (0, util_js_1.bound01)(s, 100); + l = (0, util_js_1.bound01)(l, 100); + if (s === 0) { + // achromatic + g = l; + b = l; + r = l; + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1 / 3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1 / 3); + } + return { r: r * 255, g: g * 255, b: b * 255 }; +} +exports.hslToRgb = hslToRgb; +/** + * Converts an RGB color value to HSV + * + * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] + * *Returns:* { h, s, v } in [0,1] + */ +function rgbToHsv(r, g, b) { + r = (0, util_js_1.bound01)(r, 255); + g = (0, util_js_1.bound01)(g, 255); + b = (0, util_js_1.bound01)(b, 255); + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = 0; + var v = max; + var d = max - min; + var s = max === 0 ? 0 : d / max; + if (max === min) { + h = 0; // achromatic + } + else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + default: + break; + } + h /= 6; + } + return { h: h, s: s, v: v }; +} +exports.rgbToHsv = rgbToHsv; +/** + * Converts an HSV color value to RGB. + * + * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] + * *Returns:* { r, g, b } in the set [0, 255] + */ +function hsvToRgb(h, s, v) { + h = (0, util_js_1.bound01)(h, 360) * 6; + s = (0, util_js_1.bound01)(s, 100); + v = (0, util_js_1.bound01)(v, 100); + var i = Math.floor(h); + var f = h - i; + var p = v * (1 - s); + var q = v * (1 - f * s); + var t = v * (1 - (1 - f) * s); + var mod = i % 6; + var r = [v, q, p, p, t, v][mod]; + var g = [t, v, v, q, p, p][mod]; + var b = [p, p, t, v, v, q][mod]; + return { r: r * 255, g: g * 255, b: b * 255 }; +} +exports.hsvToRgb = hsvToRgb; +/** + * Converts an RGB color to hex + * + * Assumes r, g, and b are contained in the set [0, 255] + * Returns a 3 or 6 character hex + */ +function rgbToHex(r, g, b, allow3Char) { + var hex = [ + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + ]; + // Return a 3 character hex if possible + if (allow3Char && + hex[0].startsWith(hex[0].charAt(1)) && + hex[1].startsWith(hex[1].charAt(1)) && + hex[2].startsWith(hex[2].charAt(1))) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + return hex.join(''); +} +exports.rgbToHex = rgbToHex; +/** + * Converts an RGBA color plus alpha transparency to hex + * + * Assumes r, g, b are contained in the set [0, 255] and + * a in [0, 1]. Returns a 4 or 8 character rgba hex + */ +// eslint-disable-next-line max-params +function rgbaToHex(r, g, b, a, allow4Char) { + var hex = [ + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + (0, util_js_1.pad2)(convertDecimalToHex(a)), + ]; + // Return a 4 character hex if possible + if (allow4Char && + hex[0].startsWith(hex[0].charAt(1)) && + hex[1].startsWith(hex[1].charAt(1)) && + hex[2].startsWith(hex[2].charAt(1)) && + hex[3].startsWith(hex[3].charAt(1))) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + return hex.join(''); +} +exports.rgbaToHex = rgbaToHex; +/** + * Converts an RGBA color to an ARGB Hex8 string + * Rarely used, but required for "toFilter()" + */ +function rgbaToArgbHex(r, g, b, a) { + var hex = [ + (0, util_js_1.pad2)(convertDecimalToHex(a)), + (0, util_js_1.pad2)(Math.round(r).toString(16)), + (0, util_js_1.pad2)(Math.round(g).toString(16)), + (0, util_js_1.pad2)(Math.round(b).toString(16)), + ]; + return hex.join(''); +} +exports.rgbaToArgbHex = rgbaToArgbHex; +/** Converts a decimal to a hex value */ +function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); +} +exports.convertDecimalToHex = convertDecimalToHex; +/** Converts a hex value to a decimal */ +function convertHexToDecimal(h) { + return parseIntFromHex(h) / 255; +} +exports.convertHexToDecimal = convertHexToDecimal; +/** Parse a base-16 hex value into a base-10 integer */ +function parseIntFromHex(val) { + return parseInt(val, 16); +} +exports.parseIntFromHex = parseIntFromHex; +function numberInputToObject(color) { + return { + r: color >> 16, + g: (color & 0xff00) >> 8, + b: color & 0xff, + }; +} +exports.numberInputToObject = numberInputToObject; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js b/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js new file mode 100644 index 00000000..bb6656eb --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/css-color-names.js @@ -0,0 +1,157 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.names = void 0; +// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json +/** + * @hidden + */ +exports.names = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + goldenrod: '#daa520', + gold: '#ffd700', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavenderblush: '#fff0f5', + lavender: '#e6e6fa', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32', +}; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js b/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js new file mode 100644 index 00000000..76368698 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/format-input.js @@ -0,0 +1,189 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isValidCSSUnit = exports.stringInputToObject = exports.inputToRGB = void 0; +/* eslint-disable @typescript-eslint/no-redundant-type-constituents */ +var conversion_js_1 = require("./conversion.js"); +var css_color_names_js_1 = require("./css-color-names.js"); +var util_js_1 = require("./util.js"); +/** + * Given a string or object, convert that input to RGB + * + * Possible string inputs: + * ``` + * "red" + * "#f00" or "f00" + * "#ff0000" or "ff0000" + * "#ff000000" or "ff000000" + * "rgb 255 0 0" or "rgb (255, 0, 0)" + * "rgb 1.0 0 0" or "rgb (1, 0, 0)" + * "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" + * "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" + * "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" + * "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" + * "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" + * ``` + */ +function inputToRGB(color) { + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format = false; + if (typeof color === 'string') { + color = stringInputToObject(color); + } + if (typeof color === 'object') { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb = (0, conversion_js_1.rgbToRgb)(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb'; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = (0, util_js_1.convertToPercentage)(color.s); + v = (0, util_js_1.convertToPercentage)(color.v); + rgb = (0, conversion_js_1.hsvToRgb)(color.h, s, v); + ok = true; + format = 'hsv'; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = (0, util_js_1.convertToPercentage)(color.s); + l = (0, util_js_1.convertToPercentage)(color.l); + rgb = (0, conversion_js_1.hslToRgb)(color.h, s, l); + ok = true; + format = 'hsl'; + } + if (Object.prototype.hasOwnProperty.call(color, 'a')) { + a = color.a; + } + } + a = (0, util_js_1.boundAlpha)(a); + return { + ok: ok, + format: color.format || format, + r: Math.min(255, Math.max(rgb.r, 0)), + g: Math.min(255, Math.max(rgb.g, 0)), + b: Math.min(255, Math.max(rgb.b, 0)), + a: a, + }; +} +exports.inputToRGB = inputToRGB; +// <http://www.w3.org/TR/css3-values/#integers> +var CSS_INTEGER = '[-\\+]?\\d+%?'; +// <http://www.w3.org/TR/css3-values/#number-value> +var CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?'; +// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. +var CSS_UNIT = "(?:".concat(CSS_NUMBER, ")|(?:").concat(CSS_INTEGER, ")"); +// Actual matching. +// Parentheses and commas are optional, but not required. +// Whitespace can take the place of commas or opening paren +var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); +var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); +var matchers = { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp('rgb' + PERMISSIVE_MATCH3), + rgba: new RegExp('rgba' + PERMISSIVE_MATCH4), + hsl: new RegExp('hsl' + PERMISSIVE_MATCH3), + hsla: new RegExp('hsla' + PERMISSIVE_MATCH4), + hsv: new RegExp('hsv' + PERMISSIVE_MATCH3), + hsva: new RegExp('hsva' + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, +}; +/** + * Permissive string parsing. Take in a number of formats, and output an object + * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` + */ +function stringInputToObject(color) { + color = color.trim().toLowerCase(); + if (color.length === 0) { + return false; + } + var named = false; + if (css_color_names_js_1.names[color]) { + color = css_color_names_js_1.names[color]; + named = true; + } + else if (color === 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: 'name' }; + } + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match = matchers.rgb.exec(color); + if (match) { + return { r: match[1], g: match[2], b: match[3] }; + } + match = matchers.rgba.exec(color); + if (match) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + match = matchers.hsl.exec(color); + if (match) { + return { h: match[1], s: match[2], l: match[3] }; + } + match = matchers.hsla.exec(color); + if (match) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + match = matchers.hsv.exec(color); + if (match) { + return { h: match[1], s: match[2], v: match[3] }; + } + match = matchers.hsva.exec(color); + if (match) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + match = matchers.hex8.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3]), + a: (0, conversion_js_1.convertHexToDecimal)(match[4]), + format: named ? 'name' : 'hex8', + }; + } + match = matchers.hex6.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3]), + format: named ? 'name' : 'hex', + }; + } + match = matchers.hex4.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1] + match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2] + match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3] + match[3]), + a: (0, conversion_js_1.convertHexToDecimal)(match[4] + match[4]), + format: named ? 'name' : 'hex8', + }; + } + match = matchers.hex3.exec(color); + if (match) { + return { + r: (0, conversion_js_1.parseIntFromHex)(match[1] + match[1]), + g: (0, conversion_js_1.parseIntFromHex)(match[2] + match[2]), + b: (0, conversion_js_1.parseIntFromHex)(match[3] + match[3]), + format: named ? 'name' : 'hex', + }; + } + return false; +} +exports.stringInputToObject = stringInputToObject; +/** + * Check to see if it looks like a CSS unit + * (see `matchers` above for definition). + */ +function isValidCSSUnit(color) { + return Boolean(matchers.CSS_UNIT.exec(String(color))); +} +exports.isValidCSSUnit = isValidCSSUnit; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js b/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js new file mode 100644 index 00000000..14e9d15b --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/from-ratio.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.legacyRandom = exports.fromRatio = void 0; +var index_js_1 = require("./index.js"); +var util_js_1 = require("./util.js"); +/** + * If input is an object, force 1 into "1.0" to handle ratios properly + * String input requires "1.0" as input, so 1 will be treated as 1 + */ +function fromRatio(ratio, opts) { + var newColor = { + r: (0, util_js_1.convertToPercentage)(ratio.r), + g: (0, util_js_1.convertToPercentage)(ratio.g), + b: (0, util_js_1.convertToPercentage)(ratio.b), + }; + if (ratio.a !== undefined) { + newColor.a = Number(ratio.a); + } + return new index_js_1.TinyColor(newColor, opts); +} +exports.fromRatio = fromRatio; +/** old random function */ +function legacyRandom() { + return new index_js_1.TinyColor({ + r: Math.random(), + g: Math.random(), + b: Math.random(), + }); +} +exports.legacyRandom = legacyRandom; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/index.js b/.output/server/node_modules/@ctrl/tinycolor/dist/index.js new file mode 100644 index 00000000..c9bc1d90 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/index.js @@ -0,0 +1,512 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tinycolor = exports.TinyColor = void 0; +var conversion_js_1 = require("./conversion.js"); +var css_color_names_js_1 = require("./css-color-names.js"); +var format_input_1 = require("./format-input"); +var util_js_1 = require("./util.js"); +var TinyColor = /** @class */ (function () { + function TinyColor(color, opts) { + if (color === void 0) { color = ''; } + if (opts === void 0) { opts = {}; } + var _a; + // If input is already a tinycolor, return itself + if (color instanceof TinyColor) { + // eslint-disable-next-line no-constructor-return + return color; + } + if (typeof color === 'number') { + color = (0, conversion_js_1.numberInputToObject)(color); + } + this.originalInput = color; + var rgb = (0, format_input_1.inputToRGB)(color); + this.originalInput = color; + this.r = rgb.r; + this.g = rgb.g; + this.b = rgb.b; + this.a = rgb.a; + this.roundA = Math.round(100 * this.a) / 100; + this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format; + this.gradientType = opts.gradientType; + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by `inputToRgb` + if (this.r < 1) { + this.r = Math.round(this.r); + } + if (this.g < 1) { + this.g = Math.round(this.g); + } + if (this.b < 1) { + this.b = Math.round(this.b); + } + this.isValid = rgb.ok; + } + TinyColor.prototype.isDark = function () { + return this.getBrightness() < 128; + }; + TinyColor.prototype.isLight = function () { + return !this.isDark(); + }; + /** + * Returns the perceived brightness of the color, from 0-255. + */ + TinyColor.prototype.getBrightness = function () { + // http://www.w3.org/TR/AERT#color-contrast + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }; + /** + * Returns the perceived luminance of a color, from 0-1. + */ + TinyColor.prototype.getLuminance = function () { + // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + var rgb = this.toRgb(); + var R; + var G; + var B; + var RsRGB = rgb.r / 255; + var GsRGB = rgb.g / 255; + var BsRGB = rgb.b / 255; + if (RsRGB <= 0.03928) { + R = RsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + R = Math.pow((RsRGB + 0.055) / 1.055, 2.4); + } + if (GsRGB <= 0.03928) { + G = GsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + G = Math.pow((GsRGB + 0.055) / 1.055, 2.4); + } + if (BsRGB <= 0.03928) { + B = BsRGB / 12.92; + } + else { + // eslint-disable-next-line prefer-exponentiation-operator + B = Math.pow((BsRGB + 0.055) / 1.055, 2.4); + } + return 0.2126 * R + 0.7152 * G + 0.0722 * B; + }; + /** + * Returns the alpha value of a color, from 0-1. + */ + TinyColor.prototype.getAlpha = function () { + return this.a; + }; + /** + * Sets the alpha value on the current color. + * + * @param alpha - The new alpha value. The accepted range is 0-1. + */ + TinyColor.prototype.setAlpha = function (alpha) { + this.a = (0, util_js_1.boundAlpha)(alpha); + this.roundA = Math.round(100 * this.a) / 100; + return this; + }; + /** + * Returns whether the color is monochrome. + */ + TinyColor.prototype.isMonochrome = function () { + var s = this.toHsl().s; + return s === 0; + }; + /** + * Returns the object as a HSVA object. + */ + TinyColor.prototype.toHsv = function () { + var hsv = (0, conversion_js_1.rgbToHsv)(this.r, this.g, this.b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a }; + }; + /** + * Returns the hsva values interpolated into a string with the following format: + * "hsva(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toHsvString = function () { + var hsv = (0, conversion_js_1.rgbToHsv)(this.r, this.g, this.b); + var h = Math.round(hsv.h * 360); + var s = Math.round(hsv.s * 100); + var v = Math.round(hsv.v * 100); + return this.a === 1 ? "hsv(".concat(h, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")"); + }; + /** + * Returns the object as a HSLA object. + */ + TinyColor.prototype.toHsl = function () { + var hsl = (0, conversion_js_1.rgbToHsl)(this.r, this.g, this.b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a }; + }; + /** + * Returns the hsla values interpolated into a string with the following format: + * "hsla(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toHslString = function () { + var hsl = (0, conversion_js_1.rgbToHsl)(this.r, this.g, this.b); + var h = Math.round(hsl.h * 360); + var s = Math.round(hsl.s * 100); + var l = Math.round(hsl.l * 100); + return this.a === 1 ? "hsl(".concat(h, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")"); + }; + /** + * Returns the hex value of the color. + * @param allow3Char will shorten hex value to 3 char if possible + */ + TinyColor.prototype.toHex = function (allow3Char) { + if (allow3Char === void 0) { allow3Char = false; } + return (0, conversion_js_1.rgbToHex)(this.r, this.g, this.b, allow3Char); + }; + /** + * Returns the hex value of the color -with a # prefixed. + * @param allow3Char will shorten hex value to 3 char if possible + */ + TinyColor.prototype.toHexString = function (allow3Char) { + if (allow3Char === void 0) { allow3Char = false; } + return '#' + this.toHex(allow3Char); + }; + /** + * Returns the hex 8 value of the color. + * @param allow4Char will shorten hex value to 4 char if possible + */ + TinyColor.prototype.toHex8 = function (allow4Char) { + if (allow4Char === void 0) { allow4Char = false; } + return (0, conversion_js_1.rgbaToHex)(this.r, this.g, this.b, this.a, allow4Char); + }; + /** + * Returns the hex 8 value of the color -with a # prefixed. + * @param allow4Char will shorten hex value to 4 char if possible + */ + TinyColor.prototype.toHex8String = function (allow4Char) { + if (allow4Char === void 0) { allow4Char = false; } + return '#' + this.toHex8(allow4Char); + }; + /** + * Returns the shorter hex value of the color depends on its alpha -with a # prefixed. + * @param allowShortChar will shorten hex value to 3 or 4 char if possible + */ + TinyColor.prototype.toHexShortString = function (allowShortChar) { + if (allowShortChar === void 0) { allowShortChar = false; } + return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar); + }; + /** + * Returns the object as a RGBA object. + */ + TinyColor.prototype.toRgb = function () { + return { + r: Math.round(this.r), + g: Math.round(this.g), + b: Math.round(this.b), + a: this.a, + }; + }; + /** + * Returns the RGBA values interpolated into a string with the following format: + * "RGBA(xxx, xxx, xxx, xx)". + */ + TinyColor.prototype.toRgbString = function () { + var r = Math.round(this.r); + var g = Math.round(this.g); + var b = Math.round(this.b); + return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")"); + }; + /** + * Returns the object as a RGBA object. + */ + TinyColor.prototype.toPercentageRgb = function () { + var fmt = function (x) { return "".concat(Math.round((0, util_js_1.bound01)(x, 255) * 100), "%"); }; + return { + r: fmt(this.r), + g: fmt(this.g), + b: fmt(this.b), + a: this.a, + }; + }; + /** + * Returns the RGBA relative values interpolated into a string + */ + TinyColor.prototype.toPercentageRgbString = function () { + var rnd = function (x) { return Math.round((0, util_js_1.bound01)(x, 255) * 100); }; + return this.a === 1 + ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") + : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")"); + }; + /** + * The 'real' name of the color -if there is one. + */ + TinyColor.prototype.toName = function () { + if (this.a === 0) { + return 'transparent'; + } + if (this.a < 1) { + return false; + } + var hex = '#' + (0, conversion_js_1.rgbToHex)(this.r, this.g, this.b, false); + for (var _i = 0, _a = Object.entries(css_color_names_js_1.names); _i < _a.length; _i++) { + var _b = _a[_i], key = _b[0], value = _b[1]; + if (hex === value) { + return key; + } + } + return false; + }; + TinyColor.prototype.toString = function (format) { + var formatSet = Boolean(format); + format = format !== null && format !== void 0 ? format : this.format; + var formattedString = false; + var hasAlpha = this.a < 1 && this.a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name'); + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === 'name' && this.a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === 'rgb') { + formattedString = this.toRgbString(); + } + if (format === 'prgb') { + formattedString = this.toPercentageRgbString(); + } + if (format === 'hex' || format === 'hex6') { + formattedString = this.toHexString(); + } + if (format === 'hex3') { + formattedString = this.toHexString(true); + } + if (format === 'hex4') { + formattedString = this.toHex8String(true); + } + if (format === 'hex8') { + formattedString = this.toHex8String(); + } + if (format === 'name') { + formattedString = this.toName(); + } + if (format === 'hsl') { + formattedString = this.toHslString(); + } + if (format === 'hsv') { + formattedString = this.toHsvString(); + } + return formattedString || this.toHexString(); + }; + TinyColor.prototype.toNumber = function () { + return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b); + }; + TinyColor.prototype.clone = function () { + return new TinyColor(this.toString()); + }; + /** + * Lighten the color a given amount. Providing 100 will always return white. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.lighten = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.l += amount / 100; + hsl.l = (0, util_js_1.clamp01)(hsl.l); + return new TinyColor(hsl); + }; + /** + * Brighten the color a given amount, from 0 to 100. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.brighten = function (amount) { + if (amount === void 0) { amount = 10; } + var rgb = this.toRgb(); + rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100)))); + rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100)))); + rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100)))); + return new TinyColor(rgb); + }; + /** + * Darken the color a given amount, from 0 to 100. + * Providing 100 will always return black. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.darken = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.l -= amount / 100; + hsl.l = (0, util_js_1.clamp01)(hsl.l); + return new TinyColor(hsl); + }; + /** + * Mix the color with pure white, from 0 to 100. + * Providing 0 will do nothing, providing 100 will always return white. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.tint = function (amount) { + if (amount === void 0) { amount = 10; } + return this.mix('white', amount); + }; + /** + * Mix the color with pure black, from 0 to 100. + * Providing 0 will do nothing, providing 100 will always return black. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.shade = function (amount) { + if (amount === void 0) { amount = 10; } + return this.mix('black', amount); + }; + /** + * Desaturate the color a given amount, from 0 to 100. + * Providing 100 will is the same as calling greyscale + * @param amount - valid between 1-100 + */ + TinyColor.prototype.desaturate = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.s -= amount / 100; + hsl.s = (0, util_js_1.clamp01)(hsl.s); + return new TinyColor(hsl); + }; + /** + * Saturate the color a given amount, from 0 to 100. + * @param amount - valid between 1-100 + */ + TinyColor.prototype.saturate = function (amount) { + if (amount === void 0) { amount = 10; } + var hsl = this.toHsl(); + hsl.s += amount / 100; + hsl.s = (0, util_js_1.clamp01)(hsl.s); + return new TinyColor(hsl); + }; + /** + * Completely desaturates a color into greyscale. + * Same as calling `desaturate(100)` + */ + TinyColor.prototype.greyscale = function () { + return this.desaturate(100); + }; + /** + * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. + * Values outside of this range will be wrapped into this range. + */ + TinyColor.prototype.spin = function (amount) { + var hsl = this.toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return new TinyColor(hsl); + }; + /** + * Mix the current color a given amount with another color, from 0 to 100. + * 0 means no mixing (return current color). + */ + TinyColor.prototype.mix = function (color, amount) { + if (amount === void 0) { amount = 50; } + var rgb1 = this.toRgb(); + var rgb2 = new TinyColor(color).toRgb(); + var p = amount / 100; + var rgba = { + r: (rgb2.r - rgb1.r) * p + rgb1.r, + g: (rgb2.g - rgb1.g) * p + rgb1.g, + b: (rgb2.b - rgb1.b) * p + rgb1.b, + a: (rgb2.a - rgb1.a) * p + rgb1.a, + }; + return new TinyColor(rgba); + }; + TinyColor.prototype.analogous = function (results, slices) { + if (results === void 0) { results = 6; } + if (slices === void 0) { slices = 30; } + var hsl = this.toHsl(); + var part = 360 / slices; + var ret = [this]; + for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) { + hsl.h = (hsl.h + part) % 360; + ret.push(new TinyColor(hsl)); + } + return ret; + }; + /** + * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js + */ + TinyColor.prototype.complement = function () { + var hsl = this.toHsl(); + hsl.h = (hsl.h + 180) % 360; + return new TinyColor(hsl); + }; + TinyColor.prototype.monochromatic = function (results) { + if (results === void 0) { results = 6; } + var hsv = this.toHsv(); + var h = hsv.h; + var s = hsv.s; + var v = hsv.v; + var res = []; + var modification = 1 / results; + while (results--) { + res.push(new TinyColor({ h: h, s: s, v: v })); + v = (v + modification) % 1; + } + return res; + }; + TinyColor.prototype.splitcomplement = function () { + var hsl = this.toHsl(); + var h = hsl.h; + return [ + this, + new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }), + new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }), + ]; + }; + /** + * Compute how the color would appear on a background + */ + TinyColor.prototype.onBackground = function (background) { + var fg = this.toRgb(); + var bg = new TinyColor(background).toRgb(); + var alpha = fg.a + bg.a * (1 - fg.a); + return new TinyColor({ + r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha, + g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha, + b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha, + a: alpha, + }); + }; + /** + * Alias for `polyad(3)` + */ + TinyColor.prototype.triad = function () { + return this.polyad(3); + }; + /** + * Alias for `polyad(4)` + */ + TinyColor.prototype.tetrad = function () { + return this.polyad(4); + }; + /** + * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...) + * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc... + */ + TinyColor.prototype.polyad = function (n) { + var hsl = this.toHsl(); + var h = hsl.h; + var result = [this]; + var increment = 360 / n; + for (var i = 1; i < n; i++) { + result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l })); + } + return result; + }; + /** + * compare color vs current color + */ + TinyColor.prototype.equals = function (color) { + return this.toRgbString() === new TinyColor(color).toRgbString(); + }; + return TinyColor; +}()); +exports.TinyColor = TinyColor; +// kept for backwards compatability with v1 +function tinycolor(color, opts) { + if (color === void 0) { color = ''; } + if (opts === void 0) { opts = {}; } + return new TinyColor(color, opts); +} +exports.tinycolor = tinycolor; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js b/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js new file mode 100644 index 00000000..c8ad2e54 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/interfaces.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js b/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js new file mode 100644 index 00000000..e57f6471 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/public_api.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var index_js_1 = require("./index.js"); +__exportStar(require("./index.js"), exports); +__exportStar(require("./css-color-names.js"), exports); +__exportStar(require("./readability.js"), exports); +__exportStar(require("./to-ms-filter.js"), exports); +__exportStar(require("./from-ratio.js"), exports); +__exportStar(require("./format-input.js"), exports); +__exportStar(require("./random.js"), exports); +__exportStar(require("./interfaces.js"), exports); +__exportStar(require("./conversion.js"), exports); +// kept for backwards compatability with v1 +exports.default = index_js_1.tinycolor; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/random.js b/.output/server/node_modules/@ctrl/tinycolor/dist/random.js new file mode 100644 index 00000000..5fd805cb --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/random.js @@ -0,0 +1,282 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bounds = exports.random = void 0; +/* eslint-disable @typescript-eslint/no-redundant-type-constituents */ +// randomColor by David Merfield under the CC0 license +// https://github.com/davidmerfield/randomColor/ +var index_js_1 = require("./index.js"); +function random(options) { + if (options === void 0) { options = {}; } + // Check if we need to generate multiple colors + if (options.count !== undefined && + options.count !== null) { + var totalColors = options.count; + var colors = []; + options.count = undefined; + while (totalColors > colors.length) { + // Since we're generating multiple colors, + // incremement the seed. Otherwise we'd just + // generate the same color each time... + options.count = null; + if (options.seed) { + options.seed += 1; + } + colors.push(random(options)); + } + options.count = totalColors; + return colors; + } + // First we pick a hue (H) + var h = pickHue(options.hue, options.seed); + // Then use H to determine saturation (S) + var s = pickSaturation(h, options); + // Then use S and H to determine brightness (B). + var v = pickBrightness(h, s, options); + var res = { h: h, s: s, v: v }; + if (options.alpha !== undefined) { + res.a = options.alpha; + } + // Then we return the HSB color in the desired format + return new index_js_1.TinyColor(res); +} +exports.random = random; +function pickHue(hue, seed) { + var hueRange = getHueRange(hue); + var res = randomWithin(hueRange, seed); + // Instead of storing red as two seperate ranges, + // we group them, using negative numbers + if (res < 0) { + res = 360 + res; + } + return res; +} +function pickSaturation(hue, options) { + if (options.hue === 'monochrome') { + return 0; + } + if (options.luminosity === 'random') { + return randomWithin([0, 100], options.seed); + } + var saturationRange = getColorInfo(hue).saturationRange; + var sMin = saturationRange[0]; + var sMax = saturationRange[1]; + switch (options.luminosity) { + case 'bright': + sMin = 55; + break; + case 'dark': + sMin = sMax - 10; + break; + case 'light': + sMax = 55; + break; + default: + break; + } + return randomWithin([sMin, sMax], options.seed); +} +function pickBrightness(H, S, options) { + var bMin = getMinimumBrightness(H, S); + var bMax = 100; + switch (options.luminosity) { + case 'dark': + bMax = bMin + 20; + break; + case 'light': + bMin = (bMax + bMin) / 2; + break; + case 'random': + bMin = 0; + bMax = 100; + break; + default: + break; + } + return randomWithin([bMin, bMax], options.seed); +} +function getMinimumBrightness(H, S) { + var lowerBounds = getColorInfo(H).lowerBounds; + for (var i = 0; i < lowerBounds.length - 1; i++) { + var s1 = lowerBounds[i][0]; + var v1 = lowerBounds[i][1]; + var s2 = lowerBounds[i + 1][0]; + var v2 = lowerBounds[i + 1][1]; + if (S >= s1 && S <= s2) { + var m = (v2 - v1) / (s2 - s1); + var b = v1 - m * s1; + return m * S + b; + } + } + return 0; +} +function getHueRange(colorInput) { + var num = parseInt(colorInput, 10); + if (!Number.isNaN(num) && num < 360 && num > 0) { + return [num, num]; + } + if (typeof colorInput === 'string') { + var namedColor = exports.bounds.find(function (n) { return n.name === colorInput; }); + if (namedColor) { + var color = defineColor(namedColor); + if (color.hueRange) { + return color.hueRange; + } + } + var parsed = new index_js_1.TinyColor(colorInput); + if (parsed.isValid) { + var hue = parsed.toHsv().h; + return [hue, hue]; + } + } + return [0, 360]; +} +function getColorInfo(hue) { + // Maps red colors to make picking hue easier + if (hue >= 334 && hue <= 360) { + hue -= 360; + } + for (var _i = 0, bounds_1 = exports.bounds; _i < bounds_1.length; _i++) { + var bound = bounds_1[_i]; + var color = defineColor(bound); + if (color.hueRange && hue >= color.hueRange[0] && hue <= color.hueRange[1]) { + return color; + } + } + throw Error('Color not found'); +} +function randomWithin(range, seed) { + if (seed === undefined) { + return Math.floor(range[0] + Math.random() * (range[1] + 1 - range[0])); + } + // Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/ + var max = range[1] || 1; + var min = range[0] || 0; + seed = (seed * 9301 + 49297) % 233280; + var rnd = seed / 233280.0; + return Math.floor(min + rnd * (max - min)); +} +function defineColor(bound) { + var sMin = bound.lowerBounds[0][0]; + var sMax = bound.lowerBounds[bound.lowerBounds.length - 1][0]; + var bMin = bound.lowerBounds[bound.lowerBounds.length - 1][1]; + var bMax = bound.lowerBounds[0][1]; + return { + name: bound.name, + hueRange: bound.hueRange, + lowerBounds: bound.lowerBounds, + saturationRange: [sMin, sMax], + brightnessRange: [bMin, bMax], + }; +} +/** + * @hidden + */ +exports.bounds = [ + { + name: 'monochrome', + hueRange: null, + lowerBounds: [ + [0, 0], + [100, 0], + ], + }, + { + name: 'red', + hueRange: [-26, 18], + lowerBounds: [ + [20, 100], + [30, 92], + [40, 89], + [50, 85], + [60, 78], + [70, 70], + [80, 60], + [90, 55], + [100, 50], + ], + }, + { + name: 'orange', + hueRange: [19, 46], + lowerBounds: [ + [20, 100], + [30, 93], + [40, 88], + [50, 86], + [60, 85], + [70, 70], + [100, 70], + ], + }, + { + name: 'yellow', + hueRange: [47, 62], + lowerBounds: [ + [25, 100], + [40, 94], + [50, 89], + [60, 86], + [70, 84], + [80, 82], + [90, 80], + [100, 75], + ], + }, + { + name: 'green', + hueRange: [63, 178], + lowerBounds: [ + [30, 100], + [40, 90], + [50, 85], + [60, 81], + [70, 74], + [80, 64], + [90, 50], + [100, 40], + ], + }, + { + name: 'blue', + hueRange: [179, 257], + lowerBounds: [ + [20, 100], + [30, 86], + [40, 80], + [50, 74], + [60, 60], + [70, 52], + [80, 44], + [90, 39], + [100, 35], + ], + }, + { + name: 'purple', + hueRange: [258, 282], + lowerBounds: [ + [20, 100], + [30, 87], + [40, 79], + [50, 70], + [60, 65], + [70, 59], + [80, 52], + [90, 45], + [100, 42], + ], + }, + { + name: 'pink', + hueRange: [283, 334], + lowerBounds: [ + [20, 100], + [30, 90], + [40, 86], + [60, 84], + [80, 80], + [90, 75], + [100, 73], + ], + }, +]; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js b/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js new file mode 100644 index 00000000..e358ff89 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/readability.js @@ -0,0 +1,86 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mostReadable = exports.isReadable = exports.readability = void 0; +var index_js_1 = require("./index.js"); +// Readability Functions +// --------------------- +// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2) +/** + * AKA `contrast` + * + * Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2) + */ +function readability(color1, color2) { + var c1 = new index_js_1.TinyColor(color1); + var c2 = new index_js_1.TinyColor(color2); + return ((Math.max(c1.getLuminance(), c2.getLuminance()) + 0.05) / + (Math.min(c1.getLuminance(), c2.getLuminance()) + 0.05)); +} +exports.readability = readability; +/** + * Ensure that foreground and background color combinations meet WCAG2 guidelines. + * The third argument is an object. + * the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA'; + * the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'. + * If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}. + * + * Example + * ```ts + * new TinyColor().isReadable('#000', '#111') => false + * new TinyColor().isReadable('#000', '#111', { level: 'AA', size: 'large' }) => false + * ``` + */ +function isReadable(color1, color2, wcag2) { + var _a, _b; + if (wcag2 === void 0) { wcag2 = { level: 'AA', size: 'small' }; } + var readabilityLevel = readability(color1, color2); + switch (((_a = wcag2.level) !== null && _a !== void 0 ? _a : 'AA') + ((_b = wcag2.size) !== null && _b !== void 0 ? _b : 'small')) { + case 'AAsmall': + case 'AAAlarge': + return readabilityLevel >= 4.5; + case 'AAlarge': + return readabilityLevel >= 3; + case 'AAAsmall': + return readabilityLevel >= 7; + default: + return false; + } +} +exports.isReadable = isReadable; +/** + * Given a base color and a list of possible foreground or background + * colors for that base, returns the most readable color. + * Optionally returns Black or White if the most readable color is unreadable. + * + * @param baseColor - the base color. + * @param colorList - array of colors to pick the most readable one from. + * @param args - and object with extra arguments + * + * Example + * ```ts + * new TinyColor().mostReadable('#123', ['#124", "#125'], { includeFallbackColors: false }).toHexString(); // "#112255" + * new TinyColor().mostReadable('#123', ['#124", "#125'],{ includeFallbackColors: true }).toHexString(); // "#ffffff" + * new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'large' }).toHexString(); // "#faf3f3" + * new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'small' }).toHexString(); // "#ffffff" + * ``` + */ +function mostReadable(baseColor, colorList, args) { + if (args === void 0) { args = { includeFallbackColors: false, level: 'AA', size: 'small' }; } + var bestColor = null; + var bestScore = 0; + var includeFallbackColors = args.includeFallbackColors, level = args.level, size = args.size; + for (var _i = 0, colorList_1 = colorList; _i < colorList_1.length; _i++) { + var color = colorList_1[_i]; + var score = readability(baseColor, color); + if (score > bestScore) { + bestScore = score; + bestColor = new index_js_1.TinyColor(color); + } + } + if (isReadable(baseColor, bestColor, { level: level, size: size }) || !includeFallbackColors) { + return bestColor; + } + args.includeFallbackColors = false; + return mostReadable(baseColor, ['#fff', '#000'], args); +} +exports.mostReadable = mostReadable; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js b/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js new file mode 100644 index 00000000..bb97d9d1 --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toMsFilter = void 0; +var conversion_js_1 = require("./conversion.js"); +var index_js_1 = require("./index.js"); +/** + * Returns the color represented as a Microsoft filter for use in old versions of IE. + */ +function toMsFilter(firstColor, secondColor) { + var color = new index_js_1.TinyColor(firstColor); + var hex8String = '#' + (0, conversion_js_1.rgbaToArgbHex)(color.r, color.g, color.b, color.a); + var secondHex8String = hex8String; + var gradientType = color.gradientType ? 'GradientType = 1, ' : ''; + if (secondColor) { + var s = new index_js_1.TinyColor(secondColor); + secondHex8String = '#' + (0, conversion_js_1.rgbaToArgbHex)(s.r, s.g, s.b, s.a); + } + return "progid:DXImageTransform.Microsoft.gradient(".concat(gradientType, "startColorstr=").concat(hex8String, ",endColorstr=").concat(secondHex8String, ")"); +} +exports.toMsFilter = toMsFilter; diff --git a/.output/server/node_modules/@ctrl/tinycolor/dist/util.js b/.output/server/node_modules/@ctrl/tinycolor/dist/util.js new file mode 100644 index 00000000..05485b6c --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/dist/util.js @@ -0,0 +1,92 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pad2 = exports.convertToPercentage = exports.boundAlpha = exports.isPercentage = exports.isOnePointZero = exports.clamp01 = exports.bound01 = void 0; +/** + * Take input from [0, n] and return it as [0, 1] + * @hidden + */ +function bound01(n, max) { + if (isOnePointZero(n)) { + n = '100%'; + } + var isPercent = isPercentage(n); + n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n))); + // Automatically convert percentage into number + if (isPercent) { + n = parseInt(String(n * max), 10) / 100; + } + // Handle floating point rounding errors + if (Math.abs(n - max) < 0.000001) { + return 1; + } + // Convert into [0, 1] range if it isn't already + if (max === 360) { + // If n is a hue given in degrees, + // wrap around out-of-range values into [0, 360] range + // then convert into [0, 1]. + n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max)); + } + else { + // If n not a hue given in degrees + // Convert into [0, 1] range if it isn't already. + n = (n % max) / parseFloat(String(max)); + } + return n; +} +exports.bound01 = bound01; +/** + * Force a number between 0 and 1 + * @hidden + */ +function clamp01(val) { + return Math.min(1, Math.max(0, val)); +} +exports.clamp01 = clamp01; +/** + * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 + * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> + * @hidden + */ +function isOnePointZero(n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +} +exports.isOnePointZero = isOnePointZero; +/** + * Check to see if string passed in is a percentage + * @hidden + */ +function isPercentage(n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +} +exports.isPercentage = isPercentage; +/** + * Return a valid alpha value [0,1] with all invalid values being set to 1 + * @hidden + */ +function boundAlpha(a) { + a = parseFloat(a); + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + return a; +} +exports.boundAlpha = boundAlpha; +/** + * Replace a decimal with it's percentage value + * @hidden + */ +function convertToPercentage(n) { + if (n <= 1) { + return "".concat(Number(n) * 100, "%"); + } + return n; +} +exports.convertToPercentage = convertToPercentage; +/** + * Force a hex value to have 2 characters + * @hidden + */ +function pad2(c) { + return c.length === 1 ? '0' + c : String(c); +} +exports.pad2 = pad2; diff --git a/.output/server/node_modules/@ctrl/tinycolor/package.json b/.output/server/node_modules/@ctrl/tinycolor/package.json new file mode 100644 index 00000000..2173855b --- /dev/null +++ b/.output/server/node_modules/@ctrl/tinycolor/package.json @@ -0,0 +1,80 @@ +{ + "name": "@ctrl/tinycolor", + "version": "3.6.1", + "description": "Fast, small color manipulation and conversion for JavaScript", + "author": "Scott Cooper <scttcper@gmail.com>", + "publishConfig": { + "access": "public" + }, + "license": "MIT", + "homepage": "https://tinycolor.vercel.app", + "repository": "scttcper/tinycolor", + "keywords": [ + "typescript", + "color", + "manipulation", + "tinycolor", + "hsa", + "rgb" + ], + "main": "dist/public_api.js", + "module": "dist/module/public_api.js", + "typings": "dist/public_api.d.ts", + "files": [ + "dist" + ], + "sideEffects": false, + "scripts": { + "build:demo": "rollup -c rollup.demo.js", + "watch:demo": "rollup -c rollup.demo.js -w", + "lint": "eslint --ext .js,.ts, .", + "lint:fix": "eslint --fix --ext .js,.ts, .", + "prepare": "npm run build", + "build": "del-cli dist && tsc -p tsconfig.build.json && tsc -p tsconfig.module.json && ts-node build", + "build:docs": "typedoc --out demo/public/docs --hideGenerator --tsconfig tsconfig.build.json src/public_api.ts", + "test": "jest", + "test:ci": "jest --ci --runInBand --reporters=default --reporters=jest-junit --coverage", + "test:watch": "jest --watch" + }, + "dependencies": {}, + "devDependencies": { + "@babel/plugin-transform-modules-commonjs": "7.19.6", + "@babel/preset-typescript": "7.18.6", + "@ctrl/eslint-config": "3.5.6", + "@jest/globals": "29.3.1", + "@types/node": "18.11.11", + "del-cli": "5.0.0", + "jest": "29.3.1", + "jest-junit": "15.0.0", + "rollup": "2.70.1", + "rollup-plugin-livereload": "2.0.5", + "rollup-plugin-serve": "1.1.0", + "rollup-plugin-sourcemaps": "0.6.3", + "rollup-plugin-terser": "7.0.2", + "rollup-plugin-typescript2": "0.34.1", + "ts-node": "10.9.1", + "typedoc": "0.23.21", + "typescript": "4.9.3" + }, + "jest": { + "testEnvironment": "node", + "coverageProvider": "v8", + "moduleNameMapper": { + "(.+)\\.js": "$1" + } + }, + "babel": { + "presets": [ + "@babel/preset-typescript" + ], + "plugins": [ + "@babel/plugin-transform-modules-commonjs" + ] + }, + "release": { + "branch": "master" + }, + "engines": { + "node": ">=10" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@fastify/accept-negotiator/index.js b/.output/server/node_modules/@fastify/accept-negotiator/index.js new file mode 100644 index 00000000..77988455 --- /dev/null +++ b/.output/server/node_modules/@fastify/accept-negotiator/index.js @@ -0,0 +1,170 @@ +'use strict' + +function Negotiator (options) { + if (!new.target) { + return new Negotiator(options) + } + + const { + supportedValues = [], + cache + } = (options && typeof options === 'object' && options) || {} + + this.supportedValues = supportedValues + + this.cache = cache +} + +Negotiator.prototype.negotiate = function (header) { + if (typeof header !== 'string') { + return null + } + if (!this.cache) { + return negotiate(header, this.supportedValues) + } + if (!this.cache.has(header)) { + this.cache.set(header, negotiate(header, this.supportedValues)) + } + return this.cache.get(header) +} + +function negotiate (header, supportedValues) { + if ( + !header || + !Array.isArray(supportedValues) || + supportedValues.length === 0 + ) { + return null + } + + if (header === '*') { + return supportedValues[0] + } + + let preferredEncoding = null + let preferredEncodingPriority = Infinity + let preferredEncodingQuality = 0 + + function processMatch (enc, quality) { + if (quality === 0 || preferredEncodingQuality > quality) { + return false + } + + const encoding = (enc === '*' && supportedValues[0]) || enc + const priority = supportedValues.indexOf(encoding) + if (priority === -1) { + return false + } + + if (priority === 0 && quality === 1) { + preferredEncoding = encoding + return true + } else if (preferredEncodingQuality < quality) { + preferredEncoding = encoding + preferredEncodingPriority = priority + preferredEncodingQuality = quality + } else if (preferredEncodingPriority > priority) { + preferredEncoding = encoding + preferredEncodingPriority = priority + preferredEncodingQuality = quality + } + return false + } + + parse(header, processMatch) + + return preferredEncoding +} + +const BEGIN = 0 +const TOKEN = 1 +const QUALITY = 2 +const END = 3 + +function parse (header, processMatch) { + let str = '' + let quality + let state = BEGIN + for (let i = 0, il = header.length; i < il; ++i) { + const char = header[i] + + if (char === ' ' || char === '\t') { + continue + } else if (char === ';') { + if (state === TOKEN) { + state = QUALITY + quality = '' + } + continue + } else if (char === ',') { + if (state === TOKEN) { + if (processMatch(str, 1)) { + state = END + break + } + state = BEGIN + str = '' + } else if (state === QUALITY) { + if (processMatch(str, parseFloat(quality) || 0)) { + state = END + break + } + state = BEGIN + str = '' + quality = '' + } + continue + } else if ( + state === QUALITY + ) { + if (char === 'q' || char === '=') { + continue + } else if ( + char === '.' || + char === '1' || + char === '0' || + char === '2' || + char === '3' || + char === '4' || + char === '5' || + char === '6' || + char === '7' || + char === '8' || + char === '9' + ) { + quality += char + continue + } + } else if (state === BEGIN) { + state = TOKEN + str += char + continue + } + if (state === TOKEN) { + const prevChar = header[i - 1] + if (prevChar === ' ' || prevChar === '\t') { + str = '' + } + str += char + continue + } + if (processMatch(str, parseFloat(quality) || 0)) { + state = END + break + } + state = BEGIN + str = char + quality = '' + } + + if (state === TOKEN) { + processMatch(str, 1) + } else if (state === QUALITY) { + processMatch(str, parseFloat(quality) || 0) + } +} + +module.exports = negotiate +module.exports.default = negotiate +module.exports.negotiate = negotiate +module.exports.Negotiator = Negotiator diff --git a/.output/server/node_modules/@fastify/accept-negotiator/package.json b/.output/server/node_modules/@fastify/accept-negotiator/package.json new file mode 100644 index 00000000..1ae45aa6 --- /dev/null +++ b/.output/server/node_modules/@fastify/accept-negotiator/package.json @@ -0,0 +1,51 @@ +{ + "name": "@fastify/accept-negotiator", + "version": "1.1.0", + "description": "a negotiator for the accept-headers", + "type": "commonjs", + "main": "index.js", + "types": "types/index.d.ts", + "scripts": { + "lint": "standard index.js test/* benchmarks/*", + "test": "npm run test:unit && npm run test:typescript", + "test:unit": "tap", + "test:typescript": "tsd" + }, + "standard": { + "ignore": [ + "index.d.ts" + ] + }, + "keywords": [ + "encoding", + "negotiator", + "accept-encoding", + "accept", + "http", + "header" + ], + "files": [ + "README.md", + "LICENSE", + "index.js", + "types/index.d.ts" + ], + "author": "Aras Abbasi", + "license": "MIT", + "devDependencies": { + "benchmark": "2.1.4", + "standard": "17.0.0", + "tap": "^16.3.0", + "tsd": "^0.24.1" + }, + "engines": { + "node": ">=14" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/fastify/accept-negotiator.git" + }, + "bugs": { + "url": "https://github.com/fastify/accept-negotiator/issues" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/combobox/combobox.js b/.output/server/node_modules/@headlessui/vue/dist/components/combobox/combobox.js new file mode 100644 index 00000000..03d32df3 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/combobox/combobox.js @@ -0,0 +1 @@ +import{useVirtualizer as re}from"@tanstack/vue-virtual";import{cloneVNode as de,computed as m,defineComponent as H,Fragment as se,h as z,inject as ee,nextTick as N,onMounted as X,onUnmounted as fe,provide as te,reactive as ve,ref as k,toRaw as L,watch as J,watchEffect as Y}from"vue";import{useControllable as pe}from'../../hooks/use-controllable.js';import{useFrameDebounce as be}from'../../hooks/use-frame-debounce.js';import{useId as W}from'../../hooks/use-id.js';import{useOutsideClick as ce}from'../../hooks/use-outside-click.js';import{useResolveButtonType as me}from'../../hooks/use-resolve-button-type.js';import{useTrackedPointer as xe}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as ge}from'../../hooks/use-tree-walker.js';import{Features as Se,Hidden as Oe}from'../../internal/hidden.js';import{State as G,useOpenClosed as Ce,useOpenClosedProvider as Re}from'../../internal/open-closed.js';import{Keys as F}from'../../keyboard.js';import{MouseButton as ye}from'../../mouse.js';import{history as oe}from'../../utils/active-element-history.js';import{calculateActiveIndex as le,Focus as P}from'../../utils/calculate-active-index.js';import{disposables as ae}from'../../utils/disposables.js';import{dom as x}from'../../utils/dom.js';import{sortByDomNode as Te}from'../../utils/focus-management.js';import{objectToFormEntries as Ie}from'../../utils/form.js';import{match as _}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{isMobile as we}from'../../utils/platform.js';import{compact as Pe,Features as Q,omit as Z,render as U}from'../../utils/render.js';function De(a,h){return a===h}var Ee=(r=>(r[r.Open=0]="Open",r[r.Closed=1]="Closed",r))(Ee||{}),Ve=(r=>(r[r.Single=0]="Single",r[r.Multi=1]="Multi",r))(Ve||{}),ke=(y=>(y[y.Pointer=0]="Pointer",y[y.Focus=1]="Focus",y[y.Other=2]="Other",y))(ke||{});let ne=Symbol("ComboboxContext");function K(a){let h=ee(ne,null);if(h===null){let r=new Error(`<${a} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,K),r}return h}let ie=Symbol("VirtualContext"),Ae=H({name:"VirtualProvider",setup(a,{slots:h}){let r=K("VirtualProvider"),y=m(()=>{let c=x(r.optionsRef);if(!c)return{start:0,end:0};let f=window.getComputedStyle(c);return{start:parseFloat(f.paddingBlockStart||f.paddingTop),end:parseFloat(f.paddingBlockEnd||f.paddingBottom)}}),o=re(m(()=>({scrollPaddingStart:y.value.start,scrollPaddingEnd:y.value.end,count:r.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return x(r.optionsRef)},overscan:12}))),u=m(()=>{var c;return(c=r.virtual.value)==null?void 0:c.options}),e=k(0);return J([u],()=>{e.value+=1}),te(ie,r.virtual.value?o:null),()=>[z("div",{style:{position:"relative",width:"100%",height:`${o.value.getTotalSize()}px`},ref:c=>{if(c){if(typeof process!="undefined"&&process.env.JEST_WORKER_ID!==void 0||r.activationTrigger.value===0)return;r.activeOptionIndex.value!==null&&r.virtual.value.options.length>r.activeOptionIndex.value&&o.value.scrollToIndex(r.activeOptionIndex.value)}}},o.value.getVirtualItems().map(c=>de(h.default({option:r.virtual.value.options[c.index],open:r.comboboxState.value===0})[0],{key:`${e.value}-${c.index}`,"data-index":c.index,"aria-setsize":r.virtual.value.options.length,"aria-posinset":c.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${c.start}px)`,overflowAnchor:"none"}})))]}}),lt=H({name:"Combobox",emits:{"update:modelValue":a=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(a,{slots:h,attrs:r,emit:y}){let o=k(1),u=k(null),e=k(null),c=k(null),f=k(null),S=k({static:!1,hold:!1}),v=k([]),d=k(null),D=k(2),E=k(!1);function w(t=n=>n){let n=d.value!==null?v.value[d.value]:null,s=t(v.value.slice()),b=s.length>0&&s[0].dataRef.order.value!==null?s.sort((C,A)=>C.dataRef.order.value-A.dataRef.order.value):Te(s,C=>x(C.dataRef.domRef)),O=n?b.indexOf(n):null;return O===-1&&(O=null),{options:b,activeOptionIndex:O}}let M=m(()=>a.multiple?1:0),$=m(()=>a.nullable),[B,p]=pe(m(()=>a.modelValue),t=>y("update:modelValue",t),m(()=>a.defaultValue)),R=m(()=>B.value===void 0?_(M.value,{[1]:[],[0]:void 0}):B.value),V=null,i=null;function I(t){return _(M.value,{[0](){return p==null?void 0:p(t)},[1]:()=>{let n=L(l.value.value).slice(),s=L(t),b=n.findIndex(O=>l.compare(s,L(O)));return b===-1?n.push(s):n.splice(b,1),p==null?void 0:p(n)}})}let T=m(()=>{});J([T],([t],[n])=>{if(l.virtual.value&&t&&n&&d.value!==null){let s=t.indexOf(n[d.value]);s!==-1?d.value=s:d.value=null}});let l={comboboxState:o,value:R,mode:M,compare(t,n){if(typeof a.by=="string"){let s=a.by;return(t==null?void 0:t[s])===(n==null?void 0:n[s])}return a.by===null?De(t,n):a.by(t,n)},calculateIndex(t){return l.virtual.value?a.by===null?l.virtual.value.options.indexOf(t):l.virtual.value.options.findIndex(n=>l.compare(n,t)):v.value.findIndex(n=>l.compare(n.dataRef.value,t))},defaultValue:m(()=>a.defaultValue),nullable:$,immediate:m(()=>!1),virtual:m(()=>null),inputRef:e,labelRef:u,buttonRef:c,optionsRef:f,disabled:m(()=>a.disabled),options:v,change(t){p(t)},activeOptionIndex:m(()=>{if(E.value&&d.value===null&&(l.virtual.value?l.virtual.value.options.length>0:v.value.length>0)){if(l.virtual.value){let n=l.virtual.value.options.findIndex(s=>{var b;return!((b=l.virtual.value)!=null&&b.disabled(s))});if(n!==-1)return n}let t=v.value.findIndex(n=>!n.dataRef.disabled);if(t!==-1)return t}return d.value}),activationTrigger:D,optionsPropsRef:S,closeCombobox(){E.value=!1,!a.disabled&&o.value!==1&&(o.value=1,d.value=null)},openCombobox(){if(E.value=!0,!a.disabled&&o.value!==0){if(l.value.value){let t=l.calculateIndex(l.value.value);t!==-1&&(d.value=t)}o.value=0}},setActivationTrigger(t){D.value=t},goToOption(t,n,s){E.value=!1,V!==null&&cancelAnimationFrame(V),V=requestAnimationFrame(()=>{if(a.disabled||f.value&&!S.value.static&&o.value===1)return;if(l.virtual.value){d.value=t===P.Specific?n:le({focus:t},{resolveItems:()=>l.virtual.value.options,resolveActiveIndex:()=>{var C,A;return(A=(C=l.activeOptionIndex.value)!=null?C:l.virtual.value.options.findIndex(j=>{var q;return!((q=l.virtual.value)!=null&&q.disabled(j))}))!=null?A:null},resolveDisabled:C=>l.virtual.value.disabled(C),resolveId(){throw new Error("Function not implemented.")}}),D.value=s!=null?s:2;return}let b=w();if(b.activeOptionIndex===null){let C=b.options.findIndex(A=>!A.dataRef.disabled);C!==-1&&(b.activeOptionIndex=C)}let O=t===P.Specific?n:le({focus:t},{resolveItems:()=>b.options,resolveActiveIndex:()=>b.activeOptionIndex,resolveId:C=>C.id,resolveDisabled:C=>C.dataRef.disabled});d.value=O,D.value=s!=null?s:2,v.value=b.options})},selectOption(t){let n=v.value.find(b=>b.id===t);if(!n)return;let{dataRef:s}=n;I(s.value)},selectActiveOption(){if(l.activeOptionIndex.value!==null){if(l.virtual.value)I(l.virtual.value.options[l.activeOptionIndex.value]);else{let{dataRef:t}=v.value[l.activeOptionIndex.value];I(t.value)}l.goToOption(P.Specific,l.activeOptionIndex.value)}},registerOption(t,n){let s=ve({id:t,dataRef:n});if(l.virtual.value){v.value.push(s);return}i&&cancelAnimationFrame(i);let b=w(O=>(O.push(s),O));d.value===null&&l.isSelected(n.value.value)&&(b.activeOptionIndex=b.options.indexOf(s)),v.value=b.options,d.value=b.activeOptionIndex,D.value=2,b.options.some(O=>!x(O.dataRef.domRef))&&(i=requestAnimationFrame(()=>{let O=w();v.value=O.options,d.value=O.activeOptionIndex}))},unregisterOption(t,n){if(V!==null&&cancelAnimationFrame(V),n&&(E.value=!0),l.virtual.value){v.value=v.value.filter(b=>b.id!==t);return}let s=w(b=>{let O=b.findIndex(C=>C.id===t);return O!==-1&&b.splice(O,1),b});v.value=s.options,d.value=s.activeOptionIndex,D.value=2},isSelected(t){return _(M.value,{[0]:()=>l.compare(L(l.value.value),L(t)),[1]:()=>L(l.value.value).some(n=>l.compare(L(n),L(t)))})},isActive(t){return d.value===l.calculateIndex(t)}};ce([e,c,f],()=>l.closeCombobox(),m(()=>o.value===0)),te(ne,l),Re(m(()=>_(o.value,{[0]:G.Open,[1]:G.Closed})));let g=m(()=>{var t;return(t=x(e))==null?void 0:t.closest("form")});return X(()=>{J([g],()=>{if(!g.value||a.defaultValue===void 0)return;function t(){l.change(a.defaultValue)}return g.value.addEventListener("reset",t),()=>{var n;(n=g.value)==null||n.removeEventListener("reset",t)}},{immediate:!0})}),()=>{var C,A,j;let{name:t,disabled:n,form:s,...b}=a,O={open:o.value===0,disabled:n,activeIndex:l.activeOptionIndex.value,activeOption:l.activeOptionIndex.value===null?null:l.virtual.value?l.virtual.value.options[(C=l.activeOptionIndex.value)!=null?C:0]:(j=(A=l.options.value[l.activeOptionIndex.value])==null?void 0:A.dataRef.value)!=null?j:null,value:R.value};return z(se,[...t!=null&&R.value!=null?Ie({[t]:R.value}).map(([q,ue])=>z(Oe,Pe({features:Se.Hidden,key:q,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:s,disabled:n,name:q,value:ue}))):[],U({theirProps:{...r,...Z(b,["by","defaultValue","immediate","modelValue","multiple","nullable","onUpdate:modelValue","virtual"])},ourProps:{},slot:O,slots:h,attrs:r,name:"Combobox"})])}}}),at=H({name:"ComboboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r}){var e;let y=(e=a.id)!=null?e:`headlessui-combobox-label-${W()}`,o=K("ComboboxLabel");function u(){var c;(c=x(o.inputRef))==null||c.focus({preventScroll:!0})}return()=>{let c={open:o.comboboxState.value===0,disabled:o.disabled.value},{...f}=a,S={id:y,ref:o.labelRef,onClick:u};return U({ourProps:S,theirProps:f,slot:c,attrs:h,slots:r,name:"ComboboxLabel"})}}}),nt=H({name:"ComboboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(a,{attrs:h,slots:r,expose:y}){var S;let o=(S=a.id)!=null?S:`headlessui-combobox-button-${W()}`,u=K("ComboboxButton");y({el:u.buttonRef,$el:u.buttonRef});function e(v){u.disabled.value||(u.comboboxState.value===0?u.closeCombobox():(v.preventDefault(),u.openCombobox()),N(()=>{var d;return(d=x(u.inputRef))==null?void 0:d.focus({preventScroll:!0})}))}function c(v){switch(v.key){case F.ArrowDown:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&u.openCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.ArrowUp:v.preventDefault(),v.stopPropagation(),u.comboboxState.value===1&&(u.openCombobox(),N(()=>{u.value.value||u.goToOption(P.Last)})),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return;case F.Escape:if(u.comboboxState.value!==0)return;v.preventDefault(),u.optionsRef.value&&!u.optionsPropsRef.value.static&&v.stopPropagation(),u.closeCombobox(),N(()=>{var d;return(d=u.inputRef.value)==null?void 0:d.focus({preventScroll:!0})});return}}let f=me(m(()=>({as:a.as,type:h.type})),u.buttonRef);return()=>{var E,w;let v={open:u.comboboxState.value===0,disabled:u.disabled.value,value:u.value.value},{...d}=a,D={ref:u.buttonRef,id:o,type:f.value,tabindex:"-1","aria-haspopup":"listbox","aria-controls":(E=x(u.optionsRef))==null?void 0:E.id,"aria-expanded":u.comboboxState.value===0,"aria-labelledby":u.labelRef.value?[(w=x(u.labelRef))==null?void 0:w.id,o].join(" "):void 0,disabled:u.disabled.value===!0?!0:void 0,onKeydown:c,onClick:e};return U({ourProps:D,theirProps:d,slot:v,attrs:h,slots:r,name:"ComboboxButton"})}}}),it=H({name:"ComboboxInput",props:{as:{type:[Object,String],default:"input"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:a=>!0},setup(a,{emit:h,attrs:r,slots:y,expose:o}){var V;let u=(V=a.id)!=null?V:`headlessui-combobox-input-${W()}`,e=K("ComboboxInput"),c=m(()=>he(x(e.inputRef))),f={value:!1};o({el:e.inputRef,$el:e.inputRef});function S(){e.change(null);let i=x(e.optionsRef);i&&(i.scrollTop=0),e.goToOption(P.Nothing)}let v=m(()=>{var I;let i=e.value.value;return x(e.inputRef)?typeof a.displayValue!="undefined"&&i!==void 0?(I=a.displayValue(i))!=null?I:"":typeof i=="string"?i:"":""});X(()=>{J([v,e.comboboxState,c],([i,I],[T,l])=>{if(f.value)return;let g=x(e.inputRef);g&&((l===0&&I===1||i!==T)&&(g.value=i),requestAnimationFrame(()=>{var s;if(f.value||!g||((s=c.value)==null?void 0:s.activeElement)!==g)return;let{selectionStart:t,selectionEnd:n}=g;Math.abs((n!=null?n:0)-(t!=null?t:0))===0&&t===0&&g.setSelectionRange(g.value.length,g.value.length)}))},{immediate:!0}),J([e.comboboxState],([i],[I])=>{if(i===0&&I===1){if(f.value)return;let T=x(e.inputRef);if(!T)return;let l=T.value,{selectionStart:g,selectionEnd:t,selectionDirection:n}=T;T.value="",T.value=l,n!==null?T.setSelectionRange(g,t,n):T.setSelectionRange(g,t)}})});let d=k(!1);function D(){d.value=!0}function E(){ae().nextFrame(()=>{d.value=!1})}let w=be();function M(i){switch(f.value=!0,w(()=>{f.value=!1}),i.key){case F.Enter:if(f.value=!1,e.comboboxState.value!==0||d.value)return;if(i.preventDefault(),i.stopPropagation(),e.activeOptionIndex.value===null){e.closeCombobox();return}e.selectActiveOption(),e.mode.value===0&&e.closeCombobox();break;case F.ArrowDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Next),[1]:()=>e.openCombobox()});case F.ArrowUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),_(e.comboboxState.value,{[0]:()=>e.goToOption(P.Previous),[1]:()=>{e.openCombobox(),N(()=>{e.value.value||e.goToOption(P.Last)})}});case F.Home:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.PageUp:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.First);case F.End:if(i.shiftKey)break;return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.PageDown:return f.value=!1,i.preventDefault(),i.stopPropagation(),e.goToOption(P.Last);case F.Escape:if(f.value=!1,e.comboboxState.value!==0)return;i.preventDefault(),e.optionsRef.value&&!e.optionsPropsRef.value.static&&i.stopPropagation(),e.nullable.value&&e.mode.value===0&&e.value.value===null&&S(),e.closeCombobox();break;case F.Tab:if(f.value=!1,e.comboboxState.value!==0)return;e.mode.value===0&&e.activationTrigger.value!==1&&e.selectActiveOption(),e.closeCombobox();break}}function $(i){h("change",i),e.nullable.value&&e.mode.value===0&&i.target.value===""&&S(),e.openCombobox()}function B(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);if(f.value=!1,!((l=x(e.optionsRef))!=null&&l.contains(I))&&!((g=x(e.buttonRef))!=null&&g.contains(I))&&e.comboboxState.value===0)return i.preventDefault(),e.mode.value===0&&(e.nullable.value&&e.value.value===null?S():e.activationTrigger.value!==1&&e.selectActiveOption()),e.closeCombobox()}function p(i){var T,l,g;let I=(T=i.relatedTarget)!=null?T:oe.find(t=>t!==i.currentTarget);(l=x(e.buttonRef))!=null&&l.contains(I)||(g=x(e.optionsRef))!=null&&g.contains(I)||e.disabled.value||e.immediate.value&&e.comboboxState.value!==0&&(e.openCombobox(),ae().nextFrame(()=>{e.setActivationTrigger(1)}))}let R=m(()=>{var i,I,T,l;return(l=(T=(I=a.defaultValue)!=null?I:e.defaultValue.value!==void 0?(i=a.displayValue)==null?void 0:i.call(a,e.defaultValue.value):null)!=null?T:e.defaultValue.value)!=null?l:""});return()=>{var t,n,s,b,O,C,A;let i={open:e.comboboxState.value===0},{displayValue:I,onChange:T,...l}=a,g={"aria-controls":(t=e.optionsRef.value)==null?void 0:t.id,"aria-expanded":e.comboboxState.value===0,"aria-activedescendant":e.activeOptionIndex.value===null?void 0:e.virtual.value?(n=e.options.value.find(j=>!e.virtual.value.disabled(j.dataRef.value)&&e.compare(j.dataRef.value,e.virtual.value.options[e.activeOptionIndex.value])))==null?void 0:n.id:(s=e.options.value[e.activeOptionIndex.value])==null?void 0:s.id,"aria-labelledby":(C=(b=x(e.labelRef))==null?void 0:b.id)!=null?C:(O=x(e.buttonRef))==null?void 0:O.id,"aria-autocomplete":"list",id:u,onCompositionstart:D,onCompositionend:E,onKeydown:M,onInput:$,onFocus:p,onBlur:B,role:"combobox",type:(A=r.type)!=null?A:"text",tabIndex:0,ref:e.inputRef,defaultValue:R.value,disabled:e.disabled.value===!0?!0:void 0};return U({ourProps:g,theirProps:l,slot:i,attrs:r,slots:y,features:Q.RenderStrategy|Q.Static,name:"ComboboxInput"})}}}),ut=H({name:"ComboboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(a,{attrs:h,slots:r,expose:y}){let o=K("ComboboxOptions"),u=`headlessui-combobox-options-${W()}`;y({el:o.optionsRef,$el:o.optionsRef}),Y(()=>{o.optionsPropsRef.value.static=a.static}),Y(()=>{o.optionsPropsRef.value.hold=a.hold});let e=Ce(),c=m(()=>e!==null?(e.value&G.Open)===G.Open:o.comboboxState.value===0);ge({container:m(()=>x(o.optionsRef)),enabled:m(()=>o.comboboxState.value===0),accept(S){return S.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:S.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(S){S.setAttribute("role","none")}});function f(S){S.preventDefault()}return()=>{var D,E,w;let S={open:o.comboboxState.value===0},v={"aria-labelledby":(w=(D=x(o.labelRef))==null?void 0:D.id)!=null?w:(E=x(o.buttonRef))==null?void 0:E.id,id:u,ref:o.optionsRef,role:"listbox","aria-multiselectable":o.mode.value===1?!0:void 0,onMousedown:f},d=Z(a,["hold"]);return U({ourProps:v,theirProps:d,slot:S,attrs:h,slots:o.virtual.value&&o.comboboxState.value===0?{...r,default:()=>[z(Ae,{},r.default)]}:r,features:Q.RenderStrategy|Q.Static,visible:c.value,name:"ComboboxOptions"})}}}),rt=H({name:"ComboboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(a,{slots:h,attrs:r,expose:y}){let o=K("ComboboxOption"),u=`headlessui-combobox-option-${W()}`,e=k(null),c=m(()=>a.disabled);y({el:e,$el:e});let f=m(()=>{var p;return o.virtual.value?o.activeOptionIndex.value===o.calculateIndex(a.value):o.activeOptionIndex.value===null?!1:((p=o.options.value[o.activeOptionIndex.value])==null?void 0:p.id)===u}),S=m(()=>o.isSelected(a.value)),v=ee(ie,null),d=m(()=>({disabled:a.disabled,value:a.value,domRef:e,order:m(()=>a.order)}));X(()=>o.registerOption(u,d)),fe(()=>o.unregisterOption(u,f.value)),Y(()=>{let p=x(e);p&&(v==null||v.value.measureElement(p))}),Y(()=>{o.comboboxState.value===0&&f.value&&(o.virtual.value||o.activationTrigger.value!==0&&N(()=>{var p,R;return(R=(p=x(e))==null?void 0:p.scrollIntoView)==null?void 0:R.call(p,{block:"nearest"})}))});function D(p){p.preventDefault(),p.button===ye.Left&&(c.value||(o.selectOption(u),we()||requestAnimationFrame(()=>{var R;return(R=x(o.inputRef))==null?void 0:R.focus({preventScroll:!0})}),o.mode.value===0&&o.closeCombobox()))}function E(){var R;if(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value))return o.goToOption(P.Nothing);let p=o.calculateIndex(a.value);o.goToOption(P.Specific,p)}let w=xe();function M(p){w.update(p)}function $(p){var V;if(!w.wasMoved(p)||a.disabled||(V=o.virtual.value)!=null&&V.disabled(a.value)||f.value)return;let R=o.calculateIndex(a.value);o.goToOption(P.Specific,R,0)}function B(p){var R;w.wasMoved(p)&&(a.disabled||(R=o.virtual.value)!=null&&R.disabled(a.value)||f.value&&(o.optionsPropsRef.value.hold||o.goToOption(P.Nothing)))}return()=>{let{disabled:p}=a,R={active:f.value,selected:S.value,disabled:p},V={id:u,ref:e,role:"option",tabIndex:p===!0?void 0:-1,"aria-disabled":p===!0?!0:void 0,"aria-selected":S.value,disabled:void 0,onMousedown:D,onFocus:E,onPointerenter:M,onMouseenter:M,onPointermove:$,onMousemove:$,onPointerleave:B,onMouseleave:B},i=Z(a,["order","value"]);return U({ourProps:V,theirProps:i,slot:R,attrs:r,slots:h,name:"ComboboxOption"})}}});export{lt as Combobox,nt as ComboboxButton,it as ComboboxInput,at as ComboboxLabel,rt as ComboboxOption,ut as ComboboxOptions}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/description/description.js b/.output/server/node_modules/@headlessui/vue/dist/components/description/description.js new file mode 100644 index 00000000..8f32ab14 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/description/description.js @@ -0,0 +1 @@ +import{computed as x,defineComponent as y,inject as R,onMounted as v,onUnmounted as D,provide as j,ref as p,unref as C}from"vue";import{useId as h}from'../../hooks/use-id.js';import{render as b}from'../../utils/render.js';let u=Symbol("DescriptionContext");function w(){let t=R(u,null);if(t===null)throw new Error("Missing parent");return t}function k({slot:t=p({}),name:o="Description",props:s={}}={}){let e=p([]);function r(n){return e.value.push(n),()=>{let i=e.value.indexOf(n);i!==-1&&e.value.splice(i,1)}}return j(u,{register:r,slot:t,name:o,props:s}),x(()=>e.value.length>0?e.value.join(" "):void 0)}let K=y({name:"Description",props:{as:{type:[Object,String],default:"p"},id:{type:String,default:null}},setup(t,{attrs:o,slots:s}){var n;let e=(n=t.id)!=null?n:`headlessui-description-${h()}`,r=w();return v(()=>D(r.register(e))),()=>{let{name:i="Description",slot:l=p({}),props:d={}}=r,{...c}=t,f={...Object.entries(d).reduce((a,[g,m])=>Object.assign(a,{[g]:C(m)}),{}),id:e};return b({ourProps:f,theirProps:c,slot:l.value,attrs:o,slots:s,name:i})}}});export{K as Description,k as useDescriptions}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/dialog/dialog.js b/.output/server/node_modules/@headlessui/vue/dist/components/dialog/dialog.js new file mode 100644 index 00000000..3aa5bb46 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/dialog/dialog.js @@ -0,0 +1 @@ +import{computed as o,defineComponent as O,h as v,inject as Y,nextTick as se,onMounted as $,onUnmounted as pe,provide as de,ref as y,watchEffect as fe}from"vue";import{FocusTrap as P}from'../../components/focus-trap/focus-trap.js';import{useDocumentOverflowLockedEffect as ge}from'../../hooks/document-overflow/use-document-overflow.js';import{useEventListener as ce}from'../../hooks/use-event-listener.js';import{useId as b}from'../../hooks/use-id.js';import{useInert as _}from'../../hooks/use-inert.js';import{useOutsideClick as ve}from'../../hooks/use-outside-click.js';import{useRootContainers as me}from'../../hooks/use-root-containers.js';import{State as I,useOpenClosed as De}from'../../internal/open-closed.js';import{ForcePortalRoot as F}from'../../internal/portal-force-root.js';import{StackMessage as z,useStackProvider as ye}from'../../internal/stack-context.js';import{Keys as Se}from'../../keyboard.js';import{dom as j}from'../../utils/dom.js';import{match as G}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{Features as V,render as C}from'../../utils/render.js';import{Description as Oe,useDescriptions as Pe}from'../description/description.js';import{Portal as J,PortalGroup as be,useNestedPortals as Ce}from'../portal/portal.js';var Te=(l=>(l[l.Open=0]="Open",l[l.Closed=1]="Closed",l))(Te||{});let H=Symbol("DialogContext");function T(t){let i=Y(H,null);if(i===null){let l=new Error(`<${t} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,T),l}return i}let A="DC8F892D-2EBD-447C-A4C8-A03058436FF4",Ye=O({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:A},initialFocus:{type:Object,default:null},id:{type:String,default:null},role:{type:String,default:"dialog"}},emits:{close:t=>!0},setup(t,{emit:i,attrs:l,slots:p,expose:s}){var q,W;let n=(q=t.id)!=null?q:`headlessui-dialog-${b()}`,u=y(!1);$(()=>{u.value=!0});let r=!1,g=o(()=>t.role==="dialog"||t.role==="alertdialog"?t.role:(r||(r=!0,console.warn(`Invalid role [${g}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog")),D=y(0),S=De(),R=o(()=>t.open===A&&S!==null?(S.value&I.Open)===I.Open:t.open),m=y(null),E=o(()=>he(m));if(s({el:m,$el:m}),!(t.open!==A||S!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof R.value!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${R.value===A?void 0:t.open}`);let c=o(()=>u.value&&R.value?0:1),k=o(()=>c.value===0),w=o(()=>D.value>1),N=Y(H,null)!==null,[Q,X]=Ce(),{resolveContainers:B,mainTreeNodeRef:K,MainTreeNode:Z}=me({portals:Q,defaultContainers:[o(()=>{var e;return(e=h.panelRef.value)!=null?e:m.value})]}),ee=o(()=>w.value?"parent":"leaf"),U=o(()=>S!==null?(S.value&I.Closing)===I.Closing:!1),te=o(()=>N||U.value?!1:k.value),le=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll("body > *"))!=null?a:[]).find(f=>f.id==="headlessui-portal-root"?!1:f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(le,te);let ae=o(()=>w.value?!0:k.value),oe=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll("[data-headlessui-portal]"))!=null?a:[]).find(f=>f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(oe,ae),ye({type:"Dialog",enabled:o(()=>c.value===0),element:m,onUpdate:(e,a)=>{if(a==="Dialog")return G(e,{[z.Add]:()=>D.value+=1,[z.Remove]:()=>D.value-=1})}});let re=Pe({name:"DialogDescription",slot:o(()=>({open:R.value}))}),M=y(null),h={titleId:M,panelRef:y(null),dialogState:c,setTitleId(e){M.value!==e&&(M.value=e)},close(){i("close",!1)}};de(H,h);let ne=o(()=>!(!k.value||w.value));ve(B,(e,a)=>{e.preventDefault(),h.close(),se(()=>a==null?void 0:a.focus())},ne);let ie=o(()=>!(w.value||c.value!==0));ce((W=E.value)==null?void 0:W.defaultView,"keydown",e=>{ie.value&&(e.defaultPrevented||e.key===Se.Escape&&(e.preventDefault(),e.stopPropagation(),h.close()))});let ue=o(()=>!(U.value||c.value!==0||N));return ge(E,ue,e=>{var a;return{containers:[...(a=e.containers)!=null?a:[],B]}}),fe(e=>{if(c.value!==0)return;let a=j(m);if(!a)return;let d=new ResizeObserver(f=>{for(let L of f){let x=L.target.getBoundingClientRect();x.x===0&&x.y===0&&x.width===0&&x.height===0&&h.close()}});d.observe(a),e(()=>d.disconnect())}),()=>{let{open:e,initialFocus:a,...d}=t,f={...l,ref:m,id:n,role:g.value,"aria-modal":c.value===0?!0:void 0,"aria-labelledby":M.value,"aria-describedby":re.value},L={open:c.value===0};return v(F,{force:!0},()=>[v(J,()=>v(be,{target:m.value},()=>v(F,{force:!1},()=>v(P,{initialFocus:a,containers:B,features:k.value?G(ee.value,{parent:P.features.RestoreFocus,leaf:P.features.All&~P.features.FocusLock}):P.features.None},()=>v(X,{},()=>C({ourProps:f,theirProps:{...d,...l},slot:L,attrs:l,slots:p,visible:c.value===0,features:V.RenderStrategy|V.Static,name:"Dialog"})))))),v(Z)])}}}),_e=O({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var u;let p=(u=t.id)!=null?u:`headlessui-dialog-overlay-${b()}`,s=T("DialogOverlay");function n(r){r.target===r.currentTarget&&(r.preventDefault(),r.stopPropagation(),s.close())}return()=>{let{...r}=t;return C({ourProps:{id:p,"aria-hidden":!0,onClick:n},theirProps:r,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:"DialogOverlay"})}}}),ze=O({name:"DialogBackdrop",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:null}},inheritAttrs:!1,setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-backdrop-${b()}`,n=T("DialogBackdrop"),u=y(null);return p({el:u,$el:u}),$(()=>{if(n.panelRef.value===null)throw new Error("A <DialogBackdrop /> component is being used, but a <DialogPanel /> component is missing.")}),()=>{let{...g}=t,D={id:s,ref:u,"aria-hidden":!0};return v(F,{force:!0},()=>v(J,()=>C({ourProps:D,theirProps:{...i,...g},slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:"DialogBackdrop"})))}}}),Ge=O({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-panel-${b()}`,n=T("DialogPanel");p({el:n.panelRef,$el:n.panelRef});function u(g){g.stopPropagation()}return()=>{let{...g}=t,D={id:s,ref:n.panelRef,onClick:u};return C({ourProps:D,theirProps:g,slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:"DialogPanel"})}}}),Ve=O({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var n;let p=(n=t.id)!=null?n:`headlessui-dialog-title-${b()}`,s=T("DialogTitle");return $(()=>{s.setTitleId(p),pe(()=>s.setTitleId(null))}),()=>{let{...u}=t;return C({ourProps:{id:p},theirProps:u,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:"DialogTitle"})}}}),Je=Oe;export{Ye as Dialog,ze as DialogBackdrop,Je as DialogDescription,_e as DialogOverlay,Ge as DialogPanel,Ve as DialogTitle}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/disclosure/disclosure.js b/.output/server/node_modules/@headlessui/vue/dist/components/disclosure/disclosure.js new file mode 100644 index 00000000..a369cd23 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/disclosure/disclosure.js @@ -0,0 +1 @@ +import{computed as m,defineComponent as b,inject as I,onMounted as P,onUnmounted as h,provide as R,ref as d,watchEffect as w}from"vue";import{useId as E}from'../../hooks/use-id.js';import{useResolveButtonType as H}from'../../hooks/use-resolve-button-type.js';import{State as y,useOpenClosed as L,useOpenClosedProvider as j}from'../../internal/open-closed.js';import{Keys as f}from'../../keyboard.js';import{dom as p}from'../../utils/dom.js';import{match as x}from'../../utils/match.js';import{Features as B,render as g}from'../../utils/render.js';var $=(o=>(o[o.Open=0]="Open",o[o.Closed=1]="Closed",o))($||{});let T=Symbol("DisclosureContext");function O(t){let r=I(T,null);if(r===null){let o=new Error(`<${t} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,O),o}return r}let k=Symbol("DisclosurePanelContext");function U(){return I(k,null)}let N=b({name:"Disclosure",props:{as:{type:[Object,String],default:"template"},defaultOpen:{type:[Boolean],default:!1}},setup(t,{slots:r,attrs:o}){let s=d(t.defaultOpen?0:1),e=d(null),i=d(null),n={buttonId:d(`headlessui-disclosure-button-${E()}`),panelId:d(`headlessui-disclosure-panel-${E()}`),disclosureState:s,panel:e,button:i,toggleDisclosure(){s.value=x(s.value,{[0]:1,[1]:0})},closeDisclosure(){s.value!==1&&(s.value=1)},close(l){n.closeDisclosure();let a=(()=>l?l instanceof HTMLElement?l:l.value instanceof HTMLElement?p(l):p(n.button):p(n.button))();a==null||a.focus()}};return R(T,n),j(m(()=>x(s.value,{[0]:y.Open,[1]:y.Closed}))),()=>{let{defaultOpen:l,...a}=t,c={open:s.value===0,close:n.close};return g({theirProps:a,ourProps:{},slot:c,slots:r,attrs:o,name:"Disclosure"})}}}),Q=b({name:"DisclosureButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(t,{attrs:r,slots:o,expose:s}){let e=O("DisclosureButton"),i=U(),n=m(()=>i===null?!1:i.value===e.panelId.value);P(()=>{n.value||t.id!==null&&(e.buttonId.value=t.id)}),h(()=>{n.value||(e.buttonId.value=null)});let l=d(null);s({el:l,$el:l}),n.value||w(()=>{e.button.value=l.value});let a=H(m(()=>({as:t.as,type:r.type})),l);function c(){var u;t.disabled||(n.value?(e.toggleDisclosure(),(u=p(e.button))==null||u.focus()):e.toggleDisclosure())}function D(u){var S;if(!t.disabled)if(n.value)switch(u.key){case f.Space:case f.Enter:u.preventDefault(),u.stopPropagation(),e.toggleDisclosure(),(S=p(e.button))==null||S.focus();break}else switch(u.key){case f.Space:case f.Enter:u.preventDefault(),u.stopPropagation(),e.toggleDisclosure();break}}function v(u){switch(u.key){case f.Space:u.preventDefault();break}}return()=>{var C;let u={open:e.disclosureState.value===0},{id:S,...K}=t,M=n.value?{ref:l,type:a.value,onClick:c,onKeydown:D}:{id:(C=e.buttonId.value)!=null?C:S,ref:l,type:a.value,"aria-expanded":e.disclosureState.value===0,"aria-controls":e.disclosureState.value===0||p(e.panel)?e.panelId.value:void 0,disabled:t.disabled?!0:void 0,onClick:c,onKeydown:D,onKeyup:v};return g({ourProps:M,theirProps:K,slot:u,attrs:r,slots:o,name:"DisclosureButton"})}}}),V=b({name:"DisclosurePanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(t,{attrs:r,slots:o,expose:s}){let e=O("DisclosurePanel");P(()=>{t.id!==null&&(e.panelId.value=t.id)}),h(()=>{e.panelId.value=null}),s({el:e.panel,$el:e.panel}),R(k,e.panelId);let i=L(),n=m(()=>i!==null?(i.value&y.Open)===y.Open:e.disclosureState.value===0);return()=>{var v;let l={open:e.disclosureState.value===0,close:e.close},{id:a,...c}=t,D={id:(v=e.panelId.value)!=null?v:a,ref:e.panel};return g({ourProps:D,theirProps:c,slot:l,attrs:r,slots:o,features:B.RenderStrategy|B.Static,visible:n.value,name:"DisclosurePanel"})}}});export{N as Disclosure,Q as DisclosureButton,V as DisclosurePanel}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js b/.output/server/node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js new file mode 100644 index 00000000..0981acd9 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js @@ -0,0 +1 @@ +import{computed as L,defineComponent as I,Fragment as j,h as R,onMounted as M,onUnmounted as h,ref as E,watch as g,watchEffect as K}from"vue";import{useEventListener as U}from'../../hooks/use-event-listener.js';import{Direction as y,useTabDirection as _}from'../../hooks/use-tab-direction.js';import{Features as k,Hidden as D}from'../../internal/hidden.js';import{history as C}from'../../utils/active-element-history.js';import{dom as c}from'../../utils/dom.js';import{Focus as v,focusElement as p,focusIn as b,FocusResult as q}from'../../utils/focus-management.js';import{match as P}from'../../utils/match.js';import{microTask as S}from'../../utils/micro-task.js';import{getOwnerDocument as x}from'../../utils/owner.js';import{render as G}from'../../utils/render.js';function B(t){if(!t)return new Set;if(typeof t=="function")return new Set(t());let n=new Set;for(let r of t.value){let l=c(r);l instanceof HTMLElement&&n.add(l)}return n}var A=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(A||{});let ue=Object.assign(I({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:E(new Set)}},inheritAttrs:!1,setup(t,{attrs:n,slots:r,expose:l}){let o=E(null);l({el:o,$el:o});let i=L(()=>x(o)),e=E(!1);M(()=>e.value=!0),h(()=>e.value=!1),$({ownerDocument:i},L(()=>e.value&&Boolean(t.features&16)));let m=z({ownerDocument:i,container:o,initialFocus:L(()=>t.initialFocus)},L(()=>e.value&&Boolean(t.features&2)));J({ownerDocument:i,container:o,containers:t.containers,previousActiveElement:m},L(()=>e.value&&Boolean(t.features&8)));let f=_();function a(u){let T=c(o);if(!T)return;(w=>w())(()=>{P(f.value,{[y.Forwards]:()=>{b(T,v.First,{skipElements:[u.relatedTarget]})},[y.Backwards]:()=>{b(T,v.Last,{skipElements:[u.relatedTarget]})}})})}let s=E(!1);function F(u){u.key==="Tab"&&(s.value=!0,requestAnimationFrame(()=>{s.value=!1}))}function H(u){if(!e.value)return;let T=B(t.containers);c(o)instanceof HTMLElement&&T.add(c(o));let d=u.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!=="true"&&(N(T,d)||(s.value?b(c(o),P(f.value,{[y.Forwards]:()=>v.Next,[y.Backwards]:()=>v.Previous})|v.WrapAround,{relativeTo:u.target}):u.target instanceof HTMLElement&&p(u.target)))}return()=>{let u={},T={ref:o,onKeydown:F,onFocusout:H},{features:d,initialFocus:w,containers:Q,...O}=t;return R(j,[Boolean(d&4)&&R(D,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:a,features:k.Focusable}),G({ourProps:T,theirProps:{...n,...O},slot:u,attrs:n,slots:r,name:"FocusTrap"}),Boolean(d&4)&&R(D,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:a,features:k.Focusable})])}}}),{features:A});function W(t){let n=E(C.slice());return g([t],([r],[l])=>{l===!0&&r===!1?S(()=>{n.value.splice(0)}):l===!1&&r===!0&&(n.value=C.slice())},{flush:"post"}),()=>{var r;return(r=n.value.find(l=>l!=null&&l.isConnected))!=null?r:null}}function $({ownerDocument:t},n){let r=W(n);M(()=>{K(()=>{var l,o;n.value||((l=t.value)==null?void 0:l.activeElement)===((o=t.value)==null?void 0:o.body)&&p(r())},{flush:"post"})}),h(()=>{n.value&&p(r())})}function z({ownerDocument:t,container:n,initialFocus:r},l){let o=E(null),i=E(!1);return M(()=>i.value=!0),h(()=>i.value=!1),M(()=>{g([n,r,l],(e,m)=>{if(e.every((a,s)=>(m==null?void 0:m[s])===a)||!l.value)return;let f=c(n);f&&S(()=>{var F,H;if(!i.value)return;let a=c(r),s=(F=t.value)==null?void 0:F.activeElement;if(a){if(a===s){o.value=s;return}}else if(f.contains(s)){o.value=s;return}a?p(a):b(f,v.First|v.NoScroll)===q.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),o.value=(H=t.value)==null?void 0:H.activeElement})},{immediate:!0,flush:"post"})}),o}function J({ownerDocument:t,container:n,containers:r,previousActiveElement:l},o){var i;U((i=t.value)==null?void 0:i.defaultView,"focus",e=>{if(!o.value)return;let m=B(r);c(n)instanceof HTMLElement&&m.add(c(n));let f=l.value;if(!f)return;let a=e.target;a&&a instanceof HTMLElement?N(m,a)?(l.value=a,p(a)):(e.preventDefault(),e.stopPropagation(),p(f)):p(l.value)},!0)}function N(t,n){for(let r of t)if(r.contains(n))return!0;return!1}export{ue as FocusTrap}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/label/label.js b/.output/server/node_modules/@headlessui/vue/dist/components/label/label.js new file mode 100644 index 00000000..660d769e --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/label/label.js @@ -0,0 +1 @@ +import{computed as v,defineComponent as x,inject as L,onMounted as k,onUnmounted as C,provide as j,ref as y,unref as h}from"vue";import{useId as w}from'../../hooks/use-id.js';import{render as R}from'../../utils/render.js';let a=Symbol("LabelContext");function d(){let t=L(a,null);if(t===null){let n=new Error("You used a <Label /> component, but it is not inside a parent.");throw Error.captureStackTrace&&Error.captureStackTrace(n,d),n}return t}function E({slot:t={},name:n="Label",props:i={}}={}){let e=y([]);function o(r){return e.value.push(r),()=>{let l=e.value.indexOf(r);l!==-1&&e.value.splice(l,1)}}return j(a,{register:o,slot:t,name:n,props:i}),v(()=>e.value.length>0?e.value.join(" "):void 0)}let K=x({name:"Label",props:{as:{type:[Object,String],default:"label"},passive:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(t,{slots:n,attrs:i}){var r;let e=(r=t.id)!=null?r:`headlessui-label-${w()}`,o=d();return k(()=>C(o.register(e))),()=>{let{name:l="Label",slot:p={},props:c={}}=o,{passive:f,...s}=t,u={...Object.entries(c).reduce((b,[g,m])=>Object.assign(b,{[g]:h(m)}),{}),id:e};return f&&(delete u.onClick,delete u.htmlFor,delete s.onClick),R({ourProps:u,theirProps:s,slot:p,attrs:i,slots:n,name:l})}}});export{K as Label,E as useLabels}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/listbox/listbox.js b/.output/server/node_modules/@headlessui/vue/dist/components/listbox/listbox.js new file mode 100644 index 00000000..4533ceb3 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/listbox/listbox.js @@ -0,0 +1 @@ +import{computed as x,defineComponent as E,Fragment as z,h as N,inject as _,nextTick as V,onMounted as K,onUnmounted as q,provide as W,ref as T,toRaw as R,watch as H,watchEffect as G}from"vue";import{useControllable as J}from'../../hooks/use-controllable.js';import{useId as F}from'../../hooks/use-id.js';import{useOutsideClick as X}from'../../hooks/use-outside-click.js';import{useResolveButtonType as Y}from'../../hooks/use-resolve-button-type.js';import{useTextValue as Z}from'../../hooks/use-text-value.js';import{useTrackedPointer as ee}from'../../hooks/use-tracked-pointer.js';import{Features as te,Hidden as oe}from'../../internal/hidden.js';import{State as B,useOpenClosed as ae,useOpenClosedProvider as ie}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as ne,Focus as g}from'../../utils/calculate-active-index.js';import{dom as S}from'../../utils/dom.js';import{FocusableMode as le,isFocusableElement as ue,sortByDomNode as re}from'../../utils/focus-management.js';import{objectToFormEntries as se}from'../../utils/form.js';import{match as P}from'../../utils/match.js';import{compact as de,Features as U,omit as fe,render as j}from'../../utils/render.js';function pe(o,b){return o===b}var ce=(r=>(r[r.Open=0]="Open",r[r.Closed=1]="Closed",r))(ce||{}),ve=(r=>(r[r.Single=0]="Single",r[r.Multi=1]="Multi",r))(ve||{}),be=(r=>(r[r.Pointer=0]="Pointer",r[r.Other=1]="Other",r))(be||{});function me(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let $=Symbol("ListboxContext");function A(o){let b=_($,null);if(b===null){let r=new Error(`<${o} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,A),r}return b}let Ie=E({name:"Listbox",emits:{"update:modelValue":o=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>pe},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(o,{slots:b,attrs:r,emit:w}){let n=T(1),e=T(null),f=T(null),v=T(null),s=T([]),m=T(""),p=T(null),a=T(1);function u(t=i=>i){let i=p.value!==null?s.value[p.value]:null,l=re(t(s.value.slice()),O=>S(O.dataRef.domRef)),d=i?l.indexOf(i):null;return d===-1&&(d=null),{options:l,activeOptionIndex:d}}let D=x(()=>o.multiple?1:0),[y,L]=J(x(()=>o.modelValue),t=>w("update:modelValue",t),x(()=>o.defaultValue)),M=x(()=>y.value===void 0?P(D.value,{[1]:[],[0]:void 0}):y.value),k={listboxState:n,value:M,mode:D,compare(t,i){if(typeof o.by=="string"){let l=o.by;return(t==null?void 0:t[l])===(i==null?void 0:i[l])}return o.by(t,i)},orientation:x(()=>o.horizontal?"horizontal":"vertical"),labelRef:e,buttonRef:f,optionsRef:v,disabled:x(()=>o.disabled),options:s,searchQuery:m,activeOptionIndex:p,activationTrigger:a,closeListbox(){o.disabled||n.value!==1&&(n.value=1,p.value=null)},openListbox(){o.disabled||n.value!==0&&(n.value=0)},goToOption(t,i,l){if(o.disabled||n.value===1)return;let d=u(),O=ne(t===g.Specific?{focus:g.Specific,id:i}:{focus:t},{resolveItems:()=>d.options,resolveActiveIndex:()=>d.activeOptionIndex,resolveId:h=>h.id,resolveDisabled:h=>h.dataRef.disabled});m.value="",p.value=O,a.value=l!=null?l:1,s.value=d.options},search(t){if(o.disabled||n.value===1)return;let l=m.value!==""?0:1;m.value+=t.toLowerCase();let O=(p.value!==null?s.value.slice(p.value+l).concat(s.value.slice(0,p.value+l)):s.value).find(I=>I.dataRef.textValue.startsWith(m.value)&&!I.dataRef.disabled),h=O?s.value.indexOf(O):-1;h===-1||h===p.value||(p.value=h,a.value=1)},clearSearch(){o.disabled||n.value!==1&&m.value!==""&&(m.value="")},registerOption(t,i){let l=u(d=>[...d,{id:t,dataRef:i}]);s.value=l.options,p.value=l.activeOptionIndex},unregisterOption(t){let i=u(l=>{let d=l.findIndex(O=>O.id===t);return d!==-1&&l.splice(d,1),l});s.value=i.options,p.value=i.activeOptionIndex,a.value=1},theirOnChange(t){o.disabled||L(t)},select(t){o.disabled||L(P(D.value,{[0]:()=>t,[1]:()=>{let i=R(k.value.value).slice(),l=R(t),d=i.findIndex(O=>k.compare(l,R(O)));return d===-1?i.push(l):i.splice(d,1),i}}))}};X([f,v],(t,i)=>{var l;k.closeListbox(),ue(i,le.Loose)||(t.preventDefault(),(l=S(f))==null||l.focus())},x(()=>n.value===0)),W($,k),ie(x(()=>P(n.value,{[0]:B.Open,[1]:B.Closed})));let C=x(()=>{var t;return(t=S(f))==null?void 0:t.closest("form")});return K(()=>{H([C],()=>{if(!C.value||o.defaultValue===void 0)return;function t(){k.theirOnChange(o.defaultValue)}return C.value.addEventListener("reset",t),()=>{var i;(i=C.value)==null||i.removeEventListener("reset",t)}},{immediate:!0})}),()=>{let{name:t,modelValue:i,disabled:l,form:d,...O}=o,h={open:n.value===0,disabled:l,value:M.value};return N(z,[...t!=null&&M.value!=null?se({[t]:M.value}).map(([I,Q])=>N(oe,de({features:te.Hidden,key:I,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:d,disabled:l,name:I,value:Q}))):[],j({ourProps:{},theirProps:{...r,...fe(O,["defaultValue","onUpdate:modelValue","horizontal","multiple","by"])},slot:h,slots:b,attrs:r,name:"Listbox"})])}}}),Ee=E({name:"ListboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r}){var f;let w=(f=o.id)!=null?f:`headlessui-listbox-label-${F()}`,n=A("ListboxLabel");function e(){var v;(v=S(n.buttonRef))==null||v.focus({preventScroll:!0})}return()=>{let v={open:n.listboxState.value===0,disabled:n.disabled.value},{...s}=o,m={id:w,ref:n.labelRef,onClick:e};return j({ourProps:m,theirProps:s,slot:v,attrs:b,slots:r,name:"ListboxLabel"})}}}),je=E({name:"ListboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-button-${F()}`,e=A("ListboxButton");w({el:e.buttonRef,$el:e.buttonRef});function f(a){switch(a.key){case c.Space:case c.Enter:case c.ArrowDown:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.First)});break;case c.ArrowUp:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.Last)});break}}function v(a){switch(a.key){case c.Space:a.preventDefault();break}}function s(a){e.disabled.value||(e.listboxState.value===0?(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(a.preventDefault(),e.openListbox(),me(()=>{var u;return(u=S(e.optionsRef))==null?void 0:u.focus({preventScroll:!0})})))}let m=Y(x(()=>({as:o.as,type:b.type})),e.buttonRef);return()=>{var y,L;let a={open:e.listboxState.value===0,disabled:e.disabled.value,value:e.value.value},{...u}=o,D={ref:e.buttonRef,id:n,type:m.value,"aria-haspopup":"listbox","aria-controls":(y=S(e.optionsRef))==null?void 0:y.id,"aria-expanded":e.listboxState.value===0,"aria-labelledby":e.labelRef.value?[(L=S(e.labelRef))==null?void 0:L.id,n].join(" "):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:f,onKeyup:v,onClick:s};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,name:"ListboxButton"})}}}),Ae=E({name:"ListboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-options-${F()}`,e=A("ListboxOptions"),f=T(null);w({el:e.optionsRef,$el:e.optionsRef});function v(a){switch(f.value&&clearTimeout(f.value),a.key){case c.Space:if(e.searchQuery.value!=="")return a.preventDefault(),a.stopPropagation(),e.search(a.key);case c.Enter:if(a.preventDefault(),a.stopPropagation(),e.activeOptionIndex.value!==null){let u=e.options.value[e.activeOptionIndex.value];e.select(u.dataRef.value)}e.mode.value===0&&(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})}));break;case P(e.orientation.value,{vertical:c.ArrowDown,horizontal:c.ArrowRight}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Next);case P(e.orientation.value,{vertical:c.ArrowUp,horizontal:c.ArrowLeft}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Previous);case c.Home:case c.PageUp:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.First);case c.End:case c.PageDown:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Last);case c.Escape:a.preventDefault(),a.stopPropagation(),e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})});break;case c.Tab:a.preventDefault(),a.stopPropagation();break;default:a.key.length===1&&(e.search(a.key),f.value=setTimeout(()=>e.clearSearch(),350));break}}let s=ae(),m=x(()=>s!==null?(s.value&B.Open)===B.Open:e.listboxState.value===0);return()=>{var y,L;let a={open:e.listboxState.value===0},{...u}=o,D={"aria-activedescendant":e.activeOptionIndex.value===null||(y=e.options.value[e.activeOptionIndex.value])==null?void 0:y.id,"aria-multiselectable":e.mode.value===1?!0:void 0,"aria-labelledby":(L=S(e.buttonRef))==null?void 0:L.id,"aria-orientation":e.orientation.value,id:n,onKeydown:v,role:"listbox",tabIndex:0,ref:e.optionsRef};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,features:U.RenderStrategy|U.Static,visible:m.value,name:"ListboxOptions"})}}}),Fe=E({name:"ListboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:b,attrs:r,expose:w}){var C;let n=(C=o.id)!=null?C:`headlessui-listbox-option-${F()}`,e=A("ListboxOption"),f=T(null);w({el:f,$el:f});let v=x(()=>e.activeOptionIndex.value!==null?e.options.value[e.activeOptionIndex.value].id===n:!1),s=x(()=>P(e.mode.value,{[0]:()=>e.compare(R(e.value.value),R(o.value)),[1]:()=>R(e.value.value).some(t=>e.compare(R(t),R(o.value)))})),m=x(()=>P(e.mode.value,{[1]:()=>{var i;let t=R(e.value.value);return((i=e.options.value.find(l=>t.some(d=>e.compare(R(d),R(l.dataRef.value)))))==null?void 0:i.id)===n},[0]:()=>s.value})),p=Z(f),a=x(()=>({disabled:o.disabled,value:o.value,get textValue(){return p()},domRef:f}));K(()=>e.registerOption(n,a)),q(()=>e.unregisterOption(n)),K(()=>{H([e.listboxState,s],()=>{e.listboxState.value===0&&s.value&&P(e.mode.value,{[1]:()=>{m.value&&e.goToOption(g.Specific,n)},[0]:()=>{e.goToOption(g.Specific,n)}})},{immediate:!0})}),G(()=>{e.listboxState.value===0&&v.value&&e.activationTrigger.value!==0&&V(()=>{var t,i;return(i=(t=S(f))==null?void 0:t.scrollIntoView)==null?void 0:i.call(t,{block:"nearest"})})});function u(t){if(o.disabled)return t.preventDefault();e.select(o.value),e.mode.value===0&&(e.closeListbox(),V(()=>{var i;return(i=S(e.buttonRef))==null?void 0:i.focus({preventScroll:!0})}))}function D(){if(o.disabled)return e.goToOption(g.Nothing);e.goToOption(g.Specific,n)}let y=ee();function L(t){y.update(t)}function M(t){y.wasMoved(t)&&(o.disabled||v.value||e.goToOption(g.Specific,n,0))}function k(t){y.wasMoved(t)&&(o.disabled||v.value&&e.goToOption(g.Nothing))}return()=>{let{disabled:t}=o,i={active:v.value,selected:s.value,disabled:t},{value:l,disabled:d,...O}=o,h={id:n,ref:f,role:"option",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":s.value,disabled:void 0,onClick:u,onFocus:D,onPointerenter:L,onMouseenter:L,onPointermove:M,onMousemove:M,onPointerleave:k,onMouseleave:k};return j({ourProps:h,theirProps:O,slot:i,attrs:r,slots:b,name:"ListboxOption"})}}});export{Ie as Listbox,je as ListboxButton,Ee as ListboxLabel,Fe as ListboxOption,Ae as ListboxOptions}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/menu/menu.js b/.output/server/node_modules/@headlessui/vue/dist/components/menu/menu.js new file mode 100644 index 00000000..f4e2cd15 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/menu/menu.js @@ -0,0 +1 @@ +import{computed as y,defineComponent as T,inject as K,nextTick as x,onMounted as N,onUnmounted as j,provide as L,ref as R,watchEffect as B}from"vue";import{useId as w}from'../../hooks/use-id.js';import{useOutsideClick as U}from'../../hooks/use-outside-click.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useTextValue as V}from'../../hooks/use-text-value.js';import{useTrackedPointer as H}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{State as D,useOpenClosed as _,useOpenClosedProvider as q}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as W,Focus as S}from'../../utils/calculate-active-index.js';import{dom as m}from'../../utils/dom.js';import{Focus as E,FocusableMode as J,focusFrom as z,isFocusableElement as G,restoreFocusIfNecessary as k,sortByDomNode as X}from'../../utils/focus-management.js';import{match as Y}from'../../utils/match.js';import{Features as F,render as P}from'../../utils/render.js';var Z=(i=>(i[i.Open=0]="Open",i[i.Closed=1]="Closed",i))(Z||{}),ee=(i=>(i[i.Pointer=0]="Pointer",i[i.Other=1]="Other",i))(ee||{});function te(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let A=Symbol("MenuContext");function O(o){let M=K(A,null);if(M===null){let i=new Error(`<${o} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,O),i}return M}let ge=T({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(o,{slots:M,attrs:i}){let I=R(1),p=R(null),e=R(null),r=R([]),f=R(""),d=R(null),g=R(1);function b(t=a=>a){let a=d.value!==null?r.value[d.value]:null,n=X(t(r.value.slice()),v=>m(v.dataRef.domRef)),s=a?n.indexOf(a):null;return s===-1&&(s=null),{items:n,activeItemIndex:s}}let l={menuState:I,buttonRef:p,itemsRef:e,items:r,searchQuery:f,activeItemIndex:d,activationTrigger:g,closeMenu:()=>{I.value=1,d.value=null},openMenu:()=>I.value=0,goToItem(t,a,n){let s=b(),v=W(t===S.Specific?{focus:S.Specific,id:a}:{focus:t},{resolveItems:()=>s.items,resolveActiveIndex:()=>s.activeItemIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.disabled});f.value="",d.value=v,g.value=n!=null?n:1,r.value=s.items},search(t){let n=f.value!==""?0:1;f.value+=t.toLowerCase();let v=(d.value!==null?r.value.slice(d.value+n).concat(r.value.slice(0,d.value+n)):r.value).find(h=>h.dataRef.textValue.startsWith(f.value)&&!h.dataRef.disabled),u=v?r.value.indexOf(v):-1;u===-1||u===d.value||(d.value=u,g.value=1)},clearSearch(){f.value=""},registerItem(t,a){let n=b(s=>[...s,{id:t,dataRef:a}]);r.value=n.items,d.value=n.activeItemIndex,g.value=1},unregisterItem(t){let a=b(n=>{let s=n.findIndex(v=>v.id===t);return s!==-1&&n.splice(s,1),n});r.value=a.items,d.value=a.activeItemIndex,g.value=1}};return U([p,e],(t,a)=>{var n;l.closeMenu(),G(a,J.Loose)||(t.preventDefault(),(n=m(p))==null||n.focus())},y(()=>I.value===0)),L(A,l),q(y(()=>Y(I.value,{[0]:D.Open,[1]:D.Closed}))),()=>{let t={open:I.value===0,close:l.closeMenu};return P({ourProps:{},theirProps:o,slot:t,slots:M,attrs:i,name:"Menu"})}}}),Se=T({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var b;let p=(b=o.id)!=null?b:`headlessui-menu-button-${w()}`,e=O("MenuButton");I({el:e.buttonRef,$el:e.buttonRef});function r(l){switch(l.key){case c.Space:case c.Enter:case c.ArrowDown:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.First)});break;case c.ArrowUp:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.Last)});break}}function f(l){switch(l.key){case c.Space:l.preventDefault();break}}function d(l){o.disabled||(e.menuState.value===0?(e.closeMenu(),x(()=>{var t;return(t=m(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})})):(l.preventDefault(),e.openMenu(),te(()=>{var t;return(t=m(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let g=$(y(()=>({as:o.as,type:M.type})),e.buttonRef);return()=>{var n;let l={open:e.menuState.value===0},{...t}=o,a={ref:e.buttonRef,id:p,type:g.value,"aria-haspopup":"menu","aria-controls":(n=m(e.itemsRef))==null?void 0:n.id,"aria-expanded":e.menuState.value===0,onKeydown:r,onKeyup:f,onClick:d};return P({ourProps:a,theirProps:t,slot:l,attrs:M,slots:i,name:"MenuButton"})}}}),Me=T({name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var l;let p=(l=o.id)!=null?l:`headlessui-menu-items-${w()}`,e=O("MenuItems"),r=R(null);I({el:e.itemsRef,$el:e.itemsRef}),Q({container:y(()=>m(e.itemsRef)),enabled:y(()=>e.menuState.value===0),accept(t){return t.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:t.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute("role","none")}});function f(t){var a;switch(r.value&&clearTimeout(r.value),t.key){case c.Space:if(e.searchQuery.value!=="")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case c.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let s=e.items.value[e.activeItemIndex.value];(a=m(s.dataRef.domRef))==null||a.click()}e.closeMenu(),k(m(e.buttonRef));break;case c.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Next);case c.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Previous);case c.Home:case c.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.First);case c.End:case c.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Last);case c.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>{var n;return(n=m(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case c.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>z(m(e.buttonRef),t.shiftKey?E.Previous:E.Next));break;default:t.key.length===1&&(e.search(t.key),r.value=setTimeout(()=>e.clearSearch(),350));break}}function d(t){switch(t.key){case c.Space:t.preventDefault();break}}let g=_(),b=y(()=>g!==null?(g.value&D.Open)===D.Open:e.menuState.value===0);return()=>{var s,v;let t={open:e.menuState.value===0},{...a}=o,n={"aria-activedescendant":e.activeItemIndex.value===null||(s=e.items.value[e.activeItemIndex.value])==null?void 0:s.id,"aria-labelledby":(v=m(e.buttonRef))==null?void 0:v.id,id:p,onKeydown:f,onKeyup:d,role:"menu",tabIndex:0,ref:e.itemsRef};return P({ourProps:n,theirProps:a,slot:t,attrs:M,slots:i,features:F.RenderStrategy|F.Static,visible:b.value,name:"MenuItems"})}}}),be=T({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:M,attrs:i,expose:I}){var v;let p=(v=o.id)!=null?v:`headlessui-menu-item-${w()}`,e=O("MenuItem"),r=R(null);I({el:r,$el:r});let f=y(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===p:!1),d=V(r),g=y(()=>({disabled:o.disabled,get textValue(){return d()},domRef:r}));N(()=>e.registerItem(p,g)),j(()=>e.unregisterItem(p)),B(()=>{e.menuState.value===0&&f.value&&e.activationTrigger.value!==0&&x(()=>{var u,h;return(h=(u=m(r))==null?void 0:u.scrollIntoView)==null?void 0:h.call(u,{block:"nearest"})})});function b(u){if(o.disabled)return u.preventDefault();e.closeMenu(),k(m(e.buttonRef))}function l(){if(o.disabled)return e.goToItem(S.Nothing);e.goToItem(S.Specific,p)}let t=H();function a(u){t.update(u)}function n(u){t.wasMoved(u)&&(o.disabled||f.value||e.goToItem(S.Specific,p,0))}function s(u){t.wasMoved(u)&&(o.disabled||f.value&&e.goToItem(S.Nothing))}return()=>{let{disabled:u,...h}=o,C={active:f.value,disabled:u,close:e.closeMenu};return P({ourProps:{id:p,ref:r,role:"menuitem",tabIndex:u===!0?void 0:-1,"aria-disabled":u===!0?!0:void 0,onClick:b,onFocus:l,onPointerenter:a,onMouseenter:a,onPointermove:n,onMousemove:n,onPointerleave:s,onMouseleave:s},theirProps:{...i,...h},slot:C,attrs:i,slots:M,name:"MenuItem"})}}});export{ge as Menu,Se as MenuButton,be as MenuItem,Me as MenuItems}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/popover/popover.js b/.output/server/node_modules/@headlessui/vue/dist/components/popover/popover.js new file mode 100644 index 00000000..671f1738 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/popover/popover.js @@ -0,0 +1 @@ +import{computed as O,defineComponent as j,Fragment as W,h as T,inject as q,onMounted as ee,onUnmounted as te,provide as z,ref as R,shallowRef as ie,watchEffect as J}from"vue";import{useNestedPortals as se}from'../../components/portal/portal.js';import{useEventListener as pe}from'../../hooks/use-event-listener.js';import{useId as H}from'../../hooks/use-id.js';import{useOutsideClick as fe}from'../../hooks/use-outside-click.js';import{useResolveButtonType as ve}from'../../hooks/use-resolve-button-type.js';import{useMainTreeNode as ce,useRootContainers as de}from'../../hooks/use-root-containers.js';import{Direction as M,useTabDirection as oe}from'../../hooks/use-tab-direction.js';import{Features as Q,Hidden as X}from'../../internal/hidden.js';import{State as N,useOpenClosed as ne,useOpenClosedProvider as Pe}from'../../internal/open-closed.js';import{Keys as k}from'../../keyboard.js';import{dom as n}from'../../utils/dom.js';import{Focus as D,FocusableMode as me,focusIn as B,FocusResult as Y,getFocusableElements as Z,isFocusableElement as be}from'../../utils/focus-management.js';import{match as K}from'../../utils/match.js';import'../../utils/micro-task.js';import{getOwnerDocument as V}from'../../utils/owner.js';import{Features as _,render as A}from'../../utils/render.js';var Se=(s=>(s[s.Open=0]="Open",s[s.Closed=1]="Closed",s))(Se||{});let re=Symbol("PopoverContext");function U(d){let P=q(re,null);if(P===null){let s=new Error(`<${d} /> is missing a parent <${ye.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,U),s}return P}let le=Symbol("PopoverGroupContext");function ae(){return q(le,null)}let ue=Symbol("PopoverPanelContext");function ge(){return q(ue,null)}let ye=j({name:"Popover",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(d,{slots:P,attrs:s,expose:h}){var u;let f=R(null);h({el:f,$el:f});let t=R(1),o=R(null),y=R(null),v=R(null),m=R(null),b=O(()=>V(f)),E=O(()=>{var L,$;if(!n(o)||!n(m))return!1;for(let x of document.querySelectorAll("body > *"))if(Number(x==null?void 0:x.contains(n(o)))^Number(x==null?void 0:x.contains(n(m))))return!0;let e=Z(),r=e.indexOf(n(o)),l=(r+e.length-1)%e.length,g=(r+1)%e.length,G=e[l],C=e[g];return!((L=n(m))!=null&&L.contains(G))&&!(($=n(m))!=null&&$.contains(C))}),a={popoverState:t,buttonId:R(null),panelId:R(null),panel:m,button:o,isPortalled:E,beforePanelSentinel:y,afterPanelSentinel:v,togglePopover(){t.value=K(t.value,{[0]:1,[1]:0})},closePopover(){t.value!==1&&(t.value=1)},close(e){a.closePopover();let r=(()=>e?e instanceof HTMLElement?e:e.value instanceof HTMLElement?n(e):n(a.button):n(a.button))();r==null||r.focus()}};z(re,a),Pe(O(()=>K(t.value,{[0]:N.Open,[1]:N.Closed})));let S={buttonId:a.buttonId,panelId:a.panelId,close(){a.closePopover()}},c=ae(),I=c==null?void 0:c.registerPopover,[F,w]=se(),i=de({mainTreeNodeRef:c==null?void 0:c.mainTreeNodeRef,portals:F,defaultContainers:[o,m]});function p(){var e,r,l,g;return(g=c==null?void 0:c.isFocusWithinPopoverGroup())!=null?g:((e=b.value)==null?void 0:e.activeElement)&&(((r=n(o))==null?void 0:r.contains(b.value.activeElement))||((l=n(m))==null?void 0:l.contains(b.value.activeElement)))}return J(()=>I==null?void 0:I(S)),pe((u=b.value)==null?void 0:u.defaultView,"focus",e=>{var r,l;e.target!==window&&e.target instanceof HTMLElement&&t.value===0&&(p()||o&&m&&(i.contains(e.target)||(r=n(a.beforePanelSentinel))!=null&&r.contains(e.target)||(l=n(a.afterPanelSentinel))!=null&&l.contains(e.target)||a.closePopover()))},!0),fe(i.resolveContainers,(e,r)=>{var l;a.closePopover(),be(r,me.Loose)||(e.preventDefault(),(l=n(o))==null||l.focus())},O(()=>t.value===0)),()=>{let e={open:t.value===0,close:a.close};return T(W,[T(w,{},()=>A({theirProps:{...d,...s},ourProps:{ref:f},slot:e,slots:P,attrs:s,name:"Popover"})),T(i.MainTreeNode)])}}}),Ge=j({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},inheritAttrs:!1,setup(d,{attrs:P,slots:s,expose:h}){var u;let f=(u=d.id)!=null?u:`headlessui-popover-button-${H()}`,t=U("PopoverButton"),o=O(()=>V(t.button));h({el:t.button,$el:t.button}),ee(()=>{t.buttonId.value=f}),te(()=>{t.buttonId.value=null});let y=ae(),v=y==null?void 0:y.closeOthers,m=ge(),b=O(()=>m===null?!1:m.value===t.panelId.value),E=R(null),a=`headlessui-focus-sentinel-${H()}`;b.value||J(()=>{t.button.value=n(E)});let S=ve(O(()=>({as:d.as,type:P.type})),E);function c(e){var r,l,g,G,C;if(b.value){if(t.popoverState.value===1)return;switch(e.key){case k.Space:case k.Enter:e.preventDefault(),(l=(r=e.target).click)==null||l.call(r),t.closePopover(),(g=n(t.button))==null||g.focus();break}}else switch(e.key){case k.Space:case k.Enter:e.preventDefault(),e.stopPropagation(),t.popoverState.value===1&&(v==null||v(t.buttonId.value)),t.togglePopover();break;case k.Escape:if(t.popoverState.value!==0)return v==null?void 0:v(t.buttonId.value);if(!n(t.button)||(G=o.value)!=null&&G.activeElement&&!((C=n(t.button))!=null&&C.contains(o.value.activeElement)))return;e.preventDefault(),e.stopPropagation(),t.closePopover();break}}function I(e){b.value||e.key===k.Space&&e.preventDefault()}function F(e){var r,l;d.disabled||(b.value?(t.closePopover(),(r=n(t.button))==null||r.focus()):(e.preventDefault(),e.stopPropagation(),t.popoverState.value===1&&(v==null||v(t.buttonId.value)),t.togglePopover(),(l=n(t.button))==null||l.focus()))}function w(e){e.preventDefault(),e.stopPropagation()}let i=oe();function p(){let e=n(t.panel);if(!e)return;function r(){K(i.value,{[M.Forwards]:()=>B(e,D.First),[M.Backwards]:()=>B(e,D.Last)})===Y.Error&&B(Z().filter(g=>g.dataset.headlessuiFocusGuard!=="true"),K(i.value,{[M.Forwards]:D.Next,[M.Backwards]:D.Previous}),{relativeTo:n(t.button)})}r()}return()=>{let e=t.popoverState.value===0,r={open:e},{...l}=d,g=b.value?{ref:E,type:S.value,onKeydown:c,onClick:F}:{ref:E,id:f,type:S.value,"aria-expanded":t.popoverState.value===0,"aria-controls":n(t.panel)?t.panelId.value:void 0,disabled:d.disabled?!0:void 0,onKeydown:c,onKeyup:I,onClick:F,onMousedown:w};return T(W,[A({ourProps:g,theirProps:{...P,...l},slot:r,attrs:P,slots:s,name:"PopoverButton"}),e&&!b.value&&t.isPortalled.value&&T(X,{id:a,features:Q.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:p})])}}}),$e=j({name:"PopoverOverlay",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},setup(d,{attrs:P,slots:s}){let h=U("PopoverOverlay"),f=`headlessui-popover-overlay-${H()}`,t=ne(),o=O(()=>t!==null?(t.value&N.Open)===N.Open:h.popoverState.value===0);function y(){h.closePopover()}return()=>{let v={open:h.popoverState.value===0};return A({ourProps:{id:f,"aria-hidden":!0,onClick:y},theirProps:d,slot:v,attrs:P,slots:s,features:_.RenderStrategy|_.Static,visible:o.value,name:"PopoverOverlay"})}}}),je=j({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:null}},inheritAttrs:!1,setup(d,{attrs:P,slots:s,expose:h}){var w;let f=(w=d.id)!=null?w:`headlessui-popover-panel-${H()}`,{focus:t}=d,o=U("PopoverPanel"),y=O(()=>V(o.panel)),v=`headlessui-focus-sentinel-before-${H()}`,m=`headlessui-focus-sentinel-after-${H()}`;h({el:o.panel,$el:o.panel}),ee(()=>{o.panelId.value=f}),te(()=>{o.panelId.value=null}),z(ue,o.panelId),J(()=>{var p,u;if(!t||o.popoverState.value!==0||!o.panel)return;let i=(p=y.value)==null?void 0:p.activeElement;(u=n(o.panel))!=null&&u.contains(i)||B(n(o.panel),D.First)});let b=ne(),E=O(()=>b!==null?(b.value&N.Open)===N.Open:o.popoverState.value===0);function a(i){var p,u;switch(i.key){case k.Escape:if(o.popoverState.value!==0||!n(o.panel)||y.value&&!((p=n(o.panel))!=null&&p.contains(y.value.activeElement)))return;i.preventDefault(),i.stopPropagation(),o.closePopover(),(u=n(o.button))==null||u.focus();break}}function S(i){var u,e,r,l,g;let p=i.relatedTarget;p&&n(o.panel)&&((u=n(o.panel))!=null&&u.contains(p)||(o.closePopover(),((r=(e=n(o.beforePanelSentinel))==null?void 0:e.contains)!=null&&r.call(e,p)||(g=(l=n(o.afterPanelSentinel))==null?void 0:l.contains)!=null&&g.call(l,p))&&p.focus({preventScroll:!0})))}let c=oe();function I(){let i=n(o.panel);if(!i)return;function p(){K(c.value,{[M.Forwards]:()=>{var e;B(i,D.First)===Y.Error&&((e=n(o.afterPanelSentinel))==null||e.focus())},[M.Backwards]:()=>{var u;(u=n(o.button))==null||u.focus({preventScroll:!0})}})}p()}function F(){let i=n(o.panel);if(!i)return;function p(){K(c.value,{[M.Forwards]:()=>{let u=n(o.button),e=n(o.panel);if(!u)return;let r=Z(),l=r.indexOf(u),g=r.slice(0,l+1),C=[...r.slice(l+1),...g];for(let L of C.slice())if(L.dataset.headlessuiFocusGuard==="true"||e!=null&&e.contains(L)){let $=C.indexOf(L);$!==-1&&C.splice($,1)}B(C,D.First,{sorted:!1})},[M.Backwards]:()=>{var e;B(i,D.Previous)===Y.Error&&((e=n(o.button))==null||e.focus())}})}p()}return()=>{let i={open:o.popoverState.value===0,close:o.close},{focus:p,...u}=d,e={ref:o.panel,id:f,onKeydown:a,onFocusout:t&&o.popoverState.value===0?S:void 0,tabIndex:-1};return A({ourProps:e,theirProps:{...P,...u},attrs:P,slot:i,slots:{...s,default:(...r)=>{var l;return[T(W,[E.value&&o.isPortalled.value&&T(X,{id:v,ref:o.beforePanelSentinel,features:Q.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:I}),(l=s.default)==null?void 0:l.call(s,...r),E.value&&o.isPortalled.value&&T(X,{id:m,ref:o.afterPanelSentinel,features:Q.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:F})])]}},features:_.RenderStrategy|_.Static,visible:E.value,name:"PopoverPanel"})}}}),Ae=j({name:"PopoverGroup",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(d,{attrs:P,slots:s,expose:h}){let f=R(null),t=ie([]),o=O(()=>V(f)),y=ce();h({el:f,$el:f});function v(a){let S=t.value.indexOf(a);S!==-1&&t.value.splice(S,1)}function m(a){return t.value.push(a),()=>{v(a)}}function b(){var c;let a=o.value;if(!a)return!1;let S=a.activeElement;return(c=n(f))!=null&&c.contains(S)?!0:t.value.some(I=>{var F,w;return((F=a.getElementById(I.buttonId.value))==null?void 0:F.contains(S))||((w=a.getElementById(I.panelId.value))==null?void 0:w.contains(S))})}function E(a){for(let S of t.value)S.buttonId.value!==a&&S.close()}return z(le,{registerPopover:m,unregisterPopover:v,isFocusWithinPopoverGroup:b,closeOthers:E,mainTreeNodeRef:y.mainTreeNodeRef}),()=>T(W,[A({ourProps:{ref:f},theirProps:{...d,...P},slot:{},attrs:P,slots:s,name:"PopoverGroup"}),T(y.MainTreeNode)])}});export{ye as Popover,Ge as PopoverButton,Ae as PopoverGroup,$e as PopoverOverlay,je as PopoverPanel}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/portal/portal.js b/.output/server/node_modules/@headlessui/vue/dist/components/portal/portal.js new file mode 100644 index 00000000..3b86ea51 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/portal/portal.js @@ -0,0 +1 @@ +import{computed as w,defineComponent as m,getCurrentInstance as j,h as I,inject as s,onMounted as R,onUnmounted as y,provide as E,reactive as G,ref as p,Teleport as O,watch as D,watchEffect as K}from"vue";import{usePortalRoot as S}from'../../internal/portal-force-root.js';import{dom as B}from'../../utils/dom.js';import{getOwnerDocument as C}from'../../utils/owner.js';import{render as h}from'../../utils/render.js';function x(e){let t=C(e);if(!t){if(e===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`)}let l=t.getElementById("headlessui-portal-root");if(l)return l;let r=t.createElement("div");return r.setAttribute("id","headlessui-portal-root"),t.body.appendChild(r)}const f=new WeakMap;function U(e){var t;return(t=f.get(e))!=null?t:0}function M(e,t){let l=t(U(e));return l<=0?f.delete(e):f.set(e,l),l}let $=m({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:l}){let r=p(null),i=w(()=>C(r)),o=S(),u=s(H,null),n=p(o===!0||u==null?x(r.value):u.resolveTarget());n.value&&M(n.value,a=>a+1);let c=p(!1);R(()=>{c.value=!0}),K(()=>{o||u!=null&&(n.value=u.resolveTarget())});let v=s(d,null),g=!1,b=j();return D(r,()=>{if(g||!v)return;let a=B(r);a&&(y(v.register(a),b),g=!0)}),y(()=>{var P,T;let a=(P=i.value)==null?void 0:P.getElementById("headlessui-portal-root");!a||n.value!==a||M(n.value,L=>L-1)||n.value.children.length>0||(T=n.value.parentElement)==null||T.removeChild(n.value)}),()=>{if(!c.value||n.value===null)return null;let a={ref:r,"data-headlessui-portal":""};return I(O,{to:n.value},h({ourProps:a,theirProps:e,slot:{},attrs:l,slots:t,name:"Portal"}))}}}),d=Symbol("PortalParentContext");function q(){let e=s(d,null),t=p([]);function l(o){return t.value.push(o),e&&e.register(o),()=>r(o)}function r(o){let u=t.value.indexOf(o);u!==-1&&t.value.splice(u,1),e&&e.unregister(o)}let i={register:l,unregister:r,portals:t};return[t,m({name:"PortalWrapper",setup(o,{slots:u}){return E(d,i),()=>{var n;return(n=u.default)==null?void 0:n.call(u)}}})]}let H=Symbol("PortalGroupContext"),z=m({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:l}){let r=G({resolveTarget(){return e.target}});return E(H,r),()=>{let{target:i,...o}=e;return h({theirProps:o,ourProps:{},slot:{},attrs:t,slots:l,name:"PortalGroup"})}}});export{$ as Portal,z as PortalGroup,q as useNestedPortals}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/radio-group/radio-group.js b/.output/server/node_modules/@headlessui/vue/dist/components/radio-group/radio-group.js new file mode 100644 index 00000000..7b7ad2c0 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/radio-group/radio-group.js @@ -0,0 +1 @@ +import{computed as o,defineComponent as F,Fragment as _,h as C,inject as $,onMounted as D,onUnmounted as U,provide as W,ref as k,toRaw as y,watch as J}from"vue";import{useControllable as q}from'../../hooks/use-controllable.js';import{useId as x}from'../../hooks/use-id.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{Features as X,Hidden as Y}from'../../internal/hidden.js';import{Keys as h}from'../../keyboard.js';import{dom as E}from'../../utils/dom.js';import{Focus as w,focusIn as I,FocusResult as P,sortByDomNode as Z}from'../../utils/focus-management.js';import{attemptSubmit as z,objectToFormEntries as ee}from'../../utils/form.js';import{getOwnerDocument as A}from'../../utils/owner.js';import{compact as te,omit as ae,render as B}from'../../utils/render.js';import{Description as ne,useDescriptions as V}from'../description/description.js';import{Label as re,useLabels as j}from'../label/label.js';function le(t,m){return t===m}let H=Symbol("RadioGroupContext");function N(t){let m=$(H,null);if(m===null){let u=new Error(`<${t} /> is missing a parent <RadioGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(u,N),u}return m}let he=F({name:"RadioGroup",emits:{"update:modelValue":t=>!0},props:{as:{type:[Object,String],default:"div"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>le},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},id:{type:String,default:null}},inheritAttrs:!1,setup(t,{emit:m,attrs:u,slots:S,expose:g}){var O;let d=(O=t.id)!=null?O:`headlessui-radiogroup-${x()}`,p=k(null),l=k([]),R=j({name:"RadioGroupLabel"}),T=V({name:"RadioGroupDescription"});g({el:p,$el:p});let[f,G]=q(o(()=>t.modelValue),e=>m("update:modelValue",e),o(()=>t.defaultValue)),s={options:l,value:f,disabled:o(()=>t.disabled),firstOption:o(()=>l.value.find(e=>!e.propsRef.disabled)),containsCheckedOption:o(()=>l.value.some(e=>s.compare(y(e.propsRef.value),y(t.modelValue)))),compare(e,a){if(typeof t.by=="string"){let n=t.by;return(e==null?void 0:e[n])===(a==null?void 0:a[n])}return t.by(e,a)},change(e){var n;if(t.disabled||s.compare(y(f.value),y(e)))return!1;let a=(n=l.value.find(i=>s.compare(y(i.propsRef.value),y(e))))==null?void 0:n.propsRef;return a!=null&&a.disabled?!1:(G(e),!0)},registerOption(e){l.value.push(e),l.value=Z(l.value,a=>a.element)},unregisterOption(e){let a=l.value.findIndex(n=>n.id===e);a!==-1&&l.value.splice(a,1)}};W(H,s),Q({container:o(()=>E(p)),accept(e){return e.getAttribute("role")==="radio"?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute("role","none")}});function v(e){if(!p.value||!p.value.contains(e.target))return;let a=l.value.filter(n=>n.propsRef.disabled===!1).map(n=>n.element);switch(e.key){case h.Enter:z(e.currentTarget);break;case h.ArrowLeft:case h.ArrowUp:if(e.preventDefault(),e.stopPropagation(),I(a,w.Previous|w.WrapAround)===P.Success){let i=l.value.find(r=>{var c;return r.element===((c=A(p))==null?void 0:c.activeElement)});i&&s.change(i.propsRef.value)}break;case h.ArrowRight:case h.ArrowDown:if(e.preventDefault(),e.stopPropagation(),I(a,w.Next|w.WrapAround)===P.Success){let i=l.value.find(r=>{var c;return r.element===((c=A(r.element))==null?void 0:c.activeElement)});i&&s.change(i.propsRef.value)}break;case h.Space:{e.preventDefault(),e.stopPropagation();let n=l.value.find(i=>{var r;return i.element===((r=A(i.element))==null?void 0:r.activeElement)});n&&s.change(n.propsRef.value)}break}}let b=o(()=>{var e;return(e=E(p))==null?void 0:e.closest("form")});return D(()=>{J([b],()=>{if(!b.value||t.defaultValue===void 0)return;function e(){s.change(t.defaultValue)}return b.value.addEventListener("reset",e),()=>{var a;(a=b.value)==null||a.removeEventListener("reset",e)}},{immediate:!0})}),()=>{let{disabled:e,name:a,form:n,...i}=t,r={ref:p,id:d,role:"radiogroup","aria-labelledby":R.value,"aria-describedby":T.value,onKeydown:v};return C(_,[...a!=null&&f.value!=null?ee({[a]:f.value}).map(([c,L])=>C(Y,te({features:X.Hidden,key:c,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:n,disabled:e,name:c,value:L}))):[],B({ourProps:r,theirProps:{...u,...ae(i,["modelValue","defaultValue","by"])},slot:{},attrs:u,slots:S,name:"RadioGroup"})])}}});var ie=(u=>(u[u.Empty=1]="Empty",u[u.Active=2]="Active",u))(ie||{});let Oe=F({name:"RadioGroupOption",props:{as:{type:[Object,String],default:"div"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(t,{attrs:m,slots:u,expose:S}){var i;let g=(i=t.id)!=null?i:`headlessui-radiogroup-option-${x()}`,d=N("RadioGroupOption"),p=j({name:"RadioGroupLabel"}),l=V({name:"RadioGroupDescription"}),R=k(null),T=o(()=>({value:t.value,disabled:t.disabled})),f=k(1);S({el:R,$el:R});let G=o(()=>E(R));D(()=>d.registerOption({id:g,element:G,propsRef:T})),U(()=>d.unregisterOption(g));let s=o(()=>{var r;return((r=d.firstOption.value)==null?void 0:r.id)===g}),v=o(()=>d.disabled.value||t.disabled),b=o(()=>d.compare(y(d.value.value),y(t.value))),O=o(()=>v.value?-1:b.value||!d.containsCheckedOption.value&&s.value?0:-1);function e(){var r;d.change(t.value)&&(f.value|=2,(r=E(R))==null||r.focus())}function a(){f.value|=2}function n(){f.value&=-3}return()=>{let{value:r,disabled:c,...L}=t,K={checked:b.value,disabled:v.value,active:Boolean(f.value&2)},M={id:g,ref:R,role:"radio","aria-checked":b.value?"true":"false","aria-labelledby":p.value,"aria-describedby":l.value,"aria-disabled":v.value?!0:void 0,tabIndex:O.value,onClick:v.value?void 0:e,onFocus:v.value?void 0:a,onBlur:v.value?void 0:n};return B({ourProps:M,theirProps:L,slot:K,attrs:m,slots:u,name:"RadioGroupOption"})}}}),ke=re,Ee=ne;export{he as RadioGroup,Ee as RadioGroupDescription,ke as RadioGroupLabel,Oe as RadioGroupOption}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/switch/switch.js b/.output/server/node_modules/@headlessui/vue/dist/components/switch/switch.js new file mode 100644 index 00000000..f0c61d54 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/switch/switch.js @@ -0,0 +1 @@ +import{computed as u,defineComponent as v,Fragment as H,h as S,inject as M,onMounted as I,provide as P,ref as w,watch as j}from"vue";import{useControllable as G}from'../../hooks/use-controllable.js';import{useId as V}from'../../hooks/use-id.js';import{useResolveButtonType as F}from'../../hooks/use-resolve-button-type.js';import{Features as O,Hidden as A}from'../../internal/hidden.js';import{Keys as g}from'../../keyboard.js';import{dom as N}from'../../utils/dom.js';import{attemptSubmit as $}from'../../utils/form.js';import{compact as U,omit as _,render as k}from'../../utils/render.js';import{Description as q,useDescriptions as z}from'../description/description.js';import{Label as J,useLabels as Q}from'../label/label.js';let C=Symbol("GroupContext"),oe=v({name:"SwitchGroup",props:{as:{type:[Object,String],default:"template"}},setup(l,{slots:c,attrs:i}){let r=w(null),f=Q({name:"SwitchLabel",props:{htmlFor:u(()=>{var t;return(t=r.value)==null?void 0:t.id}),onClick(t){r.value&&(t.currentTarget.tagName==="LABEL"&&t.preventDefault(),r.value.click(),r.value.focus({preventScroll:!0}))}}}),p=z({name:"SwitchDescription"});return P(C,{switchRef:r,labelledby:f,describedby:p}),()=>k({theirProps:l,ourProps:{},slot:{},slots:c,attrs:i,name:"SwitchGroup"})}}),ue=v({name:"Switch",emits:{"update:modelValue":l=>!0},props:{as:{type:[Object,String],default:"button"},modelValue:{type:Boolean,default:void 0},defaultChecked:{type:Boolean,optional:!0},form:{type:String,optional:!0},name:{type:String,optional:!0},value:{type:String,optional:!0},id:{type:String,default:null},disabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0}},inheritAttrs:!1,setup(l,{emit:c,attrs:i,slots:r,expose:f}){var h;let p=(h=l.id)!=null?h:`headlessui-switch-${V()}`,n=M(C,null),[t,s]=G(u(()=>l.modelValue),e=>c("update:modelValue",e),u(()=>l.defaultChecked));function m(){s(!t.value)}let E=w(null),o=n===null?E:n.switchRef,L=F(u(()=>({as:l.as,type:i.type})),o);f({el:o,$el:o});function D(e){e.preventDefault(),m()}function R(e){e.key===g.Space?(e.preventDefault(),m()):e.key===g.Enter&&$(e.currentTarget)}function x(e){e.preventDefault()}let d=u(()=>{var e,a;return(a=(e=N(o))==null?void 0:e.closest)==null?void 0:a.call(e,"form")});return I(()=>{j([d],()=>{if(!d.value||l.defaultChecked===void 0)return;function e(){s(l.defaultChecked)}return d.value.addEventListener("reset",e),()=>{var a;(a=d.value)==null||a.removeEventListener("reset",e)}},{immediate:!0})}),()=>{let{name:e,value:a,form:K,tabIndex:y,...b}=l,T={checked:t.value},B={id:p,ref:o,role:"switch",type:L.value,tabIndex:y===-1?0:y,"aria-checked":t.value,"aria-labelledby":n==null?void 0:n.labelledby.value,"aria-describedby":n==null?void 0:n.describedby.value,onClick:D,onKeyup:R,onKeypress:x};return S(H,[e!=null&&t.value!=null?S(A,U({features:O.Hidden,as:"input",type:"checkbox",hidden:!0,readOnly:!0,checked:t.value,form:K,disabled:b.disabled,name:e,value:a})):null,k({ourProps:B,theirProps:{...i,..._(b,["modelValue","defaultChecked"])},slot:T,attrs:i,slots:r,name:"Switch"})])}}}),de=J,ce=q;export{ue as Switch,ce as SwitchDescription,oe as SwitchGroup,de as SwitchLabel}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/tabs/tabs.js b/.output/server/node_modules/@headlessui/vue/dist/components/tabs/tabs.js new file mode 100644 index 00000000..3847f667 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/tabs/tabs.js @@ -0,0 +1 @@ +import{computed as v,defineComponent as L,Fragment as z,h as A,inject as j,onMounted as F,onUnmounted as K,provide as N,ref as P,watch as _,watchEffect as J}from"vue";import{useId as $}from'../../hooks/use-id.js';import{useResolveButtonType as Q}from'../../hooks/use-resolve-button-type.js';import{FocusSentinel as V}from'../../internal/focus-sentinel.js';import{Hidden as X}from'../../internal/hidden.js';import{Keys as S}from'../../keyboard.js';import{dom as f}from'../../utils/dom.js';import{Focus as g,focusIn as D,FocusResult as B,sortByDomNode as k}from'../../utils/focus-management.js';import{match as H}from'../../utils/match.js';import{microTask as Y}from'../../utils/micro-task.js';import{getOwnerDocument as Z}from'../../utils/owner.js';import{Features as q,omit as ee,render as M}from'../../utils/render.js';var te=(s=>(s[s.Forwards=0]="Forwards",s[s.Backwards=1]="Backwards",s))(te||{}),le=(d=>(d[d.Less=-1]="Less",d[d.Equal=0]="Equal",d[d.Greater=1]="Greater",d))(le||{});let U=Symbol("TabsContext");function C(a){let b=j(U,null);if(b===null){let s=new Error(`<${a} /> is missing a parent <TabGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,C),s}return b}let G=Symbol("TabsSSRContext"),me=L({name:"TabGroup",emits:{change:a=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(a,{slots:b,attrs:s,emit:d}){var E;let i=P((E=a.selectedIndex)!=null?E:a.defaultIndex),l=P([]),r=P([]),p=v(()=>a.selectedIndex!==null),R=v(()=>p.value?a.selectedIndex:i.value);function y(t){var c;let n=k(u.tabs.value,f),o=k(u.panels.value,f),e=n.filter(I=>{var m;return!((m=f(I))!=null&&m.hasAttribute("disabled"))});if(t<0||t>n.length-1){let I=H(i.value===null?0:Math.sign(t-i.value),{[-1]:()=>1,[0]:()=>H(Math.sign(t),{[-1]:()=>0,[0]:()=>0,[1]:()=>1}),[1]:()=>0}),m=H(I,{[0]:()=>n.indexOf(e[0]),[1]:()=>n.indexOf(e[e.length-1])});m!==-1&&(i.value=m),u.tabs.value=n,u.panels.value=o}else{let I=n.slice(0,t),h=[...n.slice(t),...I].find(W=>e.includes(W));if(!h)return;let O=(c=n.indexOf(h))!=null?c:u.selectedIndex.value;O===-1&&(O=u.selectedIndex.value),i.value=O,u.tabs.value=n,u.panels.value=o}}let u={selectedIndex:v(()=>{var t,n;return(n=(t=i.value)!=null?t:a.defaultIndex)!=null?n:null}),orientation:v(()=>a.vertical?"vertical":"horizontal"),activation:v(()=>a.manual?"manual":"auto"),tabs:l,panels:r,setSelectedIndex(t){R.value!==t&&d("change",t),p.value||y(t)},registerTab(t){var o;if(l.value.includes(t))return;let n=l.value[i.value];if(l.value.push(t),l.value=k(l.value,f),!p.value){let e=(o=l.value.indexOf(n))!=null?o:i.value;e!==-1&&(i.value=e)}},unregisterTab(t){let n=l.value.indexOf(t);n!==-1&&l.value.splice(n,1)},registerPanel(t){r.value.includes(t)||(r.value.push(t),r.value=k(r.value,f))},unregisterPanel(t){let n=r.value.indexOf(t);n!==-1&&r.value.splice(n,1)}};N(U,u);let T=P({tabs:[],panels:[]}),x=P(!1);F(()=>{x.value=!0}),N(G,v(()=>x.value?null:T.value));let w=v(()=>a.selectedIndex);return F(()=>{_([w],()=>{var t;return y((t=a.selectedIndex)!=null?t:a.defaultIndex)},{immediate:!0})}),J(()=>{if(!p.value||R.value==null||u.tabs.value.length<=0)return;let t=k(u.tabs.value,f);t.some((o,e)=>f(u.tabs.value[e])!==f(o))&&u.setSelectedIndex(t.findIndex(o=>f(o)===f(u.tabs.value[R.value])))}),()=>{let t={selectedIndex:i.value};return A(z,[l.value.length<=0&&A(V,{onFocus:()=>{for(let n of l.value){let o=f(n);if((o==null?void 0:o.tabIndex)===0)return o.focus(),!0}return!1}}),M({theirProps:{...s,...ee(a,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:t,slots:b,attrs:s,name:"TabGroup"})])}}}),pe=L({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(a,{attrs:b,slots:s}){let d=C("TabList");return()=>{let i={selectedIndex:d.selectedIndex.value},l={role:"tablist","aria-orientation":d.orientation.value};return M({ourProps:l,theirProps:a,slot:i,attrs:b,slots:s,name:"TabList"})}}}),xe=L({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(a,{attrs:b,slots:s,expose:d}){var o;let i=(o=a.id)!=null?o:`headlessui-tabs-tab-${$()}`,l=C("Tab"),r=P(null);d({el:r,$el:r}),F(()=>l.registerTab(r)),K(()=>l.unregisterTab(r));let p=j(G),R=v(()=>{if(p.value){let e=p.value.tabs.indexOf(i);return e===-1?p.value.tabs.push(i)-1:e}return-1}),y=v(()=>{let e=l.tabs.value.indexOf(r);return e===-1?R.value:e}),u=v(()=>y.value===l.selectedIndex.value);function T(e){var I;let c=e();if(c===B.Success&&l.activation.value==="auto"){let m=(I=Z(r))==null?void 0:I.activeElement,h=l.tabs.value.findIndex(O=>f(O)===m);h!==-1&&l.setSelectedIndex(h)}return c}function x(e){let c=l.tabs.value.map(m=>f(m)).filter(Boolean);if(e.key===S.Space||e.key===S.Enter){e.preventDefault(),e.stopPropagation(),l.setSelectedIndex(y.value);return}switch(e.key){case S.Home:case S.PageUp:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.First));case S.End:case S.PageDown:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.Last))}if(T(()=>H(l.orientation.value,{vertical(){return e.key===S.ArrowUp?D(c,g.Previous|g.WrapAround):e.key===S.ArrowDown?D(c,g.Next|g.WrapAround):B.Error},horizontal(){return e.key===S.ArrowLeft?D(c,g.Previous|g.WrapAround):e.key===S.ArrowRight?D(c,g.Next|g.WrapAround):B.Error}}))===B.Success)return e.preventDefault()}let w=P(!1);function E(){var e;w.value||(w.value=!0,!a.disabled&&((e=f(r))==null||e.focus({preventScroll:!0}),l.setSelectedIndex(y.value),Y(()=>{w.value=!1})))}function t(e){e.preventDefault()}let n=Q(v(()=>({as:a.as,type:b.type})),r);return()=>{var m,h;let e={selected:u.value,disabled:(m=a.disabled)!=null?m:!1},{...c}=a,I={ref:r,onKeydown:x,onMousedown:t,onClick:E,id:i,role:"tab",type:n.value,"aria-controls":(h=f(l.panels.value[y.value]))==null?void 0:h.id,"aria-selected":u.value,tabIndex:u.value?0:-1,disabled:a.disabled?!0:void 0};return M({ourProps:I,theirProps:c,slot:e,attrs:b,slots:s,name:"Tab"})}}}),Ie=L({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(a,{slots:b,attrs:s}){let d=C("TabPanels");return()=>{let i={selectedIndex:d.selectedIndex.value};return M({theirProps:a,ourProps:{},slot:i,attrs:s,slots:b,name:"TabPanels"})}}}),ye=L({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null},tabIndex:{type:Number,default:0}},setup(a,{attrs:b,slots:s,expose:d}){var T;let i=(T=a.id)!=null?T:`headlessui-tabs-panel-${$()}`,l=C("TabPanel"),r=P(null);d({el:r,$el:r}),F(()=>l.registerPanel(r)),K(()=>l.unregisterPanel(r));let p=j(G),R=v(()=>{if(p.value){let x=p.value.panels.indexOf(i);return x===-1?p.value.panels.push(i)-1:x}return-1}),y=v(()=>{let x=l.panels.value.indexOf(r);return x===-1?R.value:x}),u=v(()=>y.value===l.selectedIndex.value);return()=>{var n;let x={selected:u.value},{tabIndex:w,...E}=a,t={ref:r,id:i,role:"tabpanel","aria-labelledby":(n=f(l.tabs.value[y.value]))==null?void 0:n.id,tabIndex:u.value?w:-1};return!u.value&&a.unmount&&!a.static?A(X,{as:"span","aria-hidden":!0,...t}):M({ourProps:t,theirProps:E,slot:x,attrs:b,slots:s,features:q.Static|q.RenderStrategy,visible:u.value,name:"TabPanel"})}}});export{xe as Tab,me as TabGroup,pe as TabList,ye as TabPanel,Ie as TabPanels}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/transitions/transition.js b/.output/server/node_modules/@headlessui/vue/dist/components/transitions/transition.js new file mode 100644 index 00000000..6e127c90 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/transitions/transition.js @@ -0,0 +1 @@ +import{computed as w,defineComponent as K,h as k,inject as F,normalizeClass as ae,onMounted as C,onUnmounted as z,provide as B,ref as m,watch as le,watchEffect as x}from"vue";import{useId as ie}from'../../hooks/use-id.js';import{hasOpenClosed as se,State as u,useOpenClosed as oe,useOpenClosedProvider as ue}from'../../internal/open-closed.js';import{dom as $}from'../../utils/dom.js';import{env as fe}from'../../utils/env.js';import{match as O}from'../../utils/match.js';import{Features as de,omit as ve,render as q,RenderStrategy as T}from'../../utils/render.js';import{Reason as G,transition as J}from'./utils/transition.js';function g(e=""){return e.split(/\s+/).filter(t=>t.length>1)}let R=Symbol("TransitionContext");var pe=(a=>(a.Visible="visible",a.Hidden="hidden",a))(pe||{});function me(){return F(R,null)!==null}function Te(){let e=F(R,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}function ge(){let e=F(N,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}let N=Symbol("NestingContext");function L(e){return"children"in e?L(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function Q(e){let t=m([]),a=m(!1);C(()=>a.value=!0),z(()=>a.value=!1);function s(n,r=T.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&(O(r,{[T.Unmount](){t.value.splice(l,1)},[T.Hidden](){t.value[l].state="hidden"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!=="visible"&&(r.state="visible"):t.value.push({id:n,state:"visible"}),()=>s(n,T.Unmount)}return{children:t,register:h,unregister:s}}let W=de.RenderStrategy,he=K({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=m(0);function r(){n.value|=u.Opening,t("beforeEnter")}function l(){n.value&=~u.Opening,t("afterEnter")}function f(){n.value|=u.Closing,t("beforeLeave")}function S(){n.value&=~u.Closing,t("afterLeave")}if(!me()&&se())return()=>k(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=m(null),y=w(()=>e.unmount?T.Unmount:T.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=m(v.value?"visible":"hidden"),I={value:!0},c=ie(),b={value:!1},P=Q(()=>{!b.value&&i.value!=="hidden"&&(i.value="hidden",H(c),S())});C(()=>{let o=D(c);z(o)}),x(()=>{if(y.value===T.Hidden&&c){if(v.value&&i.value!=="visible"){i.value="visible";return}O(i.value,{["hidden"]:()=>H(c),["visible"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);C(()=>{x(()=>{if(i.value==="visible"){let o=$(d);if(o instanceof Comment&&o.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function te(o){let E=I.value&&!A.value,p=$(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?J(p,j,M,X,_,V=>{b.value=!1,V===G.Finished&&l()}):J(p,Y,Z,ee,_,V=>{b.value=!1,V===G.Finished&&(L(P)||(i.value="hidden",H(c),S()))})))}return C(()=>{le([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),B(N,P),ue(w(()=>O(i.value,{["visible"]:u.Open,["hidden"]:u.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&fe.isServer?{class:ae([a.class,U.class,...j,...M])}:{}};return q({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value==="visible",name:"TransitionChild"})}}}),ce=he,Se=K({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=oe(),n=w(()=>e.show===null&&h!==null?(h.value&u.Open)===u.Open:e.show);x(()=>{if(![!0,!1].includes(n.value))throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.')});let r=m(n.value?"visible":"hidden"),l=Q(()=>{r.value="hidden"}),f=m(!0),S={show:n,appear:w(()=>e.appear||!f.value)};return C(()=>{x(()=>{f.value=!1,n.value?r.value="visible":L(l)||(r.value="hidden")})}),B(N,l),B(R,S),()=>{let d=ve(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),y={unmount:e.unmount};return q({ourProps:{...y,as:"template"},theirProps:{},slot:{},slots:{...s,default:()=>[k(ce,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value==="visible",name:"Transition"})}}});export{he as TransitionChild,Se as TransitionRoot}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js b/.output/server/node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js new file mode 100644 index 00000000..7a1bbffe --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js @@ -0,0 +1 @@ +import{disposables as p}from'../../../utils/disposables.js';import{once as f}from'../../../utils/once.js';function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished="finished",i.Cancelled="cancelled",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(",").filter(Boolean).map(r=>r.includes("ms")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t("finished"),l+s):t("finished"),i.add(()=>t("cancelled")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o("cancelled")),s.dispose}export{g as Reason,L as transition}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/headlessui.esm.js b/.output/server/node_modules/@headlessui/vue/dist/headlessui.esm.js new file mode 100644 index 00000000..cf813d17 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/headlessui.esm.js @@ -0,0 +1 @@ +export*from'./components/combobox/combobox.js';export*from'./components/dialog/dialog.js';export*from'./components/disclosure/disclosure.js';export*from'./components/focus-trap/focus-trap.js';export*from'./components/listbox/listbox.js';export*from'./components/menu/menu.js';export*from'./components/popover/popover.js';import{Portal as d,PortalGroup as l}from'./components/portal/portal.js';export*from'./components/radio-group/radio-group.js';export*from'./components/switch/switch.js';export*from'./components/tabs/tabs.js';export*from'./components/transitions/transition.js';import{provideUseId as G}from'./hooks/use-id.js';export{d as Portal,l as PortalGroup,G as provideUseId}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js new file mode 100644 index 00000000..d553457d --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js @@ -0,0 +1 @@ +function c(){let o;return{before({doc:e}){var l;let n=e.documentElement;o=((l=e.defaultView)!=null?l:window).innerWidth-n.clientWidth},after({doc:e,d:n}){let t=e.documentElement,l=t.clientWidth-t.offsetWidth,r=o-l;n.style(t,"paddingRight",`${r}px`)}}}export{c as adjustScrollbarPadding}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js new file mode 100644 index 00000000..9da5cd3a --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js @@ -0,0 +1 @@ +import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function w(){return u()?{before({doc:r,d:n,meta:c}){function a(o){return c.containers.flatMap(l=>l()).some(l=>l.contains(o))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!=="auto"){let t=m();t.style(r.documentElement,"scrollBehavior","auto"),n.add(()=>n.microTask(()=>t.dispose()))}let o=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,"click",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest("a");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!a(i)&&(l=i)}catch{}},!0),n.addEventListener(r,"touchstart",t=>{if(t.target instanceof HTMLElement)if(a(t.target)){let e=t.target;for(;e.parentElement&&a(e.parentElement);)e=e.parentElement;n.style(e,"overscrollBehavior","contain")}else n.style(t.target,"touchAction","none")}),n.addEventListener(r,"touchmove",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName==="INPUT")return;if(a(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==""&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===""&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;o!==t&&window.scrollTo(0,o),l&&l.isConnected&&(l.scrollIntoView({block:"nearest"}),l=null)})})}}:{}}export{w as handleIOSLocking}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js new file mode 100644 index 00000000..f5392b2d --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js @@ -0,0 +1 @@ +import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)==="hidden",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",t),t.count===0&&a.dispatch("TEARDOWN",t)}});export{a as overflows}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js new file mode 100644 index 00000000..8d9a06b6 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js @@ -0,0 +1 @@ +function l(){return{before({doc:e,d:o}){o.style(e.documentElement,"overflow","hidden")}}}export{l as preventScroll}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js new file mode 100644 index 00000000..12501be7 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js @@ -0,0 +1 @@ +import{computed as p,watch as s}from"vue";import{useStore as v}from'../../hooks/use-store.js';import{overflows as u}from'./overflow-store.js';function d(t,a,n){let i=v(u),l=p(()=>{let e=t.value?i.value.get(t.value):void 0;return e?e.count>0:!1});return s([t,a],([e,m],[r],o)=>{if(!e||!m)return;u.dispatch("PUSH",e,n);let f=!1;o(()=>{f||(u.dispatch("POP",r!=null?r:e,n),f=!0)})},{immediate:!0}),l}export{d as useDocumentOverflowLockedEffect}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-controllable.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-controllable.js new file mode 100644 index 00000000..c612781d --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-controllable.js @@ -0,0 +1 @@ +import{computed as p,ref as s}from"vue";function d(u,e,r){let i=s(r==null?void 0:r.value),f=p(()=>u.value!==void 0);return[p(()=>f.value?u.value:i.value),function(t){return f.value||(i.value=t),e==null?void 0:e(t)}]}export{d as useControllable}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-disposables.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-disposables.js new file mode 100644 index 00000000..9f5db9e6 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-disposables.js @@ -0,0 +1 @@ +import{onUnmounted as s}from"vue";import{disposables as e}from'../utils/disposables.js';function i(){let o=e();return s(()=>o.dispose()),o}export{i as useDisposables}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-document-event.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-document-event.js new file mode 100644 index 00000000..628cbab5 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-document-event.js @@ -0,0 +1 @@ +import{watchEffect as r}from"vue";import{env as m}from'../utils/env.js';function u(e,t,n){m.isServer||r(o=>{document.addEventListener(e,t,n),o(()=>document.removeEventListener(e,t,n))})}export{u as useDocumentEvent}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-event-listener.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-event-listener.js new file mode 100644 index 00000000..f0f638e4 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-event-listener.js @@ -0,0 +1 @@ +import{watchEffect as i}from"vue";import{env as a}from'../utils/env.js';function E(n,e,o,r){a.isServer||i(t=>{n=n!=null?n:window,n.addEventListener(e,o,r),t(()=>n.removeEventListener(e,o,r))})}export{E as useEventListener}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-frame-debounce.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-frame-debounce.js new file mode 100644 index 00000000..67758bef --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-frame-debounce.js @@ -0,0 +1 @@ +import{useDisposables as r}from'./use-disposables.js';function t(){let e=r();return o=>{e.dispose(),e.nextFrame(o)}}export{t as useFrameDebounce}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-id.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-id.js new file mode 100644 index 00000000..9cfa1282 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-id.js @@ -0,0 +1 @@ +var r;import*as e from"vue";let n=Symbol("headlessui.useid"),o=0;const i=(r=e.useId)!=null?r:function(){return e.inject(n,()=>`${++o}`)()};function s(t){e.provide(n,t)}export{s as provideUseId,i as useId}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-inert.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-inert.js new file mode 100644 index 00000000..93cd7935 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-inert.js @@ -0,0 +1 @@ +import{ref as m,watchEffect as s}from"vue";import{dom as h}from'../utils/dom.js';let i=new Map,t=new Map;function E(d,f=m(!0)){s(o=>{var a;if(!f.value)return;let e=h(d);if(!e)return;o(function(){var u;if(!e)return;let r=(u=t.get(e))!=null?u:1;if(r===1?t.delete(e):t.set(e,r-1),r!==1)return;let n=i.get(e);n&&(n["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",n["aria-hidden"]),e.inert=n.inert,i.delete(e))});let l=(a=t.get(e))!=null?a:0;t.set(e,l+1),l===0&&(i.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),e.setAttribute("aria-hidden","true"),e.inert=!0)})}export{E as useInert}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-outside-click.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-outside-click.js new file mode 100644 index 00000000..22a2d75f --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-outside-click.js @@ -0,0 +1 @@ +import{computed as s,ref as E}from"vue";import{dom as p}from'../utils/dom.js';import{FocusableMode as d,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as T}from'../utils/platform.js';import{useDocumentEvent as i}from'./use-document-event.js';import{useWindowEvent as M}from'./use-window-event.js';function w(f,m,l=s(()=>!0)){function a(e,r){if(!l.value||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t))return;let c=function o(n){return typeof n=="function"?o(n()):Array.isArray(n)||n instanceof Set?n:[n]}(f);for(let o of c){if(o===null)continue;let n=o instanceof HTMLElement?o:p(o);if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,d.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let u=E(null);i("pointerdown",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i("mousedown",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i("click",e=>{T()||u.value&&(a(e,()=>u.value),u.value=null)},!0),i("touchend",e=>a(e,()=>e.target instanceof HTMLElement?e.target:null),!0),M("blur",e=>a(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{w as useOutsideClick}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js new file mode 100644 index 00000000..cea9ee45 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js @@ -0,0 +1 @@ +import{onMounted as i,ref as f,watchEffect as l}from"vue";import{dom as o}from'../utils/dom.js';function r(t,e){if(t)return t;let n=e!=null?e:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function s(t,e){let n=f(r(t.value.type,t.value.as));return i(()=>{n.value=r(t.value.type,t.value.as)}),l(()=>{var u;n.value||o(e)&&o(e)instanceof HTMLButtonElement&&!((u=o(e))!=null&&u.hasAttribute("type"))&&(n.value="button")}),n}export{s as useResolveButtonType}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-root-containers.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-root-containers.js new file mode 100644 index 00000000..965d5466 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-root-containers.js @@ -0,0 +1 @@ +import{h as m,ref as s}from"vue";import{Features as d,Hidden as c}from'../internal/hidden.js';import{dom as T}from'../utils/dom.js';import{getOwnerDocument as E}from'../utils/owner.js';function N({defaultContainers:o=[],portals:i,mainTreeNodeRef:H}={}){let t=s(null),r=E(t);function u(){var l,f,a;let n=[];for(let e of o)e!==null&&(e instanceof HTMLElement?n.push(e):"value"in e&&e.value instanceof HTMLElement&&n.push(e.value));if(i!=null&&i.value)for(let e of i.value)n.push(e);for(let e of(l=r==null?void 0:r.querySelectorAll("html > *, body > *"))!=null?l:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!=="headlessui-portal-root"&&(e.contains(T(t))||e.contains((a=(f=T(t))==null?void 0:f.getRootNode())==null?void 0:a.host)||n.some(M=>e.contains(M))||n.push(e));return n}return{resolveContainers:u,contains(n){return u().some(l=>l.contains(n))},mainTreeNodeRef:t,MainTreeNode(){return H!=null?null:m(c,{features:d.Hidden,ref:t})}}}function v(){let o=s(null);return{mainTreeNodeRef:o,MainTreeNode(){return m(c,{features:d.Hidden,ref:o})}}}export{v as useMainTreeNode,N as useRootContainers}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-store.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-store.js new file mode 100644 index 00000000..4a24bc25 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-store.js @@ -0,0 +1 @@ +import{onUnmounted as o,shallowRef as n}from"vue";function m(t){let e=n(t.getSnapshot());return o(t.subscribe(()=>{e.value=t.getSnapshot()})),e}export{m as useStore}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js new file mode 100644 index 00000000..b9fd410c --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js @@ -0,0 +1 @@ +import{ref as a}from"vue";import{useWindowEvent as t}from'./use-window-event.js';var d=(r=>(r[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r))(d||{});function n(){let o=a(0);return t("keydown",e=>{e.key==="Tab"&&(o.value=e.shiftKey?1:0)}),o}export{d as Direction,n as useTabDirection}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-text-value.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-text-value.js new file mode 100644 index 00000000..db254a3c --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-text-value.js @@ -0,0 +1 @@ +import{ref as n}from"vue";import{dom as o}from'../utils/dom.js';import{getTextValue as i}from'../utils/get-text-value.js';function p(a){let t=n(""),r=n("");return()=>{let e=o(a);if(!e)return"";let l=e.innerText;if(t.value===l)return r.value;let u=i(e).trim().toLowerCase();return t.value=l,r.value=u,u}}export{p as useTextValue}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js new file mode 100644 index 00000000..759e98fe --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js @@ -0,0 +1 @@ +import{ref as o}from"vue";function r(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(n){let t=r(n);return e.value[0]===t[0]&&e.value[1]===t[1]?!1:(e.value=t,!0)},update(n){e.value=r(n)}}}export{u as useTrackedPointer}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js new file mode 100644 index 00000000..ea4c5428 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js @@ -0,0 +1 @@ +import{watchEffect as p}from"vue";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/hooks/use-window-event.js b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-window-event.js new file mode 100644 index 00000000..fd2e45be --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/hooks/use-window-event.js @@ -0,0 +1 @@ +import{watchEffect as i}from"vue";import{env as r}from'../utils/env.js';function w(e,n,t){r.isServer||i(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/internal/focus-sentinel.js b/.output/server/node_modules/@headlessui/vue/dist/internal/focus-sentinel.js new file mode 100644 index 00000000..1c5d3756 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/internal/focus-sentinel.js @@ -0,0 +1 @@ +import{defineComponent as i,h as m,ref as f}from"vue";import{Features as l,Hidden as F}from'./hidden.js';let d=i({props:{onFocus:{type:Function,required:!0}},setup(t){let n=f(!0);return()=>n.value?m(F,{as:"button",type:"button",features:l.Focusable,onFocus(o){o.preventDefault();let e,a=50;function r(){var u;if(a--<=0){e&&cancelAnimationFrame(e);return}if((u=t.onFocus)!=null&&u.call(t)){n.value=!1,cancelAnimationFrame(e);return}e=requestAnimationFrame(r)}e=requestAnimationFrame(r)}}):null}});export{d as FocusSentinel}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/internal/hidden.js b/.output/server/node_modules/@headlessui/vue/dist/internal/hidden.js new file mode 100644 index 00000000..b89f5f16 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/internal/hidden.js @@ -0,0 +1 @@ +import{defineComponent as a}from"vue";import{render as p}from'../utils/render.js';var u=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(u||{});let f=a({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(t,{slots:n,attrs:i}){return()=>{var r;let{features:e,...d}=t,o={"aria-hidden":(e&2)===2?!0:(r=d["aria-hidden"])!=null?r:void 0,hidden:(e&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(e&4)===4&&(e&2)!==2&&{display:"none"}}};return p({ourProps:o,theirProps:d,slot:{},attrs:i,slots:n,name:"Hidden"})}}});export{u as Features,f as Hidden}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/internal/open-closed.js b/.output/server/node_modules/@headlessui/vue/dist/internal/open-closed.js new file mode 100644 index 00000000..4c49f537 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/internal/open-closed.js @@ -0,0 +1 @@ +import{inject as p,provide as r}from"vue";let n=Symbol("Context");var i=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(i||{});function s(){return l()!==null}function l(){return p(n,null)}function t(o){r(n,o)}export{i as State,s as hasOpenClosed,l as useOpenClosed,t as useOpenClosedProvider}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/internal/portal-force-root.js b/.output/server/node_modules/@headlessui/vue/dist/internal/portal-force-root.js new file mode 100644 index 00000000..08632bd3 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/internal/portal-force-root.js @@ -0,0 +1 @@ +import{defineComponent as l,inject as a,provide as c}from"vue";import{render as p}from'../utils/render.js';let e=Symbol("ForcePortalRootContext");function s(){return a(e,!1)}let u=l({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(o,{slots:t,attrs:r}){return c(e,o.force),()=>{let{force:f,...n}=o;return p({theirProps:n,ourProps:{},slot:{},slots:t,attrs:r,name:"ForcePortalRoot"})}}});export{u as ForcePortalRoot,s as usePortalRoot}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/internal/stack-context.js b/.output/server/node_modules/@headlessui/vue/dist/internal/stack-context.js new file mode 100644 index 00000000..2bc00615 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/internal/stack-context.js @@ -0,0 +1 @@ +import{inject as f,onMounted as m,onUnmounted as l,provide as c,watch as p}from"vue";let u=Symbol("StackContext");var s=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(s||{});function y(){return f(u,()=>{})}function R({type:o,enabled:r,element:e,onUpdate:i}){let a=y();function t(...n){i==null||i(...n),a(...n)}m(()=>{p(r,(n,d)=>{n?t(0,o,e):d===!0&&t(1,o,e)},{immediate:!0,flush:"sync"})}),l(()=>{r.value&&t(1,o,e)}),c(u,t)}export{s as StackMessage,y as useStackContext,R as useStackProvider}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/keyboard.js b/.output/server/node_modules/@headlessui/vue/dist/keyboard.js new file mode 100644 index 00000000..01d73b98 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/keyboard.js @@ -0,0 +1 @@ +var o=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o||{});export{o as Keys}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/mouse.js b/.output/server/node_modules/@headlessui/vue/dist/mouse.js new file mode 100644 index 00000000..f85ed37f --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/mouse.js @@ -0,0 +1 @@ +var g=(f=>(f[f.Left=0]="Left",f[f.Right=2]="Right",f))(g||{});export{g as MouseButton}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/active-element-history.js b/.output/server/node_modules/@headlessui/vue/dist/utils/active-element-history.js new file mode 100644 index 00000000..694d2e61 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/active-element-history.js @@ -0,0 +1 @@ +import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0})});export{t as history}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/calculate-active-index.js b/.output/server/node_modules/@headlessui/vue/dist/utils/calculate-active-index.js new file mode 100644 index 00000000..2d0d7618 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/calculate-active-index.js @@ -0,0 +1 @@ +function u(l){throw new Error("Unexpected object: "+l)}var c=(i=>(i[i.First=0]="First",i[i.Previous=1]="Previous",i[i.Next=2]="Next",i[i.Last=3]="Last",i[i.Specific=4]="Specific",i[i.Nothing=5]="Nothing",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/disposables.js b/.output/server/node_modules/@headlessui/vue/dist/utils/disposables.js new file mode 100644 index 00000000..6161bf2a --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/disposables.js @@ -0,0 +1 @@ +import{microTask as n}from'./micro-task.js';function o(){let a=[],s={addEventListener(e,t,r,i){return e.addEventListener(t,r,i),s.add(()=>e.removeEventListener(t,r,i))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add(()=>cancelAnimationFrame(t))},nextFrame(...e){s.requestAnimationFrame(()=>{s.requestAnimationFrame(...e)})},setTimeout(...e){let t=setTimeout(...e);s.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return n(()=>{t.current&&e[0]()}),s.add(()=>{t.current=!1})},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add(()=>{Object.assign(e.style,{[t]:i})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}},dispose(){for(let e of a.splice(0))e()}};return s}export{o as disposables}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/document-ready.js b/.output/server/node_modules/@headlessui/vue/dist/utils/document-ready.js new file mode 100644 index 00000000..0ddda1cd --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/document-ready.js @@ -0,0 +1 @@ +function t(n){function e(){document.readyState!=="loading"&&(n(),document.removeEventListener("DOMContentLoaded",e))}typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("DOMContentLoaded",e),e())}export{t as onDocumentReady}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/dom.js b/.output/server/node_modules/@headlessui/vue/dist/utils/dom.js new file mode 100644 index 00000000..9ef82d9b --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/dom.js @@ -0,0 +1 @@ +function o(e){var l;if(e==null||e.value==null)return null;let n=(l=e.value.$el)!=null?l:e.value;return n instanceof Node?n:null}export{o as dom}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/env.js b/.output/server/node_modules/@headlessui/vue/dist/utils/env.js new file mode 100644 index 00000000..680bbeee --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/env.js @@ -0,0 +1 @@ +var i=Object.defineProperty;var d=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var n=(t,e,r)=>(d(t,typeof e!="symbol"?e+"":e,r),r);class s{constructor(){n(this,"current",this.detect());n(this,"currentId",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window=="undefined"||typeof document=="undefined"?"server":"client"}}let c=new s;export{c as env}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/focus-management.js b/.output/server/node_modules/@headlessui/vue/dist/utils/focus-management.js new file mode 100644 index 00000000..e403439a --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/focus-management.js @@ -0,0 +1 @@ +import{nextTick as b}from"vue";import{match as M}from'./match.js';import{getOwnerDocument as f}from'./owner.js';let c=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var N=(n=>(n[n.First=1]="First",n[n.Previous=2]="Previous",n[n.Next=4]="Next",n[n.Last=8]="Last",n[n.WrapAround=16]="WrapAround",n[n.NoScroll=32]="NoScroll",n))(N||{}),T=(o=>(o[o.Error=0]="Error",o[o.Overflow=1]="Overflow",o[o.Success=2]="Success",o[o.Underflow=3]="Underflow",o))(T||{}),F=(t=>(t[t.Previous=-1]="Previous",t[t.Next=1]="Next",t))(F||{});function E(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]="Strict",t[t.Loose=1]="Loose",t))(h||{});function w(e,r=0){var t;return e===((t=f(e))==null?void 0:t.body)?!1:M(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function _(e){let r=f(e);b(()=>{r&&!w(r.activeElement,0)&&S(e)})}var y=(t=>(t[t.Keyboard=0]="Keyboard",t[t.Mouse=1]="Mouse",t))(y||{});typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));function S(e){e==null||e.focus({preventScroll:!0})}let H=["textarea","input"].join(",");function I(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,H))!=null?t:!1}function O(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function v(e,r){return P(E(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){var m;let i=(m=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?m:document,n=Array.isArray(e)?t?O(e):e:E(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let x=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),p=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),L=r&32?{preventScroll:!0}:{},a=0,d=n.length,u;do{if(a>=d||a+d<=0)return 0;let s=p+a;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}u=n[s],u==null||u.focus(L),a+=x}while(u!==i.activeElement);return r&6&&I(u)&&u.select(),2}export{N as Focus,T as FocusResult,h as FocusableMode,S as focusElement,v as focusFrom,P as focusIn,E as getFocusableElements,w as isFocusableElement,_ as restoreFocusIfNecessary,O as sortByDomNode}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/form.js b/.output/server/node_modules/@headlessui/vue/dist/utils/form.js new file mode 100644 index 00000000..ac91247e --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/form.js @@ -0,0 +1 @@ +function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+"["+s+"]":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t=="boolean"?i.push([s,t?"1":"0"]):typeof t=="string"?i.push([s,t]):typeof t=="number"?i.push([s,`${t}`]):t==null?i.push([s,""]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest("form");if(s){for(let n of s.elements)if(n!==i&&(n.tagName==="INPUT"&&n.type==="submit"||n.tagName==="BUTTON"&&n.type==="submit"||n.nodeName==="INPUT"&&n.type==="image")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/get-text-value.js b/.output/server/node_modules/@headlessui/vue/dist/utils/get-text-value.js new file mode 100644 index 00000000..95a952fb --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/get-text-value.js @@ -0,0 +1 @@ +let a=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:"",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:"":n;return a.test(l)&&(l=l.replace(a,"")),l}function g(e){let n=e.getAttribute("aria-label");if(typeof n=="string")return n.trim();let t=e.getAttribute("aria-labelledby");if(t){let u=t.split(" ").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute("aria-label");return typeof i=="string"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(", ")}return o(e).trim()}export{g as getTextValue}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/match.js b/.output/server/node_modules/@headlessui/vue/dist/utils/match.js new file mode 100644 index 00000000..f80912d7 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/match.js @@ -0,0 +1 @@ +function u(r,n,...a){if(r in n){let e=n[r];return typeof e=="function"?e(...a):e}let t=new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`"${e}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/micro-task.js b/.output/server/node_modules/@headlessui/vue/dist/utils/micro-task.js new file mode 100644 index 00000000..b3e4c777 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/micro-task.js @@ -0,0 +1 @@ +function t(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/once.js b/.output/server/node_modules/@headlessui/vue/dist/utils/once.js new file mode 100644 index 00000000..12f47406 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/once.js @@ -0,0 +1 @@ +function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/owner.js b/.output/server/node_modules/@headlessui/vue/dist/utils/owner.js new file mode 100644 index 00000000..8fe35526 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/owner.js @@ -0,0 +1 @@ +import{dom as o}from'./dom.js';import{env as t}from'./env.js';function i(r){if(t.isServer)return null;if(r instanceof Node)return r.ownerDocument;if(r!=null&&r.hasOwnProperty("value")){let n=o(r);if(n)return n.ownerDocument}return document}export{i as getOwnerDocument}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/platform.js b/.output/server/node_modules/@headlessui/vue/dist/utils/platform.js new file mode 100644 index 00000000..5fd20ab7 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/platform.js @@ -0,0 +1 @@ +function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/render.js b/.output/server/node_modules/@headlessui/vue/dist/utils/render.js new file mode 100644 index 00000000..09626837 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/render.js @@ -0,0 +1,4 @@ +import{cloneVNode as O,Fragment as x,h as k}from"vue";import{match as w}from'./match.js';var N=(o=>(o[o.None=0]="None",o[o.RenderStrategy=1]="RenderStrategy",o[o.Static=2]="Static",o))(N||{}),S=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||t&2&&n.static)return y(l);if(t&1){let d=(a=n.unmount)==null||a?0:1;return w(d,{[0](){return null},[1](){return y({...i,props:{...n,hidden:!0,style:{display:"none"}}})}})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,h;let{as:n,...l}=T(r,["unmount","static"]),a=(m=e.default)==null?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))typeof f=="boolean"&&(u=!0),f===!0&&c.push(p);u&&(d["data-headlessui-state"]=c.join(" "))}if(n==="template"){if(a=b(a!=null?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=a!=null?a:[];if(!v(u)||c.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${i} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map(s=>s.trim()).filter((s,g,R)=>R.indexOf(s)===g).sort((s,g)=>s.localeCompare(g)).map(s=>` - ${s}`).join(` +`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(s=>` - ${s}`).join(` +`)].join(` +`));let p=j((h=u.props)!=null?h:{},l,d),f=O(u,p,!0);for(let s in p)s.startsWith("on")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&a.length===1?a[0]:a}return k(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap(t=>t.type===x?b(t.children):[t])}function j(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith("on")&&typeof i[n]=="function"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function E(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function v(r){return r==null?!1:typeof r.type=="string"||typeof r.type=="object"||typeof r.type=="function"}export{N as Features,S as RenderStrategy,E as compact,T as omit,A as render}; diff --git a/.output/server/node_modules/@headlessui/vue/dist/utils/store.js b/.output/server/node_modules/@headlessui/vue/dist/utils/store.js new file mode 100644 index 00000000..14116c67 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/dist/utils/store.js @@ -0,0 +1 @@ +function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore}; diff --git a/.output/server/node_modules/@headlessui/vue/node_modules/vue b/.output/server/node_modules/@headlessui/vue/node_modules/vue new file mode 120000 index 00000000..4f64d938 --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/node_modules/vue @@ -0,0 +1 @@ +../../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/@headlessui/vue/package.json b/.output/server/node_modules/@headlessui/vue/package.json new file mode 100644 index 00000000..d231b5ec --- /dev/null +++ b/.output/server/node_modules/@headlessui/vue/package.json @@ -0,0 +1,55 @@ +{ + "name": "@headlessui/vue", + "version": "1.7.23", + "description": "A set of completely unstyled, fully accessible UI components for Vue 3, designed to integrate beautifully with Tailwind CSS.", + "main": "dist/index.cjs", + "typings": "dist/index.d.ts", + "module": "dist/headlessui.esm.js", + "license": "MIT", + "files": [ + "README.md", + "dist" + ], + "exports": { + "types": { + "import": "./dist/index.d.ts", + "require": "./dist/index.d.cts" + }, + "import": "./dist/headlessui.esm.js", + "require": "./dist/index.cjs" + }, + "type": "module", + "sideEffects": false, + "engines": { + "node": ">=10" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/tailwindlabs/headlessui.git", + "directory": "packages/@headlessui-vue" + }, + "publishConfig": { + "access": "public" + }, + "scripts": { + "prepublishOnly": "npm run build", + "build": "../../scripts/build.sh --external:vue", + "watch": "../../scripts/watch.sh --external:vue", + "test": "../../scripts/test.sh", + "lint": "../../scripts/lint.sh", + "lint-types": "yarn run attw -P", + "playground": "yarn workspace playground-vue dev", + "clean": "rimraf ./dist" + }, + "peerDependencies": { + "vue": "^3.2.0" + }, + "devDependencies": { + "@testing-library/vue": "^5.8.2", + "@vue/test-utils": "^2.0.0-rc.18", + "vue": "^3.2.29" + }, + "dependencies": { + "@tanstack/vue-virtual": "^3.0.0-beta.60" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/AuthAdminApi.js b/.output/server/node_modules/@supabase/auth-js/dist/main/AuthAdminApi.js new file mode 100644 index 00000000..a106cce9 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/AuthAdminApi.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GoTrueAdminApi_1 = __importDefault(require("./GoTrueAdminApi")); +const AuthAdminApi = GoTrueAdminApi_1.default; +exports.default = AuthAdminApi; +//# sourceMappingURL=AuthAdminApi.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/AuthClient.js b/.output/server/node_modules/@supabase/auth-js/dist/main/AuthClient.js new file mode 100644 index 00000000..da03f10a --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/AuthClient.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GoTrueClient_1 = __importDefault(require("./GoTrueClient")); +const AuthClient = GoTrueClient_1.default; +exports.default = AuthClient; +//# sourceMappingURL=AuthClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueAdminApi.js b/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueAdminApi.js new file mode 100644 index 00000000..f5d1a9bf --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueAdminApi.js @@ -0,0 +1,278 @@ +"use strict"; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fetch_1 = require("./lib/fetch"); +const helpers_1 = require("./lib/helpers"); +const types_1 = require("./lib/types"); +const errors_1 = require("./lib/errors"); +class GoTrueAdminApi { + constructor({ url = '', headers = {}, fetch, }) { + this.url = url; + this.headers = headers; + this.fetch = (0, helpers_1.resolveFetch)(fetch); + this.mfa = { + listFactors: this._listFactors.bind(this), + deleteFactor: this._deleteFactor.bind(this), + }; + } + /** + * Removes a logged-in session. + * @param jwt A valid, logged-in JWT. + * @param scope The logout sope. + */ + async signOut(jwt, scope = types_1.SIGN_OUT_SCOPES[0]) { + if (types_1.SIGN_OUT_SCOPES.indexOf(scope) < 0) { + throw new Error(`@supabase/auth-js: Parameter scope must be one of ${types_1.SIGN_OUT_SCOPES.join(', ')}`); + } + try { + await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/logout?scope=${scope}`, { + headers: this.headers, + jwt, + noResolveJson: true, + }); + return { data: null, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * Sends an invite link to an email address. + * @param email The email address of the user. + * @param options Additional options to be included when inviting. + */ + async inviteUserByEmail(email, options = {}) { + try { + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/invite`, { + body: { email, data: options.data }, + headers: this.headers, + redirectTo: options.redirectTo, + xform: fetch_1._userResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Generates email links and OTPs to be sent via a custom email provider. + * @param email The user's email. + * @param options.password User password. For signup only. + * @param options.data Optional user metadata. For signup only. + * @param options.redirectTo The redirect url which should be appended to the generated link + */ + async generateLink(params) { + try { + const { options } = params, rest = __rest(params, ["options"]); + const body = Object.assign(Object.assign({}, rest), options); + if ('newEmail' in rest) { + // replace newEmail with new_email in request body + body.new_email = rest === null || rest === void 0 ? void 0 : rest.newEmail; + delete body['newEmail']; + } + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/admin/generate_link`, { + body: body, + headers: this.headers, + xform: fetch_1._generateLinkResponse, + redirectTo: options === null || options === void 0 ? void 0 : options.redirectTo, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { + data: { + properties: null, + user: null, + }, + error, + }; + } + throw error; + } + } + // User Admin API + /** + * Creates a new user. + * This function should only be called on a server. Never expose your `service_role` key in the browser. + */ + async createUser(attributes) { + try { + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/admin/users`, { + body: attributes, + headers: this.headers, + xform: fetch_1._userResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Get a list of users. + * + * This function should only be called on a server. Never expose your `service_role` key in the browser. + * @param params An object which supports `page` and `perPage` as numbers, to alter the paginated results. + */ + async listUsers(params) { + var _a, _b, _c, _d, _e, _f, _g; + try { + const pagination = { nextPage: null, lastPage: 0, total: 0 }; + const response = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users`, { + headers: this.headers, + noResolveJson: true, + query: { + page: (_b = (_a = params === null || params === void 0 ? void 0 : params.page) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '', + per_page: (_d = (_c = params === null || params === void 0 ? void 0 : params.perPage) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '', + }, + xform: fetch_1._noResolveJsonResponse, + }); + if (response.error) + throw response.error; + const users = await response.json(); + const total = (_e = response.headers.get('x-total-count')) !== null && _e !== void 0 ? _e : 0; + const links = (_g = (_f = response.headers.get('link')) === null || _f === void 0 ? void 0 : _f.split(',')) !== null && _g !== void 0 ? _g : []; + if (links.length > 0) { + links.forEach((link) => { + const page = parseInt(link.split(';')[0].split('=')[1].substring(0, 1)); + const rel = JSON.parse(link.split(';')[1].split('=')[1]); + pagination[`${rel}Page`] = page; + }); + pagination.total = parseInt(total); + } + return { data: Object.assign(Object.assign({}, users), pagination), error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { users: [] }, error }; + } + throw error; + } + } + /** + * Get user by id. + * + * @param uid The user's unique identifier + * + * This function should only be called on a server. Never expose your `service_role` key in the browser. + */ + async getUserById(uid) { + (0, helpers_1.validateUUID)(uid); + try { + return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users/${uid}`, { + headers: this.headers, + xform: fetch_1._userResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Updates the user data. + * + * @param attributes The data you want to update. + * + * This function should only be called on a server. Never expose your `service_role` key in the browser. + */ + async updateUserById(uid, attributes) { + (0, helpers_1.validateUUID)(uid); + try { + return await (0, fetch_1._request)(this.fetch, 'PUT', `${this.url}/admin/users/${uid}`, { + body: attributes, + headers: this.headers, + xform: fetch_1._userResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Delete a user. Requires a `service_role` key. + * + * @param id The user id you want to remove. + * @param shouldSoftDelete If true, then the user will be soft-deleted from the auth schema. Soft deletion allows user identification from the hashed user ID but is not reversible. + * Defaults to false for backward compatibility. + * + * This function should only be called on a server. Never expose your `service_role` key in the browser. + */ + async deleteUser(id, shouldSoftDelete = false) { + (0, helpers_1.validateUUID)(id); + try { + return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/admin/users/${id}`, { + headers: this.headers, + body: { + should_soft_delete: shouldSoftDelete, + }, + xform: fetch_1._userResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + async _listFactors(params) { + (0, helpers_1.validateUUID)(params.userId); + try { + const { data, error } = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users/${params.userId}/factors`, { + headers: this.headers, + xform: (factors) => { + return { data: { factors }, error: null }; + }, + }); + return { data, error }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + async _deleteFactor(params) { + (0, helpers_1.validateUUID)(params.userId); + (0, helpers_1.validateUUID)(params.id); + try { + const data = await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/admin/users/${params.userId}/factors/${params.id}`, { + headers: this.headers, + }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } +} +exports.default = GoTrueAdminApi; +//# sourceMappingURL=GoTrueAdminApi.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueClient.js b/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueClient.js new file mode 100644 index 00000000..dc7c003d --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/GoTrueClient.js @@ -0,0 +1,2371 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GoTrueAdminApi_1 = __importDefault(require("./GoTrueAdminApi")); +const constants_1 = require("./lib/constants"); +const errors_1 = require("./lib/errors"); +const fetch_1 = require("./lib/fetch"); +const helpers_1 = require("./lib/helpers"); +const local_storage_1 = require("./lib/local-storage"); +const polyfills_1 = require("./lib/polyfills"); +const version_1 = require("./lib/version"); +const locks_1 = require("./lib/locks"); +const base64url_1 = require("./lib/base64url"); +const helpers_2 = require("./lib/helpers"); +(0, polyfills_1.polyfillGlobalThis)(); // Make "globalThis" available +const DEFAULT_OPTIONS = { + url: constants_1.GOTRUE_URL, + storageKey: constants_1.STORAGE_KEY, + autoRefreshToken: true, + persistSession: true, + detectSessionInUrl: true, + headers: constants_1.DEFAULT_HEADERS, + flowType: 'implicit', + debug: false, + hasCustomAuthorizationHeader: false, +}; +async function lockNoOp(name, acquireTimeout, fn) { + return await fn(); +} +/** + * Caches JWKS values for all clients created in the same environment. This is + * especially useful for shared-memory execution environments such as Vercel's + * Fluid Compute, AWS Lambda or Supabase's Edge Functions. Regardless of how + * many clients are created, if they share the same storage key they will use + * the same JWKS cache, significantly speeding up getClaims() with asymmetric + * JWTs. + */ +const GLOBAL_JWKS = {}; +class GoTrueClient { + /** + * Create a new client for use in the browser. + */ + constructor(options) { + var _a, _b; + /** + * @experimental + */ + this.userStorage = null; + this.memoryStorage = null; + this.stateChangeEmitters = new Map(); + this.autoRefreshTicker = null; + this.visibilityChangedCallback = null; + this.refreshingDeferred = null; + /** + * Keeps track of the async client initialization. + * When null or not yet resolved the auth state is `unknown` + * Once resolved the the auth state is known and it's save to call any further client methods. + * Keep extra care to never reject or throw uncaught errors + */ + this.initializePromise = null; + this.detectSessionInUrl = true; + this.hasCustomAuthorizationHeader = false; + this.suppressGetSessionWarning = false; + this.lockAcquired = false; + this.pendingInLock = []; + /** + * Used to broadcast state change events to other tabs listening. + */ + this.broadcastChannel = null; + this.logger = console.log; + this.instanceID = GoTrueClient.nextInstanceID; + GoTrueClient.nextInstanceID += 1; + if (this.instanceID > 0 && (0, helpers_1.isBrowser)()) { + console.warn('Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.'); + } + const settings = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options); + this.logDebugMessages = !!settings.debug; + if (typeof settings.debug === 'function') { + this.logger = settings.debug; + } + this.persistSession = settings.persistSession; + this.storageKey = settings.storageKey; + this.autoRefreshToken = settings.autoRefreshToken; + this.admin = new GoTrueAdminApi_1.default({ + url: settings.url, + headers: settings.headers, + fetch: settings.fetch, + }); + this.url = settings.url; + this.headers = settings.headers; + this.fetch = (0, helpers_1.resolveFetch)(settings.fetch); + this.lock = settings.lock || lockNoOp; + this.detectSessionInUrl = settings.detectSessionInUrl; + this.flowType = settings.flowType; + this.hasCustomAuthorizationHeader = settings.hasCustomAuthorizationHeader; + if (settings.lock) { + this.lock = settings.lock; + } + else if ((0, helpers_1.isBrowser)() && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) === null || _a === void 0 ? void 0 : _a.locks)) { + this.lock = locks_1.navigatorLock; + } + else { + this.lock = lockNoOp; + } + if (!this.jwks) { + this.jwks = { keys: [] }; + this.jwks_cached_at = Number.MIN_SAFE_INTEGER; + } + this.mfa = { + verify: this._verify.bind(this), + enroll: this._enroll.bind(this), + unenroll: this._unenroll.bind(this), + challenge: this._challenge.bind(this), + listFactors: this._listFactors.bind(this), + challengeAndVerify: this._challengeAndVerify.bind(this), + getAuthenticatorAssuranceLevel: this._getAuthenticatorAssuranceLevel.bind(this), + }; + if (this.persistSession) { + if (settings.storage) { + this.storage = settings.storage; + } + else { + if ((0, helpers_1.supportsLocalStorage)()) { + this.storage = globalThis.localStorage; + } + else { + this.memoryStorage = {}; + this.storage = (0, local_storage_1.memoryLocalStorageAdapter)(this.memoryStorage); + } + } + if (settings.userStorage) { + this.userStorage = settings.userStorage; + } + } + else { + this.memoryStorage = {}; + this.storage = (0, local_storage_1.memoryLocalStorageAdapter)(this.memoryStorage); + } + if ((0, helpers_1.isBrowser)() && globalThis.BroadcastChannel && this.persistSession && this.storageKey) { + try { + this.broadcastChannel = new globalThis.BroadcastChannel(this.storageKey); + } + catch (e) { + console.error('Failed to create a new BroadcastChannel, multi-tab state changes will not be available', e); + } + (_b = this.broadcastChannel) === null || _b === void 0 ? void 0 : _b.addEventListener('message', async (event) => { + this._debug('received broadcast notification from other tab or client', event); + await this._notifyAllSubscribers(event.data.event, event.data.session, false); // broadcast = false so we don't get an endless loop of messages + }); + } + this.initialize(); + } + /** + * The JWKS used for verifying asymmetric JWTs + */ + get jwks() { + var _a, _b; + return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.jwks) !== null && _b !== void 0 ? _b : { keys: [] }; + } + set jwks(value) { + GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { jwks: value }); + } + get jwks_cached_at() { + var _a, _b; + return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.cachedAt) !== null && _b !== void 0 ? _b : Number.MIN_SAFE_INTEGER; + } + set jwks_cached_at(value) { + GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { cachedAt: value }); + } + _debug(...args) { + if (this.logDebugMessages) { + this.logger(`GoTrueClient@${this.instanceID} (${version_1.version}) ${new Date().toISOString()}`, ...args); + } + return this; + } + /** + * Initializes the client session either from the url or from storage. + * This method is automatically called when instantiating the client, but should also be called + * manually when checking for an error from an auth redirect (oauth, magiclink, password recovery, etc). + */ + async initialize() { + if (this.initializePromise) { + return await this.initializePromise; + } + this.initializePromise = (async () => { + return await this._acquireLock(-1, async () => { + return await this._initialize(); + }); + })(); + return await this.initializePromise; + } + /** + * IMPORTANT: + * 1. Never throw in this method, as it is called from the constructor + * 2. Never return a session from this method as it would be cached over + * the whole lifetime of the client + */ + async _initialize() { + var _a; + try { + const params = (0, helpers_1.parseParametersFromURL)(window.location.href); + let callbackUrlType = 'none'; + if (this._isImplicitGrantCallback(params)) { + callbackUrlType = 'implicit'; + } + else if (await this._isPKCECallback(params)) { + callbackUrlType = 'pkce'; + } + /** + * Attempt to get the session from the URL only if these conditions are fulfilled + * + * Note: If the URL isn't one of the callback url types (implicit or pkce), + * then there could be an existing session so we don't want to prematurely remove it + */ + if ((0, helpers_1.isBrowser)() && this.detectSessionInUrl && callbackUrlType !== 'none') { + const { data, error } = await this._getSessionFromURL(params, callbackUrlType); + if (error) { + this._debug('#_initialize()', 'error detecting session from URL', error); + if ((0, errors_1.isAuthImplicitGrantRedirectError)(error)) { + const errorCode = (_a = error.details) === null || _a === void 0 ? void 0 : _a.code; + if (errorCode === 'identity_already_exists' || + errorCode === 'identity_not_found' || + errorCode === 'single_identity_not_deletable') { + return { error }; + } + } + // failed login attempt via url, + // remove old session as in verifyOtp, signUp and signInWith* + await this._removeSession(); + return { error }; + } + const { session, redirectType } = data; + this._debug('#_initialize()', 'detected session in URL', session, 'redirect type', redirectType); + await this._saveSession(session); + setTimeout(async () => { + if (redirectType === 'recovery') { + await this._notifyAllSubscribers('PASSWORD_RECOVERY', session); + } + else { + await this._notifyAllSubscribers('SIGNED_IN', session); + } + }, 0); + return { error: null }; + } + // no login attempt via callback url try to recover session from storage + await this._recoverAndRefresh(); + return { error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { error }; + } + return { + error: new errors_1.AuthUnknownError('Unexpected error during initialization', error), + }; + } + finally { + await this._handleVisibilityChange(); + this._debug('#_initialize()', 'end'); + } + } + /** + * Creates a new anonymous user. + * + * @returns A session where the is_anonymous claim in the access token JWT set to true + */ + async signInAnonymously(credentials) { + var _a, _b, _c; + try { + const res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { + headers: this.headers, + body: { + data: (_b = (_a = credentials === null || credentials === void 0 ? void 0 : credentials.options) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : {}, + gotrue_meta_security: { captcha_token: (_c = credentials === null || credentials === void 0 ? void 0 : credentials.options) === null || _c === void 0 ? void 0 : _c.captchaToken }, + }, + xform: fetch_1._sessionResponse, + }); + const { data, error } = res; + if (error || !data) { + return { data: { user: null, session: null }, error: error }; + } + const session = data.session; + const user = data.user; + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', session); + } + return { data: { user, session }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Creates a new user. + * + * Be aware that if a user account exists in the system you may get back an + * error message that attempts to hide this information from the user. + * This method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled. + * + * @returns A logged-in session if the server has "autoconfirm" ON + * @returns A user if the server has "autoconfirm" OFF + */ + async signUp(credentials) { + var _a, _b, _c; + try { + let res; + if ('email' in credentials) { + const { email, password, options } = credentials; + let codeChallenge = null; + let codeChallengeMethod = null; + if (this.flowType === 'pkce') { + ; + [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); + } + res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { + headers: this.headers, + redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, + body: { + email, + password, + data: (_a = options === null || options === void 0 ? void 0 : options.data) !== null && _a !== void 0 ? _a : {}, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + code_challenge: codeChallenge, + code_challenge_method: codeChallengeMethod, + }, + xform: fetch_1._sessionResponse, + }); + } + else if ('phone' in credentials) { + const { phone, password, options } = credentials; + res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { + headers: this.headers, + body: { + phone, + password, + data: (_b = options === null || options === void 0 ? void 0 : options.data) !== null && _b !== void 0 ? _b : {}, + channel: (_c = options === null || options === void 0 ? void 0 : options.channel) !== null && _c !== void 0 ? _c : 'sms', + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + xform: fetch_1._sessionResponse, + }); + } + else { + throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a password'); + } + const { data, error } = res; + if (error || !data) { + return { data: { user: null, session: null }, error: error }; + } + const session = data.session; + const user = data.user; + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', session); + } + return { data: { user, session }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Log in an existing user with an email and password or phone and password. + * + * Be aware that you may get back an error message that will not distinguish + * between the cases where the account does not exist or that the + * email/phone and password combination is wrong or that the account can only + * be accessed via social login. + */ + async signInWithPassword(credentials) { + try { + let res; + if ('email' in credentials) { + const { email, password, options } = credentials; + res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=password`, { + headers: this.headers, + body: { + email, + password, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + xform: fetch_1._sessionResponsePassword, + }); + } + else if ('phone' in credentials) { + const { phone, password, options } = credentials; + res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=password`, { + headers: this.headers, + body: { + phone, + password, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + xform: fetch_1._sessionResponsePassword, + }); + } + else { + throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a password'); + } + const { data, error } = res; + if (error) { + return { data: { user: null, session: null }, error }; + } + else if (!data || !data.session || !data.user) { + return { data: { user: null, session: null }, error: new errors_1.AuthInvalidTokenResponseError() }; + } + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', data.session); + } + return { + data: Object.assign({ user: data.user, session: data.session }, (data.weak_password ? { weakPassword: data.weak_password } : null)), + error, + }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Log in an existing user via a third-party provider. + * This method supports the PKCE flow. + */ + async signInWithOAuth(credentials) { + var _a, _b, _c, _d; + return await this._handleProviderSignIn(credentials.provider, { + redirectTo: (_a = credentials.options) === null || _a === void 0 ? void 0 : _a.redirectTo, + scopes: (_b = credentials.options) === null || _b === void 0 ? void 0 : _b.scopes, + queryParams: (_c = credentials.options) === null || _c === void 0 ? void 0 : _c.queryParams, + skipBrowserRedirect: (_d = credentials.options) === null || _d === void 0 ? void 0 : _d.skipBrowserRedirect, + }); + } + /** + * Log in an existing user by exchanging an Auth Code issued during the PKCE flow. + */ + async exchangeCodeForSession(authCode) { + await this.initializePromise; + return this._acquireLock(-1, async () => { + return this._exchangeCodeForSession(authCode); + }); + } + /** + * Signs in a user by verifying a message signed by the user's private key. + * Only Solana supported at this time, using the Sign in with Solana standard. + */ + async signInWithWeb3(credentials) { + const { chain } = credentials; + if (chain === 'solana') { + return await this.signInWithSolana(credentials); + } + throw new Error(`@supabase/auth-js: Unsupported chain "${chain}"`); + } + async signInWithSolana(credentials) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; + let message; + let signature; + if ('message' in credentials) { + message = credentials.message; + signature = credentials.signature; + } + else { + const { chain, wallet, statement, options } = credentials; + let resolvedWallet; + if (!(0, helpers_1.isBrowser)()) { + if (typeof wallet !== 'object' || !(options === null || options === void 0 ? void 0 : options.url)) { + throw new Error('@supabase/auth-js: Both wallet and url must be specified in non-browser environments.'); + } + resolvedWallet = wallet; + } + else if (typeof wallet === 'object') { + resolvedWallet = wallet; + } + else { + const windowAny = window; + if ('solana' in windowAny && + typeof windowAny.solana === 'object' && + (('signIn' in windowAny.solana && typeof windowAny.solana.signIn === 'function') || + ('signMessage' in windowAny.solana && + typeof windowAny.solana.signMessage === 'function'))) { + resolvedWallet = windowAny.solana; + } + else { + throw new Error(`@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.`); + } + } + const url = new URL((_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : window.location.href); + if ('signIn' in resolvedWallet && resolvedWallet.signIn) { + const output = await resolvedWallet.signIn(Object.assign(Object.assign(Object.assign({ issuedAt: new Date().toISOString() }, options === null || options === void 0 ? void 0 : options.signInWithSolana), { + // non-overridable properties + version: '1', domain: url.host, uri: url.href }), (statement ? { statement } : null))); + let outputToProcess; + if (Array.isArray(output) && output[0] && typeof output[0] === 'object') { + outputToProcess = output[0]; + } + else if (output && + typeof output === 'object' && + 'signedMessage' in output && + 'signature' in output) { + outputToProcess = output; + } + else { + throw new Error('@supabase/auth-js: Wallet method signIn() returned unrecognized value'); + } + if ('signedMessage' in outputToProcess && + 'signature' in outputToProcess && + (typeof outputToProcess.signedMessage === 'string' || + outputToProcess.signedMessage instanceof Uint8Array) && + outputToProcess.signature instanceof Uint8Array) { + message = + typeof outputToProcess.signedMessage === 'string' + ? outputToProcess.signedMessage + : new TextDecoder().decode(outputToProcess.signedMessage); + signature = outputToProcess.signature; + } + else { + throw new Error('@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields'); + } + } + else { + if (!('signMessage' in resolvedWallet) || + typeof resolvedWallet.signMessage !== 'function' || + !('publicKey' in resolvedWallet) || + typeof resolvedWallet !== 'object' || + !resolvedWallet.publicKey || + !('toBase58' in resolvedWallet.publicKey) || + typeof resolvedWallet.publicKey.toBase58 !== 'function') { + throw new Error('@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API'); + } + message = [ + `${url.host} wants you to sign in with your Solana account:`, + resolvedWallet.publicKey.toBase58(), + ...(statement ? ['', statement, ''] : ['']), + 'Version: 1', + `URI: ${url.href}`, + `Issued At: ${(_c = (_b = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _b === void 0 ? void 0 : _b.issuedAt) !== null && _c !== void 0 ? _c : new Date().toISOString()}`, + ...(((_d = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _d === void 0 ? void 0 : _d.notBefore) + ? [`Not Before: ${options.signInWithSolana.notBefore}`] + : []), + ...(((_e = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _e === void 0 ? void 0 : _e.expirationTime) + ? [`Expiration Time: ${options.signInWithSolana.expirationTime}`] + : []), + ...(((_f = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _f === void 0 ? void 0 : _f.chainId) + ? [`Chain ID: ${options.signInWithSolana.chainId}`] + : []), + ...(((_g = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _g === void 0 ? void 0 : _g.nonce) ? [`Nonce: ${options.signInWithSolana.nonce}`] : []), + ...(((_h = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _h === void 0 ? void 0 : _h.requestId) + ? [`Request ID: ${options.signInWithSolana.requestId}`] + : []), + ...(((_k = (_j = options === null || options === void 0 ? void 0 : options.signInWithSolana) === null || _j === void 0 ? void 0 : _j.resources) === null || _k === void 0 ? void 0 : _k.length) + ? [ + 'Resources', + ...options.signInWithSolana.resources.map((resource) => `- ${resource}`), + ] + : []), + ].join('\n'); + const maybeSignature = await resolvedWallet.signMessage(new TextEncoder().encode(message), 'utf8'); + if (!maybeSignature || !(maybeSignature instanceof Uint8Array)) { + throw new Error('@supabase/auth-js: Wallet signMessage() API returned an recognized value'); + } + signature = maybeSignature; + } + } + try { + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=web3`, { + headers: this.headers, + body: Object.assign({ chain: 'solana', message, signature: (0, base64url_1.bytesToBase64URL)(signature) }, (((_l = credentials.options) === null || _l === void 0 ? void 0 : _l.captchaToken) + ? { gotrue_meta_security: { captcha_token: (_m = credentials.options) === null || _m === void 0 ? void 0 : _m.captchaToken } } + : null)), + xform: fetch_1._sessionResponse, + }); + if (error) { + throw error; + } + if (!data || !data.session || !data.user) { + return { + data: { user: null, session: null }, + error: new errors_1.AuthInvalidTokenResponseError(), + }; + } + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', data.session); + } + return { data: Object.assign({}, data), error }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + async _exchangeCodeForSession(authCode) { + const storageItem = await (0, helpers_1.getItemAsync)(this.storage, `${this.storageKey}-code-verifier`); + const [codeVerifier, redirectType] = (storageItem !== null && storageItem !== void 0 ? storageItem : '').split('/'); + try { + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=pkce`, { + headers: this.headers, + body: { + auth_code: authCode, + code_verifier: codeVerifier, + }, + xform: fetch_1._sessionResponse, + }); + await (0, helpers_1.removeItemAsync)(this.storage, `${this.storageKey}-code-verifier`); + if (error) { + throw error; + } + if (!data || !data.session || !data.user) { + return { + data: { user: null, session: null, redirectType: null }, + error: new errors_1.AuthInvalidTokenResponseError(), + }; + } + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', data.session); + } + return { data: Object.assign(Object.assign({}, data), { redirectType: redirectType !== null && redirectType !== void 0 ? redirectType : null }), error }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null, redirectType: null }, error }; + } + throw error; + } + } + /** + * Allows signing in with an OIDC ID token. The authentication provider used + * should be enabled and configured. + */ + async signInWithIdToken(credentials) { + try { + const { options, provider, token, access_token, nonce } = credentials; + const res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=id_token`, { + headers: this.headers, + body: { + provider, + id_token: token, + access_token, + nonce, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + xform: fetch_1._sessionResponse, + }); + const { data, error } = res; + if (error) { + return { data: { user: null, session: null }, error }; + } + else if (!data || !data.session || !data.user) { + return { + data: { user: null, session: null }, + error: new errors_1.AuthInvalidTokenResponseError(), + }; + } + if (data.session) { + await this._saveSession(data.session); + await this._notifyAllSubscribers('SIGNED_IN', data.session); + } + return { data, error }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Log in a user using magiclink or a one-time password (OTP). + * + * If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent. + * If the `{{ .Token }}` variable is specified in the email template, an OTP will be sent. + * If you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins. + * + * Be aware that you may get back an error message that will not distinguish + * between the cases where the account does not exist or, that the account + * can only be accessed via social login. + * + * Do note that you will need to configure a Whatsapp sender on Twilio + * if you are using phone sign in with the 'whatsapp' channel. The whatsapp + * channel is not supported on other providers + * at this time. + * This method supports PKCE when an email is passed. + */ + async signInWithOtp(credentials) { + var _a, _b, _c, _d, _e; + try { + if ('email' in credentials) { + const { email, options } = credentials; + let codeChallenge = null; + let codeChallengeMethod = null; + if (this.flowType === 'pkce') { + ; + [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); + } + const { error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/otp`, { + headers: this.headers, + body: { + email, + data: (_a = options === null || options === void 0 ? void 0 : options.data) !== null && _a !== void 0 ? _a : {}, + create_user: (_b = options === null || options === void 0 ? void 0 : options.shouldCreateUser) !== null && _b !== void 0 ? _b : true, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + code_challenge: codeChallenge, + code_challenge_method: codeChallengeMethod, + }, + redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, + }); + return { data: { user: null, session: null }, error }; + } + if ('phone' in credentials) { + const { phone, options } = credentials; + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/otp`, { + headers: this.headers, + body: { + phone, + data: (_c = options === null || options === void 0 ? void 0 : options.data) !== null && _c !== void 0 ? _c : {}, + create_user: (_d = options === null || options === void 0 ? void 0 : options.shouldCreateUser) !== null && _d !== void 0 ? _d : true, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + channel: (_e = options === null || options === void 0 ? void 0 : options.channel) !== null && _e !== void 0 ? _e : 'sms', + }, + }); + return { data: { user: null, session: null, messageId: data === null || data === void 0 ? void 0 : data.message_id }, error }; + } + throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number.'); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Log in a user given a User supplied OTP or TokenHash received through mobile or email. + */ + async verifyOtp(params) { + var _a, _b; + try { + let redirectTo = undefined; + let captchaToken = undefined; + if ('options' in params) { + redirectTo = (_a = params.options) === null || _a === void 0 ? void 0 : _a.redirectTo; + captchaToken = (_b = params.options) === null || _b === void 0 ? void 0 : _b.captchaToken; + } + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/verify`, { + headers: this.headers, + body: Object.assign(Object.assign({}, params), { gotrue_meta_security: { captcha_token: captchaToken } }), + redirectTo, + xform: fetch_1._sessionResponse, + }); + if (error) { + throw error; + } + if (!data) { + throw new Error('An error occurred on token verification.'); + } + const session = data.session; + const user = data.user; + if (session === null || session === void 0 ? void 0 : session.access_token) { + await this._saveSession(session); + await this._notifyAllSubscribers(params.type == 'recovery' ? 'PASSWORD_RECOVERY' : 'SIGNED_IN', session); + } + return { data: { user, session }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Attempts a single-sign on using an enterprise Identity Provider. A + * successful SSO attempt will redirect the current page to the identity + * provider authorization page. The redirect URL is implementation and SSO + * protocol specific. + * + * You can use it by providing a SSO domain. Typically you can extract this + * domain by asking users for their email address. If this domain is + * registered on the Auth instance the redirect will use that organization's + * currently active SSO Identity Provider for the login. + * + * If you have built an organization-specific login page, you can use the + * organization's SSO Identity Provider UUID directly instead. + */ + async signInWithSSO(params) { + var _a, _b, _c; + try { + let codeChallenge = null; + let codeChallengeMethod = null; + if (this.flowType === 'pkce') { + ; + [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); + } + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/sso`, { + body: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, ('providerId' in params ? { provider_id: params.providerId } : null)), ('domain' in params ? { domain: params.domain } : null)), { redirect_to: (_b = (_a = params.options) === null || _a === void 0 ? void 0 : _a.redirectTo) !== null && _b !== void 0 ? _b : undefined }), (((_c = params === null || params === void 0 ? void 0 : params.options) === null || _c === void 0 ? void 0 : _c.captchaToken) + ? { gotrue_meta_security: { captcha_token: params.options.captchaToken } } + : null)), { skip_http_redirect: true, code_challenge: codeChallenge, code_challenge_method: codeChallengeMethod }), + headers: this.headers, + xform: fetch_1._ssoResponse, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * Sends a reauthentication OTP to the user's email or phone number. + * Requires the user to be signed-in. + */ + async reauthenticate() { + await this.initializePromise; + return await this._acquireLock(-1, async () => { + return await this._reauthenticate(); + }); + } + async _reauthenticate() { + try { + return await this._useSession(async (result) => { + const { data: { session }, error: sessionError, } = result; + if (sessionError) + throw sessionError; + if (!session) + throw new errors_1.AuthSessionMissingError(); + const { error } = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/reauthenticate`, { + headers: this.headers, + jwt: session.access_token, + }); + return { data: { user: null, session: null }, error }; + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Resends an existing signup confirmation email, email change email, SMS OTP or phone change OTP. + */ + async resend(credentials) { + try { + const endpoint = `${this.url}/resend`; + if ('email' in credentials) { + const { email, type, options } = credentials; + const { error } = await (0, fetch_1._request)(this.fetch, 'POST', endpoint, { + headers: this.headers, + body: { + email, + type, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, + }); + return { data: { user: null, session: null }, error }; + } + else if ('phone' in credentials) { + const { phone, type, options } = credentials; + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', endpoint, { + headers: this.headers, + body: { + phone, + type, + gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, + }, + }); + return { data: { user: null, session: null, messageId: data === null || data === void 0 ? void 0 : data.message_id }, error }; + } + throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a type'); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Returns the session, refreshing it if necessary. + * + * The session returned can be null if the session is not detected which can happen in the event a user is not signed-in or has logged out. + * + * **IMPORTANT:** This method loads values directly from the storage attached + * to the client. If that storage is based on request cookies for example, + * the values in it may not be authentic and therefore it's strongly advised + * against using this method and its results in such circumstances. A warning + * will be emitted if this is detected. Use {@link #getUser()} instead. + */ + async getSession() { + await this.initializePromise; + const result = await this._acquireLock(-1, async () => { + return this._useSession(async (result) => { + return result; + }); + }); + return result; + } + /** + * Acquires a global lock based on the storage key. + */ + async _acquireLock(acquireTimeout, fn) { + this._debug('#_acquireLock', 'begin', acquireTimeout); + try { + if (this.lockAcquired) { + const last = this.pendingInLock.length + ? this.pendingInLock[this.pendingInLock.length - 1] + : Promise.resolve(); + const result = (async () => { + await last; + return await fn(); + })(); + this.pendingInLock.push((async () => { + try { + await result; + } + catch (e) { + // we just care if it finished + } + })()); + return result; + } + return await this.lock(`lock:${this.storageKey}`, acquireTimeout, async () => { + this._debug('#_acquireLock', 'lock acquired for storage key', this.storageKey); + try { + this.lockAcquired = true; + const result = fn(); + this.pendingInLock.push((async () => { + try { + await result; + } + catch (e) { + // we just care if it finished + } + })()); + await result; + // keep draining the queue until there's nothing to wait on + while (this.pendingInLock.length) { + const waitOn = [...this.pendingInLock]; + await Promise.all(waitOn); + this.pendingInLock.splice(0, waitOn.length); + } + return await result; + } + finally { + this._debug('#_acquireLock', 'lock released for storage key', this.storageKey); + this.lockAcquired = false; + } + }); + } + finally { + this._debug('#_acquireLock', 'end'); + } + } + /** + * Use instead of {@link #getSession} inside the library. It is + * semantically usually what you want, as getting a session involves some + * processing afterwards that requires only one client operating on the + * session at once across multiple tabs or processes. + */ + async _useSession(fn) { + this._debug('#_useSession', 'begin'); + try { + // the use of __loadSession here is the only correct use of the function! + const result = await this.__loadSession(); + return await fn(result); + } + finally { + this._debug('#_useSession', 'end'); + } + } + /** + * NEVER USE DIRECTLY! + * + * Always use {@link #_useSession}. + */ + async __loadSession() { + this._debug('#__loadSession()', 'begin'); + if (!this.lockAcquired) { + this._debug('#__loadSession()', 'used outside of an acquired lock!', new Error().stack); + } + try { + let currentSession = null; + const maybeSession = await (0, helpers_1.getItemAsync)(this.storage, this.storageKey); + this._debug('#getSession()', 'session from storage', maybeSession); + if (maybeSession !== null) { + if (this._isValidSession(maybeSession)) { + currentSession = maybeSession; + } + else { + this._debug('#getSession()', 'session from storage is not valid'); + await this._removeSession(); + } + } + if (!currentSession) { + return { data: { session: null }, error: null }; + } + // A session is considered expired before the access token _actually_ + // expires. When the autoRefreshToken option is off (or when the tab is + // in the background), very eager users of getSession() -- like + // realtime-js -- might send a valid JWT which will expire by the time it + // reaches the server. + const hasExpired = currentSession.expires_at + ? currentSession.expires_at * 1000 - Date.now() < constants_1.EXPIRY_MARGIN_MS + : false; + this._debug('#__loadSession()', `session has${hasExpired ? '' : ' not'} expired`, 'expires_at', currentSession.expires_at); + if (!hasExpired) { + if (this.userStorage) { + const maybeUser = (await (0, helpers_1.getItemAsync)(this.userStorage, this.storageKey + '-user')); + if (maybeUser === null || maybeUser === void 0 ? void 0 : maybeUser.user) { + currentSession.user = maybeUser.user; + } + else { + currentSession.user = (0, helpers_1.userNotAvailableProxy)(); + } + } + if (this.storage.isServer && currentSession.user) { + let suppressWarning = this.suppressGetSessionWarning; + const proxySession = new Proxy(currentSession, { + get: (target, prop, receiver) => { + if (!suppressWarning && prop === 'user') { + // only show warning when the user object is being accessed from the server + console.warn('Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.'); + suppressWarning = true; // keeps this proxy instance from logging additional warnings + this.suppressGetSessionWarning = true; // keeps this client's future proxy instances from warning + } + return Reflect.get(target, prop, receiver); + }, + }); + currentSession = proxySession; + } + return { data: { session: currentSession }, error: null }; + } + const { session, error } = await this._callRefreshToken(currentSession.refresh_token); + if (error) { + return { data: { session: null }, error }; + } + return { data: { session }, error: null }; + } + finally { + this._debug('#__loadSession()', 'end'); + } + } + /** + * Gets the current user details if there is an existing session. This method + * performs a network request to the Supabase Auth server, so the returned + * value is authentic and can be used to base authorization rules on. + * + * @param jwt Takes in an optional access token JWT. If no JWT is provided, the JWT from the current session is used. + */ + async getUser(jwt) { + if (jwt) { + return await this._getUser(jwt); + } + await this.initializePromise; + const result = await this._acquireLock(-1, async () => { + return await this._getUser(); + }); + return result; + } + async _getUser(jwt) { + try { + if (jwt) { + return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/user`, { + headers: this.headers, + jwt: jwt, + xform: fetch_1._userResponse, + }); + } + return await this._useSession(async (result) => { + var _a, _b, _c; + const { data, error } = result; + if (error) { + throw error; + } + // returns an error if there is no access_token or custom authorization header + if (!((_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) && !this.hasCustomAuthorizationHeader) { + return { data: { user: null }, error: new errors_1.AuthSessionMissingError() }; + } + return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/user`, { + headers: this.headers, + jwt: (_c = (_b = data.session) === null || _b === void 0 ? void 0 : _b.access_token) !== null && _c !== void 0 ? _c : undefined, + xform: fetch_1._userResponse, + }); + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + if ((0, errors_1.isAuthSessionMissingError)(error)) { + // JWT contains a `session_id` which does not correspond to an active + // session in the database, indicating the user is signed out. + await this._removeSession(); + await (0, helpers_1.removeItemAsync)(this.storage, `${this.storageKey}-code-verifier`); + } + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Updates user data for a logged in user. + */ + async updateUser(attributes, options = {}) { + await this.initializePromise; + return await this._acquireLock(-1, async () => { + return await this._updateUser(attributes, options); + }); + } + async _updateUser(attributes, options = {}) { + try { + return await this._useSession(async (result) => { + const { data: sessionData, error: sessionError } = result; + if (sessionError) { + throw sessionError; + } + if (!sessionData.session) { + throw new errors_1.AuthSessionMissingError(); + } + const session = sessionData.session; + let codeChallenge = null; + let codeChallengeMethod = null; + if (this.flowType === 'pkce' && attributes.email != null) { + ; + [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); + } + const { data, error: userError } = await (0, fetch_1._request)(this.fetch, 'PUT', `${this.url}/user`, { + headers: this.headers, + redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, + body: Object.assign(Object.assign({}, attributes), { code_challenge: codeChallenge, code_challenge_method: codeChallengeMethod }), + jwt: session.access_token, + xform: fetch_1._userResponse, + }); + if (userError) + throw userError; + session.user = data.user; + await this._saveSession(session); + await this._notifyAllSubscribers('USER_UPDATED', session); + return { data: { user: session.user }, error: null }; + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null }, error }; + } + throw error; + } + } + /** + * Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session. + * If the refresh token or access token in the current session is invalid, an error will be thrown. + * @param currentSession The current session that minimally contains an access token and refresh token. + */ + async setSession(currentSession) { + await this.initializePromise; + return await this._acquireLock(-1, async () => { + return await this._setSession(currentSession); + }); + } + async _setSession(currentSession) { + try { + if (!currentSession.access_token || !currentSession.refresh_token) { + throw new errors_1.AuthSessionMissingError(); + } + const timeNow = Date.now() / 1000; + let expiresAt = timeNow; + let hasExpired = true; + let session = null; + const { payload } = (0, helpers_1.decodeJWT)(currentSession.access_token); + if (payload.exp) { + expiresAt = payload.exp; + hasExpired = expiresAt <= timeNow; + } + if (hasExpired) { + const { session: refreshedSession, error } = await this._callRefreshToken(currentSession.refresh_token); + if (error) { + return { data: { user: null, session: null }, error: error }; + } + if (!refreshedSession) { + return { data: { user: null, session: null }, error: null }; + } + session = refreshedSession; + } + else { + const { data, error } = await this._getUser(currentSession.access_token); + if (error) { + throw error; + } + session = { + access_token: currentSession.access_token, + refresh_token: currentSession.refresh_token, + user: data.user, + token_type: 'bearer', + expires_in: expiresAt - timeNow, + expires_at: expiresAt, + }; + await this._saveSession(session); + await this._notifyAllSubscribers('SIGNED_IN', session); + } + return { data: { user: session.user, session }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { session: null, user: null }, error }; + } + throw error; + } + } + /** + * Returns a new session, regardless of expiry status. + * Takes in an optional current session. If not passed in, then refreshSession() will attempt to retrieve it from getSession(). + * If the current session's refresh token is invalid, an error will be thrown. + * @param currentSession The current session. If passed in, it must contain a refresh token. + */ + async refreshSession(currentSession) { + await this.initializePromise; + return await this._acquireLock(-1, async () => { + return await this._refreshSession(currentSession); + }); + } + async _refreshSession(currentSession) { + try { + return await this._useSession(async (result) => { + var _a; + if (!currentSession) { + const { data, error } = result; + if (error) { + throw error; + } + currentSession = (_a = data.session) !== null && _a !== void 0 ? _a : undefined; + } + if (!(currentSession === null || currentSession === void 0 ? void 0 : currentSession.refresh_token)) { + throw new errors_1.AuthSessionMissingError(); + } + const { session, error } = await this._callRefreshToken(currentSession.refresh_token); + if (error) { + return { data: { user: null, session: null }, error: error }; + } + if (!session) { + return { data: { user: null, session: null }, error: null }; + } + return { data: { user: session.user, session }, error: null }; + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { user: null, session: null }, error }; + } + throw error; + } + } + /** + * Gets the session data from a URL string + */ + async _getSessionFromURL(params, callbackUrlType) { + try { + if (!(0, helpers_1.isBrowser)()) + throw new errors_1.AuthImplicitGrantRedirectError('No browser detected.'); + // If there's an error in the URL, it doesn't matter what flow it is, we just return the error. + if (params.error || params.error_description || params.error_code) { + // The error class returned implies that the redirect is from an implicit grant flow + // but it could also be from a redirect error from a PKCE flow. + throw new errors_1.AuthImplicitGrantRedirectError(params.error_description || 'Error in URL with unspecified error_description', { + error: params.error || 'unspecified_error', + code: params.error_code || 'unspecified_code', + }); + } + // Checks for mismatches between the flowType initialised in the client and the URL parameters + switch (callbackUrlType) { + case 'implicit': + if (this.flowType === 'pkce') { + throw new errors_1.AuthPKCEGrantCodeExchangeError('Not a valid PKCE flow url.'); + } + break; + case 'pkce': + if (this.flowType === 'implicit') { + throw new errors_1.AuthImplicitGrantRedirectError('Not a valid implicit grant flow url.'); + } + break; + default: + // there's no mismatch so we continue + } + // Since this is a redirect for PKCE, we attempt to retrieve the code from the URL for the code exchange + if (callbackUrlType === 'pkce') { + this._debug('#_initialize()', 'begin', 'is PKCE flow', true); + if (!params.code) + throw new errors_1.AuthPKCEGrantCodeExchangeError('No code detected.'); + const { data, error } = await this._exchangeCodeForSession(params.code); + if (error) + throw error; + const url = new URL(window.location.href); + url.searchParams.delete('code'); + window.history.replaceState(window.history.state, '', url.toString()); + return { data: { session: data.session, redirectType: null }, error: null }; + } + const { provider_token, provider_refresh_token, access_token, refresh_token, expires_in, expires_at, token_type, } = params; + if (!access_token || !expires_in || !refresh_token || !token_type) { + throw new errors_1.AuthImplicitGrantRedirectError('No session defined in URL'); + } + const timeNow = Math.round(Date.now() / 1000); + const expiresIn = parseInt(expires_in); + let expiresAt = timeNow + expiresIn; + if (expires_at) { + expiresAt = parseInt(expires_at); + } + const actuallyExpiresIn = expiresAt - timeNow; + if (actuallyExpiresIn * 1000 <= constants_1.AUTO_REFRESH_TICK_DURATION_MS) { + console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${actuallyExpiresIn}s, should have been closer to ${expiresIn}s`); + } + const issuedAt = expiresAt - expiresIn; + if (timeNow - issuedAt >= 120) { + console.warn('@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale', issuedAt, expiresAt, timeNow); + } + else if (timeNow - issuedAt < 0) { + console.warn('@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew', issuedAt, expiresAt, timeNow); + } + const { data, error } = await this._getUser(access_token); + if (error) + throw error; + const session = { + provider_token, + provider_refresh_token, + access_token, + expires_in: expiresIn, + expires_at: expiresAt, + refresh_token, + token_type, + user: data.user, + }; + // Remove tokens from URL + window.location.hash = ''; + this._debug('#_getSessionFromURL()', 'clearing window.location.hash'); + return { data: { session, redirectType: params.type }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { session: null, redirectType: null }, error }; + } + throw error; + } + } + /** + * Checks if the current URL contains parameters given by an implicit oauth grant flow (https://www.rfc-editor.org/rfc/rfc6749.html#section-4.2) + */ + _isImplicitGrantCallback(params) { + return Boolean(params.access_token || params.error_description); + } + /** + * Checks if the current URL and backing storage contain parameters given by a PKCE flow + */ + async _isPKCECallback(params) { + const currentStorageContent = await (0, helpers_1.getItemAsync)(this.storage, `${this.storageKey}-code-verifier`); + return !!(params.code && currentStorageContent); + } + /** + * Inside a browser context, `signOut()` will remove the logged in user from the browser session and log them out - removing all items from localstorage and then trigger a `"SIGNED_OUT"` event. + * + * For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`. + * There is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason. + * + * If using `others` scope, no `SIGNED_OUT` event is fired! + */ + async signOut(options = { scope: 'global' }) { + await this.initializePromise; + return await this._acquireLock(-1, async () => { + return await this._signOut(options); + }); + } + async _signOut({ scope } = { scope: 'global' }) { + return await this._useSession(async (result) => { + var _a; + const { data, error: sessionError } = result; + if (sessionError) { + return { error: sessionError }; + } + const accessToken = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token; + if (accessToken) { + const { error } = await this.admin.signOut(accessToken, scope); + if (error) { + // ignore 404s since user might not exist anymore + // ignore 401s since an invalid or expired JWT should sign out the current session + if (!((0, errors_1.isAuthApiError)(error) && + (error.status === 404 || error.status === 401 || error.status === 403))) { + return { error }; + } + } + } + if (scope !== 'others') { + await this._removeSession(); + await (0, helpers_1.removeItemAsync)(this.storage, `${this.storageKey}-code-verifier`); + } + return { error: null }; + }); + } + /** + * Receive a notification every time an auth event happens. + * @param callback A callback function to be invoked when an auth event happens. + */ + onAuthStateChange(callback) { + const id = (0, helpers_1.uuid)(); + const subscription = { + id, + callback, + unsubscribe: () => { + this._debug('#unsubscribe()', 'state change callback with id removed', id); + this.stateChangeEmitters.delete(id); + }, + }; + this._debug('#onAuthStateChange()', 'registered callback with id', id); + this.stateChangeEmitters.set(id, subscription); + (async () => { + await this.initializePromise; + await this._acquireLock(-1, async () => { + this._emitInitialSession(id); + }); + })(); + return { data: { subscription } }; + } + async _emitInitialSession(id) { + return await this._useSession(async (result) => { + var _a, _b; + try { + const { data: { session }, error, } = result; + if (error) + throw error; + await ((_a = this.stateChangeEmitters.get(id)) === null || _a === void 0 ? void 0 : _a.callback('INITIAL_SESSION', session)); + this._debug('INITIAL_SESSION', 'callback id', id, 'session', session); + } + catch (err) { + await ((_b = this.stateChangeEmitters.get(id)) === null || _b === void 0 ? void 0 : _b.callback('INITIAL_SESSION', null)); + this._debug('INITIAL_SESSION', 'callback id', id, 'error', err); + console.error(err); + } + }); + } + /** + * Sends a password reset request to an email address. This method supports the PKCE flow. + * + * @param email The email address of the user. + * @param options.redirectTo The URL to send the user to after they click the password reset link. + * @param options.captchaToken Verification token received when the user completes the captcha on the site. + */ + async resetPasswordForEmail(email, options = {}) { + let codeChallenge = null; + let codeChallengeMethod = null; + if (this.flowType === 'pkce') { + ; + [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey, true // isPasswordRecovery + ); + } + try { + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/recover`, { + body: { + email, + code_challenge: codeChallenge, + code_challenge_method: codeChallengeMethod, + gotrue_meta_security: { captcha_token: options.captchaToken }, + }, + headers: this.headers, + redirectTo: options.redirectTo, + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * Gets all the identities linked to a user. + */ + async getUserIdentities() { + var _a; + try { + const { data, error } = await this.getUser(); + if (error) + throw error; + return { data: { identities: (_a = data.user.identities) !== null && _a !== void 0 ? _a : [] }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * Links an oauth identity to an existing user. + * This method supports the PKCE flow. + */ + async linkIdentity(credentials) { + var _a; + try { + const { data, error } = await this._useSession(async (result) => { + var _a, _b, _c, _d, _e; + const { data, error } = result; + if (error) + throw error; + const url = await this._getUrlForProvider(`${this.url}/user/identities/authorize`, credentials.provider, { + redirectTo: (_a = credentials.options) === null || _a === void 0 ? void 0 : _a.redirectTo, + scopes: (_b = credentials.options) === null || _b === void 0 ? void 0 : _b.scopes, + queryParams: (_c = credentials.options) === null || _c === void 0 ? void 0 : _c.queryParams, + skipBrowserRedirect: true, + }); + return await (0, fetch_1._request)(this.fetch, 'GET', url, { + headers: this.headers, + jwt: (_e = (_d = data.session) === null || _d === void 0 ? void 0 : _d.access_token) !== null && _e !== void 0 ? _e : undefined, + }); + }); + if (error) + throw error; + if ((0, helpers_1.isBrowser)() && !((_a = credentials.options) === null || _a === void 0 ? void 0 : _a.skipBrowserRedirect)) { + window.location.assign(data === null || data === void 0 ? void 0 : data.url); + } + return { data: { provider: credentials.provider, url: data === null || data === void 0 ? void 0 : data.url }, error: null }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: { provider: credentials.provider, url: null }, error }; + } + throw error; + } + } + /** + * Unlinks an identity from a user by deleting it. The user will no longer be able to sign in with that identity once it's unlinked. + */ + async unlinkIdentity(identity) { + try { + return await this._useSession(async (result) => { + var _a, _b; + const { data, error } = result; + if (error) { + throw error; + } + return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/user/identities/${identity.identity_id}`, { + headers: this.headers, + jwt: (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : undefined, + }); + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * Generates a new JWT. + * @param refreshToken A valid refresh token that was returned on login. + */ + async _refreshAccessToken(refreshToken) { + const debugName = `#_refreshAccessToken(${refreshToken.substring(0, 5)}...)`; + this._debug(debugName, 'begin'); + try { + const startedAt = Date.now(); + // will attempt to refresh the token with exponential backoff + return await (0, helpers_1.retryable)(async (attempt) => { + if (attempt > 0) { + await (0, helpers_1.sleep)(200 * Math.pow(2, attempt - 1)); // 200, 400, 800, ... + } + this._debug(debugName, 'refreshing attempt', attempt); + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=refresh_token`, { + body: { refresh_token: refreshToken }, + headers: this.headers, + xform: fetch_1._sessionResponse, + }); + }, (attempt, error) => { + const nextBackOffInterval = 200 * Math.pow(2, attempt); + return (error && + (0, errors_1.isAuthRetryableFetchError)(error) && + // retryable only if the request can be sent before the backoff overflows the tick duration + Date.now() + nextBackOffInterval - startedAt < constants_1.AUTO_REFRESH_TICK_DURATION_MS); + }); + } + catch (error) { + this._debug(debugName, 'error', error); + if ((0, errors_1.isAuthError)(error)) { + return { data: { session: null, user: null }, error }; + } + throw error; + } + finally { + this._debug(debugName, 'end'); + } + } + _isValidSession(maybeSession) { + const isValidSession = typeof maybeSession === 'object' && + maybeSession !== null && + 'access_token' in maybeSession && + 'refresh_token' in maybeSession && + 'expires_at' in maybeSession; + return isValidSession; + } + async _handleProviderSignIn(provider, options) { + const url = await this._getUrlForProvider(`${this.url}/authorize`, provider, { + redirectTo: options.redirectTo, + scopes: options.scopes, + queryParams: options.queryParams, + }); + this._debug('#_handleProviderSignIn()', 'provider', provider, 'options', options, 'url', url); + // try to open on the browser + if ((0, helpers_1.isBrowser)() && !options.skipBrowserRedirect) { + window.location.assign(url); + } + return { data: { provider, url }, error: null }; + } + /** + * Recovers the session from LocalStorage and refreshes the token + * Note: this method is async to accommodate for AsyncStorage e.g. in React native. + */ + async _recoverAndRefresh() { + var _a, _b; + const debugName = '#_recoverAndRefresh()'; + this._debug(debugName, 'begin'); + try { + const currentSession = (await (0, helpers_1.getItemAsync)(this.storage, this.storageKey)); + if (currentSession && this.userStorage) { + let maybeUser = (await (0, helpers_1.getItemAsync)(this.userStorage, this.storageKey + '-user')); + if (!this.storage.isServer && Object.is(this.storage, this.userStorage) && !maybeUser) { + // storage and userStorage are the same storage medium, for example + // window.localStorage if userStorage does not have the user from + // storage stored, store it first thereby migrating the user object + // from storage -> userStorage + maybeUser = { user: currentSession.user }; + await (0, helpers_1.setItemAsync)(this.userStorage, this.storageKey + '-user', maybeUser); + } + currentSession.user = (_a = maybeUser === null || maybeUser === void 0 ? void 0 : maybeUser.user) !== null && _a !== void 0 ? _a : (0, helpers_1.userNotAvailableProxy)(); + } + else if (currentSession && !currentSession.user) { + // user storage is not set, let's check if it was previously enabled so + // we bring back the storage as it should be + if (!currentSession.user) { + // test if userStorage was previously enabled and the storage medium was the same, to move the user back under the same key + const separateUser = (await (0, helpers_1.getItemAsync)(this.storage, this.storageKey + '-user')); + if (separateUser && (separateUser === null || separateUser === void 0 ? void 0 : separateUser.user)) { + currentSession.user = separateUser.user; + await (0, helpers_1.removeItemAsync)(this.storage, this.storageKey + '-user'); + await (0, helpers_1.setItemAsync)(this.storage, this.storageKey, currentSession); + } + else { + currentSession.user = (0, helpers_1.userNotAvailableProxy)(); + } + } + } + this._debug(debugName, 'session from storage', currentSession); + if (!this._isValidSession(currentSession)) { + this._debug(debugName, 'session is not valid'); + if (currentSession !== null) { + await this._removeSession(); + } + return; + } + const expiresWithMargin = ((_b = currentSession.expires_at) !== null && _b !== void 0 ? _b : Infinity) * 1000 - Date.now() < constants_1.EXPIRY_MARGIN_MS; + this._debug(debugName, `session has${expiresWithMargin ? '' : ' not'} expired with margin of ${constants_1.EXPIRY_MARGIN_MS}s`); + if (expiresWithMargin) { + if (this.autoRefreshToken && currentSession.refresh_token) { + const { error } = await this._callRefreshToken(currentSession.refresh_token); + if (error) { + console.error(error); + if (!(0, errors_1.isAuthRetryableFetchError)(error)) { + this._debug(debugName, 'refresh failed with a non-retryable error, removing the session', error); + await this._removeSession(); + } + } + } + } + else if (currentSession.user && + currentSession.user.__isUserNotAvailableProxy === true) { + // If we have a proxy user, try to get the real user data + try { + const { data, error: userError } = await this._getUser(currentSession.access_token); + if (!userError && (data === null || data === void 0 ? void 0 : data.user)) { + currentSession.user = data.user; + await this._saveSession(currentSession); + await this._notifyAllSubscribers('SIGNED_IN', currentSession); + } + else { + this._debug(debugName, 'could not get user data, skipping SIGNED_IN notification'); + } + } + catch (getUserError) { + console.error('Error getting user data:', getUserError); + this._debug(debugName, 'error getting user data, skipping SIGNED_IN notification', getUserError); + } + } + else { + // no need to persist currentSession again, as we just loaded it from + // local storage; persisting it again may overwrite a value saved by + // another client with access to the same local storage + await this._notifyAllSubscribers('SIGNED_IN', currentSession); + } + } + catch (err) { + this._debug(debugName, 'error', err); + console.error(err); + return; + } + finally { + this._debug(debugName, 'end'); + } + } + async _callRefreshToken(refreshToken) { + var _a, _b; + if (!refreshToken) { + throw new errors_1.AuthSessionMissingError(); + } + // refreshing is already in progress + if (this.refreshingDeferred) { + return this.refreshingDeferred.promise; + } + const debugName = `#_callRefreshToken(${refreshToken.substring(0, 5)}...)`; + this._debug(debugName, 'begin'); + try { + this.refreshingDeferred = new helpers_1.Deferred(); + const { data, error } = await this._refreshAccessToken(refreshToken); + if (error) + throw error; + if (!data.session) + throw new errors_1.AuthSessionMissingError(); + await this._saveSession(data.session); + await this._notifyAllSubscribers('TOKEN_REFRESHED', data.session); + const result = { session: data.session, error: null }; + this.refreshingDeferred.resolve(result); + return result; + } + catch (error) { + this._debug(debugName, 'error', error); + if ((0, errors_1.isAuthError)(error)) { + const result = { session: null, error }; + if (!(0, errors_1.isAuthRetryableFetchError)(error)) { + await this._removeSession(); + } + (_a = this.refreshingDeferred) === null || _a === void 0 ? void 0 : _a.resolve(result); + return result; + } + (_b = this.refreshingDeferred) === null || _b === void 0 ? void 0 : _b.reject(error); + throw error; + } + finally { + this.refreshingDeferred = null; + this._debug(debugName, 'end'); + } + } + async _notifyAllSubscribers(event, session, broadcast = true) { + const debugName = `#_notifyAllSubscribers(${event})`; + this._debug(debugName, 'begin', session, `broadcast = ${broadcast}`); + try { + if (this.broadcastChannel && broadcast) { + this.broadcastChannel.postMessage({ event, session }); + } + const errors = []; + const promises = Array.from(this.stateChangeEmitters.values()).map(async (x) => { + try { + await x.callback(event, session); + } + catch (e) { + errors.push(e); + } + }); + await Promise.all(promises); + if (errors.length > 0) { + for (let i = 0; i < errors.length; i += 1) { + console.error(errors[i]); + } + throw errors[0]; + } + } + finally { + this._debug(debugName, 'end'); + } + } + /** + * set currentSession and currentUser + * process to _startAutoRefreshToken if possible + */ + async _saveSession(session) { + this._debug('#_saveSession()', session); + // _saveSession is always called whenever a new session has been acquired + // so we can safely suppress the warning returned by future getSession calls + this.suppressGetSessionWarning = true; + // Create a shallow copy to work with, to avoid mutating the original session object if it's used elsewhere + const sessionToProcess = Object.assign({}, session); + const userIsProxy = sessionToProcess.user && sessionToProcess.user.__isUserNotAvailableProxy === true; + if (this.userStorage) { + if (!userIsProxy && sessionToProcess.user) { + // If it's a real user object, save it to userStorage. + await (0, helpers_1.setItemAsync)(this.userStorage, this.storageKey + '-user', { + user: sessionToProcess.user, + }); + } + else if (userIsProxy) { + // If it's the proxy, it means user was not found in userStorage. + // We should ensure no stale user data for this key exists in userStorage if we were to save null, + // or simply not save the proxy. For now, we don't save the proxy here. + // If there's a need to clear userStorage if user becomes proxy, that logic would go here. + } + // Prepare the main session data for primary storage: remove the user property before cloning + // This is important because the original session.user might be the proxy + const mainSessionData = Object.assign({}, sessionToProcess); + delete mainSessionData.user; // Remove user (real or proxy) before cloning for main storage + const clonedMainSessionData = (0, helpers_2.deepClone)(mainSessionData); + await (0, helpers_1.setItemAsync)(this.storage, this.storageKey, clonedMainSessionData); + } + else { + // No userStorage is configured. + // In this case, session.user should ideally not be a proxy. + // If it were, structuredClone would fail. This implies an issue elsewhere if user is a proxy here + const clonedSession = (0, helpers_2.deepClone)(sessionToProcess); // sessionToProcess still has its original user property + await (0, helpers_1.setItemAsync)(this.storage, this.storageKey, clonedSession); + } + } + async _removeSession() { + this._debug('#_removeSession()'); + await (0, helpers_1.removeItemAsync)(this.storage, this.storageKey); + await (0, helpers_1.removeItemAsync)(this.storage, this.storageKey + '-code-verifier'); + await (0, helpers_1.removeItemAsync)(this.storage, this.storageKey + '-user'); + if (this.userStorage) { + await (0, helpers_1.removeItemAsync)(this.userStorage, this.storageKey + '-user'); + } + await this._notifyAllSubscribers('SIGNED_OUT', null); + } + /** + * Removes any registered visibilitychange callback. + * + * {@see #startAutoRefresh} + * {@see #stopAutoRefresh} + */ + _removeVisibilityChangedCallback() { + this._debug('#_removeVisibilityChangedCallback()'); + const callback = this.visibilityChangedCallback; + this.visibilityChangedCallback = null; + try { + if (callback && (0, helpers_1.isBrowser)() && (window === null || window === void 0 ? void 0 : window.removeEventListener)) { + window.removeEventListener('visibilitychange', callback); + } + } + catch (e) { + console.error('removing visibilitychange callback failed', e); + } + } + /** + * This is the private implementation of {@link #startAutoRefresh}. Use this + * within the library. + */ + async _startAutoRefresh() { + await this._stopAutoRefresh(); + this._debug('#_startAutoRefresh()'); + const ticker = setInterval(() => this._autoRefreshTokenTick(), constants_1.AUTO_REFRESH_TICK_DURATION_MS); + this.autoRefreshTicker = ticker; + if (ticker && typeof ticker === 'object' && typeof ticker.unref === 'function') { + // ticker is a NodeJS Timeout object that has an `unref` method + // https://nodejs.org/api/timers.html#timeoutunref + // When auto refresh is used in NodeJS (like for testing) the + // `setInterval` is preventing the process from being marked as + // finished and tests run endlessly. This can be prevented by calling + // `unref()` on the returned object. + ticker.unref(); + // @ts-expect-error TS has no context of Deno + } + else if (typeof Deno !== 'undefined' && typeof Deno.unrefTimer === 'function') { + // similar like for NodeJS, but with the Deno API + // https://deno.land/api@latest?unstable&s=Deno.unrefTimer + // @ts-expect-error TS has no context of Deno + Deno.unrefTimer(ticker); + } + // run the tick immediately, but in the next pass of the event loop so that + // #_initialize can be allowed to complete without recursively waiting on + // itself + setTimeout(async () => { + await this.initializePromise; + await this._autoRefreshTokenTick(); + }, 0); + } + /** + * This is the private implementation of {@link #stopAutoRefresh}. Use this + * within the library. + */ + async _stopAutoRefresh() { + this._debug('#_stopAutoRefresh()'); + const ticker = this.autoRefreshTicker; + this.autoRefreshTicker = null; + if (ticker) { + clearInterval(ticker); + } + } + /** + * Starts an auto-refresh process in the background. The session is checked + * every few seconds. Close to the time of expiration a process is started to + * refresh the session. If refreshing fails it will be retried for as long as + * necessary. + * + * If you set the {@link GoTrueClientOptions#autoRefreshToken} you don't need + * to call this function, it will be called for you. + * + * On browsers the refresh process works only when the tab/window is in the + * foreground to conserve resources as well as prevent race conditions and + * flooding auth with requests. If you call this method any managed + * visibility change callback will be removed and you must manage visibility + * changes on your own. + * + * On non-browser platforms the refresh process works *continuously* in the + * background, which may not be desirable. You should hook into your + * platform's foreground indication mechanism and call these methods + * appropriately to conserve resources. + * + * {@see #stopAutoRefresh} + */ + async startAutoRefresh() { + this._removeVisibilityChangedCallback(); + await this._startAutoRefresh(); + } + /** + * Stops an active auto refresh process running in the background (if any). + * + * If you call this method any managed visibility change callback will be + * removed and you must manage visibility changes on your own. + * + * See {@link #startAutoRefresh} for more details. + */ + async stopAutoRefresh() { + this._removeVisibilityChangedCallback(); + await this._stopAutoRefresh(); + } + /** + * Runs the auto refresh token tick. + */ + async _autoRefreshTokenTick() { + this._debug('#_autoRefreshTokenTick()', 'begin'); + try { + await this._acquireLock(0, async () => { + try { + const now = Date.now(); + try { + return await this._useSession(async (result) => { + const { data: { session }, } = result; + if (!session || !session.refresh_token || !session.expires_at) { + this._debug('#_autoRefreshTokenTick()', 'no session'); + return; + } + // session will expire in this many ticks (or has already expired if <= 0) + const expiresInTicks = Math.floor((session.expires_at * 1000 - now) / constants_1.AUTO_REFRESH_TICK_DURATION_MS); + this._debug('#_autoRefreshTokenTick()', `access token expires in ${expiresInTicks} ticks, a tick lasts ${constants_1.AUTO_REFRESH_TICK_DURATION_MS}ms, refresh threshold is ${constants_1.AUTO_REFRESH_TICK_THRESHOLD} ticks`); + if (expiresInTicks <= constants_1.AUTO_REFRESH_TICK_THRESHOLD) { + await this._callRefreshToken(session.refresh_token); + } + }); + } + catch (e) { + console.error('Auto refresh tick failed with error. This is likely a transient error.', e); + } + } + finally { + this._debug('#_autoRefreshTokenTick()', 'end'); + } + }); + } + catch (e) { + if (e.isAcquireTimeout || e instanceof locks_1.LockAcquireTimeoutError) { + this._debug('auto refresh token tick lock not available'); + } + else { + throw e; + } + } + } + /** + * Registers callbacks on the browser / platform, which in-turn run + * algorithms when the browser window/tab are in foreground. On non-browser + * platforms it assumes always foreground. + */ + async _handleVisibilityChange() { + this._debug('#_handleVisibilityChange()'); + if (!(0, helpers_1.isBrowser)() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) { + if (this.autoRefreshToken) { + // in non-browser environments the refresh token ticker runs always + this.startAutoRefresh(); + } + return false; + } + try { + this.visibilityChangedCallback = async () => await this._onVisibilityChanged(false); + window === null || window === void 0 ? void 0 : window.addEventListener('visibilitychange', this.visibilityChangedCallback); + // now immediately call the visbility changed callback to setup with the + // current visbility state + await this._onVisibilityChanged(true); // initial call + } + catch (error) { + console.error('_handleVisibilityChange', error); + } + } + /** + * Callback registered with `window.addEventListener('visibilitychange')`. + */ + async _onVisibilityChanged(calledFromInitialize) { + const methodName = `#_onVisibilityChanged(${calledFromInitialize})`; + this._debug(methodName, 'visibilityState', document.visibilityState); + if (document.visibilityState === 'visible') { + if (this.autoRefreshToken) { + // in browser environments the refresh token ticker runs only on focused tabs + // which prevents race conditions + this._startAutoRefresh(); + } + if (!calledFromInitialize) { + // called when the visibility has changed, i.e. the browser + // transitioned from hidden -> visible so we need to see if the session + // should be recovered immediately... but to do that we need to acquire + // the lock first asynchronously + await this.initializePromise; + await this._acquireLock(-1, async () => { + if (document.visibilityState !== 'visible') { + this._debug(methodName, 'acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting'); + // visibility has changed while waiting for the lock, abort + return; + } + // recover the session + await this._recoverAndRefresh(); + }); + } + } + else if (document.visibilityState === 'hidden') { + if (this.autoRefreshToken) { + this._stopAutoRefresh(); + } + } + } + /** + * Generates the relevant login URL for a third-party provider. + * @param options.redirectTo A URL or mobile address to send the user to after they are confirmed. + * @param options.scopes A space-separated list of scopes granted to the OAuth application. + * @param options.queryParams An object of key-value pairs containing query parameters granted to the OAuth application. + */ + async _getUrlForProvider(url, provider, options) { + const urlParams = [`provider=${encodeURIComponent(provider)}`]; + if (options === null || options === void 0 ? void 0 : options.redirectTo) { + urlParams.push(`redirect_to=${encodeURIComponent(options.redirectTo)}`); + } + if (options === null || options === void 0 ? void 0 : options.scopes) { + urlParams.push(`scopes=${encodeURIComponent(options.scopes)}`); + } + if (this.flowType === 'pkce') { + const [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); + const flowParams = new URLSearchParams({ + code_challenge: `${encodeURIComponent(codeChallenge)}`, + code_challenge_method: `${encodeURIComponent(codeChallengeMethod)}`, + }); + urlParams.push(flowParams.toString()); + } + if (options === null || options === void 0 ? void 0 : options.queryParams) { + const query = new URLSearchParams(options.queryParams); + urlParams.push(query.toString()); + } + if (options === null || options === void 0 ? void 0 : options.skipBrowserRedirect) { + urlParams.push(`skip_http_redirect=${options.skipBrowserRedirect}`); + } + return `${url}?${urlParams.join('&')}`; + } + async _unenroll(params) { + try { + return await this._useSession(async (result) => { + var _a; + const { data: sessionData, error: sessionError } = result; + if (sessionError) { + return { data: null, error: sessionError }; + } + return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/factors/${params.factorId}`, { + headers: this.headers, + jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, + }); + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + async _enroll(params) { + try { + return await this._useSession(async (result) => { + var _a, _b; + const { data: sessionData, error: sessionError } = result; + if (sessionError) { + return { data: null, error: sessionError }; + } + const body = Object.assign({ friendly_name: params.friendlyName, factor_type: params.factorType }, (params.factorType === 'phone' ? { phone: params.phone } : { issuer: params.issuer })); + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors`, { + body, + headers: this.headers, + jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, + }); + if (error) { + return { data: null, error }; + } + if (params.factorType === 'totp' && ((_b = data === null || data === void 0 ? void 0 : data.totp) === null || _b === void 0 ? void 0 : _b.qr_code)) { + data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`; + } + return { data, error: null }; + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } + /** + * {@see GoTrueMFAApi#verify} + */ + async _verify(params) { + return this._acquireLock(-1, async () => { + try { + return await this._useSession(async (result) => { + var _a; + const { data: sessionData, error: sessionError } = result; + if (sessionError) { + return { data: null, error: sessionError }; + } + const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/verify`, { + body: { code: params.code, challenge_id: params.challengeId }, + headers: this.headers, + jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, + }); + if (error) { + return { data: null, error }; + } + await this._saveSession(Object.assign({ expires_at: Math.round(Date.now() / 1000) + data.expires_in }, data)); + await this._notifyAllSubscribers('MFA_CHALLENGE_VERIFIED', data); + return { data, error }; + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * {@see GoTrueMFAApi#challenge} + */ + async _challenge(params) { + return this._acquireLock(-1, async () => { + try { + return await this._useSession(async (result) => { + var _a; + const { data: sessionData, error: sessionError } = result; + if (sessionError) { + return { data: null, error: sessionError }; + } + return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/challenge`, { + body: { channel: params.channel }, + headers: this.headers, + jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, + }); + }); + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * {@see GoTrueMFAApi#challengeAndVerify} + */ + async _challengeAndVerify(params) { + // both _challenge and _verify independently acquire the lock, so no need + // to acquire it here + const { data: challengeData, error: challengeError } = await this._challenge({ + factorId: params.factorId, + }); + if (challengeError) { + return { data: null, error: challengeError }; + } + return await this._verify({ + factorId: params.factorId, + challengeId: challengeData.id, + code: params.code, + }); + } + /** + * {@see GoTrueMFAApi#listFactors} + */ + async _listFactors() { + // use #getUser instead of #_getUser as the former acquires a lock + const { data: { user }, error: userError, } = await this.getUser(); + if (userError) { + return { data: null, error: userError }; + } + const factors = (user === null || user === void 0 ? void 0 : user.factors) || []; + const totp = factors.filter((factor) => factor.factor_type === 'totp' && factor.status === 'verified'); + const phone = factors.filter((factor) => factor.factor_type === 'phone' && factor.status === 'verified'); + return { + data: { + all: factors, + totp, + phone, + }, + error: null, + }; + } + /** + * {@see GoTrueMFAApi#getAuthenticatorAssuranceLevel} + */ + async _getAuthenticatorAssuranceLevel() { + return this._acquireLock(-1, async () => { + return await this._useSession(async (result) => { + var _a, _b; + const { data: { session }, error: sessionError, } = result; + if (sessionError) { + return { data: null, error: sessionError }; + } + if (!session) { + return { + data: { currentLevel: null, nextLevel: null, currentAuthenticationMethods: [] }, + error: null, + }; + } + const { payload } = (0, helpers_1.decodeJWT)(session.access_token); + let currentLevel = null; + if (payload.aal) { + currentLevel = payload.aal; + } + let nextLevel = currentLevel; + const verifiedFactors = (_b = (_a = session.user.factors) === null || _a === void 0 ? void 0 : _a.filter((factor) => factor.status === 'verified')) !== null && _b !== void 0 ? _b : []; + if (verifiedFactors.length > 0) { + nextLevel = 'aal2'; + } + const currentAuthenticationMethods = payload.amr || []; + return { data: { currentLevel, nextLevel, currentAuthenticationMethods }, error: null }; + }); + }); + } + async fetchJwk(kid, jwks = { keys: [] }) { + // try fetching from the supplied jwks + let jwk = jwks.keys.find((key) => key.kid === kid); + if (jwk) { + return jwk; + } + const now = Date.now(); + // try fetching from cache + jwk = this.jwks.keys.find((key) => key.kid === kid); + // jwk exists and jwks isn't stale + if (jwk && this.jwks_cached_at + constants_1.JWKS_TTL > now) { + return jwk; + } + // jwk isn't cached in memory so we need to fetch it from the well-known endpoint + const { data, error } = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/.well-known/jwks.json`, { + headers: this.headers, + }); + if (error) { + throw error; + } + if (!data.keys || data.keys.length === 0) { + return null; + } + this.jwks = data; + this.jwks_cached_at = now; + // Find the signing key + jwk = data.keys.find((key) => key.kid === kid); + if (!jwk) { + return null; + } + return jwk; + } + /** + * Extracts the JWT claims present in the access token by first verifying the + * JWT against the server's JSON Web Key Set endpoint + * `/.well-known/jwks.json` which is often cached, resulting in significantly + * faster responses. Prefer this method over {@link #getUser} which always + * sends a request to the Auth server for each JWT. + * + * If the project is not using an asymmetric JWT signing key (like ECC or + * RSA) it always sends a request to the Auth server (similar to {@link + * #getUser}) to verify the JWT. + * + * @param jwt An optional specific JWT you wish to verify, not the one you + * can obtain from {@link #getSession}. + * @param options Various additional options that allow you to customize the + * behavior of this method. + */ + async getClaims(jwt, options = {}) { + try { + let token = jwt; + if (!token) { + const { data, error } = await this.getSession(); + if (error || !data.session) { + return { data: null, error }; + } + token = data.session.access_token; + } + const { header, payload, signature, raw: { header: rawHeader, payload: rawPayload }, } = (0, helpers_1.decodeJWT)(token); + if (!(options === null || options === void 0 ? void 0 : options.allowExpired)) { + // Reject expired JWTs should only happen if jwt argument was passed + (0, helpers_1.validateExp)(payload.exp); + } + const signingKey = !header.alg || + header.alg.startsWith('HS') || + !header.kid || + !('crypto' in globalThis && 'subtle' in globalThis.crypto) + ? null + : await this.fetchJwk(header.kid, (options === null || options === void 0 ? void 0 : options.keys) ? { keys: options.keys } : options === null || options === void 0 ? void 0 : options.jwks); + // If symmetric algorithm or WebCrypto API is unavailable, fallback to getUser() + if (!signingKey) { + const { error } = await this.getUser(token); + if (error) { + throw error; + } + // getUser succeeds so the claims in the JWT can be trusted + return { + data: { + claims: payload, + header, + signature, + }, + error: null, + }; + } + const algorithm = (0, helpers_1.getAlgorithm)(header.alg); + // Convert JWK to CryptoKey + const publicKey = await crypto.subtle.importKey('jwk', signingKey, algorithm, true, [ + 'verify', + ]); + // Verify the signature + const isValid = await crypto.subtle.verify(algorithm, publicKey, signature, (0, base64url_1.stringToUint8Array)(`${rawHeader}.${rawPayload}`)); + if (!isValid) { + throw new errors_1.AuthInvalidJwtError('Invalid JWT signature'); + } + // If verification succeeds, decode and return claims + return { + data: { + claims: payload, + header, + signature, + }, + error: null, + }; + } + catch (error) { + if ((0, errors_1.isAuthError)(error)) { + return { data: null, error }; + } + throw error; + } + } +} +exports.default = GoTrueClient; +GoTrueClient.nextInstanceID = 0; +//# sourceMappingURL=GoTrueClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/index.js b/.output/server/node_modules/@supabase/auth-js/dist/main/index.js new file mode 100644 index 00000000..d6f6fcd2 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/index.js @@ -0,0 +1,36 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.processLock = exports.lockInternals = exports.NavigatorLockAcquireTimeoutError = exports.navigatorLock = exports.AuthClient = exports.AuthAdminApi = exports.GoTrueClient = exports.GoTrueAdminApi = void 0; +const GoTrueAdminApi_1 = __importDefault(require("./GoTrueAdminApi")); +exports.GoTrueAdminApi = GoTrueAdminApi_1.default; +const GoTrueClient_1 = __importDefault(require("./GoTrueClient")); +exports.GoTrueClient = GoTrueClient_1.default; +const AuthAdminApi_1 = __importDefault(require("./AuthAdminApi")); +exports.AuthAdminApi = AuthAdminApi_1.default; +const AuthClient_1 = __importDefault(require("./AuthClient")); +exports.AuthClient = AuthClient_1.default; +__exportStar(require("./lib/types"), exports); +__exportStar(require("./lib/errors"), exports); +var locks_1 = require("./lib/locks"); +Object.defineProperty(exports, "navigatorLock", { enumerable: true, get: function () { return locks_1.navigatorLock; } }); +Object.defineProperty(exports, "NavigatorLockAcquireTimeoutError", { enumerable: true, get: function () { return locks_1.NavigatorLockAcquireTimeoutError; } }); +Object.defineProperty(exports, "lockInternals", { enumerable: true, get: function () { return locks_1.internals; } }); +Object.defineProperty(exports, "processLock", { enumerable: true, get: function () { return locks_1.processLock; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/base64url.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/base64url.js new file mode 100644 index 00000000..3d2cb26b --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/base64url.js @@ -0,0 +1,270 @@ +"use strict"; +/** + * Avoid modifying this file. It's part of + * https://github.com/supabase-community/base64url-js. Submit all fixes on + * that repo! + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bytesToBase64URL = exports.stringToUint8Array = exports.base64UrlToUint8Array = exports.stringFromUTF8 = exports.stringToUTF8 = exports.codepointToUTF8 = exports.stringFromBase64URL = exports.stringToBase64URL = exports.byteFromBase64URL = exports.byteToBase64URL = void 0; +/** + * An array of characters that encode 6 bits into a Base64-URL alphabet + * character. + */ +const TO_BASE64URL = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'.split(''); +/** + * An array of characters that can appear in a Base64-URL encoded string but + * should be ignored. + */ +const IGNORE_BASE64URL = ' \t\n\r='.split(''); +/** + * An array of 128 numbers that map a Base64-URL character to 6 bits, or if -2 + * used to skip the character, or if -1 used to error out. + */ +const FROM_BASE64URL = (() => { + const charMap = new Array(128); + for (let i = 0; i < charMap.length; i += 1) { + charMap[i] = -1; + } + for (let i = 0; i < IGNORE_BASE64URL.length; i += 1) { + charMap[IGNORE_BASE64URL[i].charCodeAt(0)] = -2; + } + for (let i = 0; i < TO_BASE64URL.length; i += 1) { + charMap[TO_BASE64URL[i].charCodeAt(0)] = i; + } + return charMap; +})(); +/** + * Converts a byte to a Base64-URL string. + * + * @param byte The byte to convert, or null to flush at the end of the byte sequence. + * @param state The Base64 conversion state. Pass an initial value of `{ queue: 0, queuedBits: 0 }`. + * @param emit A function called with the next Base64 character when ready. + */ +function byteToBase64URL(byte, state, emit) { + if (byte !== null) { + state.queue = (state.queue << 8) | byte; + state.queuedBits += 8; + while (state.queuedBits >= 6) { + const pos = (state.queue >> (state.queuedBits - 6)) & 63; + emit(TO_BASE64URL[pos]); + state.queuedBits -= 6; + } + } + else if (state.queuedBits > 0) { + state.queue = state.queue << (6 - state.queuedBits); + state.queuedBits = 6; + while (state.queuedBits >= 6) { + const pos = (state.queue >> (state.queuedBits - 6)) & 63; + emit(TO_BASE64URL[pos]); + state.queuedBits -= 6; + } + } +} +exports.byteToBase64URL = byteToBase64URL; +/** + * Converts a String char code (extracted using `string.charCodeAt(position)`) to a sequence of Base64-URL characters. + * + * @param charCode The char code of the JavaScript string. + * @param state The Base64 state. Pass an initial value of `{ queue: 0, queuedBits: 0 }`. + * @param emit A function called with the next byte. + */ +function byteFromBase64URL(charCode, state, emit) { + const bits = FROM_BASE64URL[charCode]; + if (bits > -1) { + // valid Base64-URL character + state.queue = (state.queue << 6) | bits; + state.queuedBits += 6; + while (state.queuedBits >= 8) { + emit((state.queue >> (state.queuedBits - 8)) & 0xff); + state.queuedBits -= 8; + } + } + else if (bits === -2) { + // ignore spaces, tabs, newlines, = + return; + } + else { + throw new Error(`Invalid Base64-URL character "${String.fromCharCode(charCode)}"`); + } +} +exports.byteFromBase64URL = byteFromBase64URL; +/** + * Converts a JavaScript string (which may include any valid character) into a + * Base64-URL encoded string. The string is first encoded in UTF-8 which is + * then encoded as Base64-URL. + * + * @param str The string to convert. + */ +function stringToBase64URL(str) { + const base64 = []; + const emitter = (char) => { + base64.push(char); + }; + const state = { queue: 0, queuedBits: 0 }; + stringToUTF8(str, (byte) => { + byteToBase64URL(byte, state, emitter); + }); + byteToBase64URL(null, state, emitter); + return base64.join(''); +} +exports.stringToBase64URL = stringToBase64URL; +/** + * Converts a Base64-URL encoded string into a JavaScript string. It is assumed + * that the underlying string has been encoded as UTF-8. + * + * @param str The Base64-URL encoded string. + */ +function stringFromBase64URL(str) { + const conv = []; + const utf8Emit = (codepoint) => { + conv.push(String.fromCodePoint(codepoint)); + }; + const utf8State = { + utf8seq: 0, + codepoint: 0, + }; + const b64State = { queue: 0, queuedBits: 0 }; + const byteEmit = (byte) => { + stringFromUTF8(byte, utf8State, utf8Emit); + }; + for (let i = 0; i < str.length; i += 1) { + byteFromBase64URL(str.charCodeAt(i), b64State, byteEmit); + } + return conv.join(''); +} +exports.stringFromBase64URL = stringFromBase64URL; +/** + * Converts a Unicode codepoint to a multi-byte UTF-8 sequence. + * + * @param codepoint The Unicode codepoint. + * @param emit Function which will be called for each UTF-8 byte that represents the codepoint. + */ +function codepointToUTF8(codepoint, emit) { + if (codepoint <= 0x7f) { + emit(codepoint); + return; + } + else if (codepoint <= 0x7ff) { + emit(0xc0 | (codepoint >> 6)); + emit(0x80 | (codepoint & 0x3f)); + return; + } + else if (codepoint <= 0xffff) { + emit(0xe0 | (codepoint >> 12)); + emit(0x80 | ((codepoint >> 6) & 0x3f)); + emit(0x80 | (codepoint & 0x3f)); + return; + } + else if (codepoint <= 0x10ffff) { + emit(0xf0 | (codepoint >> 18)); + emit(0x80 | ((codepoint >> 12) & 0x3f)); + emit(0x80 | ((codepoint >> 6) & 0x3f)); + emit(0x80 | (codepoint & 0x3f)); + return; + } + throw new Error(`Unrecognized Unicode codepoint: ${codepoint.toString(16)}`); +} +exports.codepointToUTF8 = codepointToUTF8; +/** + * Converts a JavaScript string to a sequence of UTF-8 bytes. + * + * @param str The string to convert to UTF-8. + * @param emit Function which will be called for each UTF-8 byte of the string. + */ +function stringToUTF8(str, emit) { + for (let i = 0; i < str.length; i += 1) { + let codepoint = str.charCodeAt(i); + if (codepoint > 0xd7ff && codepoint <= 0xdbff) { + // most UTF-16 codepoints are Unicode codepoints, except values in this + // range where the next UTF-16 codepoint needs to be combined with the + // current one to get the Unicode codepoint + const highSurrogate = ((codepoint - 0xd800) * 0x400) & 0xffff; + const lowSurrogate = (str.charCodeAt(i + 1) - 0xdc00) & 0xffff; + codepoint = (lowSurrogate | highSurrogate) + 0x10000; + i += 1; + } + codepointToUTF8(codepoint, emit); + } +} +exports.stringToUTF8 = stringToUTF8; +/** + * Converts a UTF-8 byte to a Unicode codepoint. + * + * @param byte The UTF-8 byte next in the sequence. + * @param state The shared state between consecutive UTF-8 bytes in the + * sequence, an object with the shape `{ utf8seq: 0, codepoint: 0 }`. + * @param emit Function which will be called for each codepoint. + */ +function stringFromUTF8(byte, state, emit) { + if (state.utf8seq === 0) { + if (byte <= 0x7f) { + emit(byte); + return; + } + // count the number of 1 leading bits until you reach 0 + for (let leadingBit = 1; leadingBit < 6; leadingBit += 1) { + if (((byte >> (7 - leadingBit)) & 1) === 0) { + state.utf8seq = leadingBit; + break; + } + } + if (state.utf8seq === 2) { + state.codepoint = byte & 31; + } + else if (state.utf8seq === 3) { + state.codepoint = byte & 15; + } + else if (state.utf8seq === 4) { + state.codepoint = byte & 7; + } + else { + throw new Error('Invalid UTF-8 sequence'); + } + state.utf8seq -= 1; + } + else if (state.utf8seq > 0) { + if (byte <= 0x7f) { + throw new Error('Invalid UTF-8 sequence'); + } + state.codepoint = (state.codepoint << 6) | (byte & 63); + state.utf8seq -= 1; + if (state.utf8seq === 0) { + emit(state.codepoint); + } + } +} +exports.stringFromUTF8 = stringFromUTF8; +/** + * Helper functions to convert different types of strings to Uint8Array + */ +function base64UrlToUint8Array(str) { + const result = []; + const state = { queue: 0, queuedBits: 0 }; + const onByte = (byte) => { + result.push(byte); + }; + for (let i = 0; i < str.length; i += 1) { + byteFromBase64URL(str.charCodeAt(i), state, onByte); + } + return new Uint8Array(result); +} +exports.base64UrlToUint8Array = base64UrlToUint8Array; +function stringToUint8Array(str) { + const result = []; + stringToUTF8(str, (byte) => result.push(byte)); + return new Uint8Array(result); +} +exports.stringToUint8Array = stringToUint8Array; +function bytesToBase64URL(bytes) { + const result = []; + const state = { queue: 0, queuedBits: 0 }; + const onChar = (char) => { + result.push(char); + }; + bytes.forEach((byte) => byteToBase64URL(byte, state, onChar)); + // always call with `null` after processing all bytes + byteToBase64URL(null, state, onChar); + return result.join(''); +} +exports.bytesToBase64URL = bytesToBase64URL; +//# sourceMappingURL=base64url.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/constants.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/constants.js new file mode 100644 index 00000000..7ce758db --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/constants.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.JWKS_TTL = exports.BASE64URL_REGEX = exports.API_VERSIONS = exports.API_VERSION_HEADER_NAME = exports.NETWORK_FAILURE = exports.DEFAULT_HEADERS = exports.AUDIENCE = exports.STORAGE_KEY = exports.GOTRUE_URL = exports.EXPIRY_MARGIN_MS = exports.AUTO_REFRESH_TICK_THRESHOLD = exports.AUTO_REFRESH_TICK_DURATION_MS = void 0; +const version_1 = require("./version"); +/** Current session will be checked for refresh at this interval. */ +exports.AUTO_REFRESH_TICK_DURATION_MS = 30 * 1000; +/** + * A token refresh will be attempted this many ticks before the current session expires. */ +exports.AUTO_REFRESH_TICK_THRESHOLD = 3; +/* + * Earliest time before an access token expires that the session should be refreshed. + */ +exports.EXPIRY_MARGIN_MS = exports.AUTO_REFRESH_TICK_THRESHOLD * exports.AUTO_REFRESH_TICK_DURATION_MS; +exports.GOTRUE_URL = 'http://localhost:9999'; +exports.STORAGE_KEY = 'supabase.auth.token'; +exports.AUDIENCE = ''; +exports.DEFAULT_HEADERS = { 'X-Client-Info': `gotrue-js/${version_1.version}` }; +exports.NETWORK_FAILURE = { + MAX_RETRIES: 10, + RETRY_INTERVAL: 2, // in deciseconds +}; +exports.API_VERSION_HEADER_NAME = 'X-Supabase-Api-Version'; +exports.API_VERSIONS = { + '2024-01-01': { + timestamp: Date.parse('2024-01-01T00:00:00.0Z'), + name: '2024-01-01', + }, +}; +exports.BASE64URL_REGEX = /^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i; +exports.JWKS_TTL = 10 * 60 * 1000; // 10 minutes +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/errors.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/errors.js new file mode 100644 index 00000000..9c82daea --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/errors.js @@ -0,0 +1,137 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthInvalidJwtError = exports.isAuthWeakPasswordError = exports.AuthWeakPasswordError = exports.isAuthRetryableFetchError = exports.AuthRetryableFetchError = exports.AuthPKCEGrantCodeExchangeError = exports.isAuthImplicitGrantRedirectError = exports.AuthImplicitGrantRedirectError = exports.AuthInvalidCredentialsError = exports.AuthInvalidTokenResponseError = exports.isAuthSessionMissingError = exports.AuthSessionMissingError = exports.CustomAuthError = exports.AuthUnknownError = exports.isAuthApiError = exports.AuthApiError = exports.isAuthError = exports.AuthError = void 0; +class AuthError extends Error { + constructor(message, status, code) { + super(message); + this.__isAuthError = true; + this.name = 'AuthError'; + this.status = status; + this.code = code; + } +} +exports.AuthError = AuthError; +function isAuthError(error) { + return typeof error === 'object' && error !== null && '__isAuthError' in error; +} +exports.isAuthError = isAuthError; +class AuthApiError extends AuthError { + constructor(message, status, code) { + super(message, status, code); + this.name = 'AuthApiError'; + this.status = status; + this.code = code; + } +} +exports.AuthApiError = AuthApiError; +function isAuthApiError(error) { + return isAuthError(error) && error.name === 'AuthApiError'; +} +exports.isAuthApiError = isAuthApiError; +class AuthUnknownError extends AuthError { + constructor(message, originalError) { + super(message); + this.name = 'AuthUnknownError'; + this.originalError = originalError; + } +} +exports.AuthUnknownError = AuthUnknownError; +class CustomAuthError extends AuthError { + constructor(message, name, status, code) { + super(message, status, code); + this.name = name; + this.status = status; + } +} +exports.CustomAuthError = CustomAuthError; +class AuthSessionMissingError extends CustomAuthError { + constructor() { + super('Auth session missing!', 'AuthSessionMissingError', 400, undefined); + } +} +exports.AuthSessionMissingError = AuthSessionMissingError; +function isAuthSessionMissingError(error) { + return isAuthError(error) && error.name === 'AuthSessionMissingError'; +} +exports.isAuthSessionMissingError = isAuthSessionMissingError; +class AuthInvalidTokenResponseError extends CustomAuthError { + constructor() { + super('Auth session or user missing', 'AuthInvalidTokenResponseError', 500, undefined); + } +} +exports.AuthInvalidTokenResponseError = AuthInvalidTokenResponseError; +class AuthInvalidCredentialsError extends CustomAuthError { + constructor(message) { + super(message, 'AuthInvalidCredentialsError', 400, undefined); + } +} +exports.AuthInvalidCredentialsError = AuthInvalidCredentialsError; +class AuthImplicitGrantRedirectError extends CustomAuthError { + constructor(message, details = null) { + super(message, 'AuthImplicitGrantRedirectError', 500, undefined); + this.details = null; + this.details = details; + } + toJSON() { + return { + name: this.name, + message: this.message, + status: this.status, + details: this.details, + }; + } +} +exports.AuthImplicitGrantRedirectError = AuthImplicitGrantRedirectError; +function isAuthImplicitGrantRedirectError(error) { + return isAuthError(error) && error.name === 'AuthImplicitGrantRedirectError'; +} +exports.isAuthImplicitGrantRedirectError = isAuthImplicitGrantRedirectError; +class AuthPKCEGrantCodeExchangeError extends CustomAuthError { + constructor(message, details = null) { + super(message, 'AuthPKCEGrantCodeExchangeError', 500, undefined); + this.details = null; + this.details = details; + } + toJSON() { + return { + name: this.name, + message: this.message, + status: this.status, + details: this.details, + }; + } +} +exports.AuthPKCEGrantCodeExchangeError = AuthPKCEGrantCodeExchangeError; +class AuthRetryableFetchError extends CustomAuthError { + constructor(message, status) { + super(message, 'AuthRetryableFetchError', status, undefined); + } +} +exports.AuthRetryableFetchError = AuthRetryableFetchError; +function isAuthRetryableFetchError(error) { + return isAuthError(error) && error.name === 'AuthRetryableFetchError'; +} +exports.isAuthRetryableFetchError = isAuthRetryableFetchError; +/** + * This error is thrown on certain methods when the password used is deemed + * weak. Inspect the reasons to identify what password strength rules are + * inadequate. + */ +class AuthWeakPasswordError extends CustomAuthError { + constructor(message, status, reasons) { + super(message, 'AuthWeakPasswordError', status, 'weak_password'); + this.reasons = reasons; + } +} +exports.AuthWeakPasswordError = AuthWeakPasswordError; +function isAuthWeakPasswordError(error) { + return isAuthError(error) && error.name === 'AuthWeakPasswordError'; +} +exports.isAuthWeakPasswordError = isAuthWeakPasswordError; +class AuthInvalidJwtError extends CustomAuthError { + constructor(message) { + super(message, 'AuthInvalidJwtError', 400, 'invalid_jwt'); + } +} +exports.AuthInvalidJwtError = AuthInvalidJwtError; +//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/fetch.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/fetch.js new file mode 100644 index 00000000..a844406f --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/fetch.js @@ -0,0 +1,195 @@ +"use strict"; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._noResolveJsonResponse = exports._generateLinkResponse = exports._ssoResponse = exports._userResponse = exports._sessionResponsePassword = exports._sessionResponse = exports._request = exports.handleError = void 0; +const constants_1 = require("./constants"); +const helpers_1 = require("./helpers"); +const errors_1 = require("./errors"); +const _getErrorMessage = (err) => err.msg || err.message || err.error_description || err.error || JSON.stringify(err); +const NETWORK_ERROR_CODES = [502, 503, 504]; +async function handleError(error) { + var _a; + if (!(0, helpers_1.looksLikeFetchResponse)(error)) { + throw new errors_1.AuthRetryableFetchError(_getErrorMessage(error), 0); + } + if (NETWORK_ERROR_CODES.includes(error.status)) { + // status in 500...599 range - server had an error, request might be retryed. + throw new errors_1.AuthRetryableFetchError(_getErrorMessage(error), error.status); + } + let data; + try { + data = await error.json(); + } + catch (e) { + throw new errors_1.AuthUnknownError(_getErrorMessage(e), e); + } + let errorCode = undefined; + const responseAPIVersion = (0, helpers_1.parseResponseAPIVersion)(error); + if (responseAPIVersion && + responseAPIVersion.getTime() >= constants_1.API_VERSIONS['2024-01-01'].timestamp && + typeof data === 'object' && + data && + typeof data.code === 'string') { + errorCode = data.code; + } + else if (typeof data === 'object' && data && typeof data.error_code === 'string') { + errorCode = data.error_code; + } + if (!errorCode) { + // Legacy support for weak password errors, when there were no error codes + if (typeof data === 'object' && + data && + typeof data.weak_password === 'object' && + data.weak_password && + Array.isArray(data.weak_password.reasons) && + data.weak_password.reasons.length && + data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) { + throw new errors_1.AuthWeakPasswordError(_getErrorMessage(data), error.status, data.weak_password.reasons); + } + } + else if (errorCode === 'weak_password') { + throw new errors_1.AuthWeakPasswordError(_getErrorMessage(data), error.status, ((_a = data.weak_password) === null || _a === void 0 ? void 0 : _a.reasons) || []); + } + else if (errorCode === 'session_not_found') { + // The `session_id` inside the JWT does not correspond to a row in the + // `sessions` table. This usually means the user has signed out, has been + // deleted, or their session has somehow been terminated. + throw new errors_1.AuthSessionMissingError(); + } + throw new errors_1.AuthApiError(_getErrorMessage(data), error.status || 500, errorCode); +} +exports.handleError = handleError; +const _getRequestParams = (method, options, parameters, body) => { + const params = { method, headers: (options === null || options === void 0 ? void 0 : options.headers) || {} }; + if (method === 'GET') { + return params; + } + params.headers = Object.assign({ 'Content-Type': 'application/json;charset=UTF-8' }, options === null || options === void 0 ? void 0 : options.headers); + params.body = JSON.stringify(body); + return Object.assign(Object.assign({}, params), parameters); +}; +async function _request(fetcher, method, url, options) { + var _a; + const headers = Object.assign({}, options === null || options === void 0 ? void 0 : options.headers); + if (!headers[constants_1.API_VERSION_HEADER_NAME]) { + headers[constants_1.API_VERSION_HEADER_NAME] = constants_1.API_VERSIONS['2024-01-01'].name; + } + if (options === null || options === void 0 ? void 0 : options.jwt) { + headers['Authorization'] = `Bearer ${options.jwt}`; + } + const qs = (_a = options === null || options === void 0 ? void 0 : options.query) !== null && _a !== void 0 ? _a : {}; + if (options === null || options === void 0 ? void 0 : options.redirectTo) { + qs['redirect_to'] = options.redirectTo; + } + const queryString = Object.keys(qs).length ? '?' + new URLSearchParams(qs).toString() : ''; + const data = await _handleRequest(fetcher, method, url + queryString, { + headers, + noResolveJson: options === null || options === void 0 ? void 0 : options.noResolveJson, + }, {}, options === null || options === void 0 ? void 0 : options.body); + return (options === null || options === void 0 ? void 0 : options.xform) ? options === null || options === void 0 ? void 0 : options.xform(data) : { data: Object.assign({}, data), error: null }; +} +exports._request = _request; +async function _handleRequest(fetcher, method, url, options, parameters, body) { + const requestParams = _getRequestParams(method, options, parameters, body); + let result; + try { + result = await fetcher(url, Object.assign({}, requestParams)); + } + catch (e) { + console.error(e); + // fetch failed, likely due to a network or CORS error + throw new errors_1.AuthRetryableFetchError(_getErrorMessage(e), 0); + } + if (!result.ok) { + await handleError(result); + } + if (options === null || options === void 0 ? void 0 : options.noResolveJson) { + return result; + } + try { + return await result.json(); + } + catch (e) { + await handleError(e); + } +} +function _sessionResponse(data) { + var _a; + let session = null; + if (hasSession(data)) { + session = Object.assign({}, data); + if (!data.expires_at) { + session.expires_at = (0, helpers_1.expiresAt)(data.expires_in); + } + } + const user = (_a = data.user) !== null && _a !== void 0 ? _a : data; + return { data: { session, user }, error: null }; +} +exports._sessionResponse = _sessionResponse; +function _sessionResponsePassword(data) { + const response = _sessionResponse(data); + if (!response.error && + data.weak_password && + typeof data.weak_password === 'object' && + Array.isArray(data.weak_password.reasons) && + data.weak_password.reasons.length && + data.weak_password.message && + typeof data.weak_password.message === 'string' && + data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) { + response.data.weak_password = data.weak_password; + } + return response; +} +exports._sessionResponsePassword = _sessionResponsePassword; +function _userResponse(data) { + var _a; + const user = (_a = data.user) !== null && _a !== void 0 ? _a : data; + return { data: { user }, error: null }; +} +exports._userResponse = _userResponse; +function _ssoResponse(data) { + return { data, error: null }; +} +exports._ssoResponse = _ssoResponse; +function _generateLinkResponse(data) { + const { action_link, email_otp, hashed_token, redirect_to, verification_type } = data, rest = __rest(data, ["action_link", "email_otp", "hashed_token", "redirect_to", "verification_type"]); + const properties = { + action_link, + email_otp, + hashed_token, + redirect_to, + verification_type, + }; + const user = Object.assign({}, rest); + return { + data: { + properties, + user, + }, + error: null, + }; +} +exports._generateLinkResponse = _generateLinkResponse; +function _noResolveJsonResponse(data) { + return data; +} +exports._noResolveJsonResponse = _noResolveJsonResponse; +/** + * hasSession checks if the response object contains a valid session + * @param data A response object + * @returns true if a session is in the response + */ +function hasSession(data) { + return data.access_token && data.refresh_token && data.expires_in; +} +//# sourceMappingURL=fetch.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/helpers.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/helpers.js new file mode 100644 index 00000000..f023990a --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/helpers.js @@ -0,0 +1,378 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deepClone = exports.userNotAvailableProxy = exports.validateUUID = exports.getAlgorithm = exports.validateExp = exports.parseResponseAPIVersion = exports.getCodeChallengeAndMethod = exports.generatePKCEChallenge = exports.generatePKCEVerifier = exports.retryable = exports.sleep = exports.decodeJWT = exports.Deferred = exports.removeItemAsync = exports.getItemAsync = exports.setItemAsync = exports.looksLikeFetchResponse = exports.resolveFetch = exports.parseParametersFromURL = exports.supportsLocalStorage = exports.isBrowser = exports.uuid = exports.expiresAt = void 0; +const constants_1 = require("./constants"); +const errors_1 = require("./errors"); +const base64url_1 = require("./base64url"); +function expiresAt(expiresIn) { + const timeNow = Math.round(Date.now() / 1000); + return timeNow + expiresIn; +} +exports.expiresAt = expiresAt; +function uuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} +exports.uuid = uuid; +const isBrowser = () => typeof window !== 'undefined' && typeof document !== 'undefined'; +exports.isBrowser = isBrowser; +const localStorageWriteTests = { + tested: false, + writable: false, +}; +/** + * Checks whether localStorage is supported on this browser. + */ +const supportsLocalStorage = () => { + if (!(0, exports.isBrowser)()) { + return false; + } + try { + if (typeof globalThis.localStorage !== 'object') { + return false; + } + } + catch (e) { + // DOM exception when accessing `localStorage` + return false; + } + if (localStorageWriteTests.tested) { + return localStorageWriteTests.writable; + } + const randomKey = `lswt-${Math.random()}${Math.random()}`; + try { + globalThis.localStorage.setItem(randomKey, randomKey); + globalThis.localStorage.removeItem(randomKey); + localStorageWriteTests.tested = true; + localStorageWriteTests.writable = true; + } + catch (e) { + // localStorage can't be written to + // https://www.chromium.org/for-testers/bug-reporting-guidelines/uncaught-securityerror-failed-to-read-the-localstorage-property-from-window-access-is-denied-for-this-document + localStorageWriteTests.tested = true; + localStorageWriteTests.writable = false; + } + return localStorageWriteTests.writable; +}; +exports.supportsLocalStorage = supportsLocalStorage; +/** + * Extracts parameters encoded in the URL both in the query and fragment. + */ +function parseParametersFromURL(href) { + const result = {}; + const url = new URL(href); + if (url.hash && url.hash[0] === '#') { + try { + const hashSearchParams = new URLSearchParams(url.hash.substring(1)); + hashSearchParams.forEach((value, key) => { + result[key] = value; + }); + } + catch (e) { + // hash is not a query string + } + } + // search parameters take precedence over hash parameters + url.searchParams.forEach((value, key) => { + result[key] = value; + }); + return result; +} +exports.parseParametersFromURL = parseParametersFromURL; +const resolveFetch = (customFetch) => { + let _fetch; + if (customFetch) { + _fetch = customFetch; + } + else if (typeof fetch === 'undefined') { + _fetch = (...args) => Promise.resolve().then(() => __importStar(require('@supabase/node-fetch'))).then(({ default: fetch }) => fetch(...args)); + } + else { + _fetch = fetch; + } + return (...args) => _fetch(...args); +}; +exports.resolveFetch = resolveFetch; +const looksLikeFetchResponse = (maybeResponse) => { + return (typeof maybeResponse === 'object' && + maybeResponse !== null && + 'status' in maybeResponse && + 'ok' in maybeResponse && + 'json' in maybeResponse && + typeof maybeResponse.json === 'function'); +}; +exports.looksLikeFetchResponse = looksLikeFetchResponse; +// Storage helpers +const setItemAsync = async (storage, key, data) => { + await storage.setItem(key, JSON.stringify(data)); +}; +exports.setItemAsync = setItemAsync; +const getItemAsync = async (storage, key) => { + const value = await storage.getItem(key); + if (!value) { + return null; + } + try { + return JSON.parse(value); + } + catch (_a) { + return value; + } +}; +exports.getItemAsync = getItemAsync; +const removeItemAsync = async (storage, key) => { + await storage.removeItem(key); +}; +exports.removeItemAsync = removeItemAsync; +/** + * A deferred represents some asynchronous work that is not yet finished, which + * may or may not culminate in a value. + * Taken from: https://github.com/mike-north/types/blob/master/src/async.ts + */ +class Deferred { + constructor() { + // eslint-disable-next-line @typescript-eslint/no-extra-semi + ; + this.promise = new Deferred.promiseConstructor((res, rej) => { + // eslint-disable-next-line @typescript-eslint/no-extra-semi + ; + this.resolve = res; + this.reject = rej; + }); + } +} +exports.Deferred = Deferred; +Deferred.promiseConstructor = Promise; +function decodeJWT(token) { + const parts = token.split('.'); + if (parts.length !== 3) { + throw new errors_1.AuthInvalidJwtError('Invalid JWT structure'); + } + // Regex checks for base64url format + for (let i = 0; i < parts.length; i++) { + if (!constants_1.BASE64URL_REGEX.test(parts[i])) { + throw new errors_1.AuthInvalidJwtError('JWT not in base64url format'); + } + } + const data = { + // using base64url lib + header: JSON.parse((0, base64url_1.stringFromBase64URL)(parts[0])), + payload: JSON.parse((0, base64url_1.stringFromBase64URL)(parts[1])), + signature: (0, base64url_1.base64UrlToUint8Array)(parts[2]), + raw: { + header: parts[0], + payload: parts[1], + }, + }; + return data; +} +exports.decodeJWT = decodeJWT; +/** + * Creates a promise that resolves to null after some time. + */ +async function sleep(time) { + return await new Promise((accept) => { + setTimeout(() => accept(null), time); + }); +} +exports.sleep = sleep; +/** + * Converts the provided async function into a retryable function. Each result + * or thrown error is sent to the isRetryable function which should return true + * if the function should run again. + */ +function retryable(fn, isRetryable) { + const promise = new Promise((accept, reject) => { + // eslint-disable-next-line @typescript-eslint/no-extra-semi + ; + (async () => { + for (let attempt = 0; attempt < Infinity; attempt++) { + try { + const result = await fn(attempt); + if (!isRetryable(attempt, null, result)) { + accept(result); + return; + } + } + catch (e) { + if (!isRetryable(attempt, e)) { + reject(e); + return; + } + } + } + })(); + }); + return promise; +} +exports.retryable = retryable; +function dec2hex(dec) { + return ('0' + dec.toString(16)).substr(-2); +} +// Functions below taken from: https://stackoverflow.com/questions/63309409/creating-a-code-verifier-and-challenge-for-pkce-auth-on-spotify-api-in-reactjs +function generatePKCEVerifier() { + const verifierLength = 56; + const array = new Uint32Array(verifierLength); + if (typeof crypto === 'undefined') { + const charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~'; + const charSetLen = charSet.length; + let verifier = ''; + for (let i = 0; i < verifierLength; i++) { + verifier += charSet.charAt(Math.floor(Math.random() * charSetLen)); + } + return verifier; + } + crypto.getRandomValues(array); + return Array.from(array, dec2hex).join(''); +} +exports.generatePKCEVerifier = generatePKCEVerifier; +async function sha256(randomString) { + const encoder = new TextEncoder(); + const encodedData = encoder.encode(randomString); + const hash = await crypto.subtle.digest('SHA-256', encodedData); + const bytes = new Uint8Array(hash); + return Array.from(bytes) + .map((c) => String.fromCharCode(c)) + .join(''); +} +async function generatePKCEChallenge(verifier) { + const hasCryptoSupport = typeof crypto !== 'undefined' && + typeof crypto.subtle !== 'undefined' && + typeof TextEncoder !== 'undefined'; + if (!hasCryptoSupport) { + console.warn('WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.'); + return verifier; + } + const hashed = await sha256(verifier); + return btoa(hashed).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); +} +exports.generatePKCEChallenge = generatePKCEChallenge; +async function getCodeChallengeAndMethod(storage, storageKey, isPasswordRecovery = false) { + const codeVerifier = generatePKCEVerifier(); + let storedCodeVerifier = codeVerifier; + if (isPasswordRecovery) { + storedCodeVerifier += '/PASSWORD_RECOVERY'; + } + await (0, exports.setItemAsync)(storage, `${storageKey}-code-verifier`, storedCodeVerifier); + const codeChallenge = await generatePKCEChallenge(codeVerifier); + const codeChallengeMethod = codeVerifier === codeChallenge ? 'plain' : 's256'; + return [codeChallenge, codeChallengeMethod]; +} +exports.getCodeChallengeAndMethod = getCodeChallengeAndMethod; +/** Parses the API version which is 2YYY-MM-DD. */ +const API_VERSION_REGEX = /^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i; +function parseResponseAPIVersion(response) { + const apiVersion = response.headers.get(constants_1.API_VERSION_HEADER_NAME); + if (!apiVersion) { + return null; + } + if (!apiVersion.match(API_VERSION_REGEX)) { + return null; + } + try { + const date = new Date(`${apiVersion}T00:00:00.0Z`); + return date; + } + catch (e) { + return null; + } +} +exports.parseResponseAPIVersion = parseResponseAPIVersion; +function validateExp(exp) { + if (!exp) { + throw new Error('Missing exp claim'); + } + const timeNow = Math.floor(Date.now() / 1000); + if (exp <= timeNow) { + throw new Error('JWT has expired'); + } +} +exports.validateExp = validateExp; +function getAlgorithm(alg) { + switch (alg) { + case 'RS256': + return { + name: 'RSASSA-PKCS1-v1_5', + hash: { name: 'SHA-256' }, + }; + case 'ES256': + return { + name: 'ECDSA', + namedCurve: 'P-256', + hash: { name: 'SHA-256' }, + }; + default: + throw new Error('Invalid alg claim'); + } +} +exports.getAlgorithm = getAlgorithm; +const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/; +function validateUUID(str) { + if (!UUID_REGEX.test(str)) { + throw new Error('@supabase/auth-js: Expected parameter to be UUID but is not'); + } +} +exports.validateUUID = validateUUID; +function userNotAvailableProxy() { + const proxyTarget = {}; + return new Proxy(proxyTarget, { + get: (target, prop) => { + if (prop === '__isUserNotAvailableProxy') { + return true; + } + // Preventative check for common problematic symbols during cloning/inspection + // These symbols might be accessed by structuredClone or other internal mechanisms. + if (typeof prop === 'symbol') { + const sProp = prop.toString(); + if (sProp === 'Symbol(Symbol.toPrimitive)' || + sProp === 'Symbol(Symbol.toStringTag)' || + sProp === 'Symbol(util.inspect.custom)') { + // Node.js util.inspect + return undefined; + } + } + throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${prop}" property of the session object is not supported. Please use getUser() instead.`); + }, + set: (_target, prop) => { + throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${prop}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`); + }, + deleteProperty: (_target, prop) => { + throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${prop}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`); + }, + }); +} +exports.userNotAvailableProxy = userNotAvailableProxy; +/** + * Deep clones a JSON-serializable object using JSON.parse(JSON.stringify(obj)). + * Note: Only works for JSON-safe data. + */ +function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); +} +exports.deepClone = deepClone; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/local-storage.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/local-storage.js new file mode 100644 index 00000000..caf3abef --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/local-storage.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.memoryLocalStorageAdapter = void 0; +/** + * Returns a localStorage-like object that stores the key-value pairs in + * memory. + */ +function memoryLocalStorageAdapter(store = {}) { + return { + getItem: (key) => { + return store[key] || null; + }, + setItem: (key, value) => { + store[key] = value; + }, + removeItem: (key) => { + delete store[key]; + }, + }; +} +exports.memoryLocalStorageAdapter = memoryLocalStorageAdapter; +//# sourceMappingURL=local-storage.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/locks.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/locks.js new file mode 100644 index 00000000..a9953b87 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/locks.js @@ -0,0 +1,187 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.processLock = exports.navigatorLock = exports.ProcessLockAcquireTimeoutError = exports.NavigatorLockAcquireTimeoutError = exports.LockAcquireTimeoutError = exports.internals = void 0; +const helpers_1 = require("./helpers"); +/** + * @experimental + */ +exports.internals = { + /** + * @experimental + */ + debug: !!(globalThis && + (0, helpers_1.supportsLocalStorage)() && + globalThis.localStorage && + globalThis.localStorage.getItem('supabase.gotrue-js.locks.debug') === 'true'), +}; +/** + * An error thrown when a lock cannot be acquired after some amount of time. + * + * Use the {@link #isAcquireTimeout} property instead of checking with `instanceof`. + */ +class LockAcquireTimeoutError extends Error { + constructor(message) { + super(message); + this.isAcquireTimeout = true; + } +} +exports.LockAcquireTimeoutError = LockAcquireTimeoutError; +class NavigatorLockAcquireTimeoutError extends LockAcquireTimeoutError { +} +exports.NavigatorLockAcquireTimeoutError = NavigatorLockAcquireTimeoutError; +class ProcessLockAcquireTimeoutError extends LockAcquireTimeoutError { +} +exports.ProcessLockAcquireTimeoutError = ProcessLockAcquireTimeoutError; +/** + * Implements a global exclusive lock using the Navigator LockManager API. It + * is available on all browsers released after 2022-03-15 with Safari being the + * last one to release support. If the API is not available, this function will + * throw. Make sure you check availablility before configuring {@link + * GoTrueClient}. + * + * You can turn on debugging by setting the `supabase.gotrue-js.locks.debug` + * local storage item to `true`. + * + * Internals: + * + * Since the LockManager API does not preserve stack traces for the async + * function passed in the `request` method, a trick is used where acquiring the + * lock releases a previously started promise to run the operation in the `fn` + * function. The lock waits for that promise to finish (with or without error), + * while the function will finally wait for the result anyway. + * + * @param name Name of the lock to be acquired. + * @param acquireTimeout If negative, no timeout. If 0 an error is thrown if + * the lock can't be acquired without waiting. If positive, the lock acquire + * will time out after so many milliseconds. An error is + * a timeout if it has `isAcquireTimeout` set to true. + * @param fn The operation to run once the lock is acquired. + */ +async function navigatorLock(name, acquireTimeout, fn) { + if (exports.internals.debug) { + console.log('@supabase/gotrue-js: navigatorLock: acquire lock', name, acquireTimeout); + } + const abortController = new globalThis.AbortController(); + if (acquireTimeout > 0) { + setTimeout(() => { + abortController.abort(); + if (exports.internals.debug) { + console.log('@supabase/gotrue-js: navigatorLock acquire timed out', name); + } + }, acquireTimeout); + } + // MDN article: https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request + // Wrapping navigator.locks.request() with a plain Promise is done as some + // libraries like zone.js patch the Promise object to track the execution + // context. However, it appears that most browsers use an internal promise + // implementation when using the navigator.locks.request() API causing them + // to lose context and emit confusing log messages or break certain features. + // This wrapping is believed to help zone.js track the execution context + // better. + return await Promise.resolve().then(() => globalThis.navigator.locks.request(name, acquireTimeout === 0 + ? { + mode: 'exclusive', + ifAvailable: true, + } + : { + mode: 'exclusive', + signal: abortController.signal, + }, async (lock) => { + if (lock) { + if (exports.internals.debug) { + console.log('@supabase/gotrue-js: navigatorLock: acquired', name, lock.name); + } + try { + return await fn(); + } + finally { + if (exports.internals.debug) { + console.log('@supabase/gotrue-js: navigatorLock: released', name, lock.name); + } + } + } + else { + if (acquireTimeout === 0) { + if (exports.internals.debug) { + console.log('@supabase/gotrue-js: navigatorLock: not immediately available', name); + } + throw new NavigatorLockAcquireTimeoutError(`Acquiring an exclusive Navigator LockManager lock "${name}" immediately failed`); + } + else { + if (exports.internals.debug) { + try { + const result = await globalThis.navigator.locks.query(); + console.log('@supabase/gotrue-js: Navigator LockManager state', JSON.stringify(result, null, ' ')); + } + catch (e) { + console.warn('@supabase/gotrue-js: Error when querying Navigator LockManager state', e); + } + } + // Browser is not following the Navigator LockManager spec, it + // returned a null lock when we didn't use ifAvailable. So we can + // pretend the lock is acquired in the name of backward compatibility + // and user experience and just run the function. + console.warn('@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request'); + return await fn(); + } + } + })); +} +exports.navigatorLock = navigatorLock; +const PROCESS_LOCKS = {}; +/** + * Implements a global exclusive lock that works only in the current process. + * Useful for environments like React Native or other non-browser + * single-process (i.e. no concept of "tabs") environments. + * + * Use {@link #navigatorLock} in browser environments. + * + * @param name Name of the lock to be acquired. + * @param acquireTimeout If negative, no timeout. If 0 an error is thrown if + * the lock can't be acquired without waiting. If positive, the lock acquire + * will time out after so many milliseconds. An error is + * a timeout if it has `isAcquireTimeout` set to true. + * @param fn The operation to run once the lock is acquired. + */ +async function processLock(name, acquireTimeout, fn) { + var _a; + const previousOperation = (_a = PROCESS_LOCKS[name]) !== null && _a !== void 0 ? _a : Promise.resolve(); + const currentOperation = Promise.race([ + previousOperation.catch(() => { + // ignore error of previous operation that we're waiting to finish + return null; + }), + acquireTimeout >= 0 + ? new Promise((_, reject) => { + setTimeout(() => { + reject(new ProcessLockAcquireTimeoutError(`Acquring process lock with name "${name}" timed out`)); + }, acquireTimeout); + }) + : null, + ].filter((x) => x)) + .catch((e) => { + if (e && e.isAcquireTimeout) { + throw e; + } + return null; + }) + .then(async () => { + // previous operations finished and we didn't get a race on the acquire + // timeout, so the current operation can finally start + return await fn(); + }); + PROCESS_LOCKS[name] = currentOperation.catch(async (e) => { + if (e && e.isAcquireTimeout) { + // if the current operation timed out, it doesn't mean that the previous + // operation finished, so we need contnue waiting for it to finish + await previousOperation; + return null; + } + throw e; + }); + // finally wait for the current operation to finish successfully, with an + // error or with an acquire timeout error + return await currentOperation; +} +exports.processLock = processLock; +//# sourceMappingURL=locks.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/polyfills.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/polyfills.js new file mode 100644 index 00000000..9e146fc1 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/polyfills.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.polyfillGlobalThis = void 0; +/** + * https://mathiasbynens.be/notes/globalthis + */ +function polyfillGlobalThis() { + if (typeof globalThis === 'object') + return; + try { + Object.defineProperty(Object.prototype, '__magic__', { + get: function () { + return this; + }, + configurable: true, + }); + // @ts-expect-error 'Allow access to magic' + __magic__.globalThis = __magic__; + // @ts-expect-error 'Allow access to magic' + delete Object.prototype.__magic__; + } + catch (e) { + if (typeof self !== 'undefined') { + // @ts-expect-error 'Allow access to globals' + self.globalThis = self; + } + } +} +exports.polyfillGlobalThis = polyfillGlobalThis; +//# sourceMappingURL=polyfills.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/types.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/types.js new file mode 100644 index 00000000..5e4719a8 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/types.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SIGN_OUT_SCOPES = void 0; +exports.SIGN_OUT_SCOPES = ['global', 'local', 'others']; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/dist/main/lib/version.js b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/version.js new file mode 100644 index 00000000..6ed4b70e --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/dist/main/lib/version.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.version = void 0; +exports.version = '2.71.1'; +//# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/auth-js/package.json b/.output/server/node_modules/@supabase/auth-js/package.json new file mode 100644 index 00000000..8b7fe300 --- /dev/null +++ b/.output/server/node_modules/@supabase/auth-js/package.json @@ -0,0 +1,69 @@ +{ + "name": "@supabase/auth-js", + "version": "2.71.1", + "private": false, + "description": "Official client library for Supabase Auth", + "keywords": [ + "auth", + "supabase", + "auth", + "authentication" + ], + "homepage": "https://github.com/supabase/auth-js", + "bugs": "https://github.com/supabase/auth-js/issues", + "license": "MIT", + "author": "Supabase", + "files": [ + "dist", + "src" + ], + "main": "dist/main/index.js", + "module": "dist/module/index.js", + "types": "dist/module/index.d.ts", + "repository": "github:supabase/auth-js", + "scripts": { + "clean": "rimraf dist docs", + "coverage": "echo \"run npm test\"", + "format": "prettier --write \"{src,test}/**/*.ts\"", + "build": "genversion src/lib/version.ts --es6 && run-s clean format build:* && run-s lint", + "build:main": "tsc -p tsconfig.json", + "build:module": "tsc -p tsconfig.module.json", + "lint": "eslint ./src/**/* test/**/*.test.ts", + "test": "run-s test:clean test:infra test:suite test:clean", + "test:suite": "npm --prefix ./test run test", + "test:infra": "cd infra && docker compose down && docker compose pull && docker compose up -d && sleep 30", + "test:clean": "cd infra && docker compose down", + "docs": "typedoc src/index.ts --out docs/v2 --excludePrivate --excludeProtected", + "docs:json": "typedoc --json docs/v2/spec.json --excludeExternals --excludePrivate --excludeProtected src/index.ts" + }, + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + }, + "devDependencies": { + "@types/faker": "^5.1.6", + "@types/jest": "^28.1.6", + "@types/jsonwebtoken": "^8.5.6", + "@types/node": "^18.16.19", + "@types/node-fetch": "^2.6.4", + "@typescript-eslint/eslint-plugin": "^5.30.7", + "@typescript-eslint/parser": "^5.30.7", + "eslint": "^8.20.0", + "eslint-config-prettier": "^8.5.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.0.0", + "faker": "^5.3.1", + "genversion": "^3.1.1", + "jest": "^28.1.3", + "jest-mock-server": "^0.1.0", + "jsonwebtoken": "^9.0.0", + "npm-run-all": "^4.1.5", + "prettier": "2.7.1", + "rimraf": "^3.0.2", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "ts-jest": "^28.0.7", + "typedoc": "^0.22.16", + "typescript": "^4.7.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/functions-js/dist/main/FunctionsClient.js b/.output/server/node_modules/@supabase/functions-js/dist/main/FunctionsClient.js new file mode 100644 index 00000000..698ec325 --- /dev/null +++ b/.output/server/node_modules/@supabase/functions-js/dist/main/FunctionsClient.js @@ -0,0 +1,127 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FunctionsClient = void 0; +const helper_1 = require("./helper"); +const types_1 = require("./types"); +class FunctionsClient { + constructor(url, { headers = {}, customFetch, region = types_1.FunctionRegion.Any, } = {}) { + this.url = url; + this.headers = headers; + this.region = region; + this.fetch = (0, helper_1.resolveFetch)(customFetch); + } + /** + * Updates the authorization header + * @param token - the new jwt token sent in the authorisation header + */ + setAuth(token) { + this.headers.Authorization = `Bearer ${token}`; + } + /** + * Invokes a function + * @param functionName - The name of the Function to invoke. + * @param options - Options for invoking the Function. + */ + invoke(functionName, options = {}) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + try { + const { headers, method, body: functionArgs } = options; + let _headers = {}; + let { region } = options; + if (!region) { + region = this.region; + } + // Add region as query parameter using URL API + const url = new URL(`${this.url}/${functionName}`); + if (region && region !== 'any') { + _headers['x-region'] = region; + url.searchParams.set('forceFunctionRegion', region); + } + let body; + if (functionArgs && + ((headers && !Object.prototype.hasOwnProperty.call(headers, 'Content-Type')) || !headers)) { + if ((typeof Blob !== 'undefined' && functionArgs instanceof Blob) || + functionArgs instanceof ArrayBuffer) { + // will work for File as File inherits Blob + // also works for ArrayBuffer as it is the same underlying structure as a Blob + _headers['Content-Type'] = 'application/octet-stream'; + body = functionArgs; + } + else if (typeof functionArgs === 'string') { + // plain string + _headers['Content-Type'] = 'text/plain'; + body = functionArgs; + } + else if (typeof FormData !== 'undefined' && functionArgs instanceof FormData) { + // don't set content-type headers + // Request will automatically add the right boundary value + body = functionArgs; + } + else { + // default, assume this is JSON + _headers['Content-Type'] = 'application/json'; + body = JSON.stringify(functionArgs); + } + } + const response = yield this.fetch(url.toString(), { + method: method || 'POST', + // headers priority is (high to low): + // 1. invoke-level headers + // 2. client-level headers + // 3. default Content-Type header + headers: Object.assign(Object.assign(Object.assign({}, _headers), this.headers), headers), + body, + }).catch((fetchError) => { + throw new types_1.FunctionsFetchError(fetchError); + }); + const isRelayError = response.headers.get('x-relay-error'); + if (isRelayError && isRelayError === 'true') { + throw new types_1.FunctionsRelayError(response); + } + if (!response.ok) { + throw new types_1.FunctionsHttpError(response); + } + let responseType = ((_a = response.headers.get('Content-Type')) !== null && _a !== void 0 ? _a : 'text/plain').split(';')[0].trim(); + let data; + if (responseType === 'application/json') { + data = yield response.json(); + } + else if (responseType === 'application/octet-stream') { + data = yield response.blob(); + } + else if (responseType === 'text/event-stream') { + data = response; + } + else if (responseType === 'multipart/form-data') { + data = yield response.formData(); + } + else { + // default to text + data = yield response.text(); + } + return { data, error: null, response }; + } + catch (error) { + return { + data: null, + error, + response: error instanceof types_1.FunctionsHttpError || error instanceof types_1.FunctionsRelayError + ? error.context + : undefined, + }; + } + }); + } +} +exports.FunctionsClient = FunctionsClient; +//# sourceMappingURL=FunctionsClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/functions-js/dist/main/helper.js b/.output/server/node_modules/@supabase/functions-js/dist/main/helper.js new file mode 100644 index 00000000..48928e5a --- /dev/null +++ b/.output/server/node_modules/@supabase/functions-js/dist/main/helper.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resolveFetch = void 0; +const resolveFetch = (customFetch) => { + let _fetch; + if (customFetch) { + _fetch = customFetch; + } + else if (typeof fetch === 'undefined') { + _fetch = (...args) => Promise.resolve().then(() => __importStar(require('@supabase/node-fetch'))).then(({ default: fetch }) => fetch(...args)); + } + else { + _fetch = fetch; + } + return (...args) => _fetch(...args); +}; +exports.resolveFetch = resolveFetch; +//# sourceMappingURL=helper.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/functions-js/dist/main/index.js b/.output/server/node_modules/@supabase/functions-js/dist/main/index.js new file mode 100644 index 00000000..2cdb2fa6 --- /dev/null +++ b/.output/server/node_modules/@supabase/functions-js/dist/main/index.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FunctionRegion = exports.FunctionsRelayError = exports.FunctionsHttpError = exports.FunctionsFetchError = exports.FunctionsError = exports.FunctionsClient = void 0; +var FunctionsClient_1 = require("./FunctionsClient"); +Object.defineProperty(exports, "FunctionsClient", { enumerable: true, get: function () { return FunctionsClient_1.FunctionsClient; } }); +var types_1 = require("./types"); +Object.defineProperty(exports, "FunctionsError", { enumerable: true, get: function () { return types_1.FunctionsError; } }); +Object.defineProperty(exports, "FunctionsFetchError", { enumerable: true, get: function () { return types_1.FunctionsFetchError; } }); +Object.defineProperty(exports, "FunctionsHttpError", { enumerable: true, get: function () { return types_1.FunctionsHttpError; } }); +Object.defineProperty(exports, "FunctionsRelayError", { enumerable: true, get: function () { return types_1.FunctionsRelayError; } }); +Object.defineProperty(exports, "FunctionRegion", { enumerable: true, get: function () { return types_1.FunctionRegion; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/functions-js/dist/main/types.js b/.output/server/node_modules/@supabase/functions-js/dist/main/types.js new file mode 100644 index 00000000..e2767969 --- /dev/null +++ b/.output/server/node_modules/@supabase/functions-js/dist/main/types.js @@ -0,0 +1,49 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FunctionRegion = exports.FunctionsHttpError = exports.FunctionsRelayError = exports.FunctionsFetchError = exports.FunctionsError = void 0; +class FunctionsError extends Error { + constructor(message, name = 'FunctionsError', context) { + super(message); + this.name = name; + this.context = context; + } +} +exports.FunctionsError = FunctionsError; +class FunctionsFetchError extends FunctionsError { + constructor(context) { + super('Failed to send a request to the Edge Function', 'FunctionsFetchError', context); + } +} +exports.FunctionsFetchError = FunctionsFetchError; +class FunctionsRelayError extends FunctionsError { + constructor(context) { + super('Relay Error invoking the Edge Function', 'FunctionsRelayError', context); + } +} +exports.FunctionsRelayError = FunctionsRelayError; +class FunctionsHttpError extends FunctionsError { + constructor(context) { + super('Edge Function returned a non-2xx status code', 'FunctionsHttpError', context); + } +} +exports.FunctionsHttpError = FunctionsHttpError; +// Define the enum for the 'region' property +var FunctionRegion; +(function (FunctionRegion) { + FunctionRegion["Any"] = "any"; + FunctionRegion["ApNortheast1"] = "ap-northeast-1"; + FunctionRegion["ApNortheast2"] = "ap-northeast-2"; + FunctionRegion["ApSouth1"] = "ap-south-1"; + FunctionRegion["ApSoutheast1"] = "ap-southeast-1"; + FunctionRegion["ApSoutheast2"] = "ap-southeast-2"; + FunctionRegion["CaCentral1"] = "ca-central-1"; + FunctionRegion["EuCentral1"] = "eu-central-1"; + FunctionRegion["EuWest1"] = "eu-west-1"; + FunctionRegion["EuWest2"] = "eu-west-2"; + FunctionRegion["EuWest3"] = "eu-west-3"; + FunctionRegion["SaEast1"] = "sa-east-1"; + FunctionRegion["UsEast1"] = "us-east-1"; + FunctionRegion["UsWest1"] = "us-west-1"; + FunctionRegion["UsWest2"] = "us-west-2"; +})(FunctionRegion = exports.FunctionRegion || (exports.FunctionRegion = {})); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/functions-js/package.json b/.output/server/node_modules/@supabase/functions-js/package.json new file mode 100644 index 00000000..963c02b9 --- /dev/null +++ b/.output/server/node_modules/@supabase/functions-js/package.json @@ -0,0 +1,65 @@ +{ + "name": "@supabase/functions-js", + "version": "2.4.5", + "description": "JS Client library to interact with Supabase Functions.", + "main": "dist/main/index.js", + "module": "dist/module/index.js", + "types": "dist/module/index.d.ts", + "sideEffects": false, + "scripts": { + "clean": "rimraf dist docs/v2", + "format": "prettier --write \"{src,test}/**/*.ts\"", + "build": "run-s clean format build:*", + "build:main": "tsc -p tsconfig.json", + "build:module": "tsc -p tsconfig.module.json", + "docs": "typedoc src/index.ts --out docs/v2", + "docs:json": "typedoc --json docs/v2/spec.json --excludeExternals src/index.ts", + "test": "jest", + "test:coverage": "jest --coverage" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/supabase/functions-js.git" + }, + "keywords": [ + "functions", + "supabase" + ], + "author": "Supabase", + "files": [ + "dist", + "src" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/supabase/functions-js/issues" + }, + "homepage": "https://github.com/supabase/functions-js#readme", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + }, + "devDependencies": { + "@sebbo2002/semantic-release-jsr": "^1.0.0", + "@types/jest": "^28.1.0", + "@types/jsonwebtoken": "^8.5.8", + "@types/node": "^18.7.0", + "genversion": "^3.0.2", + "jest": "^28.1.0", + "jsonwebtoken": "^9.0.0", + "nanoid": "^3.3.1", + "npm-run-all": "^4.1.5", + "openai": "^4.52.5", + "prettier": "^2.6.0", + "rimraf": "^3.0.2", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "testcontainers": "^8.5.1", + "ts-jest": "^28.0.0", + "ts-node": "^10.9.0", + "ts-test-decorators": "^0.0.6", + "typedoc": "^0.22.13", + "typescript": "^4.6.2" + }, + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/node-fetch/lib/index.js b/.output/server/node_modules/@supabase/node-fetch/lib/index.js new file mode 100644 index 00000000..2e69fa2e --- /dev/null +++ b/.output/server/node_modules/@supabase/node-fetch/lib/index.js @@ -0,0 +1,1787 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(require('stream')); +var http = _interopDefault(require('http')); +var Url = _interopDefault(require('url')); +var whatwgUrl = _interopDefault(require('whatwg-url')); +var https = _interopDefault(require('https')); +var zlib = _interopDefault(require('zlib')); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str); + } + + // html4 + if (!res && str) { + res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str); + if (!res) { + res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str); + if (res) { + res.pop(); // drop last quote + } + } + + if (res) { + res = /charset=(.*)/i.exec(res.pop()); + } + } + + // xml + if (!res && str) { + res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str); + } + + // found charset + if (res) { + charset = res.pop(); + + // prevent decode issues when sites use incorrect encoding + // ref: https://hsivonen.fi/encoding-menu/ + if (charset === 'gb2312' || charset === 'gbk') { + charset = 'gb18030'; + } + } + + // turn raw buffers into a single utf-8 buffer + return convert(buffer, 'UTF-8', charset).toString(); +} + +/** + * Detect a URLSearchParams object + * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143 + * + * @param Object obj Object to detect by type or brand + * @return String + */ +function isURLSearchParams(obj) { + // Duck-typing as a necessary condition. + if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') { + return false; + } + + // Brand-checking and more duck-typing as optional condition. + return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function'; +} + +/** + * Check if `obj` is a W3C `Blob` object (which `File` inherits from) + * @param {*} obj + * @return {boolean} + */ +function isBlob(obj) { + return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]); +} + +/** + * Clone body given Res/Req instance + * + * @param Mixed instance Response or Request instance + * @return Mixed + */ +function clone(instance) { + let p1, p2; + let body = instance.body; + + // don't allow cloning a used body + if (instance.bodyUsed) { + throw new Error('cannot clone body after it is used'); + } + + // check that body is a stream and not form-data object + // note: we can't clone the form-data object without having it as a dependency + if (body instanceof Stream && typeof body.getBoundary !== 'function') { + // tee instance body + p1 = new PassThrough(); + p2 = new PassThrough(); + body.pipe(p1); + body.pipe(p2); + // set instance body to teed body and return the other teed body + instance[INTERNALS].body = p1; + body = p2; + } + + return body; +} + +/** + * Performs the operation "extract a `Content-Type` value from |object|" as + * specified in the specification: + * https://fetch.spec.whatwg.org/#concept-bodyinit-extract + * + * This function assumes that instance.body is present. + * + * @param Mixed instance Any options.body input + */ +function extractContentType(body) { + if (body === null) { + // body is null + return null; + } else if (typeof body === 'string') { + // body is string + return 'text/plain;charset=UTF-8'; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + return 'application/x-www-form-urlencoded;charset=UTF-8'; + } else if (isBlob(body)) { + // body is blob + return body.type || null; + } else if (Buffer.isBuffer(body)) { + // body is buffer + return null; + } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + return null; + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + return null; + } else if (typeof body.getBoundary === 'function') { + // detect form data input from form-data module + return `multipart/form-data;boundary=${body.getBoundary()}`; + } else if (body instanceof Stream) { + // body is stream + // can't really do much about this + return null; + } else { + // Body constructor defaults other things to string + return 'text/plain;charset=UTF-8'; + } +} + +/** + * The Fetch Standard treats this as if "total bytes" is a property on the body. + * For us, we have to explicitly get it with a function. + * + * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes + * + * @param Body instance Instance of Body + * @return Number? Number of bytes, or null if not possible + */ +function getTotalBytes(instance) { + const body = instance.body; + + + if (body === null) { + // body is null + return 0; + } else if (isBlob(body)) { + return body.size; + } else if (Buffer.isBuffer(body)) { + // body is buffer + return body.length; + } else if (body && typeof body.getLengthSync === 'function') { + // detect form data input from form-data module + if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x + body.hasKnownLength && body.hasKnownLength()) { + // 2.x + return body.getLengthSync(); + } + return null; + } else { + // body is stream + return null; + } +} + +/** + * Write a Body to a Node.js WritableStream (e.g. http.Request) object. + * + * @param Body instance Instance of Body + * @return Void + */ +function writeToStream(dest, instance) { + const body = instance.body; + + + if (body === null) { + // body is null + dest.end(); + } else if (isBlob(body)) { + body.stream().pipe(dest); + } else if (Buffer.isBuffer(body)) { + // body is buffer + dest.write(body); + dest.end(); + } else { + // body is stream + body.pipe(dest); + } +} + +// expose Promise +Body.Promise = global.Promise; + +/** + * headers.js + * + * Headers class offers convenient helpers + */ + +const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; +const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + +function validateName(name) { + name = `${name}`; + if (invalidTokenRegex.test(name) || name === '') { + throw new TypeError(`${name} is not a legal HTTP header name`); + } +} + +function validateValue(value) { + value = `${value}`; + if (invalidHeaderCharRegex.test(value)) { + throw new TypeError(`${value} is not a legal HTTP header value`); + } +} + +/** + * Find the key in the map object given a header name. + * + * Returns undefined if not found. + * + * @param String name Header name + * @return String|Undefined + */ +function find(map, name) { + name = name.toLowerCase(); + for (const key in map) { + if (key.toLowerCase() === name) { + return key; + } + } + return undefined; +} + +const MAP = Symbol('map'); +class Headers { + /** + * Headers class + * + * @param Object headers Response headers + * @return Void + */ + constructor() { + let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence<sequence<ByteString>> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record<ByteString, ByteString> + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; diff --git a/.output/server/node_modules/@supabase/node-fetch/package.json b/.output/server/node_modules/@supabase/node-fetch/package.json new file mode 100644 index 00000000..e35fe13b --- /dev/null +++ b/.output/server/node_modules/@supabase/node-fetch/package.json @@ -0,0 +1,80 @@ +{ + "name": "@supabase/node-fetch", + "publishConfig": { + "access": "public" + }, + "version": "2.6.15", + "description": "A light-weight module that brings window.fetch to node.js", + "main": "lib/index.js", + "browser": "./browser.js", + "files": [ + "lib/index.js", + "lib/index.mjs", + "lib/index.es.js", + "browser.js" + ], + "engines": { + "node": "4.x || >=6.0.0" + }, + "scripts": { + "build": "cross-env BABEL_ENV=rollup rollup -c", + "prepare": "npm run build", + "test": "cross-env BABEL_ENV=test mocha --require babel-register --throw-deprecation test/test.js", + "report": "cross-env BABEL_ENV=coverage nyc --reporter lcov --reporter text mocha -R spec test/test.js", + "coverage": "cross-env BABEL_ENV=coverage nyc --reporter json --reporter text mocha -R spec test/test.js && codecov -f coverage/coverage-final.json" + }, + "repository": "supabase/node-fetch", + "keywords": [ + "fetch", + "http", + "promise" + ], + "author": "David Frank", + "license": "MIT", + "bugs": { + "url": "https://github.com/supabase/node-fetch/issues" + }, + "homepage": "https://github.com/supabase/node-fetch", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "devDependencies": { + "@ungap/url-search-params": "^0.1.2", + "abort-controller": "^1.1.0", + "abortcontroller-polyfill": "^1.3.0", + "babel-core": "^6.26.3", + "babel-plugin-istanbul": "^4.1.6", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "1.4.0", + "babel-register": "^6.16.3", + "chai": "^3.5.0", + "chai-as-promised": "^7.1.1", + "chai-iterator": "^1.1.1", + "chai-string": "~1.3.0", + "codecov": "3.3.0", + "cross-env": "^5.2.0", + "form-data": "^2.3.3", + "is-builtin-module": "^1.0.0", + "mocha": "^5.0.0", + "nyc": "11.9.0", + "parted": "^0.1.1", + "promise": "^8.0.3", + "resumer": "0.0.0", + "rollup": "^0.63.4", + "rollup-plugin-babel": "^3.0.7", + "string-to-arraybuffer": "^1.0.2", + "teeny-request": "3.7.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js new file mode 100644 index 00000000..4e62ab32 --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestBuilder.js @@ -0,0 +1,222 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// @ts-ignore +const node_fetch_1 = __importDefault(require("@supabase/node-fetch")); +const PostgrestError_1 = __importDefault(require("./PostgrestError")); +class PostgrestBuilder { + constructor(builder) { + var _a, _b; + this.shouldThrowOnError = false; + this.method = builder.method; + this.url = builder.url; + this.headers = new Headers(builder.headers); + this.schema = builder.schema; + this.body = builder.body; + this.shouldThrowOnError = (_a = builder.shouldThrowOnError) !== null && _a !== void 0 ? _a : false; + this.signal = builder.signal; + this.isMaybeSingle = (_b = builder.isMaybeSingle) !== null && _b !== void 0 ? _b : false; + if (builder.fetch) { + this.fetch = builder.fetch; + } + else if (typeof fetch === 'undefined') { + this.fetch = node_fetch_1.default; + } + else { + this.fetch = fetch; + } + } + /** + * If there's an error with the query, throwOnError will reject the promise by + * throwing the error instead of returning it as part of a successful response. + * + * {@link https://github.com/supabase/supabase-js/issues/92} + */ + throwOnError() { + this.shouldThrowOnError = true; + return this; + } + /** + * Set an HTTP header for the request. + */ + setHeader(name, value) { + this.headers = new Headers(this.headers); + this.headers.set(name, value); + return this; + } + then(onfulfilled, onrejected) { + // https://postgrest.org/en/stable/api.html#switching-schemas + if (this.schema === undefined) { + // skip + } + else if (['GET', 'HEAD'].includes(this.method)) { + this.headers.set('Accept-Profile', this.schema); + } + else { + this.headers.set('Content-Profile', this.schema); + } + if (this.method !== 'GET' && this.method !== 'HEAD') { + this.headers.set('Content-Type', 'application/json'); + } + // NOTE: Invoke w/o `this` to avoid illegal invocation error. + // https://github.com/supabase/postgrest-js/pull/247 + const _fetch = this.fetch; + let res = _fetch(this.url.toString(), { + method: this.method, + headers: this.headers, + body: JSON.stringify(this.body), + signal: this.signal, + }).then(async (res) => { + var _a, _b, _c, _d; + let error = null; + let data = null; + let count = null; + let status = res.status; + let statusText = res.statusText; + if (res.ok) { + if (this.method !== 'HEAD') { + const body = await res.text(); + if (body === '') { + // Prefer: return=minimal + } + else if (this.headers.get('Accept') === 'text/csv') { + data = body; + } + else if (this.headers.get('Accept') && + ((_a = this.headers.get('Accept')) === null || _a === void 0 ? void 0 : _a.includes('application/vnd.pgrst.plan+text'))) { + data = body; + } + else { + data = JSON.parse(body); + } + } + const countHeader = (_b = this.headers.get('Prefer')) === null || _b === void 0 ? void 0 : _b.match(/count=(exact|planned|estimated)/); + const contentRange = (_c = res.headers.get('content-range')) === null || _c === void 0 ? void 0 : _c.split('/'); + if (countHeader && contentRange && contentRange.length > 1) { + count = parseInt(contentRange[1]); + } + // Temporary partial fix for https://github.com/supabase/postgrest-js/issues/361 + // Issue persists e.g. for `.insert([...]).select().maybeSingle()` + if (this.isMaybeSingle && this.method === 'GET' && Array.isArray(data)) { + if (data.length > 1) { + error = { + // https://github.com/PostgREST/postgrest/blob/a867d79c42419af16c18c3fb019eba8df992626f/src/PostgREST/Error.hs#L553 + code: 'PGRST116', + details: `Results contain ${data.length} rows, application/vnd.pgrst.object+json requires 1 row`, + hint: null, + message: 'JSON object requested, multiple (or no) rows returned', + }; + data = null; + count = null; + status = 406; + statusText = 'Not Acceptable'; + } + else if (data.length === 1) { + data = data[0]; + } + else { + data = null; + } + } + } + else { + const body = await res.text(); + try { + error = JSON.parse(body); + // Workaround for https://github.com/supabase/postgrest-js/issues/295 + if (Array.isArray(error) && res.status === 404) { + data = []; + error = null; + status = 200; + statusText = 'OK'; + } + } + catch (_e) { + // Workaround for https://github.com/supabase/postgrest-js/issues/295 + if (res.status === 404 && body === '') { + status = 204; + statusText = 'No Content'; + } + else { + error = { + message: body, + }; + } + } + if (error && this.isMaybeSingle && ((_d = error === null || error === void 0 ? void 0 : error.details) === null || _d === void 0 ? void 0 : _d.includes('0 rows'))) { + error = null; + status = 200; + statusText = 'OK'; + } + if (error && this.shouldThrowOnError) { + throw new PostgrestError_1.default(error); + } + } + const postgrestResponse = { + error, + data, + count, + status, + statusText, + }; + return postgrestResponse; + }); + if (!this.shouldThrowOnError) { + res = res.catch((fetchError) => { + var _a, _b, _c; + return ({ + error: { + message: `${(_a = fetchError === null || fetchError === void 0 ? void 0 : fetchError.name) !== null && _a !== void 0 ? _a : 'FetchError'}: ${fetchError === null || fetchError === void 0 ? void 0 : fetchError.message}`, + details: `${(_b = fetchError === null || fetchError === void 0 ? void 0 : fetchError.stack) !== null && _b !== void 0 ? _b : ''}`, + hint: '', + code: `${(_c = fetchError === null || fetchError === void 0 ? void 0 : fetchError.code) !== null && _c !== void 0 ? _c : ''}`, + }, + data: null, + count: null, + status: 0, + statusText: '', + }); + }); + } + return res.then(onfulfilled, onrejected); + } + /** + * Override the type of the returned `data`. + * + * @typeParam NewResult - The new result type to override with + * @deprecated Use overrideTypes<yourType, { merge: false }>() method at the end of your call chain instead + */ + returns() { + /* istanbul ignore next */ + return this; + } + /** + * Override the type of the returned `data` field in the response. + * + * @typeParam NewResult - The new type to cast the response data to + * @typeParam Options - Optional type configuration (defaults to { merge: true }) + * @typeParam Options.merge - When true, merges the new type with existing return type. When false, replaces the existing types entirely (defaults to true) + * @example + * ```typescript + * // Merge with existing types (default behavior) + * const query = supabase + * .from('users') + * .select() + * .overrideTypes<{ custom_field: string }>() + * + * // Replace existing types completely + * const replaceQuery = supabase + * .from('users') + * .select() + * .overrideTypes<{ id: number; name: string }, { merge: false }>() + * ``` + * @returns A PostgrestBuilder instance with the new type + */ + overrideTypes() { + return this; + } +} +exports.default = PostgrestBuilder; +//# sourceMappingURL=PostgrestBuilder.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js new file mode 100644 index 00000000..918fddd2 --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestClient.js @@ -0,0 +1,121 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const PostgrestQueryBuilder_1 = __importDefault(require("./PostgrestQueryBuilder")); +const PostgrestFilterBuilder_1 = __importDefault(require("./PostgrestFilterBuilder")); +/** + * PostgREST client. + * + * @typeParam Database - Types for the schema from the [type + * generator](https://supabase.com/docs/reference/javascript/next/typescript-support) + * + * @typeParam SchemaName - Postgres schema to switch to. Must be a string + * literal, the same one passed to the constructor. If the schema is not + * `"public"`, this must be supplied manually. + */ +class PostgrestClient { + // TODO: Add back shouldThrowOnError once we figure out the typings + /** + * Creates a PostgREST client. + * + * @param url - URL of the PostgREST endpoint + * @param options - Named parameters + * @param options.headers - Custom headers + * @param options.schema - Postgres schema to switch to + * @param options.fetch - Custom fetch + */ + constructor(url, { headers = {}, schema, fetch, } = {}) { + this.url = url; + this.headers = new Headers(headers); + this.schemaName = schema; + this.fetch = fetch; + } + /** + * Perform a query on a table or a view. + * + * @param relation - The table or view name to query + */ + from(relation) { + const url = new URL(`${this.url}/${relation}`); + return new PostgrestQueryBuilder_1.default(url, { + headers: new Headers(this.headers), + schema: this.schemaName, + fetch: this.fetch, + }); + } + /** + * Select a schema to query or perform an function (rpc) call. + * + * The schema needs to be on the list of exposed schemas inside Supabase. + * + * @param schema - The schema to query + */ + schema(schema) { + return new PostgrestClient(this.url, { + headers: this.headers, + schema, + fetch: this.fetch, + }); + } + /** + * Perform a function call. + * + * @param fn - The function name to call + * @param args - The arguments to pass to the function call + * @param options - Named parameters + * @param options.head - When set to `true`, `data` will not be returned. + * Useful if you only need the count. + * @param options.get - When set to `true`, the function will be called with + * read-only access mode. + * @param options.count - Count algorithm to use to count rows returned by the + * function. Only applicable for [set-returning + * functions](https://www.postgresql.org/docs/current/functions-srf.html). + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + */ + rpc(fn, args = {}, { head = false, get = false, count, } = {}) { + var _a; + let method; + const url = new URL(`${this.url}/rpc/${fn}`); + let body; + if (head || get) { + method = head ? 'HEAD' : 'GET'; + Object.entries(args) + // params with undefined value needs to be filtered out, otherwise it'll + // show up as `?param=undefined` + .filter(([_, value]) => value !== undefined) + // array values need special syntax + .map(([name, value]) => [name, Array.isArray(value) ? `{${value.join(',')}}` : `${value}`]) + .forEach(([name, value]) => { + url.searchParams.append(name, value); + }); + } + else { + method = 'POST'; + body = args; + } + const headers = new Headers(this.headers); + if (count) { + headers.set('Prefer', `count=${count}`); + } + return new PostgrestFilterBuilder_1.default({ + method, + url, + headers, + schema: this.schemaName, + body, + fetch: (_a = this.fetch) !== null && _a !== void 0 ? _a : fetch, + }); + } +} +exports.default = PostgrestClient; +//# sourceMappingURL=PostgrestClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js new file mode 100644 index 00000000..2a4b05a1 --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestError.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Error format + * + * {@link https://postgrest.org/en/stable/api.html?highlight=options#errors-and-http-status-codes} + */ +class PostgrestError extends Error { + constructor(context) { + super(context.message); + this.name = 'PostgrestError'; + this.details = context.details; + this.hint = context.hint; + this.code = context.code; + } +} +exports.default = PostgrestError; +//# sourceMappingURL=PostgrestError.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js new file mode 100644 index 00000000..8478ce97 --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestFilterBuilder.js @@ -0,0 +1,381 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const PostgrestTransformBuilder_1 = __importDefault(require("./PostgrestTransformBuilder")); +class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default { + /** + * Match only rows where `column` is equal to `value`. + * + * To check if the value of `column` is NULL, you should use `.is()` instead. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + eq(column, value) { + this.url.searchParams.append(column, `eq.${value}`); + return this; + } + /** + * Match only rows where `column` is not equal to `value`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + neq(column, value) { + this.url.searchParams.append(column, `neq.${value}`); + return this; + } + /** + * Match only rows where `column` is greater than `value`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + gt(column, value) { + this.url.searchParams.append(column, `gt.${value}`); + return this; + } + /** + * Match only rows where `column` is greater than or equal to `value`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + gte(column, value) { + this.url.searchParams.append(column, `gte.${value}`); + return this; + } + /** + * Match only rows where `column` is less than `value`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + lt(column, value) { + this.url.searchParams.append(column, `lt.${value}`); + return this; + } + /** + * Match only rows where `column` is less than or equal to `value`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + lte(column, value) { + this.url.searchParams.append(column, `lte.${value}`); + return this; + } + /** + * Match only rows where `column` matches `pattern` case-sensitively. + * + * @param column - The column to filter on + * @param pattern - The pattern to match with + */ + like(column, pattern) { + this.url.searchParams.append(column, `like.${pattern}`); + return this; + } + /** + * Match only rows where `column` matches all of `patterns` case-sensitively. + * + * @param column - The column to filter on + * @param patterns - The patterns to match with + */ + likeAllOf(column, patterns) { + this.url.searchParams.append(column, `like(all).{${patterns.join(',')}}`); + return this; + } + /** + * Match only rows where `column` matches any of `patterns` case-sensitively. + * + * @param column - The column to filter on + * @param patterns - The patterns to match with + */ + likeAnyOf(column, patterns) { + this.url.searchParams.append(column, `like(any).{${patterns.join(',')}}`); + return this; + } + /** + * Match only rows where `column` matches `pattern` case-insensitively. + * + * @param column - The column to filter on + * @param pattern - The pattern to match with + */ + ilike(column, pattern) { + this.url.searchParams.append(column, `ilike.${pattern}`); + return this; + } + /** + * Match only rows where `column` matches all of `patterns` case-insensitively. + * + * @param column - The column to filter on + * @param patterns - The patterns to match with + */ + ilikeAllOf(column, patterns) { + this.url.searchParams.append(column, `ilike(all).{${patterns.join(',')}}`); + return this; + } + /** + * Match only rows where `column` matches any of `patterns` case-insensitively. + * + * @param column - The column to filter on + * @param patterns - The patterns to match with + */ + ilikeAnyOf(column, patterns) { + this.url.searchParams.append(column, `ilike(any).{${patterns.join(',')}}`); + return this; + } + /** + * Match only rows where `column` IS `value`. + * + * For non-boolean columns, this is only relevant for checking if the value of + * `column` is NULL by setting `value` to `null`. + * + * For boolean columns, you can also set `value` to `true` or `false` and it + * will behave the same way as `.eq()`. + * + * @param column - The column to filter on + * @param value - The value to filter with + */ + is(column, value) { + this.url.searchParams.append(column, `is.${value}`); + return this; + } + /** + * Match only rows where `column` is included in the `values` array. + * + * @param column - The column to filter on + * @param values - The values array to filter with + */ + in(column, values) { + const cleanedValues = Array.from(new Set(values)) + .map((s) => { + // handle postgrest reserved characters + // https://postgrest.org/en/v7.0.0/api.html#reserved-characters + if (typeof s === 'string' && new RegExp('[,()]').test(s)) + return `"${s}"`; + else + return `${s}`; + }) + .join(','); + this.url.searchParams.append(column, `in.(${cleanedValues})`); + return this; + } + /** + * Only relevant for jsonb, array, and range columns. Match only rows where + * `column` contains every element appearing in `value`. + * + * @param column - The jsonb, array, or range column to filter on + * @param value - The jsonb, array, or range value to filter with + */ + contains(column, value) { + if (typeof value === 'string') { + // range types can be inclusive '[', ']' or exclusive '(', ')' so just + // keep it simple and accept a string + this.url.searchParams.append(column, `cs.${value}`); + } + else if (Array.isArray(value)) { + // array + this.url.searchParams.append(column, `cs.{${value.join(',')}}`); + } + else { + // json + this.url.searchParams.append(column, `cs.${JSON.stringify(value)}`); + } + return this; + } + /** + * Only relevant for jsonb, array, and range columns. Match only rows where + * every element appearing in `column` is contained by `value`. + * + * @param column - The jsonb, array, or range column to filter on + * @param value - The jsonb, array, or range value to filter with + */ + containedBy(column, value) { + if (typeof value === 'string') { + // range + this.url.searchParams.append(column, `cd.${value}`); + } + else if (Array.isArray(value)) { + // array + this.url.searchParams.append(column, `cd.{${value.join(',')}}`); + } + else { + // json + this.url.searchParams.append(column, `cd.${JSON.stringify(value)}`); + } + return this; + } + /** + * Only relevant for range columns. Match only rows where every element in + * `column` is greater than any element in `range`. + * + * @param column - The range column to filter on + * @param range - The range to filter with + */ + rangeGt(column, range) { + this.url.searchParams.append(column, `sr.${range}`); + return this; + } + /** + * Only relevant for range columns. Match only rows where every element in + * `column` is either contained in `range` or greater than any element in + * `range`. + * + * @param column - The range column to filter on + * @param range - The range to filter with + */ + rangeGte(column, range) { + this.url.searchParams.append(column, `nxl.${range}`); + return this; + } + /** + * Only relevant for range columns. Match only rows where every element in + * `column` is less than any element in `range`. + * + * @param column - The range column to filter on + * @param range - The range to filter with + */ + rangeLt(column, range) { + this.url.searchParams.append(column, `sl.${range}`); + return this; + } + /** + * Only relevant for range columns. Match only rows where every element in + * `column` is either contained in `range` or less than any element in + * `range`. + * + * @param column - The range column to filter on + * @param range - The range to filter with + */ + rangeLte(column, range) { + this.url.searchParams.append(column, `nxr.${range}`); + return this; + } + /** + * Only relevant for range columns. Match only rows where `column` is + * mutually exclusive to `range` and there can be no element between the two + * ranges. + * + * @param column - The range column to filter on + * @param range - The range to filter with + */ + rangeAdjacent(column, range) { + this.url.searchParams.append(column, `adj.${range}`); + return this; + } + /** + * Only relevant for array and range columns. Match only rows where + * `column` and `value` have an element in common. + * + * @param column - The array or range column to filter on + * @param value - The array or range value to filter with + */ + overlaps(column, value) { + if (typeof value === 'string') { + // range + this.url.searchParams.append(column, `ov.${value}`); + } + else { + // array + this.url.searchParams.append(column, `ov.{${value.join(',')}}`); + } + return this; + } + /** + * Only relevant for text and tsvector columns. Match only rows where + * `column` matches the query string in `query`. + * + * @param column - The text or tsvector column to filter on + * @param query - The query text to match with + * @param options - Named parameters + * @param options.config - The text search configuration to use + * @param options.type - Change how the `query` text is interpreted + */ + textSearch(column, query, { config, type } = {}) { + let typePart = ''; + if (type === 'plain') { + typePart = 'pl'; + } + else if (type === 'phrase') { + typePart = 'ph'; + } + else if (type === 'websearch') { + typePart = 'w'; + } + const configPart = config === undefined ? '' : `(${config})`; + this.url.searchParams.append(column, `${typePart}fts${configPart}.${query}`); + return this; + } + /** + * Match only rows where each column in `query` keys is equal to its + * associated value. Shorthand for multiple `.eq()`s. + * + * @param query - The object to filter with, with column names as keys mapped + * to their filter values + */ + match(query) { + Object.entries(query).forEach(([column, value]) => { + this.url.searchParams.append(column, `eq.${value}`); + }); + return this; + } + /** + * Match only rows which doesn't satisfy the filter. + * + * Unlike most filters, `opearator` and `value` are used as-is and need to + * follow [PostgREST + * syntax](https://postgrest.org/en/stable/api.html#operators). You also need + * to make sure they are properly sanitized. + * + * @param column - The column to filter on + * @param operator - The operator to be negated to filter with, following + * PostgREST syntax + * @param value - The value to filter with, following PostgREST syntax + */ + not(column, operator, value) { + this.url.searchParams.append(column, `not.${operator}.${value}`); + return this; + } + /** + * Match only rows which satisfy at least one of the filters. + * + * Unlike most filters, `filters` is used as-is and needs to follow [PostgREST + * syntax](https://postgrest.org/en/stable/api.html#operators). You also need + * to make sure it's properly sanitized. + * + * It's currently not possible to do an `.or()` filter across multiple tables. + * + * @param filters - The filters to use, following PostgREST syntax + * @param options - Named parameters + * @param options.referencedTable - Set this to filter on referenced tables + * instead of the parent table + * @param options.foreignTable - Deprecated, use `referencedTable` instead + */ + or(filters, { foreignTable, referencedTable = foreignTable, } = {}) { + const key = referencedTable ? `${referencedTable}.or` : 'or'; + this.url.searchParams.append(key, `(${filters})`); + return this; + } + /** + * Match only rows which satisfy the filter. This is an escape hatch - you + * should use the specific filter methods wherever possible. + * + * Unlike most filters, `opearator` and `value` are used as-is and need to + * follow [PostgREST + * syntax](https://postgrest.org/en/stable/api.html#operators). You also need + * to make sure they are properly sanitized. + * + * @param column - The column to filter on + * @param operator - The operator to filter with, following PostgREST syntax + * @param value - The value to filter with, following PostgREST syntax + */ + filter(column, operator, value) { + this.url.searchParams.append(column, `${operator}.${value}`); + return this; + } +} +exports.default = PostgrestFilterBuilder; +//# sourceMappingURL=PostgrestFilterBuilder.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js new file mode 100644 index 00000000..f0158ebb --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestQueryBuilder.js @@ -0,0 +1,251 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const PostgrestFilterBuilder_1 = __importDefault(require("./PostgrestFilterBuilder")); +class PostgrestQueryBuilder { + constructor(url, { headers = {}, schema, fetch, }) { + this.url = url; + this.headers = new Headers(headers); + this.schema = schema; + this.fetch = fetch; + } + /** + * Perform a SELECT query on the table or view. + * + * @param columns - The columns to retrieve, separated by commas. Columns can be renamed when returned with `customName:columnName` + * + * @param options - Named parameters + * + * @param options.head - When set to `true`, `data` will not be returned. + * Useful if you only need the count. + * + * @param options.count - Count algorithm to use to count rows in the table or view. + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + */ + select(columns, { head = false, count, } = {}) { + const method = head ? 'HEAD' : 'GET'; + // Remove whitespaces except when quoted + let quoted = false; + const cleanedColumns = (columns !== null && columns !== void 0 ? columns : '*') + .split('') + .map((c) => { + if (/\s/.test(c) && !quoted) { + return ''; + } + if (c === '"') { + quoted = !quoted; + } + return c; + }) + .join(''); + this.url.searchParams.set('select', cleanedColumns); + if (count) { + this.headers.append('Prefer', `count=${count}`); + } + return new PostgrestFilterBuilder_1.default({ + method, + url: this.url, + headers: this.headers, + schema: this.schema, + fetch: this.fetch, + }); + } + /** + * Perform an INSERT into the table or view. + * + * By default, inserted rows are not returned. To return it, chain the call + * with `.select()`. + * + * @param values - The values to insert. Pass an object to insert a single row + * or an array to insert multiple rows. + * + * @param options - Named parameters + * + * @param options.count - Count algorithm to use to count inserted rows. + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + * + * @param options.defaultToNull - Make missing fields default to `null`. + * Otherwise, use the default value for the column. Only applies for bulk + * inserts. + */ + insert(values, { count, defaultToNull = true, } = {}) { + var _a; + const method = 'POST'; + if (count) { + this.headers.append('Prefer', `count=${count}`); + } + if (!defaultToNull) { + this.headers.append('Prefer', `missing=default`); + } + if (Array.isArray(values)) { + const columns = values.reduce((acc, x) => acc.concat(Object.keys(x)), []); + if (columns.length > 0) { + const uniqueColumns = [...new Set(columns)].map((column) => `"${column}"`); + this.url.searchParams.set('columns', uniqueColumns.join(',')); + } + } + return new PostgrestFilterBuilder_1.default({ + method, + url: this.url, + headers: this.headers, + schema: this.schema, + body: values, + fetch: (_a = this.fetch) !== null && _a !== void 0 ? _a : fetch, + }); + } + /** + * Perform an UPSERT on the table or view. Depending on the column(s) passed + * to `onConflict`, `.upsert()` allows you to perform the equivalent of + * `.insert()` if a row with the corresponding `onConflict` columns doesn't + * exist, or if it does exist, perform an alternative action depending on + * `ignoreDuplicates`. + * + * By default, upserted rows are not returned. To return it, chain the call + * with `.select()`. + * + * @param values - The values to upsert with. Pass an object to upsert a + * single row or an array to upsert multiple rows. + * + * @param options - Named parameters + * + * @param options.onConflict - Comma-separated UNIQUE column(s) to specify how + * duplicate rows are determined. Two rows are duplicates if all the + * `onConflict` columns are equal. + * + * @param options.ignoreDuplicates - If `true`, duplicate rows are ignored. If + * `false`, duplicate rows are merged with existing rows. + * + * @param options.count - Count algorithm to use to count upserted rows. + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + * + * @param options.defaultToNull - Make missing fields default to `null`. + * Otherwise, use the default value for the column. This only applies when + * inserting new rows, not when merging with existing rows under + * `ignoreDuplicates: false`. This also only applies when doing bulk upserts. + */ + upsert(values, { onConflict, ignoreDuplicates = false, count, defaultToNull = true, } = {}) { + var _a; + const method = 'POST'; + this.headers.append('Prefer', `resolution=${ignoreDuplicates ? 'ignore' : 'merge'}-duplicates`); + if (onConflict !== undefined) + this.url.searchParams.set('on_conflict', onConflict); + if (count) { + this.headers.append('Prefer', `count=${count}`); + } + if (!defaultToNull) { + this.headers.append('Prefer', 'missing=default'); + } + if (Array.isArray(values)) { + const columns = values.reduce((acc, x) => acc.concat(Object.keys(x)), []); + if (columns.length > 0) { + const uniqueColumns = [...new Set(columns)].map((column) => `"${column}"`); + this.url.searchParams.set('columns', uniqueColumns.join(',')); + } + } + return new PostgrestFilterBuilder_1.default({ + method, + url: this.url, + headers: this.headers, + schema: this.schema, + body: values, + fetch: (_a = this.fetch) !== null && _a !== void 0 ? _a : fetch, + }); + } + /** + * Perform an UPDATE on the table or view. + * + * By default, updated rows are not returned. To return it, chain the call + * with `.select()` after filters. + * + * @param values - The values to update with + * + * @param options - Named parameters + * + * @param options.count - Count algorithm to use to count updated rows. + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + */ + update(values, { count, } = {}) { + var _a; + const method = 'PATCH'; + if (count) { + this.headers.append('Prefer', `count=${count}`); + } + return new PostgrestFilterBuilder_1.default({ + method, + url: this.url, + headers: this.headers, + schema: this.schema, + body: values, + fetch: (_a = this.fetch) !== null && _a !== void 0 ? _a : fetch, + }); + } + /** + * Perform a DELETE on the table or view. + * + * By default, deleted rows are not returned. To return it, chain the call + * with `.select()` after filters. + * + * @param options - Named parameters + * + * @param options.count - Count algorithm to use to count deleted rows. + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + */ + delete({ count, } = {}) { + var _a; + const method = 'DELETE'; + if (count) { + this.headers.append('Prefer', `count=${count}`); + } + return new PostgrestFilterBuilder_1.default({ + method, + url: this.url, + headers: this.headers, + schema: this.schema, + fetch: (_a = this.fetch) !== null && _a !== void 0 ? _a : fetch, + }); + } +} +exports.default = PostgrestQueryBuilder; +//# sourceMappingURL=PostgrestQueryBuilder.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js new file mode 100644 index 00000000..9f9d33db --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/PostgrestTransformBuilder.js @@ -0,0 +1,226 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const PostgrestBuilder_1 = __importDefault(require("./PostgrestBuilder")); +class PostgrestTransformBuilder extends PostgrestBuilder_1.default { + /** + * Perform a SELECT on the query result. + * + * By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not + * return modified rows. By calling this method, modified rows are returned in + * `data`. + * + * @param columns - The columns to retrieve, separated by commas + */ + select(columns) { + // Remove whitespaces except when quoted + let quoted = false; + const cleanedColumns = (columns !== null && columns !== void 0 ? columns : '*') + .split('') + .map((c) => { + if (/\s/.test(c) && !quoted) { + return ''; + } + if (c === '"') { + quoted = !quoted; + } + return c; + }) + .join(''); + this.url.searchParams.set('select', cleanedColumns); + this.headers.append('Prefer', 'return=representation'); + return this; + } + /** + * Order the query result by `column`. + * + * You can call this method multiple times to order by multiple columns. + * + * You can order referenced tables, but it only affects the ordering of the + * parent table if you use `!inner` in the query. + * + * @param column - The column to order by + * @param options - Named parameters + * @param options.ascending - If `true`, the result will be in ascending order + * @param options.nullsFirst - If `true`, `null`s appear first. If `false`, + * `null`s appear last. + * @param options.referencedTable - Set this to order a referenced table by + * its columns + * @param options.foreignTable - Deprecated, use `options.referencedTable` + * instead + */ + order(column, { ascending = true, nullsFirst, foreignTable, referencedTable = foreignTable, } = {}) { + const key = referencedTable ? `${referencedTable}.order` : 'order'; + const existingOrder = this.url.searchParams.get(key); + this.url.searchParams.set(key, `${existingOrder ? `${existingOrder},` : ''}${column}.${ascending ? 'asc' : 'desc'}${nullsFirst === undefined ? '' : nullsFirst ? '.nullsfirst' : '.nullslast'}`); + return this; + } + /** + * Limit the query result by `count`. + * + * @param count - The maximum number of rows to return + * @param options - Named parameters + * @param options.referencedTable - Set this to limit rows of referenced + * tables instead of the parent table + * @param options.foreignTable - Deprecated, use `options.referencedTable` + * instead + */ + limit(count, { foreignTable, referencedTable = foreignTable, } = {}) { + const key = typeof referencedTable === 'undefined' ? 'limit' : `${referencedTable}.limit`; + this.url.searchParams.set(key, `${count}`); + return this; + } + /** + * Limit the query result by starting at an offset `from` and ending at the offset `to`. + * Only records within this range are returned. + * This respects the query order and if there is no order clause the range could behave unexpectedly. + * The `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third + * and fourth rows of the query. + * + * @param from - The starting index from which to limit the result + * @param to - The last index to which to limit the result + * @param options - Named parameters + * @param options.referencedTable - Set this to limit rows of referenced + * tables instead of the parent table + * @param options.foreignTable - Deprecated, use `options.referencedTable` + * instead + */ + range(from, to, { foreignTable, referencedTable = foreignTable, } = {}) { + const keyOffset = typeof referencedTable === 'undefined' ? 'offset' : `${referencedTable}.offset`; + const keyLimit = typeof referencedTable === 'undefined' ? 'limit' : `${referencedTable}.limit`; + this.url.searchParams.set(keyOffset, `${from}`); + // Range is inclusive, so add 1 + this.url.searchParams.set(keyLimit, `${to - from + 1}`); + return this; + } + /** + * Set the AbortSignal for the fetch request. + * + * @param signal - The AbortSignal to use for the fetch request + */ + abortSignal(signal) { + this.signal = signal; + return this; + } + /** + * Return `data` as a single object instead of an array of objects. + * + * Query result must be one row (e.g. using `.limit(1)`), otherwise this + * returns an error. + */ + single() { + this.headers.set('Accept', 'application/vnd.pgrst.object+json'); + return this; + } + /** + * Return `data` as a single object instead of an array of objects. + * + * Query result must be zero or one row (e.g. using `.limit(1)`), otherwise + * this returns an error. + */ + maybeSingle() { + // Temporary partial fix for https://github.com/supabase/postgrest-js/issues/361 + // Issue persists e.g. for `.insert([...]).select().maybeSingle()` + if (this.method === 'GET') { + this.headers.set('Accept', 'application/json'); + } + else { + this.headers.set('Accept', 'application/vnd.pgrst.object+json'); + } + this.isMaybeSingle = true; + return this; + } + /** + * Return `data` as a string in CSV format. + */ + csv() { + this.headers.set('Accept', 'text/csv'); + return this; + } + /** + * Return `data` as an object in [GeoJSON](https://geojson.org) format. + */ + geojson() { + this.headers.set('Accept', 'application/geo+json'); + return this; + } + /** + * Return `data` as the EXPLAIN plan for the query. + * + * You need to enable the + * [db_plan_enabled](https://supabase.com/docs/guides/database/debugging-performance#enabling-explain) + * setting before using this method. + * + * @param options - Named parameters + * + * @param options.analyze - If `true`, the query will be executed and the + * actual run time will be returned + * + * @param options.verbose - If `true`, the query identifier will be returned + * and `data` will include the output columns of the query + * + * @param options.settings - If `true`, include information on configuration + * parameters that affect query planning + * + * @param options.buffers - If `true`, include information on buffer usage + * + * @param options.wal - If `true`, include information on WAL record generation + * + * @param options.format - The format of the output, can be `"text"` (default) + * or `"json"` + */ + explain({ analyze = false, verbose = false, settings = false, buffers = false, wal = false, format = 'text', } = {}) { + var _a; + const options = [ + analyze ? 'analyze' : null, + verbose ? 'verbose' : null, + settings ? 'settings' : null, + buffers ? 'buffers' : null, + wal ? 'wal' : null, + ] + .filter(Boolean) + .join('|'); + // An Accept header can carry multiple media types but postgrest-js always sends one + const forMediatype = (_a = this.headers.get('Accept')) !== null && _a !== void 0 ? _a : 'application/json'; + this.headers.set('Accept', `application/vnd.pgrst.plan+${format}; for="${forMediatype}"; options=${options};`); + if (format === 'json') { + return this; + } + else { + return this; + } + } + /** + * Rollback the query. + * + * `data` will still be returned, but the query is not committed. + */ + rollback() { + this.headers.append('Prefer', 'tx=rollback'); + return this; + } + /** + * Override the type of the returned `data`. + * + * @typeParam NewResult - The new result type to override with + * @deprecated Use overrideTypes<yourType, { merge: false }>() method at the end of your call chain instead + */ + returns() { + return this; + } + /** + * Set the maximum number of rows that can be affected by the query. + * Only available in PostgREST v13+ and only works with PATCH and DELETE methods. + * + * @param value - The maximum number of rows that can be affected + */ + maxAffected(value) { + this.headers.append('Prefer', 'handling=strict'); + this.headers.append('Prefer', `max-affected=${value}`); + return this; + } +} +exports.default = PostgrestTransformBuilder; +//# sourceMappingURL=PostgrestTransformBuilder.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/index.js b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/index.js new file mode 100644 index 00000000..a619721e --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/dist/cjs/index.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PostgrestError = exports.PostgrestBuilder = exports.PostgrestTransformBuilder = exports.PostgrestFilterBuilder = exports.PostgrestQueryBuilder = exports.PostgrestClient = void 0; +// Always update wrapper.mjs when updating this file. +const PostgrestClient_1 = __importDefault(require("./PostgrestClient")); +exports.PostgrestClient = PostgrestClient_1.default; +const PostgrestQueryBuilder_1 = __importDefault(require("./PostgrestQueryBuilder")); +exports.PostgrestQueryBuilder = PostgrestQueryBuilder_1.default; +const PostgrestFilterBuilder_1 = __importDefault(require("./PostgrestFilterBuilder")); +exports.PostgrestFilterBuilder = PostgrestFilterBuilder_1.default; +const PostgrestTransformBuilder_1 = __importDefault(require("./PostgrestTransformBuilder")); +exports.PostgrestTransformBuilder = PostgrestTransformBuilder_1.default; +const PostgrestBuilder_1 = __importDefault(require("./PostgrestBuilder")); +exports.PostgrestBuilder = PostgrestBuilder_1.default; +const PostgrestError_1 = __importDefault(require("./PostgrestError")); +exports.PostgrestError = PostgrestError_1.default; +exports.default = { + PostgrestClient: PostgrestClient_1.default, + PostgrestQueryBuilder: PostgrestQueryBuilder_1.default, + PostgrestFilterBuilder: PostgrestFilterBuilder_1.default, + PostgrestTransformBuilder: PostgrestTransformBuilder_1.default, + PostgrestBuilder: PostgrestBuilder_1.default, + PostgrestError: PostgrestError_1.default, +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/postgrest-js/package.json b/.output/server/node_modules/@supabase/postgrest-js/package.json new file mode 100644 index 00000000..10366cf3 --- /dev/null +++ b/.output/server/node_modules/@supabase/postgrest-js/package.json @@ -0,0 +1,74 @@ +{ + "name": "@supabase/postgrest-js", + "version": "1.21.3", + "description": "Isomorphic PostgREST client", + "keywords": [ + "postgrest", + "supabase" + ], + "homepage": "https://github.com/supabase/postgrest-js", + "bugs": "https://github.com/supabase/postgrest-js/issues", + "license": "MIT", + "author": "Supabase", + "files": [ + "dist", + "src" + ], + "main": "dist/cjs/index.js", + "module": "dist/esm/wrapper.mjs", + "exports": { + "import": { + "types": "./dist/cjs/index.d.ts", + "default": "./dist/esm/wrapper.mjs" + }, + "require": { + "types": "./dist/cjs/index.d.ts", + "default": "./dist/cjs/index.js" + } + }, + "types": "./dist/cjs/index.d.ts", + "repository": "supabase/postgrest-js", + "scripts": { + "clean": "rimraf dist docs/v2", + "format": "prettier --write \"{src,test}/**/*.ts\" wrapper.mjs", + "format:check": "prettier --check \"{src,test}/**/*.ts\"", + "build": "run-s clean format build:*", + "build:cjs": "tsc -p tsconfig.json", + "build:esm": "cpy wrapper.mjs dist/esm/", + "docs": "typedoc src/index.ts --out docs/v2", + "docs:json": "typedoc --json docs/v2/spec.json --excludeExternals src/index.ts", + "test": "run-s format:check test:types db:clean db:run test:generated-types test:run db:clean && node test/smoke.cjs && node test/smoke.mjs", + "test:run": "jest --runInBand --coverage", + "test:generated-types": "run-s db:generate-test-types && git diff --exit-code test/types.generated.ts || (echo '❌ Generated types are not up to date. Run npm run db:generate-test-types.' && exit 1)", + "test:update": "run-s db:clean db:run db:generate-test-types && jest --runInBand --updateSnapshot && run-s db:clean", + "test:types": "run-s build && tsd --files 'test/**/*.test*.ts'", + "test:types:watch": "chokidar 'src/**/*.ts' 'test/**/*.ts' -c 'npm run test:types'", + "type-check": "tsc --noEmit --project tsconfig.json", + "type-check:test": "tsc --noEmit --project tsconfig.test.json", + "db:clean": "cd test/db && docker compose down --volumes", + "db:run": "cd test/db && docker compose up --detach && wait-for-localhost 3000", + "db:generate-test-types": "cd test/db && docker compose up --detach && wait-for-localhost 8080 && curl --location 'http://0.0.0.0:8080/generators/typescript?included_schemas=public,personal&detect_one_to_one_relationships=true' > ../types.generated.ts && node ../scripts/update-json-type.js && prettier --write ../types.generated.ts" + }, + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + }, + "devDependencies": { + "@types/jest": "^27.5.1", + "chokidar-cli": "^3.0.0", + "cpy-cli": "^5.0.0", + "jest": "^28.1.0", + "node-abort-controller": "^3.0.1", + "npm-run-all": "^4.1.5", + "prettier": "^2.6.2", + "rimraf": "^3.0.2", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "ts-expect": "^1.3.0", + "ts-jest": "^28.0.3", + "tsd": "^0.31.2", + "type-fest": "^4.32.0", + "typedoc": "^0.22.16", + "typescript": "^4.5.5", + "wait-for-localhost-cli": "^3.0.0", + "zod": "^3.25.76" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeChannel.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeChannel.js new file mode 100644 index 00000000..7ac16393 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeChannel.js @@ -0,0 +1,580 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.REALTIME_CHANNEL_STATES = exports.REALTIME_SUBSCRIBE_STATES = exports.REALTIME_LISTEN_TYPES = exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = void 0; +const constants_1 = require("./lib/constants"); +const push_1 = __importDefault(require("./lib/push")); +const timer_1 = __importDefault(require("./lib/timer")); +const RealtimePresence_1 = __importDefault(require("./RealtimePresence")); +const Transformers = __importStar(require("./lib/transformers")); +const transformers_1 = require("./lib/transformers"); +var REALTIME_POSTGRES_CHANGES_LISTEN_EVENT; +(function (REALTIME_POSTGRES_CHANGES_LISTEN_EVENT) { + REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["ALL"] = "*"; + REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["INSERT"] = "INSERT"; + REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["UPDATE"] = "UPDATE"; + REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["DELETE"] = "DELETE"; +})(REALTIME_POSTGRES_CHANGES_LISTEN_EVENT || (exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = {})); +var REALTIME_LISTEN_TYPES; +(function (REALTIME_LISTEN_TYPES) { + REALTIME_LISTEN_TYPES["BROADCAST"] = "broadcast"; + REALTIME_LISTEN_TYPES["PRESENCE"] = "presence"; + REALTIME_LISTEN_TYPES["POSTGRES_CHANGES"] = "postgres_changes"; + REALTIME_LISTEN_TYPES["SYSTEM"] = "system"; +})(REALTIME_LISTEN_TYPES || (exports.REALTIME_LISTEN_TYPES = REALTIME_LISTEN_TYPES = {})); +var REALTIME_SUBSCRIBE_STATES; +(function (REALTIME_SUBSCRIBE_STATES) { + REALTIME_SUBSCRIBE_STATES["SUBSCRIBED"] = "SUBSCRIBED"; + REALTIME_SUBSCRIBE_STATES["TIMED_OUT"] = "TIMED_OUT"; + REALTIME_SUBSCRIBE_STATES["CLOSED"] = "CLOSED"; + REALTIME_SUBSCRIBE_STATES["CHANNEL_ERROR"] = "CHANNEL_ERROR"; +})(REALTIME_SUBSCRIBE_STATES || (exports.REALTIME_SUBSCRIBE_STATES = REALTIME_SUBSCRIBE_STATES = {})); +exports.REALTIME_CHANNEL_STATES = constants_1.CHANNEL_STATES; +/** A channel is the basic building block of Realtime + * and narrows the scope of data flow to subscribed clients. + * You can think of a channel as a chatroom where participants are able to see who's online + * and send and receive messages. + */ +class RealtimeChannel { + constructor( + /** Topic name can be any string. */ + topic, params = { config: {} }, socket) { + this.topic = topic; + this.params = params; + this.socket = socket; + this.bindings = {}; + this.state = constants_1.CHANNEL_STATES.closed; + this.joinedOnce = false; + this.pushBuffer = []; + this.subTopic = topic.replace(/^realtime:/i, ''); + this.params.config = Object.assign({ + broadcast: { ack: false, self: false }, + presence: { key: '', enabled: false }, + private: false, + }, params.config); + this.timeout = this.socket.timeout; + this.joinPush = new push_1.default(this, constants_1.CHANNEL_EVENTS.join, this.params, this.timeout); + this.rejoinTimer = new timer_1.default(() => this._rejoinUntilConnected(), this.socket.reconnectAfterMs); + this.joinPush.receive('ok', () => { + this.state = constants_1.CHANNEL_STATES.joined; + this.rejoinTimer.reset(); + this.pushBuffer.forEach((pushEvent) => pushEvent.send()); + this.pushBuffer = []; + }); + this._onClose(() => { + this.rejoinTimer.reset(); + this.socket.log('channel', `close ${this.topic} ${this._joinRef()}`); + this.state = constants_1.CHANNEL_STATES.closed; + this.socket._remove(this); + }); + this._onError((reason) => { + if (this._isLeaving() || this._isClosed()) { + return; + } + this.socket.log('channel', `error ${this.topic}`, reason); + this.state = constants_1.CHANNEL_STATES.errored; + this.rejoinTimer.scheduleTimeout(); + }); + this.joinPush.receive('timeout', () => { + if (!this._isJoining()) { + return; + } + this.socket.log('channel', `timeout ${this.topic}`, this.joinPush.timeout); + this.state = constants_1.CHANNEL_STATES.errored; + this.rejoinTimer.scheduleTimeout(); + }); + this.joinPush.receive('error', (reason) => { + if (this._isLeaving() || this._isClosed()) { + return; + } + this.socket.log('channel', `error ${this.topic}`, reason); + this.state = constants_1.CHANNEL_STATES.errored; + this.rejoinTimer.scheduleTimeout(); + }); + this._on(constants_1.CHANNEL_EVENTS.reply, {}, (payload, ref) => { + this._trigger(this._replyEventName(ref), payload); + }); + this.presence = new RealtimePresence_1.default(this); + this.broadcastEndpointURL = (0, transformers_1.httpEndpointURL)(this.socket.endPoint); + this.private = this.params.config.private || false; + } + /** Subscribe registers your client with the server */ + subscribe(callback, timeout = this.timeout) { + var _a, _b; + if (!this.socket.isConnected()) { + this.socket.connect(); + } + if (this.state == constants_1.CHANNEL_STATES.closed) { + const { config: { broadcast, presence, private: isPrivate }, } = this.params; + const postgres_changes = (_b = (_a = this.bindings.postgres_changes) === null || _a === void 0 ? void 0 : _a.map((r) => r.filter)) !== null && _b !== void 0 ? _b : []; + const presence_enabled = !!this.bindings[REALTIME_LISTEN_TYPES.PRESENCE] && + this.bindings[REALTIME_LISTEN_TYPES.PRESENCE].length > 0; + const accessTokenPayload = {}; + const config = { + broadcast, + presence: Object.assign(Object.assign({}, presence), { enabled: presence_enabled }), + postgres_changes, + private: isPrivate, + }; + if (this.socket.accessTokenValue) { + accessTokenPayload.access_token = this.socket.accessTokenValue; + } + this._onError((e) => callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.CHANNEL_ERROR, e)); + this._onClose(() => callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.CLOSED)); + this.updateJoinPayload(Object.assign({ config }, accessTokenPayload)); + this.joinedOnce = true; + this._rejoin(timeout); + this.joinPush + .receive('ok', async ({ postgres_changes }) => { + var _a; + this.socket.setAuth(); + if (postgres_changes === undefined) { + callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.SUBSCRIBED); + return; + } + else { + const clientPostgresBindings = this.bindings.postgres_changes; + const bindingsLen = (_a = clientPostgresBindings === null || clientPostgresBindings === void 0 ? void 0 : clientPostgresBindings.length) !== null && _a !== void 0 ? _a : 0; + const newPostgresBindings = []; + for (let i = 0; i < bindingsLen; i++) { + const clientPostgresBinding = clientPostgresBindings[i]; + const { filter: { event, schema, table, filter }, } = clientPostgresBinding; + const serverPostgresFilter = postgres_changes && postgres_changes[i]; + if (serverPostgresFilter && + serverPostgresFilter.event === event && + serverPostgresFilter.schema === schema && + serverPostgresFilter.table === table && + serverPostgresFilter.filter === filter) { + newPostgresBindings.push(Object.assign(Object.assign({}, clientPostgresBinding), { id: serverPostgresFilter.id })); + } + else { + this.unsubscribe(); + this.state = constants_1.CHANNEL_STATES.errored; + callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.CHANNEL_ERROR, new Error('mismatch between server and client bindings for postgres changes')); + return; + } + } + this.bindings.postgres_changes = newPostgresBindings; + callback && callback(REALTIME_SUBSCRIBE_STATES.SUBSCRIBED); + return; + } + }) + .receive('error', (error) => { + this.state = constants_1.CHANNEL_STATES.errored; + callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.CHANNEL_ERROR, new Error(JSON.stringify(Object.values(error).join(', ') || 'error'))); + return; + }) + .receive('timeout', () => { + callback === null || callback === void 0 ? void 0 : callback(REALTIME_SUBSCRIBE_STATES.TIMED_OUT); + return; + }); + } + return this; + } + presenceState() { + return this.presence.state; + } + async track(payload, opts = {}) { + return await this.send({ + type: 'presence', + event: 'track', + payload, + }, opts.timeout || this.timeout); + } + async untrack(opts = {}) { + return await this.send({ + type: 'presence', + event: 'untrack', + }, opts); + } + on(type, filter, callback) { + if (this.state === constants_1.CHANNEL_STATES.joined && + type === REALTIME_LISTEN_TYPES.PRESENCE) { + this.socket.log('channel', `resubscribe to ${this.topic} due to change in presence callbacks on joined channel`); + this.unsubscribe().then(() => this.subscribe()); + } + return this._on(type, filter, callback); + } + /** + * Sends a message into the channel. + * + * @param args Arguments to send to channel + * @param args.type The type of event to send + * @param args.event The name of the event being sent + * @param args.payload Payload to be sent + * @param opts Options to be used during the send process + */ + async send(args, opts = {}) { + var _a, _b; + if (!this._canPush() && args.type === 'broadcast') { + const { event, payload: endpoint_payload } = args; + const authorization = this.socket.accessTokenValue + ? `Bearer ${this.socket.accessTokenValue}` + : ''; + const options = { + method: 'POST', + headers: { + Authorization: authorization, + apikey: this.socket.apiKey ? this.socket.apiKey : '', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + messages: [ + { + topic: this.subTopic, + event, + payload: endpoint_payload, + private: this.private, + }, + ], + }), + }; + try { + const response = await this._fetchWithTimeout(this.broadcastEndpointURL, options, (_a = opts.timeout) !== null && _a !== void 0 ? _a : this.timeout); + await ((_b = response.body) === null || _b === void 0 ? void 0 : _b.cancel()); + return response.ok ? 'ok' : 'error'; + } + catch (error) { + if (error.name === 'AbortError') { + return 'timed out'; + } + else { + return 'error'; + } + } + } + else { + return new Promise((resolve) => { + var _a, _b, _c; + const push = this._push(args.type, args, opts.timeout || this.timeout); + if (args.type === 'broadcast' && !((_c = (_b = (_a = this.params) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.broadcast) === null || _c === void 0 ? void 0 : _c.ack)) { + resolve('ok'); + } + push.receive('ok', () => resolve('ok')); + push.receive('error', () => resolve('error')); + push.receive('timeout', () => resolve('timed out')); + }); + } + } + updateJoinPayload(payload) { + this.joinPush.updatePayload(payload); + } + /** + * Leaves the channel. + * + * Unsubscribes from server events, and instructs channel to terminate on server. + * Triggers onClose() hooks. + * + * To receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie: + * channel.unsubscribe().receive("ok", () => alert("left!") ) + */ + unsubscribe(timeout = this.timeout) { + this.state = constants_1.CHANNEL_STATES.leaving; + const onClose = () => { + this.socket.log('channel', `leave ${this.topic}`); + this._trigger(constants_1.CHANNEL_EVENTS.close, 'leave', this._joinRef()); + }; + this.joinPush.destroy(); + let leavePush = null; + return new Promise((resolve) => { + leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout); + leavePush + .receive('ok', () => { + onClose(); + resolve('ok'); + }) + .receive('timeout', () => { + onClose(); + resolve('timed out'); + }) + .receive('error', () => { + resolve('error'); + }); + leavePush.send(); + if (!this._canPush()) { + leavePush.trigger('ok', {}); + } + }).finally(() => { + leavePush === null || leavePush === void 0 ? void 0 : leavePush.destroy(); + }); + } + /** + * Teardown the channel. + * + * Destroys and stops related timers. + */ + teardown() { + this.pushBuffer.forEach((push) => push.destroy()); + this.pushBuffer = []; + this.rejoinTimer.reset(); + this.joinPush.destroy(); + this.state = constants_1.CHANNEL_STATES.closed; + this.bindings = {}; + } + /** @internal */ + async _fetchWithTimeout(url, options, timeout) { + const controller = new AbortController(); + const id = setTimeout(() => controller.abort(), timeout); + const response = await this.socket.fetch(url, Object.assign(Object.assign({}, options), { signal: controller.signal })); + clearTimeout(id); + return response; + } + /** @internal */ + _push(event, payload, timeout = this.timeout) { + if (!this.joinedOnce) { + throw `tried to push '${event}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`; + } + let pushEvent = new push_1.default(this, event, payload, timeout); + if (this._canPush()) { + pushEvent.send(); + } + else { + this._addToPushBuffer(pushEvent); + } + return pushEvent; + } + /** @internal */ + _addToPushBuffer(pushEvent) { + pushEvent.startTimeout(); + this.pushBuffer.push(pushEvent); + // Enforce buffer size limit + if (this.pushBuffer.length > constants_1.MAX_PUSH_BUFFER_SIZE) { + const removedPush = this.pushBuffer.shift(); + if (removedPush) { + removedPush.destroy(); + this.socket.log('channel', `discarded push due to buffer overflow: ${removedPush.event}`, removedPush.payload); + } + } + } + /** + * Overridable message hook + * + * Receives all events for specialized message handling before dispatching to the channel callbacks. + * Must return the payload, modified or unmodified. + * + * @internal + */ + _onMessage(_event, payload, _ref) { + return payload; + } + /** @internal */ + _isMember(topic) { + return this.topic === topic; + } + /** @internal */ + _joinRef() { + return this.joinPush.ref; + } + /** @internal */ + _trigger(type, payload, ref) { + var _a, _b; + const typeLower = type.toLocaleLowerCase(); + const { close, error, leave, join } = constants_1.CHANNEL_EVENTS; + const events = [close, error, leave, join]; + if (ref && events.indexOf(typeLower) >= 0 && ref !== this._joinRef()) { + return; + } + let handledPayload = this._onMessage(typeLower, payload, ref); + if (payload && !handledPayload) { + throw 'channel onMessage callbacks must return the payload, modified or unmodified'; + } + if (['insert', 'update', 'delete'].includes(typeLower)) { + (_a = this.bindings.postgres_changes) === null || _a === void 0 ? void 0 : _a.filter((bind) => { + var _a, _b, _c; + return (((_a = bind.filter) === null || _a === void 0 ? void 0 : _a.event) === '*' || + ((_c = (_b = bind.filter) === null || _b === void 0 ? void 0 : _b.event) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === typeLower); + }).map((bind) => bind.callback(handledPayload, ref)); + } + else { + (_b = this.bindings[typeLower]) === null || _b === void 0 ? void 0 : _b.filter((bind) => { + var _a, _b, _c, _d, _e, _f; + if (['broadcast', 'presence', 'postgres_changes'].includes(typeLower)) { + if ('id' in bind) { + const bindId = bind.id; + const bindEvent = (_a = bind.filter) === null || _a === void 0 ? void 0 : _a.event; + return (bindId && + ((_b = payload.ids) === null || _b === void 0 ? void 0 : _b.includes(bindId)) && + (bindEvent === '*' || + (bindEvent === null || bindEvent === void 0 ? void 0 : bindEvent.toLocaleLowerCase()) === + ((_c = payload.data) === null || _c === void 0 ? void 0 : _c.type.toLocaleLowerCase()))); + } + else { + const bindEvent = (_e = (_d = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _d === void 0 ? void 0 : _d.event) === null || _e === void 0 ? void 0 : _e.toLocaleLowerCase(); + return (bindEvent === '*' || + bindEvent === ((_f = payload === null || payload === void 0 ? void 0 : payload.event) === null || _f === void 0 ? void 0 : _f.toLocaleLowerCase())); + } + } + else { + return bind.type.toLocaleLowerCase() === typeLower; + } + }).map((bind) => { + if (typeof handledPayload === 'object' && 'ids' in handledPayload) { + const postgresChanges = handledPayload.data; + const { schema, table, commit_timestamp, type, errors } = postgresChanges; + const enrichedPayload = { + schema: schema, + table: table, + commit_timestamp: commit_timestamp, + eventType: type, + new: {}, + old: {}, + errors: errors, + }; + handledPayload = Object.assign(Object.assign({}, enrichedPayload), this._getPayloadRecords(postgresChanges)); + } + bind.callback(handledPayload, ref); + }); + } + } + /** @internal */ + _isClosed() { + return this.state === constants_1.CHANNEL_STATES.closed; + } + /** @internal */ + _isJoined() { + return this.state === constants_1.CHANNEL_STATES.joined; + } + /** @internal */ + _isJoining() { + return this.state === constants_1.CHANNEL_STATES.joining; + } + /** @internal */ + _isLeaving() { + return this.state === constants_1.CHANNEL_STATES.leaving; + } + /** @internal */ + _replyEventName(ref) { + return `chan_reply_${ref}`; + } + /** @internal */ + _on(type, filter, callback) { + const typeLower = type.toLocaleLowerCase(); + const binding = { + type: typeLower, + filter: filter, + callback: callback, + }; + if (this.bindings[typeLower]) { + this.bindings[typeLower].push(binding); + } + else { + this.bindings[typeLower] = [binding]; + } + return this; + } + /** @internal */ + _off(type, filter) { + const typeLower = type.toLocaleLowerCase(); + if (this.bindings[typeLower]) { + this.bindings[typeLower] = this.bindings[typeLower].filter((bind) => { + var _a; + return !(((_a = bind.type) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === typeLower && + RealtimeChannel.isEqual(bind.filter, filter)); + }); + } + return this; + } + /** @internal */ + static isEqual(obj1, obj2) { + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false; + } + for (const k in obj1) { + if (obj1[k] !== obj2[k]) { + return false; + } + } + return true; + } + /** @internal */ + _rejoinUntilConnected() { + this.rejoinTimer.scheduleTimeout(); + if (this.socket.isConnected()) { + this._rejoin(); + } + } + /** + * Registers a callback that will be executed when the channel closes. + * + * @internal + */ + _onClose(callback) { + this._on(constants_1.CHANNEL_EVENTS.close, {}, callback); + } + /** + * Registers a callback that will be executed when the channel encounteres an error. + * + * @internal + */ + _onError(callback) { + this._on(constants_1.CHANNEL_EVENTS.error, {}, (reason) => callback(reason)); + } + /** + * Returns `true` if the socket is connected and the channel has been joined. + * + * @internal + */ + _canPush() { + return this.socket.isConnected() && this._isJoined(); + } + /** @internal */ + _rejoin(timeout = this.timeout) { + if (this._isLeaving()) { + return; + } + this.socket._leaveOpenTopic(this.topic); + this.state = constants_1.CHANNEL_STATES.joining; + this.joinPush.resend(timeout); + } + /** @internal */ + _getPayloadRecords(payload) { + const records = { + new: {}, + old: {}, + }; + if (payload.type === 'INSERT' || payload.type === 'UPDATE') { + records.new = Transformers.convertChangeData(payload.columns, payload.record); + } + if (payload.type === 'UPDATE' || payload.type === 'DELETE') { + records.old = Transformers.convertChangeData(payload.columns, payload.old_record); + } + return records; + } +} +exports.default = RealtimeChannel; +//# sourceMappingURL=RealtimeChannel.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeClient.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeClient.js new file mode 100644 index 00000000..4167d3c5 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimeClient.js @@ -0,0 +1,737 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const websocket_factory_1 = __importDefault(require("./lib/websocket-factory")); +const constants_1 = require("./lib/constants"); +const serializer_1 = __importDefault(require("./lib/serializer")); +const timer_1 = __importDefault(require("./lib/timer")); +const transformers_1 = require("./lib/transformers"); +const RealtimeChannel_1 = __importDefault(require("./RealtimeChannel")); +const noop = () => { }; +// Connection-related constants +const CONNECTION_TIMEOUTS = { + HEARTBEAT_INTERVAL: 25000, + RECONNECT_DELAY: 10, + HEARTBEAT_TIMEOUT_FALLBACK: 100, +}; +const RECONNECT_INTERVALS = [1000, 2000, 5000, 10000]; +const DEFAULT_RECONNECT_FALLBACK = 10000; +const WORKER_SCRIPT = ` + addEventListener("message", (e) => { + if (e.data.event === "start") { + setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); + } + });`; +class RealtimeClient { + /** + * Initializes the Socket. + * + * @param endPoint The string WebSocket endpoint, ie, "ws://example.com/socket", "wss://example.com", "/socket" (inherited host & protocol) + * @param httpEndpoint The string HTTP endpoint, ie, "https://example.com", "/" (inherited host & protocol) + * @param options.transport The Websocket Transport, for example WebSocket. This can be a custom implementation + * @param options.timeout The default timeout in milliseconds to trigger push timeouts. + * @param options.params The optional params to pass when connecting. + * @param options.headers Deprecated: headers cannot be set on websocket connections and this option will be removed in the future. + * @param options.heartbeatIntervalMs The millisec interval to send a heartbeat message. + * @param options.logger The optional function for specialized logging, ie: logger: (kind, msg, data) => { console.log(`${kind}: ${msg}`, data) } + * @param options.logLevel Sets the log level for Realtime + * @param options.encode The function to encode outgoing messages. Defaults to JSON: (payload, callback) => callback(JSON.stringify(payload)) + * @param options.decode The function to decode incoming messages. Defaults to Serializer's decode. + * @param options.reconnectAfterMs he optional function that returns the millsec reconnect interval. Defaults to stepped backoff off. + * @param options.worker Use Web Worker to set a side flow. Defaults to false. + * @param options.workerUrl The URL of the worker script. Defaults to https://realtime.supabase.com/worker.js that includes a heartbeat event call to keep the connection alive. + */ + constructor(endPoint, options) { + var _a; + this.accessTokenValue = null; + this.apiKey = null; + this.channels = new Array(); + this.endPoint = ''; + this.httpEndpoint = ''; + /** @deprecated headers cannot be set on websocket connections */ + this.headers = {}; + this.params = {}; + this.timeout = constants_1.DEFAULT_TIMEOUT; + this.transport = null; + this.heartbeatIntervalMs = CONNECTION_TIMEOUTS.HEARTBEAT_INTERVAL; + this.heartbeatTimer = undefined; + this.pendingHeartbeatRef = null; + this.heartbeatCallback = noop; + this.ref = 0; + this.reconnectTimer = null; + this.logger = noop; + this.conn = null; + this.sendBuffer = []; + this.serializer = new serializer_1.default(); + this.stateChangeCallbacks = { + open: [], + close: [], + error: [], + message: [], + }; + this.accessToken = null; + this._connectionState = 'disconnected'; + this._wasManualDisconnect = false; + this._authPromise = null; + /** + * Use either custom fetch, if provided, or default fetch to make HTTP requests + * + * @internal + */ + this._resolveFetch = (customFetch) => { + let _fetch; + if (customFetch) { + _fetch = customFetch; + } + else if (typeof fetch === 'undefined') { + // Node.js environment without native fetch + _fetch = (...args) => Promise.resolve(`${'@supabase/node-fetch'}`).then(s => __importStar(require(s))).then(({ default: fetch }) => fetch(...args)) + .catch((error) => { + throw new Error(`Failed to load @supabase/node-fetch: ${error.message}. ` + + `This is required for HTTP requests in Node.js environments without native fetch.`); + }); + } + else { + _fetch = fetch; + } + return (...args) => _fetch(...args); + }; + // Validate required parameters + if (!((_a = options === null || options === void 0 ? void 0 : options.params) === null || _a === void 0 ? void 0 : _a.apikey)) { + throw new Error('API key is required to connect to Realtime'); + } + this.apiKey = options.params.apikey; + // Initialize endpoint URLs + this.endPoint = `${endPoint}/${constants_1.TRANSPORTS.websocket}`; + this.httpEndpoint = (0, transformers_1.httpEndpointURL)(endPoint); + this._initializeOptions(options); + this._setupReconnectionTimer(); + this.fetch = this._resolveFetch(options === null || options === void 0 ? void 0 : options.fetch); + } + /** + * Connects the socket, unless already connected. + */ + connect() { + // Skip if already connecting, disconnecting, or connected + if (this.isConnecting() || + this.isDisconnecting() || + (this.conn !== null && this.isConnected())) { + return; + } + this._setConnectionState('connecting'); + this._setAuthSafely('connect'); + // Establish WebSocket connection + if (this.transport) { + // Use custom transport if provided + this.conn = new this.transport(this.endpointURL()); + } + else { + // Try to use native WebSocket + try { + this.conn = websocket_factory_1.default.createWebSocket(this.endpointURL()); + } + catch (error) { + this._setConnectionState('disconnected'); + const errorMessage = error.message; + // Provide helpful error message based on environment + if (errorMessage.includes('Node.js')) { + throw new Error(`${errorMessage}\n\n` + + 'To use Realtime in Node.js, you need to provide a WebSocket implementation:\n\n' + + 'Option 1: Use Node.js 22+ which has native WebSocket support\n' + + 'Option 2: Install and provide the "ws" package:\n\n' + + ' npm install ws\n\n' + + ' import ws from "ws"\n' + + ' const client = new RealtimeClient(url, {\n' + + ' ...options,\n' + + ' transport: ws\n' + + ' })'); + } + throw new Error(`WebSocket not available: ${errorMessage}`); + } + } + this._setupConnectionHandlers(); + } + /** + * Returns the URL of the websocket. + * @returns string The URL of the websocket. + */ + endpointURL() { + return this._appendParams(this.endPoint, Object.assign({}, this.params, { vsn: constants_1.VSN })); + } + /** + * Disconnects the socket. + * + * @param code A numeric status code to send on disconnect. + * @param reason A custom reason for the disconnect. + */ + disconnect(code, reason) { + if (this.isDisconnecting()) { + return; + } + this._setConnectionState('disconnecting', true); + if (this.conn) { + // Setup fallback timer to prevent hanging in disconnecting state + const fallbackTimer = setTimeout(() => { + this._setConnectionState('disconnected'); + }, 100); + this.conn.onclose = () => { + clearTimeout(fallbackTimer); + this._setConnectionState('disconnected'); + }; + // Close the WebSocket connection + if (code) { + this.conn.close(code, reason !== null && reason !== void 0 ? reason : ''); + } + else { + this.conn.close(); + } + this._teardownConnection(); + } + else { + this._setConnectionState('disconnected'); + } + } + /** + * Returns all created channels + */ + getChannels() { + return this.channels; + } + /** + * Unsubscribes and removes a single channel + * @param channel A RealtimeChannel instance + */ + async removeChannel(channel) { + const status = await channel.unsubscribe(); + if (this.channels.length === 0) { + this.disconnect(); + } + return status; + } + /** + * Unsubscribes and removes all channels + */ + async removeAllChannels() { + const values_1 = await Promise.all(this.channels.map((channel) => channel.unsubscribe())); + this.channels = []; + this.disconnect(); + return values_1; + } + /** + * Logs the message. + * + * For customized logging, `this.logger` can be overridden. + */ + log(kind, msg, data) { + this.logger(kind, msg, data); + } + /** + * Returns the current state of the socket. + */ + connectionState() { + switch (this.conn && this.conn.readyState) { + case constants_1.SOCKET_STATES.connecting: + return constants_1.CONNECTION_STATE.Connecting; + case constants_1.SOCKET_STATES.open: + return constants_1.CONNECTION_STATE.Open; + case constants_1.SOCKET_STATES.closing: + return constants_1.CONNECTION_STATE.Closing; + default: + return constants_1.CONNECTION_STATE.Closed; + } + } + /** + * Returns `true` is the connection is open. + */ + isConnected() { + return this.connectionState() === constants_1.CONNECTION_STATE.Open; + } + /** + * Returns `true` if the connection is currently connecting. + */ + isConnecting() { + return this._connectionState === 'connecting'; + } + /** + * Returns `true` if the connection is currently disconnecting. + */ + isDisconnecting() { + return this._connectionState === 'disconnecting'; + } + channel(topic, params = { config: {} }) { + const realtimeTopic = `realtime:${topic}`; + const exists = this.getChannels().find((c) => c.topic === realtimeTopic); + if (!exists) { + const chan = new RealtimeChannel_1.default(`realtime:${topic}`, params, this); + this.channels.push(chan); + return chan; + } + else { + return exists; + } + } + /** + * Push out a message if the socket is connected. + * + * If the socket is not connected, the message gets enqueued within a local buffer, and sent out when a connection is next established. + */ + push(data) { + const { topic, event, payload, ref } = data; + const callback = () => { + this.encode(data, (result) => { + var _a; + (_a = this.conn) === null || _a === void 0 ? void 0 : _a.send(result); + }); + }; + this.log('push', `${topic} ${event} (${ref})`, payload); + if (this.isConnected()) { + callback(); + } + else { + this.sendBuffer.push(callback); + } + } + /** + * Sets the JWT access token used for channel subscription authorization and Realtime RLS. + * + * If param is null it will use the `accessToken` callback function or the token set on the client. + * + * On callback used, it will set the value of the token internal to the client. + * + * @param token A JWT string to override the token set on the client. + */ + async setAuth(token = null) { + this._authPromise = this._performAuth(token); + try { + await this._authPromise; + } + finally { + this._authPromise = null; + } + } + /** + * Sends a heartbeat message if the socket is connected. + */ + async sendHeartbeat() { + var _a; + if (!this.isConnected()) { + this.heartbeatCallback('disconnected'); + return; + } + // Handle heartbeat timeout and force reconnection if needed + if (this.pendingHeartbeatRef) { + this.pendingHeartbeatRef = null; + this.log('transport', 'heartbeat timeout. Attempting to re-establish connection'); + this.heartbeatCallback('timeout'); + // Force reconnection after heartbeat timeout + this._wasManualDisconnect = false; + (_a = this.conn) === null || _a === void 0 ? void 0 : _a.close(constants_1.WS_CLOSE_NORMAL, 'heartbeat timeout'); + setTimeout(() => { + var _a; + if (!this.isConnected()) { + (_a = this.reconnectTimer) === null || _a === void 0 ? void 0 : _a.scheduleTimeout(); + } + }, CONNECTION_TIMEOUTS.HEARTBEAT_TIMEOUT_FALLBACK); + return; + } + // Send heartbeat message to server + this.pendingHeartbeatRef = this._makeRef(); + this.push({ + topic: 'phoenix', + event: 'heartbeat', + payload: {}, + ref: this.pendingHeartbeatRef, + }); + this.heartbeatCallback('sent'); + this._setAuthSafely('heartbeat'); + } + onHeartbeat(callback) { + this.heartbeatCallback = callback; + } + /** + * Flushes send buffer + */ + flushSendBuffer() { + if (this.isConnected() && this.sendBuffer.length > 0) { + this.sendBuffer.forEach((callback) => callback()); + this.sendBuffer = []; + } + } + /** + * Return the next message ref, accounting for overflows + * + * @internal + */ + _makeRef() { + let newRef = this.ref + 1; + if (newRef === this.ref) { + this.ref = 0; + } + else { + this.ref = newRef; + } + return this.ref.toString(); + } + /** + * Unsubscribe from channels with the specified topic. + * + * @internal + */ + _leaveOpenTopic(topic) { + let dupChannel = this.channels.find((c) => c.topic === topic && (c._isJoined() || c._isJoining())); + if (dupChannel) { + this.log('transport', `leaving duplicate topic "${topic}"`); + dupChannel.unsubscribe(); + } + } + /** + * Removes a subscription from the socket. + * + * @param channel An open subscription. + * + * @internal + */ + _remove(channel) { + this.channels = this.channels.filter((c) => c.topic !== channel.topic); + } + /** @internal */ + _onConnMessage(rawMessage) { + this.decode(rawMessage.data, (msg) => { + // Handle heartbeat responses + if (msg.topic === 'phoenix' && msg.event === 'phx_reply') { + this.heartbeatCallback(msg.payload.status === 'ok' ? 'ok' : 'error'); + } + // Handle pending heartbeat reference cleanup + if (msg.ref && msg.ref === this.pendingHeartbeatRef) { + this.pendingHeartbeatRef = null; + } + // Log incoming message + const { topic, event, payload, ref } = msg; + const refString = ref ? `(${ref})` : ''; + const status = payload.status || ''; + this.log('receive', `${status} ${topic} ${event} ${refString}`.trim(), payload); + // Route message to appropriate channels + this.channels + .filter((channel) => channel._isMember(topic)) + .forEach((channel) => channel._trigger(event, payload, ref)); + this._triggerStateCallbacks('message', msg); + }); + } + /** + * Clear specific timer + * @internal + */ + _clearTimer(timer) { + var _a; + if (timer === 'heartbeat' && this.heartbeatTimer) { + clearInterval(this.heartbeatTimer); + this.heartbeatTimer = undefined; + } + else if (timer === 'reconnect') { + (_a = this.reconnectTimer) === null || _a === void 0 ? void 0 : _a.reset(); + } + } + /** + * Clear all timers + * @internal + */ + _clearAllTimers() { + this._clearTimer('heartbeat'); + this._clearTimer('reconnect'); + } + /** + * Setup connection handlers for WebSocket events + * @internal + */ + _setupConnectionHandlers() { + if (!this.conn) + return; + // Set binary type if supported (browsers and most WebSocket implementations) + if ('binaryType' in this.conn) { + ; + this.conn.binaryType = 'arraybuffer'; + } + this.conn.onopen = () => this._onConnOpen(); + this.conn.onerror = (error) => this._onConnError(error); + this.conn.onmessage = (event) => this._onConnMessage(event); + this.conn.onclose = (event) => this._onConnClose(event); + } + /** + * Teardown connection and cleanup resources + * @internal + */ + _teardownConnection() { + if (this.conn) { + this.conn.onopen = null; + this.conn.onerror = null; + this.conn.onmessage = null; + this.conn.onclose = null; + this.conn = null; + } + this._clearAllTimers(); + this.channels.forEach((channel) => channel.teardown()); + } + /** @internal */ + _onConnOpen() { + this._setConnectionState('connected'); + this.log('transport', `connected to ${this.endpointURL()}`); + this.flushSendBuffer(); + this._clearTimer('reconnect'); + if (!this.worker) { + this._startHeartbeat(); + } + else { + if (!this.workerRef) { + this._startWorkerHeartbeat(); + } + } + this._triggerStateCallbacks('open'); + } + /** @internal */ + _startHeartbeat() { + this.heartbeatTimer && clearInterval(this.heartbeatTimer); + this.heartbeatTimer = setInterval(() => this.sendHeartbeat(), this.heartbeatIntervalMs); + } + /** @internal */ + _startWorkerHeartbeat() { + if (this.workerUrl) { + this.log('worker', `starting worker for from ${this.workerUrl}`); + } + else { + this.log('worker', `starting default worker`); + } + const objectUrl = this._workerObjectUrl(this.workerUrl); + this.workerRef = new Worker(objectUrl); + this.workerRef.onerror = (error) => { + this.log('worker', 'worker error', error.message); + this.workerRef.terminate(); + }; + this.workerRef.onmessage = (event) => { + if (event.data.event === 'keepAlive') { + this.sendHeartbeat(); + } + }; + this.workerRef.postMessage({ + event: 'start', + interval: this.heartbeatIntervalMs, + }); + } + /** @internal */ + _onConnClose(event) { + var _a; + this._setConnectionState('disconnected'); + this.log('transport', 'close', event); + this._triggerChanError(); + this._clearTimer('heartbeat'); + // Only schedule reconnection if it wasn't a manual disconnect + if (!this._wasManualDisconnect) { + (_a = this.reconnectTimer) === null || _a === void 0 ? void 0 : _a.scheduleTimeout(); + } + this._triggerStateCallbacks('close', event); + } + /** @internal */ + _onConnError(error) { + this._setConnectionState('disconnected'); + this.log('transport', `${error}`); + this._triggerChanError(); + this._triggerStateCallbacks('error', error); + } + /** @internal */ + _triggerChanError() { + this.channels.forEach((channel) => channel._trigger(constants_1.CHANNEL_EVENTS.error)); + } + /** @internal */ + _appendParams(url, params) { + if (Object.keys(params).length === 0) { + return url; + } + const prefix = url.match(/\?/) ? '&' : '?'; + const query = new URLSearchParams(params); + return `${url}${prefix}${query}`; + } + _workerObjectUrl(url) { + let result_url; + if (url) { + result_url = url; + } + else { + const blob = new Blob([WORKER_SCRIPT], { type: 'application/javascript' }); + result_url = URL.createObjectURL(blob); + } + return result_url; + } + /** + * Set connection state with proper state management + * @internal + */ + _setConnectionState(state, manual = false) { + this._connectionState = state; + if (state === 'connecting') { + this._wasManualDisconnect = false; + } + else if (state === 'disconnecting') { + this._wasManualDisconnect = manual; + } + } + /** + * Perform the actual auth operation + * @internal + */ + async _performAuth(token = null) { + let tokenToSend; + if (token) { + tokenToSend = token; + } + else if (this.accessToken) { + // Always call the accessToken callback to get fresh token + tokenToSend = await this.accessToken(); + } + else { + tokenToSend = this.accessTokenValue; + } + if (this.accessTokenValue != tokenToSend) { + this.accessTokenValue = tokenToSend; + this.channels.forEach((channel) => { + const payload = { + access_token: tokenToSend, + version: constants_1.DEFAULT_VERSION, + }; + tokenToSend && channel.updateJoinPayload(payload); + if (channel.joinedOnce && channel._isJoined()) { + channel._push(constants_1.CHANNEL_EVENTS.access_token, { + access_token: tokenToSend, + }); + } + }); + } + } + /** + * Wait for any in-flight auth operations to complete + * @internal + */ + async _waitForAuthIfNeeded() { + if (this._authPromise) { + await this._authPromise; + } + } + /** + * Safely call setAuth with standardized error handling + * @internal + */ + _setAuthSafely(context = 'general') { + this.setAuth().catch((e) => { + this.log('error', `error setting auth in ${context}`, e); + }); + } + /** + * Trigger state change callbacks with proper error handling + * @internal + */ + _triggerStateCallbacks(event, data) { + try { + this.stateChangeCallbacks[event].forEach((callback) => { + try { + callback(data); + } + catch (e) { + this.log('error', `error in ${event} callback`, e); + } + }); + } + catch (e) { + this.log('error', `error triggering ${event} callbacks`, e); + } + } + /** + * Setup reconnection timer with proper configuration + * @internal + */ + _setupReconnectionTimer() { + this.reconnectTimer = new timer_1.default(async () => { + setTimeout(async () => { + await this._waitForAuthIfNeeded(); + if (!this.isConnected()) { + this.connect(); + } + }, CONNECTION_TIMEOUTS.RECONNECT_DELAY); + }, this.reconnectAfterMs); + } + /** + * Initialize client options with defaults + * @internal + */ + _initializeOptions(options) { + var _a, _b, _c, _d, _e, _f, _g, _h; + // Set defaults + this.transport = (_a = options === null || options === void 0 ? void 0 : options.transport) !== null && _a !== void 0 ? _a : null; + this.timeout = (_b = options === null || options === void 0 ? void 0 : options.timeout) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_TIMEOUT; + this.heartbeatIntervalMs = + (_c = options === null || options === void 0 ? void 0 : options.heartbeatIntervalMs) !== null && _c !== void 0 ? _c : CONNECTION_TIMEOUTS.HEARTBEAT_INTERVAL; + this.worker = (_d = options === null || options === void 0 ? void 0 : options.worker) !== null && _d !== void 0 ? _d : false; + this.accessToken = (_e = options === null || options === void 0 ? void 0 : options.accessToken) !== null && _e !== void 0 ? _e : null; + // Handle special cases + if (options === null || options === void 0 ? void 0 : options.params) + this.params = options.params; + if (options === null || options === void 0 ? void 0 : options.logger) + this.logger = options.logger; + if ((options === null || options === void 0 ? void 0 : options.logLevel) || (options === null || options === void 0 ? void 0 : options.log_level)) { + this.logLevel = options.logLevel || options.log_level; + this.params = Object.assign(Object.assign({}, this.params), { log_level: this.logLevel }); + } + // Set up functions with defaults + this.reconnectAfterMs = + (_f = options === null || options === void 0 ? void 0 : options.reconnectAfterMs) !== null && _f !== void 0 ? _f : ((tries) => { + return RECONNECT_INTERVALS[tries - 1] || DEFAULT_RECONNECT_FALLBACK; + }); + this.encode = + (_g = options === null || options === void 0 ? void 0 : options.encode) !== null && _g !== void 0 ? _g : ((payload, callback) => { + return callback(JSON.stringify(payload)); + }); + this.decode = + (_h = options === null || options === void 0 ? void 0 : options.decode) !== null && _h !== void 0 ? _h : this.serializer.decode.bind(this.serializer); + // Handle worker setup + if (this.worker) { + if (typeof window !== 'undefined' && !window.Worker) { + throw new Error('Web Worker is not supported'); + } + this.workerUrl = options === null || options === void 0 ? void 0 : options.workerUrl; + } + } +} +exports.default = RealtimeClient; +//# sourceMappingURL=RealtimeClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimePresence.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimePresence.js new file mode 100644 index 00000000..424aa14d --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/RealtimePresence.js @@ -0,0 +1,229 @@ +"use strict"; +/* + This file draws heavily from https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/assets/js/phoenix/presence.js + License: https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/LICENSE.md +*/ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.REALTIME_PRESENCE_LISTEN_EVENTS = void 0; +var REALTIME_PRESENCE_LISTEN_EVENTS; +(function (REALTIME_PRESENCE_LISTEN_EVENTS) { + REALTIME_PRESENCE_LISTEN_EVENTS["SYNC"] = "sync"; + REALTIME_PRESENCE_LISTEN_EVENTS["JOIN"] = "join"; + REALTIME_PRESENCE_LISTEN_EVENTS["LEAVE"] = "leave"; +})(REALTIME_PRESENCE_LISTEN_EVENTS || (exports.REALTIME_PRESENCE_LISTEN_EVENTS = REALTIME_PRESENCE_LISTEN_EVENTS = {})); +class RealtimePresence { + /** + * Initializes the Presence. + * + * @param channel - The RealtimeChannel + * @param opts - The options, + * for example `{events: {state: 'state', diff: 'diff'}}` + */ + constructor(channel, opts) { + this.channel = channel; + this.state = {}; + this.pendingDiffs = []; + this.joinRef = null; + this.enabled = false; + this.caller = { + onJoin: () => { }, + onLeave: () => { }, + onSync: () => { }, + }; + const events = (opts === null || opts === void 0 ? void 0 : opts.events) || { + state: 'presence_state', + diff: 'presence_diff', + }; + this.channel._on(events.state, {}, (newState) => { + const { onJoin, onLeave, onSync } = this.caller; + this.joinRef = this.channel._joinRef(); + this.state = RealtimePresence.syncState(this.state, newState, onJoin, onLeave); + this.pendingDiffs.forEach((diff) => { + this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave); + }); + this.pendingDiffs = []; + onSync(); + }); + this.channel._on(events.diff, {}, (diff) => { + const { onJoin, onLeave, onSync } = this.caller; + if (this.inPendingSyncState()) { + this.pendingDiffs.push(diff); + } + else { + this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave); + onSync(); + } + }); + this.onJoin((key, currentPresences, newPresences) => { + this.channel._trigger('presence', { + event: 'join', + key, + currentPresences, + newPresences, + }); + }); + this.onLeave((key, currentPresences, leftPresences) => { + this.channel._trigger('presence', { + event: 'leave', + key, + currentPresences, + leftPresences, + }); + }); + this.onSync(() => { + this.channel._trigger('presence', { event: 'sync' }); + }); + } + /** + * Used to sync the list of presences on the server with the + * client's state. + * + * An optional `onJoin` and `onLeave` callback can be provided to + * react to changes in the client's local presences across + * disconnects and reconnects with the server. + * + * @internal + */ + static syncState(currentState, newState, onJoin, onLeave) { + const state = this.cloneDeep(currentState); + const transformedState = this.transformState(newState); + const joins = {}; + const leaves = {}; + this.map(state, (key, presences) => { + if (!transformedState[key]) { + leaves[key] = presences; + } + }); + this.map(transformedState, (key, newPresences) => { + const currentPresences = state[key]; + if (currentPresences) { + const newPresenceRefs = newPresences.map((m) => m.presence_ref); + const curPresenceRefs = currentPresences.map((m) => m.presence_ref); + const joinedPresences = newPresences.filter((m) => curPresenceRefs.indexOf(m.presence_ref) < 0); + const leftPresences = currentPresences.filter((m) => newPresenceRefs.indexOf(m.presence_ref) < 0); + if (joinedPresences.length > 0) { + joins[key] = joinedPresences; + } + if (leftPresences.length > 0) { + leaves[key] = leftPresences; + } + } + else { + joins[key] = newPresences; + } + }); + return this.syncDiff(state, { joins, leaves }, onJoin, onLeave); + } + /** + * Used to sync a diff of presence join and leave events from the + * server, as they happen. + * + * Like `syncState`, `syncDiff` accepts optional `onJoin` and + * `onLeave` callbacks to react to a user joining or leaving from a + * device. + * + * @internal + */ + static syncDiff(state, diff, onJoin, onLeave) { + const { joins, leaves } = { + joins: this.transformState(diff.joins), + leaves: this.transformState(diff.leaves), + }; + if (!onJoin) { + onJoin = () => { }; + } + if (!onLeave) { + onLeave = () => { }; + } + this.map(joins, (key, newPresences) => { + var _a; + const currentPresences = (_a = state[key]) !== null && _a !== void 0 ? _a : []; + state[key] = this.cloneDeep(newPresences); + if (currentPresences.length > 0) { + const joinedPresenceRefs = state[key].map((m) => m.presence_ref); + const curPresences = currentPresences.filter((m) => joinedPresenceRefs.indexOf(m.presence_ref) < 0); + state[key].unshift(...curPresences); + } + onJoin(key, currentPresences, newPresences); + }); + this.map(leaves, (key, leftPresences) => { + let currentPresences = state[key]; + if (!currentPresences) + return; + const presenceRefsToRemove = leftPresences.map((m) => m.presence_ref); + currentPresences = currentPresences.filter((m) => presenceRefsToRemove.indexOf(m.presence_ref) < 0); + state[key] = currentPresences; + onLeave(key, currentPresences, leftPresences); + if (currentPresences.length === 0) + delete state[key]; + }); + return state; + } + /** @internal */ + static map(obj, func) { + return Object.getOwnPropertyNames(obj).map((key) => func(key, obj[key])); + } + /** + * Remove 'metas' key + * Change 'phx_ref' to 'presence_ref' + * Remove 'phx_ref' and 'phx_ref_prev' + * + * @example + * // returns { + * abc123: [ + * { presence_ref: '2', user_id: 1 }, + * { presence_ref: '3', user_id: 2 } + * ] + * } + * RealtimePresence.transformState({ + * abc123: { + * metas: [ + * { phx_ref: '2', phx_ref_prev: '1' user_id: 1 }, + * { phx_ref: '3', user_id: 2 } + * ] + * } + * }) + * + * @internal + */ + static transformState(state) { + state = this.cloneDeep(state); + return Object.getOwnPropertyNames(state).reduce((newState, key) => { + const presences = state[key]; + if ('metas' in presences) { + newState[key] = presences.metas.map((presence) => { + presence['presence_ref'] = presence['phx_ref']; + delete presence['phx_ref']; + delete presence['phx_ref_prev']; + return presence; + }); + } + else { + newState[key] = presences; + } + return newState; + }, {}); + } + /** @internal */ + static cloneDeep(obj) { + return JSON.parse(JSON.stringify(obj)); + } + /** @internal */ + onJoin(callback) { + this.caller.onJoin = callback; + } + /** @internal */ + onLeave(callback) { + this.caller.onLeave = callback; + } + /** @internal */ + onSync(callback) { + this.caller.onSync = callback; + } + /** @internal */ + inPendingSyncState() { + return !this.joinRef || this.joinRef !== this.channel._joinRef(); + } +} +exports.default = RealtimePresence; +//# sourceMappingURL=RealtimePresence.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/index.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/index.js new file mode 100644 index 00000000..c162e110 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/index.js @@ -0,0 +1,53 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WebSocketFactory = exports.REALTIME_CHANNEL_STATES = exports.REALTIME_SUBSCRIBE_STATES = exports.REALTIME_PRESENCE_LISTEN_EVENTS = exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = exports.REALTIME_LISTEN_TYPES = exports.RealtimeClient = exports.RealtimeChannel = exports.RealtimePresence = void 0; +const RealtimeClient_1 = __importDefault(require("./RealtimeClient")); +exports.RealtimeClient = RealtimeClient_1.default; +const RealtimeChannel_1 = __importStar(require("./RealtimeChannel")); +exports.RealtimeChannel = RealtimeChannel_1.default; +Object.defineProperty(exports, "REALTIME_LISTEN_TYPES", { enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_LISTEN_TYPES; } }); +Object.defineProperty(exports, "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", { enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT; } }); +Object.defineProperty(exports, "REALTIME_SUBSCRIBE_STATES", { enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_SUBSCRIBE_STATES; } }); +Object.defineProperty(exports, "REALTIME_CHANNEL_STATES", { enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_CHANNEL_STATES; } }); +const RealtimePresence_1 = __importStar(require("./RealtimePresence")); +exports.RealtimePresence = RealtimePresence_1.default; +Object.defineProperty(exports, "REALTIME_PRESENCE_LISTEN_EVENTS", { enumerable: true, get: function () { return RealtimePresence_1.REALTIME_PRESENCE_LISTEN_EVENTS; } }); +const websocket_factory_1 = __importDefault(require("./lib/websocket-factory")); +exports.WebSocketFactory = websocket_factory_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/constants.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/constants.js new file mode 100644 index 00000000..58b8ad17 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/constants.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CONNECTION_STATE = exports.TRANSPORTS = exports.CHANNEL_EVENTS = exports.CHANNEL_STATES = exports.SOCKET_STATES = exports.MAX_PUSH_BUFFER_SIZE = exports.WS_CLOSE_NORMAL = exports.DEFAULT_TIMEOUT = exports.VERSION = exports.VSN = exports.DEFAULT_VERSION = void 0; +const version_1 = require("./version"); +exports.DEFAULT_VERSION = `realtime-js/${version_1.version}`; +exports.VSN = '1.0.0'; +exports.VERSION = version_1.version; +exports.DEFAULT_TIMEOUT = 10000; +exports.WS_CLOSE_NORMAL = 1000; +exports.MAX_PUSH_BUFFER_SIZE = 100; +var SOCKET_STATES; +(function (SOCKET_STATES) { + SOCKET_STATES[SOCKET_STATES["connecting"] = 0] = "connecting"; + SOCKET_STATES[SOCKET_STATES["open"] = 1] = "open"; + SOCKET_STATES[SOCKET_STATES["closing"] = 2] = "closing"; + SOCKET_STATES[SOCKET_STATES["closed"] = 3] = "closed"; +})(SOCKET_STATES || (exports.SOCKET_STATES = SOCKET_STATES = {})); +var CHANNEL_STATES; +(function (CHANNEL_STATES) { + CHANNEL_STATES["closed"] = "closed"; + CHANNEL_STATES["errored"] = "errored"; + CHANNEL_STATES["joined"] = "joined"; + CHANNEL_STATES["joining"] = "joining"; + CHANNEL_STATES["leaving"] = "leaving"; +})(CHANNEL_STATES || (exports.CHANNEL_STATES = CHANNEL_STATES = {})); +var CHANNEL_EVENTS; +(function (CHANNEL_EVENTS) { + CHANNEL_EVENTS["close"] = "phx_close"; + CHANNEL_EVENTS["error"] = "phx_error"; + CHANNEL_EVENTS["join"] = "phx_join"; + CHANNEL_EVENTS["reply"] = "phx_reply"; + CHANNEL_EVENTS["leave"] = "phx_leave"; + CHANNEL_EVENTS["access_token"] = "access_token"; +})(CHANNEL_EVENTS || (exports.CHANNEL_EVENTS = CHANNEL_EVENTS = {})); +var TRANSPORTS; +(function (TRANSPORTS) { + TRANSPORTS["websocket"] = "websocket"; +})(TRANSPORTS || (exports.TRANSPORTS = TRANSPORTS = {})); +var CONNECTION_STATE; +(function (CONNECTION_STATE) { + CONNECTION_STATE["Connecting"] = "connecting"; + CONNECTION_STATE["Open"] = "open"; + CONNECTION_STATE["Closing"] = "closing"; + CONNECTION_STATE["Closed"] = "closed"; +})(CONNECTION_STATE || (exports.CONNECTION_STATE = CONNECTION_STATE = {})); +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/push.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/push.js new file mode 100644 index 00000000..372db718 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/push.js @@ -0,0 +1,104 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const constants_1 = require("../lib/constants"); +class Push { + /** + * Initializes the Push + * + * @param channel The Channel + * @param event The event, for example `"phx_join"` + * @param payload The payload, for example `{user_id: 123}` + * @param timeout The push timeout in milliseconds + */ + constructor(channel, event, payload = {}, timeout = constants_1.DEFAULT_TIMEOUT) { + this.channel = channel; + this.event = event; + this.payload = payload; + this.timeout = timeout; + this.sent = false; + this.timeoutTimer = undefined; + this.ref = ''; + this.receivedResp = null; + this.recHooks = []; + this.refEvent = null; + } + resend(timeout) { + this.timeout = timeout; + this._cancelRefEvent(); + this.ref = ''; + this.refEvent = null; + this.receivedResp = null; + this.sent = false; + this.send(); + } + send() { + if (this._hasReceived('timeout')) { + return; + } + this.startTimeout(); + this.sent = true; + this.channel.socket.push({ + topic: this.channel.topic, + event: this.event, + payload: this.payload, + ref: this.ref, + join_ref: this.channel._joinRef(), + }); + } + updatePayload(payload) { + this.payload = Object.assign(Object.assign({}, this.payload), payload); + } + receive(status, callback) { + var _a; + if (this._hasReceived(status)) { + callback((_a = this.receivedResp) === null || _a === void 0 ? void 0 : _a.response); + } + this.recHooks.push({ status, callback }); + return this; + } + startTimeout() { + if (this.timeoutTimer) { + return; + } + this.ref = this.channel.socket._makeRef(); + this.refEvent = this.channel._replyEventName(this.ref); + const callback = (payload) => { + this._cancelRefEvent(); + this._cancelTimeout(); + this.receivedResp = payload; + this._matchReceive(payload); + }; + this.channel._on(this.refEvent, {}, callback); + this.timeoutTimer = setTimeout(() => { + this.trigger('timeout', {}); + }, this.timeout); + } + trigger(status, response) { + if (this.refEvent) + this.channel._trigger(this.refEvent, { status, response }); + } + destroy() { + this._cancelRefEvent(); + this._cancelTimeout(); + } + _cancelRefEvent() { + if (!this.refEvent) { + return; + } + this.channel._off(this.refEvent, {}); + } + _cancelTimeout() { + clearTimeout(this.timeoutTimer); + this.timeoutTimer = undefined; + } + _matchReceive({ status, response, }) { + this.recHooks + .filter((h) => h.status === status) + .forEach((h) => h.callback(response)); + } + _hasReceived(status) { + return this.receivedResp && this.receivedResp.status === status; + } +} +exports.default = Push; +//# sourceMappingURL=push.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/serializer.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/serializer.js new file mode 100644 index 00000000..fc1f4953 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/serializer.js @@ -0,0 +1,36 @@ +"use strict"; +// This file draws heavily from https://github.com/phoenixframework/phoenix/commit/cf098e9cf7a44ee6479d31d911a97d3c7430c6fe +// License: https://github.com/phoenixframework/phoenix/blob/master/LICENSE.md +Object.defineProperty(exports, "__esModule", { value: true }); +class Serializer { + constructor() { + this.HEADER_LENGTH = 1; + } + decode(rawPayload, callback) { + if (rawPayload.constructor === ArrayBuffer) { + return callback(this._binaryDecode(rawPayload)); + } + if (typeof rawPayload === 'string') { + return callback(JSON.parse(rawPayload)); + } + return callback({}); + } + _binaryDecode(buffer) { + const view = new DataView(buffer); + const decoder = new TextDecoder(); + return this._decodeBroadcast(buffer, view, decoder); + } + _decodeBroadcast(buffer, view, decoder) { + const topicSize = view.getUint8(1); + const eventSize = view.getUint8(2); + let offset = this.HEADER_LENGTH + 2; + const topic = decoder.decode(buffer.slice(offset, offset + topicSize)); + offset = offset + topicSize; + const event = decoder.decode(buffer.slice(offset, offset + eventSize)); + offset = offset + eventSize; + const data = JSON.parse(decoder.decode(buffer.slice(offset, buffer.byteLength))); + return { ref: null, topic: topic, event: event, payload: data }; + } +} +exports.default = Serializer; +//# sourceMappingURL=serializer.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/timer.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/timer.js new file mode 100644 index 00000000..d6b34ae9 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/timer.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Creates a timer that accepts a `timerCalc` function to perform calculated timeout retries, such as exponential backoff. + * + * @example + * let reconnectTimer = new Timer(() => this.connect(), function(tries){ + * return [1000, 5000, 10000][tries - 1] || 10000 + * }) + * reconnectTimer.scheduleTimeout() // fires after 1000 + * reconnectTimer.scheduleTimeout() // fires after 5000 + * reconnectTimer.reset() + * reconnectTimer.scheduleTimeout() // fires after 1000 + */ +class Timer { + constructor(callback, timerCalc) { + this.callback = callback; + this.timerCalc = timerCalc; + this.timer = undefined; + this.tries = 0; + this.callback = callback; + this.timerCalc = timerCalc; + } + reset() { + this.tries = 0; + clearTimeout(this.timer); + this.timer = undefined; + } + // Cancels any previous scheduleTimeout and schedules callback + scheduleTimeout() { + clearTimeout(this.timer); + this.timer = setTimeout(() => { + this.tries = this.tries + 1; + this.callback(); + }, this.timerCalc(this.tries + 1)); + } +} +exports.default = Timer; +//# sourceMappingURL=timer.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/transformers.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/transformers.js new file mode 100644 index 00000000..f1b83823 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/transformers.js @@ -0,0 +1,229 @@ +"use strict"; +/** + * Helpers to convert the change Payload into native JS types. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.httpEndpointURL = exports.toTimestampString = exports.toArray = exports.toJson = exports.toNumber = exports.toBoolean = exports.convertCell = exports.convertColumn = exports.convertChangeData = exports.PostgresTypes = void 0; +// Adapted from epgsql (src/epgsql_binary.erl), this module licensed under +// 3-clause BSD found here: https://raw.githubusercontent.com/epgsql/epgsql/devel/LICENSE +var PostgresTypes; +(function (PostgresTypes) { + PostgresTypes["abstime"] = "abstime"; + PostgresTypes["bool"] = "bool"; + PostgresTypes["date"] = "date"; + PostgresTypes["daterange"] = "daterange"; + PostgresTypes["float4"] = "float4"; + PostgresTypes["float8"] = "float8"; + PostgresTypes["int2"] = "int2"; + PostgresTypes["int4"] = "int4"; + PostgresTypes["int4range"] = "int4range"; + PostgresTypes["int8"] = "int8"; + PostgresTypes["int8range"] = "int8range"; + PostgresTypes["json"] = "json"; + PostgresTypes["jsonb"] = "jsonb"; + PostgresTypes["money"] = "money"; + PostgresTypes["numeric"] = "numeric"; + PostgresTypes["oid"] = "oid"; + PostgresTypes["reltime"] = "reltime"; + PostgresTypes["text"] = "text"; + PostgresTypes["time"] = "time"; + PostgresTypes["timestamp"] = "timestamp"; + PostgresTypes["timestamptz"] = "timestamptz"; + PostgresTypes["timetz"] = "timetz"; + PostgresTypes["tsrange"] = "tsrange"; + PostgresTypes["tstzrange"] = "tstzrange"; +})(PostgresTypes || (exports.PostgresTypes = PostgresTypes = {})); +/** + * Takes an array of columns and an object of string values then converts each string value + * to its mapped type. + * + * @param {{name: String, type: String}[]} columns + * @param {Object} record + * @param {Object} options The map of various options that can be applied to the mapper + * @param {Array} options.skipTypes The array of types that should not be converted + * + * @example convertChangeData([{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age:'33'}, {}) + * //=>{ first_name: 'Paul', age: 33 } + */ +const convertChangeData = (columns, record, options = {}) => { + var _a; + const skipTypes = (_a = options.skipTypes) !== null && _a !== void 0 ? _a : []; + return Object.keys(record).reduce((acc, rec_key) => { + acc[rec_key] = (0, exports.convertColumn)(rec_key, columns, record, skipTypes); + return acc; + }, {}); +}; +exports.convertChangeData = convertChangeData; +/** + * Converts the value of an individual column. + * + * @param {String} columnName The column that you want to convert + * @param {{name: String, type: String}[]} columns All of the columns + * @param {Object} record The map of string values + * @param {Array} skipTypes An array of types that should not be converted + * @return {object} Useless information + * + * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, []) + * //=> 33 + * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, ['int4']) + * //=> "33" + */ +const convertColumn = (columnName, columns, record, skipTypes) => { + const column = columns.find((x) => x.name === columnName); + const colType = column === null || column === void 0 ? void 0 : column.type; + const value = record[columnName]; + if (colType && !skipTypes.includes(colType)) { + return (0, exports.convertCell)(colType, value); + } + return noop(value); +}; +exports.convertColumn = convertColumn; +/** + * If the value of the cell is `null`, returns null. + * Otherwise converts the string value to the correct type. + * @param {String} type A postgres column type + * @param {String} value The cell value + * + * @example convertCell('bool', 't') + * //=> true + * @example convertCell('int8', '10') + * //=> 10 + * @example convertCell('_int4', '{1,2,3,4}') + * //=> [1,2,3,4] + */ +const convertCell = (type, value) => { + // if data type is an array + if (type.charAt(0) === '_') { + const dataType = type.slice(1, type.length); + return (0, exports.toArray)(value, dataType); + } + // If not null, convert to correct type. + switch (type) { + case PostgresTypes.bool: + return (0, exports.toBoolean)(value); + case PostgresTypes.float4: + case PostgresTypes.float8: + case PostgresTypes.int2: + case PostgresTypes.int4: + case PostgresTypes.int8: + case PostgresTypes.numeric: + case PostgresTypes.oid: + return (0, exports.toNumber)(value); + case PostgresTypes.json: + case PostgresTypes.jsonb: + return (0, exports.toJson)(value); + case PostgresTypes.timestamp: + return (0, exports.toTimestampString)(value); // Format to be consistent with PostgREST + case PostgresTypes.abstime: // To allow users to cast it based on Timezone + case PostgresTypes.date: // To allow users to cast it based on Timezone + case PostgresTypes.daterange: + case PostgresTypes.int4range: + case PostgresTypes.int8range: + case PostgresTypes.money: + case PostgresTypes.reltime: // To allow users to cast it based on Timezone + case PostgresTypes.text: + case PostgresTypes.time: // To allow users to cast it based on Timezone + case PostgresTypes.timestamptz: // To allow users to cast it based on Timezone + case PostgresTypes.timetz: // To allow users to cast it based on Timezone + case PostgresTypes.tsrange: + case PostgresTypes.tstzrange: + return noop(value); + default: + // Return the value for remaining types + return noop(value); + } +}; +exports.convertCell = convertCell; +const noop = (value) => { + return value; +}; +const toBoolean = (value) => { + switch (value) { + case 't': + return true; + case 'f': + return false; + default: + return value; + } +}; +exports.toBoolean = toBoolean; +const toNumber = (value) => { + if (typeof value === 'string') { + const parsedValue = parseFloat(value); + if (!Number.isNaN(parsedValue)) { + return parsedValue; + } + } + return value; +}; +exports.toNumber = toNumber; +const toJson = (value) => { + if (typeof value === 'string') { + try { + return JSON.parse(value); + } + catch (error) { + console.log(`JSON parse error: ${error}`); + return value; + } + } + return value; +}; +exports.toJson = toJson; +/** + * Converts a Postgres Array into a native JS array + * + * @example toArray('{}', 'int4') + * //=> [] + * @example toArray('{"[2021-01-01,2021-12-31)","(2021-01-01,2021-12-32]"}', 'daterange') + * //=> ['[2021-01-01,2021-12-31)', '(2021-01-01,2021-12-32]'] + * @example toArray([1,2,3,4], 'int4') + * //=> [1,2,3,4] + */ +const toArray = (value, type) => { + if (typeof value !== 'string') { + return value; + } + const lastIdx = value.length - 1; + const closeBrace = value[lastIdx]; + const openBrace = value[0]; + // Confirm value is a Postgres array by checking curly brackets + if (openBrace === '{' && closeBrace === '}') { + let arr; + const valTrim = value.slice(1, lastIdx); + // TODO: find a better solution to separate Postgres array data + try { + arr = JSON.parse('[' + valTrim + ']'); + } + catch (_) { + // WARNING: splitting on comma does not cover all edge cases + arr = valTrim ? valTrim.split(',') : []; + } + return arr.map((val) => (0, exports.convertCell)(type, val)); + } + return value; +}; +exports.toArray = toArray; +/** + * Fixes timestamp to be ISO-8601. Swaps the space between the date and time for a 'T' + * See https://github.com/supabase/supabase/issues/18 + * + * @example toTimestampString('2019-09-10 00:00:00') + * //=> '2019-09-10T00:00:00' + */ +const toTimestampString = (value) => { + if (typeof value === 'string') { + return value.replace(' ', 'T'); + } + return value; +}; +exports.toTimestampString = toTimestampString; +const httpEndpointURL = (socketUrl) => { + let url = socketUrl; + url = url.replace(/^ws/i, 'http'); + url = url.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i, ''); + return url.replace(/\/+$/, '') + '/api/broadcast'; +}; +exports.httpEndpointURL = httpEndpointURL; +//# sourceMappingURL=transformers.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/version.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/version.js new file mode 100644 index 00000000..84f26df7 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/version.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.version = void 0; +exports.version = '2.15.1'; +//# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/websocket-factory.js b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/websocket-factory.js new file mode 100644 index 00000000..2bd116f4 --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/dist/main/lib/websocket-factory.js @@ -0,0 +1,95 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WebSocketFactory = void 0; +class WebSocketFactory { + static detectEnvironment() { + var _a; + if (typeof WebSocket !== 'undefined') { + return { type: 'native', constructor: WebSocket }; + } + if (typeof globalThis !== 'undefined' && + typeof globalThis.WebSocket !== 'undefined') { + return { type: 'native', constructor: globalThis.WebSocket }; + } + if (typeof global !== 'undefined' && + typeof global.WebSocket !== 'undefined') { + return { type: 'native', constructor: global.WebSocket }; + } + if (typeof globalThis !== 'undefined' && + typeof globalThis.WebSocketPair !== 'undefined' && + typeof globalThis.WebSocket === 'undefined') { + return { + type: 'cloudflare', + error: 'Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.', + workaround: 'Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.', + }; + } + if ((typeof globalThis !== 'undefined' && globalThis.EdgeRuntime) || + (typeof navigator !== 'undefined' && + ((_a = navigator.userAgent) === null || _a === void 0 ? void 0 : _a.includes('Vercel-Edge')))) { + return { + type: 'unsupported', + error: 'Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.', + workaround: 'Use serverless functions or a different deployment target for WebSocket functionality.', + }; + } + if (typeof process !== 'undefined' && + process.versions && + process.versions.node) { + const nodeVersion = parseInt(process.versions.node.split('.')[0]); + // Node.js 22+ should have native WebSocket + if (nodeVersion >= 22) { + // Check if native WebSocket is available (should be in Node.js 22+) + if (typeof globalThis.WebSocket !== 'undefined') { + return { type: 'native', constructor: globalThis.WebSocket }; + } + // If not available, user needs to provide it + return { + type: 'unsupported', + error: `Node.js ${nodeVersion} detected but native WebSocket not found.`, + workaround: 'Provide a WebSocket implementation via the transport option.', + }; + } + // Node.js < 22 doesn't have native WebSocket + return { + type: 'unsupported', + error: `Node.js ${nodeVersion} detected without native WebSocket support.`, + workaround: 'For Node.js < 22, install "ws" package and provide it via the transport option:\n' + + 'import ws from "ws"\n' + + 'new RealtimeClient(url, { transport: ws })', + }; + } + return { + type: 'unsupported', + error: 'Unknown JavaScript runtime without WebSocket support.', + workaround: "Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.", + }; + } + static getWebSocketConstructor() { + const env = this.detectEnvironment(); + if (env.constructor) { + return env.constructor; + } + let errorMessage = env.error || 'WebSocket not supported in this environment.'; + if (env.workaround) { + errorMessage += `\n\nSuggested solution: ${env.workaround}`; + } + throw new Error(errorMessage); + } + static createWebSocket(url, protocols) { + const WS = this.getWebSocketConstructor(); + return new WS(url, protocols); + } + static isWebSocketSupported() { + try { + const env = this.detectEnvironment(); + return env.type === 'native' || env.type === 'ws'; + } + catch (_a) { + return false; + } + } +} +exports.WebSocketFactory = WebSocketFactory; +exports.default = WebSocketFactory; +//# sourceMappingURL=websocket-factory.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/realtime-js/package.json b/.output/server/node_modules/@supabase/realtime-js/package.json new file mode 100644 index 00000000..c3ef3fbd --- /dev/null +++ b/.output/server/node_modules/@supabase/realtime-js/package.json @@ -0,0 +1,65 @@ +{ + "name": "@supabase/realtime-js", + "version": "2.15.1", + "description": "Listen to realtime updates to your PostgreSQL database", + "keywords": [ + "realtime", + "phoenix", + "elixir", + "javascript", + "typescript", + "firebase", + "supabase" + ], + "homepage": "https://github.com/supabase/realtime-js", + "bugs": "https://github.com/supabase/realtime-js/issues", + "files": [ + "dist", + "src" + ], + "main": "dist/main/index.js", + "module": "dist/module/index.js", + "types": "dist/module/index.d.ts", + "repository": "https://github.com/supabase/realtime-js", + "author": "Supabase", + "license": "MIT", + "scripts": { + "clean": "rimraf dist docs/v2", + "format": "prettier --write \"{src,test}/**/*.ts\"", + "build": "run-s clean format build:*", + "build:main": "tsc -p tsconfig.json", + "build:module": "tsc -p tsconfig.module.json", + "test": "vitest run", + "test:watch": "vitest", + "coverage": "vitest run --coverage", + "coverage:text": "vitest run --coverage.enabled true --coverage.reporter=text", + "docs": "typedoc src/index.ts --out docs/v2", + "docs:json": "typedoc --json docs/v2/spec.json --excludeExternals src/index.ts", + "check-exports": "attw --pack .", + "ci": "run-s test coverage" + }, + "dependencies": { + "@supabase/node-fetch": "^2.6.13", + "@types/phoenix": "^1.6.6", + "ws": "^8.18.2", + "@types/ws": "^8.18.1" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.16.4", + "@vitest/coverage-v8": "^3.1.4", + "eslint": "^9.27.0", + "esm": "^3.2.25", + "jsdom": "^16.7.0", + "jsdom-global": "3.0.0", + "jsonwebtoken": "^9.0.2", + "mock-socket": "^9.3.1", + "npm-run-all": "^4.1.5", + "nyc": "^15.1.0", + "prettier": "^2.8.8", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "typedoc": "^0.27.9", + "typescript": "^5.8.3", + "vitest": "^3.1.4", + "web-worker": "1.2.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/StorageClient.js b/.output/server/node_modules/@supabase/storage-js/dist/main/StorageClient.js new file mode 100644 index 00000000..41c280e7 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/StorageClient.js @@ -0,0 +1,23 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageClient = void 0; +const StorageFileApi_1 = __importDefault(require("./packages/StorageFileApi")); +const StorageBucketApi_1 = __importDefault(require("./packages/StorageBucketApi")); +class StorageClient extends StorageBucketApi_1.default { + constructor(url, headers = {}, fetch, opts) { + super(url, headers, fetch, opts); + } + /** + * Perform file operation in a bucket. + * + * @param id The bucket id to operate on. + */ + from(id) { + return new StorageFileApi_1.default(this.url, this.headers, id, this.fetch); + } +} +exports.StorageClient = StorageClient; +//# sourceMappingURL=StorageClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/index.js b/.output/server/node_modules/@supabase/storage-js/dist/main/index.js new file mode 100644 index 00000000..5bab9579 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/index.js @@ -0,0 +1,22 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageClient = void 0; +var StorageClient_1 = require("./StorageClient"); +Object.defineProperty(exports, "StorageClient", { enumerable: true, get: function () { return StorageClient_1.StorageClient; } }); +__exportStar(require("./lib/types"), exports); +__exportStar(require("./lib/errors"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/constants.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/constants.js new file mode 100644 index 00000000..b6be8866 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/constants.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_HEADERS = void 0; +const version_1 = require("./version"); +exports.DEFAULT_HEADERS = { 'X-Client-Info': `storage-js/${version_1.version}` }; +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/errors.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/errors.js new file mode 100644 index 00000000..e764dee7 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/errors.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageUnknownError = exports.StorageApiError = exports.isStorageError = exports.StorageError = void 0; +class StorageError extends Error { + constructor(message) { + super(message); + this.__isStorageError = true; + this.name = 'StorageError'; + } +} +exports.StorageError = StorageError; +function isStorageError(error) { + return typeof error === 'object' && error !== null && '__isStorageError' in error; +} +exports.isStorageError = isStorageError; +class StorageApiError extends StorageError { + constructor(message, status, statusCode) { + super(message); + this.name = 'StorageApiError'; + this.status = status; + this.statusCode = statusCode; + } + toJSON() { + return { + name: this.name, + message: this.message, + status: this.status, + statusCode: this.statusCode, + }; + } +} +exports.StorageApiError = StorageApiError; +class StorageUnknownError extends StorageError { + constructor(message, originalError) { + super(message); + this.name = 'StorageUnknownError'; + this.originalError = originalError; + } +} +exports.StorageUnknownError = StorageUnknownError; +//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/fetch.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/fetch.js new file mode 100644 index 00000000..e52782b2 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/fetch.js @@ -0,0 +1,97 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.remove = exports.head = exports.put = exports.post = exports.get = void 0; +const errors_1 = require("./errors"); +const helpers_1 = require("./helpers"); +const _getErrorMessage = (err) => err.msg || err.message || err.error_description || err.error || JSON.stringify(err); +const handleError = (error, reject, options) => __awaiter(void 0, void 0, void 0, function* () { + const Res = yield (0, helpers_1.resolveResponse)(); + if (error instanceof Res && !(options === null || options === void 0 ? void 0 : options.noResolveJson)) { + error + .json() + .then((err) => { + const status = error.status || 500; + const statusCode = (err === null || err === void 0 ? void 0 : err.statusCode) || status + ''; + reject(new errors_1.StorageApiError(_getErrorMessage(err), status, statusCode)); + }) + .catch((err) => { + reject(new errors_1.StorageUnknownError(_getErrorMessage(err), err)); + }); + } + else { + reject(new errors_1.StorageUnknownError(_getErrorMessage(error), error)); + } +}); +const _getRequestParams = (method, options, parameters, body) => { + const params = { method, headers: (options === null || options === void 0 ? void 0 : options.headers) || {} }; + if (method === 'GET' || !body) { + return params; + } + if ((0, helpers_1.isPlainObject)(body)) { + params.headers = Object.assign({ 'Content-Type': 'application/json' }, options === null || options === void 0 ? void 0 : options.headers); + params.body = JSON.stringify(body); + } + else { + params.body = body; + } + if (options === null || options === void 0 ? void 0 : options.duplex) { + params.duplex = options.duplex; + } + return Object.assign(Object.assign({}, params), parameters); +}; +function _handleRequest(fetcher, method, url, options, parameters, body) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + fetcher(url, _getRequestParams(method, options, parameters, body)) + .then((result) => { + if (!result.ok) + throw result; + if (options === null || options === void 0 ? void 0 : options.noResolveJson) + return result; + return result.json(); + }) + .then((data) => resolve(data)) + .catch((error) => handleError(error, reject, options)); + }); + }); +} +function get(fetcher, url, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + return _handleRequest(fetcher, 'GET', url, options, parameters); + }); +} +exports.get = get; +function post(fetcher, url, body, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + return _handleRequest(fetcher, 'POST', url, options, parameters, body); + }); +} +exports.post = post; +function put(fetcher, url, body, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + return _handleRequest(fetcher, 'PUT', url, options, parameters, body); + }); +} +exports.put = put; +function head(fetcher, url, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + return _handleRequest(fetcher, 'HEAD', url, Object.assign(Object.assign({}, options), { noResolveJson: true }), parameters); + }); +} +exports.head = head; +function remove(fetcher, url, body, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + return _handleRequest(fetcher, 'DELETE', url, options, parameters, body); + }); +} +exports.remove = remove; +//# sourceMappingURL=fetch.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/helpers.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/helpers.js new file mode 100644 index 00000000..cdcee3d8 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/helpers.js @@ -0,0 +1,90 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isPlainObject = exports.recursiveToCamel = exports.resolveResponse = exports.resolveFetch = void 0; +const resolveFetch = (customFetch) => { + let _fetch; + if (customFetch) { + _fetch = customFetch; + } + else if (typeof fetch === 'undefined') { + _fetch = (...args) => Promise.resolve().then(() => __importStar(require('@supabase/node-fetch'))).then(({ default: fetch }) => fetch(...args)); + } + else { + _fetch = fetch; + } + return (...args) => _fetch(...args); +}; +exports.resolveFetch = resolveFetch; +const resolveResponse = () => __awaiter(void 0, void 0, void 0, function* () { + if (typeof Response === 'undefined') { + // @ts-ignore + return (yield Promise.resolve().then(() => __importStar(require('@supabase/node-fetch')))).Response; + } + return Response; +}); +exports.resolveResponse = resolveResponse; +const recursiveToCamel = (item) => { + if (Array.isArray(item)) { + return item.map((el) => (0, exports.recursiveToCamel)(el)); + } + else if (typeof item === 'function' || item !== Object(item)) { + return item; + } + const result = {}; + Object.entries(item).forEach(([key, value]) => { + const newKey = key.replace(/([-_][a-z])/gi, (c) => c.toUpperCase().replace(/[-_]/g, '')); + result[newKey] = (0, exports.recursiveToCamel)(value); + }); + return result; +}; +exports.recursiveToCamel = recursiveToCamel; +/** + * Determine if input is a plain object + * An object is plain if it's created by either {}, new Object(), or Object.create(null) + * source: https://github.com/sindresorhus/is-plain-obj + */ +const isPlainObject = (value) => { + if (typeof value !== 'object' || value === null) { + return false; + } + const prototype = Object.getPrototypeOf(value); + return ((prototype === null || + prototype === Object.prototype || + Object.getPrototypeOf(prototype) === null) && + !(Symbol.toStringTag in value) && + !(Symbol.iterator in value)); +}; +exports.isPlainObject = isPlainObject; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/types.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/types.js new file mode 100644 index 00000000..11e638d1 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/lib/version.js b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/version.js new file mode 100644 index 00000000..244bcd6b --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/lib/version.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.version = void 0; +// generated by genversion +exports.version = '2.11.0'; +//# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageBucketApi.js b/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageBucketApi.js new file mode 100644 index 00000000..548f9e6c --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageBucketApi.js @@ -0,0 +1,178 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const constants_1 = require("../lib/constants"); +const errors_1 = require("../lib/errors"); +const fetch_1 = require("../lib/fetch"); +const helpers_1 = require("../lib/helpers"); +class StorageBucketApi { + constructor(url, headers = {}, fetch, opts) { + const baseUrl = new URL(url); + // if legacy uri is used, replace with new storage host (disables request buffering to allow > 50GB uploads) + // "project-ref.supabase.co" becomes "project-ref.storage.supabase.co" + if (opts === null || opts === void 0 ? void 0 : opts.useNewHostname) { + const isSupabaseHost = /supabase\.(co|in|red)$/.test(baseUrl.hostname); + if (isSupabaseHost && !baseUrl.hostname.includes('storage.supabase.')) { + baseUrl.hostname = baseUrl.hostname.replace('supabase.', 'storage.supabase.'); + } + } + this.url = baseUrl.href; + this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), headers); + this.fetch = (0, helpers_1.resolveFetch)(fetch); + } + /** + * Retrieves the details of all Storage buckets within an existing project. + */ + listBuckets() { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.get)(this.fetch, `${this.url}/bucket`, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Retrieves the details of an existing Storage bucket. + * + * @param id The unique identifier of the bucket you would like to retrieve. + */ + getBucket(id) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.get)(this.fetch, `${this.url}/bucket/${id}`, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Creates a new Storage bucket + * + * @param id A unique identifier for the bucket you are creating. + * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private. + * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket. + * The global file size limit takes precedence over this value. + * The default value is null, which doesn't set a per bucket file size limit. + * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload. + * The default value is null, which allows files with all mime types to be uploaded. + * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png. + * @returns newly created bucket id + * @param options.type (private-beta) specifies the bucket type. see `BucketType` for more details. + * - default bucket type is `STANDARD` + */ + createBucket(id, options = { + public: false, + }) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/bucket`, { + id, + name: id, + type: options.type, + public: options.public, + file_size_limit: options.fileSizeLimit, + allowed_mime_types: options.allowedMimeTypes, + }, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Updates a Storage bucket + * + * @param id A unique identifier for the bucket you are updating. + * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. + * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket. + * The global file size limit takes precedence over this value. + * The default value is null, which doesn't set a per bucket file size limit. + * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload. + * The default value is null, which allows files with all mime types to be uploaded. + * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png. + */ + updateBucket(id, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.put)(this.fetch, `${this.url}/bucket/${id}`, { + id, + name: id, + public: options.public, + file_size_limit: options.fileSizeLimit, + allowed_mime_types: options.allowedMimeTypes, + }, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Removes all objects inside a single bucket. + * + * @param id The unique identifier of the bucket you would like to empty. + */ + emptyBucket(id) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/bucket/${id}/empty`, {}, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Deletes an existing bucket. A bucket can't be deleted with existing objects inside it. + * You must first `empty()` the bucket. + * + * @param id The unique identifier of the bucket you would like to delete. + */ + deleteBucket(id) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.remove)(this.fetch, `${this.url}/bucket/${id}`, {}, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } +} +exports.default = StorageBucketApi; +//# sourceMappingURL=StorageBucketApi.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageFileApi.js b/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageFileApi.js new file mode 100644 index 00000000..c70374d2 --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/dist/main/packages/StorageFileApi.js @@ -0,0 +1,556 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const errors_1 = require("../lib/errors"); +const fetch_1 = require("../lib/fetch"); +const helpers_1 = require("../lib/helpers"); +const DEFAULT_SEARCH_OPTIONS = { + limit: 100, + offset: 0, + sortBy: { + column: 'name', + order: 'asc', + }, +}; +const DEFAULT_FILE_OPTIONS = { + cacheControl: '3600', + contentType: 'text/plain;charset=UTF-8', + upsert: false, +}; +class StorageFileApi { + constructor(url, headers = {}, bucketId, fetch) { + this.url = url; + this.headers = headers; + this.bucketId = bucketId; + this.fetch = (0, helpers_1.resolveFetch)(fetch); + } + /** + * Uploads a file to an existing bucket or replaces an existing file at the specified path with a new one. + * + * @param method HTTP method. + * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. + * @param fileBody The body of the file to be stored in the bucket. + */ + uploadOrUpdate(method, path, fileBody, fileOptions) { + return __awaiter(this, void 0, void 0, function* () { + try { + let body; + const options = Object.assign(Object.assign({}, DEFAULT_FILE_OPTIONS), fileOptions); + let headers = Object.assign(Object.assign({}, this.headers), (method === 'POST' && { 'x-upsert': String(options.upsert) })); + const metadata = options.metadata; + if (typeof Blob !== 'undefined' && fileBody instanceof Blob) { + body = new FormData(); + body.append('cacheControl', options.cacheControl); + if (metadata) { + body.append('metadata', this.encodeMetadata(metadata)); + } + body.append('', fileBody); + } + else if (typeof FormData !== 'undefined' && fileBody instanceof FormData) { + body = fileBody; + body.append('cacheControl', options.cacheControl); + if (metadata) { + body.append('metadata', this.encodeMetadata(metadata)); + } + } + else { + body = fileBody; + headers['cache-control'] = `max-age=${options.cacheControl}`; + headers['content-type'] = options.contentType; + if (metadata) { + headers['x-metadata'] = this.toBase64(this.encodeMetadata(metadata)); + } + } + if (fileOptions === null || fileOptions === void 0 ? void 0 : fileOptions.headers) { + headers = Object.assign(Object.assign({}, headers), fileOptions.headers); + } + const cleanPath = this._removeEmptyFolders(path); + const _path = this._getFinalPath(cleanPath); + const data = yield (method == 'PUT' ? fetch_1.put : fetch_1.post)(this.fetch, `${this.url}/object/${_path}`, body, Object.assign({ headers }, ((options === null || options === void 0 ? void 0 : options.duplex) ? { duplex: options.duplex } : {}))); + return { + data: { path: cleanPath, id: data.Id, fullPath: data.Key }, + error: null, + }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Uploads a file to an existing bucket. + * + * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. + * @param fileBody The body of the file to be stored in the bucket. + */ + upload(path, fileBody, fileOptions) { + return __awaiter(this, void 0, void 0, function* () { + return this.uploadOrUpdate('POST', path, fileBody, fileOptions); + }); + } + /** + * Upload a file with a token generated from `createSignedUploadUrl`. + * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. + * @param token The token generated from `createSignedUploadUrl` + * @param fileBody The body of the file to be stored in the bucket. + */ + uploadToSignedUrl(path, token, fileBody, fileOptions) { + return __awaiter(this, void 0, void 0, function* () { + const cleanPath = this._removeEmptyFolders(path); + const _path = this._getFinalPath(cleanPath); + const url = new URL(this.url + `/object/upload/sign/${_path}`); + url.searchParams.set('token', token); + try { + let body; + const options = Object.assign({ upsert: DEFAULT_FILE_OPTIONS.upsert }, fileOptions); + const headers = Object.assign(Object.assign({}, this.headers), { 'x-upsert': String(options.upsert) }); + if (typeof Blob !== 'undefined' && fileBody instanceof Blob) { + body = new FormData(); + body.append('cacheControl', options.cacheControl); + body.append('', fileBody); + } + else if (typeof FormData !== 'undefined' && fileBody instanceof FormData) { + body = fileBody; + body.append('cacheControl', options.cacheControl); + } + else { + body = fileBody; + headers['cache-control'] = `max-age=${options.cacheControl}`; + headers['content-type'] = options.contentType; + } + const data = yield (0, fetch_1.put)(this.fetch, url.toString(), body, { headers }); + return { + data: { path: cleanPath, fullPath: data.Key }, + error: null, + }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Creates a signed upload URL. + * Signed upload URLs can be used to upload files to the bucket without further authentication. + * They are valid for 2 hours. + * @param path The file path, including the current file name. For example `folder/image.png`. + * @param options.upsert If set to true, allows the file to be overwritten if it already exists. + */ + createSignedUploadUrl(path, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + let _path = this._getFinalPath(path); + const headers = Object.assign({}, this.headers); + if (options === null || options === void 0 ? void 0 : options.upsert) { + headers['x-upsert'] = 'true'; + } + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/upload/sign/${_path}`, {}, { headers }); + const url = new URL(this.url + data.url); + const token = url.searchParams.get('token'); + if (!token) { + throw new errors_1.StorageError('No token returned by API'); + } + return { data: { signedUrl: url.toString(), path, token }, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Replaces an existing file at the specified path with a new one. + * + * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update. + * @param fileBody The body of the file to be stored in the bucket. + */ + update(path, fileBody, fileOptions) { + return __awaiter(this, void 0, void 0, function* () { + return this.uploadOrUpdate('PUT', path, fileBody, fileOptions); + }); + } + /** + * Moves an existing file to a new path in the same bucket. + * + * @param fromPath The original file path, including the current file name. For example `folder/image.png`. + * @param toPath The new file path, including the new file name. For example `folder/image-new.png`. + * @param options The destination options. + */ + move(fromPath, toPath, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/move`, { + bucketId: this.bucketId, + sourceKey: fromPath, + destinationKey: toPath, + destinationBucket: options === null || options === void 0 ? void 0 : options.destinationBucket, + }, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Copies an existing file to a new path in the same bucket. + * + * @param fromPath The original file path, including the current file name. For example `folder/image.png`. + * @param toPath The new file path, including the new file name. For example `folder/image-copy.png`. + * @param options The destination options. + */ + copy(fromPath, toPath, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/copy`, { + bucketId: this.bucketId, + sourceKey: fromPath, + destinationKey: toPath, + destinationBucket: options === null || options === void 0 ? void 0 : options.destinationBucket, + }, { headers: this.headers }); + return { data: { path: data.Key }, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Creates a signed URL. Use a signed URL to share a file for a fixed amount of time. + * + * @param path The file path, including the current file name. For example `folder/image.png`. + * @param expiresIn The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute. + * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. + * @param options.transform Transform the asset before serving it to the client. + */ + createSignedUrl(path, expiresIn, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + let _path = this._getFinalPath(path); + let data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/sign/${_path}`, Object.assign({ expiresIn }, ((options === null || options === void 0 ? void 0 : options.transform) ? { transform: options.transform } : {})), { headers: this.headers }); + const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) + ? `&download=${options.download === true ? '' : options.download}` + : ''; + const signedUrl = encodeURI(`${this.url}${data.signedURL}${downloadQueryParam}`); + data = { signedUrl }; + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time. + * + * @param paths The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`. + * @param expiresIn The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute. + * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. + */ + createSignedUrls(paths, expiresIn, options) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/sign/${this.bucketId}`, { expiresIn, paths }, { headers: this.headers }); + const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) + ? `&download=${options.download === true ? '' : options.download}` + : ''; + return { + data: data.map((datum) => (Object.assign(Object.assign({}, datum), { signedUrl: datum.signedURL + ? encodeURI(`${this.url}${datum.signedURL}${downloadQueryParam}`) + : null }))), + error: null, + }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead. + * + * @param path The full path and file name of the file to be downloaded. For example `folder/image.png`. + * @param options.transform Transform the asset before serving it to the client. + */ + download(path, options) { + return __awaiter(this, void 0, void 0, function* () { + const wantsTransformation = typeof (options === null || options === void 0 ? void 0 : options.transform) !== 'undefined'; + const renderPath = wantsTransformation ? 'render/image/authenticated' : 'object'; + const transformationQuery = this.transformOptsToQueryString((options === null || options === void 0 ? void 0 : options.transform) || {}); + const queryString = transformationQuery ? `?${transformationQuery}` : ''; + try { + const _path = this._getFinalPath(path); + const res = yield (0, fetch_1.get)(this.fetch, `${this.url}/${renderPath}/${_path}${queryString}`, { + headers: this.headers, + noResolveJson: true, + }); + const data = yield res.blob(); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Retrieves the details of an existing file. + * @param path + */ + info(path) { + return __awaiter(this, void 0, void 0, function* () { + const _path = this._getFinalPath(path); + try { + const data = yield (0, fetch_1.get)(this.fetch, `${this.url}/object/info/${_path}`, { + headers: this.headers, + }); + return { data: (0, helpers_1.recursiveToCamel)(data), error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Checks the existence of a file. + * @param path + */ + exists(path) { + return __awaiter(this, void 0, void 0, function* () { + const _path = this._getFinalPath(path); + try { + yield (0, fetch_1.head)(this.fetch, `${this.url}/object/${_path}`, { + headers: this.headers, + }); + return { data: true, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error) && error instanceof errors_1.StorageUnknownError) { + const originalError = error.originalError; + if ([400, 404].includes(originalError === null || originalError === void 0 ? void 0 : originalError.status)) { + return { data: false, error }; + } + } + throw error; + } + }); + } + /** + * A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset. + * This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset. + * + * @param path The path and name of the file to generate the public URL for. For example `folder/image.png`. + * @param options.download Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. + * @param options.transform Transform the asset before serving it to the client. + */ + getPublicUrl(path, options) { + const _path = this._getFinalPath(path); + const _queryString = []; + const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) + ? `download=${options.download === true ? '' : options.download}` + : ''; + if (downloadQueryParam !== '') { + _queryString.push(downloadQueryParam); + } + const wantsTransformation = typeof (options === null || options === void 0 ? void 0 : options.transform) !== 'undefined'; + const renderPath = wantsTransformation ? 'render/image' : 'object'; + const transformationQuery = this.transformOptsToQueryString((options === null || options === void 0 ? void 0 : options.transform) || {}); + if (transformationQuery !== '') { + _queryString.push(transformationQuery); + } + let queryString = _queryString.join('&'); + if (queryString !== '') { + queryString = `?${queryString}`; + } + return { + data: { publicUrl: encodeURI(`${this.url}/${renderPath}/public/${_path}${queryString}`) }, + }; + } + /** + * Deletes files within the same bucket + * + * @param paths An array of files to delete, including the path and file name. For example [`'folder/image.png'`]. + */ + remove(paths) { + return __awaiter(this, void 0, void 0, function* () { + try { + const data = yield (0, fetch_1.remove)(this.fetch, `${this.url}/object/${this.bucketId}`, { prefixes: paths }, { headers: this.headers }); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * Get file metadata + * @param id the file id to retrieve metadata + */ + // async getMetadata( + // id: string + // ): Promise< + // | { + // data: Metadata + // error: null + // } + // | { + // data: null + // error: StorageError + // } + // > { + // try { + // const data = await get(this.fetch, `${this.url}/metadata/${id}`, { headers: this.headers }) + // return { data, error: null } + // } catch (error) { + // if (isStorageError(error)) { + // return { data: null, error } + // } + // throw error + // } + // } + /** + * Update file metadata + * @param id the file id to update metadata + * @param meta the new file metadata + */ + // async updateMetadata( + // id: string, + // meta: Metadata + // ): Promise< + // | { + // data: Metadata + // error: null + // } + // | { + // data: null + // error: StorageError + // } + // > { + // try { + // const data = await post( + // this.fetch, + // `${this.url}/metadata/${id}`, + // { ...meta }, + // { headers: this.headers } + // ) + // return { data, error: null } + // } catch (error) { + // if (isStorageError(error)) { + // return { data: null, error } + // } + // throw error + // } + // } + /** + * Lists all the files within a bucket. + * @param path The folder path. + * @param options Search options including limit (defaults to 100), offset, sortBy, and search + */ + list(path, options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + try { + const body = Object.assign(Object.assign(Object.assign({}, DEFAULT_SEARCH_OPTIONS), options), { prefix: path || '' }); + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/list/${this.bucketId}`, body, { headers: this.headers }, parameters); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + /** + * @experimental this method signature might change in the future + * @param options search options + * @param parameters + */ + listV2(options, parameters) { + return __awaiter(this, void 0, void 0, function* () { + try { + const body = Object.assign({}, options); + const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/list-v2/${this.bucketId}`, body, { headers: this.headers }, parameters); + return { data, error: null }; + } + catch (error) { + if ((0, errors_1.isStorageError)(error)) { + return { data: null, error }; + } + throw error; + } + }); + } + encodeMetadata(metadata) { + return JSON.stringify(metadata); + } + toBase64(data) { + if (typeof Buffer !== 'undefined') { + return Buffer.from(data).toString('base64'); + } + return btoa(data); + } + _getFinalPath(path) { + return `${this.bucketId}/${path.replace(/^\/+/, '')}`; + } + _removeEmptyFolders(path) { + return path.replace(/^\/|\/$/g, '').replace(/\/+/g, '/'); + } + transformOptsToQueryString(transform) { + const params = []; + if (transform.width) { + params.push(`width=${transform.width}`); + } + if (transform.height) { + params.push(`height=${transform.height}`); + } + if (transform.resize) { + params.push(`resize=${transform.resize}`); + } + if (transform.format) { + params.push(`format=${transform.format}`); + } + if (transform.quality) { + params.push(`quality=${transform.quality}`); + } + return params.join('&'); + } +} +exports.default = StorageFileApi; +//# sourceMappingURL=StorageFileApi.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/storage-js/package.json b/.output/server/node_modules/@supabase/storage-js/package.json new file mode 100644 index 00000000..dd58864e --- /dev/null +++ b/.output/server/node_modules/@supabase/storage-js/package.json @@ -0,0 +1,70 @@ +{ + "name": "@supabase/storage-js", + "version": "2.11.0", + "description": "Isomorphic storage client for Supabase.", + "keywords": [ + "javascript", + "typescript", + "supabase" + ], + "homepage": "https://github.com/supabase/storage-js", + "bugs": "https://github.com/supabase/storage-js/issues", + "license": "MIT", + "author": "Supabase", + "files": [ + "dist", + "src" + ], + "main": "dist/main/index.js", + "module": "dist/module/index.js", + "types": "dist/module/index.d.ts", + "sideEffects": false, + "repository": "supabase/storage-js", + "scripts": { + "clean": "rimraf dist docs/v2", + "format": "prettier --write \"{src,test}/**/*.ts\"", + "build": "genversion src/lib/version.ts --es6 && run-s clean format build:*", + "build:main": "tsc -p tsconfig.json", + "build:module": "tsc -p tsconfig.module.json", + "build:umd": "webpack", + "types-generate": "dts-gen -m '@supabase/storage-js' -s", + "test": "run-s test:clean test:infra test:suite test:clean", + "test:suite": "jest --runInBand --coverage", + "test:infra": "cd infra && docker compose down && docker compose up -d --build && sleep 10", + "test:clean": "cd infra && docker compose down --remove-orphans", + "docs": "typedoc --entryPoints src/index.ts --out docs/v2 --entryPoints src/packages/* --excludePrivate --excludeProtected", + "docs:json": "typedoc --json docs/v2/spec.json --entryPoints src/index.ts --entryPoints src/packages/* --excludePrivate --excludeExternals --excludeProtected" + }, + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + }, + "devDependencies": { + "@types/jest": "^26.0.13", + "form-data": "^4.0.0", + "genversion": "^3.0.1", + "husky": "^4.3.0", + "jest": "^29.0.0", + "jest-environment-jsdom": "^29.5.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.1.2", + "pretty-quick": "^3.1.0", + "rimraf": "^3.0.2", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "ts-jest": "^29.0.0", + "ts-loader": "^9.4.2", + "typedoc": "^0.22.16", + "typescript": "^4.6.3", + "webpack": "^5.75.0", + "webpack-cli": "^5.0.1" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged" + } + }, + "jsdelivr": "dist/umd/supabase.js", + "unpkg": "dist/umd/supabase.js", + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/SupabaseClient.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/SupabaseClient.js new file mode 100644 index 00000000..ba134270 --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/SupabaseClient.js @@ -0,0 +1,229 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const functions_js_1 = require("@supabase/functions-js"); +const postgrest_js_1 = require("@supabase/postgrest-js"); +const realtime_js_1 = require("@supabase/realtime-js"); +const storage_js_1 = require("@supabase/storage-js"); +const constants_1 = require("./lib/constants"); +const fetch_1 = require("./lib/fetch"); +const helpers_1 = require("./lib/helpers"); +const SupabaseAuthClient_1 = require("./lib/SupabaseAuthClient"); +/** + * Supabase Client. + * + * An isomorphic Javascript client for interacting with Postgres. + */ +class SupabaseClient { + /** + * Create a new client for use in the browser. + * @param supabaseUrl The unique Supabase URL which is supplied when you create a new project in your project dashboard. + * @param supabaseKey The unique Supabase Key which is supplied when you create a new project in your project dashboard. + * @param options.db.schema You can switch in between schemas. The schema needs to be on the list of exposed schemas inside Supabase. + * @param options.auth.autoRefreshToken Set to "true" if you want to automatically refresh the token before expiring. + * @param options.auth.persistSession Set to "true" if you want to automatically save the user session into local storage. + * @param options.auth.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user. + * @param options.realtime Options passed along to realtime-js constructor. + * @param options.storage Options passed along to the storage-js constructor. + * @param options.global.fetch A custom fetch implementation. + * @param options.global.headers Any additional headers to send with each network request. + */ + constructor(supabaseUrl, supabaseKey, options) { + var _a, _b, _c; + this.supabaseUrl = supabaseUrl; + this.supabaseKey = supabaseKey; + if (!supabaseUrl) + throw new Error('supabaseUrl is required.'); + if (!supabaseKey) + throw new Error('supabaseKey is required.'); + const _supabaseUrl = (0, helpers_1.ensureTrailingSlash)(supabaseUrl); + const baseUrl = new URL(_supabaseUrl); + this.realtimeUrl = new URL('realtime/v1', baseUrl); + this.realtimeUrl.protocol = this.realtimeUrl.protocol.replace('http', 'ws'); + this.authUrl = new URL('auth/v1', baseUrl); + this.storageUrl = new URL('storage/v1', baseUrl); + this.functionsUrl = new URL('functions/v1', baseUrl); + // default storage key uses the supabase project ref as a namespace + const defaultStorageKey = `sb-${baseUrl.hostname.split('.')[0]}-auth-token`; + const DEFAULTS = { + db: constants_1.DEFAULT_DB_OPTIONS, + realtime: constants_1.DEFAULT_REALTIME_OPTIONS, + auth: Object.assign(Object.assign({}, constants_1.DEFAULT_AUTH_OPTIONS), { storageKey: defaultStorageKey }), + global: constants_1.DEFAULT_GLOBAL_OPTIONS, + }; + const settings = (0, helpers_1.applySettingDefaults)(options !== null && options !== void 0 ? options : {}, DEFAULTS); + this.storageKey = (_a = settings.auth.storageKey) !== null && _a !== void 0 ? _a : ''; + this.headers = (_b = settings.global.headers) !== null && _b !== void 0 ? _b : {}; + if (!settings.accessToken) { + this.auth = this._initSupabaseAuthClient((_c = settings.auth) !== null && _c !== void 0 ? _c : {}, this.headers, settings.global.fetch); + } + else { + this.accessToken = settings.accessToken; + this.auth = new Proxy({}, { + get: (_, prop) => { + throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(prop)} is not possible`); + }, + }); + } + this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), settings.global.fetch); + this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers, accessToken: this._getAccessToken.bind(this) }, settings.realtime)); + this.rest = new postgrest_js_1.PostgrestClient(new URL('rest/v1', baseUrl).href, { + headers: this.headers, + schema: settings.db.schema, + fetch: this.fetch, + }); + this.storage = new storage_js_1.StorageClient(this.storageUrl.href, this.headers, this.fetch, options === null || options === void 0 ? void 0 : options.storage); + if (!settings.accessToken) { + this._listenForAuthEvents(); + } + } + /** + * Supabase Functions allows you to deploy and invoke edge functions. + */ + get functions() { + return new functions_js_1.FunctionsClient(this.functionsUrl.href, { + headers: this.headers, + customFetch: this.fetch, + }); + } + /** + * Perform a query on a table or a view. + * + * @param relation - The table or view name to query + */ + from(relation) { + return this.rest.from(relation); + } + // NOTE: signatures must be kept in sync with PostgrestClient.schema + /** + * Select a schema to query or perform an function (rpc) call. + * + * The schema needs to be on the list of exposed schemas inside Supabase. + * + * @param schema - The schema to query + */ + schema(schema) { + return this.rest.schema(schema); + } + // NOTE: signatures must be kept in sync with PostgrestClient.rpc + /** + * Perform a function call. + * + * @param fn - The function name to call + * @param args - The arguments to pass to the function call + * @param options - Named parameters + * @param options.head - When set to `true`, `data` will not be returned. + * Useful if you only need the count. + * @param options.get - When set to `true`, the function will be called with + * read-only access mode. + * @param options.count - Count algorithm to use to count rows returned by the + * function. Only applicable for [set-returning + * functions](https://www.postgresql.org/docs/current/functions-srf.html). + * + * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the + * hood. + * + * `"planned"`: Approximated but fast count algorithm. Uses the Postgres + * statistics under the hood. + * + * `"estimated"`: Uses exact count for low numbers and planned count for high + * numbers. + */ + rpc(fn, args = {}, options = {}) { + return this.rest.rpc(fn, args, options); + } + /** + * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes. + * + * @param {string} name - The name of the Realtime channel. + * @param {Object} opts - The options to pass to the Realtime channel. + * + */ + channel(name, opts = { config: {} }) { + return this.realtime.channel(name, opts); + } + /** + * Returns all Realtime channels. + */ + getChannels() { + return this.realtime.getChannels(); + } + /** + * Unsubscribes and removes Realtime channel from Realtime client. + * + * @param {RealtimeChannel} channel - The name of the Realtime channel. + * + */ + removeChannel(channel) { + return this.realtime.removeChannel(channel); + } + /** + * Unsubscribes and removes all Realtime channels from Realtime client. + */ + removeAllChannels() { + return this.realtime.removeAllChannels(); + } + _getAccessToken() { + var _a, _b; + return __awaiter(this, void 0, void 0, function* () { + if (this.accessToken) { + return yield this.accessToken(); + } + const { data } = yield this.auth.getSession(); + return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : this.supabaseKey; + }); + } + _initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, flowType, lock, debug, }, headers, fetch) { + const authHeaders = { + Authorization: `Bearer ${this.supabaseKey}`, + apikey: `${this.supabaseKey}`, + }; + return new SupabaseAuthClient_1.SupabaseAuthClient({ + url: this.authUrl.href, + headers: Object.assign(Object.assign({}, authHeaders), headers), + storageKey: storageKey, + autoRefreshToken, + persistSession, + detectSessionInUrl, + storage, + flowType, + lock, + debug, + fetch, + // auth checks if there is a custom authorizaiton header using this flag + // so it knows whether to return an error when getUser is called with no session + hasCustomAuthorizationHeader: 'Authorization' in this.headers, + }); + } + _initRealtimeClient(options) { + return new realtime_js_1.RealtimeClient(this.realtimeUrl.href, Object.assign(Object.assign({}, options), { params: Object.assign({ apikey: this.supabaseKey }, options === null || options === void 0 ? void 0 : options.params) })); + } + _listenForAuthEvents() { + let data = this.auth.onAuthStateChange((event, session) => { + this._handleTokenChanged(event, 'CLIENT', session === null || session === void 0 ? void 0 : session.access_token); + }); + return data; + } + _handleTokenChanged(event, source, token) { + if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') && + this.changedAccessToken !== token) { + this.changedAccessToken = token; + } + else if (event === 'SIGNED_OUT') { + this.realtime.setAuth(); + if (source == 'STORAGE') + this.auth.signOut(); + this.changedAccessToken = undefined; + } + } +} +exports.default = SupabaseClient; +//# sourceMappingURL=SupabaseClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/index.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/index.js new file mode 100644 index 00000000..a65d5a54 --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/index.js @@ -0,0 +1,68 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createClient = exports.SupabaseClient = exports.FunctionRegion = exports.FunctionsError = exports.FunctionsRelayError = exports.FunctionsFetchError = exports.FunctionsHttpError = exports.PostgrestError = void 0; +const SupabaseClient_1 = __importDefault(require("./SupabaseClient")); +__exportStar(require("@supabase/auth-js"), exports); +var postgrest_js_1 = require("@supabase/postgrest-js"); +Object.defineProperty(exports, "PostgrestError", { enumerable: true, get: function () { return postgrest_js_1.PostgrestError; } }); +var functions_js_1 = require("@supabase/functions-js"); +Object.defineProperty(exports, "FunctionsHttpError", { enumerable: true, get: function () { return functions_js_1.FunctionsHttpError; } }); +Object.defineProperty(exports, "FunctionsFetchError", { enumerable: true, get: function () { return functions_js_1.FunctionsFetchError; } }); +Object.defineProperty(exports, "FunctionsRelayError", { enumerable: true, get: function () { return functions_js_1.FunctionsRelayError; } }); +Object.defineProperty(exports, "FunctionsError", { enumerable: true, get: function () { return functions_js_1.FunctionsError; } }); +Object.defineProperty(exports, "FunctionRegion", { enumerable: true, get: function () { return functions_js_1.FunctionRegion; } }); +__exportStar(require("@supabase/realtime-js"), exports); +var SupabaseClient_2 = require("./SupabaseClient"); +Object.defineProperty(exports, "SupabaseClient", { enumerable: true, get: function () { return __importDefault(SupabaseClient_2).default; } }); +/** + * Creates a new Supabase Client. + */ +const createClient = (supabaseUrl, supabaseKey, options) => { + return new SupabaseClient_1.default(supabaseUrl, supabaseKey, options); +}; +exports.createClient = createClient; +// Check for Node.js <= 18 deprecation +function shouldShowDeprecationWarning() { + // Skip in browser environments + if (typeof window !== 'undefined') { + return false; + } + // Skip if process is not available (e.g., Edge Runtime) + if (typeof process === 'undefined') { + return false; + } + // Use dynamic property access to avoid Next.js Edge Runtime static analysis warnings + const processVersion = process['version']; + if (processVersion === undefined || processVersion === null) { + return false; + } + const versionMatch = processVersion.match(/^v(\d+)\./); + if (!versionMatch) { + return false; + } + const majorVersion = parseInt(versionMatch[1], 10); + return majorVersion <= 18; +} +if (shouldShowDeprecationWarning()) { + console.warn(`⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. ` + + `Please upgrade to Node.js 20 or later. ` + + `For more information, visit: https://github.com/orgs/supabase/discussions/37217`); +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/SupabaseAuthClient.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/SupabaseAuthClient.js new file mode 100644 index 00000000..9f8a94e3 --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/SupabaseAuthClient.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SupabaseAuthClient = void 0; +const auth_js_1 = require("@supabase/auth-js"); +class SupabaseAuthClient extends auth_js_1.AuthClient { + constructor(options) { + super(options); + } +} +exports.SupabaseAuthClient = SupabaseAuthClient; +//# sourceMappingURL=SupabaseAuthClient.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/constants.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/constants.js new file mode 100644 index 00000000..d3c4328f --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/constants.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_REALTIME_OPTIONS = exports.DEFAULT_AUTH_OPTIONS = exports.DEFAULT_DB_OPTIONS = exports.DEFAULT_GLOBAL_OPTIONS = exports.DEFAULT_HEADERS = void 0; +const version_1 = require("./version"); +let JS_ENV = ''; +// @ts-ignore +if (typeof Deno !== 'undefined') { + JS_ENV = 'deno'; +} +else if (typeof document !== 'undefined') { + JS_ENV = 'web'; +} +else if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { + JS_ENV = 'react-native'; +} +else { + JS_ENV = 'node'; +} +exports.DEFAULT_HEADERS = { 'X-Client-Info': `supabase-js-${JS_ENV}/${version_1.version}` }; +exports.DEFAULT_GLOBAL_OPTIONS = { + headers: exports.DEFAULT_HEADERS, +}; +exports.DEFAULT_DB_OPTIONS = { + schema: 'public', +}; +exports.DEFAULT_AUTH_OPTIONS = { + autoRefreshToken: true, + persistSession: true, + detectSessionInUrl: true, + flowType: 'implicit', +}; +exports.DEFAULT_REALTIME_OPTIONS = {}; +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/fetch.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/fetch.js new file mode 100644 index 00000000..ad8bda8c --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/fetch.js @@ -0,0 +1,76 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fetchWithAuth = exports.resolveHeadersConstructor = exports.resolveFetch = void 0; +// @ts-ignore +const node_fetch_1 = __importStar(require("@supabase/node-fetch")); +const resolveFetch = (customFetch) => { + let _fetch; + if (customFetch) { + _fetch = customFetch; + } + else if (typeof fetch === 'undefined') { + _fetch = node_fetch_1.default; + } + else { + _fetch = fetch; + } + return (...args) => _fetch(...args); +}; +exports.resolveFetch = resolveFetch; +const resolveHeadersConstructor = () => { + if (typeof Headers === 'undefined') { + return node_fetch_1.Headers; + } + return Headers; +}; +exports.resolveHeadersConstructor = resolveHeadersConstructor; +const fetchWithAuth = (supabaseKey, getAccessToken, customFetch) => { + const fetch = (0, exports.resolveFetch)(customFetch); + const HeadersConstructor = (0, exports.resolveHeadersConstructor)(); + return (input, init) => __awaiter(void 0, void 0, void 0, function* () { + var _a; + const accessToken = (_a = (yield getAccessToken())) !== null && _a !== void 0 ? _a : supabaseKey; + let headers = new HeadersConstructor(init === null || init === void 0 ? void 0 : init.headers); + if (!headers.has('apikey')) { + headers.set('apikey', supabaseKey); + } + if (!headers.has('Authorization')) { + headers.set('Authorization', `Bearer ${accessToken}`); + } + return fetch(input, Object.assign(Object.assign({}, init), { headers })); + }); +}; +exports.fetchWithAuth = fetchWithAuth; +//# sourceMappingURL=fetch.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/helpers.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/helpers.js new file mode 100644 index 00000000..659636c4 --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/helpers.js @@ -0,0 +1,48 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.applySettingDefaults = exports.isBrowser = exports.ensureTrailingSlash = exports.uuid = void 0; +function uuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} +exports.uuid = uuid; +function ensureTrailingSlash(url) { + return url.endsWith('/') ? url : url + '/'; +} +exports.ensureTrailingSlash = ensureTrailingSlash; +const isBrowser = () => typeof window !== 'undefined'; +exports.isBrowser = isBrowser; +function applySettingDefaults(options, defaults) { + var _a, _b; + const { db: dbOptions, auth: authOptions, realtime: realtimeOptions, global: globalOptions, } = options; + const { db: DEFAULT_DB_OPTIONS, auth: DEFAULT_AUTH_OPTIONS, realtime: DEFAULT_REALTIME_OPTIONS, global: DEFAULT_GLOBAL_OPTIONS, } = defaults; + const result = { + db: Object.assign(Object.assign({}, DEFAULT_DB_OPTIONS), dbOptions), + auth: Object.assign(Object.assign({}, DEFAULT_AUTH_OPTIONS), authOptions), + realtime: Object.assign(Object.assign({}, DEFAULT_REALTIME_OPTIONS), realtimeOptions), + storage: {}, + global: Object.assign(Object.assign(Object.assign({}, DEFAULT_GLOBAL_OPTIONS), globalOptions), { headers: Object.assign(Object.assign({}, ((_a = DEFAULT_GLOBAL_OPTIONS === null || DEFAULT_GLOBAL_OPTIONS === void 0 ? void 0 : DEFAULT_GLOBAL_OPTIONS.headers) !== null && _a !== void 0 ? _a : {})), ((_b = globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.headers) !== null && _b !== void 0 ? _b : {})) }), + accessToken: () => __awaiter(this, void 0, void 0, function* () { return ''; }), + }; + if (options.accessToken) { + result.accessToken = options.accessToken; + } + else { + // hack around Required<> + delete result.accessToken; + } + return result; +} +exports.applySettingDefaults = applySettingDefaults; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/version.js b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/version.js new file mode 100644 index 00000000..1ff4f5c0 --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/dist/main/lib/version.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.version = void 0; +exports.version = '2.56.0'; +//# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/.output/server/node_modules/@supabase/supabase-js/package.json b/.output/server/node_modules/@supabase/supabase-js/package.json new file mode 100644 index 00000000..b15b0f3b --- /dev/null +++ b/.output/server/node_modules/@supabase/supabase-js/package.json @@ -0,0 +1,90 @@ +{ + "name": "@supabase/supabase-js", + "version": "2.56.0", + "description": "Isomorphic Javascript client for Supabase", + "keywords": [ + "javascript", + "typescript", + "supabase" + ], + "homepage": "https://github.com/supabase/supabase-js", + "bugs": "https://github.com/supabase/supabase-js/issues", + "license": "MIT", + "author": "Supabase", + "files": [ + "dist", + "src" + ], + "main": "dist/main/index.js", + "module": "dist/module/index.js", + "types": "dist/module/index.d.ts", + "sideEffects": false, + "repository": "supabase/supabase-js", + "scripts": { + "clean": "rimraf dist docs/v2", + "format": "prettier --write \"{src,test}/**/*.ts\"", + "build": "run-s clean format build:*", + "build:main": "tsc -p tsconfig.json", + "build:module": "tsc -p tsconfig.module.json", + "build:umd": "webpack --env mode=production", + "types-generate": "dts-gen -m '@supabase/supabase-js' -s", + "test": "run-s test:types test:run", + "test:all": "run-s test:types test:run test:integration test:integration:browser", + "test:run": "jest --runInBand --detectOpenHandles", + "test:unit": "jest --runInBand --detectOpenHandles test/unit", + "test:coverage": "jest --runInBand --coverage --testPathIgnorePatterns=\"test/integration|test/deno\"", + "test:integration": "jest --runInBand --detectOpenHandles test/integration.test.ts", + "test:integration:browser": "deno test --allow-all test/integration.browser.test.ts", + "test:edge-functions": "deno test --allow-all --no-check test/deno/edge-functions-integration.test.ts", + "test:watch": "jest --watch --verbose false --silent false", + "test:node:playwright": "cd test/integration/node-browser && npm install && cp ../../../dist/umd/supabase.js . && npm run test", + "test:bun": "cd test/integration/bun && bun install && bun test", + "test:types": "run-s build:module && tsd --files test/types/*.test-d.ts && jsr publish --dry-run", + "docs": "typedoc --entryPoints src/index.ts --out docs/v2 --includes src/**/*.ts", + "docs:json": "typedoc --entryPoints src/index.ts --includes src/**/*.ts --json docs/v2/spec.json --excludeExternals", + "serve:coverage": "npm run test:coverage && serve test/coverage", + "update:test-deps": "npm run build && npm pack && cp supabase-supabase-js-*.tgz test/integration/expo/supabase-supabase-js-0.0.0-automated.tgz && cp supabase-supabase-js-*.tgz test/integration/next/supabase-supabase-js-0.0.0-automated.tgz && cp supabase-supabase-js-*.tgz test/deno/supabase-supabase-js-0.0.0-automated.tgz && cp supabase-supabase-js-*.tgz test/integration/bun/supabase-supabase-js-0.0.0-automated.tgz && cd test/integration/expo && npm install && cd ../next && npm install --legacy-peer-deps && cd ../../deno && npm install && cd ../integration/bun && bun install", + "update:test-deps:expo": "npm run build && npm pack && cp supabase-supabase-js-*.tgz test/integration/expo/supabase-supabase-js-0.0.0-automated.tgz && cd test/integration/expo && npm install", + "update:test-deps:next": "npm run build && npm pack && cp supabase-supabase-js-*.tgz test/integration/next/supabase-supabase-js-0.0.0-automated.tgz && cd test/integration/next && npm install --legacy-peer-deps", + "update:test-deps:deno": "npm run build && npm pack && cp supabase-supabase-js-*.tgz test/deno/supabase-supabase-js-0.0.0-automated.tgz && cd test/deno && npm install", + "update:test-deps:bun": "npm run build && npm pack && cp supabase-supabase-js-*.tgz test/integration/bun/supabase-supabase-js-0.0.0-automated.tgz && cd test/integration/bun && bun install" + }, + "dependencies": { + "@supabase/auth-js": "2.71.1", + "@supabase/functions-js": "2.4.5", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.21.3", + "@supabase/realtime-js": "2.15.1", + "@supabase/storage-js": "^2.10.4" + }, + "devDependencies": { + "@sebbo2002/semantic-release-jsr": "^1.0.0", + "@solana/wallet-standard-features": "^1.3.0", + "@types/jest": "^29.2.5", + "husky": "^4.3.8", + "jest": "^29.3.1", + "jsr": "^0.13.5", + "npm-run-all": "^4.1.5", + "prettier": "^2.5.1", + "pretty-quick": "^3.1.3", + "puppeteer": "^24.9.0", + "rimraf": "^3.0.2", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "serve": "^14.2.1", + "ts-jest": "^29.0.5", + "ts-loader": "^8.0.11", + "ts-node": "^10.9.1", + "tsd": "^0.30.4", + "typedoc": "^0.22.16", + "typescript": "^4.5.5", + "webpack": "^5.69.1", + "webpack-cli": "^4.9.2" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged" + } + }, + "jsdelivr": "dist/umd/supabase.js", + "unpkg": "dist/umd/supabase.js" +} \ No newline at end of file diff --git a/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js b/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js new file mode 100644 index 00000000..8acf35b0 --- /dev/null +++ b/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js @@ -0,0 +1,811 @@ +import { debounce, memo, notUndefined, approxEqual } from "./utils.js"; +const getRect = (element) => { + const { offsetWidth, offsetHeight } = element; + return { width: offsetWidth, height: offsetHeight }; +}; +const defaultKeyExtractor = (index) => index; +const defaultRangeExtractor = (range) => { + const start = Math.max(range.startIndex - range.overscan, 0); + const end = Math.min(range.endIndex + range.overscan, range.count - 1); + const arr = []; + for (let i = start; i <= end; i++) { + arr.push(i); + } + return arr; +}; +const observeElementRect = (instance, cb) => { + const element = instance.scrollElement; + if (!element) { + return; + } + const targetWindow = instance.targetWindow; + if (!targetWindow) { + return; + } + const handler = (rect) => { + const { width, height } = rect; + cb({ width: Math.round(width), height: Math.round(height) }); + }; + handler(getRect(element)); + if (!targetWindow.ResizeObserver) { + return () => { + }; + } + const observer = new targetWindow.ResizeObserver((entries) => { + const run = () => { + const entry = entries[0]; + if (entry == null ? void 0 : entry.borderBoxSize) { + const box = entry.borderBoxSize[0]; + if (box) { + handler({ width: box.inlineSize, height: box.blockSize }); + return; + } + } + handler(getRect(element)); + }; + instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run(); + }); + observer.observe(element, { box: "border-box" }); + return () => { + observer.unobserve(element); + }; +}; +const addEventListenerOptions = { + passive: true +}; +const observeWindowRect = (instance, cb) => { + const element = instance.scrollElement; + if (!element) { + return; + } + const handler = () => { + cb({ width: element.innerWidth, height: element.innerHeight }); + }; + handler(); + element.addEventListener("resize", handler, addEventListenerOptions); + return () => { + element.removeEventListener("resize", handler); + }; +}; +const supportsScrollend = typeof window == "undefined" ? true : "onscrollend" in window; +const observeElementOffset = (instance, cb) => { + const element = instance.scrollElement; + if (!element) { + return; + } + const targetWindow = instance.targetWindow; + if (!targetWindow) { + return; + } + let offset = 0; + const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce( + targetWindow, + () => { + cb(offset, false); + }, + instance.options.isScrollingResetDelay + ); + const createHandler = (isScrolling) => () => { + const { horizontal, isRtl } = instance.options; + offset = horizontal ? element["scrollLeft"] * (isRtl && -1 || 1) : element["scrollTop"]; + fallback(); + cb(offset, isScrolling); + }; + const handler = createHandler(true); + const endHandler = createHandler(false); + endHandler(); + element.addEventListener("scroll", handler, addEventListenerOptions); + const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend; + if (registerScrollendEvent) { + element.addEventListener("scrollend", endHandler, addEventListenerOptions); + } + return () => { + element.removeEventListener("scroll", handler); + if (registerScrollendEvent) { + element.removeEventListener("scrollend", endHandler); + } + }; +}; +const observeWindowOffset = (instance, cb) => { + const element = instance.scrollElement; + if (!element) { + return; + } + const targetWindow = instance.targetWindow; + if (!targetWindow) { + return; + } + let offset = 0; + const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce( + targetWindow, + () => { + cb(offset, false); + }, + instance.options.isScrollingResetDelay + ); + const createHandler = (isScrolling) => () => { + offset = element[instance.options.horizontal ? "scrollX" : "scrollY"]; + fallback(); + cb(offset, isScrolling); + }; + const handler = createHandler(true); + const endHandler = createHandler(false); + endHandler(); + element.addEventListener("scroll", handler, addEventListenerOptions); + const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend; + if (registerScrollendEvent) { + element.addEventListener("scrollend", endHandler, addEventListenerOptions); + } + return () => { + element.removeEventListener("scroll", handler); + if (registerScrollendEvent) { + element.removeEventListener("scrollend", endHandler); + } + }; +}; +const measureElement = (element, entry, instance) => { + if (entry == null ? void 0 : entry.borderBoxSize) { + const box = entry.borderBoxSize[0]; + if (box) { + const size = Math.round( + box[instance.options.horizontal ? "inlineSize" : "blockSize"] + ); + return size; + } + } + return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"]; +}; +const windowScroll = (offset, { + adjustments = 0, + behavior +}, instance) => { + var _a, _b; + const toOffset = offset + adjustments; + (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, { + [instance.options.horizontal ? "left" : "top"]: toOffset, + behavior + }); +}; +const elementScroll = (offset, { + adjustments = 0, + behavior +}, instance) => { + var _a, _b; + const toOffset = offset + adjustments; + (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, { + [instance.options.horizontal ? "left" : "top"]: toOffset, + behavior + }); +}; +class Virtualizer { + constructor(opts) { + this.unsubs = []; + this.scrollElement = null; + this.targetWindow = null; + this.isScrolling = false; + this.measurementsCache = []; + this.itemSizeCache = /* @__PURE__ */ new Map(); + this.pendingMeasuredCacheIndexes = []; + this.scrollRect = null; + this.scrollOffset = null; + this.scrollDirection = null; + this.scrollAdjustments = 0; + this.elementsCache = /* @__PURE__ */ new Map(); + this.observer = /* @__PURE__ */ (() => { + let _ro = null; + const get = () => { + if (_ro) { + return _ro; + } + if (!this.targetWindow || !this.targetWindow.ResizeObserver) { + return null; + } + return _ro = new this.targetWindow.ResizeObserver((entries) => { + entries.forEach((entry) => { + const run = () => { + this._measureElement(entry.target, entry); + }; + this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run(); + }); + }); + }; + return { + disconnect: () => { + var _a; + (_a = get()) == null ? void 0 : _a.disconnect(); + _ro = null; + }, + observe: (target) => { + var _a; + return (_a = get()) == null ? void 0 : _a.observe(target, { box: "border-box" }); + }, + unobserve: (target) => { + var _a; + return (_a = get()) == null ? void 0 : _a.unobserve(target); + } + }; + })(); + this.range = null; + this.setOptions = (opts2) => { + Object.entries(opts2).forEach(([key, value]) => { + if (typeof value === "undefined") delete opts2[key]; + }); + this.options = { + debug: false, + initialOffset: 0, + overscan: 1, + paddingStart: 0, + paddingEnd: 0, + scrollPaddingStart: 0, + scrollPaddingEnd: 0, + horizontal: false, + getItemKey: defaultKeyExtractor, + rangeExtractor: defaultRangeExtractor, + onChange: () => { + }, + measureElement, + initialRect: { width: 0, height: 0 }, + scrollMargin: 0, + gap: 0, + indexAttribute: "data-index", + initialMeasurementsCache: [], + lanes: 1, + isScrollingResetDelay: 150, + enabled: true, + isRtl: false, + useScrollendEvent: false, + useAnimationFrameWithResizeObserver: false, + ...opts2 + }; + }; + this.notify = (sync) => { + var _a, _b; + (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync); + }; + this.maybeNotify = memo( + () => { + this.calculateRange(); + return [ + this.isScrolling, + this.range ? this.range.startIndex : null, + this.range ? this.range.endIndex : null + ]; + }, + (isScrolling) => { + this.notify(isScrolling); + }, + { + key: process.env.NODE_ENV !== "production" && "maybeNotify", + debug: () => this.options.debug, + initialDeps: [ + this.isScrolling, + this.range ? this.range.startIndex : null, + this.range ? this.range.endIndex : null + ] + } + ); + this.cleanup = () => { + this.unsubs.filter(Boolean).forEach((d) => d()); + this.unsubs = []; + this.observer.disconnect(); + this.scrollElement = null; + this.targetWindow = null; + }; + this._didMount = () => { + return () => { + this.cleanup(); + }; + }; + this._willUpdate = () => { + var _a; + const scrollElement = this.options.enabled ? this.options.getScrollElement() : null; + if (this.scrollElement !== scrollElement) { + this.cleanup(); + if (!scrollElement) { + this.maybeNotify(); + return; + } + this.scrollElement = scrollElement; + if (this.scrollElement && "ownerDocument" in this.scrollElement) { + this.targetWindow = this.scrollElement.ownerDocument.defaultView; + } else { + this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null; + } + this.elementsCache.forEach((cached) => { + this.observer.observe(cached); + }); + this._scrollToOffset(this.getScrollOffset(), { + adjustments: void 0, + behavior: void 0 + }); + this.unsubs.push( + this.options.observeElementRect(this, (rect) => { + this.scrollRect = rect; + this.maybeNotify(); + }) + ); + this.unsubs.push( + this.options.observeElementOffset(this, (offset, isScrolling) => { + this.scrollAdjustments = 0; + this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null; + this.scrollOffset = offset; + this.isScrolling = isScrolling; + this.maybeNotify(); + }) + ); + } + }; + this.getSize = () => { + if (!this.options.enabled) { + this.scrollRect = null; + return 0; + } + this.scrollRect = this.scrollRect ?? this.options.initialRect; + return this.scrollRect[this.options.horizontal ? "width" : "height"]; + }; + this.getScrollOffset = () => { + if (!this.options.enabled) { + this.scrollOffset = null; + return 0; + } + this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset); + return this.scrollOffset; + }; + this.getFurthestMeasurement = (measurements, index) => { + const furthestMeasurementsFound = /* @__PURE__ */ new Map(); + const furthestMeasurements = /* @__PURE__ */ new Map(); + for (let m = index - 1; m >= 0; m--) { + const measurement = measurements[m]; + if (furthestMeasurementsFound.has(measurement.lane)) { + continue; + } + const previousFurthestMeasurement = furthestMeasurements.get( + measurement.lane + ); + if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) { + furthestMeasurements.set(measurement.lane, measurement); + } else if (measurement.end < previousFurthestMeasurement.end) { + furthestMeasurementsFound.set(measurement.lane, true); + } + if (furthestMeasurementsFound.size === this.options.lanes) { + break; + } + } + return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => { + if (a.end === b.end) { + return a.index - b.index; + } + return a.end - b.end; + })[0] : void 0; + }; + this.getMeasurementOptions = memo( + () => [ + this.options.count, + this.options.paddingStart, + this.options.scrollMargin, + this.options.getItemKey, + this.options.enabled + ], + (count, paddingStart, scrollMargin, getItemKey, enabled) => { + this.pendingMeasuredCacheIndexes = []; + return { + count, + paddingStart, + scrollMargin, + getItemKey, + enabled + }; + }, + { + key: false + } + ); + this.getMeasurements = memo( + () => [this.getMeasurementOptions(), this.itemSizeCache], + ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => { + if (!enabled) { + this.measurementsCache = []; + this.itemSizeCache.clear(); + return []; + } + if (this.measurementsCache.length === 0) { + this.measurementsCache = this.options.initialMeasurementsCache; + this.measurementsCache.forEach((item) => { + this.itemSizeCache.set(item.key, item.size); + }); + } + const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0; + this.pendingMeasuredCacheIndexes = []; + const measurements = this.measurementsCache.slice(0, min); + for (let i = min; i < count; i++) { + const key = getItemKey(i); + const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i); + const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin; + const measuredSize = itemSizeCache.get(key); + const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i); + const end = start + size; + const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes; + measurements[i] = { + index: i, + start, + size, + end, + key, + lane + }; + } + this.measurementsCache = measurements; + return measurements; + }, + { + key: process.env.NODE_ENV !== "production" && "getMeasurements", + debug: () => this.options.debug + } + ); + this.calculateRange = memo( + () => [ + this.getMeasurements(), + this.getSize(), + this.getScrollOffset(), + this.options.lanes + ], + (measurements, outerSize, scrollOffset, lanes) => { + return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({ + measurements, + outerSize, + scrollOffset, + lanes + }) : null; + }, + { + key: process.env.NODE_ENV !== "production" && "calculateRange", + debug: () => this.options.debug + } + ); + this.getVirtualIndexes = memo( + () => { + let startIndex = null; + let endIndex = null; + const range = this.calculateRange(); + if (range) { + startIndex = range.startIndex; + endIndex = range.endIndex; + } + this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]); + return [ + this.options.rangeExtractor, + this.options.overscan, + this.options.count, + startIndex, + endIndex + ]; + }, + (rangeExtractor, overscan, count, startIndex, endIndex) => { + return startIndex === null || endIndex === null ? [] : rangeExtractor({ + startIndex, + endIndex, + overscan, + count + }); + }, + { + key: process.env.NODE_ENV !== "production" && "getVirtualIndexes", + debug: () => this.options.debug + } + ); + this.indexFromElement = (node) => { + const attributeName = this.options.indexAttribute; + const indexStr = node.getAttribute(attributeName); + if (!indexStr) { + console.warn( + `Missing attribute name '${attributeName}={index}' on measured element.` + ); + return -1; + } + return parseInt(indexStr, 10); + }; + this._measureElement = (node, entry) => { + const index = this.indexFromElement(node); + const item = this.measurementsCache[index]; + if (!item) { + return; + } + const key = item.key; + const prevNode = this.elementsCache.get(key); + if (prevNode !== node) { + if (prevNode) { + this.observer.unobserve(prevNode); + } + this.observer.observe(node); + this.elementsCache.set(key, node); + } + if (node.isConnected) { + this.resizeItem(index, this.options.measureElement(node, entry, this)); + } + }; + this.resizeItem = (index, size) => { + const item = this.measurementsCache[index]; + if (!item) { + return; + } + const itemSize = this.itemSizeCache.get(item.key) ?? item.size; + const delta = size - itemSize; + if (delta !== 0) { + if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) { + if (process.env.NODE_ENV !== "production" && this.options.debug) { + console.info("correction", delta); + } + this._scrollToOffset(this.getScrollOffset(), { + adjustments: this.scrollAdjustments += delta, + behavior: void 0 + }); + } + this.pendingMeasuredCacheIndexes.push(item.index); + this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size)); + this.notify(false); + } + }; + this.measureElement = (node) => { + if (!node) { + this.elementsCache.forEach((cached, key) => { + if (!cached.isConnected) { + this.observer.unobserve(cached); + this.elementsCache.delete(key); + } + }); + return; + } + this._measureElement(node, void 0); + }; + this.getVirtualItems = memo( + () => [this.getVirtualIndexes(), this.getMeasurements()], + (indexes, measurements) => { + const virtualItems = []; + for (let k = 0, len = indexes.length; k < len; k++) { + const i = indexes[k]; + const measurement = measurements[i]; + virtualItems.push(measurement); + } + return virtualItems; + }, + { + key: process.env.NODE_ENV !== "production" && "getVirtualItems", + debug: () => this.options.debug + } + ); + this.getVirtualItemForOffset = (offset) => { + const measurements = this.getMeasurements(); + if (measurements.length === 0) { + return void 0; + } + return notUndefined( + measurements[findNearestBinarySearch( + 0, + measurements.length - 1, + (index) => notUndefined(measurements[index]).start, + offset + )] + ); + }; + this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => { + const size = this.getSize(); + const scrollOffset = this.getScrollOffset(); + if (align === "auto") { + align = toOffset >= scrollOffset + size ? "end" : "start"; + } + if (align === "center") { + toOffset += (itemSize - size) / 2; + } else if (align === "end") { + toOffset -= size; + } + const maxOffset = this.getTotalSize() + this.options.scrollMargin - size; + return Math.max(Math.min(maxOffset, toOffset), 0); + }; + this.getOffsetForIndex = (index, align = "auto") => { + index = Math.max(0, Math.min(index, this.options.count - 1)); + const item = this.measurementsCache[index]; + if (!item) { + return void 0; + } + const size = this.getSize(); + const scrollOffset = this.getScrollOffset(); + if (align === "auto") { + if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) { + align = "end"; + } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) { + align = "start"; + } else { + return [scrollOffset, align]; + } + } + const toOffset = align === "end" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart; + return [ + this.getOffsetForAlignment(toOffset, align, item.size), + align + ]; + }; + this.isDynamicMode = () => this.elementsCache.size > 0; + this.scrollToOffset = (toOffset, { align = "start", behavior } = {}) => { + if (behavior === "smooth" && this.isDynamicMode()) { + console.warn( + "The `smooth` scroll behavior is not fully supported with dynamic size." + ); + } + this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), { + adjustments: void 0, + behavior + }); + }; + this.scrollToIndex = (index, { align: initialAlign = "auto", behavior } = {}) => { + if (behavior === "smooth" && this.isDynamicMode()) { + console.warn( + "The `smooth` scroll behavior is not fully supported with dynamic size." + ); + } + index = Math.max(0, Math.min(index, this.options.count - 1)); + let attempts = 0; + const maxAttempts = 10; + const tryScroll = (currentAlign) => { + if (!this.targetWindow) return; + const offsetInfo = this.getOffsetForIndex(index, currentAlign); + if (!offsetInfo) { + console.warn("Failed to get offset for index:", index); + return; + } + const [offset, align] = offsetInfo; + this._scrollToOffset(offset, { adjustments: void 0, behavior }); + this.targetWindow.requestAnimationFrame(() => { + const currentOffset = this.getScrollOffset(); + const afterInfo = this.getOffsetForIndex(index, align); + if (!afterInfo) { + console.warn("Failed to get offset for index:", index); + return; + } + if (!approxEqual(afterInfo[0], currentOffset)) { + scheduleRetry(align); + } + }); + }; + const scheduleRetry = (align) => { + if (!this.targetWindow) return; + attempts++; + if (attempts < maxAttempts) { + if (process.env.NODE_ENV !== "production" && this.options.debug) { + console.info("Schedule retry", attempts, maxAttempts); + } + this.targetWindow.requestAnimationFrame(() => tryScroll(align)); + } else { + console.warn( + `Failed to scroll to index ${index} after ${maxAttempts} attempts.` + ); + } + }; + tryScroll(initialAlign); + }; + this.scrollBy = (delta, { behavior } = {}) => { + if (behavior === "smooth" && this.isDynamicMode()) { + console.warn( + "The `smooth` scroll behavior is not fully supported with dynamic size." + ); + } + this._scrollToOffset(this.getScrollOffset() + delta, { + adjustments: void 0, + behavior + }); + }; + this.getTotalSize = () => { + var _a; + const measurements = this.getMeasurements(); + let end; + if (measurements.length === 0) { + end = this.options.paddingStart; + } else if (this.options.lanes === 1) { + end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0; + } else { + const endByLane = Array(this.options.lanes).fill(null); + let endIndex = measurements.length - 1; + while (endIndex >= 0 && endByLane.some((val) => val === null)) { + const item = measurements[endIndex]; + if (endByLane[item.lane] === null) { + endByLane[item.lane] = item.end; + } + endIndex--; + } + end = Math.max(...endByLane.filter((val) => val !== null)); + } + return Math.max( + end - this.options.scrollMargin + this.options.paddingEnd, + 0 + ); + }; + this._scrollToOffset = (offset, { + adjustments, + behavior + }) => { + this.options.scrollToFn(offset, { behavior, adjustments }, this); + }; + this.measure = () => { + this.itemSizeCache = /* @__PURE__ */ new Map(); + this.notify(false); + }; + this.setOptions(opts); + } +} +const findNearestBinarySearch = (low, high, getCurrentValue, value) => { + while (low <= high) { + const middle = (low + high) / 2 | 0; + const currentValue = getCurrentValue(middle); + if (currentValue < value) { + low = middle + 1; + } else if (currentValue > value) { + high = middle - 1; + } else { + return middle; + } + } + if (low > 0) { + return low - 1; + } else { + return 0; + } +}; +function calculateRange({ + measurements, + outerSize, + scrollOffset, + lanes +}) { + const lastIndex = measurements.length - 1; + const getOffset = (index) => measurements[index].start; + if (measurements.length <= lanes) { + return { + startIndex: 0, + endIndex: lastIndex + }; + } + let startIndex = findNearestBinarySearch( + 0, + lastIndex, + getOffset, + scrollOffset + ); + let endIndex = startIndex; + if (lanes === 1) { + while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) { + endIndex++; + } + } else if (lanes > 1) { + const endPerLane = Array(lanes).fill(0); + while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) { + const item = measurements[endIndex]; + endPerLane[item.lane] = item.end; + endIndex++; + } + const startPerLane = Array(lanes).fill(scrollOffset + outerSize); + while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) { + const item = measurements[startIndex]; + startPerLane[item.lane] = item.start; + startIndex--; + } + startIndex = Math.max(0, startIndex - startIndex % lanes); + endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes)); + } + return { startIndex, endIndex }; +} +export { + Virtualizer, + approxEqual, + debounce, + defaultKeyExtractor, + defaultRangeExtractor, + elementScroll, + measureElement, + memo, + notUndefined, + observeElementOffset, + observeElementRect, + observeWindowOffset, + observeWindowRect, + windowScroll +}; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js b/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js new file mode 100644 index 00000000..ff390586 --- /dev/null +++ b/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js @@ -0,0 +1,69 @@ +function memo(getDeps, fn, opts) { + let deps = opts.initialDeps ?? []; + let result; + function memoizedFunction() { + var _a, _b, _c, _d; + let depTime; + if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now(); + const newDeps = getDeps(); + const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep); + if (!depsChanged) { + return result; + } + deps = newDeps; + let resultTime; + if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now(); + result = fn(...newDeps); + if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) { + const depEndTime = Math.round((Date.now() - depTime) * 100) / 100; + const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100; + const resultFpsPercentage = resultEndTime / 16; + const pad = (str, num) => { + str = String(str); + while (str.length < num) { + str = " " + str; + } + return str; + }; + console.info( + `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, + ` + font-size: .6rem; + font-weight: bold; + color: hsl(${Math.max( + 0, + Math.min(120 - 120 * resultFpsPercentage, 120) + )}deg 100% 31%);`, + opts == null ? void 0 : opts.key + ); + } + (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result); + return result; + } + memoizedFunction.updateDeps = (newDeps) => { + deps = newDeps; + }; + return memoizedFunction; +} +function notUndefined(value, msg) { + if (value === void 0) { + throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ""}`); + } else { + return value; + } +} +const approxEqual = (a, b) => Math.abs(a - b) < 1.01; +const debounce = (targetWindow, fn, ms) => { + let timeoutId; + return function(...args) { + targetWindow.clearTimeout(timeoutId); + timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms); + }; +}; +export { + approxEqual, + debounce, + memo, + notUndefined +}; +//# sourceMappingURL=utils.js.map diff --git a/.output/server/node_modules/@tanstack/virtual-core/package.json b/.output/server/node_modules/@tanstack/virtual-core/package.json new file mode 100644 index 00000000..d3fb9e27 --- /dev/null +++ b/.output/server/node_modules/@tanstack/virtual-core/package.json @@ -0,0 +1,56 @@ +{ + "name": "@tanstack/virtual-core", + "version": "3.13.12", + "description": "Headless UI for virtualizing scrollable elements in TS/JS + Frameworks", + "author": "Tanner Linsley", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/TanStack/virtual.git", + "directory": "packages/virtual-core" + }, + "homepage": "https://tanstack.com/virtual", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "keywords": [ + "react", + "vue", + "solid", + "virtual", + "virtual-core", + "datagrid" + ], + "type": "module", + "types": "dist/esm/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/index.d.cts", + "default": "./dist/cjs/index.cjs" + } + }, + "./package.json": "./package.json" + }, + "sideEffects": false, + "files": [ + "dist", + "src" + ], + "scripts": { + "clean": "premove ./dist ./coverage", + "test:eslint": "eslint ./src", + "test:types": "tsc", + "test:lib": "vitest", + "test:lib:dev": "pnpm run test:lib --watch", + "test:build": "publint --strict", + "build": "vite build" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js b/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js new file mode 100644 index 00000000..9cd5b222 --- /dev/null +++ b/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js @@ -0,0 +1,66 @@ +import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from "@tanstack/virtual-core"; +export * from "@tanstack/virtual-core"; +import { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from "vue"; +function useVirtualizerBase(options) { + const virtualizer = new Virtualizer(unref(options)); + const state = shallowRef(virtualizer); + const cleanup = virtualizer._didMount(); + watch( + () => unref(options).getScrollElement(), + (el) => { + if (el) { + virtualizer._willUpdate(); + } + }, + { + immediate: true + } + ); + watch( + () => unref(options), + (options2) => { + virtualizer.setOptions({ + ...options2, + onChange: (instance, sync) => { + var _a; + triggerRef(state); + (_a = options2.onChange) == null ? void 0 : _a.call(options2, instance, sync); + } + }); + virtualizer._willUpdate(); + triggerRef(state); + }, + { + immediate: true + } + ); + onScopeDispose(cleanup); + return state; +} +function useVirtualizer(options) { + return useVirtualizerBase( + computed(() => ({ + observeElementRect, + observeElementOffset, + scrollToFn: elementScroll, + ...unref(options) + })) + ); +} +function useWindowVirtualizer(options) { + return useVirtualizerBase( + computed(() => ({ + getScrollElement: () => typeof document !== "undefined" ? window : null, + observeElementRect: observeWindowRect, + observeElementOffset: observeWindowOffset, + scrollToFn: windowScroll, + initialOffset: () => typeof document !== "undefined" ? window.scrollY : 0, + ...unref(options) + })) + ); +} +export { + useVirtualizer, + useWindowVirtualizer +}; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/@tanstack/vue-virtual/node_modules/vue b/.output/server/node_modules/@tanstack/vue-virtual/node_modules/vue new file mode 120000 index 00000000..4f64d938 --- /dev/null +++ b/.output/server/node_modules/@tanstack/vue-virtual/node_modules/vue @@ -0,0 +1 @@ +../../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/@tanstack/vue-virtual/package.json b/.output/server/node_modules/@tanstack/vue-virtual/package.json new file mode 100644 index 00000000..d4d6595a --- /dev/null +++ b/.output/server/node_modules/@tanstack/vue-virtual/package.json @@ -0,0 +1,68 @@ +{ + "name": "@tanstack/vue-virtual", + "version": "3.13.12", + "description": "Headless UI for virtualizing scrollable elements in Vue", + "author": "Tanner Linsley", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/TanStack/virtual.git", + "directory": "packages/vue-virtual" + }, + "homepage": "https://tanstack.com/virtual", + "publishConfig": { + "registry": "https://registry.npmjs.org/" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "keywords": [ + "react", + "vue", + "solid", + "svelte", + "virtual", + "virtual-core", + "datagrid" + ], + "type": "module", + "types": "dist/esm/index.d.ts", + "main": "dist/cjs/index.cjs", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/index.d.cts", + "default": "./dist/cjs/index.cjs" + } + }, + "./package.json": "./package.json" + }, + "sideEffects": false, + "files": [ + "dist", + "src" + ], + "dependencies": { + "@tanstack/virtual-core": "3.13.12" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.4", + "vue": "^3.5.16" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + }, + "scripts": { + "clean": "premove ./dist ./coverage", + "test:eslint": "eslint ./src", + "test:types": "tsc", + "test:build": "publint --strict", + "build": "vite build" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@trysound/sax/lib/sax.js b/.output/server/node_modules/@trysound/sax/lib/sax.js new file mode 100644 index 00000000..5416e88a --- /dev/null +++ b/.output/server/node_modules/@trysound/sax/lib/sax.js @@ -0,0 +1,1413 @@ +;(function (sax) { // wrapper for non-node envs + sax.parser = function (strict, opt) { return new SAXParser(strict, opt) } + sax.SAXParser = SAXParser + + // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns. + // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)), + // since that's the earliest that a buffer overrun could occur. This way, checks are + // as rare as required, but as often as necessary to ensure never crossing this bound. + // Furthermore, buffers are only tested at most once per write(), so passing a very + // large string into write() might have undesirable effects, but this is manageable by + // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme + // edge case, result in creating at most one complete copy of the string passed in. + // Set to Infinity to have unlimited buffers. + sax.MAX_BUFFER_LENGTH = 64 * 1024 + + var buffers = [ + 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype', + 'procInstName', 'procInstBody', 'entity', 'attribName', + 'attribValue', 'cdata', 'script' + ] + + sax.EVENTS = [ + 'text', + 'processinginstruction', + 'sgmldeclaration', + 'doctype', + 'comment', + 'opentagstart', + 'attribute', + 'opentag', + 'closetag', + 'opencdata', + 'cdata', + 'closecdata', + 'error', + 'end', + 'ready', + 'script', + 'opennamespace', + 'closenamespace' + ] + + function SAXParser (strict, opt) { + if (!(this instanceof SAXParser)) { + return new SAXParser(strict, opt) + } + + var parser = this + clearBuffers(parser) + parser.q = parser.c = '' + parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH + parser.opt = opt || {} + parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags + parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase' + parser.tags = [] + parser.closed = parser.closedRoot = parser.sawRoot = false + parser.tag = parser.error = null + parser.strict = !!strict + parser.noscript = !!(strict || parser.opt.noscript) + parser.state = S.BEGIN + parser.strictEntities = parser.opt.strictEntities + parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES) + parser.attribList = [] + + // namespaces form a prototype chain. + // it always points at the current tag, + // which protos to its parent tag. + if (parser.opt.xmlns) { + parser.ns = Object.create(rootNS) + } + + // mostly just for error reporting + parser.trackPosition = parser.opt.position !== false + if (parser.trackPosition) { + parser.position = parser.line = parser.column = 0 + } + emit(parser, 'onready') + } + + if (!Object.create) { + Object.create = function (o) { + function F () {} + F.prototype = o + var newf = new F() + return newf + } + } + + if (!Object.keys) { + Object.keys = function (o) { + var a = [] + for (var i in o) if (o.hasOwnProperty(i)) a.push(i) + return a + } + } + + function checkBufferLength (parser) { + var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10) + var maxActual = 0 + for (var i = 0, l = buffers.length; i < l; i++) { + var len = parser[buffers[i]].length + if (len > maxAllowed) { + // Text/cdata nodes can get big, and since they're buffered, + // we can get here under normal conditions. + // Avoid issues by emitting the text node now, + // so at least it won't get any bigger. + switch (buffers[i]) { + case 'textNode': + closeText(parser) + break + + case 'cdata': + emitNode(parser, 'oncdata', parser.cdata) + parser.cdata = '' + break + + case 'script': + emitNode(parser, 'onscript', parser.script) + parser.script = '' + break + + default: + error(parser, 'Max buffer length exceeded: ' + buffers[i]) + } + } + maxActual = Math.max(maxActual, len) + } + // schedule the next check for the earliest possible buffer overrun. + var m = sax.MAX_BUFFER_LENGTH - maxActual + parser.bufferCheckPosition = m + parser.position + } + + function clearBuffers (parser) { + for (var i = 0, l = buffers.length; i < l; i++) { + parser[buffers[i]] = '' + } + } + + function flushBuffers (parser) { + closeText(parser) + if (parser.cdata !== '') { + emitNode(parser, 'oncdata', parser.cdata) + parser.cdata = '' + } + if (parser.script !== '') { + emitNode(parser, 'onscript', parser.script) + parser.script = '' + } + } + + SAXParser.prototype = { + end: function () { end(this) }, + write: write, + resume: function () { this.error = null; return this }, + close: function () { return this.write(null) }, + flush: function () { flushBuffers(this) } + } + + // this really needs to be replaced with character classes. + // XML allows all manner of ridiculous numbers and digits. + var CDATA = '[CDATA[' + var DOCTYPE = 'DOCTYPE' + var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace' + var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/' + var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE } + + // http://www.w3.org/TR/REC-xml/#NT-NameStartChar + // This implementation works on strings, a single character at a time + // as such, it cannot ever support astral-plane characters (10000-EFFFF) + // without a significant breaking change to either this parser, or the + // JavaScript language. Implementation of an emoji-capable xml parser + // is left as an exercise for the reader. + var nameStart = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/ + + var nameBody = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/ + + var entityStart = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/ + var entityBody = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/ + + function isWhitespace (c) { + return c === ' ' || c === '\n' || c === '\r' || c === '\t' + } + + function isQuote (c) { + return c === '"' || c === '\'' + } + + function isAttribEnd (c) { + return c === '>' || isWhitespace(c) + } + + function isMatch (regex, c) { + return regex.test(c) + } + + function notMatch (regex, c) { + return !isMatch(regex, c) + } + + var S = 0 + sax.STATE = { + BEGIN: S++, // leading byte order mark or whitespace + BEGIN_WHITESPACE: S++, // leading whitespace + TEXT: S++, // general stuff + TEXT_ENTITY: S++, // & and such. + OPEN_WAKA: S++, // < + SGML_DECL: S++, // <!BLARG + SGML_DECL_QUOTED: S++, // <!BLARG foo "bar + DOCTYPE: S++, // <!DOCTYPE + DOCTYPE_QUOTED: S++, // <!DOCTYPE "//blah + DOCTYPE_DTD: S++, // <!DOCTYPE "//blah" [ ... + DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE "//blah" [ "foo + COMMENT_STARTING: S++, // <!- + COMMENT: S++, // <!-- + COMMENT_ENDING: S++, // <!-- blah - + COMMENT_ENDED: S++, // <!-- blah -- + CDATA: S++, // <![CDATA[ something + CDATA_ENDING: S++, // ] + CDATA_ENDING_2: S++, // ]] + PROC_INST: S++, // <?hi + PROC_INST_BODY: S++, // <?hi there + PROC_INST_ENDING: S++, // <?hi "there" ? + OPEN_TAG: S++, // <strong + OPEN_TAG_SLASH: S++, // <strong / + ATTRIB: S++, // <a + ATTRIB_NAME: S++, // <a foo + ATTRIB_NAME_SAW_WHITE: S++, // <a foo _ + ATTRIB_VALUE: S++, // <a foo= + ATTRIB_VALUE_QUOTED: S++, // <a foo="bar + ATTRIB_VALUE_CLOSED: S++, // <a foo="bar" + ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar + ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=""" + ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=" + CLOSE_TAG: S++, // </a + CLOSE_TAG_SAW_WHITE: S++, // </a > + SCRIPT: S++, // <script> ... + SCRIPT_ENDING: S++ // <script> ... < + } + + sax.XML_ENTITIES = { + 'amp': '&', + 'gt': '>', + 'lt': '<', + 'quot': '"', + 'apos': "'" + } + + sax.ENTITIES = { + 'amp': '&', + 'gt': '>', + 'lt': '<', + 'quot': '"', + 'apos': "'", + 'AElig': 198, + 'Aacute': 193, + 'Acirc': 194, + 'Agrave': 192, + 'Aring': 197, + 'Atilde': 195, + 'Auml': 196, + 'Ccedil': 199, + 'ETH': 208, + 'Eacute': 201, + 'Ecirc': 202, + 'Egrave': 200, + 'Euml': 203, + 'Iacute': 205, + 'Icirc': 206, + 'Igrave': 204, + 'Iuml': 207, + 'Ntilde': 209, + 'Oacute': 211, + 'Ocirc': 212, + 'Ograve': 210, + 'Oslash': 216, + 'Otilde': 213, + 'Ouml': 214, + 'THORN': 222, + 'Uacute': 218, + 'Ucirc': 219, + 'Ugrave': 217, + 'Uuml': 220, + 'Yacute': 221, + 'aacute': 225, + 'acirc': 226, + 'aelig': 230, + 'agrave': 224, + 'aring': 229, + 'atilde': 227, + 'auml': 228, + 'ccedil': 231, + 'eacute': 233, + 'ecirc': 234, + 'egrave': 232, + 'eth': 240, + 'euml': 235, + 'iacute': 237, + 'icirc': 238, + 'igrave': 236, + 'iuml': 239, + 'ntilde': 241, + 'oacute': 243, + 'ocirc': 244, + 'ograve': 242, + 'oslash': 248, + 'otilde': 245, + 'ouml': 246, + 'szlig': 223, + 'thorn': 254, + 'uacute': 250, + 'ucirc': 251, + 'ugrave': 249, + 'uuml': 252, + 'yacute': 253, + 'yuml': 255, + 'copy': 169, + 'reg': 174, + 'nbsp': 160, + 'iexcl': 161, + 'cent': 162, + 'pound': 163, + 'curren': 164, + 'yen': 165, + 'brvbar': 166, + 'sect': 167, + 'uml': 168, + 'ordf': 170, + 'laquo': 171, + 'not': 172, + 'shy': 173, + 'macr': 175, + 'deg': 176, + 'plusmn': 177, + 'sup1': 185, + 'sup2': 178, + 'sup3': 179, + 'acute': 180, + 'micro': 181, + 'para': 182, + 'middot': 183, + 'cedil': 184, + 'ordm': 186, + 'raquo': 187, + 'frac14': 188, + 'frac12': 189, + 'frac34': 190, + 'iquest': 191, + 'times': 215, + 'divide': 247, + 'OElig': 338, + 'oelig': 339, + 'Scaron': 352, + 'scaron': 353, + 'Yuml': 376, + 'fnof': 402, + 'circ': 710, + 'tilde': 732, + 'Alpha': 913, + 'Beta': 914, + 'Gamma': 915, + 'Delta': 916, + 'Epsilon': 917, + 'Zeta': 918, + 'Eta': 919, + 'Theta': 920, + 'Iota': 921, + 'Kappa': 922, + 'Lambda': 923, + 'Mu': 924, + 'Nu': 925, + 'Xi': 926, + 'Omicron': 927, + 'Pi': 928, + 'Rho': 929, + 'Sigma': 931, + 'Tau': 932, + 'Upsilon': 933, + 'Phi': 934, + 'Chi': 935, + 'Psi': 936, + 'Omega': 937, + 'alpha': 945, + 'beta': 946, + 'gamma': 947, + 'delta': 948, + 'epsilon': 949, + 'zeta': 950, + 'eta': 951, + 'theta': 952, + 'iota': 953, + 'kappa': 954, + 'lambda': 955, + 'mu': 956, + 'nu': 957, + 'xi': 958, + 'omicron': 959, + 'pi': 960, + 'rho': 961, + 'sigmaf': 962, + 'sigma': 963, + 'tau': 964, + 'upsilon': 965, + 'phi': 966, + 'chi': 967, + 'psi': 968, + 'omega': 969, + 'thetasym': 977, + 'upsih': 978, + 'piv': 982, + 'ensp': 8194, + 'emsp': 8195, + 'thinsp': 8201, + 'zwnj': 8204, + 'zwj': 8205, + 'lrm': 8206, + 'rlm': 8207, + 'ndash': 8211, + 'mdash': 8212, + 'lsquo': 8216, + 'rsquo': 8217, + 'sbquo': 8218, + 'ldquo': 8220, + 'rdquo': 8221, + 'bdquo': 8222, + 'dagger': 8224, + 'Dagger': 8225, + 'bull': 8226, + 'hellip': 8230, + 'permil': 8240, + 'prime': 8242, + 'Prime': 8243, + 'lsaquo': 8249, + 'rsaquo': 8250, + 'oline': 8254, + 'frasl': 8260, + 'euro': 8364, + 'image': 8465, + 'weierp': 8472, + 'real': 8476, + 'trade': 8482, + 'alefsym': 8501, + 'larr': 8592, + 'uarr': 8593, + 'rarr': 8594, + 'darr': 8595, + 'harr': 8596, + 'crarr': 8629, + 'lArr': 8656, + 'uArr': 8657, + 'rArr': 8658, + 'dArr': 8659, + 'hArr': 8660, + 'forall': 8704, + 'part': 8706, + 'exist': 8707, + 'empty': 8709, + 'nabla': 8711, + 'isin': 8712, + 'notin': 8713, + 'ni': 8715, + 'prod': 8719, + 'sum': 8721, + 'minus': 8722, + 'lowast': 8727, + 'radic': 8730, + 'prop': 8733, + 'infin': 8734, + 'ang': 8736, + 'and': 8743, + 'or': 8744, + 'cap': 8745, + 'cup': 8746, + 'int': 8747, + 'there4': 8756, + 'sim': 8764, + 'cong': 8773, + 'asymp': 8776, + 'ne': 8800, + 'equiv': 8801, + 'le': 8804, + 'ge': 8805, + 'sub': 8834, + 'sup': 8835, + 'nsub': 8836, + 'sube': 8838, + 'supe': 8839, + 'oplus': 8853, + 'otimes': 8855, + 'perp': 8869, + 'sdot': 8901, + 'lceil': 8968, + 'rceil': 8969, + 'lfloor': 8970, + 'rfloor': 8971, + 'lang': 9001, + 'rang': 9002, + 'loz': 9674, + 'spades': 9824, + 'clubs': 9827, + 'hearts': 9829, + 'diams': 9830 + } + + Object.keys(sax.ENTITIES).forEach(function (key) { + var e = sax.ENTITIES[key] + var s = typeof e === 'number' ? String.fromCharCode(e) : e + sax.ENTITIES[key] = s + }) + + for (var s in sax.STATE) { + sax.STATE[sax.STATE[s]] = s + } + + // shorthand + S = sax.STATE + + function emit (parser, event, data) { + parser[event] && parser[event](data) + } + + function emitNode (parser, nodeType, data) { + if (parser.textNode) closeText(parser) + emit(parser, nodeType, data) + } + + function closeText (parser) { + parser.textNode = textopts(parser.opt, parser.textNode) + if (parser.textNode) emit(parser, 'ontext', parser.textNode) + parser.textNode = '' + } + + function textopts (opt, text) { + if (opt.trim) text = text.trim() + if (opt.normalize) text = text.replace(/\s+/g, ' ') + return text + } + + function error (parser, reason) { + closeText(parser) + const message = reason + + '\nLine: ' + parser.line + + '\nColumn: ' + parser.column + + '\nChar: ' + parser.c + const error = new Error(message) + error.reason = reason + error.line = parser.line + error.column = parser.column + parser.error = error + emit(parser, 'onerror', error) + return parser + } + + function end (parser) { + if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag') + if ((parser.state !== S.BEGIN) && + (parser.state !== S.BEGIN_WHITESPACE) && + (parser.state !== S.TEXT)) { + error(parser, 'Unexpected end') + } + closeText(parser) + parser.c = '' + parser.closed = true + emit(parser, 'onend') + SAXParser.call(parser, parser.strict, parser.opt) + return parser + } + + function strictFail (parser, message) { + if (typeof parser !== 'object' || !(parser instanceof SAXParser)) { + throw new Error('bad call to strictFail') + } + if (parser.strict) { + error(parser, message) + } + } + + function newTag (parser) { + if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]() + var parent = parser.tags[parser.tags.length - 1] || parser + var tag = parser.tag = { name: parser.tagName, attributes: {} } + + // will be overridden if tag contails an xmlns="foo" or xmlns:foo="bar" + if (parser.opt.xmlns) { + tag.ns = parent.ns + } + parser.attribList.length = 0 + emitNode(parser, 'onopentagstart', tag) + } + + function qname (name, attribute) { + var i = name.indexOf(':') + var qualName = i < 0 ? [ '', name ] : name.split(':') + var prefix = qualName[0] + var local = qualName[1] + + // <x "xmlns"="http://foo"> + if (attribute && name === 'xmlns') { + prefix = 'xmlns' + local = '' + } + + return { prefix: prefix, local: local } + } + + function attrib (parser) { + if (!parser.strict) { + parser.attribName = parser.attribName[parser.looseCase]() + } + + if (parser.attribList.indexOf(parser.attribName) !== -1 || + parser.tag.attributes.hasOwnProperty(parser.attribName)) { + parser.attribName = parser.attribValue = '' + return + } + + if (parser.opt.xmlns) { + var qn = qname(parser.attribName, true) + var prefix = qn.prefix + var local = qn.local + + if (prefix === 'xmlns') { + // namespace binding attribute. push the binding into scope + if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) { + strictFail(parser, + 'xml: prefix must be bound to ' + XML_NAMESPACE + '\n' + + 'Actual: ' + parser.attribValue) + } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) { + strictFail(parser, + 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\n' + + 'Actual: ' + parser.attribValue) + } else { + var tag = parser.tag + var parent = parser.tags[parser.tags.length - 1] || parser + if (tag.ns === parent.ns) { + tag.ns = Object.create(parent.ns) + } + tag.ns[local] = parser.attribValue + } + } + + // defer onattribute events until all attributes have been seen + // so any new bindings can take effect. preserve attribute order + // so deferred events can be emitted in document order + parser.attribList.push([parser.attribName, parser.attribValue]) + } else { + // in non-xmlns mode, we can emit the event right away + parser.tag.attributes[parser.attribName] = parser.attribValue + emitNode(parser, 'onattribute', { + name: parser.attribName, + value: parser.attribValue + }) + } + + parser.attribName = parser.attribValue = '' + } + + function openTag (parser, selfClosing) { + if (parser.opt.xmlns) { + // emit namespace binding events + var tag = parser.tag + + // add namespace info to tag + var qn = qname(parser.tagName) + tag.prefix = qn.prefix + tag.local = qn.local + tag.uri = tag.ns[qn.prefix] || '' + + if (tag.prefix && !tag.uri) { + strictFail(parser, 'Unbound namespace prefix: ' + + JSON.stringify(parser.tagName)) + tag.uri = qn.prefix + } + + var parent = parser.tags[parser.tags.length - 1] || parser + if (tag.ns && parent.ns !== tag.ns) { + Object.keys(tag.ns).forEach(function (p) { + emitNode(parser, 'onopennamespace', { + prefix: p, + uri: tag.ns[p] + }) + }) + } + + // handle deferred onattribute events + // Note: do not apply default ns to attributes: + // http://www.w3.org/TR/REC-xml-names/#defaulting + for (var i = 0, l = parser.attribList.length; i < l; i++) { + var nv = parser.attribList[i] + var name = nv[0] + var value = nv[1] + var qualName = qname(name, true) + var prefix = qualName.prefix + var local = qualName.local + var uri = prefix === '' ? '' : (tag.ns[prefix] || '') + var a = { + name: name, + value: value, + prefix: prefix, + local: local, + uri: uri + } + + // if there's any attributes with an undefined namespace, + // then fail on them now. + if (prefix && prefix !== 'xmlns' && !uri) { + strictFail(parser, 'Unbound namespace prefix: ' + + JSON.stringify(prefix)) + a.uri = prefix + } + parser.tag.attributes[name] = a + emitNode(parser, 'onattribute', a) + } + parser.attribList.length = 0 + } + + parser.tag.isSelfClosing = !!selfClosing + + // process the tag + parser.sawRoot = true + parser.tags.push(parser.tag) + emitNode(parser, 'onopentag', parser.tag) + if (!selfClosing) { + // special case for <script> in non-strict mode. + if (!parser.noscript && parser.tagName.toLowerCase() === 'script') { + parser.state = S.SCRIPT + } else { + parser.state = S.TEXT + } + parser.tag = null + parser.tagName = '' + } + parser.attribName = parser.attribValue = '' + parser.attribList.length = 0 + } + + function closeTag (parser) { + if (!parser.tagName) { + strictFail(parser, 'Weird empty close tag.') + parser.textNode += '</>' + parser.state = S.TEXT + return + } + + if (parser.script) { + if (parser.tagName !== 'script') { + parser.script += '</' + parser.tagName + '>' + parser.tagName = '' + parser.state = S.SCRIPT + return + } + emitNode(parser, 'onscript', parser.script) + parser.script = '' + } + + // first make sure that the closing tag actually exists. + // <a><b></c></b></a> will close everything, otherwise. + var t = parser.tags.length + var tagName = parser.tagName + if (!parser.strict) { + tagName = tagName[parser.looseCase]() + } + var closeTo = tagName + while (t--) { + var close = parser.tags[t] + if (close.name !== closeTo) { + // fail the first time in strict mode + strictFail(parser, 'Unexpected close tag') + } else { + break + } + } + + // didn't find it. we already failed for strict, so just abort. + if (t < 0) { + strictFail(parser, 'Unmatched closing tag: ' + parser.tagName) + parser.textNode += '</' + parser.tagName + '>' + parser.state = S.TEXT + return + } + parser.tagName = tagName + var s = parser.tags.length + while (s-- > t) { + var tag = parser.tag = parser.tags.pop() + parser.tagName = parser.tag.name + emitNode(parser, 'onclosetag', parser.tagName) + + var x = {} + for (var i in tag.ns) { + x[i] = tag.ns[i] + } + + var parent = parser.tags[parser.tags.length - 1] || parser + if (parser.opt.xmlns && tag.ns !== parent.ns) { + // remove namespace bindings introduced by tag + Object.keys(tag.ns).forEach(function (p) { + var n = tag.ns[p] + emitNode(parser, 'onclosenamespace', { prefix: p, uri: n }) + }) + } + } + if (t === 0) parser.closedRoot = true + parser.tagName = parser.attribValue = parser.attribName = '' + parser.attribList.length = 0 + parser.state = S.TEXT + } + + function parseEntity (parser) { + var entity = parser.entity + var entityLC = entity.toLowerCase() + var num + var numStr = '' + + if (parser.ENTITIES[entity]) { + return parser.ENTITIES[entity] + } + if (parser.ENTITIES[entityLC]) { + return parser.ENTITIES[entityLC] + } + entity = entityLC + if (entity.charAt(0) === '#') { + if (entity.charAt(1) === 'x') { + entity = entity.slice(2) + num = parseInt(entity, 16) + numStr = num.toString(16) + } else { + entity = entity.slice(1) + num = parseInt(entity, 10) + numStr = num.toString(10) + } + } + entity = entity.replace(/^0+/, '') + if (isNaN(num) || numStr.toLowerCase() !== entity) { + strictFail(parser, 'Invalid character entity') + return '&' + parser.entity + ';' + } + + return String.fromCodePoint(num) + } + + function beginWhiteSpace (parser, c) { + if (c === '<') { + parser.state = S.OPEN_WAKA + parser.startTagPosition = parser.position + } else if (!isWhitespace(c)) { + // have to process this as a text node. + // weird, but happens. + strictFail(parser, 'Non-whitespace before first tag.') + parser.textNode = c + parser.state = S.TEXT + } + } + + function charAt (chunk, i) { + var result = '' + if (i < chunk.length) { + result = chunk.charAt(i) + } + return result + } + + function write (chunk) { + var parser = this + if (this.error) { + throw this.error + } + if (parser.closed) { + return error(parser, + 'Cannot write after close. Assign an onready handler.') + } + if (chunk === null) { + return end(parser) + } + if (typeof chunk === 'object') { + chunk = chunk.toString() + } + var i = 0 + var c = '' + while (true) { + c = charAt(chunk, i++) + parser.c = c + + if (!c) { + break + } + + if (parser.trackPosition) { + parser.position++ + if (c === '\n') { + parser.line++ + parser.column = 0 + } else { + parser.column++ + } + } + + switch (parser.state) { + case S.BEGIN: + parser.state = S.BEGIN_WHITESPACE + if (c === '\uFEFF') { + continue + } + beginWhiteSpace(parser, c) + continue + + case S.BEGIN_WHITESPACE: + beginWhiteSpace(parser, c) + continue + + case S.TEXT: + if (parser.sawRoot && !parser.closedRoot) { + var starti = i - 1 + while (c && c !== '<' && c !== '&') { + c = charAt(chunk, i++) + if (c && parser.trackPosition) { + parser.position++ + if (c === '\n') { + parser.line++ + parser.column = 0 + } else { + parser.column++ + } + } + } + parser.textNode += chunk.substring(starti, i - 1) + } + if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) { + parser.state = S.OPEN_WAKA + parser.startTagPosition = parser.position + } else { + if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) { + strictFail(parser, 'Text data outside of root node.') + } + if (c === '&') { + parser.state = S.TEXT_ENTITY + } else { + parser.textNode += c + } + } + continue + + case S.SCRIPT: + // only non-strict + if (c === '<') { + parser.state = S.SCRIPT_ENDING + } else { + parser.script += c + } + continue + + case S.SCRIPT_ENDING: + if (c === '/') { + parser.state = S.CLOSE_TAG + } else { + parser.script += '<' + c + parser.state = S.SCRIPT + } + continue + + case S.OPEN_WAKA: + // either a /, ?, !, or text is coming next. + if (c === '!') { + parser.state = S.SGML_DECL + parser.sgmlDecl = '' + } else if (isWhitespace(c)) { + // wait for it... + } else if (isMatch(nameStart, c)) { + parser.state = S.OPEN_TAG + parser.tagName = c + } else if (c === '/') { + parser.state = S.CLOSE_TAG + parser.tagName = '' + } else if (c === '?') { + parser.state = S.PROC_INST + parser.procInstName = parser.procInstBody = '' + } else { + strictFail(parser, 'Unencoded <') + // if there was some whitespace, then add that in. + if (parser.startTagPosition + 1 < parser.position) { + var pad = parser.position - parser.startTagPosition + c = new Array(pad).join(' ') + c + } + parser.textNode += '<' + c + parser.state = S.TEXT + } + continue + + case S.SGML_DECL: + if ((parser.sgmlDecl + c).toUpperCase() === CDATA) { + emitNode(parser, 'onopencdata') + parser.state = S.CDATA + parser.sgmlDecl = '' + parser.cdata = '' + } else if (parser.sgmlDecl + c === '--') { + parser.state = S.COMMENT + parser.comment = '' + parser.sgmlDecl = '' + } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) { + parser.state = S.DOCTYPE + if (parser.doctype || parser.sawRoot) { + strictFail(parser, + 'Inappropriately located doctype declaration') + } + parser.doctype = '' + parser.sgmlDecl = '' + } else if (c === '>') { + emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl) + parser.sgmlDecl = '' + parser.state = S.TEXT + } else if (isQuote(c)) { + parser.state = S.SGML_DECL_QUOTED + parser.sgmlDecl += c + } else { + parser.sgmlDecl += c + } + continue + + case S.SGML_DECL_QUOTED: + if (c === parser.q) { + parser.state = S.SGML_DECL + parser.q = '' + } + parser.sgmlDecl += c + continue + + case S.DOCTYPE: + if (c === '>') { + parser.state = S.TEXT + emitNode(parser, 'ondoctype', parser.doctype) + parser.doctype = true // just remember that we saw it. + } else { + parser.doctype += c + if (c === '[') { + parser.state = S.DOCTYPE_DTD + } else if (isQuote(c)) { + parser.state = S.DOCTYPE_QUOTED + parser.q = c + } + } + continue + + case S.DOCTYPE_QUOTED: + parser.doctype += c + if (c === parser.q) { + parser.q = '' + parser.state = S.DOCTYPE + } + continue + + case S.DOCTYPE_DTD: + parser.doctype += c + if (c === ']') { + parser.state = S.DOCTYPE + } else if (isQuote(c)) { + parser.state = S.DOCTYPE_DTD_QUOTED + parser.q = c + } + continue + + case S.DOCTYPE_DTD_QUOTED: + parser.doctype += c + if (c === parser.q) { + parser.state = S.DOCTYPE_DTD + parser.q = '' + } + continue + + case S.COMMENT: + if (c === '-') { + parser.state = S.COMMENT_ENDING + } else { + parser.comment += c + } + continue + + case S.COMMENT_ENDING: + if (c === '-') { + parser.state = S.COMMENT_ENDED + parser.comment = textopts(parser.opt, parser.comment) + if (parser.comment) { + emitNode(parser, 'oncomment', parser.comment) + } + parser.comment = '' + } else { + parser.comment += '-' + c + parser.state = S.COMMENT + } + continue + + case S.COMMENT_ENDED: + if (c !== '>') { + strictFail(parser, 'Malformed comment') + // allow <!-- blah -- bloo --> in non-strict mode, + // which is a comment of " blah -- bloo " + parser.comment += '--' + c + parser.state = S.COMMENT + } else { + parser.state = S.TEXT + } + continue + + case S.CDATA: + if (c === ']') { + parser.state = S.CDATA_ENDING + } else { + parser.cdata += c + } + continue + + case S.CDATA_ENDING: + if (c === ']') { + parser.state = S.CDATA_ENDING_2 + } else { + parser.cdata += ']' + c + parser.state = S.CDATA + } + continue + + case S.CDATA_ENDING_2: + if (c === '>') { + if (parser.cdata) { + emitNode(parser, 'oncdata', parser.cdata) + } + emitNode(parser, 'onclosecdata') + parser.cdata = '' + parser.state = S.TEXT + } else if (c === ']') { + parser.cdata += ']' + } else { + parser.cdata += ']]' + c + parser.state = S.CDATA + } + continue + + case S.PROC_INST: + if (c === '?') { + parser.state = S.PROC_INST_ENDING + } else if (isWhitespace(c)) { + parser.state = S.PROC_INST_BODY + } else { + parser.procInstName += c + } + continue + + case S.PROC_INST_BODY: + if (!parser.procInstBody && isWhitespace(c)) { + continue + } else if (c === '?') { + parser.state = S.PROC_INST_ENDING + } else { + parser.procInstBody += c + } + continue + + case S.PROC_INST_ENDING: + if (c === '>') { + emitNode(parser, 'onprocessinginstruction', { + name: parser.procInstName, + body: parser.procInstBody + }) + parser.procInstName = parser.procInstBody = '' + parser.state = S.TEXT + } else { + parser.procInstBody += '?' + c + parser.state = S.PROC_INST_BODY + } + continue + + case S.OPEN_TAG: + if (isMatch(nameBody, c)) { + parser.tagName += c + } else { + newTag(parser) + if (c === '>') { + openTag(parser) + } else if (c === '/') { + parser.state = S.OPEN_TAG_SLASH + } else { + if (!isWhitespace(c)) { + strictFail(parser, 'Invalid character in tag name') + } + parser.state = S.ATTRIB + } + } + continue + + case S.OPEN_TAG_SLASH: + if (c === '>') { + openTag(parser, true) + closeTag(parser) + } else { + strictFail(parser, 'Forward-slash in opening tag not followed by >') + parser.state = S.ATTRIB + } + continue + + case S.ATTRIB: + // haven't read the attribute name yet. + if (isWhitespace(c)) { + continue + } else if (c === '>') { + openTag(parser) + } else if (c === '/') { + parser.state = S.OPEN_TAG_SLASH + } else if (isMatch(nameStart, c)) { + parser.attribName = c + parser.attribValue = '' + parser.state = S.ATTRIB_NAME + } else { + strictFail(parser, 'Invalid attribute name') + } + continue + + case S.ATTRIB_NAME: + if (c === '=') { + parser.state = S.ATTRIB_VALUE + } else if (c === '>') { + strictFail(parser, 'Attribute without value') + parser.attribValue = parser.attribName + attrib(parser) + openTag(parser) + } else if (isWhitespace(c)) { + parser.state = S.ATTRIB_NAME_SAW_WHITE + } else if (isMatch(nameBody, c)) { + parser.attribName += c + } else { + strictFail(parser, 'Invalid attribute name') + } + continue + + case S.ATTRIB_NAME_SAW_WHITE: + if (c === '=') { + parser.state = S.ATTRIB_VALUE + } else if (isWhitespace(c)) { + continue + } else { + strictFail(parser, 'Attribute without value') + parser.tag.attributes[parser.attribName] = '' + parser.attribValue = '' + emitNode(parser, 'onattribute', { + name: parser.attribName, + value: '' + }) + parser.attribName = '' + if (c === '>') { + openTag(parser) + } else if (isMatch(nameStart, c)) { + parser.attribName = c + parser.state = S.ATTRIB_NAME + } else { + strictFail(parser, 'Invalid attribute name') + parser.state = S.ATTRIB + } + } + continue + + case S.ATTRIB_VALUE: + if (isWhitespace(c)) { + continue + } else if (isQuote(c)) { + parser.q = c + parser.state = S.ATTRIB_VALUE_QUOTED + } else { + strictFail(parser, 'Unquoted attribute value') + parser.state = S.ATTRIB_VALUE_UNQUOTED + parser.attribValue = c + } + continue + + case S.ATTRIB_VALUE_QUOTED: + if (c !== parser.q) { + if (c === '&') { + parser.state = S.ATTRIB_VALUE_ENTITY_Q + } else { + parser.attribValue += c + } + continue + } + attrib(parser) + parser.q = '' + parser.state = S.ATTRIB_VALUE_CLOSED + continue + + case S.ATTRIB_VALUE_CLOSED: + if (isWhitespace(c)) { + parser.state = S.ATTRIB + } else if (c === '>') { + openTag(parser) + } else if (c === '/') { + parser.state = S.OPEN_TAG_SLASH + } else if (isMatch(nameStart, c)) { + strictFail(parser, 'No whitespace between attributes') + parser.attribName = c + parser.attribValue = '' + parser.state = S.ATTRIB_NAME + } else { + strictFail(parser, 'Invalid attribute name') + } + continue + + case S.ATTRIB_VALUE_UNQUOTED: + if (!isAttribEnd(c)) { + if (c === '&') { + parser.state = S.ATTRIB_VALUE_ENTITY_U + } else { + parser.attribValue += c + } + continue + } + attrib(parser) + if (c === '>') { + openTag(parser) + } else { + parser.state = S.ATTRIB + } + continue + + case S.CLOSE_TAG: + if (!parser.tagName) { + if (isWhitespace(c)) { + continue + } else if (notMatch(nameStart, c)) { + if (parser.script) { + parser.script += '</' + c + parser.state = S.SCRIPT + } else { + strictFail(parser, 'Invalid tagname in closing tag.') + } + } else { + parser.tagName = c + } + } else if (c === '>') { + closeTag(parser) + } else if (isMatch(nameBody, c)) { + parser.tagName += c + } else if (parser.script) { + parser.script += '</' + parser.tagName + parser.tagName = '' + parser.state = S.SCRIPT + } else { + if (!isWhitespace(c)) { + strictFail(parser, 'Invalid tagname in closing tag') + } + parser.state = S.CLOSE_TAG_SAW_WHITE + } + continue + + case S.CLOSE_TAG_SAW_WHITE: + if (isWhitespace(c)) { + continue + } + if (c === '>') { + closeTag(parser) + } else { + strictFail(parser, 'Invalid characters in closing tag') + } + continue + + case S.TEXT_ENTITY: + case S.ATTRIB_VALUE_ENTITY_Q: + case S.ATTRIB_VALUE_ENTITY_U: + var returnState + var buffer + switch (parser.state) { + case S.TEXT_ENTITY: + returnState = S.TEXT + buffer = 'textNode' + break + + case S.ATTRIB_VALUE_ENTITY_Q: + returnState = S.ATTRIB_VALUE_QUOTED + buffer = 'attribValue' + break + + case S.ATTRIB_VALUE_ENTITY_U: + returnState = S.ATTRIB_VALUE_UNQUOTED + buffer = 'attribValue' + break + } + + if (c === ';') { + var parsedEntity = parseEntity(parser) + + // Custom entities can contain tags, so we potentially need to parse the result + if (parser.state === S.TEXT_ENTITY && !sax.ENTITIES[parser.entity] && parsedEntity !== '&' + parser.entity + ';') { + chunk = chunk.slice(0, i) + parsedEntity + chunk.slice(i) + } else { + parser[buffer] += parsedEntity + } + + parser.entity = '' + parser.state = returnState + } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) { + parser.entity += c + } else { + strictFail(parser, 'Invalid character in entity name') + parser[buffer] += '&' + parser.entity + c + parser.entity = '' + parser.state = returnState + } + + continue + + default: + throw new Error(parser, 'Unknown state: ' + parser.state) + } + } // while + + if (parser.position >= parser.bufferCheckPosition) { + checkBufferLength(parser) + } + return parser + } +})(typeof exports === 'undefined' ? this.sax = {} : exports) diff --git a/.output/server/node_modules/@trysound/sax/package.json b/.output/server/node_modules/@trysound/sax/package.json new file mode 100644 index 00000000..c69aa8f9 --- /dev/null +++ b/.output/server/node_modules/@trysound/sax/package.json @@ -0,0 +1,30 @@ +{ + "version": "0.2.0", + "name": "@trysound/sax", + "description": "An evented streaming XML parser in JavaScript", + "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", + "repository": "git://github.com/svg/sax.git", + "license": "ISC", + "contributors": [ + { + "name": "Bogdan Chadkin", + "email": "trysound@yandex.ru", + "url": "http://github.com/TrySound" + } + ], + "main": "lib/sax.js", + "files": [ + "lib" + ], + "engines": { + "node": ">=10.13.0" + }, + "scripts": { + "test": "tap test/*.js --cov -j4", + "lint": "standard -F test/*.js lib/*.js" + }, + "devDependencies": { + "standard": "^8.6.0", + "tap": "^10.5.1" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@vue/compiler-core b/.output/server/node_modules/@vue/compiler-core new file mode 120000 index 00000000..de09897f --- /dev/null +++ b/.output/server/node_modules/@vue/compiler-core @@ -0,0 +1 @@ +../.nitro/@vue/compiler-core@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/compiler-dom b/.output/server/node_modules/@vue/compiler-dom new file mode 120000 index 00000000..c854ac3d --- /dev/null +++ b/.output/server/node_modules/@vue/compiler-dom @@ -0,0 +1 @@ +../.nitro/@vue/compiler-dom@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/compiler-ssr b/.output/server/node_modules/@vue/compiler-ssr new file mode 120000 index 00000000..22e26104 --- /dev/null +++ b/.output/server/node_modules/@vue/compiler-ssr @@ -0,0 +1 @@ +../.nitro/@vue/compiler-ssr@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/devtools-api/dist/index.cjs b/.output/server/node_modules/@vue/devtools-api/dist/index.cjs new file mode 100644 index 00000000..284c433a --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-api/dist/index.cjs @@ -0,0 +1,42 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/index.ts +var index_exports = {}; +__export(index_exports, { + addCustomCommand: () => import_devtools_kit.addCustomCommand, + addCustomTab: () => import_devtools_kit.addCustomTab, + onDevToolsClientConnected: () => import_devtools_kit.onDevToolsClientConnected, + onDevToolsConnected: () => import_devtools_kit.onDevToolsConnected, + removeCustomCommand: () => import_devtools_kit.removeCustomCommand, + setupDevToolsPlugin: () => import_devtools_kit.setupDevToolsPlugin, + setupDevtoolsPlugin: () => import_devtools_kit.setupDevToolsPlugin +}); +module.exports = __toCommonJS(index_exports); +var import_devtools_kit = require("@vue/devtools-kit"); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + addCustomCommand, + addCustomTab, + onDevToolsClientConnected, + onDevToolsConnected, + removeCustomCommand, + setupDevToolsPlugin, + setupDevtoolsPlugin +}); diff --git a/.output/server/node_modules/@vue/devtools-api/package.json b/.output/server/node_modules/@vue/devtools-api/package.json new file mode 100644 index 00000000..b043c6f7 --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-api/package.json @@ -0,0 +1,32 @@ +{ + "name": "@vue/devtools-api", + "type": "module", + "version": "7.7.7", + "author": "webfansplz", + "license": "MIT", + "repository": { + "directory": "packages/devtools-api", + "type": "git", + "url": "git+https://github.com/vuejs/devtools.git" + }, + "sideEffects": false, + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "files": [ + "dist" + ], + "dependencies": { + "@vue/devtools-kit": "^7.7.7" + }, + "scripts": { + "build": "tsup --clean", + "prepare:type": "tsup --dts-only", + "stub": "tsup --watch --onSuccess 'tsup --dts-only'" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@vue/devtools-kit/dist/index.cjs b/.output/server/node_modules/@vue/devtools-kit/dist/index.cjs new file mode 100644 index 00000000..ae366d1f --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-kit/dist/index.cjs @@ -0,0 +1,6850 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target22, all) => { + for (var name in all) + __defProp(target22, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target22) => (target22 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target22, "default", { value: mod, enumerable: true }) : target22, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js +var init_cjs_shims = __esm({ + "../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js"() { + "use strict"; + } +}); + +// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js +var require_speakingurl = __commonJS({ + "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(exports2, module2) { + "use strict"; + init_cjs_shims(); + (function(root) { + "use strict"; + var charMap = { + // latin + "\xC0": "A", + "\xC1": "A", + "\xC2": "A", + "\xC3": "A", + "\xC4": "Ae", + "\xC5": "A", + "\xC6": "AE", + "\xC7": "C", + "\xC8": "E", + "\xC9": "E", + "\xCA": "E", + "\xCB": "E", + "\xCC": "I", + "\xCD": "I", + "\xCE": "I", + "\xCF": "I", + "\xD0": "D", + "\xD1": "N", + "\xD2": "O", + "\xD3": "O", + "\xD4": "O", + "\xD5": "O", + "\xD6": "Oe", + "\u0150": "O", + "\xD8": "O", + "\xD9": "U", + "\xDA": "U", + "\xDB": "U", + "\xDC": "Ue", + "\u0170": "U", + "\xDD": "Y", + "\xDE": "TH", + "\xDF": "ss", + "\xE0": "a", + "\xE1": "a", + "\xE2": "a", + "\xE3": "a", + "\xE4": "ae", + "\xE5": "a", + "\xE6": "ae", + "\xE7": "c", + "\xE8": "e", + "\xE9": "e", + "\xEA": "e", + "\xEB": "e", + "\xEC": "i", + "\xED": "i", + "\xEE": "i", + "\xEF": "i", + "\xF0": "d", + "\xF1": "n", + "\xF2": "o", + "\xF3": "o", + "\xF4": "o", + "\xF5": "o", + "\xF6": "oe", + "\u0151": "o", + "\xF8": "o", + "\xF9": "u", + "\xFA": "u", + "\xFB": "u", + "\xFC": "ue", + "\u0171": "u", + "\xFD": "y", + "\xFE": "th", + "\xFF": "y", + "\u1E9E": "SS", + // language specific + // Arabic + "\u0627": "a", + "\u0623": "a", + "\u0625": "i", + "\u0622": "aa", + "\u0624": "u", + "\u0626": "e", + "\u0621": "a", + "\u0628": "b", + "\u062A": "t", + "\u062B": "th", + "\u062C": "j", + "\u062D": "h", + "\u062E": "kh", + "\u062F": "d", + "\u0630": "th", + "\u0631": "r", + "\u0632": "z", + "\u0633": "s", + "\u0634": "sh", + "\u0635": "s", + "\u0636": "dh", + "\u0637": "t", + "\u0638": "z", + "\u0639": "a", + "\u063A": "gh", + "\u0641": "f", + "\u0642": "q", + "\u0643": "k", + "\u0644": "l", + "\u0645": "m", + "\u0646": "n", + "\u0647": "h", + "\u0648": "w", + "\u064A": "y", + "\u0649": "a", + "\u0629": "h", + "\uFEFB": "la", + "\uFEF7": "laa", + "\uFEF9": "lai", + "\uFEF5": "laa", + // Persian additional characters than Arabic + "\u06AF": "g", + "\u0686": "ch", + "\u067E": "p", + "\u0698": "zh", + "\u06A9": "k", + "\u06CC": "y", + // Arabic diactrics + "\u064E": "a", + "\u064B": "an", + "\u0650": "e", + "\u064D": "en", + "\u064F": "u", + "\u064C": "on", + "\u0652": "", + // Arabic numbers + "\u0660": "0", + "\u0661": "1", + "\u0662": "2", + "\u0663": "3", + "\u0664": "4", + "\u0665": "5", + "\u0666": "6", + "\u0667": "7", + "\u0668": "8", + "\u0669": "9", + // Persian numbers + "\u06F0": "0", + "\u06F1": "1", + "\u06F2": "2", + "\u06F3": "3", + "\u06F4": "4", + "\u06F5": "5", + "\u06F6": "6", + "\u06F7": "7", + "\u06F8": "8", + "\u06F9": "9", + // Burmese consonants + "\u1000": "k", + "\u1001": "kh", + "\u1002": "g", + "\u1003": "ga", + "\u1004": "ng", + "\u1005": "s", + "\u1006": "sa", + "\u1007": "z", + "\u1005\u103B": "za", + "\u100A": "ny", + "\u100B": "t", + "\u100C": "ta", + "\u100D": "d", + "\u100E": "da", + "\u100F": "na", + "\u1010": "t", + "\u1011": "ta", + "\u1012": "d", + "\u1013": "da", + "\u1014": "n", + "\u1015": "p", + "\u1016": "pa", + "\u1017": "b", + "\u1018": "ba", + "\u1019": "m", + "\u101A": "y", + "\u101B": "ya", + "\u101C": "l", + "\u101D": "w", + "\u101E": "th", + "\u101F": "h", + "\u1020": "la", + "\u1021": "a", + // consonant character combos + "\u103C": "y", + "\u103B": "ya", + "\u103D": "w", + "\u103C\u103D": "yw", + "\u103B\u103D": "ywa", + "\u103E": "h", + // independent vowels + "\u1027": "e", + "\u104F": "-e", + "\u1023": "i", + "\u1024": "-i", + "\u1009": "u", + "\u1026": "-u", + "\u1029": "aw", + "\u101E\u103C\u1031\u102C": "aw", + "\u102A": "aw", + // numbers + "\u1040": "0", + "\u1041": "1", + "\u1042": "2", + "\u1043": "3", + "\u1044": "4", + "\u1045": "5", + "\u1046": "6", + "\u1047": "7", + "\u1048": "8", + "\u1049": "9", + // virama and tone marks which are silent in transliteration + "\u1039": "", + "\u1037": "", + "\u1038": "", + // Czech + "\u010D": "c", + "\u010F": "d", + "\u011B": "e", + "\u0148": "n", + "\u0159": "r", + "\u0161": "s", + "\u0165": "t", + "\u016F": "u", + "\u017E": "z", + "\u010C": "C", + "\u010E": "D", + "\u011A": "E", + "\u0147": "N", + "\u0158": "R", + "\u0160": "S", + "\u0164": "T", + "\u016E": "U", + "\u017D": "Z", + // Dhivehi + "\u0780": "h", + "\u0781": "sh", + "\u0782": "n", + "\u0783": "r", + "\u0784": "b", + "\u0785": "lh", + "\u0786": "k", + "\u0787": "a", + "\u0788": "v", + "\u0789": "m", + "\u078A": "f", + "\u078B": "dh", + "\u078C": "th", + "\u078D": "l", + "\u078E": "g", + "\u078F": "gn", + "\u0790": "s", + "\u0791": "d", + "\u0792": "z", + "\u0793": "t", + "\u0794": "y", + "\u0795": "p", + "\u0796": "j", + "\u0797": "ch", + "\u0798": "tt", + "\u0799": "hh", + "\u079A": "kh", + "\u079B": "th", + "\u079C": "z", + "\u079D": "sh", + "\u079E": "s", + "\u079F": "d", + "\u07A0": "t", + "\u07A1": "z", + "\u07A2": "a", + "\u07A3": "gh", + "\u07A4": "q", + "\u07A5": "w", + "\u07A6": "a", + "\u07A7": "aa", + "\u07A8": "i", + "\u07A9": "ee", + "\u07AA": "u", + "\u07AB": "oo", + "\u07AC": "e", + "\u07AD": "ey", + "\u07AE": "o", + "\u07AF": "oa", + "\u07B0": "", + // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian + // National system (2002) + "\u10D0": "a", + "\u10D1": "b", + "\u10D2": "g", + "\u10D3": "d", + "\u10D4": "e", + "\u10D5": "v", + "\u10D6": "z", + "\u10D7": "t", + "\u10D8": "i", + "\u10D9": "k", + "\u10DA": "l", + "\u10DB": "m", + "\u10DC": "n", + "\u10DD": "o", + "\u10DE": "p", + "\u10DF": "zh", + "\u10E0": "r", + "\u10E1": "s", + "\u10E2": "t", + "\u10E3": "u", + "\u10E4": "p", + "\u10E5": "k", + "\u10E6": "gh", + "\u10E7": "q", + "\u10E8": "sh", + "\u10E9": "ch", + "\u10EA": "ts", + "\u10EB": "dz", + "\u10EC": "ts", + "\u10ED": "ch", + "\u10EE": "kh", + "\u10EF": "j", + "\u10F0": "h", + // Greek + "\u03B1": "a", + "\u03B2": "v", + "\u03B3": "g", + "\u03B4": "d", + "\u03B5": "e", + "\u03B6": "z", + "\u03B7": "i", + "\u03B8": "th", + "\u03B9": "i", + "\u03BA": "k", + "\u03BB": "l", + "\u03BC": "m", + "\u03BD": "n", + "\u03BE": "ks", + "\u03BF": "o", + "\u03C0": "p", + "\u03C1": "r", + "\u03C3": "s", + "\u03C4": "t", + "\u03C5": "y", + "\u03C6": "f", + "\u03C7": "x", + "\u03C8": "ps", + "\u03C9": "o", + "\u03AC": "a", + "\u03AD": "e", + "\u03AF": "i", + "\u03CC": "o", + "\u03CD": "y", + "\u03AE": "i", + "\u03CE": "o", + "\u03C2": "s", + "\u03CA": "i", + "\u03B0": "y", + "\u03CB": "y", + "\u0390": "i", + "\u0391": "A", + "\u0392": "B", + "\u0393": "G", + "\u0394": "D", + "\u0395": "E", + "\u0396": "Z", + "\u0397": "I", + "\u0398": "TH", + "\u0399": "I", + "\u039A": "K", + "\u039B": "L", + "\u039C": "M", + "\u039D": "N", + "\u039E": "KS", + "\u039F": "O", + "\u03A0": "P", + "\u03A1": "R", + "\u03A3": "S", + "\u03A4": "T", + "\u03A5": "Y", + "\u03A6": "F", + "\u03A7": "X", + "\u03A8": "PS", + "\u03A9": "O", + "\u0386": "A", + "\u0388": "E", + "\u038A": "I", + "\u038C": "O", + "\u038E": "Y", + "\u0389": "I", + "\u038F": "O", + "\u03AA": "I", + "\u03AB": "Y", + // Latvian + "\u0101": "a", + // 'č': 'c', // duplicate + "\u0113": "e", + "\u0123": "g", + "\u012B": "i", + "\u0137": "k", + "\u013C": "l", + "\u0146": "n", + // 'š': 's', // duplicate + "\u016B": "u", + // 'ž': 'z', // duplicate + "\u0100": "A", + // 'Č': 'C', // duplicate + "\u0112": "E", + "\u0122": "G", + "\u012A": "I", + "\u0136": "k", + "\u013B": "L", + "\u0145": "N", + // 'Š': 'S', // duplicate + "\u016A": "U", + // 'Ž': 'Z', // duplicate + // Macedonian + "\u040C": "Kj", + "\u045C": "kj", + "\u0409": "Lj", + "\u0459": "lj", + "\u040A": "Nj", + "\u045A": "nj", + "\u0422\u0441": "Ts", + "\u0442\u0441": "ts", + // Polish + "\u0105": "a", + "\u0107": "c", + "\u0119": "e", + "\u0142": "l", + "\u0144": "n", + // 'ó': 'o', // duplicate + "\u015B": "s", + "\u017A": "z", + "\u017C": "z", + "\u0104": "A", + "\u0106": "C", + "\u0118": "E", + "\u0141": "L", + "\u0143": "N", + "\u015A": "S", + "\u0179": "Z", + "\u017B": "Z", + // Ukranian + "\u0404": "Ye", + "\u0406": "I", + "\u0407": "Yi", + "\u0490": "G", + "\u0454": "ye", + "\u0456": "i", + "\u0457": "yi", + "\u0491": "g", + // Romanian + "\u0103": "a", + "\u0102": "A", + "\u0219": "s", + "\u0218": "S", + // 'ş': 's', // duplicate + // 'Ş': 'S', // duplicate + "\u021B": "t", + "\u021A": "T", + "\u0163": "t", + "\u0162": "T", + // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian + // ICAO + "\u0430": "a", + "\u0431": "b", + "\u0432": "v", + "\u0433": "g", + "\u0434": "d", + "\u0435": "e", + "\u0451": "yo", + "\u0436": "zh", + "\u0437": "z", + "\u0438": "i", + "\u0439": "i", + "\u043A": "k", + "\u043B": "l", + "\u043C": "m", + "\u043D": "n", + "\u043E": "o", + "\u043F": "p", + "\u0440": "r", + "\u0441": "s", + "\u0442": "t", + "\u0443": "u", + "\u0444": "f", + "\u0445": "kh", + "\u0446": "c", + "\u0447": "ch", + "\u0448": "sh", + "\u0449": "sh", + "\u044A": "", + "\u044B": "y", + "\u044C": "", + "\u044D": "e", + "\u044E": "yu", + "\u044F": "ya", + "\u0410": "A", + "\u0411": "B", + "\u0412": "V", + "\u0413": "G", + "\u0414": "D", + "\u0415": "E", + "\u0401": "Yo", + "\u0416": "Zh", + "\u0417": "Z", + "\u0418": "I", + "\u0419": "I", + "\u041A": "K", + "\u041B": "L", + "\u041C": "M", + "\u041D": "N", + "\u041E": "O", + "\u041F": "P", + "\u0420": "R", + "\u0421": "S", + "\u0422": "T", + "\u0423": "U", + "\u0424": "F", + "\u0425": "Kh", + "\u0426": "C", + "\u0427": "Ch", + "\u0428": "Sh", + "\u0429": "Sh", + "\u042A": "", + "\u042B": "Y", + "\u042C": "", + "\u042D": "E", + "\u042E": "Yu", + "\u042F": "Ya", + // Serbian + "\u0452": "dj", + "\u0458": "j", + // 'љ': 'lj', // duplicate + // 'њ': 'nj', // duplicate + "\u045B": "c", + "\u045F": "dz", + "\u0402": "Dj", + "\u0408": "j", + // 'Љ': 'Lj', // duplicate + // 'Њ': 'Nj', // duplicate + "\u040B": "C", + "\u040F": "Dz", + // Slovak + "\u013E": "l", + "\u013A": "l", + "\u0155": "r", + "\u013D": "L", + "\u0139": "L", + "\u0154": "R", + // Turkish + "\u015F": "s", + "\u015E": "S", + "\u0131": "i", + "\u0130": "I", + // 'ç': 'c', // duplicate + // 'Ç': 'C', // duplicate + // 'ü': 'u', // duplicate, see langCharMap + // 'Ü': 'U', // duplicate, see langCharMap + // 'ö': 'o', // duplicate, see langCharMap + // 'Ö': 'O', // duplicate, see langCharMap + "\u011F": "g", + "\u011E": "G", + // Vietnamese + "\u1EA3": "a", + "\u1EA2": "A", + "\u1EB3": "a", + "\u1EB2": "A", + "\u1EA9": "a", + "\u1EA8": "A", + "\u0111": "d", + "\u0110": "D", + "\u1EB9": "e", + "\u1EB8": "E", + "\u1EBD": "e", + "\u1EBC": "E", + "\u1EBB": "e", + "\u1EBA": "E", + "\u1EBF": "e", + "\u1EBE": "E", + "\u1EC1": "e", + "\u1EC0": "E", + "\u1EC7": "e", + "\u1EC6": "E", + "\u1EC5": "e", + "\u1EC4": "E", + "\u1EC3": "e", + "\u1EC2": "E", + "\u1ECF": "o", + "\u1ECD": "o", + "\u1ECC": "o", + "\u1ED1": "o", + "\u1ED0": "O", + "\u1ED3": "o", + "\u1ED2": "O", + "\u1ED5": "o", + "\u1ED4": "O", + "\u1ED9": "o", + "\u1ED8": "O", + "\u1ED7": "o", + "\u1ED6": "O", + "\u01A1": "o", + "\u01A0": "O", + "\u1EDB": "o", + "\u1EDA": "O", + "\u1EDD": "o", + "\u1EDC": "O", + "\u1EE3": "o", + "\u1EE2": "O", + "\u1EE1": "o", + "\u1EE0": "O", + "\u1EDE": "o", + "\u1EDF": "o", + "\u1ECB": "i", + "\u1ECA": "I", + "\u0129": "i", + "\u0128": "I", + "\u1EC9": "i", + "\u1EC8": "i", + "\u1EE7": "u", + "\u1EE6": "U", + "\u1EE5": "u", + "\u1EE4": "U", + "\u0169": "u", + "\u0168": "U", + "\u01B0": "u", + "\u01AF": "U", + "\u1EE9": "u", + "\u1EE8": "U", + "\u1EEB": "u", + "\u1EEA": "U", + "\u1EF1": "u", + "\u1EF0": "U", + "\u1EEF": "u", + "\u1EEE": "U", + "\u1EED": "u", + "\u1EEC": "\u01B0", + "\u1EF7": "y", + "\u1EF6": "y", + "\u1EF3": "y", + "\u1EF2": "Y", + "\u1EF5": "y", + "\u1EF4": "Y", + "\u1EF9": "y", + "\u1EF8": "Y", + "\u1EA1": "a", + "\u1EA0": "A", + "\u1EA5": "a", + "\u1EA4": "A", + "\u1EA7": "a", + "\u1EA6": "A", + "\u1EAD": "a", + "\u1EAC": "A", + "\u1EAB": "a", + "\u1EAA": "A", + // 'ă': 'a', // duplicate + // 'Ă': 'A', // duplicate + "\u1EAF": "a", + "\u1EAE": "A", + "\u1EB1": "a", + "\u1EB0": "A", + "\u1EB7": "a", + "\u1EB6": "A", + "\u1EB5": "a", + "\u1EB4": "A", + "\u24EA": "0", + "\u2460": "1", + "\u2461": "2", + "\u2462": "3", + "\u2463": "4", + "\u2464": "5", + "\u2465": "6", + "\u2466": "7", + "\u2467": "8", + "\u2468": "9", + "\u2469": "10", + "\u246A": "11", + "\u246B": "12", + "\u246C": "13", + "\u246D": "14", + "\u246E": "15", + "\u246F": "16", + "\u2470": "17", + "\u2471": "18", + "\u2472": "18", + "\u2473": "18", + "\u24F5": "1", + "\u24F6": "2", + "\u24F7": "3", + "\u24F8": "4", + "\u24F9": "5", + "\u24FA": "6", + "\u24FB": "7", + "\u24FC": "8", + "\u24FD": "9", + "\u24FE": "10", + "\u24FF": "0", + "\u24EB": "11", + "\u24EC": "12", + "\u24ED": "13", + "\u24EE": "14", + "\u24EF": "15", + "\u24F0": "16", + "\u24F1": "17", + "\u24F2": "18", + "\u24F3": "19", + "\u24F4": "20", + "\u24B6": "A", + "\u24B7": "B", + "\u24B8": "C", + "\u24B9": "D", + "\u24BA": "E", + "\u24BB": "F", + "\u24BC": "G", + "\u24BD": "H", + "\u24BE": "I", + "\u24BF": "J", + "\u24C0": "K", + "\u24C1": "L", + "\u24C2": "M", + "\u24C3": "N", + "\u24C4": "O", + "\u24C5": "P", + "\u24C6": "Q", + "\u24C7": "R", + "\u24C8": "S", + "\u24C9": "T", + "\u24CA": "U", + "\u24CB": "V", + "\u24CC": "W", + "\u24CD": "X", + "\u24CE": "Y", + "\u24CF": "Z", + "\u24D0": "a", + "\u24D1": "b", + "\u24D2": "c", + "\u24D3": "d", + "\u24D4": "e", + "\u24D5": "f", + "\u24D6": "g", + "\u24D7": "h", + "\u24D8": "i", + "\u24D9": "j", + "\u24DA": "k", + "\u24DB": "l", + "\u24DC": "m", + "\u24DD": "n", + "\u24DE": "o", + "\u24DF": "p", + "\u24E0": "q", + "\u24E1": "r", + "\u24E2": "s", + "\u24E3": "t", + "\u24E4": "u", + "\u24E6": "v", + "\u24E5": "w", + "\u24E7": "x", + "\u24E8": "y", + "\u24E9": "z", + // symbols + "\u201C": '"', + "\u201D": '"', + "\u2018": "'", + "\u2019": "'", + "\u2202": "d", + "\u0192": "f", + "\u2122": "(TM)", + "\xA9": "(C)", + "\u0153": "oe", + "\u0152": "OE", + "\xAE": "(R)", + "\u2020": "+", + "\u2120": "(SM)", + "\u2026": "...", + "\u02DA": "o", + "\xBA": "o", + "\xAA": "a", + "\u2022": "*", + "\u104A": ",", + "\u104B": ".", + // currency + "$": "USD", + "\u20AC": "EUR", + "\u20A2": "BRN", + "\u20A3": "FRF", + "\xA3": "GBP", + "\u20A4": "ITL", + "\u20A6": "NGN", + "\u20A7": "ESP", + "\u20A9": "KRW", + "\u20AA": "ILS", + "\u20AB": "VND", + "\u20AD": "LAK", + "\u20AE": "MNT", + "\u20AF": "GRD", + "\u20B1": "ARS", + "\u20B2": "PYG", + "\u20B3": "ARA", + "\u20B4": "UAH", + "\u20B5": "GHS", + "\xA2": "cent", + "\xA5": "CNY", + "\u5143": "CNY", + "\u5186": "YEN", + "\uFDFC": "IRR", + "\u20A0": "EWE", + "\u0E3F": "THB", + "\u20A8": "INR", + "\u20B9": "INR", + "\u20B0": "PF", + "\u20BA": "TRY", + "\u060B": "AFN", + "\u20BC": "AZN", + "\u043B\u0432": "BGN", + "\u17DB": "KHR", + "\u20A1": "CRC", + "\u20B8": "KZT", + "\u0434\u0435\u043D": "MKD", + "z\u0142": "PLN", + "\u20BD": "RUB", + "\u20BE": "GEL" + }; + var lookAheadCharArray = [ + // burmese + "\u103A", + // Dhivehi + "\u07B0" + ]; + var diatricMap = { + // Burmese + // dependent vowels + "\u102C": "a", + "\u102B": "a", + "\u1031": "e", + "\u1032": "e", + "\u102D": "i", + "\u102E": "i", + "\u102D\u102F": "o", + "\u102F": "u", + "\u1030": "u", + "\u1031\u102B\u1004\u103A": "aung", + "\u1031\u102C": "aw", + "\u1031\u102C\u103A": "aw", + "\u1031\u102B": "aw", + "\u1031\u102B\u103A": "aw", + "\u103A": "\u103A", + // this is special case but the character will be converted to latin in the code + "\u1000\u103A": "et", + "\u102D\u102F\u1000\u103A": "aik", + "\u1031\u102C\u1000\u103A": "auk", + "\u1004\u103A": "in", + "\u102D\u102F\u1004\u103A": "aing", + "\u1031\u102C\u1004\u103A": "aung", + "\u1005\u103A": "it", + "\u100A\u103A": "i", + "\u1010\u103A": "at", + "\u102D\u1010\u103A": "eik", + "\u102F\u1010\u103A": "ok", + "\u103D\u1010\u103A": "ut", + "\u1031\u1010\u103A": "it", + "\u1012\u103A": "d", + "\u102D\u102F\u1012\u103A": "ok", + "\u102F\u1012\u103A": "ait", + "\u1014\u103A": "an", + "\u102C\u1014\u103A": "an", + "\u102D\u1014\u103A": "ein", + "\u102F\u1014\u103A": "on", + "\u103D\u1014\u103A": "un", + "\u1015\u103A": "at", + "\u102D\u1015\u103A": "eik", + "\u102F\u1015\u103A": "ok", + "\u103D\u1015\u103A": "ut", + "\u1014\u103A\u102F\u1015\u103A": "nub", + "\u1019\u103A": "an", + "\u102D\u1019\u103A": "ein", + "\u102F\u1019\u103A": "on", + "\u103D\u1019\u103A": "un", + "\u101A\u103A": "e", + "\u102D\u102F\u101C\u103A": "ol", + "\u1009\u103A": "in", + "\u1036": "an", + "\u102D\u1036": "ein", + "\u102F\u1036": "on", + // Dhivehi + "\u07A6\u0787\u07B0": "ah", + "\u07A6\u0781\u07B0": "ah" + }; + var langCharMap = { + "en": {}, + // default language + "az": { + // Azerbaijani + "\xE7": "c", + "\u0259": "e", + "\u011F": "g", + "\u0131": "i", + "\xF6": "o", + "\u015F": "s", + "\xFC": "u", + "\xC7": "C", + "\u018F": "E", + "\u011E": "G", + "\u0130": "I", + "\xD6": "O", + "\u015E": "S", + "\xDC": "U" + }, + "cs": { + // Czech + "\u010D": "c", + "\u010F": "d", + "\u011B": "e", + "\u0148": "n", + "\u0159": "r", + "\u0161": "s", + "\u0165": "t", + "\u016F": "u", + "\u017E": "z", + "\u010C": "C", + "\u010E": "D", + "\u011A": "E", + "\u0147": "N", + "\u0158": "R", + "\u0160": "S", + "\u0164": "T", + "\u016E": "U", + "\u017D": "Z" + }, + "fi": { + // Finnish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + "\xE4": "a", + // ok + "\xC4": "A", + // ok + "\xF6": "o", + // ok + "\xD6": "O" + // ok + }, + "hu": { + // Hungarian + "\xE4": "a", + // ok + "\xC4": "A", + // ok + // 'á': 'a', duplicate see charMap/latin + // 'Á': 'A', duplicate see charMap/latin + "\xF6": "o", + // ok + "\xD6": "O", + // ok + // 'ő': 'o', duplicate see charMap/latin + // 'Ő': 'O', duplicate see charMap/latin + "\xFC": "u", + "\xDC": "U", + "\u0171": "u", + "\u0170": "U" + }, + "lt": { + // Lithuanian + "\u0105": "a", + "\u010D": "c", + "\u0119": "e", + "\u0117": "e", + "\u012F": "i", + "\u0161": "s", + "\u0173": "u", + "\u016B": "u", + "\u017E": "z", + "\u0104": "A", + "\u010C": "C", + "\u0118": "E", + "\u0116": "E", + "\u012E": "I", + "\u0160": "S", + "\u0172": "U", + "\u016A": "U" + }, + "lv": { + // Latvian + "\u0101": "a", + "\u010D": "c", + "\u0113": "e", + "\u0123": "g", + "\u012B": "i", + "\u0137": "k", + "\u013C": "l", + "\u0146": "n", + "\u0161": "s", + "\u016B": "u", + "\u017E": "z", + "\u0100": "A", + "\u010C": "C", + "\u0112": "E", + "\u0122": "G", + "\u012A": "i", + "\u0136": "k", + "\u013B": "L", + "\u0145": "N", + "\u0160": "S", + "\u016A": "u", + "\u017D": "Z" + }, + "pl": { + // Polish + "\u0105": "a", + "\u0107": "c", + "\u0119": "e", + "\u0142": "l", + "\u0144": "n", + "\xF3": "o", + "\u015B": "s", + "\u017A": "z", + "\u017C": "z", + "\u0104": "A", + "\u0106": "C", + "\u0118": "e", + "\u0141": "L", + "\u0143": "N", + "\xD3": "O", + "\u015A": "S", + "\u0179": "Z", + "\u017B": "Z" + }, + "sv": { + // Swedish + // 'å': 'a', duplicate see charMap/latin + // 'Å': 'A', duplicate see charMap/latin + "\xE4": "a", + // ok + "\xC4": "A", + // ok + "\xF6": "o", + // ok + "\xD6": "O" + // ok + }, + "sk": { + // Slovak + "\xE4": "a", + "\xC4": "A" + }, + "sr": { + // Serbian + "\u0459": "lj", + "\u045A": "nj", + "\u0409": "Lj", + "\u040A": "Nj", + "\u0111": "dj", + "\u0110": "Dj" + }, + "tr": { + // Turkish + "\xDC": "U", + "\xD6": "O", + "\xFC": "u", + "\xF6": "o" + } + }; + var symbolMap = { + "ar": { + "\u2206": "delta", + "\u221E": "la-nihaya", + "\u2665": "hob", + "&": "wa", + "|": "aw", + "<": "aqal-men", + ">": "akbar-men", + "\u2211": "majmou", + "\xA4": "omla" + }, + "az": {}, + "ca": { + "\u2206": "delta", + "\u221E": "infinit", + "\u2665": "amor", + "&": "i", + "|": "o", + "<": "menys que", + ">": "mes que", + "\u2211": "suma dels", + "\xA4": "moneda" + }, + "cs": { + "\u2206": "delta", + "\u221E": "nekonecno", + "\u2665": "laska", + "&": "a", + "|": "nebo", + "<": "mensi nez", + ">": "vetsi nez", + "\u2211": "soucet", + "\xA4": "mena" + }, + "de": { + "\u2206": "delta", + "\u221E": "unendlich", + "\u2665": "Liebe", + "&": "und", + "|": "oder", + "<": "kleiner als", + ">": "groesser als", + "\u2211": "Summe von", + "\xA4": "Waehrung" + }, + "dv": { + "\u2206": "delta", + "\u221E": "kolunulaa", + "\u2665": "loabi", + "&": "aai", + "|": "noonee", + "<": "ah vure kuda", + ">": "ah vure bodu", + "\u2211": "jumula", + "\xA4": "faisaa" + }, + "en": { + "\u2206": "delta", + "\u221E": "infinity", + "\u2665": "love", + "&": "and", + "|": "or", + "<": "less than", + ">": "greater than", + "\u2211": "sum", + "\xA4": "currency" + }, + "es": { + "\u2206": "delta", + "\u221E": "infinito", + "\u2665": "amor", + "&": "y", + "|": "u", + "<": "menos que", + ">": "mas que", + "\u2211": "suma de los", + "\xA4": "moneda" + }, + "fa": { + "\u2206": "delta", + "\u221E": "bi-nahayat", + "\u2665": "eshgh", + "&": "va", + "|": "ya", + "<": "kamtar-az", + ">": "bishtar-az", + "\u2211": "majmooe", + "\xA4": "vahed" + }, + "fi": { + "\u2206": "delta", + "\u221E": "aarettomyys", + "\u2665": "rakkaus", + "&": "ja", + "|": "tai", + "<": "pienempi kuin", + ">": "suurempi kuin", + "\u2211": "summa", + "\xA4": "valuutta" + }, + "fr": { + "\u2206": "delta", + "\u221E": "infiniment", + "\u2665": "Amour", + "&": "et", + "|": "ou", + "<": "moins que", + ">": "superieure a", + "\u2211": "somme des", + "\xA4": "monnaie" + }, + "ge": { + "\u2206": "delta", + "\u221E": "usasruloba", + "\u2665": "siqvaruli", + "&": "da", + "|": "an", + "<": "naklebi", + ">": "meti", + "\u2211": "jami", + "\xA4": "valuta" + }, + "gr": {}, + "hu": { + "\u2206": "delta", + "\u221E": "vegtelen", + "\u2665": "szerelem", + "&": "es", + "|": "vagy", + "<": "kisebb mint", + ">": "nagyobb mint", + "\u2211": "szumma", + "\xA4": "penznem" + }, + "it": { + "\u2206": "delta", + "\u221E": "infinito", + "\u2665": "amore", + "&": "e", + "|": "o", + "<": "minore di", + ">": "maggiore di", + "\u2211": "somma", + "\xA4": "moneta" + }, + "lt": { + "\u2206": "delta", + "\u221E": "begalybe", + "\u2665": "meile", + "&": "ir", + "|": "ar", + "<": "maziau nei", + ">": "daugiau nei", + "\u2211": "suma", + "\xA4": "valiuta" + }, + "lv": { + "\u2206": "delta", + "\u221E": "bezgaliba", + "\u2665": "milestiba", + "&": "un", + "|": "vai", + "<": "mazak neka", + ">": "lielaks neka", + "\u2211": "summa", + "\xA4": "valuta" + }, + "my": { + "\u2206": "kwahkhyaet", + "\u221E": "asaonasme", + "\u2665": "akhyait", + "&": "nhin", + "|": "tho", + "<": "ngethaw", + ">": "kyithaw", + "\u2211": "paungld", + "\xA4": "ngwekye" + }, + "mk": {}, + "nl": { + "\u2206": "delta", + "\u221E": "oneindig", + "\u2665": "liefde", + "&": "en", + "|": "of", + "<": "kleiner dan", + ">": "groter dan", + "\u2211": "som", + "\xA4": "valuta" + }, + "pl": { + "\u2206": "delta", + "\u221E": "nieskonczonosc", + "\u2665": "milosc", + "&": "i", + "|": "lub", + "<": "mniejsze niz", + ">": "wieksze niz", + "\u2211": "suma", + "\xA4": "waluta" + }, + "pt": { + "\u2206": "delta", + "\u221E": "infinito", + "\u2665": "amor", + "&": "e", + "|": "ou", + "<": "menor que", + ">": "maior que", + "\u2211": "soma", + "\xA4": "moeda" + }, + "ro": { + "\u2206": "delta", + "\u221E": "infinit", + "\u2665": "dragoste", + "&": "si", + "|": "sau", + "<": "mai mic ca", + ">": "mai mare ca", + "\u2211": "suma", + "\xA4": "valuta" + }, + "ru": { + "\u2206": "delta", + "\u221E": "beskonechno", + "\u2665": "lubov", + "&": "i", + "|": "ili", + "<": "menshe", + ">": "bolshe", + "\u2211": "summa", + "\xA4": "valjuta" + }, + "sk": { + "\u2206": "delta", + "\u221E": "nekonecno", + "\u2665": "laska", + "&": "a", + "|": "alebo", + "<": "menej ako", + ">": "viac ako", + "\u2211": "sucet", + "\xA4": "mena" + }, + "sr": {}, + "tr": { + "\u2206": "delta", + "\u221E": "sonsuzluk", + "\u2665": "ask", + "&": "ve", + "|": "veya", + "<": "kucuktur", + ">": "buyuktur", + "\u2211": "toplam", + "\xA4": "para birimi" + }, + "uk": { + "\u2206": "delta", + "\u221E": "bezkinechnist", + "\u2665": "lubov", + "&": "i", + "|": "abo", + "<": "menshe", + ">": "bilshe", + "\u2211": "suma", + "\xA4": "valjuta" + }, + "vn": { + "\u2206": "delta", + "\u221E": "vo cuc", + "\u2665": "yeu", + "&": "va", + "|": "hoac", + "<": "nho hon", + ">": "lon hon", + "\u2211": "tong", + "\xA4": "tien te" + } + }; + var uricChars = [";", "?", ":", "@", "&", "=", "+", "$", ",", "/"].join(""); + var uricNoSlashChars = [";", "?", ":", "@", "&", "=", "+", "$", ","].join(""); + var markChars = [".", "!", "~", "*", "'", "(", ")"].join(""); + var getSlug = function getSlug2(input, opts) { + var separator = "-"; + var result = ""; + var diatricString = ""; + var convertSymbols = true; + var customReplacements = {}; + var maintainCase; + var titleCase; + var truncate; + var uricFlag; + var uricNoSlashFlag; + var markFlag; + var symbol; + var langChar; + var lucky; + var i; + var ch; + var l; + var lastCharWasSymbol; + var lastCharWasDiatric; + var allowedChars = ""; + if (typeof input !== "string") { + return ""; + } + if (typeof opts === "string") { + separator = opts; + } + symbol = symbolMap.en; + langChar = langCharMap.en; + if (typeof opts === "object") { + maintainCase = opts.maintainCase || false; + customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements; + truncate = +opts.truncate > 1 && opts.truncate || false; + uricFlag = opts.uric || false; + uricNoSlashFlag = opts.uricNoSlash || false; + markFlag = opts.mark || false; + convertSymbols = opts.symbols === false || opts.lang === false ? false : true; + separator = opts.separator || separator; + if (uricFlag) { + allowedChars += uricChars; + } + if (uricNoSlashFlag) { + allowedChars += uricNoSlashChars; + } + if (markFlag) { + allowedChars += markChars; + } + symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {}; + langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en; + if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) { + opts.titleCase.forEach(function(v) { + customReplacements[v + ""] = v + ""; + }); + titleCase = true; + } else { + titleCase = !!opts.titleCase; + } + if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) { + opts.custom.forEach(function(v) { + customReplacements[v + ""] = v + ""; + }); + } + Object.keys(customReplacements).forEach(function(v) { + var r; + if (v.length > 1) { + r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi"); + } else { + r = new RegExp(escapeChars(v), "gi"); + } + input = input.replace(r, customReplacements[v]); + }); + for (ch in customReplacements) { + allowedChars += ch; + } + } + allowedChars += separator; + allowedChars = escapeChars(allowedChars); + input = input.replace(/(^\s+|\s+$)/g, ""); + lastCharWasSymbol = false; + lastCharWasDiatric = false; + for (i = 0, l = input.length; i < l; i++) { + ch = input[i]; + if (isReplacedCustomChar(ch, customReplacements)) { + lastCharWasSymbol = false; + } else if (langChar[ch]) { + ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch]; + lastCharWasSymbol = false; + } else if (ch in charMap) { + if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) { + diatricString += ch; + ch = ""; + } else if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + charMap[ch]; + diatricString = ""; + } else { + ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch]; + } + lastCharWasSymbol = false; + lastCharWasDiatric = false; + } else if (ch in diatricMap) { + diatricString += ch; + ch = ""; + if (i === l - 1) { + ch = diatricMap[diatricString]; + } + lastCharWasDiatric = true; + } else if ( + // process symbol chars + symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1) + ) { + ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch]; + ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : ""; + lastCharWasSymbol = true; + } else { + if (lastCharWasDiatric === true) { + ch = diatricMap[diatricString] + ch; + diatricString = ""; + lastCharWasDiatric = false; + } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) { + ch = " " + ch; + } + lastCharWasSymbol = false; + } + result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator); + } + if (titleCase) { + result = result.replace(/(\w)(\S*)/g, function(_, i2, r) { + var j = i2.toUpperCase() + (r !== null ? r : ""); + return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase(); + }); + } + result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), ""); + if (truncate && result.length > truncate) { + lucky = result.charAt(truncate) === separator; + result = result.slice(0, truncate); + if (!lucky) { + result = result.slice(0, result.lastIndexOf(separator)); + } + } + if (!maintainCase && !titleCase) { + result = result.toLowerCase(); + } + return result; + }; + var createSlug = function createSlug2(opts) { + return function getSlugWithConfig(input) { + return getSlug(input, opts); + }; + }; + var escapeChars = function escapeChars2(input) { + return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&"); + }; + var isReplacedCustomChar = function(ch, customReplacements) { + for (var c in customReplacements) { + if (customReplacements[c] === ch) { + return true; + } + } + }; + if (typeof module2 !== "undefined" && module2.exports) { + module2.exports = getSlug; + module2.exports.createSlug = createSlug; + } else if (typeof define !== "undefined" && define.amd) { + define([], function() { + return getSlug; + }); + } else { + try { + if (root.getSlug || root.createSlug) { + throw "speakingurl: globals exists /(getSlug|createSlug)/"; + } else { + root.getSlug = getSlug; + root.createSlug = createSlug; + } + } catch (e) { + } + } + })(exports2); + } +}); + +// ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js +var require_speakingurl2 = __commonJS({ + "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(exports2, module2) { + "use strict"; + init_cjs_shims(); + module2.exports = require_speakingurl(); + } +}); + +// src/index.ts +var index_exports = {}; +__export(index_exports, { + DevToolsContextHookKeys: () => DevToolsContextHookKeys, + DevToolsMessagingHookKeys: () => DevToolsMessagingHookKeys, + DevToolsV6PluginAPIHookKeys: () => DevToolsV6PluginAPIHookKeys, + INFINITY: () => INFINITY, + NAN: () => NAN, + NEGATIVE_INFINITY: () => NEGATIVE_INFINITY, + ROUTER_INFO_KEY: () => ROUTER_INFO_KEY, + ROUTER_KEY: () => ROUTER_KEY, + UNDEFINED: () => UNDEFINED, + activeAppRecord: () => activeAppRecord, + addCustomCommand: () => addCustomCommand, + addCustomTab: () => addCustomTab, + addDevToolsAppRecord: () => addDevToolsAppRecord, + addDevToolsPluginToBuffer: () => addDevToolsPluginToBuffer, + addInspector: () => addInspector, + callConnectedUpdatedHook: () => callConnectedUpdatedHook, + callDevToolsPluginSetupFn: () => callDevToolsPluginSetupFn, + callInspectorUpdatedHook: () => callInspectorUpdatedHook, + callStateUpdatedHook: () => callStateUpdatedHook, + createComponentsDevToolsPlugin: () => createComponentsDevToolsPlugin, + createDevToolsApi: () => createDevToolsApi, + createDevToolsCtxHooks: () => createDevToolsCtxHooks, + createRpcClient: () => createRpcClient, + createRpcProxy: () => createRpcProxy, + createRpcServer: () => createRpcServer, + devtools: () => devtools, + devtoolsAppRecords: () => devtoolsAppRecords, + devtoolsContext: () => devtoolsContext, + devtoolsInspector: () => devtoolsInspector, + devtoolsPluginBuffer: () => devtoolsPluginBuffer, + devtoolsRouter: () => devtoolsRouter, + devtoolsRouterInfo: () => devtoolsRouterInfo, + devtoolsState: () => devtoolsState, + escape: () => escape, + formatInspectorStateValue: () => formatInspectorStateValue, + getActiveInspectors: () => getActiveInspectors, + getDevToolsEnv: () => getDevToolsEnv, + getExtensionClientContext: () => getExtensionClientContext, + getInspector: () => getInspector, + getInspectorActions: () => getInspectorActions, + getInspectorInfo: () => getInspectorInfo, + getInspectorNodeActions: () => getInspectorNodeActions, + getInspectorStateValueType: () => getInspectorStateValueType, + getRaw: () => getRaw, + getRpcClient: () => getRpcClient, + getRpcServer: () => getRpcServer, + getViteRpcClient: () => getViteRpcClient, + getViteRpcServer: () => getViteRpcServer, + initDevTools: () => initDevTools, + isPlainObject: () => isPlainObject, + onDevToolsClientConnected: () => onDevToolsClientConnected, + onDevToolsConnected: () => onDevToolsConnected, + parse: () => parse2, + registerDevToolsPlugin: () => registerDevToolsPlugin, + removeCustomCommand: () => removeCustomCommand, + removeDevToolsAppRecord: () => removeDevToolsAppRecord, + removeRegisteredPluginApp: () => removeRegisteredPluginApp, + resetDevToolsState: () => resetDevToolsState, + setActiveAppRecord: () => setActiveAppRecord, + setActiveAppRecordId: () => setActiveAppRecordId, + setDevToolsEnv: () => setDevToolsEnv, + setElectronClientContext: () => setElectronClientContext, + setElectronProxyContext: () => setElectronProxyContext, + setElectronServerContext: () => setElectronServerContext, + setExtensionClientContext: () => setExtensionClientContext, + setIframeServerContext: () => setIframeServerContext, + setOpenInEditorBaseUrl: () => setOpenInEditorBaseUrl, + setRpcServerToGlobal: () => setRpcServerToGlobal, + setViteClientContext: () => setViteClientContext, + setViteRpcClientToGlobal: () => setViteRpcClientToGlobal, + setViteRpcServerToGlobal: () => setViteRpcServerToGlobal, + setViteServerContext: () => setViteServerContext, + setupDevToolsPlugin: () => setupDevToolsPlugin, + stringify: () => stringify2, + toEdit: () => toEdit, + toSubmit: () => toSubmit, + toggleClientConnected: () => toggleClientConnected, + toggleComponentInspectorEnabled: () => toggleComponentInspectorEnabled, + toggleHighPerfMode: () => toggleHighPerfMode, + updateDevToolsClientDetected: () => updateDevToolsClientDetected, + updateDevToolsState: () => updateDevToolsState, + updateTimelineLayersState: () => updateTimelineLayersState +}); +module.exports = __toCommonJS(index_exports); +init_cjs_shims(); + +// src/core/index.ts +init_cjs_shims(); +var import_devtools_shared21 = require("@vue/devtools-shared"); + +// src/compat/index.ts +init_cjs_shims(); +var import_devtools_shared = require("@vue/devtools-shared"); +function onLegacyDevToolsPluginApiAvailable(cb) { + if (import_devtools_shared.target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) { + cb(); + return; + } + Object.defineProperty(import_devtools_shared.target, "__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__", { + set(value) { + if (value) + cb(); + }, + configurable: true + }); +} + +// src/ctx/index.ts +init_cjs_shims(); +var import_devtools_shared19 = require("@vue/devtools-shared"); + +// src/ctx/api.ts +init_cjs_shims(); +var import_devtools_shared17 = require("@vue/devtools-shared"); + +// src/core/component-highlighter/index.ts +init_cjs_shims(); + +// src/core/component/state/bounding-rect.ts +init_cjs_shims(); + +// src/core/component/utils/index.ts +init_cjs_shims(); +var import_devtools_shared2 = require("@vue/devtools-shared"); +function getComponentTypeName(options) { + var _a25; + const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name; + if (name === "index" && ((_a25 = options.__file) == null ? void 0 : _a25.endsWith("index.vue"))) { + return ""; + } + return name; +} +function getComponentFileName(options) { + const file = options.__file; + if (file) + return (0, import_devtools_shared2.classify)((0, import_devtools_shared2.basename)(file, ".vue")); +} +function getComponentName(options) { + const name = options.displayName || options.name || options._componentTag; + if (name) + return name; + return getComponentFileName(options); +} +function saveComponentGussedName(instance, name) { + instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name; + return name; +} +function getAppRecord(instance) { + if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) + return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__; + else if (instance.root) + return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; +} +async function getComponentId(options) { + const { app, uid, instance } = options; + try { + if (instance.__VUE_DEVTOOLS_NEXT_UID__) + return instance.__VUE_DEVTOOLS_NEXT_UID__; + const appRecord = await getAppRecord(app); + if (!appRecord) + return null; + const isRoot = appRecord.rootInstance === instance; + return `${appRecord.id}:${isRoot ? "root" : uid}`; + } catch (e) { + } +} +function isFragment(instance) { + var _a25, _b25; + const subTreeType = (_a25 = instance.subTree) == null ? void 0 : _a25.type; + const appRecord = getAppRecord(instance); + if (appRecord) { + return ((_b25 = appRecord == null ? void 0 : appRecord.types) == null ? void 0 : _b25.Fragment) === subTreeType; + } + return false; +} +function isBeingDestroyed(instance) { + return instance._isBeingDestroyed || instance.isUnmounted; +} +function getInstanceName(instance) { + var _a25, _b25, _c; + const name = getComponentTypeName((instance == null ? void 0 : instance.type) || {}); + if (name) + return name; + if ((instance == null ? void 0 : instance.root) === instance) + return "Root"; + for (const key in (_b25 = (_a25 = instance.parent) == null ? void 0 : _a25.type) == null ? void 0 : _b25.components) { + if (instance.parent.type.components[key] === (instance == null ? void 0 : instance.type)) + return saveComponentGussedName(instance, key); + } + for (const key in (_c = instance.appContext) == null ? void 0 : _c.components) { + if (instance.appContext.components[key] === (instance == null ? void 0 : instance.type)) + return saveComponentGussedName(instance, key); + } + const fileName = getComponentFileName((instance == null ? void 0 : instance.type) || {}); + if (fileName) + return fileName; + return "Anonymous Component"; +} +function getUniqueComponentId(instance) { + var _a25, _b25, _c; + const appId = (_c = (_b25 = (_a25 = instance == null ? void 0 : instance.appContext) == null ? void 0 : _a25.app) == null ? void 0 : _b25.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__) != null ? _c : 0; + const instanceId = instance === (instance == null ? void 0 : instance.root) ? "root" : instance.uid; + return `${appId}:${instanceId}`; +} +function getRenderKey(value) { + if (value == null) + return ""; + if (typeof value === "number") + return value; + else if (typeof value === "string") + return `'${value}'`; + else if (Array.isArray(value)) + return "Array"; + else + return "Object"; +} +function returnError(cb) { + try { + return cb(); + } catch (e) { + return e; + } +} +function getComponentInstance(appRecord, instanceId) { + instanceId = instanceId || `${appRecord.id}:root`; + const instance = appRecord.instanceMap.get(instanceId); + return instance || appRecord.instanceMap.get(":root"); +} +function ensurePropertyExists(obj, key, skipObjCheck = false) { + return skipObjCheck ? key in obj : typeof obj === "object" && obj !== null ? key in obj : false; +} + +// src/core/component/state/bounding-rect.ts +function createRect() { + const rect = { + top: 0, + bottom: 0, + left: 0, + right: 0, + get width() { + return rect.right - rect.left; + }, + get height() { + return rect.bottom - rect.top; + } + }; + return rect; +} +var range; +function getTextRect(node) { + if (!range) + range = document.createRange(); + range.selectNode(node); + return range.getBoundingClientRect(); +} +function getFragmentRect(vnode) { + const rect = createRect(); + if (!vnode.children) + return rect; + for (let i = 0, l = vnode.children.length; i < l; i++) { + const childVnode = vnode.children[i]; + let childRect; + if (childVnode.component) { + childRect = getComponentBoundingRect(childVnode.component); + } else if (childVnode.el) { + const el = childVnode.el; + if (el.nodeType === 1 || el.getBoundingClientRect) + childRect = el.getBoundingClientRect(); + else if (el.nodeType === 3 && el.data.trim()) + childRect = getTextRect(el); + } + if (childRect) + mergeRects(rect, childRect); + } + return rect; +} +function mergeRects(a, b) { + if (!a.top || b.top < a.top) + a.top = b.top; + if (!a.bottom || b.bottom > a.bottom) + a.bottom = b.bottom; + if (!a.left || b.left < a.left) + a.left = b.left; + if (!a.right || b.right > a.right) + a.right = b.right; + return a; +} +var DEFAULT_RECT = { + top: 0, + left: 0, + right: 0, + bottom: 0, + width: 0, + height: 0 +}; +function getComponentBoundingRect(instance) { + const el = instance.subTree.el; + if (typeof window === "undefined") { + return DEFAULT_RECT; + } + if (isFragment(instance)) + return getFragmentRect(instance.subTree); + else if ((el == null ? void 0 : el.nodeType) === 1) + return el == null ? void 0 : el.getBoundingClientRect(); + else if (instance.subTree.component) + return getComponentBoundingRect(instance.subTree.component); + else + return DEFAULT_RECT; +} + +// src/core/component/tree/el.ts +init_cjs_shims(); +function getRootElementsFromComponentInstance(instance) { + if (isFragment(instance)) + return getFragmentRootElements(instance.subTree); + if (!instance.subTree) + return []; + return [instance.subTree.el]; +} +function getFragmentRootElements(vnode) { + if (!vnode.children) + return []; + const list = []; + vnode.children.forEach((childVnode) => { + if (childVnode.component) + list.push(...getRootElementsFromComponentInstance(childVnode.component)); + else if (childVnode == null ? void 0 : childVnode.el) + list.push(childVnode.el); + }); + return list; +} + +// src/core/component-highlighter/index.ts +var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__"; +var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__"; +var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__"; +var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__"; +var containerStyles = { + display: "block", + zIndex: 2147483640, + position: "fixed", + backgroundColor: "#42b88325", + border: "1px solid #42b88350", + borderRadius: "5px", + transition: "all 0.1s ease-in", + pointerEvents: "none" +}; +var cardStyles = { + fontFamily: "Arial, Helvetica, sans-serif", + padding: "5px 8px", + borderRadius: "4px", + textAlign: "left", + position: "absolute", + left: 0, + color: "#e9e9e9", + fontSize: "14px", + fontWeight: 600, + lineHeight: "24px", + backgroundColor: "#42b883", + boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" +}; +var indicatorStyles = { + display: "inline-block", + fontWeight: 400, + fontStyle: "normal", + fontSize: "12px", + opacity: 0.7 +}; +function getContainerElement() { + return document.getElementById(CONTAINER_ELEMENT_ID); +} +function getCardElement() { + return document.getElementById(CARD_ELEMENT_ID); +} +function getIndicatorElement() { + return document.getElementById(INDICATOR_ELEMENT_ID); +} +function getNameElement() { + return document.getElementById(COMPONENT_NAME_ELEMENT_ID); +} +function getStyles(bounds) { + return { + left: `${Math.round(bounds.left * 100) / 100}px`, + top: `${Math.round(bounds.top * 100) / 100}px`, + width: `${Math.round(bounds.width * 100) / 100}px`, + height: `${Math.round(bounds.height * 100) / 100}px` + }; +} +function create(options) { + var _a25; + const containerEl = document.createElement("div"); + containerEl.id = (_a25 = options.elementId) != null ? _a25 : CONTAINER_ELEMENT_ID; + Object.assign(containerEl.style, { + ...containerStyles, + ...getStyles(options.bounds), + ...options.style + }); + const cardEl = document.createElement("span"); + cardEl.id = CARD_ELEMENT_ID; + Object.assign(cardEl.style, { + ...cardStyles, + top: options.bounds.top < 35 ? 0 : "-35px" + }); + const nameEl = document.createElement("span"); + nameEl.id = COMPONENT_NAME_ELEMENT_ID; + nameEl.innerHTML = `<${options.name}>  `; + const indicatorEl = document.createElement("i"); + indicatorEl.id = INDICATOR_ELEMENT_ID; + indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; + Object.assign(indicatorEl.style, indicatorStyles); + cardEl.appendChild(nameEl); + cardEl.appendChild(indicatorEl); + containerEl.appendChild(cardEl); + document.body.appendChild(containerEl); + return containerEl; +} +function update(options) { + const containerEl = getContainerElement(); + const cardEl = getCardElement(); + const nameEl = getNameElement(); + const indicatorEl = getIndicatorElement(); + if (containerEl) { + Object.assign(containerEl.style, { + ...containerStyles, + ...getStyles(options.bounds) + }); + Object.assign(cardEl.style, { + top: options.bounds.top < 35 ? 0 : "-35px" + }); + nameEl.innerHTML = `<${options.name}>  `; + indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`; + } +} +function highlight(instance) { + const bounds = getComponentBoundingRect(instance); + if (!bounds.width && !bounds.height) + return; + const name = getInstanceName(instance); + const container = getContainerElement(); + container ? update({ bounds, name }) : create({ bounds, name }); +} +function unhighlight() { + const el = getContainerElement(); + if (el) + el.style.display = "none"; +} +var inspectInstance = null; +function inspectFn(e) { + const target22 = e.target; + if (target22) { + const instance = target22.__vueParentComponent; + if (instance) { + inspectInstance = instance; + const el = instance.vnode.el; + if (el) { + const bounds = getComponentBoundingRect(instance); + const name = getInstanceName(instance); + const container = getContainerElement(); + container ? update({ bounds, name }) : create({ bounds, name }); + } + } + } +} +function selectComponentFn(e, cb) { + e.preventDefault(); + e.stopPropagation(); + if (inspectInstance) { + const uniqueComponentId = getUniqueComponentId(inspectInstance); + cb(uniqueComponentId); + } +} +var inspectComponentHighLighterSelectFn = null; +function cancelInspectComponentHighLighter() { + unhighlight(); + window.removeEventListener("mouseover", inspectFn); + window.removeEventListener("click", inspectComponentHighLighterSelectFn, true); + inspectComponentHighLighterSelectFn = null; +} +function inspectComponentHighLighter() { + window.addEventListener("mouseover", inspectFn); + return new Promise((resolve) => { + function onSelect(e) { + e.preventDefault(); + e.stopPropagation(); + selectComponentFn(e, (id) => { + window.removeEventListener("click", onSelect, true); + inspectComponentHighLighterSelectFn = null; + window.removeEventListener("mouseover", inspectFn); + const el = getContainerElement(); + if (el) + el.style.display = "none"; + resolve(JSON.stringify({ id })); + }); + } + inspectComponentHighLighterSelectFn = onSelect; + window.addEventListener("click", onSelect, true); + }); +} +function scrollToComponent(options) { + const instance = getComponentInstance(activeAppRecord.value, options.id); + if (instance) { + const [el] = getRootElementsFromComponentInstance(instance); + if (typeof el.scrollIntoView === "function") { + el.scrollIntoView({ + behavior: "smooth" + }); + } else { + const bounds = getComponentBoundingRect(instance); + const scrollTarget = document.createElement("div"); + const styles = { + ...getStyles(bounds), + position: "absolute" + }; + Object.assign(scrollTarget.style, styles); + document.body.appendChild(scrollTarget); + scrollTarget.scrollIntoView({ + behavior: "smooth" + }); + setTimeout(() => { + document.body.removeChild(scrollTarget); + }, 2e3); + } + setTimeout(() => { + const bounds = getComponentBoundingRect(instance); + if (bounds.width || bounds.height) { + const name = getInstanceName(instance); + const el2 = getContainerElement(); + el2 ? update({ ...options, name, bounds }) : create({ ...options, name, bounds }); + setTimeout(() => { + if (el2) + el2.style.display = "none"; + }, 1500); + } + }, 1200); + } +} + +// src/core/component-inspector/index.ts +init_cjs_shims(); +var import_devtools_shared3 = require("@vue/devtools-shared"); +var _a, _b; +(_b = (_a = import_devtools_shared3.target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b : _a.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true; +function toggleComponentInspectorEnabled(enabled) { + import_devtools_shared3.target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled; +} +function waitForInspectorInit(cb) { + let total = 0; + const timer = setInterval(() => { + if (import_devtools_shared3.target.__VUE_INSPECTOR__) { + clearInterval(timer); + total += 30; + cb(); + } + if (total >= /* 5s */ + 5e3) + clearInterval(timer); + }, 30); +} +function setupInspector() { + const inspector = import_devtools_shared3.target.__VUE_INSPECTOR__; + const _openInEditor = inspector.openInEditor; + inspector.openInEditor = async (...params) => { + inspector.disable(); + _openInEditor(...params); + }; +} +function getComponentInspector() { + return new Promise((resolve) => { + function setup() { + setupInspector(); + resolve(import_devtools_shared3.target.__VUE_INSPECTOR__); + } + if (!import_devtools_shared3.target.__VUE_INSPECTOR__) { + waitForInspectorInit(() => { + setup(); + }); + } else { + setup(); + } + }); +} + +// src/core/component/state/editor.ts +init_cjs_shims(); + +// src/shared/stub-vue.ts +init_cjs_shims(); +function isReadonly(value) { + return !!(value && value["__v_isReadonly" /* IS_READONLY */]); +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw" /* RAW */]); + } + return !!(value && value["__v_isReactive" /* IS_REACTIVE */]); +} +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +function toRaw(observed) { + const raw = observed && observed["__v_raw" /* RAW */]; + return raw ? toRaw(raw) : observed; +} +var Fragment = Symbol.for("v-fgt"); + +// src/core/component/state/editor.ts +var StateEditor = class { + constructor() { + this.refEditor = new RefStateEditor(); + } + set(object, path, value, cb) { + const sections = Array.isArray(path) ? path : path.split("."); + const markRef = false; + while (sections.length > 1) { + const section = sections.shift(); + if (object instanceof Map) + object = object.get(section); + else if (object instanceof Set) + object = Array.from(object.values())[section]; + else object = object[section]; + if (this.refEditor.isRef(object)) + object = this.refEditor.get(object); + } + const field = sections[0]; + const item = this.refEditor.get(object)[field]; + if (cb) { + cb(object, field, value); + } else { + if (this.refEditor.isRef(item)) + this.refEditor.set(item, value); + else if (markRef) + object[field] = value; + else + object[field] = value; + } + } + get(object, path) { + const sections = Array.isArray(path) ? path : path.split("."); + for (let i = 0; i < sections.length; i++) { + if (object instanceof Map) + object = object.get(sections[i]); + else + object = object[sections[i]]; + if (this.refEditor.isRef(object)) + object = this.refEditor.get(object); + if (!object) + return void 0; + } + return object; + } + has(object, path, parent = false) { + if (typeof object === "undefined") + return false; + const sections = Array.isArray(path) ? path.slice() : path.split("."); + const size = !parent ? 1 : 2; + while (object && sections.length > size) { + const section = sections.shift(); + object = object[section]; + if (this.refEditor.isRef(object)) + object = this.refEditor.get(object); + } + return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]); + } + createDefaultSetCallback(state) { + return (object, field, value) => { + if (state.remove || state.newKey) { + if (Array.isArray(object)) + object.splice(field, 1); + else if (toRaw(object) instanceof Map) + object.delete(field); + else if (toRaw(object) instanceof Set) + object.delete(Array.from(object.values())[field]); + else Reflect.deleteProperty(object, field); + } + if (!state.remove) { + const target22 = object[state.newKey || field]; + if (this.refEditor.isRef(target22)) + this.refEditor.set(target22, value); + else if (toRaw(object) instanceof Map) + object.set(state.newKey || field, value); + else if (toRaw(object) instanceof Set) + object.add(value); + else + object[state.newKey || field] = value; + } + }; + } +}; +var RefStateEditor = class { + set(ref, value) { + if (isRef(ref)) { + ref.value = value; + } else { + if (ref instanceof Set && Array.isArray(value)) { + ref.clear(); + value.forEach((v) => ref.add(v)); + return; + } + const currentKeys = Object.keys(value); + if (ref instanceof Map) { + const previousKeysSet2 = new Set(ref.keys()); + currentKeys.forEach((key) => { + ref.set(key, Reflect.get(value, key)); + previousKeysSet2.delete(key); + }); + previousKeysSet2.forEach((key) => ref.delete(key)); + return; + } + const previousKeysSet = new Set(Object.keys(ref)); + currentKeys.forEach((key) => { + Reflect.set(ref, key, Reflect.get(value, key)); + previousKeysSet.delete(key); + }); + previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key)); + } + } + get(ref) { + return isRef(ref) ? ref.value : ref; + } + isRef(ref) { + return isRef(ref) || isReactive(ref); + } +}; +async function editComponentState(payload, stateEditor2) { + const { path, nodeId, state, type } = payload; + const instance = getComponentInstance(activeAppRecord.value, nodeId); + if (!instance) + return; + const targetPath = path.slice(); + let target22; + if (Object.keys(instance.props).includes(path[0])) { + target22 = instance.props; + } else if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0])) { + target22 = instance.devtoolsRawSetupState; + } else if (instance.data && Object.keys(instance.data).includes(path[0])) { + target22 = instance.data; + } else { + target22 = instance.proxy; + } + if (target22 && targetPath) { + if (state.type === "object" && type === "reactive") { + } + stateEditor2.set(target22, targetPath, state.value, stateEditor2.createDefaultSetCallback(state)); + } +} +var stateEditor = new StateEditor(); +async function editState(payload) { + editComponentState(payload, stateEditor); +} + +// src/core/open-in-editor/index.ts +init_cjs_shims(); +var import_devtools_shared8 = require("@vue/devtools-shared"); + +// src/ctx/state.ts +init_cjs_shims(); +var import_devtools_shared7 = require("@vue/devtools-shared"); +var import_perfect_debounce3 = require("perfect-debounce"); + +// src/core/timeline/storage.ts +init_cjs_shims(); +var import_devtools_shared4 = require("@vue/devtools-shared"); +var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__"; +function addTimelineLayersStateToStorage(state) { + if (!import_devtools_shared4.isBrowser || typeof localStorage === "undefined" || localStorage === null) { + return; + } + localStorage.setItem(TIMELINE_LAYERS_STATE_STORAGE_ID, JSON.stringify(state)); +} +function getTimelineLayersStateFromStorage() { + if (!import_devtools_shared4.isBrowser || typeof localStorage === "undefined" || localStorage === null) { + return { + recordingState: false, + mouseEventEnabled: false, + keyboardEventEnabled: false, + componentEventEnabled: false, + performanceEventEnabled: false, + selected: "" + }; + } + const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID); + return state ? JSON.parse(state) : { + recordingState: false, + mouseEventEnabled: false, + keyboardEventEnabled: false, + componentEventEnabled: false, + performanceEventEnabled: false, + selected: "" + }; +} + +// src/ctx/hook.ts +init_cjs_shims(); +var import_hookable = require("hookable"); +var import_perfect_debounce2 = require("perfect-debounce"); + +// src/ctx/inspector.ts +init_cjs_shims(); +var import_devtools_shared6 = require("@vue/devtools-shared"); +var import_perfect_debounce = require("perfect-debounce"); + +// src/ctx/timeline.ts +init_cjs_shims(); +var import_devtools_shared5 = require("@vue/devtools-shared"); +var _a2, _b2; +(_b2 = (_a2 = import_devtools_shared5.target).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = []; +var devtoolsTimelineLayers = new Proxy(import_devtools_shared5.target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { + get(target22, prop, receiver) { + return Reflect.get(target22, prop, receiver); + } +}); +function addTimelineLayer(options, descriptor) { + devtoolsState.timelineLayersState[descriptor.id] = false; + devtoolsTimelineLayers.push({ + ...options, + descriptorId: descriptor.id, + appRecord: getAppRecord(descriptor.app) + }); +} +function updateTimelineLayersState(state) { + const updatedState = { + ...devtoolsState.timelineLayersState, + ...state + }; + addTimelineLayersStateToStorage(updatedState); + updateDevToolsState({ + timelineLayersState: updatedState + }); +} + +// src/ctx/inspector.ts +var _a3, _b3; +(_b3 = (_a3 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_INSPECTOR__ = []; +var devtoolsInspector = new Proxy(import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { + get(target22, prop, receiver) { + return Reflect.get(target22, prop, receiver); + } +}); +var callInspectorUpdatedHook = (0, import_perfect_debounce.debounce)(() => { + devtoolsContext.hooks.callHook("sendInspectorToClient" /* SEND_INSPECTOR_TO_CLIENT */, getActiveInspectors()); +}); +function addInspector(inspector, descriptor) { + var _a25, _b25; + devtoolsInspector.push({ + options: inspector, + descriptor, + treeFilterPlaceholder: (_a25 = inspector.treeFilterPlaceholder) != null ? _a25 : "Search tree...", + stateFilterPlaceholder: (_b25 = inspector.stateFilterPlaceholder) != null ? _b25 : "Search state...", + treeFilter: "", + selectedNodeId: "", + appRecord: getAppRecord(descriptor.app) + }); + callInspectorUpdatedHook(); +} +function getActiveInspectors() { + return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => { + var _a25; + const descriptor = inspector.descriptor; + const options = inspector.options; + return { + id: options.id, + label: options.label, + logo: descriptor.logo, + icon: `custom-ic-baseline-${(_a25 = options == null ? void 0 : options.icon) == null ? void 0 : _a25.replace(/_/g, "-")}`, + packageName: descriptor.packageName, + homepage: descriptor.homepage, + pluginId: descriptor.id + }; + }); +} +function getInspectorInfo(id) { + const inspector = getInspector(id, activeAppRecord.value.app); + if (!inspector) + return; + const descriptor = inspector.descriptor; + const options = inspector.options; + const timelineLayers = devtoolsTimelineLayers.filter((layer) => layer.descriptorId === descriptor.id).map((item) => ({ + id: item.id, + label: item.label, + color: item.color + })); + return { + id: options.id, + label: options.label, + logo: descriptor.logo, + packageName: descriptor.packageName, + homepage: descriptor.homepage, + timelineLayers, + treeFilterPlaceholder: inspector.treeFilterPlaceholder, + stateFilterPlaceholder: inspector.stateFilterPlaceholder + }; +} +function getInspector(id, app) { + return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true)); +} +function getInspectorActions(id) { + const inspector = getInspector(id); + return inspector == null ? void 0 : inspector.options.actions; +} +function getInspectorNodeActions(id) { + const inspector = getInspector(id); + return inspector == null ? void 0 : inspector.options.nodeActions; +} + +// src/ctx/hook.ts +var DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ ((DevToolsV6PluginAPIHookKeys2) => { + DevToolsV6PluginAPIHookKeys2["VISIT_COMPONENT_TREE"] = "visitComponentTree"; + DevToolsV6PluginAPIHookKeys2["INSPECT_COMPONENT"] = "inspectComponent"; + DevToolsV6PluginAPIHookKeys2["EDIT_COMPONENT_STATE"] = "editComponentState"; + DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_TREE"] = "getInspectorTree"; + DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_STATE"] = "getInspectorState"; + DevToolsV6PluginAPIHookKeys2["EDIT_INSPECTOR_STATE"] = "editInspectorState"; + DevToolsV6PluginAPIHookKeys2["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent"; + DevToolsV6PluginAPIHookKeys2["TIMELINE_CLEARED"] = "timelineCleared"; + DevToolsV6PluginAPIHookKeys2["SET_PLUGIN_SETTINGS"] = "setPluginSettings"; + return DevToolsV6PluginAPIHookKeys2; +})(DevToolsV6PluginAPIHookKeys || {}); +var DevToolsContextHookKeys = /* @__PURE__ */ ((DevToolsContextHookKeys2) => { + DevToolsContextHookKeys2["ADD_INSPECTOR"] = "addInspector"; + DevToolsContextHookKeys2["SEND_INSPECTOR_TREE"] = "sendInspectorTree"; + DevToolsContextHookKeys2["SEND_INSPECTOR_STATE"] = "sendInspectorState"; + DevToolsContextHookKeys2["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode"; + DevToolsContextHookKeys2["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded"; + DevToolsContextHookKeys2["TIMELINE_EVENT_ADDED"] = "timelineEventAdded"; + DevToolsContextHookKeys2["GET_COMPONENT_INSTANCES"] = "getComponentInstances"; + DevToolsContextHookKeys2["GET_COMPONENT_BOUNDS"] = "getComponentBounds"; + DevToolsContextHookKeys2["GET_COMPONENT_NAME"] = "getComponentName"; + DevToolsContextHookKeys2["COMPONENT_HIGHLIGHT"] = "componentHighlight"; + DevToolsContextHookKeys2["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight"; + return DevToolsContextHookKeys2; +})(DevToolsContextHookKeys || {}); +var DevToolsMessagingHookKeys = /* @__PURE__ */ ((DevToolsMessagingHookKeys2) => { + DevToolsMessagingHookKeys2["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient"; + DevToolsMessagingHookKeys2["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient"; + DevToolsMessagingHookKeys2["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient"; + DevToolsMessagingHookKeys2["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient"; + DevToolsMessagingHookKeys2["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient"; + DevToolsMessagingHookKeys2["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated"; + DevToolsMessagingHookKeys2["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated"; + DevToolsMessagingHookKeys2["ROUTER_INFO_UPDATED"] = "routerInfoUpdated"; + return DevToolsMessagingHookKeys2; +})(DevToolsMessagingHookKeys || {}); +function createDevToolsCtxHooks() { + const hooks2 = (0, import_hookable.createHooks)(); + hooks2.hook("addInspector" /* ADD_INSPECTOR */, ({ inspector, plugin }) => { + addInspector(inspector, plugin.descriptor); + }); + const debounceSendInspectorTree = (0, import_perfect_debounce2.debounce)(async ({ inspectorId, plugin }) => { + var _a25; + if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled) + return; + const inspector = getInspector(inspectorId, plugin.descriptor.app); + const _payload = { + app: plugin.descriptor.app, + inspectorId, + filter: (inspector == null ? void 0 : inspector.treeFilter) || "", + rootNodes: [] + }; + await new Promise((resolve) => { + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload))); + resolve(); + }, "getInspectorTree" /* GET_INSPECTOR_TREE */); + }); + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb({ + inspectorId, + rootNodes: _payload.rootNodes + }))); + }, "sendInspectorTreeToClient" /* SEND_INSPECTOR_TREE_TO_CLIENT */); + }, 120); + hooks2.hook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, debounceSendInspectorTree); + const debounceSendInspectorState = (0, import_perfect_debounce2.debounce)(async ({ inspectorId, plugin }) => { + var _a25; + if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled) + return; + const inspector = getInspector(inspectorId, plugin.descriptor.app); + const _payload = { + app: plugin.descriptor.app, + inspectorId, + nodeId: (inspector == null ? void 0 : inspector.selectedNodeId) || "", + state: null + }; + const ctx = { + currentTab: `custom-inspector:${inspectorId}` + }; + if (_payload.nodeId) { + await new Promise((resolve) => { + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); + resolve(); + }, "getInspectorState" /* GET_INSPECTOR_STATE */); + }); + } + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb({ + inspectorId, + nodeId: _payload.nodeId, + state: _payload.state + }))); + }, "sendInspectorStateToClient" /* SEND_INSPECTOR_STATE_TO_CLIENT */); + }, 120); + hooks2.hook("sendInspectorState" /* SEND_INSPECTOR_STATE */, debounceSendInspectorState); + hooks2.hook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, ({ inspectorId, nodeId, plugin }) => { + const inspector = getInspector(inspectorId, plugin.descriptor.app); + if (!inspector) + return; + inspector.selectedNodeId = nodeId; + }); + hooks2.hook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, ({ options, plugin }) => { + addTimelineLayer(options, plugin.descriptor); + }); + hooks2.hook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, ({ options, plugin }) => { + var _a25; + const internalLayerIds = ["performance", "component-event", "keyboard", "mouse"]; + if (devtoolsState.highPerfModeEnabled || !((_a25 = devtoolsState.timelineLayersState) == null ? void 0 : _a25[plugin.descriptor.id]) && !internalLayerIds.includes(options.layerId)) + return; + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(options))); + }, "sendTimelineEventToClient" /* SEND_TIMELINE_EVENT_TO_CLIENT */); + }); + hooks2.hook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, async ({ app }) => { + const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__; + if (!appRecord) + return null; + const appId = appRecord.id.toString(); + const instances = [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance); + return instances; + }); + hooks2.hook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, async ({ instance }) => { + const bounds = getComponentBoundingRect(instance); + return bounds; + }); + hooks2.hook("getComponentName" /* GET_COMPONENT_NAME */, ({ instance }) => { + const name = getInstanceName(instance); + return name; + }); + hooks2.hook("componentHighlight" /* COMPONENT_HIGHLIGHT */, ({ uid }) => { + const instance = activeAppRecord.value.instanceMap.get(uid); + if (instance) { + highlight(instance); + } + }); + hooks2.hook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */, () => { + unhighlight(); + }); + return hooks2; +} + +// src/ctx/state.ts +var _a4, _b4; +(_b4 = (_a4 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = []; +var _a5, _b5; +(_b5 = (_a5 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {}; +var _a6, _b6; +(_b6 = (_a6 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b6 : _a6.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = ""; +var _a7, _b7; +(_b7 = (_a7 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = []; +var _a8, _b8; +(_b8 = (_a8 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = []; +var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__"; +function initStateFactory() { + return { + connected: false, + clientConnected: false, + vitePluginDetected: true, + appRecords: [], + activeAppRecordId: "", + tabs: [], + commands: [], + highPerfModeEnabled: true, + devtoolsClientDetected: {}, + perfUniqueGroupId: 0, + timelineLayersState: getTimelineLayersStateFromStorage() + }; +} +var _a9, _b9; +(_b9 = (_a9 = import_devtools_shared7.target)[STATE_KEY]) != null ? _b9 : _a9[STATE_KEY] = initStateFactory(); +var callStateUpdatedHook = (0, import_perfect_debounce3.debounce)((state) => { + devtoolsContext.hooks.callHook("devtoolsStateUpdated" /* DEVTOOLS_STATE_UPDATED */, { state }); +}); +var callConnectedUpdatedHook = (0, import_perfect_debounce3.debounce)((state, oldState) => { + devtoolsContext.hooks.callHook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState }); +}); +var devtoolsAppRecords = new Proxy(import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { + get(_target, prop, receiver) { + if (prop === "value") + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__; + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop]; + } +}); +var addDevToolsAppRecord = (app) => { + import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [ + ...import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, + app + ]; +}; +var removeDevToolsAppRecord = (app) => { + import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app); +}; +var activeAppRecord = new Proxy(import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { + get(_target, prop, receiver) { + if (prop === "value") + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__; + else if (prop === "id") + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__; + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop]; + } +}); +function updateAllStates() { + callStateUpdatedHook({ + ...import_devtools_shared7.target[STATE_KEY], + appRecords: devtoolsAppRecords.value, + activeAppRecordId: activeAppRecord.id, + tabs: import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__, + commands: import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ + }); +} +function setActiveAppRecord(app) { + import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app; + updateAllStates(); +} +function setActiveAppRecordId(id) { + import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id; + updateAllStates(); +} +var devtoolsState = new Proxy(import_devtools_shared7.target[STATE_KEY], { + get(target22, property) { + if (property === "appRecords") { + return devtoolsAppRecords; + } else if (property === "activeAppRecordId") { + return activeAppRecord.id; + } else if (property === "tabs") { + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; + } else if (property === "commands") { + return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + } + return import_devtools_shared7.target[STATE_KEY][property]; + }, + deleteProperty(target22, property) { + delete target22[property]; + return true; + }, + set(target22, property, value) { + const oldState = { ...import_devtools_shared7.target[STATE_KEY] }; + target22[property] = value; + import_devtools_shared7.target[STATE_KEY][property] = value; + return true; + } +}); +function resetDevToolsState() { + Object.assign(import_devtools_shared7.target[STATE_KEY], initStateFactory()); +} +function updateDevToolsState(state) { + const oldState = { + ...import_devtools_shared7.target[STATE_KEY], + appRecords: devtoolsAppRecords.value, + activeAppRecordId: activeAppRecord.id + }; + if (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) { + callConnectedUpdatedHook(import_devtools_shared7.target[STATE_KEY], oldState); + } + Object.assign(import_devtools_shared7.target[STATE_KEY], state); + updateAllStates(); +} +function onDevToolsConnected(fn) { + return new Promise((resolve) => { + if (devtoolsState.connected) { + fn(); + resolve(); + } + devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => { + if (state.connected) { + fn(); + resolve(); + } + }); + }); +} +var resolveIcon = (icon) => { + if (!icon) + return; + if (icon.startsWith("baseline-")) { + return `custom-ic-${icon}`; + } + if (icon.startsWith("i-") || (0, import_devtools_shared7.isUrlString)(icon)) + return icon; + return `custom-ic-baseline-${icon}`; +}; +function addCustomTab(tab) { + const tabs = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__; + if (tabs.some((t) => t.name === tab.name)) + return; + tabs.push({ + ...tab, + icon: resolveIcon(tab.icon) + }); + updateAllStates(); +} +function addCustomCommand(action) { + const commands = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + if (commands.some((t) => t.id === action.id)) + return; + commands.push({ + ...action, + icon: resolveIcon(action.icon), + children: action.children ? action.children.map((child) => ({ + ...child, + icon: resolveIcon(child.icon) + })) : void 0 + }); + updateAllStates(); +} +function removeCustomCommand(actionId) { + const commands = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__; + const index = commands.findIndex((t) => t.id === actionId); + if (index === -1) + return; + commands.splice(index, 1); + updateAllStates(); +} +function toggleClientConnected(state) { + updateDevToolsState({ clientConnected: state }); +} + +// src/core/open-in-editor/index.ts +function setOpenInEditorBaseUrl(url) { + import_devtools_shared8.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url; +} +function openInEditor(options = {}) { + var _a25, _b25, _c; + const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options; + if (file) { + if (host === "chrome-extension") { + const fileName = file.replace(/\\/g, "\\\\"); + const _baseUrl = (_b25 = (_a25 = window.VUE_DEVTOOLS_CONFIG) == null ? void 0 : _a25.openInEditorHost) != null ? _b25 : "/"; + fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => { + if (!response.ok) { + const msg = `Opening component ${fileName} failed`; + console.log(`%c${msg}`, "color:red"); + } + }); + } else if (devtoolsState.vitePluginDetected) { + const _baseUrl = (_c = import_devtools_shared8.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl; + import_devtools_shared8.target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column); + } + } +} + +// src/core/plugin/index.ts +init_cjs_shims(); +var import_devtools_shared14 = require("@vue/devtools-shared"); + +// src/api/index.ts +init_cjs_shims(); + +// src/api/v6/index.ts +init_cjs_shims(); + +// src/core/plugin/plugin-settings.ts +init_cjs_shims(); + +// src/ctx/plugin.ts +init_cjs_shims(); +var import_devtools_shared9 = require("@vue/devtools-shared"); +var _a10, _b10; +(_b10 = (_a10 = import_devtools_shared9.target).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b10 : _a10.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = []; +var devtoolsPluginBuffer = new Proxy(import_devtools_shared9.target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { + get(target22, prop, receiver) { + return Reflect.get(target22, prop, receiver); + } +}); +function addDevToolsPluginToBuffer(pluginDescriptor, setupFn) { + devtoolsPluginBuffer.push([pluginDescriptor, setupFn]); +} + +// src/core/plugin/plugin-settings.ts +function _getSettings(settings) { + const _settings = {}; + Object.keys(settings).forEach((key) => { + _settings[key] = settings[key].defaultValue; + }); + return _settings; +} +function getPluginLocalKey(pluginId) { + return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`; +} +function getPluginSettingsOptions(pluginId) { + var _a25, _b25, _c; + const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => { + var _a26; + return item2[0].id === pluginId && !!((_a26 = item2[0]) == null ? void 0 : _a26.settings); + })) == null ? void 0 : _a25[0]) != null ? _b25 : null; + return (_c = item == null ? void 0 : item.settings) != null ? _c : null; +} +function getPluginSettings(pluginId, fallbackValue) { + var _a25, _b25, _c; + const localKey = getPluginLocalKey(pluginId); + if (localKey) { + const localSettings = localStorage.getItem(localKey); + if (localSettings) { + return JSON.parse(localSettings); + } + } + if (pluginId) { + const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null; + return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {}); + } + return _getSettings(fallbackValue); +} +function initPluginSettings(pluginId, settings) { + const localKey = getPluginLocalKey(pluginId); + const localSettings = localStorage.getItem(localKey); + if (!localSettings) { + localStorage.setItem(localKey, JSON.stringify(_getSettings(settings))); + } +} +function setPluginSettings(pluginId, key, value) { + const localKey = getPluginLocalKey(pluginId); + const localSettings = localStorage.getItem(localKey); + const parsedLocalSettings = JSON.parse(localSettings || "{}"); + const updated = { + ...parsedLocalSettings, + [key]: value + }; + localStorage.setItem(localKey, JSON.stringify(updated)); + devtoolsContext.hooks.callHookWith((callbacks) => { + callbacks.forEach((cb) => cb({ + pluginId, + key, + oldValue: parsedLocalSettings[key], + newValue: value, + settings: updated + })); + }, "setPluginSettings" /* SET_PLUGIN_SETTINGS */); +} + +// src/hook/index.ts +init_cjs_shims(); +var import_devtools_shared10 = require("@vue/devtools-shared"); +var import_hookable2 = require("hookable"); + +// src/types/index.ts +init_cjs_shims(); + +// src/types/app.ts +init_cjs_shims(); + +// src/types/command.ts +init_cjs_shims(); + +// src/types/component.ts +init_cjs_shims(); + +// src/types/hook.ts +init_cjs_shims(); + +// src/types/inspector.ts +init_cjs_shims(); + +// src/types/plugin.ts +init_cjs_shims(); + +// src/types/router.ts +init_cjs_shims(); + +// src/types/tab.ts +init_cjs_shims(); + +// src/types/timeline.ts +init_cjs_shims(); + +// src/hook/index.ts +var _a11, _b11; +var devtoolsHooks = (_b11 = (_a11 = import_devtools_shared10.target).__VUE_DEVTOOLS_HOOK) != null ? _b11 : _a11.__VUE_DEVTOOLS_HOOK = (0, import_hookable2.createHooks)(); +var on = { + vueAppInit(fn) { + devtoolsHooks.hook("app:init" /* APP_INIT */, fn); + }, + vueAppUnmount(fn) { + devtoolsHooks.hook("app:unmount" /* APP_UNMOUNT */, fn); + }, + vueAppConnected(fn) { + devtoolsHooks.hook("app:connected" /* APP_CONNECTED */, fn); + }, + componentAdded(fn) { + return devtoolsHooks.hook("component:added" /* COMPONENT_ADDED */, fn); + }, + componentEmit(fn) { + return devtoolsHooks.hook("component:emit" /* COMPONENT_EMIT */, fn); + }, + componentUpdated(fn) { + return devtoolsHooks.hook("component:updated" /* COMPONENT_UPDATED */, fn); + }, + componentRemoved(fn) { + return devtoolsHooks.hook("component:removed" /* COMPONENT_REMOVED */, fn); + }, + setupDevtoolsPlugin(fn) { + devtoolsHooks.hook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, fn); + }, + perfStart(fn) { + return devtoolsHooks.hook("perf:start" /* PERFORMANCE_START */, fn); + }, + perfEnd(fn) { + return devtoolsHooks.hook("perf:end" /* PERFORMANCE_END */, fn); + } +}; +function createDevToolsHook() { + return { + id: "vue-devtools-next", + devtoolsVersion: "7.0", + enabled: false, + appRecords: [], + apps: [], + events: /* @__PURE__ */ new Map(), + on(event, fn) { + var _a25; + if (!this.events.has(event)) + this.events.set(event, []); + (_a25 = this.events.get(event)) == null ? void 0 : _a25.push(fn); + return () => this.off(event, fn); + }, + once(event, fn) { + const onceFn = (...args) => { + this.off(event, onceFn); + fn(...args); + }; + this.on(event, onceFn); + return [event, onceFn]; + }, + off(event, fn) { + if (this.events.has(event)) { + const eventCallbacks = this.events.get(event); + const index = eventCallbacks.indexOf(fn); + if (index !== -1) + eventCallbacks.splice(index, 1); + } + }, + emit(event, ...payload) { + if (this.events.has(event)) + this.events.get(event).forEach((fn) => fn(...payload)); + } + }; +} +function subscribeDevToolsHook(hook2) { + hook2.on("app:init" /* APP_INIT */, (app, version, types) => { + var _a25, _b25, _c; + if ((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) + return; + devtoolsHooks.callHook("app:init" /* APP_INIT */, app, version, types); + }); + hook2.on("app:unmount" /* APP_UNMOUNT */, (app) => { + devtoolsHooks.callHook("app:unmount" /* APP_UNMOUNT */, app); + }); + hook2.on("component:added" /* COMPONENT_ADDED */, async (app, uid, parentUid, component) => { + var _a25, _b25, _c; + if (((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) || devtoolsState.highPerfModeEnabled) + return; + if (!app || typeof uid !== "number" && !uid || !component) + return; + devtoolsHooks.callHook("component:added" /* COMPONENT_ADDED */, app, uid, parentUid, component); + }); + hook2.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => { + if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled) + return; + devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, app, uid, parentUid, component); + }); + hook2.on("component:removed" /* COMPONENT_REMOVED */, async (app, uid, parentUid, component) => { + if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled) + return; + devtoolsHooks.callHook("component:removed" /* COMPONENT_REMOVED */, app, uid, parentUid, component); + }); + hook2.on("component:emit" /* COMPONENT_EMIT */, async (app, instance, event, params) => { + if (!app || !instance || devtoolsState.highPerfModeEnabled) + return; + devtoolsHooks.callHook("component:emit" /* COMPONENT_EMIT */, app, instance, event, params); + }); + hook2.on("perf:start" /* PERFORMANCE_START */, (app, uid, vm, type, time) => { + if (!app || devtoolsState.highPerfModeEnabled) + return; + devtoolsHooks.callHook("perf:start" /* PERFORMANCE_START */, app, uid, vm, type, time); + }); + hook2.on("perf:end" /* PERFORMANCE_END */, (app, uid, vm, type, time) => { + if (!app || devtoolsState.highPerfModeEnabled) + return; + devtoolsHooks.callHook("perf:end" /* PERFORMANCE_END */, app, uid, vm, type, time); + }); + hook2.on("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, (pluginDescriptor, setupFn, options) => { + if ((options == null ? void 0 : options.target) === "legacy") + return; + devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn); + }); +} +var hook = { + on, + setupDevToolsPlugin(pluginDescriptor, setupFn) { + return devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn); + } +}; + +// src/api/v6/index.ts +var DevToolsV6PluginAPI = class { + constructor({ plugin, ctx }) { + this.hooks = ctx.hooks; + this.plugin = plugin; + } + get on() { + return { + // component inspector + visitComponentTree: (handler) => { + this.hooks.hook("visitComponentTree" /* VISIT_COMPONENT_TREE */, handler); + }, + inspectComponent: (handler) => { + this.hooks.hook("inspectComponent" /* INSPECT_COMPONENT */, handler); + }, + editComponentState: (handler) => { + this.hooks.hook("editComponentState" /* EDIT_COMPONENT_STATE */, handler); + }, + // custom inspector + getInspectorTree: (handler) => { + this.hooks.hook("getInspectorTree" /* GET_INSPECTOR_TREE */, handler); + }, + getInspectorState: (handler) => { + this.hooks.hook("getInspectorState" /* GET_INSPECTOR_STATE */, handler); + }, + editInspectorState: (handler) => { + this.hooks.hook("editInspectorState" /* EDIT_INSPECTOR_STATE */, handler); + }, + // timeline + inspectTimelineEvent: (handler) => { + this.hooks.hook("inspectTimelineEvent" /* INSPECT_TIMELINE_EVENT */, handler); + }, + timelineCleared: (handler) => { + this.hooks.hook("timelineCleared" /* TIMELINE_CLEARED */, handler); + }, + // settings + setPluginSettings: (handler) => { + this.hooks.hook("setPluginSettings" /* SET_PLUGIN_SETTINGS */, handler); + } + }; + } + // component inspector + notifyComponentUpdate(instance) { + var _a25; + if (devtoolsState.highPerfModeEnabled) { + return; + } + const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName); + if (inspector == null ? void 0 : inspector.id) { + if (instance) { + const args = [ + instance.appContext.app, + instance.uid, + (_a25 = instance.parent) == null ? void 0 : _a25.uid, + instance + ]; + devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, ...args); + } else { + devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */); + } + this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId: inspector.id, plugin: this.plugin }); + } + } + // custom inspector + addInspector(options) { + this.hooks.callHook("addInspector" /* ADD_INSPECTOR */, { inspector: options, plugin: this.plugin }); + if (this.plugin.descriptor.settings) { + initPluginSettings(options.id, this.plugin.descriptor.settings); + } + } + sendInspectorTree(inspectorId) { + if (devtoolsState.highPerfModeEnabled) { + return; + } + this.hooks.callHook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin }); + } + sendInspectorState(inspectorId) { + if (devtoolsState.highPerfModeEnabled) { + return; + } + this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin }); + } + selectInspectorNode(inspectorId, nodeId) { + this.hooks.callHook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin }); + } + visitComponentTree(payload) { + return this.hooks.callHook("visitComponentTree" /* VISIT_COMPONENT_TREE */, payload); + } + // timeline + now() { + if (devtoolsState.highPerfModeEnabled) { + return 0; + } + return Date.now(); + } + addTimelineLayer(options) { + this.hooks.callHook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin }); + } + addTimelineEvent(options) { + if (devtoolsState.highPerfModeEnabled) { + return; + } + this.hooks.callHook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin }); + } + // settings + getSettings(pluginId) { + return getPluginSettings(pluginId != null ? pluginId : this.plugin.descriptor.id, this.plugin.descriptor.settings); + } + // utilities + getComponentInstances(app) { + return this.hooks.callHook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, { app }); + } + getComponentBounds(instance) { + return this.hooks.callHook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, { instance }); + } + getComponentName(instance) { + return this.hooks.callHook("getComponentName" /* GET_COMPONENT_NAME */, { instance }); + } + highlightElement(instance) { + const uid = instance.__VUE_DEVTOOLS_NEXT_UID__; + return this.hooks.callHook("componentHighlight" /* COMPONENT_HIGHLIGHT */, { uid }); + } + unhighlightElement() { + return this.hooks.callHook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */); + } +}; + +// src/api/index.ts +var DevToolsPluginAPI = DevToolsV6PluginAPI; + +// src/core/plugin/components.ts +init_cjs_shims(); +var import_perfect_debounce4 = require("perfect-debounce"); + +// src/core/component/state/index.ts +init_cjs_shims(); + +// src/core/component/state/process.ts +init_cjs_shims(); +var import_devtools_shared11 = require("@vue/devtools-shared"); + +// src/core/component/state/constants.ts +init_cjs_shims(); +var vueBuiltins = /* @__PURE__ */ new Set([ + "nextTick", + "defineComponent", + "defineAsyncComponent", + "defineCustomElement", + "ref", + "computed", + "reactive", + "readonly", + "watchEffect", + "watchPostEffect", + "watchSyncEffect", + "watch", + "isRef", + "unref", + "toRef", + "toRefs", + "isProxy", + "isReactive", + "isReadonly", + "shallowRef", + "triggerRef", + "customRef", + "shallowReactive", + "shallowReadonly", + "toRaw", + "markRaw", + "effectScope", + "getCurrentScope", + "onScopeDispose", + "onMounted", + "onUpdated", + "onUnmounted", + "onBeforeMount", + "onBeforeUpdate", + "onBeforeUnmount", + "onErrorCaptured", + "onRenderTracked", + "onRenderTriggered", + "onActivated", + "onDeactivated", + "onServerPrefetch", + "provide", + "inject", + "h", + "mergeProps", + "cloneVNode", + "isVNode", + "resolveComponent", + "resolveDirective", + "withDirectives", + "withModifiers" +]); +var symbolRE = /^\[native Symbol Symbol\((.*)\)\]$/; +var rawTypeRE = /^\[object (\w+)\]$/; +var specialTypeRE = /^\[native (\w+) (.*?)(<>(([\s\S])*))?\]$/; +var fnTypeRE = /^(?:function|class) (\w+)/; +var MAX_STRING_SIZE = 1e4; +var MAX_ARRAY_SIZE = 5e3; +var UNDEFINED = "__vue_devtool_undefined__"; +var INFINITY = "__vue_devtool_infinity__"; +var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__"; +var NAN = "__vue_devtool_nan__"; +var ESC = { + "<": "<", + ">": ">", + '"': """, + "&": "&" +}; + +// src/core/component/state/util.ts +init_cjs_shims(); + +// src/core/component/state/is.ts +init_cjs_shims(); +function isVueInstance(value) { + if (!ensurePropertyExists(value, "_")) { + return false; + } + if (!isPlainObject(value._)) { + return false; + } + return Object.keys(value._).includes("vnode"); +} +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} +function isPrimitive(data) { + if (data == null) + return true; + const type = typeof data; + return type === "string" || type === "number" || type === "boolean"; +} +function isRef2(raw) { + return !!raw.__v_isRef; +} +function isComputed(raw) { + return isRef2(raw) && !!raw.effect; +} +function isReactive2(raw) { + return !!raw.__v_isReactive; +} +function isReadOnly(raw) { + return !!raw.__v_isReadonly; +} + +// src/core/component/state/util.ts +var tokenMap = { + [UNDEFINED]: "undefined", + [NAN]: "NaN", + [INFINITY]: "Infinity", + [NEGATIVE_INFINITY]: "-Infinity" +}; +var reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => { + acc[value] = key; + return acc; +}, {}); +function internalStateTokenToString(value) { + if (value === null) + return "null"; + return typeof value === "string" && tokenMap[value] || false; +} +function replaceTokenToString(value) { + const replaceRegex = new RegExp(`"(${Object.keys(tokenMap).join("|")})"`, "g"); + return value.replace(replaceRegex, (_, g1) => tokenMap[g1]); +} +function replaceStringToToken(value) { + const literalValue = reversedTokenMap[value.trim()]; + if (literalValue) + return `"${literalValue}"`; + const replaceRegex = new RegExp(`:\\s*(${Object.keys(reversedTokenMap).join("|")})`, "g"); + return value.replace(replaceRegex, (_, g1) => `:"${reversedTokenMap[g1]}"`); +} +function getPropType(type) { + if (Array.isArray(type)) + return type.map((t) => getPropType(t)).join(" or "); + if (type == null) + return "null"; + const match = type.toString().match(fnTypeRE); + return typeof type === "function" ? match && match[1] || "any" : "any"; +} +function sanitize(data) { + if (!isPrimitive(data) && !Array.isArray(data) && !isPlainObject(data)) { + return Object.prototype.toString.call(data); + } else { + return data; + } +} +function getSetupStateType(raw) { + try { + return { + ref: isRef2(raw), + computed: isComputed(raw), + reactive: isReactive2(raw), + readonly: isReadOnly(raw) + }; + } catch (e) { + return { + ref: false, + computed: false, + reactive: false, + readonly: false + }; + } +} +function toRaw2(value) { + if (value == null ? void 0 : value.__v_raw) + return value.__v_raw; + return value; +} +function escape(s) { + return s.replace(/[<>"&]/g, (s2) => { + return ESC[s2] || s2; + }); +} + +// src/core/component/state/process.ts +function mergeOptions(to, from, instance) { + if (typeof from === "function") + from = from.options; + if (!from) + return to; + const { mixins, extends: extendsOptions } = from; + extendsOptions && mergeOptions(to, extendsOptions, instance); + mixins && mixins.forEach( + (m) => mergeOptions(to, m, instance) + ); + for (const key of ["computed", "inject"]) { + if (Object.prototype.hasOwnProperty.call(from, key)) { + if (!to[key]) + to[key] = from[key]; + else + Object.assign(to[key], from[key]); + } + } + return to; +} +function resolveMergedOptions(instance) { + const raw = instance == null ? void 0 : instance.type; + if (!raw) + return {}; + const { mixins, extends: extendsOptions } = raw; + const globalMixins = instance.appContext.mixins; + if (!globalMixins.length && !mixins && !extendsOptions) + return raw; + const options = {}; + globalMixins.forEach((m) => mergeOptions(options, m, instance)); + mergeOptions(options, raw, instance); + return options; +} +function processProps(instance) { + var _a25; + const props = []; + const propDefinitions = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.props; + for (const key in instance == null ? void 0 : instance.props) { + const propDefinition = propDefinitions ? propDefinitions[key] : null; + const camelizeKey = (0, import_devtools_shared11.camelize)(key); + props.push({ + type: "props", + key: camelizeKey, + value: returnError(() => instance.props[key]), + editable: true, + meta: propDefinition ? { + type: propDefinition.type ? getPropType(propDefinition.type) : "any", + required: !!propDefinition.required, + ...propDefinition.default ? { + default: propDefinition.default.toString() + } : {} + } : { type: "invalid" } + }); + } + return props; +} +function processState(instance) { + const type = instance.type; + const props = type == null ? void 0 : type.props; + const getters = type.vuex && type.vuex.getters; + const computedDefs = type.computed; + const data = { + ...instance.data, + ...instance.renderContext + }; + return Object.keys(data).filter((key) => !(props && key in props) && !(getters && key in getters) && !(computedDefs && key in computedDefs)).map((key) => ({ + key, + type: "data", + value: returnError(() => data[key]), + editable: true + })); +} +function getStateTypeAndName(info) { + const stateType = info.computed ? "computed" : info.ref ? "ref" : info.reactive ? "reactive" : null; + const stateTypeName = stateType ? `${stateType.charAt(0).toUpperCase()}${stateType.slice(1)}` : null; + return { + stateType, + stateTypeName + }; +} +function processSetupState(instance) { + const raw = instance.devtoolsRawSetupState || {}; + return Object.keys(instance.setupState).filter((key) => !vueBuiltins.has(key) && key.split(/(?=[A-Z])/)[0] !== "use").map((key) => { + var _a25, _b25, _c, _d; + const value = returnError(() => toRaw2(instance.setupState[key])); + const accessError = value instanceof Error; + const rawData = raw[key]; + let result; + let isOtherType = accessError || typeof value === "function" || ensurePropertyExists(value, "render") && typeof value.render === "function" || ensurePropertyExists(value, "__asyncLoader") && typeof value.__asyncLoader === "function" || typeof value === "object" && value && ("setup" in value || "props" in value) || /^v[A-Z]/.test(key); + if (rawData && !accessError) { + const info = getSetupStateType(rawData); + const { stateType, stateTypeName } = getStateTypeAndName(info); + const isState = info.ref || info.computed || info.reactive; + const raw2 = ensurePropertyExists(rawData, "effect") ? ((_b25 = (_a25 = rawData.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = rawData.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null; + if (stateType) + isOtherType = false; + result = { + ...stateType ? { stateType, stateTypeName } : {}, + ...raw2 ? { raw: raw2 } : {}, + editable: isState && !info.readonly + }; + } + const type = isOtherType ? "setup (other)" : "setup"; + return { + key, + value, + type, + // @ts-expect-error ignore + ...result + }; + }); +} +function processComputed(instance, mergedType) { + const type = mergedType; + const computed = []; + const defs = type.computed || {}; + for (const key in defs) { + const def = defs[key]; + const type2 = typeof def === "function" && def.vuex ? "vuex bindings" : "computed"; + computed.push({ + type: type2, + key, + value: returnError(() => { + var _a25; + return (_a25 = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a25[key]; + }), + editable: typeof def.set === "function" + }); + } + return computed; +} +function processAttrs(instance) { + return Object.keys(instance.attrs).map((key) => ({ + type: "attrs", + key, + value: returnError(() => instance.attrs[key]) + })); +} +function processProvide(instance) { + return Reflect.ownKeys(instance.provides).map((key) => ({ + type: "provided", + key: key.toString(), + value: returnError(() => instance.provides[key]) + })); +} +function processInject(instance, mergedType) { + if (!(mergedType == null ? void 0 : mergedType.inject)) + return []; + let keys = []; + let defaultValue; + if (Array.isArray(mergedType.inject)) { + keys = mergedType.inject.map((key) => ({ + key, + originalKey: key + })); + } else { + keys = Reflect.ownKeys(mergedType.inject).map((key) => { + const value = mergedType.inject[key]; + let originalKey; + if (typeof value === "string" || typeof value === "symbol") { + originalKey = value; + } else { + originalKey = value.from; + defaultValue = value.default; + } + return { + key, + originalKey + }; + }); + } + return keys.map(({ key, originalKey }) => ({ + type: "injected", + key: originalKey && key !== originalKey ? `${originalKey.toString()} \u279E ${key.toString()}` : key.toString(), + // eslint-disable-next-line no-prototype-builtins + value: returnError(() => instance.ctx.hasOwnProperty(key) ? instance.ctx[key] : instance.provides.hasOwnProperty(originalKey) ? instance.provides[originalKey] : defaultValue) + })); +} +function processRefs(instance) { + return Object.keys(instance.refs).map((key) => ({ + type: "template refs", + key, + value: returnError(() => instance.refs[key]) + })); +} +function processEventListeners(instance) { + var _a25, _b25; + const emitsDefinition = instance.type.emits; + const declaredEmits = Array.isArray(emitsDefinition) ? emitsDefinition : Object.keys(emitsDefinition != null ? emitsDefinition : {}); + const keys = Object.keys((_b25 = (_a25 = instance == null ? void 0 : instance.vnode) == null ? void 0 : _a25.props) != null ? _b25 : {}); + const result = []; + for (const key of keys) { + const [prefix, ...eventNameParts] = key.split(/(?=[A-Z])/); + if (prefix === "on") { + const eventName = eventNameParts.join("-").toLowerCase(); + const isDeclared = declaredEmits.includes(eventName); + result.push({ + type: "event listeners", + key: eventName, + value: { + _custom: { + displayText: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared", + key: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared", + value: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared", + tooltipText: !isDeclared ? `The event <code>${eventName}</code> is not declared in the <code>emits</code> option. It will leak into the component's attributes (<code>$attrs</code>).` : null + } + } + }); + } + } + return result; +} +function processInstanceState(instance) { + const mergedType = resolveMergedOptions(instance); + return processProps(instance).concat( + processState(instance), + processSetupState(instance), + processComputed(instance, mergedType), + processAttrs(instance), + processProvide(instance), + processInject(instance, mergedType), + processRefs(instance), + processEventListeners(instance) + ); +} + +// src/core/component/state/index.ts +function getInstanceState(params) { + var _a25; + const instance = getComponentInstance(activeAppRecord.value, params.instanceId); + const id = getUniqueComponentId(instance); + const name = getInstanceName(instance); + const file = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.__file; + const state = processInstanceState(instance); + return { + id, + name, + file, + state, + instance + }; +} + +// src/core/component/tree/walker.ts +init_cjs_shims(); + +// src/core/component/tree/filter.ts +init_cjs_shims(); +var import_devtools_shared12 = require("@vue/devtools-shared"); +var ComponentFilter = class { + constructor(filter) { + this.filter = filter || ""; + } + /** + * Check if an instance is qualified. + * + * @param {Vue|Vnode} instance + * @return {boolean} + */ + isQualified(instance) { + const name = getInstanceName(instance); + return (0, import_devtools_shared12.classify)(name).toLowerCase().includes(this.filter) || (0, import_devtools_shared12.kebabize)(name).toLowerCase().includes(this.filter); + } +}; +function createComponentFilter(filterText) { + return new ComponentFilter(filterText); +} + +// src/core/component/tree/walker.ts +var ComponentWalker = class { + constructor(options) { + // Dedupe instances (Some instances may be both on a component and on a child abstract/functional component) + this.captureIds = /* @__PURE__ */ new Map(); + const { filterText = "", maxDepth, recursively, api } = options; + this.componentFilter = createComponentFilter(filterText); + this.maxDepth = maxDepth; + this.recursively = recursively; + this.api = api; + } + getComponentTree(instance) { + this.captureIds = /* @__PURE__ */ new Map(); + return this.findQualifiedChildren(instance, 0); + } + getComponentParents(instance) { + this.captureIds = /* @__PURE__ */ new Map(); + const parents = []; + this.captureId(instance); + let parent = instance; + while (parent = parent.parent) { + this.captureId(parent); + parents.push(parent); + } + return parents; + } + captureId(instance) { + if (!instance) + return null; + const id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance); + instance.__VUE_DEVTOOLS_NEXT_UID__ = id; + if (this.captureIds.has(id)) + return null; + else + this.captureIds.set(id, void 0); + this.mark(instance); + return id; + } + /** + * Capture the meta information of an instance. (recursive) + * + * @param {Vue} instance + * @return {object} + */ + async capture(instance, depth) { + var _a25; + if (!instance) + return null; + const id = this.captureId(instance); + const name = getInstanceName(instance); + const children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child)); + const parents = this.getComponentParents(instance) || []; + const inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated); + const treeNode = { + uid: instance.uid, + id, + name, + renderKey: getRenderKey(instance.vnode ? instance.vnode.key : null), + inactive, + children: [], + isFragment: isFragment(instance), + tags: typeof instance.type !== "function" ? [] : [ + { + label: "functional", + textColor: 5592405, + backgroundColor: 15658734 + } + ], + autoOpen: this.recursively, + file: instance.type.__file || "" + }; + if (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) { + treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean)); + } + if (this.isKeepAlive(instance)) { + const cachedComponents = this.getKeepAliveCachedInstances(instance); + const childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__); + for (const cachedChild of cachedComponents) { + if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) { + const node = await this.capture({ ...cachedChild, isDeactivated: true }, depth + 1); + if (node) + treeNode.children.push(node); + } + } + } + const rootElements = getRootElementsFromComponentInstance(instance); + const firstElement = rootElements[0]; + if (firstElement == null ? void 0 : firstElement.parentElement) { + const parentInstance = instance.parent; + const parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : []; + let el = firstElement; + const indexList = []; + do { + indexList.push(Array.from(el.parentElement.childNodes).indexOf(el)); + el = el.parentElement; + } while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el)); + treeNode.domOrder = indexList.reverse(); + } else { + treeNode.domOrder = [-1]; + } + if ((_a25 = instance.suspense) == null ? void 0 : _a25.suspenseKey) { + treeNode.tags.push({ + label: instance.suspense.suspenseKey, + backgroundColor: 14979812, + textColor: 16777215 + }); + this.mark(instance, true); + } + this.api.visitComponentTree({ + treeNode, + componentInstance: instance, + app: instance.appContext.app, + filter: this.componentFilter.filter + }); + return treeNode; + } + /** + * Find qualified children from a single instance. + * If the instance itself is qualified, just return itself. + * This is ok because [].concat works in both cases. + * + * @param {Vue|Vnode} instance + * @return {Vue|Array} + */ + async findQualifiedChildren(instance, depth) { + var _a25; + if (this.componentFilter.isQualified(instance) && !((_a25 = instance.type.devtools) == null ? void 0 : _a25.hide)) { + return [await this.capture(instance, depth)]; + } else if (instance.subTree) { + const list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree); + return this.findQualifiedChildrenFromList(list, depth); + } else { + return []; + } + } + /** + * Iterate through an array of instances and flatten it into + * an array of qualified instances. This is a depth-first + * traversal - e.g. if an instance is not matched, we will + * recursively go deeper until a qualified child is found. + * + * @param {Array} instances + * @return {Array} + */ + async findQualifiedChildrenFromList(instances, depth) { + instances = instances.filter((child) => { + var _a25; + return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide); + }); + if (!this.componentFilter.filter) + return Promise.all(instances.map((child) => this.capture(child, depth))); + else + return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth)))); + } + /** + * Get children from a component instance. + */ + getInternalInstanceChildren(subTree, suspense = null) { + const list = []; + if (subTree) { + if (subTree.component) { + !suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense }); + } else if (subTree.suspense) { + const suspenseKey = !subTree.suspense.isInFallback ? "suspense default" : "suspense fallback"; + list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey })); + } else if (Array.isArray(subTree.children)) { + subTree.children.forEach((childSubTree) => { + if (childSubTree.component) + !suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense }); + else + list.push(...this.getInternalInstanceChildren(childSubTree, suspense)); + }); + } + } + return list.filter((child) => { + var _a25; + return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide); + }); + } + /** + * Mark an instance as captured and store it in the instance map. + * + * @param {Vue} instance + */ + mark(instance, force = false) { + const instanceMap = getAppRecord(instance).instanceMap; + if (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) { + instanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance); + activeAppRecord.value.instanceMap = instanceMap; + } + } + isKeepAlive(instance) { + return instance.type.__isKeepAlive && instance.__v_cache; + } + getKeepAliveCachedInstances(instance) { + return Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean); + } +}; + +// src/core/timeline/index.ts +init_cjs_shims(); +var import_devtools_shared13 = require("@vue/devtools-shared"); + +// src/core/timeline/perf.ts +init_cjs_shims(); +var markEndQueue = /* @__PURE__ */ new Map(); +var PERFORMANCE_EVENT_LAYER_ID = "performance"; +async function performanceMarkStart(api, app, uid, vm, type, time) { + const appRecord = await getAppRecord(app); + if (!appRecord) { + return; + } + const componentName = getInstanceName(vm) || "Unknown Component"; + const groupId = devtoolsState.perfUniqueGroupId++; + const groupKey = `${uid}-${type}`; + appRecord.perfGroupIds.set(groupKey, { groupId, time }); + await api.addTimelineEvent({ + layerId: PERFORMANCE_EVENT_LAYER_ID, + event: { + time: Date.now(), + data: { + component: componentName, + type, + measure: "start" + }, + title: componentName, + subtitle: type, + groupId + } + }); + if (markEndQueue.has(groupKey)) { + const { + app: app2, + uid: uid2, + instance, + type: type2, + time: time2 + } = markEndQueue.get(groupKey); + markEndQueue.delete(groupKey); + await performanceMarkEnd( + api, + app2, + uid2, + instance, + type2, + time2 + ); + } +} +function performanceMarkEnd(api, app, uid, vm, type, time) { + const appRecord = getAppRecord(app); + if (!appRecord) + return; + const componentName = getInstanceName(vm) || "Unknown Component"; + const groupKey = `${uid}-${type}`; + const groupInfo = appRecord.perfGroupIds.get(groupKey); + if (groupInfo) { + const groupId = groupInfo.groupId; + const startTime = groupInfo.time; + const duration = time - startTime; + api.addTimelineEvent({ + layerId: PERFORMANCE_EVENT_LAYER_ID, + event: { + time: Date.now(), + data: { + component: componentName, + type, + measure: "end", + duration: { + _custom: { + type: "Duration", + value: duration, + display: `${duration} ms` + } + } + }, + title: componentName, + subtitle: type, + groupId + } + }); + } else { + markEndQueue.set(groupKey, { app, uid, instance: vm, type, time }); + } +} + +// src/core/timeline/index.ts +var COMPONENT_EVENT_LAYER_ID = "component-event"; +function setupBuiltinTimelineLayers(api) { + if (!import_devtools_shared13.isBrowser) + return; + api.addTimelineLayer({ + id: "mouse", + label: "Mouse", + color: 10768815 + }); + ["mousedown", "mouseup", "click", "dblclick"].forEach((eventType) => { + if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.mouseEventEnabled) + return; + window.addEventListener(eventType, async (event) => { + await api.addTimelineEvent({ + layerId: "mouse", + event: { + time: Date.now(), + data: { + type: eventType, + x: event.clientX, + y: event.clientY + }, + title: eventType + } + }); + }, { + capture: true, + passive: true + }); + }); + api.addTimelineLayer({ + id: "keyboard", + label: "Keyboard", + color: 8475055 + }); + ["keyup", "keydown", "keypress"].forEach((eventType) => { + window.addEventListener(eventType, async (event) => { + if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.keyboardEventEnabled) + return; + await api.addTimelineEvent({ + layerId: "keyboard", + event: { + time: Date.now(), + data: { + type: eventType, + key: event.key, + ctrlKey: event.ctrlKey, + shiftKey: event.shiftKey, + altKey: event.altKey, + metaKey: event.metaKey + }, + title: event.key + } + }); + }, { + capture: true, + passive: true + }); + }); + api.addTimelineLayer({ + id: COMPONENT_EVENT_LAYER_ID, + label: "Component events", + color: 5226637 + }); + hook.on.componentEmit(async (app, instance, event, params) => { + if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.componentEventEnabled) + return; + const appRecord = await getAppRecord(app); + if (!appRecord) + return; + const componentId = `${appRecord.id}:${instance.uid}`; + const componentName = getInstanceName(instance) || "Unknown Component"; + api.addTimelineEvent({ + layerId: COMPONENT_EVENT_LAYER_ID, + event: { + time: Date.now(), + data: { + component: { + _custom: { + type: "component-definition", + display: componentName + } + }, + event, + params + }, + title: event, + subtitle: `by ${componentName}`, + meta: { + componentId + } + } + }); + }); + api.addTimelineLayer({ + id: "performance", + label: PERFORMANCE_EVENT_LAYER_ID, + color: 4307050 + }); + hook.on.perfStart((app, uid, vm, type, time) => { + if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) + return; + performanceMarkStart(api, app, uid, vm, type, time); + }); + hook.on.perfEnd((app, uid, vm, type, time) => { + if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled) + return; + performanceMarkEnd(api, app, uid, vm, type, time); + }); +} + +// src/core/vm/index.ts +init_cjs_shims(); +var MAX_$VM = 10; +var $vmQueue = []; +function exposeInstanceToWindow(componentInstance) { + if (typeof window === "undefined") + return; + const win = window; + if (!componentInstance) + return; + win.$vm = componentInstance; + if ($vmQueue[0] !== componentInstance) { + if ($vmQueue.length >= MAX_$VM) { + $vmQueue.pop(); + } + for (let i = $vmQueue.length; i > 0; i--) { + win[`$vm${i}`] = $vmQueue[i] = $vmQueue[i - 1]; + } + win.$vm0 = $vmQueue[0] = componentInstance; + } +} + +// src/core/plugin/components.ts +var INSPECTOR_ID = "components"; +function createComponentsDevToolsPlugin(app) { + const descriptor = { + id: INSPECTOR_ID, + label: "Components", + app + }; + const setupFn = (api) => { + api.addInspector({ + id: INSPECTOR_ID, + label: "Components", + treeFilterPlaceholder: "Search components" + }); + setupBuiltinTimelineLayers(api); + api.on.getInspectorTree(async (payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const instance = getComponentInstance(activeAppRecord.value, payload.instanceId); + if (instance) { + const walker2 = new ComponentWalker({ + filterText: payload.filter, + // @TODO: should make this configurable? + maxDepth: 100, + recursively: false, + api + }); + payload.rootNodes = await walker2.getComponentTree(instance); + } + } + }); + api.on.getInspectorState(async (payload) => { + var _a25; + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const result = getInstanceState({ + instanceId: payload.nodeId + }); + const componentInstance = result.instance; + const app2 = (_a25 = result.instance) == null ? void 0 : _a25.appContext.app; + const _payload = { + componentInstance, + app: app2, + instanceData: result + }; + devtoolsContext.hooks.callHookWith((callbacks) => { + callbacks.forEach((cb) => cb(_payload)); + }, "inspectComponent" /* INSPECT_COMPONENT */); + payload.state = result; + exposeInstanceToWindow(componentInstance); + } + }); + api.on.editInspectorState(async (payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + editState(payload); + await api.sendInspectorState("components"); + } + }); + const debounceSendInspectorTree = (0, import_perfect_debounce4.debounce)(() => { + api.sendInspectorTree(INSPECTOR_ID); + }, 120); + const debounceSendInspectorState = (0, import_perfect_debounce4.debounce)(() => { + api.sendInspectorState(INSPECTOR_ID); + }, 120); + const componentAddedCleanup = hook.on.componentAdded(async (app2, uid, parentUid, component) => { + var _a25, _b25, _c; + if (devtoolsState.highPerfModeEnabled) + return; + if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) + return; + if (!app2 || typeof uid !== "number" && !uid || !component) + return; + const id = await getComponentId({ + app: app2, + uid, + instance: component + }); + const appRecord = await getAppRecord(app2); + if (component) { + if (component.__VUE_DEVTOOLS_NEXT_UID__ == null) + component.__VUE_DEVTOOLS_NEXT_UID__ = id; + if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) { + appRecord == null ? void 0 : appRecord.instanceMap.set(id, component); + if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id)) + activeAppRecord.value.instanceMap = appRecord.instanceMap; + } + } + if (!appRecord) + return; + debounceSendInspectorTree(); + }); + const componentUpdatedCleanup = hook.on.componentUpdated(async (app2, uid, parentUid, component) => { + var _a25, _b25, _c; + if (devtoolsState.highPerfModeEnabled) + return; + if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) + return; + if (!app2 || typeof uid !== "number" && !uid || !component) + return; + const id = await getComponentId({ + app: app2, + uid, + instance: component + }); + const appRecord = await getAppRecord(app2); + if (component) { + if (component.__VUE_DEVTOOLS_NEXT_UID__ == null) + component.__VUE_DEVTOOLS_NEXT_UID__ = id; + if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) { + appRecord == null ? void 0 : appRecord.instanceMap.set(id, component); + if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id)) + activeAppRecord.value.instanceMap = appRecord.instanceMap; + } + } + if (!appRecord) + return; + debounceSendInspectorTree(); + debounceSendInspectorState(); + }); + const componentRemovedCleanup = hook.on.componentRemoved(async (app2, uid, parentUid, component) => { + var _a25, _b25, _c; + if (devtoolsState.highPerfModeEnabled) + return; + if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) + return; + if (!app2 || typeof uid !== "number" && !uid || !component) + return; + const appRecord = await getAppRecord(app2); + if (!appRecord) + return; + const id = await getComponentId({ + app: app2, + uid, + instance: component + }); + appRecord == null ? void 0 : appRecord.instanceMap.delete(id); + if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id)) + activeAppRecord.value.instanceMap = appRecord.instanceMap; + debounceSendInspectorTree(); + }); + }; + return [descriptor, setupFn]; +} + +// src/core/plugin/index.ts +var _a12, _b12; +(_b12 = (_a12 = import_devtools_shared14.target).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set(); +function setupDevToolsPlugin(pluginDescriptor, setupFn) { + return hook.setupDevToolsPlugin(pluginDescriptor, setupFn); +} +function callDevToolsPluginSetupFn(plugin, app) { + const [pluginDescriptor, setupFn] = plugin; + if (pluginDescriptor.app !== app) + return; + const api = new DevToolsPluginAPI({ + plugin: { + setupFn, + descriptor: pluginDescriptor + }, + ctx: devtoolsContext + }); + if (pluginDescriptor.packageName === "vuex") { + api.on.editInspectorState((payload) => { + api.sendInspectorState(payload.inspectorId); + }); + } + setupFn(api); +} +function removeRegisteredPluginApp(app) { + import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app); +} +function registerDevToolsPlugin(app, options) { + if (import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) { + return; + } + if (devtoolsState.highPerfModeEnabled && !(options == null ? void 0 : options.inspectingComponent)) { + return; + } + import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app); + devtoolsPluginBuffer.forEach((plugin) => { + callDevToolsPluginSetupFn(plugin, app); + }); +} + +// src/core/router/index.ts +init_cjs_shims(); +var import_devtools_shared16 = require("@vue/devtools-shared"); +var import_perfect_debounce5 = require("perfect-debounce"); + +// src/ctx/router.ts +init_cjs_shims(); +var import_devtools_shared15 = require("@vue/devtools-shared"); +var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__"; +var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__"; +var _a13, _b13; +(_b13 = (_a13 = import_devtools_shared15.target)[ROUTER_INFO_KEY]) != null ? _b13 : _a13[ROUTER_INFO_KEY] = { + currentRoute: null, + routes: [] +}; +var _a14, _b14; +(_b14 = (_a14 = import_devtools_shared15.target)[ROUTER_KEY]) != null ? _b14 : _a14[ROUTER_KEY] = {}; +var devtoolsRouterInfo = new Proxy(import_devtools_shared15.target[ROUTER_INFO_KEY], { + get(target22, property) { + return import_devtools_shared15.target[ROUTER_INFO_KEY][property]; + } +}); +var devtoolsRouter = new Proxy(import_devtools_shared15.target[ROUTER_KEY], { + get(target22, property) { + if (property === "value") { + return import_devtools_shared15.target[ROUTER_KEY]; + } + } +}); + +// src/core/router/index.ts +function getRoutes(router) { + const routesMap = /* @__PURE__ */ new Map(); + return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1)); +} +function filterRoutes(routes) { + return routes.map((item) => { + let { path, name, children, meta } = item; + if (children == null ? void 0 : children.length) + children = filterRoutes(children); + return { + path, + name, + children, + meta + }; + }); +} +function filterCurrentRoute(route) { + if (route) { + const { fullPath, hash, href, path, name, matched, params, query } = route; + return { + fullPath, + hash, + href, + path, + name, + params, + query, + matched: filterRoutes(matched) + }; + } + return route; +} +function normalizeRouterInfo(appRecord, activeAppRecord2) { + function init() { + var _a25; + const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router; + const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value); + const routes = filterRoutes(getRoutes(router)); + const c = console.warn; + console.warn = () => { + }; + import_devtools_shared16.target[ROUTER_INFO_KEY] = { + currentRoute: currentRoute ? (0, import_devtools_shared16.deepClone)(currentRoute) : {}, + routes: (0, import_devtools_shared16.deepClone)(routes) + }; + import_devtools_shared16.target[ROUTER_KEY] = router; + console.warn = c; + } + init(); + hook.on.componentUpdated((0, import_perfect_debounce5.debounce)(() => { + var _a25; + if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app) + return; + init(); + if (devtoolsState.highPerfModeEnabled) + return; + devtoolsContext.hooks.callHook("routerInfoUpdated" /* ROUTER_INFO_UPDATED */, { state: import_devtools_shared16.target[ROUTER_INFO_KEY] }); + }, 200)); +} + +// src/ctx/api.ts +function createDevToolsApi(hooks2) { + return { + // get inspector tree + async getInspectorTree(payload) { + const _payload = { + ...payload, + app: activeAppRecord.value.app, + rootNodes: [] + }; + await new Promise((resolve) => { + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload))); + resolve(); + }, "getInspectorTree" /* GET_INSPECTOR_TREE */); + }); + return _payload.rootNodes; + }, + // get inspector state + async getInspectorState(payload) { + const _payload = { + ...payload, + app: activeAppRecord.value.app, + state: null + }; + const ctx = { + currentTab: `custom-inspector:${payload.inspectorId}` + }; + await new Promise((resolve) => { + hooks2.callHookWith(async (callbacks) => { + await Promise.all(callbacks.map((cb) => cb(_payload, ctx))); + resolve(); + }, "getInspectorState" /* GET_INSPECTOR_STATE */); + }); + return _payload.state; + }, + // edit inspector state + editInspectorState(payload) { + const stateEditor2 = new StateEditor(); + const _payload = { + ...payload, + app: activeAppRecord.value.app, + set: (obj, path = payload.path, value = payload.state.value, cb) => { + stateEditor2.set(obj, path, value, cb || stateEditor2.createDefaultSetCallback(payload.state)); + } + }; + hooks2.callHookWith((callbacks) => { + callbacks.forEach((cb) => cb(_payload)); + }, "editInspectorState" /* EDIT_INSPECTOR_STATE */); + }, + // send inspector state + sendInspectorState(inspectorId) { + const inspector = getInspector(inspectorId); + hooks2.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: { + descriptor: inspector.descriptor, + setupFn: () => ({}) + } }); + }, + // inspect component inspector + inspectComponentInspector() { + return inspectComponentHighLighter(); + }, + // cancel inspect component inspector + cancelInspectComponentInspector() { + return cancelInspectComponentHighLighter(); + }, + // get component render code + getComponentRenderCode(id) { + const instance = getComponentInstance(activeAppRecord.value, id); + if (instance) + return !(typeof (instance == null ? void 0 : instance.type) === "function") ? instance.render.toString() : instance.type.toString(); + }, + // scroll to component + scrollToComponent(id) { + return scrollToComponent({ id }); + }, + // open in editor + openInEditor, + // get vue inspector + getVueInspector: getComponentInspector, + // toggle app + toggleApp(id, options) { + const appRecord = devtoolsAppRecords.value.find((record) => record.id === id); + if (appRecord) { + setActiveAppRecordId(id); + setActiveAppRecord(appRecord); + normalizeRouterInfo(appRecord, activeAppRecord); + callInspectorUpdatedHook(); + registerDevToolsPlugin(appRecord.app, options); + } + }, + // inspect dom + inspectDOM(instanceId) { + const instance = getComponentInstance(activeAppRecord.value, instanceId); + if (instance) { + const [el] = getRootElementsFromComponentInstance(instance); + if (el) { + import_devtools_shared17.target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el; + } + } + }, + updatePluginSettings(pluginId, key, value) { + setPluginSettings(pluginId, key, value); + }, + getPluginSettings(pluginId) { + return { + options: getPluginSettingsOptions(pluginId), + values: getPluginSettings(pluginId) + }; + } + }; +} + +// src/ctx/env.ts +init_cjs_shims(); +var import_devtools_shared18 = require("@vue/devtools-shared"); +var _a15, _b15; +(_b15 = (_a15 = import_devtools_shared18.target).__VUE_DEVTOOLS_ENV__) != null ? _b15 : _a15.__VUE_DEVTOOLS_ENV__ = { + vitePluginDetected: false +}; +function getDevToolsEnv() { + return import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__; +} +function setDevToolsEnv(env) { + import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__ = { + ...import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__, + ...env + }; +} + +// src/ctx/index.ts +var hooks = createDevToolsCtxHooks(); +var _a16, _b16; +(_b16 = (_a16 = import_devtools_shared19.target).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b16 : _a16.__VUE_DEVTOOLS_KIT_CONTEXT__ = { + hooks, + get state() { + return { + ...devtoolsState, + activeAppRecordId: activeAppRecord.id, + activeAppRecord: activeAppRecord.value, + appRecords: devtoolsAppRecords.value + }; + }, + api: createDevToolsApi(hooks) +}; +var devtoolsContext = import_devtools_shared19.target.__VUE_DEVTOOLS_KIT_CONTEXT__; + +// src/core/app/index.ts +init_cjs_shims(); +var import_devtools_shared20 = require("@vue/devtools-shared"); +var import_speakingurl = __toESM(require_speakingurl2(), 1); +var _a17, _b17; +var appRecordInfo = (_b17 = (_a17 = import_devtools_shared20.target).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b17 : _a17.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = { + id: 0, + appIds: /* @__PURE__ */ new Set() +}; +function getAppRecordName(app, fallbackName) { + var _a25; + return ((_a25 = app == null ? void 0 : app._component) == null ? void 0 : _a25.name) || `App ${fallbackName}`; +} +function getAppRootInstance(app) { + var _a25, _b25, _c, _d; + if (app._instance) + return app._instance; + else if ((_b25 = (_a25 = app._container) == null ? void 0 : _a25._vnode) == null ? void 0 : _b25.component) + return (_d = (_c = app._container) == null ? void 0 : _c._vnode) == null ? void 0 : _d.component; +} +function removeAppRecordId(app) { + const id = app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__; + if (id != null) { + appRecordInfo.appIds.delete(id); + appRecordInfo.id--; + } +} +function getAppRecordId(app, defaultId) { + if (app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ != null) + return app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__; + let id = defaultId != null ? defaultId : (appRecordInfo.id++).toString(); + if (defaultId && appRecordInfo.appIds.has(id)) { + let count = 1; + while (appRecordInfo.appIds.has(`${defaultId}_${count}`)) + count++; + id = `${defaultId}_${count}`; + } + appRecordInfo.appIds.add(id); + app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ = id; + return id; +} +function createAppRecord(app, types) { + var _a25, _b25; + const rootInstance = getAppRootInstance(app); + if (rootInstance) { + appRecordInfo.id++; + const name = getAppRecordName(app, appRecordInfo.id.toString()); + const id = getAppRecordId(app, (0, import_speakingurl.default)(name)); + const [el] = getRootElementsFromComponentInstance(rootInstance); + const record = { + id, + name, + types, + instanceMap: /* @__PURE__ */ new Map(), + perfGroupIds: /* @__PURE__ */ new Map(), + rootInstance, + iframe: import_devtools_shared20.isBrowser && document !== (el == null ? void 0 : el.ownerDocument) ? (_b25 = (_a25 = el == null ? void 0 : el.ownerDocument) == null ? void 0 : _a25.location) == null ? void 0 : _b25.pathname : void 0 + }; + app.__VUE_DEVTOOLS_NEXT_APP_RECORD__ = record; + const rootId = `${record.id}:root`; + record.instanceMap.set(rootId, record.rootInstance); + record.rootInstance.__VUE_DEVTOOLS_NEXT_UID__ = rootId; + return record; + } else { + return {}; + } +} + +// src/core/iframe/index.ts +init_cjs_shims(); +function detectIframeApp(target22, inIframe = false) { + if (inIframe) { + let sendEventToParent2 = function(cb) { + try { + const hook3 = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__; + if (hook3) { + cb(hook3); + } + } catch (e) { + } + }; + var sendEventToParent = sendEventToParent2; + const hook2 = { + id: "vue-devtools-next", + devtoolsVersion: "7.0", + on: (event, cb) => { + sendEventToParent2((hook3) => { + hook3.on(event, cb); + }); + }, + once: (event, cb) => { + sendEventToParent2((hook3) => { + hook3.once(event, cb); + }); + }, + off: (event, cb) => { + sendEventToParent2((hook3) => { + hook3.off(event, cb); + }); + }, + emit: (event, ...payload) => { + sendEventToParent2((hook3) => { + hook3.emit(event, ...payload); + }); + } + }; + Object.defineProperty(target22, "__VUE_DEVTOOLS_GLOBAL_HOOK__", { + get() { + return hook2; + }, + configurable: true + }); + } + function injectVueHookToIframe(iframe) { + if (iframe.__vdevtools__injected) { + return; + } + try { + iframe.__vdevtools__injected = true; + const inject = () => { + try { + iframe.contentWindow.__VUE_DEVTOOLS_IFRAME__ = iframe; + const script = iframe.contentDocument.createElement("script"); + script.textContent = `;(${detectIframeApp.toString()})(window, true)`; + iframe.contentDocument.documentElement.appendChild(script); + script.parentNode.removeChild(script); + } catch (e) { + } + }; + inject(); + iframe.addEventListener("load", () => inject()); + } catch (e) { + } + } + function injectVueHookToIframes() { + if (typeof window === "undefined") { + return; + } + const iframes = Array.from(document.querySelectorAll("iframe:not([data-vue-devtools-ignore])")); + for (const iframe of iframes) { + injectVueHookToIframe(iframe); + } + } + injectVueHookToIframes(); + let iframeAppChecks = 0; + const iframeAppCheckTimer = setInterval(() => { + injectVueHookToIframes(); + iframeAppChecks++; + if (iframeAppChecks >= 5) { + clearInterval(iframeAppCheckTimer); + } + }, 1e3); +} + +// src/core/index.ts +function initDevTools() { + var _a25; + detectIframeApp(import_devtools_shared21.target); + updateDevToolsState({ + vitePluginDetected: getDevToolsEnv().vitePluginDetected + }); + const isDevToolsNext = ((_a25 = import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__) == null ? void 0 : _a25.id) === "vue-devtools-next"; + if (import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__ && isDevToolsNext) + return; + const _devtoolsHook = createDevToolsHook(); + if (import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__) { + try { + import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach((cb) => cb(_devtoolsHook)); + import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__ = []; + } catch (e) { + console.error("[vue-devtools] Error during hook replay", e); + } + } + _devtoolsHook.once("init", (Vue) => { + import_devtools_shared21.target.__VUE_DEVTOOLS_VUE2_APP_DETECTED__ = true; + console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;"); + console.log("%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.", "font-bold: 500; font-size: 14px;"); + const legacyChromeUrl = "https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp"; + const legacyFirefoxUrl = "https://addons.mozilla.org/firefox/addon/vue-js-devtools-v6-legacy"; + console.log(`%cThe legacy version of chrome extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyChromeUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;"); + console.log(`%cThe legacy version of firefox extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyFirefoxUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;"); + console.log("%cPlease install and enable only the legacy version for your Vue2 app.", "font-bold: 500; font-size: 14px;"); + console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;"); + }); + hook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => { + var _a26; + addDevToolsPluginToBuffer(pluginDescriptor, setupFn); + const { app } = (_a26 = activeAppRecord) != null ? _a26 : {}; + if (pluginDescriptor.settings) { + initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings); + } + if (!app) + return; + callDevToolsPluginSetupFn([pluginDescriptor, setupFn], app); + }); + onLegacyDevToolsPluginApiAvailable(() => { + const normalizedPluginBuffer = devtoolsPluginBuffer.filter(([item]) => item.id !== "components"); + normalizedPluginBuffer.forEach(([pluginDescriptor, setupFn]) => { + _devtoolsHook.emit("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn, { target: "legacy" }); + }); + }); + hook.on.vueAppInit(async (app, version, types) => { + const appRecord = createAppRecord(app, types); + const normalizedAppRecord = { + ...appRecord, + app, + version + }; + addDevToolsAppRecord(normalizedAppRecord); + if (devtoolsAppRecords.value.length === 1) { + setActiveAppRecord(normalizedAppRecord); + setActiveAppRecordId(normalizedAppRecord.id); + normalizeRouterInfo(normalizedAppRecord, activeAppRecord); + registerDevToolsPlugin(normalizedAppRecord.app); + } + setupDevToolsPlugin(...createComponentsDevToolsPlugin(normalizedAppRecord.app)); + updateDevToolsState({ + connected: true + }); + _devtoolsHook.apps.push(app); + }); + hook.on.vueAppUnmount(async (app) => { + const activeRecords = devtoolsAppRecords.value.filter((appRecord) => appRecord.app !== app); + if (activeRecords.length === 0) { + updateDevToolsState({ + connected: false + }); + } + removeDevToolsAppRecord(app); + removeAppRecordId(app); + if (activeAppRecord.value.app === app) { + setActiveAppRecord(activeRecords[0]); + devtoolsContext.hooks.callHook("sendActiveAppUpdatedToClient" /* SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT */); + } + import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.splice(import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.indexOf(app), 1); + removeRegisteredPluginApp(app); + }); + subscribeDevToolsHook(_devtoolsHook); + if (!import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__) { + Object.defineProperty(import_devtools_shared21.target, "__VUE_DEVTOOLS_GLOBAL_HOOK__", { + get() { + return _devtoolsHook; + }, + configurable: true + }); + } else { + if (!import_devtools_shared21.isNuxtApp) { + Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, _devtoolsHook); + } + } +} +function onDevToolsClientConnected(fn) { + return new Promise((resolve) => { + if (devtoolsState.connected && devtoolsState.clientConnected) { + fn(); + resolve(); + return; + } + devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => { + if (state.connected && state.clientConnected) { + fn(); + resolve(); + } + }); + }); +} + +// src/core/high-perf-mode/index.ts +init_cjs_shims(); +function toggleHighPerfMode(state) { + devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled; + if (!state && activeAppRecord.value) { + registerDevToolsPlugin(activeAppRecord.value.app); + } +} + +// src/core/component/state/format.ts +init_cjs_shims(); + +// src/core/component/state/reviver.ts +init_cjs_shims(); +var import_devtools_shared22 = require("@vue/devtools-shared"); +function reviveSet(val) { + const result = /* @__PURE__ */ new Set(); + const list = val._custom.value; + for (let i = 0; i < list.length; i++) { + const value = list[i]; + result.add(revive(value)); + } + return result; +} +function reviveMap(val) { + const result = /* @__PURE__ */ new Map(); + const list = val._custom.value; + for (let i = 0; i < list.length; i++) { + const { key, value } = list[i]; + result.set(key, revive(value)); + } + return result; +} +function revive(val) { + if (val === UNDEFINED) { + return void 0; + } else if (val === INFINITY) { + return Number.POSITIVE_INFINITY; + } else if (val === NEGATIVE_INFINITY) { + return Number.NEGATIVE_INFINITY; + } else if (val === NAN) { + return Number.NaN; + } else if (val && val._custom) { + const { _custom: custom } = val; + if (custom.type === "component") + return activeAppRecord.value.instanceMap.get(custom.id); + else if (custom.type === "map") + return reviveMap(val); + else if (custom.type === "set") + return reviveSet(val); + else if (custom.type === "bigint") + return BigInt(custom.value); + else + return revive(custom.value); + } else if (symbolRE.test(val)) { + const [, string] = symbolRE.exec(val); + return Symbol.for(string); + } else if (specialTypeRE.test(val)) { + const [, type, string, , details] = specialTypeRE.exec(val); + const result = new import_devtools_shared22.target[type](string); + if (type === "Error" && details) + result.stack = details; + return result; + } else { + return val; + } +} +function reviver(key, value) { + return revive(value); +} + +// src/core/component/state/format.ts +function getInspectorStateValueType(value, raw = true) { + const type = typeof value; + if (value == null || value === UNDEFINED || value === "undefined") { + return "null"; + } else if (type === "boolean" || type === "number" || value === INFINITY || value === NEGATIVE_INFINITY || value === NAN) { + return "literal"; + } else if (value == null ? void 0 : value._custom) { + if (raw || value._custom.display != null || value._custom.displayText != null) + return "custom"; + else + return getInspectorStateValueType(value._custom.value); + } else if (typeof value === "string") { + const typeMatch = specialTypeRE.exec(value); + if (typeMatch) { + const [, type2] = typeMatch; + return `native ${type2}`; + } else { + return "string"; + } + } else if (Array.isArray(value) || (value == null ? void 0 : value._isArray)) { + return "array"; + } else if (isPlainObject(value)) { + return "plain-object"; + } else { + return "unknown"; + } +} +function formatInspectorStateValue(value, quotes = false, options) { + var _a25, _b25, _c; + const { customClass } = options != null ? options : {}; + let result; + const type = getInspectorStateValueType(value, false); + if (type !== "custom" && (value == null ? void 0 : value._custom)) + value = value._custom.value; + if (result = internalStateTokenToString(value)) { + return result; + } else if (type === "custom") { + const nestedName = ((_a25 = value._custom.value) == null ? void 0 : _a25._custom) && formatInspectorStateValue(value._custom.value, quotes, options); + return nestedName || value._custom.displayText || value._custom.display; + } else if (type === "array") { + return `Array[${value.length}]`; + } else if (type === "plain-object") { + return `Object${Object.keys(value).length ? "" : " (empty)"}`; + } else if (type == null ? void 0 : type.includes("native")) { + return escape((_b25 = specialTypeRE.exec(value)) == null ? void 0 : _b25[2]); + } else if (typeof value === "string") { + const typeMatch = value.match(rawTypeRE); + if (typeMatch) { + value = escapeString(typeMatch[1]); + } else if (quotes) { + value = `<span>"</span>${(customClass == null ? void 0 : customClass.string) ? `<span class=${customClass.string}>${escapeString(value)}</span>` : escapeString(value)}<span>"</span>`; + } else { + value = (customClass == null ? void 0 : customClass.string) ? `<span class="${(_c = customClass == null ? void 0 : customClass.string) != null ? _c : ""}">${escapeString(value)}</span>` : escapeString(value); + } + } + return value; +} +function escapeString(value) { + return escape(value).replace(/ /g, " ").replace(/\n/g, "<span>\\n</span>"); +} +function getRaw(value) { + var _a25, _b25, _c; + let customType; + const isCustom = getInspectorStateValueType(value) === "custom"; + let inherit = {}; + if (isCustom) { + const data = value; + const customValue = (_a25 = data._custom) == null ? void 0 : _a25.value; + const currentCustomType = (_b25 = data._custom) == null ? void 0 : _b25.type; + const nestedCustom = typeof customValue === "object" && customValue !== null && "_custom" in customValue ? getRaw(customValue) : { inherit: void 0, value: void 0, customType: void 0 }; + inherit = nestedCustom.inherit || ((_c = data._custom) == null ? void 0 : _c.fields) || {}; + value = nestedCustom.value || customValue; + customType = nestedCustom.customType || currentCustomType; + } + if (value && value._isArray) + value = value.items; + return { value, inherit, customType }; +} +function toEdit(value, customType) { + if (customType === "bigint") + return value; + if (customType === "date") + return value; + return replaceTokenToString(JSON.stringify(value)); +} +function toSubmit(value, customType) { + if (customType === "bigint") + return BigInt(value); + if (customType === "date") + return new Date(value); + return JSON.parse(replaceStringToToken(value), reviver); +} + +// src/core/devtools-client/detected.ts +init_cjs_shims(); +var import_devtools_shared23 = require("@vue/devtools-shared"); +function updateDevToolsClientDetected(params) { + devtoolsState.devtoolsClientDetected = { + ...devtoolsState.devtoolsClientDetected, + ...params + }; + const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean); + toggleHighPerfMode(!devtoolsClientVisible); +} +var _a18, _b18; +(_b18 = (_a18 = import_devtools_shared23.target).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b18 : _a18.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected; + +// src/messaging/index.ts +init_cjs_shims(); +var import_devtools_shared31 = require("@vue/devtools-shared"); +var import_birpc = require("birpc"); + +// src/messaging/presets/index.ts +init_cjs_shims(); + +// src/messaging/presets/broadcast-channel/index.ts +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js +init_cjs_shims(); +var DoubleIndexedKV = class { + constructor() { + this.keyToValue = /* @__PURE__ */ new Map(); + this.valueToKey = /* @__PURE__ */ new Map(); + } + set(key, value) { + this.keyToValue.set(key, value); + this.valueToKey.set(value, key); + } + getByKey(key) { + return this.keyToValue.get(key); + } + getByValue(value) { + return this.valueToKey.get(value); + } + clear() { + this.keyToValue.clear(); + this.valueToKey.clear(); + } +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js +var Registry = class { + constructor(generateIdentifier) { + this.generateIdentifier = generateIdentifier; + this.kv = new DoubleIndexedKV(); + } + register(value, identifier) { + if (this.kv.getByValue(value)) { + return; + } + if (!identifier) { + identifier = this.generateIdentifier(value); + } + this.kv.set(identifier, value); + } + clear() { + this.kv.clear(); + } + getIdentifier(value) { + return this.kv.getByValue(value); + } + getValue(identifier) { + return this.kv.getByKey(identifier); + } +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js +var ClassRegistry = class extends Registry { + constructor() { + super((c) => c.name); + this.classToAllowedProps = /* @__PURE__ */ new Map(); + } + register(value, options) { + if (typeof options === "object") { + if (options.allowProps) { + this.classToAllowedProps.set(value, options.allowProps); + } + super.register(value, options.identifier); + } else { + super.register(value, options); + } + } + getAllowedProps(value) { + return this.classToAllowedProps.get(value); + } +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js +init_cjs_shims(); +function valuesOfObj(record) { + if ("values" in Object) { + return Object.values(record); + } + const values = []; + for (const key in record) { + if (record.hasOwnProperty(key)) { + values.push(record[key]); + } + } + return values; +} +function find(record, predicate) { + const values = valuesOfObj(record); + if ("find" in values) { + return values.find(predicate); + } + const valuesNotNever = values; + for (let i = 0; i < valuesNotNever.length; i++) { + const value = valuesNotNever[i]; + if (predicate(value)) { + return value; + } + } + return void 0; +} +function forEach(record, run) { + Object.entries(record).forEach(([key, value]) => run(value, key)); +} +function includes(arr, value) { + return arr.indexOf(value) !== -1; +} +function findArr(record, predicate) { + for (let i = 0; i < record.length; i++) { + const value = record[i]; + if (predicate(value)) { + return value; + } + } + return void 0; +} + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js +var CustomTransformerRegistry = class { + constructor() { + this.transfomers = {}; + } + register(transformer) { + this.transfomers[transformer.name] = transformer; + } + findApplicable(v) { + return find(this.transfomers, (transformer) => transformer.isApplicable(v)); + } + findByName(name) { + return this.transfomers[name]; + } +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js +init_cjs_shims(); +var getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1); +var isUndefined = (payload) => typeof payload === "undefined"; +var isNull = (payload) => payload === null; +var isPlainObject2 = (payload) => { + if (typeof payload !== "object" || payload === null) + return false; + if (payload === Object.prototype) + return false; + if (Object.getPrototypeOf(payload) === null) + return true; + return Object.getPrototypeOf(payload) === Object.prototype; +}; +var isEmptyObject = (payload) => isPlainObject2(payload) && Object.keys(payload).length === 0; +var isArray = (payload) => Array.isArray(payload); +var isString = (payload) => typeof payload === "string"; +var isNumber = (payload) => typeof payload === "number" && !isNaN(payload); +var isBoolean = (payload) => typeof payload === "boolean"; +var isRegExp = (payload) => payload instanceof RegExp; +var isMap = (payload) => payload instanceof Map; +var isSet = (payload) => payload instanceof Set; +var isSymbol = (payload) => getType(payload) === "Symbol"; +var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf()); +var isError = (payload) => payload instanceof Error; +var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload); +var isPrimitive2 = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload); +var isBigint = (payload) => typeof payload === "bigint"; +var isInfinite = (payload) => payload === Infinity || payload === -Infinity; +var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView); +var isURL = (payload) => payload instanceof URL; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js +init_cjs_shims(); +var escapeKey = (key) => key.replace(/\./g, "\\."); +var stringifyPath = (path) => path.map(String).map(escapeKey).join("."); +var parsePath = (string) => { + const result = []; + let segment = ""; + for (let i = 0; i < string.length; i++) { + let char = string.charAt(i); + const isEscapedDot = char === "\\" && string.charAt(i + 1) === "."; + if (isEscapedDot) { + segment += "."; + i++; + continue; + } + const isEndOfSegment = char === "."; + if (isEndOfSegment) { + result.push(segment); + segment = ""; + continue; + } + segment += char; + } + const lastSegment = segment; + result.push(lastSegment); + return result; +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js +init_cjs_shims(); +function simpleTransformation(isApplicable, annotation, transform, untransform) { + return { + isApplicable, + annotation, + transform, + untransform + }; +} +var simpleRules = [ + simpleTransformation(isUndefined, "undefined", () => null, () => void 0), + simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => { + if (typeof BigInt !== "undefined") { + return BigInt(v); + } + console.error("Please add a BigInt polyfill."); + return v; + }), + simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)), + simpleTransformation(isError, "Error", (v, superJson) => { + const baseError = { + name: v.name, + message: v.message + }; + superJson.allowedErrorProps.forEach((prop) => { + baseError[prop] = v[prop]; + }); + return baseError; + }, (v, superJson) => { + const e = new Error(v.message); + e.name = v.name; + e.stack = v.stack; + superJson.allowedErrorProps.forEach((prop) => { + e[prop] = v[prop]; + }); + return e; + }), + simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => { + const body = regex.slice(1, regex.lastIndexOf("/")); + const flags = regex.slice(regex.lastIndexOf("/") + 1); + return new RegExp(body, flags); + }), + simpleTransformation( + isSet, + "set", + // (sets only exist in es6+) + // eslint-disable-next-line es5/no-es6-methods + (v) => [...v.values()], + (v) => new Set(v) + ), + simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)), + simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => { + if (isNaNValue(v)) { + return "NaN"; + } + if (v > 0) { + return "Infinity"; + } else { + return "-Infinity"; + } + }, Number), + simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => { + return "-0"; + }, Number), + simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v)) +]; +function compositeTransformation(isApplicable, annotation, transform, untransform) { + return { + isApplicable, + annotation, + transform, + untransform + }; +} +var symbolRule = compositeTransformation((s, superJson) => { + if (isSymbol(s)) { + const isRegistered = !!superJson.symbolRegistry.getIdentifier(s); + return isRegistered; + } + return false; +}, (s, superJson) => { + const identifier = superJson.symbolRegistry.getIdentifier(s); + return ["symbol", identifier]; +}, (v) => v.description, (_, a, superJson) => { + const value = superJson.symbolRegistry.getValue(a[1]); + if (!value) { + throw new Error("Trying to deserialize unknown symbol"); + } + return value; +}); +var constructorToName = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + Uint8ClampedArray +].reduce((obj, ctor) => { + obj[ctor.name] = ctor; + return obj; +}, {}); +var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => { + const ctor = constructorToName[a[1]]; + if (!ctor) { + throw new Error("Trying to deserialize unknown typed array"); + } + return new ctor(v); +}); +function isInstanceOfRegisteredClass(potentialClass, superJson) { + if (potentialClass == null ? void 0 : potentialClass.constructor) { + const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor); + return isRegistered; + } + return false; +} +var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => { + const identifier = superJson.classRegistry.getIdentifier(clazz.constructor); + return ["class", identifier]; +}, (clazz, superJson) => { + const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor); + if (!allowedProps) { + return { ...clazz }; + } + const result = {}; + allowedProps.forEach((prop) => { + result[prop] = clazz[prop]; + }); + return result; +}, (v, a, superJson) => { + const clazz = superJson.classRegistry.getValue(a[1]); + if (!clazz) { + throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`); + } + return Object.assign(Object.create(clazz.prototype), v); +}); +var customRule = compositeTransformation((value, superJson) => { + return !!superJson.customTransformerRegistry.findApplicable(value); +}, (value, superJson) => { + const transformer = superJson.customTransformerRegistry.findApplicable(value); + return ["custom", transformer.name]; +}, (value, superJson) => { + const transformer = superJson.customTransformerRegistry.findApplicable(value); + return transformer.serialize(value); +}, (v, a, superJson) => { + const transformer = superJson.customTransformerRegistry.findByName(a[1]); + if (!transformer) { + throw new Error("Trying to deserialize unknown custom value"); + } + return transformer.deserialize(v); +}); +var compositeRules = [classRule, symbolRule, customRule, typedArrayRule]; +var transformValue = (value, superJson) => { + const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson)); + if (applicableCompositeRule) { + return { + value: applicableCompositeRule.transform(value, superJson), + type: applicableCompositeRule.annotation(value, superJson) + }; + } + const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson)); + if (applicableSimpleRule) { + return { + value: applicableSimpleRule.transform(value, superJson), + type: applicableSimpleRule.annotation + }; + } + return void 0; +}; +var simpleRulesByAnnotation = {}; +simpleRules.forEach((rule) => { + simpleRulesByAnnotation[rule.annotation] = rule; +}); +var untransformValue = (json, type, superJson) => { + if (isArray(type)) { + switch (type[0]) { + case "symbol": + return symbolRule.untransform(json, type, superJson); + case "class": + return classRule.untransform(json, type, superJson); + case "custom": + return customRule.untransform(json, type, superJson); + case "typed-array": + return typedArrayRule.untransform(json, type, superJson); + default: + throw new Error("Unknown transformation: " + type); + } + } else { + const transformation = simpleRulesByAnnotation[type]; + if (!transformation) { + throw new Error("Unknown transformation: " + type); + } + return transformation.untransform(json, superJson); + } +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js +init_cjs_shims(); +var getNthKey = (value, n) => { + if (n > value.size) + throw new Error("index out of bounds"); + const keys = value.keys(); + while (n > 0) { + keys.next(); + n--; + } + return keys.next().value; +}; +function validatePath(path) { + if (includes(path, "__proto__")) { + throw new Error("__proto__ is not allowed as a property"); + } + if (includes(path, "prototype")) { + throw new Error("prototype is not allowed as a property"); + } + if (includes(path, "constructor")) { + throw new Error("constructor is not allowed as a property"); + } +} +var getDeep = (object, path) => { + validatePath(path); + for (let i = 0; i < path.length; i++) { + const key = path[i]; + if (isSet(object)) { + object = getNthKey(object, +key); + } else if (isMap(object)) { + const row = +key; + const type = +path[++i] === 0 ? "key" : "value"; + const keyOfRow = getNthKey(object, row); + switch (type) { + case "key": + object = keyOfRow; + break; + case "value": + object = object.get(keyOfRow); + break; + } + } else { + object = object[key]; + } + } + return object; +}; +var setDeep = (object, path, mapper) => { + validatePath(path); + if (path.length === 0) { + return mapper(object); + } + let parent = object; + for (let i = 0; i < path.length - 1; i++) { + const key = path[i]; + if (isArray(parent)) { + const index = +key; + parent = parent[index]; + } else if (isPlainObject2(parent)) { + parent = parent[key]; + } else if (isSet(parent)) { + const row = +key; + parent = getNthKey(parent, row); + } else if (isMap(parent)) { + const isEnd = i === path.length - 2; + if (isEnd) { + break; + } + const row = +key; + const type = +path[++i] === 0 ? "key" : "value"; + const keyOfRow = getNthKey(parent, row); + switch (type) { + case "key": + parent = keyOfRow; + break; + case "value": + parent = parent.get(keyOfRow); + break; + } + } + } + const lastKey = path[path.length - 1]; + if (isArray(parent)) { + parent[+lastKey] = mapper(parent[+lastKey]); + } else if (isPlainObject2(parent)) { + parent[lastKey] = mapper(parent[lastKey]); + } + if (isSet(parent)) { + const oldValue = getNthKey(parent, +lastKey); + const newValue = mapper(oldValue); + if (oldValue !== newValue) { + parent.delete(oldValue); + parent.add(newValue); + } + } + if (isMap(parent)) { + const row = +path[path.length - 2]; + const keyToRow = getNthKey(parent, row); + const type = +lastKey === 0 ? "key" : "value"; + switch (type) { + case "key": { + const newKey = mapper(keyToRow); + parent.set(newKey, parent.get(keyToRow)); + if (newKey !== keyToRow) { + parent.delete(keyToRow); + } + break; + } + case "value": { + parent.set(keyToRow, mapper(parent.get(keyToRow))); + break; + } + } + } + return object; +}; + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js +function traverse(tree, walker2, origin = []) { + if (!tree) { + return; + } + if (!isArray(tree)) { + forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)])); + return; + } + const [nodeValue, children] = tree; + if (children) { + forEach(children, (child, key) => { + traverse(child, walker2, [...origin, ...parsePath(key)]); + }); + } + walker2(nodeValue, origin); +} +function applyValueAnnotations(plain, annotations, superJson) { + traverse(annotations, (type, path) => { + plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson)); + }); + return plain; +} +function applyReferentialEqualityAnnotations(plain, annotations) { + function apply(identicalPaths, path) { + const object = getDeep(plain, parsePath(path)); + identicalPaths.map(parsePath).forEach((identicalObjectPath) => { + plain = setDeep(plain, identicalObjectPath, () => object); + }); + } + if (isArray(annotations)) { + const [root, other] = annotations; + root.forEach((identicalPath) => { + plain = setDeep(plain, parsePath(identicalPath), () => plain); + }); + if (other) { + forEach(other, apply); + } + } else { + forEach(annotations, apply); + } + return plain; +} +var isDeep = (object, superJson) => isPlainObject2(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson); +function addIdentity(object, path, identities) { + const existingSet = identities.get(object); + if (existingSet) { + existingSet.push(path); + } else { + identities.set(object, [path]); + } +} +function generateReferentialEqualityAnnotations(identitites, dedupe) { + const result = {}; + let rootEqualityPaths = void 0; + identitites.forEach((paths) => { + if (paths.length <= 1) { + return; + } + if (!dedupe) { + paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length); + } + const [representativePath, ...identicalPaths] = paths; + if (representativePath.length === 0) { + rootEqualityPaths = identicalPaths.map(stringifyPath); + } else { + result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath); + } + }); + if (rootEqualityPaths) { + if (isEmptyObject(result)) { + return [rootEqualityPaths]; + } else { + return [rootEqualityPaths, result]; + } + } else { + return isEmptyObject(result) ? void 0 : result; + } +} +var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => { + var _a25; + const primitive = isPrimitive2(object); + if (!primitive) { + addIdentity(object, path, identities); + const seen = seenObjects.get(object); + if (seen) { + return dedupe ? { + transformedValue: null + } : seen; + } + } + if (!isDeep(object, superJson)) { + const transformed2 = transformValue(object, superJson); + const result2 = transformed2 ? { + transformedValue: transformed2.value, + annotations: [transformed2.type] + } : { + transformedValue: object + }; + if (!primitive) { + seenObjects.set(object, result2); + } + return result2; + } + if (includes(objectsInThisPath, object)) { + return { + transformedValue: null + }; + } + const transformationResult = transformValue(object, superJson); + const transformed = (_a25 = transformationResult == null ? void 0 : transformationResult.value) != null ? _a25 : object; + const transformedValue = isArray(transformed) ? [] : {}; + const innerAnnotations = {}; + forEach(transformed, (value, index) => { + if (index === "__proto__" || index === "constructor" || index === "prototype") { + throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`); + } + const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects); + transformedValue[index] = recursiveResult.transformedValue; + if (isArray(recursiveResult.annotations)) { + innerAnnotations[index] = recursiveResult.annotations; + } else if (isPlainObject2(recursiveResult.annotations)) { + forEach(recursiveResult.annotations, (tree, key) => { + innerAnnotations[escapeKey(index) + "." + key] = tree; + }); + } + }); + const result = isEmptyObject(innerAnnotations) ? { + transformedValue, + annotations: !!transformationResult ? [transformationResult.type] : void 0 + } : { + transformedValue, + annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations + }; + if (!primitive) { + seenObjects.set(object, result); + } + return result; +}; + +// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js +init_cjs_shims(); + +// ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js +init_cjs_shims(); +function getType2(payload) { + return Object.prototype.toString.call(payload).slice(8, -1); +} +function isArray2(payload) { + return getType2(payload) === "Array"; +} +function isPlainObject3(payload) { + if (getType2(payload) !== "Object") + return false; + const prototype = Object.getPrototypeOf(payload); + return !!prototype && prototype.constructor === Object && prototype === Object.prototype; +} +function isNull2(payload) { + return getType2(payload) === "Null"; +} +function isOneOf(a, b, c, d, e) { + return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value); +} +function isUndefined2(payload) { + return getType2(payload) === "Undefined"; +} +var isNullOrUndefined = isOneOf(isNull2, isUndefined2); + +// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js +function assignProp(carry, key, newVal, originalObject, includeNonenumerable) { + const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable"; + if (propType === "enumerable") + carry[key] = newVal; + if (includeNonenumerable && propType === "nonenumerable") { + Object.defineProperty(carry, key, { + value: newVal, + enumerable: false, + writable: true, + configurable: true + }); + } +} +function copy(target22, options = {}) { + if (isArray2(target22)) { + return target22.map((item) => copy(item, options)); + } + if (!isPlainObject3(target22)) { + return target22; + } + const props = Object.getOwnPropertyNames(target22); + const symbols = Object.getOwnPropertySymbols(target22); + return [...props, ...symbols].reduce((carry, key) => { + if (isArray2(options.props) && !options.props.includes(key)) { + return carry; + } + const val = target22[key]; + const newVal = copy(val, options); + assignProp(carry, key, newVal, target22, options.nonenumerable); + return carry; + }, {}); +} + +// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js +var SuperJSON = class { + /** + * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`. + */ + constructor({ dedupe = false } = {}) { + this.classRegistry = new ClassRegistry(); + this.symbolRegistry = new Registry((s) => { + var _a25; + return (_a25 = s.description) != null ? _a25 : ""; + }); + this.customTransformerRegistry = new CustomTransformerRegistry(); + this.allowedErrorProps = []; + this.dedupe = dedupe; + } + serialize(object) { + const identities = /* @__PURE__ */ new Map(); + const output = walker(object, identities, this, this.dedupe); + const res = { + json: output.transformedValue + }; + if (output.annotations) { + res.meta = { + ...res.meta, + values: output.annotations + }; + } + const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe); + if (equalityAnnotations) { + res.meta = { + ...res.meta, + referentialEqualities: equalityAnnotations + }; + } + return res; + } + deserialize(payload) { + const { json, meta } = payload; + let result = copy(json); + if (meta == null ? void 0 : meta.values) { + result = applyValueAnnotations(result, meta.values, this); + } + if (meta == null ? void 0 : meta.referentialEqualities) { + result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities); + } + return result; + } + stringify(object) { + return JSON.stringify(this.serialize(object)); + } + parse(string) { + return this.deserialize(JSON.parse(string)); + } + registerClass(v, options) { + this.classRegistry.register(v, options); + } + registerSymbol(v, identifier) { + this.symbolRegistry.register(v, identifier); + } + registerCustom(transformer, name) { + this.customTransformerRegistry.register({ + name, + ...transformer + }); + } + allowErrorProps(...props) { + this.allowedErrorProps.push(...props); + } +}; +SuperJSON.defaultInstance = new SuperJSON(); +SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance); +SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance); +SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance); +SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance); +SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance); +SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance); +SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance); +SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance); +var serialize = SuperJSON.serialize; +var deserialize = SuperJSON.deserialize; +var stringify = SuperJSON.stringify; +var parse = SuperJSON.parse; +var registerClass = SuperJSON.registerClass; +var registerCustom = SuperJSON.registerCustom; +var registerSymbol = SuperJSON.registerSymbol; +var allowErrorProps = SuperJSON.allowErrorProps; + +// src/messaging/presets/broadcast-channel/context.ts +init_cjs_shims(); +var __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = "__devtools-kit-broadcast-messaging-event-key__"; + +// src/messaging/presets/broadcast-channel/index.ts +var BROADCAST_CHANNEL_NAME = "__devtools-kit:broadcast-channel__"; +function createBroadcastChannel() { + const channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME); + return { + post: (data) => { + channel.postMessage(SuperJSON.stringify({ + event: __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY, + data + })); + }, + on: (handler) => { + channel.onmessage = (event) => { + const parsed = SuperJSON.parse(event.data); + if (parsed.event === __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY) { + handler(parsed.data); + } + }; + } + }; +} + +// src/messaging/presets/electron/index.ts +init_cjs_shims(); + +// src/messaging/presets/electron/client.ts +init_cjs_shims(); + +// src/messaging/presets/electron/context.ts +init_cjs_shims(); +var import_devtools_shared24 = require("@vue/devtools-shared"); +var __ELECTRON_CLIENT_CONTEXT__ = "electron:client-context"; +var __ELECTRON_RPOXY_CONTEXT__ = "electron:proxy-context"; +var __ELECTRON_SERVER_CONTEXT__ = "electron:server-context"; +var __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = { + // client + CLIENT_TO_PROXY: "client->proxy", + // on: proxy->client + // proxy + PROXY_TO_CLIENT: "proxy->client", + // on: server->proxy + PROXY_TO_SERVER: "proxy->server", + // on: client->proxy + // server + SERVER_TO_PROXY: "server->proxy" + // on: proxy->server +}; +function getElectronClientContext() { + return import_devtools_shared24.target[__ELECTRON_CLIENT_CONTEXT__]; +} +function setElectronClientContext(context) { + import_devtools_shared24.target[__ELECTRON_CLIENT_CONTEXT__] = context; +} +function getElectronProxyContext() { + return import_devtools_shared24.target[__ELECTRON_RPOXY_CONTEXT__]; +} +function setElectronProxyContext(context) { + import_devtools_shared24.target[__ELECTRON_RPOXY_CONTEXT__] = context; +} +function getElectronServerContext() { + return import_devtools_shared24.target[__ELECTRON_SERVER_CONTEXT__]; +} +function setElectronServerContext(context) { + import_devtools_shared24.target[__ELECTRON_SERVER_CONTEXT__] = context; +} + +// src/messaging/presets/electron/client.ts +function createElectronClientChannel() { + const socket = getElectronClientContext(); + return { + post: (data) => { + socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, SuperJSON.stringify(data)); + }, + on: (handler) => { + socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, (e) => { + handler(SuperJSON.parse(e)); + }); + } + }; +} + +// src/messaging/presets/electron/proxy.ts +init_cjs_shims(); +function createElectronProxyChannel() { + const socket = getElectronProxyContext(); + return { + post: (data) => { + }, + on: (handler) => { + socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, (data) => { + socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, data); + }); + socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, (data) => { + socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, data); + }); + } + }; +} + +// src/messaging/presets/electron/server.ts +init_cjs_shims(); +function createElectronServerChannel() { + const socket = getElectronServerContext(); + return { + post: (data) => { + socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, SuperJSON.stringify(data)); + }, + on: (handler) => { + socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, (data) => { + handler(SuperJSON.parse(data)); + }); + } + }; +} + +// src/messaging/presets/extension/index.ts +init_cjs_shims(); + +// src/messaging/presets/extension/client.ts +init_cjs_shims(); + +// src/messaging/presets/extension/context.ts +init_cjs_shims(); +var import_devtools_shared25 = require("@vue/devtools-shared"); +var __EXTENSION_CLIENT_CONTEXT__ = "electron:client-context"; +var __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = { + // client + CLIENT_TO_PROXY: "client->proxy", + // on: proxy->client + // proxy + PROXY_TO_CLIENT: "proxy->client", + // on: server->proxy + PROXY_TO_SERVER: "proxy->server", + // on: client->proxy + // server + SERVER_TO_PROXY: "server->proxy" + // on: proxy->server +}; +function getExtensionClientContext() { + return import_devtools_shared25.target[__EXTENSION_CLIENT_CONTEXT__]; +} +function setExtensionClientContext(context) { + import_devtools_shared25.target[__EXTENSION_CLIENT_CONTEXT__] = context; +} + +// src/messaging/presets/extension/client.ts +function createExtensionClientChannel() { + let disconnected = false; + let port = null; + let reconnectTimer = null; + let onMessageHandler = null; + function connect() { + try { + clearTimeout(reconnectTimer); + port = chrome.runtime.connect({ + name: `${chrome.devtools.inspectedWindow.tabId}` + }); + setExtensionClientContext(port); + disconnected = false; + port == null ? void 0 : port.onMessage.addListener(onMessageHandler); + port.onDisconnect.addListener(() => { + disconnected = true; + port == null ? void 0 : port.onMessage.removeListener(onMessageHandler); + reconnectTimer = setTimeout(connect, 1e3); + }); + } catch (e) { + disconnected = true; + } + } + connect(); + return { + post: (data) => { + if (disconnected) { + return; + } + port == null ? void 0 : port.postMessage(SuperJSON.stringify(data)); + }, + on: (handler) => { + onMessageHandler = (data) => { + if (disconnected) { + return; + } + handler(SuperJSON.parse(data)); + }; + port == null ? void 0 : port.onMessage.addListener(onMessageHandler); + } + }; +} + +// src/messaging/presets/extension/proxy.ts +init_cjs_shims(); +function createExtensionProxyChannel() { + const port = chrome.runtime.connect({ + name: "content-script" + }); + function sendMessageToUserApp(payload) { + window.postMessage({ + source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, + payload + }, "*"); + } + function sendMessageToDevToolsClient(e) { + if (e.data && e.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY) { + try { + port.postMessage(e.data.payload); + } catch (e2) { + } + } + } + port.onMessage.addListener(sendMessageToUserApp); + window.addEventListener("message", sendMessageToDevToolsClient); + port.onDisconnect.addListener(() => { + window.removeEventListener("message", sendMessageToDevToolsClient); + sendMessageToUserApp(SuperJSON.stringify({ + event: "shutdown" + })); + }); + sendMessageToUserApp(SuperJSON.stringify({ + event: "init" + })); + return { + post: (data) => { + }, + on: (handler) => { + } + }; +} + +// src/messaging/presets/extension/server.ts +init_cjs_shims(); +function createExtensionServerChannel() { + return { + post: (data) => { + window.postMessage({ + source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, + payload: SuperJSON.stringify(data) + }, "*"); + }, + on: (handler) => { + const listener = (event) => { + if (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) { + handler(SuperJSON.parse(event.data.payload)); + } + }; + window.addEventListener("message", listener); + return () => { + window.removeEventListener("message", listener); + }; + } + }; +} + +// src/messaging/presets/iframe/index.ts +init_cjs_shims(); + +// src/messaging/presets/iframe/client.ts +init_cjs_shims(); +var import_devtools_shared27 = require("@vue/devtools-shared"); + +// src/messaging/presets/iframe/context.ts +init_cjs_shims(); +var import_devtools_shared26 = require("@vue/devtools-shared"); +var __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = "__devtools-kit-iframe-messaging-event-key__"; +var __IFRAME_SERVER_CONTEXT__ = "iframe:server-context"; +function getIframeServerContext() { + return import_devtools_shared26.target[__IFRAME_SERVER_CONTEXT__]; +} +function setIframeServerContext(context) { + import_devtools_shared26.target[__IFRAME_SERVER_CONTEXT__] = context; +} + +// src/messaging/presets/iframe/client.ts +function createIframeClientChannel() { + if (!import_devtools_shared27.isBrowser) { + return { + post: (data) => { + }, + on: (handler) => { + } + }; + } + return { + post: (data) => window.parent.postMessage(SuperJSON.stringify({ + event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY, + data + }), "*"), + on: (handler) => window.addEventListener("message", (event) => { + try { + const parsed = SuperJSON.parse(event.data); + if (event.source === window.parent && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) { + handler(parsed.data); + } + } catch (e) { + } + }) + }; +} + +// src/messaging/presets/iframe/server.ts +init_cjs_shims(); +var import_devtools_shared28 = require("@vue/devtools-shared"); +function createIframeServerChannel() { + if (!import_devtools_shared28.isBrowser) { + return { + post: (data) => { + }, + on: (handler) => { + } + }; + } + return { + post: (data) => { + var _a25; + const iframe = getIframeServerContext(); + (_a25 = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a25.postMessage(SuperJSON.stringify({ + event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY, + data + }), "*"); + }, + on: (handler) => { + window.addEventListener("message", (event) => { + const iframe = getIframeServerContext(); + try { + const parsed = SuperJSON.parse(event.data); + if (event.source === (iframe == null ? void 0 : iframe.contentWindow) && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) { + handler(parsed.data); + } + } catch (e) { + } + }); + } + }; +} + +// src/messaging/presets/vite/index.ts +init_cjs_shims(); + +// src/messaging/presets/vite/client.ts +init_cjs_shims(); + +// src/messaging/presets/vite/context.ts +init_cjs_shims(); +var import_devtools_shared29 = require("@vue/devtools-shared"); +var __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = "__devtools-kit-vite-messaging-event-key__"; +var __VITE_CLIENT_CONTEXT__ = "vite:client-context"; +var __VITE_SERVER_CONTEXT__ = "vite:server-context"; +function getViteClientContext() { + return import_devtools_shared29.target[__VITE_CLIENT_CONTEXT__]; +} +function setViteClientContext(context) { + import_devtools_shared29.target[__VITE_CLIENT_CONTEXT__] = context; +} +function getViteServerContext() { + return import_devtools_shared29.target[__VITE_SERVER_CONTEXT__]; +} +function setViteServerContext(context) { + import_devtools_shared29.target[__VITE_SERVER_CONTEXT__] = context; +} + +// src/messaging/presets/vite/client.ts +function createViteClientChannel() { + const client = getViteClientContext(); + return { + post: (data) => { + client == null ? void 0 : client.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)); + }, + on: (handler) => { + client == null ? void 0 : client.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => { + handler(SuperJSON.parse(event)); + }); + } + }; +} + +// src/messaging/presets/vite/server.ts +init_cjs_shims(); +function createViteServerChannel() { + var _a25; + const viteServer = getViteServerContext(); + const ws = (_a25 = viteServer.hot) != null ? _a25 : viteServer.ws; + return { + post: (data) => ws == null ? void 0 : ws.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)), + on: (handler) => ws == null ? void 0 : ws.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => { + handler(SuperJSON.parse(event)); + }) + }; +} + +// src/messaging/presets/ws/index.ts +init_cjs_shims(); + +// src/messaging/presets/ws/client.ts +init_cjs_shims(); + +// src/messaging/presets/ws/context.ts +init_cjs_shims(); +var import_devtools_shared30 = require("@vue/devtools-shared"); + +// src/messaging/presets/ws/server.ts +init_cjs_shims(); + +// src/messaging/index.ts +var _a19, _b19; +(_b19 = (_a19 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = []; +var _a20, _b20; +(_b20 = (_a20 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null; +var _a21, _b21; +(_b21 = (_a21 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null; +var _a22, _b22; +(_b22 = (_a22 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null; +var _a23, _b23; +(_b23 = (_a23 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null; +var _a24, _b24; +(_b24 = (_a24 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b24 : _a24.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null; +function setRpcClientToGlobal(rpc) { + import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc; +} +function setRpcServerToGlobal(rpc) { + import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc; +} +function getRpcClient() { + return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__; +} +function getRpcServer() { + return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__; +} +function setViteRpcClientToGlobal(rpc) { + import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc; +} +function setViteRpcServerToGlobal(rpc) { + import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc; +} +function getViteRpcClient() { + return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__; +} +function getViteRpcServer() { + return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__; +} +function getChannel(preset, host = "client") { + const channel = { + iframe: { + client: createIframeClientChannel, + server: createIframeServerChannel + }[host], + electron: { + client: createElectronClientChannel, + proxy: createElectronProxyChannel, + server: createElectronServerChannel + }[host], + vite: { + client: createViteClientChannel, + server: createViteServerChannel + }[host], + broadcast: { + client: createBroadcastChannel, + server: createBroadcastChannel + }[host], + extension: { + client: createExtensionClientChannel, + proxy: createExtensionProxyChannel, + server: createExtensionServerChannel + }[host] + }[preset]; + return channel(); +} +function createRpcClient(functions, options = {}) { + const { channel: _channel, options: _options, preset } = options; + const channel = preset ? getChannel(preset) : _channel; + const rpc = (0, import_birpc.createBirpc)(functions, { + ..._options, + ...channel, + timeout: -1 + }); + if (preset === "vite") { + setViteRpcClientToGlobal(rpc); + return; + } + setRpcClientToGlobal(rpc); + return rpc; +} +function createRpcServer(functions, options = {}) { + const { channel: _channel, options: _options, preset } = options; + const channel = preset ? getChannel(preset, "server") : _channel; + const rpcServer = getRpcServer(); + if (!rpcServer) { + const group = (0, import_birpc.createBirpcGroup)(functions, [channel], { + ..._options, + timeout: -1 + }); + if (preset === "vite") { + setViteRpcServerToGlobal(group); + return; + } + setRpcServerToGlobal(group); + } else { + rpcServer.updateChannels((channels) => { + channels.push(channel); + }); + } +} +function createRpcProxy(options = {}) { + const { channel: _channel, options: _options, preset } = options; + const channel = preset ? getChannel(preset, "proxy") : _channel; + return (0, import_birpc.createBirpc)({}, { + ..._options, + ...channel, + timeout: -1 + }); +} + +// src/shared/index.ts +init_cjs_shims(); + +// src/shared/env.ts +init_cjs_shims(); + +// src/shared/time.ts +init_cjs_shims(); + +// src/shared/util.ts +init_cjs_shims(); + +// src/core/component/state/replacer.ts +init_cjs_shims(); + +// src/core/component/state/custom.ts +init_cjs_shims(); +function getFunctionDetails(func) { + let string = ""; + let matches = null; + try { + string = Function.prototype.toString.call(func); + matches = String.prototype.match.call(string, /\([\s\S]*?\)/); + } catch (e) { + } + const match = matches && matches[0]; + const args = typeof match === "string" ? match : "(?)"; + const name = typeof func.name === "string" ? func.name : ""; + return { + _custom: { + type: "function", + displayText: `<span style="opacity:.8;margin-right:5px;">function</span> <span style="white-space:nowrap;">${escape(name)}${args}</span>`, + tooltipText: string.trim() ? `<pre>${string}</pre>` : null + } + }; +} +function getBigIntDetails(val) { + const stringifiedBigInt = BigInt.prototype.toString.call(val); + return { + _custom: { + type: "bigint", + displayText: `BigInt(${stringifiedBigInt})`, + value: stringifiedBigInt + } + }; +} +function getDateDetails(val) { + const date = new Date(val.getTime()); + date.setMinutes(date.getMinutes() - date.getTimezoneOffset()); + return { + _custom: { + type: "date", + displayText: Date.prototype.toString.call(val), + value: date.toISOString().slice(0, -1) + } + }; +} +function getMapDetails(val) { + const list = Object.fromEntries(val); + return { + _custom: { + type: "map", + displayText: "Map", + value: list, + readOnly: true, + fields: { + abstract: true + } + } + }; +} +function getSetDetails(val) { + const list = Array.from(val); + return { + _custom: { + type: "set", + displayText: `Set[${list.length}]`, + value: list, + readOnly: true + } + }; +} +function getCaughtGetters(store) { + const getters = {}; + const origGetters = store.getters || {}; + const keys = Object.keys(origGetters); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + Object.defineProperty(getters, key, { + enumerable: true, + get: () => { + try { + return origGetters[key]; + } catch (e) { + return e; + } + } + }); + } + return getters; +} +function reduceStateList(list) { + if (!list.length) + return void 0; + return list.reduce((map, item) => { + const key = item.type || "data"; + const obj = map[key] = map[key] || {}; + obj[item.key] = item.value; + return map; + }, {}); +} +function namedNodeMapToObject(map) { + const result = {}; + const l = map.length; + for (let i = 0; i < l; i++) { + const node = map.item(i); + result[node.name] = node.value; + } + return result; +} +function getStoreDetails(store) { + return { + _custom: { + type: "store", + displayText: "Store", + value: { + state: store.state, + getters: getCaughtGetters(store) + }, + fields: { + abstract: true + } + } + }; +} +function getRouterDetails(router) { + return { + _custom: { + type: "router", + displayText: "VueRouter", + value: { + options: router.options, + currentRoute: router.currentRoute + }, + fields: { + abstract: true + } + } + }; +} +function getInstanceDetails(instance) { + if (instance._) + instance = instance._; + const state = processInstanceState(instance); + return { + _custom: { + type: "component", + id: instance.__VUE_DEVTOOLS_NEXT_UID__, + displayText: getInstanceName(instance), + tooltipText: "Component instance", + value: reduceStateList(state), + fields: { + abstract: true + } + } + }; +} +function getComponentDefinitionDetails(definition) { + let display = getComponentName(definition); + if (display) { + if (definition.name && definition.__file) + display += ` <span>(${definition.__file})</span>`; + } else { + display = "<i>Unknown Component</i>"; + } + return { + _custom: { + type: "component-definition", + displayText: display, + tooltipText: "Component definition", + ...definition.__file ? { + file: definition.__file + } : {} + } + }; +} +function getHTMLElementDetails(value) { + try { + return { + _custom: { + type: "HTMLElement", + displayText: `<span class="opacity-30"><</span><span class="text-blue-500">${value.tagName.toLowerCase()}</span><span class="opacity-30">></span>`, + value: namedNodeMapToObject(value.attributes) + } + }; + } catch (e) { + return { + _custom: { + type: "HTMLElement", + displayText: `<span class="text-blue-500">${String(value)}</span>` + } + }; + } +} +function tryGetRefValue(ref) { + if (ensurePropertyExists(ref, "_value", true)) { + return ref._value; + } + if (ensurePropertyExists(ref, "value", true)) { + return ref.value; + } +} +function getObjectDetails(object) { + var _a25, _b25, _c, _d; + const info = getSetupStateType(object); + const isState = info.ref || info.computed || info.reactive; + if (isState) { + const stateTypeName = info.computed ? "Computed" : info.ref ? "Ref" : info.reactive ? "Reactive" : null; + const value = toRaw2(info.reactive ? object : tryGetRefValue(object)); + const raw = ensurePropertyExists(object, "effect") ? ((_b25 = (_a25 = object.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = object.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null; + return { + _custom: { + type: stateTypeName == null ? void 0 : stateTypeName.toLowerCase(), + stateTypeName, + value, + ...raw ? { tooltipText: `<span class="font-mono">${raw}</span>` } : {} + } + }; + } + if (ensurePropertyExists(object, "__asyncLoader") && typeof object.__asyncLoader === "function") { + return { + _custom: { + type: "component-definition", + display: "Async component definition" + } + }; + } +} + +// src/core/component/state/replacer.ts +function stringifyReplacer(key, _value, depth, seenInstance) { + var _a25; + if (key === "compilerOptions") + return; + const val = this[key]; + const type = typeof val; + if (Array.isArray(val)) { + const l = val.length; + if (l > MAX_ARRAY_SIZE) { + return { + _isArray: true, + length: l, + items: val.slice(0, MAX_ARRAY_SIZE) + }; + } + return val; + } else if (typeof val === "string") { + if (val.length > MAX_STRING_SIZE) + return `${val.substring(0, MAX_STRING_SIZE)}... (${val.length} total length)`; + else + return val; + } else if (type === "undefined") { + return UNDEFINED; + } else if (val === Number.POSITIVE_INFINITY) { + return INFINITY; + } else if (val === Number.NEGATIVE_INFINITY) { + return NEGATIVE_INFINITY; + } else if (typeof val === "function") { + return getFunctionDetails(val); + } else if (type === "symbol") { + return `[native Symbol ${Symbol.prototype.toString.call(val)}]`; + } else if (typeof val === "bigint") { + return getBigIntDetails(val); + } else if (val !== null && typeof val === "object") { + const proto = Object.prototype.toString.call(val); + if (proto === "[object Map]") { + return getMapDetails(val); + } else if (proto === "[object Set]") { + return getSetDetails(val); + } else if (proto === "[object RegExp]") { + return `[native RegExp ${RegExp.prototype.toString.call(val)}]`; + } else if (proto === "[object Date]") { + return getDateDetails(val); + } else if (proto === "[object Error]") { + return `[native Error ${val.message}<>${val.stack}]`; + } else if (ensurePropertyExists(val, "state", true) && ensurePropertyExists(val, "_vm", true)) { + return getStoreDetails(val); + } else if (val.constructor && val.constructor.name === "VueRouter") { + return getRouterDetails(val); + } else if (isVueInstance(val)) { + const componentVal = getInstanceDetails(val); + const parentInstanceDepth = seenInstance == null ? void 0 : seenInstance.get(val); + if (parentInstanceDepth && parentInstanceDepth < depth) { + return `[[CircularRef]] <${componentVal._custom.displayText}>`; + } + seenInstance == null ? void 0 : seenInstance.set(val, depth); + return componentVal; + } else if (ensurePropertyExists(val, "render", true) && typeof val.render === "function") { + return getComponentDefinitionDetails(val); + } else if (val.constructor && val.constructor.name === "VNode") { + return `[native VNode <${val.tag}>]`; + } else if (typeof HTMLElement !== "undefined" && val instanceof HTMLElement) { + return getHTMLElementDetails(val); + } else if (((_a25 = val.constructor) == null ? void 0 : _a25.name) === "Store" && "_wrappedGetters" in val) { + return "[object Store]"; + } else if (ensurePropertyExists(val, "currentRoute", true)) { + return "[object Router]"; + } + const customDetails = getObjectDetails(val); + if (customDetails != null) + return customDetails; + } else if (Number.isNaN(val)) { + return NAN; + } + return sanitize(val); +} + +// src/shared/transfer.ts +init_cjs_shims(); +var MAX_SERIALIZED_SIZE = 2 * 1024 * 1024; +function isObject(_data, proto) { + return proto === "[object Object]"; +} +function isArray3(_data, proto) { + return proto === "[object Array]"; +} +function isVueReactiveLinkNode(node) { + var _a25; + const constructorName = (_a25 = node == null ? void 0 : node.constructor) == null ? void 0 : _a25.name; + return constructorName === "Dep" && "activeLink" in node || constructorName === "Link" && "dep" in node; +} +function encode(data, replacer, list, seen, depth = 0, seenVueInstance = /* @__PURE__ */ new Map()) { + let stored; + let key; + let value; + let i; + let l; + const seenIndex = seen.get(data); + if (seenIndex != null) + return seenIndex; + const index = list.length; + const proto = Object.prototype.toString.call(data); + if (isObject(data, proto)) { + if (isVueReactiveLinkNode(data)) { + return index; + } + stored = {}; + seen.set(data, index); + list.push(stored); + const keys = Object.keys(data); + for (i = 0, l = keys.length; i < l; i++) { + key = keys[i]; + if (key === "compilerOptions") + return index; + value = data[key]; + const isVm = value != null && isObject(value, Object.prototype.toString.call(data)) && isVueInstance(value); + try { + if (replacer) { + value = replacer.call(data, key, value, depth, seenVueInstance); + } + } catch (e) { + value = e; + } + stored[key] = encode(value, replacer, list, seen, depth + 1, seenVueInstance); + if (isVm) { + seenVueInstance.delete(value); + } + } + } else if (isArray3(data, proto)) { + stored = []; + seen.set(data, index); + list.push(stored); + for (i = 0, l = data.length; i < l; i++) { + try { + value = data[i]; + if (replacer) + value = replacer.call(data, i, value, depth, seenVueInstance); + } catch (e) { + value = e; + } + stored[i] = encode(value, replacer, list, seen, depth + 1, seenVueInstance); + } + } else { + list.push(data); + } + return index; +} +function decode(list, reviver2 = null) { + let i = list.length; + let j, k, data, key, value, proto; + while (i--) { + data = list[i]; + proto = Object.prototype.toString.call(data); + if (proto === "[object Object]") { + const keys = Object.keys(data); + for (j = 0, k = keys.length; j < k; j++) { + key = keys[j]; + value = list[data[key]]; + if (reviver2) + value = reviver2.call(data, key, value); + data[key] = value; + } + } else if (proto === "[object Array]") { + for (j = 0, k = data.length; j < k; j++) { + value = list[data[j]]; + if (reviver2) + value = reviver2.call(data, j, value); + data[j] = value; + } + } + } +} +function stringifyCircularAutoChunks(data, replacer = null, space = null) { + let result; + try { + result = arguments.length === 1 ? JSON.stringify(data) : JSON.stringify(data, (k, v) => { + var _a25; + return (_a25 = replacer == null ? void 0 : replacer(k, v)) == null ? void 0 : _a25.call(this); + }, space); + } catch (e) { + result = stringifyStrictCircularAutoChunks(data, replacer, space); + } + if (result.length > MAX_SERIALIZED_SIZE) { + const chunkCount = Math.ceil(result.length / MAX_SERIALIZED_SIZE); + const chunks = []; + for (let i = 0; i < chunkCount; i++) + chunks.push(result.slice(i * MAX_SERIALIZED_SIZE, (i + 1) * MAX_SERIALIZED_SIZE)); + return chunks; + } + return result; +} +function stringifyStrictCircularAutoChunks(data, replacer = null, space = null) { + const list = []; + encode(data, replacer, list, /* @__PURE__ */ new Map()); + return space ? ` ${JSON.stringify(list, null, space)}` : ` ${JSON.stringify(list)}`; +} +function parseCircularAutoChunks(data, reviver2 = null) { + if (Array.isArray(data)) + data = data.join(""); + const hasCircular = /^\s/.test(data); + if (!hasCircular) { + return arguments.length === 1 ? JSON.parse(data) : JSON.parse(data, reviver2); + } else { + const list = JSON.parse(data); + decode(list, reviver2); + return list[0]; + } +} + +// src/shared/util.ts +function stringify2(data) { + return stringifyCircularAutoChunks(data, stringifyReplacer); +} +function parse2(data, revive2 = false) { + if (data == void 0) + return {}; + return revive2 ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data); +} + +// src/index.ts +var devtools = { + hook, + init: () => { + initDevTools(); + }, + get ctx() { + return devtoolsContext; + }, + get api() { + return devtoolsContext.api; + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + DevToolsContextHookKeys, + DevToolsMessagingHookKeys, + DevToolsV6PluginAPIHookKeys, + INFINITY, + NAN, + NEGATIVE_INFINITY, + ROUTER_INFO_KEY, + ROUTER_KEY, + UNDEFINED, + activeAppRecord, + addCustomCommand, + addCustomTab, + addDevToolsAppRecord, + addDevToolsPluginToBuffer, + addInspector, + callConnectedUpdatedHook, + callDevToolsPluginSetupFn, + callInspectorUpdatedHook, + callStateUpdatedHook, + createComponentsDevToolsPlugin, + createDevToolsApi, + createDevToolsCtxHooks, + createRpcClient, + createRpcProxy, + createRpcServer, + devtools, + devtoolsAppRecords, + devtoolsContext, + devtoolsInspector, + devtoolsPluginBuffer, + devtoolsRouter, + devtoolsRouterInfo, + devtoolsState, + escape, + formatInspectorStateValue, + getActiveInspectors, + getDevToolsEnv, + getExtensionClientContext, + getInspector, + getInspectorActions, + getInspectorInfo, + getInspectorNodeActions, + getInspectorStateValueType, + getRaw, + getRpcClient, + getRpcServer, + getViteRpcClient, + getViteRpcServer, + initDevTools, + isPlainObject, + onDevToolsClientConnected, + onDevToolsConnected, + parse, + registerDevToolsPlugin, + removeCustomCommand, + removeDevToolsAppRecord, + removeRegisteredPluginApp, + resetDevToolsState, + setActiveAppRecord, + setActiveAppRecordId, + setDevToolsEnv, + setElectronClientContext, + setElectronProxyContext, + setElectronServerContext, + setExtensionClientContext, + setIframeServerContext, + setOpenInEditorBaseUrl, + setRpcServerToGlobal, + setViteClientContext, + setViteRpcClientToGlobal, + setViteRpcServerToGlobal, + setViteServerContext, + setupDevToolsPlugin, + stringify, + toEdit, + toSubmit, + toggleClientConnected, + toggleComponentInspectorEnabled, + toggleHighPerfMode, + updateDevToolsClientDetected, + updateDevToolsState, + updateTimelineLayersState +}); diff --git a/.output/server/node_modules/@vue/devtools-kit/node_modules/@vue/devtools-shared b/.output/server/node_modules/@vue/devtools-kit/node_modules/@vue/devtools-shared new file mode 120000 index 00000000..23721ba1 --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-kit/node_modules/@vue/devtools-shared @@ -0,0 +1 @@ +../../../../.nitro/@vue/devtools-shared@7.7.7 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/devtools-kit/node_modules/perfect-debounce b/.output/server/node_modules/@vue/devtools-kit/node_modules/perfect-debounce new file mode 120000 index 00000000..03f37b79 --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-kit/node_modules/perfect-debounce @@ -0,0 +1 @@ +../../../.nitro/perfect-debounce@1.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/devtools-kit/package.json b/.output/server/node_modules/@vue/devtools-kit/package.json new file mode 100644 index 00000000..79dac534 --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-kit/package.json @@ -0,0 +1,44 @@ +{ + "name": "@vue/devtools-kit", + "type": "module", + "version": "7.7.7", + "author": "webfansplz", + "license": "MIT", + "repository": { + "directory": "packages/devtools-kit", + "type": "git", + "url": "git+https://github.com/vuejs/devtools.git" + }, + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./types.d.ts", + "files": [ + "**.d.ts", + "dist" + ], + "dependencies": { + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2", + "@vue/devtools-shared": "^7.7.7" + }, + "devDependencies": { + "@types/speakingurl": "^13.0.6", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "scripts": { + "build": "tsup --clean", + "prepare:type": "tsup --dts-only", + "stub": "tsup --watch --onSuccess 'tsup --dts-only'" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/@vue/devtools-shared b/.output/server/node_modules/@vue/devtools-shared new file mode 120000 index 00000000..e35b12e7 --- /dev/null +++ b/.output/server/node_modules/@vue/devtools-shared @@ -0,0 +1 @@ +../.nitro/@vue/devtools-shared@8.0.5 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/reactivity b/.output/server/node_modules/@vue/reactivity new file mode 120000 index 00000000..5f8fcc5b --- /dev/null +++ b/.output/server/node_modules/@vue/reactivity @@ -0,0 +1 @@ +../.nitro/@vue/reactivity@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/runtime-core b/.output/server/node_modules/@vue/runtime-core new file mode 120000 index 00000000..6cca1a71 --- /dev/null +++ b/.output/server/node_modules/@vue/runtime-core @@ -0,0 +1 @@ +../.nitro/@vue/runtime-core@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/runtime-dom b/.output/server/node_modules/@vue/runtime-dom new file mode 120000 index 00000000..01ee04ec --- /dev/null +++ b/.output/server/node_modules/@vue/runtime-dom @@ -0,0 +1 @@ +../.nitro/@vue/runtime-dom@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/server-renderer b/.output/server/node_modules/@vue/server-renderer new file mode 120000 index 00000000..7e5dfe05 --- /dev/null +++ b/.output/server/node_modules/@vue/server-renderer @@ -0,0 +1 @@ +../.nitro/@vue/server-renderer@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vue/shared b/.output/server/node_modules/@vue/shared new file mode 120000 index 00000000..cbbcdf04 --- /dev/null +++ b/.output/server/node_modules/@vue/shared @@ -0,0 +1 @@ +../.nitro/@vue/shared@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/@vueuse/gesture/dist/index.mjs b/.output/server/node_modules/@vueuse/gesture/dist/index.mjs new file mode 100644 index 00000000..4733ab56 --- /dev/null +++ b/.output/server/node_modules/@vueuse/gesture/dist/index.mjs @@ -0,0 +1,2033 @@ +import { unref, nextTick, getCurrentInstance, onMounted, onUnmounted, ref } from 'vue-demi'; + +function supportsGestureEvents() { + try { + return "constructor" in GestureEvent; + } catch (e) { + return false; + } +} +function supportsTouchEvents() { + return typeof window !== "undefined" && "ontouchstart" in window; +} +function getEventTouches(event) { + if ("pointerId" in event) + return null; + return event.type === "touchend" ? event.changedTouches : event.targetTouches; +} +function getTouchIds(event) { + return Array.from(getEventTouches(event)).map((t) => t.identifier); +} +function getGenericEventData(event) { + const buttons = "buttons" in event ? event.buttons : 0; + const { shiftKey, altKey, metaKey, ctrlKey } = event; + return { buttons, shiftKey, altKey, metaKey, ctrlKey }; +} +const identity$1 = (xy) => xy; +function getPointerEventValues(event, transform = identity$1) { + const touchEvents = getEventTouches(event); + const { clientX, clientY } = touchEvents ? touchEvents[0] : event; + return transform([clientX, clientY]); +} +function getTwoTouchesEventValues(event, pointerIds, transform = identity$1) { + const [A, B] = Array.from(event.touches).filter( + (t) => pointerIds.includes(t.identifier) + ); + if (!A || !B) + throw Error(`The event doesn't have two pointers matching the pointerIds`); + const dx = B.clientX - A.clientX; + const dy = B.clientY - A.clientY; + const cx = (B.clientX + A.clientX) / 2; + const cy = (B.clientY + A.clientY) / 2; + const distance = Math.hypot(dx, dy); + const angle = -(Math.atan2(dx, dy) * 180) / Math.PI; + const values = transform([distance, angle]); + const origin = transform([cx, cy]); + return { values, origin }; +} +function getScrollEventValues(event, transform = identity$1) { + const { + scrollX, + scrollY, + scrollLeft, + scrollTop + } = event.currentTarget; + return transform([scrollX || scrollLeft || 0, scrollY || scrollTop || 0]); +} +const LINE_HEIGHT = 40; +const PAGE_HEIGHT = 800; +function getWheelEventValues(event, transform = identity$1) { + let { deltaX, deltaY, deltaMode } = event; + if (deltaMode === 1) { + deltaX *= LINE_HEIGHT; + deltaY *= LINE_HEIGHT; + } else if (deltaMode === 2) { + deltaX *= PAGE_HEIGHT; + deltaY *= PAGE_HEIGHT; + } + return transform([deltaX, deltaY]); +} +function getWebkitGestureEventValues(event, transform = identity$1) { + return transform([event.scale, event.rotation]); +} + +function noop() { +} +function chainFns(...fns) { + if (fns.length === 0) + return noop; + if (fns.length === 1) + return fns[0]; + return function() { + var result; + for (let fn of fns) { + result = fn.apply(this, arguments) || result; + } + return result; + }; +} +function ensureVector(value, fallback) { + if (value === void 0) { + if (fallback === void 0) { + throw new Error("Must define fallback value if undefined is expected"); + } + value = fallback; + } + if (Array.isArray(value)) + return value; + return [value, value]; +} +function assignDefault(value, fallback) { + return Object.assign({}, fallback, value || {}); +} +function valueFn(v, ...args) { + if (typeof v === "function") { + return v(...args); + } else { + return v; + } +} + +function getInitial(mixed) { + return { + _active: false, + _blocked: false, + _intentional: [false, false], + _movement: [0, 0], + _initial: [0, 0], + _bounds: [ + [-Infinity, Infinity], + [-Infinity, Infinity] + ], + _lastEventType: void 0, + _dragStarted: false, + _dragPreventScroll: false, + _dragIsTap: true, + _dragDelayed: false, + event: void 0, + intentional: false, + values: [0, 0], + velocities: [0, 0], + delta: [0, 0], + movement: [0, 0], + offset: [0, 0], + lastOffset: [0, 0], + direction: [0, 0], + initial: [0, 0], + previous: [0, 0], + first: false, + last: false, + active: false, + timeStamp: 0, + startTime: 0, + elapsedTime: 0, + cancel: noop, + canceled: false, + memo: void 0, + args: void 0, + ...mixed + }; +} +function getInitialState() { + const shared = { + hovering: false, + scrolling: false, + wheeling: false, + dragging: false, + moving: false, + pinching: false, + touches: 0, + buttons: 0, + down: false, + shiftKey: false, + altKey: false, + metaKey: false, + ctrlKey: false, + locked: false + }; + const drag = getInitial({ + _pointerId: void 0, + axis: void 0, + xy: [0, 0], + vxvy: [0, 0], + velocity: 0, + distance: 0, + tap: false, + swipe: [0, 0] + }); + const pinch = getInitial({ + // @ts-expect-error when used _pointerIds we can assert its type will be [number, number] + _pointerIds: [], + da: [0, 0], + vdva: [0, 0], + // @ts-expect-error origin can never be passed as undefined in userland + origin: void 0, + turns: 0 + }); + const wheel = getInitial({ + axis: void 0, + xy: [0, 0], + vxvy: [0, 0], + velocity: 0, + distance: 0 + }); + const move = getInitial({ + axis: void 0, + xy: [0, 0], + vxvy: [0, 0], + velocity: 0, + distance: 0 + }); + const scroll = getInitial({ + axis: void 0, + xy: [0, 0], + vxvy: [0, 0], + velocity: 0, + distance: 0 + }); + return { shared, drag, pinch, wheel, move, scroll }; +} + +var __defProp$6 = Object.defineProperty; +var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$6 = (obj, key, value) => { + __defNormalProp$6(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class Controller { + constructor(classes) { + this.classes = classes; + __publicField$6(this, "nativeRefs"); + __publicField$6(this, "config"); + __publicField$6(this, "handlers"); + __publicField$6(this, "state"); + // state for all gestures + __publicField$6(this, "timeouts"); + // tracks timeouts of debounced gestures + __publicField$6(this, "domListeners"); + // when config.domTarget is set, we attach events directly to the dom + __publicField$6(this, "windowListeners"); + // keeps track of window listeners added by gestures (drag only at the moment) + __publicField$6(this, "pointerIds", /* @__PURE__ */ new Set()); + // register Pointer Events pointerIds + __publicField$6(this, "touchIds", /* @__PURE__ */ new Set()); + // register Touch Events identifiers + __publicField$6(this, "supportsTouchEvents", supportsTouchEvents()); + __publicField$6(this, "supportsGestureEvents", supportsGestureEvents()); + __publicField$6(this, "bind", (...args) => { + const bindings = {}; + for (let RecognizerClass2 of this.classes) + new RecognizerClass2(this, args).addBindings(bindings); + for (let eventKey in this.nativeRefs) { + addBindings( + bindings, + eventKey, + (event) => this.nativeRefs[eventKey]({ ...this.state.shared, event, args }) + ); + } + if (this.config.domTarget) { + return updateDomListeners(this, bindings); + } else { + return getPropsListener(this, bindings); + } + }); + /** + * Function ran on component unmount: cleans timeouts and removes dom listeners set by the bind function. + */ + __publicField$6(this, "clean", () => { + const { eventOptions, domTarget } = this.config; + const _target = unref(domTarget); + if (_target) + removeListeners(_target, takeAll(this.domListeners), eventOptions); + Object.values(this.timeouts).forEach(clearTimeout); + clearAllWindowListeners(this); + }); + /** + * Resets state to the initial value. + */ + __publicField$6(this, "reset", () => { + this.state = getInitialState(); + }); + this.classes = classes; + this.state = getInitialState(); + this.timeouts = {}; + this.domListeners = []; + this.windowListeners = {}; + } +} +function addEventIds(controller, event) { + if ("pointerId" in event) { + controller.pointerIds.add(event.pointerId); + } else { + controller.touchIds = new Set(getTouchIds(event)); + } +} +function removeEventIds(controller, event) { + if ("pointerId" in event) { + controller.pointerIds.delete(event.pointerId); + } else { + getTouchIds(event).forEach((id) => controller.touchIds.delete(id)); + } +} +function clearAllWindowListeners(controller) { + const { + config: { window: el, eventOptions }, + windowListeners + } = controller; + const _el = unref(el); + if (!_el) + return; + for (let stateKey in windowListeners) { + const handlers = windowListeners[stateKey]; + removeListeners(_el, handlers, eventOptions); + } + controller.windowListeners = {}; +} +function clearWindowListeners({ config, windowListeners }, stateKey, options = config.eventOptions) { + const _window = unref(config.window); + if (!_window) + return; + removeListeners(_window, windowListeners[stateKey], options); + delete windowListeners[stateKey]; +} +function updateWindowListeners({ config, windowListeners }, stateKey, listeners = [], options = config.eventOptions) { + const _window = unref(config.window); + if (!_window) + return; + removeListeners(_window, windowListeners[stateKey], options); + addListeners(_window, windowListeners[stateKey] = listeners, options); +} +function updateDomListeners({ config, domListeners }, bindings) { + const { eventOptions, domTarget } = config; + const _target = unref(domTarget); + if (!_target) + throw new Error("domTarget must be defined"); + removeListeners(_target, takeAll(domListeners), eventOptions); + for (let [key, fns] of Object.entries(bindings)) { + const name = key.slice(2).toLowerCase(); + domListeners.push([name, chainFns(...fns)]); + } + addListeners(_target, domListeners, eventOptions); +} +function getPropsListener({ config }, bindings) { + const props = {}; + const captureString = config.eventOptions.capture ? "Capture" : ""; + for (let [event, fns] of Object.entries(bindings)) { + const fnsArray = Array.isArray(fns) ? fns : [fns]; + const key = event + captureString; + props[key] = chainFns(...fnsArray); + } + return props; +} +function takeAll(array = []) { + return array.splice(0, array.length); +} +function addBindings(bindings, name, fn) { + if (!bindings[name]) + bindings[name] = []; + bindings[name].push(fn); +} +function addListeners(el, listeners = [], options = {}) { + if (!el) + return; + for (let [eventName, eventHandler] of listeners) { + el.addEventListener(eventName, eventHandler, options); + } +} +function removeListeners(el, listeners = [], options = {}) { + if (!el) + return; + for (let [eventName, eventHandler] of listeners) { + el.removeEventListener(eventName, eventHandler, options); + } +} + +function addV(v1, v2) { + return v1.map((v, i) => v + v2[i]); +} +function subV(v1, v2) { + return v1.map((v, i) => v - v2[i]); +} +function calculateDistance(movement) { + return Math.hypot(...movement); +} +function calculateAllGeometry(movement, delta = movement) { + const dl = calculateDistance(delta); + const alpha = dl === 0 ? 0 : 1 / dl; + const direction = delta.map((v) => alpha * v); + const distance = calculateDistance(movement); + return { distance, direction }; +} +function calculateAllKinematics(movement, delta, dt) { + const dl = calculateDistance(delta); + const alpha = dl === 0 ? 0 : 1 / dl; + const beta = dt === 0 ? 0 : 1 / dt; + const velocity = beta * dl; + const velocities = delta.map((v) => beta * v); + const direction = delta.map((v) => alpha * v); + const distance = calculateDistance(movement); + return { velocities, velocity, distance, direction }; +} +function sign(x) { + if (Math.sign) + return Math.sign(x); + return Number(x > 0) - Number(x < 0) || +x; +} + +function minMax(value, min, max) { + return Math.max(min, Math.min(value, max)); +} +function rubberband2(distance, constant) { + return Math.pow(distance, constant * 5); +} +function rubberband(distance, dimension, constant) { + if (dimension === 0 || Math.abs(dimension) === Infinity) + return rubberband2(distance, constant); + return distance * dimension * constant / (dimension + constant * distance); +} +function rubberbandIfOutOfBounds(position, min, max, constant = 0.15) { + if (constant === 0) + return minMax(position, min, max); + if (position < min) + return -rubberband(min - position, max - min, constant) + min; + if (position > max) + return +rubberband(position - max, max - min, constant) + max; + return position; +} + +var __defProp$5 = Object.defineProperty; +var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$5 = (obj, key, value) => { + __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +const RecognizersMap = /* @__PURE__ */ new Map(); +const identity = (xy) => xy; +class Recognizer { + /** + * Creates an instance of a gesture recognizer. + * @param stateKey drag, move, pinch, etc. + * @param controller the controller attached to the gesture + * @param [args] the args that should be passed to the gesture handler + */ + constructor(controller, args = []) { + this.controller = controller; + this.args = args; + // dragging, scrolling, etc. + __publicField$5(this, "debounced", true); + // Convenience method to set a timeout for a given gesture + __publicField$5(this, "setTimeout", (callback, ms = 140, ...args) => { + clearTimeout(this.controller.timeouts[this.stateKey]); + this.controller.timeouts[this.stateKey] = window.setTimeout( + callback, + ms, + ...args + ); + }); + // Convenience method to clear a timeout for a given gesture + __publicField$5(this, "clearTimeout", () => { + clearTimeout(this.controller.timeouts[this.stateKey]); + }); + /** + * Fires the gesture handler + */ + __publicField$5(this, "fireGestureHandler", (forceFlag = false) => { + if (this.state._blocked) { + if (!this.debounced) { + this.state._active = false; + this.clean(); + } + return null; + } + if (!forceFlag && !this.state.intentional && !this.config.triggerAllEvents) + return null; + if (this.state.intentional) { + const prev_active = this.state.active; + const next_active = this.state._active; + this.state.active = next_active; + this.state.first = next_active && !prev_active; + this.state.last = prev_active && !next_active; + this.controller.state.shared[this.ingKey] = next_active; + } + const touches = this.controller.pointerIds.size || this.controller.touchIds.size; + const down = this.controller.state.shared.buttons > 0 || touches > 0; + const state = { + ...this.controller.state.shared, + ...this.state, + ...this.mapStateValues(this.state), + // Sets xy or da to the gesture state values + locked: !!document.pointerLockElement, + touches, + down + }; + const newMemo = this.handler(state); + this.state.memo = newMemo !== void 0 ? newMemo : this.state.memo; + return state; + }); + this.controller = controller; + this.args = args; + } + // Returns the gesture config + get config() { + return this.controller.config[this.stateKey]; + } + // Is the gesture enabled + get enabled() { + return this.controller.config.enabled && this.config.enabled; + } + // Returns the controller state for a given gesture + get state() { + return this.controller.state[this.stateKey]; + } + // Returns the gesture handler + get handler() { + return this.controller.handlers[this.stateKey]; + } + get transform() { + return this.config.transform || this.controller.config.transform || identity; + } + // Convenience method to update the shared state + updateSharedState(sharedState) { + Object.assign(this.controller.state.shared, sharedState); + } + // Convenience method to update the gesture state + updateGestureState(gestureState) { + Object.assign(this.state, gestureState); + } + /** + * Returns state properties depending on the movement and state. + * + * Should be overriden for custom behavior, doesn't do anything in the implementation + * below. + */ + checkIntentionality(_intentional, _movement) { + return { _intentional, _blocked: false }; + } + /** + * Returns basic movement properties for the gesture based on the next values and current state. + */ + getMovement(values) { + const { rubberband, threshold: T } = this.config; + const { + _bounds, + _initial, + _active, + _intentional: wasIntentional, + lastOffset, + movement: prevMovement + } = this.state; + const M = this.getInternalMovement(values, this.state); + const _T = this.transform(T).map(Math.abs); + const i0 = wasIntentional[0] === false ? getIntentionalDisplacement(M[0], _T[0]) : wasIntentional[0]; + const i1 = wasIntentional[1] === false ? getIntentionalDisplacement(M[1], _T[1]) : wasIntentional[1]; + const intentionalityCheck = this.checkIntentionality([i0, i1], M); + if (intentionalityCheck._blocked) { + return { ...intentionalityCheck, _movement: M, delta: [0, 0] }; + } + const _intentional = intentionalityCheck._intentional; + const _movement = M; + let movement = [ + _intentional[0] !== false ? M[0] - _intentional[0] : 0, + _intentional[1] !== false ? M[1] - _intentional[1] : 0 + ]; + const offset = addV(movement, lastOffset); + const _rubberband = _active ? rubberband : [0, 0]; + movement = computeRubberband(_bounds, addV(movement, _initial), _rubberband); + return { + ...intentionalityCheck, + intentional: _intentional[0] !== false || _intentional[1] !== false, + _initial, + _movement, + movement, + values, + offset: computeRubberband(_bounds, offset, _rubberband), + delta: subV(movement, prevMovement) + }; + } + // Cleans the gesture. Can be overriden by gestures. + clean() { + this.clearTimeout(); + } +} +function getIntentionalDisplacement(movement, threshold) { + if (Math.abs(movement) >= threshold) { + return sign(movement) * threshold; + } else { + return false; + } +} +function computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) { + const [[X1, X2], [Y1, Y2]] = bounds; + return [ + rubberbandIfOutOfBounds(Vx, X1, X2, Rx), + rubberbandIfOutOfBounds(Vy, Y1, Y2, Ry) + ]; +} +function getGenericPayload({ state }, event, isStartEvent) { + const { timeStamp, type: _lastEventType } = event; + const previous = state.values; + const elapsedTime = isStartEvent ? 0 : timeStamp - state.startTime; + return { _lastEventType, event, timeStamp, elapsedTime, previous }; +} +function getStartGestureState({ state, config, stateKey, args }, values, event) { + const offset = state.offset; + const startTime = event.timeStamp; + const { initial, bounds } = config; + const _state = { + ...getInitialState()[stateKey], + _active: true, + args, + values, + initial: values, + offset, + lastOffset: offset, + startTime + }; + return { + ..._state, + _initial: valueFn(initial, _state), + _bounds: valueFn(bounds, _state) + }; +} + +class CoordinatesRecognizer extends Recognizer { + /** + * Returns the real movement (without taking intentionality into account) + */ + getInternalMovement(values, state) { + return subV(values, state.initial); + } + /** + * In coordinates-based gesture, this function will detect the first intentional axis, + * lock the gesture axis if lockDirection is specified in the config, block the gesture + * if the first intentional axis doesn't match the specified axis in config. + */ + checkIntentionality(_intentional, _movement) { + if (_intentional[0] === false && _intentional[1] === false) { + return { _intentional, axis: this.state.axis }; + } + const [absX, absY] = _movement.map(Math.abs); + const axis = this.state.axis || (absX > absY ? "x" : absX < absY ? "y" : void 0); + if (!this.config.axis && !this.config.lockDirection) + return { _intentional, _blocked: false, axis }; + if (!axis) + return { _intentional: [false, false], _blocked: false, axis }; + if (!!this.config.axis && axis !== this.config.axis) + return { _intentional, _blocked: true, axis }; + _intentional[axis === "x" ? 1 : 0] = false; + return { _intentional, _blocked: false, axis }; + } + getKinematics(values, event) { + const state = this.getMovement(values); + if (!state._blocked) { + const dt = event.timeStamp - this.state.timeStamp; + Object.assign( + state, + calculateAllKinematics(state.movement, state.delta, dt) + ); + } + return state; + } + mapStateValues(state) { + return { xy: state.values, vxvy: state.velocities }; + } +} + +var __defProp$4 = Object.defineProperty; +var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$4 = (obj, key, value) => { + __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +const TAP_DISTANCE_THRESHOLD = 3; +function persistEvent(event) { + "persist" in event && typeof event.persist === "function" && event.persist(); +} +class DragRecognizer extends CoordinatesRecognizer { + constructor() { + super(...arguments); + __publicField$4(this, "ingKey", "dragging"); + __publicField$4(this, "stateKey", "drag"); + // TODO: add back when setPointerCapture is widely supported + // https://caniuse.com/#search=setPointerCapture + __publicField$4(this, "setPointerCapture", (event) => { + if (this.config.useTouch || document.pointerLockElement) + return; + const { target, pointerId } = event; + if (target && "setPointerCapture" in target) { + target.setPointerCapture(pointerId); + } + this.updateGestureState({ + _dragTarget: target, + _dragPointerId: pointerId + }); + }); + __publicField$4(this, "releasePointerCapture", () => { + if (this.config.useTouch || document.pointerLockElement) + return; + const { _dragTarget, _dragPointerId } = this.state; + if (_dragPointerId && _dragTarget && "releasePointerCapture" in _dragTarget) { + if (!("hasPointerCapture" in _dragTarget) || _dragTarget.hasPointerCapture(_dragPointerId)) + try { + _dragTarget.releasePointerCapture(_dragPointerId); + } catch (e) { + } + } + }); + __publicField$4(this, "preventScroll", (event) => { + if (this.state._dragPreventScroll && event.cancelable) { + event.preventDefault(); + } + }); + __publicField$4(this, "getEventId", (event) => { + if (this.config.useTouch) + return event.changedTouches[0].identifier; + return event.pointerId; + }); + __publicField$4(this, "isValidEvent", (event) => { + return this.state._pointerId === this.getEventId(event); + }); + __publicField$4(this, "shouldPreventWindowScrollY", this.config.preventWindowScrollY && this.controller.supportsTouchEvents); + __publicField$4(this, "setUpWindowScrollDetection", (event) => { + persistEvent(event); + updateWindowListeners( + this.controller, + this.stateKey, + [ + ["touchmove", this.preventScroll], + ["touchend", this.clean.bind(this)], + ["touchcancel", this.clean.bind(this)] + ], + { passive: false } + ); + this.setTimeout(this.startDrag.bind(this), 250, event); + }); + __publicField$4(this, "setUpDelayedDragTrigger", (event) => { + this.state._dragDelayed = true; + persistEvent(event); + this.setTimeout(this.startDrag.bind(this), this.config.delay, event); + }); + __publicField$4(this, "setStartState", (event) => { + const values = getPointerEventValues(event, this.transform); + this.updateSharedState(getGenericEventData(event)); + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + _pointerId: this.getEventId(event) + // setting pointerId locks the gesture to this specific event + }); + this.updateGestureState(this.getMovement(values)); + }); + __publicField$4(this, "onDragStart", (event) => { + addEventIds(this.controller, event); + if (!this.enabled || this.state._active) + return; + this.setStartState(event); + this.setPointerCapture(event); + if (this.shouldPreventWindowScrollY) + this.setUpWindowScrollDetection(event); + else if (this.config.delay > 0) + this.setUpDelayedDragTrigger(event); + else + this.startDrag(event, true); + }); + __publicField$4(this, "onDragChange", (event) => { + if ( + // if the gesture was canceled or + this.state.canceled || // if onDragStart wasn't fired or + !this.state._active || // if the event pointerId doesn't match the one that initiated the drag + !this.isValidEvent(event) || // if the event has the same timestamp as the previous event + // note that checking type equality is ONLY for tests ¯\_(ツ)_/¯ + this.state._lastEventType === event.type && event.timeStamp === this.state.timeStamp + ) + return; + let values; + if (document.pointerLockElement) { + const { movementX, movementY } = event; + values = addV(this.transform([movementX, movementY]), this.state.values); + } else + values = getPointerEventValues(event, this.transform); + const kinematics = this.getKinematics(values, event); + if (!this.state._dragStarted) { + if (this.state._dragDelayed) { + this.startDrag(event); + return; + } + if (this.shouldPreventWindowScrollY) { + if (!this.state._dragPreventScroll && kinematics.axis) { + if (kinematics.axis === "x") { + this.startDrag(event); + } else { + this.state._active = false; + return; + } + } else + return; + } else + return; + } + const genericEventData = getGenericEventData(event); + this.updateSharedState(genericEventData); + const genericPayload = getGenericPayload(this, event); + const realDistance = calculateDistance(kinematics._movement); + let { _dragIsTap } = this.state; + if (_dragIsTap && realDistance >= TAP_DISTANCE_THRESHOLD) + _dragIsTap = false; + this.updateGestureState({ ...genericPayload, ...kinematics, _dragIsTap }); + this.fireGestureHandler(); + }); + __publicField$4(this, "onDragEnd", (event) => { + removeEventIds(this.controller, event); + if (!this.isValidEvent(event)) + return; + this.clean(); + if (!this.state._active) + return; + this.state._active = false; + const tap = this.state._dragIsTap; + const [vx, vy] = this.state.velocities; + const [mx, my] = this.state.movement; + const [ix, iy] = this.state._intentional; + const [svx, svy] = this.config.swipeVelocity; + const [sx, sy] = this.config.swipeDistance; + const sd = this.config.swipeDuration; + const endState = { + ...getGenericPayload(this, event), + ...this.getMovement(this.state.values) + }; + const swipe = [0, 0]; + if (endState.elapsedTime < sd) { + if (ix !== false && Math.abs(vx) > svx && Math.abs(mx) > sx) + swipe[0] = sign(vx); + if (iy !== false && Math.abs(vy) > svy && Math.abs(my) > sy) + swipe[1] = sign(vy); + } + this.updateSharedState({ buttons: 0 }); + this.updateGestureState({ ...endState, tap, swipe }); + this.fireGestureHandler(this.config.filterTaps && tap === true); + }); + __publicField$4(this, "clean", () => { + super.clean(); + this.state._dragStarted = false; + this.releasePointerCapture(); + clearWindowListeners(this.controller, this.stateKey); + }); + __publicField$4(this, "onCancel", () => { + if (this.state.canceled) + return; + this.updateGestureState({ canceled: true, _active: false }); + this.updateSharedState({ buttons: 0 }); + nextTick(this.fireGestureHandler); + }); + __publicField$4(this, "onClick", (event) => { + if (!this.state._dragIsTap) + event.stopPropagation(); + }); + } + startDrag(event, onDragIsStart = false) { + if ( + // if the gesture isn't active (probably means) + !this.state._active || // if the drag has already started we should ignore subsequent attempts + this.state._dragStarted + ) + return; + if (!onDragIsStart) + this.setStartState(event); + this.updateGestureState({ + _dragStarted: true, + _dragPreventScroll: true, + cancel: this.onCancel + }); + this.clearTimeout(); + this.fireGestureHandler(); + } + addBindings(bindings) { + if (this.config.useTouch) { + addBindings(bindings, "onTouchStart", this.onDragStart); + addBindings(bindings, "onTouchMove", this.onDragChange); + addBindings(bindings, "onTouchEnd", this.onDragEnd); + addBindings(bindings, "onTouchCancel", this.onDragEnd); + } else { + addBindings(bindings, "onPointerDown", this.onDragStart); + addBindings(bindings, "onPointerMove", this.onDragChange); + addBindings(bindings, "onPointerUp", this.onDragEnd); + addBindings(bindings, "onPointerCancel", this.onDragEnd); + } + if (this.config.filterTaps) { + const handler = this.controller.config.eventOptions.capture ? "onClick" : "onClickCapture"; + addBindings(bindings, handler, this.onClick); + } + } +} + +function memoizeOne(resultFn, isEqual) { + let lastThis; + let lastArgs = []; + let lastResult; + let calledOnce = false; + function memoized(...newArgs) { + if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) { + return lastResult; + } + lastResult = resultFn.apply(this, newArgs); + calledOnce = true; + lastThis = this; + lastArgs = newArgs; + return lastResult; + } + return memoized; +} + +function equal(a, b) { + if (a === b) + return true; + if (a && b && typeof a == "object" && typeof b == "object") { + if (a.constructor !== b.constructor) + return false; + let length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length !== b.length) + return false; + for (i = length; i-- !== 0; ) + if (!equal(a[i], b[i])) + return false; + return true; + } + let it; + if (typeof Map === "function" && a instanceof Map && b instanceof Map) { + if (a.size !== b.size) + return false; + it = a.entries(); + while (!(i = it.next()).done) + if (!b.has(i.value[0])) + return false; + it = a.entries(); + while (!(i = it.next()).done) + if (!equal(i.value[1], b.get(i.value[0]))) + return false; + return true; + } + if (typeof Set === "function" && a instanceof Set && b instanceof Set) { + if (a.size !== b.size) + return false; + it = a.entries(); + while (!(i = it.next()).done) + if (!b.has(i.value[0])) + return false; + return true; + } + if (a.constructor === RegExp) + return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) + return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) + return a.toString() === b.toString(); + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) + return false; + for (i = length; i-- !== 0; ) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) + return false; + if (typeof Element !== "undefined" && a instanceof Element) + return false; + for (i = length; i-- !== 0; ) { + if (keys[i] === "_owner" && a.$$typeof) + continue; + if (!equal(a[keys[i]], b[keys[i]])) + return false; + } + return true; + } + return a !== a && b !== b; +} +function isEqual(a, b) { + try { + return equal(a, b); + } catch (error) { + if ((error.message || "").match(/stack|recursion/i)) { + console.warn("react-fast-compare cannot handle circular refs"); + return false; + } + throw error; + } +} + +function resolveWith(config = {}, resolvers) { + const result = {}; + for (const [key, resolver] of Object.entries(resolvers)) + switch (typeof resolver) { + case "function": + result[key] = resolver.call(result, config[key], key, config); + break; + case "object": + result[key] = resolveWith(config[key], resolver); + break; + case "boolean": + if (resolver) + result[key] = config[key]; + break; + } + return result; +} + +const DEFAULT_DRAG_DELAY = 180; +const DEFAULT_RUBBERBAND = 0.15; +const DEFAULT_SWIPE_VELOCITY = 0.5; +const DEFAULT_SWIPE_DISTANCE = 50; +const DEFAULT_SWIPE_DURATION = 250; +const InternalGestureOptionsNormalizers = { + threshold(value = 0) { + return ensureVector(value); + }, + rubberband(value = 0) { + switch (value) { + case true: + return ensureVector(DEFAULT_RUBBERBAND); + case false: + return ensureVector(0); + default: + return ensureVector(value); + } + }, + enabled(value = true) { + return value; + }, + triggerAllEvents(value = false) { + return value; + }, + initial(value = 0) { + if (typeof value === "function") + return value; + return ensureVector(value); + }, + transform: true +}; +const InternalCoordinatesOptionsNormalizers = { + ...InternalGestureOptionsNormalizers, + axis: true, + lockDirection(value = false) { + return value; + }, + bounds(value = {}) { + if (typeof value === "function") + return (state) => InternalCoordinatesOptionsNormalizers.bounds(value(state)); + const { + left = -Infinity, + right = Infinity, + top = -Infinity, + bottom = Infinity + } = value; + return [ + [left, right], + [top, bottom] + ]; + } +}; +const isBrowser = typeof window !== "undefined" && window.document && window.document.createElement; +const InternalGenericOptionsNormalizers = { + enabled(value = true) { + return value; + }, + domTarget: true, + window(value = isBrowser ? window : void 0) { + return value; + }, + eventOptions({ passive = true, capture = false } = {}) { + return { passive, capture }; + }, + transform: true +}; +const InternalDistanceAngleOptionsNormalizers = { + ...InternalGestureOptionsNormalizers, + bounds(_value, _key, { distanceBounds = {}, angleBounds = {} }) { + const _distanceBounds = (state) => { + const D = assignDefault(valueFn(distanceBounds, state), { + min: -Infinity, + max: Infinity + }); + return [D.min, D.max]; + }; + const _angleBounds = (state) => { + const A = assignDefault(valueFn(angleBounds, state), { + min: -Infinity, + max: Infinity + }); + return [A.min, A.max]; + }; + if (typeof distanceBounds !== "function" && typeof angleBounds !== "function") + return [_distanceBounds(), _angleBounds()]; + return (state) => [_distanceBounds(state), _angleBounds(state)]; + } +}; +const InternalDragOptionsNormalizers = { + ...InternalCoordinatesOptionsNormalizers, + useTouch(value = true) { + return value && supportsTouchEvents(); + }, + preventWindowScrollY(value = false) { + return value; + }, + threshold(v, _k, { filterTaps = false, lockDirection = false, axis = void 0 }) { + const A = ensureVector( + v, + filterTaps ? 3 : lockDirection ? 1 : axis ? 1 : 0 + ); + this.filterTaps = filterTaps; + return A; + }, + swipeVelocity(v = DEFAULT_SWIPE_VELOCITY) { + return ensureVector(v); + }, + swipeDistance(v = DEFAULT_SWIPE_DISTANCE) { + return ensureVector(v); + }, + swipeDuration(value = DEFAULT_SWIPE_DURATION) { + return value; + }, + delay(value = 0) { + switch (value) { + case true: + return DEFAULT_DRAG_DELAY; + case false: + return 0; + default: + return value; + } + } +}; +function getInternalGenericOptions(config) { + return resolveWith( + config, + InternalGenericOptionsNormalizers + ); +} +function getInternalCoordinatesOptions(config = {}) { + return resolveWith( + config, + InternalCoordinatesOptionsNormalizers + ); +} +function getInternalDistanceAngleOptions(config = {}) { + return resolveWith( + config, + InternalDistanceAngleOptionsNormalizers + ); +} +function getInternalDragOptions(config = {}) { + return resolveWith( + config, + InternalDragOptionsNormalizers + ); +} + +function _buildMoveConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.move = getInternalCoordinatesOptions(rest); + return opts; +} +function _buildHoverConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.hover = { enabled: true, ...rest }; + return opts; +} +function _buildDragConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.drag = getInternalDragOptions(rest); + return opts; +} +function _buildPinchConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.pinch = getInternalDistanceAngleOptions(rest); + return opts; +} +function _buildScrollConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.scroll = getInternalCoordinatesOptions(rest); + return opts; +} +function _buildWheelConfig({ + domTarget, + eventOptions, + window, + enabled, + ...rest +}) { + const opts = getInternalGenericOptions({ + domTarget, + eventOptions, + window, + enabled + }); + opts.wheel = getInternalCoordinatesOptions(rest); + return opts; +} +function buildComplexConfig(config, actions = /* @__PURE__ */ new Set()) { + const { + drag, + wheel, + move, + scroll, + pinch, + hover, + eventOptions, + window, + transform, + domTarget, + enabled + } = config; + const mergedConfig = getInternalGenericOptions({ + domTarget, + eventOptions, + transform, + window, + enabled + }); + if (actions.has("onDrag")) + mergedConfig.drag = getInternalDragOptions(drag); + if (actions.has("onWheel")) + mergedConfig.wheel = getInternalCoordinatesOptions(wheel); + if (actions.has("onScroll")) + mergedConfig.scroll = getInternalCoordinatesOptions(scroll); + if (actions.has("onMove")) + mergedConfig.move = getInternalCoordinatesOptions(move); + if (actions.has("onPinch")) + mergedConfig.pinch = getInternalDistanceAngleOptions(pinch); + if (actions.has("onHover")) + mergedConfig.hover = { enabled: true, ...hover }; + return mergedConfig; +} + +function useRecognizers(handlers, config, nativeHandlers = {}) { + const classes = resolveClasses(handlers); + const controller = new Controller(classes); + controller.config = config; + controller.handlers = handlers; + controller.nativeRefs = nativeHandlers; + if (getCurrentInstance() && !config.manual) { + onMounted(controller.bind); + onUnmounted(controller.clean); + } + return controller; +} +function resolveClasses(internalHandlers) { + const classes = /* @__PURE__ */ new Set(); + if (internalHandlers.drag) + classes.add(RecognizersMap.get("drag")); + if (internalHandlers.wheel) + classes.add(RecognizersMap.get("wheel")); + if (internalHandlers.scroll) + classes.add(RecognizersMap.get("scroll")); + if (internalHandlers.move) + classes.add(RecognizersMap.get("move")); + if (internalHandlers.pinch) + classes.add(RecognizersMap.get("pinch")); + if (internalHandlers.hover) + classes.add(RecognizersMap.get("hover")); + return classes; +} + +function useDrag(handler, config = {}) { + RecognizersMap.set("drag", DragRecognizer); + const buildDragConfig = ref(); + if (!buildDragConfig.value) { + buildDragConfig.value = memoizeOne(_buildDragConfig, isEqual); + } + return useRecognizers({ drag: handler }, buildDragConfig.value(config)); +} + +var __defProp$3 = Object.defineProperty; +var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$3 = (obj, key, value) => { + __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class MoveRecognizer extends CoordinatesRecognizer { + constructor() { + super(...arguments); + __publicField$3(this, "ingKey", "moving"); + __publicField$3(this, "stateKey", "move"); + __publicField$3(this, "debounced", true); + __publicField$3(this, "onMove", (event) => { + if (!this.enabled) + return; + this.setTimeout(this.onMoveEnd); + if (!this.state._active) + this.onMoveStart(event); + else + this.onMoveChange(event); + }); + __publicField$3(this, "onMoveStart", (event) => { + this.updateSharedState(getGenericEventData(event)); + const values = getPointerEventValues(event, this.transform); + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true) + }); + this.updateGestureState(this.getMovement(values)); + this.fireGestureHandler(); + }); + __publicField$3(this, "onMoveChange", (event) => { + this.updateSharedState(getGenericEventData(event)); + const values = getPointerEventValues(event, this.transform); + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getKinematics(values, event) + }); + this.fireGestureHandler(); + }); + __publicField$3(this, "onMoveEnd", () => { + this.clean(); + if (!this.state._active) + return; + const values = this.state.values; + this.updateGestureState(this.getMovement(values)); + this.updateGestureState({ velocities: [0, 0], velocity: 0, _active: false }); + this.fireGestureHandler(); + }); + __publicField$3(this, "hoverTransform", () => { + return this.controller.config.hover.transform || this.controller.config.transform; + }); + __publicField$3(this, "onPointerEnter", (event) => { + this.controller.state.shared.hovering = true; + if (!this.controller.config.enabled) + return; + if (this.controller.config.hover.enabled) { + const values = getPointerEventValues(event, this.hoverTransform()); + const state = { + ...this.controller.state.shared, + ...this.state, + ...getGenericPayload(this, event, true), + args: this.args, + values, + active: true, + hovering: true + }; + this.controller.handlers.hover({ + ...state, + ...this.mapStateValues(state) + }); + } + if ("move" in this.controller.handlers) + this.onMoveStart(event); + }); + __publicField$3(this, "onPointerLeave", (event) => { + this.controller.state.shared.hovering = false; + if ("move" in this.controller.handlers) + this.onMoveEnd(); + if (!this.controller.config.hover.enabled) + return; + const values = getPointerEventValues(event, this.hoverTransform()); + const state = { + ...this.controller.state.shared, + ...this.state, + ...getGenericPayload(this, event), + args: this.args, + values, + active: false + }; + this.controller.handlers.hover({ ...state, ...this.mapStateValues(state) }); + }); + } + addBindings(bindings) { + if ("move" in this.controller.handlers) { + addBindings(bindings, "onPointerMove", this.onMove); + } + if ("hover" in this.controller.handlers) { + addBindings(bindings, "onPointerEnter", this.onPointerEnter); + addBindings(bindings, "onPointerLeave", this.onPointerLeave); + } + } +} + +class DistanceAngleRecognizer extends Recognizer { + getInternalMovement(values, state) { + const prev_a = state.values[1]; + let [d, a = prev_a] = values; + let delta_a = a - prev_a; + let next_turns = state.turns; + if (Math.abs(delta_a) > 270) + next_turns += sign(delta_a); + return subV([d, a - 360 * next_turns], state.initial); + } + getKinematics(values, event) { + const state = this.getMovement(values); + const turns = (values[1] - state._movement[1] - this.state.initial[1]) / 360; + const dt = event.timeStamp - this.state.timeStamp; + const { distance, velocity, ...kinematics } = calculateAllKinematics( + state.movement, + state.delta, + dt + ); + return { turns, ...state, ...kinematics }; + } + mapStateValues(state) { + return { da: state.values, vdva: state.velocities }; + } +} + +var __defProp$2 = Object.defineProperty; +var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$2 = (obj, key, value) => { + __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +const ZOOM_CONSTANT = 7; +const WEBKIT_DISTANCE_SCALE_FACTOR = 260; +class PinchRecognizer extends DistanceAngleRecognizer { + constructor() { + super(...arguments); + __publicField$2(this, "ingKey", "pinching"); + __publicField$2(this, "stateKey", "pinch"); + __publicField$2(this, "onPinchStart", (event) => { + addEventIds(this.controller, event); + const touchIds = this.controller.touchIds; + if (!this.enabled) + return; + if (this.state._active) { + if (this.state._pointerIds.every((id) => touchIds.has(id))) + return; + } + if (touchIds.size < 2) + return; + const _pointerIds = Array.from(touchIds).slice(0, 2); + const { values, origin } = getTwoTouchesEventValues( + event, + _pointerIds, + this.transform + ); + this.updateSharedState(getGenericEventData(event)); + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + _pointerIds, + cancel: this.onCancel, + origin + }); + this.updateGestureState(this.getMovement(values)); + this.fireGestureHandler(); + }); + __publicField$2(this, "onPinchChange", (event) => { + const { canceled, _active } = this.state; + if (canceled || !_active || // if the event has the same timestamp as the previous event + event.timeStamp === this.state.timeStamp) + return; + const genericEventData = getGenericEventData(event); + this.updateSharedState(genericEventData); + try { + const { values, origin } = getTwoTouchesEventValues( + event, + this.state._pointerIds, + this.transform + ); + const kinematics = this.getKinematics(values, event); + this.updateGestureState({ + ...getGenericPayload(this, event), + ...kinematics, + origin + }); + this.fireGestureHandler(); + } catch (e) { + this.onPinchEnd(event); + } + }); + __publicField$2(this, "onPinchEnd", (event) => { + removeEventIds(this.controller, event); + const pointerIds = getTouchIds(event); + if (this.state._pointerIds.every((id) => !pointerIds.includes(id))) + return; + this.clean(); + if (!this.state._active) + return; + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getMovement(this.state.values), + _active: false + }); + this.fireGestureHandler(); + }); + __publicField$2(this, "onCancel", () => { + if (this.state.canceled) + return; + this.updateGestureState({ _active: false, canceled: true }); + this.fireGestureHandler(); + }); + /** + * PINCH WITH WEBKIT GESTURES + */ + __publicField$2(this, "onGestureStart", (event) => { + if (!this.enabled) + return; + event.preventDefault(); + const values = getWebkitGestureEventValues(event, this.transform); + this.updateSharedState(getGenericEventData(event)); + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + origin: [event.clientX, event.clientY], + // only used on dekstop + cancel: this.onCancel + }); + this.updateGestureState(this.getMovement(values)); + this.fireGestureHandler(); + }); + __publicField$2(this, "onGestureChange", (event) => { + const { canceled, _active } = this.state; + if (canceled || !_active) + return; + event.preventDefault(); + const genericEventData = getGenericEventData(event); + this.updateSharedState(genericEventData); + const values = getWebkitGestureEventValues(event, this.transform); + values[0] = (values[0] - this.state.event.scale) * WEBKIT_DISTANCE_SCALE_FACTOR + this.state.values[0]; + const kinematics = this.getKinematics(values, event); + this.updateGestureState({ + ...getGenericPayload(this, event), + ...kinematics, + origin: [event.clientX, event.clientY] + // only used on dekstop + }); + this.fireGestureHandler(); + }); + __publicField$2(this, "onGestureEnd", (event) => { + this.clean(); + if (!this.state._active) + return; + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getMovement(this.state.values), + _active: false, + origin: [event.clientX, event.clientY] + // only used on dekstop + }); + this.fireGestureHandler(); + }); + /** + * PINCH WITH WHEEL + */ + __publicField$2(this, "wheelShouldRun", (event) => { + return this.enabled && event.ctrlKey; + }); + __publicField$2(this, "getWheelValuesFromEvent", (event) => { + const [, delta_d] = getWheelEventValues(event, this.transform); + const { + values: [prev_d, prev_a] + } = this.state; + const d = prev_d - delta_d * ZOOM_CONSTANT; + const a = prev_a !== void 0 ? prev_a : 0; + return { + values: [d, a], + origin: [event.clientX, event.clientY], + delta: [0, delta_d] + }; + }); + __publicField$2(this, "onWheel", (event) => { + if (!this.wheelShouldRun(event)) + return; + this.setTimeout(this.onWheelEnd); + if (!this.state._active) + this.onWheelStart(event); + else + this.onWheelChange(event); + }); + __publicField$2(this, "onWheelStart", (event) => { + const { values, delta, origin } = this.getWheelValuesFromEvent(event); + if (event.cancelable) + event.preventDefault(); + else if (process.env.NODE_ENV === "development") { + console.warn( + "To properly support zoom on trackpads, try using the `domTarget` option and `config.eventOptions.passive` set to `false`. This message will only appear in development mode." + ); + } + this.updateSharedState(getGenericEventData(event)); + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + initial: this.state.values, + offset: values, + delta, + origin + }); + this.updateGestureState(this.getMovement(values)); + this.fireGestureHandler(); + }); + __publicField$2(this, "onWheelChange", (event) => { + if (event.cancelable) + event.preventDefault(); + this.updateSharedState(getGenericEventData(event)); + const { values, origin, delta } = this.getWheelValuesFromEvent(event); + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getKinematics(values, event), + origin, + delta + }); + this.fireGestureHandler(); + }); + __publicField$2(this, "onWheelEnd", () => { + this.clean(); + if (!this.state._active) + return; + this.state._active = false; + this.updateGestureState(this.getMovement(this.state.values)); + this.fireGestureHandler(); + }); + } + addBindings(bindings) { + if (this.controller.config.domTarget && !this.controller.supportsTouchEvents && this.controller.supportsGestureEvents) { + addBindings(bindings, "onGestureStart", this.onGestureStart); + addBindings(bindings, "onGestureChange", this.onGestureChange); + addBindings(bindings, "onGestureEnd", this.onGestureEnd); + } else { + addBindings(bindings, "onTouchStart", this.onPinchStart); + addBindings(bindings, "onTouchMove", this.onPinchChange); + addBindings(bindings, "onTouchEnd", this.onPinchEnd); + addBindings(bindings, "onTouchCancel", this.onPinchEnd); + addBindings(bindings, "onWheel", this.onWheel); + } + } +} + +var __defProp$1 = Object.defineProperty; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField$1 = (obj, key, value) => { + __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class ScrollRecognizer extends CoordinatesRecognizer { + constructor() { + super(...arguments); + __publicField$1(this, "ingKey", "scrolling"); + __publicField$1(this, "stateKey", "scroll"); + __publicField$1(this, "debounced", true); + __publicField$1(this, "handleEvent", (event) => { + if (!this.enabled) + return; + this.clearTimeout(); + this.setTimeout(this.onEnd); + const values = getScrollEventValues(event, this.transform); + this.updateSharedState(getGenericEventData(event)); + if (!this.state._active) { + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + initial: this.state.values + }); + const movementDetection = this.getMovement(values); + const geometry = calculateAllGeometry(movementDetection.delta); + this.updateGestureState(movementDetection); + this.updateGestureState(geometry); + } else { + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getKinematics(values, event) + }); + } + this.fireGestureHandler(); + }); + __publicField$1(this, "onEnd", () => { + this.clean(); + if (!this.state._active) + return; + this.updateGestureState({ + ...this.getMovement(this.state.values), + _active: false, + velocities: [0, 0], + velocity: 0 + }); + this.fireGestureHandler(); + }); + } + addBindings(bindings) { + addBindings(bindings, "onScroll", this.handleEvent); + } +} + +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +class WheelRecognizer extends CoordinatesRecognizer { + constructor() { + super(...arguments); + __publicField(this, "ingKey", "wheeling"); + __publicField(this, "stateKey", "wheel"); + __publicField(this, "debounced", true); + __publicField(this, "handleEvent", (event) => { + if (event.ctrlKey && "pinch" in this.controller.handlers) + return; + if (!this.enabled) + return; + this.setTimeout(this.onEnd); + this.updateSharedState(getGenericEventData(event)); + const values = addV( + getWheelEventValues(event, this.transform), + this.state.values + ); + if (!this.state._active) { + this.updateGestureState({ + ...getStartGestureState(this, values, event), + ...getGenericPayload(this, event, true), + initial: this.state.values + }); + const movement = this.getMovement(values); + const geometry = calculateAllGeometry(movement.delta); + this.updateGestureState(movement); + this.updateGestureState(geometry); + } else { + this.updateGestureState({ + ...getGenericPayload(this, event), + ...this.getKinematics(values, event) + }); + } + this.fireGestureHandler(); + }); + __publicField(this, "onEnd", () => { + this.clean(); + if (!this.state._active) + return; + const movement = this.getMovement(this.state.values); + this.updateGestureState(movement); + this.updateGestureState({ _active: false, velocities: [0, 0], velocity: 0 }); + this.fireGestureHandler(); + }); + } + addBindings(bindings) { + addBindings(bindings, "onWheel", this.handleEvent); + } +} + +const RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/; +function sortHandlers(handlers) { + const native = {}; + const handle = {}; + const actions = /* @__PURE__ */ new Set(); + for (let key in handlers) { + if (RE_NOT_NATIVE.test(key)) { + actions.add(RegExp.lastMatch); + handle[key] = handlers[key]; + } else { + native[key] = handlers[key]; + } + } + return [handle, native, actions]; +} +function useGesture(_handlers, config) { + const [handlers, nativeHandlers, actions] = sortHandlers(_handlers); + RecognizersMap.set("drag", DragRecognizer); + RecognizersMap.set("hover", MoveRecognizer); + RecognizersMap.set("move", MoveRecognizer); + RecognizersMap.set("pinch", PinchRecognizer); + RecognizersMap.set("scroll", ScrollRecognizer); + RecognizersMap.set("wheel", WheelRecognizer); + const mergedConfig = buildComplexConfig(config, actions); + const internalHandlers = {}; + if (actions.has("onDrag")) + internalHandlers.drag = includeStartEndHandlers(handlers, "onDrag"); + if (actions.has("onWheel")) + internalHandlers.wheel = includeStartEndHandlers(handlers, "onWheel"); + if (actions.has("onScroll")) + internalHandlers.scroll = includeStartEndHandlers(handlers, "onScroll"); + if (actions.has("onMove")) + internalHandlers.move = includeStartEndHandlers(handlers, "onMove"); + if (actions.has("onPinch")) + internalHandlers.pinch = includeStartEndHandlers(handlers, "onPinch"); + if (actions.has("onHover")) + internalHandlers.hover = handlers.onHover; + return useRecognizers(internalHandlers, mergedConfig, nativeHandlers); +} +function includeStartEndHandlers(handlers, handlerKey) { + const startKey = handlerKey + "Start"; + const endKey = handlerKey + "End"; + const fn = (state) => { + let memo = void 0; + if (state.first && startKey in handlers) + handlers[startKey](state); + if (handlerKey in handlers) + memo = handlers[handlerKey](state); + if (state.last && endKey in handlers) + handlers[endKey](state); + return memo; + }; + return fn; +} + +function useHover(handler, config = {}) { + RecognizersMap.set("hover", MoveRecognizer); + const buildHoverConfig = ref(); + if (!buildHoverConfig.value) { + buildHoverConfig.value = memoizeOne(_buildHoverConfig, isEqual); + } + return useRecognizers({ hover: handler }, buildHoverConfig.value(config)); +} + +function useMove(handler, config = {}) { + RecognizersMap.set("move", MoveRecognizer); + const buildMoveConfig = ref(); + if (!buildMoveConfig.value) { + buildMoveConfig.value = memoizeOne(_buildMoveConfig, isEqual); + } + return useRecognizers({ move: handler }, buildMoveConfig.value(config)); +} + +function usePinch(handler, config = {}) { + RecognizersMap.set("pinch", PinchRecognizer); + const buildPinchConfig = ref(); + if (!buildPinchConfig.value) { + buildPinchConfig.value = memoizeOne(_buildPinchConfig, isEqual); + } + return useRecognizers({ pinch: handler }, buildPinchConfig.value(config)); +} + +function useScroll(handler, config = {}) { + RecognizersMap.set("scroll", ScrollRecognizer); + const buildScrollConfig = ref(); + if (!buildScrollConfig.value) { + buildScrollConfig.value = memoizeOne(_buildScrollConfig, isEqual); + } + return useRecognizers({ scroll: handler }, buildScrollConfig.value(config)); +} + +function useWheel(handler, config = {}) { + RecognizersMap.set("wheel", WheelRecognizer); + const buildWheelConfig = ref(); + if (!buildWheelConfig.value) { + buildWheelConfig.value = memoizeOne(_buildWheelConfig, isEqual); + } + return useRecognizers({ wheel: handler }, buildWheelConfig.value(config)); +} + +const directive = (register, unregister) => { + return { + // Vue 3 Directive Hooks + created: register, + unmounted: unregister, + // Vue 2 Directive Hooks + // @ts-expect-error + bind: register, + unbind: unregister + }; +}; + +const errorMessage = (type) => `Your v-${type} directive must have a handler specified as a value`; +const drag = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("drag")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = useDrag(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.drag = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.drag) + return; + el.gestures.drag.clean(); + }; + return directive(register, unregister); +}; +const move = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("move")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = useMove(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.move = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.move) + return; + el.gestures.move.clean(); + }; + return directive(register, unregister); +}; +const hover = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("hover")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = useHover(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.hover = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.hover) + return; + el.gestures.hover.clean(); + }; + return directive(register, unregister); +}; +const pinch = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("pinch")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = usePinch(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.pinch = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.pinch) + return; + el.gestures.pinch.clean(); + }; + return directive(register, unregister); +}; +const wheel = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("wheel")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = useWheel(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.wheel = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.wheel) + return; + el.gestures.wheel.clean(); + }; + return directive(register, unregister); +}; +const scroll = () => { + const register = (el, binding, node) => { + if (!binding.value) { + throw new Error(errorMessage("scroll")); + } + if (!el.gestures) { + el.gestures = {}; + } + const controller = useScroll(binding.value, { + domTarget: el, + manual: true + }); + controller.bind(); + el.gestures.drag = controller; + }; + const unregister = (el, binding, node) => { + if (!el.gestures || !el.gestures.drag) + return; + el.gestures.drag.clean(); + }; + return directive(register, unregister); +}; + +const GesturePlugin = { + install(app, options) { + const directives = { drag, hover, move, pinch, scroll, wheel }; + Object.entries(directives).forEach( + ([key, directive]) => app.directive(key, directive()) + ); + } +}; + +export { GesturePlugin, addV, drag as dragDirective, hover as hoverDirective, move as moveDirective, pinch as pinchDirective, rubberbandIfOutOfBounds, scroll as scrollDirective, subV, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel, wheel as wheelDirective }; diff --git a/.output/server/node_modules/@vueuse/gesture/package.json b/.output/server/node_modules/@vueuse/gesture/package.json new file mode 100644 index 00000000..488c4b97 --- /dev/null +++ b/.output/server/node_modules/@vueuse/gesture/package.json @@ -0,0 +1,117 @@ +{ + "name": "@vueuse/gesture", + "version": "2.0.0", + "description": "🕹 Vue Composables making your app interactive", + "repository": "https://github.com/vueuse/gesture", + "bugs": { + "url": "https://github.com/vueuse/gesture/issues" + }, + "homepage": "https://github.com/vueuse/gesture#readme", + "author": "Yaël GUILLOUX <yael.guilloux@gmail.com>", + "license": "MIT", + "keywords": [ + "vue", + "hook", + "gesture", + "motion", + "v-gesture", + "use-gesture-vue", + "interactive-vue" + ], + "type": "module", + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "scripts": { + "build": "unbuild", + "dev": "jiti scripts/watch.ts --cache", + "lint": "prettier -c --parser typescript \"{src,__tests__,e2e}/**/*.[jt]s?(x)\"", + "lint:fix": "pnpm lint --write", + "test:types": "tsc --build tsconfig.json", + "test": "pnpm test:types", + "dev:docs": "vitepress dev docs", + "build:docs": "vitepress build docs", + "serve:docs": "vitepress serve docs", + "dev:demo": "vite", + "build:demo": "vite build", + "serve:demo": "vite serve demo/dist", + "release": "release-it" + }, + "files": [ + "dist/**/*", + "LICENSE", + "README.md" + ], + "dependencies": { + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "upath": "^2.0.1", + "vue-demi": "*" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.1", + "vue": "^2.0.0 || >=3.0.0-rc.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.4", + "@vue/compiler-sfc": "^3.4.19", + "@vue/server-renderer": "^3.4.19", + "@vue/test-utils": "^2.4.4", + "@vuedx/typecheck": "^0.7.6", + "@vuedx/typescript-plugin-vue": "^0.7.6", + "@vueuse/motion": "^2.1.0", + "jiti": "^1.21.0", + "lint-staged": "^15.2.2", + "pascalcase": "^2.0.0", + "patch-vue-directive-ssr": "^0.0.1", + "popmotion": "^11.0.5", + "prettier": "^3.2.5", + "ts-jest": "^29.1.2", + "typescript": "^5.3.3", + "unbuild": "^2.0.0", + "vite": "^5.1.4", + "vite-plugin-windicss": "^1.9.3", + "vitepress": "^0.22.4", + "vue": "^3.4.19", + "yorkie": "^2.0.0" + }, + "gitHooks": { + "pre-commit": "lint-staged" + }, + "lint-staged": { + "*.js": [ + "prettier --write" + ], + "*.ts?(x)": [ + "prettier --parser=typescript --write" + ] + }, + "release-it": { + "hooks": { + "before:init": [ + "pnpm build" + ] + }, + "npm": { + "access": "public" + }, + "git": { + "commitMessage": "chore(release): release v${version}" + }, + "github": { + "release": true, + "releaseName": "v${version}" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/async-validator/dist-node/index.js b/.output/server/node_modules/async-validator/dist-node/index.js new file mode 100644 index 00000000..563b966f --- /dev/null +++ b/.output/server/node_modules/async-validator/dist-node/index.js @@ -0,0 +1,1333 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _extends() { + _extends = Object.assign ? Object.assign.bind() : function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + return _extends.apply(this, arguments); +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); +} + +function _isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +function _construct(Parent, args, Class) { + if (_isNativeReflectConstruct()) { + _construct = Reflect.construct.bind(); + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) _setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} + +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !_isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return _construct(Class, arguments, _getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return _setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} + +/* eslint no-console:0 */ +var formatRegExp = /%[sdj%]/g; +var warning = function warning() {}; // don't print warning message when in production env or node runtime + +if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') { + warning = function warning(type, errors) { + if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') { + if (errors.every(function (e) { + return typeof e === 'string'; + })) { + console.warn(type, errors); + } + } + }; +} + +function convertFieldsError(errors) { + if (!errors || !errors.length) return null; + var fields = {}; + errors.forEach(function (error) { + var field = error.field; + fields[field] = fields[field] || []; + fields[field].push(error); + }); + return fields; +} +function format(template) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var i = 0; + var len = args.length; + + if (typeof template === 'function') { + return template.apply(null, args); + } + + if (typeof template === 'string') { + var str = template.replace(formatRegExp, function (x) { + if (x === '%%') { + return '%'; + } + + if (i >= len) { + return x; + } + + switch (x) { + case '%s': + return String(args[i++]); + + case '%d': + return Number(args[i++]); + + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + + break; + + default: + return x; + } + }); + return str; + } + + return template; +} + +function isNativeStringType(type) { + return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern'; +} + +function isEmptyValue(value, type) { + if (value === undefined || value === null) { + return true; + } + + if (type === 'array' && Array.isArray(value) && !value.length) { + return true; + } + + if (isNativeStringType(type) && typeof value === 'string' && !value) { + return true; + } + + return false; +} + +function asyncParallelArray(arr, func, callback) { + var results = []; + var total = 0; + var arrLength = arr.length; + + function count(errors) { + results.push.apply(results, errors || []); + total++; + + if (total === arrLength) { + callback(results); + } + } + + arr.forEach(function (a) { + func(a, count); + }); +} + +function asyncSerialArray(arr, func, callback) { + var index = 0; + var arrLength = arr.length; + + function next(errors) { + if (errors && errors.length) { + callback(errors); + return; + } + + var original = index; + index = index + 1; + + if (original < arrLength) { + func(arr[original], next); + } else { + callback([]); + } + } + + next([]); +} + +function flattenObjArr(objArr) { + var ret = []; + Object.keys(objArr).forEach(function (k) { + ret.push.apply(ret, objArr[k] || []); + }); + return ret; +} + +var AsyncValidationError = /*#__PURE__*/function (_Error) { + _inheritsLoose(AsyncValidationError, _Error); + + function AsyncValidationError(errors, fields) { + var _this; + + _this = _Error.call(this, 'Async Validation Error') || this; + _this.errors = errors; + _this.fields = fields; + return _this; + } + + return AsyncValidationError; +}( /*#__PURE__*/_wrapNativeSuper(Error)); +function asyncMap(objArr, option, func, callback, source) { + if (option.first) { + var _pending = new Promise(function (resolve, reject) { + var next = function next(errors) { + callback(errors); + return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source); + }; + + var flattenArr = flattenObjArr(objArr); + asyncSerialArray(flattenArr, func, next); + }); + + _pending["catch"](function (e) { + return e; + }); + + return _pending; + } + + var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || []; + var objArrKeys = Object.keys(objArr); + var objArrLength = objArrKeys.length; + var total = 0; + var results = []; + var pending = new Promise(function (resolve, reject) { + var next = function next(errors) { + results.push.apply(results, errors); + total++; + + if (total === objArrLength) { + callback(results); + return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source); + } + }; + + if (!objArrKeys.length) { + callback(results); + resolve(source); + } + + objArrKeys.forEach(function (key) { + var arr = objArr[key]; + + if (firstFields.indexOf(key) !== -1) { + asyncSerialArray(arr, func, next); + } else { + asyncParallelArray(arr, func, next); + } + }); + }); + pending["catch"](function (e) { + return e; + }); + return pending; +} + +function isErrorObj(obj) { + return !!(obj && obj.message !== undefined); +} + +function getValue(value, path) { + var v = value; + + for (var i = 0; i < path.length; i++) { + if (v == undefined) { + return v; + } + + v = v[path[i]]; + } + + return v; +} + +function complementError(rule, source) { + return function (oe) { + var fieldValue; + + if (rule.fullFields) { + fieldValue = getValue(source, rule.fullFields); + } else { + fieldValue = source[oe.field || rule.fullField]; + } + + if (isErrorObj(oe)) { + oe.field = oe.field || rule.fullField; + oe.fieldValue = fieldValue; + return oe; + } + + return { + message: typeof oe === 'function' ? oe() : oe, + fieldValue: fieldValue, + field: oe.field || rule.fullField + }; + }; +} +function deepMerge(target, source) { + if (source) { + for (var s in source) { + if (source.hasOwnProperty(s)) { + var value = source[s]; + + if (typeof value === 'object' && typeof target[s] === 'object') { + target[s] = _extends({}, target[s], value); + } else { + target[s] = value; + } + } + } + } + + return target; +} + +var required$1 = function required(rule, value, source, errors, options, type) { + if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) { + errors.push(format(options.messages.required, rule.fullField)); + } +}; + +/** + * Rule for validating whitespace. + * + * @param rule The validation rule. + * @param value The value of the field on the source object. + * @param source The source object being validated. + * @param errors An array of errors that this rule may add + * validation errors to. + * @param options The validation options. + * @param options.messages The validation messages. + */ + +var whitespace = function whitespace(rule, value, source, errors, options) { + if (/^\s+$/.test(value) || value === '') { + errors.push(format(options.messages.whitespace, rule.fullField)); + } +}; + +// https://github.com/kevva/url-regex/blob/master/index.js +var urlReg; +var getUrlRegex = (function () { + if (urlReg) { + return urlReg; + } + + var word = '[a-fA-F\\d:]'; + + var b = function b(options) { + return options && options.includeBoundaries ? "(?:(?<=\\s|^)(?=" + word + ")|(?<=" + word + ")(?=\\s|$))" : ''; + }; + + var v4 = '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}'; + var v6seg = '[a-fA-F\\d]{1,4}'; + var v6 = ("\n(?:\n(?:" + v6seg + ":){7}(?:" + v6seg + "|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:" + v6seg + ":){6}(?:" + v4 + "|:" + v6seg + "|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:" + v6seg + ":){5}(?::" + v4 + "|(?::" + v6seg + "){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:" + v6seg + ":){4}(?:(?::" + v6seg + "){0,1}:" + v4 + "|(?::" + v6seg + "){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:" + v6seg + ":){3}(?:(?::" + v6seg + "){0,2}:" + v4 + "|(?::" + v6seg + "){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:" + v6seg + ":){2}(?:(?::" + v6seg + "){0,3}:" + v4 + "|(?::" + v6seg + "){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:" + v6seg + ":){1}(?:(?::" + v6seg + "){0,4}:" + v4 + "|(?::" + v6seg + "){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::" + v6seg + "){0,5}:" + v4 + "|(?::" + v6seg + "){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm, '').replace(/\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful + + var v46Exact = new RegExp("(?:^" + v4 + "$)|(?:^" + v6 + "$)"); + var v4exact = new RegExp("^" + v4 + "$"); + var v6exact = new RegExp("^" + v6 + "$"); + + var ip = function ip(options) { + return options && options.exact ? v46Exact : new RegExp("(?:" + b(options) + v4 + b(options) + ")|(?:" + b(options) + v6 + b(options) + ")", 'g'); + }; + + ip.v4 = function (options) { + return options && options.exact ? v4exact : new RegExp("" + b(options) + v4 + b(options), 'g'); + }; + + ip.v6 = function (options) { + return options && options.exact ? v6exact : new RegExp("" + b(options) + v6 + b(options), 'g'); + }; + + var protocol = "(?:(?:[a-z]+:)?//)"; + var auth = '(?:\\S+(?::\\S*)?@)?'; + var ipv4 = ip.v4().source; + var ipv6 = ip.v6().source; + var host = "(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)"; + var domain = "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*"; + var tld = "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"; + var port = '(?::\\d{2,5})?'; + var path = '(?:[/?#][^\\s"]*)?'; + var regex = "(?:" + protocol + "|www\\.)" + auth + "(?:localhost|" + ipv4 + "|" + ipv6 + "|" + host + domain + tld + ")" + port + path; + urlReg = new RegExp("(?:^" + regex + "$)", 'i'); + return urlReg; +}); + +/* eslint max-len:0 */ + +var pattern$2 = { + // http://emailregex.com/ + email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/, + // url: new RegExp( + // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', + // 'i', + // ), + hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i +}; +var types = { + integer: function integer(value) { + return types.number(value) && parseInt(value, 10) === value; + }, + "float": function float(value) { + return types.number(value) && !types.integer(value); + }, + array: function array(value) { + return Array.isArray(value); + }, + regexp: function regexp(value) { + if (value instanceof RegExp) { + return true; + } + + try { + return !!new RegExp(value); + } catch (e) { + return false; + } + }, + date: function date(value) { + return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime()); + }, + number: function number(value) { + if (isNaN(value)) { + return false; + } + + return typeof value === 'number'; + }, + object: function object(value) { + return typeof value === 'object' && !types.array(value); + }, + method: function method(value) { + return typeof value === 'function'; + }, + email: function email(value) { + return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email); + }, + url: function url(value) { + return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex()); + }, + hex: function hex(value) { + return typeof value === 'string' && !!value.match(pattern$2.hex); + } +}; + +var type$1 = function type(rule, value, source, errors, options) { + if (rule.required && value === undefined) { + required$1(rule, value, source, errors, options); + return; + } + + var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex']; + var ruleType = rule.type; + + if (custom.indexOf(ruleType) > -1) { + if (!types[ruleType](value)) { + errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type)); + } // straight typeof check + + } else if (ruleType && typeof value !== rule.type) { + errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type)); + } +}; + +var range = function range(rule, value, source, errors, options) { + var len = typeof rule.len === 'number'; + var min = typeof rule.min === 'number'; + var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane) + + var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + var val = value; + var key = null; + var num = typeof value === 'number'; + var str = typeof value === 'string'; + var arr = Array.isArray(value); + + if (num) { + key = 'number'; + } else if (str) { + key = 'string'; + } else if (arr) { + key = 'array'; + } // if the value is not of a supported type for range validation + // the validation rule rule should use the + // type property to also test for a particular type + + + if (!key) { + return false; + } + + if (arr) { + val = value.length; + } + + if (str) { + // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3 + val = value.replace(spRegexp, '_').length; + } + + if (len) { + if (val !== rule.len) { + errors.push(format(options.messages[key].len, rule.fullField, rule.len)); + } + } else if (min && !max && val < rule.min) { + errors.push(format(options.messages[key].min, rule.fullField, rule.min)); + } else if (max && !min && val > rule.max) { + errors.push(format(options.messages[key].max, rule.fullField, rule.max)); + } else if (min && max && (val < rule.min || val > rule.max)) { + errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max)); + } +}; + +var ENUM$1 = 'enum'; + +var enumerable$1 = function enumerable(rule, value, source, errors, options) { + rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : []; + + if (rule[ENUM$1].indexOf(value) === -1) { + errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', '))); + } +}; + +var pattern$1 = function pattern(rule, value, source, errors, options) { + if (rule.pattern) { + if (rule.pattern instanceof RegExp) { + // if a RegExp instance is passed, reset `lastIndex` in case its `global` + // flag is accidentally set to `true`, which in a validation scenario + // is not necessary and the result might be misleading + rule.pattern.lastIndex = 0; + + if (!rule.pattern.test(value)) { + errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern)); + } + } else if (typeof rule.pattern === 'string') { + var _pattern = new RegExp(rule.pattern); + + if (!_pattern.test(value)) { + errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern)); + } + } + } +}; + +var rules = { + required: required$1, + whitespace: whitespace, + type: type$1, + range: range, + "enum": enumerable$1, + pattern: pattern$1 +}; + +var string = function string(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value, 'string') && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options, 'string'); + + if (!isEmptyValue(value, 'string')) { + rules.type(rule, value, source, errors, options); + rules.range(rule, value, source, errors, options); + rules.pattern(rule, value, source, errors, options); + + if (rule.whitespace === true) { + rules.whitespace(rule, value, source, errors, options); + } + } + } + + callback(errors); +}; + +var method = function method(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var number = function number(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (value === '') { + value = undefined; + } + + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + rules.range(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var _boolean = function _boolean(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var regexp = function regexp(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (!isEmptyValue(value)) { + rules.type(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var integer = function integer(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + rules.range(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var floatFn = function floatFn(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + rules.range(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var array = function array(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if ((value === undefined || value === null) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options, 'array'); + + if (value !== undefined && value !== null) { + rules.type(rule, value, source, errors, options); + rules.range(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var object = function object(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules.type(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var ENUM = 'enum'; + +var enumerable = function enumerable(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (value !== undefined) { + rules[ENUM](rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var pattern = function pattern(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value, 'string') && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (!isEmptyValue(value, 'string')) { + rules.pattern(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var date = function date(rule, value, callback, source, options) { + // console.log('integer rule called %j', rule); + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value); + + if (validate) { + if (isEmptyValue(value, 'date') && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + + if (!isEmptyValue(value, 'date')) { + var dateObject; + + if (value instanceof Date) { + dateObject = value; + } else { + dateObject = new Date(value); + } + + rules.type(rule, dateObject, source, errors, options); + + if (dateObject) { + rules.range(rule, dateObject.getTime(), source, errors, options); + } + } + } + + callback(errors); +}; + +var required = function required(rule, value, callback, source, options) { + var errors = []; + var type = Array.isArray(value) ? 'array' : typeof value; + rules.required(rule, value, source, errors, options, type); + callback(errors); +}; + +var type = function type(rule, value, callback, source, options) { + var ruleType = rule.type; + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value, ruleType) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options, ruleType); + + if (!isEmptyValue(value, ruleType)) { + rules.type(rule, value, source, errors, options); + } + } + + callback(errors); +}; + +var any = function any(rule, value, callback, source, options) { + var errors = []; + var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); + + if (validate) { + if (isEmptyValue(value) && !rule.required) { + return callback(); + } + + rules.required(rule, value, source, errors, options); + } + + callback(errors); +}; + +var validators = { + string: string, + method: method, + number: number, + "boolean": _boolean, + regexp: regexp, + integer: integer, + "float": floatFn, + array: array, + object: object, + "enum": enumerable, + pattern: pattern, + date: date, + url: type, + hex: type, + email: type, + required: required, + any: any +}; + +function newMessages() { + return { + "default": 'Validation error on field %s', + required: '%s is required', + "enum": '%s must be one of %s', + whitespace: '%s cannot be empty', + date: { + format: '%s date %s is invalid for format %s', + parse: '%s date could not be parsed, %s is invalid ', + invalid: '%s date %s is invalid' + }, + types: { + string: '%s is not a %s', + method: '%s is not a %s (function)', + array: '%s is not an %s', + object: '%s is not an %s', + number: '%s is not a %s', + date: '%s is not a %s', + "boolean": '%s is not a %s', + integer: '%s is not an %s', + "float": '%s is not a %s', + regexp: '%s is not a valid %s', + email: '%s is not a valid %s', + url: '%s is not a valid %s', + hex: '%s is not a valid %s' + }, + string: { + len: '%s must be exactly %s characters', + min: '%s must be at least %s characters', + max: '%s cannot be longer than %s characters', + range: '%s must be between %s and %s characters' + }, + number: { + len: '%s must equal %s', + min: '%s cannot be less than %s', + max: '%s cannot be greater than %s', + range: '%s must be between %s and %s' + }, + array: { + len: '%s must be exactly %s in length', + min: '%s cannot be less than %s in length', + max: '%s cannot be greater than %s in length', + range: '%s must be between %s and %s in length' + }, + pattern: { + mismatch: '%s value %s does not match pattern %s' + }, + clone: function clone() { + var cloned = JSON.parse(JSON.stringify(this)); + cloned.clone = this.clone; + return cloned; + } + }; +} +var messages = newMessages(); + +/** + * Encapsulates a validation schema. + * + * @param descriptor An object declaring validation rules + * for this schema. + */ + +var Schema = /*#__PURE__*/function () { + // ========================= Static ========================= + // ======================== Instance ======================== + function Schema(descriptor) { + this.rules = null; + this._messages = messages; + this.define(descriptor); + } + + var _proto = Schema.prototype; + + _proto.define = function define(rules) { + var _this = this; + + if (!rules) { + throw new Error('Cannot configure a schema with no rules'); + } + + if (typeof rules !== 'object' || Array.isArray(rules)) { + throw new Error('Rules must be an object'); + } + + this.rules = {}; + Object.keys(rules).forEach(function (name) { + var item = rules[name]; + _this.rules[name] = Array.isArray(item) ? item : [item]; + }); + }; + + _proto.messages = function messages(_messages) { + if (_messages) { + this._messages = deepMerge(newMessages(), _messages); + } + + return this._messages; + }; + + _proto.validate = function validate(source_, o, oc) { + var _this2 = this; + + if (o === void 0) { + o = {}; + } + + if (oc === void 0) { + oc = function oc() {}; + } + + var source = source_; + var options = o; + var callback = oc; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + if (!this.rules || Object.keys(this.rules).length === 0) { + if (callback) { + callback(null, source); + } + + return Promise.resolve(source); + } + + function complete(results) { + var errors = []; + var fields = {}; + + function add(e) { + if (Array.isArray(e)) { + var _errors; + + errors = (_errors = errors).concat.apply(_errors, e); + } else { + errors.push(e); + } + } + + for (var i = 0; i < results.length; i++) { + add(results[i]); + } + + if (!errors.length) { + callback(null, source); + } else { + fields = convertFieldsError(errors); + callback(errors, fields); + } + } + + if (options.messages) { + var messages$1 = this.messages(); + + if (messages$1 === messages) { + messages$1 = newMessages(); + } + + deepMerge(messages$1, options.messages); + options.messages = messages$1; + } else { + options.messages = this.messages(); + } + + var series = {}; + var keys = options.keys || Object.keys(this.rules); + keys.forEach(function (z) { + var arr = _this2.rules[z]; + var value = source[z]; + arr.forEach(function (r) { + var rule = r; + + if (typeof rule.transform === 'function') { + if (source === source_) { + source = _extends({}, source); + } + + value = source[z] = rule.transform(value); + } + + if (typeof rule === 'function') { + rule = { + validator: rule + }; + } else { + rule = _extends({}, rule); + } // Fill validator. Skip if nothing need to validate + + + rule.validator = _this2.getValidationMethod(rule); + + if (!rule.validator) { + return; + } + + rule.field = z; + rule.fullField = rule.fullField || z; + rule.type = _this2.getType(rule); + series[z] = series[z] || []; + series[z].push({ + rule: rule, + value: value, + source: source, + field: z + }); + }); + }); + var errorFields = {}; + return asyncMap(series, options, function (data, doIt) { + var rule = data.rule; + var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object'); + deep = deep && (rule.required || !rule.required && data.value); + rule.field = data.field; + + function addFullField(key, schema) { + return _extends({}, schema, { + fullField: rule.fullField + "." + key, + fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key] + }); + } + + function cb(e) { + if (e === void 0) { + e = []; + } + + var errorList = Array.isArray(e) ? e : [e]; + + if (!options.suppressWarning && errorList.length) { + Schema.warning('async-validator:', errorList); + } + + if (errorList.length && rule.message !== undefined) { + errorList = [].concat(rule.message); + } // Fill error info + + + var filledErrors = errorList.map(complementError(rule, source)); + + if (options.first && filledErrors.length) { + errorFields[rule.field] = 1; + return doIt(filledErrors); + } + + if (!deep) { + doIt(filledErrors); + } else { + // if rule is required but the target object + // does not exist fail at the rule level and don't + // go deeper + if (rule.required && !data.value) { + if (rule.message !== undefined) { + filledErrors = [].concat(rule.message).map(complementError(rule, source)); + } else if (options.error) { + filledErrors = [options.error(rule, format(options.messages.required, rule.field))]; + } + + return doIt(filledErrors); + } + + var fieldsSchema = {}; + + if (rule.defaultField) { + Object.keys(data.value).map(function (key) { + fieldsSchema[key] = rule.defaultField; + }); + } + + fieldsSchema = _extends({}, fieldsSchema, data.rule.fields); + var paredFieldsSchema = {}; + Object.keys(fieldsSchema).forEach(function (field) { + var fieldSchema = fieldsSchema[field]; + var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema]; + paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field)); + }); + var schema = new Schema(paredFieldsSchema); + schema.messages(options.messages); + + if (data.rule.options) { + data.rule.options.messages = options.messages; + data.rule.options.error = options.error; + } + + schema.validate(data.value, data.rule.options || options, function (errs) { + var finalErrors = []; + + if (filledErrors && filledErrors.length) { + finalErrors.push.apply(finalErrors, filledErrors); + } + + if (errs && errs.length) { + finalErrors.push.apply(finalErrors, errs); + } + + doIt(finalErrors.length ? finalErrors : null); + }); + } + } + + var res; + + if (rule.asyncValidator) { + res = rule.asyncValidator(rule, data.value, cb, data.source, options); + } else if (rule.validator) { + try { + res = rule.validator(rule, data.value, cb, data.source, options); + } catch (error) { + console.error == null ? void 0 : console.error(error); // rethrow to report error + + if (!options.suppressValidatorError) { + setTimeout(function () { + throw error; + }, 0); + } + + cb(error.message); + } + + if (res === true) { + cb(); + } else if (res === false) { + cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + " fails"); + } else if (res instanceof Array) { + cb(res); + } else if (res instanceof Error) { + cb(res.message); + } + } + + if (res && res.then) { + res.then(function () { + return cb(); + }, function (e) { + return cb(e); + }); + } + }, function (results) { + complete(results); + }, source); + }; + + _proto.getType = function getType(rule) { + if (rule.type === undefined && rule.pattern instanceof RegExp) { + rule.type = 'pattern'; + } + + if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) { + throw new Error(format('Unknown rule type %s', rule.type)); + } + + return rule.type || 'string'; + }; + + _proto.getValidationMethod = function getValidationMethod(rule) { + if (typeof rule.validator === 'function') { + return rule.validator; + } + + var keys = Object.keys(rule); + var messageIndex = keys.indexOf('message'); + + if (messageIndex !== -1) { + keys.splice(messageIndex, 1); + } + + if (keys.length === 1 && keys[0] === 'required') { + return validators.required; + } + + return validators[this.getType(rule)] || undefined; + }; + + return Schema; +}(); + +Schema.register = function register(type, validator) { + if (typeof validator !== 'function') { + throw new Error('Cannot register a validator by type, validator is not a function'); + } + + validators[type] = validator; +}; + +Schema.warning = warning; +Schema.messages = messages; +Schema.validators = validators; + +exports["default"] = Schema; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/async-validator/package.json b/.output/server/node_modules/async-validator/package.json new file mode 100644 index 00000000..7a193ca8 --- /dev/null +++ b/.output/server/node_modules/async-validator/package.json @@ -0,0 +1,48 @@ +{ + "name": "async-validator", + "description": "validate form asynchronous", + "version": "4.2.5", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "validator", + "validate", + "async" + ], + "homepage": "https://github.com/yiminghe/async-validator", + "bugs": { + "url": "https://github.com/yiminghe/async-validator/issues" + }, + "repository": { + "type": "git", + "url": "git@github.com:yiminghe/async-validator.git" + }, + "dependencies": {}, + "devDependencies": { + "@babel/core": "^7.15.0", + "@babel/node": "^7.14.9", + "@babel/preset-env": "^7.8.7", + "@babel/preset-typescript": "^7.13.0", + "@pika/pack": "^0.5.0", + "@types/jest": "27.x", + "babel-jest": "27.x", + "coveralls": "^2.13.1", + "jest": "27.x", + "lint-staged": "^7.2.0", + "np": "7.x", + "pika-plugin-build-web-babel": "^0.10.0", + "pika-plugin-ts-types": "0.1.x", + "pre-commit": "^1.2.2", + "prettier": "^1.11.1", + "ts-node": "^10.8.1", + "typescript": "^4.3.2" + }, + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} \ No newline at end of file diff --git a/.output/server/node_modules/asynckit/index.js b/.output/server/node_modules/asynckit/index.js new file mode 100644 index 00000000..455f9454 --- /dev/null +++ b/.output/server/node_modules/asynckit/index.js @@ -0,0 +1,6 @@ +module.exports = +{ + parallel : require('./parallel.js'), + serial : require('./serial.js'), + serialOrdered : require('./serialOrdered.js') +}; diff --git a/.output/server/node_modules/asynckit/lib/abort.js b/.output/server/node_modules/asynckit/lib/abort.js new file mode 100644 index 00000000..114367e5 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/abort.js @@ -0,0 +1,29 @@ +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} diff --git a/.output/server/node_modules/asynckit/lib/async.js b/.output/server/node_modules/asynckit/lib/async.js new file mode 100644 index 00000000..7f1288a4 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/async.js @@ -0,0 +1,34 @@ +var defer = require('./defer.js'); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} diff --git a/.output/server/node_modules/asynckit/lib/defer.js b/.output/server/node_modules/asynckit/lib/defer.js new file mode 100644 index 00000000..b67110c7 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/defer.js @@ -0,0 +1,26 @@ +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} diff --git a/.output/server/node_modules/asynckit/lib/iterate.js b/.output/server/node_modules/asynckit/lib/iterate.js new file mode 100644 index 00000000..5d2839a5 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/iterate.js @@ -0,0 +1,75 @@ +var async = require('./async.js') + , abort = require('./abort.js') + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} diff --git a/.output/server/node_modules/asynckit/lib/state.js b/.output/server/node_modules/asynckit/lib/state.js new file mode 100644 index 00000000..cbea7ad8 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/state.js @@ -0,0 +1,37 @@ +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} diff --git a/.output/server/node_modules/asynckit/lib/terminator.js b/.output/server/node_modules/asynckit/lib/terminator.js new file mode 100644 index 00000000..d6eb9921 --- /dev/null +++ b/.output/server/node_modules/asynckit/lib/terminator.js @@ -0,0 +1,29 @@ +var abort = require('./abort.js') + , async = require('./async.js') + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} diff --git a/.output/server/node_modules/asynckit/package.json b/.output/server/node_modules/asynckit/package.json new file mode 100644 index 00000000..78537385 --- /dev/null +++ b/.output/server/node_modules/asynckit/package.json @@ -0,0 +1,63 @@ +{ + "name": "asynckit", + "version": "0.4.0", + "description": "Minimal async jobs utility library, with streams support", + "main": "index.js", + "scripts": { + "clean": "rimraf coverage", + "lint": "eslint *.js lib/*.js test/*.js", + "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec", + "win-test": "tape test/test-*.js", + "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec", + "report": "istanbul report", + "size": "browserify index.js | size-table asynckit", + "debug": "tape test/test-*.js" + }, + "pre-commit": [ + "clean", + "lint", + "test", + "browser", + "report", + "size" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/alexindigo/asynckit.git" + }, + "keywords": [ + "async", + "jobs", + "parallel", + "serial", + "iterator", + "array", + "object", + "stream", + "destroy", + "terminate", + "abort" + ], + "author": "Alex Indigo <iam@alexindigo.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/alexindigo/asynckit/issues" + }, + "homepage": "https://github.com/alexindigo/asynckit#readme", + "devDependencies": { + "browserify": "^13.0.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^2.11.9", + "eslint": "^2.9.0", + "istanbul": "^0.4.3", + "obake": "^0.1.2", + "phantomjs-prebuilt": "^2.1.7", + "pre-commit": "^1.1.3", + "reamde": "^1.1.0", + "rimraf": "^2.5.2", + "size-table": "^0.2.0", + "tap-spec": "^4.1.1", + "tape": "^4.5.1" + }, + "dependencies": {} +} \ No newline at end of file diff --git a/.output/server/node_modules/asynckit/parallel.js b/.output/server/node_modules/asynckit/parallel.js new file mode 100644 index 00000000..3c50344d --- /dev/null +++ b/.output/server/node_modules/asynckit/parallel.js @@ -0,0 +1,43 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} diff --git a/.output/server/node_modules/asynckit/serial.js b/.output/server/node_modules/asynckit/serial.js new file mode 100644 index 00000000..6cd949a6 --- /dev/null +++ b/.output/server/node_modules/asynckit/serial.js @@ -0,0 +1,17 @@ +var serialOrdered = require('./serialOrdered.js'); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} diff --git a/.output/server/node_modules/asynckit/serialOrdered.js b/.output/server/node_modules/asynckit/serialOrdered.js new file mode 100644 index 00000000..607eafea --- /dev/null +++ b/.output/server/node_modules/asynckit/serialOrdered.js @@ -0,0 +1,75 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} diff --git a/.output/server/node_modules/axios/index.js b/.output/server/node_modules/axios/index.js new file mode 100644 index 00000000..fba3990d --- /dev/null +++ b/.output/server/node_modules/axios/index.js @@ -0,0 +1,43 @@ +import axios from './lib/axios.js'; + +// This module is intended to unwrap Axios default export as named. +// Keep top-level export same with static properties +// so that it can keep same with es module or cjs +const { + Axios, + AxiosError, + CanceledError, + isCancel, + CancelToken, + VERSION, + all, + Cancel, + isAxiosError, + spread, + toFormData, + AxiosHeaders, + HttpStatusCode, + formToJSON, + getAdapter, + mergeConfig +} = axios; + +export { + axios as default, + Axios, + AxiosError, + CanceledError, + isCancel, + CancelToken, + VERSION, + all, + Cancel, + isAxiosError, + spread, + toFormData, + AxiosHeaders, + HttpStatusCode, + formToJSON, + getAdapter, + mergeConfig +} diff --git a/.output/server/node_modules/axios/lib/adapters/adapters.js b/.output/server/node_modules/axios/lib/adapters/adapters.js new file mode 100644 index 00000000..b466dd51 --- /dev/null +++ b/.output/server/node_modules/axios/lib/adapters/adapters.js @@ -0,0 +1,79 @@ +import utils from '../utils.js'; +import httpAdapter from './http.js'; +import xhrAdapter from './xhr.js'; +import fetchAdapter from './fetch.js'; +import AxiosError from "../core/AxiosError.js"; + +const knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: fetchAdapter +} + +utils.forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', {value}); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', {value}); + } +}); + +const renderReason = (reason) => `- ${reason}`; + +const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false; + +export default { + getAdapter: (adapters) => { + adapters = utils.isArray(adapters) ? adapters : [adapters]; + + const {length} = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new AxiosError(`Unknown adapter '${id}'`); + } + } + + if (adapter) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + + const reasons = Object.entries(rejectedReasons) + .map(([id, state]) => `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length ? + (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : + 'as no adapter specified'; + + throw new AxiosError( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; + }, + adapters: knownAdapters +} diff --git a/.output/server/node_modules/axios/lib/adapters/fetch.js b/.output/server/node_modules/axios/lib/adapters/fetch.js new file mode 100644 index 00000000..0e76cddf --- /dev/null +++ b/.output/server/node_modules/axios/lib/adapters/fetch.js @@ -0,0 +1,229 @@ +import platform from "../platform/index.js"; +import utils from "../utils.js"; +import AxiosError from "../core/AxiosError.js"; +import composeSignals from "../helpers/composeSignals.js"; +import {trackStream} from "../helpers/trackStream.js"; +import AxiosHeaders from "../core/AxiosHeaders.js"; +import {progressEventReducer, progressEventDecorator, asyncDecorator} from "../helpers/progressEventReducer.js"; +import resolveConfig from "../helpers/resolveConfig.js"; +import settle from "../core/settle.js"; + +const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function'; +const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function'; + +// used only inside the fetch adapter +const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? + ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : + async (str) => new Uint8Array(await new Response(str).arrayBuffer()) +); + +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false + } +} + +const supportsRequestStream = isReadableStreamSupported && test(() => { + let duplexAccessed = false; + + const hasContentType = new Request(platform.origin, { + body: new ReadableStream(), + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + return duplexAccessed && !hasContentType; +}); + +const DEFAULT_CHUNK_SIZE = 64 * 1024; + +const supportsResponseStream = isReadableStreamSupported && + test(() => utils.isReadableStream(new Response('').body)); + + +const resolvers = { + stream: supportsResponseStream && ((res) => res.body) +}; + +isFetchSupported && (((res) => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { + !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() : + (_, config) => { + throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); + }) + }); +})(new Response)); + +const getBodyLength = async (body) => { + if (body == null) { + return 0; + } + + if(utils.isBlob(body)) { + return body.size; + } + + if(utils.isSpecCompliantForm(body)) { + const _request = new Request(platform.origin, { + method: 'POST', + body, + }); + return (await _request.arrayBuffer()).byteLength; + } + + if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) { + return body.byteLength; + } + + if(utils.isURLSearchParams(body)) { + body = body + ''; + } + + if(utils.isString(body)) { + return (await encodeText(body)).byteLength; + } +} + +const resolveBodyLength = async (headers, body) => { + const length = utils.toFiniteNumber(headers.getContentLength()); + + return length == null ? getBodyLength(body) : length; +} + +export default isFetchSupported && (async (config) => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions + } = resolveConfig(config); + + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + + let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout); + + let request; + + const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => { + composedSignal.unsubscribe(); + }); + + let requestContentLength; + + try { + if ( + onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && + (requestContentLength = await resolveBodyLength(headers, data)) !== 0 + ) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: "half" + }); + + let contentTypeHeader; + + if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader) + } + + if (_request.body) { + const [onProgress, flush] = progressEventDecorator( + requestContentLength, + progressEventReducer(asyncDecorator(onUploadProgress)) + ); + + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + } + + if (!utils.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = "credentials" in Request.prototype; + request = new Request(url, { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: "half", + credentials: isCredentialsSupported ? withCredentials : undefined + }); + + let response = await fetch(request, fetchOptions); + + const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + + if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) { + const options = {}; + + ['status', 'statusText', 'headers'].forEach(prop => { + options[prop] = response[prop]; + }); + + const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length')); + + const [onProgress, flush] = onDownloadProgress && progressEventDecorator( + responseContentLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true) + ) || []; + + response = new Response( + trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + unsubscribe && unsubscribe(); + }), + options + ); + } + + responseType = responseType || 'text'; + + let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config); + + !isStreamResponse && unsubscribe && unsubscribe(); + + return await new Promise((resolve, reject) => { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders.from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request + }) + }) + } catch (err) { + unsubscribe && unsubscribe(); + + if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { + throw Object.assign( + new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request), + { + cause: err.cause || err + } + ) + } + + throw AxiosError.from(err, err && err.code, config, request); + } +}); + + diff --git a/.output/server/node_modules/axios/lib/adapters/http.js b/.output/server/node_modules/axios/lib/adapters/http.js new file mode 100644 index 00000000..0577bf0b --- /dev/null +++ b/.output/server/node_modules/axios/lib/adapters/http.js @@ -0,0 +1,695 @@ +'use strict'; + +import utils from './../utils.js'; +import settle from './../core/settle.js'; +import buildFullPath from '../core/buildFullPath.js'; +import buildURL from './../helpers/buildURL.js'; +import proxyFromEnv from 'proxy-from-env'; +import http from 'http'; +import https from 'https'; +import util from 'util'; +import followRedirects from 'follow-redirects'; +import zlib from 'zlib'; +import {VERSION} from '../env/data.js'; +import transitionalDefaults from '../defaults/transitional.js'; +import AxiosError from '../core/AxiosError.js'; +import CanceledError from '../cancel/CanceledError.js'; +import platform from '../platform/index.js'; +import fromDataURI from '../helpers/fromDataURI.js'; +import stream from 'stream'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import AxiosTransformStream from '../helpers/AxiosTransformStream.js'; +import {EventEmitter} from 'events'; +import formDataToStream from "../helpers/formDataToStream.js"; +import readBlob from "../helpers/readBlob.js"; +import ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js'; +import callbackify from "../helpers/callbackify.js"; +import {progressEventReducer, progressEventDecorator, asyncDecorator} from "../helpers/progressEventReducer.js"; + +const zlibOptions = { + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH +}; + +const brotliOptions = { + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH +} + +const isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress); + +const {http: httpFollow, https: httpsFollow} = followRedirects; + +const isHttps = /https:?/; + +const supportedProtocols = platform.protocols.map(protocol => { + return protocol + ':'; +}); + +const flushOnFinish = (stream, [throttled, flush]) => { + stream + .on('end', flush) + .on('error', flush); + + return throttled; +} + +/** + * If the proxy or config beforeRedirects functions are defined, call them with the options + * object. + * + * @param {Object<string, any>} options - The options object that was passed to the request. + * + * @returns {Object<string, any>} + */ +function dispatchBeforeRedirect(options, responseDetails) { + if (options.beforeRedirects.proxy) { + options.beforeRedirects.proxy(options); + } + if (options.beforeRedirects.config) { + options.beforeRedirects.config(options, responseDetails); + } +} + +/** + * If the proxy or config afterRedirects functions are defined, call them with the options + * + * @param {http.ClientRequestArgs} options + * @param {AxiosProxyConfig} configProxy configuration from Axios options object + * @param {string} location + * + * @returns {http.ClientRequestArgs} + */ +function setProxy(options, configProxy, location) { + let proxy = configProxy; + if (!proxy && proxy !== false) { + const proxyUrl = proxyFromEnv.getProxyForUrl(location); + if (proxyUrl) { + proxy = new URL(proxyUrl); + } + } + if (proxy) { + // Basic proxy authorization + if (proxy.username) { + proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); + } + + if (proxy.auth) { + // Support proxy auth object form + if (proxy.auth.username || proxy.auth.password) { + proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); + } + const base64 = Buffer + .from(proxy.auth, 'utf8') + .toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + + options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); + const proxyHost = proxy.hostname || proxy.host; + options.hostname = proxyHost; + // Replace 'host' since options is not a URL object + options.host = proxyHost; + options.port = proxy.port; + options.path = location; + if (proxy.protocol) { + options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`; + } + } + + options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { + // Configure proxy for redirected request, passing the original config proxy to apply + // the exact same logic as if the redirected request was performed by axios directly. + setProxy(redirectOptions, configProxy, redirectOptions.href); + }; +} + +const isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process'; + +// temporary hotfix + +const wrapAsync = (asyncExecutor) => { + return new Promise((resolve, reject) => { + let onDone; + let isDone; + + const done = (value, isRejected) => { + if (isDone) return; + isDone = true; + onDone && onDone(value, isRejected); + } + + const _resolve = (value) => { + done(value); + resolve(value); + }; + + const _reject = (reason) => { + done(reason, true); + reject(reason); + } + + asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject); + }) +}; + +const resolveFamily = ({address, family}) => { + if (!utils.isString(address)) { + throw TypeError('address must be a string'); + } + return ({ + address, + family: family || (address.indexOf('.') < 0 ? 6 : 4) + }); +} + +const buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family}); + +/*eslint consistent-return:0*/ +export default isHttpAdapterSupported && function httpAdapter(config) { + return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { + let {data, lookup, family} = config; + const {responseType, responseEncoding} = config; + const method = config.method.toUpperCase(); + let isDone; + let rejected = false; + let req; + + if (lookup) { + const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]); + // hotfix to support opt.all option which is required for node 20.x + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + + const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + } + } + + // temporary internal emitter until the AxiosRequest class will be implemented + const emitter = new EventEmitter(); + + const onFinished = () => { + if (config.cancelToken) { + config.cancelToken.unsubscribe(abort); + } + + if (config.signal) { + config.signal.removeEventListener('abort', abort); + } + + emitter.removeAllListeners(); + } + + onDone((value, isRejected) => { + isDone = true; + if (isRejected) { + rejected = true; + onFinished(); + } + }); + + function abort(reason) { + emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason); + } + + emitter.once('abort', reject); + + if (config.cancelToken || config.signal) { + config.cancelToken && config.cancelToken.subscribe(abort); + if (config.signal) { + config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + } + } + + // Parse url + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined); + const protocol = parsed.protocol || supportedProtocols[0]; + + if (protocol === 'data:') { + let convertedData; + + if (method !== 'GET') { + return settle(resolve, reject, { + status: 405, + statusText: 'method not allowed', + headers: {}, + config + }); + } + + try { + convertedData = fromDataURI(config.url, responseType === 'blob', { + Blob: config.env && config.env.Blob + }); + } catch (err) { + throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); + } + + if (responseType === 'text') { + convertedData = convertedData.toString(responseEncoding); + + if (!responseEncoding || responseEncoding === 'utf8') { + convertedData = utils.stripBOM(convertedData); + } + } else if (responseType === 'stream') { + convertedData = stream.Readable.from(convertedData); + } + + return settle(resolve, reject, { + data: convertedData, + status: 200, + statusText: 'OK', + headers: new AxiosHeaders(), + config + }); + } + + if (supportedProtocols.indexOf(protocol) === -1) { + return reject(new AxiosError( + 'Unsupported protocol ' + protocol, + AxiosError.ERR_BAD_REQUEST, + config + )); + } + + const headers = AxiosHeaders.from(config.headers).normalize(); + + // Set User-Agent (required by some servers) + // See https://github.com/axios/axios/issues/69 + // User-Agent is specified; handle case where no UA header is desired + // Only set header if it hasn't been set in config + headers.set('User-Agent', 'axios/' + VERSION, false); + + const {onUploadProgress, onDownloadProgress} = config; + const maxRate = config.maxRate; + let maxUploadRate = undefined; + let maxDownloadRate = undefined; + + // support for spec compliant FormData objects + if (utils.isSpecCompliantForm(data)) { + const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); + + data = formDataToStream(data, (formHeaders) => { + headers.set(formHeaders); + }, { + tag: `axios-${VERSION}-boundary`, + boundary: userBoundary && userBoundary[1] || undefined + }); + // support for https://www.npmjs.com/package/form-data api + } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) { + headers.set(data.getHeaders()); + + if (!headers.hasContentLength()) { + try { + const knownLength = await util.promisify(data.getLength).call(data); + Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); + /*eslint no-empty:0*/ + } catch (e) { + } + } + } else if (utils.isBlob(data) || utils.isFile(data)) { + data.size && headers.setContentType(data.type || 'application/octet-stream'); + headers.setContentLength(data.size || 0); + data = stream.Readable.from(readBlob(data)); + } else if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject(new AxiosError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + AxiosError.ERR_BAD_REQUEST, + config + )); + } + + // Add Content-Length header if data exists + headers.setContentLength(data.length, false); + + if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + return reject(new AxiosError( + 'Request body larger than maxBodyLength limit', + AxiosError.ERR_BAD_REQUEST, + config + )); + } + } + + const contentLength = utils.toFiniteNumber(headers.getContentLength()); + + if (utils.isArray(maxRate)) { + maxUploadRate = maxRate[0]; + maxDownloadRate = maxRate[1]; + } else { + maxUploadRate = maxDownloadRate = maxRate; + } + + if (data && (onUploadProgress || maxUploadRate)) { + if (!utils.isStream(data)) { + data = stream.Readable.from(data, {objectMode: false}); + } + + data = stream.pipeline([data, new AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxUploadRate) + })], utils.noop); + + onUploadProgress && data.on('progress', flushOnFinish( + data, + progressEventDecorator( + contentLength, + progressEventReducer(asyncDecorator(onUploadProgress), false, 3) + ) + )); + } + + // HTTP basic authentication + let auth = undefined; + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password || ''; + auth = username + ':' + password; + } + + if (!auth && parsed.username) { + const urlUsername = parsed.username; + const urlPassword = parsed.password; + auth = urlUsername + ':' + urlPassword; + } + + auth && headers.delete('authorization'); + + let path; + + try { + path = buildURL( + parsed.pathname + parsed.search, + config.params, + config.paramsSerializer + ).replace(/^\?/, ''); + } catch (err) { + const customErr = new Error(err.message); + customErr.config = config; + customErr.url = config.url; + customErr.exists = true; + return reject(customErr); + } + + headers.set( + 'Accept-Encoding', + 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false + ); + + const options = { + path, + method: method, + headers: headers.toJSON(), + agents: { http: config.httpAgent, https: config.httpsAgent }, + auth, + protocol, + family, + beforeRedirect: dispatchBeforeRedirect, + beforeRedirects: {} + }; + + // cacheable-lookup integration hotfix + !utils.isUndefined(lookup) && (options.lookup = lookup); + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname.startsWith("[") ? parsed.hostname.slice(1, -1) : parsed.hostname; + options.port = parsed.port; + setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); + } + + let transport; + const isHttpsRequest = isHttps.test(options.protocol); + options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsRequest ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + if (config.beforeRedirect) { + options.beforeRedirects.config = config.beforeRedirect; + } + transport = isHttpsRequest ? httpsFollow : httpFollow; + } + + if (config.maxBodyLength > -1) { + options.maxBodyLength = config.maxBodyLength; + } else { + // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited + options.maxBodyLength = Infinity; + } + + if (config.insecureHTTPParser) { + options.insecureHTTPParser = config.insecureHTTPParser; + } + + // Create the request + req = transport.request(options, function handleResponse(res) { + if (req.destroyed) return; + + const streams = [res]; + + const responseLength = +res.headers['content-length']; + + if (onDownloadProgress || maxDownloadRate) { + const transformStream = new AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxDownloadRate) + }); + + onDownloadProgress && transformStream.on('progress', flushOnFinish( + transformStream, + progressEventDecorator( + responseLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true, 3) + ) + )); + + streams.push(transformStream); + } + + // decompress the response body transparently if required + let responseStream = res; + + // return the last request in case of redirects + const lastRequest = res.req || req; + + // if decompress disabled we should not decompress + if (config.decompress !== false && res.headers['content-encoding']) { + // if no content, but headers still say that it is encoded, + // remove the header not confuse downstream operations + if (method === 'HEAD' || res.statusCode === 204) { + delete res.headers['content-encoding']; + } + + switch ((res.headers['content-encoding'] || '').toLowerCase()) { + /*eslint default-case:0*/ + case 'gzip': + case 'x-gzip': + case 'compress': + case 'x-compress': + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'deflate': + streams.push(new ZlibHeaderTransformStream()); + + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'br': + if (isBrotliSupported) { + streams.push(zlib.createBrotliDecompress(brotliOptions)); + delete res.headers['content-encoding']; + } + } + } + + responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0]; + + const offListeners = stream.finished(responseStream, () => { + offListeners(); + onFinished(); + }); + + const response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: new AxiosHeaders(res.headers), + config, + request: lastRequest + }; + + if (responseType === 'stream') { + response.data = responseStream; + settle(resolve, reject, response); + } else { + const responseBuffer = []; + let totalResponseBytes = 0; + + responseStream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + totalResponseBytes += chunk.length; + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + // stream.destroy() emit aborted event before calling reject() on Node.js v16 + rejected = true; + responseStream.destroy(); + reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', + AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); + } + }); + + responseStream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } + + const err = new AxiosError( + 'stream has been aborted', + AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ); + responseStream.destroy(err); + reject(err); + }); + + responseStream.on('error', function handleStreamError(err) { + if (req.destroyed) return; + reject(AxiosError.from(err, null, config, lastRequest)); + }); + + responseStream.on('end', function handleStreamEnd() { + try { + let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); + if (responseType !== 'arraybuffer') { + responseData = responseData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + responseData = utils.stripBOM(responseData); + } + } + response.data = responseData; + } catch (err) { + return reject(AxiosError.from(err, null, config, response.request, response)); + } + settle(resolve, reject, response); + }); + } + + emitter.once('abort', err => { + if (!responseStream.destroyed) { + responseStream.emit('error', err); + responseStream.destroy(); + } + }); + }); + + emitter.once('abort', err => { + reject(err); + req.destroy(err); + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + // @todo remove + // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return; + reject(AxiosError.from(err, null, config, req)); + }); + + // set tcp keep alive to prevent drop connection by peer + req.on('socket', function handleRequestSocket(socket) { + // default interval of sending ack packet is 1 minute + socket.setKeepAlive(true, 1000 * 60); + }); + + // Handle request timeout + if (config.timeout) { + // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. + const timeout = parseInt(config.timeout, 10); + + if (Number.isNaN(timeout)) { + reject(new AxiosError( + 'error trying to parse `config.timeout` to int', + AxiosError.ERR_BAD_OPTION_VALUE, + config, + req + )); + + return; + } + + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devouring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(timeout, function handleRequestTimeout() { + if (isDone) return; + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + req + )); + abort(); + }); + } + + + // Send the request + if (utils.isStream(data)) { + let ended = false; + let errored = false; + + data.on('end', () => { + ended = true; + }); + + data.once('error', err => { + errored = true; + req.destroy(err); + }); + + data.on('close', () => { + if (!ended && !errored) { + abort(new CanceledError('Request stream has been aborted', config, req)); + } + }); + + data.pipe(req); + } else { + req.end(data); + } + }); +} + +export const __setProxy = setProxy; diff --git a/.output/server/node_modules/axios/lib/adapters/xhr.js b/.output/server/node_modules/axios/lib/adapters/xhr.js new file mode 100644 index 00000000..a7ee548c --- /dev/null +++ b/.output/server/node_modules/axios/lib/adapters/xhr.js @@ -0,0 +1,197 @@ +import utils from './../utils.js'; +import settle from './../core/settle.js'; +import transitionalDefaults from '../defaults/transitional.js'; +import AxiosError from '../core/AxiosError.js'; +import CanceledError from '../cancel/CanceledError.js'; +import parseProtocol from '../helpers/parseProtocol.js'; +import platform from '../platform/index.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import {progressEventReducer} from '../helpers/progressEventReducer.js'; +import resolveConfig from "../helpers/resolveConfig.js"; + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +export default isXHRAdapterSupported && function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = AxiosHeaders.from(_config.headers).normalize(); + let {responseType, onUploadProgress, onDownloadProgress} = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + + let request = new XMLHttpRequest(); + + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject(new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + request)); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true)); + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress)); + + request.upload.addEventListener('progress', uploadThrottled); + + request.upload.addEventListener('loadend', flushUpload); + } + + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = cancel => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = parseProtocol(_config.url); + + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); + return; + } + + + // Send the request + request.send(requestData || null); + }); +} diff --git a/.output/server/node_modules/axios/lib/axios.js b/.output/server/node_modules/axios/lib/axios.js new file mode 100644 index 00000000..873f246d --- /dev/null +++ b/.output/server/node_modules/axios/lib/axios.js @@ -0,0 +1,89 @@ +'use strict'; + +import utils from './utils.js'; +import bind from './helpers/bind.js'; +import Axios from './core/Axios.js'; +import mergeConfig from './core/mergeConfig.js'; +import defaults from './defaults/index.js'; +import formDataToJSON from './helpers/formDataToJSON.js'; +import CanceledError from './cancel/CanceledError.js'; +import CancelToken from './cancel/CancelToken.js'; +import isCancel from './cancel/isCancel.js'; +import {VERSION} from './env/data.js'; +import toFormData from './helpers/toFormData.js'; +import AxiosError from './core/AxiosError.js'; +import spread from './helpers/spread.js'; +import isAxiosError from './helpers/isAxiosError.js'; +import AxiosHeaders from "./core/AxiosHeaders.js"; +import adapters from './adapters/adapters.js'; +import HttpStatusCode from './helpers/HttpStatusCode.js'; + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context, {allOwnKeys: true}); + + // Copy context to instance + utils.extend(instance, context, null, {allOwnKeys: true}); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; +axios.isCancel = isCancel; +axios.VERSION = VERSION; +axios.toFormData = toFormData; + +// Expose AxiosError class +axios.AxiosError = AxiosError; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = spread; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError; + +// Expose mergeConfig +axios.mergeConfig = mergeConfig; + +axios.AxiosHeaders = AxiosHeaders; + +axios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = adapters.getAdapter; + +axios.HttpStatusCode = HttpStatusCode; + +axios.default = axios; + +// this module should only have a default export +export default axios diff --git a/.output/server/node_modules/axios/lib/cancel/CancelToken.js b/.output/server/node_modules/axios/lib/cancel/CancelToken.js new file mode 100644 index 00000000..0fc20252 --- /dev/null +++ b/.output/server/node_modules/axios/lib/cancel/CancelToken.js @@ -0,0 +1,135 @@ +'use strict'; + +import CanceledError from './CanceledError.js'; + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then(cancel => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + toAbortSignal() { + const controller = new AbortController(); + + const abort = (err) => { + controller.abort(err); + }; + + this.subscribe(abort); + + controller.signal.unsubscribe = () => this.unsubscribe(abort); + + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } +} + +export default CancelToken; diff --git a/.output/server/node_modules/axios/lib/cancel/CanceledError.js b/.output/server/node_modules/axios/lib/cancel/CanceledError.js new file mode 100644 index 00000000..880066ed --- /dev/null +++ b/.output/server/node_modules/axios/lib/cancel/CanceledError.js @@ -0,0 +1,25 @@ +'use strict'; + +import AxiosError from '../core/AxiosError.js'; +import utils from '../utils.js'; + +/** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ +function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; +} + +utils.inherits(CanceledError, AxiosError, { + __CANCEL__: true +}); + +export default CanceledError; diff --git a/.output/server/node_modules/axios/lib/cancel/isCancel.js b/.output/server/node_modules/axios/lib/cancel/isCancel.js new file mode 100644 index 00000000..a444a129 --- /dev/null +++ b/.output/server/node_modules/axios/lib/cancel/isCancel.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function isCancel(value) { + return !!(value && value.__CANCEL__); +} diff --git a/.output/server/node_modules/axios/lib/core/Axios.js b/.output/server/node_modules/axios/lib/core/Axios.js new file mode 100644 index 00000000..67ba0e72 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/Axios.js @@ -0,0 +1,242 @@ +'use strict'; + +import utils from './../utils.js'; +import buildURL from '../helpers/buildURL.js'; +import InterceptorManager from './InterceptorManager.js'; +import dispatchRequest from './dispatchRequest.js'; +import mergeConfig from './mergeConfig.js'; +import buildFullPath from './buildFullPath.js'; +import validator from '../helpers/validator.js'; +import AxiosHeaders from './AxiosHeaders.js'; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy = {}; + + Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error()); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + + throw err; + } + } + + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig(this.defaults, config); + + const {transitional, paramsSerializer, headers} = config; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + + if (paramsSerializer != null) { + if (utils.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer + } + } else { + validator.assertOptions(paramsSerializer, { + encode: validators.function, + serialize: validators.function + }, true); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) { + // do nothing + } else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + + validator.assertOptions(config, { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken') + }, true); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && utils.merge( + headers.common, + headers[config.method] + ); + + headers && utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + (method) => { + delete headers[method]; + } + ); + + config.headers = AxiosHeaders.concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let 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); + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift(...requestInterceptorChain); + chain.push(...responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + i = 0; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request(mergeConfig(config || {}, { + method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url, + data + })); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +export default Axios; diff --git a/.output/server/node_modules/axios/lib/core/AxiosError.js b/.output/server/node_modules/axios/lib/core/AxiosError.js new file mode 100644 index 00000000..73da248b --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/AxiosError.js @@ -0,0 +1,103 @@ +'use strict'; + +import utils from '../utils.js'; + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ +function AxiosError(message, code, config, request, response) { + Error.call(this); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = (new Error()).stack; + } + + this.message = message; + this.name = 'AxiosError'; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status ? response.status : null; + } +} + +utils.inherits(AxiosError, Error, { + toJSON: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils.toJSONObject(this.config), + code: this.code, + status: this.status + }; + } +}); + +const prototype = AxiosError.prototype; +const descriptors = {}; + +[ + 'ERR_BAD_OPTION_VALUE', + 'ERR_BAD_OPTION', + 'ECONNABORTED', + 'ETIMEDOUT', + 'ERR_NETWORK', + 'ERR_FR_TOO_MANY_REDIRECTS', + 'ERR_DEPRECATED', + 'ERR_BAD_RESPONSE', + 'ERR_BAD_REQUEST', + 'ERR_CANCELED', + 'ERR_NOT_SUPPORT', + 'ERR_INVALID_URL' +// eslint-disable-next-line func-names +].forEach(code => { + descriptors[code] = {value: code}; +}); + +Object.defineProperties(AxiosError, descriptors); +Object.defineProperty(prototype, 'isAxiosError', {value: true}); + +// eslint-disable-next-line func-names +AxiosError.from = (error, code, config, request, response, customProps) => { + const axiosError = Object.create(prototype); + + utils.toFlatObject(error, axiosError, function filter(obj) { + return obj !== Error.prototype; + }, prop => { + return prop !== 'isAxiosError'; + }); + + AxiosError.call(axiosError, error.message, code, config, request, response); + + axiosError.cause = error; + + axiosError.name = error.name; + + customProps && Object.assign(axiosError, customProps); + + return axiosError; +}; + +export default AxiosError; diff --git a/.output/server/node_modules/axios/lib/core/AxiosHeaders.js b/.output/server/node_modules/axios/lib/core/AxiosHeaders.js new file mode 100644 index 00000000..67445815 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/AxiosHeaders.js @@ -0,0 +1,314 @@ +'use strict'; + +import utils from '../utils.js'; +import parseHeaders from '../helpers/parseHeaders.js'; + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return utils.isArray(value) ? value.map(normalizeValue) : String(value); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!utils.isString(value)) return; + + if (utils.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header.trim() + .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} + +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = utils.findKey(self, lHeader); + + if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (utils.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite) + } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils.isObject(header) && utils.isIterable(header)) { + let obj = {}, dest, key; + for (const entry of header) { + if (!utils.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + + obj[key = entry[0]] = (dest = obj[key]) ? + (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1]; + } + + setHeaders(obj, valueOrRewrite) + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = utils.findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = utils.findKey(this, header); + + return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = utils.findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + utils.forEach(this, (value, header) => { + const key = utils.findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + utils.forEach(this, (value, header) => { + value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); + } + + getSetCookie() { + return this.get("set-cookie") || []; + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = this[$internals] = (this[$internals] = { + accessors: {} + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +} + +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); + +// reserved names hotfix +utils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + } +}); + +utils.freezeMethods(AxiosHeaders); + +export default AxiosHeaders; diff --git a/.output/server/node_modules/axios/lib/core/InterceptorManager.js b/.output/server/node_modules/axios/lib/core/InterceptorManager.js new file mode 100644 index 00000000..6657a9d2 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/InterceptorManager.js @@ -0,0 +1,71 @@ +'use strict'; + +import utils from './../utils.js'; + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +export default InterceptorManager; diff --git a/.output/server/node_modules/axios/lib/core/buildFullPath.js b/.output/server/node_modules/axios/lib/core/buildFullPath.js new file mode 100644 index 00000000..3050bd64 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/buildFullPath.js @@ -0,0 +1,22 @@ +'use strict'; + +import isAbsoluteURL from '../helpers/isAbsoluteURL.js'; +import combineURLs from '../helpers/combineURLs.js'; + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +export default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + let isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} diff --git a/.output/server/node_modules/axios/lib/core/dispatchRequest.js b/.output/server/node_modules/axios/lib/core/dispatchRequest.js new file mode 100644 index 00000000..9e306aac --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/dispatchRequest.js @@ -0,0 +1,81 @@ +'use strict'; + +import transformData from './transformData.js'; +import isCancel from '../cancel/isCancel.js'; +import defaults from '../defaults/index.js'; +import CanceledError from '../cancel/CanceledError.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import adapters from "../adapters/adapters.js"; + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError(null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +export default function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call( + config, + config.transformRequest + ); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = adapters.getAdapter(config.adapter || defaults.adapter); + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + config.transformResponse, + response + ); + + response.headers = AxiosHeaders.from(response.headers); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + + return Promise.reject(reason); + }); +} diff --git a/.output/server/node_modules/axios/lib/core/mergeConfig.js b/.output/server/node_modules/axios/lib/core/mergeConfig.js new file mode 100644 index 00000000..4430546d --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/mergeConfig.js @@ -0,0 +1,106 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosHeaders from "./AxiosHeaders.js"; + +const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing; + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +export default function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, prop, caseless) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge.call({caseless}, target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + // eslint-disable-next-line consistent-return + function mergeDeepProperties(a, b, prop , caseless) { + if (!utils.isUndefined(b)) { + return getMergedValue(a, b, prop , caseless); + } else if (!utils.isUndefined(a)) { + return getMergedValue(undefined, a, prop , caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true) + }; + + utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) { + const merge = mergeMap[prop] || mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} diff --git a/.output/server/node_modules/axios/lib/core/settle.js b/.output/server/node_modules/axios/lib/core/settle.js new file mode 100644 index 00000000..ac905c43 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/settle.js @@ -0,0 +1,27 @@ +'use strict'; + +import AxiosError from './AxiosError.js'; + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +export default function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new AxiosError( + 'Request failed with status code ' + response.status, + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + response.config, + response.request, + response + )); + } +} diff --git a/.output/server/node_modules/axios/lib/core/transformData.js b/.output/server/node_modules/axios/lib/core/transformData.js new file mode 100644 index 00000000..eeb5a8a1 --- /dev/null +++ b/.output/server/node_modules/axios/lib/core/transformData.js @@ -0,0 +1,28 @@ +'use strict'; + +import utils from './../utils.js'; +import defaults from '../defaults/index.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +export default function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + + utils.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} diff --git a/.output/server/node_modules/axios/lib/defaults/index.js b/.output/server/node_modules/axios/lib/defaults/index.js new file mode 100644 index 00000000..e543fea2 --- /dev/null +++ b/.output/server/node_modules/axios/lib/defaults/index.js @@ -0,0 +1,161 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosError from '../core/AxiosError.js'; +import transitionalDefaults from './transitional.js'; +import toFormData from '../helpers/toFormData.js'; +import toURLEncodedForm from '../helpers/toURLEncodedForm.js'; +import platform from '../platform/index.js'; +import formDataToJSON from '../helpers/formDataToJSON.js'; + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + + transitional: transitionalDefaults, + + adapter: ['xhr', 'http', 'fetch'], + + transformRequest: [function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils.isObject(data); + + if (isObjectPayload && utils.isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = utils.isFormData(data); + + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + + if (utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) || + utils.isReadableStream(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + + if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + + return toFormData( + isFileList ? {'files[]': data} : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType ) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }], + + transformResponse: [function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (utils.isResponse(data) || utils.isReadableStream(data)) { + return data; + } + + if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + 'Accept': 'application/json, text/plain, */*', + 'Content-Type': undefined + } + } +}; + +utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +export default defaults; diff --git a/.output/server/node_modules/axios/lib/defaults/transitional.js b/.output/server/node_modules/axios/lib/defaults/transitional.js new file mode 100644 index 00000000..f8913319 --- /dev/null +++ b/.output/server/node_modules/axios/lib/defaults/transitional.js @@ -0,0 +1,7 @@ +'use strict'; + +export default { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false +}; diff --git a/.output/server/node_modules/axios/lib/env/data.js b/.output/server/node_modules/axios/lib/env/data.js new file mode 100644 index 00000000..3d01aec3 --- /dev/null +++ b/.output/server/node_modules/axios/lib/env/data.js @@ -0,0 +1 @@ +export const VERSION = "1.11.0"; \ No newline at end of file diff --git a/.output/server/node_modules/axios/lib/helpers/AxiosTransformStream.js b/.output/server/node_modules/axios/lib/helpers/AxiosTransformStream.js new file mode 100644 index 00000000..41400712 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/AxiosTransformStream.js @@ -0,0 +1,143 @@ +'use strict'; + +import stream from 'stream'; +import utils from '../utils.js'; + +const kInternals = Symbol('internals'); + +class AxiosTransformStream extends stream.Transform{ + constructor(options) { + options = utils.toFlatObject(options, { + maxRate: 0, + chunkSize: 64 * 1024, + minChunkSize: 100, + timeWindow: 500, + ticksRate: 2, + samplesCount: 15 + }, null, (prop, source) => { + return !utils.isUndefined(source[prop]); + }); + + super({ + readableHighWaterMark: options.chunkSize + }); + + const internals = this[kInternals] = { + timeWindow: options.timeWindow, + chunkSize: options.chunkSize, + maxRate: options.maxRate, + minChunkSize: options.minChunkSize, + bytesSeen: 0, + isCaptured: false, + notifiedBytesLoaded: 0, + ts: Date.now(), + bytes: 0, + onReadCallback: null + }; + + this.on('newListener', event => { + if (event === 'progress') { + if (!internals.isCaptured) { + internals.isCaptured = true; + } + } + }); + } + + _read(size) { + const internals = this[kInternals]; + + if (internals.onReadCallback) { + internals.onReadCallback(); + } + + return super._read(size); + } + + _transform(chunk, encoding, callback) { + const internals = this[kInternals]; + const maxRate = internals.maxRate; + + const readableHighWaterMark = this.readableHighWaterMark; + + const timeWindow = internals.timeWindow; + + const divider = 1000 / timeWindow; + const bytesThreshold = (maxRate / divider); + const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + + const pushChunk = (_chunk, _callback) => { + const bytes = Buffer.byteLength(_chunk); + internals.bytesSeen += bytes; + internals.bytes += bytes; + + internals.isCaptured && this.emit('progress', internals.bytesSeen); + + if (this.push(_chunk)) { + process.nextTick(_callback); + } else { + internals.onReadCallback = () => { + internals.onReadCallback = null; + process.nextTick(_callback); + }; + } + } + + const transformChunk = (_chunk, _callback) => { + const chunkSize = Buffer.byteLength(_chunk); + let chunkRemainder = null; + let maxChunkSize = readableHighWaterMark; + let bytesLeft; + let passed = 0; + + if (maxRate) { + const now = Date.now(); + + if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) { + internals.ts = now; + bytesLeft = bytesThreshold - internals.bytes; + internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; + passed = 0; + } + + bytesLeft = bytesThreshold - internals.bytes; + } + + if (maxRate) { + if (bytesLeft <= 0) { + // next time window + return setTimeout(() => { + _callback(null, _chunk); + }, timeWindow - passed); + } + + if (bytesLeft < maxChunkSize) { + maxChunkSize = bytesLeft; + } + } + + if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) { + chunkRemainder = _chunk.subarray(maxChunkSize); + _chunk = _chunk.subarray(0, maxChunkSize); + } + + pushChunk(_chunk, chunkRemainder ? () => { + process.nextTick(_callback, null, chunkRemainder); + } : _callback); + }; + + transformChunk(chunk, function transformNextChunk(err, _chunk) { + if (err) { + return callback(err); + } + + if (_chunk) { + transformChunk(_chunk, transformNextChunk); + } else { + callback(null); + } + }); + } +} + +export default AxiosTransformStream; diff --git a/.output/server/node_modules/axios/lib/helpers/AxiosURLSearchParams.js b/.output/server/node_modules/axios/lib/helpers/AxiosURLSearchParams.js new file mode 100644 index 00000000..b9aa9f02 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/AxiosURLSearchParams.js @@ -0,0 +1,58 @@ +'use strict'; + +import toFormData from './toFormData.js'; + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object<string, any>} params - The parameters to be converted to a FormData object. + * @param {Object<string, any>} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && toFormData(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder ? function(value) { + return encoder.call(this, value, encode); + } : encode; + + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); +}; + +export default AxiosURLSearchParams; diff --git a/.output/server/node_modules/axios/lib/helpers/HttpStatusCode.js b/.output/server/node_modules/axios/lib/helpers/HttpStatusCode.js new file mode 100644 index 00000000..b3e7adca --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/HttpStatusCode.js @@ -0,0 +1,71 @@ +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, +}; + +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +export default HttpStatusCode; diff --git a/.output/server/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js b/.output/server/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js new file mode 100644 index 00000000..d1791f0b --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js @@ -0,0 +1,28 @@ +"use strict"; + +import stream from "stream"; + +class ZlibHeaderTransformStream extends stream.Transform { + __transform(chunk, encoding, callback) { + this.push(chunk); + callback(); + } + + _transform(chunk, encoding, callback) { + if (chunk.length !== 0) { + this._transform = this.__transform; + + // Add Default Compression headers if no zlib headers are present + if (chunk[0] !== 120) { // Hex: 78 + const header = Buffer.alloc(2); + header[0] = 120; // Hex: 78 + header[1] = 156; // Hex: 9C + this.push(header, encoding); + } + } + + this.__transform(chunk, encoding, callback); + } +} + +export default ZlibHeaderTransformStream; diff --git a/.output/server/node_modules/axios/lib/helpers/bind.js b/.output/server/node_modules/axios/lib/helpers/bind.js new file mode 100644 index 00000000..b3aa83b7 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/bind.js @@ -0,0 +1,7 @@ +'use strict'; + +export default function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} diff --git a/.output/server/node_modules/axios/lib/helpers/buildURL.js b/.output/server/node_modules/axios/lib/helpers/buildURL.js new file mode 100644 index 00000000..5c5eb579 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/buildURL.js @@ -0,0 +1,69 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js'; + +/** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ +export default function buildURL(url, params, options) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + const _encode = options && options.encode || encode; + + if (utils.isFunction(options)) { + options = { + serialize: options + }; + } + + const serializeFn = options && options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, options); + } else { + serializedParams = utils.isURLSearchParams(params) ? + params.toString() : + new AxiosURLSearchParams(params, options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf("#"); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} diff --git a/.output/server/node_modules/axios/lib/helpers/callbackify.js b/.output/server/node_modules/axios/lib/helpers/callbackify.js new file mode 100644 index 00000000..4603badc --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/callbackify.js @@ -0,0 +1,16 @@ +import utils from "../utils.js"; + +const callbackify = (fn, reducer) => { + return utils.isAsyncFn(fn) ? function (...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +} + +export default callbackify; diff --git a/.output/server/node_modules/axios/lib/helpers/combineURLs.js b/.output/server/node_modules/axios/lib/helpers/combineURLs.js new file mode 100644 index 00000000..9f04f020 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/combineURLs.js @@ -0,0 +1,15 @@ +'use strict'; + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +export default function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} diff --git a/.output/server/node_modules/axios/lib/helpers/composeSignals.js b/.output/server/node_modules/axios/lib/helpers/composeSignals.js new file mode 100644 index 00000000..84087c80 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/composeSignals.js @@ -0,0 +1,48 @@ +import CanceledError from "../cancel/CanceledError.js"; +import AxiosError from "../core/AxiosError.js"; +import utils from '../utils.js'; + +const composeSignals = (signals, timeout) => { + const {length} = (signals = signals ? signals.filter(Boolean) : []); + + if (timeout || length) { + let controller = new AbortController(); + + let aborted; + + const onabort = function (reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); + } + } + + let timer = timeout && setTimeout(() => { + timer = null; + onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT)) + }, timeout) + + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach(signal => { + signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + } + + signals.forEach((signal) => signal.addEventListener('abort', onabort)); + + const {signal} = controller; + + signal.unsubscribe = () => utils.asap(unsubscribe); + + return signal; + } +} + +export default composeSignals; diff --git a/.output/server/node_modules/axios/lib/helpers/cookies.js b/.output/server/node_modules/axios/lib/helpers/cookies.js new file mode 100644 index 00000000..d039ac4f --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/cookies.js @@ -0,0 +1,42 @@ +import utils from './../utils.js'; +import platform from '../platform/index.js'; + +export default platform.hasStandardBrowserEnv ? + + // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure) { + const cookie = [name + '=' + encodeURIComponent(value)]; + + utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString()); + + utils.isString(path) && cookie.push('path=' + path); + + utils.isString(domain) && cookie.push('domain=' + domain); + + secure === true && cookie.push('secure'); + + document.cookie = cookie.join('; '); + }, + + read(name) { + const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove(name) { + this.write(name, '', Date.now() - 86400000); + } + } + + : + + // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {} + }; + diff --git a/.output/server/node_modules/axios/lib/helpers/formDataToJSON.js b/.output/server/node_modules/axios/lib/helpers/formDataToJSON.js new file mode 100644 index 00000000..906ce602 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/formDataToJSON.js @@ -0,0 +1,95 @@ +'use strict'; + +import utils from '../utils.js'; + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array<any>} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object<string, any> | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + + if (name === '__proto__') return true; + + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils.isArray(target) ? target.length : name; + + if (isLast) { + if (utils.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !utils.isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && utils.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { + const obj = {}; + + utils.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +export default formDataToJSON; diff --git a/.output/server/node_modules/axios/lib/helpers/formDataToStream.js b/.output/server/node_modules/axios/lib/helpers/formDataToStream.js new file mode 100644 index 00000000..afc61742 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/formDataToStream.js @@ -0,0 +1,112 @@ +import util from 'util'; +import {Readable} from 'stream'; +import utils from "../utils.js"; +import readBlob from "./readBlob.js"; +import platform from "../platform/index.js"; + +const BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_'; + +const textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder(); + +const CRLF = '\r\n'; +const CRLF_BYTES = textEncoder.encode(CRLF); +const CRLF_BYTES_COUNT = 2; + +class FormDataPart { + constructor(name, value) { + const {escapeName} = this.constructor; + const isStringValue = utils.isString(value); + + let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${ + !isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : '' + }${CRLF}`; + + if (isStringValue) { + value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); + } else { + headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}` + } + + this.headers = textEncoder.encode(headers + CRLF); + + this.contentLength = isStringValue ? value.byteLength : value.size; + + this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; + + this.name = name; + this.value = value; + } + + async *encode(){ + yield this.headers; + + const {value} = this; + + if(utils.isTypedArray(value)) { + yield value; + } else { + yield* readBlob(value); + } + + yield CRLF_BYTES; + } + + static escapeName(name) { + return String(name).replace(/[\r\n"]/g, (match) => ({ + '\r' : '%0D', + '\n' : '%0A', + '"' : '%22', + }[match])); + } +} + +const formDataToStream = (form, headersHandler, options) => { + const { + tag = 'form-data-boundary', + size = 25, + boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET) + } = options || {}; + + if(!utils.isFormData(form)) { + throw TypeError('FormData instance required'); + } + + if (boundary.length < 1 || boundary.length > 70) { + throw Error('boundary must be 10-70 characters long') + } + + const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); + const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF); + let contentLength = footerBytes.byteLength; + + const parts = Array.from(form.entries()).map(([name, value]) => { + const part = new FormDataPart(name, value); + contentLength += part.size; + return part; + }); + + contentLength += boundaryBytes.byteLength * parts.length; + + contentLength = utils.toFiniteNumber(contentLength); + + const computedHeaders = { + 'Content-Type': `multipart/form-data; boundary=${boundary}` + } + + if (Number.isFinite(contentLength)) { + computedHeaders['Content-Length'] = contentLength; + } + + headersHandler && headersHandler(computedHeaders); + + return Readable.from((async function *() { + for(const part of parts) { + yield boundaryBytes; + yield* part.encode(); + } + + yield footerBytes; + })()); +}; + +export default formDataToStream; diff --git a/.output/server/node_modules/axios/lib/helpers/fromDataURI.js b/.output/server/node_modules/axios/lib/helpers/fromDataURI.js new file mode 100644 index 00000000..eb71d3f3 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/fromDataURI.js @@ -0,0 +1,53 @@ +'use strict'; + +import AxiosError from '../core/AxiosError.js'; +import parseProtocol from './parseProtocol.js'; +import platform from '../platform/index.js'; + +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; + +/** + * Parse data uri to a Buffer or Blob + * + * @param {String} uri + * @param {?Boolean} asBlob + * @param {?Object} options + * @param {?Function} options.Blob + * + * @returns {Buffer|Blob} + */ +export default function fromDataURI(uri, asBlob, options) { + const _Blob = options && options.Blob || platform.classes.Blob; + const protocol = parseProtocol(uri); + + if (asBlob === undefined && _Blob) { + asBlob = true; + } + + if (protocol === 'data') { + uri = protocol.length ? uri.slice(protocol.length + 1) : uri; + + const match = DATA_URL_PATTERN.exec(uri); + + if (!match) { + throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); + } + + const mime = match[1]; + const isBase64 = match[2]; + const body = match[3]; + const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); + + if (asBlob) { + if (!_Blob) { + throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); + } + + return new _Blob([buffer], {type: mime}); + } + + return buffer; + } + + throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); +} diff --git a/.output/server/node_modules/axios/lib/helpers/isAbsoluteURL.js b/.output/server/node_modules/axios/lib/helpers/isAbsoluteURL.js new file mode 100644 index 00000000..4747a457 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/isAbsoluteURL.js @@ -0,0 +1,15 @@ +'use strict'; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +export default function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} diff --git a/.output/server/node_modules/axios/lib/helpers/isAxiosError.js b/.output/server/node_modules/axios/lib/helpers/isAxiosError.js new file mode 100644 index 00000000..da6cd63f --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/isAxiosError.js @@ -0,0 +1,14 @@ +'use strict'; + +import utils from './../utils.js'; + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +export default function isAxiosError(payload) { + return utils.isObject(payload) && (payload.isAxiosError === true); +} diff --git a/.output/server/node_modules/axios/lib/helpers/isURLSameOrigin.js b/.output/server/node_modules/axios/lib/helpers/isURLSameOrigin.js new file mode 100644 index 00000000..6a92aa15 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/isURLSameOrigin.js @@ -0,0 +1,14 @@ +import platform from '../platform/index.js'; + +export default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => { + url = new URL(url, platform.origin); + + return ( + origin.protocol === url.protocol && + origin.host === url.host && + (isMSIE || origin.port === url.port) + ); +})( + new URL(platform.origin), + platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) +) : () => true; diff --git a/.output/server/node_modules/axios/lib/helpers/parseHeaders.js b/.output/server/node_modules/axios/lib/helpers/parseHeaders.js new file mode 100644 index 00000000..50af9480 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/parseHeaders.js @@ -0,0 +1,55 @@ +'use strict'; + +import utils from './../utils.js'; + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils.toObjectSet([ + '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' +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +export default rawHeaders => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}; diff --git a/.output/server/node_modules/axios/lib/helpers/parseProtocol.js b/.output/server/node_modules/axios/lib/helpers/parseProtocol.js new file mode 100644 index 00000000..586ec964 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/parseProtocol.js @@ -0,0 +1,6 @@ +'use strict'; + +export default function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} diff --git a/.output/server/node_modules/axios/lib/helpers/progressEventReducer.js b/.output/server/node_modules/axios/lib/helpers/progressEventReducer.js new file mode 100644 index 00000000..ff601cc4 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/progressEventReducer.js @@ -0,0 +1,44 @@ +import speedometer from "./speedometer.js"; +import throttle from "./throttle.js"; +import utils from "../utils.js"; + +export const progressEventReducer = (listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return throttle(e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? (loaded / total) : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true + }; + + listener(data); + }, freq); +} + +export const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + + return [(loaded) => throttled[0]({ + lengthComputable, + total, + loaded + }), throttled[1]]; +} + +export const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args)); diff --git a/.output/server/node_modules/axios/lib/helpers/readBlob.js b/.output/server/node_modules/axios/lib/helpers/readBlob.js new file mode 100644 index 00000000..6de748e8 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/readBlob.js @@ -0,0 +1,15 @@ +const {asyncIterator} = Symbol; + +const readBlob = async function* (blob) { + if (blob.stream) { + yield* blob.stream() + } else if (blob.arrayBuffer) { + yield await blob.arrayBuffer() + } else if (blob[asyncIterator]) { + yield* blob[asyncIterator](); + } else { + yield blob; + } +} + +export default readBlob; diff --git a/.output/server/node_modules/axios/lib/helpers/resolveConfig.js b/.output/server/node_modules/axios/lib/helpers/resolveConfig.js new file mode 100644 index 00000000..7b16882e --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/resolveConfig.js @@ -0,0 +1,57 @@ +import platform from "../platform/index.js"; +import utils from "../utils.js"; +import isURLSameOrigin from "./isURLSameOrigin.js"; +import cookies from "./cookies.js"; +import buildFullPath from "../core/buildFullPath.js"; +import mergeConfig from "../core/mergeConfig.js"; +import AxiosHeaders from "../core/AxiosHeaders.js"; +import buildURL from "./buildURL.js"; + +export default (config) => { + const newConfig = mergeConfig({}, config); + + let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig; + + newConfig.headers = headers = AxiosHeaders.from(headers); + + newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer); + + // HTTP basic authentication + if (auth) { + headers.set('Authorization', 'Basic ' + + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) + ); + } + + let contentType; + + if (utils.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // Let the browser set it + } else if ((contentType = headers.getContentType()) !== false) { + // fix semicolon duplication issue for ReactNative FormData implementation + const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; + headers.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + + if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + + return newConfig; +} + diff --git a/.output/server/node_modules/axios/lib/helpers/speedometer.js b/.output/server/node_modules/axios/lib/helpers/speedometer.js new file mode 100644 index 00000000..3b3c6662 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/speedometer.js @@ -0,0 +1,55 @@ +'use strict'; + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +export default speedometer; diff --git a/.output/server/node_modules/axios/lib/helpers/spread.js b/.output/server/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 00000000..13479cb2 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,28 @@ +'use strict'; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +export default function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} diff --git a/.output/server/node_modules/axios/lib/helpers/throttle.js b/.output/server/node_modules/axios/lib/helpers/throttle.js new file mode 100644 index 00000000..73e263d1 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/throttle.js @@ -0,0 +1,44 @@ +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + let threshold = 1000 / freq; + let lastArgs; + let timer; + + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn(...args); + } + + const throttled = (...args) => { + const now = Date.now(); + const passed = now - timestamp; + if ( passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs) + }, threshold - passed); + } + } + } + + const flush = () => lastArgs && invoke(lastArgs); + + return [throttled, flush]; +} + +export default throttle; diff --git a/.output/server/node_modules/axios/lib/helpers/toFormData.js b/.output/server/node_modules/axios/lib/helpers/toFormData.js new file mode 100644 index 00000000..ec47d8ce --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/toFormData.js @@ -0,0 +1,223 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosError from '../core/AxiosError.js'; +// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored +import PlatformFormData from '../platform/node/classes/FormData.js'; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils.isPlainObject(thing) || utils.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array<any>} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils.isArray(arr) && !arr.some(isVisitable); +} + +const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object<any, any>} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object<string, any>} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!utils.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (PlatformFormData || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils.toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils.isUndefined(source[option]); + }); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && utils.isSpecCompliantForm(formData); + + if (!utils.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (utils.isDate(value)) { + return value.toISOString(); + } + + if (utils.isBoolean(value)) { + return value.toString(); + } + + if (!useBlob && utils.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + + if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array<String|Number>} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (value && !path && typeof value === 'object') { + if (utils.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (utils.isArray(value) && isFlatArray(value)) || + ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)) + )) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(utils.isUndefined(el) || el === null) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable + }); + + function build(value, path) { + if (utils.isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + utils.forEach(value, function each(el, key) { + const result = !(utils.isUndefined(el) || el === null) && visitor.call( + formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers + ); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!utils.isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +export default toFormData; diff --git a/.output/server/node_modules/axios/lib/helpers/toURLEncodedForm.js b/.output/server/node_modules/axios/lib/helpers/toURLEncodedForm.js new file mode 100644 index 00000000..ffa95ec9 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/toURLEncodedForm.js @@ -0,0 +1,19 @@ +'use strict'; + +import utils from '../utils.js'; +import toFormData from './toFormData.js'; +import platform from '../platform/index.js'; + +export default function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), { + visitor: function(value, key, path, helpers) { + if (platform.isNode && utils.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + }, + ...options + }); +} diff --git a/.output/server/node_modules/axios/lib/helpers/trackStream.js b/.output/server/node_modules/axios/lib/helpers/trackStream.js new file mode 100644 index 00000000..95d60081 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/trackStream.js @@ -0,0 +1,87 @@ + +export const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + + if (!chunkSize || len < chunkSize) { + yield chunk; + return; + } + + let pos = 0; + let end; + + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +} + +export const readBytes = async function* (iterable, chunkSize) { + for await (const chunk of readStream(iterable)) { + yield* streamChunk(chunk, chunkSize); + } +} + +const readStream = async function* (stream) { + if (stream[Symbol.asyncIterator]) { + yield* stream; + return; + } + + const reader = stream.getReader(); + try { + for (;;) { + const {done, value} = await reader.read(); + if (done) { + break; + } + yield value; + } + } finally { + await reader.cancel(); + } +} + +export const trackStream = (stream, chunkSize, onProgress, onFinish) => { + const iterator = readBytes(stream, chunkSize); + + let bytes = 0; + let done; + let _onFinish = (e) => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + } + + return new ReadableStream({ + async pull(controller) { + try { + const {done, value} = await iterator.next(); + + if (done) { + _onFinish(); + controller.close(); + return; + } + + let len = value.byteLength; + if (onProgress) { + let loadedBytes = bytes += len; + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + } + }, { + highWaterMark: 2 + }) +} diff --git a/.output/server/node_modules/axios/lib/helpers/validator.js b/.output/server/node_modules/axios/lib/helpers/validator.js new file mode 100644 index 00000000..12705687 --- /dev/null +++ b/.output/server/node_modules/axios/lib/helpers/validator.js @@ -0,0 +1,99 @@ +'use strict'; + +import {VERSION} from '../env/data.js'; +import AxiosError from '../core/AxiosError.js'; + +const validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError.ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +validators.spelling = function spelling(correctSpelling) { + return (value, opt) => { + // eslint-disable-next-line no-console + console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); + return true; + } +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } +} + +export default { + assertOptions, + validators +}; diff --git a/.output/server/node_modules/axios/lib/platform/common/utils.js b/.output/server/node_modules/axios/lib/platform/common/utils.js new file mode 100644 index 00000000..52a3186e --- /dev/null +++ b/.output/server/node_modules/axios/lib/platform/common/utils.js @@ -0,0 +1,51 @@ +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +const _navigator = typeof navigator === 'object' && navigator || undefined; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = hasBrowserEnv && + (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + +const origin = hasBrowserEnv && window.location.href || 'http://localhost'; + +export { + hasBrowserEnv, + hasStandardBrowserWebWorkerEnv, + hasStandardBrowserEnv, + _navigator as navigator, + origin +} diff --git a/.output/server/node_modules/axios/lib/platform/index.js b/.output/server/node_modules/axios/lib/platform/index.js new file mode 100644 index 00000000..860ba21a --- /dev/null +++ b/.output/server/node_modules/axios/lib/platform/index.js @@ -0,0 +1,7 @@ +import platform from './node/index.js'; +import * as utils from './common/utils.js'; + +export default { + ...utils, + ...platform +} diff --git a/.output/server/node_modules/axios/lib/platform/node/classes/FormData.js b/.output/server/node_modules/axios/lib/platform/node/classes/FormData.js new file mode 100644 index 00000000..b07f9476 --- /dev/null +++ b/.output/server/node_modules/axios/lib/platform/node/classes/FormData.js @@ -0,0 +1,3 @@ +import FormData from 'form-data'; + +export default FormData; diff --git a/.output/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js b/.output/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js new file mode 100644 index 00000000..fba58428 --- /dev/null +++ b/.output/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js @@ -0,0 +1,4 @@ +'use strict'; + +import url from 'url'; +export default url.URLSearchParams; diff --git a/.output/server/node_modules/axios/lib/platform/node/index.js b/.output/server/node_modules/axios/lib/platform/node/index.js new file mode 100644 index 00000000..cd1ca0c4 --- /dev/null +++ b/.output/server/node_modules/axios/lib/platform/node/index.js @@ -0,0 +1,38 @@ +import crypto from 'crypto'; +import URLSearchParams from './classes/URLSearchParams.js' +import FormData from './classes/FormData.js' + +const ALPHA = 'abcdefghijklmnopqrstuvwxyz' + +const DIGIT = '0123456789'; + +const ALPHABET = { + DIGIT, + ALPHA, + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT +} + +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { + let str = ''; + const {length} = alphabet; + const randomValues = new Uint32Array(size); + crypto.randomFillSync(randomValues); + for (let i = 0; i < size; i++) { + str += alphabet[randomValues[i] % length]; + } + + return str; +} + + +export default { + isNode: true, + classes: { + URLSearchParams, + FormData, + Blob: typeof Blob !== 'undefined' && Blob || null + }, + ALPHABET, + generateString, + protocols: [ 'http', 'https', 'file', 'data' ] +}; diff --git a/.output/server/node_modules/axios/lib/utils.js b/.output/server/node_modules/axios/lib/utils.js new file mode 100644 index 00000000..e9a45ff2 --- /dev/null +++ b/.output/server/node_modules/axios/lib/utils.js @@ -0,0 +1,780 @@ +'use strict'; + +import bind from './helpers/bind.js'; + +// utils is a library of generic helper functions non-specific to axios + +const {toString} = Object.prototype; +const {getPrototypeOf} = Object; +const {iterator, toStringTag} = Symbol; + +const kindOf = (cache => thing => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type +} + +const typeOfTest = type => thing => typeof thing === type; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const {isArray} = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val); +} + +/** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ +const isEmptyObject = (val) => { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } +} + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +const isFormData = (thing) => { + let kind; + return thing && ( + (typeof FormData === 'function' && thing instanceof FormData) || ( + isFunction(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ) +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => str.trim ? + str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, {allOwnKeys = false} = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +function findKey(obj, key) { + if (isBuffer(obj)){ + return null; + } + + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== "undefined") return globalThis; + return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const {caseless} = isContextDefined(this) && this || {}; + const result = {}; + const assignValue = (val, key) => { + const targetKey = caseless && findKey(result, key) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else { + result[targetKey] = val; + } + } + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, {allOwnKeys}= {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction(val)) { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }, {allOwnKeys}); + return a; +} + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); +} + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +} + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +} + + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +} + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = (TypedArray => { + // eslint-disable-next-line func-names + return thing => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object<any, any>} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[iterator]; + + const _iterator = generator.call(obj); + + let result; + + while ((result = _iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +} + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array<boolean>} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +} + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = str => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, + function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + } + ); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +} + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error('Can not rewrite read-only method \'' + name + '\''); + }; + } + }); +} + +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach(value => { + obj[value] = true; + }); + } + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +} + +const noop = () => {} + +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite(value = +value) ? value : defaultValue; +} + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]); +} + +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + + if(!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + } + + return visit(obj, 0); +} + +const isAsyncFn = kindOfTest('AsyncFunction'); + +const isThenable = (thing) => + thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); + +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + + return postMessageSupported ? ((token, callbacks) => { + _global.addEventListener("message", ({source, data}) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, false); + + return (cb) => { + callbacks.push(cb); + _global.postMessage(token, "*"); + } + })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); +})( + typeof setImmediate === 'function', + isFunction(_global.postMessage) +); + +const asap = typeof queueMicrotask !== 'undefined' ? + queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate); + +// ********************* + + +const isIterable = (thing) => thing != null && isFunction(thing[iterator]); + + +export default { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isEmptyObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable, + setImmediate: _setImmediate, + asap, + isIterable +}; diff --git a/.output/server/node_modules/axios/package.json b/.output/server/node_modules/axios/package.json new file mode 100644 index 00000000..509b678b --- /dev/null +++ b/.output/server/node_modules/axios/package.json @@ -0,0 +1,228 @@ +{ + "name": "axios", + "version": "1.11.0", + "description": "Promise based HTTP client for the browser and node.js", + "main": "index.js", + "exports": { + ".": { + "types": { + "require": "./index.d.cts", + "default": "./index.d.ts" + }, + "react-native": { + "require": "./dist/browser/axios.cjs", + "default": "./dist/esm/axios.js" + }, + "browser": { + "require": "./dist/browser/axios.cjs", + "default": "./index.js" + }, + "default": { + "require": "./dist/node/axios.cjs", + "default": "./index.js" + } + }, + "./lib/adapters/http.js": "./lib/adapters/http.js", + "./lib/adapters/xhr.js": "./lib/adapters/xhr.js", + "./unsafe/*": "./lib/*", + "./unsafe/core/settle.js": "./lib/core/settle.js", + "./unsafe/core/buildFullPath.js": "./lib/core/buildFullPath.js", + "./unsafe/helpers/isAbsoluteURL.js": "./lib/helpers/isAbsoluteURL.js", + "./unsafe/helpers/buildURL.js": "./lib/helpers/buildURL.js", + "./unsafe/helpers/combineURLs.js": "./lib/helpers/combineURLs.js", + "./unsafe/adapters/http.js": "./lib/adapters/http.js", + "./unsafe/adapters/xhr.js": "./lib/adapters/xhr.js", + "./unsafe/utils.js": "./lib/utils.js", + "./package.json": "./package.json" + }, + "type": "module", + "types": "index.d.ts", + "scripts": { + "test": "npm run test:eslint && npm run test:mocha && npm run test:karma && npm run test:dtslint && npm run test:exports", + "test:eslint": "node bin/ssl_hotfix.js eslint lib/**/*.js", + "test:dtslint": "dtslint --localTs node_modules/typescript/lib", + "test:mocha": "node bin/ssl_hotfix.js mocha test/unit/**/*.js --timeout 30000 --exit", + "test:exports": "node bin/ssl_hotfix.js mocha test/module/test.js --timeout 30000 --exit", + "test:karma": "node bin/ssl_hotfix.js cross-env LISTEN_ADDR=:: karma start karma.conf.cjs --single-run", + "test:karma:firefox": "node bin/ssl_hotfix.js cross-env LISTEN_ADDR=:: Browsers=Firefox karma start karma.conf.cjs --single-run", + "test:karma:server": "node bin/ssl_hotfix.js cross-env karma start karma.conf.cjs", + "test:build:version": "node ./bin/check-build-version.js", + "start": "node ./sandbox/server.js", + "preversion": "gulp version", + "version": "npm run build && git add dist && git add package.json", + "prepublishOnly": "npm run test:build:version", + "postpublish": "git push && git push --tags", + "build": "gulp clear && cross-env NODE_ENV=production rollup -c -m", + "examples": "node ./examples/server.js", + "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js", + "fix": "eslint --fix lib/**/*.js", + "prepare": "husky install && npm run prepare:hooks", + "prepare:hooks": "npx husky set .husky/commit-msg \"npx commitlint --edit $1\"", + "release:dry": "release-it --dry-run --no-npm", + "release:info": "release-it --release-version", + "release:beta:no-npm": "release-it --preRelease=beta --no-npm", + "release:beta": "release-it --preRelease=beta", + "release:no-npm": "release-it --no-npm", + "release:changelog:fix": "node ./bin/injectContributorsList.js && git add CHANGELOG.md", + "release": "release-it" + }, + "repository": { + "type": "git", + "url": "https://github.com/axios/axios.git" + }, + "keywords": [ + "xhr", + "http", + "ajax", + "promise", + "node" + ], + "author": "Matt Zabriskie", + "license": "MIT", + "bugs": { + "url": "https://github.com/axios/axios/issues" + }, + "homepage": "https://axios-http.com", + "devDependencies": { + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "@commitlint/cli": "^17.8.1", + "@commitlint/config-conventional": "^17.8.1", + "@release-it/conventional-changelog": "^5.1.1", + "@rollup/plugin-babel": "^5.3.1", + "@rollup/plugin-commonjs": "^15.1.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-multi-entry": "^4.1.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "abortcontroller-polyfill": "^1.7.5", + "auto-changelog": "^2.4.0", + "body-parser": "^1.20.2", + "chalk": "^5.3.0", + "coveralls": "^3.1.1", + "cross-env": "^7.0.3", + "dev-null": "^0.1.1", + "dtslint": "^4.2.1", + "es6-promise": "^4.2.8", + "eslint": "^8.56.0", + "express": "^4.18.2", + "formdata-node": "^5.0.1", + "formidable": "^2.1.2", + "fs-extra": "^10.1.0", + "get-stream": "^3.0.0", + "gulp": "^4.0.2", + "gzip-size": "^7.0.0", + "handlebars": "^4.7.8", + "husky": "^8.0.3", + "istanbul-instrumenter-loader": "^3.0.1", + "jasmine-core": "^2.99.1", + "karma": "^6.3.17", + "karma-chrome-launcher": "^3.2.0", + "karma-firefox-launcher": "^2.1.2", + "karma-jasmine": "^1.1.2", + "karma-jasmine-ajax": "^0.1.13", + "karma-rollup-preprocessor": "^7.0.8", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^4.3.6", + "karma-sinon": "^1.0.5", + "karma-sourcemap-loader": "^0.3.8", + "memoizee": "^0.4.15", + "minimist": "^1.2.8", + "mocha": "^10.3.0", + "multer": "^1.4.4", + "pretty-bytes": "^6.1.1", + "release-it": "^15.11.0", + "rollup": "^2.79.1", + "rollup-plugin-auto-external": "^2.0.0", + "rollup-plugin-bundle-size": "^1.0.3", + "rollup-plugin-terser": "^7.0.2", + "sinon": "^4.5.0", + "stream-throttle": "^0.1.3", + "string-replace-async": "^3.0.2", + "terser-webpack-plugin": "^4.2.3", + "typescript": "^4.9.5", + "@rollup/plugin-alias": "^5.1.0" + }, + "browser": { + "./lib/adapters/http.js": "./lib/helpers/null.js", + "./lib/platform/node/index.js": "./lib/platform/browser/index.js", + "./lib/platform/node/classes/FormData.js": "./lib/helpers/null.js" + }, + "react-native": { + "./lib/adapters/http.js": "./lib/helpers/null.js", + "./lib/platform/node/index.js": "./lib/platform/browser/index.js", + "./lib/platform/node/classes/FormData.js": "./lib/helpers/null.js" + }, + "jsdelivr": "dist/axios.min.js", + "unpkg": "dist/axios.min.js", + "typings": "./index.d.ts", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + }, + "bundlesize": [ + { + "path": "./dist/axios.min.js", + "threshold": "5kB" + } + ], + "contributors": [ + "Matt Zabriskie (https://github.com/mzabriskie)", + "Nick Uraltsev (https://github.com/nickuraltsev)", + "Dmitriy Mozgovoy (https://github.com/DigitalBrainJS)", + "Jay (https://github.com/jasonsaayman)", + "Emily Morehouse (https://github.com/emilyemorehouse)", + "Rubén Norte (https://github.com/rubennorte)", + "Justin Beckwith (https://github.com/JustinBeckwith)", + "Martti Laine (https://github.com/codeclown)", + "Xianming Zhong (https://github.com/chinesedfan)", + "Remco Haszing (https://github.com/remcohaszing)", + "Rikki Gibson (https://github.com/RikkiGibson)", + "Ben Carp (https://github.com/carpben)", + "Yasu Flores (https://github.com/yasuf)" + ], + "sideEffects": false, + "release-it": { + "git": { + "commitMessage": "chore(release): v${version}", + "push": true, + "commit": true, + "tag": true, + "requireCommits": false, + "requireCleanWorkingDir": false + }, + "github": { + "release": true, + "draft": true + }, + "npm": { + "publish": false, + "ignoreVersion": false + }, + "plugins": { + "@release-it/conventional-changelog": { + "preset": "angular", + "infile": "CHANGELOG.md", + "header": "# Changelog" + } + }, + "hooks": { + "before:init": "npm test", + "after:bump": "gulp version --bump ${version} && npm run build && npm run test:build:version && git add ./dist && git add ./package-lock.json", + "before:release": "npm run release:changelog:fix", + "after:release": "echo Successfully released ${name} v${version} to ${repo.repository}." + } + }, + "commitlint": { + "rules": { + "header-max-length": [ + 2, + "always", + 130 + ] + }, + "extends": [ + "@commitlint/config-conventional" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/birpc/dist/index.cjs b/.output/server/node_modules/birpc/dist/index.cjs new file mode 100644 index 00000000..648b5d13 --- /dev/null +++ b/.output/server/node_modules/birpc/dist/index.cjs @@ -0,0 +1,228 @@ +'use strict'; + +const TYPE_REQUEST = "q"; +const TYPE_RESPONSE = "s"; +const DEFAULT_TIMEOUT = 6e4; +function defaultSerialize(i) { + return i; +} +const defaultDeserialize = defaultSerialize; +const { clearTimeout, setTimeout } = globalThis; +const random = Math.random.bind(Math); +function createBirpc(functions, options) { + const { + post, + on, + off = () => { + }, + eventNames = [], + serialize = defaultSerialize, + deserialize = defaultDeserialize, + resolver, + bind = "rpc", + timeout = DEFAULT_TIMEOUT + } = options; + const rpcPromiseMap = /* @__PURE__ */ new Map(); + let _promise; + let closed = false; + const rpc = new Proxy({}, { + get(_, method) { + if (method === "$functions") + return functions; + if (method === "$close") + return close; + if (method === "$rejectPendingCalls") { + return rejectPendingCalls; + } + if (method === "$closed") + return closed; + if (method === "then" && !eventNames.includes("then") && !("then" in functions)) + return void 0; + const sendEvent = (...args) => { + post(serialize({ m: method, a: args, t: TYPE_REQUEST })); + }; + if (eventNames.includes(method)) { + sendEvent.asEvent = sendEvent; + return sendEvent; + } + const sendCall = async (...args) => { + if (closed) + throw new Error(`[birpc] rpc is closed, cannot call "${method}"`); + if (_promise) { + try { + await _promise; + } finally { + _promise = void 0; + } + } + return new Promise((resolve, reject) => { + const id = nanoid(); + let timeoutId; + if (timeout >= 0) { + timeoutId = setTimeout(() => { + try { + const handleResult = options.onTimeoutError?.(method, args); + if (handleResult !== true) + throw new Error(`[birpc] timeout on calling "${method}"`); + } catch (e) { + reject(e); + } + rpcPromiseMap.delete(id); + }, timeout); + if (typeof timeoutId === "object") + timeoutId = timeoutId.unref?.(); + } + rpcPromiseMap.set(id, { resolve, reject, timeoutId, method }); + post(serialize({ m: method, a: args, i: id, t: "q" })); + }); + }; + sendCall.asEvent = sendEvent; + return sendCall; + } + }); + function close(customError) { + closed = true; + rpcPromiseMap.forEach(({ reject, method }) => { + const error = new Error(`[birpc] rpc is closed, cannot call "${method}"`); + if (customError) { + customError.cause ??= error; + return reject(customError); + } + reject(error); + }); + rpcPromiseMap.clear(); + off(onMessage); + } + function rejectPendingCalls(handler) { + const entries = Array.from(rpcPromiseMap.values()); + const handlerResults = entries.map(({ method, reject }) => { + if (!handler) { + return reject(new Error(`[birpc]: rejected pending call "${method}".`)); + } + return handler({ method, reject }); + }); + rpcPromiseMap.clear(); + return handlerResults; + } + async function onMessage(data, ...extra) { + let msg; + try { + msg = deserialize(data); + } catch (e) { + if (options.onGeneralError?.(e) !== true) + throw e; + return; + } + if (msg.t === TYPE_REQUEST) { + const { m: method, a: args } = msg; + let result, error; + const fn = resolver ? resolver(method, functions[method]) : functions[method]; + if (!fn) { + error = new Error(`[birpc] function "${method}" not found`); + } else { + try { + result = await fn.apply(bind === "rpc" ? rpc : functions, args); + } catch (e) { + error = e; + } + } + if (msg.i) { + if (error && options.onError) + options.onError(error, method, args); + if (error && options.onFunctionError) { + if (options.onFunctionError(error, method, args) === true) + return; + } + if (!error) { + try { + post(serialize({ t: TYPE_RESPONSE, i: msg.i, r: result }), ...extra); + return; + } catch (e) { + error = e; + if (options.onGeneralError?.(e, method, args) !== true) + throw e; + } + } + try { + post(serialize({ t: TYPE_RESPONSE, i: msg.i, e: error }), ...extra); + } catch (e) { + if (options.onGeneralError?.(e, method, args) !== true) + throw e; + } + } + } else { + const { i: ack, r: result, e: error } = msg; + const promise = rpcPromiseMap.get(ack); + if (promise) { + clearTimeout(promise.timeoutId); + if (error) + promise.reject(error); + else + promise.resolve(result); + } + rpcPromiseMap.delete(ack); + } + } + _promise = on(onMessage); + return rpc; +} +const cacheMap = /* @__PURE__ */ new WeakMap(); +function cachedMap(items, fn) { + return items.map((i) => { + let r = cacheMap.get(i); + if (!r) { + r = fn(i); + cacheMap.set(i, r); + } + return r; + }); +} +function createBirpcGroup(functions, channels, options = {}) { + const getChannels = () => typeof channels === "function" ? channels() : channels; + const getClients = (channels2 = getChannels()) => cachedMap(channels2, (s) => createBirpc(functions, { ...options, ...s })); + const broadcastProxy = new Proxy({}, { + get(_, method) { + const client = getClients(); + const callbacks = client.map((c) => c[method]); + const sendCall = (...args) => { + return Promise.all(callbacks.map((i) => i(...args))); + }; + sendCall.asEvent = (...args) => { + callbacks.map((i) => i.asEvent(...args)); + }; + return sendCall; + } + }); + function updateChannels(fn) { + const channels2 = getChannels(); + fn?.(channels2); + return getClients(channels2); + } + getClients(); + return { + get clients() { + return getClients(); + }, + functions, + updateChannels, + broadcast: broadcastProxy, + /** + * @deprecated use `broadcast` + */ + // @ts-expect-error deprecated + boardcast: broadcastProxy + }; +} +const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"; +function nanoid(size = 21) { + let id = ""; + let i = size; + while (i--) + id += urlAlphabet[random() * 64 | 0]; + return id; +} + +exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; +exports.cachedMap = cachedMap; +exports.createBirpc = createBirpc; +exports.createBirpcGroup = createBirpcGroup; diff --git a/.output/server/node_modules/birpc/package.json b/.output/server/node_modules/birpc/package.json new file mode 100644 index 00000000..91bdda99 --- /dev/null +++ b/.output/server/node_modules/birpc/package.json @@ -0,0 +1,56 @@ +{ + "name": "birpc", + "type": "module", + "version": "2.5.0", + "description": "Message based Two-way remote procedure call", + "author": "Anthony Fu <anthonyfu117@hotmail.com>", + "license": "MIT", + "funding": "https://github.com/sponsors/antfu", + "homepage": "https://github.com/antfu/birpc#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/antfu/birpc.git" + }, + "bugs": { + "url": "https://github.com/antfu/birpc/issues" + }, + "keywords": [ + "rpc", + "messages" + ], + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "devDependencies": { + "@antfu/eslint-config": "^4.11.0", + "@antfu/ni": "^24.3.0", + "@types/node": "^22.13.13", + "bumpp": "^10.1.0", + "eslint": "^9.23.0", + "tsx": "^4.19.3", + "typescript": "^5.8.2", + "unbuild": "^3.5.0", + "vite": "^6.2.3", + "vitest": "^3.0.9" + }, + "scripts": { + "build": "unbuild", + "dev": "unbuild --stub", + "lint": "eslint .", + "release": "bumpp && pnpm publish", + "start": "tsx src/index.ts", + "typecheck": "tsc --noEmit", + "test": "vitest" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/boolbase/index.js b/.output/server/node_modules/boolbase/index.js new file mode 100644 index 00000000..8799fd95 --- /dev/null +++ b/.output/server/node_modules/boolbase/index.js @@ -0,0 +1,8 @@ +module.exports = { + trueFunc: function trueFunc(){ + return true; + }, + falseFunc: function falseFunc(){ + return false; + } +}; \ No newline at end of file diff --git a/.output/server/node_modules/boolbase/package.json b/.output/server/node_modules/boolbase/package.json new file mode 100644 index 00000000..4a6e1719 --- /dev/null +++ b/.output/server/node_modules/boolbase/package.json @@ -0,0 +1,23 @@ +{ + "name": "boolbase", + "version": "1.0.0", + "description": "two functions: One that returns true, one that returns false", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://github.com/fb55/boolbase" + }, + "keywords": [ + "boolean", + "function" + ], + "author": "Felix Boehm <me@feedic.com>", + "license": "ISC", + "bugs": { + "url": "https://github.com/fb55/boolbase/issues" + }, + "homepage": "https://github.com/fb55/boolbase" +} \ No newline at end of file diff --git a/.output/server/node_modules/call-bind-apply-helpers/actualApply.js b/.output/server/node_modules/call-bind-apply-helpers/actualApply.js new file mode 100644 index 00000000..ffa51355 --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/actualApply.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); + +var $apply = require('./functionApply'); +var $call = require('./functionCall'); +var $reflectApply = require('./reflectApply'); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); diff --git a/.output/server/node_modules/call-bind-apply-helpers/functionApply.js b/.output/server/node_modules/call-bind-apply-helpers/functionApply.js new file mode 100644 index 00000000..c71df9c2 --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/functionApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; diff --git a/.output/server/node_modules/call-bind-apply-helpers/functionCall.js b/.output/server/node_modules/call-bind-apply-helpers/functionCall.js new file mode 100644 index 00000000..7a8d8735 --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/functionCall.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; diff --git a/.output/server/node_modules/call-bind-apply-helpers/index.js b/.output/server/node_modules/call-bind-apply-helpers/index.js new file mode 100644 index 00000000..2f6dab4c --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/index.js @@ -0,0 +1,15 @@ +'use strict'; + +var bind = require('function-bind'); +var $TypeError = require('es-errors/type'); + +var $call = require('./functionCall'); +var $actualApply = require('./actualApply'); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; diff --git a/.output/server/node_modules/call-bind-apply-helpers/package.json b/.output/server/node_modules/call-bind-apply-helpers/package.json new file mode 100644 index 00000000..1af5322a --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/package.json @@ -0,0 +1,85 @@ +{ + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "description": "Helper functions around Function call/apply/bind, for use in `call-bind`", + "main": "index.js", + "exports": { + ".": "./index.js", + "./actualApply": "./actualApply.js", + "./applyBind": "./applyBind.js", + "./functionApply": "./functionApply.js", + "./functionCall": "./functionCall.js", + "./reflectApply": "./reflectApply.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bind-apply-helpers.git" + }, + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bind-apply-helpers/issues" + }, + "homepage": "https://github.com/ljharb/call-bind-apply-helpers#readme", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.3", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/for-each": "^0.3.3", + "@types/function-bind": "^1.1.10", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/call-bind-apply-helpers/reflectApply.js b/.output/server/node_modules/call-bind-apply-helpers/reflectApply.js new file mode 100644 index 00000000..3d03caa6 --- /dev/null +++ b/.output/server/node_modules/call-bind-apply-helpers/reflectApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./reflectApply')} */ +module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; diff --git a/.output/server/node_modules/color-convert/conversions.js b/.output/server/node_modules/color-convert/conversions.js new file mode 100644 index 00000000..2657f265 --- /dev/null +++ b/.output/server/node_modules/color-convert/conversions.js @@ -0,0 +1,839 @@ +/* MIT license */ +/* eslint-disable no-mixed-operators */ +const cssKeywords = require('color-name'); + +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +const reverseKeywords = {}; +for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; +} + +const convert = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; + +module.exports = convert; + +// Hide .channels and .labels properties +for (const model of Object.keys(convert)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + const {channels, labels} = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); +} + +convert.rgb.hsl = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + const l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; +}; + +convert.rgb.hwb = function (rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; +}; + +function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ + return ( + ((x[0] - y[0]) ** 2) + + ((x[1] - y[1]) ** 2) + + ((x[2] - y[2]) ** 2) + ); +} + +convert.rgb.keyword = function (rgb) { + const reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + let currentClosestDistance = Infinity; + let currentClosestKeyword; + + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; + + // Compute comparative distance + const distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; + + // Assume sRGB + r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); + g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); + b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); + + const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); + + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + const t1 = 2 * l - t2; + + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - (s * f)); + const t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; +}; + +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; + + // Wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + const n = wh + f * (v - wh); // Linear interpolation + + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + /* eslint-enable max-statements-per-line,no-multi-spaces */ + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + + // Assume sRGB + r = r > 0.0031308 + ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) + : r * 12.92; + + g = g > 0.0031308 + ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) + : g * 12.92; + + b = b > 0.0031308 + ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) + : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.lab = function (xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); + + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.lab.xyz = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; +}; + +convert.lab.lch = function (lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + const c = Math.sqrt(a * a + b * b); + + return [l, c, h]; +}; + +convert.lch.lab = function (lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; + + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + + return [l, a, b]; +}; + +convert.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + let ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert.hsv.ansi16 = function (args) { + // Optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; + +convert.rgb.ansi256 = function (args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; + + // We use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round(((r - 8) / 247) * 24) + 232; + } + + const ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + + return ansi; +}; + +convert.ansi16.rgb = function (args) { + let color = args % 10; + + // Handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + const mult = (~~(args > 50) + 1) * 0.5; + const r = ((color & 1) * mult) * 255; + const g = (((color >> 1) & 1) * mult) * 255; + const b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; +}; + +convert.ansi256.rgb = function (args) { + // Handle greyscale + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = (rem % 6) / 5 * 255; + + return [r, g, b]; +}; + +convert.rgb.hex = function (args) { + const integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); + + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.hex.rgb = function (args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + let colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(char => { + return char + char; + }).join(''); + } + + const integer = parseInt(colorString, 16); + const r = (integer >> 16) & 0xFF; + const g = (integer >> 8) & 0xFF; + const b = integer & 0xFF; + + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = (max - min); + let grayscale; + let hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert.hsl.hcg = function (hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; + + const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); + + let f = 0; + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert.hsv.hcg = function (hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; + + const c = s * v; + let f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert.hcg.rgb = function (hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + const pure = [0, 0, 0]; + const hi = (h % 1) * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + + /* eslint-disable max-statements-per-line */ + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + /* eslint-enable max-statements-per-line */ + + mg = (1.0 - c) * g; + + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; + +convert.hcg.hsv = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + + const v = c + g * (1.0 - c); + let f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert.hcg.hsl = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert.hcg.hwb = function (hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert.hwb.hcg = function (hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; + +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; + +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert.gray.hsl = function (args) { + return [0, 0, args[0]]; +}; + +convert.gray.hsv = convert.gray.hsl; + +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert.gray.hex = function (gray) { + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; + + const string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; diff --git a/.output/server/node_modules/color-convert/index.js b/.output/server/node_modules/color-convert/index.js new file mode 100644 index 00000000..b648e573 --- /dev/null +++ b/.output/server/node_modules/color-convert/index.js @@ -0,0 +1,81 @@ +const conversions = require('./conversions'); +const route = require('./route'); + +const convert = {}; + +const models = Object.keys(conversions); + +function wrapRaw(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + return fn(args); + }; + + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; + } + + if (arg0.length > 1) { + args = arg0; + } + + const result = fn(args); + + // We're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // Preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(fromModel => { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + const routes = route(fromModel); + const routeModels = Object.keys(routes); + + routeModels.forEach(toModel => { + const fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +module.exports = convert; diff --git a/.output/server/node_modules/color-convert/package.json b/.output/server/node_modules/color-convert/package.json new file mode 100644 index 00000000..d169f869 --- /dev/null +++ b/.output/server/node_modules/color-convert/package.json @@ -0,0 +1,48 @@ +{ + "name": "color-convert", + "description": "Plain color conversion functions", + "version": "2.0.1", + "author": "Heather Arthur <fayearthur@gmail.com>", + "license": "MIT", + "repository": "Qix-/color-convert", + "scripts": { + "pretest": "xo", + "test": "node test/basic.js" + }, + "engines": { + "node": ">=7.0.0" + }, + "keywords": [ + "color", + "colour", + "convert", + "converter", + "conversion", + "rgb", + "hsl", + "hsv", + "hwb", + "cmyk", + "ansi", + "ansi16" + ], + "files": [ + "index.js", + "conversions.js", + "route.js" + ], + "xo": { + "rules": { + "default-case": 0, + "no-inline-comments": 0, + "operator-linebreak": 0 + } + }, + "devDependencies": { + "chalk": "^2.4.2", + "xo": "^0.24.0" + }, + "dependencies": { + "color-name": "~1.1.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/color-convert/route.js b/.output/server/node_modules/color-convert/route.js new file mode 100644 index 00000000..1a08521b --- /dev/null +++ b/.output/server/node_modules/color-convert/route.js @@ -0,0 +1,97 @@ +const conversions = require('./conversions'); + +/* + This function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + const graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + const models = Object.keys(conversions); + + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} + +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; // Unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions[current]); + + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions[graph[toModel].parent][toModel]; + + let cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +module.exports = function (fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; + + const models = Object.keys(graph); + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; + + if (node.parent === null) { + // No possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + diff --git a/.output/server/node_modules/color-name/index.js b/.output/server/node_modules/color-name/index.js new file mode 100644 index 00000000..e42aa68a --- /dev/null +++ b/.output/server/node_modules/color-name/index.js @@ -0,0 +1,152 @@ +'use strict' + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; diff --git a/.output/server/node_modules/color-name/package.json b/.output/server/node_modules/color-name/package.json new file mode 100644 index 00000000..fecb8dcf --- /dev/null +++ b/.output/server/node_modules/color-name/package.json @@ -0,0 +1,28 @@ +{ + "name": "color-name", + "version": "1.1.4", + "description": "A list of color names and its values", + "main": "index.js", + "files": [ + "index.js" + ], + "scripts": { + "test": "node test.js" + }, + "repository": { + "type": "git", + "url": "git@github.com:colorjs/color-name.git" + }, + "keywords": [ + "color-name", + "color", + "color-keyword", + "keyword" + ], + "author": "DY <dfcreative@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/colorjs/color-name/issues" + }, + "homepage": "https://github.com/colorjs/color-name" +} \ No newline at end of file diff --git a/.output/server/node_modules/color-string/index.js b/.output/server/node_modules/color-string/index.js new file mode 100644 index 00000000..dd5d2b7b --- /dev/null +++ b/.output/server/node_modules/color-string/index.js @@ -0,0 +1,242 @@ +/* MIT license */ +var colorNames = require('color-name'); +var swizzle = require('simple-swizzle'); +var hasOwnProperty = Object.hasOwnProperty; + +var reverseNames = Object.create(null); + +// create a list of reverse color names +for (var name in colorNames) { + if (hasOwnProperty.call(colorNames, name)) { + reverseNames[colorNames[name]] = name; + } +} + +var cs = module.exports = { + to: {}, + get: {} +}; + +cs.get = function (string) { + var prefix = string.substring(0, 3).toLowerCase(); + var val; + var model; + switch (prefix) { + case 'hsl': + val = cs.get.hsl(string); + model = 'hsl'; + break; + case 'hwb': + val = cs.get.hwb(string); + model = 'hwb'; + break; + default: + val = cs.get.rgb(string); + model = 'rgb'; + break; + } + + if (!val) { + return null; + } + + return {model: model, value: val}; +}; + +cs.get.rgb = function (string) { + if (!string) { + return null; + } + + var abbr = /^#([a-f0-9]{3,4})$/i; + var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i; + var rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/; + var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/; + var keyword = /^(\w+)$/; + + var rgb = [0, 0, 0, 1]; + var match; + var i; + var hexAlpha; + + if (match = string.match(hex)) { + hexAlpha = match[2]; + match = match[1]; + + for (i = 0; i < 3; i++) { + // https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19 + var i2 = i * 2; + rgb[i] = parseInt(match.slice(i2, i2 + 2), 16); + } + + if (hexAlpha) { + rgb[3] = parseInt(hexAlpha, 16) / 255; + } + } else if (match = string.match(abbr)) { + match = match[1]; + hexAlpha = match[3]; + + for (i = 0; i < 3; i++) { + rgb[i] = parseInt(match[i] + match[i], 16); + } + + if (hexAlpha) { + rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255; + } + } else if (match = string.match(rgba)) { + for (i = 0; i < 3; i++) { + rgb[i] = parseInt(match[i + 1], 0); + } + + if (match[4]) { + if (match[5]) { + rgb[3] = parseFloat(match[4]) * 0.01; + } else { + rgb[3] = parseFloat(match[4]); + } + } + } else if (match = string.match(per)) { + for (i = 0; i < 3; i++) { + rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55); + } + + if (match[4]) { + if (match[5]) { + rgb[3] = parseFloat(match[4]) * 0.01; + } else { + rgb[3] = parseFloat(match[4]); + } + } + } else if (match = string.match(keyword)) { + if (match[1] === 'transparent') { + return [0, 0, 0, 0]; + } + + if (!hasOwnProperty.call(colorNames, match[1])) { + return null; + } + + rgb = colorNames[match[1]]; + rgb[3] = 1; + + return rgb; + } else { + return null; + } + + for (i = 0; i < 3; i++) { + rgb[i] = clamp(rgb[i], 0, 255); + } + rgb[3] = clamp(rgb[3], 0, 1); + + return rgb; +}; + +cs.get.hsl = function (string) { + if (!string) { + return null; + } + + var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/; + var match = string.match(hsl); + + if (match) { + var alpha = parseFloat(match[4]); + var h = ((parseFloat(match[1]) % 360) + 360) % 360; + var s = clamp(parseFloat(match[2]), 0, 100); + var l = clamp(parseFloat(match[3]), 0, 100); + var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); + + return [h, s, l, a]; + } + + return null; +}; + +cs.get.hwb = function (string) { + if (!string) { + return null; + } + + var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/; + var match = string.match(hwb); + + if (match) { + var alpha = parseFloat(match[4]); + var h = ((parseFloat(match[1]) % 360) + 360) % 360; + var w = clamp(parseFloat(match[2]), 0, 100); + var b = clamp(parseFloat(match[3]), 0, 100); + var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1); + return [h, w, b, a]; + } + + return null; +}; + +cs.to.hex = function () { + var rgba = swizzle(arguments); + + return ( + '#' + + hexDouble(rgba[0]) + + hexDouble(rgba[1]) + + hexDouble(rgba[2]) + + (rgba[3] < 1 + ? (hexDouble(Math.round(rgba[3] * 255))) + : '') + ); +}; + +cs.to.rgb = function () { + var rgba = swizzle(arguments); + + return rgba.length < 4 || rgba[3] === 1 + ? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')' + : 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')'; +}; + +cs.to.rgb.percent = function () { + var rgba = swizzle(arguments); + + var r = Math.round(rgba[0] / 255 * 100); + var g = Math.round(rgba[1] / 255 * 100); + var b = Math.round(rgba[2] / 255 * 100); + + return rgba.length < 4 || rgba[3] === 1 + ? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)' + : 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')'; +}; + +cs.to.hsl = function () { + var hsla = swizzle(arguments); + return hsla.length < 4 || hsla[3] === 1 + ? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)' + : 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')'; +}; + +// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax +// (hwb have alpha optional & 1 is default value) +cs.to.hwb = function () { + var hwba = swizzle(arguments); + + var a = ''; + if (hwba.length >= 4 && hwba[3] !== 1) { + a = ', ' + hwba[3]; + } + + return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')'; +}; + +cs.to.keyword = function (rgb) { + return reverseNames[rgb.slice(0, 3)]; +}; + +// helpers +function clamp(num, min, max) { + return Math.min(Math.max(min, num), max); +} + +function hexDouble(num) { + var str = Math.round(num).toString(16).toUpperCase(); + return (str.length < 2) ? '0' + str : str; +} diff --git a/.output/server/node_modules/color-string/package.json b/.output/server/node_modules/color-string/package.json new file mode 100644 index 00000000..e40b87dd --- /dev/null +++ b/.output/server/node_modules/color-string/package.json @@ -0,0 +1,39 @@ +{ + "name": "color-string", + "description": "Parser and generator for CSS color strings", + "version": "1.9.1", + "author": "Heather Arthur <fayearthur@gmail.com>", + "contributors": [ + "Maxime Thirouin", + "Dyma Ywanov <dfcreative@gmail.com>", + "Josh Junon" + ], + "repository": "Qix-/color-string", + "scripts": { + "pretest": "xo", + "test": "node test/basic.js" + }, + "license": "MIT", + "files": [ + "index.js" + ], + "xo": { + "rules": { + "no-cond-assign": 0, + "operator-linebreak": 0 + } + }, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + }, + "devDependencies": { + "xo": "^0.12.1" + }, + "keywords": [ + "color", + "colour", + "rgb", + "css" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/color/index.js b/.output/server/node_modules/color/index.js new file mode 100644 index 00000000..ddb0b5df --- /dev/null +++ b/.output/server/node_modules/color/index.js @@ -0,0 +1,496 @@ +const colorString = require('color-string'); +const convert = require('color-convert'); + +const skippedModels = [ + // To be honest, I don't really feel like keyword belongs in color convert, but eh. + 'keyword', + + // Gray conflicts with some method names, and has its own method defined. + 'gray', + + // Shouldn't really be in color-convert either... + 'hex', +]; + +const hashedModelKeys = {}; +for (const model of Object.keys(convert)) { + hashedModelKeys[[...convert[model].labels].sort().join('')] = model; +} + +const limiters = {}; + +function Color(object, model) { + if (!(this instanceof Color)) { + return new Color(object, model); + } + + if (model && model in skippedModels) { + model = null; + } + + if (model && !(model in convert)) { + throw new Error('Unknown model: ' + model); + } + + let i; + let channels; + + if (object == null) { // eslint-disable-line no-eq-null,eqeqeq + this.model = 'rgb'; + this.color = [0, 0, 0]; + this.valpha = 1; + } else if (object instanceof Color) { + this.model = object.model; + this.color = [...object.color]; + this.valpha = object.valpha; + } else if (typeof object === 'string') { + const result = colorString.get(object); + if (result === null) { + throw new Error('Unable to parse color from string: ' + object); + } + + this.model = result.model; + channels = convert[this.model].channels; + this.color = result.value.slice(0, channels); + this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1; + } else if (object.length > 0) { + this.model = model || 'rgb'; + channels = convert[this.model].channels; + const newArray = Array.prototype.slice.call(object, 0, channels); + this.color = zeroArray(newArray, channels); + this.valpha = typeof object[channels] === 'number' ? object[channels] : 1; + } else if (typeof object === 'number') { + // This is always RGB - can be converted later on. + this.model = 'rgb'; + this.color = [ + (object >> 16) & 0xFF, + (object >> 8) & 0xFF, + object & 0xFF, + ]; + this.valpha = 1; + } else { + this.valpha = 1; + + const keys = Object.keys(object); + if ('alpha' in object) { + keys.splice(keys.indexOf('alpha'), 1); + this.valpha = typeof object.alpha === 'number' ? object.alpha : 0; + } + + const hashedKeys = keys.sort().join(''); + if (!(hashedKeys in hashedModelKeys)) { + throw new Error('Unable to parse color from object: ' + JSON.stringify(object)); + } + + this.model = hashedModelKeys[hashedKeys]; + + const {labels} = convert[this.model]; + const color = []; + for (i = 0; i < labels.length; i++) { + color.push(object[labels[i]]); + } + + this.color = zeroArray(color); + } + + // Perform limitations (clamping, etc.) + if (limiters[this.model]) { + channels = convert[this.model].channels; + for (i = 0; i < channels; i++) { + const limit = limiters[this.model][i]; + if (limit) { + this.color[i] = limit(this.color[i]); + } + } + } + + this.valpha = Math.max(0, Math.min(1, this.valpha)); + + if (Object.freeze) { + Object.freeze(this); + } +} + +Color.prototype = { + toString() { + return this.string(); + }, + + toJSON() { + return this[this.model](); + }, + + string(places) { + let self = this.model in colorString.to ? this : this.rgb(); + self = self.round(typeof places === 'number' ? places : 1); + const args = self.valpha === 1 ? self.color : [...self.color, this.valpha]; + return colorString.to[self.model](args); + }, + + percentString(places) { + const self = this.rgb().round(typeof places === 'number' ? places : 1); + const args = self.valpha === 1 ? self.color : [...self.color, this.valpha]; + return colorString.to.rgb.percent(args); + }, + + array() { + return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha]; + }, + + object() { + const result = {}; + const {channels} = convert[this.model]; + const {labels} = convert[this.model]; + + for (let i = 0; i < channels; i++) { + result[labels[i]] = this.color[i]; + } + + if (this.valpha !== 1) { + result.alpha = this.valpha; + } + + return result; + }, + + unitArray() { + const rgb = this.rgb().color; + rgb[0] /= 255; + rgb[1] /= 255; + rgb[2] /= 255; + + if (this.valpha !== 1) { + rgb.push(this.valpha); + } + + return rgb; + }, + + unitObject() { + const rgb = this.rgb().object(); + rgb.r /= 255; + rgb.g /= 255; + rgb.b /= 255; + + if (this.valpha !== 1) { + rgb.alpha = this.valpha; + } + + return rgb; + }, + + round(places) { + places = Math.max(places || 0, 0); + return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model); + }, + + alpha(value) { + if (value !== undefined) { + return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model); + } + + return this.valpha; + }, + + // Rgb + red: getset('rgb', 0, maxfn(255)), + green: getset('rgb', 1, maxfn(255)), + blue: getset('rgb', 2, maxfn(255)), + + hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360), + + saturationl: getset('hsl', 1, maxfn(100)), + lightness: getset('hsl', 2, maxfn(100)), + + saturationv: getset('hsv', 1, maxfn(100)), + value: getset('hsv', 2, maxfn(100)), + + chroma: getset('hcg', 1, maxfn(100)), + gray: getset('hcg', 2, maxfn(100)), + + white: getset('hwb', 1, maxfn(100)), + wblack: getset('hwb', 2, maxfn(100)), + + cyan: getset('cmyk', 0, maxfn(100)), + magenta: getset('cmyk', 1, maxfn(100)), + yellow: getset('cmyk', 2, maxfn(100)), + black: getset('cmyk', 3, maxfn(100)), + + x: getset('xyz', 0, maxfn(95.047)), + y: getset('xyz', 1, maxfn(100)), + z: getset('xyz', 2, maxfn(108.833)), + + l: getset('lab', 0, maxfn(100)), + a: getset('lab', 1), + b: getset('lab', 2), + + keyword(value) { + if (value !== undefined) { + return new Color(value); + } + + return convert[this.model].keyword(this.color); + }, + + hex(value) { + if (value !== undefined) { + return new Color(value); + } + + return colorString.to.hex(this.rgb().round().color); + }, + + hexa(value) { + if (value !== undefined) { + return new Color(value); + } + + const rgbArray = this.rgb().round().color; + + let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase(); + if (alphaHex.length === 1) { + alphaHex = '0' + alphaHex; + } + + return colorString.to.hex(rgbArray) + alphaHex; + }, + + rgbNumber() { + const rgb = this.rgb().color; + return ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF); + }, + + luminosity() { + // http://www.w3.org/TR/WCAG20/#relativeluminancedef + const rgb = this.rgb().color; + + const lum = []; + for (const [i, element] of rgb.entries()) { + const chan = element / 255; + lum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4; + } + + return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2]; + }, + + contrast(color2) { + // http://www.w3.org/TR/WCAG20/#contrast-ratiodef + const lum1 = this.luminosity(); + const lum2 = color2.luminosity(); + + if (lum1 > lum2) { + return (lum1 + 0.05) / (lum2 + 0.05); + } + + return (lum2 + 0.05) / (lum1 + 0.05); + }, + + level(color2) { + // https://www.w3.org/TR/WCAG/#contrast-enhanced + const contrastRatio = this.contrast(color2); + if (contrastRatio >= 7) { + return 'AAA'; + } + + return (contrastRatio >= 4.5) ? 'AA' : ''; + }, + + isDark() { + // YIQ equation from http://24ways.org/2010/calculating-color-contrast + const rgb = this.rgb().color; + const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000; + return yiq < 128; + }, + + isLight() { + return !this.isDark(); + }, + + negate() { + const rgb = this.rgb(); + for (let i = 0; i < 3; i++) { + rgb.color[i] = 255 - rgb.color[i]; + } + + return rgb; + }, + + lighten(ratio) { + const hsl = this.hsl(); + hsl.color[2] += hsl.color[2] * ratio; + return hsl; + }, + + darken(ratio) { + const hsl = this.hsl(); + hsl.color[2] -= hsl.color[2] * ratio; + return hsl; + }, + + saturate(ratio) { + const hsl = this.hsl(); + hsl.color[1] += hsl.color[1] * ratio; + return hsl; + }, + + desaturate(ratio) { + const hsl = this.hsl(); + hsl.color[1] -= hsl.color[1] * ratio; + return hsl; + }, + + whiten(ratio) { + const hwb = this.hwb(); + hwb.color[1] += hwb.color[1] * ratio; + return hwb; + }, + + blacken(ratio) { + const hwb = this.hwb(); + hwb.color[2] += hwb.color[2] * ratio; + return hwb; + }, + + grayscale() { + // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale + const rgb = this.rgb().color; + const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11; + return Color.rgb(value, value, value); + }, + + fade(ratio) { + return this.alpha(this.valpha - (this.valpha * ratio)); + }, + + opaquer(ratio) { + return this.alpha(this.valpha + (this.valpha * ratio)); + }, + + rotate(degrees) { + const hsl = this.hsl(); + let hue = hsl.color[0]; + hue = (hue + degrees) % 360; + hue = hue < 0 ? 360 + hue : hue; + hsl.color[0] = hue; + return hsl; + }, + + mix(mixinColor, weight) { + // Ported from sass implementation in C + // https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209 + if (!mixinColor || !mixinColor.rgb) { + throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor); + } + + const color1 = mixinColor.rgb(); + const color2 = this.rgb(); + const p = weight === undefined ? 0.5 : weight; + + const w = 2 * p - 1; + const a = color1.alpha() - color2.alpha(); + + const w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2; + const w2 = 1 - w1; + + return Color.rgb( + w1 * color1.red() + w2 * color2.red(), + w1 * color1.green() + w2 * color2.green(), + w1 * color1.blue() + w2 * color2.blue(), + color1.alpha() * p + color2.alpha() * (1 - p)); + }, +}; + +// Model conversion methods and static constructors +for (const model of Object.keys(convert)) { + if (skippedModels.includes(model)) { + continue; + } + + const {channels} = convert[model]; + + // Conversion methods + Color.prototype[model] = function (...args) { + if (this.model === model) { + return new Color(this); + } + + if (args.length > 0) { + return new Color(args, model); + } + + return new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model); + }; + + // 'static' construction methods + Color[model] = function (...args) { + let color = args[0]; + if (typeof color === 'number') { + color = zeroArray(args, channels); + } + + return new Color(color, model); + }; +} + +function roundTo(number, places) { + return Number(number.toFixed(places)); +} + +function roundToPlace(places) { + return function (number) { + return roundTo(number, places); + }; +} + +function getset(model, channel, modifier) { + model = Array.isArray(model) ? model : [model]; + + for (const m of model) { + (limiters[m] || (limiters[m] = []))[channel] = modifier; + } + + model = model[0]; + + return function (value) { + let result; + + if (value !== undefined) { + if (modifier) { + value = modifier(value); + } + + result = this[model](); + result.color[channel] = value; + return result; + } + + result = this[model]().color[channel]; + if (modifier) { + result = modifier(result); + } + + return result; + }; +} + +function maxfn(max) { + return function (v) { + return Math.max(0, Math.min(max, v)); + }; +} + +function assertArray(value) { + return Array.isArray(value) ? value : [value]; +} + +function zeroArray(array, length) { + for (let i = 0; i < length; i++) { + if (typeof array[i] !== 'number') { + array[i] = 0; + } + } + + return array; +} + +module.exports = Color; diff --git a/.output/server/node_modules/color/package.json b/.output/server/node_modules/color/package.json new file mode 100644 index 00000000..ed127114 --- /dev/null +++ b/.output/server/node_modules/color/package.json @@ -0,0 +1,47 @@ +{ + "name": "color", + "version": "4.2.3", + "description": "Color conversion and manipulation with CSS string support", + "sideEffects": false, + "keywords": [ + "color", + "colour", + "css" + ], + "authors": [ + "Josh Junon <josh@junon.me>", + "Heather Arthur <fayearthur@gmail.com>", + "Maxime Thirouin" + ], + "license": "MIT", + "repository": "Qix-/color", + "xo": { + "rules": { + "no-cond-assign": 0, + "new-cap": 0, + "unicorn/prefer-module": 0, + "no-mixed-operators": 0, + "complexity": 0, + "unicorn/numeric-separators-style": 0 + } + }, + "files": [ + "LICENSE", + "index.js" + ], + "scripts": { + "pretest": "xo", + "test": "mocha" + }, + "engines": { + "node": ">=12.5.0" + }, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "devDependencies": { + "mocha": "9.0.2", + "xo": "0.42.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/combined-stream/lib/combined_stream.js b/.output/server/node_modules/combined-stream/lib/combined_stream.js new file mode 100644 index 00000000..125f097f --- /dev/null +++ b/.output/server/node_modules/combined-stream/lib/combined_stream.js @@ -0,0 +1,208 @@ +var util = require('util'); +var Stream = require('stream').Stream; +var DelayedStream = require('delayed-stream'); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; diff --git a/.output/server/node_modules/combined-stream/package.json b/.output/server/node_modules/combined-stream/package.json new file mode 100644 index 00000000..2830f915 --- /dev/null +++ b/.output/server/node_modules/combined-stream/package.json @@ -0,0 +1,25 @@ +{ + "author": "Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)", + "name": "combined-stream", + "description": "A stream that emits multiple other streams one after another.", + "version": "1.0.8", + "homepage": "https://github.com/felixge/node-combined-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-combined-stream.git" + }, + "main": "./lib/combined_stream", + "scripts": { + "test": "node test/run.js" + }, + "engines": { + "node": ">= 0.8" + }, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "devDependencies": { + "far": "~0.0.7" + }, + "license": "MIT" +} \ No newline at end of file diff --git a/.output/server/node_modules/compute-scroll-into-view/dist/index.mjs b/.output/server/node_modules/compute-scroll-into-view/dist/index.mjs new file mode 100644 index 00000000..22f27b25 --- /dev/null +++ b/.output/server/node_modules/compute-scroll-into-view/dist/index.mjs @@ -0,0 +1,2 @@ +function t(t){return"object"==typeof t&&null!=t&&1===t.nodeType}function e(t,e){return(!e||"hidden"!==t)&&"visible"!==t&&"clip"!==t}function n(t,n){if(t.clientHeight<t.scrollHeight||t.clientWidth<t.scrollWidth){var r=getComputedStyle(t,null);return e(r.overflowY,n)||e(r.overflowX,n)||function(t){var e=function(t){if(!t.ownerDocument||!t.ownerDocument.defaultView)return null;try{return t.ownerDocument.defaultView.frameElement}catch(t){return null}}(t);return!!e&&(e.clientHeight<t.scrollHeight||e.clientWidth<t.scrollWidth)}(t)}return!1}function r(t,e,n,r,i,o,l,d){return o<t&&l>e||o>t&&l<e?0:o<=t&&d<=n||l>=e&&d>=n?o-t-r:l>e&&d<n||o<t&&d>n?l-e+i:0}var i=function(e,i){var o=window,l=i.scrollMode,d=i.block,f=i.inline,h=i.boundary,u=i.skipOverflowHiddenElements,s="function"==typeof h?h:function(t){return t!==h};if(!t(e))throw new TypeError("Invalid target");for(var a,c,g=document.scrollingElement||document.documentElement,p=[],m=e;t(m)&&s(m);){if((m=null==(c=(a=m).parentElement)?a.getRootNode().host||null:c)===g){p.push(m);break}null!=m&&m===document.body&&n(m)&&!n(document.documentElement)||null!=m&&n(m,u)&&p.push(m)}for(var w=o.visualViewport?o.visualViewport.width:innerWidth,v=o.visualViewport?o.visualViewport.height:innerHeight,W=window.scrollX||pageXOffset,H=window.scrollY||pageYOffset,b=e.getBoundingClientRect(),y=b.height,E=b.width,M=b.top,V=b.right,x=b.bottom,I=b.left,C="start"===d||"nearest"===d?M:"end"===d?x:M+y/2,R="center"===f?I+E/2:"end"===f?V:I,T=[],k=0;k<p.length;k++){var B=p[k],D=B.getBoundingClientRect(),O=D.height,X=D.width,Y=D.top,L=D.right,S=D.bottom,j=D.left;if("if-needed"===l&&M>=0&&I>=0&&x<=v&&V<=w&&M>=Y&&x<=S&&I>=j&&V<=L)return T;var N=getComputedStyle(B),q=parseInt(N.borderLeftWidth,10),z=parseInt(N.borderTopWidth,10),A=parseInt(N.borderRightWidth,10),F=parseInt(N.borderBottomWidth,10),G=0,J=0,K="offsetWidth"in B?B.offsetWidth-B.clientWidth-q-A:0,P="offsetHeight"in B?B.offsetHeight-B.clientHeight-z-F:0,Q="offsetWidth"in B?0===B.offsetWidth?0:X/B.offsetWidth:0,U="offsetHeight"in B?0===B.offsetHeight?0:O/B.offsetHeight:0;if(g===B)G="start"===d?C:"end"===d?C-v:"nearest"===d?r(H,H+v,v,z,F,H+C,H+C+y,y):C-v/2,J="start"===f?R:"center"===f?R-w/2:"end"===f?R-w:r(W,W+w,w,q,A,W+R,W+R+E,E),G=Math.max(0,G+H),J=Math.max(0,J+W);else{G="start"===d?C-Y-z:"end"===d?C-S+F+P:"nearest"===d?r(Y,S,O,z,F+P,C,C+y,y):C-(Y+O/2)+P/2,J="start"===f?R-j-q:"center"===f?R-(j+X/2)+K/2:"end"===f?R-L+A+K:r(j,L,X,q,A+K,R,R+E,E);var Z=B.scrollLeft,$=B.scrollTop;C+=$-(G=Math.max(0,Math.min($+G/U,B.scrollHeight-O/U+P))),R+=Z-(J=Math.max(0,Math.min(Z+J/Q,B.scrollWidth-X/Q+K)))}T.push({el:B,top:G,left:J})}return T};export{i as default}; +//# sourceMappingURL=index.mjs.map diff --git a/.output/server/node_modules/compute-scroll-into-view/package.json b/.output/server/node_modules/compute-scroll-into-view/package.json new file mode 100644 index 00000000..e74467d0 --- /dev/null +++ b/.output/server/node_modules/compute-scroll-into-view/package.json @@ -0,0 +1,92 @@ +{ + "name": "compute-scroll-into-view", + "version": "1.0.20", + "description": "The engine that powers scroll-into-view-if-needed", + "keywords": [ + "if-needed", + "scroll", + "scroll-into-view", + "scroll-into-view-if-needed", + "scrollIntoView", + "scrollIntoViewIfNeeded", + "scrollMode", + "typescript" + ], + "homepage": "https://scroll-into-view.dev", + "repository": { + "type": "git", + "url": "git+https://github.com/scroll-into-view/compute-scroll-into-view.git" + }, + "license": "MIT", + "author": "Cody Olsen", + "sideEffects": false, + "exports": { + ".": { + "types": "./typings/index.d.ts", + "source": "./src/index.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js", + "default": "./dist/index.mjs" + }, + "./package.json": "./package.json" + }, + "main": "dist/index.js", + "umd:main": "umd/compute-scroll-into-view.min.js", + "module": "dist/index.mjs", + "source": "src/index.ts", + "typings": "typings/index.d.ts", + "files": [ + "dist", + "typings", + "umd/compute-scroll-into-view.min.js", + "umd/compute-scroll-into-view.min.js.map" + ], + "scripts": { + "prebuild": "rimraf 'dist' 'umd'", + "build": "npm run build:dist && npm run build:umd", + "build:dist": "microbundle -f cjs,es", + "build:umd": "microbundle -f umd -o umd", + "prepublishOnly": "npm run build", + "test": "jest -c integration/jest.config.js", + "typecheck": "tsc --noEmit" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,ts,tsx,json,md}": "prettier --write" + }, + "browserify": { + "transform": [ + "loose-envify" + ] + }, + "prettier": { + "semi": false, + "singleQuote": true + }, + "devDependencies": { + "@sanity/semantic-release-preset": "^2.0.2", + "husky": "^8.0.2", + "jest": "^29.3.1", + "jest-junit": "^15.0.0", + "jest-puppeteer": "^6.1.1", + "lint-staged": "^13.0.4", + "microbundle": "^0.15.1", + "prettier": "^2.8.0", + "prettier-plugin-packagejson": "^2.3.0", + "puppeteer": "^19.3.0", + "rimraf": "^3.0.2", + "serve": "^14.1.2", + "typescript": "^4.9.3" + }, + "bundlesize": [ + { + "path": "./umd/compute-scroll-into-view.min.js", + "maxSize": "3 kB", + "compression": "none" + } + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/consola/dist/chunks/prompt.mjs b/.output/server/node_modules/consola/dist/chunks/prompt.mjs new file mode 100644 index 00000000..12685c58 --- /dev/null +++ b/.output/server/node_modules/consola/dist/chunks/prompt.mjs @@ -0,0 +1,280 @@ +import 'node:util'; +import g, { stdin, stdout } from 'node:process'; +import f from 'node:readline'; +import { WriteStream } from 'node:tty'; + +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +var src; +var hasRequiredSrc; + +function requireSrc () { + if (hasRequiredSrc) return src; + hasRequiredSrc = 1; + + const ESC = '\x1B'; + const CSI = `${ESC}[`; + const beep = '\u0007'; + + const cursor = { + to(x, y) { + if (!y) return `${CSI}${x + 1}G`; + return `${CSI}${y + 1};${x + 1}H`; + }, + move(x, y) { + let ret = ''; + + if (x < 0) ret += `${CSI}${-x}D`; + else if (x > 0) ret += `${CSI}${x}C`; + + if (y < 0) ret += `${CSI}${-y}A`; + else if (y > 0) ret += `${CSI}${y}B`; + + return ret; + }, + up: (count = 1) => `${CSI}${count}A`, + down: (count = 1) => `${CSI}${count}B`, + forward: (count = 1) => `${CSI}${count}C`, + backward: (count = 1) => `${CSI}${count}D`, + nextLine: (count = 1) => `${CSI}E`.repeat(count), + prevLine: (count = 1) => `${CSI}F`.repeat(count), + left: `${CSI}G`, + hide: `${CSI}?25l`, + show: `${CSI}?25h`, + save: `${ESC}7`, + restore: `${ESC}8` + }; + + const scroll = { + up: (count = 1) => `${CSI}S`.repeat(count), + down: (count = 1) => `${CSI}T`.repeat(count) + }; + + const erase = { + screen: `${CSI}2J`, + up: (count = 1) => `${CSI}1J`.repeat(count), + down: (count = 1) => `${CSI}J`.repeat(count), + line: `${CSI}2K`, + lineEnd: `${CSI}K`, + lineStart: `${CSI}1K`, + lines(count) { + let clear = ''; + for (let i = 0; i < count; i++) + clear += this.line + (i < count - 1 ? cursor.up() : ''); + if (count) + clear += cursor.left; + return clear; + } + }; + + src = { cursor, scroll, erase, beep }; + return src; +} + +var srcExports = requireSrc(); + +var picocolors = {exports: {}}; + +var hasRequiredPicocolors; + +function requirePicocolors () { + if (hasRequiredPicocolors) return picocolors.exports; + hasRequiredPicocolors = 1; + let p = process || {}, argv = p.argv || [], env = p.env || {}; + let isColorSupported = + !(!!env.NO_COLOR || argv.includes("--no-color")) && + (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || ((p.stdout || {}).isTTY && env.TERM !== "dumb") || !!env.CI); + + let formatter = (open, close, replace = open) => + input => { + let string = "" + input, index = string.indexOf(close, open.length); + return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close + }; + + let replaceClose = (string, close, replace, index) => { + let result = "", cursor = 0; + do { + result += string.substring(cursor, index) + replace; + cursor = index + close.length; + index = string.indexOf(close, cursor); + } while (~index) + return result + string.substring(cursor) + }; + + let createColors = (enabled = isColorSupported) => { + let f = enabled ? formatter : () => String; + return { + isColorSupported: enabled, + reset: f("\x1b[0m", "\x1b[0m"), + bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"), + dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"), + italic: f("\x1b[3m", "\x1b[23m"), + underline: f("\x1b[4m", "\x1b[24m"), + inverse: f("\x1b[7m", "\x1b[27m"), + hidden: f("\x1b[8m", "\x1b[28m"), + strikethrough: f("\x1b[9m", "\x1b[29m"), + + black: f("\x1b[30m", "\x1b[39m"), + red: f("\x1b[31m", "\x1b[39m"), + green: f("\x1b[32m", "\x1b[39m"), + yellow: f("\x1b[33m", "\x1b[39m"), + blue: f("\x1b[34m", "\x1b[39m"), + magenta: f("\x1b[35m", "\x1b[39m"), + cyan: f("\x1b[36m", "\x1b[39m"), + white: f("\x1b[37m", "\x1b[39m"), + gray: f("\x1b[90m", "\x1b[39m"), + + bgBlack: f("\x1b[40m", "\x1b[49m"), + bgRed: f("\x1b[41m", "\x1b[49m"), + bgGreen: f("\x1b[42m", "\x1b[49m"), + bgYellow: f("\x1b[43m", "\x1b[49m"), + bgBlue: f("\x1b[44m", "\x1b[49m"), + bgMagenta: f("\x1b[45m", "\x1b[49m"), + bgCyan: f("\x1b[46m", "\x1b[49m"), + bgWhite: f("\x1b[47m", "\x1b[49m"), + + blackBright: f("\x1b[90m", "\x1b[39m"), + redBright: f("\x1b[91m", "\x1b[39m"), + greenBright: f("\x1b[92m", "\x1b[39m"), + yellowBright: f("\x1b[93m", "\x1b[39m"), + blueBright: f("\x1b[94m", "\x1b[39m"), + magentaBright: f("\x1b[95m", "\x1b[39m"), + cyanBright: f("\x1b[96m", "\x1b[39m"), + whiteBright: f("\x1b[97m", "\x1b[39m"), + + bgBlackBright: f("\x1b[100m", "\x1b[49m"), + bgRedBright: f("\x1b[101m", "\x1b[49m"), + bgGreenBright: f("\x1b[102m", "\x1b[49m"), + bgYellowBright: f("\x1b[103m", "\x1b[49m"), + bgBlueBright: f("\x1b[104m", "\x1b[49m"), + bgMagentaBright: f("\x1b[105m", "\x1b[49m"), + bgCyanBright: f("\x1b[106m", "\x1b[49m"), + bgWhiteBright: f("\x1b[107m", "\x1b[49m"), + } + }; + + picocolors.exports = createColors(); + picocolors.exports.createColors = createColors; + return picocolors.exports; +} + +var picocolorsExports = /*@__PURE__*/ requirePicocolors(); +const e = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports); + +function J({onlyFirst:t=false}={}){const F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(F,t?void 0:"g")}const Q=J();function T$1(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(Q,"")}function O(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var P$1={exports:{}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),i=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,D=s<<10|i,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?"F":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?"H":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?"W":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?"Na":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?"A":"N"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s=="F"||s=="W"||s=="A"?2:1};function F(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),i=0,D=0;D<s.length;D++)i=i+this.characterLength(s[D]);return i},u.slice=function(e,s,i){textLen=u.length(e),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var D="",C=0,o=F(e),E=0;E<o.length;E++){var a=o[E],n=u.length(a);if(C>=s-(n==2?1:0))if(C+n<=i)D+=a;else break;C+=n;}return D};})(P$1);var X=P$1.exports;const DD=O(X);var uD=function(){return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};const FD=O(uD);function A$1(t,u={}){if(typeof t!="string"||t.length===0||(u={ambiguousIsNarrow:true,...u},t=T$1(t),t.length===0))return 0;t=t.replace(FD()," ");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const i=s.codePointAt(0);if(i<=31||i>=127&&i<=159||i>=768&&i<=879)continue;switch(DD.eastAsianWidth(s)){case "F":case "W":e+=2;break;case "A":e+=F;break;default:e+=1;}}return e}const m=10,L$1=(t=0)=>u=>`\x1B[${u+t}m`,N=(t=0)=>u=>`\x1B[${38+t};5;${u}m`,I=(t=0)=>(u,F,e)=>`\x1B[${38+t};2;${u};${F};${e}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(r.modifier);const tD=Object.keys(r.color),eD=Object.keys(r.bgColor);[...tD,...eD];function sD(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:false});}return Object.defineProperty(r,"codes",{value:t,enumerable:false}),r.color.close="\x1B[39m",r.bgColor.close="\x1B[49m",r.color.ansi=L$1(),r.color.ansi256=N(),r.color.ansi16m=I(),r.bgColor.ansi=L$1(m),r.bgColor.ansi256=N(m),r.bgColor.ansi16m=I(m),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:false},hexToRgb:{value:u=>{const F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return [0,0,0];let[e]=F;e.length===3&&(e=[...e].map(i=>i+i).join(""));const s=Number.parseInt(e,16);return [s>>16&255,s>>8&255,s&255]},enumerable:false},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:false},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else {u-=16;const C=u%36;F=Math.floor(u/36)/5,e=Math.floor(C/6)/5,s=C%6/5;}const i=Math.max(F,e,s)*2;if(i===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return i===2&&(D+=60),D},enumerable:false},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:false},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:false}}),r}const iD=sD(),v=new Set(["\x1B","\x9B"]),CD=39,w$1="\x07",W$1="[",rD="]",R="m",y=`${rD}8;;`,V$1=t=>`${v.values().next().value}${W$1}${t}${R}`,z=t=>`${v.values().next().value}${y}${t}${w$1}`,ED=t=>t.split(" ").map(u=>A$1(u)),_=(t,u,F)=>{const e=[...u];let s=false,i=false,D=A$1(T$1(t[t.length-1]));for(const[C,o]of e.entries()){const E=A$1(o);if(D+E<=F?t[t.length-1]+=o:(t.push(o),D=0),v.has(o)&&(s=true,i=e.slice(C+1).join("").startsWith(y)),s){i?o===w$1&&(s=false,i=false):o===R&&(s=false);continue}D+=E,D===F&&C<e.length-1&&(t.push(""),D=0);}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop());},nD=t=>{const u=t.split(" ");let F=u.length;for(;F>0&&!(A$1(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(" ")+u.slice(F).join("")},oD=(t,u,F={})=>{if(F.trim!==false&&t.trim()==="")return "";let e="",s,i;const D=ED(t);let C=[""];for(const[E,a]of t.split(" ").entries()){F.trim!==false&&(C[C.length-1]=C[C.length-1].trimStart());let n=A$1(C[C.length-1]);if(E!==0&&(n>=u&&(F.wordWrap===false||F.trim===false)&&(C.push(""),n=0),(n>0||F.trim===false)&&(C[C.length-1]+=" ",n++)),F.hard&&D[E]>u){const B=u-n,p=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<p&&C.push(""),_(C,a,u);continue}if(n+D[E]>u&&n>0&&D[E]>0){if(F.wordWrap===false&&n<u){_(C,a,u);continue}C.push("");}if(n+D[E]>u&&F.wordWrap===false){_(C,a,u);continue}C[C.length-1]+=a;}F.trim!==false&&(C=C.map(E=>nD(E)));const o=[...C.join(` +`)];for(const[E,a]of o.entries()){if(e+=a,v.has(a)){const{groups:B}=new RegExp(`(?:\\${W$1}(?<code>\\d+)m|\\${y}(?<uri>.*)${w$1})`).exec(o.slice(E).join(""))||{groups:{}};if(B.code!==void 0){const p=Number.parseFloat(B.code);s=p===CD?void 0:p;}else B.uri!==void 0&&(i=B.uri.length===0?void 0:B.uri);}const n=iD.codes.get(Number(s));o[E+1]===` +`?(i&&(e+=z("")),s&&n&&(e+=V$1(n))):a===` +`&&(s&&n&&(e+=V$1(s)),i&&(e+=z(i)));}return e};function G(t,u,F){return String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(e=>oD(e,u,F)).join(` +`)}const aD=["up","down","left","right","space","enter","cancel"],c={actions:new Set(aD),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]])};function k$1(t,u){if(typeof t=="string")return c.aliases.get(t)===u;for(const F of t)if(F!==void 0&&k$1(F,u))return true;return false}function lD(t,u){if(t===u)return;const F=t.split(` +`),e=u.split(` +`),s=[];for(let i=0;i<Math.max(F.length,e.length);i++)F[i]!==e[i]&&s.push(i);return s}globalThis.process.platform.startsWith("win");const S=Symbol("clack:cancel");function d$1(t,u){const F=t;F.isTTY&&F.setRawMode(u);}var AD=Object.defineProperty,pD=(t,u,F)=>u in t?AD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,h=(t,u,F)=>(pD(t,typeof u!="symbol"?u+"":u,F),F);class x{constructor(u,F=true){h(this,"input"),h(this,"output"),h(this,"_abortSignal"),h(this,"rl"),h(this,"opts"),h(this,"_render"),h(this,"_track",false),h(this,"_prevFrame",""),h(this,"_subscribers",new Map),h(this,"_cursor",0),h(this,"state","initial"),h(this,"error",""),h(this,"value");const{input:e=stdin,output:s=stdout,render:i,signal:D,...C}=u;this.opts=C,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=F,this._abortSignal=D,this.input=e,this.output=s;}unsubscribe(){this._subscribers.clear();}setSubscriber(u,F){const e=this._subscribers.get(u)??[];e.push(F),this._subscribers.set(u,e);}on(u,F){this.setSubscriber(u,{cb:F});}once(u,F){this.setSubscriber(u,{cb:F,once:true});}emit(u,...F){const e=this._subscribers.get(u)??[],s=[];for(const i of e)i.cb(...F),i.once&&s.push(()=>e.splice(e.indexOf(i),1));for(const i of s)i();}prompt(){return new Promise((u,F)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),u(S);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close();},{once:true});}const e=new WriteStream(0);e._write=(s,i,D)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),D();},this.input.pipe(e),this.rl=f.createInterface({input:this.input,output:e,tabSize:2,prompt:"",escapeCodeTimeout:50}),f.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),d$1(this.input,true),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(srcExports.cursor.show),this.output.off("resize",this.render),d$1(this.input,false),u(this.value);}),this.once("cancel",()=>{this.output.write(srcExports.cursor.show),this.output.off("resize",this.render),d$1(this.input,false),u(S);});})}onKeypress(u,F){if(this.state==="error"&&(this.state="active"),F?.name&&(!this._track&&c.aliases.has(F.name)&&this.emit("cursor",c.aliases.get(F.name)),c.actions.has(F.name)&&this.emit("cursor",F.name)),u&&(u.toLowerCase()==="y"||u.toLowerCase()==="n")&&this.emit("confirm",u.toLowerCase()==="y"),u===" "&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),u&&this.emit("key",u.toLowerCase()),F?.name==="return"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state="error",this.rl?.write(this.value));}this.state!=="error"&&(this.state="submit");}k$1([u,F?.name,F?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close();}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(` +`),d$1(this.input,false),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){const u=G(this._prevFrame,process.stdout.columns,{hard:true}).split(` +`).length-1;this.output.write(srcExports.cursor.move(-999,u*-1));}render(){const u=G(this._render(this)??"",process.stdout.columns,{hard:true});if(u!==this._prevFrame){if(this.state==="initial")this.output.write(srcExports.cursor.hide);else {const F=lD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.lines(1));const s=u.split(` +`);this.output.write(s[e]),this._prevFrame=u,this.output.write(srcExports.cursor.move(0,s.length-e-1));return}if(F&&F?.length>1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.down());const s=u.split(` +`).slice(e);this.output.write(s.join(` +`)),this._prevFrame=u;return}this.output.write(srcExports.erase.down());}this.output.write(u),this.state==="initial"&&(this.state="active"),this._prevFrame=u;}}}class fD extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,false),this.value=!!u.initialValue,this.on("value",()=>{this.value=this._value;}),this.on("confirm",F=>{this.output.write(srcExports.cursor.move(0,-1)),this.value=F,this.state="submit",this.close();}),this.on("cursor",()=>{this.value=!this.value;});}}var bD=Object.defineProperty,mD=(t,u,F)=>u in t?bD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,Y=(t,u,F)=>(mD(t,typeof u!="symbol"?u+"":u,F),F);let wD=class extends x{constructor(u){super(u,false),Y(this,"options"),Y(this,"cursor",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on("key",F=>{F==="a"&&this.toggleAll();}),this.on("cursor",F=>{switch(F){case "left":case "up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case "down":case "right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case "space":this.toggleValue();break}});}get _value(){return this.options[this.cursor].value}toggleAll(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value);}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value];}};var SD=Object.defineProperty,$D=(t,u,F)=>u in t?SD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,q=(t,u,F)=>($D(t,typeof u!="symbol"?u+"":u,F),F);class jD extends x{constructor(u){super(u,false),q(this,"options"),q(this,"cursor",0),this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",F=>{switch(F){case "left":case "up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case "down":case "right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue();});}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value;}}class PD extends x{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return `${this.value}\u2588`;const u=this.value.slice(0,this.cursor),[F,...e$1]=this.value.slice(this.cursor);return `${u}${e.inverse(F)}${e$1.join("")}`}get cursor(){return this._cursor}constructor(u){super(u),this.on("finalize",()=>{this.value||(this.value=u.defaultValue);});}} + +function ce(){return g.platform!=="win32"?g.env.TERM!=="linux":!!g.env.CI||!!g.env.WT_SESSION||!!g.env.TERMINUS_SUBLIME||g.env.ConEmuTask==="{cmd::Cmder}"||g.env.TERM_PROGRAM==="Terminus-Sublime"||g.env.TERM_PROGRAM==="vscode"||g.env.TERM==="xterm-256color"||g.env.TERM==="alacritty"||g.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const V=ce(),u=(t,n)=>V?t:n,le=u("❯", ">"),L=u("■", "x"),W=u("▲", "x"),C=u("✔", "√"),o=u(""),d=u(""),k=u("\u25CF",">"),P=u("\u25CB"," "),A=u("\u25FB","[\u2022]"),T=u("\u25FC","[+]"),F=u("\u25FB","[ ]"),w=t=>{switch(t){case "initial":case "active":return e.cyan(le);case "cancel":return e.red(L);case "error":return e.yellow(W);case "submit":return e.green(C)}},B=t=>{const{cursor:n,options:s,style:r}=t,i=t.maxItems??Number.POSITIVE_INFINITY,a=Math.max(process.stdout.rows-4,0),c=Math.min(a,Math.max(i,5));let l=0;n>=l+c-3?l=Math.max(Math.min(n-c+3,s.length-c),0):n<l+2&&(l=Math.max(n-2,0));const $=c<s.length&&l>0,p=c<s.length&&l+c<s.length;return s.slice(l,l+c).map((M,v,x)=>{const j=v===0&&$,E=v===x.length-1&&p;return j||E?e.dim("..."):r(M,v+l===n)})},he=t=>new PD({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,render(){const n=`${e.gray(o)} +${w(this.state)} ${t.message} +`,s=t.placeholder?e.inverse(t.placeholder[0])+e.dim(t.placeholder.slice(1)):e.inverse(e.hidden("_")),r=this.value?this.valueWithCursor:s;switch(this.state){case "error":return `${n.trim()} +${e.yellow(o)} ${r} +${e.yellow(d)} ${e.yellow(this.error)} +`;case "submit":return `${n}${e.gray(o)} ${e.dim(this.value||t.placeholder)}`;case "cancel":return `${n}${e.gray(o)} ${e.strikethrough(e.dim(this.value??""))}${this.value?.trim()?` +${e.gray(o)}`:""}`;default:return `${n}${e.cyan(o)} ${r} +${e.cyan(d)} +`}}}).prompt(),ye=t=>{const n=t.active??"Yes",s=t.inactive??"No";return new fD({active:n,inactive:s,initialValue:t.initialValue??true,render(){const r=`${e.gray(o)} +${w(this.state)} ${t.message} +`,i=this.value?n:s;switch(this.state){case "submit":return `${r}${e.gray(o)} ${e.dim(i)}`;case "cancel":return `${r}${e.gray(o)} ${e.strikethrough(e.dim(i))} +${e.gray(o)}`;default:return `${r}${e.cyan(o)} ${this.value?`${e.green(k)} ${n}`:`${e.dim(P)} ${e.dim(n)}`} ${e.dim("/")} ${this.value?`${e.dim(P)} ${e.dim(s)}`:`${e.green(k)} ${s}`} +${e.cyan(d)} +`}}}).prompt()},ve=t=>{const n=(s,r)=>{const i=s.label??String(s.value);switch(r){case "selected":return `${e.dim(i)}`;case "active":return `${e.green(k)} ${i} ${s.hint?e.dim(`(${s.hint})`):""}`;case "cancelled":return `${e.strikethrough(e.dim(i))}`;default:return `${e.dim(P)} ${e.dim(i)}`}};return new jD({options:t.options,initialValue:t.initialValue,render(){const s=`${e.gray(o)} +${w(this.state)} ${t.message} +`;switch(this.state){case "submit":return `${s}${e.gray(o)} ${n(this.options[this.cursor],"selected")}`;case "cancel":return `${s}${e.gray(o)} ${n(this.options[this.cursor],"cancelled")} +${e.gray(o)}`;default:return `${s}${e.cyan(o)} ${B({cursor:this.cursor,options:this.options,maxItems:t.maxItems,style:(r,i)=>n(r,i?"active":"inactive")}).join(` +${e.cyan(o)} `)} +${e.cyan(d)} +`}}}).prompt()},fe=t=>{const n=(s,r)=>{const i=s.label??String(s.value);return r==="active"?`${e.cyan(A)} ${i} ${s.hint?e.dim(`(${s.hint})`):""}`:r==="selected"?`${e.green(T)} ${e.dim(i)}`:r==="cancelled"?`${e.strikethrough(e.dim(i))}`:r==="active-selected"?`${e.green(T)} ${i} ${s.hint?e.dim(`(${s.hint})`):""}`:r==="submitted"?`${e.dim(i)}`:`${e.dim(F)} ${e.dim(i)}`};return new wD({options:t.options,initialValues:t.initialValues,required:t.required??true,cursorAt:t.cursorAt,validate(s){if(this.required&&s.length===0)return `Please select at least one option. +${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(" space ")))} to select, ${e.gray(e.bgWhite(e.inverse(" enter ")))} to submit`))}`},render(){const s=`${e.gray(o)} +${w(this.state)} ${t.message} +`,r=(i,a)=>{const c=this.value.includes(i.value);return a&&c?n(i,"active-selected"):c?n(i,"selected"):n(i,a?"active":"inactive")};switch(this.state){case "submit":return `${s}${e.gray(o)} ${this.options.filter(({value:i})=>this.value.includes(i)).map(i=>n(i,"submitted")).join(e.dim(", "))||e.dim("none")}`;case "cancel":{const i=this.options.filter(({value:a})=>this.value.includes(a)).map(a=>n(a,"cancelled")).join(e.dim(", "));return `${s}${e.gray(o)} ${i.trim()?`${i} +${e.gray(o)}`:""}`}case "error":{const i=this.error.split(` +`).map((a,c)=>c===0?`${e.yellow(d)} ${e.yellow(a)}`:` ${a}`).join(` +`);return `${s+e.yellow(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(` +${e.yellow(o)} `)} +${i} +`}default:return `${s}${e.cyan(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(` +${e.cyan(o)} `)} +${e.cyan(d)} +`}}}).prompt()};`${e.gray(o)} `; + +const kCancel = Symbol.for("cancel"); +async function prompt(message, opts = {}) { + const handleCancel = (value) => { + if (typeof value !== "symbol" || value.toString() !== "Symbol(clack:cancel)") { + return value; + } + switch (opts.cancel) { + case "reject": { + const error = new Error("Prompt cancelled."); + error.name = "ConsolaPromptCancelledError"; + if (Error.captureStackTrace) { + Error.captureStackTrace(error, prompt); + } + throw error; + } + case "undefined": { + return void 0; + } + case "null": { + return null; + } + case "symbol": { + return kCancel; + } + default: + case "default": { + return opts.default ?? opts.initial; + } + } + }; + if (!opts.type || opts.type === "text") { + return await he({ + message, + defaultValue: opts.default, + placeholder: opts.placeholder, + initialValue: opts.initial + }).then(handleCancel); + } + if (opts.type === "confirm") { + return await ye({ + message, + initialValue: opts.initial + }).then(handleCancel); + } + if (opts.type === "select") { + return await ve({ + message, + options: opts.options.map( + (o) => typeof o === "string" ? { value: o, label: o } : o + ), + initialValue: opts.initial + }).then(handleCancel); + } + if (opts.type === "multiselect") { + return await fe({ + message, + options: opts.options.map( + (o) => typeof o === "string" ? { value: o, label: o } : o + ), + required: opts.required, + initialValues: opts.initial + }).then(handleCancel); + } + throw new Error(`Unknown prompt type: ${opts.type}`); +} + +export { kCancel, prompt }; diff --git a/.output/server/node_modules/consola/dist/core.mjs b/.output/server/node_modules/consola/dist/core.mjs new file mode 100644 index 00000000..9697fec5 --- /dev/null +++ b/.output/server/node_modules/consola/dist/core.mjs @@ -0,0 +1,512 @@ +const LogLevels = { + silent: Number.NEGATIVE_INFINITY, + fatal: 0, + error: 0, + warn: 1, + log: 2, + info: 3, + success: 3, + fail: 3, + ready: 3, + start: 3, + box: 3, + debug: 4, + trace: 5, + verbose: Number.POSITIVE_INFINITY +}; +const LogTypes = { + // Silent + silent: { + level: -1 + }, + // Level 0 + fatal: { + level: LogLevels.fatal + }, + error: { + level: LogLevels.error + }, + // Level 1 + warn: { + level: LogLevels.warn + }, + // Level 2 + log: { + level: LogLevels.log + }, + // Level 3 + info: { + level: LogLevels.info + }, + success: { + level: LogLevels.success + }, + fail: { + level: LogLevels.fail + }, + ready: { + level: LogLevels.info + }, + start: { + level: LogLevels.info + }, + box: { + level: LogLevels.info + }, + // Level 4 + debug: { + level: LogLevels.debug + }, + // Level 5 + trace: { + level: LogLevels.trace + }, + // Verbose + verbose: { + level: LogLevels.verbose + } +}; + +function isPlainObject$1(value) { + if (value === null || typeof value !== "object") { + return false; + } + const prototype = Object.getPrototypeOf(value); + if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) { + return false; + } + if (Symbol.iterator in value) { + return false; + } + if (Symbol.toStringTag in value) { + return Object.prototype.toString.call(value) === "[object Module]"; + } + return true; +} + +function _defu(baseObject, defaults, namespace = ".", merger) { + if (!isPlainObject$1(defaults)) { + return _defu(baseObject, {}, namespace, merger); + } + const object = Object.assign({}, defaults); + for (const key in baseObject) { + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = baseObject[key]; + if (value === null || value === void 0) { + continue; + } + if (merger && merger(object, key, value, namespace)) { + continue; + } + if (Array.isArray(value) && Array.isArray(object[key])) { + object[key] = [...value, ...object[key]]; + } else if (isPlainObject$1(value) && isPlainObject$1(object[key])) { + object[key] = _defu( + value, + object[key], + (namespace ? `${namespace}.` : "") + key.toString(), + merger + ); + } else { + object[key] = value; + } + } + return object; +} +function createDefu(merger) { + return (...arguments_) => ( + // eslint-disable-next-line unicorn/no-array-reduce + arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) + ); +} +const defu = createDefu(); + +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} +function isLogObj(arg) { + if (!isPlainObject(arg)) { + return false; + } + if (!arg.message && !arg.args) { + return false; + } + if (arg.stack) { + return false; + } + return true; +} + +let paused = false; +const queue = []; +class Consola { + options; + _lastLog; + _mockFn; + /** + * Creates an instance of Consola with specified options or defaults. + * + * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance. + */ + constructor(options = {}) { + const types = options.types || LogTypes; + this.options = defu( + { + ...options, + defaults: { ...options.defaults }, + level: _normalizeLogLevel(options.level, types), + reporters: [...options.reporters || []] + }, + { + types: LogTypes, + throttle: 1e3, + throttleMin: 5, + formatOptions: { + date: true, + colors: false, + compact: true + } + } + ); + for (const type in types) { + const defaults = { + type, + ...this.options.defaults, + ...types[type] + }; + this[type] = this._wrapLogFn(defaults); + this[type].raw = this._wrapLogFn( + defaults, + true + ); + } + if (this.options.mockFn) { + this.mockTypes(); + } + this._lastLog = {}; + } + /** + * Gets the current log level of the Consola instance. + * + * @returns {number} The current log level. + */ + get level() { + return this.options.level; + } + /** + * Sets the minimum log level that will be output by the instance. + * + * @param {number} level - The new log level to set. + */ + set level(level) { + this.options.level = _normalizeLogLevel( + level, + this.options.types, + this.options.level + ); + } + /** + * Displays a prompt to the user and returns the response. + * Throw an error if `prompt` is not supported by the current configuration. + * + * @template T + * @param {string} message - The message to display in the prompt. + * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}. + * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}. + */ + prompt(message, opts) { + if (!this.options.prompt) { + throw new Error("prompt is not supported!"); + } + return this.options.prompt(message, opts); + } + /** + * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides. + * + * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}. + * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}. + */ + create(options) { + const instance = new Consola({ + ...this.options, + ...options + }); + if (this._mockFn) { + instance.mockTypes(this._mockFn); + } + return instance; + } + /** + * Creates a new Consola instance with the specified default log object properties. + * + * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}. + * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}. + */ + withDefaults(defaults) { + return this.create({ + ...this.options, + defaults: { + ...this.options.defaults, + ...defaults + } + }); + } + /** + * Creates a new Consola instance with a specified tag, which will be included in every log. + * + * @param {string} tag - The tag to include in each log of the new instance. + * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}. + */ + withTag(tag) { + return this.withDefaults({ + tag: this.options.defaults.tag ? this.options.defaults.tag + ":" + tag : tag + }); + } + /** + * Adds a custom reporter to the Consola instance. + * Reporters will be called for each log message, depending on their implementation and log level. + * + * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}. + * @returns {Consola} The current Consola instance. + */ + addReporter(reporter) { + this.options.reporters.push(reporter); + return this; + } + /** + * Removes a custom reporter from the Consola instance. + * If no reporter is specified, all reporters will be removed. + * + * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}. + * @returns {Consola} The current Consola instance. + */ + removeReporter(reporter) { + if (reporter) { + const i = this.options.reporters.indexOf(reporter); + if (i !== -1) { + return this.options.reporters.splice(i, 1); + } + } else { + this.options.reporters.splice(0); + } + return this; + } + /** + * Replaces all reporters of the Consola instance with the specified array of reporters. + * + * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}. + * @returns {Consola} The current Consola instance. + */ + setReporters(reporters) { + this.options.reporters = Array.isArray(reporters) ? reporters : [reporters]; + return this; + } + wrapAll() { + this.wrapConsole(); + this.wrapStd(); + } + restoreAll() { + this.restoreConsole(); + this.restoreStd(); + } + /** + * Overrides console methods with Consola logging methods for consistent logging. + */ + wrapConsole() { + for (const type in this.options.types) { + if (!console["__" + type]) { + console["__" + type] = console[type]; + } + console[type] = this[type].raw; + } + } + /** + * Restores the original console methods, removing Consola overrides. + */ + restoreConsole() { + for (const type in this.options.types) { + if (console["__" + type]) { + console[type] = console["__" + type]; + delete console["__" + type]; + } + } + } + /** + * Overrides standard output and error streams to redirect them through Consola. + */ + wrapStd() { + this._wrapStream(this.options.stdout, "log"); + this._wrapStream(this.options.stderr, "log"); + } + _wrapStream(stream, type) { + if (!stream) { + return; + } + if (!stream.__write) { + stream.__write = stream.write; + } + stream.write = (data) => { + this[type].raw(String(data).trim()); + }; + } + /** + * Restores the original standard output and error streams, removing the Consola redirection. + */ + restoreStd() { + this._restoreStream(this.options.stdout); + this._restoreStream(this.options.stderr); + } + _restoreStream(stream) { + if (!stream) { + return; + } + if (stream.__write) { + stream.write = stream.__write; + delete stream.__write; + } + } + /** + * Pauses logging, queues incoming logs until resumed. + */ + pauseLogs() { + paused = true; + } + /** + * Resumes logging, processing any queued logs. + */ + resumeLogs() { + paused = false; + const _queue = queue.splice(0); + for (const item of _queue) { + item[0]._logFn(item[1], item[2]); + } + } + /** + * Replaces logging methods with mocks if a mock function is provided. + * + * @param {ConsolaOptions["mockFn"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions["mockFn"]}. + */ + mockTypes(mockFn) { + const _mockFn = mockFn || this.options.mockFn; + this._mockFn = _mockFn; + if (typeof _mockFn !== "function") { + return; + } + for (const type in this.options.types) { + this[type] = _mockFn(type, this.options.types[type]) || this[type]; + this[type].raw = this[type]; + } + } + _wrapLogFn(defaults, isRaw) { + return (...args) => { + if (paused) { + queue.push([this, defaults, args, isRaw]); + return; + } + return this._logFn(defaults, args, isRaw); + }; + } + _logFn(defaults, args, isRaw) { + if ((defaults.level || 0) > this.level) { + return false; + } + const logObj = { + date: /* @__PURE__ */ new Date(), + args: [], + ...defaults, + level: _normalizeLogLevel(defaults.level, this.options.types) + }; + if (!isRaw && args.length === 1 && isLogObj(args[0])) { + Object.assign(logObj, args[0]); + } else { + logObj.args = [...args]; + } + if (logObj.message) { + logObj.args.unshift(logObj.message); + delete logObj.message; + } + if (logObj.additional) { + if (!Array.isArray(logObj.additional)) { + logObj.additional = logObj.additional.split("\n"); + } + logObj.args.push("\n" + logObj.additional.join("\n")); + delete logObj.additional; + } + logObj.type = typeof logObj.type === "string" ? logObj.type.toLowerCase() : "log"; + logObj.tag = typeof logObj.tag === "string" ? logObj.tag : ""; + const resolveLog = (newLog = false) => { + const repeated = (this._lastLog.count || 0) - this.options.throttleMin; + if (this._lastLog.object && repeated > 0) { + const args2 = [...this._lastLog.object.args]; + if (repeated > 1) { + args2.push(`(repeated ${repeated} times)`); + } + this._log({ ...this._lastLog.object, args: args2 }); + this._lastLog.count = 1; + } + if (newLog) { + this._lastLog.object = logObj; + this._log(logObj); + } + }; + clearTimeout(this._lastLog.timeout); + const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0; + this._lastLog.time = logObj.date; + if (diffTime < this.options.throttle) { + try { + const serializedLog = JSON.stringify([ + logObj.type, + logObj.tag, + logObj.args + ]); + const isSameLog = this._lastLog.serialized === serializedLog; + this._lastLog.serialized = serializedLog; + if (isSameLog) { + this._lastLog.count = (this._lastLog.count || 0) + 1; + if (this._lastLog.count > this.options.throttleMin) { + this._lastLog.timeout = setTimeout( + resolveLog, + this.options.throttle + ); + return; + } + } + } catch { + } + } + resolveLog(true); + } + _log(logObj) { + for (const reporter of this.options.reporters) { + reporter.log(logObj, { + options: this.options + }); + } + } +} +function _normalizeLogLevel(input, types = {}, defaultLevel = 3) { + if (input === void 0) { + return defaultLevel; + } + if (typeof input === "number") { + return input; + } + if (types[input] && types[input].level !== void 0) { + return types[input].level; + } + return defaultLevel; +} +Consola.prototype.add = Consola.prototype.addReporter; +Consola.prototype.remove = Consola.prototype.removeReporter; +Consola.prototype.clear = Consola.prototype.removeReporter; +Consola.prototype.withScope = Consola.prototype.withTag; +Consola.prototype.mock = Consola.prototype.mockTypes; +Consola.prototype.pause = Consola.prototype.pauseLogs; +Consola.prototype.resume = Consola.prototype.resumeLogs; +function createConsola(options = {}) { + return new Consola(options); +} + +export { Consola, LogLevels, LogTypes, createConsola }; diff --git a/.output/server/node_modules/consola/dist/index.mjs b/.output/server/node_modules/consola/dist/index.mjs new file mode 100644 index 00000000..5fab5e9d --- /dev/null +++ b/.output/server/node_modules/consola/dist/index.mjs @@ -0,0 +1,651 @@ +import { createConsola as createConsola$1, LogLevels } from './core.mjs'; +export { Consola, LogTypes } from './core.mjs'; +import { B as BasicReporter, p as parseStack } from './shared/consola.DRwqZj3T.mjs'; +import g$1 from 'node:process'; +import { e as colors, d as box, s as stripAnsi$1 } from './shared/consola.DXBYu-KD.mjs'; +import 'node:util'; +import 'node:path'; +import 'node:tty'; + +const r=Object.create(null),i=e=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?r:globalThis),o=new Proxy(r,{get(e,s){return i()[s]??r[s]},has(e,s){const E=i();return s in E||s in r},set(e,s,E){const B=i(true);return B[s]=E,true},deleteProperty(e,s){if(!s)return false;const E=i(true);return delete E[s],true},ownKeys(){const e=i(true);return Object.keys(e)}}),t=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",f=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:true}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:true}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:false}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:false}],["VERCEL","VERCEL_ENV",{ci:false}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:false}],["CODESANDBOX","CODESANDBOX_HOST",{ci:false}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:true}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:true}]];function b(){if(globalThis.process?.env)for(const e of f){const s=e[1]||e[0];if(globalThis.process?.env[s])return {name:e[0].toLowerCase(),...e[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:false}:{name:"",ci:false}}const l=b();l.name;function n(e){return e?e!=="false":false}const I=globalThis.process?.platform||"",T=n(o.CI)||l.ci!==false,a=n(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),g=n(o.DEBUG),R=t==="test"||n(o.TEST);n(o.MINIMAL)||T||R||!a;const A=/^win/i.test(I);!n(o.NO_COLOR)&&(n(o.FORCE_COLOR)||(a||A)&&o.TERM!=="dumb"||T);const C=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(C?.split(".")[0])||null;const y=globalThis.process||Object.create(null),_={versions:{}};new Proxy(y,{get(e,s){if(s==="env")return o;if(s in e)return e[s];if(s in _)return _[s]}});const c=globalThis.process?.release?.name==="node",O=!!globalThis.Bun||!!globalThis.process?.versions?.bun,D=!!globalThis.Deno,L=!!globalThis.fastly,S=!!globalThis.Netlify,u=!!globalThis.EdgeRuntime,N=globalThis.navigator?.userAgent==="Cloudflare-Workers",F=[[S,"netlify"],[u,"edge-light"],[N,"workerd"],[L,"fastly"],[D,"deno"],[O,"bun"],[c,"node"]];function G(){const e=F.find(s=>s[0]);if(e)return {name:e[1]}}const P=G();P?.name||""; + +function ansiRegex({onlyFirst = false} = {}) { + // Valid string terminator sequences are BEL, ESC\, and 0x9c + const ST = '(?:\\u0007|\\u001B\\u005C|\\u009C)'; + const pattern = [ + `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`, + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))', + ].join('|'); + + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +} + +const regex = ansiRegex(); + +function stripAnsi(string) { + if (typeof string !== 'string') { + throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); + } + + // Even though the regex is global, we don't need to reset the `.lastIndex` + // because unlike `.exec()` and `.test()`, `.replace()` does it automatically + // and doing it manually has a performance penalty. + return string.replace(regex, ''); +} + +// Generated code. + +function isAmbiguous(x) { + return x === 0xA1 + || x === 0xA4 + || x === 0xA7 + || x === 0xA8 + || x === 0xAA + || x === 0xAD + || x === 0xAE + || x >= 0xB0 && x <= 0xB4 + || x >= 0xB6 && x <= 0xBA + || x >= 0xBC && x <= 0xBF + || x === 0xC6 + || x === 0xD0 + || x === 0xD7 + || x === 0xD8 + || x >= 0xDE && x <= 0xE1 + || x === 0xE6 + || x >= 0xE8 && x <= 0xEA + || x === 0xEC + || x === 0xED + || x === 0xF0 + || x === 0xF2 + || x === 0xF3 + || x >= 0xF7 && x <= 0xFA + || x === 0xFC + || x === 0xFE + || x === 0x101 + || x === 0x111 + || x === 0x113 + || x === 0x11B + || x === 0x126 + || x === 0x127 + || x === 0x12B + || x >= 0x131 && x <= 0x133 + || x === 0x138 + || x >= 0x13F && x <= 0x142 + || x === 0x144 + || x >= 0x148 && x <= 0x14B + || x === 0x14D + || x === 0x152 + || x === 0x153 + || x === 0x166 + || x === 0x167 + || x === 0x16B + || x === 0x1CE + || x === 0x1D0 + || x === 0x1D2 + || x === 0x1D4 + || x === 0x1D6 + || x === 0x1D8 + || x === 0x1DA + || x === 0x1DC + || x === 0x251 + || x === 0x261 + || x === 0x2C4 + || x === 0x2C7 + || x >= 0x2C9 && x <= 0x2CB + || x === 0x2CD + || x === 0x2D0 + || x >= 0x2D8 && x <= 0x2DB + || x === 0x2DD + || x === 0x2DF + || x >= 0x300 && x <= 0x36F + || x >= 0x391 && x <= 0x3A1 + || x >= 0x3A3 && x <= 0x3A9 + || x >= 0x3B1 && x <= 0x3C1 + || x >= 0x3C3 && x <= 0x3C9 + || x === 0x401 + || x >= 0x410 && x <= 0x44F + || x === 0x451 + || x === 0x2010 + || x >= 0x2013 && x <= 0x2016 + || x === 0x2018 + || x === 0x2019 + || x === 0x201C + || x === 0x201D + || x >= 0x2020 && x <= 0x2022 + || x >= 0x2024 && x <= 0x2027 + || x === 0x2030 + || x === 0x2032 + || x === 0x2033 + || x === 0x2035 + || x === 0x203B + || x === 0x203E + || x === 0x2074 + || x === 0x207F + || x >= 0x2081 && x <= 0x2084 + || x === 0x20AC + || x === 0x2103 + || x === 0x2105 + || x === 0x2109 + || x === 0x2113 + || x === 0x2116 + || x === 0x2121 + || x === 0x2122 + || x === 0x2126 + || x === 0x212B + || x === 0x2153 + || x === 0x2154 + || x >= 0x215B && x <= 0x215E + || x >= 0x2160 && x <= 0x216B + || x >= 0x2170 && x <= 0x2179 + || x === 0x2189 + || x >= 0x2190 && x <= 0x2199 + || x === 0x21B8 + || x === 0x21B9 + || x === 0x21D2 + || x === 0x21D4 + || x === 0x21E7 + || x === 0x2200 + || x === 0x2202 + || x === 0x2203 + || x === 0x2207 + || x === 0x2208 + || x === 0x220B + || x === 0x220F + || x === 0x2211 + || x === 0x2215 + || x === 0x221A + || x >= 0x221D && x <= 0x2220 + || x === 0x2223 + || x === 0x2225 + || x >= 0x2227 && x <= 0x222C + || x === 0x222E + || x >= 0x2234 && x <= 0x2237 + || x === 0x223C + || x === 0x223D + || x === 0x2248 + || x === 0x224C + || x === 0x2252 + || x === 0x2260 + || x === 0x2261 + || x >= 0x2264 && x <= 0x2267 + || x === 0x226A + || x === 0x226B + || x === 0x226E + || x === 0x226F + || x === 0x2282 + || x === 0x2283 + || x === 0x2286 + || x === 0x2287 + || x === 0x2295 + || x === 0x2299 + || x === 0x22A5 + || x === 0x22BF + || x === 0x2312 + || x >= 0x2460 && x <= 0x24E9 + || x >= 0x24EB && x <= 0x254B + || x >= 0x2550 && x <= 0x2573 + || x >= 0x2580 && x <= 0x258F + || x >= 0x2592 && x <= 0x2595 + || x === 0x25A0 + || x === 0x25A1 + || x >= 0x25A3 && x <= 0x25A9 + || x === 0x25B2 + || x === 0x25B3 + || x === 0x25B6 + || x === 0x25B7 + || x === 0x25BC + || x === 0x25BD + || x === 0x25C0 + || x === 0x25C1 + || x >= 0x25C6 && x <= 0x25C8 + || x === 0x25CB + || x >= 0x25CE && x <= 0x25D1 + || x >= 0x25E2 && x <= 0x25E5 + || x === 0x25EF + || x === 0x2605 + || x === 0x2606 + || x === 0x2609 + || x === 0x260E + || x === 0x260F + || x === 0x261C + || x === 0x261E + || x === 0x2640 + || x === 0x2642 + || x === 0x2660 + || x === 0x2661 + || x >= 0x2663 && x <= 0x2665 + || x >= 0x2667 && x <= 0x266A + || x === 0x266C + || x === 0x266D + || x === 0x266F + || x === 0x269E + || x === 0x269F + || x === 0x26BF + || x >= 0x26C6 && x <= 0x26CD + || x >= 0x26CF && x <= 0x26D3 + || x >= 0x26D5 && x <= 0x26E1 + || x === 0x26E3 + || x === 0x26E8 + || x === 0x26E9 + || x >= 0x26EB && x <= 0x26F1 + || x === 0x26F4 + || x >= 0x26F6 && x <= 0x26F9 + || x === 0x26FB + || x === 0x26FC + || x === 0x26FE + || x === 0x26FF + || x === 0x273D + || x >= 0x2776 && x <= 0x277F + || x >= 0x2B56 && x <= 0x2B59 + || x >= 0x3248 && x <= 0x324F + || x >= 0xE000 && x <= 0xF8FF + || x >= 0xFE00 && x <= 0xFE0F + || x === 0xFFFD + || x >= 0x1F100 && x <= 0x1F10A + || x >= 0x1F110 && x <= 0x1F12D + || x >= 0x1F130 && x <= 0x1F169 + || x >= 0x1F170 && x <= 0x1F18D + || x === 0x1F18F + || x === 0x1F190 + || x >= 0x1F19B && x <= 0x1F1AC + || x >= 0xE0100 && x <= 0xE01EF + || x >= 0xF0000 && x <= 0xFFFFD + || x >= 0x100000 && x <= 0x10FFFD; +} + +function isFullWidth(x) { + return x === 0x3000 + || x >= 0xFF01 && x <= 0xFF60 + || x >= 0xFFE0 && x <= 0xFFE6; +} + +function isWide(x) { + return x >= 0x1100 && x <= 0x115F + || x === 0x231A + || x === 0x231B + || x === 0x2329 + || x === 0x232A + || x >= 0x23E9 && x <= 0x23EC + || x === 0x23F0 + || x === 0x23F3 + || x === 0x25FD + || x === 0x25FE + || x === 0x2614 + || x === 0x2615 + || x >= 0x2630 && x <= 0x2637 + || x >= 0x2648 && x <= 0x2653 + || x === 0x267F + || x >= 0x268A && x <= 0x268F + || x === 0x2693 + || x === 0x26A1 + || x === 0x26AA + || x === 0x26AB + || x === 0x26BD + || x === 0x26BE + || x === 0x26C4 + || x === 0x26C5 + || x === 0x26CE + || x === 0x26D4 + || x === 0x26EA + || x === 0x26F2 + || x === 0x26F3 + || x === 0x26F5 + || x === 0x26FA + || x === 0x26FD + || x === 0x2705 + || x === 0x270A + || x === 0x270B + || x === 0x2728 + || x === 0x274C + || x === 0x274E + || x >= 0x2753 && x <= 0x2755 + || x === 0x2757 + || x >= 0x2795 && x <= 0x2797 + || x === 0x27B0 + || x === 0x27BF + || x === 0x2B1B + || x === 0x2B1C + || x === 0x2B50 + || x === 0x2B55 + || x >= 0x2E80 && x <= 0x2E99 + || x >= 0x2E9B && x <= 0x2EF3 + || x >= 0x2F00 && x <= 0x2FD5 + || x >= 0x2FF0 && x <= 0x2FFF + || x >= 0x3001 && x <= 0x303E + || x >= 0x3041 && x <= 0x3096 + || x >= 0x3099 && x <= 0x30FF + || x >= 0x3105 && x <= 0x312F + || x >= 0x3131 && x <= 0x318E + || x >= 0x3190 && x <= 0x31E5 + || x >= 0x31EF && x <= 0x321E + || x >= 0x3220 && x <= 0x3247 + || x >= 0x3250 && x <= 0xA48C + || x >= 0xA490 && x <= 0xA4C6 + || x >= 0xA960 && x <= 0xA97C + || x >= 0xAC00 && x <= 0xD7A3 + || x >= 0xF900 && x <= 0xFAFF + || x >= 0xFE10 && x <= 0xFE19 + || x >= 0xFE30 && x <= 0xFE52 + || x >= 0xFE54 && x <= 0xFE66 + || x >= 0xFE68 && x <= 0xFE6B + || x >= 0x16FE0 && x <= 0x16FE4 + || x === 0x16FF0 + || x === 0x16FF1 + || x >= 0x17000 && x <= 0x187F7 + || x >= 0x18800 && x <= 0x18CD5 + || x >= 0x18CFF && x <= 0x18D08 + || x >= 0x1AFF0 && x <= 0x1AFF3 + || x >= 0x1AFF5 && x <= 0x1AFFB + || x === 0x1AFFD + || x === 0x1AFFE + || x >= 0x1B000 && x <= 0x1B122 + || x === 0x1B132 + || x >= 0x1B150 && x <= 0x1B152 + || x === 0x1B155 + || x >= 0x1B164 && x <= 0x1B167 + || x >= 0x1B170 && x <= 0x1B2FB + || x >= 0x1D300 && x <= 0x1D356 + || x >= 0x1D360 && x <= 0x1D376 + || x === 0x1F004 + || x === 0x1F0CF + || x === 0x1F18E + || x >= 0x1F191 && x <= 0x1F19A + || x >= 0x1F200 && x <= 0x1F202 + || x >= 0x1F210 && x <= 0x1F23B + || x >= 0x1F240 && x <= 0x1F248 + || x === 0x1F250 + || x === 0x1F251 + || x >= 0x1F260 && x <= 0x1F265 + || x >= 0x1F300 && x <= 0x1F320 + || x >= 0x1F32D && x <= 0x1F335 + || x >= 0x1F337 && x <= 0x1F37C + || x >= 0x1F37E && x <= 0x1F393 + || x >= 0x1F3A0 && x <= 0x1F3CA + || x >= 0x1F3CF && x <= 0x1F3D3 + || x >= 0x1F3E0 && x <= 0x1F3F0 + || x === 0x1F3F4 + || x >= 0x1F3F8 && x <= 0x1F43E + || x === 0x1F440 + || x >= 0x1F442 && x <= 0x1F4FC + || x >= 0x1F4FF && x <= 0x1F53D + || x >= 0x1F54B && x <= 0x1F54E + || x >= 0x1F550 && x <= 0x1F567 + || x === 0x1F57A + || x === 0x1F595 + || x === 0x1F596 + || x === 0x1F5A4 + || x >= 0x1F5FB && x <= 0x1F64F + || x >= 0x1F680 && x <= 0x1F6C5 + || x === 0x1F6CC + || x >= 0x1F6D0 && x <= 0x1F6D2 + || x >= 0x1F6D5 && x <= 0x1F6D7 + || x >= 0x1F6DC && x <= 0x1F6DF + || x === 0x1F6EB + || x === 0x1F6EC + || x >= 0x1F6F4 && x <= 0x1F6FC + || x >= 0x1F7E0 && x <= 0x1F7EB + || x === 0x1F7F0 + || x >= 0x1F90C && x <= 0x1F93A + || x >= 0x1F93C && x <= 0x1F945 + || x >= 0x1F947 && x <= 0x1F9FF + || x >= 0x1FA70 && x <= 0x1FA7C + || x >= 0x1FA80 && x <= 0x1FA89 + || x >= 0x1FA8F && x <= 0x1FAC6 + || x >= 0x1FACE && x <= 0x1FADC + || x >= 0x1FADF && x <= 0x1FAE9 + || x >= 0x1FAF0 && x <= 0x1FAF8 + || x >= 0x20000 && x <= 0x2FFFD + || x >= 0x30000 && x <= 0x3FFFD; +} + +function validate(codePoint) { + if (!Number.isSafeInteger(codePoint)) { + throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`); + } +} + +function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) { + validate(codePoint); + + if ( + isFullWidth(codePoint) + || isWide(codePoint) + || (ambiguousAsWide && isAmbiguous(codePoint)) + ) { + return 2; + } + + return 1; +} + +const emojiRegex = () => { + // https://mths.be/emoji + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; +}; + +const segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split('') }; + +const defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u; + +function stringWidth$1(string, options = {}) { + if (typeof string !== 'string' || string.length === 0) { + return 0; + } + + const { + ambiguousIsNarrow = true, + countAnsiEscapeCodes = false, + } = options; + + if (!countAnsiEscapeCodes) { + string = stripAnsi(string); + } + + if (string.length === 0) { + return 0; + } + + let width = 0; + const eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow}; + + for (const {segment: character} of segmenter.segment(string)) { + const codePoint = character.codePointAt(0); + + // Ignore control characters + if (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) { + continue; + } + + // Ignore zero-width characters + if ( + (codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark + || codePoint === 0xFE_FF // Zero-width no-break space + ) { + continue; + } + + // Ignore combining characters + if ( + (codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks + || (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended + || (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement + || (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols + || (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks + ) { + continue; + } + + // Ignore surrogate pairs + if (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) { + continue; + } + + // Ignore variation selectors + if (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) { + continue; + } + + // This covers some of the above cases, but we still keep them for performance reasons. + if (defaultIgnorableCodePointRegex.test(character)) { + continue; + } + + // TODO: Use `/\p{RGI_Emoji}/v` when targeting Node.js 20. + if (emojiRegex().test(character)) { + width += 2; + continue; + } + + width += eastAsianWidth(codePoint, eastAsianWidthOptions); + } + + return width; +} + +function isUnicodeSupported() { + const {env} = g$1; + const {TERM, TERM_PROGRAM} = env; + + if (g$1.platform !== 'win32') { + return TERM !== 'linux'; // Linux console (kernel) + } + + return Boolean(env.WT_SESSION) // Windows Terminal + || Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27) + || env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder + || TERM_PROGRAM === 'Terminus-Sublime' + || TERM_PROGRAM === 'vscode' + || TERM === 'xterm-256color' + || TERM === 'alacritty' + || TERM === 'rxvt-unicode' + || TERM === 'rxvt-unicode-256color' + || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'; +} + +const TYPE_COLOR_MAP = { + info: "cyan", + fail: "red", + success: "green", + ready: "green", + start: "magenta" +}; +const LEVEL_COLOR_MAP = { + 0: "red", + 1: "yellow" +}; +const unicode = isUnicodeSupported(); +const s = (c, fallback) => unicode ? c : fallback; +const TYPE_ICONS = { + error: s("\u2716", "\xD7"), + fatal: s("\u2716", "\xD7"), + ready: s("\u2714", "\u221A"), + warn: s("\u26A0", "\u203C"), + info: s("\u2139", "i"), + success: s("\u2714", "\u221A"), + debug: s("\u2699", "D"), + trace: s("\u2192", "\u2192"), + fail: s("\u2716", "\xD7"), + start: s("\u25D0", "o"), + log: "" +}; +function stringWidth(str) { + const hasICU = typeof Intl === "object"; + if (!hasICU || !Intl.Segmenter) { + return stripAnsi$1(str).length; + } + return stringWidth$1(str); +} +class FancyReporter extends BasicReporter { + formatStack(stack, message, opts) { + const indent = " ".repeat((opts?.errorLevel || 0) + 1); + return ` +${indent}` + parseStack(stack, message).map( + (line) => " " + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\((.+)\)/, (_, m) => `(${colors.cyan(m)})`) + ).join(` +${indent}`); + } + formatType(logObj, isBadge, opts) { + const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || "gray"; + if (isBadge) { + return getBgColor(typeColor)( + colors.black(` ${logObj.type.toUpperCase()} `) + ); + } + const _type = typeof TYPE_ICONS[logObj.type] === "string" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type; + return _type ? getColor(typeColor)(_type) : ""; + } + formatLogObj(logObj, opts) { + const [message, ...additional] = this.formatArgs(logObj.args, opts).split( + "\n" + ); + if (logObj.type === "box") { + return box( + characterFormat( + message + (additional.length > 0 ? "\n" + additional.join("\n") : "") + ), + { + title: logObj.title ? characterFormat(logObj.title) : void 0, + style: logObj.style + } + ); + } + const date = this.formatDate(logObj.date, opts); + const coloredDate = date && colors.gray(date); + const isBadge = logObj.badge ?? logObj.level < 2; + const type = this.formatType(logObj, isBadge, opts); + const tag = logObj.tag ? colors.gray(logObj.tag) : ""; + let line; + const left = this.filterAndJoin([type, characterFormat(message)]); + const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]); + const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2; + line = space > 0 && (opts.columns || 0) >= 80 ? left + " ".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : "") + left; + line += characterFormat( + additional.length > 0 ? "\n" + additional.join("\n") : "" + ); + if (logObj.type === "trace") { + const _err = new Error("Trace: " + logObj.message); + line += this.formatStack(_err.stack || "", _err.message); + } + return isBadge ? "\n" + line + "\n" : line; + } +} +function characterFormat(str) { + return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\s+_([^_]+)_\s+/gm, (_, m) => ` ${colors.underline(m)} `); +} +function getColor(color = "white") { + return colors[color] || colors.white; +} +function getBgColor(color = "bgWhite") { + return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite; +} + +function createConsola(options = {}) { + let level = _getDefaultLogLevel(); + if (process.env.CONSOLA_LEVEL) { + level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level; + } + const consola2 = createConsola$1({ + level, + defaults: { level }, + stdout: process.stdout, + stderr: process.stderr, + prompt: (...args) => import('./chunks/prompt.mjs').then((m) => m.prompt(...args)), + reporters: options.reporters || [ + options.fancy ?? !(T || R) ? new FancyReporter() : new BasicReporter() + ], + ...options + }); + return consola2; +} +function _getDefaultLogLevel() { + if (g) { + return LogLevels.debug; + } + if (R) { + return LogLevels.warn; + } + return LogLevels.info; +} +const consola = createConsola(); + +export { LogLevels, consola, createConsola, consola as default }; diff --git a/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs b/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs new file mode 100644 index 00000000..2a15cb8c --- /dev/null +++ b/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs @@ -0,0 +1,72 @@ +import { formatWithOptions } from 'node:util'; +import { sep } from 'node:path'; + +function parseStack(stack, message) { + const cwd = process.cwd() + sep; + const lines = stack.split("\n").splice(message.split("\n").length).map((l) => l.trim().replace("file://", "").replace(cwd, "")); + return lines; +} + +function writeStream(data, stream) { + const write = stream.__write || stream.write; + return write.call(stream, data); +} + +const bracket = (x) => x ? `[${x}]` : ""; +class BasicReporter { + formatStack(stack, message, opts) { + const indent = " ".repeat((opts?.errorLevel || 0) + 1); + return indent + parseStack(stack, message).join(` +${indent}`); + } + formatError(err, opts) { + const message = err.message ?? formatWithOptions(opts, err); + const stack = err.stack ? this.formatStack(err.stack, message, opts) : ""; + const level = opts?.errorLevel || 0; + const causedPrefix = level > 0 ? `${" ".repeat(level)}[cause]: ` : ""; + const causedError = err.cause ? "\n\n" + this.formatError(err.cause, { ...opts, errorLevel: level + 1 }) : ""; + return causedPrefix + message + "\n" + stack + causedError; + } + formatArgs(args, opts) { + const _args = args.map((arg) => { + if (arg && typeof arg.stack === "string") { + return this.formatError(arg, opts); + } + return arg; + }); + return formatWithOptions(opts, ..._args); + } + formatDate(date, opts) { + return opts.date ? date.toLocaleTimeString() : ""; + } + filterAndJoin(arr) { + return arr.filter(Boolean).join(" "); + } + formatLogObj(logObj, opts) { + const message = this.formatArgs(logObj.args, opts); + if (logObj.type === "box") { + return "\n" + [ + bracket(logObj.tag), + logObj.title && logObj.title, + ...message.split("\n") + ].filter(Boolean).map((l) => " > " + l).join("\n") + "\n"; + } + return this.filterAndJoin([ + bracket(logObj.type), + bracket(logObj.tag), + message + ]); + } + log(logObj, ctx) { + const line = this.formatLogObj(logObj, { + columns: ctx.options.stdout.columns || 0, + ...ctx.options.formatOptions + }); + return writeStream( + line + "\n", + logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout + ); + } +} + +export { BasicReporter as B, parseStack as p }; diff --git a/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs b/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs new file mode 100644 index 00000000..03f0af99 --- /dev/null +++ b/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs @@ -0,0 +1,288 @@ +import * as tty from 'node:tty'; + +const { + env = {}, + argv = [], + platform = "" +} = typeof process === "undefined" ? {} : process; +const isDisabled = "NO_COLOR" in env || argv.includes("--no-color"); +const isForced = "FORCE_COLOR" in env || argv.includes("--color"); +const isWindows = platform === "win32"; +const isDumbTerminal = env.TERM === "dumb"; +const isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal; +const isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env); +const isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI); +function replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) { + return head + (next < 0 ? tail : replaceClose(next, tail, close, replace)); +} +function clearBleed(index, string, open, close, replace) { + return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close; +} +function filterEmpty(open, close, replace = open, at = open.length + 1) { + return (string) => string || !(string === "" || string === void 0) ? clearBleed( + ("" + string).indexOf(close, at), + string, + open, + close, + replace + ) : ""; +} +function init(open, close, replace) { + return filterEmpty(`\x1B[${open}m`, `\x1B[${close}m`, replace); +} +const colorDefs = { + reset: init(0, 0), + bold: init(1, 22, "\x1B[22m\x1B[1m"), + dim: init(2, 22, "\x1B[22m\x1B[2m"), + italic: init(3, 23), + underline: init(4, 24), + inverse: init(7, 27), + hidden: init(8, 28), + strikethrough: init(9, 29), + black: init(30, 39), + red: init(31, 39), + green: init(32, 39), + yellow: init(33, 39), + blue: init(34, 39), + magenta: init(35, 39), + cyan: init(36, 39), + white: init(37, 39), + gray: init(90, 39), + bgBlack: init(40, 49), + bgRed: init(41, 49), + bgGreen: init(42, 49), + bgYellow: init(43, 49), + bgBlue: init(44, 49), + bgMagenta: init(45, 49), + bgCyan: init(46, 49), + bgWhite: init(47, 49), + blackBright: init(90, 39), + redBright: init(91, 39), + greenBright: init(92, 39), + yellowBright: init(93, 39), + blueBright: init(94, 39), + magentaBright: init(95, 39), + cyanBright: init(96, 39), + whiteBright: init(97, 39), + bgBlackBright: init(100, 49), + bgRedBright: init(101, 49), + bgGreenBright: init(102, 49), + bgYellowBright: init(103, 49), + bgBlueBright: init(104, 49), + bgMagentaBright: init(105, 49), + bgCyanBright: init(106, 49), + bgWhiteBright: init(107, 49) +}; +function createColors(useColor = isColorSupported) { + return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String])); +} +const colors = createColors(); +function getColor(color, fallback = "reset") { + return colors[color] || colors[fallback]; +} +function colorize(color, text) { + return getColor(color)(text); +} + +const ansiRegex = [ + String.raw`[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d\/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)`, + String.raw`(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))` +].join("|"); +function stripAnsi(text) { + return text.replace(new RegExp(ansiRegex, "g"), ""); +} +function centerAlign(str, len, space = " ") { + const free = len - str.length; + if (free <= 0) { + return str; + } + const freeLeft = Math.floor(free / 2); + let _str = ""; + for (let i = 0; i < len; i++) { + _str += i < freeLeft || i >= freeLeft + str.length ? space : str[i - freeLeft]; + } + return _str; +} +function rightAlign(str, len, space = " ") { + const free = len - str.length; + if (free <= 0) { + return str; + } + let _str = ""; + for (let i = 0; i < len; i++) { + _str += i < free ? space : str[i - free]; + } + return _str; +} +function leftAlign(str, len, space = " ") { + let _str = ""; + for (let i = 0; i < len; i++) { + _str += i < str.length ? str[i] : space; + } + return _str; +} +function align(alignment, str, len, space = " ") { + switch (alignment) { + case "left": { + return leftAlign(str, len, space); + } + case "right": { + return rightAlign(str, len, space); + } + case "center": { + return centerAlign(str, len, space); + } + default: { + return str; + } + } +} + +const boxStylePresets = { + solid: { + tl: "\u250C", + tr: "\u2510", + bl: "\u2514", + br: "\u2518", + h: "\u2500", + v: "\u2502" + }, + double: { + tl: "\u2554", + tr: "\u2557", + bl: "\u255A", + br: "\u255D", + h: "\u2550", + v: "\u2551" + }, + doubleSingle: { + tl: "\u2553", + tr: "\u2556", + bl: "\u2559", + br: "\u255C", + h: "\u2500", + v: "\u2551" + }, + doubleSingleRounded: { + tl: "\u256D", + tr: "\u256E", + bl: "\u2570", + br: "\u256F", + h: "\u2500", + v: "\u2551" + }, + singleThick: { + tl: "\u250F", + tr: "\u2513", + bl: "\u2517", + br: "\u251B", + h: "\u2501", + v: "\u2503" + }, + singleDouble: { + tl: "\u2552", + tr: "\u2555", + bl: "\u2558", + br: "\u255B", + h: "\u2550", + v: "\u2502" + }, + singleDoubleRounded: { + tl: "\u256D", + tr: "\u256E", + bl: "\u2570", + br: "\u256F", + h: "\u2550", + v: "\u2502" + }, + rounded: { + tl: "\u256D", + tr: "\u256E", + bl: "\u2570", + br: "\u256F", + h: "\u2500", + v: "\u2502" + } +}; +const defaultStyle = { + borderColor: "white", + borderStyle: "rounded", + valign: "center", + padding: 2, + marginLeft: 1, + marginTop: 1, + marginBottom: 1 +}; +function box(text, _opts = {}) { + const opts = { + ..._opts, + style: { + ...defaultStyle, + ..._opts.style + } + }; + const textLines = text.split("\n"); + const boxLines = []; + const _color = getColor(opts.style.borderColor); + const borderStyle = { + ...typeof opts.style.borderStyle === "string" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle + }; + if (_color) { + for (const key in borderStyle) { + borderStyle[key] = _color( + borderStyle[key] + ); + } + } + const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1; + const height = textLines.length + paddingOffset; + const width = Math.max( + ...textLines.map((line) => stripAnsi(line).length), + opts.title ? stripAnsi(opts.title).length : 0 + ) + paddingOffset; + const widthOffset = width + paddingOffset; + const leftSpace = opts.style.marginLeft > 0 ? " ".repeat(opts.style.marginLeft) : ""; + if (opts.style.marginTop > 0) { + boxLines.push("".repeat(opts.style.marginTop)); + } + if (opts.title) { + const title = _color ? _color(opts.title) : opts.title; + const left = borderStyle.h.repeat( + Math.floor((width - stripAnsi(opts.title).length) / 2) + ); + const right = borderStyle.h.repeat( + width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset + ); + boxLines.push( + `${leftSpace}${borderStyle.tl}${left}${title}${right}${borderStyle.tr}` + ); + } else { + boxLines.push( + `${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}` + ); + } + const valignOffset = opts.style.valign === "center" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === "top" ? height - textLines.length - paddingOffset : height - textLines.length; + for (let i = 0; i < height; i++) { + if (i < valignOffset || i >= valignOffset + textLines.length) { + boxLines.push( + `${leftSpace}${borderStyle.v}${" ".repeat(widthOffset)}${borderStyle.v}` + ); + } else { + const line = textLines[i - valignOffset]; + const left = " ".repeat(paddingOffset); + const right = " ".repeat(width - stripAnsi(line).length); + boxLines.push( + `${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}` + ); + } + } + boxLines.push( + `${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}` + ); + if (opts.style.marginBottom > 0) { + boxLines.push("".repeat(opts.style.marginBottom)); + } + return boxLines.join("\n"); +} + +export { centerAlign as a, align as b, colorize as c, box as d, colors as e, getColor as g, leftAlign as l, rightAlign as r, stripAnsi as s }; diff --git a/.output/server/node_modules/consola/package.json b/.output/server/node_modules/consola/package.json new file mode 100644 index 00000000..37709e5b --- /dev/null +++ b/.output/server/node_modules/consola/package.json @@ -0,0 +1,136 @@ +{ + "name": "consola", + "version": "3.4.2", + "description": "Elegant Console Wrapper", + "keywords": [ + "console", + "logger", + "reporter", + "elegant", + "cli", + "universal", + "unified", + "prompt", + "clack", + "format", + "error", + "stacktrace" + ], + "repository": "unjs/consola", + "license": "MIT", + "type": "module", + "exports": { + ".": { + "node": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./lib/index.cjs" + } + }, + "default": { + "import": { + "types": "./dist/browser.d.mts", + "default": "./dist/browser.mjs" + }, + "require": { + "types": "./dist/browser.d.cts", + "default": "./dist/browser.cjs" + } + } + }, + "./browser": { + "import": { + "types": "./dist/browser.d.mts", + "default": "./dist/browser.mjs" + }, + "require": { + "types": "./dist/browser.d.cts", + "default": "./dist/browser.cjs" + } + }, + "./basic": { + "node": { + "import": { + "types": "./dist/basic.d.mts", + "default": "./dist/basic.mjs" + }, + "require": { + "types": "./dist/basic.d.cts", + "default": "./dist/basic.cjs" + } + }, + "default": { + "import": { + "types": "./dist/browser.d.mts", + "default": "./dist/browser.mjs" + }, + "require": { + "types": "./dist/browser.d.cts", + "default": "./dist/browser.cjs" + } + } + }, + "./core": { + "import": { + "types": "./dist/core.d.mts", + "default": "./dist/core.mjs" + }, + "require": { + "types": "./dist/core.d.cts", + "default": "./dist/core.cjs" + } + }, + "./utils": { + "import": { + "types": "./dist/utils.d.mts", + "default": "./dist/utils.mjs" + }, + "require": { + "types": "./dist/utils.d.cts", + "default": "./dist/utils.cjs" + } + } + }, + "main": "./lib/index.cjs", + "module": "./dist/index.mjs", + "browser": "./dist/browser.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "lib", + "*.d.ts" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint . && prettier -c src examples test", + "lint:fix": "eslint . --fix && prettier -w src examples test", + "release": "pnpm test && pnpm build && changelogen --release --push && npm publish", + "test": "pnpm lint && pnpm vitest run --coverage" + }, + "devDependencies": { + "@clack/prompts": "^0.10.0", + "@types/node": "^22.13.10", + "@vitest/coverage-v8": "^3.0.9", + "changelogen": "^0.6.1", + "defu": "^6.1.4", + "eslint": "^9.22.0", + "eslint-config-unjs": "^0.4.2", + "is-unicode-supported": "^2.1.0", + "prettier": "^3.5.3", + "sentencer": "^0.2.1", + "std-env": "^3.8.1", + "string-width": "^7.2.0", + "typescript": "^5.8.2", + "unbuild": "^3.5.0", + "vitest": "^3.0.9" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "packageManager": "pnpm@10.6.3" +} \ No newline at end of file diff --git a/.output/server/node_modules/cookie-es/dist/index.mjs b/.output/server/node_modules/cookie-es/dist/index.mjs new file mode 100644 index 00000000..5cb97676 --- /dev/null +++ b/.output/server/node_modules/cookie-es/dist/index.mjs @@ -0,0 +1,262 @@ +function parse(str, options) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + const obj = {}; + const opt = options || {}; + const dec = opt.decode || decode; + let index = 0; + while (index < str.length) { + const eqIdx = str.indexOf("=", index); + if (eqIdx === -1) { + break; + } + let endIdx = str.indexOf(";", index); + if (endIdx === -1) { + endIdx = str.length; + } else if (endIdx < eqIdx) { + index = str.lastIndexOf(";", eqIdx - 1) + 1; + continue; + } + const key = str.slice(index, eqIdx).trim(); + if (opt?.filter && !opt?.filter(key)) { + index = endIdx + 1; + continue; + } + if (void 0 === obj[key]) { + let val = str.slice(eqIdx + 1, endIdx).trim(); + if (val.codePointAt(0) === 34) { + val = val.slice(1, -1); + } + obj[key] = tryDecode(val, dec); + } + index = endIdx + 1; + } + return obj; +} +function decode(str) { + return str.includes("%") ? decodeURIComponent(str) : str; +} +function tryDecode(str, decode2) { + try { + return decode2(str); + } catch { + return str; + } +} + +const fieldContentRegExp = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; +function serialize(name, value, options) { + const opt = options || {}; + const enc = opt.encode || encodeURIComponent; + if (typeof enc !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!fieldContentRegExp.test(name)) { + throw new TypeError("argument name is invalid"); + } + const encodedValue = enc(value); + if (encodedValue && !fieldContentRegExp.test(encodedValue)) { + throw new TypeError("argument val is invalid"); + } + let str = name + "=" + encodedValue; + if (void 0 !== opt.maxAge && opt.maxAge !== null) { + const maxAge = opt.maxAge - 0; + if (Number.isNaN(maxAge) || !Number.isFinite(maxAge)) { + throw new TypeError("option maxAge is invalid"); + } + str += "; Max-Age=" + Math.floor(maxAge); + } + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError("option domain is invalid"); + } + str += "; Domain=" + opt.domain; + } + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError("option path is invalid"); + } + str += "; Path=" + opt.path; + } + if (opt.expires) { + if (!isDate(opt.expires) || Number.isNaN(opt.expires.valueOf())) { + throw new TypeError("option expires is invalid"); + } + str += "; Expires=" + opt.expires.toUTCString(); + } + if (opt.httpOnly) { + str += "; HttpOnly"; + } + if (opt.secure) { + str += "; Secure"; + } + if (opt.priority) { + const priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority; + switch (priority) { + case "low": { + str += "; Priority=Low"; + break; + } + case "medium": { + str += "; Priority=Medium"; + break; + } + case "high": { + str += "; Priority=High"; + break; + } + default: { + throw new TypeError("option priority is invalid"); + } + } + } + if (opt.sameSite) { + const sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: { + str += "; SameSite=Strict"; + break; + } + case "lax": { + str += "; SameSite=Lax"; + break; + } + case "strict": { + str += "; SameSite=Strict"; + break; + } + case "none": { + str += "; SameSite=None"; + break; + } + default: { + throw new TypeError("option sameSite is invalid"); + } + } + } + if (opt.partitioned) { + str += "; Partitioned"; + } + return str; +} +function isDate(val) { + return Object.prototype.toString.call(val) === "[object Date]" || val instanceof Date; +} + +function parseSetCookie(setCookieValue, options) { + const parts = (setCookieValue || "").split(";").filter((str) => typeof str === "string" && !!str.trim()); + const nameValuePairStr = parts.shift() || ""; + const parsed = _parseNameValuePair(nameValuePairStr); + const name = parsed.name; + let value = parsed.value; + try { + value = options?.decode === false ? value : (options?.decode || decodeURIComponent)(value); + } catch { + } + const cookie = { + name, + value + }; + for (const part of parts) { + const sides = part.split("="); + const partKey = (sides.shift() || "").trimStart().toLowerCase(); + const partValue = sides.join("="); + switch (partKey) { + case "expires": { + cookie.expires = new Date(partValue); + break; + } + case "max-age": { + cookie.maxAge = Number.parseInt(partValue, 10); + break; + } + case "secure": { + cookie.secure = true; + break; + } + case "httponly": { + cookie.httpOnly = true; + break; + } + case "samesite": { + cookie.sameSite = partValue; + break; + } + default: { + cookie[partKey] = partValue; + } + } + } + return cookie; +} +function _parseNameValuePair(nameValuePairStr) { + let name = ""; + let value = ""; + const nameValueArr = nameValuePairStr.split("="); + if (nameValueArr.length > 1) { + name = nameValueArr.shift(); + value = nameValueArr.join("="); + } else { + value = nameValuePairStr; + } + return { name, value }; +} + +function splitSetCookieString(cookiesString) { + if (Array.isArray(cookiesString)) { + return cookiesString.flatMap((c) => splitSetCookieString(c)); + } + if (typeof cookiesString !== "string") { + return []; + } + const cookiesStrings = []; + let pos = 0; + let start; + let ch; + let lastComma; + let nextStart; + let cookiesSeparatorFound; + const skipWhitespace = () => { + while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { + pos += 1; + } + return pos < cookiesString.length; + }; + const notSpecialChar = () => { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + }; + while (pos < cookiesString.length) { + start = pos; + cookiesSeparatorFound = false; + while (skipWhitespace()) { + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while (pos < cookiesString.length && notSpecialChar()) { + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.slice(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.slice(start, cookiesString.length)); + } + } + return cookiesStrings; +} + +export { parse, parseSetCookie, serialize, splitSetCookieString }; diff --git a/.output/server/node_modules/cookie-es/package.json b/.output/server/node_modules/cookie-es/package.json new file mode 100644 index 00000000..0875e560 --- /dev/null +++ b/.output/server/node_modules/cookie-es/package.json @@ -0,0 +1,46 @@ +{ + "name": "cookie-es", + "version": "1.2.2", + "repository": "unjs/cookie-es", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.cts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest --coverage", + "lint": "eslint --cache . && prettier -c src test", + "lint:fix": "automd && eslint --cache . --fix && prettier -c src test -w", + "release": "pnpm test && pnpm build && changelogen --release --push && npm publish", + "test": "pnpm lint && vitest run --coverage" + }, + "devDependencies": { + "@vitest/coverage-v8": "^2.0.3", + "automd": "^0.3.8", + "changelogen": "^0.5.5", + "eslint": "^9.7.0", + "eslint-config-unjs": "^0.3.2", + "prettier": "^3.3.3", + "typescript": "^5.5.3", + "unbuild": "^2.0.0", + "vitest": "^2.0.3" + }, + "packageManager": "pnpm@9.5.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/attributes.js b/.output/server/node_modules/css-select/lib/attributes.js new file mode 100644 index 00000000..3c6867f6 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/attributes.js @@ -0,0 +1,236 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.attributeRules = void 0; +var boolbase_1 = __importDefault(require("boolbase")); +/** + * All reserved characters in a regex, used for escaping. + * + * Taken from XRegExp, (c) 2007-2020 Steven Levithan under the MIT license + * https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.js#L794 + */ +var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g; +function escapeRegex(value) { + return value.replace(reChars, "\\$&"); +} +/** + * Attributes that are case-insensitive in HTML. + * + * @private + * @see https://html.spec.whatwg.org/multipage/semantics-other.html#case-sensitivity-of-selectors + */ +var caseInsensitiveAttributes = new Set([ + "accept", + "accept-charset", + "align", + "alink", + "axis", + "bgcolor", + "charset", + "checked", + "clear", + "codetype", + "color", + "compact", + "declare", + "defer", + "dir", + "direction", + "disabled", + "enctype", + "face", + "frame", + "hreflang", + "http-equiv", + "lang", + "language", + "link", + "media", + "method", + "multiple", + "nohref", + "noresize", + "noshade", + "nowrap", + "readonly", + "rel", + "rev", + "rules", + "scope", + "scrolling", + "selected", + "shape", + "target", + "text", + "type", + "valign", + "valuetype", + "vlink", +]); +function shouldIgnoreCase(selector, options) { + return typeof selector.ignoreCase === "boolean" + ? selector.ignoreCase + : selector.ignoreCase === "quirks" + ? !!options.quirksMode + : !options.xmlMode && caseInsensitiveAttributes.has(selector.name); +} +/** + * Attribute selectors + */ +exports.attributeRules = { + equals: function (next, data, options) { + var adapter = options.adapter; + var name = data.name; + var value = data.value; + if (shouldIgnoreCase(data, options)) { + value = value.toLowerCase(); + return function (elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + attr.length === value.length && + attr.toLowerCase() === value && + next(elem)); + }; + } + return function (elem) { + return adapter.getAttributeValue(elem, name) === value && next(elem); + }; + }, + hyphen: function (next, data, options) { + var adapter = options.adapter; + var name = data.name; + var value = data.value; + var len = value.length; + if (shouldIgnoreCase(data, options)) { + value = value.toLowerCase(); + return function hyphenIC(elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + (attr.length === len || attr.charAt(len) === "-") && + attr.substr(0, len).toLowerCase() === value && + next(elem)); + }; + } + return function hyphen(elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + (attr.length === len || attr.charAt(len) === "-") && + attr.substr(0, len) === value && + next(elem)); + }; + }, + element: function (next, data, options) { + var adapter = options.adapter; + var name = data.name, value = data.value; + if (/\s/.test(value)) { + return boolbase_1.default.falseFunc; + } + var regex = new RegExp("(?:^|\\s)".concat(escapeRegex(value), "(?:$|\\s)"), shouldIgnoreCase(data, options) ? "i" : ""); + return function element(elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + attr.length >= value.length && + regex.test(attr) && + next(elem)); + }; + }, + exists: function (next, _a, _b) { + var name = _a.name; + var adapter = _b.adapter; + return function (elem) { return adapter.hasAttrib(elem, name) && next(elem); }; + }, + start: function (next, data, options) { + var adapter = options.adapter; + var name = data.name; + var value = data.value; + var len = value.length; + if (len === 0) { + return boolbase_1.default.falseFunc; + } + if (shouldIgnoreCase(data, options)) { + value = value.toLowerCase(); + return function (elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + attr.length >= len && + attr.substr(0, len).toLowerCase() === value && + next(elem)); + }; + } + return function (elem) { + var _a; + return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.startsWith(value)) && + next(elem); + }; + }, + end: function (next, data, options) { + var adapter = options.adapter; + var name = data.name; + var value = data.value; + var len = -value.length; + if (len === 0) { + return boolbase_1.default.falseFunc; + } + if (shouldIgnoreCase(data, options)) { + value = value.toLowerCase(); + return function (elem) { + var _a; + return ((_a = adapter + .getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem); + }; + } + return function (elem) { + var _a; + return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.endsWith(value)) && + next(elem); + }; + }, + any: function (next, data, options) { + var adapter = options.adapter; + var name = data.name, value = data.value; + if (value === "") { + return boolbase_1.default.falseFunc; + } + if (shouldIgnoreCase(data, options)) { + var regex_1 = new RegExp(escapeRegex(value), "i"); + return function anyIC(elem) { + var attr = adapter.getAttributeValue(elem, name); + return (attr != null && + attr.length >= value.length && + regex_1.test(attr) && + next(elem)); + }; + } + return function (elem) { + var _a; + return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.includes(value)) && + next(elem); + }; + }, + not: function (next, data, options) { + var adapter = options.adapter; + var name = data.name; + var value = data.value; + if (value === "") { + return function (elem) { + return !!adapter.getAttributeValue(elem, name) && next(elem); + }; + } + else if (shouldIgnoreCase(data, options)) { + value = value.toLowerCase(); + return function (elem) { + var attr = adapter.getAttributeValue(elem, name); + return ((attr == null || + attr.length !== value.length || + attr.toLowerCase() !== value) && + next(elem)); + }; + } + return function (elem) { + return adapter.getAttributeValue(elem, name) !== value && next(elem); + }; + }, +}; +//# sourceMappingURL=attributes.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/compile.js b/.output/server/node_modules/css-select/lib/compile.js new file mode 100644 index 00000000..cf0507c1 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/compile.js @@ -0,0 +1,151 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compileToken = exports.compileUnsafe = exports.compile = void 0; +var css_what_1 = require("css-what"); +var boolbase_1 = __importDefault(require("boolbase")); +var sort_js_1 = __importStar(require("./sort.js")); +var general_js_1 = require("./general.js"); +var subselects_js_1 = require("./pseudo-selectors/subselects.js"); +/** + * Compiles a selector to an executable function. + * + * @param selector Selector to compile. + * @param options Compilation options. + * @param context Optional context for the selector. + */ +function compile(selector, options, context) { + var next = compileUnsafe(selector, options, context); + return (0, subselects_js_1.ensureIsTag)(next, options.adapter); +} +exports.compile = compile; +function compileUnsafe(selector, options, context) { + var token = typeof selector === "string" ? (0, css_what_1.parse)(selector) : selector; + return compileToken(token, options, context); +} +exports.compileUnsafe = compileUnsafe; +function includesScopePseudo(t) { + return (t.type === css_what_1.SelectorType.Pseudo && + (t.name === "scope" || + (Array.isArray(t.data) && + t.data.some(function (data) { return data.some(includesScopePseudo); })))); +} +var DESCENDANT_TOKEN = { type: css_what_1.SelectorType.Descendant }; +var FLEXIBLE_DESCENDANT_TOKEN = { + type: "_flexibleDescendant", +}; +var SCOPE_TOKEN = { + type: css_what_1.SelectorType.Pseudo, + name: "scope", + data: null, +}; +/* + * CSS 4 Spec (Draft): 3.4.1. Absolutizing a Relative Selector + * http://www.w3.org/TR/selectors4/#absolutizing + */ +function absolutize(token, _a, context) { + var adapter = _a.adapter; + // TODO Use better check if the context is a document + var hasContext = !!(context === null || context === void 0 ? void 0 : context.every(function (e) { + var parent = adapter.isTag(e) && adapter.getParent(e); + return e === subselects_js_1.PLACEHOLDER_ELEMENT || (parent && adapter.isTag(parent)); + })); + for (var _i = 0, token_1 = token; _i < token_1.length; _i++) { + var t = token_1[_i]; + if (t.length > 0 && + (0, sort_js_1.isTraversal)(t[0]) && + t[0].type !== css_what_1.SelectorType.Descendant) { + // Don't continue in else branch + } + else if (hasContext && !t.some(includesScopePseudo)) { + t.unshift(DESCENDANT_TOKEN); + } + else { + continue; + } + t.unshift(SCOPE_TOKEN); + } +} +function compileToken(token, options, context) { + var _a; + token.forEach(sort_js_1.default); + context = (_a = options.context) !== null && _a !== void 0 ? _a : context; + var isArrayContext = Array.isArray(context); + var finalContext = context && (Array.isArray(context) ? context : [context]); + // Check if the selector is relative + if (options.relativeSelector !== false) { + absolutize(token, options, finalContext); + } + else if (token.some(function (t) { return t.length > 0 && (0, sort_js_1.isTraversal)(t[0]); })) { + throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled"); + } + var shouldTestNextSiblings = false; + var query = token + .map(function (rules) { + if (rules.length >= 2) { + var first = rules[0], second = rules[1]; + if (first.type !== css_what_1.SelectorType.Pseudo || + first.name !== "scope") { + // Ignore + } + else if (isArrayContext && + second.type === css_what_1.SelectorType.Descendant) { + rules[1] = FLEXIBLE_DESCENDANT_TOKEN; + } + else if (second.type === css_what_1.SelectorType.Adjacent || + second.type === css_what_1.SelectorType.Sibling) { + shouldTestNextSiblings = true; + } + } + return compileRules(rules, options, finalContext); + }) + .reduce(reduceRules, boolbase_1.default.falseFunc); + query.shouldTestNextSiblings = shouldTestNextSiblings; + return query; +} +exports.compileToken = compileToken; +function compileRules(rules, options, context) { + var _a; + return rules.reduce(function (previous, rule) { + return previous === boolbase_1.default.falseFunc + ? boolbase_1.default.falseFunc + : (0, general_js_1.compileGeneralSelector)(previous, rule, options, context, compileToken); + }, (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase_1.default.trueFunc); +} +function reduceRules(a, b) { + if (b === boolbase_1.default.falseFunc || a === boolbase_1.default.trueFunc) { + return a; + } + if (a === boolbase_1.default.falseFunc || b === boolbase_1.default.trueFunc) { + return b; + } + return function combine(elem) { + return a(elem) || b(elem); + }; +} +//# sourceMappingURL=compile.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/general.js b/.output/server/node_modules/css-select/lib/general.js new file mode 100644 index 00000000..5c068004 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/general.js @@ -0,0 +1,148 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compileGeneralSelector = void 0; +var attributes_js_1 = require("./attributes.js"); +var index_js_1 = require("./pseudo-selectors/index.js"); +var css_what_1 = require("css-what"); +function getElementParent(node, adapter) { + var parent = adapter.getParent(node); + if (parent && adapter.isTag(parent)) { + return parent; + } + return null; +} +/* + * All available rules + */ +function compileGeneralSelector(next, selector, options, context, compileToken) { + var adapter = options.adapter, equals = options.equals; + switch (selector.type) { + case css_what_1.SelectorType.PseudoElement: { + throw new Error("Pseudo-elements are not supported by css-select"); + } + case css_what_1.SelectorType.ColumnCombinator: { + throw new Error("Column combinators are not yet supported by css-select"); + } + case css_what_1.SelectorType.Attribute: { + if (selector.namespace != null) { + throw new Error("Namespaced attributes are not yet supported by css-select"); + } + if (!options.xmlMode || options.lowerCaseAttributeNames) { + selector.name = selector.name.toLowerCase(); + } + return attributes_js_1.attributeRules[selector.action](next, selector, options); + } + case css_what_1.SelectorType.Pseudo: { + return (0, index_js_1.compilePseudoSelector)(next, selector, options, context, compileToken); + } + // Tags + case css_what_1.SelectorType.Tag: { + if (selector.namespace != null) { + throw new Error("Namespaced tag names are not yet supported by css-select"); + } + var name_1 = selector.name; + if (!options.xmlMode || options.lowerCaseTags) { + name_1 = name_1.toLowerCase(); + } + return function tag(elem) { + return adapter.getName(elem) === name_1 && next(elem); + }; + } + // Traversal + case css_what_1.SelectorType.Descendant: { + if (options.cacheResults === false || + typeof WeakSet === "undefined") { + return function descendant(elem) { + var current = elem; + while ((current = getElementParent(current, adapter))) { + if (next(current)) { + return true; + } + } + return false; + }; + } + // @ts-expect-error `ElementNode` is not extending object + var isFalseCache_1 = new WeakSet(); + return function cachedDescendant(elem) { + var current = elem; + while ((current = getElementParent(current, adapter))) { + if (!isFalseCache_1.has(current)) { + if (adapter.isTag(current) && next(current)) { + return true; + } + isFalseCache_1.add(current); + } + } + return false; + }; + } + case "_flexibleDescendant": { + // Include element itself, only used while querying an array + return function flexibleDescendant(elem) { + var current = elem; + do { + if (next(current)) + return true; + } while ((current = getElementParent(current, adapter))); + return false; + }; + } + case css_what_1.SelectorType.Parent: { + return function parent(elem) { + return adapter + .getChildren(elem) + .some(function (elem) { return adapter.isTag(elem) && next(elem); }); + }; + } + case css_what_1.SelectorType.Child: { + return function child(elem) { + var parent = adapter.getParent(elem); + return parent != null && adapter.isTag(parent) && next(parent); + }; + } + case css_what_1.SelectorType.Sibling: { + return function sibling(elem) { + var siblings = adapter.getSiblings(elem); + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && next(currentSibling)) { + return true; + } + } + return false; + }; + } + case css_what_1.SelectorType.Adjacent: { + if (adapter.prevElementSibling) { + return function adjacent(elem) { + var previous = adapter.prevElementSibling(elem); + return previous != null && next(previous); + }; + } + return function adjacent(elem) { + var siblings = adapter.getSiblings(elem); + var lastElement; + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling)) { + lastElement = currentSibling; + } + } + return !!lastElement && next(lastElement); + }; + } + case css_what_1.SelectorType.Universal: { + if (selector.namespace != null && selector.namespace !== "*") { + throw new Error("Namespaced universal selectors are not yet supported by css-select"); + } + return next; + } + } +} +exports.compileGeneralSelector = compileGeneralSelector; +//# sourceMappingURL=general.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/index.js b/.output/server/node_modules/css-select/lib/index.js new file mode 100644 index 00000000..0dc6da01 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/index.js @@ -0,0 +1,154 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.aliases = exports.pseudos = exports.filters = exports.is = exports.selectOne = exports.selectAll = exports.prepareContext = exports._compileToken = exports._compileUnsafe = exports.compile = void 0; +var DomUtils = __importStar(require("domutils")); +var boolbase_1 = __importDefault(require("boolbase")); +var compile_js_1 = require("./compile.js"); +var subselects_js_1 = require("./pseudo-selectors/subselects.js"); +var defaultEquals = function (a, b) { return a === b; }; +var defaultOptions = { + adapter: DomUtils, + equals: defaultEquals, +}; +function convertOptionFormats(options) { + var _a, _b, _c, _d; + /* + * We force one format of options to the other one. + */ + // @ts-expect-error Default options may have incompatible `Node` / `ElementNode`. + var opts = options !== null && options !== void 0 ? options : defaultOptions; + // @ts-expect-error Same as above. + (_a = opts.adapter) !== null && _a !== void 0 ? _a : (opts.adapter = DomUtils); + // @ts-expect-error `equals` does not exist on `Options` + (_b = opts.equals) !== null && _b !== void 0 ? _b : (opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals); + return opts; +} +function wrapCompile(func) { + return function addAdapter(selector, options, context) { + var opts = convertOptionFormats(options); + return func(selector, opts, context); + }; +} +/** + * Compiles the query, returns a function. + */ +exports.compile = wrapCompile(compile_js_1.compile); +exports._compileUnsafe = wrapCompile(compile_js_1.compileUnsafe); +exports._compileToken = wrapCompile(compile_js_1.compileToken); +function getSelectorFunc(searchFunc) { + return function select(query, elements, options) { + var opts = convertOptionFormats(options); + if (typeof query !== "function") { + query = (0, compile_js_1.compileUnsafe)(query, opts, elements); + } + var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings); + return searchFunc(query, filteredElements, opts); + }; +} +function prepareContext(elems, adapter, shouldTestNextSiblings) { + if (shouldTestNextSiblings === void 0) { shouldTestNextSiblings = false; } + /* + * Add siblings if the query requires them. + * See https://github.com/fb55/css-select/pull/43#issuecomment-225414692 + */ + if (shouldTestNextSiblings) { + elems = appendNextSiblings(elems, adapter); + } + return Array.isArray(elems) + ? adapter.removeSubsets(elems) + : adapter.getChildren(elems); +} +exports.prepareContext = prepareContext; +function appendNextSiblings(elem, adapter) { + // Order matters because jQuery seems to check the children before the siblings + var elems = Array.isArray(elem) ? elem.slice(0) : [elem]; + var elemsLength = elems.length; + for (var i = 0; i < elemsLength; i++) { + var nextSiblings = (0, subselects_js_1.getNextSiblings)(elems[i], adapter); + elems.push.apply(elems, nextSiblings); + } + return elems; +} +/** + * @template Node The generic Node type for the DOM adapter being used. + * @template ElementNode The Node type for elements for the DOM adapter being used. + * @param elems Elements to query. If it is an element, its children will be queried.. + * @param query can be either a CSS selector string or a compiled query function. + * @param [options] options for querying the document. + * @see compile for supported selector queries. + * @returns All matching elements. + * + */ +exports.selectAll = getSelectorFunc(function (query, elems, options) { + return query === boolbase_1.default.falseFunc || !elems || elems.length === 0 + ? [] + : options.adapter.findAll(query, elems); +}); +/** + * @template Node The generic Node type for the DOM adapter being used. + * @template ElementNode The Node type for elements for the DOM adapter being used. + * @param elems Elements to query. If it is an element, its children will be queried.. + * @param query can be either a CSS selector string or a compiled query function. + * @param [options] options for querying the document. + * @see compile for supported selector queries. + * @returns the first match, or null if there was no match. + */ +exports.selectOne = getSelectorFunc(function (query, elems, options) { + return query === boolbase_1.default.falseFunc || !elems || elems.length === 0 + ? null + : options.adapter.findOne(query, elems); +}); +/** + * Tests whether or not an element is matched by query. + * + * @template Node The generic Node type for the DOM adapter being used. + * @template ElementNode The Node type for elements for the DOM adapter being used. + * @param elem The element to test if it matches the query. + * @param query can be either a CSS selector string or a compiled query function. + * @param [options] options for querying the document. + * @see compile for supported selector queries. + * @returns + */ +function is(elem, query, options) { + var opts = convertOptionFormats(options); + return (typeof query === "function" ? query : (0, compile_js_1.compile)(query, opts))(elem); +} +exports.is = is; +/** + * Alias for selectAll(query, elems, options). + * @see [compile] for supported selector queries. + */ +exports.default = exports.selectAll; +// Export filters, pseudos and aliases to allow users to supply their own. +/** @deprecated Use the `pseudos` option instead. */ +var index_js_1 = require("./pseudo-selectors/index.js"); +Object.defineProperty(exports, "filters", { enumerable: true, get: function () { return index_js_1.filters; } }); +Object.defineProperty(exports, "pseudos", { enumerable: true, get: function () { return index_js_1.pseudos; } }); +Object.defineProperty(exports, "aliases", { enumerable: true, get: function () { return index_js_1.aliases; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/pseudo-selectors/aliases.js b/.output/server/node_modules/css-select/lib/pseudo-selectors/aliases.js new file mode 100644 index 00000000..c2598895 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/pseudo-selectors/aliases.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.aliases = void 0; +/** + * Aliases are pseudos that are expressed as selectors. + */ +exports.aliases = { + // Links + "any-link": ":is(a, area, link)[href]", + link: ":any-link:not(:visited)", + // Forms + // https://html.spec.whatwg.org/multipage/scripting.html#disabled-elements + disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )", + enabled: ":not(:disabled)", + checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)", + required: ":is(input, select, textarea)[required]", + optional: ":is(input, select, textarea):not([required])", + // JQuery extensions + // https://html.spec.whatwg.org/multipage/form-elements.html#concept-option-selectedness + selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)", + checkbox: "[type=checkbox]", + file: "[type=file]", + password: "[type=password]", + radio: "[type=radio]", + reset: "[type=reset]", + image: "[type=image]", + submit: "[type=submit]", + parent: ":not(:empty)", + header: ":is(h1, h2, h3, h4, h5, h6)", + button: ":is(button, input[type=button])", + input: ":is(input, textarea, select, button)", + text: "input:is(:not([type!='']), [type=text])", +}; +//# sourceMappingURL=aliases.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/pseudo-selectors/filters.js b/.output/server/node_modules/css-select/lib/pseudo-selectors/filters.js new file mode 100644 index 00000000..981ec2f7 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/pseudo-selectors/filters.js @@ -0,0 +1,157 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.filters = void 0; +var nth_check_1 = __importDefault(require("nth-check")); +var boolbase_1 = __importDefault(require("boolbase")); +function getChildFunc(next, adapter) { + return function (elem) { + var parent = adapter.getParent(elem); + return parent != null && adapter.isTag(parent) && next(elem); + }; +} +exports.filters = { + contains: function (next, text, _a) { + var adapter = _a.adapter; + return function contains(elem) { + return next(elem) && adapter.getText(elem).includes(text); + }; + }, + icontains: function (next, text, _a) { + var adapter = _a.adapter; + var itext = text.toLowerCase(); + return function icontains(elem) { + return (next(elem) && + adapter.getText(elem).toLowerCase().includes(itext)); + }; + }, + // Location specific methods + "nth-child": function (next, rule, _a) { + var adapter = _a.adapter, equals = _a.equals; + var func = (0, nth_check_1.default)(rule); + if (func === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + if (func === boolbase_1.default.trueFunc) + return getChildFunc(next, adapter); + return function nthChild(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = 0; i < siblings.length; i++) { + if (equals(elem, siblings[i])) + break; + if (adapter.isTag(siblings[i])) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, + "nth-last-child": function (next, rule, _a) { + var adapter = _a.adapter, equals = _a.equals; + var func = (0, nth_check_1.default)(rule); + if (func === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + if (func === boolbase_1.default.trueFunc) + return getChildFunc(next, adapter); + return function nthLastChild(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = siblings.length - 1; i >= 0; i--) { + if (equals(elem, siblings[i])) + break; + if (adapter.isTag(siblings[i])) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, + "nth-of-type": function (next, rule, _a) { + var adapter = _a.adapter, equals = _a.equals; + var func = (0, nth_check_1.default)(rule); + if (func === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + if (func === boolbase_1.default.trueFunc) + return getChildFunc(next, adapter); + return function nthOfType(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && + adapter.getName(currentSibling) === adapter.getName(elem)) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, + "nth-last-of-type": function (next, rule, _a) { + var adapter = _a.adapter, equals = _a.equals; + var func = (0, nth_check_1.default)(rule); + if (func === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + if (func === boolbase_1.default.trueFunc) + return getChildFunc(next, adapter); + return function nthLastOfType(elem) { + var siblings = adapter.getSiblings(elem); + var pos = 0; + for (var i = siblings.length - 1; i >= 0; i--) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + break; + if (adapter.isTag(currentSibling) && + adapter.getName(currentSibling) === adapter.getName(elem)) { + pos++; + } + } + return func(pos) && next(elem); + }; + }, + // TODO determine the actual root element + root: function (next, _rule, _a) { + var adapter = _a.adapter; + return function (elem) { + var parent = adapter.getParent(elem); + return (parent == null || !adapter.isTag(parent)) && next(elem); + }; + }, + scope: function (next, rule, options, context) { + var equals = options.equals; + if (!context || context.length === 0) { + // Equivalent to :root + return exports.filters["root"](next, rule, options); + } + if (context.length === 1) { + // NOTE: can't be unpacked, as :has uses this for side-effects + return function (elem) { return equals(context[0], elem) && next(elem); }; + } + return function (elem) { return context.includes(elem) && next(elem); }; + }, + hover: dynamicStatePseudo("isHovered"), + visited: dynamicStatePseudo("isVisited"), + active: dynamicStatePseudo("isActive"), +}; +/** + * Dynamic state pseudos. These depend on optional Adapter methods. + * + * @param name The name of the adapter method to call. + * @returns Pseudo for the `filters` object. + */ +function dynamicStatePseudo(name) { + return function dynamicPseudo(next, _rule, _a) { + var adapter = _a.adapter; + var func = adapter[name]; + if (typeof func !== "function") { + return boolbase_1.default.falseFunc; + } + return function active(elem) { + return func(elem) && next(elem); + }; + }; +} +//# sourceMappingURL=filters.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/pseudo-selectors/index.js b/.output/server/node_modules/css-select/lib/pseudo-selectors/index.js new file mode 100644 index 00000000..25367865 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/pseudo-selectors/index.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compilePseudoSelector = exports.aliases = exports.pseudos = exports.filters = void 0; +var css_what_1 = require("css-what"); +var filters_js_1 = require("./filters.js"); +Object.defineProperty(exports, "filters", { enumerable: true, get: function () { return filters_js_1.filters; } }); +var pseudos_js_1 = require("./pseudos.js"); +Object.defineProperty(exports, "pseudos", { enumerable: true, get: function () { return pseudos_js_1.pseudos; } }); +var aliases_js_1 = require("./aliases.js"); +Object.defineProperty(exports, "aliases", { enumerable: true, get: function () { return aliases_js_1.aliases; } }); +var subselects_js_1 = require("./subselects.js"); +function compilePseudoSelector(next, selector, options, context, compileToken) { + var _a; + var name = selector.name, data = selector.data; + if (Array.isArray(data)) { + if (!(name in subselects_js_1.subselects)) { + throw new Error("Unknown pseudo-class :".concat(name, "(").concat(data, ")")); + } + return subselects_js_1.subselects[name](next, data, options, context, compileToken); + } + var userPseudo = (_a = options.pseudos) === null || _a === void 0 ? void 0 : _a[name]; + var stringPseudo = typeof userPseudo === "string" ? userPseudo : aliases_js_1.aliases[name]; + if (typeof stringPseudo === "string") { + if (data != null) { + throw new Error("Pseudo ".concat(name, " doesn't have any arguments")); + } + // The alias has to be parsed here, to make sure options are respected. + var alias = (0, css_what_1.parse)(stringPseudo); + return subselects_js_1.subselects["is"](next, alias, options, context, compileToken); + } + if (typeof userPseudo === "function") { + (0, pseudos_js_1.verifyPseudoArgs)(userPseudo, name, data, 1); + return function (elem) { return userPseudo(elem, data) && next(elem); }; + } + if (name in filters_js_1.filters) { + return filters_js_1.filters[name](next, data, options, context); + } + if (name in pseudos_js_1.pseudos) { + var pseudo_1 = pseudos_js_1.pseudos[name]; + (0, pseudos_js_1.verifyPseudoArgs)(pseudo_1, name, data, 2); + return function (elem) { return pseudo_1(elem, options, data) && next(elem); }; + } + throw new Error("Unknown pseudo-class :".concat(name)); +} +exports.compilePseudoSelector = compilePseudoSelector; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/pseudo-selectors/pseudos.js b/.output/server/node_modules/css-select/lib/pseudo-selectors/pseudos.js new file mode 100644 index 00000000..050ac7f7 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/pseudo-selectors/pseudos.js @@ -0,0 +1,93 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifyPseudoArgs = exports.pseudos = void 0; +// While filters are precompiled, pseudos get called when they are needed +exports.pseudos = { + empty: function (elem, _a) { + var adapter = _a.adapter; + return !adapter.getChildren(elem).some(function (elem) { + // FIXME: `getText` call is potentially expensive. + return adapter.isTag(elem) || adapter.getText(elem) !== ""; + }); + }, + "first-child": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + if (adapter.prevElementSibling) { + return adapter.prevElementSibling(elem) == null; + } + var firstChild = adapter + .getSiblings(elem) + .find(function (elem) { return adapter.isTag(elem); }); + return firstChild != null && equals(elem, firstChild); + }, + "last-child": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + var siblings = adapter.getSiblings(elem); + for (var i = siblings.length - 1; i >= 0; i--) { + if (equals(elem, siblings[i])) + return true; + if (adapter.isTag(siblings[i])) + break; + } + return false; + }, + "first-of-type": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + var siblings = adapter.getSiblings(elem); + var elemName = adapter.getName(elem); + for (var i = 0; i < siblings.length; i++) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + return true; + if (adapter.isTag(currentSibling) && + adapter.getName(currentSibling) === elemName) { + break; + } + } + return false; + }, + "last-of-type": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + var siblings = adapter.getSiblings(elem); + var elemName = adapter.getName(elem); + for (var i = siblings.length - 1; i >= 0; i--) { + var currentSibling = siblings[i]; + if (equals(elem, currentSibling)) + return true; + if (adapter.isTag(currentSibling) && + adapter.getName(currentSibling) === elemName) { + break; + } + } + return false; + }, + "only-of-type": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + var elemName = adapter.getName(elem); + return adapter + .getSiblings(elem) + .every(function (sibling) { + return equals(elem, sibling) || + !adapter.isTag(sibling) || + adapter.getName(sibling) !== elemName; + }); + }, + "only-child": function (elem, _a) { + var adapter = _a.adapter, equals = _a.equals; + return adapter + .getSiblings(elem) + .every(function (sibling) { return equals(elem, sibling) || !adapter.isTag(sibling); }); + }, +}; +function verifyPseudoArgs(func, name, subselect, argIndex) { + if (subselect === null) { + if (func.length > argIndex) { + throw new Error("Pseudo-class :".concat(name, " requires an argument")); + } + } + else if (func.length === argIndex) { + throw new Error("Pseudo-class :".concat(name, " doesn't have any arguments")); + } +} +exports.verifyPseudoArgs = verifyPseudoArgs; +//# sourceMappingURL=pseudos.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/pseudo-selectors/subselects.js b/.output/server/node_modules/css-select/lib/pseudo-selectors/subselects.js new file mode 100644 index 00000000..d2f3b1c6 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/pseudo-selectors/subselects.js @@ -0,0 +1,112 @@ +"use strict"; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.subselects = exports.getNextSiblings = exports.ensureIsTag = exports.PLACEHOLDER_ELEMENT = void 0; +var boolbase_1 = __importDefault(require("boolbase")); +var sort_js_1 = require("../sort.js"); +/** Used as a placeholder for :has. Will be replaced with the actual element. */ +exports.PLACEHOLDER_ELEMENT = {}; +function ensureIsTag(next, adapter) { + if (next === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + return function (elem) { return adapter.isTag(elem) && next(elem); }; +} +exports.ensureIsTag = ensureIsTag; +function getNextSiblings(elem, adapter) { + var siblings = adapter.getSiblings(elem); + if (siblings.length <= 1) + return []; + var elemIndex = siblings.indexOf(elem); + if (elemIndex < 0 || elemIndex === siblings.length - 1) + return []; + return siblings.slice(elemIndex + 1).filter(adapter.isTag); +} +exports.getNextSiblings = getNextSiblings; +function copyOptions(options) { + // Not copied: context, rootFunc + return { + xmlMode: !!options.xmlMode, + lowerCaseAttributeNames: !!options.lowerCaseAttributeNames, + lowerCaseTags: !!options.lowerCaseTags, + quirksMode: !!options.quirksMode, + cacheResults: !!options.cacheResults, + pseudos: options.pseudos, + adapter: options.adapter, + equals: options.equals, + }; +} +var is = function (next, token, options, context, compileToken) { + var func = compileToken(token, copyOptions(options), context); + return func === boolbase_1.default.trueFunc + ? next + : func === boolbase_1.default.falseFunc + ? boolbase_1.default.falseFunc + : function (elem) { return func(elem) && next(elem); }; +}; +/* + * :not, :has, :is, :matches and :where have to compile selectors + * doing this in src/pseudos.ts would lead to circular dependencies, + * so we add them here + */ +exports.subselects = { + is: is, + /** + * `:matches` and `:where` are aliases for `:is`. + */ + matches: is, + where: is, + not: function (next, token, options, context, compileToken) { + var func = compileToken(token, copyOptions(options), context); + return func === boolbase_1.default.falseFunc + ? next + : func === boolbase_1.default.trueFunc + ? boolbase_1.default.falseFunc + : function (elem) { return !func(elem) && next(elem); }; + }, + has: function (next, subselect, options, _context, compileToken) { + var adapter = options.adapter; + var opts = copyOptions(options); + opts.relativeSelector = true; + var context = subselect.some(function (s) { return s.some(sort_js_1.isTraversal); }) + ? // Used as a placeholder. Will be replaced with the actual element. + [exports.PLACEHOLDER_ELEMENT] + : undefined; + var compiled = compileToken(subselect, opts, context); + if (compiled === boolbase_1.default.falseFunc) + return boolbase_1.default.falseFunc; + var hasElement = ensureIsTag(compiled, adapter); + // If `compiled` is `trueFunc`, we can skip this. + if (context && compiled !== boolbase_1.default.trueFunc) { + /* + * `shouldTestNextSiblings` will only be true if the query starts with + * a traversal (sibling or adjacent). That means we will always have a context. + */ + var _a = compiled.shouldTestNextSiblings, shouldTestNextSiblings_1 = _a === void 0 ? false : _a; + return function (elem) { + if (!next(elem)) + return false; + context[0] = elem; + var childs = adapter.getChildren(elem); + var nextElements = shouldTestNextSiblings_1 + ? __spreadArray(__spreadArray([], childs, true), getNextSiblings(elem, adapter), true) : childs; + return adapter.existsOne(hasElement, nextElements); + }; + } + return function (elem) { + return next(elem) && + adapter.existsOne(hasElement, adapter.getChildren(elem)); + }; + }, +}; +//# sourceMappingURL=subselects.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/lib/sort.js b/.output/server/node_modules/css-select/lib/sort.js new file mode 100644 index 00000000..d597e825 --- /dev/null +++ b/.output/server/node_modules/css-select/lib/sort.js @@ -0,0 +1,84 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isTraversal = void 0; +var css_what_1 = require("css-what"); +var procedure = new Map([ + [css_what_1.SelectorType.Universal, 50], + [css_what_1.SelectorType.Tag, 30], + [css_what_1.SelectorType.Attribute, 1], + [css_what_1.SelectorType.Pseudo, 0], +]); +function isTraversal(token) { + return !procedure.has(token.type); +} +exports.isTraversal = isTraversal; +var attributes = new Map([ + [css_what_1.AttributeAction.Exists, 10], + [css_what_1.AttributeAction.Equals, 8], + [css_what_1.AttributeAction.Not, 7], + [css_what_1.AttributeAction.Start, 6], + [css_what_1.AttributeAction.End, 6], + [css_what_1.AttributeAction.Any, 5], +]); +/** + * Sort the parts of the passed selector, + * as there is potential for optimization + * (some types of selectors are faster than others) + * + * @param arr Selector to sort + */ +function sortByProcedure(arr) { + var procs = arr.map(getProcedure); + for (var i = 1; i < arr.length; i++) { + var procNew = procs[i]; + if (procNew < 0) + continue; + for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) { + var token = arr[j + 1]; + arr[j + 1] = arr[j]; + arr[j] = token; + procs[j + 1] = procs[j]; + procs[j] = procNew; + } + } +} +exports.default = sortByProcedure; +function getProcedure(token) { + var _a, _b; + var proc = (_a = procedure.get(token.type)) !== null && _a !== void 0 ? _a : -1; + if (token.type === css_what_1.SelectorType.Attribute) { + proc = (_b = attributes.get(token.action)) !== null && _b !== void 0 ? _b : 4; + if (token.action === css_what_1.AttributeAction.Equals && token.name === "id") { + // Prefer ID selectors (eg. #ID) + proc = 9; + } + if (token.ignoreCase) { + /* + * IgnoreCase adds some overhead, prefer "normal" token + * this is a binary operation, to ensure it's still an int + */ + proc >>= 1; + } + } + else if (token.type === css_what_1.SelectorType.Pseudo) { + if (!token.data) { + proc = 3; + } + else if (token.name === "has" || token.name === "contains") { + proc = 0; // Expensive in any case + } + else if (Array.isArray(token.data)) { + // Eg. :matches, :not + proc = Math.min.apply(Math, token.data.map(function (d) { return Math.min.apply(Math, d.map(getProcedure)); })); + // If we have traversals, try to avoid executing this selector + if (proc < 0) { + proc = 0; + } + } + else { + proc = 2; + } + } + return proc; +} +//# sourceMappingURL=sort.js.map \ No newline at end of file diff --git a/.output/server/node_modules/css-select/package.json b/.output/server/node_modules/css-select/package.json new file mode 100644 index 00000000..800e046f --- /dev/null +++ b/.output/server/node_modules/css-select/package.json @@ -0,0 +1,81 @@ +{ + "name": "css-select", + "version": "5.2.2", + "description": "a CSS selector compiler/engine", + "author": "Felix Boehm <me@feedic.com>", + "funding": { + "url": "https://github.com/sponsors/fb55" + }, + "keywords": [ + "css", + "selector", + "sizzle" + ], + "repository": { + "type": "git", + "url": "git://github.com/fb55/css-select.git" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "files": [ + "lib" + ], + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "devDependencies": { + "@types/boolbase": "^1.0.1", + "@types/jest": "^27.4.1", + "@types/node": "^17.0.29", + "@typescript-eslint/eslint-plugin": "^5.21.0", + "@typescript-eslint/parser": "^5.21.0", + "cheerio-soupselect": "^0.1.1", + "eslint": "^8.14.0", + "eslint-config-prettier": "^8.5.0", + "htmlparser2": "^8.0.0", + "jest": "^27.5.1", + "prettier": "^2.6.2", + "ts-jest": "^27.1.4", + "typescript": "^4.6.3" + }, + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint src", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier '**/*.{ts,md,json,yml}'", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc --sourceRoot https://raw.githubusercontent.com/fb55/css-select/$(git rev-parse HEAD)/src/", + "build:esm": "npm run build:cjs -- --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "prepare": "npm run build" + }, + "license": "BSD-2-Clause", + "prettier": { + "tabWidth": 4, + "proseWrap": "always" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node", + "coverageProvider": "v8", + "moduleNameMapper": { + "^(.*)\\.js$": "$1" + }, + "testMatch": [ + "<rootDir>/test/*.ts" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/css-tree b/.output/server/node_modules/css-tree new file mode 120000 index 00000000..20c2a5e9 --- /dev/null +++ b/.output/server/node_modules/css-tree @@ -0,0 +1 @@ +.nitro/css-tree@2.3.1 \ No newline at end of file diff --git a/.output/server/node_modules/css-what/lib/commonjs/index.js b/.output/server/node_modules/css-what/lib/commonjs/index.js new file mode 100644 index 00000000..3a2058a0 --- /dev/null +++ b/.output/server/node_modules/css-what/lib/commonjs/index.js @@ -0,0 +1,23 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringify = exports.parse = exports.isTraversal = void 0; +__exportStar(require("./types"), exports); +var parse_1 = require("./parse"); +Object.defineProperty(exports, "isTraversal", { enumerable: true, get: function () { return parse_1.isTraversal; } }); +Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } }); +var stringify_1 = require("./stringify"); +Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_1.stringify; } }); diff --git a/.output/server/node_modules/css-what/lib/commonjs/parse.js b/.output/server/node_modules/css-what/lib/commonjs/parse.js new file mode 100644 index 00000000..708de670 --- /dev/null +++ b/.output/server/node_modules/css-what/lib/commonjs/parse.js @@ -0,0 +1,425 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parse = exports.isTraversal = void 0; +var types_1 = require("./types"); +var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/; +var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi; +var actionTypes = new Map([ + [126 /* Tilde */, types_1.AttributeAction.Element], + [94 /* Circumflex */, types_1.AttributeAction.Start], + [36 /* Dollar */, types_1.AttributeAction.End], + [42 /* Asterisk */, types_1.AttributeAction.Any], + [33 /* ExclamationMark */, types_1.AttributeAction.Not], + [124 /* Pipe */, types_1.AttributeAction.Hyphen], +]); +// Pseudos, whose data property is parsed as well. +var unpackPseudos = new Set([ + "has", + "not", + "matches", + "is", + "where", + "host", + "host-context", +]); +/** + * Checks whether a specific selector is a traversal. + * This is useful eg. in swapping the order of elements that + * are not traversals. + * + * @param selector Selector to check. + */ +function isTraversal(selector) { + switch (selector.type) { + case types_1.SelectorType.Adjacent: + case types_1.SelectorType.Child: + case types_1.SelectorType.Descendant: + case types_1.SelectorType.Parent: + case types_1.SelectorType.Sibling: + case types_1.SelectorType.ColumnCombinator: + return true; + default: + return false; + } +} +exports.isTraversal = isTraversal; +var stripQuotesFromPseudos = new Set(["contains", "icontains"]); +// Unescape function taken from https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L152 +function funescape(_, escaped, escapedWhitespace) { + var high = parseInt(escaped, 16) - 0x10000; + // NaN means non-codepoint + return high !== high || escapedWhitespace + ? escaped + : high < 0 + ? // BMP codepoint + String.fromCharCode(high + 0x10000) + : // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode((high >> 10) | 0xd800, (high & 0x3ff) | 0xdc00); +} +function unescapeCSS(str) { + return str.replace(reEscape, funescape); +} +function isQuote(c) { + return c === 39 /* SingleQuote */ || c === 34 /* DoubleQuote */; +} +function isWhitespace(c) { + return (c === 32 /* Space */ || + c === 9 /* Tab */ || + c === 10 /* NewLine */ || + c === 12 /* FormFeed */ || + c === 13 /* CarriageReturn */); +} +/** + * Parses `selector`, optionally with the passed `options`. + * + * @param selector Selector to parse. + * @param options Options for parsing. + * @returns Returns a two-dimensional array. + * The first dimension represents selectors separated by commas (eg. `sub1, sub2`), + * the second contains the relevant tokens for that selector. + */ +function parse(selector) { + var subselects = []; + var endIndex = parseSelector(subselects, "".concat(selector), 0); + if (endIndex < selector.length) { + throw new Error("Unmatched selector: ".concat(selector.slice(endIndex))); + } + return subselects; +} +exports.parse = parse; +function parseSelector(subselects, selector, selectorIndex) { + var tokens = []; + function getName(offset) { + var match = selector.slice(selectorIndex + offset).match(reName); + if (!match) { + throw new Error("Expected name, found ".concat(selector.slice(selectorIndex))); + } + var name = match[0]; + selectorIndex += offset + name.length; + return unescapeCSS(name); + } + function stripWhitespace(offset) { + selectorIndex += offset; + while (selectorIndex < selector.length && + isWhitespace(selector.charCodeAt(selectorIndex))) { + selectorIndex++; + } + } + function readValueWithParenthesis() { + selectorIndex += 1; + var start = selectorIndex; + var counter = 1; + for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) { + if (selector.charCodeAt(selectorIndex) === + 40 /* LeftParenthesis */ && + !isEscaped(selectorIndex)) { + counter++; + } + else if (selector.charCodeAt(selectorIndex) === + 41 /* RightParenthesis */ && + !isEscaped(selectorIndex)) { + counter--; + } + } + if (counter) { + throw new Error("Parenthesis not matched"); + } + return unescapeCSS(selector.slice(start, selectorIndex - 1)); + } + function isEscaped(pos) { + var slashCount = 0; + while (selector.charCodeAt(--pos) === 92 /* BackSlash */) + slashCount++; + return (slashCount & 1) === 1; + } + function ensureNotTraversal() { + if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) { + throw new Error("Did not expect successive traversals."); + } + } + function addTraversal(type) { + if (tokens.length > 0 && + tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) { + tokens[tokens.length - 1].type = type; + return; + } + ensureNotTraversal(); + tokens.push({ type: type }); + } + function addSpecialAttribute(name, action) { + tokens.push({ + type: types_1.SelectorType.Attribute, + name: name, + action: action, + value: getName(1), + namespace: null, + ignoreCase: "quirks", + }); + } + /** + * We have finished parsing the current part of the selector. + * + * Remove descendant tokens at the end if they exist, + * and return the last index, so that parsing can be + * picked up from here. + */ + function finalizeSubselector() { + if (tokens.length && + tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) { + tokens.pop(); + } + if (tokens.length === 0) { + throw new Error("Empty sub-selector"); + } + subselects.push(tokens); + } + stripWhitespace(0); + if (selector.length === selectorIndex) { + return selectorIndex; + } + loop: while (selectorIndex < selector.length) { + var firstChar = selector.charCodeAt(selectorIndex); + switch (firstChar) { + // Whitespace + case 32 /* Space */: + case 9 /* Tab */: + case 10 /* NewLine */: + case 12 /* FormFeed */: + case 13 /* CarriageReturn */: { + if (tokens.length === 0 || + tokens[0].type !== types_1.SelectorType.Descendant) { + ensureNotTraversal(); + tokens.push({ type: types_1.SelectorType.Descendant }); + } + stripWhitespace(1); + break; + } + // Traversals + case 62 /* GreaterThan */: { + addTraversal(types_1.SelectorType.Child); + stripWhitespace(1); + break; + } + case 60 /* LessThan */: { + addTraversal(types_1.SelectorType.Parent); + stripWhitespace(1); + break; + } + case 126 /* Tilde */: { + addTraversal(types_1.SelectorType.Sibling); + stripWhitespace(1); + break; + } + case 43 /* Plus */: { + addTraversal(types_1.SelectorType.Adjacent); + stripWhitespace(1); + break; + } + // Special attribute selectors: .class, #id + case 46 /* Period */: { + addSpecialAttribute("class", types_1.AttributeAction.Element); + break; + } + case 35 /* Hash */: { + addSpecialAttribute("id", types_1.AttributeAction.Equals); + break; + } + case 91 /* LeftSquareBracket */: { + stripWhitespace(1); + // Determine attribute name and namespace + var name_1 = void 0; + var namespace = null; + if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */) { + // Equivalent to no namespace + name_1 = getName(1); + } + else if (selector.startsWith("*|", selectorIndex)) { + namespace = "*"; + name_1 = getName(2); + } + else { + name_1 = getName(0); + if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ && + selector.charCodeAt(selectorIndex + 1) !== + 61 /* Equal */) { + namespace = name_1; + name_1 = getName(1); + } + } + stripWhitespace(0); + // Determine comparison operation + var action = types_1.AttributeAction.Exists; + var possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex)); + if (possibleAction) { + action = possibleAction; + if (selector.charCodeAt(selectorIndex + 1) !== + 61 /* Equal */) { + throw new Error("Expected `=`"); + } + stripWhitespace(2); + } + else if (selector.charCodeAt(selectorIndex) === 61 /* Equal */) { + action = types_1.AttributeAction.Equals; + stripWhitespace(1); + } + // Determine value + var value = ""; + var ignoreCase = null; + if (action !== "exists") { + if (isQuote(selector.charCodeAt(selectorIndex))) { + var quote = selector.charCodeAt(selectorIndex); + var sectionEnd = selectorIndex + 1; + while (sectionEnd < selector.length && + (selector.charCodeAt(sectionEnd) !== quote || + isEscaped(sectionEnd))) { + sectionEnd += 1; + } + if (selector.charCodeAt(sectionEnd) !== quote) { + throw new Error("Attribute value didn't end"); + } + value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd)); + selectorIndex = sectionEnd + 1; + } + else { + var valueStart = selectorIndex; + while (selectorIndex < selector.length && + ((!isWhitespace(selector.charCodeAt(selectorIndex)) && + selector.charCodeAt(selectorIndex) !== + 93 /* RightSquareBracket */) || + isEscaped(selectorIndex))) { + selectorIndex += 1; + } + value = unescapeCSS(selector.slice(valueStart, selectorIndex)); + } + stripWhitespace(0); + // See if we have a force ignore flag + var forceIgnore = selector.charCodeAt(selectorIndex) | 0x20; + // If the forceIgnore flag is set (either `i` or `s`), use that value + if (forceIgnore === 115 /* LowerS */) { + ignoreCase = false; + stripWhitespace(1); + } + else if (forceIgnore === 105 /* LowerI */) { + ignoreCase = true; + stripWhitespace(1); + } + } + if (selector.charCodeAt(selectorIndex) !== + 93 /* RightSquareBracket */) { + throw new Error("Attribute selector didn't terminate"); + } + selectorIndex += 1; + var attributeSelector = { + type: types_1.SelectorType.Attribute, + name: name_1, + action: action, + value: value, + namespace: namespace, + ignoreCase: ignoreCase, + }; + tokens.push(attributeSelector); + break; + } + case 58 /* Colon */: { + if (selector.charCodeAt(selectorIndex + 1) === 58 /* Colon */) { + tokens.push({ + type: types_1.SelectorType.PseudoElement, + name: getName(2).toLowerCase(), + data: selector.charCodeAt(selectorIndex) === + 40 /* LeftParenthesis */ + ? readValueWithParenthesis() + : null, + }); + continue; + } + var name_2 = getName(1).toLowerCase(); + var data = null; + if (selector.charCodeAt(selectorIndex) === + 40 /* LeftParenthesis */) { + if (unpackPseudos.has(name_2)) { + if (isQuote(selector.charCodeAt(selectorIndex + 1))) { + throw new Error("Pseudo-selector ".concat(name_2, " cannot be quoted")); + } + data = []; + selectorIndex = parseSelector(data, selector, selectorIndex + 1); + if (selector.charCodeAt(selectorIndex) !== + 41 /* RightParenthesis */) { + throw new Error("Missing closing parenthesis in :".concat(name_2, " (").concat(selector, ")")); + } + selectorIndex += 1; + } + else { + data = readValueWithParenthesis(); + if (stripQuotesFromPseudos.has(name_2)) { + var quot = data.charCodeAt(0); + if (quot === data.charCodeAt(data.length - 1) && + isQuote(quot)) { + data = data.slice(1, -1); + } + } + data = unescapeCSS(data); + } + } + tokens.push({ type: types_1.SelectorType.Pseudo, name: name_2, data: data }); + break; + } + case 44 /* Comma */: { + finalizeSubselector(); + tokens = []; + stripWhitespace(1); + break; + } + default: { + if (selector.startsWith("/*", selectorIndex)) { + var endIndex = selector.indexOf("*/", selectorIndex + 2); + if (endIndex < 0) { + throw new Error("Comment was not terminated"); + } + selectorIndex = endIndex + 2; + // Remove leading whitespace + if (tokens.length === 0) { + stripWhitespace(0); + } + break; + } + var namespace = null; + var name_3 = void 0; + if (firstChar === 42 /* Asterisk */) { + selectorIndex += 1; + name_3 = "*"; + } + else if (firstChar === 124 /* Pipe */) { + name_3 = ""; + if (selector.charCodeAt(selectorIndex + 1) === 124 /* Pipe */) { + addTraversal(types_1.SelectorType.ColumnCombinator); + stripWhitespace(2); + break; + } + } + else if (reName.test(selector.slice(selectorIndex))) { + name_3 = getName(0); + } + else { + break loop; + } + if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ && + selector.charCodeAt(selectorIndex + 1) !== 124 /* Pipe */) { + namespace = name_3; + if (selector.charCodeAt(selectorIndex + 1) === + 42 /* Asterisk */) { + name_3 = "*"; + selectorIndex += 2; + } + else { + name_3 = getName(1); + } + } + tokens.push(name_3 === "*" + ? { type: types_1.SelectorType.Universal, namespace: namespace } + : { type: types_1.SelectorType.Tag, name: name_3, namespace: namespace }); + } + } + } + finalizeSubselector(); + return selectorIndex; +} diff --git a/.output/server/node_modules/css-what/lib/commonjs/stringify.js b/.output/server/node_modules/css-what/lib/commonjs/stringify.js new file mode 100644 index 00000000..158b180a --- /dev/null +++ b/.output/server/node_modules/css-what/lib/commonjs/stringify.js @@ -0,0 +1,138 @@ +"use strict"; +var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringify = void 0; +var types_1 = require("./types"); +var attribValChars = ["\\", '"']; +var pseudoValChars = __spreadArray(__spreadArray([], attribValChars, true), ["(", ")"], false); +var charsToEscapeInAttributeValue = new Set(attribValChars.map(function (c) { return c.charCodeAt(0); })); +var charsToEscapeInPseudoValue = new Set(pseudoValChars.map(function (c) { return c.charCodeAt(0); })); +var charsToEscapeInName = new Set(__spreadArray(__spreadArray([], pseudoValChars, true), [ + "~", + "^", + "$", + "*", + "+", + "!", + "|", + ":", + "[", + "]", + " ", + ".", +], false).map(function (c) { return c.charCodeAt(0); })); +/** + * Turns `selector` back into a string. + * + * @param selector Selector to stringify. + */ +function stringify(selector) { + return selector + .map(function (token) { return token.map(stringifyToken).join(""); }) + .join(", "); +} +exports.stringify = stringify; +function stringifyToken(token, index, arr) { + switch (token.type) { + // Simple types + case types_1.SelectorType.Child: + return index === 0 ? "> " : " > "; + case types_1.SelectorType.Parent: + return index === 0 ? "< " : " < "; + case types_1.SelectorType.Sibling: + return index === 0 ? "~ " : " ~ "; + case types_1.SelectorType.Adjacent: + return index === 0 ? "+ " : " + "; + case types_1.SelectorType.Descendant: + return " "; + case types_1.SelectorType.ColumnCombinator: + return index === 0 ? "|| " : " || "; + case types_1.SelectorType.Universal: + // Return an empty string if the selector isn't needed. + return token.namespace === "*" && + index + 1 < arr.length && + "name" in arr[index + 1] + ? "" + : "".concat(getNamespace(token.namespace), "*"); + case types_1.SelectorType.Tag: + return getNamespacedName(token); + case types_1.SelectorType.PseudoElement: + return "::".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null + ? "" + : "(".concat(escapeName(token.data, charsToEscapeInPseudoValue), ")")); + case types_1.SelectorType.Pseudo: + return ":".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null + ? "" + : "(".concat(typeof token.data === "string" + ? escapeName(token.data, charsToEscapeInPseudoValue) + : stringify(token.data), ")")); + case types_1.SelectorType.Attribute: { + if (token.name === "id" && + token.action === types_1.AttributeAction.Equals && + token.ignoreCase === "quirks" && + !token.namespace) { + return "#".concat(escapeName(token.value, charsToEscapeInName)); + } + if (token.name === "class" && + token.action === types_1.AttributeAction.Element && + token.ignoreCase === "quirks" && + !token.namespace) { + return ".".concat(escapeName(token.value, charsToEscapeInName)); + } + var name_1 = getNamespacedName(token); + if (token.action === types_1.AttributeAction.Exists) { + return "[".concat(name_1, "]"); + } + return "[".concat(name_1).concat(getActionValue(token.action), "=\"").concat(escapeName(token.value, charsToEscapeInAttributeValue), "\"").concat(token.ignoreCase === null ? "" : token.ignoreCase ? " i" : " s", "]"); + } + } +} +function getActionValue(action) { + switch (action) { + case types_1.AttributeAction.Equals: + return ""; + case types_1.AttributeAction.Element: + return "~"; + case types_1.AttributeAction.Start: + return "^"; + case types_1.AttributeAction.End: + return "$"; + case types_1.AttributeAction.Any: + return "*"; + case types_1.AttributeAction.Not: + return "!"; + case types_1.AttributeAction.Hyphen: + return "|"; + case types_1.AttributeAction.Exists: + throw new Error("Shouldn't be here"); + } +} +function getNamespacedName(token) { + return "".concat(getNamespace(token.namespace)).concat(escapeName(token.name, charsToEscapeInName)); +} +function getNamespace(namespace) { + return namespace !== null + ? "".concat(namespace === "*" + ? "*" + : escapeName(namespace, charsToEscapeInName), "|") + : ""; +} +function escapeName(str, charsToEscape) { + var lastIdx = 0; + var ret = ""; + for (var i = 0; i < str.length; i++) { + if (charsToEscape.has(str.charCodeAt(i))) { + ret += "".concat(str.slice(lastIdx, i), "\\").concat(str.charAt(i)); + lastIdx = i + 1; + } + } + return ret.length > 0 ? ret + str.slice(lastIdx) : str; +} diff --git a/.output/server/node_modules/css-what/lib/commonjs/types.js b/.output/server/node_modules/css-what/lib/commonjs/types.js new file mode 100644 index 00000000..9ad74672 --- /dev/null +++ b/.output/server/node_modules/css-what/lib/commonjs/types.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AttributeAction = exports.IgnoreCaseMode = exports.SelectorType = void 0; +var SelectorType; +(function (SelectorType) { + SelectorType["Attribute"] = "attribute"; + SelectorType["Pseudo"] = "pseudo"; + SelectorType["PseudoElement"] = "pseudo-element"; + SelectorType["Tag"] = "tag"; + SelectorType["Universal"] = "universal"; + // Traversals + SelectorType["Adjacent"] = "adjacent"; + SelectorType["Child"] = "child"; + SelectorType["Descendant"] = "descendant"; + SelectorType["Parent"] = "parent"; + SelectorType["Sibling"] = "sibling"; + SelectorType["ColumnCombinator"] = "column-combinator"; +})(SelectorType = exports.SelectorType || (exports.SelectorType = {})); +/** + * Modes for ignore case. + * + * This could be updated to an enum, and the object is + * the current stand-in that will allow code to be updated + * without big changes. + */ +exports.IgnoreCaseMode = { + Unknown: null, + QuirksMode: "quirks", + IgnoreCase: true, + CaseSensitive: false, +}; +var AttributeAction; +(function (AttributeAction) { + AttributeAction["Any"] = "any"; + AttributeAction["Element"] = "element"; + AttributeAction["End"] = "end"; + AttributeAction["Equals"] = "equals"; + AttributeAction["Exists"] = "exists"; + AttributeAction["Hyphen"] = "hyphen"; + AttributeAction["Not"] = "not"; + AttributeAction["Start"] = "start"; +})(AttributeAction = exports.AttributeAction || (exports.AttributeAction = {})); diff --git a/.output/server/node_modules/css-what/package.json b/.output/server/node_modules/css-what/package.json new file mode 100644 index 00000000..b42b4df5 --- /dev/null +++ b/.output/server/node_modules/css-what/package.json @@ -0,0 +1,59 @@ +{ + "author": "Felix Böhm <me@feedic.com> (http://feedic.com)", + "name": "css-what", + "description": "a CSS selector parser", + "version": "6.2.2", + "funding": { + "url": "https://github.com/sponsors/fb55" + }, + "repository": { + "type": "git", + "url": "https://github.com/fb55/css-what" + }, + "main": "lib/commonjs/index.js", + "module": "lib/es/index.js", + "types": "lib/es/index.d.ts", + "sideEffects": false, + "files": [ + "lib/**/*" + ], + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint src", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier '**/*.{ts,md,json,yml}'", + "build": "tsc && tsc -p tsconfig.es.json", + "prepare": "npm run build" + }, + "devDependencies": { + "@types/jest": "^27.4.1", + "@types/node": "^17.0.23", + "@typescript-eslint/eslint-plugin": "^5.17.0", + "@typescript-eslint/parser": "^5.17.0", + "eslint": "^8.12.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-node": "^11.1.0", + "jest": "^27.5.1", + "prettier": "^2.6.1", + "ts-jest": "^27.1.4", + "typescript": "^4.6.3" + }, + "engines": { + "node": ">= 6" + }, + "license": "BSD-2-Clause", + "jest": { + "preset": "ts-jest", + "roots": [ + "src" + ] + }, + "prettier": { + "tabWidth": 4 + } +} \ No newline at end of file diff --git a/.output/server/node_modules/csso/cjs/clean/Atrule.cjs b/.output/server/node_modules/csso/cjs/clean/Atrule.cjs new file mode 100644 index 00000000..22af87b6 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/Atrule.cjs @@ -0,0 +1,73 @@ +'use strict'; + +const cssTree = require('css-tree'); +const utils = require('./utils.cjs'); + +function cleanAtrule(node, item, list) { + if (node.block) { + // otherwise removed at-rule don't prevent @import for removal + if (this.stylesheet !== null) { + this.stylesheet.firstAtrulesAllowed = false; + } + + if (utils.hasNoChildren(node.block)) { + list.remove(item); + return; + } + } + + switch (node.name) { + case 'charset': + if (utils.hasNoChildren(node.prelude)) { + list.remove(item); + return; + } + + // if there is any rule before @charset -> remove it + if (item.prev) { + list.remove(item); + return; + } + + break; + + case 'import': + if (this.stylesheet === null || !this.stylesheet.firstAtrulesAllowed) { + list.remove(item); + return; + } + + // if there are some rules that not an @import or @charset before @import + // remove it + list.prevUntil(item.prev, function(rule) { + if (rule.type === 'Atrule') { + if (rule.name === 'import' || rule.name === 'charset') { + return; + } + } + + this.root.firstAtrulesAllowed = false; + list.remove(item); + + return true; + }, this); + + break; + + default: { + const name = cssTree.keyword(node.name).basename; + + if (name === 'keyframes' || + name === 'media' || + name === 'supports') { + + // drop at-rule with no prelude + if (utils.hasNoChildren(node.prelude) || utils.hasNoChildren(node.block)) { + list.remove(item); + } + } + } + } +} + +module.exports = cleanAtrule; diff --git a/.output/server/node_modules/csso/cjs/clean/Comment.cjs b/.output/server/node_modules/csso/cjs/clean/Comment.cjs new file mode 100644 index 00000000..a76253e9 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/Comment.cjs @@ -0,0 +1,7 @@ +'use strict'; + +function cleanComment(data, item, list) { + list.remove(item); +} + +module.exports = cleanComment; diff --git a/.output/server/node_modules/csso/cjs/clean/Declaration.cjs b/.output/server/node_modules/csso/cjs/clean/Declaration.cjs new file mode 100644 index 00000000..92a2afbf --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/Declaration.cjs @@ -0,0 +1,18 @@ +'use strict'; + +const cssTree = require('css-tree'); + +function cleanDeclartion(node, item, list) { + if (node.value.children && node.value.children.isEmpty) { + list.remove(item); + return; + } + + if (cssTree.property(node.property).custom) { + if (/\S/.test(node.value.value)) { + node.value.value = node.value.value.trim(); + } + } +} + +module.exports = cleanDeclartion; diff --git a/.output/server/node_modules/csso/cjs/clean/Raw.cjs b/.output/server/node_modules/csso/cjs/clean/Raw.cjs new file mode 100644 index 00000000..0286e198 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/Raw.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const utils = require('./utils.cjs'); + +function cleanRaw(node, item, list) { + // raw in stylesheet or block children + if (utils.isNodeChildrenList(this.stylesheet, list) || + utils.isNodeChildrenList(this.block, list)) { + list.remove(item); + } +} + +module.exports = cleanRaw; diff --git a/.output/server/node_modules/csso/cjs/clean/Rule.cjs b/.output/server/node_modules/csso/cjs/clean/Rule.cjs new file mode 100644 index 00000000..064bc7d7 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/Rule.cjs @@ -0,0 +1,104 @@ +'use strict'; + +const cssTree = require('css-tree'); +const utils = require('./utils.cjs'); + +const { hasOwnProperty } = Object.prototype; +const skipUsageFilteringAtrule = new Set(['keyframes']); + +function cleanUnused(selectorList, usageData) { + selectorList.children.forEach((selector, item, list) => { + let shouldRemove = false; + + cssTree.walk(selector, function(node) { + // ignore nodes in nested selectors + if (this.selector === null || this.selector === selectorList) { + switch (node.type) { + case 'SelectorList': + // TODO: remove toLowerCase when pseudo selectors will be normalized + // ignore selectors inside :not() + if (this.function === null || this.function.name.toLowerCase() !== 'not') { + if (cleanUnused(node, usageData)) { + shouldRemove = true; + } + } + break; + + case 'ClassSelector': + if (usageData.whitelist !== null && + usageData.whitelist.classes !== null && + !hasOwnProperty.call(usageData.whitelist.classes, node.name)) { + shouldRemove = true; + } + if (usageData.blacklist !== null && + usageData.blacklist.classes !== null && + hasOwnProperty.call(usageData.blacklist.classes, node.name)) { + shouldRemove = true; + } + break; + + case 'IdSelector': + if (usageData.whitelist !== null && + usageData.whitelist.ids !== null && + !hasOwnProperty.call(usageData.whitelist.ids, node.name)) { + shouldRemove = true; + } + if (usageData.blacklist !== null && + usageData.blacklist.ids !== null && + hasOwnProperty.call(usageData.blacklist.ids, node.name)) { + shouldRemove = true; + } + break; + + case 'TypeSelector': + // TODO: remove toLowerCase when type selectors will be normalized + // ignore universal selectors + if (node.name.charAt(node.name.length - 1) !== '*') { + if (usageData.whitelist !== null && + usageData.whitelist.tags !== null && + !hasOwnProperty.call(usageData.whitelist.tags, node.name.toLowerCase())) { + shouldRemove = true; + } + if (usageData.blacklist !== null && + usageData.blacklist.tags !== null && + hasOwnProperty.call(usageData.blacklist.tags, node.name.toLowerCase())) { + shouldRemove = true; + } + } + break; + } + } + }); + + if (shouldRemove) { + list.remove(item); + } + }); + + return selectorList.children.isEmpty; +} + +function cleanRule(node, item, list, options) { + if (utils.hasNoChildren(node.prelude) || utils.hasNoChildren(node.block)) { + list.remove(item); + return; + } + + // avoid usage filtering for some at-rules + if (this.atrule && skipUsageFilteringAtrule.has(cssTree.keyword(this.atrule.name).basename)) { + return; + } + + const { usage } = options; + + if (usage && (usage.whitelist !== null || usage.blacklist !== null)) { + cleanUnused(node.prelude, usage); + + if (utils.hasNoChildren(node.prelude)) { + list.remove(item); + return; + } + } +} + +module.exports = cleanRule; diff --git a/.output/server/node_modules/csso/cjs/clean/TypeSelector.cjs b/.output/server/node_modules/csso/cjs/clean/TypeSelector.cjs new file mode 100644 index 00000000..2c6f46a1 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/TypeSelector.cjs @@ -0,0 +1,23 @@ +'use strict'; + +// remove useless universal selector +function cleanTypeSelector(node, item, list) { + const name = item.data.name; + + // check it's a non-namespaced universal selector + if (name !== '*') { + return; + } + + // remove when universal selector before other selectors + const nextType = item.next && item.next.data.type; + if (nextType === 'IdSelector' || + nextType === 'ClassSelector' || + nextType === 'AttributeSelector' || + nextType === 'PseudoClassSelector' || + nextType === 'PseudoElementSelector') { + list.remove(item); + } +} + +module.exports = cleanTypeSelector; diff --git a/.output/server/node_modules/csso/cjs/clean/WhiteSpace.cjs b/.output/server/node_modules/csso/cjs/clean/WhiteSpace.cjs new file mode 100644 index 00000000..c045ed1f --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/WhiteSpace.cjs @@ -0,0 +1,7 @@ +'use strict'; + +function cleanWhitespace(node, item, list) { + list.remove(item); +} + +module.exports = cleanWhitespace; diff --git a/.output/server/node_modules/csso/cjs/clean/index.cjs b/.output/server/node_modules/csso/cjs/clean/index.cjs new file mode 100644 index 00000000..ba7b25a1 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/index.cjs @@ -0,0 +1,32 @@ +'use strict'; + +const cssTree = require('css-tree'); +const Atrule = require('./Atrule.cjs'); +const Comment = require('./Comment.cjs'); +const Declaration = require('./Declaration.cjs'); +const Raw = require('./Raw.cjs'); +const Rule = require('./Rule.cjs'); +const TypeSelector = require('./TypeSelector.cjs'); +const WhiteSpace = require('./WhiteSpace.cjs'); + +const handlers = { + Atrule, + Comment, + Declaration, + Raw, + Rule, + TypeSelector, + WhiteSpace +}; + +function clean(ast, options) { + cssTree.walk(ast, { + leave(node, item, list) { + if (handlers.hasOwnProperty(node.type)) { + handlers[node.type].call(this, node, item, list, options); + } + } + }); +} + +module.exports = clean; diff --git a/.output/server/node_modules/csso/cjs/clean/utils.cjs b/.output/server/node_modules/csso/cjs/clean/utils.cjs new file mode 100644 index 00000000..8d3260f7 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/clean/utils.cjs @@ -0,0 +1,12 @@ +'use strict'; + +function hasNoChildren(node) { + return !node || !node.children || node.children.isEmpty; +} + +function isNodeChildrenList(node, list) { + return node !== null && node.children === list; +} + +exports.hasNoChildren = hasNoChildren; +exports.isNodeChildrenList = isNodeChildrenList; diff --git a/.output/server/node_modules/csso/cjs/compress.cjs b/.output/server/node_modules/csso/cjs/compress.cjs new file mode 100644 index 00000000..1a224e2e --- /dev/null +++ b/.output/server/node_modules/csso/cjs/compress.cjs @@ -0,0 +1,200 @@ +'use strict'; + +const cssTree = require('css-tree'); +const usage = require('./usage.cjs'); +const index = require('./clean/index.cjs'); +const index$1 = require('./replace/index.cjs'); +const index$2 = require('./restructure/index.cjs'); + +function readChunk(input, specialComments) { + const children = new cssTree.List(); + let nonSpaceTokenInBuffer = false; + let protectedComment; + + input.nextUntil(input.head, (node, item, list) => { + if (node.type === 'Comment') { + if (!specialComments || node.value.charAt(0) !== '!') { + list.remove(item); + return; + } + + if (nonSpaceTokenInBuffer || protectedComment) { + return true; + } + + list.remove(item); + protectedComment = node; + + return; + } + + if (node.type !== 'WhiteSpace') { + nonSpaceTokenInBuffer = true; + } + + children.insert(list.remove(item)); + }); + + return { + comment: protectedComment, + stylesheet: { + type: 'StyleSheet', + loc: null, + children + } + }; +} + +function compressChunk(ast, firstAtrulesAllowed, num, options) { + options.logger(`Compress block #${num}`, null, true); + + let seed = 1; + + if (ast.type === 'StyleSheet') { + ast.firstAtrulesAllowed = firstAtrulesAllowed; + ast.id = seed++; + } + + cssTree.walk(ast, { + visit: 'Atrule', + enter(node) { + if (node.block !== null) { + node.block.id = seed++; + } + } + }); + options.logger('init', ast); + + // remove redundant + index(ast, options); + options.logger('clean', ast); + + // replace nodes for shortened forms + index$1(ast); + options.logger('replace', ast); + + // structure optimisations + if (options.restructuring) { + index$2(ast, options); + } + + return ast; +} + +function getCommentsOption(options) { + let comments = 'comments' in options ? options.comments : 'exclamation'; + + if (typeof comments === 'boolean') { + comments = comments ? 'exclamation' : false; + } else if (comments !== 'exclamation' && comments !== 'first-exclamation') { + comments = false; + } + + return comments; +} + +function getRestructureOption(options) { + if ('restructure' in options) { + return options.restructure; + } + + return 'restructuring' in options ? options.restructuring : true; +} + +function wrapBlock(block) { + return new cssTree.List().appendData({ + type: 'Rule', + loc: null, + prelude: { + type: 'SelectorList', + loc: null, + children: new cssTree.List().appendData({ + type: 'Selector', + loc: null, + children: new cssTree.List().appendData({ + type: 'TypeSelector', + loc: null, + name: 'x' + }) + }) + }, + block + }); +} + +function compress(ast, options) { + ast = ast || { type: 'StyleSheet', loc: null, children: new cssTree.List() }; + options = options || {}; + + const compressOptions = { + logger: typeof options.logger === 'function' ? options.logger : function() {}, + restructuring: getRestructureOption(options), + forceMediaMerge: Boolean(options.forceMediaMerge), + usage: options.usage ? usage.buildIndex(options.usage) : false + }; + const output = new cssTree.List(); + let specialComments = getCommentsOption(options); + let firstAtrulesAllowed = true; + let input; + let chunk; + let chunkNum = 1; + let chunkChildren; + + if (options.clone) { + ast = cssTree.clone(ast); + } + + if (ast.type === 'StyleSheet') { + input = ast.children; + ast.children = output; + } else { + input = wrapBlock(ast); + } + + do { + chunk = readChunk(input, Boolean(specialComments)); + compressChunk(chunk.stylesheet, firstAtrulesAllowed, chunkNum++, compressOptions); + chunkChildren = chunk.stylesheet.children; + + if (chunk.comment) { + // add \n before comment if there is another content in output + if (!output.isEmpty) { + output.insert(cssTree.List.createItem({ + type: 'Raw', + value: '\n' + })); + } + + output.insert(cssTree.List.createItem(chunk.comment)); + + // add \n after comment if chunk is not empty + if (!chunkChildren.isEmpty) { + output.insert(cssTree.List.createItem({ + type: 'Raw', + value: '\n' + })); + } + } + + if (firstAtrulesAllowed && !chunkChildren.isEmpty) { + const lastRule = chunkChildren.last; + + if (lastRule.type !== 'Atrule' || + (lastRule.name !== 'import' && lastRule.name !== 'charset')) { + firstAtrulesAllowed = false; + } + } + + if (specialComments !== 'exclamation') { + specialComments = false; + } + + output.appendList(chunkChildren); + } while (!input.isEmpty); + + return { + ast + }; +} + +module.exports = compress; diff --git a/.output/server/node_modules/csso/cjs/index.cjs b/.output/server/node_modules/csso/cjs/index.cjs new file mode 100644 index 00000000..5bcb9d18 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/index.cjs @@ -0,0 +1,127 @@ +'use strict'; + +const version = require('./version.cjs'); +const syntax = require('./syntax.cjs'); +const utils = require('./utils.cjs'); + +const { parse, generate, compress } = syntax; + +function debugOutput(name, options, startTime, data) { + if (options.debug) { + console.error(`## ${name} done in %d ms\n`, Date.now() - startTime); + } + + return data; +} + +function createDefaultLogger(level) { + let lastDebug; + + return function logger(title, ast) { + let line = title; + + if (ast) { + line = `[${((Date.now() - lastDebug) / 1000).toFixed(3)}s] ${line}`; + } + + if (level > 1 && ast) { + let css = generate(ast); + + // when level 2, limit css to 256 symbols + if (level === 2 && css.length > 256) { + css = css.substr(0, 256) + '...'; + } + + line += `\n ${css}\n`; + } + + console.error(line); + lastDebug = Date.now(); + }; +} + +function buildCompressOptions(options) { + options = { ...options }; + + if (typeof options.logger !== 'function' && options.debug) { + options.logger = createDefaultLogger(options.debug); + } + + return options; +} + +function runHandler(ast, options, handlers) { + if (!Array.isArray(handlers)) { + handlers = [handlers]; + } + + handlers.forEach(fn => fn(ast, options)); +} + +function minify(context, source, options) { + options = options || {}; + + const filename = options.filename || '<unknown>'; + let result; + + // parse + const ast = debugOutput('parsing', options, Date.now(), + parse(source, { + context, + filename, + positions: Boolean(options.sourceMap) + }) + ); + + // before compress handlers + if (options.beforeCompress) { + debugOutput('beforeCompress', options, Date.now(), + runHandler(ast, options, options.beforeCompress) + ); + } + + // compress + const compressResult = debugOutput('compress', options, Date.now(), + compress(ast, buildCompressOptions(options)) + ); + + // after compress handlers + if (options.afterCompress) { + debugOutput('afterCompress', options, Date.now(), + runHandler(compressResult, options, options.afterCompress) + ); + } + + // generate + if (options.sourceMap) { + result = debugOutput('generate(sourceMap: true)', options, Date.now(), (() => { + const tmp = generate(compressResult.ast, { sourceMap: true }); + + tmp.map._file = filename; // since other tools can relay on file in source map transform chain + tmp.map.setSourceContent(filename, source); + + return tmp; + })()); + } else { + result = debugOutput('generate', options, Date.now(), { + css: generate(compressResult.ast), + map: null + }); + } + + return result; +} + +function minifyStylesheet(source, options) { + return minify('stylesheet', source, options); +} + +function minifyBlock(source, options) { + return minify('declarationList', source, options); +} + +exports.version = version.version; +exports.syntax = syntax; +exports.utils = utils; +exports.minify = minifyStylesheet; +exports.minifyBlock = minifyBlock; diff --git a/.output/server/node_modules/csso/cjs/replace/Atrule.cjs b/.output/server/node_modules/csso/cjs/replace/Atrule.cjs new file mode 100644 index 00000000..1843bcde --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Atrule.cjs @@ -0,0 +1,13 @@ +'use strict'; + +const cssTree = require('css-tree'); +const keyframes = require('./atrule/keyframes.cjs'); + +function Atrule(node) { + // compress @keyframe selectors + if (cssTree.keyword(node.name).basename === 'keyframes') { + keyframes(node); + } +} + +module.exports = Atrule; diff --git a/.output/server/node_modules/csso/cjs/replace/AttributeSelector.cjs b/.output/server/node_modules/csso/cjs/replace/AttributeSelector.cjs new file mode 100644 index 00000000..f06724fc --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/AttributeSelector.cjs @@ -0,0 +1,32 @@ +'use strict'; + +// Can unquote attribute detection +// Adopted implementation of Mathias Bynens +// https://github.com/mathiasbynens/mothereff.in/blob/master/unquoted-attributes/eff.js +const blockUnquoteRx = /^(-?\d|--)|[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/; + +function canUnquote(value) { + if (value === '' || value === '-') { + return false; + } + + return !blockUnquoteRx.test(value); +} + +function AttributeSelector(node) { + const attrValue = node.value; + + if (!attrValue || attrValue.type !== 'String') { + return; + } + + if (canUnquote(attrValue.value)) { + node.value = { + type: 'Identifier', + loc: attrValue.loc, + name: attrValue.value + }; + } +} + +module.exports = AttributeSelector; diff --git a/.output/server/node_modules/csso/cjs/replace/Dimension.cjs b/.output/server/node_modules/csso/cjs/replace/Dimension.cjs new file mode 100644 index 00000000..20ad193c --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Dimension.cjs @@ -0,0 +1,67 @@ +'use strict'; + +const _Number = require('./Number.cjs'); + +const MATH_FUNCTIONS = new Set([ + 'calc', + 'min', + 'max', + 'clamp' +]); +const LENGTH_UNIT = new Set([ + // absolute length units + 'px', + 'mm', + 'cm', + 'in', + 'pt', + 'pc', + + // relative length units + 'em', + 'ex', + 'ch', + 'rem', + + // viewport-percentage lengths + 'vh', + 'vw', + 'vmin', + 'vmax', + 'vm' +]); + +function compressDimension(node, item) { + const value = _Number.packNumber(node.value); + + node.value = value; + + if (value === '0' && this.declaration !== null && this.atrulePrelude === null) { + const unit = node.unit.toLowerCase(); + + // only length values can be compressed + if (!LENGTH_UNIT.has(unit)) { + return; + } + + // issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11 + // issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11 + if (this.declaration.property === '-ms-flex' || + this.declaration.property === 'flex') { + return; + } + + // issue #222: don't remove units inside calc + if (this.function && MATH_FUNCTIONS.has(this.function.name)) { + return; + } + + item.data = { + type: 'Number', + loc: node.loc, + value + }; + } +} + +module.exports = compressDimension; diff --git a/.output/server/node_modules/csso/cjs/replace/Number.cjs b/.output/server/node_modules/csso/cjs/replace/Number.cjs new file mode 100644 index 00000000..d85d6b52 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Number.cjs @@ -0,0 +1,45 @@ +'use strict'; + +const OMIT_PLUSSIGN = /^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/; +const KEEP_PLUSSIGN = /^([\+\-])?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/; +const unsafeToRemovePlusSignAfter = new Set([ + 'Dimension', + 'Hash', + 'Identifier', + 'Number', + 'Raw', + 'UnicodeRange' +]); + +function packNumber(value, item) { + // omit plus sign only if no prev or prev is safe type + const regexp = item && item.prev !== null && unsafeToRemovePlusSignAfter.has(item.prev.data.type) + ? KEEP_PLUSSIGN + : OMIT_PLUSSIGN; + + // 100 -> '100' + // 00100 -> '100' + // +100 -> '100' + // -100 -> '-100' + // 0.123 -> '.123' + // 0.12300 -> '.123' + // 0.0 -> '' + // 0 -> '' + // -0 -> '-' + value = String(value).replace(regexp, '$1$2$3'); + + if (value === '' || value === '-') { + value = '0'; + } + // FIXME: is it solution simplier? + // value = String(Number(value)).replace(/^(-?)0+\./, '$1.'); + + return value; +} + +function Number(node) { + node.value = packNumber(node.value); +} + +exports.Number = Number; +exports.packNumber = packNumber; diff --git a/.output/server/node_modules/csso/cjs/replace/Percentage.cjs b/.output/server/node_modules/csso/cjs/replace/Percentage.cjs new file mode 100644 index 00000000..46829981 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Percentage.cjs @@ -0,0 +1,41 @@ +'use strict'; + +const cssTree = require('css-tree'); +const _Number = require('./Number.cjs'); + +const blacklist = new Set([ + // see https://github.com/jakubpawlowicz/clean-css/issues/957 + 'width', + 'min-width', + 'max-width', + 'height', + 'min-height', + 'max-height', + + // issue #410: Don’t remove units in flex-basis value for (-ms-)flex shorthand + // issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11 + // issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11 + 'flex', + '-ms-flex' +]); + +function compressPercentage(node, item) { + node.value = _Number.packNumber(node.value); + + if (node.value === '0' && this.declaration && !blacklist.has(this.declaration.property)) { + // try to convert a number + item.data = { + type: 'Number', + loc: node.loc, + value: node.value + }; + + // that's ok only when new value matches on length + if (!cssTree.lexer.matchDeclaration(this.declaration).isType(item.data, 'length')) { + // otherwise rollback changes + item.data = node; + } + } +} + +module.exports = compressPercentage; diff --git a/.output/server/node_modules/csso/cjs/replace/Url.cjs b/.output/server/node_modules/csso/cjs/replace/Url.cjs new file mode 100644 index 00000000..20734a2d --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Url.cjs @@ -0,0 +1,8 @@ +'use strict'; + +function Url(node) { + // convert `\\` to `/` + node.value = node.value.replace(/\\/g, '/'); +} + +module.exports = Url; diff --git a/.output/server/node_modules/csso/cjs/replace/Value.cjs b/.output/server/node_modules/csso/cjs/replace/Value.cjs new file mode 100644 index 00000000..8979bdc0 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/Value.cjs @@ -0,0 +1,29 @@ +'use strict'; + +const cssTree = require('css-tree'); +const font = require('./property/font.cjs'); +const fontWeight = require('./property/font-weight.cjs'); +const background = require('./property/background.cjs'); +const border = require('./property/border.cjs'); + +const handlers = { + 'font': font, + 'font-weight': fontWeight, + 'background': background, + 'border': border, + 'outline': border +}; + +function compressValue(node) { + if (!this.declaration) { + return; + } + + const property = cssTree.property(this.declaration.property); + + if (handlers.hasOwnProperty(property.basename)) { + handlers[property.basename](node); + } +} + +module.exports = compressValue; diff --git a/.output/server/node_modules/csso/cjs/replace/atrule/keyframes.cjs b/.output/server/node_modules/csso/cjs/replace/atrule/keyframes.cjs new file mode 100644 index 00000000..d5181a7d --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/atrule/keyframes.cjs @@ -0,0 +1,25 @@ +'use strict'; + +function compressKeyframes(node) { + node.block.children.forEach((rule) => { + rule.prelude.children.forEach((simpleselector) => { + simpleselector.children.forEach((data, item) => { + if (data.type === 'Percentage' && data.value === '100') { + item.data = { + type: 'TypeSelector', + loc: data.loc, + name: 'to' + }; + } else if (data.type === 'TypeSelector' && data.name === 'from') { + item.data = { + type: 'Percentage', + loc: data.loc, + value: '0' + }; + } + }); + }); + }); +} + +module.exports = compressKeyframes; diff --git a/.output/server/node_modules/csso/cjs/replace/color.cjs b/.output/server/node_modules/csso/cjs/replace/color.cjs new file mode 100644 index 00000000..94978cbd --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/color.cjs @@ -0,0 +1,504 @@ +'use strict'; + +const cssTree = require('css-tree'); +const _Number = require('./Number.cjs'); + +// http://www.w3.org/TR/css3-color/#svg-color +const NAME_TO_HEX = { + 'aliceblue': 'f0f8ff', + 'antiquewhite': 'faebd7', + 'aqua': '0ff', + 'aquamarine': '7fffd4', + 'azure': 'f0ffff', + 'beige': 'f5f5dc', + 'bisque': 'ffe4c4', + 'black': '000', + 'blanchedalmond': 'ffebcd', + 'blue': '00f', + 'blueviolet': '8a2be2', + 'brown': 'a52a2a', + 'burlywood': 'deb887', + 'cadetblue': '5f9ea0', + 'chartreuse': '7fff00', + 'chocolate': 'd2691e', + 'coral': 'ff7f50', + 'cornflowerblue': '6495ed', + 'cornsilk': 'fff8dc', + 'crimson': 'dc143c', + 'cyan': '0ff', + 'darkblue': '00008b', + 'darkcyan': '008b8b', + 'darkgoldenrod': 'b8860b', + 'darkgray': 'a9a9a9', + 'darkgrey': 'a9a9a9', + 'darkgreen': '006400', + 'darkkhaki': 'bdb76b', + 'darkmagenta': '8b008b', + 'darkolivegreen': '556b2f', + 'darkorange': 'ff8c00', + 'darkorchid': '9932cc', + 'darkred': '8b0000', + 'darksalmon': 'e9967a', + 'darkseagreen': '8fbc8f', + 'darkslateblue': '483d8b', + 'darkslategray': '2f4f4f', + 'darkslategrey': '2f4f4f', + 'darkturquoise': '00ced1', + 'darkviolet': '9400d3', + 'deeppink': 'ff1493', + 'deepskyblue': '00bfff', + 'dimgray': '696969', + 'dimgrey': '696969', + 'dodgerblue': '1e90ff', + 'firebrick': 'b22222', + 'floralwhite': 'fffaf0', + 'forestgreen': '228b22', + 'fuchsia': 'f0f', + 'gainsboro': 'dcdcdc', + 'ghostwhite': 'f8f8ff', + 'gold': 'ffd700', + 'goldenrod': 'daa520', + 'gray': '808080', + 'grey': '808080', + 'green': '008000', + 'greenyellow': 'adff2f', + 'honeydew': 'f0fff0', + 'hotpink': 'ff69b4', + 'indianred': 'cd5c5c', + 'indigo': '4b0082', + 'ivory': 'fffff0', + 'khaki': 'f0e68c', + 'lavender': 'e6e6fa', + 'lavenderblush': 'fff0f5', + 'lawngreen': '7cfc00', + 'lemonchiffon': 'fffacd', + 'lightblue': 'add8e6', + 'lightcoral': 'f08080', + 'lightcyan': 'e0ffff', + 'lightgoldenrodyellow': 'fafad2', + 'lightgray': 'd3d3d3', + 'lightgrey': 'd3d3d3', + 'lightgreen': '90ee90', + 'lightpink': 'ffb6c1', + 'lightsalmon': 'ffa07a', + 'lightseagreen': '20b2aa', + 'lightskyblue': '87cefa', + 'lightslategray': '789', + 'lightslategrey': '789', + 'lightsteelblue': 'b0c4de', + 'lightyellow': 'ffffe0', + 'lime': '0f0', + 'limegreen': '32cd32', + 'linen': 'faf0e6', + 'magenta': 'f0f', + 'maroon': '800000', + 'mediumaquamarine': '66cdaa', + 'mediumblue': '0000cd', + 'mediumorchid': 'ba55d3', + 'mediumpurple': '9370db', + 'mediumseagreen': '3cb371', + 'mediumslateblue': '7b68ee', + 'mediumspringgreen': '00fa9a', + 'mediumturquoise': '48d1cc', + 'mediumvioletred': 'c71585', + 'midnightblue': '191970', + 'mintcream': 'f5fffa', + 'mistyrose': 'ffe4e1', + 'moccasin': 'ffe4b5', + 'navajowhite': 'ffdead', + 'navy': '000080', + 'oldlace': 'fdf5e6', + 'olive': '808000', + 'olivedrab': '6b8e23', + 'orange': 'ffa500', + 'orangered': 'ff4500', + 'orchid': 'da70d6', + 'palegoldenrod': 'eee8aa', + 'palegreen': '98fb98', + 'paleturquoise': 'afeeee', + 'palevioletred': 'db7093', + 'papayawhip': 'ffefd5', + 'peachpuff': 'ffdab9', + 'peru': 'cd853f', + 'pink': 'ffc0cb', + 'plum': 'dda0dd', + 'powderblue': 'b0e0e6', + 'purple': '800080', + 'rebeccapurple': '639', + 'red': 'f00', + 'rosybrown': 'bc8f8f', + 'royalblue': '4169e1', + 'saddlebrown': '8b4513', + 'salmon': 'fa8072', + 'sandybrown': 'f4a460', + 'seagreen': '2e8b57', + 'seashell': 'fff5ee', + 'sienna': 'a0522d', + 'silver': 'c0c0c0', + 'skyblue': '87ceeb', + 'slateblue': '6a5acd', + 'slategray': '708090', + 'slategrey': '708090', + 'snow': 'fffafa', + 'springgreen': '00ff7f', + 'steelblue': '4682b4', + 'tan': 'd2b48c', + 'teal': '008080', + 'thistle': 'd8bfd8', + 'tomato': 'ff6347', + 'turquoise': '40e0d0', + 'violet': 'ee82ee', + 'wheat': 'f5deb3', + 'white': 'fff', + 'whitesmoke': 'f5f5f5', + 'yellow': 'ff0', + 'yellowgreen': '9acd32' +}; + +const HEX_TO_NAME = { + '800000': 'maroon', + '800080': 'purple', + '808000': 'olive', + '808080': 'gray', + '00ffff': 'cyan', + 'f0ffff': 'azure', + 'f5f5dc': 'beige', + 'ffe4c4': 'bisque', + '000000': 'black', + '0000ff': 'blue', + 'a52a2a': 'brown', + 'ff7f50': 'coral', + 'ffd700': 'gold', + '008000': 'green', + '4b0082': 'indigo', + 'fffff0': 'ivory', + 'f0e68c': 'khaki', + '00ff00': 'lime', + 'faf0e6': 'linen', + '000080': 'navy', + 'ffa500': 'orange', + 'da70d6': 'orchid', + 'cd853f': 'peru', + 'ffc0cb': 'pink', + 'dda0dd': 'plum', + 'f00': 'red', + 'ff0000': 'red', + 'fa8072': 'salmon', + 'a0522d': 'sienna', + 'c0c0c0': 'silver', + 'fffafa': 'snow', + 'd2b48c': 'tan', + '008080': 'teal', + 'ff6347': 'tomato', + 'ee82ee': 'violet', + 'f5deb3': 'wheat', + 'ffffff': 'white', + 'ffff00': 'yellow' +}; + +function hueToRgb(p, q, t) { + if (t < 0) { + t += 1; + } + if (t > 1) { + t -= 1; + } + if (t < 1 / 6) { + return p + (q - p) * 6 * t; + } + if (t < 1 / 2) { + return q; + } + if (t < 2 / 3) { + return p + (q - p) * (2 / 3 - t) * 6; + } + return p; +} + +function hslToRgb(h, s, l, a) { + let r; + let g; + let b; + + if (s === 0) { + r = g = b = l; // achromatic + } else { + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + + r = hueToRgb(p, q, h + 1 / 3); + g = hueToRgb(p, q, h); + b = hueToRgb(p, q, h - 1 / 3); + } + + return [ + Math.round(r * 255), + Math.round(g * 255), + Math.round(b * 255), + a + ]; +} + +function toHex(value) { + value = value.toString(16); + + return value.length === 1 ? '0' + value : value; +} + +function parseFunctionArgs(functionArgs, count, rgb) { + let cursor = functionArgs.head; + let args = []; + let wasValue = false; + + while (cursor !== null) { + const { type, value } = cursor.data; + + switch (type) { + case 'Number': + case 'Percentage': + if (wasValue) { + return; + } + + wasValue = true; + args.push({ + type, + value: Number(value) + }); + + break; + + case 'Operator': + if (value === ',') { + if (!wasValue) { + return; + } + wasValue = false; + } else if (wasValue || value !== '+') { + return; + } + + break; + + default: + // something we couldn't understand + return; + } + + cursor = cursor.next; + } + + if (args.length !== count) { + // invalid arguments count + // TODO: remove those tokens + return; + } + + if (args.length === 4) { + if (args[3].type !== 'Number') { + // 4th argument should be a number + // TODO: remove those tokens + return; + } + + args[3].type = 'Alpha'; + } + + if (rgb) { + if (args[0].type !== args[1].type || args[0].type !== args[2].type) { + // invalid color, numbers and percentage shouldn't be mixed + // TODO: remove those tokens + return; + } + } else { + if (args[0].type !== 'Number' || + args[1].type !== 'Percentage' || + args[2].type !== 'Percentage') { + // invalid color, for hsl values should be: number, percentage, percentage + // TODO: remove those tokens + return; + } + + args[0].type = 'Angle'; + } + + return args.map(function(arg) { + let value = Math.max(0, arg.value); + + switch (arg.type) { + case 'Number': + // fit value to [0..255] range + value = Math.min(value, 255); + break; + + case 'Percentage': + // convert 0..100% to value in [0..255] range + value = Math.min(value, 100) / 100; + + if (!rgb) { + return value; + } + + value = 255 * value; + break; + + case 'Angle': + // fit value to (-360..360) range + return (((value % 360) + 360) % 360) / 360; + + case 'Alpha': + // fit value to [0..1] range + return Math.min(value, 1); + } + + return Math.round(value); + }); +} + +function compressFunction(node, item) { + let functionName = node.name; + let args; + + if (functionName === 'rgba' || functionName === 'hsla') { + args = parseFunctionArgs(node.children, 4, functionName === 'rgba'); + + if (!args) { + // something went wrong + return; + } + + if (functionName === 'hsla') { + args = hslToRgb(...args); + node.name = 'rgba'; + } + + if (args[3] === 0) { + // try to replace `rgba(x, x, x, 0)` to `transparent` + // always replace `rgba(0, 0, 0, 0)` to `transparent` + // otherwise avoid replacement in gradients since it may break color transition + // http://stackoverflow.com/questions/11829410/css3-gradient-rendering-issues-from-transparent-to-white + const scopeFunctionName = this.function && this.function.name; + + if ((args[0] === 0 && args[1] === 0 && args[2] === 0) || + !/^(?:to|from|color-stop)$|gradient$/i.test(scopeFunctionName)) { + + item.data = { + type: 'Identifier', + loc: node.loc, + name: 'transparent' + }; + + return; + } + } + + if (args[3] !== 1) { + // replace argument values for normalized/interpolated + node.children.forEach((node, item, list) => { + if (node.type === 'Operator') { + if (node.value !== ',') { + list.remove(item); + } + return; + } + + item.data = { + type: 'Number', + loc: node.loc, + value: _Number.packNumber(args.shift()) + }; + }); + + return; + } + + // otherwise convert to rgb, i.e. rgba(255, 0, 0, 1) -> rgb(255, 0, 0) + functionName = 'rgb'; + } + + if (functionName === 'hsl') { + args = args || parseFunctionArgs(node.children, 3, false); + + if (!args) { + // something went wrong + return; + } + + // convert to rgb + args = hslToRgb(...args); + functionName = 'rgb'; + } + + if (functionName === 'rgb') { + args = args || parseFunctionArgs(node.children, 3, true); + + if (!args) { + // something went wrong + return; + } + + item.data = { + type: 'Hash', + loc: node.loc, + value: toHex(args[0]) + toHex(args[1]) + toHex(args[2]) + }; + + compressHex(item.data, item); + } +} + +function compressIdent(node, item) { + if (this.declaration === null) { + return; + } + + let color = node.name.toLowerCase(); + + if (NAME_TO_HEX.hasOwnProperty(color) && + cssTree.lexer.matchDeclaration(this.declaration).isType(node, 'color')) { + const hex = NAME_TO_HEX[color]; + + if (hex.length + 1 <= color.length) { + // replace for shorter hex value + item.data = { + type: 'Hash', + loc: node.loc, + value: hex + }; + } else { + // special case for consistent colors + if (color === 'grey') { + color = 'gray'; + } + + // just replace value for lower cased name + node.name = color; + } + } +} + +function compressHex(node, item) { + let color = node.value.toLowerCase(); + + // #112233 -> #123 + if (color.length === 6 && + color[0] === color[1] && + color[2] === color[3] && + color[4] === color[5]) { + color = color[0] + color[2] + color[4]; + } + + if (HEX_TO_NAME[color]) { + item.data = { + type: 'Identifier', + loc: node.loc, + name: HEX_TO_NAME[color] + }; + } else { + node.value = color; + } +} + +exports.compressFunction = compressFunction; +exports.compressHex = compressHex; +exports.compressIdent = compressIdent; diff --git a/.output/server/node_modules/csso/cjs/replace/index.cjs b/.output/server/node_modules/csso/cjs/replace/index.cjs new file mode 100644 index 00000000..59bdf476 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/index.cjs @@ -0,0 +1,36 @@ +'use strict'; + +const cssTree = require('css-tree'); +const Atrule = require('./Atrule.cjs'); +const AttributeSelector = require('./AttributeSelector.cjs'); +const Value = require('./Value.cjs'); +const Dimension = require('./Dimension.cjs'); +const Percentage = require('./Percentage.cjs'); +const _Number = require('./Number.cjs'); +const Url = require('./Url.cjs'); +const color = require('./color.cjs'); + +const handlers = { + Atrule, + AttributeSelector, + Value, + Dimension, + Percentage, + Number: _Number.Number, + Url, + Hash: color.compressHex, + Identifier: color.compressIdent, + Function: color.compressFunction +}; + +function replace(ast) { + cssTree.walk(ast, { + leave(node, item, list) { + if (handlers.hasOwnProperty(node.type)) { + handlers[node.type].call(this, node, item, list); + } + } + }); +} + +module.exports = replace; diff --git a/.output/server/node_modules/csso/cjs/replace/property/background.cjs b/.output/server/node_modules/csso/cjs/replace/property/background.cjs new file mode 100644 index 00000000..fd407809 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/property/background.cjs @@ -0,0 +1,54 @@ +'use strict'; + +const cssTree = require('css-tree'); + +function compressBackground(node) { + function flush() { + if (!buffer.length) { + buffer.unshift( + { + type: 'Number', + loc: null, + value: '0' + }, + { + type: 'Number', + loc: null, + value: '0' + } + ); + } + + newValue.push.apply(newValue, buffer); + + buffer = []; + } + + let newValue = []; + let buffer = []; + + node.children.forEach((node) => { + if (node.type === 'Operator' && node.value === ',') { + flush(); + newValue.push(node); + return; + } + + // remove defaults + if (node.type === 'Identifier') { + if (node.name === 'transparent' || + node.name === 'none' || + node.name === 'repeat' || + node.name === 'scroll') { + return; + } + } + + buffer.push(node); + }); + + flush(); + node.children = new cssTree.List().fromArray(newValue); +} + +module.exports = compressBackground; diff --git a/.output/server/node_modules/csso/cjs/replace/property/border.cjs b/.output/server/node_modules/csso/cjs/replace/property/border.cjs new file mode 100644 index 00000000..4fc505f7 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/property/border.cjs @@ -0,0 +1,20 @@ +'use strict'; + +function compressBorder(node) { + node.children.forEach((node, item, list) => { + if (node.type === 'Identifier' && node.name.toLowerCase() === 'none') { + if (list.head === list.tail) { + // replace `none` for zero when `none` is a single term + item.data = { + type: 'Number', + loc: node.loc, + value: '0' + }; + } else { + list.remove(item); + } + } + }); +} + +module.exports = compressBorder; diff --git a/.output/server/node_modules/csso/cjs/replace/property/font-weight.cjs b/.output/server/node_modules/csso/cjs/replace/property/font-weight.cjs new file mode 100644 index 00000000..0824f1dd --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/property/font-weight.cjs @@ -0,0 +1,26 @@ +'use strict'; + +function compressFontWeight(node) { + const value = node.children.head.data; + + if (value.type === 'Identifier') { + switch (value.name) { + case 'normal': + node.children.head.data = { + type: 'Number', + loc: value.loc, + value: '400' + }; + break; + case 'bold': + node.children.head.data = { + type: 'Number', + loc: value.loc, + value: '700' + }; + break; + } + } +} + +module.exports = compressFontWeight; diff --git a/.output/server/node_modules/csso/cjs/replace/property/font.cjs b/.output/server/node_modules/csso/cjs/replace/property/font.cjs new file mode 100644 index 00000000..a23cf363 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/replace/property/font.cjs @@ -0,0 +1,34 @@ +'use strict'; + +function compressFont(node) { + const list = node.children; + + list.forEachRight(function(node, item) { + if (node.type === 'Identifier') { + if (node.name === 'bold') { + item.data = { + type: 'Number', + loc: node.loc, + value: '700' + }; + } else if (node.name === 'normal') { + const prev = item.prev; + + if (prev && prev.data.type === 'Operator' && prev.data.value === '/') { + this.remove(prev); + } + + this.remove(item); + } + } + }); + + if (list.isEmpty) { + list.insert(list.createItem({ + type: 'Identifier', + name: 'normal' + })); + } +} + +module.exports = compressFont; diff --git a/.output/server/node_modules/csso/cjs/restructure/1-mergeAtrule.cjs b/.output/server/node_modules/csso/cjs/restructure/1-mergeAtrule.cjs new file mode 100644 index 00000000..308587a0 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/1-mergeAtrule.cjs @@ -0,0 +1,109 @@ +'use strict'; + +const cssTree = require('css-tree'); + +const { hasOwnProperty } = Object.prototype; + +function addRuleToMap(map, item, list, single) { + const node = item.data; + const name = cssTree.keyword(node.name).basename; + const id = node.name.toLowerCase() + '/' + (node.prelude ? node.prelude.id : null); + + if (!hasOwnProperty.call(map, name)) { + map[name] = Object.create(null); + } + + if (single) { + delete map[name][id]; + } + + if (!hasOwnProperty.call(map[name], id)) { + map[name][id] = new cssTree.List(); + } + + map[name][id].append(list.remove(item)); +} + +function relocateAtrules(ast, options) { + const collected = Object.create(null); + let topInjectPoint = null; + + ast.children.forEach(function(node, item, list) { + if (node.type === 'Atrule') { + const name = cssTree.keyword(node.name).basename; + + switch (name) { + case 'keyframes': + addRuleToMap(collected, item, list, true); + return; + + case 'media': + if (options.forceMediaMerge) { + addRuleToMap(collected, item, list, false); + return; + } + break; + } + + if (topInjectPoint === null && + name !== 'charset' && + name !== 'import') { + topInjectPoint = item; + } + } else { + if (topInjectPoint === null) { + topInjectPoint = item; + } + } + }); + + for (const atrule in collected) { + for (const id in collected[atrule]) { + ast.children.insertList( + collected[atrule][id], + atrule === 'media' ? null : topInjectPoint + ); + } + } +} +function isMediaRule(node) { + return node.type === 'Atrule' && node.name === 'media'; +} + +function processAtrule(node, item, list) { + if (!isMediaRule(node)) { + return; + } + + const prev = item.prev && item.prev.data; + + if (!prev || !isMediaRule(prev)) { + return; + } + + // merge @media with same query + if (node.prelude && + prev.prelude && + node.prelude.id === prev.prelude.id) { + prev.block.children.appendList(node.block.children); + list.remove(item); + + // TODO: use it when we can refer to several points in source + // prev.loc = { + // primary: prev.loc, + // merged: node.loc + // }; + } +} + +function rejoinAtrule(ast, options) { + relocateAtrules(ast, options); + + cssTree.walk(ast, { + visit: 'Atrule', + reverse: true, + enter: processAtrule + }); +} + +module.exports = rejoinAtrule; diff --git a/.output/server/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs b/.output/server/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs new file mode 100644 index 00000000..1a1f90ce --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs @@ -0,0 +1,51 @@ +'use strict'; + +const cssTree = require('css-tree'); +const utils = require('./utils.cjs'); + +function processRule(node, item, list) { + const selectors = node.prelude.children; + const declarations = node.block.children; + + list.prevUntil(item.prev, function(prev) { + // skip non-ruleset node if safe + if (prev.type !== 'Rule') { + return utils.unsafeToSkipNode.call(selectors, prev); + } + + const prevSelectors = prev.prelude.children; + const prevDeclarations = prev.block.children; + + // try to join rulesets with equal pseudo signature + if (node.pseudoSignature === prev.pseudoSignature) { + // try to join by selectors + if (utils.isEqualSelectors(prevSelectors, selectors)) { + prevDeclarations.appendList(declarations); + list.remove(item); + return true; + } + + // try to join by declarations + if (utils.isEqualDeclarations(declarations, prevDeclarations)) { + utils.addSelectors(prevSelectors, selectors); + list.remove(item); + return true; + } + } + + // go to prev ruleset if has no selector similarities + return utils.hasSimilarSelectors(selectors, prevSelectors); + }); +} + +// NOTE: direction should be left to right, since rulesets merge to left +// ruleset. When direction right to left unmerged rulesets may prevent lookup +// TODO: remove initial merge +function initialMergeRule(ast) { + cssTree.walk(ast, { + visit: 'Rule', + enter: processRule + }); +} + +module.exports = initialMergeRule; diff --git a/.output/server/node_modules/csso/cjs/restructure/3-disjoinRuleset.cjs b/.output/server/node_modules/csso/cjs/restructure/3-disjoinRuleset.cjs new file mode 100644 index 00000000..bf1d627d --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/3-disjoinRuleset.cjs @@ -0,0 +1,46 @@ +'use strict'; + +const cssTree = require('css-tree'); + +function processRule(node, item, list) { + const selectors = node.prelude.children; + + // generate new rule sets: + // .a, .b { color: red; } + // -> + // .a { color: red; } + // .b { color: red; } + + // while there are more than 1 simple selector split for rulesets + while (selectors.head !== selectors.tail) { + const newSelectors = new cssTree.List(); + + newSelectors.insert(selectors.remove(selectors.head)); + + list.insert(list.createItem({ + type: 'Rule', + loc: node.loc, + prelude: { + type: 'SelectorList', + loc: node.prelude.loc, + children: newSelectors + }, + block: { + type: 'Block', + loc: node.block.loc, + children: node.block.children.copy() + }, + pseudoSignature: node.pseudoSignature + }), item); + } +} + +function disjoinRule(ast) { + cssTree.walk(ast, { + visit: 'Rule', + reverse: true, + enter: processRule + }); +} + +module.exports = disjoinRule; diff --git a/.output/server/node_modules/csso/cjs/restructure/4-restructShorthand.cjs b/.output/server/node_modules/csso/cjs/restructure/4-restructShorthand.cjs new file mode 100644 index 00000000..a2acfa2b --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/4-restructShorthand.cjs @@ -0,0 +1,429 @@ +'use strict'; + +const cssTree = require('css-tree'); + +const REPLACE = 1; +const REMOVE = 2; +const TOP = 0; +const RIGHT = 1; +const BOTTOM = 2; +const LEFT = 3; +const SIDES = ['top', 'right', 'bottom', 'left']; +const SIDE = { + 'margin-top': 'top', + 'margin-right': 'right', + 'margin-bottom': 'bottom', + 'margin-left': 'left', + + 'padding-top': 'top', + 'padding-right': 'right', + 'padding-bottom': 'bottom', + 'padding-left': 'left', + + 'border-top-color': 'top', + 'border-right-color': 'right', + 'border-bottom-color': 'bottom', + 'border-left-color': 'left', + 'border-top-width': 'top', + 'border-right-width': 'right', + 'border-bottom-width': 'bottom', + 'border-left-width': 'left', + 'border-top-style': 'top', + 'border-right-style': 'right', + 'border-bottom-style': 'bottom', + 'border-left-style': 'left' +}; +const MAIN_PROPERTY = { + 'margin': 'margin', + 'margin-top': 'margin', + 'margin-right': 'margin', + 'margin-bottom': 'margin', + 'margin-left': 'margin', + + 'padding': 'padding', + 'padding-top': 'padding', + 'padding-right': 'padding', + 'padding-bottom': 'padding', + 'padding-left': 'padding', + + 'border-color': 'border-color', + 'border-top-color': 'border-color', + 'border-right-color': 'border-color', + 'border-bottom-color': 'border-color', + 'border-left-color': 'border-color', + 'border-width': 'border-width', + 'border-top-width': 'border-width', + 'border-right-width': 'border-width', + 'border-bottom-width': 'border-width', + 'border-left-width': 'border-width', + 'border-style': 'border-style', + 'border-top-style': 'border-style', + 'border-right-style': 'border-style', + 'border-bottom-style': 'border-style', + 'border-left-style': 'border-style' +}; + +class TRBL { + constructor(name) { + this.name = name; + this.loc = null; + this.iehack = undefined; + this.sides = { + 'top': null, + 'right': null, + 'bottom': null, + 'left': null + }; + } + + getValueSequence(declaration, count) { + const values = []; + let iehack = ''; + const hasBadValues = declaration.value.type !== 'Value' || declaration.value.children.some(function(child) { + let special = false; + + switch (child.type) { + case 'Identifier': + switch (child.name) { + case '\\0': + case '\\9': + iehack = child.name; + return; + + case 'inherit': + case 'initial': + case 'unset': + case 'revert': + special = child.name; + break; + } + break; + + case 'Dimension': + switch (child.unit) { + // is not supported until IE11 + case 'rem': + + // v* units is too buggy across browsers and better + // don't merge values with those units + case 'vw': + case 'vh': + case 'vmin': + case 'vmax': + case 'vm': // IE9 supporting "vm" instead of "vmin". + special = child.unit; + break; + } + break; + + case 'Hash': // color + case 'Number': + case 'Percentage': + break; + + case 'Function': + if (child.name === 'var') { + return true; + } + + special = child.name; + break; + + default: + return true; // bad value + } + + values.push({ + node: child, + special, + important: declaration.important + }); + }); + + if (hasBadValues || values.length > count) { + return false; + } + + if (typeof this.iehack === 'string' && this.iehack !== iehack) { + return false; + } + + this.iehack = iehack; // move outside + + return values; + } + + canOverride(side, value) { + const currentValue = this.sides[side]; + + return !currentValue || (value.important && !currentValue.important); + } + + add(name, declaration) { + function attemptToAdd() { + const sides = this.sides; + const side = SIDE[name]; + + if (side) { + if (side in sides === false) { + return false; + } + + const values = this.getValueSequence(declaration, 1); + + if (!values || !values.length) { + return false; + } + + // can mix only if specials are equal + for (const key in sides) { + if (sides[key] !== null && sides[key].special !== values[0].special) { + return false; + } + } + + if (!this.canOverride(side, values[0])) { + return true; + } + + sides[side] = values[0]; + + return true; + } else if (name === this.name) { + const values = this.getValueSequence(declaration, 4); + + if (!values || !values.length) { + return false; + } + + switch (values.length) { + case 1: + values[RIGHT] = values[TOP]; + values[BOTTOM] = values[TOP]; + values[LEFT] = values[TOP]; + break; + + case 2: + values[BOTTOM] = values[TOP]; + values[LEFT] = values[RIGHT]; + break; + + case 3: + values[LEFT] = values[RIGHT]; + break; + } + + // can mix only if specials are equal + for (let i = 0; i < 4; i++) { + for (const key in sides) { + if (sides[key] !== null && sides[key].special !== values[i].special) { + return false; + } + } + } + + for (let i = 0; i < 4; i++) { + if (this.canOverride(SIDES[i], values[i])) { + sides[SIDES[i]] = values[i]; + } + } + + return true; + } + } + + if (!attemptToAdd.call(this)) { + return false; + } + + // TODO: use it when we can refer to several points in source + // if (this.loc) { + // this.loc = { + // primary: this.loc, + // merged: declaration.loc + // }; + // } else { + // this.loc = declaration.loc; + // } + if (!this.loc) { + this.loc = declaration.loc; + } + + return true; + } + + isOkToMinimize() { + const top = this.sides.top; + const right = this.sides.right; + const bottom = this.sides.bottom; + const left = this.sides.left; + + if (top && right && bottom && left) { + const important = + top.important + + right.important + + bottom.important + + left.important; + + return important === 0 || important === 4; + } + + return false; + } + + getValue() { + const result = new cssTree.List(); + const sides = this.sides; + const values = [ + sides.top, + sides.right, + sides.bottom, + sides.left + ]; + const stringValues = [ + cssTree.generate(sides.top.node), + cssTree.generate(sides.right.node), + cssTree.generate(sides.bottom.node), + cssTree.generate(sides.left.node) + ]; + + if (stringValues[LEFT] === stringValues[RIGHT]) { + values.pop(); + if (stringValues[BOTTOM] === stringValues[TOP]) { + values.pop(); + if (stringValues[RIGHT] === stringValues[TOP]) { + values.pop(); + } + } + } + + for (let i = 0; i < values.length; i++) { + result.appendData(values[i].node); + } + + if (this.iehack) { + result.appendData({ + type: 'Identifier', + loc: null, + name: this.iehack + }); + } + + return { + type: 'Value', + loc: null, + children: result + }; + } + + getDeclaration() { + return { + type: 'Declaration', + loc: this.loc, + important: this.sides.top.important, + property: this.name, + value: this.getValue() + }; + } +} + +function processRule(rule, shorts, shortDeclarations, lastShortSelector) { + const declarations = rule.block.children; + const selector = rule.prelude.children.first.id; + + rule.block.children.forEachRight(function(declaration, item) { + const property = declaration.property; + + if (!MAIN_PROPERTY.hasOwnProperty(property)) { + return; + } + + const key = MAIN_PROPERTY[property]; + let shorthand; + let operation; + + if (!lastShortSelector || selector === lastShortSelector) { + if (key in shorts) { + operation = REMOVE; + shorthand = shorts[key]; + } + } + + if (!shorthand || !shorthand.add(property, declaration)) { + operation = REPLACE; + shorthand = new TRBL(key); + + // if can't parse value ignore it and break shorthand children + if (!shorthand.add(property, declaration)) { + lastShortSelector = null; + return; + } + } + + shorts[key] = shorthand; + shortDeclarations.push({ + operation, + block: declarations, + item, + shorthand + }); + + lastShortSelector = selector; + }); + + return lastShortSelector; +} + +function processShorthands(shortDeclarations, markDeclaration) { + shortDeclarations.forEach(function(item) { + const shorthand = item.shorthand; + + if (!shorthand.isOkToMinimize()) { + return; + } + + if (item.operation === REPLACE) { + item.item.data = markDeclaration(shorthand.getDeclaration()); + } else { + item.block.remove(item.item); + } + }); +} + +function restructBlock(ast, indexer) { + const stylesheetMap = {}; + const shortDeclarations = []; + + cssTree.walk(ast, { + visit: 'Rule', + reverse: true, + enter(node) { + const stylesheet = this.block || this.stylesheet; + const ruleId = (node.pseudoSignature || '') + '|' + node.prelude.children.first.id; + let ruleMap; + let shorts; + + if (!stylesheetMap.hasOwnProperty(stylesheet.id)) { + ruleMap = { + lastShortSelector: null + }; + stylesheetMap[stylesheet.id] = ruleMap; + } else { + ruleMap = stylesheetMap[stylesheet.id]; + } + + if (ruleMap.hasOwnProperty(ruleId)) { + shorts = ruleMap[ruleId]; + } else { + shorts = {}; + ruleMap[ruleId] = shorts; + } + + ruleMap.lastShortSelector = processRule.call(this, node, shorts, shortDeclarations, ruleMap.lastShortSelector); + } + }); + + processShorthands(shortDeclarations, indexer.declaration); +} + +module.exports = restructBlock; diff --git a/.output/server/node_modules/csso/cjs/restructure/6-restructBlock.cjs b/.output/server/node_modules/csso/cjs/restructure/6-restructBlock.cjs new file mode 100644 index 00000000..ba2d0f0d --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/6-restructBlock.cjs @@ -0,0 +1,307 @@ +'use strict'; + +const cssTree = require('css-tree'); + +let fingerprintId = 1; +const dontRestructure = new Set([ + 'src' // https://github.com/afelix/csso/issues/50 +]); + +const DONT_MIX_VALUE = { + // https://developer.mozilla.org/en-US/docs/Web/CSS/display#Browser_compatibility + 'display': /table|ruby|flex|-(flex)?box$|grid|contents|run-in/i, + // https://developer.mozilla.org/en/docs/Web/CSS/text-align + 'text-align': /^(start|end|match-parent|justify-all)$/i +}; + +const SAFE_VALUES = { + cursor: [ + 'auto', 'crosshair', 'default', 'move', 'text', 'wait', 'help', + 'n-resize', 'e-resize', 's-resize', 'w-resize', + 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', + 'pointer', 'progress', 'not-allowed', 'no-drop', 'vertical-text', 'all-scroll', + 'col-resize', 'row-resize' + ], + overflow: [ + 'hidden', 'visible', 'scroll', 'auto' + ], + position: [ + 'static', 'relative', 'absolute', 'fixed' + ] +}; + +const NEEDLESS_TABLE = { + 'border-width': ['border'], + 'border-style': ['border'], + 'border-color': ['border'], + 'border-top': ['border'], + 'border-right': ['border'], + 'border-bottom': ['border'], + 'border-left': ['border'], + 'border-top-width': ['border-top', 'border-width', 'border'], + 'border-right-width': ['border-right', 'border-width', 'border'], + 'border-bottom-width': ['border-bottom', 'border-width', 'border'], + 'border-left-width': ['border-left', 'border-width', 'border'], + 'border-top-style': ['border-top', 'border-style', 'border'], + 'border-right-style': ['border-right', 'border-style', 'border'], + 'border-bottom-style': ['border-bottom', 'border-style', 'border'], + 'border-left-style': ['border-left', 'border-style', 'border'], + 'border-top-color': ['border-top', 'border-color', 'border'], + 'border-right-color': ['border-right', 'border-color', 'border'], + 'border-bottom-color': ['border-bottom', 'border-color', 'border'], + 'border-left-color': ['border-left', 'border-color', 'border'], + 'margin-top': ['margin'], + 'margin-right': ['margin'], + 'margin-bottom': ['margin'], + 'margin-left': ['margin'], + 'padding-top': ['padding'], + 'padding-right': ['padding'], + 'padding-bottom': ['padding'], + 'padding-left': ['padding'], + 'font-style': ['font'], + 'font-variant': ['font'], + 'font-weight': ['font'], + 'font-size': ['font'], + 'font-family': ['font'], + 'list-style-type': ['list-style'], + 'list-style-position': ['list-style'], + 'list-style-image': ['list-style'] +}; + +function getPropertyFingerprint(propertyName, declaration, fingerprints) { + const realName = cssTree.property(propertyName).basename; + + if (realName === 'background') { + return propertyName + ':' + cssTree.generate(declaration.value); + } + + const declarationId = declaration.id; + let fingerprint = fingerprints[declarationId]; + + if (!fingerprint) { + switch (declaration.value.type) { + case 'Value': + const special = {}; + let vendorId = ''; + let iehack = ''; + let raw = false; + + declaration.value.children.forEach(function walk(node) { + switch (node.type) { + case 'Value': + case 'Brackets': + case 'Parentheses': + node.children.forEach(walk); + break; + + case 'Raw': + raw = true; + break; + + case 'Identifier': { + const { name } = node; + + if (!vendorId) { + vendorId = cssTree.keyword(name).vendor; + } + + if (/\\[09]/.test(name)) { + iehack = RegExp.lastMatch; + } + + if (SAFE_VALUES.hasOwnProperty(realName)) { + if (SAFE_VALUES[realName].indexOf(name) === -1) { + special[name] = true; + } + } else if (DONT_MIX_VALUE.hasOwnProperty(realName)) { + if (DONT_MIX_VALUE[realName].test(name)) { + special[name] = true; + } + } + + break; + } + + case 'Function': { + let { name } = node; + + if (!vendorId) { + vendorId = cssTree.keyword(name).vendor; + } + + if (name === 'rect') { + // there are 2 forms of rect: + // rect(<top>, <right>, <bottom>, <left>) - standart + // rect(<top> <right> <bottom> <left>) – backwards compatible syntax + // only the same form values can be merged + const hasComma = node.children.some((node) => + node.type === 'Operator' && node.value === ',' + ); + + if (!hasComma) { + name = 'rect-backward'; + } + } + + special[name + '()'] = true; + + // check nested tokens too + node.children.forEach(walk); + + break; + } + + case 'Dimension': { + const { unit } = node; + + if (/\\[09]/.test(unit)) { + iehack = RegExp.lastMatch; + } + + switch (unit) { + // is not supported until IE11 + case 'rem': + + // v* units is too buggy across browsers and better + // don't merge values with those units + case 'vw': + case 'vh': + case 'vmin': + case 'vmax': + case 'vm': // IE9 supporting "vm" instead of "vmin". + special[unit] = true; + break; + } + + break; + } + } + }); + + fingerprint = raw + ? '!' + fingerprintId++ + : '!' + Object.keys(special).sort() + '|' + iehack + vendorId; + break; + + case 'Raw': + fingerprint = '!' + declaration.value.value; + break; + + default: + fingerprint = cssTree.generate(declaration.value); + } + + fingerprints[declarationId] = fingerprint; + } + + return propertyName + fingerprint; +} + +function needless(props, declaration, fingerprints) { + const property = cssTree.property(declaration.property); + + if (NEEDLESS_TABLE.hasOwnProperty(property.basename)) { + const table = NEEDLESS_TABLE[property.basename]; + + for (const entry of table) { + const ppre = getPropertyFingerprint(property.prefix + entry, declaration, fingerprints); + const prev = props.hasOwnProperty(ppre) ? props[ppre] : null; + + if (prev && (!declaration.important || prev.item.data.important)) { + return prev; + } + } + } +} + +function processRule(rule, item, list, props, fingerprints) { + const declarations = rule.block.children; + + declarations.forEachRight(function(declaration, declarationItem) { + const { property } = declaration; + const fingerprint = getPropertyFingerprint(property, declaration, fingerprints); + const prev = props[fingerprint]; + + if (prev && !dontRestructure.has(property)) { + if (declaration.important && !prev.item.data.important) { + props[fingerprint] = { + block: declarations, + item: declarationItem + }; + + prev.block.remove(prev.item); + + // TODO: use it when we can refer to several points in source + // declaration.loc = { + // primary: declaration.loc, + // merged: prev.item.data.loc + // }; + } else { + declarations.remove(declarationItem); + + // TODO: use it when we can refer to several points in source + // prev.item.data.loc = { + // primary: prev.item.data.loc, + // merged: declaration.loc + // }; + } + } else { + const prev = needless(props, declaration, fingerprints); + + if (prev) { + declarations.remove(declarationItem); + + // TODO: use it when we can refer to several points in source + // prev.item.data.loc = { + // primary: prev.item.data.loc, + // merged: declaration.loc + // }; + } else { + declaration.fingerprint = fingerprint; + + props[fingerprint] = { + block: declarations, + item: declarationItem + }; + } + } + }); + + if (declarations.isEmpty) { + list.remove(item); + } +} + +function restructBlock(ast) { + const stylesheetMap = {}; + const fingerprints = Object.create(null); + + cssTree.walk(ast, { + visit: 'Rule', + reverse: true, + enter(node, item, list) { + const stylesheet = this.block || this.stylesheet; + const ruleId = (node.pseudoSignature || '') + '|' + node.prelude.children.first.id; + let ruleMap; + let props; + + if (!stylesheetMap.hasOwnProperty(stylesheet.id)) { + ruleMap = {}; + stylesheetMap[stylesheet.id] = ruleMap; + } else { + ruleMap = stylesheetMap[stylesheet.id]; + } + + if (ruleMap.hasOwnProperty(ruleId)) { + props = ruleMap[ruleId]; + } else { + props = {}; + ruleMap[ruleId] = props; + } + + processRule.call(this, node, item, list, props, fingerprints); + } + }); +} + +module.exports = restructBlock; diff --git a/.output/server/node_modules/csso/cjs/restructure/7-mergeRuleset.cjs b/.output/server/node_modules/csso/cjs/restructure/7-mergeRuleset.cjs new file mode 100644 index 00000000..797b9401 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/7-mergeRuleset.cjs @@ -0,0 +1,90 @@ +'use strict'; + +const cssTree = require('css-tree'); +const utils = require('./utils.cjs'); + +/* + At this step all rules has single simple selector. We try to join by equal + declaration blocks to first rule, e.g. + + .a { color: red } + b { ... } + .b { color: red } + -> + .a, .b { color: red } + b { ... } +*/ + +function processRule(node, item, list) { + const selectors = node.prelude.children; + const declarations = node.block.children; + const nodeCompareMarker = selectors.first.compareMarker; + const skippedCompareMarkers = {}; + + list.nextUntil(item.next, function(next, nextItem) { + // skip non-ruleset node if safe + if (next.type !== 'Rule') { + return utils.unsafeToSkipNode.call(selectors, next); + } + + if (node.pseudoSignature !== next.pseudoSignature) { + return true; + } + + const nextFirstSelector = next.prelude.children.head; + const nextDeclarations = next.block.children; + const nextCompareMarker = nextFirstSelector.data.compareMarker; + + // if next ruleset has same marked as one of skipped then stop joining + if (nextCompareMarker in skippedCompareMarkers) { + return true; + } + + // try to join by selectors + if (selectors.head === selectors.tail) { + if (selectors.first.id === nextFirstSelector.data.id) { + declarations.appendList(nextDeclarations); + list.remove(nextItem); + return; + } + } + + // try to join by properties + if (utils.isEqualDeclarations(declarations, nextDeclarations)) { + const nextStr = nextFirstSelector.data.id; + + selectors.some((data, item) => { + const curStr = data.id; + + if (nextStr < curStr) { + selectors.insert(nextFirstSelector, item); + return true; + } + + if (!item.next) { + selectors.insert(nextFirstSelector); + return true; + } + }); + + list.remove(nextItem); + return; + } + + // go to next ruleset if current one can be skipped (has no equal specificity nor element selector) + if (nextCompareMarker === nodeCompareMarker) { + return true; + } + + skippedCompareMarkers[nextCompareMarker] = true; + }); +} + +function mergeRule(ast) { + cssTree.walk(ast, { + visit: 'Rule', + enter: processRule + }); +} + +module.exports = mergeRule; diff --git a/.output/server/node_modules/csso/cjs/restructure/8-restructRuleset.cjs b/.output/server/node_modules/csso/cjs/restructure/8-restructRuleset.cjs new file mode 100644 index 00000000..3eda382f --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/8-restructRuleset.cjs @@ -0,0 +1,175 @@ +'use strict'; + +const cssTree = require('css-tree'); +const utils = require('./utils.cjs'); + +function calcSelectorLength(list) { + return list.reduce((res, data) => res + data.id.length + 1, 0) - 1; +} + +function calcDeclarationsLength(tokens) { + let length = 0; + + for (const token of tokens) { + length += token.length; + } + + return ( + length + // declarations + tokens.length - 1 // delimeters + ); +} + +function processRule(node, item, list) { + const avoidRulesMerge = this.block !== null ? this.block.avoidRulesMerge : false; + const selectors = node.prelude.children; + const block = node.block; + const disallowDownMarkers = Object.create(null); + let allowMergeUp = true; + let allowMergeDown = true; + + list.prevUntil(item.prev, function(prev, prevItem) { + const prevBlock = prev.block; + const prevType = prev.type; + + if (prevType !== 'Rule') { + const unsafe = utils.unsafeToSkipNode.call(selectors, prev); + + if (!unsafe && prevType === 'Atrule' && prevBlock) { + cssTree.walk(prevBlock, { + visit: 'Rule', + enter(node) { + node.prelude.children.forEach((data) => { + disallowDownMarkers[data.compareMarker] = true; + }); + } + }); + } + + return unsafe; + } + + if (node.pseudoSignature !== prev.pseudoSignature) { + return true; + } + + const prevSelectors = prev.prelude.children; + + allowMergeDown = !prevSelectors.some((selector) => + selector.compareMarker in disallowDownMarkers + ); + + // try prev ruleset if simpleselectors has no equal specifity and element selector + if (!allowMergeDown && !allowMergeUp) { + return true; + } + + // try to join by selectors + if (allowMergeUp && utils.isEqualSelectors(prevSelectors, selectors)) { + prevBlock.children.appendList(block.children); + list.remove(item); + + return true; + } + + // try to join by properties + const diff = utils.compareDeclarations(block.children, prevBlock.children); + + // console.log(diff.eq, diff.ne1, diff.ne2); + + if (diff.eq.length) { + if (!diff.ne1.length && !diff.ne2.length) { + // equal blocks + if (allowMergeDown) { + utils.addSelectors(selectors, prevSelectors); + list.remove(prevItem); + } + + return true; + } else if (!avoidRulesMerge) { /* probably we don't need to prevent those merges for @keyframes + TODO: need to be checked */ + + if (diff.ne1.length && !diff.ne2.length) { + // prevBlock is subset block + const selectorLength = calcSelectorLength(selectors); + const blockLength = calcDeclarationsLength(diff.eq); // declarations length + + if (allowMergeUp && selectorLength < blockLength) { + utils.addSelectors(prevSelectors, selectors); + block.children.fromArray(diff.ne1); + } + } else if (!diff.ne1.length && diff.ne2.length) { + // node is subset of prevBlock + const selectorLength = calcSelectorLength(prevSelectors); + const blockLength = calcDeclarationsLength(diff.eq); // declarations length + + if (allowMergeDown && selectorLength < blockLength) { + utils.addSelectors(selectors, prevSelectors); + prevBlock.children.fromArray(diff.ne2); + } + } else { + // diff.ne1.length && diff.ne2.length + // extract equal block + const newSelector = { + type: 'SelectorList', + loc: null, + children: utils.addSelectors(prevSelectors.copy(), selectors) + }; + const newBlockLength = calcSelectorLength(newSelector.children) + 2; // selectors length + curly braces length + const blockLength = calcDeclarationsLength(diff.eq); // declarations length + + // create new ruleset if declarations length greater than + // ruleset description overhead + if (blockLength >= newBlockLength) { + const newItem = list.createItem({ + type: 'Rule', + loc: null, + prelude: newSelector, + block: { + type: 'Block', + loc: null, + children: new cssTree.List().fromArray(diff.eq) + }, + pseudoSignature: node.pseudoSignature + }); + + block.children.fromArray(diff.ne1); + prevBlock.children.fromArray(diff.ne2overrided); + + if (allowMergeUp) { + list.insert(newItem, prevItem); + } else { + list.insert(newItem, item); + } + + return true; + } + } + } + } + + if (allowMergeUp) { + // TODO: disallow up merge only if any property interception only (i.e. diff.ne2overrided.length > 0); + // await property families to find property interception correctly + allowMergeUp = !prevSelectors.some((prevSelector) => + selectors.some((selector) => + selector.compareMarker === prevSelector.compareMarker + ) + ); + } + + prevSelectors.forEach((data) => { + disallowDownMarkers[data.compareMarker] = true; + }); + }); +} + +function restructRule(ast) { + cssTree.walk(ast, { + visit: 'Rule', + reverse: true, + enter: processRule + }); +} + +module.exports = restructRule; diff --git a/.output/server/node_modules/csso/cjs/restructure/index.cjs b/.output/server/node_modules/csso/cjs/restructure/index.cjs new file mode 100644 index 00000000..dac7a3c3 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/index.cjs @@ -0,0 +1,39 @@ +'use strict'; + +const index = require('./prepare/index.cjs'); +const _1MergeAtrule = require('./1-mergeAtrule.cjs'); +const _2InitialMergeRuleset = require('./2-initialMergeRuleset.cjs'); +const _3DisjoinRuleset = require('./3-disjoinRuleset.cjs'); +const _4RestructShorthand = require('./4-restructShorthand.cjs'); +const _6RestructBlock = require('./6-restructBlock.cjs'); +const _7MergeRuleset = require('./7-mergeRuleset.cjs'); +const _8RestructRuleset = require('./8-restructRuleset.cjs'); + +function restructure(ast, options) { + // prepare ast for restructing + const indexer = index(ast, options); + options.logger('prepare', ast); + + _1MergeAtrule(ast, options); + options.logger('mergeAtrule', ast); + + _2InitialMergeRuleset(ast); + options.logger('initialMergeRuleset', ast); + + _3DisjoinRuleset(ast); + options.logger('disjoinRuleset', ast); + + _4RestructShorthand(ast, indexer); + options.logger('restructShorthand', ast); + + _6RestructBlock(ast); + options.logger('restructBlock', ast); + + _7MergeRuleset(ast); + options.logger('mergeRuleset', ast); + + _8RestructRuleset(ast); + options.logger('restructRuleset', ast); +} + +module.exports = restructure; diff --git a/.output/server/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs b/.output/server/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs new file mode 100644 index 00000000..94489728 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/prepare/createDeclarationIndexer.cjs @@ -0,0 +1,34 @@ +'use strict'; + +const cssTree = require('css-tree'); + +class Index { + constructor() { + this.map = new Map(); + } + resolve(str) { + let index = this.map.get(str); + + if (index === undefined) { + index = this.map.size + 1; + this.map.set(str, index); + } + + return index; + } +} +function createDeclarationIndexer() { + const ids = new Index(); + + return function markDeclaration(node) { + const id = cssTree.generate(node); + + node.id = ids.resolve(id); + node.length = id.length; + node.fingerprint = null; + + return node; + }; +} + +module.exports = createDeclarationIndexer; diff --git a/.output/server/node_modules/csso/cjs/restructure/prepare/index.cjs b/.output/server/node_modules/csso/cjs/restructure/prepare/index.cjs new file mode 100644 index 00000000..42b49127 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/prepare/index.cjs @@ -0,0 +1,45 @@ +'use strict'; + +const cssTree = require('css-tree'); +const createDeclarationIndexer = require('./createDeclarationIndexer.cjs'); +const processSelector = require('./processSelector.cjs'); + +function prepare(ast, options) { + const markDeclaration = createDeclarationIndexer(); + + cssTree.walk(ast, { + visit: 'Rule', + enter(node) { + node.block.children.forEach(markDeclaration); + processSelector(node, options.usage); + } + }); + + cssTree.walk(ast, { + visit: 'Atrule', + enter(node) { + if (node.prelude) { + node.prelude.id = null; // pre-init property to avoid multiple hidden class for generate + node.prelude.id = cssTree.generate(node.prelude); + } + + // compare keyframe selectors by its values + // NOTE: still no clarification about problems with keyframes selector grouping (issue #197) + if (cssTree.keyword(node.name).basename === 'keyframes') { + node.block.avoidRulesMerge = true; /* probably we don't need to prevent those merges for @keyframes + TODO: need to be checked */ + node.block.children.forEach(function(rule) { + rule.prelude.children.forEach(function(simpleselector) { + simpleselector.compareMarker = simpleselector.id; + }); + }); + } + } + }); + + return { + declaration: markDeclaration + }; +} + +module.exports = prepare; diff --git a/.output/server/node_modules/csso/cjs/restructure/prepare/processSelector.cjs b/.output/server/node_modules/csso/cjs/restructure/prepare/processSelector.cjs new file mode 100644 index 00000000..5c9e1d21 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/prepare/processSelector.cjs @@ -0,0 +1,101 @@ +'use strict'; + +const cssTree = require('css-tree'); +const specificity = require('./specificity.cjs'); + +const nonFreezePseudoElements = new Set([ + 'first-letter', + 'first-line', + 'after', + 'before' +]); +const nonFreezePseudoClasses = new Set([ + 'link', + 'visited', + 'hover', + 'active', + 'first-letter', + 'first-line', + 'after', + 'before' +]); + +function processSelector(node, usageData) { + const pseudos = new Set(); + + node.prelude.children.forEach(function(simpleSelector) { + let tagName = '*'; + let scope = 0; + + simpleSelector.children.forEach(function(node) { + switch (node.type) { + case 'ClassSelector': + if (usageData && usageData.scopes) { + const classScope = usageData.scopes[node.name] || 0; + + if (scope !== 0 && classScope !== scope) { + throw new Error('Selector can\'t has classes from different scopes: ' + cssTree.generate(simpleSelector)); + } + + scope = classScope; + } + + break; + + case 'PseudoClassSelector': { + const name = node.name.toLowerCase(); + + if (!nonFreezePseudoClasses.has(name)) { + pseudos.add(`:${name}`); + } + + break; + } + + case 'PseudoElementSelector': { + const name = node.name.toLowerCase(); + + if (!nonFreezePseudoElements.has(name)) { + pseudos.add(`::${name}`); + } + + break; + } + + case 'TypeSelector': + tagName = node.name.toLowerCase(); + break; + + case 'AttributeSelector': + if (node.flags) { + pseudos.add(`[${node.flags.toLowerCase()}]`); + } + + break; + + case 'Combinator': + tagName = '*'; + break; + } + }); + + simpleSelector.compareMarker = specificity(simpleSelector).toString(); + simpleSelector.id = null; // pre-init property to avoid multiple hidden class + simpleSelector.id = cssTree.generate(simpleSelector); + + if (scope) { + simpleSelector.compareMarker += ':' + scope; + } + + if (tagName !== '*') { + simpleSelector.compareMarker += ',' + tagName; + } + }); + + // add property to all rule nodes to avoid multiple hidden class + node.pseudoSignature = pseudos.size > 0 + ? [...pseudos].sort().join(',') + : false; +} + +module.exports = processSelector; diff --git a/.output/server/node_modules/csso/cjs/restructure/prepare/specificity.cjs b/.output/server/node_modules/csso/cjs/restructure/prepare/specificity.cjs new file mode 100644 index 00000000..b62c3291 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/prepare/specificity.cjs @@ -0,0 +1,133 @@ +'use strict'; + +const cssTree = require('css-tree'); + +function ensureSelectorList(node) { + if (node.type === 'Raw') { + return cssTree.parse(node.value, { context: 'selectorList' }); + } + + return node; +} + +function maxSpecificity(a, b) { + for (let i = 0; i < 3; i++) { + if (a[i] !== b[i]) { + return a[i] > b[i] ? a : b; + } + } + + return a; +} + +function maxSelectorListSpecificity(selectorList) { + return ensureSelectorList(selectorList).children.reduce( + (result, node) => maxSpecificity(specificity(node), result), + [0, 0, 0] + ); +} + +// §16. Calculating a selector’s specificity +// https://www.w3.org/TR/selectors-4/#specificity-rules +function specificity(simpleSelector) { + let A = 0; + let B = 0; + let C = 0; + + // A selector’s specificity is calculated for a given element as follows: + simpleSelector.children.forEach((node) => { + switch (node.type) { + // count the number of ID selectors in the selector (= A) + case 'IdSelector': + A++; + break; + + // count the number of class selectors, attributes selectors, ... + case 'ClassSelector': + case 'AttributeSelector': + B++; + break; + + // ... and pseudo-classes in the selector (= B) + case 'PseudoClassSelector': + switch (node.name.toLowerCase()) { + // The specificity of an :is(), :not(), or :has() pseudo-class is replaced + // by the specificity of the most specific complex selector in its selector list argument. + case 'not': + case 'has': + case 'is': + // :matches() is used before it was renamed to :is() + // https://github.com/w3c/csswg-drafts/issues/3258 + case 'matches': + // Older browsers support :is() functionality as prefixed pseudo-class :any() + // https://developer.mozilla.org/en-US/docs/Web/CSS/:is + case '-webkit-any': + case '-moz-any': { + const [a, b, c] = maxSelectorListSpecificity(node.children.first); + + A += a; + B += b; + C += c; + + break; + } + + // Analogously, the specificity of an :nth-child() or :nth-last-child() selector + // is the specificity of the pseudo class itself (counting as one pseudo-class selector) + // plus the specificity of the most specific complex selector in its selector list argument (if any). + case 'nth-child': + case 'nth-last-child': { + const arg = node.children.first; + + if (arg.type === 'Nth' && arg.selector) { + const [a, b, c] = maxSelectorListSpecificity(arg.selector); + + A += a; + B += b + 1; + C += c; + } else { + B++; + } + + break; + } + + // The specificity of a :where() pseudo-class is replaced by zero. + case 'where': + break; + + // The four Level 2 pseudo-elements (::before, ::after, ::first-line, and ::first-letter) may, + // for legacy reasons, be represented using the <pseudo-class-selector> grammar, + // with only a single ":" character at their start. + // https://www.w3.org/TR/selectors-4/#single-colon-pseudos + case 'before': + case 'after': + case 'first-line': + case 'first-letter': + C++; + break; + + default: + B++; + } + break; + + // count the number of type selectors ... + case 'TypeSelector': + // ignore the universal selector + if (!node.name.endsWith('*')) { + C++; + } + break; + + // ... and pseudo-elements in the selector (= C) + case 'PseudoElementSelector': + C++; + break; + } + }); + + return [A, B, C]; +} + +module.exports = specificity; diff --git a/.output/server/node_modules/csso/cjs/restructure/utils.cjs b/.output/server/node_modules/csso/cjs/restructure/utils.cjs new file mode 100644 index 00000000..cd66a6a8 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/restructure/utils.cjs @@ -0,0 +1,151 @@ +'use strict'; + +const { hasOwnProperty } = Object.prototype; + +function isEqualSelectors(a, b) { + let cursor1 = a.head; + let cursor2 = b.head; + + while (cursor1 !== null && cursor2 !== null && cursor1.data.id === cursor2.data.id) { + cursor1 = cursor1.next; + cursor2 = cursor2.next; + } + + return cursor1 === null && cursor2 === null; +} + +function isEqualDeclarations(a, b) { + let cursor1 = a.head; + let cursor2 = b.head; + + while (cursor1 !== null && cursor2 !== null && cursor1.data.id === cursor2.data.id) { + cursor1 = cursor1.next; + cursor2 = cursor2.next; + } + + return cursor1 === null && cursor2 === null; +} + +function compareDeclarations(declarations1, declarations2) { + const result = { + eq: [], + ne1: [], + ne2: [], + ne2overrided: [] + }; + + const fingerprints = Object.create(null); + const declarations2hash = Object.create(null); + + for (let cursor = declarations2.head; cursor; cursor = cursor.next) { + declarations2hash[cursor.data.id] = true; + } + + for (let cursor = declarations1.head; cursor; cursor = cursor.next) { + const data = cursor.data; + + if (data.fingerprint) { + fingerprints[data.fingerprint] = data.important; + } + + if (declarations2hash[data.id]) { + declarations2hash[data.id] = false; + result.eq.push(data); + } else { + result.ne1.push(data); + } + } + + for (let cursor = declarations2.head; cursor; cursor = cursor.next) { + const data = cursor.data; + + if (declarations2hash[data.id]) { + // when declarations1 has an overriding declaration, this is not a difference + // unless no !important is used on prev and !important is used on the following + if (!hasOwnProperty.call(fingerprints, data.fingerprint) || + (!fingerprints[data.fingerprint] && data.important)) { + result.ne2.push(data); + } + + result.ne2overrided.push(data); + } + } + + return result; +} + +function addSelectors(dest, source) { + source.forEach((sourceData) => { + const newStr = sourceData.id; + let cursor = dest.head; + + while (cursor) { + const nextStr = cursor.data.id; + + if (nextStr === newStr) { + return; + } + + if (nextStr > newStr) { + break; + } + + cursor = cursor.next; + } + + dest.insert(dest.createItem(sourceData), cursor); + }); + + return dest; +} + +// check if simpleselectors has no equal specificity and element selector +function hasSimilarSelectors(selectors1, selectors2) { + let cursor1 = selectors1.head; + + while (cursor1 !== null) { + let cursor2 = selectors2.head; + + while (cursor2 !== null) { + if (cursor1.data.compareMarker === cursor2.data.compareMarker) { + return true; + } + + cursor2 = cursor2.next; + } + + cursor1 = cursor1.next; + } + + return false; +} + +// test node can't to be skipped +function unsafeToSkipNode(node) { + switch (node.type) { + case 'Rule': + // unsafe skip ruleset with selector similarities + return hasSimilarSelectors(node.prelude.children, this); + + case 'Atrule': + // can skip at-rules with blocks + if (node.block) { + // unsafe skip at-rule if block contains something unsafe to skip + return node.block.children.some(unsafeToSkipNode, this); + } + break; + + case 'Declaration': + return false; + } + + // unsafe by default + return true; +} + +exports.addSelectors = addSelectors; +exports.compareDeclarations = compareDeclarations; +exports.hasSimilarSelectors = hasSimilarSelectors; +exports.isEqualDeclarations = isEqualDeclarations; +exports.isEqualSelectors = isEqualSelectors; +exports.unsafeToSkipNode = unsafeToSkipNode; diff --git a/.output/server/node_modules/csso/cjs/syntax.cjs b/.output/server/node_modules/csso/cjs/syntax.cjs new file mode 100644 index 00000000..527604c0 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/syntax.cjs @@ -0,0 +1,60 @@ +'use strict'; + +const cssTree = require('css-tree'); +const compress = require('./compress.cjs'); +const specificity = require('./restructure/prepare/specificity.cjs'); + +function encodeString(value) { + const stringApostrophe = cssTree.string.encode(value, true); + const stringQuote = cssTree.string.encode(value); + + return stringApostrophe.length < stringQuote.length + ? stringApostrophe + : stringQuote; +} + +const { + lexer, + tokenize, + parse, + generate, + walk, + find, + findLast, + findAll, + fromPlainObject, + toPlainObject +} = cssTree.fork({ + node: { + String: { + generate(node) { + this.token(cssTree.tokenTypes.String, encodeString(node.value)); + } + }, + Url: { + generate(node) { + const encodedUrl = cssTree.url.encode(node.value); + const string = encodeString(node.value); + + this.token(cssTree.tokenTypes.Url, + encodedUrl.length <= string.length + 5 /* "url()".length */ + ? encodedUrl + : 'url(' + string + ')' + ); + } + } + } +}); + +exports.compress = compress; +exports.specificity = specificity; +exports.find = find; +exports.findAll = findAll; +exports.findLast = findLast; +exports.fromPlainObject = fromPlainObject; +exports.generate = generate; +exports.lexer = lexer; +exports.parse = parse; +exports.toPlainObject = toPlainObject; +exports.tokenize = tokenize; +exports.walk = walk; diff --git a/.output/server/node_modules/csso/cjs/usage.cjs b/.output/server/node_modules/csso/cjs/usage.cjs new file mode 100644 index 00000000..90abe9d2 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/usage.cjs @@ -0,0 +1,75 @@ +'use strict'; + +const { hasOwnProperty } = Object.prototype; + +function buildMap(list, caseInsensitive) { + const map = Object.create(null); + + if (!Array.isArray(list)) { + return null; + } + + for (let name of list) { + if (caseInsensitive) { + name = name.toLowerCase(); + } + + map[name] = true; + } + + return map; +} + +function buildList(data) { + if (!data) { + return null; + } + + const tags = buildMap(data.tags, true); + const ids = buildMap(data.ids); + const classes = buildMap(data.classes); + + if (tags === null && + ids === null && + classes === null) { + return null; + } + + return { + tags, + ids, + classes + }; +} + +function buildIndex(data) { + let scopes = false; + + if (data.scopes && Array.isArray(data.scopes)) { + scopes = Object.create(null); + + for (let i = 0; i < data.scopes.length; i++) { + const list = data.scopes[i]; + + if (!list || !Array.isArray(list)) { + throw new Error('Wrong usage format'); + } + + for (const name of list) { + if (hasOwnProperty.call(scopes, name)) { + throw new Error(`Class can't be used for several scopes: ${name}`); + } + + scopes[name] = i + 1; + } + } + } + + return { + whitelist: buildList(data), + blacklist: buildList(data.blacklist), + scopes + }; +} + +exports.buildIndex = buildIndex; diff --git a/.output/server/node_modules/csso/cjs/utils.cjs b/.output/server/node_modules/csso/cjs/utils.cjs new file mode 100644 index 00000000..61e75ec8 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/utils.cjs @@ -0,0 +1,14 @@ +'use strict'; + +const processSelector = require('./restructure/prepare/processSelector.cjs'); +const utils$1 = require('./restructure/utils.cjs'); + + + +exports.processSelector = processSelector; +exports.addSelectors = utils$1.addSelectors; +exports.compareDeclarations = utils$1.compareDeclarations; +exports.hasSimilarSelectors = utils$1.hasSimilarSelectors; +exports.isEqualDeclarations = utils$1.isEqualDeclarations; +exports.isEqualSelectors = utils$1.isEqualSelectors; +exports.unsafeToSkipNode = utils$1.unsafeToSkipNode; diff --git a/.output/server/node_modules/csso/cjs/version.cjs b/.output/server/node_modules/csso/cjs/version.cjs new file mode 100644 index 00000000..eaa2fef2 --- /dev/null +++ b/.output/server/node_modules/csso/cjs/version.cjs @@ -0,0 +1,5 @@ +'use strict'; + +const { version } = require('../package.json'); + +exports.version = version; diff --git a/.output/server/node_modules/csso/node_modules/css-tree b/.output/server/node_modules/csso/node_modules/css-tree new file mode 120000 index 00000000..c128fdb1 --- /dev/null +++ b/.output/server/node_modules/csso/node_modules/css-tree @@ -0,0 +1 @@ +../../.nitro/css-tree@2.2.1 \ No newline at end of file diff --git a/.output/server/node_modules/csso/package.json b/.output/server/node_modules/csso/package.json new file mode 100644 index 00000000..d2feb5d4 --- /dev/null +++ b/.output/server/node_modules/csso/package.json @@ -0,0 +1,82 @@ +{ + "name": "csso", + "version": "5.0.5", + "description": "CSS minifier with structural optimisations", + "author": "Sergey Kryzhanovsky <skryzhanovsky@ya.ru> (https://github.com/afelix)", + "maintainers": [ + { + "name": "Roman Dvornov", + "email": "rdvornov@gmail.com", + "github-username": "lahmatiy" + } + ], + "repository": "css/csso", + "license": "MIT", + "keywords": [ + "css", + "compress", + "minifier", + "minify", + "optimise", + "optimisation", + "csstree" + ], + "type": "module", + "unpkg": "dist/csso.esm.js", + "jsdelivr": "dist/csso.esm.js", + "browser": { + "./cjs/version.cjs": "./dist/version.cjs", + "./lib/version.js": "./dist/version.js" + }, + "main": "./cjs/index.cjs", + "module": "./lib/index.js", + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./cjs/index.cjs" + }, + "./syntax": { + "import": "./lib/syntax.js", + "require": "./cjs/syntax.cjs" + }, + "./dist/*": "./dist/*.js", + "./package.json": "./package.json" + }, + "scripts": { + "test": "mocha test --reporter ${REPORTER:-progress}", + "test:cjs": "mocha cjs-test --reporter ${REPORTER:-progress}", + "test:dist": "mocha dist/test --reporter ${REPORTER:-progress}", + "lint": "eslint lib scripts test", + "lint-and-test": "npm run lint && npm test", + "build": "npm run bundle && npm run esm-to-cjs", + "build-and-test": "npm run build && npm run test:dist && npm run test:cjs", + "bundle": "node scripts/bundle", + "bundle-and-test": "npm run bundle && npm run test:dist", + "esm-to-cjs": "node scripts/esm-to-cjs.cjs", + "esm-to-cjs-and-test": "npm run esm-to-cjs && npm run test:cjs", + "coverage": "c8 --reporter=lcovonly npm test", + "prepublishOnly": "npm run lint-and-test && npm run build-and-test", + "hydrogen": "node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/csso --stat -o /dev/null" + }, + "dependencies": { + "css-tree": "~2.2.0" + }, + "devDependencies": { + "c8": "^7.10.0", + "esbuild": "^0.14.54", + "eslint": "^7.24.0", + "mocha": "^9.2.2", + "rollup": "^2.60.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + }, + "files": [ + "dist", + "!dist/test", + "cjs", + "lib" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/date-fns/_lib/addLeadingZeros.js b/.output/server/node_modules/date-fns/_lib/addLeadingZeros.js new file mode 100644 index 00000000..3bafd190 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/addLeadingZeros.js @@ -0,0 +1,5 @@ +export function addLeadingZeros(number, targetLength) { + const sign = number < 0 ? "-" : ""; + const output = Math.abs(number).toString().padStart(targetLength, "0"); + return sign + output; +} diff --git a/.output/server/node_modules/date-fns/_lib/defaultLocale.js b/.output/server/node_modules/date-fns/_lib/defaultLocale.js new file mode 100644 index 00000000..016e184d --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/defaultLocale.js @@ -0,0 +1 @@ +export { enUS as defaultLocale } from "../locale/en-US.js"; diff --git a/.output/server/node_modules/date-fns/_lib/defaultOptions.js b/.output/server/node_modules/date-fns/_lib/defaultOptions.js new file mode 100644 index 00000000..672961f1 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/defaultOptions.js @@ -0,0 +1,9 @@ +let defaultOptions = {}; + +export function getDefaultOptions() { + return defaultOptions; +} + +export function setDefaultOptions(newOptions) { + defaultOptions = newOptions; +} diff --git a/.output/server/node_modules/date-fns/_lib/format/formatters.js b/.output/server/node_modules/date-fns/_lib/format/formatters.js new file mode 100644 index 00000000..149f25de --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/format/formatters.js @@ -0,0 +1,776 @@ +import { getDayOfYear } from "../../getDayOfYear.js"; +import { getISOWeek } from "../../getISOWeek.js"; +import { getISOWeekYear } from "../../getISOWeekYear.js"; +import { getWeek } from "../../getWeek.js"; +import { getWeekYear } from "../../getWeekYear.js"; + +import { addLeadingZeros } from "../addLeadingZeros.js"; +import { lightFormatters } from "./lightFormatters.js"; + +const dayPeriodEnum = { + am: "am", + pm: "pm", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", +}; + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | Milliseconds in day | + * | b | AM, PM, noon, midnight | B | Flexible day period | + * | c | Stand-alone local day of week | C* | Localized hour w/ day period | + * | d | Day of month | D | Day of year | + * | e | Local day of week | E | Day of week | + * | f | | F* | Day of week in month | + * | g* | Modified Julian day | G | Era | + * | h | Hour [1-12] | H | Hour [0-23] | + * | i! | ISO day of week | I! | ISO week of year | + * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | + * | k | Hour [1-24] | K | Hour [0-11] | + * | l* | (deprecated) | L | Stand-alone month | + * | m | Minute | M | Month | + * | n | | N | | + * | o! | Ordinal number modifier | O | Timezone (GMT) | + * | p! | Long localized time | P! | Long localized date | + * | q | Stand-alone quarter | Q | Quarter | + * | r* | Related Gregorian year | R! | ISO week-numbering year | + * | s | Second | S | Fraction of second | + * | t! | Seconds timestamp | T! | Milliseconds timestamp | + * | u | Extended year | U* | Cyclic year | + * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | + * | w | Local week of year | W* | Week of month | + * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | + * | y | Year (abs) | Y | Local week-numbering year | + * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + * + * Letters marked by ! are non-standard, but implemented by date-fns: + * - `o` modifies the previous token to turn it into an ordinal (see `format` docs) + * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, + * i.e. 7 for Sunday, 1 for Monday, etc. + * - `I` is ISO week of year, as opposed to `w` which is local week of year. + * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. + * `R` is supposed to be used in conjunction with `I` and `i` + * for universal ISO week-numbering date, whereas + * `Y` is supposed to be used in conjunction with `w` and `e` + * for week-numbering date specific to the locale. + * - `P` is long localized date format + * - `p` is long localized time format + */ + +export const formatters = { + // Era + G: function (date, token, localize) { + const era = date.getFullYear() > 0 ? 1 : 0; + switch (token) { + // AD, BC + case "G": + case "GG": + case "GGG": + return localize.era(era, { width: "abbreviated" }); + // A, B + case "GGGGG": + return localize.era(era, { width: "narrow" }); + // Anno Domini, Before Christ + case "GGGG": + default: + return localize.era(era, { width: "wide" }); + } + }, + + // Year + y: function (date, token, localize) { + // Ordinal number + if (token === "yo") { + const signedYear = date.getFullYear(); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const year = signedYear > 0 ? signedYear : 1 - signedYear; + return localize.ordinalNumber(year, { unit: "year" }); + } + + return lightFormatters.y(date, token); + }, + + // Local week-numbering year + Y: function (date, token, localize, options) { + const signedWeekYear = getWeekYear(date, options); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; + + // Two digit year + if (token === "YY") { + const twoDigitYear = weekYear % 100; + return addLeadingZeros(twoDigitYear, 2); + } + + // Ordinal number + if (token === "Yo") { + return localize.ordinalNumber(weekYear, { unit: "year" }); + } + + // Padding + return addLeadingZeros(weekYear, token.length); + }, + + // ISO week-numbering year + R: function (date, token) { + const isoWeekYear = getISOWeekYear(date); + + // Padding + return addLeadingZeros(isoWeekYear, token.length); + }, + + // Extended year. This is a single number designating the year of this calendar system. + // The main difference between `y` and `u` localizers are B.C. years: + // | Year | `y` | `u` | + // |------|-----|-----| + // | AC 1 | 1 | 1 | + // | BC 1 | 1 | 0 | + // | BC 2 | 2 | -1 | + // Also `yy` always returns the last two digits of a year, + // while `uu` pads single digit years to 2 characters and returns other years unchanged. + u: function (date, token) { + const year = date.getFullYear(); + return addLeadingZeros(year, token.length); + }, + + // Quarter + Q: function (date, token, localize) { + const quarter = Math.ceil((date.getMonth() + 1) / 3); + switch (token) { + // 1, 2, 3, 4 + case "Q": + return String(quarter); + // 01, 02, 03, 04 + case "QQ": + return addLeadingZeros(quarter, 2); + // 1st, 2nd, 3rd, 4th + case "Qo": + return localize.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "QQQ": + return localize.quarter(quarter, { + width: "abbreviated", + context: "formatting", + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "QQQQQ": + return localize.quarter(quarter, { + width: "narrow", + context: "formatting", + }); + // 1st quarter, 2nd quarter, ... + case "QQQQ": + default: + return localize.quarter(quarter, { + width: "wide", + context: "formatting", + }); + } + }, + + // Stand-alone quarter + q: function (date, token, localize) { + const quarter = Math.ceil((date.getMonth() + 1) / 3); + switch (token) { + // 1, 2, 3, 4 + case "q": + return String(quarter); + // 01, 02, 03, 04 + case "qq": + return addLeadingZeros(quarter, 2); + // 1st, 2nd, 3rd, 4th + case "qo": + return localize.ordinalNumber(quarter, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "qqq": + return localize.quarter(quarter, { + width: "abbreviated", + context: "standalone", + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "qqqqq": + return localize.quarter(quarter, { + width: "narrow", + context: "standalone", + }); + // 1st quarter, 2nd quarter, ... + case "qqqq": + default: + return localize.quarter(quarter, { + width: "wide", + context: "standalone", + }); + } + }, + + // Month + M: function (date, token, localize) { + const month = date.getMonth(); + switch (token) { + case "M": + case "MM": + return lightFormatters.M(date, token); + // 1st, 2nd, ..., 12th + case "Mo": + return localize.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec + case "MMM": + return localize.month(month, { + width: "abbreviated", + context: "formatting", + }); + // J, F, ..., D + case "MMMMM": + return localize.month(month, { + width: "narrow", + context: "formatting", + }); + // January, February, ..., December + case "MMMM": + default: + return localize.month(month, { width: "wide", context: "formatting" }); + } + }, + + // Stand-alone month + L: function (date, token, localize) { + const month = date.getMonth(); + switch (token) { + // 1, 2, ..., 12 + case "L": + return String(month + 1); + // 01, 02, ..., 12 + case "LL": + return addLeadingZeros(month + 1, 2); + // 1st, 2nd, ..., 12th + case "Lo": + return localize.ordinalNumber(month + 1, { unit: "month" }); + // Jan, Feb, ..., Dec + case "LLL": + return localize.month(month, { + width: "abbreviated", + context: "standalone", + }); + // J, F, ..., D + case "LLLLL": + return localize.month(month, { + width: "narrow", + context: "standalone", + }); + // January, February, ..., December + case "LLLL": + default: + return localize.month(month, { width: "wide", context: "standalone" }); + } + }, + + // Local week of year + w: function (date, token, localize, options) { + const week = getWeek(date, options); + + if (token === "wo") { + return localize.ordinalNumber(week, { unit: "week" }); + } + + return addLeadingZeros(week, token.length); + }, + + // ISO week of year + I: function (date, token, localize) { + const isoWeek = getISOWeek(date); + + if (token === "Io") { + return localize.ordinalNumber(isoWeek, { unit: "week" }); + } + + return addLeadingZeros(isoWeek, token.length); + }, + + // Day of the month + d: function (date, token, localize) { + if (token === "do") { + return localize.ordinalNumber(date.getDate(), { unit: "date" }); + } + + return lightFormatters.d(date, token); + }, + + // Day of year + D: function (date, token, localize) { + const dayOfYear = getDayOfYear(date); + + if (token === "Do") { + return localize.ordinalNumber(dayOfYear, { unit: "dayOfYear" }); + } + + return addLeadingZeros(dayOfYear, token.length); + }, + + // Day of week + E: function (date, token, localize) { + const dayOfWeek = date.getDay(); + switch (token) { + // Tue + case "E": + case "EE": + case "EEE": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "EEEEE": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "EEEEEE": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "EEEE": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); + } + }, + + // Local day of week + e: function (date, token, localize, options) { + const dayOfWeek = date.getDay(); + const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + switch (token) { + // Numerical value (Nth day of week with current locale or weekStartsOn) + case "e": + return String(localDayOfWeek); + // Padded numerical value + case "ee": + return addLeadingZeros(localDayOfWeek, 2); + // 1st, 2nd, ..., 7th + case "eo": + return localize.ordinalNumber(localDayOfWeek, { unit: "day" }); + case "eee": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "eeeee": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "eeeeee": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "eeee": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); + } + }, + + // Stand-alone local day of week + c: function (date, token, localize, options) { + const dayOfWeek = date.getDay(); + const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + switch (token) { + // Numerical value (same as in `e`) + case "c": + return String(localDayOfWeek); + // Padded numerical value + case "cc": + return addLeadingZeros(localDayOfWeek, token.length); + // 1st, 2nd, ..., 7th + case "co": + return localize.ordinalNumber(localDayOfWeek, { unit: "day" }); + case "ccc": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "standalone", + }); + // T + case "ccccc": + return localize.day(dayOfWeek, { + width: "narrow", + context: "standalone", + }); + // Tu + case "cccccc": + return localize.day(dayOfWeek, { + width: "short", + context: "standalone", + }); + // Tuesday + case "cccc": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "standalone", + }); + } + }, + + // ISO day of week + i: function (date, token, localize) { + const dayOfWeek = date.getDay(); + const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; + switch (token) { + // 2 + case "i": + return String(isoDayOfWeek); + // 02 + case "ii": + return addLeadingZeros(isoDayOfWeek, token.length); + // 2nd + case "io": + return localize.ordinalNumber(isoDayOfWeek, { unit: "day" }); + // Tue + case "iii": + return localize.day(dayOfWeek, { + width: "abbreviated", + context: "formatting", + }); + // T + case "iiiii": + return localize.day(dayOfWeek, { + width: "narrow", + context: "formatting", + }); + // Tu + case "iiiiii": + return localize.day(dayOfWeek, { + width: "short", + context: "formatting", + }); + // Tuesday + case "iiii": + default: + return localize.day(dayOfWeek, { + width: "wide", + context: "formatting", + }); + } + }, + + // AM or PM + a: function (date, token, localize) { + const hours = date.getHours(); + const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; + + switch (token) { + case "a": + case "aa": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "aaa": + return localize + .dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }) + .toLowerCase(); + case "aaaaa": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "aaaa": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); + } + }, + + // AM, PM, midnight, noon + b: function (date, token, localize) { + const hours = date.getHours(); + let dayPeriodEnumValue; + if (hours === 12) { + dayPeriodEnumValue = dayPeriodEnum.noon; + } else if (hours === 0) { + dayPeriodEnumValue = dayPeriodEnum.midnight; + } else { + dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; + } + + switch (token) { + case "b": + case "bb": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "bbb": + return localize + .dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }) + .toLowerCase(); + case "bbbbb": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "bbbb": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); + } + }, + + // in the morning, in the afternoon, in the evening, at night + B: function (date, token, localize) { + const hours = date.getHours(); + let dayPeriodEnumValue; + if (hours >= 17) { + dayPeriodEnumValue = dayPeriodEnum.evening; + } else if (hours >= 12) { + dayPeriodEnumValue = dayPeriodEnum.afternoon; + } else if (hours >= 4) { + dayPeriodEnumValue = dayPeriodEnum.morning; + } else { + dayPeriodEnumValue = dayPeriodEnum.night; + } + + switch (token) { + case "B": + case "BB": + case "BBB": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "abbreviated", + context: "formatting", + }); + case "BBBBB": + return localize.dayPeriod(dayPeriodEnumValue, { + width: "narrow", + context: "formatting", + }); + case "BBBB": + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: "wide", + context: "formatting", + }); + } + }, + + // Hour [1-12] + h: function (date, token, localize) { + if (token === "ho") { + let hours = date.getHours() % 12; + if (hours === 0) hours = 12; + return localize.ordinalNumber(hours, { unit: "hour" }); + } + + return lightFormatters.h(date, token); + }, + + // Hour [0-23] + H: function (date, token, localize) { + if (token === "Ho") { + return localize.ordinalNumber(date.getHours(), { unit: "hour" }); + } + + return lightFormatters.H(date, token); + }, + + // Hour [0-11] + K: function (date, token, localize) { + const hours = date.getHours() % 12; + + if (token === "Ko") { + return localize.ordinalNumber(hours, { unit: "hour" }); + } + + return addLeadingZeros(hours, token.length); + }, + + // Hour [1-24] + k: function (date, token, localize) { + let hours = date.getHours(); + if (hours === 0) hours = 24; + + if (token === "ko") { + return localize.ordinalNumber(hours, { unit: "hour" }); + } + + return addLeadingZeros(hours, token.length); + }, + + // Minute + m: function (date, token, localize) { + if (token === "mo") { + return localize.ordinalNumber(date.getMinutes(), { unit: "minute" }); + } + + return lightFormatters.m(date, token); + }, + + // Second + s: function (date, token, localize) { + if (token === "so") { + return localize.ordinalNumber(date.getSeconds(), { unit: "second" }); + } + + return lightFormatters.s(date, token); + }, + + // Fraction of second + S: function (date, token) { + return lightFormatters.S(date, token); + }, + + // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) + X: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + if (timezoneOffset === 0) { + return "Z"; + } + + switch (token) { + // Hours and optional minutes + case "X": + return formatTimezoneWithOptionalMinutes(timezoneOffset); + + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XX` + case "XXXX": + case "XX": // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XXX` + case "XXXXX": + case "XXX": // Hours and minutes with `:` delimiter + default: + return formatTimezone(timezoneOffset, ":"); + } + }, + + // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) + x: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Hours and optional minutes + case "x": + return formatTimezoneWithOptionalMinutes(timezoneOffset); + + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xx` + case "xxxx": + case "xx": // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xxx` + case "xxxxx": + case "xxx": // Hours and minutes with `:` delimiter + default: + return formatTimezone(timezoneOffset, ":"); + } + }, + + // Timezone (GMT) + O: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Short + case "O": + case "OO": + case "OOO": + return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long + case "OOOO": + default: + return "GMT" + formatTimezone(timezoneOffset, ":"); + } + }, + + // Timezone (specific non-location) + z: function (date, token, _localize) { + const timezoneOffset = date.getTimezoneOffset(); + + switch (token) { + // Short + case "z": + case "zz": + case "zzz": + return "GMT" + formatTimezoneShort(timezoneOffset, ":"); + // Long + case "zzzz": + default: + return "GMT" + formatTimezone(timezoneOffset, ":"); + } + }, + + // Seconds timestamp + t: function (date, token, _localize) { + const timestamp = Math.trunc(+date / 1000); + return addLeadingZeros(timestamp, token.length); + }, + + // Milliseconds timestamp + T: function (date, token, _localize) { + return addLeadingZeros(+date, token.length); + }, +}; + +function formatTimezoneShort(offset, delimiter = "") { + const sign = offset > 0 ? "-" : "+"; + const absOffset = Math.abs(offset); + const hours = Math.trunc(absOffset / 60); + const minutes = absOffset % 60; + if (minutes === 0) { + return sign + String(hours); + } + return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2); +} + +function formatTimezoneWithOptionalMinutes(offset, delimiter) { + if (offset % 60 === 0) { + const sign = offset > 0 ? "-" : "+"; + return sign + addLeadingZeros(Math.abs(offset) / 60, 2); + } + return formatTimezone(offset, delimiter); +} + +function formatTimezone(offset, delimiter = "") { + const sign = offset > 0 ? "-" : "+"; + const absOffset = Math.abs(offset); + const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2); + const minutes = addLeadingZeros(absOffset % 60, 2); + return sign + hours + delimiter + minutes; +} diff --git a/.output/server/node_modules/date-fns/_lib/format/lightFormatters.js b/.output/server/node_modules/date-fns/_lib/format/lightFormatters.js new file mode 100644 index 00000000..c725ba58 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/format/lightFormatters.js @@ -0,0 +1,92 @@ +import { addLeadingZeros } from "../addLeadingZeros.js"; + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | | + * | d | Day of month | D | | + * | h | Hour [1-12] | H | Hour [0-23] | + * | m | Minute | M | Month | + * | s | Second | S | Fraction of second | + * | y | Year (abs) | Y | | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + */ + +export const lightFormatters = { + // Year + y(date, token) { + // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens + // | Year | y | yy | yyy | yyyy | yyyyy | + // |----------|-------|----|-------|-------|-------| + // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | + // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | + // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | + // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | + // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | + + const signedYear = date.getFullYear(); + // Returns 1 for 1 BC (which is year 0 in JavaScript) + const year = signedYear > 0 ? signedYear : 1 - signedYear; + return addLeadingZeros(token === "yy" ? year % 100 : year, token.length); + }, + + // Month + M(date, token) { + const month = date.getMonth(); + return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2); + }, + + // Day of the month + d(date, token) { + return addLeadingZeros(date.getDate(), token.length); + }, + + // AM or PM + a(date, token) { + const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am"; + + switch (token) { + case "a": + case "aa": + return dayPeriodEnumValue.toUpperCase(); + case "aaa": + return dayPeriodEnumValue; + case "aaaaa": + return dayPeriodEnumValue[0]; + case "aaaa": + default: + return dayPeriodEnumValue === "am" ? "a.m." : "p.m."; + } + }, + + // Hour [1-12] + h(date, token) { + return addLeadingZeros(date.getHours() % 12 || 12, token.length); + }, + + // Hour [0-23] + H(date, token) { + return addLeadingZeros(date.getHours(), token.length); + }, + + // Minute + m(date, token) { + return addLeadingZeros(date.getMinutes(), token.length); + }, + + // Second + s(date, token) { + return addLeadingZeros(date.getSeconds(), token.length); + }, + + // Fraction of second + S(date, token) { + const numberOfDigits = token.length; + const milliseconds = date.getMilliseconds(); + const fractionalSeconds = Math.trunc( + milliseconds * Math.pow(10, numberOfDigits - 3), + ); + return addLeadingZeros(fractionalSeconds, token.length); + }, +}; diff --git a/.output/server/node_modules/date-fns/_lib/format/longFormatters.js b/.output/server/node_modules/date-fns/_lib/format/longFormatters.js new file mode 100644 index 00000000..67c510ea --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/format/longFormatters.js @@ -0,0 +1,64 @@ +const dateLongFormatter = (pattern, formatLong) => { + switch (pattern) { + case "P": + return formatLong.date({ width: "short" }); + case "PP": + return formatLong.date({ width: "medium" }); + case "PPP": + return formatLong.date({ width: "long" }); + case "PPPP": + default: + return formatLong.date({ width: "full" }); + } +}; + +const timeLongFormatter = (pattern, formatLong) => { + switch (pattern) { + case "p": + return formatLong.time({ width: "short" }); + case "pp": + return formatLong.time({ width: "medium" }); + case "ppp": + return formatLong.time({ width: "long" }); + case "pppp": + default: + return formatLong.time({ width: "full" }); + } +}; + +const dateTimeLongFormatter = (pattern, formatLong) => { + const matchResult = pattern.match(/(P+)(p+)?/) || []; + const datePattern = matchResult[1]; + const timePattern = matchResult[2]; + + if (!timePattern) { + return dateLongFormatter(pattern, formatLong); + } + + let dateTimeFormat; + + switch (datePattern) { + case "P": + dateTimeFormat = formatLong.dateTime({ width: "short" }); + break; + case "PP": + dateTimeFormat = formatLong.dateTime({ width: "medium" }); + break; + case "PPP": + dateTimeFormat = formatLong.dateTime({ width: "long" }); + break; + case "PPPP": + default: + dateTimeFormat = formatLong.dateTime({ width: "full" }); + break; + } + + return dateTimeFormat + .replace("{{date}}", dateLongFormatter(datePattern, formatLong)) + .replace("{{time}}", timeLongFormatter(timePattern, formatLong)); +}; + +export const longFormatters = { + p: timeLongFormatter, + P: dateTimeLongFormatter, +}; diff --git a/.output/server/node_modules/date-fns/_lib/getRoundingMethod.js b/.output/server/node_modules/date-fns/_lib/getRoundingMethod.js new file mode 100644 index 00000000..8a8edac4 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/getRoundingMethod.js @@ -0,0 +1,8 @@ +export function getRoundingMethod(method) { + return (number) => { + const round = method ? Math[method] : Math.trunc; + const result = round(number); + // Prevent negative zero + return result === 0 ? 0 : result; + }; +} diff --git a/.output/server/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js b/.output/server/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js new file mode 100644 index 00000000..61ea9a15 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js @@ -0,0 +1,29 @@ +import { toDate } from "../toDate.js"; + +/** + * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. + * They usually appear for dates that denote time before the timezones were introduced + * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 + * and GMT+01:00:00 after that date) + * + * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, + * which would lead to incorrect calculations. + * + * This function returns the timezone offset in milliseconds that takes seconds in account. + */ +export function getTimezoneOffsetInMilliseconds(date) { + const _date = toDate(date); + const utcDate = new Date( + Date.UTC( + _date.getFullYear(), + _date.getMonth(), + _date.getDate(), + _date.getHours(), + _date.getMinutes(), + _date.getSeconds(), + _date.getMilliseconds(), + ), + ); + utcDate.setUTCFullYear(_date.getFullYear()); + return +date - +utcDate; +} diff --git a/.output/server/node_modules/date-fns/_lib/normalizeDates.js b/.output/server/node_modules/date-fns/_lib/normalizeDates.js new file mode 100644 index 00000000..879a21ee --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/normalizeDates.js @@ -0,0 +1,9 @@ +import { constructFrom } from "../constructFrom.js"; + +export function normalizeDates(context, ...dates) { + const normalize = constructFrom.bind( + null, + context || dates.find((date) => typeof date === "object"), + ); + return dates.map(normalize); +} diff --git a/.output/server/node_modules/date-fns/_lib/normalizeInterval.js b/.output/server/node_modules/date-fns/_lib/normalizeInterval.js new file mode 100644 index 00000000..6d236e74 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/normalizeInterval.js @@ -0,0 +1,6 @@ +import { normalizeDates } from "./normalizeDates.js"; + +export function normalizeInterval(context, interval) { + const [start, end] = normalizeDates(context, interval.start, interval.end); + return { start, end }; +} diff --git a/.output/server/node_modules/date-fns/_lib/protectedTokens.js b/.output/server/node_modules/date-fns/_lib/protectedTokens.js new file mode 100644 index 00000000..38a13fa4 --- /dev/null +++ b/.output/server/node_modules/date-fns/_lib/protectedTokens.js @@ -0,0 +1,23 @@ +const dayOfYearTokenRE = /^D+$/; +const weekYearTokenRE = /^Y+$/; + +const throwTokens = ["D", "DD", "YY", "YYYY"]; + +export function isProtectedDayOfYearToken(token) { + return dayOfYearTokenRE.test(token); +} + +export function isProtectedWeekYearToken(token) { + return weekYearTokenRE.test(token); +} + +export function warnOrThrowProtectedError(token, format, input) { + const _message = message(token, format, input); + console.warn(_message); + if (throwTokens.includes(token)) throw new RangeError(_message); +} + +function message(token, format, input) { + const subject = token[0] === "Y" ? "years" : "days of the month"; + return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`; +} diff --git a/.output/server/node_modules/date-fns/add.js b/.output/server/node_modules/date-fns/add.js new file mode 100644 index 00000000..7424ce04 --- /dev/null +++ b/.output/server/node_modules/date-fns/add.js @@ -0,0 +1,69 @@ +import { addDays } from "./addDays.js"; +import { addMonths } from "./addMonths.js"; +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link add} function options. + */ + +/** + * @name add + * @category Common Helpers + * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date. + * + * @description + * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date. + * + * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added. + * @param options - An object with options + * + * @returns The new date with the seconds added + * + * @example + * // Add the following duration to 1 September 2014, 10:19:50 + * const result = add(new Date(2014, 8, 1, 10, 19, 50), { + * years: 2, + * months: 9, + * weeks: 1, + * days: 7, + * hours: 5, + * minutes: 9, + * seconds: 30, + * }) + * //=> Thu Jun 15 2017 15:29:20 + */ +export function add(date, duration, options) { + const { + years = 0, + months = 0, + weeks = 0, + days = 0, + hours = 0, + minutes = 0, + seconds = 0, + } = duration; + + // Add years and months + const _date = toDate(date, options?.in); + const dateWithMonths = + months || years ? addMonths(_date, months + years * 12) : _date; + + // Add weeks and days + const dateWithDays = + days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths; + + // Add days, hours, minutes, and seconds + const minutesToAdd = minutes + hours * 60; + const secondsToAdd = seconds + minutesToAdd * 60; + const msToAdd = secondsToAdd * 1000; + + return constructFrom(options?.in || date, +dateWithDays + msToAdd); +} + +// Fallback for modularized imports: +export default add; diff --git a/.output/server/node_modules/date-fns/addBusinessDays.js b/.output/server/node_modules/date-fns/addBusinessDays.js new file mode 100644 index 00000000..6fb9a39c --- /dev/null +++ b/.output/server/node_modules/date-fns/addBusinessDays.js @@ -0,0 +1,73 @@ +import { constructFrom } from "./constructFrom.js"; +import { isSaturday } from "./isSaturday.js"; +import { isSunday } from "./isSunday.js"; +import { isWeekend } from "./isWeekend.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link addBusinessDays} function options. + */ + +/** + * @name addBusinessDays + * @category Day Helpers + * @summary Add the specified number of business days (mon - fri) to the given date. + * + * @description + * Add the specified number of business days (mon - fri) to the given date, ignoring weekends. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of business days to be added. + * @param options - An object with options + * + * @returns The new date with the business days added + * + * @example + * // Add 10 business days to 1 September 2014: + * const result = addBusinessDays(new Date(2014, 8, 1), 10) + * //=> Mon Sep 15 2014 00:00:00 (skipped weekend days) + */ +export function addBusinessDays(date, amount, options) { + const _date = toDate(date, options?.in); + const startedOnWeekend = isWeekend(_date, options); + + if (isNaN(amount)) return constructFrom(options?.in, NaN); + + const hours = _date.getHours(); + const sign = amount < 0 ? -1 : 1; + const fullWeeks = Math.trunc(amount / 5); + + _date.setDate(_date.getDate() + fullWeeks * 7); + + // Get remaining days not part of a full week + let restDays = Math.abs(amount % 5); + + // Loops over remaining days + while (restDays > 0) { + _date.setDate(_date.getDate() + sign); + if (!isWeekend(_date, options)) restDays -= 1; + } + + // If the date is a weekend day and we reduce a dividable of + // 5 from it, we land on a weekend date. + // To counter this, we add days accordingly to land on the next business day + if (startedOnWeekend && isWeekend(_date, options) && amount !== 0) { + // If we're reducing days, we want to add days until we land on a weekday + // If we're adding days we want to reduce days until we land on a weekday + if (isSaturday(_date, options)) + _date.setDate(_date.getDate() + (sign < 0 ? 2 : -1)); + if (isSunday(_date, options)) + _date.setDate(_date.getDate() + (sign < 0 ? 1 : -2)); + } + + // Restore hours to avoid DST lag + _date.setHours(hours); + + return _date; +} + +// Fallback for modularized imports: +export default addBusinessDays; diff --git a/.output/server/node_modules/date-fns/addDays.js b/.output/server/node_modules/date-fns/addDays.js new file mode 100644 index 00000000..4d1cafa3 --- /dev/null +++ b/.output/server/node_modules/date-fns/addDays.js @@ -0,0 +1,42 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link addDays} function options. + */ + +/** + * @name addDays + * @category Day Helpers + * @summary Add the specified number of days to the given date. + * + * @description + * Add the specified number of days to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of days to be added. + * @param options - An object with options + * + * @returns The new date with the days added + * + * @example + * // Add 10 days to 1 September 2014: + * const result = addDays(new Date(2014, 8, 1), 10) + * //=> Thu Sep 11 2014 00:00:00 + */ +export function addDays(date, amount, options) { + const _date = toDate(date, options?.in); + if (isNaN(amount)) return constructFrom(options?.in || date, NaN); + + // If 0 days, no-op to avoid changing times in the hour before end of DST + if (!amount) return _date; + + _date.setDate(_date.getDate() + amount); + return _date; +} + +// Fallback for modularized imports: +export default addDays; diff --git a/.output/server/node_modules/date-fns/addHours.js b/.output/server/node_modules/date-fns/addHours.js new file mode 100644 index 00000000..9d12ae79 --- /dev/null +++ b/.output/server/node_modules/date-fns/addHours.js @@ -0,0 +1,35 @@ +import { addMilliseconds } from "./addMilliseconds.js"; +import { millisecondsInHour } from "./constants.js"; + +/** + * The {@link addHours} function options. + */ + +/** + * @name addHours + * @category Hour Helpers + * @summary Add the specified number of hours to the given date. + * + * @description + * Add the specified number of hours to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of hours to be added + * @param options - An object with options + * + * @returns The new date with the hours added + * + * @example + * // Add 2 hours to 10 July 2014 23:00:00: + * const result = addHours(new Date(2014, 6, 10, 23, 0), 2) + * //=> Fri Jul 11 2014 01:00:00 + */ +export function addHours(date, amount, options) { + return addMilliseconds(date, amount * millisecondsInHour, options); +} + +// Fallback for modularized imports: +export default addHours; diff --git a/.output/server/node_modules/date-fns/addISOWeekYears.js b/.output/server/node_modules/date-fns/addISOWeekYears.js new file mode 100644 index 00000000..53f1f843 --- /dev/null +++ b/.output/server/node_modules/date-fns/addISOWeekYears.js @@ -0,0 +1,36 @@ +import { getISOWeekYear } from "./getISOWeekYear.js"; +import { setISOWeekYear } from "./setISOWeekYear.js"; + +/** + * The {@link addISOWeekYears} function options. + */ + +/** + * @name addISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Add the specified number of ISO week-numbering years to the given date. + * + * @description + * Add the specified number of ISO week-numbering years to the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * + * @param date - The date to be changed + * @param amount - The amount of ISO week-numbering years to be added. + * @param options - An object with options + * + * @returns The new date with the ISO week-numbering years added + * + * @example + * // Add 5 ISO week-numbering years to 2 July 2010: + * const result = addISOWeekYears(new Date(2010, 6, 2), 5) + * //=> Fri Jun 26 2015 00:00:00 + */ +export function addISOWeekYears(date, amount, options) { + return setISOWeekYear(date, getISOWeekYear(date, options) + amount, options); +} + +// Fallback for modularized imports: +export default addISOWeekYears; diff --git a/.output/server/node_modules/date-fns/addMilliseconds.js b/.output/server/node_modules/date-fns/addMilliseconds.js new file mode 100644 index 00000000..69717429 --- /dev/null +++ b/.output/server/node_modules/date-fns/addMilliseconds.js @@ -0,0 +1,35 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link addMilliseconds} function options. + */ + +/** + * @name addMilliseconds + * @category Millisecond Helpers + * @summary Add the specified number of milliseconds to the given date. + * + * @description + * Add the specified number of milliseconds to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of milliseconds to be added. + * @param options - The options object + * + * @returns The new date with the milliseconds added + * + * @example + * // Add 750 milliseconds to 10 July 2014 12:45:30.000: + * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:30.750 + */ +export function addMilliseconds(date, amount, options) { + return constructFrom(options?.in || date, +toDate(date) + amount); +} + +// Fallback for modularized imports: +export default addMilliseconds; diff --git a/.output/server/node_modules/date-fns/addMinutes.js b/.output/server/node_modules/date-fns/addMinutes.js new file mode 100644 index 00000000..3e21e9c9 --- /dev/null +++ b/.output/server/node_modules/date-fns/addMinutes.js @@ -0,0 +1,37 @@ +import { millisecondsInMinute } from "./constants.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link addMinutes} function options. + */ + +/** + * @name addMinutes + * @category Minute Helpers + * @summary Add the specified number of minutes to the given date. + * + * @description + * Add the specified number of minutes to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of minutes to be added. + * @param options - An object with options + * + * @returns The new date with the minutes added + * + * @example + * // Add 30 minutes to 10 July 2014 12:00:00: + * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 12:30:00 + */ +export function addMinutes(date, amount, options) { + const _date = toDate(date, options?.in); + _date.setTime(_date.getTime() + amount * millisecondsInMinute); + return _date; +} + +// Fallback for modularized imports: +export default addMinutes; diff --git a/.output/server/node_modules/date-fns/addMonths.js b/.output/server/node_modules/date-fns/addMonths.js new file mode 100644 index 00000000..a4eabae2 --- /dev/null +++ b/.output/server/node_modules/date-fns/addMonths.js @@ -0,0 +1,76 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link addMonths} function options. + */ + +/** + * @name addMonths + * @category Month Helpers + * @summary Add the specified number of months to the given date. + * + * @description + * Add the specified number of months to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of months to be added. + * @param options - The options object + * + * @returns The new date with the months added + * + * @example + * // Add 5 months to 1 September 2014: + * const result = addMonths(new Date(2014, 8, 1), 5) + * //=> Sun Feb 01 2015 00:00:00 + * + * // Add one month to 30 January 2023: + * const result = addMonths(new Date(2023, 0, 30), 1) + * //=> Tue Feb 28 2023 00:00:00 + */ +export function addMonths(date, amount, options) { + const _date = toDate(date, options?.in); + if (isNaN(amount)) return constructFrom(options?.in || date, NaN); + if (!amount) { + // If 0 months, no-op to avoid changing times in the hour before end of DST + return _date; + } + const dayOfMonth = _date.getDate(); + + // The JS Date object supports date math by accepting out-of-bounds values for + // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and + // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we + // want except that dates will wrap around the end of a month, meaning that + // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So + // we'll default to the end of the desired month by adding 1 to the desired + // month and using a date of 0 to back up one day to the end of the desired + // month. + const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime()); + endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0); + const daysInMonth = endOfDesiredMonth.getDate(); + if (dayOfMonth >= daysInMonth) { + // If we're already at the end of the month, then this is the correct date + // and we're done. + return endOfDesiredMonth; + } else { + // Otherwise, we now know that setting the original day-of-month value won't + // cause an overflow, so set the desired day-of-month. Note that we can't + // just set the date of `endOfDesiredMonth` because that object may have had + // its time changed in the unusual case where where a DST transition was on + // the last day of the month and its local time was in the hour skipped or + // repeated next to a DST transition. So we use `date` instead which is + // guaranteed to still have the original time. + _date.setFullYear( + endOfDesiredMonth.getFullYear(), + endOfDesiredMonth.getMonth(), + dayOfMonth, + ); + return _date; + } +} + +// Fallback for modularized imports: +export default addMonths; diff --git a/.output/server/node_modules/date-fns/addQuarters.js b/.output/server/node_modules/date-fns/addQuarters.js new file mode 100644 index 00000000..e6fe8b0b --- /dev/null +++ b/.output/server/node_modules/date-fns/addQuarters.js @@ -0,0 +1,34 @@ +import { addMonths } from "./addMonths.js"; + +/** + * The {@link addQuarters} function options. + */ + +/** + * @name addQuarters + * @category Quarter Helpers + * @summary Add the specified number of year quarters to the given date. + * + * @description + * Add the specified number of year quarters to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of quarters to be added. + * @param options - An object with options + * + * @returns The new date with the quarters added + * + * @example + * // Add 1 quarter to 1 September 2014: + * const result = addQuarters(new Date(2014, 8, 1), 1) + * //=; Mon Dec 01 2014 00:00:00 + */ +export function addQuarters(date, amount, options) { + return addMonths(date, amount * 3, options); +} + +// Fallback for modularized imports: +export default addQuarters; diff --git a/.output/server/node_modules/date-fns/addSeconds.js b/.output/server/node_modules/date-fns/addSeconds.js new file mode 100644 index 00000000..b97049f2 --- /dev/null +++ b/.output/server/node_modules/date-fns/addSeconds.js @@ -0,0 +1,34 @@ +import { addMilliseconds } from "./addMilliseconds.js"; + +/** + * The {@link addSeconds} function options. + */ + +/** + * @name addSeconds + * @category Second Helpers + * @summary Add the specified number of seconds to the given date. + * + * @description + * Add the specified number of seconds to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of seconds to be added. + * @param options - An object with options + * + * @returns The new date with the seconds added + * + * @example + * // Add 30 seconds to 10 July 2014 12:45:00: + * const result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:45:30 + */ +export function addSeconds(date, amount, options) { + return addMilliseconds(date, amount * 1000, options); +} + +// Fallback for modularized imports: +export default addSeconds; diff --git a/.output/server/node_modules/date-fns/addWeeks.js b/.output/server/node_modules/date-fns/addWeeks.js new file mode 100644 index 00000000..15a35b2a --- /dev/null +++ b/.output/server/node_modules/date-fns/addWeeks.js @@ -0,0 +1,34 @@ +import { addDays } from "./addDays.js"; + +/** + * The {@link addWeeks} function options. + */ + +/** + * @name addWeeks + * @category Week Helpers + * @summary Add the specified number of weeks to the given date. + * + * @description + * Add the specified number of weeks to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of weeks to be added. + * @param options - An object with options + * + * @returns The new date with the weeks added + * + * @example + * // Add 4 weeks to 1 September 2014: + * const result = addWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Sep 29 2014 00:00:00 + */ +export function addWeeks(date, amount, options) { + return addDays(date, amount * 7, options); +} + +// Fallback for modularized imports: +export default addWeeks; diff --git a/.output/server/node_modules/date-fns/addYears.js b/.output/server/node_modules/date-fns/addYears.js new file mode 100644 index 00000000..055bf825 --- /dev/null +++ b/.output/server/node_modules/date-fns/addYears.js @@ -0,0 +1,34 @@ +import { addMonths } from "./addMonths.js"; + +/** + * The {@link addYears} function options. + */ + +/** + * @name addYears + * @category Year Helpers + * @summary Add the specified number of years to the given date. + * + * @description + * Add the specified number of years to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type. + * + * @param date - The date to be changed + * @param amount - The amount of years to be added. + * @param options - The options + * + * @returns The new date with the years added + * + * @example + * // Add 5 years to 1 September 2014: + * const result = addYears(new Date(2014, 8, 1), 5) + * //=> Sun Sep 01 2019 00:00:00 + */ +export function addYears(date, amount, options) { + return addMonths(date, amount * 12, options); +} + +// Fallback for modularized imports: +export default addYears; diff --git a/.output/server/node_modules/date-fns/areIntervalsOverlapping.js b/.output/server/node_modules/date-fns/areIntervalsOverlapping.js new file mode 100644 index 00000000..63ddae89 --- /dev/null +++ b/.output/server/node_modules/date-fns/areIntervalsOverlapping.js @@ -0,0 +1,71 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link areIntervalsOverlapping} function options. + */ + +/** + * @name areIntervalsOverlapping + * @category Interval Helpers + * @summary Is the given time interval overlapping with another time interval? + * + * @description + * Is the given time interval overlapping with another time interval? Adjacent intervals do not count as overlapping unless `inclusive` is set to `true`. + * + * @param intervalLeft - The first interval to compare. + * @param intervalRight - The second interval to compare. + * @param options - The object with options + * + * @returns Whether the time intervals are overlapping + * + * @example + * // For overlapping time intervals: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * //=> true + * + * @example + * // For non-overlapping time intervals: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } + * ) + * //=> false + * + * @example + * // For adjacent time intervals: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 30) } + * ) + * //=> false + * + * @example + * // Using the inclusive option: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) }, + * { inclusive: true } + * ) + * //=> true + */ +export function areIntervalsOverlapping(intervalLeft, intervalRight, options) { + const [leftStartTime, leftEndTime] = [ + +toDate(intervalLeft.start, options?.in), + +toDate(intervalLeft.end, options?.in), + ].sort((a, b) => a - b); + const [rightStartTime, rightEndTime] = [ + +toDate(intervalRight.start, options?.in), + +toDate(intervalRight.end, options?.in), + ].sort((a, b) => a - b); + + if (options?.inclusive) + return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime; + + return leftStartTime < rightEndTime && rightStartTime < leftEndTime; +} + +// Fallback for modularized imports: +export default areIntervalsOverlapping; diff --git a/.output/server/node_modules/date-fns/clamp.js b/.output/server/node_modules/date-fns/clamp.js new file mode 100644 index 00000000..2628d3c9 --- /dev/null +++ b/.output/server/node_modules/date-fns/clamp.js @@ -0,0 +1,59 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { max } from "./max.js"; +import { min } from "./min.js"; + +/** + * The {@link clamp} function options. + */ + +/** + * The {@link clamp} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name clamp + * @category Interval Helpers + * @summary Return a date bounded by the start and the end of the given interval. + * + * @description + * Clamps a date to the lower bound with the start of the interval and the upper + * bound with the end of the interval. + * + * - When the date is less than the start of the interval, the start is returned. + * - When the date is greater than the end of the interval, the end is returned. + * - Otherwise the date is returned. + * + * @typeParam DateType - Date argument type. + * @typeParam IntervalType - Interval argument type. + * @typeParam Options - Options type. + * + * @param date - The date to be bounded + * @param interval - The interval to bound to + * @param options - An object with options + * + * @returns The date bounded by the start and the end of the interval + * + * @example + * // What is Mar 21, 2021 bounded to an interval starting at Mar 22, 2021 and ending at Apr 01, 2021 + * const result = clamp(new Date(2021, 2, 21), { + * start: new Date(2021, 2, 22), + * end: new Date(2021, 3, 1), + * }) + * //=> Mon Mar 22 2021 00:00:00 + */ +export function clamp(date, interval, options) { + const [date_, start, end] = normalizeDates( + options?.in, + date, + interval.start, + interval.end, + ); + + return min([max([date_, start], options), end], options); +} + +// Fallback for modularized imports: +export default clamp; diff --git a/.output/server/node_modules/date-fns/closestIndexTo.js b/.output/server/node_modules/date-fns/closestIndexTo.js new file mode 100644 index 00000000..db40674d --- /dev/null +++ b/.output/server/node_modules/date-fns/closestIndexTo.js @@ -0,0 +1,57 @@ +import { toDate } from "./toDate.js"; + +/** + * @name closestIndexTo + * @category Common Helpers + * @summary Return an index of the closest date from the array comparing to the given date. + * + * @description + * Return an index of the closest date from the array comparing to the given date. + * + * @param dateToCompare - The date to compare with + * @param dates - The array to search + * + * @returns An index of the date closest to the given date or undefined if no valid value is given + * + * @example + * // Which date is closer to 6 September 2015? + * const dateToCompare = new Date(2015, 8, 6) + * const datesArray = [ + * new Date(2015, 0, 1), + * new Date(2016, 0, 1), + * new Date(2017, 0, 1) + * ] + * const result = closestIndexTo(dateToCompare, datesArray) + * //=> 1 + */ +export function closestIndexTo(dateToCompare, dates) { + // [TODO] It would be better to return -1 here rather than undefined, as this + // is how JS behaves, but it would be a breaking change, so we need + // to consider it for v4. + const timeToCompare = +toDate(dateToCompare); + + if (isNaN(timeToCompare)) return NaN; + + let result; + let minDistance; + dates.forEach((date, index) => { + const date_ = toDate(date); + + if (isNaN(+date_)) { + result = NaN; + minDistance = NaN; + return; + } + + const distance = Math.abs(timeToCompare - +date_); + if (result == null || distance < minDistance) { + result = index; + minDistance = distance; + } + }); + + return result; +} + +// Fallback for modularized imports: +export default closestIndexTo; diff --git a/.output/server/node_modules/date-fns/closestTo.js b/.output/server/node_modules/date-fns/closestTo.js new file mode 100644 index 00000000..677b9311 --- /dev/null +++ b/.output/server/node_modules/date-fns/closestTo.js @@ -0,0 +1,58 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { closestIndexTo } from "./closestIndexTo.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link closestTo} function options. + */ + +/** + * The {@link closestTo} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name closestTo + * @category Common Helpers + * @summary Return a date from the array closest to the given date. + * + * @description + * Return a date from the array closest to the given date. + * + * @typeParam DateToCompare - Date to compare argument type. + * @typeParam DatesType - Dates array argument type. + * @typeParam Options - Options type. + * + * @param dateToCompare - The date to compare with + * @param dates - The array to search + * + * @returns The date from the array closest to the given date or undefined if no valid value is given + * + * @example + * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030? + * const dateToCompare = new Date(2015, 8, 6) + * const result = closestTo(dateToCompare, [ + * new Date(2000, 0, 1), + * new Date(2030, 0, 1) + * ]) + * //=> Tue Jan 01 2030 00:00:00 + */ +export function closestTo(dateToCompare, dates, options) { + const [dateToCompare_, ...dates_] = normalizeDates( + options?.in, + dateToCompare, + ...dates, + ); + + const index = closestIndexTo(dateToCompare_, dates_); + + if (typeof index === "number" && isNaN(index)) + return constructFrom(dateToCompare_, NaN); + + if (index !== undefined) return dates_[index]; +} + +// Fallback for modularized imports: +export default closestTo; diff --git a/.output/server/node_modules/date-fns/compareAsc.js b/.output/server/node_modules/date-fns/compareAsc.js new file mode 100644 index 00000000..29f7a958 --- /dev/null +++ b/.output/server/node_modules/date-fns/compareAsc.js @@ -0,0 +1,46 @@ +import { toDate } from "./toDate.js"; + +/** + * @name compareAsc + * @category Common Helpers + * @summary Compare the two dates and return -1, 0 or 1. + * + * @description + * Compare the two dates and return 1 if the first date is after the second, + * -1 if the first date is before the second or 0 if dates are equal. + * + * @param dateLeft - The first date to compare + * @param dateRight - The second date to compare + * + * @returns The result of the comparison + * + * @example + * // Compare 11 February 1987 and 10 July 1989: + * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10)) + * //=> -1 + * + * @example + * // Sort the array of dates: + * const result = [ + * new Date(1995, 6, 2), + * new Date(1987, 1, 11), + * new Date(1989, 6, 10) + * ].sort(compareAsc) + * //=> [ + * // Wed Feb 11 1987 00:00:00, + * // Mon Jul 10 1989 00:00:00, + * // Sun Jul 02 1995 00:00:00 + * // ] + */ +export function compareAsc(dateLeft, dateRight) { + const diff = +toDate(dateLeft) - +toDate(dateRight); + + if (diff < 0) return -1; + else if (diff > 0) return 1; + + // Return 0 if diff is 0; return NaN if diff is NaN + return diff; +} + +// Fallback for modularized imports: +export default compareAsc; diff --git a/.output/server/node_modules/date-fns/compareDesc.js b/.output/server/node_modules/date-fns/compareDesc.js new file mode 100644 index 00000000..4446bb46 --- /dev/null +++ b/.output/server/node_modules/date-fns/compareDesc.js @@ -0,0 +1,46 @@ +import { toDate } from "./toDate.js"; + +/** + * @name compareDesc + * @category Common Helpers + * @summary Compare the two dates reverse chronologically and return -1, 0 or 1. + * + * @description + * Compare the two dates and return -1 if the first date is after the second, + * 1 if the first date is before the second or 0 if dates are equal. + * + * @param dateLeft - The first date to compare + * @param dateRight - The second date to compare + * + * @returns The result of the comparison + * + * @example + * // Compare 11 February 1987 and 10 July 1989 reverse chronologically: + * const result = compareDesc(new Date(1987, 1, 11), new Date(1989, 6, 10)) + * //=> 1 + * + * @example + * // Sort the array of dates in reverse chronological order: + * const result = [ + * new Date(1995, 6, 2), + * new Date(1987, 1, 11), + * new Date(1989, 6, 10) + * ].sort(compareDesc) + * //=> [ + * // Sun Jul 02 1995 00:00:00, + * // Mon Jul 10 1989 00:00:00, + * // Wed Feb 11 1987 00:00:00 + * // ] + */ +export function compareDesc(dateLeft, dateRight) { + const diff = +toDate(dateLeft) - +toDate(dateRight); + + if (diff > 0) return -1; + else if (diff < 0) return 1; + + // Return 0 if diff is 0; return NaN if diff is NaN + return diff; +} + +// Fallback for modularized imports: +export default compareDesc; diff --git a/.output/server/node_modules/date-fns/constants.js b/.output/server/node_modules/date-fns/constants.js new file mode 100644 index 00000000..80e06d97 --- /dev/null +++ b/.output/server/node_modules/date-fns/constants.js @@ -0,0 +1,216 @@ +/** + * @module constants + * @summary Useful constants + * @description + * Collection of useful date constants. + * + * The constants could be imported from `date-fns/constants`: + * + * ```ts + * import { maxTime, minTime } from "./constants/date-fns/constants"; + * + * function isAllowedTime(time) { + * return time <= maxTime && time >= minTime; + * } + * ``` + */ + +/** + * @constant + * @name daysInWeek + * @summary Days in 1 week. + */ +export const daysInWeek = 7; + +/** + * @constant + * @name daysInYear + * @summary Days in 1 year. + * + * @description + * How many days in a year. + * + * One years equals 365.2425 days according to the formula: + * + * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400. + * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days + */ +export const daysInYear = 365.2425; + +/** + * @constant + * @name maxTime + * @summary Maximum allowed time. + * + * @example + * import { maxTime } from "./constants/date-fns/constants"; + * + * const isValid = 8640000000000001 <= maxTime; + * //=> false + * + * new Date(8640000000000001); + * //=> Invalid Date + */ +export const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000; + +/** + * @constant + * @name minTime + * @summary Minimum allowed time. + * + * @example + * import { minTime } from "./constants/date-fns/constants"; + * + * const isValid = -8640000000000001 >= minTime; + * //=> false + * + * new Date(-8640000000000001) + * //=> Invalid Date + */ +export const minTime = -maxTime; + +/** + * @constant + * @name millisecondsInWeek + * @summary Milliseconds in 1 week. + */ +export const millisecondsInWeek = 604800000; + +/** + * @constant + * @name millisecondsInDay + * @summary Milliseconds in 1 day. + */ +export const millisecondsInDay = 86400000; + +/** + * @constant + * @name millisecondsInMinute + * @summary Milliseconds in 1 minute + */ +export const millisecondsInMinute = 60000; + +/** + * @constant + * @name millisecondsInHour + * @summary Milliseconds in 1 hour + */ +export const millisecondsInHour = 3600000; + +/** + * @constant + * @name millisecondsInSecond + * @summary Milliseconds in 1 second + */ +export const millisecondsInSecond = 1000; + +/** + * @constant + * @name minutesInYear + * @summary Minutes in 1 year. + */ +export const minutesInYear = 525600; + +/** + * @constant + * @name minutesInMonth + * @summary Minutes in 1 month. + */ +export const minutesInMonth = 43200; + +/** + * @constant + * @name minutesInDay + * @summary Minutes in 1 day. + */ +export const minutesInDay = 1440; + +/** + * @constant + * @name minutesInHour + * @summary Minutes in 1 hour. + */ +export const minutesInHour = 60; + +/** + * @constant + * @name monthsInQuarter + * @summary Months in 1 quarter. + */ +export const monthsInQuarter = 3; + +/** + * @constant + * @name monthsInYear + * @summary Months in 1 year. + */ +export const monthsInYear = 12; + +/** + * @constant + * @name quartersInYear + * @summary Quarters in 1 year + */ +export const quartersInYear = 4; + +/** + * @constant + * @name secondsInHour + * @summary Seconds in 1 hour. + */ +export const secondsInHour = 3600; + +/** + * @constant + * @name secondsInMinute + * @summary Seconds in 1 minute. + */ +export const secondsInMinute = 60; + +/** + * @constant + * @name secondsInDay + * @summary Seconds in 1 day. + */ +export const secondsInDay = secondsInHour * 24; + +/** + * @constant + * @name secondsInWeek + * @summary Seconds in 1 week. + */ +export const secondsInWeek = secondsInDay * 7; + +/** + * @constant + * @name secondsInYear + * @summary Seconds in 1 year. + */ +export const secondsInYear = secondsInDay * daysInYear; + +/** + * @constant + * @name secondsInMonth + * @summary Seconds in 1 month + */ +export const secondsInMonth = secondsInYear / 12; + +/** + * @constant + * @name secondsInQuarter + * @summary Seconds in 1 quarter. + */ +export const secondsInQuarter = secondsInMonth * 3; + +/** + * @constant + * @name constructFromSymbol + * @summary Symbol enabling Date extensions to inherit properties from the reference date. + * + * The symbol is used to enable the `constructFrom` function to construct a date + * using a reference date and a value. It allows to transfer extra properties + * from the reference date to the new date. It's useful for extensions like + * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as + * a constructor argument. + */ +export const constructFromSymbol = Symbol.for("constructDateFrom"); diff --git a/.output/server/node_modules/date-fns/constructFrom.js b/.output/server/node_modules/date-fns/constructFrom.js new file mode 100644 index 00000000..4b8bcfda --- /dev/null +++ b/.output/server/node_modules/date-fns/constructFrom.js @@ -0,0 +1,50 @@ +import { constructFromSymbol } from "./constants.js"; + +/** + * @name constructFrom + * @category Generic Helpers + * @summary Constructs a date using the reference date and the value + * + * @description + * The function constructs a new date using the constructor from the reference + * date and the given value. It helps to build generic functions that accept + * date extensions. + * + * It defaults to `Date` if the passed reference date is a number or a string. + * + * Starting from v3.7.0, it allows to construct a date using `[Symbol.for("constructDateFrom")]` + * enabling to transfer extra properties from the reference date to the new date. + * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) + * that accept a time zone as a constructor argument. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * + * @param date - The reference date to take constructor from + * @param value - The value to create the date + * + * @returns Date initialized using the given date and value + * + * @example + * import { constructFrom } from "./constructFrom/date-fns"; + * + * // A function that clones a date preserving the original type + * function cloneDate<DateType extends Date>(date: DateType): DateType { + * return constructFrom( + * date, // Use constructor from the given date + * date.getTime() // Use the date value to create a new date + * ); + * } + */ +export function constructFrom(date, value) { + if (typeof date === "function") return date(value); + + if (date && typeof date === "object" && constructFromSymbol in date) + return date[constructFromSymbol](value); + + if (date instanceof Date) return new date.constructor(value); + + return new Date(value); +} + +// Fallback for modularized imports: +export default constructFrom; diff --git a/.output/server/node_modules/date-fns/constructNow.js b/.output/server/node_modules/date-fns/constructNow.js new file mode 100644 index 00000000..56b9c400 --- /dev/null +++ b/.output/server/node_modules/date-fns/constructNow.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; + +/** + * @name constructNow + * @category Generic Helpers + * @summary Constructs a new current date using the passed value constructor. + * @pure false + * + * @description + * The function constructs a new current date using the constructor from + * the reference date. It helps to build generic functions that accept date + * extensions and use the current date. + * + * It defaults to `Date` if the passed reference date is a number or a string. + * + * @param date - The reference date to take constructor from + * + * @returns Current date initialized using the given date constructor + * + * @example + * import { constructNow, isSameDay } from 'date-fns' + * + * function isToday<DateType extends Date>( + * date: DateArg<DateType>, + * ): boolean { + * // If we were to use `new Date()` directly, the function would behave + * // differently in different timezones and return false for the same date. + * return isSameDay(date, constructNow(date)); + * } + */ +export function constructNow(date) { + return constructFrom(date, Date.now()); +} + +// Fallback for modularized imports: +export default constructNow; diff --git a/.output/server/node_modules/date-fns/daysToWeeks.js b/.output/server/node_modules/date-fns/daysToWeeks.js new file mode 100644 index 00000000..5720c4a7 --- /dev/null +++ b/.output/server/node_modules/date-fns/daysToWeeks.js @@ -0,0 +1,32 @@ +import { daysInWeek } from "./constants.js"; + +/** + * @name daysToWeeks + * @category Conversion Helpers + * @summary Convert days to weeks. + * + * @description + * Convert a number of days to a full number of weeks. + * + * @param days - The number of days to be converted + * + * @returns The number of days converted in weeks + * + * @example + * // Convert 14 days to weeks: + * const result = daysToWeeks(14) + * //=> 2 + * + * @example + * // It uses trunc rounding: + * const result = daysToWeeks(13) + * //=> 1 + */ +export function daysToWeeks(days) { + const result = Math.trunc(days / daysInWeek); + // Prevent negative zero + return result === 0 ? 0 : result; +} + +// Fallback for modularized imports: +export default daysToWeeks; diff --git a/.output/server/node_modules/date-fns/differenceInBusinessDays.js b/.output/server/node_modules/date-fns/differenceInBusinessDays.js new file mode 100644 index 00000000..ff062111 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInBusinessDays.js @@ -0,0 +1,90 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { addDays } from "./addDays.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { isSameDay } from "./isSameDay.js"; +import { isValid } from "./isValid.js"; +import { isWeekend } from "./isWeekend.js"; + +/** + * The {@link differenceInBusinessDays} function options. + */ + +/** + * @name differenceInBusinessDays + * @category Day Helpers + * @summary Get the number of business days between the given dates. + * + * @description + * Get the number of business day periods between the given dates. + * Business days being days that aren't in the weekend. + * Like `differenceInCalendarDays`, the function removes the times from + * the dates before calculating the difference. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of business days + * + * @example + * // How many business days are between + * // 10 January 2014 and 20 July 2014? + * const result = differenceInBusinessDays( + * new Date(2014, 6, 20), + * new Date(2014, 0, 10) + * ) + * //=> 136 + * + * // How many business days are between + * // 30 November 2021 and 1 November 2021? + * const result = differenceInBusinessDays( + * new Date(2021, 10, 30), + * new Date(2021, 10, 1) + * ) + * //=> 21 + * + * // How many business days are between + * // 1 November 2021 and 1 December 2021? + * const result = differenceInBusinessDays( + * new Date(2021, 10, 1), + * new Date(2021, 11, 1) + * ) + * //=> -22 + * + * // How many business days are between + * // 1 November 2021 and 1 November 2021 ? + * const result = differenceInBusinessDays( + * new Date(2021, 10, 1), + * new Date(2021, 10, 1) + * ) + * //=> 0 + */ +export function differenceInBusinessDays(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + if (!isValid(laterDate_) || !isValid(earlierDate_)) return NaN; + + const diff = differenceInCalendarDays(laterDate_, earlierDate_); + const sign = diff < 0 ? -1 : 1; + const weeks = Math.trunc(diff / 7); + + let result = weeks * 5; + let movingDate = addDays(earlierDate_, weeks * 7); + + // the loop below will run at most 6 times to account for the remaining days that don't makeup a full week + while (!isSameDay(laterDate_, movingDate)) { + // sign is used to account for both negative and positive differences + result += isWeekend(movingDate, options) ? 0 : sign; + movingDate = addDays(movingDate, sign); + } + + // Prevent negative zero + return result === 0 ? 0 : result; +} + +// Fallback for modularized imports: +export default differenceInBusinessDays; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarDays.js b/.output/server/node_modules/date-fns/differenceInCalendarDays.js new file mode 100644 index 00000000..34982882 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarDays.js @@ -0,0 +1,63 @@ +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { millisecondsInDay } from "./constants.js"; +import { startOfDay } from "./startOfDay.js"; + +/** + * The {@link differenceInCalendarDays} function options. + */ + +/** + * @name differenceInCalendarDays + * @category Day Helpers + * @summary Get the number of calendar days between the given dates. + * + * @description + * Get the number of calendar days between the given dates. This means that the times are removed + * from the dates and then the difference in days is calculated. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - The options object + * + * @returns The number of calendar days + * + * @example + * // How many calendar days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * const result = differenceInCalendarDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 366 + * // How many calendar days are between + * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? + * const result = differenceInCalendarDays( + * new Date(2011, 6, 3, 0, 1), + * new Date(2011, 6, 2, 23, 59) + * ) + * //=> 1 + */ +export function differenceInCalendarDays(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const laterStartOfDay = startOfDay(laterDate_); + const earlierStartOfDay = startOfDay(earlierDate_); + + const laterTimestamp = + +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay); + const earlierTimestamp = + +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay); + + // Round the number of days to the nearest integer because the number of + // milliseconds in a day is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay); +} + +// Fallback for modularized imports: +export default differenceInCalendarDays; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarISOWeekYears.js b/.output/server/node_modules/date-fns/differenceInCalendarISOWeekYears.js new file mode 100644 index 00000000..cb119f52 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarISOWeekYears.js @@ -0,0 +1,48 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { getISOWeekYear } from "./getISOWeekYear.js"; + +/** + * The {@link differenceInCalendarISOWeekYears} function options. + */ + +/** + * @name differenceInCalendarISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of calendar ISO week-numbering years between the given dates. + * + * @description + * Get the number of calendar ISO week-numbering years between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of calendar ISO week-numbering years + * + * @example + * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012? + * const result = differenceInCalendarISOWeekYears( + * new Date(2012, 0, 1), + * new Date(2010, 0, 1) + * ) + * //=> 2 + */ +export function differenceInCalendarISOWeekYears( + laterDate, + earlierDate, + options, +) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return ( + getISOWeekYear(laterDate_, options) - getISOWeekYear(earlierDate_, options) + ); +} + +// Fallback for modularized imports: +export default differenceInCalendarISOWeekYears; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarISOWeeks.js b/.output/server/node_modules/date-fns/differenceInCalendarISOWeeks.js new file mode 100644 index 00000000..37086af9 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarISOWeeks.js @@ -0,0 +1,56 @@ +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { millisecondsInWeek } from "./constants.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; + +/** + * The {@link differenceInCalendarISOWeeks} function options. + */ + +/** + * @name differenceInCalendarISOWeeks + * @category ISO Week Helpers + * @summary Get the number of calendar ISO weeks between the given dates. + * + * @description + * Get the number of calendar ISO weeks between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of calendar ISO weeks + * + * @example + * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014? + * const result = differenceInCalendarISOWeeks( + * new Date(2014, 6, 21), + * new Date(2014, 6, 6), + * ); + * //=> 3 + */ +export function differenceInCalendarISOWeeks(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const startOfISOWeekLeft = startOfISOWeek(laterDate_); + const startOfISOWeekRight = startOfISOWeek(earlierDate_); + + const timestampLeft = + +startOfISOWeekLeft - getTimezoneOffsetInMilliseconds(startOfISOWeekLeft); + const timestampRight = + +startOfISOWeekRight - getTimezoneOffsetInMilliseconds(startOfISOWeekRight); + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round((timestampLeft - timestampRight) / millisecondsInWeek); +} + +// Fallback for modularized imports: +export default differenceInCalendarISOWeeks; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarMonths.js b/.output/server/node_modules/date-fns/differenceInCalendarMonths.js new file mode 100644 index 00000000..8db00241 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarMonths.js @@ -0,0 +1,43 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link differenceInCalendarMonths} function options. + */ + +/** + * @name differenceInCalendarMonths + * @category Month Helpers + * @summary Get the number of calendar months between the given dates. + * + * @description + * Get the number of calendar months between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of calendar months + * + * @example + * // How many calendar months are between 31 January 2014 and 1 September 2014? + * const result = differenceInCalendarMonths( + * new Date(2014, 8, 1), + * new Date(2014, 0, 31) + * ) + * //=> 8 + */ +export function differenceInCalendarMonths(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear(); + const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth(); + + return yearsDiff * 12 + monthsDiff; +} + +// Fallback for modularized imports: +export default differenceInCalendarMonths; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarQuarters.js b/.output/server/node_modules/date-fns/differenceInCalendarQuarters.js new file mode 100644 index 00000000..66095a32 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarQuarters.js @@ -0,0 +1,44 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { getQuarter } from "./getQuarter.js"; + +/** + * The {@link differenceInCalendarQuarters} function options. + */ + +/** + * @name differenceInCalendarQuarters + * @category Quarter Helpers + * @summary Get the number of calendar quarters between the given dates. + * + * @description + * Get the number of calendar quarters between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of calendar quarters + * + * @example + * // How many calendar quarters are between 31 December 2013 and 2 July 2014? + * const result = differenceInCalendarQuarters( + * new Date(2014, 6, 2), + * new Date(2013, 11, 31) + * ) + * //=> 3 + */ +export function differenceInCalendarQuarters(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear(); + const quartersDiff = getQuarter(laterDate_) - getQuarter(earlierDate_); + + return yearsDiff * 4 + quartersDiff; +} + +// Fallback for modularized imports: +export default differenceInCalendarQuarters; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarWeeks.js b/.output/server/node_modules/date-fns/differenceInCalendarWeeks.js new file mode 100644 index 00000000..1518f42a --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarWeeks.js @@ -0,0 +1,61 @@ +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { millisecondsInWeek } from "./constants.js"; +import { startOfWeek } from "./startOfWeek.js"; + +/** + * The {@link differenceInCalendarWeeks} function options. + */ + +/** + * @name differenceInCalendarWeeks + * @category Week Helpers + * @summary Get the number of calendar weeks between the given dates. + * + * @description + * Get the number of calendar weeks between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options. + * + * @returns The number of calendar weeks + * + * @example + * // How many calendar weeks are between 5 July 2014 and 20 July 2014? + * const result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5) + * ) + * //=> 3 + * + * @example + * // If the week starts on Monday, + * // how many calendar weeks are between 5 July 2014 and 20 July 2014? + * const result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5), + * { weekStartsOn: 1 } + * ) + * //=> 2 + */ +export function differenceInCalendarWeeks(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const laterStartOfWeek = startOfWeek(laterDate_, options); + const earlierStartOfWeek = startOfWeek(earlierDate_, options); + + const laterTimestamp = + +laterStartOfWeek - getTimezoneOffsetInMilliseconds(laterStartOfWeek); + const earlierTimestamp = + +earlierStartOfWeek - getTimezoneOffsetInMilliseconds(earlierStartOfWeek); + + return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInWeek); +} + +// Fallback for modularized imports: +export default differenceInCalendarWeeks; diff --git a/.output/server/node_modules/date-fns/differenceInCalendarYears.js b/.output/server/node_modules/date-fns/differenceInCalendarYears.js new file mode 100644 index 00000000..3370d6e6 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInCalendarYears.js @@ -0,0 +1,39 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link differenceInCalendarYears} function options. + */ + +/** + * @name differenceInCalendarYears + * @category Year Helpers + * @summary Get the number of calendar years between the given dates. + * + * @description + * Get the number of calendar years between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + + * @returns The number of calendar years + * + * @example + * // How many calendar years are between 31 December 2013 and 11 February 2015? + * const result = differenceInCalendarYears( + * new Date(2015, 1, 11), + * new Date(2013, 11, 31) + * ); + * //=> 2 + */ +export function differenceInCalendarYears(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return laterDate_.getFullYear() - earlierDate_.getFullYear(); +} + +// Fallback for modularized imports: +export default differenceInCalendarYears; diff --git a/.output/server/node_modules/date-fns/differenceInDays.js b/.output/server/node_modules/date-fns/differenceInDays.js new file mode 100644 index 00000000..8d2ce6ca --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInDays.js @@ -0,0 +1,108 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; + +/** + * The {@link differenceInDays} function options. + */ + +/** + * @name differenceInDays + * @category Day Helpers + * @summary Get the number of full days between the given dates. + * + * @description + * Get the number of full day periods between two dates. Fractional days are + * truncated towards zero. + * + * One "full day" is the distance between a local time in one day to the same + * local time on the next or previous day. A full day can sometimes be less than + * or more than 24 hours if a daylight savings change happens between two dates. + * + * To ignore DST and only measure exact 24-hour periods, use this instead: + * `Math.trunc(differenceInHours(dateLeft, dateRight)/24)|0`. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of full days according to the local timezone + * + * @example + * // How many full days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * const result = differenceInDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 365 + * + * @example + * // How many full days are between + * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? + * const result = differenceInDays( + * new Date(2011, 6, 3, 0, 1), + * new Date(2011, 6, 2, 23, 59) + * ) + * //=> 0 + * + * @example + * // How many full days are between + * // 1 March 2020 0:00 and 1 June 2020 0:00 ? + * // Note: because local time is used, the + * // result will always be 92 days, even in + * // time zones where DST starts and the + * // period has only 92*24-1 hours. + * const result = differenceInDays( + * new Date(2020, 5, 1), + * new Date(2020, 2, 1) + * ) + * //=> 92 + */ +export function differenceInDays(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const sign = compareLocalAsc(laterDate_, earlierDate_); + const difference = Math.abs( + differenceInCalendarDays(laterDate_, earlierDate_), + ); + + laterDate_.setDate(laterDate_.getDate() - sign * difference); + + // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full + // If so, result must be decreased by 1 in absolute value + const isLastDayNotFull = Number( + compareLocalAsc(laterDate_, earlierDate_) === -sign, + ); + + const result = sign * (difference - isLastDayNotFull); + // Prevent negative zero + return result === 0 ? 0 : result; +} + +// Like `compareAsc` but uses local time not UTC, which is needed +// for accurate equality comparisons of UTC timestamps that end up +// having the same representation in local time, e.g. one hour before +// DST ends vs. the instant that DST ends. +function compareLocalAsc(laterDate, earlierDate) { + const diff = + laterDate.getFullYear() - earlierDate.getFullYear() || + laterDate.getMonth() - earlierDate.getMonth() || + laterDate.getDate() - earlierDate.getDate() || + laterDate.getHours() - earlierDate.getHours() || + laterDate.getMinutes() - earlierDate.getMinutes() || + laterDate.getSeconds() - earlierDate.getSeconds() || + laterDate.getMilliseconds() - earlierDate.getMilliseconds(); + + if (diff < 0) return -1; + if (diff > 0) return 1; + + // Return 0 if diff is 0; return NaN if diff is NaN + return diff; +} + +// Fallback for modularized imports: +export default differenceInDays; diff --git a/.output/server/node_modules/date-fns/differenceInHours.js b/.output/server/node_modules/date-fns/differenceInHours.js new file mode 100644 index 00000000..e5d85bed --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInHours.js @@ -0,0 +1,42 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { millisecondsInHour } from "./constants.js"; + +/** + * The {@link differenceInHours} function options. + */ + +/** + * @name differenceInHours + * @category Hour Helpers + * @summary Get the number of hours between the given dates. + * + * @description + * Get the number of hours between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options. + * + * @returns The number of hours + * + * @example + * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00? + * const result = differenceInHours( + * new Date(2014, 6, 2, 19, 0), + * new Date(2014, 6, 2, 6, 50) + * ) + * //=> 12 + */ +export function differenceInHours(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + const diff = (+laterDate_ - +earlierDate_) / millisecondsInHour; + return getRoundingMethod(options?.roundingMethod)(diff); +} + +// Fallback for modularized imports: +export default differenceInHours; diff --git a/.output/server/node_modules/date-fns/differenceInISOWeekYears.js b/.output/server/node_modules/date-fns/differenceInISOWeekYears.js new file mode 100644 index 00000000..bf9e371d --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInISOWeekYears.js @@ -0,0 +1,58 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { compareAsc } from "./compareAsc.js"; +import { differenceInCalendarISOWeekYears } from "./differenceInCalendarISOWeekYears.js"; +import { subISOWeekYears } from "./subISOWeekYears.js"; + +/** + * The {@link differenceInISOWeekYears} function options. + */ + +/** + * @name differenceInISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of full ISO week-numbering years between the given dates. + * + * @description + * Get the number of full ISO week-numbering years between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - The options + * + * @returns The number of full ISO week-numbering years + * + * @example + * // How many full ISO week-numbering years are between 1 January 2010 and 1 January 2012? + * const result = differenceInISOWeekYears( + * new Date(2012, 0, 1), + * new Date(2010, 0, 1) + * ) + * // => 1 + */ +export function differenceInISOWeekYears(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + const sign = compareAsc(laterDate_, earlierDate_); + const diff = Math.abs( + differenceInCalendarISOWeekYears(laterDate_, earlierDate_, options), + ); + + const adjustedDate = subISOWeekYears(laterDate_, sign * diff, options); + + const isLastISOWeekYearNotFull = Number( + compareAsc(adjustedDate, earlierDate_) === -sign, + ); + const result = sign * (diff - isLastISOWeekYearNotFull); + + // Prevent negative zero + return result === 0 ? 0 : result; +} + +// Fallback for modularized imports: +export default differenceInISOWeekYears; diff --git a/.output/server/node_modules/date-fns/differenceInMilliseconds.js b/.output/server/node_modules/date-fns/differenceInMilliseconds.js new file mode 100644 index 00000000..377f0088 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInMilliseconds.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * @name differenceInMilliseconds + * @category Millisecond Helpers + * @summary Get the number of milliseconds between the given dates. + * + * @description + * Get the number of milliseconds between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * + * @returns The number of milliseconds + * + * @example + * // How many milliseconds are between + * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700? + * const result = differenceInMilliseconds( + * new Date(2014, 6, 2, 12, 30, 21, 700), + * new Date(2014, 6, 2, 12, 30, 20, 600) + * ) + * //=> 1100 + */ +export function differenceInMilliseconds(laterDate, earlierDate) { + return +toDate(laterDate) - +toDate(earlierDate); +} + +// Fallback for modularized imports: +export default differenceInMilliseconds; diff --git a/.output/server/node_modules/date-fns/differenceInMinutes.js b/.output/server/node_modules/date-fns/differenceInMinutes.js new file mode 100644 index 00000000..b97f06c7 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInMinutes.js @@ -0,0 +1,46 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { millisecondsInMinute } from "./constants.js"; +import { differenceInMilliseconds } from "./differenceInMilliseconds.js"; + +/** + * The {@link differenceInMinutes} function options. + */ + +/** + * @name differenceInMinutes + * @category Minute Helpers + * @summary Get the number of minutes between the given dates. + * + * @description + * Get the signed number of full (rounded towards 0) minutes between the given dates. + * + * @param dateLeft - The later date + * @param dateRight - The earlier date + * @param options - An object with options. + * + * @returns The number of minutes + * + * @example + * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00? + * const result = differenceInMinutes( + * new Date(2014, 6, 2, 12, 20, 0), + * new Date(2014, 6, 2, 12, 7, 59) + * ) + * //=> 12 + * + * @example + * // How many minutes are between 10:01:59 and 10:00:00 + * const result = differenceInMinutes( + * new Date(2000, 0, 1, 10, 0, 0), + * new Date(2000, 0, 1, 10, 1, 59) + * ) + * //=> -1 + */ +export function differenceInMinutes(dateLeft, dateRight, options) { + const diff = + differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute; + return getRoundingMethod(options?.roundingMethod)(diff); +} + +// Fallback for modularized imports: +export default differenceInMinutes; diff --git a/.output/server/node_modules/date-fns/differenceInMonths.js b/.output/server/node_modules/date-fns/differenceInMonths.js new file mode 100644 index 00000000..c65928b2 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInMonths.js @@ -0,0 +1,61 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { compareAsc } from "./compareAsc.js"; +import { differenceInCalendarMonths } from "./differenceInCalendarMonths.js"; +import { isLastDayOfMonth } from "./isLastDayOfMonth.js"; + +/** + * The {@link differenceInMonths} function options. + */ + +/** + * @name differenceInMonths + * @category Month Helpers + * @summary Get the number of full months between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of full months + * + * @example + * // How many full months are between 31 January 2014 and 1 September 2014? + * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31)) + * //=> 7 + */ +export function differenceInMonths(laterDate, earlierDate, options) { + const [laterDate_, workingLaterDate, earlierDate_] = normalizeDates( + options?.in, + laterDate, + laterDate, + earlierDate, + ); + + const sign = compareAsc(workingLaterDate, earlierDate_); + const difference = Math.abs( + differenceInCalendarMonths(workingLaterDate, earlierDate_), + ); + + if (difference < 1) return 0; + + if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27) + workingLaterDate.setDate(30); + + workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference); + + let isLastMonthNotFull = compareAsc(workingLaterDate, earlierDate_) === -sign; + + if ( + isLastDayOfMonth(laterDate_) && + difference === 1 && + compareAsc(laterDate_, earlierDate_) === 1 + ) { + isLastMonthNotFull = false; + } + + const result = sign * (difference - +isLastMonthNotFull); + return result === 0 ? 0 : result; +} + +// Fallback for modularized imports: +export default differenceInMonths; diff --git a/.output/server/node_modules/date-fns/differenceInQuarters.js b/.output/server/node_modules/date-fns/differenceInQuarters.js new file mode 100644 index 00000000..b91f385e --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInQuarters.js @@ -0,0 +1,33 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { differenceInMonths } from "./differenceInMonths.js"; + +/** + * The {@link differenceInQuarters} function options. + */ + +/** + * @name differenceInQuarters + * @category Quarter Helpers + * @summary Get the number of quarters between the given dates. + * + * @description + * Get the number of quarters between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options. + * + * @returns The number of full quarters + * + * @example + * // How many full quarters are between 31 December 2013 and 2 July 2014? + * const result = differenceInQuarters(new Date(2014, 6, 2), new Date(2013, 11, 31)) + * //=> 2 + */ +export function differenceInQuarters(laterDate, earlierDate, options) { + const diff = differenceInMonths(laterDate, earlierDate, options) / 3; + return getRoundingMethod(options?.roundingMethod)(diff); +} + +// Fallback for modularized imports: +export default differenceInQuarters; diff --git a/.output/server/node_modules/date-fns/differenceInSeconds.js b/.output/server/node_modules/date-fns/differenceInSeconds.js new file mode 100644 index 00000000..dd506d15 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInSeconds.js @@ -0,0 +1,37 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { differenceInMilliseconds } from "./differenceInMilliseconds.js"; + +/** + * The {@link differenceInSeconds} function options. + */ + +/** + * @name differenceInSeconds + * @category Second Helpers + * @summary Get the number of seconds between the given dates. + * + * @description + * Get the number of seconds between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options. + * + * @returns The number of seconds + * + * @example + * // How many seconds are between + * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000? + * const result = differenceInSeconds( + * new Date(2014, 6, 2, 12, 30, 20, 0), + * new Date(2014, 6, 2, 12, 30, 7, 999) + * ) + * //=> 12 + */ +export function differenceInSeconds(laterDate, earlierDate, options) { + const diff = differenceInMilliseconds(laterDate, earlierDate) / 1000; + return getRoundingMethod(options?.roundingMethod)(diff); +} + +// Fallback for modularized imports: +export default differenceInSeconds; diff --git a/.output/server/node_modules/date-fns/differenceInWeeks.js b/.output/server/node_modules/date-fns/differenceInWeeks.js new file mode 100644 index 00000000..cbab4ca2 --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInWeeks.js @@ -0,0 +1,54 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { differenceInDays } from "./differenceInDays.js"; + +/** + * The {@link differenceInWeeks} function options. + */ + +/** + * @name differenceInWeeks + * @category Week Helpers + * @summary Get the number of full weeks between the given dates. + * + * @description + * Get the number of full weeks between two dates. Fractional weeks are + * truncated towards zero by default. + * + * One "full week" is the distance between a local time in one day to the same + * local time 7 days earlier or later. A full week can sometimes be less than + * or more than 7*24 hours if a daylight savings change happens between two dates. + * + * To ignore DST and only measure exact 7*24-hour periods, use this instead: + * `Math.trunc(differenceInHours(dateLeft, dateRight)/(7*24))|0`. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of full weeks + * + * @example + * // How many full weeks are between 5 July 2014 and 20 July 2014? + * const result = differenceInWeeks(new Date(2014, 6, 20), new Date(2014, 6, 5)) + * //=> 2 + * + * @example + * // How many full weeks are between + * // 1 March 2020 0:00 and 6 June 2020 0:00 ? + * // Note: because local time is used, the + * // result will always be 8 weeks (54 days), + * // even if DST starts and the period has + * // only 54*24-1 hours. + * const result = differenceInWeeks( + * new Date(2020, 5, 1), + * new Date(2020, 2, 6) + * ) + * //=> 8 + */ +export function differenceInWeeks(laterDate, earlierDate, options) { + const diff = differenceInDays(laterDate, earlierDate, options) / 7; + return getRoundingMethod(options?.roundingMethod)(diff); +} + +// Fallback for modularized imports: +export default differenceInWeeks; diff --git a/.output/server/node_modules/date-fns/differenceInYears.js b/.output/server/node_modules/date-fns/differenceInYears.js new file mode 100644 index 00000000..d367610e --- /dev/null +++ b/.output/server/node_modules/date-fns/differenceInYears.js @@ -0,0 +1,63 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { compareAsc } from "./compareAsc.js"; +import { differenceInCalendarYears } from "./differenceInCalendarYears.js"; + +/** + * The {@link differenceInYears} function options. + */ + +/** + * @name differenceInYears + * @category Year Helpers + * @summary Get the number of full years between the given dates. + * + * @description + * Get the number of full years between the given dates. + * + * @param laterDate - The later date + * @param earlierDate - The earlier date + * @param options - An object with options + * + * @returns The number of full years + * + * @example + * // How many full years are between 31 December 2013 and 11 February 2015? + * const result = differenceInYears(new Date(2015, 1, 11), new Date(2013, 11, 31)) + * //=> 1 + */ +export function differenceInYears(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + // -1 if the left date is earlier than the right date + // 2023-12-31 - 2024-01-01 = -1 + const sign = compareAsc(laterDate_, earlierDate_); + + // First calculate the difference in calendar years + // 2024-01-01 - 2023-12-31 = 1 year + const diff = Math.abs(differenceInCalendarYears(laterDate_, earlierDate_)); + + // Now we need to calculate if the difference is full. To do that we set + // both dates to the same year and check if the both date's month and day + // form a full year. + laterDate_.setFullYear(1584); + earlierDate_.setFullYear(1584); + + // For it to be true, when the later date is indeed later than the earlier date + // (2026-02-01 - 2023-12-10 = 3 years), the difference is full if + // the normalized later date is also later than the normalized earlier date. + // In our example, 1584-02-01 is earlier than 1584-12-10, so the difference + // is partial, hence we need to subtract 1 from the difference 3 - 1 = 2. + const partial = compareAsc(laterDate_, earlierDate_) === -sign; + + const result = sign * (diff - +partial); + + // Prevent negative zero + return result === 0 ? 0 : result; +} + +// Fallback for modularized imports: +export default differenceInYears; diff --git a/.output/server/node_modules/date-fns/eachDayOfInterval.js b/.output/server/node_modules/date-fns/eachDayOfInterval.js new file mode 100644 index 00000000..65a2c1a4 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachDayOfInterval.js @@ -0,0 +1,72 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link eachDayOfInterval} function options. + */ + +/** + * The {@link eachDayOfInterval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name eachDayOfInterval + * @category Interval Helpers + * @summary Return the array of dates within the specified time interval. + * + * @description + * Return the array of dates within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of days from the day of the interval start to the day of the interval end + * + * @example + * // Each day between 6 October 2014 and 10 October 2014: + * const result = eachDayOfInterval({ + * start: new Date(2014, 9, 6), + * end: new Date(2014, 9, 10) + * }) + * //=> [ + * // Mon Oct 06 2014 00:00:00, + * // Tue Oct 07 2014 00:00:00, + * // Wed Oct 08 2014 00:00:00, + * // Thu Oct 09 2014 00:00:00, + * // Fri Oct 10 2014 00:00:00 + * // ] + */ +export function eachDayOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const endTime = reversed ? +start : +end; + const date = reversed ? end : start; + date.setHours(0, 0, 0, 0); + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date.setDate(date.getDate() + step); + date.setHours(0, 0, 0, 0); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachDayOfInterval; diff --git a/.output/server/node_modules/date-fns/eachHourOfInterval.js b/.output/server/node_modules/date-fns/eachHourOfInterval.js new file mode 100644 index 00000000..6b8dd3a1 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachHourOfInterval.js @@ -0,0 +1,68 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link eachHourOfInterval} function options. + */ + +/** + * The {@link eachHourOfInterval} function result type. + * Resolves to the appropriate date type based on inputs. + */ + +/** + * @name eachHourOfInterval + * @category Interval Helpers + * @summary Return the array of hours within the specified time interval. + * + * @description + * Return the array of hours within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of hours from the hour of the interval start to the hour of the interval end + * + * @example + * // Each hour between 6 October 2014, 12:00 and 6 October 2014, 15:00 + * const result = eachHourOfInterval({ + * start: new Date(2014, 9, 6, 12), + * end: new Date(2014, 9, 6, 15) + * }); + * //=> [ + * // Mon Oct 06 2014 12:00:00, + * // Mon Oct 06 2014 13:00:00, + * // Mon Oct 06 2014 14:00:00, + * // Mon Oct 06 2014 15:00:00 + * // ] + */ +export function eachHourOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const endTime = reversed ? +start : +end; + const date = reversed ? end : start; + date.setMinutes(0, 0, 0); + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date.setHours(date.getHours() + step); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachHourOfInterval; diff --git a/.output/server/node_modules/date-fns/eachMinuteOfInterval.js b/.output/server/node_modules/date-fns/eachMinuteOfInterval.js new file mode 100644 index 00000000..2c9d5900 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachMinuteOfInterval.js @@ -0,0 +1,72 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { addMinutes } from "./addMinutes.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link eachMinuteOfInterval} function options. + */ + +/** + * The {@link eachMinuteOfInterval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name eachMinuteOfInterval + * @category Interval Helpers + * @summary Return the array of minutes within the specified time interval. + * + * @description + * Returns the array of minutes within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of minutes from the minute of the interval start to the minute of the interval end + * + * @example + * // Each minute between 14 October 2020, 13:00 and 14 October 2020, 13:03 + * const result = eachMinuteOfInterval({ + * start: new Date(2014, 9, 14, 13), + * end: new Date(2014, 9, 14, 13, 3) + * }) + * //=> [ + * // Wed Oct 14 2014 13:00:00, + * // Wed Oct 14 2014 13:01:00, + * // Wed Oct 14 2014 13:02:00, + * // Wed Oct 14 2014 13:03:00 + * // ] + */ +export function eachMinuteOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + // Set to the start of the minute + start.setSeconds(0, 0); + + let reversed = +start > +end; + const endTime = reversed ? +start : +end; + let date = reversed ? end : start; + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date = addMinutes(date, step); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachMinuteOfInterval; diff --git a/.output/server/node_modules/date-fns/eachMonthOfInterval.js b/.output/server/node_modules/date-fns/eachMonthOfInterval.js new file mode 100644 index 00000000..4671df83 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachMonthOfInterval.js @@ -0,0 +1,71 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link eachMonthOfInterval} function options. + */ + +/** + * The {@link eachMonthOfInterval} function result type. It resolves the proper data type. + */ + +/** + * @name eachMonthOfInterval + * @category Interval Helpers + * @summary Return the array of months within the specified time interval. + * + * @description + * Return the array of months within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of months from the month of the interval start to the month of the interval end + * + * @example + * // Each month between 6 February 2014 and 10 August 2014: + * const result = eachMonthOfInterval({ + * start: new Date(2014, 1, 6), + * end: new Date(2014, 7, 10) + * }) + * //=> [ + * // Sat Feb 01 2014 00:00:00, + * // Sat Mar 01 2014 00:00:00, + * // Tue Apr 01 2014 00:00:00, + * // Thu May 01 2014 00:00:00, + * // Sun Jun 01 2014 00:00:00, + * // Tue Jul 01 2014 00:00:00, + * // Fri Aug 01 2014 00:00:00 + * // ] + */ +export function eachMonthOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const endTime = reversed ? +start : +end; + const date = reversed ? end : start; + date.setHours(0, 0, 0, 0); + date.setDate(1); + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date.setMonth(date.getMonth() + step); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachMonthOfInterval; diff --git a/.output/server/node_modules/date-fns/eachQuarterOfInterval.js b/.output/server/node_modules/date-fns/eachQuarterOfInterval.js new file mode 100644 index 00000000..f834b0d2 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachQuarterOfInterval.js @@ -0,0 +1,70 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { addQuarters } from "./addQuarters.js"; +import { constructFrom } from "./constructFrom.js"; +import { startOfQuarter } from "./startOfQuarter.js"; + +/** + * The {@link eachQuarterOfInterval} function options. + */ + +/** + * The {@link eachQuarterOfInterval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name eachQuarterOfInterval + * @category Interval Helpers + * @summary Return the array of quarters within the specified time interval. + * + * @description + * Return the array of quarters within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval + * @param options - An object with options + * + * @returns The array with starts of quarters from the quarter of the interval start to the quarter of the interval end + * + * @example + * // Each quarter within interval 6 February 2014 - 10 August 2014: + * const result = eachQuarterOfInterval({ + * start: new Date(2014, 1, 6), + * end: new Date(2014, 7, 10), + * }) + * //=> [ + * // Wed Jan 01 2014 00:00:00, + * // Tue Apr 01 2014 00:00:00, + * // Tue Jul 01 2014 00:00:00, + * // ] + */ +export function eachQuarterOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const endTime = reversed ? +startOfQuarter(start) : +startOfQuarter(end); + let date = reversed ? startOfQuarter(end) : startOfQuarter(start); + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date = addQuarters(date, step); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachQuarterOfInterval; diff --git a/.output/server/node_modules/date-fns/eachWeekOfInterval.js b/.output/server/node_modules/date-fns/eachWeekOfInterval.js new file mode 100644 index 00000000..ffc0073b --- /dev/null +++ b/.output/server/node_modules/date-fns/eachWeekOfInterval.js @@ -0,0 +1,83 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { addWeeks } from "./addWeeks.js"; +import { constructFrom } from "./constructFrom.js"; +import { startOfWeek } from "./startOfWeek.js"; + +/** + * The {@link eachWeekOfInterval} function options. + */ + +/** + * The {@link eachWeekOfInterval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the interval start date, + * then the end interval date. If a context function is passed, it uses the context function return type. + */ + +/** + * @name eachWeekOfInterval + * @category Interval Helpers + * @summary Return the array of weeks within the specified time interval. + * + * @description + * Return the array of weeks within the specified time interval. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of weeks from the week of the interval start to the week of the interval end + * + * @example + * // Each week within interval 6 October 2014 - 23 November 2014: + * const result = eachWeekOfInterval({ + * start: new Date(2014, 9, 6), + * end: new Date(2014, 10, 23) + * }) + * //=> [ + * // Sun Oct 05 2014 00:00:00, + * // Sun Oct 12 2014 00:00:00, + * // Sun Oct 19 2014 00:00:00, + * // Sun Oct 26 2014 00:00:00, + * // Sun Nov 02 2014 00:00:00, + * // Sun Nov 09 2014 00:00:00, + * // Sun Nov 16 2014 00:00:00, + * // Sun Nov 23 2014 00:00:00 + * // ] + */ +export function eachWeekOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const startDateWeek = reversed + ? startOfWeek(end, options) + : startOfWeek(start, options); + const endDateWeek = reversed + ? startOfWeek(start, options) + : startOfWeek(end, options); + + startDateWeek.setHours(15); + endDateWeek.setHours(15); + + const endTime = +endDateWeek.getTime(); + let currentDate = startDateWeek; + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+currentDate <= endTime) { + currentDate.setHours(0); + dates.push(constructFrom(start, currentDate)); + currentDate = addWeeks(currentDate, step); + currentDate.setHours(15); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachWeekOfInterval; diff --git a/.output/server/node_modules/date-fns/eachWeekendOfInterval.js b/.output/server/node_modules/date-fns/eachWeekendOfInterval.js new file mode 100644 index 00000000..e91afbc6 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachWeekendOfInterval.js @@ -0,0 +1,56 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { constructFrom } from "./constructFrom.js"; +import { eachDayOfInterval } from "./eachDayOfInterval.js"; +import { isWeekend } from "./isWeekend.js"; + +/** + * The {@link eachWeekendOfInterval} function options. + */ + +/** + * The {@link eachWeekendOfInterval} function result type. + */ + +/** + * @name eachWeekendOfInterval + * @category Interval Helpers + * @summary List all the Saturdays and Sundays in the given date interval. + * + * @description + * Get all the Saturdays and Sundays in the given date interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The given interval + * @param options - An object with options + * + * @returns An array containing all the Saturdays and Sundays + * + * @example + * // Lists all Saturdays and Sundays in the given date interval + * const result = eachWeekendOfInterval({ + * start: new Date(2018, 8, 17), + * end: new Date(2018, 8, 30) + * }) + * //=> [ + * // Sat Sep 22 2018 00:00:00, + * // Sun Sep 23 2018 00:00:00, + * // Sat Sep 29 2018 00:00:00, + * // Sun Sep 30 2018 00:00:00 + * // ] + */ +export function eachWeekendOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + const dateInterval = eachDayOfInterval({ start, end }, options); + const weekends = []; + let index = 0; + while (index < dateInterval.length) { + const date = dateInterval[index++]; + if (isWeekend(date)) weekends.push(constructFrom(start, date)); + } + return weekends; +} + +// Fallback for modularized imports: +export default eachWeekendOfInterval; diff --git a/.output/server/node_modules/date-fns/eachWeekendOfMonth.js b/.output/server/node_modules/date-fns/eachWeekendOfMonth.js new file mode 100644 index 00000000..c0d14267 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachWeekendOfMonth.js @@ -0,0 +1,46 @@ +import { eachWeekendOfInterval } from "./eachWeekendOfInterval.js"; +import { endOfMonth } from "./endOfMonth.js"; +import { startOfMonth } from "./startOfMonth.js"; + +/** + * The {@link eachWeekendOfMonth} function options. + */ + +/** + * @name eachWeekendOfMonth + * @category Month Helpers + * @summary List all the Saturdays and Sundays in the given month. + * + * @description + * Get all the Saturdays and Sundays in the given month. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The given month + * @param options - An object with options + * + * @returns An array containing all the Saturdays and Sundays + * + * @example + * // Lists all Saturdays and Sundays in the given month + * const result = eachWeekendOfMonth(new Date(2022, 1, 1)) + * //=> [ + * // Sat Feb 05 2022 00:00:00, + * // Sun Feb 06 2022 00:00:00, + * // Sat Feb 12 2022 00:00:00, + * // Sun Feb 13 2022 00:00:00, + * // Sat Feb 19 2022 00:00:00, + * // Sun Feb 20 2022 00:00:00, + * // Sat Feb 26 2022 00:00:00, + * // Sun Feb 27 2022 00:00:00 + * // ] + */ +export function eachWeekendOfMonth(date, options) { + const start = startOfMonth(date, options); + const end = endOfMonth(date, options); + return eachWeekendOfInterval({ start, end }, options); +} + +// Fallback for modularized imports: +export default eachWeekendOfMonth; diff --git a/.output/server/node_modules/date-fns/eachWeekendOfYear.js b/.output/server/node_modules/date-fns/eachWeekendOfYear.js new file mode 100644 index 00000000..901cf9f8 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachWeekendOfYear.js @@ -0,0 +1,43 @@ +import { eachWeekendOfInterval } from "./eachWeekendOfInterval.js"; +import { endOfYear } from "./endOfYear.js"; +import { startOfYear } from "./startOfYear.js"; + +/** + * The {@link eachWeekendOfYear} function options. + */ + +/** + * @name eachWeekendOfYear + * @category Year Helpers + * @summary List all the Saturdays and Sundays in the year. + * + * @description + * Get all the Saturdays and Sundays in the year. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The given year + * @param options - An object with options + * + * @returns An array containing all the Saturdays and Sundays + * + * @example + * // Lists all Saturdays and Sundays in the year + * const result = eachWeekendOfYear(new Date(2020, 1, 1)) + * //=> [ + * // Sat Jan 03 2020 00:00:00, + * // Sun Jan 04 2020 00:00:00, + * // ... + * // Sun Dec 27 2020 00:00:00 + * // ] + * ] + */ +export function eachWeekendOfYear(date, options) { + const start = startOfYear(date, options); + const end = endOfYear(date, options); + return eachWeekendOfInterval({ start, end }, options); +} + +// Fallback for modularized imports: +export default eachWeekendOfYear; diff --git a/.output/server/node_modules/date-fns/eachYearOfInterval.js b/.output/server/node_modules/date-fns/eachYearOfInterval.js new file mode 100644 index 00000000..667ae6c1 --- /dev/null +++ b/.output/server/node_modules/date-fns/eachYearOfInterval.js @@ -0,0 +1,71 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { constructFrom } from "./constructFrom.js"; + +/** + * The {@link eachYearOfInterval} function options. + */ + +/** + * The {@link eachYearOfInterval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the date argument, + * then the start interval date, and finally the end interval date. If + * a context function is passed, it uses the context function return type. + */ + +/** + * @name eachYearOfInterval + * @category Interval Helpers + * @summary Return the array of yearly timestamps within the specified time interval. + * + * @description + * Return the array of yearly timestamps within the specified time interval. + * + * @typeParam IntervalType - Interval type. + * @typeParam Options - Options type. + * + * @param interval - The interval. + * @param options - An object with options. + * + * @returns The array with starts of yearly timestamps from the month of the interval start to the month of the interval end + * + * @example + * // Each year between 6 February 2014 and 10 August 2017: + * const result = eachYearOfInterval({ + * start: new Date(2014, 1, 6), + * end: new Date(2017, 7, 10) + * }) + * //=> [ + * // Wed Jan 01 2014 00:00:00, + * // Thu Jan 01 2015 00:00:00, + * // Fri Jan 01 2016 00:00:00, + * // Sun Jan 01 2017 00:00:00 + * // ] + */ +export function eachYearOfInterval(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + + let reversed = +start > +end; + const endTime = reversed ? +start : +end; + const date = reversed ? end : start; + date.setHours(0, 0, 0, 0); + date.setMonth(0, 1); + + let step = options?.step ?? 1; + if (!step) return []; + if (step < 0) { + step = -step; + reversed = !reversed; + } + + const dates = []; + + while (+date <= endTime) { + dates.push(constructFrom(start, date)); + date.setFullYear(date.getFullYear() + step); + } + + return reversed ? dates.reverse() : dates; +} + +// Fallback for modularized imports: +export default eachYearOfInterval; diff --git a/.output/server/node_modules/date-fns/endOfDay.js b/.output/server/node_modules/date-fns/endOfDay.js new file mode 100644 index 00000000..1d70ab07 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfDay.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfDay} function options. + */ + +/** + * @name endOfDay + * @category Day Helpers + * @summary Return the end of a day for the given date. + * + * @description + * Return the end of a day for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a day + * + * @example + * // The end of a day for 2 September 2014 11:55:00: + * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 02 2014 23:59:59.999 + */ +export function endOfDay(date, options) { + const _date = toDate(date, options?.in); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfDay; diff --git a/.output/server/node_modules/date-fns/endOfDecade.js b/.output/server/node_modules/date-fns/endOfDecade.js new file mode 100644 index 00000000..539a6a6d --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfDecade.js @@ -0,0 +1,41 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfDecade} function options. + */ + +/** + * @name endOfDecade + * @category Decade Helpers + * @summary Return the end of a decade for the given date. + * + * @description + * Return the end of a decade for the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a decade + * + * @example + * // The end of a decade for 12 May 1984 00:00:00: + * const result = endOfDecade(new Date(1984, 4, 12, 00, 00, 00)) + * //=> Dec 31 1989 23:59:59.999 + */ +export function endOfDecade(date, options) { + // TODO: Switch to more technical definition in of decades that start with 1 + // end with 0. I.e. 2001-2010 instead of current 2000-2009. It's a breaking + // change, so it can only be done in 4.0. + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const decade = 9 + Math.floor(year / 10) * 10; + _date.setFullYear(decade, 11, 31); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfDecade; diff --git a/.output/server/node_modules/date-fns/endOfHour.js b/.output/server/node_modules/date-fns/endOfHour.js new file mode 100644 index 00000000..ad0826bf --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfHour.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfHour} function options. + */ + +/** + * @name endOfHour + * @category Hour Helpers + * @summary Return the end of an hour for the given date. + * + * @description + * Return the end of an hour for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of an hour + * + * @example + * // The end of an hour for 2 September 2014 11:55:00: + * const result = endOfHour(new Date(2014, 8, 2, 11, 55)) + * //=> Tue Sep 02 2014 11:59:59.999 + */ +export function endOfHour(date, options) { + const _date = toDate(date, options?.in); + _date.setMinutes(59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfHour; diff --git a/.output/server/node_modules/date-fns/endOfISOWeek.js b/.output/server/node_modules/date-fns/endOfISOWeek.js new file mode 100644 index 00000000..c885a1dd --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfISOWeek.js @@ -0,0 +1,36 @@ +import { endOfWeek } from "./endOfWeek.js"; + +/** + * The {@link endOfISOWeek} function options. + */ + +/** + * @name endOfISOWeek + * @category ISO Week Helpers + * @summary Return the end of an ISO week for the given date. + * + * @description + * Return the end of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of an ISO week + * + * @example + * // The end of an ISO week for 2 September 2014 11:55:00: + * const result = endOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Sep 07 2014 23:59:59.999 + */ +export function endOfISOWeek(date, options) { + return endOfWeek(date, { ...options, weekStartsOn: 1 }); +} + +// Fallback for modularized imports: +export default endOfISOWeek; diff --git a/.output/server/node_modules/date-fns/endOfISOWeekYear.js b/.output/server/node_modules/date-fns/endOfISOWeekYear.js new file mode 100644 index 00000000..54bddd49 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfISOWeekYear.js @@ -0,0 +1,45 @@ +import { constructFrom } from "./constructFrom.js"; +import { getISOWeekYear } from "./getISOWeekYear.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; + +/** + * The {@link endOfISOWeekYear} function options. + */ + +/** + * @name endOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the end of an ISO week-numbering year for the given date. + * + * @description + * Return the end of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ContextDate - The `Date` type of the context function. + * + * @param date - The original date + * @param options - The options + * + * @returns The end of an ISO week-numbering year + * + * @example + * // The end of an ISO week-numbering year for 2 July 2005: + * const result = endOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Sun Jan 01 2006 23:59:59.999 + */ +export function endOfISOWeekYear(date, options) { + const year = getISOWeekYear(date, options); + const fourthOfJanuaryOfNextYear = constructFrom(options?.in || date, 0); + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); + const _date = startOfISOWeek(fourthOfJanuaryOfNextYear, options); + _date.setMilliseconds(_date.getMilliseconds() - 1); + return _date; +} + +// Fallback for modularized imports: +export default endOfISOWeekYear; diff --git a/.output/server/node_modules/date-fns/endOfMinute.js b/.output/server/node_modules/date-fns/endOfMinute.js new file mode 100644 index 00000000..24699a2a --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfMinute.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfMinute} function options. + */ + +/** + * @name endOfMinute + * @category Minute Helpers + * @summary Return the end of a minute for the given date. + * + * @description + * Return the end of a minute for the given date. + * The result will be in the local timezone or the provided context. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a minute + * + * @example + * // The end of a minute for 1 December 2014 22:15:45.400: + * const result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:59.999 + */ +export function endOfMinute(date, options) { + const _date = toDate(date, options?.in); + _date.setSeconds(59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfMinute; diff --git a/.output/server/node_modules/date-fns/endOfMonth.js b/.output/server/node_modules/date-fns/endOfMonth.js new file mode 100644 index 00000000..bfbabfa5 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfMonth.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfMonth} function options. + */ + +/** + * @name endOfMonth + * @category Month Helpers + * @summary Return the end of a month for the given date. + * + * @description + * Return the end of a month for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a month + * + * @example + * // The end of a month for 2 September 2014 11:55:00: + * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 23:59:59.999 + */ +export function endOfMonth(date, options) { + const _date = toDate(date, options?.in); + const month = _date.getMonth(); + _date.setFullYear(_date.getFullYear(), month + 1, 0); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfMonth; diff --git a/.output/server/node_modules/date-fns/endOfQuarter.js b/.output/server/node_modules/date-fns/endOfQuarter.js new file mode 100644 index 00000000..a891b6a3 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfQuarter.js @@ -0,0 +1,39 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfQuarter} function options. + */ + +/** + * @name endOfQuarter + * @category Quarter Helpers + * @summary Return the end of a year quarter for the given date. + * + * @description + * Return the end of a year quarter for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a quarter + * + * @example + * // The end of a quarter for 2 September 2014 11:55:00: + * const result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 23:59:59.999 + */ +export function endOfQuarter(date, options) { + const _date = toDate(date, options?.in); + const currentMonth = _date.getMonth(); + const month = currentMonth - (currentMonth % 3) + 3; + _date.setMonth(month, 0); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfQuarter; diff --git a/.output/server/node_modules/date-fns/endOfSecond.js b/.output/server/node_modules/date-fns/endOfSecond.js new file mode 100644 index 00000000..92f64cfc --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfSecond.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfSecond} function options. + */ + +/** + * @name endOfSecond + * @category Second Helpers + * @summary Return the end of a second for the given date. + * + * @description + * Return the end of a second for the given date. + * The result will be in the local timezone if no `in` option is specified. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a second + * + * @example + * // The end of a second for 1 December 2014 22:15:45.400: + * const result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.999 + */ +export function endOfSecond(date, options) { + const _date = toDate(date, options?.in); + _date.setMilliseconds(999); + return _date; +} + +// Fallback for modularized imports: +export default endOfSecond; diff --git a/.output/server/node_modules/date-fns/endOfToday.js b/.output/server/node_modules/date-fns/endOfToday.js new file mode 100644 index 00000000..fcf29e95 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfToday.js @@ -0,0 +1,33 @@ +import { endOfDay } from "./endOfDay.js"; + +/** + * The {@link endOfToday} function options. + */ + +/** + * @name endOfToday + * @category Day Helpers + * @summary Return the end of today. + * @pure false + * + * @description + * Return the end of today. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param options - The options + * + * @returns The end of today + * + * @example + * // If today is 6 October 2014: + * const result = endOfToday() + * //=> Mon Oct 6 2014 23:59:59.999 + */ +export function endOfToday(options) { + return endOfDay(Date.now(), options); +} + +// Fallback for modularized imports: +export default endOfToday; diff --git a/.output/server/node_modules/date-fns/endOfTomorrow.js b/.output/server/node_modules/date-fns/endOfTomorrow.js new file mode 100644 index 00000000..e27a4fb7 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfTomorrow.js @@ -0,0 +1,40 @@ +import { constructNow } from "./constructNow.js"; + +/** + * The {@link endOfTomorrow} function options. + */ + +/** + * @name endOfTomorrow + * @category Day Helpers + * @summary Return the end of tomorrow. + * @pure false + * + * @description + * Return the end of tomorrow. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param options - The options + * @returns The end of tomorrow + * + * @example + * // If today is 6 October 2014: + * const result = endOfTomorrow() + * //=> Tue Oct 7 2014 23:59:59.999 + */ +export function endOfTomorrow(options) { + const now = constructNow(options?.in); + const year = now.getFullYear(); + const month = now.getMonth(); + const day = now.getDate(); + + const date = constructNow(options?.in); + date.setFullYear(year, month, day + 1); + date.setHours(23, 59, 59, 999); + return options?.in ? options.in(date) : date; +} + +// Fallback for modularized imports: +export default endOfTomorrow; diff --git a/.output/server/node_modules/date-fns/endOfWeek.js b/.output/server/node_modules/date-fns/endOfWeek.js new file mode 100644 index 00000000..1e6155d2 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfWeek.js @@ -0,0 +1,54 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfWeek} function options. + */ + +/** + * @name endOfWeek + * @category Week Helpers + * @summary Return the end of a week for the given date. + * + * @description + * Return the end of a week for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of a week + * + * @example + * // The end of a week for 2 September 2014 11:55:00: + * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sat Sep 06 2014 23:59:59.999 + * + * @example + * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00: + * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Sun Sep 07 2014 23:59:59.999 + */ +export function endOfWeek(date, options) { + const defaultOptions = getDefaultOptions(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const _date = toDate(date, options?.in); + const day = _date.getDay(); + const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); + + _date.setDate(_date.getDate() + diff); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfWeek; diff --git a/.output/server/node_modules/date-fns/endOfYear.js b/.output/server/node_modules/date-fns/endOfYear.js new file mode 100644 index 00000000..f437ae92 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfYear.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link endOfYear} function options. + */ + +/** + * @name endOfYear + * @category Year Helpers + * @summary Return the end of a year for the given date. + * + * @description + * Return the end of a year for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The end of a year + * + * @example + * // The end of a year for 2 September 2014 11:55:00: + * const result = endOfYear(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Wed Dec 31 2014 23:59:59.999 + */ +export function endOfYear(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + _date.setFullYear(year + 1, 0, 0); + _date.setHours(23, 59, 59, 999); + return _date; +} + +// Fallback for modularized imports: +export default endOfYear; diff --git a/.output/server/node_modules/date-fns/endOfYesterday.js b/.output/server/node_modules/date-fns/endOfYesterday.js new file mode 100644 index 00000000..e9d1cfb6 --- /dev/null +++ b/.output/server/node_modules/date-fns/endOfYesterday.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; + +/** + * The {@link endOfYesterday} function options. + */ + +/** + * @name endOfYesterday + * @category Day Helpers + * @summary Return the end of yesterday. + * @pure false + * + * @description + * Return the end of yesterday. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @returns The end of yesterday + * + * @example + * // If today is 6 October 2014: + * const result = endOfYesterday() + * //=> Sun Oct 5 2014 23:59:59.999 + */ +export function endOfYesterday(options) { + const now = constructNow(options?.in); + const date = constructFrom(options?.in, 0); + date.setFullYear(now.getFullYear(), now.getMonth(), now.getDate() - 1); + date.setHours(23, 59, 59, 999); + return date; +} + +// Fallback for modularized imports: +export default endOfYesterday; diff --git a/.output/server/node_modules/date-fns/format.js b/.output/server/node_modules/date-fns/format.js new file mode 100644 index 00000000..0c0acbc6 --- /dev/null +++ b/.output/server/node_modules/date-fns/format.js @@ -0,0 +1,434 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { formatters } from "./_lib/format/formatters.js"; +import { longFormatters } from "./_lib/format/longFormatters.js"; +import { + isProtectedDayOfYearToken, + isProtectedWeekYearToken, + warnOrThrowProtectedError, +} from "./_lib/protectedTokens.js"; +import { isValid } from "./isValid.js"; +import { toDate } from "./toDate.js"; + +// Rexports of internal for libraries to use. +// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874 +export { formatters, longFormatters }; + +// This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +const formattingTokensRegExp = + /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; + +// This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` +const longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; + +const escapedStringRegExp = /^'([^]*?)'?$/; +const doubleQuoteRegExp = /''/g; +const unescapedLatinCharacterRegExp = /[a-zA-Z]/; + +export { format as formatDate }; + +/** + * The {@link format} function options. + */ + +/** + * @name format + * @alias formatDate + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. The result may vary by locale. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * (see the last example) + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 7 below the table). + * + * Accepted patterns: + * | Unit | Pattern | Result examples | Notes | + * |---------------------------------|---------|-----------------------------------|-------| + * | Era | G..GGG | AD, BC | | + * | | GGGG | Anno Domini, Before Christ | 2 | + * | | GGGGG | A, B | | + * | Calendar year | y | 44, 1, 1900, 2017 | 5 | + * | | yo | 44th, 1st, 0th, 17th | 5,7 | + * | | yy | 44, 01, 00, 17 | 5 | + * | | yyy | 044, 001, 1900, 2017 | 5 | + * | | yyyy | 0044, 0001, 1900, 2017 | 5 | + * | | yyyyy | ... | 3,5 | + * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | + * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | + * | | YY | 44, 01, 00, 17 | 5,8 | + * | | YYY | 044, 001, 1900, 2017 | 5 | + * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | + * | | YYYYY | ... | 3,5 | + * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | + * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | + * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | + * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | + * | | RRRRR | ... | 3,5,7 | + * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | + * | | uu | -43, 01, 1900, 2017 | 5 | + * | | uuu | -043, 001, 1900, 2017 | 5 | + * | | uuuu | -0043, 0001, 1900, 2017 | 5 | + * | | uuuuu | ... | 3,5 | + * | Quarter (formatting) | Q | 1, 2, 3, 4 | | + * | | Qo | 1st, 2nd, 3rd, 4th | 7 | + * | | QQ | 01, 02, 03, 04 | | + * | | QQQ | Q1, Q2, Q3, Q4 | | + * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | + * | | qo | 1st, 2nd, 3rd, 4th | 7 | + * | | qq | 01, 02, 03, 04 | | + * | | qqq | Q1, Q2, Q3, Q4 | | + * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | qqqqq | 1, 2, 3, 4 | 4 | + * | Month (formatting) | M | 1, 2, ..., 12 | | + * | | Mo | 1st, 2nd, ..., 12th | 7 | + * | | MM | 01, 02, ..., 12 | | + * | | MMM | Jan, Feb, ..., Dec | | + * | | MMMM | January, February, ..., December | 2 | + * | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | L | 1, 2, ..., 12 | | + * | | Lo | 1st, 2nd, ..., 12th | 7 | + * | | LL | 01, 02, ..., 12 | | + * | | LLL | Jan, Feb, ..., Dec | | + * | | LLLL | January, February, ..., December | 2 | + * | | LLLLL | J, F, ..., D | | + * | Local week of year | w | 1, 2, ..., 53 | | + * | | wo | 1st, 2nd, ..., 53th | 7 | + * | | ww | 01, 02, ..., 53 | | + * | ISO week of year | I | 1, 2, ..., 53 | 7 | + * | | Io | 1st, 2nd, ..., 53th | 7 | + * | | II | 01, 02, ..., 53 | 7 | + * | Day of month | d | 1, 2, ..., 31 | | + * | | do | 1st, 2nd, ..., 31st | 7 | + * | | dd | 01, 02, ..., 31 | | + * | Day of year | D | 1, 2, ..., 365, 366 | 9 | + * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | + * | | DD | 01, 02, ..., 365, 366 | 9 | + * | | DDD | 001, 002, ..., 365, 366 | | + * | | DDDD | ... | 3 | + * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | | + * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | EEEEE | M, T, W, T, F, S, S | | + * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | + * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | + * | | io | 1st, 2nd, ..., 7th | 7 | + * | | ii | 01, 02, ..., 07 | 7 | + * | | iii | Mon, Tue, Wed, ..., Sun | 7 | + * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | + * | | iiiii | M, T, W, T, F, S, S | 7 | + * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 | + * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | + * | | eo | 2nd, 3rd, ..., 1st | 7 | + * | | ee | 02, 03, ..., 01 | | + * | | eee | Mon, Tue, Wed, ..., Sun | | + * | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | eeeee | M, T, W, T, F, S, S | | + * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | + * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | + * | | co | 2nd, 3rd, ..., 1st | 7 | + * | | cc | 02, 03, ..., 01 | | + * | | ccc | Mon, Tue, Wed, ..., Sun | | + * | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | ccccc | M, T, W, T, F, S, S | | + * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | + * | AM, PM | a..aa | AM, PM | | + * | | aaa | am, pm | | + * | | aaaa | a.m., p.m. | 2 | + * | | aaaaa | a, p | | + * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | | + * | | bbb | am, pm, noon, midnight | | + * | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | bbbbb | a, p, n, mi | | + * | Flexible day period | B..BBB | at night, in the morning, ... | | + * | | BBBB | at night, in the morning, ... | 2 | + * | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | + * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | + * | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | + * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | + * | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | + * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | + * | | KK | 01, 02, ..., 11, 00 | | + * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | + * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | + * | | kk | 24, 01, 02, ..., 23 | | + * | Minute | m | 0, 1, ..., 59 | | + * | | mo | 0th, 1st, ..., 59th | 7 | + * | | mm | 00, 01, ..., 59 | | + * | Second | s | 0, 1, ..., 59 | | + * | | so | 0th, 1st, ..., 59th | 7 | + * | | ss | 00, 01, ..., 59 | | + * | Fraction of second | S | 0, 1, ..., 9 | | + * | | SS | 00, 01, ..., 99 | | + * | | SSS | 000, 001, ..., 999 | | + * | | SSSS | ... | 3 | + * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | + * | | XX | -0800, +0530, Z | | + * | | XXX | -08:00, +05:30, Z | | + * | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | + * | | xx | -0800, +0530, +0000 | | + * | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | xxxx | -0800, +0530, +0000, +123456 | | + * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | + * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | + * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | + * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | + * | Seconds timestamp | t | 512969520 | 7 | + * | | tt | ... | 3,7 | + * | Milliseconds timestamp | T | 512969520900 | 7 | + * | | TT | ... | 3,7 | + * | Long localized date | P | 04/29/1453 | 7 | + * | | PP | Apr 29, 1453 | 7 | + * | | PPP | April 29th, 1453 | 7 | + * | | PPPP | Friday, April 29th, 1453 | 2,7 | + * | Long localized time | p | 12:00 AM | 7 | + * | | pp | 12:00:00 AM | 7 | + * | | ppp | 12:00:00 AM GMT+2 | 7 | + * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | + * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 | + * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 | + * | | PPPppp | April 29th, 1453 at ... | 7 | + * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) + * the output will be the same as default pattern for this unit, usually + * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units + * are marked with "2" in the last column of the table. + * + * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` + * + * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` + * + * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` + * + * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). + * The output will be padded with zeros to match the length of the pattern. + * + * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` + * + * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 5. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` always returns the last two digits of a year, + * while `uu` pads single digit years to 2 characters and returns other years unchanged: + * + * | Year | `yy` | `uu` | + * |------|------|------| + * | 1 | 01 | 01 | + * | 14 | 14 | 14 | + * | 376 | 76 | 376 | + * | 1453 | 53 | 1453 | + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear) + * and [getWeekYear](https://date-fns.org/docs/getWeekYear)). + * + * 6. Specific non-location timezones are currently unavailable in `date-fns`, + * so right now these tokens fall back to GMT timezones. + * + * 7. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `t`: seconds timestamp + * - `T`: milliseconds timestamp + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * @param date - The original date + * @param format - The string of tokens + * @param options - An object with options + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * @throws `options.locale` must contain `localize` property + * @throws `options.locale` must contain `formatLong` property + * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws format string contains an unescaped latin alphabet character + * + * @example + * // Represent 11 February 2014 in middle-endian format: + * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') + * //=> '02/11/2014' + * + * @example + * // Represent 2 July 2014 in Esperanto: + * import { eoLocale } from 'date-fns/locale/eo' + * const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { + * locale: eoLocale + * }) + * //=> '2-a de julio 2014' + * + * @example + * // Escape string by single quote characters: + * const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") + * //=> "3 o'clock" + */ +export function format(date, formatStr, options) { + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const originalDate = toDate(date, options?.in); + + if (!isValid(originalDate)) { + throw new RangeError("Invalid time value"); + } + + let parts = formatStr + .match(longFormattingTokensRegExp) + .map((substring) => { + const firstCharacter = substring[0]; + if (firstCharacter === "p" || firstCharacter === "P") { + const longFormatter = longFormatters[firstCharacter]; + return longFormatter(substring, locale.formatLong); + } + return substring; + }) + .join("") + .match(formattingTokensRegExp) + .map((substring) => { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return { isToken: false, value: "'" }; + } + + const firstCharacter = substring[0]; + if (firstCharacter === "'") { + return { isToken: false, value: cleanEscapedString(substring) }; + } + + if (formatters[firstCharacter]) { + return { isToken: true, value: substring }; + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError( + "Format string contains an unescaped latin alphabet character `" + + firstCharacter + + "`", + ); + } + + return { isToken: false, value: substring }; + }); + + // invoke localize preprocessor (only for french locales at the moment) + if (locale.localize.preprocessor) { + parts = locale.localize.preprocessor(originalDate, parts); + } + + const formatterOptions = { + firstWeekContainsDate, + weekStartsOn, + locale, + }; + + return parts + .map((part) => { + if (!part.isToken) return part.value; + + const token = part.value; + + if ( + (!options?.useAdditionalWeekYearTokens && + isProtectedWeekYearToken(token)) || + (!options?.useAdditionalDayOfYearTokens && + isProtectedDayOfYearToken(token)) + ) { + warnOrThrowProtectedError(token, formatStr, String(date)); + } + + const formatter = formatters[token[0]]; + return formatter(originalDate, token, locale.localize, formatterOptions); + }) + .join(""); +} + +function cleanEscapedString(input) { + const matched = input.match(escapedStringRegExp); + + if (!matched) { + return input; + } + + return matched[1].replace(doubleQuoteRegExp, "'"); +} + +// Fallback for modularized imports: +export default format; diff --git a/.output/server/node_modules/date-fns/formatDistance.js b/.output/server/node_modules/date-fns/formatDistance.js new file mode 100644 index 00000000..fcba1111 --- /dev/null +++ b/.output/server/node_modules/date-fns/formatDistance.js @@ -0,0 +1,199 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { compareAsc } from "./compareAsc.js"; +import { minutesInDay, minutesInMonth } from "./constants.js"; +import { differenceInMonths } from "./differenceInMonths.js"; +import { differenceInSeconds } from "./differenceInSeconds.js"; + +/** + * The {@link formatDistance} function options. + */ + +/** + * @name formatDistance + * @category Common Helpers + * @summary Return the distance between the given dates in words. + * + * @description + * Return the distance between the given dates in words. + * + * | Distance between dates | Result | + * |-------------------------------------------------------------------|---------------------| + * | 0 ... 30 secs | less than a minute | + * | 30 secs ... 1 min 30 secs | 1 minute | + * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | + * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | + * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | + * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | + * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | + * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | + * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | + * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | + * | 1 yr ... 1 yr 3 months | about 1 year | + * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | + * | 1 yr 9 months ... 2 yrs | almost 2 years | + * | N yrs ... N yrs 3 months | about N years | + * | N yrs 3 months ... N yrs 9 months | over N years | + * | N yrs 9 months ... N+1 yrs | almost N+1 years | + * + * With `options.includeSeconds == true`: + * | Distance between dates | Result | + * |------------------------|----------------------| + * | 0 secs ... 5 secs | less than 5 seconds | + * | 5 secs ... 10 secs | less than 10 seconds | + * | 10 secs ... 20 secs | less than 20 seconds | + * | 20 secs ... 40 secs | half a minute | + * | 40 secs ... 60 secs | less than a minute | + * | 60 secs ... 90 secs | 1 minute | + * + * @param laterDate - The date + * @param earlierDate - The date to compare with + * @param options - An object with options + * + * @returns The distance in words + * + * @throws `date` must not be Invalid Date + * @throws `baseDate` must not be Invalid Date + * @throws `options.locale` must contain `formatDistance` property + * + * @example + * // What is the distance between 2 July 2014 and 1 January 2015? + * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1)) + * //=> '6 months' + * + * @example + * // What is the distance between 1 January 2015 00:00:15 + * // and 1 January 2015 00:00:00, including seconds? + * const result = formatDistance( + * new Date(2015, 0, 1, 0, 0, 15), + * new Date(2015, 0, 1, 0, 0, 0), + * { includeSeconds: true } + * ) + * //=> 'less than 20 seconds' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, with a suffix? + * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), { + * addSuffix: true + * }) + * //=> 'about 1 year ago' + * + * @example + * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? + * import { eoLocale } from 'date-fns/locale/eo' + * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), { + * locale: eoLocale + * }) + * //=> 'pli ol 1 jaro' + */ +export function formatDistance(laterDate, earlierDate, options) { + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + const minutesInAlmostTwoDays = 2520; + + const comparison = compareAsc(laterDate, earlierDate); + + if (isNaN(comparison)) throw new RangeError("Invalid time value"); + + const localizeOptions = Object.assign({}, options, { + addSuffix: options?.addSuffix, + comparison: comparison, + }); + + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + ...(comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]), + ); + + const seconds = differenceInSeconds(earlierDate_, laterDate_); + const offsetInSeconds = + (getTimezoneOffsetInMilliseconds(earlierDate_) - + getTimezoneOffsetInMilliseconds(laterDate_)) / + 1000; + const minutes = Math.round((seconds - offsetInSeconds) / 60); + let months; + + // 0 up to 2 mins + if (minutes < 2) { + if (options?.includeSeconds) { + if (seconds < 5) { + return locale.formatDistance("lessThanXSeconds", 5, localizeOptions); + } else if (seconds < 10) { + return locale.formatDistance("lessThanXSeconds", 10, localizeOptions); + } else if (seconds < 20) { + return locale.formatDistance("lessThanXSeconds", 20, localizeOptions); + } else if (seconds < 40) { + return locale.formatDistance("halfAMinute", 0, localizeOptions); + } else if (seconds < 60) { + return locale.formatDistance("lessThanXMinutes", 1, localizeOptions); + } else { + return locale.formatDistance("xMinutes", 1, localizeOptions); + } + } else { + if (minutes === 0) { + return locale.formatDistance("lessThanXMinutes", 1, localizeOptions); + } else { + return locale.formatDistance("xMinutes", minutes, localizeOptions); + } + } + + // 2 mins up to 0.75 hrs + } else if (minutes < 45) { + return locale.formatDistance("xMinutes", minutes, localizeOptions); + + // 0.75 hrs up to 1.5 hrs + } else if (minutes < 90) { + return locale.formatDistance("aboutXHours", 1, localizeOptions); + + // 1.5 hrs up to 24 hrs + } else if (minutes < minutesInDay) { + const hours = Math.round(minutes / 60); + return locale.formatDistance("aboutXHours", hours, localizeOptions); + + // 1 day up to 1.75 days + } else if (minutes < minutesInAlmostTwoDays) { + return locale.formatDistance("xDays", 1, localizeOptions); + + // 1.75 days up to 30 days + } else if (minutes < minutesInMonth) { + const days = Math.round(minutes / minutesInDay); + return locale.formatDistance("xDays", days, localizeOptions); + + // 1 month up to 2 months + } else if (minutes < minutesInMonth * 2) { + months = Math.round(minutes / minutesInMonth); + return locale.formatDistance("aboutXMonths", months, localizeOptions); + } + + months = differenceInMonths(earlierDate_, laterDate_); + + // 2 months up to 12 months + if (months < 12) { + const nearestMonth = Math.round(minutes / minutesInMonth); + return locale.formatDistance("xMonths", nearestMonth, localizeOptions); + + // 1 year up to max Date + } else { + const monthsSinceStartOfYear = months % 12; + const years = Math.trunc(months / 12); + + // N years up to 1 years 3 months + if (monthsSinceStartOfYear < 3) { + return locale.formatDistance("aboutXYears", years, localizeOptions); + + // N years 3 months up to N years 9 months + } else if (monthsSinceStartOfYear < 9) { + return locale.formatDistance("overXYears", years, localizeOptions); + + // N years 9 months up to N year 12 months + } else { + return locale.formatDistance("almostXYears", years + 1, localizeOptions); + } + } +} + +// Fallback for modularized imports: +export default formatDistance; diff --git a/.output/server/node_modules/date-fns/formatDistanceStrict.js b/.output/server/node_modules/date-fns/formatDistanceStrict.js new file mode 100644 index 00000000..e4a99cbf --- /dev/null +++ b/.output/server/node_modules/date-fns/formatDistanceStrict.js @@ -0,0 +1,189 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { compareAsc } from "./compareAsc.js"; +import { + millisecondsInMinute, + minutesInDay, + minutesInMonth, + minutesInYear, +} from "./constants.js"; + +/** + * The {@link formatDistanceStrict} function options. + */ + +/** + * The unit used to format the distance in {@link formatDistanceStrict}. + */ + +/** + * @name formatDistanceStrict + * @category Common Helpers + * @summary Return the distance between the given dates in words. + * + * @description + * Return the distance between the given dates in words, using strict units. + * This is like `formatDistance`, but does not use helpers like 'almost', 'over', + * 'less than' and the like. + * + * | Distance between dates | Result | + * |------------------------|---------------------| + * | 0 ... 59 secs | [0..59] seconds | + * | 1 ... 59 mins | [1..59] minutes | + * | 1 ... 23 hrs | [1..23] hours | + * | 1 ... 29 days | [1..29] days | + * | 1 ... 11 months | [1..11] months | + * | 1 ... N years | [1..N] years | + * + * @param laterDate - The date + * @param earlierDate - The date to compare with + * @param options - An object with options + * + * @returns The distance in words + * + * @throws `date` must not be Invalid Date + * @throws `baseDate` must not be Invalid Date + * @throws `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year' + * @throws `options.locale` must contain `formatDistance` property + * + * @example + * // What is the distance between 2 July 2014 and 1 January 2015? + * const result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2)) + * //=> '6 months' + * + * @example + * // What is the distance between 1 January 2015 00:00:15 + * // and 1 January 2015 00:00:00? + * const result = formatDistanceStrict( + * new Date(2015, 0, 1, 0, 0, 15), + * new Date(2015, 0, 1, 0, 0, 0) + * ) + * //=> '15 seconds' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, with a suffix? + * const result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), { + * addSuffix: true + * }) + * //=> '1 year ago' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, in minutes? + * const result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), { + * unit: 'minute' + * }) + * //=> '525600 minutes' + * + * @example + * // What is the distance from 1 January 2015 + * // to 28 January 2015, in months, rounded up? + * const result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), { + * unit: 'month', + * roundingMethod: 'ceil' + * }) + * //=> '1 month' + * + * @example + * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? + * import { eoLocale } from 'date-fns/locale/eo' + * const result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), { + * locale: eoLocale + * }) + * //=> '1 jaro' + */ + +export function formatDistanceStrict(laterDate, earlierDate, options) { + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + + const comparison = compareAsc(laterDate, earlierDate); + + if (isNaN(comparison)) { + throw new RangeError("Invalid time value"); + } + + const localizeOptions = Object.assign({}, options, { + addSuffix: options?.addSuffix, + comparison: comparison, + }); + + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + ...(comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]), + ); + + const roundingMethod = getRoundingMethod(options?.roundingMethod ?? "round"); + + const milliseconds = earlierDate_.getTime() - laterDate_.getTime(); + const minutes = milliseconds / millisecondsInMinute; + + const timezoneOffset = + getTimezoneOffsetInMilliseconds(earlierDate_) - + getTimezoneOffsetInMilliseconds(laterDate_); + + // Use DST-normalized difference in minutes for years, months and days; + // use regular difference in minutes for hours, minutes and seconds. + const dstNormalizedMinutes = + (milliseconds - timezoneOffset) / millisecondsInMinute; + + const defaultUnit = options?.unit; + let unit; + if (!defaultUnit) { + if (minutes < 1) { + unit = "second"; + } else if (minutes < 60) { + unit = "minute"; + } else if (minutes < minutesInDay) { + unit = "hour"; + } else if (dstNormalizedMinutes < minutesInMonth) { + unit = "day"; + } else if (dstNormalizedMinutes < minutesInYear) { + unit = "month"; + } else { + unit = "year"; + } + } else { + unit = defaultUnit; + } + + // 0 up to 60 seconds + if (unit === "second") { + const seconds = roundingMethod(milliseconds / 1000); + return locale.formatDistance("xSeconds", seconds, localizeOptions); + + // 1 up to 60 mins + } else if (unit === "minute") { + const roundedMinutes = roundingMethod(minutes); + return locale.formatDistance("xMinutes", roundedMinutes, localizeOptions); + + // 1 up to 24 hours + } else if (unit === "hour") { + const hours = roundingMethod(minutes / 60); + return locale.formatDistance("xHours", hours, localizeOptions); + + // 1 up to 30 days + } else if (unit === "day") { + const days = roundingMethod(dstNormalizedMinutes / minutesInDay); + return locale.formatDistance("xDays", days, localizeOptions); + + // 1 up to 12 months + } else if (unit === "month") { + const months = roundingMethod(dstNormalizedMinutes / minutesInMonth); + return months === 12 && defaultUnit !== "month" + ? locale.formatDistance("xYears", 1, localizeOptions) + : locale.formatDistance("xMonths", months, localizeOptions); + + // 1 year up to max Date + } else { + const years = roundingMethod(dstNormalizedMinutes / minutesInYear); + return locale.formatDistance("xYears", years, localizeOptions); + } +} + +// Fallback for modularized imports: +export default formatDistanceStrict; diff --git a/.output/server/node_modules/date-fns/formatDistanceToNow.js b/.output/server/node_modules/date-fns/formatDistanceToNow.js new file mode 100644 index 00000000..85798ac1 --- /dev/null +++ b/.output/server/node_modules/date-fns/formatDistanceToNow.js @@ -0,0 +1,95 @@ +import { constructNow } from "./constructNow.js"; + +import { formatDistance } from "./formatDistance.js"; + +/** + * The {@link formatDistanceToNow} function options. + */ + +/** + * @name formatDistanceToNow + * @category Common Helpers + * @summary Return the distance between the given date and now in words. + * @pure false + * + * @description + * Return the distance between the given date and now in words. + * + * | Distance to now | Result | + * |-------------------------------------------------------------------|---------------------| + * | 0 ... 30 secs | less than a minute | + * | 30 secs ... 1 min 30 secs | 1 minute | + * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | + * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | + * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | + * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | + * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | + * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | + * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | + * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | + * | 1 yr ... 1 yr 3 months | about 1 year | + * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | + * | 1 yr 9 months ... 2 yrs | almost 2 years | + * | N yrs ... N yrs 3 months | about N years | + * | N yrs 3 months ... N yrs 9 months | over N years | + * | N yrs 9 months ... N+1 yrs | almost N+1 years | + * + * With `options.includeSeconds == true`: + * | Distance to now | Result | + * |---------------------|----------------------| + * | 0 secs ... 5 secs | less than 5 seconds | + * | 5 secs ... 10 secs | less than 10 seconds | + * | 10 secs ... 20 secs | less than 20 seconds | + * | 20 secs ... 40 secs | half a minute | + * | 40 secs ... 60 secs | less than a minute | + * | 60 secs ... 90 secs | 1 minute | + * + * @param date - The given date + * @param options - The object with options + * + * @returns The distance in words + * + * @throws `date` must not be Invalid Date + * @throws `options.locale` must contain `formatDistance` property + * + * @example + * // If today is 1 January 2015, what is the distance to 2 July 2014? + * const result = formatDistanceToNow( + * new Date(2014, 6, 2) + * ) + * //=> '6 months' + * + * @example + * // If now is 1 January 2015 00:00:00, + * // what is the distance to 1 January 2015 00:00:15, including seconds? + * const result = formatDistanceToNow( + * new Date(2015, 0, 1, 0, 0, 15), + * {includeSeconds: true} + * ) + * //=> 'less than 20 seconds' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 January 2016, with a suffix? + * const result = formatDistanceToNow( + * new Date(2016, 0, 1), + * {addSuffix: true} + * ) + * //=> 'in about 1 year' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 August 2016 in Esperanto? + * const eoLocale = require('date-fns/locale/eo') + * const result = formatDistanceToNow( + * new Date(2016, 7, 1), + * {locale: eoLocale} + * ) + * //=> 'pli ol 1 jaro' + */ +export function formatDistanceToNow(date, options) { + return formatDistance(date, constructNow(date), options); +} + +// Fallback for modularized imports: +export default formatDistanceToNow; diff --git a/.output/server/node_modules/date-fns/formatDistanceToNowStrict.js b/.output/server/node_modules/date-fns/formatDistanceToNowStrict.js new file mode 100644 index 00000000..8a1159fb --- /dev/null +++ b/.output/server/node_modules/date-fns/formatDistanceToNowStrict.js @@ -0,0 +1,85 @@ +import { constructNow } from "./constructNow.js"; + +import { formatDistanceStrict } from "./formatDistanceStrict.js"; + +/** + * The {@link formatDistanceToNowStrict} function options. + */ + +/** + * @name formatDistanceToNowStrict + * @category Common Helpers + * @summary Return the distance between the given date and now in words. + * @pure false + * + * @description + * Return the distance between the given dates in words, using strict units. + * This is like `formatDistance`, but does not use helpers like 'almost', 'over', + * 'less than' and the like. + * + * | Distance between dates | Result | + * |------------------------|---------------------| + * | 0 ... 59 secs | [0..59] seconds | + * | 1 ... 59 mins | [1..59] minutes | + * | 1 ... 23 hrs | [1..23] hours | + * | 1 ... 29 days | [1..29] days | + * | 1 ... 11 months | [1..11] months | + * | 1 ... N years | [1..N] years | + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The distance in words + * + * @throws `date` must not be Invalid Date + * @throws `options.locale` must contain `formatDistance` property + * + * @example + * // If today is 1 January 2015, what is the distance to 2 July 2014? + * const result = formatDistanceToNowStrict( + * new Date(2014, 6, 2) + * ) + * //=> '6 months' + * + * @example + * // If now is 1 January 2015 00:00:00, + * // what is the distance to 1 January 2015 00:00:15, including seconds? + * const result = formatDistanceToNowStrict( + * new Date(2015, 0, 1, 0, 0, 15) + * ) + * //=> '15 seconds' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 January 2016, with a suffix? + * const result = formatDistanceToNowStrict( + * new Date(2016, 0, 1), + * {addSuffix: true} + * ) + * //=> 'in 1 year' + * + * @example + * // If today is 28 January 2015, + * // what is the distance to 1 January 2015, in months, rounded up?? + * const result = formatDistanceToNowStrict(new Date(2015, 0, 1), { + * unit: 'month', + * roundingMethod: 'ceil' + * }) + * //=> '1 month' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 January 2016 in Esperanto? + * const eoLocale = require('date-fns/locale/eo') + * const result = formatDistanceToNowStrict( + * new Date(2016, 0, 1), + * {locale: eoLocale} + * ) + * //=> '1 jaro' + */ +export function formatDistanceToNowStrict(date, options) { + return formatDistanceStrict(date, constructNow(date), options); +} + +// Fallback for modularized imports: +export default formatDistanceToNowStrict; diff --git a/.output/server/node_modules/date-fns/formatDuration.js b/.output/server/node_modules/date-fns/formatDuration.js new file mode 100644 index 00000000..dd06f16e --- /dev/null +++ b/.output/server/node_modules/date-fns/formatDuration.js @@ -0,0 +1,102 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { getDefaultOptions } from "./_lib/defaultOptions.js"; + +/** + * The {@link formatDuration} function options. + */ + +const defaultFormat = [ + "years", + "months", + "weeks", + "days", + "hours", + "minutes", + "seconds", +]; + +/** + * @name formatDuration + * @category Common Helpers + * @summary Formats a duration in human-readable format + * + * @description + * Return human-readable duration string i.e. "9 months 2 days" + * + * @param duration - The duration to format + * @param options - An object with options. + * + * @returns The formatted date string + * + * @example + * // Format full duration + * formatDuration({ + * years: 2, + * months: 9, + * weeks: 1, + * days: 7, + * hours: 5, + * minutes: 9, + * seconds: 30 + * }) + * //=> '2 years 9 months 1 week 7 days 5 hours 9 minutes 30 seconds' + * + * @example + * // Format partial duration + * formatDuration({ months: 9, days: 2 }) + * //=> '9 months 2 days' + * + * @example + * // Customize the format + * formatDuration( + * { + * years: 2, + * months: 9, + * weeks: 1, + * days: 7, + * hours: 5, + * minutes: 9, + * seconds: 30 + * }, + * { format: ['months', 'weeks'] } + * ) === '9 months 1 week' + * + * @example + * // Customize the zeros presence + * formatDuration({ years: 0, months: 9 }) + * //=> '9 months' + * formatDuration({ years: 0, months: 9 }, { zero: true }) + * //=> '0 years 9 months' + * + * @example + * // Customize the delimiter + * formatDuration({ years: 2, months: 9, weeks: 3 }, { delimiter: ', ' }) + * //=> '2 years, 9 months, 3 weeks' + */ +export function formatDuration(duration, options) { + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + const format = options?.format ?? defaultFormat; + const zero = options?.zero ?? false; + const delimiter = options?.delimiter ?? " "; + + if (!locale.formatDistance) { + return ""; + } + + const result = format + .reduce((acc, unit) => { + const token = `x${unit.replace(/(^.)/, (m) => m.toUpperCase())}`; + const value = duration[unit]; + if (value !== undefined && (zero || duration[unit])) { + return acc.concat(locale.formatDistance(token, value)); + } + return acc; + }, []) + .join(delimiter); + + return result; +} + +// Fallback for modularized imports: +export default formatDuration; diff --git a/.output/server/node_modules/date-fns/formatISO.js b/.output/server/node_modules/date-fns/formatISO.js new file mode 100644 index 00000000..e75177df --- /dev/null +++ b/.output/server/node_modules/date-fns/formatISO.js @@ -0,0 +1,104 @@ +import { addLeadingZeros } from "./_lib/addLeadingZeros.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link formatISO} function options. + */ + +/** + * @name formatISO + * @category Common Helpers + * @summary Format the date according to the ISO 8601 standard (https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm). + * + * @description + * Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date. + * + * @param date - The original date + * @param options - An object with options. + * + * @returns The formatted date string (in local time zone) + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC): + * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52)) + * //=> '2019-09-18T19:00:52Z' + * + * @example + * // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC): + * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' }) + * //=> '20190918T190052' + * + * @example + * // Represent 18 September 2019 in ISO 8601 format, date only: + * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' }) + * //=> '2019-09-18' + * + * @example + * // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC): + * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' }) + * //=> '19:00:52Z' + */ +export function formatISO(date, options) { + const date_ = toDate(date, options?.in); + + if (isNaN(+date_)) { + throw new RangeError("Invalid time value"); + } + + const format = options?.format ?? "extended"; + const representation = options?.representation ?? "complete"; + + let result = ""; + let tzOffset = ""; + + const dateDelimiter = format === "extended" ? "-" : ""; + const timeDelimiter = format === "extended" ? ":" : ""; + + // Representation is either 'date' or 'complete' + if (representation !== "time") { + const day = addLeadingZeros(date_.getDate(), 2); + const month = addLeadingZeros(date_.getMonth() + 1, 2); + const year = addLeadingZeros(date_.getFullYear(), 4); + + // yyyyMMdd or yyyy-MM-dd. + result = `${year}${dateDelimiter}${month}${dateDelimiter}${day}`; + } + + // Representation is either 'time' or 'complete' + if (representation !== "date") { + // Add the timezone. + const offset = date_.getTimezoneOffset(); + + if (offset !== 0) { + const absoluteOffset = Math.abs(offset); + const hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2); + const minuteOffset = addLeadingZeros(absoluteOffset % 60, 2); + // If less than 0, the sign is +, because it is ahead of time. + const sign = offset < 0 ? "+" : "-"; + + tzOffset = `${sign}${hourOffset}:${minuteOffset}`; + } else { + tzOffset = "Z"; + } + + const hour = addLeadingZeros(date_.getHours(), 2); + const minute = addLeadingZeros(date_.getMinutes(), 2); + const second = addLeadingZeros(date_.getSeconds(), 2); + + // If there's also date, separate it with time with 'T' + const separator = result === "" ? "" : "T"; + + // Creates a time string consisting of hour, minute, and second, separated by delimiters, if defined. + const time = [hour, minute, second].join(timeDelimiter); + + // HHmmss or HH:mm:ss. + result = `${result}${separator}${time}${tzOffset}`; + } + + return result; +} + +// Fallback for modularized imports: +export default formatISO; diff --git a/.output/server/node_modules/date-fns/formatISO9075.js b/.output/server/node_modules/date-fns/formatISO9075.js new file mode 100644 index 00000000..cea94539 --- /dev/null +++ b/.output/server/node_modules/date-fns/formatISO9075.js @@ -0,0 +1,86 @@ +import { addLeadingZeros } from "./_lib/addLeadingZeros.js"; +import { isValid } from "./isValid.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link formatISO9075} function options. + */ + +/** + * @name formatISO9075 + * @category Common Helpers + * @summary Format the date according to the ISO 9075 standard (https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_get-format). + * + * @description + * Return the formatted date string in ISO 9075 format. Options may be passed to control the parts and notations of the date. + * + * @param date - The original date + * @param options - An object with options. + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 18 September 2019 in ISO 9075 format: + * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52)) + * //=> '2019-09-18 19:00:52' + * + * @example + * // Represent 18 September 2019 in ISO 9075, short format: + * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' }) + * //=> '20190918 190052' + * + * @example + * // Represent 18 September 2019 in ISO 9075 format, date only: + * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' }) + * //=> '2019-09-18' + * + * @example + * // Represent 18 September 2019 in ISO 9075 format, time only: + * const result = formatISO9075(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' }) + * //=> '19:00:52' + */ +export function formatISO9075(date, options) { + const date_ = toDate(date, options?.in); + + if (!isValid(date_)) { + throw new RangeError("Invalid time value"); + } + + const format = options?.format ?? "extended"; + const representation = options?.representation ?? "complete"; + + let result = ""; + + const dateDelimiter = format === "extended" ? "-" : ""; + const timeDelimiter = format === "extended" ? ":" : ""; + + // Representation is either 'date' or 'complete' + if (representation !== "time") { + const day = addLeadingZeros(date_.getDate(), 2); + const month = addLeadingZeros(date_.getMonth() + 1, 2); + const year = addLeadingZeros(date_.getFullYear(), 4); + + // yyyyMMdd or yyyy-MM-dd. + result = `${year}${dateDelimiter}${month}${dateDelimiter}${day}`; + } + + // Representation is either 'time' or 'complete' + if (representation !== "date") { + const hour = addLeadingZeros(date_.getHours(), 2); + const minute = addLeadingZeros(date_.getMinutes(), 2); + const second = addLeadingZeros(date_.getSeconds(), 2); + + // If there's also date, separate it with time with a space + const separator = result === "" ? "" : " "; + + // HHmmss or HH:mm:ss. + result = `${result}${separator}${hour}${timeDelimiter}${minute}${timeDelimiter}${second}`; + } + + return result; +} + +// Fallback for modularized imports: +export default formatISO9075; diff --git a/.output/server/node_modules/date-fns/formatISODuration.js b/.output/server/node_modules/date-fns/formatISODuration.js new file mode 100644 index 00000000..e40c538f --- /dev/null +++ b/.output/server/node_modules/date-fns/formatISODuration.js @@ -0,0 +1,39 @@ +/** + * @name formatISODuration + * @category Common Helpers + * @summary Format a duration object according as ISO 8601 duration string + * + * @description + * Format a duration object according to the ISO 8601 duration standard (https://www.digi.com/resources/documentation/digidocs//90001488-13/reference/r_iso_8601_duration_format.htm) + * + * @param duration - The duration to format + * + * @returns The ISO 8601 duration string + * + * @example + * // Format the given duration as ISO 8601 string + * const result = formatISODuration({ + * years: 39, + * months: 2, + * days: 20, + * hours: 7, + * minutes: 5, + * seconds: 0 + * }) + * //=> 'P39Y2M20DT0H0M0S' + */ +export function formatISODuration(duration) { + const { + years = 0, + months = 0, + days = 0, + hours = 0, + minutes = 0, + seconds = 0, + } = duration; + + return `P${years}Y${months}M${days}DT${hours}H${minutes}M${seconds}S`; +} + +// Fallback for modularized imports: +export default formatISODuration; diff --git a/.output/server/node_modules/date-fns/formatRFC3339.js b/.output/server/node_modules/date-fns/formatRFC3339.js new file mode 100644 index 00000000..0599f9af --- /dev/null +++ b/.output/server/node_modules/date-fns/formatRFC3339.js @@ -0,0 +1,81 @@ +import { addLeadingZeros } from "./_lib/addLeadingZeros.js"; +import { isValid } from "./isValid.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link formatRFC3339} function options. + */ + +/** + * @name formatRFC3339 + * @category Common Helpers + * @summary Format the date according to the RFC 3339 standard (https://tools.ietf.org/html/rfc3339#section-5.6). + * + * @description + * Return the formatted date string in RFC 3339 format. Options may be passed to control the parts and notations of the date. + * + * @param date - The original date + * @param options - An object with options. + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 18 September 2019 in RFC 3339 format: + * formatRFC3339(new Date(2019, 8, 18, 19, 0, 52)) + * //=> '2019-09-18T19:00:52Z' + * + * @example + * // Represent 18 September 2019 in RFC 3339 format, 3 digits of second fraction + * formatRFC3339(new Date(2019, 8, 18, 19, 0, 52, 234), { + * fractionDigits: 3 + * }) + * //=> '2019-09-18T19:00:52.234Z' + */ +export function formatRFC3339(date, options) { + const date_ = toDate(date, options?.in); + + if (!isValid(date_)) { + throw new RangeError("Invalid time value"); + } + + const fractionDigits = options?.fractionDigits ?? 0; + + const day = addLeadingZeros(date_.getDate(), 2); + const month = addLeadingZeros(date_.getMonth() + 1, 2); + const year = date_.getFullYear(); + + const hour = addLeadingZeros(date_.getHours(), 2); + const minute = addLeadingZeros(date_.getMinutes(), 2); + const second = addLeadingZeros(date_.getSeconds(), 2); + + let fractionalSecond = ""; + if (fractionDigits > 0) { + const milliseconds = date_.getMilliseconds(); + const fractionalSeconds = Math.trunc( + milliseconds * Math.pow(10, fractionDigits - 3), + ); + fractionalSecond = "." + addLeadingZeros(fractionalSeconds, fractionDigits); + } + + let offset = ""; + const tzOffset = date_.getTimezoneOffset(); + + if (tzOffset !== 0) { + const absoluteOffset = Math.abs(tzOffset); + const hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2); + const minuteOffset = addLeadingZeros(absoluteOffset % 60, 2); + // If less than 0, the sign is +, because it is ahead of time. + const sign = tzOffset < 0 ? "+" : "-"; + + offset = `${sign}${hourOffset}:${minuteOffset}`; + } else { + offset = "Z"; + } + + return `${year}-${month}-${day}T${hour}:${minute}:${second}${fractionalSecond}${offset}`; +} + +// Fallback for modularized imports: +export default formatRFC3339; diff --git a/.output/server/node_modules/date-fns/formatRFC7231.js b/.output/server/node_modules/date-fns/formatRFC7231.js new file mode 100644 index 00000000..e1e1b881 --- /dev/null +++ b/.output/server/node_modules/date-fns/formatRFC7231.js @@ -0,0 +1,63 @@ +import { addLeadingZeros } from "./_lib/addLeadingZeros.js"; +import { isValid } from "./isValid.js"; +import { toDate } from "./toDate.js"; + +const days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; + +const months = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", +]; + +/** + * @name formatRFC7231 + * @category Common Helpers + * @summary Format the date according to the RFC 7231 standard (https://tools.ietf.org/html/rfc7231#section-7.1.1.1). + * + * @description + * Return the formatted date string in RFC 7231 format. + * The result will always be in UTC timezone. + * + * @param date - The original date + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 18 September 2019 in RFC 7231 format: + * const result = formatRFC7231(new Date(2019, 8, 18, 19, 0, 52)) + * //=> 'Wed, 18 Sep 2019 19:00:52 GMT' + */ +export function formatRFC7231(date) { + const _date = toDate(date); + + if (!isValid(_date)) { + throw new RangeError("Invalid time value"); + } + + const dayName = days[_date.getUTCDay()]; + const dayOfMonth = addLeadingZeros(_date.getUTCDate(), 2); + const monthName = months[_date.getUTCMonth()]; + const year = _date.getUTCFullYear(); + + const hour = addLeadingZeros(_date.getUTCHours(), 2); + const minute = addLeadingZeros(_date.getUTCMinutes(), 2); + const second = addLeadingZeros(_date.getUTCSeconds(), 2); + + // Result variables. + return `${dayName}, ${dayOfMonth} ${monthName} ${year} ${hour}:${minute}:${second} GMT`; +} + +// Fallback for modularized imports: +export default formatRFC7231; diff --git a/.output/server/node_modules/date-fns/formatRelative.js b/.output/server/node_modules/date-fns/formatRelative.js new file mode 100644 index 00000000..a564b041 --- /dev/null +++ b/.output/server/node_modules/date-fns/formatRelative.js @@ -0,0 +1,88 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { format } from "./format.js"; + +/** + * The {@link formatRelative} function options. + */ + +/** + * @name formatRelative + * @category Common Helpers + * @summary Represent the date in words relative to the given base date. + * + * @description + * Represent the date in words relative to the given base date. + * + * | Distance to the base date | Result | + * |---------------------------|---------------------------| + * | Previous 6 days | last Sunday at 04:30 AM | + * | Last day | yesterday at 04:30 AM | + * | Same day | today at 04:30 AM | + * | Next day | tomorrow at 04:30 AM | + * | Next 6 days | Sunday at 04:30 AM | + * | Other | 12/31/2017 | + * + * @param date - The date to format + * @param baseDate - The date to compare with + * @param options - An object with options + * + * @returns The date in words + * + * @throws `date` must not be Invalid Date + * @throws `baseDate` must not be Invalid Date + * @throws `options.locale` must contain `localize` property + * @throws `options.locale` must contain `formatLong` property + * @throws `options.locale` must contain `formatRelative` property + * + * @example + * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday + * const result = formatRelative(subDays(new Date(), 6), new Date()) + * //=> "last Thursday at 12:45 AM" + */ +export function formatRelative(date, baseDate, options) { + const [date_, baseDate_] = normalizeDates(options?.in, date, baseDate); + + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const diff = differenceInCalendarDays(date_, baseDate_); + + if (isNaN(diff)) { + throw new RangeError("Invalid time value"); + } + + let token; + if (diff < -6) { + token = "other"; + } else if (diff < -1) { + token = "lastWeek"; + } else if (diff < 0) { + token = "yesterday"; + } else if (diff < 1) { + token = "today"; + } else if (diff < 2) { + token = "tomorrow"; + } else if (diff < 7) { + token = "nextWeek"; + } else { + token = "other"; + } + + const formatStr = locale.formatRelative(token, date_, baseDate_, { + locale, + weekStartsOn, + }); + return format(date_, formatStr, { locale, weekStartsOn }); +} + +// Fallback for modularized imports: +export default formatRelative; diff --git a/.output/server/node_modules/date-fns/fromUnixTime.js b/.output/server/node_modules/date-fns/fromUnixTime.js new file mode 100644 index 00000000..08e2fde0 --- /dev/null +++ b/.output/server/node_modules/date-fns/fromUnixTime.js @@ -0,0 +1,32 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link fromUnixTime} function options. + */ + +/** + * @name fromUnixTime + * @category Timestamp Helpers + * @summary Create a date from a Unix timestamp. + * + * @description + * Create a date from a Unix timestamp (in seconds). Decimal values will be discarded. + * + * @param unixTime - The given Unix timestamp (in seconds) + * @param options - An object with options. Allows to pass a context. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * + * @returns The date + * + * @example + * // Create the date 29 February 2012 11:45:05: + * const result = fromUnixTime(1330515905) + * //=> Wed Feb 29 2012 11:45:05 + */ +export function fromUnixTime(unixTime, options) { + return toDate(unixTime * 1000, options?.in); +} + +// Fallback for modularized imports: +export default fromUnixTime; diff --git a/.output/server/node_modules/date-fns/getDate.js b/.output/server/node_modules/date-fns/getDate.js new file mode 100644 index 00000000..0261cb36 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDate.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getDate} function options. + */ + +/** + * @name getDate + * @category Day Helpers + * @summary Get the day of the month of the given date. + * + * @description + * Get the day of the month of the given date. + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The day of month + * + * @example + * // Which day of the month is 29 February 2012? + * const result = getDate(new Date(2012, 1, 29)) + * //=> 29 + */ +export function getDate(date, options) { + return toDate(date, options?.in).getDate(); +} + +// Fallback for modularized imports: +export default getDate; diff --git a/.output/server/node_modules/date-fns/getDay.js b/.output/server/node_modules/date-fns/getDay.js new file mode 100644 index 00000000..8f00e3a2 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDay.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getDay} function options. + */ + +/** + * @name getDay + * @category Weekday Helpers + * @summary Get the day of the week of the given date. + * + * @description + * Get the day of the week of the given date. + * + * @param date - The given date + * @param options - The options + * + * @returns The day of week, 0 represents Sunday + * + * @example + * // Which day of the week is 29 February 2012? + * const result = getDay(new Date(2012, 1, 29)) + * //=> 3 + */ +export function getDay(date, options) { + return toDate(date, options?.in).getDay(); +} + +// Fallback for modularized imports: +export default getDay; diff --git a/.output/server/node_modules/date-fns/getDayOfYear.js b/.output/server/node_modules/date-fns/getDayOfYear.js new file mode 100644 index 00000000..6ca39fca --- /dev/null +++ b/.output/server/node_modules/date-fns/getDayOfYear.js @@ -0,0 +1,35 @@ +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { startOfYear } from "./startOfYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getDayOfYear} function options. + */ + +/** + * @name getDayOfYear + * @category Day Helpers + * @summary Get the day of the year of the given date. + * + * @description + * Get the day of the year of the given date. + * + * @param date - The given date + * @param options - The options + * + * @returns The day of year + * + * @example + * // Which day of the year is 2 July 2014? + * const result = getDayOfYear(new Date(2014, 6, 2)) + * //=> 183 + */ +export function getDayOfYear(date, options) { + const _date = toDate(date, options?.in); + const diff = differenceInCalendarDays(_date, startOfYear(_date)); + const dayOfYear = diff + 1; + return dayOfYear; +} + +// Fallback for modularized imports: +export default getDayOfYear; diff --git a/.output/server/node_modules/date-fns/getDaysInMonth.js b/.output/server/node_modules/date-fns/getDaysInMonth.js new file mode 100644 index 00000000..55afc374 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDaysInMonth.js @@ -0,0 +1,37 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getDaysInMonth} function options. + */ + +/** + * @name getDaysInMonth + * @category Month Helpers + * @summary Get the number of days in a month of the given date. + * + * @description + * Get the number of days in a month of the given date, considering the context if provided. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The number of days in a month + * + * @example + * // How many days are in February 2000? + * const result = getDaysInMonth(new Date(2000, 1)) + * //=> 29 + */ +export function getDaysInMonth(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const monthIndex = _date.getMonth(); + const lastDayOfMonth = constructFrom(_date, 0); + lastDayOfMonth.setFullYear(year, monthIndex + 1, 0); + lastDayOfMonth.setHours(0, 0, 0, 0); + return lastDayOfMonth.getDate(); +} + +// Fallback for modularized imports: +export default getDaysInMonth; diff --git a/.output/server/node_modules/date-fns/getDaysInYear.js b/.output/server/node_modules/date-fns/getDaysInYear.js new file mode 100644 index 00000000..73642200 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDaysInYear.js @@ -0,0 +1,33 @@ +import { isLeapYear } from "./isLeapYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getDaysInYear} function options. + */ + +/** + * @name getDaysInYear + * @category Year Helpers + * @summary Get the number of days in a year of the given date. + * + * @description + * Get the number of days in a year of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The number of days in a year + * + * @example + * // How many days are in 2012? + * const result = getDaysInYear(new Date(2012, 0, 1)) + * //=> 366 + */ +export function getDaysInYear(date, options) { + const _date = toDate(date, options?.in); + if (Number.isNaN(+_date)) return NaN; + return isLeapYear(_date) ? 366 : 365; +} + +// Fallback for modularized imports: +export default getDaysInYear; diff --git a/.output/server/node_modules/date-fns/getDecade.js b/.output/server/node_modules/date-fns/getDecade.js new file mode 100644 index 00000000..2d01fb00 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDecade.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getDecade} function options. + */ + +/** + * @name getDecade + * @category Decade Helpers + * @summary Get the decade of the given date. + * + * @description + * Get the decade of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The year of decade + * + * @example + * // Which decade belongs 27 November 1942? + * const result = getDecade(new Date(1942, 10, 27)) + * //=> 1940 + */ +export function getDecade(date, options) { + // TODO: Switch to more technical definition in of decades that start with 1 + // end with 0. I.e. 2001-2010 instead of current 2000-2009. It's a breaking + // change, so it can only be done in 4.0. + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const decade = Math.floor(year / 10) * 10; + return decade; +} + +// Fallback for modularized imports: +export default getDecade; diff --git a/.output/server/node_modules/date-fns/getDefaultOptions.js b/.output/server/node_modules/date-fns/getDefaultOptions.js new file mode 100644 index 00000000..dc265097 --- /dev/null +++ b/.output/server/node_modules/date-fns/getDefaultOptions.js @@ -0,0 +1,32 @@ +import { getDefaultOptions as getInternalDefaultOptions } from "./_lib/defaultOptions.js"; + +/** + * @name getDefaultOptions + * @category Common Helpers + * @summary Get default options. + * @pure false + * + * @description + * Returns an object that contains defaults for + * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate` + * arguments for all functions. + * + * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions). + * + * @returns The default options + * + * @example + * const result = getDefaultOptions() + * //=> {} + * + * @example + * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 }) + * const result = getDefaultOptions() + * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 } + */ +export function getDefaultOptions() { + return Object.assign({}, getInternalDefaultOptions()); +} + +// Fallback for modularized imports: +export default getDefaultOptions; diff --git a/.output/server/node_modules/date-fns/getHours.js b/.output/server/node_modules/date-fns/getHours.js new file mode 100644 index 00000000..9ac006f5 --- /dev/null +++ b/.output/server/node_modules/date-fns/getHours.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getHours} function options. + */ + +/** + * @name getHours + * @category Hour Helpers + * @summary Get the hours of the given date. + * + * @description + * Get the hours of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The hours + * + * @example + * // Get the hours of 29 February 2012 11:45:00: + * const result = getHours(new Date(2012, 1, 29, 11, 45)) + * //=> 11 + */ +export function getHours(date, options) { + return toDate(date, options?.in).getHours(); +} + +// Fallback for modularized imports: +export default getHours; diff --git a/.output/server/node_modules/date-fns/getISODay.js b/.output/server/node_modules/date-fns/getISODay.js new file mode 100644 index 00000000..435ce01c --- /dev/null +++ b/.output/server/node_modules/date-fns/getISODay.js @@ -0,0 +1,34 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getISODay} function options. + */ + +/** + * @name getISODay + * @category Weekday Helpers + * @summary Get the day of the ISO week of the given date. + * + * @description + * Get the day of the ISO week of the given date, + * which is 7 for Sunday, 1 for Monday etc. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * @param options - An object with options + * + * @returns The day of ISO week + * + * @example + * // Which day of the ISO week is 26 February 2012? + * const result = getISODay(new Date(2012, 1, 26)) + * //=> 7 + */ +export function getISODay(date, options) { + const day = toDate(date, options?.in).getDay(); + return day === 0 ? 7 : day; +} + +// Fallback for modularized imports: +export default getISODay; diff --git a/.output/server/node_modules/date-fns/getISOWeek.js b/.output/server/node_modules/date-fns/getISOWeek.js new file mode 100644 index 00000000..debec381 --- /dev/null +++ b/.output/server/node_modules/date-fns/getISOWeek.js @@ -0,0 +1,41 @@ +import { millisecondsInWeek } from "./constants.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; +import { startOfISOWeekYear } from "./startOfISOWeekYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getISOWeek} function options. + */ + +/** + * @name getISOWeek + * @category ISO Week Helpers + * @summary Get the ISO week of the given date. + * + * @description + * Get the ISO week of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * @param options - The options + * + * @returns The ISO week + * + * @example + * // Which week of the ISO-week numbering year is 2 January 2005? + * const result = getISOWeek(new Date(2005, 0, 2)) + * //=> 53 + */ +export function getISOWeek(date, options) { + const _date = toDate(date, options?.in); + const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date); + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round(diff / millisecondsInWeek) + 1; +} + +// Fallback for modularized imports: +export default getISOWeek; diff --git a/.output/server/node_modules/date-fns/getISOWeekYear.js b/.output/server/node_modules/date-fns/getISOWeekYear.js new file mode 100644 index 00000000..e603b566 --- /dev/null +++ b/.output/server/node_modules/date-fns/getISOWeekYear.js @@ -0,0 +1,53 @@ +import { constructFrom } from "./constructFrom.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getISOWeekYear} function options. + */ + +/** + * @name getISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the ISO week-numbering year of the given date. + * + * @description + * Get the ISO week-numbering year of the given date, + * which always starts 3 days before the year's first Thursday. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * + * @returns The ISO week-numbering year + * + * @example + * // Which ISO-week numbering year is 2 January 2005? + * const result = getISOWeekYear(new Date(2005, 0, 2)) + * //=> 2004 + */ +export function getISOWeekYear(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + + const fourthOfJanuaryOfNextYear = constructFrom(_date, 0); + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); + const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear); + + const fourthOfJanuaryOfThisYear = constructFrom(_date, 0); + fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4); + fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0); + const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear); + + if (_date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (_date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + +// Fallback for modularized imports: +export default getISOWeekYear; diff --git a/.output/server/node_modules/date-fns/getISOWeeksInYear.js b/.output/server/node_modules/date-fns/getISOWeeksInYear.js new file mode 100644 index 00000000..536334cc --- /dev/null +++ b/.output/server/node_modules/date-fns/getISOWeeksInYear.js @@ -0,0 +1,41 @@ +import { addWeeks } from "./addWeeks.js"; +import { millisecondsInWeek } from "./constants.js"; +import { startOfISOWeekYear } from "./startOfISOWeekYear.js"; + +/** + * The {@link getISOWeeksInYear} function options. + */ + +/** + * @name getISOWeeksInYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of weeks in an ISO week-numbering year of the given date. + * + * @description + * Get the number of weeks in an ISO week-numbering year of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The given date + * @param options - An object with options + * + * @returns The number of ISO weeks in a year + * + * @example + * // How many weeks are in ISO week-numbering year 2015? + * const result = getISOWeeksInYear(new Date(2015, 1, 11)) + * //=> 53 + */ +export function getISOWeeksInYear(date, options) { + const thisYear = startOfISOWeekYear(date, options); + const nextYear = startOfISOWeekYear(addWeeks(thisYear, 60)); + const diff = +nextYear - +thisYear; + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round(diff / millisecondsInWeek); +} + +// Fallback for modularized imports: +export default getISOWeeksInYear; diff --git a/.output/server/node_modules/date-fns/getMilliseconds.js b/.output/server/node_modules/date-fns/getMilliseconds.js new file mode 100644 index 00000000..9f70e7dc --- /dev/null +++ b/.output/server/node_modules/date-fns/getMilliseconds.js @@ -0,0 +1,25 @@ +import { toDate } from "./toDate.js"; + +/** + * @name getMilliseconds + * @category Millisecond Helpers + * @summary Get the milliseconds of the given date. + * + * @description + * Get the milliseconds of the given date. + * + * @param date - The given date + * + * @returns The milliseconds + * + * @example + * // Get the milliseconds of 29 February 2012 11:45:05.123: + * const result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 123 + */ +export function getMilliseconds(date) { + return toDate(date).getMilliseconds(); +} + +// Fallback for modularized imports: +export default getMilliseconds; diff --git a/.output/server/node_modules/date-fns/getMinutes.js b/.output/server/node_modules/date-fns/getMinutes.js new file mode 100644 index 00000000..0b54b517 --- /dev/null +++ b/.output/server/node_modules/date-fns/getMinutes.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getMinutes} function options. + */ + +/** + * @name getMinutes + * @category Minute Helpers + * @summary Get the minutes of the given date. + * + * @description + * Get the minutes of the given date. + * + * @param date - The given date + * @param options - The options + * + * @returns The minutes + * + * @example + * // Get the minutes of 29 February 2012 11:45:05: + * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5)) + * //=> 45 + */ +export function getMinutes(date, options) { + return toDate(date, options?.in).getMinutes(); +} + +// Fallback for modularized imports: +export default getMinutes; diff --git a/.output/server/node_modules/date-fns/getMonth.js b/.output/server/node_modules/date-fns/getMonth.js new file mode 100644 index 00000000..ec0a7716 --- /dev/null +++ b/.output/server/node_modules/date-fns/getMonth.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getMonth} function options. + */ + +/** + * @name getMonth + * @category Month Helpers + * @summary Get the month of the given date. + * + * @description + * Get the month of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The month index (0-11) + * + * @example + * // Which month is 29 February 2012? + * const result = getMonth(new Date(2012, 1, 29)) + * //=> 1 + */ +export function getMonth(date, options) { + return toDate(date, options?.in).getMonth(); +} + +// Fallback for modularized imports: +export default getMonth; diff --git a/.output/server/node_modules/date-fns/getOverlappingDaysInIntervals.js b/.output/server/node_modules/date-fns/getOverlappingDaysInIntervals.js new file mode 100644 index 00000000..18a03982 --- /dev/null +++ b/.output/server/node_modules/date-fns/getOverlappingDaysInIntervals.js @@ -0,0 +1,66 @@ +import { getTimezoneOffsetInMilliseconds } from "./_lib/getTimezoneOffsetInMilliseconds.js"; +import { millisecondsInDay } from "./constants.js"; +import { toDate } from "./toDate.js"; + +/** + * @name getOverlappingDaysInIntervals + * @category Interval Helpers + * @summary Get the number of days that overlap in two time intervals + * + * @description + * Get the number of days that overlap in two time intervals. It uses the time + * between dates to calculate the number of days, rounding it up to include + * partial days. + * + * Two equal 0-length intervals will result in 0. Two equal 1ms intervals will + * result in 1. + * + * @param intervalLeft - The first interval to compare. + * @param intervalRight - The second interval to compare. + * @param options - An object with options + * + * @returns The number of days that overlap in two time intervals + * + * @example + * // For overlapping time intervals adds 1 for each started overlapping day: + * getOverlappingDaysInIntervals( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * //=> 3 + * + * @example + * // For non-overlapping time intervals returns 0: + * getOverlappingDaysInIntervals( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } + * ) + * //=> 0 + */ + +export function getOverlappingDaysInIntervals(intervalLeft, intervalRight) { + const [leftStart, leftEnd] = [ + +toDate(intervalLeft.start), + +toDate(intervalLeft.end), + ].sort((a, b) => a - b); + const [rightStart, rightEnd] = [ + +toDate(intervalRight.start), + +toDate(intervalRight.end), + ].sort((a, b) => a - b); + + // Prevent NaN result if intervals don't overlap at all. + const isOverlapping = leftStart < rightEnd && rightStart < leftEnd; + if (!isOverlapping) return 0; + + // Remove the timezone offset to negate the DST effect on calculations. + const overlapLeft = rightStart < leftStart ? leftStart : rightStart; + const left = overlapLeft - getTimezoneOffsetInMilliseconds(overlapLeft); + const overlapRight = rightEnd > leftEnd ? leftEnd : rightEnd; + const right = overlapRight - getTimezoneOffsetInMilliseconds(overlapRight); + + // Ceil the number to include partial days too. + return Math.ceil((right - left) / millisecondsInDay); +} + +// Fallback for modularized imports: +export default getOverlappingDaysInIntervals; diff --git a/.output/server/node_modules/date-fns/getQuarter.js b/.output/server/node_modules/date-fns/getQuarter.js new file mode 100644 index 00000000..edb9d8d0 --- /dev/null +++ b/.output/server/node_modules/date-fns/getQuarter.js @@ -0,0 +1,32 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getQuarter} function options. + */ + +/** + * @name getQuarter + * @category Quarter Helpers + * @summary Get the year quarter of the given date. + * + * @description + * Get the year quarter of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The quarter + * + * @example + * // Which quarter is 2 July 2014? + * const result = getQuarter(new Date(2014, 6, 2)); + * //=> 3 + */ +export function getQuarter(date, options) { + const _date = toDate(date, options?.in); + const quarter = Math.trunc(_date.getMonth() / 3) + 1; + return quarter; +} + +// Fallback for modularized imports: +export default getQuarter; diff --git a/.output/server/node_modules/date-fns/getSeconds.js b/.output/server/node_modules/date-fns/getSeconds.js new file mode 100644 index 00000000..7b4a2bde --- /dev/null +++ b/.output/server/node_modules/date-fns/getSeconds.js @@ -0,0 +1,25 @@ +import { toDate } from "./toDate.js"; + +/** + * @name getSeconds + * @category Second Helpers + * @summary Get the seconds of the given date. + * + * @description + * Get the seconds of the given date. + * + * @param date - The given date + * + * @returns The seconds + * + * @example + * // Get the seconds of 29 February 2012 11:45:05.123: + * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 5 + */ +export function getSeconds(date) { + return toDate(date).getSeconds(); +} + +// Fallback for modularized imports: +export default getSeconds; diff --git a/.output/server/node_modules/date-fns/getTime.js b/.output/server/node_modules/date-fns/getTime.js new file mode 100644 index 00000000..e7a3aa82 --- /dev/null +++ b/.output/server/node_modules/date-fns/getTime.js @@ -0,0 +1,25 @@ +import { toDate } from "./toDate.js"; + +/** + * @name getTime + * @category Timestamp Helpers + * @summary Get the milliseconds timestamp of the given date. + * + * @description + * Get the milliseconds timestamp of the given date. + * + * @param date - The given date + * + * @returns The timestamp + * + * @example + * // Get the timestamp of 29 February 2012 11:45:05.123: + * const result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 1330515905123 + */ +export function getTime(date) { + return +toDate(date); +} + +// Fallback for modularized imports: +export default getTime; diff --git a/.output/server/node_modules/date-fns/getUnixTime.js b/.output/server/node_modules/date-fns/getUnixTime.js new file mode 100644 index 00000000..f7e54327 --- /dev/null +++ b/.output/server/node_modules/date-fns/getUnixTime.js @@ -0,0 +1,25 @@ +import { toDate } from "./toDate.js"; + +/** + * @name getUnixTime + * @category Timestamp Helpers + * @summary Get the seconds timestamp of the given date. + * + * @description + * Get the seconds timestamp of the given date. + * + * @param date - The given date + * + * @returns The timestamp + * + * @example + * // Get the timestamp of 29 February 2012 11:45:05 CET: + * const result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5)) + * //=> 1330512305 + */ +export function getUnixTime(date) { + return Math.trunc(+toDate(date) / 1000); +} + +// Fallback for modularized imports: +export default getUnixTime; diff --git a/.output/server/node_modules/date-fns/getWeek.js b/.output/server/node_modules/date-fns/getWeek.js new file mode 100644 index 00000000..5b2aa11e --- /dev/null +++ b/.output/server/node_modules/date-fns/getWeek.js @@ -0,0 +1,55 @@ +import { millisecondsInWeek } from "./constants.js"; +import { startOfWeek } from "./startOfWeek.js"; +import { startOfWeekYear } from "./startOfWeekYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getWeek} function options. + */ + +/** + * @name getWeek + * @category Week Helpers + * @summary Get the local week index of the given date. + * + * @description + * Get the local week index of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @param date - The given date + * @param options - An object with options + * + * @returns The week + * + * @example + * // Which week of the local week numbering year is 2 January 2005 with default options? + * const result = getWeek(new Date(2005, 0, 2)) + * //=> 2 + * + * @example + * // Which week of the local week numbering year is 2 January 2005, + * // if Monday is the first day of the week, + * // and the first week of the year always contains 4 January? + * const result = getWeek(new Date(2005, 0, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> 53 + */ +export function getWeek(date, options) { + const _date = toDate(date, options?.in); + const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options); + + // Round the number of weeks to the nearest integer because the number of + // milliseconds in a week is not constant (e.g. it's different in the week of + // the daylight saving time clock shift). + return Math.round(diff / millisecondsInWeek) + 1; +} + +// Fallback for modularized imports: +export default getWeek; diff --git a/.output/server/node_modules/date-fns/getWeekOfMonth.js b/.output/server/node_modules/date-fns/getWeekOfMonth.js new file mode 100644 index 00000000..ce0d14ec --- /dev/null +++ b/.output/server/node_modules/date-fns/getWeekOfMonth.js @@ -0,0 +1,51 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { getDate } from "./getDate.js"; +import { getDay } from "./getDay.js"; +import { startOfMonth } from "./startOfMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getWeekOfMonth} function options. + */ + +/** + * @name getWeekOfMonth + * @category Week Helpers + * @summary Get the week of the month of the given date. + * + * @description + * Get the week of the month of the given date. + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The week of month + * + * @example + * // Which week of the month is 9 November 2017? + * const result = getWeekOfMonth(new Date(2017, 10, 9)) + * //=> 2 + */ +export function getWeekOfMonth(date, options) { + const defaultOptions = getDefaultOptions(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const currentDayOfMonth = getDate(toDate(date, options?.in)); + if (isNaN(currentDayOfMonth)) return NaN; + + const startWeekDay = getDay(startOfMonth(date, options)); + + let lastDayOfFirstWeek = weekStartsOn - startWeekDay; + if (lastDayOfFirstWeek <= 0) lastDayOfFirstWeek += 7; + + const remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek; + return Math.ceil(remainingDaysAfterFirstWeek / 7) + 1; +} + +// Fallback for modularized imports: +export default getWeekOfMonth; diff --git a/.output/server/node_modules/date-fns/getWeekYear.js b/.output/server/node_modules/date-fns/getWeekYear.js new file mode 100644 index 00000000..f37c953d --- /dev/null +++ b/.output/server/node_modules/date-fns/getWeekYear.js @@ -0,0 +1,76 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { constructFrom } from "./constructFrom.js"; +import { startOfWeek } from "./startOfWeek.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getWeekYear} function options. + */ + +/** + * @name getWeekYear + * @category Week-Numbering Year Helpers + * @summary Get the local week-numbering year of the given date. + * + * @description + * Get the local week-numbering year of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The local week-numbering year + * + * @example + * // Which week numbering year is 26 December 2004 with the default settings? + * const result = getWeekYear(new Date(2004, 11, 26)) + * //=> 2005 + * + * @example + * // Which week numbering year is 26 December 2004 if week starts on Saturday? + * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 }) + * //=> 2004 + * + * @example + * // Which week numbering year is 26 December 2004 if the first week contains 4 January? + * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 }) + * //=> 2004 + */ +export function getWeekYear(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + + const defaultOptions = getDefaultOptions(); + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const firstWeekOfNextYear = constructFrom(options?.in || date, 0); + firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate); + firstWeekOfNextYear.setHours(0, 0, 0, 0); + const startOfNextYear = startOfWeek(firstWeekOfNextYear, options); + + const firstWeekOfThisYear = constructFrom(options?.in || date, 0); + firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate); + firstWeekOfThisYear.setHours(0, 0, 0, 0); + const startOfThisYear = startOfWeek(firstWeekOfThisYear, options); + + if (+_date >= +startOfNextYear) { + return year + 1; + } else if (+_date >= +startOfThisYear) { + return year; + } else { + return year - 1; + } +} + +// Fallback for modularized imports: +export default getWeekYear; diff --git a/.output/server/node_modules/date-fns/getWeeksInMonth.js b/.output/server/node_modules/date-fns/getWeeksInMonth.js new file mode 100644 index 00000000..bf77a0e9 --- /dev/null +++ b/.output/server/node_modules/date-fns/getWeeksInMonth.js @@ -0,0 +1,46 @@ +import { differenceInCalendarWeeks } from "./differenceInCalendarWeeks.js"; +import { lastDayOfMonth } from "./lastDayOfMonth.js"; +import { startOfMonth } from "./startOfMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link getWeeksInMonth} function options. + */ + +/** + * @name getWeeksInMonth + * @category Week Helpers + * @summary Get the number of calendar weeks a month spans. + * + * @description + * Get the number of calendar weeks the month in the given date spans. + * + * @param date - The given date + * @param options - An object with options. + * + * @returns The number of calendar weeks + * + * @example + * // How many calendar weeks does February 2015 span? + * const result = getWeeksInMonth(new Date(2015, 1, 8)) + * //=> 4 + * + * @example + * // If the week starts on Monday, + * // how many calendar weeks does July 2017 span? + * const result = getWeeksInMonth(new Date(2017, 6, 5), { weekStartsOn: 1 }) + * //=> 6 + */ +export function getWeeksInMonth(date, options) { + const contextDate = toDate(date, options?.in); + return ( + differenceInCalendarWeeks( + lastDayOfMonth(contextDate, options), + startOfMonth(contextDate, options), + options, + ) + 1 + ); +} + +// Fallback for modularized imports: +export default getWeeksInMonth; diff --git a/.output/server/node_modules/date-fns/getYear.js b/.output/server/node_modules/date-fns/getYear.js new file mode 100644 index 00000000..cd56e020 --- /dev/null +++ b/.output/server/node_modules/date-fns/getYear.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link getYear} function options. + */ + +/** + * @name getYear + * @category Year Helpers + * @summary Get the year of the given date. + * + * @description + * Get the year of the given date. + * + * @param date - The given date + * @param options - An object with options + * + * @returns The year + * + * @example + * // Which year is 2 July 2014? + * const result = getYear(new Date(2014, 6, 2)) + * //=> 2014 + */ +export function getYear(date, options) { + return toDate(date, options?.in).getFullYear(); +} + +// Fallback for modularized imports: +export default getYear; diff --git a/.output/server/node_modules/date-fns/hoursToMilliseconds.js b/.output/server/node_modules/date-fns/hoursToMilliseconds.js new file mode 100644 index 00000000..bcb524f7 --- /dev/null +++ b/.output/server/node_modules/date-fns/hoursToMilliseconds.js @@ -0,0 +1,25 @@ +import { millisecondsInHour } from "./constants.js"; + +/** + * @name hoursToMilliseconds + * @category Conversion Helpers + * @summary Convert hours to milliseconds. + * + * @description + * Convert a number of hours to a full number of milliseconds. + * + * @param hours - number of hours to be converted + * + * @returns The number of hours converted to milliseconds + * + * @example + * // Convert 2 hours to milliseconds: + * const result = hoursToMilliseconds(2) + * //=> 7200000 + */ +export function hoursToMilliseconds(hours) { + return Math.trunc(hours * millisecondsInHour); +} + +// Fallback for modularized imports: +export default hoursToMilliseconds; diff --git a/.output/server/node_modules/date-fns/hoursToMinutes.js b/.output/server/node_modules/date-fns/hoursToMinutes.js new file mode 100644 index 00000000..9a7d53db --- /dev/null +++ b/.output/server/node_modules/date-fns/hoursToMinutes.js @@ -0,0 +1,25 @@ +import { minutesInHour } from "./constants.js"; + +/** + * @name hoursToMinutes + * @category Conversion Helpers + * @summary Convert hours to minutes. + * + * @description + * Convert a number of hours to a full number of minutes. + * + * @param hours - number of hours to be converted + * + * @returns The number of hours converted in minutes + * + * @example + * // Convert 2 hours to minutes: + * const result = hoursToMinutes(2) + * //=> 120 + */ +export function hoursToMinutes(hours) { + return Math.trunc(hours * minutesInHour); +} + +// Fallback for modularized imports: +export default hoursToMinutes; diff --git a/.output/server/node_modules/date-fns/hoursToSeconds.js b/.output/server/node_modules/date-fns/hoursToSeconds.js new file mode 100644 index 00000000..68b13e41 --- /dev/null +++ b/.output/server/node_modules/date-fns/hoursToSeconds.js @@ -0,0 +1,25 @@ +import { secondsInHour } from "./constants.js"; + +/** + * @name hoursToSeconds + * @category Conversion Helpers + * @summary Convert hours to seconds. + * + * @description + * Convert a number of hours to a full number of seconds. + * + * @param hours - The number of hours to be converted + * + * @returns The number of hours converted in seconds + * + * @example + * // Convert 2 hours to seconds: + * const result = hoursToSeconds(2) + * //=> 7200 + */ +export function hoursToSeconds(hours) { + return Math.trunc(hours * secondsInHour); +} + +// Fallback for modularized imports: +export default hoursToSeconds; diff --git a/.output/server/node_modules/date-fns/index.js b/.output/server/node_modules/date-fns/index.js new file mode 100644 index 00000000..ce51cfc5 --- /dev/null +++ b/.output/server/node_modules/date-fns/index.js @@ -0,0 +1,247 @@ +// This file is generated automatically by `scripts/build/indices.ts`. Please, don't change it. + +export * from "./add.js"; +export * from "./addBusinessDays.js"; +export * from "./addDays.js"; +export * from "./addHours.js"; +export * from "./addISOWeekYears.js"; +export * from "./addMilliseconds.js"; +export * from "./addMinutes.js"; +export * from "./addMonths.js"; +export * from "./addQuarters.js"; +export * from "./addSeconds.js"; +export * from "./addWeeks.js"; +export * from "./addYears.js"; +export * from "./areIntervalsOverlapping.js"; +export * from "./clamp.js"; +export * from "./closestIndexTo.js"; +export * from "./closestTo.js"; +export * from "./compareAsc.js"; +export * from "./compareDesc.js"; +export * from "./constructFrom.js"; +export * from "./constructNow.js"; +export * from "./daysToWeeks.js"; +export * from "./differenceInBusinessDays.js"; +export * from "./differenceInCalendarDays.js"; +export * from "./differenceInCalendarISOWeekYears.js"; +export * from "./differenceInCalendarISOWeeks.js"; +export * from "./differenceInCalendarMonths.js"; +export * from "./differenceInCalendarQuarters.js"; +export * from "./differenceInCalendarWeeks.js"; +export * from "./differenceInCalendarYears.js"; +export * from "./differenceInDays.js"; +export * from "./differenceInHours.js"; +export * from "./differenceInISOWeekYears.js"; +export * from "./differenceInMilliseconds.js"; +export * from "./differenceInMinutes.js"; +export * from "./differenceInMonths.js"; +export * from "./differenceInQuarters.js"; +export * from "./differenceInSeconds.js"; +export * from "./differenceInWeeks.js"; +export * from "./differenceInYears.js"; +export * from "./eachDayOfInterval.js"; +export * from "./eachHourOfInterval.js"; +export * from "./eachMinuteOfInterval.js"; +export * from "./eachMonthOfInterval.js"; +export * from "./eachQuarterOfInterval.js"; +export * from "./eachWeekOfInterval.js"; +export * from "./eachWeekendOfInterval.js"; +export * from "./eachWeekendOfMonth.js"; +export * from "./eachWeekendOfYear.js"; +export * from "./eachYearOfInterval.js"; +export * from "./endOfDay.js"; +export * from "./endOfDecade.js"; +export * from "./endOfHour.js"; +export * from "./endOfISOWeek.js"; +export * from "./endOfISOWeekYear.js"; +export * from "./endOfMinute.js"; +export * from "./endOfMonth.js"; +export * from "./endOfQuarter.js"; +export * from "./endOfSecond.js"; +export * from "./endOfToday.js"; +export * from "./endOfTomorrow.js"; +export * from "./endOfWeek.js"; +export * from "./endOfYear.js"; +export * from "./endOfYesterday.js"; +export * from "./format.js"; +export * from "./formatDistance.js"; +export * from "./formatDistanceStrict.js"; +export * from "./formatDistanceToNow.js"; +export * from "./formatDistanceToNowStrict.js"; +export * from "./formatDuration.js"; +export * from "./formatISO.js"; +export * from "./formatISO9075.js"; +export * from "./formatISODuration.js"; +export * from "./formatRFC3339.js"; +export * from "./formatRFC7231.js"; +export * from "./formatRelative.js"; +export * from "./fromUnixTime.js"; +export * from "./getDate.js"; +export * from "./getDay.js"; +export * from "./getDayOfYear.js"; +export * from "./getDaysInMonth.js"; +export * from "./getDaysInYear.js"; +export * from "./getDecade.js"; +export * from "./getDefaultOptions.js"; +export * from "./getHours.js"; +export * from "./getISODay.js"; +export * from "./getISOWeek.js"; +export * from "./getISOWeekYear.js"; +export * from "./getISOWeeksInYear.js"; +export * from "./getMilliseconds.js"; +export * from "./getMinutes.js"; +export * from "./getMonth.js"; +export * from "./getOverlappingDaysInIntervals.js"; +export * from "./getQuarter.js"; +export * from "./getSeconds.js"; +export * from "./getTime.js"; +export * from "./getUnixTime.js"; +export * from "./getWeek.js"; +export * from "./getWeekOfMonth.js"; +export * from "./getWeekYear.js"; +export * from "./getWeeksInMonth.js"; +export * from "./getYear.js"; +export * from "./hoursToMilliseconds.js"; +export * from "./hoursToMinutes.js"; +export * from "./hoursToSeconds.js"; +export * from "./interval.js"; +export * from "./intervalToDuration.js"; +export * from "./intlFormat.js"; +export * from "./intlFormatDistance.js"; +export * from "./isAfter.js"; +export * from "./isBefore.js"; +export * from "./isDate.js"; +export * from "./isEqual.js"; +export * from "./isExists.js"; +export * from "./isFirstDayOfMonth.js"; +export * from "./isFriday.js"; +export * from "./isFuture.js"; +export * from "./isLastDayOfMonth.js"; +export * from "./isLeapYear.js"; +export * from "./isMatch.js"; +export * from "./isMonday.js"; +export * from "./isPast.js"; +export * from "./isSameDay.js"; +export * from "./isSameHour.js"; +export * from "./isSameISOWeek.js"; +export * from "./isSameISOWeekYear.js"; +export * from "./isSameMinute.js"; +export * from "./isSameMonth.js"; +export * from "./isSameQuarter.js"; +export * from "./isSameSecond.js"; +export * from "./isSameWeek.js"; +export * from "./isSameYear.js"; +export * from "./isSaturday.js"; +export * from "./isSunday.js"; +export * from "./isThisHour.js"; +export * from "./isThisISOWeek.js"; +export * from "./isThisMinute.js"; +export * from "./isThisMonth.js"; +export * from "./isThisQuarter.js"; +export * from "./isThisSecond.js"; +export * from "./isThisWeek.js"; +export * from "./isThisYear.js"; +export * from "./isThursday.js"; +export * from "./isToday.js"; +export * from "./isTomorrow.js"; +export * from "./isTuesday.js"; +export * from "./isValid.js"; +export * from "./isWednesday.js"; +export * from "./isWeekend.js"; +export * from "./isWithinInterval.js"; +export * from "./isYesterday.js"; +export * from "./lastDayOfDecade.js"; +export * from "./lastDayOfISOWeek.js"; +export * from "./lastDayOfISOWeekYear.js"; +export * from "./lastDayOfMonth.js"; +export * from "./lastDayOfQuarter.js"; +export * from "./lastDayOfWeek.js"; +export * from "./lastDayOfYear.js"; +export * from "./lightFormat.js"; +export * from "./max.js"; +export * from "./milliseconds.js"; +export * from "./millisecondsToHours.js"; +export * from "./millisecondsToMinutes.js"; +export * from "./millisecondsToSeconds.js"; +export * from "./min.js"; +export * from "./minutesToHours.js"; +export * from "./minutesToMilliseconds.js"; +export * from "./minutesToSeconds.js"; +export * from "./monthsToQuarters.js"; +export * from "./monthsToYears.js"; +export * from "./nextDay.js"; +export * from "./nextFriday.js"; +export * from "./nextMonday.js"; +export * from "./nextSaturday.js"; +export * from "./nextSunday.js"; +export * from "./nextThursday.js"; +export * from "./nextTuesday.js"; +export * from "./nextWednesday.js"; +export * from "./parse.js"; +export * from "./parseISO.js"; +export * from "./parseJSON.js"; +export * from "./previousDay.js"; +export * from "./previousFriday.js"; +export * from "./previousMonday.js"; +export * from "./previousSaturday.js"; +export * from "./previousSunday.js"; +export * from "./previousThursday.js"; +export * from "./previousTuesday.js"; +export * from "./previousWednesday.js"; +export * from "./quartersToMonths.js"; +export * from "./quartersToYears.js"; +export * from "./roundToNearestHours.js"; +export * from "./roundToNearestMinutes.js"; +export * from "./secondsToHours.js"; +export * from "./secondsToMilliseconds.js"; +export * from "./secondsToMinutes.js"; +export * from "./set.js"; +export * from "./setDate.js"; +export * from "./setDay.js"; +export * from "./setDayOfYear.js"; +export * from "./setDefaultOptions.js"; +export * from "./setHours.js"; +export * from "./setISODay.js"; +export * from "./setISOWeek.js"; +export * from "./setISOWeekYear.js"; +export * from "./setMilliseconds.js"; +export * from "./setMinutes.js"; +export * from "./setMonth.js"; +export * from "./setQuarter.js"; +export * from "./setSeconds.js"; +export * from "./setWeek.js"; +export * from "./setWeekYear.js"; +export * from "./setYear.js"; +export * from "./startOfDay.js"; +export * from "./startOfDecade.js"; +export * from "./startOfHour.js"; +export * from "./startOfISOWeek.js"; +export * from "./startOfISOWeekYear.js"; +export * from "./startOfMinute.js"; +export * from "./startOfMonth.js"; +export * from "./startOfQuarter.js"; +export * from "./startOfSecond.js"; +export * from "./startOfToday.js"; +export * from "./startOfTomorrow.js"; +export * from "./startOfWeek.js"; +export * from "./startOfWeekYear.js"; +export * from "./startOfYear.js"; +export * from "./startOfYesterday.js"; +export * from "./sub.js"; +export * from "./subBusinessDays.js"; +export * from "./subDays.js"; +export * from "./subHours.js"; +export * from "./subISOWeekYears.js"; +export * from "./subMilliseconds.js"; +export * from "./subMinutes.js"; +export * from "./subMonths.js"; +export * from "./subQuarters.js"; +export * from "./subSeconds.js"; +export * from "./subWeeks.js"; +export * from "./subYears.js"; +export * from "./toDate.js"; +export * from "./transpose.js"; +export * from "./weeksToDays.js"; +export * from "./yearsToDays.js"; +export * from "./yearsToMonths.js"; +export * from "./yearsToQuarters.js"; diff --git a/.output/server/node_modules/date-fns/interval.js b/.output/server/node_modules/date-fns/interval.js new file mode 100644 index 00000000..dd9d8a7b --- /dev/null +++ b/.output/server/node_modules/date-fns/interval.js @@ -0,0 +1,49 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link interval} function options. + */ + +/** + * The {@link interval} function result type. It resolves the proper data type. + * It uses the first argument date object type, starting from the start argument, + * then the end interval date. If a context function is passed, it uses the context + * function return type. + */ + +/** + * @name interval + * @category Interval Helpers + * @summary Creates an interval object and validates its values. + * + * @description + * Creates a normalized interval object and validates its values. If the interval is invalid, an exception is thrown. + * + * @typeParam StartDate - Start date type. + * @typeParam EndDate - End date type. + * @typeParam Options - Options type. + * + * @param start - The start of the interval. + * @param end - The end of the interval. + * @param options - The options object. + * + * @throws `Start date is invalid` when `start` is invalid. + * @throws `End date is invalid` when `end` is invalid. + * @throws `End date must be after start date` when end is before `start` and `options.assertPositive` is true. + * + * @returns The normalized and validated interval object. + */ +export function interval(start, end, options) { + const [_start, _end] = normalizeDates(options?.in, start, end); + + if (isNaN(+_start)) throw new TypeError("Start date is invalid"); + if (isNaN(+_end)) throw new TypeError("End date is invalid"); + + if (options?.assertPositive && +_start > +_end) + throw new TypeError("End date must be after start date"); + + return { start: _start, end: _end }; +} + +// Fallback for modularized imports: +export default interval; diff --git a/.output/server/node_modules/date-fns/intervalToDuration.js b/.output/server/node_modules/date-fns/intervalToDuration.js new file mode 100644 index 00000000..29026b47 --- /dev/null +++ b/.output/server/node_modules/date-fns/intervalToDuration.js @@ -0,0 +1,66 @@ +import { normalizeInterval } from "./_lib/normalizeInterval.js"; +import { add } from "./add.js"; +import { differenceInDays } from "./differenceInDays.js"; +import { differenceInHours } from "./differenceInHours.js"; +import { differenceInMinutes } from "./differenceInMinutes.js"; +import { differenceInMonths } from "./differenceInMonths.js"; +import { differenceInSeconds } from "./differenceInSeconds.js"; +import { differenceInYears } from "./differenceInYears.js"; + +/** + * The {@link intervalToDuration} function options. + */ + +/** + * @name intervalToDuration + * @category Common Helpers + * @summary Convert interval to duration + * + * @description + * Convert an interval object to a duration object. + * + * @param interval - The interval to convert to duration + * @param options - The context options + * + * @returns The duration object + * + * @example + * // Get the duration between January 15, 1929 and April 4, 1968. + * intervalToDuration({ + * start: new Date(1929, 0, 15, 12, 0, 0), + * end: new Date(1968, 3, 4, 19, 5, 0) + * }); + * //=> { years: 39, months: 2, days: 20, hours: 7, minutes: 5, seconds: 0 } + */ +export function intervalToDuration(interval, options) { + const { start, end } = normalizeInterval(options?.in, interval); + const duration = {}; + + const years = differenceInYears(end, start); + if (years) duration.years = years; + + const remainingMonths = add(start, { years: duration.years }); + const months = differenceInMonths(end, remainingMonths); + if (months) duration.months = months; + + const remainingDays = add(remainingMonths, { months: duration.months }); + const days = differenceInDays(end, remainingDays); + if (days) duration.days = days; + + const remainingHours = add(remainingDays, { days: duration.days }); + const hours = differenceInHours(end, remainingHours); + if (hours) duration.hours = hours; + + const remainingMinutes = add(remainingHours, { hours: duration.hours }); + const minutes = differenceInMinutes(end, remainingMinutes); + if (minutes) duration.minutes = minutes; + + const remainingSeconds = add(remainingMinutes, { minutes: duration.minutes }); + const seconds = differenceInSeconds(end, remainingSeconds); + if (seconds) duration.seconds = seconds; + + return duration; +} + +// Fallback for modularized imports: +export default intervalToDuration; diff --git a/.output/server/node_modules/date-fns/intlFormat.js b/.output/server/node_modules/date-fns/intlFormat.js new file mode 100644 index 00000000..1904d923 --- /dev/null +++ b/.output/server/node_modules/date-fns/intlFormat.js @@ -0,0 +1,121 @@ +import { toDate } from "./toDate.js"; + +/** + * The locale string (see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument). + * @deprecated + * + * [TODO] Remove in v4 + */ + +/** + * The format options (see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) + */ + +/** + * The locale options. + */ + +/** + * @name intlFormat + * @category Common Helpers + * @summary Format the date with Intl.DateTimeFormat (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat). + * + * @description + * Return the formatted date string in the given format. + * The method uses [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) inside. + * formatOptions are the same as [`Intl.DateTimeFormat` options](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options) + * + * > ⚠️ Please note that before Node version 13.0.0, only the locale data for en-US is available by default. + * + * @param date - The date to format + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 4 October 2019 in middle-endian format: + * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456)) + * //=> 10/4/2019 + */ + +/** + * @param date - The date to format + * @param localeOptions - An object with locale + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 4 October 2019 in Korean. + * // Convert the date with locale's options. + * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456), { + * locale: 'ko-KR', + * }) + * //=> 2019. 10. 4. + */ + +/** + * @param date - The date to format + * @param formatOptions - The format options + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 4 October 2019. + * // Convert the date with format's options. + * const result = intlFormat.default(new Date(2019, 9, 4, 12, 30, 13, 456), { + * year: 'numeric', + * month: 'numeric', + * day: 'numeric', + * hour: 'numeric', + * }) + * //=> 10/4/2019, 12 PM + */ + +/** + * @param date - The date to format + * @param formatOptions - The format options + * @param localeOptions - An object with locale + * + * @returns The formatted date string + * + * @throws `date` must not be Invalid Date + * + * @example + * // Represent 4 October 2019 in German. + * // Convert the date with format's options and locale's options. + * const result = intlFormat(new Date(2019, 9, 4, 12, 30, 13, 456), { + * weekday: 'long', + * year: 'numeric', + * month: 'long', + * day: 'numeric', + * }, { + * locale: 'de-DE', + * }) + * //=> Freitag, 4. Oktober 2019 + */ + +export function intlFormat(date, formatOrLocale, localeOptions) { + let formatOptions; + + if (isFormatOptions(formatOrLocale)) { + formatOptions = formatOrLocale; + } else { + localeOptions = formatOrLocale; + } + + return new Intl.DateTimeFormat(localeOptions?.locale, formatOptions).format( + toDate(date), + ); +} + +function isFormatOptions(opts) { + return opts !== undefined && !("locale" in opts); +} + +// Fallback for modularized imports: +export default intlFormat; diff --git a/.output/server/node_modules/date-fns/intlFormatDistance.js b/.output/server/node_modules/date-fns/intlFormatDistance.js new file mode 100644 index 00000000..d97f7fbb --- /dev/null +++ b/.output/server/node_modules/date-fns/intlFormatDistance.js @@ -0,0 +1,207 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { + secondsInDay, + secondsInHour, + secondsInMinute, + secondsInMonth, + secondsInQuarter, + secondsInWeek, + secondsInYear, +} from "./constants.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { differenceInCalendarMonths } from "./differenceInCalendarMonths.js"; +import { differenceInCalendarQuarters } from "./differenceInCalendarQuarters.js"; +import { differenceInCalendarWeeks } from "./differenceInCalendarWeeks.js"; +import { differenceInCalendarYears } from "./differenceInCalendarYears.js"; +import { differenceInHours } from "./differenceInHours.js"; +import { differenceInMinutes } from "./differenceInMinutes.js"; +import { differenceInSeconds } from "./differenceInSeconds.js"; + +/** + * The {@link intlFormatDistance} function options. + */ + +/** + * The unit used to format the distance in {@link intlFormatDistance}. + */ + +/** + * @name intlFormatDistance + * @category Common Helpers + * @summary Formats distance between two dates in a human-readable format + * @description + * The function calculates the difference between two dates and formats it as a human-readable string. + * + * The function will pick the most appropriate unit depending on the distance between dates. For example, if the distance is a few hours, it might return `x hours`. If the distance is a few months, it might return `x months`. + * + * You can also specify a unit to force using it regardless of the distance to get a result like `123456 hours`. + * + * See the table below for the unit picking logic: + * + * | Distance between dates | Result (past) | Result (future) | + * | ---------------------- | -------------- | --------------- | + * | 0 seconds | now | now | + * | 1-59 seconds | X seconds ago | in X seconds | + * | 1-59 minutes | X minutes ago | in X minutes | + * | 1-23 hours | X hours ago | in X hours | + * | 1 day | yesterday | tomorrow | + * | 2-6 days | X days ago | in X days | + * | 7 days | last week | next week | + * | 8 days-1 month | X weeks ago | in X weeks | + * | 1 month | last month | next month | + * | 2-3 months | X months ago | in X months | + * | 1 quarter | last quarter | next quarter | + * | 2-3 quarters | X quarters ago | in X quarters | + * | 1 year | last year | next year | + * | 2+ years | X years ago | in X years | + * + * @param laterDate - The date + * @param earlierDate - The date to compare with. + * @param options - An object with options. + * See MDN for details [Locale identification and negotiation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation) + * The narrow one could be similar to the short one for some locales. + * + * @returns The distance in words according to language-sensitive relative time formatting. + * + * @throws `date` must not be Invalid Date + * @throws `baseDate` must not be Invalid Date + * @throws `options.unit` must not be invalid Unit + * @throws `options.locale` must not be invalid locale + * @throws `options.localeMatcher` must not be invalid localeMatcher + * @throws `options.numeric` must not be invalid numeric + * @throws `options.style` must not be invalid style + * + * @example + * // What is the distance between the dates when the fist date is after the second? + * intlFormatDistance( + * new Date(1986, 3, 4, 11, 30, 0), + * new Date(1986, 3, 4, 10, 30, 0) + * ) + * //=> 'in 1 hour' + * + * // What is the distance between the dates when the fist date is before the second? + * intlFormatDistance( + * new Date(1986, 3, 4, 10, 30, 0), + * new Date(1986, 3, 4, 11, 30, 0) + * ) + * //=> '1 hour ago' + * + * @example + * // Use the unit option to force the function to output the result in quarters. Without setting it, the example would return "next year" + * intlFormatDistance( + * new Date(1987, 6, 4, 10, 30, 0), + * new Date(1986, 3, 4, 10, 30, 0), + * { unit: 'quarter' } + * ) + * //=> 'in 5 quarters' + * + * @example + * // Use the locale option to get the result in Spanish. Without setting it, the example would return "in 1 hour". + * intlFormatDistance( + * new Date(1986, 3, 4, 11, 30, 0), + * new Date(1986, 3, 4, 10, 30, 0), + * { locale: 'es' } + * ) + * //=> 'dentro de 1 hora' + * + * @example + * // Use the numeric option to force the function to use numeric values. Without setting it, the example would return "tomorrow". + * intlFormatDistance( + * new Date(1986, 3, 5, 11, 30, 0), + * new Date(1986, 3, 4, 11, 30, 0), + * { numeric: 'always' } + * ) + * //=> 'in 1 day' + * + * @example + * // Use the style option to force the function to use short values. Without setting it, the example would return "in 2 years". + * intlFormatDistance( + * new Date(1988, 3, 4, 11, 30, 0), + * new Date(1986, 3, 4, 11, 30, 0), + * { style: 'short' } + * ) + * //=> 'in 2 yr' + */ +export function intlFormatDistance(laterDate, earlierDate, options) { + let value = 0; + let unit; + + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + + if (!options?.unit) { + // Get the unit based on diffInSeconds calculations if no unit is specified + const diffInSeconds = differenceInSeconds(laterDate_, earlierDate_); // The smallest unit + + if (Math.abs(diffInSeconds) < secondsInMinute) { + value = differenceInSeconds(laterDate_, earlierDate_); + unit = "second"; + } else if (Math.abs(diffInSeconds) < secondsInHour) { + value = differenceInMinutes(laterDate_, earlierDate_); + unit = "minute"; + } else if ( + Math.abs(diffInSeconds) < secondsInDay && + Math.abs(differenceInCalendarDays(laterDate_, earlierDate_)) < 1 + ) { + value = differenceInHours(laterDate_, earlierDate_); + unit = "hour"; + } else if ( + Math.abs(diffInSeconds) < secondsInWeek && + (value = differenceInCalendarDays(laterDate_, earlierDate_)) && + Math.abs(value) < 7 + ) { + unit = "day"; + } else if (Math.abs(diffInSeconds) < secondsInMonth) { + value = differenceInCalendarWeeks(laterDate_, earlierDate_); + unit = "week"; + } else if (Math.abs(diffInSeconds) < secondsInQuarter) { + value = differenceInCalendarMonths(laterDate_, earlierDate_); + unit = "month"; + } else if (Math.abs(diffInSeconds) < secondsInYear) { + if (differenceInCalendarQuarters(laterDate_, earlierDate_) < 4) { + // To filter out cases that are less than a year but match 4 quarters + value = differenceInCalendarQuarters(laterDate_, earlierDate_); + unit = "quarter"; + } else { + value = differenceInCalendarYears(laterDate_, earlierDate_); + unit = "year"; + } + } else { + value = differenceInCalendarYears(laterDate_, earlierDate_); + unit = "year"; + } + } else { + // Get the value if unit is specified + unit = options?.unit; + if (unit === "second") { + value = differenceInSeconds(laterDate_, earlierDate_); + } else if (unit === "minute") { + value = differenceInMinutes(laterDate_, earlierDate_); + } else if (unit === "hour") { + value = differenceInHours(laterDate_, earlierDate_); + } else if (unit === "day") { + value = differenceInCalendarDays(laterDate_, earlierDate_); + } else if (unit === "week") { + value = differenceInCalendarWeeks(laterDate_, earlierDate_); + } else if (unit === "month") { + value = differenceInCalendarMonths(laterDate_, earlierDate_); + } else if (unit === "quarter") { + value = differenceInCalendarQuarters(laterDate_, earlierDate_); + } else if (unit === "year") { + value = differenceInCalendarYears(laterDate_, earlierDate_); + } + } + + const rtf = new Intl.RelativeTimeFormat(options?.locale, { + numeric: "auto", + ...options, + }); + + return rtf.format(value, unit); +} + +// Fallback for modularized imports: +export default intlFormatDistance; diff --git a/.output/server/node_modules/date-fns/isAfter.js b/.output/server/node_modules/date-fns/isAfter.js new file mode 100644 index 00000000..51c6b4ce --- /dev/null +++ b/.output/server/node_modules/date-fns/isAfter.js @@ -0,0 +1,26 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isAfter + * @category Common Helpers + * @summary Is the first date after the second one? + * + * @description + * Is the first date after the second one? + * + * @param date - The date that should be after the other one to return true + * @param dateToCompare - The date to compare with + * + * @returns The first date is after the second date + * + * @example + * // Is 10 July 1989 after 11 February 1987? + * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11)) + * //=> true + */ +export function isAfter(date, dateToCompare) { + return +toDate(date) > +toDate(dateToCompare); +} + +// Fallback for modularized imports: +export default isAfter; diff --git a/.output/server/node_modules/date-fns/isBefore.js b/.output/server/node_modules/date-fns/isBefore.js new file mode 100644 index 00000000..a0be0660 --- /dev/null +++ b/.output/server/node_modules/date-fns/isBefore.js @@ -0,0 +1,26 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isBefore + * @category Common Helpers + * @summary Is the first date before the second one? + * + * @description + * Is the first date before the second one? + * + * @param date - The date that should be before the other one to return true + * @param dateToCompare - The date to compare with + * + * @returns The first date is before the second date + * + * @example + * // Is 10 July 1989 before 11 February 1987? + * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11)) + * //=> false + */ +export function isBefore(date, dateToCompare) { + return +toDate(date) < +toDate(dateToCompare); +} + +// Fallback for modularized imports: +export default isBefore; diff --git a/.output/server/node_modules/date-fns/isDate.js b/.output/server/node_modules/date-fns/isDate.js new file mode 100644 index 00000000..7bb848e2 --- /dev/null +++ b/.output/server/node_modules/date-fns/isDate.js @@ -0,0 +1,42 @@ +/** + * @name isDate + * @category Common Helpers + * @summary Is the given value a date? + * + * @description + * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes. + * + * @param value - The value to check + * + * @returns True if the given value is a date + * + * @example + * // For a valid date: + * const result = isDate(new Date()) + * //=> true + * + * @example + * // For an invalid date: + * const result = isDate(new Date(NaN)) + * //=> true + * + * @example + * // For some value: + * const result = isDate('2014-02-31') + * //=> false + * + * @example + * // For an object: + * const result = isDate({}) + * //=> false + */ +export function isDate(value) { + return ( + value instanceof Date || + (typeof value === "object" && + Object.prototype.toString.call(value) === "[object Date]") + ); +} + +// Fallback for modularized imports: +export default isDate; diff --git a/.output/server/node_modules/date-fns/isEqual.js b/.output/server/node_modules/date-fns/isEqual.js new file mode 100644 index 00000000..bd077c84 --- /dev/null +++ b/.output/server/node_modules/date-fns/isEqual.js @@ -0,0 +1,29 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isEqual + * @category Common Helpers + * @summary Are the given dates equal? + * + * @description + * Are the given dates equal? + * + * @param dateLeft - The first date to compare + * @param dateRight - The second date to compare + * + * @returns The dates are equal + * + * @example + * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal? + * const result = isEqual( + * new Date(2014, 6, 2, 6, 30, 45, 0), + * new Date(2014, 6, 2, 6, 30, 45, 500) + * ) + * //=> false + */ +export function isEqual(leftDate, rightDate) { + return +toDate(leftDate) === +toDate(rightDate); +} + +// Fallback for modularized imports: +export default isEqual; diff --git a/.output/server/node_modules/date-fns/isExists.js b/.output/server/node_modules/date-fns/isExists.js new file mode 100644 index 00000000..d6e96860 --- /dev/null +++ b/.output/server/node_modules/date-fns/isExists.js @@ -0,0 +1,35 @@ +/** + * @name isExists + * @category Common Helpers + * @summary Is the given date exists? + * + * @description + * Checks if the given arguments convert to an existing date. + * + * @param year - The year of the date to check + * @param month - The month of the date to check + * @param day - The day of the date to check + * + * @returns `true` if the date exists + * + * @example + * // For the valid date: + * const result = isExists(2018, 0, 31) + * //=> true + * + * @example + * // For the invalid date: + * const result = isExists(2018, 1, 31) + * //=> false + */ +export function isExists(year, month, day) { + const date = new Date(year, month, day); + return ( + date.getFullYear() === year && + date.getMonth() === month && + date.getDate() === day + ); +} + +// Fallback for modularized imports: +export default isExists; diff --git a/.output/server/node_modules/date-fns/isFirstDayOfMonth.js b/.output/server/node_modules/date-fns/isFirstDayOfMonth.js new file mode 100644 index 00000000..a898c0eb --- /dev/null +++ b/.output/server/node_modules/date-fns/isFirstDayOfMonth.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isFirstDayOfMonth} function options. + */ + +/** + * @name isFirstDayOfMonth + * @category Month Helpers + * @summary Is the given date the first day of a month? + * + * @description + * Is the given date the first day of a month? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is the first day of a month + * + * @example + * // Is 1 September 2014 the first day of a month? + * const result = isFirstDayOfMonth(new Date(2014, 8, 1)) + * //=> true + */ +export function isFirstDayOfMonth(date, options) { + return toDate(date, options?.in).getDate() === 1; +} + +// Fallback for modularized imports: +export default isFirstDayOfMonth; diff --git a/.output/server/node_modules/date-fns/isFriday.js b/.output/server/node_modules/date-fns/isFriday.js new file mode 100644 index 00000000..61ac39bf --- /dev/null +++ b/.output/server/node_modules/date-fns/isFriday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isFriday} function options. + */ + +/** + * @name isFriday + * @category Weekday Helpers + * @summary Is the given date Friday? + * + * @description + * Is the given date Friday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Friday + * + * @example + * // Is 26 September 2014 Friday? + * const result = isFriday(new Date(2014, 8, 26)) + * //=> true + */ +export function isFriday(date, options) { + return toDate(date, options?.in).getDay() === 5; +} + +// Fallback for modularized imports: +export default isFriday; diff --git a/.output/server/node_modules/date-fns/isFuture.js b/.output/server/node_modules/date-fns/isFuture.js new file mode 100644 index 00000000..907deafe --- /dev/null +++ b/.output/server/node_modules/date-fns/isFuture.js @@ -0,0 +1,26 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isFuture + * @category Common Helpers + * @summary Is the given date in the future? + * @pure false + * + * @description + * Is the given date in the future? + * + * @param date - The date to check + * + * @returns The date is in the future + * + * @example + * // If today is 6 October 2014, is 31 December 2014 in the future? + * const result = isFuture(new Date(2014, 11, 31)) + * //=> true + */ +export function isFuture(date) { + return +toDate(date) > Date.now(); +} + +// Fallback for modularized imports: +export default isFuture; diff --git a/.output/server/node_modules/date-fns/isLastDayOfMonth.js b/.output/server/node_modules/date-fns/isLastDayOfMonth.js new file mode 100644 index 00000000..5e958a8a --- /dev/null +++ b/.output/server/node_modules/date-fns/isLastDayOfMonth.js @@ -0,0 +1,29 @@ +import { endOfDay } from "./endOfDay.js"; +import { endOfMonth } from "./endOfMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * @name isLastDayOfMonth + * @category Month Helpers + * @summary Is the given date the last day of a month? + * + * @description + * Is the given date the last day of a month? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is the last day of a month + * + * @example + * // Is 28 February 2014 the last day of a month? + * const result = isLastDayOfMonth(new Date(2014, 1, 28)) + * //=> true + */ +export function isLastDayOfMonth(date, options) { + const _date = toDate(date, options?.in); + return +endOfDay(_date, options) === +endOfMonth(_date, options); +} + +// Fallback for modularized imports: +export default isLastDayOfMonth; diff --git a/.output/server/node_modules/date-fns/isLeapYear.js b/.output/server/node_modules/date-fns/isLeapYear.js new file mode 100644 index 00000000..420f6763 --- /dev/null +++ b/.output/server/node_modules/date-fns/isLeapYear.js @@ -0,0 +1,28 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isLeapYear + * @category Year Helpers + * @summary Is the given date in the leap year? + * + * @description + * Is the given date in the leap year? + * + * @param date - The date to check + * @param options - The options object + * + * @returns The date is in the leap year + * + * @example + * // Is 1 September 2012 in the leap year? + * const result = isLeapYear(new Date(2012, 8, 1)) + * //=> true + */ +export function isLeapYear(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0); +} + +// Fallback for modularized imports: +export default isLeapYear; diff --git a/.output/server/node_modules/date-fns/isMatch.js b/.output/server/node_modules/date-fns/isMatch.js new file mode 100644 index 00000000..9ea576e7 --- /dev/null +++ b/.output/server/node_modules/date-fns/isMatch.js @@ -0,0 +1,297 @@ +import { isValid } from "./isValid.js"; +import { parse } from "./parse.js"; + +/** + * The {@link isMatch} function options. + */ + +/** + * @name isMatch + * @category Common Helpers + * @summary validates the date string against given formats + * + * @description + * Return the true if given date is string correct against the given format else + * will return false. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * The characters in the format string wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * + * Format of the format string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 5 below the table). + * + * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited + * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception: + * + * ```javascript + * isMatch('23 AM', 'HH a') + * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time + * ``` + * + * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true + * + * Accepted format string patterns: + * | Unit |Prior| Pattern | Result examples | Notes | + * |---------------------------------|-----|---------|-----------------------------------|-------| + * | Era | 140 | G..GGG | AD, BC | | + * | | | GGGG | Anno Domini, Before Christ | 2 | + * | | | GGGGG | A, B | | + * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 | + * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | yy | 44, 01, 00, 17 | 4 | + * | | | yyy | 044, 001, 123, 999 | 4 | + * | | | yyyy | 0044, 0001, 1900, 2017 | 4 | + * | | | yyyyy | ... | 2,4 | + * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 | + * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | YY | 44, 01, 00, 17 | 4,6 | + * | | | YYY | 044, 001, 123, 999 | 4 | + * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 | + * | | | YYYYY | ... | 2,4 | + * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 | + * | | | RR | -43, 01, 00, 17 | 4,5 | + * | | | RRR | -043, 001, 123, 999, -999 | 4,5 | + * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 | + * | | | RRRRR | ... | 2,4,5 | + * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 | + * | | | uu | -43, 01, 99, -99 | 4 | + * | | | uuu | -043, 001, 123, 999, -999 | 4 | + * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 | + * | | | uuuuu | ... | 2,4 | + * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | | + * | | | Qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | QQ | 01, 02, 03, 04 | | + * | | | QQQ | Q1, Q2, Q3, Q4 | | + * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | | + * | | | qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | qq | 01, 02, 03, 04 | | + * | | | qqq | Q1, Q2, Q3, Q4 | | + * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | | qqqqq | 1, 2, 3, 4 | 3 | + * | Month (formatting) | 110 | M | 1, 2, ..., 12 | | + * | | | Mo | 1st, 2nd, ..., 12th | 5 | + * | | | MM | 01, 02, ..., 12 | | + * | | | MMM | Jan, Feb, ..., Dec | | + * | | | MMMM | January, February, ..., December | 2 | + * | | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | | + * | | | Lo | 1st, 2nd, ..., 12th | 5 | + * | | | LL | 01, 02, ..., 12 | | + * | | | LLL | Jan, Feb, ..., Dec | | + * | | | LLLL | January, February, ..., December | 2 | + * | | | LLLLL | J, F, ..., D | | + * | Local week of year | 100 | w | 1, 2, ..., 53 | | + * | | | wo | 1st, 2nd, ..., 53th | 5 | + * | | | ww | 01, 02, ..., 53 | | + * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 | + * | | | Io | 1st, 2nd, ..., 53th | 5 | + * | | | II | 01, 02, ..., 53 | 5 | + * | Day of month | 90 | d | 1, 2, ..., 31 | | + * | | | do | 1st, 2nd, ..., 31st | 5 | + * | | | dd | 01, 02, ..., 31 | | + * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 | + * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 | + * | | | DD | 01, 02, ..., 365, 366 | 7 | + * | | | DDD | 001, 002, ..., 365, 366 | | + * | | | DDDD | ... | 2 | + * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | | + * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | | EEEEE | M, T, W, T, F, S, S | | + * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | + * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 | + * | | | io | 1st, 2nd, ..., 7th | 5 | + * | | | ii | 01, 02, ..., 07 | 5 | + * | | | iii | Mon, Tue, Wed, ..., Su | 5 | + * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 | + * | | | iiiii | M, T, W, T, F, S, S | 5 | + * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 | + * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | | + * | | | eo | 2nd, 3rd, ..., 1st | 5 | + * | | | ee | 02, 03, ..., 01 | | + * | | | eee | Mon, Tue, Wed, ..., Su | | + * | | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | | eeeee | M, T, W, T, F, S, S | | + * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | + * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | | + * | | | co | 2nd, 3rd, ..., 1st | 5 | + * | | | cc | 02, 03, ..., 01 | | + * | | | ccc | Mon, Tue, Wed, ..., Su | | + * | | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | | ccccc | M, T, W, T, F, S, S | | + * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | + * | AM, PM | 80 | a..aaa | AM, PM | | + * | | | aaaa | a.m., p.m. | 2 | + * | | | aaaaa | a, p | | + * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | | + * | | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | | bbbbb | a, p, n, mi | | + * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | | + * | | | BBBB | at night, in the morning, ... | 2 | + * | | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | | + * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 | + * | | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | | + * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 | + * | | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | | + * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 | + * | | | KK | 01, 02, ..., 11, 00 | | + * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | | + * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 | + * | | | kk | 24, 01, 02, ..., 23 | | + * | Minute | 60 | m | 0, 1, ..., 59 | | + * | | | mo | 0th, 1st, ..., 59th | 5 | + * | | | mm | 00, 01, ..., 59 | | + * | Second | 50 | s | 0, 1, ..., 59 | | + * | | | so | 0th, 1st, ..., 59th | 5 | + * | | | ss | 00, 01, ..., 59 | | + * | Seconds timestamp | 40 | t | 512969520 | | + * | | | tt | ... | 2 | + * | Fraction of second | 30 | S | 0, 1, ..., 9 | | + * | | | SS | 00, 01, ..., 99 | | + * | | | SSS | 000, 001, ..., 999 | | + * | | | SSSS | ... | 2 | + * | Milliseconds timestamp | 20 | T | 512969520900 | | + * | | | TT | ... | 2 | + * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | | + * | | | XX | -0800, +0530, Z | | + * | | | XXX | -08:00, +05:30, Z | | + * | | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | | + * | | | xx | -0800, +0530, +0000 | | + * | | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | | xxxx | -0800, +0530, +0000, +123456 | | + * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Long localized date | NA | P | 05/29/1453 | 5,8 | + * | | | PP | May 29, 1453 | | + * | | | PPP | May 29th, 1453 | | + * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 | + * | Long localized time | NA | p | 12:00 AM | 5,8 | + * | | | pp | 12:00:00 AM | | + * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | | + * | | | PPpp | May 29, 1453, 12:00:00 AM | | + * | | | PPPpp | May 29th, 1453 at ... | | + * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular. + * In `format` function, they will produce different result: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * `isMatch` will try to match both formatting and stand-alone units interchangeably. + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table: + * - for numerical units (`yyyyyyyy`) `isMatch` will try to match a number + * as wide as the sequence + * - for text units (`MMMMMMMM`) `isMatch` will try to match the widest variation of the unit. + * These variations are marked with "2" in the last column of the table. + * + * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 4. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`: + * + * `isMatch('50', 'yy') //=> true` + * + * `isMatch('75', 'yy') //=> true` + * + * while `uu` will use the year as is: + * + * `isMatch('50', 'uu') //=> true` + * + * `isMatch('75', 'uu') //=> true` + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear) + * and [setWeekYear](https://date-fns.org/docs/setWeekYear)). + * + * 5. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 7. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based + * on the given locale. + * + * using `en-US` locale: `P` => `MM/dd/yyyy` + * using `en-US` locale: `p` => `hh:mm a` + * using `pt-BR` locale: `P` => `dd/MM/yyyy` + * using `pt-BR` locale: `p` => `HH:mm` + * + * Values will be checked in the descending order of its unit's priority. + * Units of an equal priority overwrite each other in the order of appearance. + * + * If no values of higher priority are matched (e.g. when matching string 'January 1st' without a year), + * the values will be taken from today's using `new Date()` date which works as a context of parsing. + * + * The result may vary by locale. + * + * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned. + * + * @param dateStr - The date string to verify + * @param format - The string of tokens + * @param options - An object with options. + * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * @returns Is format string a match for date string? + * + * @throws `options.locale` must contain `match` property + * @throws use `yyyy` instead of `YYYY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `yy` instead of `YY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `d` instead of `D` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `dd` instead of `DD` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws format string contains an unescaped latin alphabet character + * + * @example + * // Match 11 February 2014 from middle-endian format: + * const result = isMatch('02/11/2014', 'MM/dd/yyyy') + * //=> true + * + * @example + * // Match 28th of February in Esperanto locale in the context of 2010 year: + * import eo from 'date-fns/locale/eo' + * const result = isMatch('28-a de februaro', "do 'de' MMMM", { + * locale: eo + * }) + * //=> true + */ +export function isMatch(dateStr, formatStr, options) { + return isValid(parse(dateStr, formatStr, new Date(), options)); +} + +// Fallback for modularized imports: +export default isMatch; diff --git a/.output/server/node_modules/date-fns/isMonday.js b/.output/server/node_modules/date-fns/isMonday.js new file mode 100644 index 00000000..bd6e2fc6 --- /dev/null +++ b/.output/server/node_modules/date-fns/isMonday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isMonday} function options. + */ + +/** + * @name isMonday + * @category Weekday Helpers + * @summary Is the given date Monday? + * + * @description + * Is the given date Monday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Monday + * + * @example + * // Is 22 September 2014 Monday? + * const result = isMonday(new Date(2014, 8, 22)) + * //=> true + */ +export function isMonday(date, options) { + return toDate(date, options?.in).getDay() === 1; +} + +// Fallback for modularized imports: +export default isMonday; diff --git a/.output/server/node_modules/date-fns/isPast.js b/.output/server/node_modules/date-fns/isPast.js new file mode 100644 index 00000000..60d96479 --- /dev/null +++ b/.output/server/node_modules/date-fns/isPast.js @@ -0,0 +1,26 @@ +import { toDate } from "./toDate.js"; + +/** + * @name isPast + * @category Common Helpers + * @summary Is the given date in the past? + * @pure false + * + * @description + * Is the given date in the past? + * + * @param date - The date to check + * + * @returns The date is in the past + * + * @example + * // If today is 6 October 2014, is 2 July 2014 in the past? + * const result = isPast(new Date(2014, 6, 2)) + * //=> true + */ +export function isPast(date) { + return +toDate(date) < Date.now(); +} + +// Fallback for modularized imports: +export default isPast; diff --git a/.output/server/node_modules/date-fns/isSameDay.js b/.output/server/node_modules/date-fns/isSameDay.js new file mode 100644 index 00000000..79ed297a --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameDay.js @@ -0,0 +1,47 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { startOfDay } from "./startOfDay.js"; + +/** + * The {@link isSameDay} function options. + */ + +/** + * @name isSameDay + * @category Day Helpers + * @summary Are the given dates in the same day (and year and month)? + * + * @description + * Are the given dates in the same day (and year and month)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same day (and year and month) + * + * @example + * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day? + * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0)) + * //=> true + * + * @example + * // Are 4 September and 4 October in the same day? + * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4)) + * //=> false + * + * @example + * // Are 4 September, 2014 and 4 September, 2015 in the same day? + * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4)) + * //=> false + */ +export function isSameDay(laterDate, earlierDate, options) { + const [dateLeft_, dateRight_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return +startOfDay(dateLeft_) === +startOfDay(dateRight_); +} + +// Fallback for modularized imports: +export default isSameDay; diff --git a/.output/server/node_modules/date-fns/isSameHour.js b/.output/server/node_modules/date-fns/isSameHour.js new file mode 100644 index 00000000..3dff707e --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameHour.js @@ -0,0 +1,42 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { startOfHour } from "./startOfHour.js"; + +/** + * The {@link isSameHour} function options. + */ + +/** + * @name isSameHour + * @category Hour Helpers + * @summary Are the given dates in the same hour (and same day)? + * + * @description + * Are the given dates in the same hour (and same day)? + * + * @param dateLeft - The first date to check + * @param dateRight - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same hour (and same day) + * + * @example + * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour? + * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30)) + * //=> true + * + * @example + * // Are 4 September 2014 06:00:00 and 5 September 06:00:00 in the same hour? + * const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 5, 6, 0)) + * //=> false + */ +export function isSameHour(dateLeft, dateRight, options) { + const [dateLeft_, dateRight_] = normalizeDates( + options?.in, + dateLeft, + dateRight, + ); + return +startOfHour(dateLeft_) === +startOfHour(dateRight_); +} + +// Fallback for modularized imports: +export default isSameHour; diff --git a/.output/server/node_modules/date-fns/isSameISOWeek.js b/.output/server/node_modules/date-fns/isSameISOWeek.js new file mode 100644 index 00000000..607a6731 --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameISOWeek.js @@ -0,0 +1,38 @@ +import { isSameWeek } from "./isSameWeek.js"; + +/** + * The {@link isSameISOWeek} function options. + */ + +/** + * @name isSameISOWeek + * @category ISO Week Helpers + * @summary Are the given dates in the same ISO week (and year)? + * + * @description + * Are the given dates in the same ISO week (and year)? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same ISO week (and year) + * + * @example + * // Are 1 September 2014 and 7 September 2014 in the same ISO week? + * const result = isSameISOWeek(new Date(2014, 8, 1), new Date(2014, 8, 7)) + * //=> true + * + * @example + * // Are 1 September 2014 and 1 September 2015 in the same ISO week? + * const result = isSameISOWeek(new Date(2014, 8, 1), new Date(2015, 8, 1)) + * //=> false + */ +export function isSameISOWeek(laterDate, earlierDate, options) { + return isSameWeek(laterDate, earlierDate, { ...options, weekStartsOn: 1 }); +} + +// Fallback for modularized imports: +export default isSameISOWeek; diff --git a/.output/server/node_modules/date-fns/isSameISOWeekYear.js b/.output/server/node_modules/date-fns/isSameISOWeekYear.js new file mode 100644 index 00000000..bd1659bc --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameISOWeekYear.js @@ -0,0 +1,40 @@ +import { startOfISOWeekYear } from "./startOfISOWeekYear.js"; + +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link isSameISOWeekYear} function options. + */ + +/** + * @name isSameISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Are the given dates in the same ISO week-numbering year? + * + * @description + * Are the given dates in the same ISO week-numbering year? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same ISO week-numbering year + * + * @example + * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year? + * const result = isSameISOWeekYear(new Date(2003, 11, 29), new Date(2005, 0, 2)) + * //=> true + */ +export function isSameISOWeekYear(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return +startOfISOWeekYear(laterDate_) === +startOfISOWeekYear(earlierDate_); +} + +// Fallback for modularized imports: +export default isSameISOWeekYear; diff --git a/.output/server/node_modules/date-fns/isSameMinute.js b/.output/server/node_modules/date-fns/isSameMinute.js new file mode 100644 index 00000000..7aea375b --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameMinute.js @@ -0,0 +1,37 @@ +import { startOfMinute } from "./startOfMinute.js"; + +/** + * @name isSameMinute + * @category Minute Helpers + * @summary Are the given dates in the same minute (and hour and day)? + * + * @description + * Are the given dates in the same minute (and hour and day)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * + * @returns The dates are in the same minute (and hour and day) + * + * @example + * // Are 4 September 2014 06:30:00 and 4 September 2014 06:30:15 in the same minute? + * const result = isSameMinute( + * new Date(2014, 8, 4, 6, 30), + * new Date(2014, 8, 4, 6, 30, 15) + * ) + * //=> true + * + * @example + * // Are 4 September 2014 06:30:00 and 5 September 2014 06:30:00 in the same minute? + * const result = isSameMinute( + * new Date(2014, 8, 4, 6, 30), + * new Date(2014, 8, 5, 6, 30) + * ) + * //=> false + */ +export function isSameMinute(laterDate, earlierDate) { + return +startOfMinute(laterDate) === +startOfMinute(earlierDate); +} + +// Fallback for modularized imports: +export default isSameMinute; diff --git a/.output/server/node_modules/date-fns/isSameMonth.js b/.output/server/node_modules/date-fns/isSameMonth.js new file mode 100644 index 00000000..73624df4 --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameMonth.js @@ -0,0 +1,44 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link isSameMonth} function options. + */ + +/** + * @name isSameMonth + * @category Month Helpers + * @summary Are the given dates in the same month (and year)? + * + * @description + * Are the given dates in the same month (and year)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same month (and year) + * + * @example + * // Are 2 September 2014 and 25 September 2014 in the same month? + * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25)) + * //=> true + * + * @example + * // Are 2 September 2014 and 25 September 2015 in the same month? + * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25)) + * //=> false + */ +export function isSameMonth(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return ( + laterDate_.getFullYear() === earlierDate_.getFullYear() && + laterDate_.getMonth() === earlierDate_.getMonth() + ); +} + +// Fallback for modularized imports: +export default isSameMonth; diff --git a/.output/server/node_modules/date-fns/isSameQuarter.js b/.output/server/node_modules/date-fns/isSameQuarter.js new file mode 100644 index 00000000..aeaac819 --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameQuarter.js @@ -0,0 +1,42 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { startOfQuarter } from "./startOfQuarter.js"; + +/** + * The {@link isSameQuarter} function options. + */ + +/** + * @name isSameQuarter + * @category Quarter Helpers + * @summary Are the given dates in the same quarter (and year)? + * + * @description + * Are the given dates in the same quarter (and year)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same quarter (and year) + * + * @example + * // Are 1 January 2014 and 8 March 2014 in the same quarter? + * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8)) + * //=> true + * + * @example + * // Are 1 January 2014 and 1 January 2015 in the same quarter? + * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2015, 0, 1)) + * //=> false + */ +export function isSameQuarter(laterDate, earlierDate, options) { + const [dateLeft_, dateRight_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return +startOfQuarter(dateLeft_) === +startOfQuarter(dateRight_); +} + +// Fallback for modularized imports: +export default isSameQuarter; diff --git a/.output/server/node_modules/date-fns/isSameSecond.js b/.output/server/node_modules/date-fns/isSameSecond.js new file mode 100644 index 00000000..ff73e687 --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameSecond.js @@ -0,0 +1,45 @@ +import { startOfSecond } from "./startOfSecond.js"; + +/** + * @name isSameSecond + * @category Second Helpers + * @summary Are the given dates in the same second (and hour and day)? + * + * @description + * Are the given dates in the same second (and hour and day)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * + * @returns The dates are in the same second (and hour and day) + * + * @example + * // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500 in the same second? + * const result = isSameSecond( + * new Date(2014, 8, 4, 6, 30, 15), + * new Date(2014, 8, 4, 6, 30, 15, 500) + * ) + * //=> true + * + * @example + * // Are 4 September 2014 06:00:15.000 and 4 September 2014 06:01.15.000 in the same second? + * const result = isSameSecond( + * new Date(2014, 8, 4, 6, 0, 15), + * new Date(2014, 8, 4, 6, 1, 15) + * ) + * //=> false + * + * @example + * // Are 4 September 2014 06:00:15.000 and 5 September 2014 06:00.15.000 in the same second? + * const result = isSameSecond( + * new Date(2014, 8, 4, 6, 0, 15), + * new Date(2014, 8, 5, 6, 0, 15) + * ) + * //=> false + */ +export function isSameSecond(laterDate, earlierDate) { + return +startOfSecond(laterDate) === +startOfSecond(earlierDate); +} + +// Fallback for modularized imports: +export default isSameSecond; diff --git a/.output/server/node_modules/date-fns/isSameWeek.js b/.output/server/node_modules/date-fns/isSameWeek.js new file mode 100644 index 00000000..24d8573f --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameWeek.js @@ -0,0 +1,52 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; +import { startOfWeek } from "./startOfWeek.js"; + +/** + * The {@link isSameWeek} function options. + */ + +/** + * @name isSameWeek + * @category Week Helpers + * @summary Are the given dates in the same week (and month and year)? + * + * @description + * Are the given dates in the same week (and month and year)? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same week (and month and year) + * + * @example + * // Are 31 August 2014 and 4 September 2014 in the same week? + * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4)) + * //=> true + * + * @example + * // If week starts with Monday, + * // are 31 August 2014 and 4 September 2014 in the same week? + * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), { + * weekStartsOn: 1 + * }) + * //=> false + * + * @example + * // Are 1 January 2014 and 1 January 2015 in the same week? + * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1)) + * //=> false + */ +export function isSameWeek(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return ( + +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options) + ); +} + +// Fallback for modularized imports: +export default isSameWeek; diff --git a/.output/server/node_modules/date-fns/isSameYear.js b/.output/server/node_modules/date-fns/isSameYear.js new file mode 100644 index 00000000..54272873 --- /dev/null +++ b/.output/server/node_modules/date-fns/isSameYear.js @@ -0,0 +1,36 @@ +import { normalizeDates } from "./_lib/normalizeDates.js"; + +/** + * The {@link isSameYear} function options. + */ + +/** + * @name isSameYear + * @category Year Helpers + * @summary Are the given dates in the same year? + * + * @description + * Are the given dates in the same year? + * + * @param laterDate - The first date to check + * @param earlierDate - The second date to check + * @param options - An object with options + * + * @returns The dates are in the same year + * + * @example + * // Are 2 September 2014 and 25 September 2014 in the same year? + * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25)) + * //=> true + */ +export function isSameYear(laterDate, earlierDate, options) { + const [laterDate_, earlierDate_] = normalizeDates( + options?.in, + laterDate, + earlierDate, + ); + return laterDate_.getFullYear() === earlierDate_.getFullYear(); +} + +// Fallback for modularized imports: +export default isSameYear; diff --git a/.output/server/node_modules/date-fns/isSaturday.js b/.output/server/node_modules/date-fns/isSaturday.js new file mode 100644 index 00000000..d8080a8b --- /dev/null +++ b/.output/server/node_modules/date-fns/isSaturday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isSaturday} function options. + */ + +/** + * @name isSaturday + * @category Weekday Helpers + * @summary Is the given date Saturday? + * + * @description + * Is the given date Saturday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Saturday + * + * @example + * // Is 27 September 2014 Saturday? + * const result = isSaturday(new Date(2014, 8, 27)) + * //=> true + */ +export function isSaturday(date, options) { + return toDate(date, options?.in).getDay() === 6; +} + +// Fallback for modularized imports: +export default isSaturday; diff --git a/.output/server/node_modules/date-fns/isSunday.js b/.output/server/node_modules/date-fns/isSunday.js new file mode 100644 index 00000000..bbc919bb --- /dev/null +++ b/.output/server/node_modules/date-fns/isSunday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isSunday} function options. + */ + +/** + * @name isSunday + * @category Weekday Helpers + * @summary Is the given date Sunday? + * + * @description + * Is the given date Sunday? + * + * @param date - The date to check + * @param options - The options object + * + * @returns The date is Sunday + * + * @example + * // Is 21 September 2014 Sunday? + * const result = isSunday(new Date(2014, 8, 21)) + * //=> true + */ +export function isSunday(date, options) { + return toDate(date, options?.in).getDay() === 0; +} + +// Fallback for modularized imports: +export default isSunday; diff --git a/.output/server/node_modules/date-fns/isThisHour.js b/.output/server/node_modules/date-fns/isThisHour.js new file mode 100644 index 00000000..53d07a13 --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisHour.js @@ -0,0 +1,37 @@ +import { constructNow } from "./constructNow.js"; +import { isSameHour } from "./isSameHour.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link isThisHour} function options. + */ + +/** + * @name isThisHour + * @category Hour Helpers + * @summary Is the given date in the same hour as the current date? + * @pure false + * + * @description + * Is the given date in the same hour as the current date? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is in this hour + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:00:00 in this hour? + * const result = isThisHour(new Date(2014, 8, 25, 18)) + * //=> true + */ +export function isThisHour(date, options) { + return isSameHour( + toDate(date, options?.in), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isThisHour; diff --git a/.output/server/node_modules/date-fns/isThisISOWeek.js b/.output/server/node_modules/date-fns/isThisISOWeek.js new file mode 100644 index 00000000..aad1e699 --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisISOWeek.js @@ -0,0 +1,38 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameISOWeek } from "./isSameISOWeek.js"; + +/** + * The {@link isThisISOWeek} function options. + */ + +/** + * @name isThisISOWeek + * @category ISO Week Helpers + * @summary Is the given date in the same ISO week as the current date? + * @pure false + * + * @description + * Is the given date in the same ISO week as the current date? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is in this ISO week + * + * @example + * // If today is 25 September 2014, is 22 September 2014 in this ISO week? + * const result = isThisISOWeek(new Date(2014, 8, 22)) + * //=> true + */ +export function isThisISOWeek(date, options) { + return isSameISOWeek( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isThisISOWeek; diff --git a/.output/server/node_modules/date-fns/isThisMinute.js b/.output/server/node_modules/date-fns/isThisMinute.js new file mode 100644 index 00000000..6f4b7eec --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisMinute.js @@ -0,0 +1,29 @@ +import { constructNow } from "./constructNow.js"; +import { isSameMinute } from "./isSameMinute.js"; + +/** + * @name isThisMinute + * @category Minute Helpers + * @summary Is the given date in the same minute as the current date? + * @pure false + * + * @description + * Is the given date in the same minute as the current date? + * + * @param date - The date to check + * + * @returns The date is in this minute + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:30:00 in this minute? + * const result = isThisMinute(new Date(2014, 8, 25, 18, 30)) + * //=> true + */ + +export function isThisMinute(date) { + return isSameMinute(date, constructNow(date)); +} + +// Fallback for modularized imports: +export default isThisMinute; diff --git a/.output/server/node_modules/date-fns/isThisMonth.js b/.output/server/node_modules/date-fns/isThisMonth.js new file mode 100644 index 00000000..59f5af38 --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisMonth.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameMonth } from "./isSameMonth.js"; + +/** + * The {@link isThisMonth} function options. + */ + +/** + * @name isThisMonth + * @category Month Helpers + * @summary Is the given date in the same month as the current date? + * @pure false + * + * @description + * Is the given date in the same month as the current date? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is in this month + * + * @example + * // If today is 25 September 2014, is 15 September 2014 in this month? + * const result = isThisMonth(new Date(2014, 8, 15)) + * //=> true + */ +export function isThisMonth(date, options) { + return isSameMonth( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isThisMonth; diff --git a/.output/server/node_modules/date-fns/isThisQuarter.js b/.output/server/node_modules/date-fns/isThisQuarter.js new file mode 100644 index 00000000..c52b586c --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisQuarter.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameQuarter } from "./isSameQuarter.js"; + +/** + * The {@link isThisQuarter} function options. + */ + +/** + * @name isThisQuarter + * @category Quarter Helpers + * @summary Is the given date in the same quarter as the current date? + * @pure false + * + * @description + * Is the given date in the same quarter as the current date? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is in this quarter + * + * @example + * // If today is 25 September 2014, is 2 July 2014 in this quarter? + * const result = isThisQuarter(new Date(2014, 6, 2)) + * //=> true + */ +export function isThisQuarter(date, options) { + return isSameQuarter( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isThisQuarter; diff --git a/.output/server/node_modules/date-fns/isThisSecond.js b/.output/server/node_modules/date-fns/isThisSecond.js new file mode 100644 index 00000000..a6e1efab --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisSecond.js @@ -0,0 +1,28 @@ +import { constructNow } from "./constructNow.js"; +import { isSameSecond } from "./isSameSecond.js"; + +/** + * @name isThisSecond + * @category Second Helpers + * @summary Is the given date in the same second as the current date? + * @pure false + * + * @description + * Is the given date in the same second as the current date? + * + * @param date - The date to check + * + * @returns The date is in this second + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:30:15.000 in this second? + * const result = isThisSecond(new Date(2014, 8, 25, 18, 30, 15)) + * //=> true + */ +export function isThisSecond(date) { + return isSameSecond(date, constructNow(date)); +} + +// Fallback for modularized imports: +export default isThisSecond; diff --git a/.output/server/node_modules/date-fns/isThisWeek.js b/.output/server/node_modules/date-fns/isThisWeek.js new file mode 100644 index 00000000..5f9cb794 --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisWeek.js @@ -0,0 +1,43 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameWeek } from "./isSameWeek.js"; + +/** + * The {@link isThisWeek} function options. + */ + +/** + * @name isThisWeek + * @category Week Helpers + * @summary Is the given date in the same week as the current date? + * @pure false + * + * @description + * Is the given date in the same week as the current date? + * + * @param date - The date to check + * @param options - The object with options + * + * @returns The date is in this week + * + * @example + * // If today is 25 September 2014, is 21 September 2014 in this week? + * const result = isThisWeek(new Date(2014, 8, 21)) + * //=> true + * + * @example + * // If today is 25 September 2014 and week starts with Monday + * // is 21 September 2014 in this week? + * const result = isThisWeek(new Date(2014, 8, 21), { weekStartsOn: 1 }) + * //=> false + */ +export function isThisWeek(date, options) { + return isSameWeek( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + options, + ); +} + +// Fallback for modularized imports: +export default isThisWeek; diff --git a/.output/server/node_modules/date-fns/isThisYear.js b/.output/server/node_modules/date-fns/isThisYear.js new file mode 100644 index 00000000..a9b9f6b8 --- /dev/null +++ b/.output/server/node_modules/date-fns/isThisYear.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameYear } from "./isSameYear.js"; + +/** + * The {@link isThisYear} function options. + */ + +/** + * @name isThisYear + * @category Year Helpers + * @summary Is the given date in the same year as the current date? + * @pure false + * + * @description + * Is the given date in the same year as the current date? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is in this year + * + * @example + * // If today is 25 September 2014, is 2 July 2014 in this year? + * const result = isThisYear(new Date(2014, 6, 2)) + * //=> true + */ +export function isThisYear(date, options) { + return isSameYear( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isThisYear; diff --git a/.output/server/node_modules/date-fns/isThursday.js b/.output/server/node_modules/date-fns/isThursday.js new file mode 100644 index 00000000..af3e6fda --- /dev/null +++ b/.output/server/node_modules/date-fns/isThursday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isThursday} function options. + */ + +/** + * @name isThursday + * @category Weekday Helpers + * @summary Is the given date Thursday? + * + * @description + * Is the given date Thursday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Thursday + * + * @example + * // Is 25 September 2014 Thursday? + * const result = isThursday(new Date(2014, 8, 25)) + * //=> true + */ +export function isThursday(date, options) { + return toDate(date, options?.in).getDay() === 4; +} + +// Fallback for modularized imports: +export default isThursday; diff --git a/.output/server/node_modules/date-fns/isToday.js b/.output/server/node_modules/date-fns/isToday.js new file mode 100644 index 00000000..3b217a64 --- /dev/null +++ b/.output/server/node_modules/date-fns/isToday.js @@ -0,0 +1,36 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameDay } from "./isSameDay.js"; + +/** + * The {@link isToday} function options. + */ + +/** + * @name isToday + * @category Day Helpers + * @summary Is the given date today? + * @pure false + * + * @description + * Is the given date today? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is today + * + * @example + * // If today is 6 October 2014, is 6 October 14:00:00 today? + * const result = isToday(new Date(2014, 9, 6, 14, 0)) + * //=> true + */ +export function isToday(date, options) { + return isSameDay( + constructFrom(options?.in || date, date), + constructNow(options?.in || date), + ); +} + +// Fallback for modularized imports: +export default isToday; diff --git a/.output/server/node_modules/date-fns/isTomorrow.js b/.output/server/node_modules/date-fns/isTomorrow.js new file mode 100644 index 00000000..14529d13 --- /dev/null +++ b/.output/server/node_modules/date-fns/isTomorrow.js @@ -0,0 +1,37 @@ +import { addDays } from "./addDays.js"; +import { constructNow } from "./constructNow.js"; +import { isSameDay } from "./isSameDay.js"; + +/** + * The {@link isTomorrow} function options. + */ + +/** + * @name isTomorrow + * @category Day Helpers + * @summary Is the given date tomorrow? + * @pure false + * + * @description + * Is the given date tomorrow? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is tomorrow + * + * @example + * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? + * const result = isTomorrow(new Date(2014, 9, 7, 14, 0)) + * //=> true + */ +export function isTomorrow(date, options) { + return isSameDay( + date, + addDays(constructNow(options?.in || date), 1), + options, + ); +} + +// Fallback for modularized imports: +export default isTomorrow; diff --git a/.output/server/node_modules/date-fns/isTuesday.js b/.output/server/node_modules/date-fns/isTuesday.js new file mode 100644 index 00000000..bfa1cf90 --- /dev/null +++ b/.output/server/node_modules/date-fns/isTuesday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isTuesday} function options. + */ + +/** + * @name isTuesday + * @category Weekday Helpers + * @summary Is the given date Tuesday? + * + * @description + * Is the given date Tuesday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Tuesday + * + * @example + * // Is 23 September 2014 Tuesday? + * const result = isTuesday(new Date(2014, 8, 23)) + * //=> true + */ +export function isTuesday(date, options) { + return toDate(date, options?.in).getDay() === 2; +} + +// Fallback for modularized imports: +export default isTuesday; diff --git a/.output/server/node_modules/date-fns/isValid.js b/.output/server/node_modules/date-fns/isValid.js new file mode 100644 index 00000000..56d985e9 --- /dev/null +++ b/.output/server/node_modules/date-fns/isValid.js @@ -0,0 +1,40 @@ +import { isDate } from "./isDate.js"; +import { toDate } from "./toDate.js"; + +/** + * @name isValid + * @category Common Helpers + * @summary Is the given date valid? + * + * @description + * Returns false if argument is Invalid Date and true otherwise. + * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate) + * Invalid Date is a Date, whose time value is NaN. + * + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * @param date - The date to check + * + * @returns The date is valid + * + * @example + * // For the valid date: + * const result = isValid(new Date(2014, 1, 31)) + * //=> true + * + * @example + * // For the value, convertible into a date: + * const result = isValid(1393804800000) + * //=> true + * + * @example + * // For the invalid date: + * const result = isValid(new Date('')) + * //=> false + */ +export function isValid(date) { + return !((!isDate(date) && typeof date !== "number") || isNaN(+toDate(date))); +} + +// Fallback for modularized imports: +export default isValid; diff --git a/.output/server/node_modules/date-fns/isWednesday.js b/.output/server/node_modules/date-fns/isWednesday.js new file mode 100644 index 00000000..940656b3 --- /dev/null +++ b/.output/server/node_modules/date-fns/isWednesday.js @@ -0,0 +1,30 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isWednesday} function options. + */ + +/** + * @name isWednesday + * @category Weekday Helpers + * @summary Is the given date Wednesday? + * + * @description + * Is the given date Wednesday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is Wednesday + * + * @example + * // Is 24 September 2014 Wednesday? + * const result = isWednesday(new Date(2014, 8, 24)) + * //=> true + */ +export function isWednesday(date, options) { + return toDate(date, options?.in).getDay() === 3; +} + +// Fallback for modularized imports: +export default isWednesday; diff --git a/.output/server/node_modules/date-fns/isWeekend.js b/.output/server/node_modules/date-fns/isWeekend.js new file mode 100644 index 00000000..5f8c68d7 --- /dev/null +++ b/.output/server/node_modules/date-fns/isWeekend.js @@ -0,0 +1,31 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isWeekend} function options. + */ + +/** + * @name isWeekend + * @category Weekday Helpers + * @summary Does the given date fall on a weekend? + * + * @description + * Does the given date fall on a weekend? A weekend is either Saturday (`6`) or Sunday (`0`). + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date falls on a weekend + * + * @example + * // Does 5 October 2014 fall on a weekend? + * const result = isWeekend(new Date(2014, 9, 5)) + * //=> true + */ +export function isWeekend(date, options) { + const day = toDate(date, options?.in).getDay(); + return day === 0 || day === 6; +} + +// Fallback for modularized imports: +export default isWeekend; diff --git a/.output/server/node_modules/date-fns/isWithinInterval.js b/.output/server/node_modules/date-fns/isWithinInterval.js new file mode 100644 index 00000000..242e97d7 --- /dev/null +++ b/.output/server/node_modules/date-fns/isWithinInterval.js @@ -0,0 +1,58 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link isWithinInterval} function options. + */ + +/** + * @name isWithinInterval + * @category Interval Helpers + * @summary Is the given date within the interval? + * + * @description + * Is the given date within the interval? (Including start and end.) + * + * @param date - The date to check + * @param interval - The interval to check + * @param options - An object with options + * + * @returns The date is within the interval + * + * @example + * // For the date within the interval: + * isWithinInterval(new Date(2014, 0, 3), { + * start: new Date(2014, 0, 1), + * end: new Date(2014, 0, 7) + * }) + * // => true + * + * @example + * // For the date outside of the interval: + * isWithinInterval(new Date(2014, 0, 10), { + * start: new Date(2014, 0, 1), + * end: new Date(2014, 0, 7) + * }) + * // => false + * + * @example + * // For date equal to the interval start: + * isWithinInterval(date, { start, end: date }) + * // => true + * + * @example + * // For date equal to the interval end: + * isWithinInterval(date, { start: date, end }) + * // => true + */ +export function isWithinInterval(date, interval, options) { + const time = +toDate(date, options?.in); + const [startTime, endTime] = [ + +toDate(interval.start, options?.in), + +toDate(interval.end, options?.in), + ].sort((a, b) => a - b); + + return time >= startTime && time <= endTime; +} + +// Fallback for modularized imports: +export default isWithinInterval; diff --git a/.output/server/node_modules/date-fns/isYesterday.js b/.output/server/node_modules/date-fns/isYesterday.js new file mode 100644 index 00000000..2de5feb5 --- /dev/null +++ b/.output/server/node_modules/date-fns/isYesterday.js @@ -0,0 +1,37 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; +import { isSameDay } from "./isSameDay.js"; +import { subDays } from "./subDays.js"; + +/** + * The {@link isYesterday} function options. + */ + +/** + * @name isYesterday + * @category Day Helpers + * @summary Is the given date yesterday? + * @pure false + * + * @description + * Is the given date yesterday? + * + * @param date - The date to check + * @param options - An object with options + * + * @returns The date is yesterday + * + * @example + * // If today is 6 October 2014, is 5 October 14:00:00 yesterday? + * const result = isYesterday(new Date(2014, 9, 5, 14, 0)) + * //=> true + */ +export function isYesterday(date, options) { + return isSameDay( + constructFrom(options?.in || date, date), + subDays(constructNow(options?.in || date), 1), + ); +} + +// Fallback for modularized imports: +export default isYesterday; diff --git a/.output/server/node_modules/date-fns/lastDayOfDecade.js b/.output/server/node_modules/date-fns/lastDayOfDecade.js new file mode 100644 index 00000000..020880b2 --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfDecade.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link lastDayOfDecade} function options. + */ + +/** + * @name lastDayOfDecade + * @category Decade Helpers + * @summary Return the last day of a decade for the given date. + * + * @description + * Return the last day of a decade for the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type; inferred from arguments or specified by context. + * + * @param date - The original date + * @param options - The options + * + * @returns The last day of a decade + * + * @example + * // The last day of a decade for 21 December 2012 21:12:00: + * const result = lastDayOfDecade(new Date(2012, 11, 21, 21, 12, 00)) + * //=> Wed Dec 31 2019 00:00:00 + */ +export function lastDayOfDecade(date, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const decade = 9 + Math.floor(year / 10) * 10; + _date.setFullYear(decade + 1, 0, 0); + _date.setHours(0, 0, 0, 0); + return toDate(_date, options?.in); +} + +// Fallback for modularized imports: +export default lastDayOfDecade; diff --git a/.output/server/node_modules/date-fns/lastDayOfISOWeek.js b/.output/server/node_modules/date-fns/lastDayOfISOWeek.js new file mode 100644 index 00000000..2c75185f --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfISOWeek.js @@ -0,0 +1,36 @@ +import { lastDayOfWeek } from "./lastDayOfWeek.js"; + +/** + * The {@link lastDayOfISOWeek} function options. + */ + +/** + * @name lastDayOfISOWeek + * @category ISO Week Helpers + * @summary Return the last day of an ISO week for the given date. + * + * @description + * Return the last day of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The Date type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [UTCDate](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The last day of an ISO week + * + * @example + * // The last day of an ISO week for 2 September 2014 11:55:00: + * const result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Sep 07 2014 00:00:00 + */ +export function lastDayOfISOWeek(date, options) { + return lastDayOfWeek(date, { ...options, weekStartsOn: 1 }); +} + +// Fallback for modularized imports: +export default lastDayOfISOWeek; diff --git a/.output/server/node_modules/date-fns/lastDayOfISOWeekYear.js b/.output/server/node_modules/date-fns/lastDayOfISOWeekYear.js new file mode 100644 index 00000000..6359a41d --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfISOWeekYear.js @@ -0,0 +1,46 @@ +import { constructFrom } from "./constructFrom.js"; +import { getISOWeekYear } from "./getISOWeekYear.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; + +/** + * The {@link lastDayOfISOWeekYear} function options. + */ + +/** + * @name lastDayOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the last day of an ISO week-numbering year for the given date. + * + * @description + * Return the last day of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The end of an ISO week-numbering year + * + * @example + * // The last day of an ISO week-numbering year for 2 July 2005: + * const result = lastDayOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Sun Jan 01 2006 00:00:00 + */ +export function lastDayOfISOWeekYear(date, options) { + const year = getISOWeekYear(date, options); + const fourthOfJanuary = constructFrom(options?.in || date, 0); + fourthOfJanuary.setFullYear(year + 1, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + + const date_ = startOfISOWeek(fourthOfJanuary, options); + date_.setDate(date_.getDate() - 1); + return date_; +} + +// Fallback for modularized imports: +export default lastDayOfISOWeekYear; diff --git a/.output/server/node_modules/date-fns/lastDayOfMonth.js b/.output/server/node_modules/date-fns/lastDayOfMonth.js new file mode 100644 index 00000000..193f3aca --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfMonth.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link lastDayOfMonth} function options. + */ + +/** + * @name lastDayOfMonth + * @category Month Helpers + * @summary Return the last day of a month for the given date. + * + * @description + * Return the last day of a month for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The last day of a month + * + * @example + * // The last day of a month for 2 September 2014 11:55:00: + * const result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 00:00:00 + */ +export function lastDayOfMonth(date, options) { + const _date = toDate(date, options?.in); + const month = _date.getMonth(); + _date.setFullYear(_date.getFullYear(), month + 1, 0); + _date.setHours(0, 0, 0, 0); + return toDate(_date, options?.in); +} + +// Fallback for modularized imports: +export default lastDayOfMonth; diff --git a/.output/server/node_modules/date-fns/lastDayOfQuarter.js b/.output/server/node_modules/date-fns/lastDayOfQuarter.js new file mode 100644 index 00000000..d2d6fe82 --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfQuarter.js @@ -0,0 +1,39 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link lastDayOfQuarter} function options. + */ + +/** + * @name lastDayOfQuarter + * @category Quarter Helpers + * @summary Return the last day of a year quarter for the given date. + * + * @description + * Return the last day of a year quarter for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The last day of a quarter + * + * @example + * // The last day of a quarter for 2 September 2014 11:55:00: + * const result = lastDayOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 00:00:00 + */ +export function lastDayOfQuarter(date, options) { + const date_ = toDate(date, options?.in); + const currentMonth = date_.getMonth(); + const month = currentMonth - (currentMonth % 3) + 3; + date_.setMonth(month, 0); + date_.setHours(0, 0, 0, 0); + return date_; +} + +// Fallback for modularized imports: +export default lastDayOfQuarter; diff --git a/.output/server/node_modules/date-fns/lastDayOfWeek.js b/.output/server/node_modules/date-fns/lastDayOfWeek.js new file mode 100644 index 00000000..f6659ab9 --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfWeek.js @@ -0,0 +1,45 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link lastDayOfWeek} function options. + */ + +/** + * @name lastDayOfWeek + * @category Week Helpers + * @summary Return the last day of a week for the given date. + * + * @description + * Return the last day of a week for the given date. + * The result will be in the local timezone unless a context is specified. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The last day of a week + */ +export function lastDayOfWeek(date, options) { + const defaultOptions = getDefaultOptions(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const _date = toDate(date, options?.in); + const day = _date.getDay(); + const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); + + _date.setHours(0, 0, 0, 0); + _date.setDate(_date.getDate() + diff); + + return _date; +} + +// Fallback for modularized imports: +export default lastDayOfWeek; diff --git a/.output/server/node_modules/date-fns/lastDayOfYear.js b/.output/server/node_modules/date-fns/lastDayOfYear.js new file mode 100644 index 00000000..3ae29a1d --- /dev/null +++ b/.output/server/node_modules/date-fns/lastDayOfYear.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link lastDayOfYear} function options. + */ + +/** + * @name lastDayOfYear + * @category Year Helpers + * @summary Return the last day of a year for the given date. + * + * @description + * Return the last day of a year for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The last day of a year + * + * @example + * // The last day of a year for 2 September 2014 11:55:00: + * const result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Dec 31 2014 00:00:00 + */ +export function lastDayOfYear(date, options) { + const date_ = toDate(date, options?.in); + const year = date_.getFullYear(); + date_.setFullYear(year + 1, 0, 0); + date_.setHours(0, 0, 0, 0); + return date_; +} + +// Fallback for modularized imports: +export default lastDayOfYear; diff --git a/.output/server/node_modules/date-fns/lightFormat.js b/.output/server/node_modules/date-fns/lightFormat.js new file mode 100644 index 00000000..a200d4c6 --- /dev/null +++ b/.output/server/node_modules/date-fns/lightFormat.js @@ -0,0 +1,136 @@ +import { lightFormatters } from "./_lib/format/lightFormatters.js"; +import { isValid } from "./isValid.js"; +import { toDate } from "./toDate.js"; + +// Rexports of internal for libraries to use. +// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874 +export { lightFormatters }; + +// This RegExp consists of three parts separated by `|`: +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +const formattingTokensRegExp = /(\w)\1*|''|'(''|[^'])+('|$)|./g; + +const escapedStringRegExp = /^'([^]*?)'?$/; +const doubleQuoteRegExp = /''/g; +const unescapedLatinCharacterRegExp = /[a-zA-Z]/; + +/** + * @private + */ + +/** + * @name lightFormat + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. Unlike `format`, + * `lightFormat` doesn't use locales and outputs date using the most popular tokens. + * + * > ⚠️ Please note that the `lightFormat` tokens differ from Moment.js and other libraries. + * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * + * Accepted patterns: + * | Unit | Pattern | Result examples | + * |---------------------------------|---------|-----------------------------------| + * | AM, PM | a..aaa | AM, PM | + * | | aaaa | a.m., p.m. | + * | | aaaaa | a, p | + * | Calendar year | y | 44, 1, 1900, 2017 | + * | | yy | 44, 01, 00, 17 | + * | | yyy | 044, 001, 000, 017 | + * | | yyyy | 0044, 0001, 1900, 2017 | + * | Month (formatting) | M | 1, 2, ..., 12 | + * | | MM | 01, 02, ..., 12 | + * | Day of month | d | 1, 2, ..., 31 | + * | | dd | 01, 02, ..., 31 | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | + * | | hh | 01, 02, ..., 11, 12 | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | + * | | HH | 00, 01, 02, ..., 23 | + * | Minute | m | 0, 1, ..., 59 | + * | | mm | 00, 01, ..., 59 | + * | Second | s | 0, 1, ..., 59 | + * | | ss | 00, 01, ..., 59 | + * | Fraction of second | S | 0, 1, ..., 9 | + * | | SS | 00, 01, ..., 99 | + * | | SSS | 000, 001, ..., 999 | + * | | SSSS | ... | + * + * @param date - The original date + * @param format - The string of tokens + * + * @returns The formatted date string + * + * @throws `Invalid time value` if the date is invalid + * @throws format string contains an unescaped latin alphabet character + * + * @example + * const result = lightFormat(new Date(2014, 1, 11), 'yyyy-MM-dd') + * //=> '2014-02-11' + */ +export function lightFormat(date, formatStr) { + const date_ = toDate(date); + + if (!isValid(date_)) { + throw new RangeError("Invalid time value"); + } + + const tokens = formatStr.match(formattingTokensRegExp); + + // The only case when formattingTokensRegExp doesn't match the string is when it's empty + if (!tokens) return ""; + + const result = tokens + .map((substring) => { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return "'"; + } + + const firstCharacter = substring[0]; + if (firstCharacter === "'") { + return cleanEscapedString(substring); + } + + const formatter = lightFormatters[firstCharacter]; + if (formatter) { + return formatter(date_, substring); + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError( + "Format string contains an unescaped latin alphabet character `" + + firstCharacter + + "`", + ); + } + + return substring; + }) + .join(""); + + return result; +} + +function cleanEscapedString(input) { + const matches = input.match(escapedStringRegExp); + if (!matches) return input; + return matches[1].replace(doubleQuoteRegExp, "'"); +} + +// Fallback for modularized imports: +export default lightFormat; diff --git a/.output/server/node_modules/date-fns/locale.js b/.output/server/node_modules/date-fns/locale.js new file mode 100644 index 00000000..8ab553df --- /dev/null +++ b/.output/server/node_modules/date-fns/locale.js @@ -0,0 +1,97 @@ +// This file is generated automatically by `scripts/build/indices.ts`. Please, don't change it. + +export * from "./locale/af.js"; +export * from "./locale/ar.js"; +export * from "./locale/ar-DZ.js"; +export * from "./locale/ar-EG.js"; +export * from "./locale/ar-MA.js"; +export * from "./locale/ar-SA.js"; +export * from "./locale/ar-TN.js"; +export * from "./locale/az.js"; +export * from "./locale/be.js"; +export * from "./locale/be-tarask.js"; +export * from "./locale/bg.js"; +export * from "./locale/bn.js"; +export * from "./locale/bs.js"; +export * from "./locale/ca.js"; +export * from "./locale/ckb.js"; +export * from "./locale/cs.js"; +export * from "./locale/cy.js"; +export * from "./locale/da.js"; +export * from "./locale/de.js"; +export * from "./locale/de-AT.js"; +export * from "./locale/el.js"; +export * from "./locale/en-AU.js"; +export * from "./locale/en-CA.js"; +export * from "./locale/en-GB.js"; +export * from "./locale/en-IE.js"; +export * from "./locale/en-IN.js"; +export * from "./locale/en-NZ.js"; +export * from "./locale/en-US.js"; +export * from "./locale/en-ZA.js"; +export * from "./locale/eo.js"; +export * from "./locale/es.js"; +export * from "./locale/et.js"; +export * from "./locale/eu.js"; +export * from "./locale/fa-IR.js"; +export * from "./locale/fi.js"; +export * from "./locale/fr.js"; +export * from "./locale/fr-CA.js"; +export * from "./locale/fr-CH.js"; +export * from "./locale/fy.js"; +export * from "./locale/gd.js"; +export * from "./locale/gl.js"; +export * from "./locale/gu.js"; +export * from "./locale/he.js"; +export * from "./locale/hi.js"; +export * from "./locale/hr.js"; +export * from "./locale/ht.js"; +export * from "./locale/hu.js"; +export * from "./locale/hy.js"; +export * from "./locale/id.js"; +export * from "./locale/is.js"; +export * from "./locale/it.js"; +export * from "./locale/it-CH.js"; +export * from "./locale/ja.js"; +export * from "./locale/ja-Hira.js"; +export * from "./locale/ka.js"; +export * from "./locale/kk.js"; +export * from "./locale/km.js"; +export * from "./locale/kn.js"; +export * from "./locale/ko.js"; +export * from "./locale/lb.js"; +export * from "./locale/lt.js"; +export * from "./locale/lv.js"; +export * from "./locale/mk.js"; +export * from "./locale/mn.js"; +export * from "./locale/ms.js"; +export * from "./locale/mt.js"; +export * from "./locale/nb.js"; +export * from "./locale/nl.js"; +export * from "./locale/nl-BE.js"; +export * from "./locale/nn.js"; +export * from "./locale/oc.js"; +export * from "./locale/pl.js"; +export * from "./locale/pt.js"; +export * from "./locale/pt-BR.js"; +export * from "./locale/ro.js"; +export * from "./locale/ru.js"; +export * from "./locale/se.js"; +export * from "./locale/sk.js"; +export * from "./locale/sl.js"; +export * from "./locale/sq.js"; +export * from "./locale/sr.js"; +export * from "./locale/sr-Latn.js"; +export * from "./locale/sv.js"; +export * from "./locale/ta.js"; +export * from "./locale/te.js"; +export * from "./locale/th.js"; +export * from "./locale/tr.js"; +export * from "./locale/ug.js"; +export * from "./locale/uk.js"; +export * from "./locale/uz.js"; +export * from "./locale/uz-Cyrl.js"; +export * from "./locale/vi.js"; +export * from "./locale/zh-CN.js"; +export * from "./locale/zh-HK.js"; +export * from "./locale/zh-TW.js"; diff --git a/.output/server/node_modules/date-fns/locale/_lib/buildFormatLongFn.js b/.output/server/node_modules/date-fns/locale/_lib/buildFormatLongFn.js new file mode 100644 index 00000000..08a929ed --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/_lib/buildFormatLongFn.js @@ -0,0 +1,8 @@ +export function buildFormatLongFn(args) { + return (options = {}) => { + // TODO: Remove String() + const width = options.width ? String(options.width) : args.defaultWidth; + const format = args.formats[width] || args.formats[args.defaultWidth]; + return format; + }; +} diff --git a/.output/server/node_modules/date-fns/locale/_lib/buildLocalizeFn.js b/.output/server/node_modules/date-fns/locale/_lib/buildLocalizeFn.js new file mode 100644 index 00000000..7a5439c1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/_lib/buildLocalizeFn.js @@ -0,0 +1,62 @@ +/** + * The localize function argument callback which allows to convert raw value to + * the actual type. + * + * @param value - The value to convert + * + * @returns The converted value + */ + +/** + * The map of localized values for each width. + */ + +/** + * The index type of the locale unit value. It types conversion of units of + * values that don't start at 0 (i.e. quarters). + */ + +/** + * Converts the unit value to the tuple of values. + */ + +/** + * The tuple of localized era values. The first element represents BC, + * the second element represents AD. + */ + +/** + * The tuple of localized quarter values. The first element represents Q1. + */ + +/** + * The tuple of localized day values. The first element represents Sunday. + */ + +/** + * The tuple of localized month values. The first element represents January. + */ + +export function buildLocalizeFn(args) { + return (value, options) => { + const context = options?.context ? String(options.context) : "standalone"; + + let valuesArray; + if (context === "formatting" && args.formattingValues) { + const defaultWidth = args.defaultFormattingWidth || args.defaultWidth; + const width = options?.width ? String(options.width) : defaultWidth; + + valuesArray = + args.formattingValues[width] || args.formattingValues[defaultWidth]; + } else { + const defaultWidth = args.defaultWidth; + const width = options?.width ? String(options.width) : args.defaultWidth; + + valuesArray = args.values[width] || args.values[defaultWidth]; + } + const index = args.argumentCallback ? args.argumentCallback(value) : value; + + // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it! + return valuesArray[index]; + }; +} diff --git a/.output/server/node_modules/date-fns/locale/_lib/buildMatchFn.js b/.output/server/node_modules/date-fns/locale/_lib/buildMatchFn.js new file mode 100644 index 00000000..afab1369 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/_lib/buildMatchFn.js @@ -0,0 +1,57 @@ +export function buildMatchFn(args) { + return (string, options = {}) => { + const width = options.width; + + const matchPattern = + (width && args.matchPatterns[width]) || + args.matchPatterns[args.defaultMatchWidth]; + const matchResult = string.match(matchPattern); + + if (!matchResult) { + return null; + } + const matchedString = matchResult[0]; + + const parsePatterns = + (width && args.parsePatterns[width]) || + args.parsePatterns[args.defaultParseWidth]; + + const key = Array.isArray(parsePatterns) + ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) + : // [TODO] -- I challenge you to fix the type + findKey(parsePatterns, (pattern) => pattern.test(matchedString)); + + let value; + + value = args.valueCallback ? args.valueCallback(key) : key; + value = options.valueCallback + ? // [TODO] -- I challenge you to fix the type + options.valueCallback(value) + : value; + + const rest = string.slice(matchedString.length); + + return { value, rest }; + }; +} + +function findKey(object, predicate) { + for (const key in object) { + if ( + Object.prototype.hasOwnProperty.call(object, key) && + predicate(object[key]) + ) { + return key; + } + } + return undefined; +} + +function findIndex(array, predicate) { + for (let key = 0; key < array.length; key++) { + if (predicate(array[key])) { + return key; + } + } + return undefined; +} diff --git a/.output/server/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js b/.output/server/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js new file mode 100644 index 00000000..3a839a34 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js @@ -0,0 +1,20 @@ +export function buildMatchPatternFn(args) { + return (string, options = {}) => { + const matchResult = string.match(args.matchPattern); + if (!matchResult) return null; + const matchedString = matchResult[0]; + + const parseResult = string.match(args.parsePattern); + if (!parseResult) return null; + let value = args.valueCallback + ? args.valueCallback(parseResult[0]) + : parseResult[0]; + + // [TODO] I challenge you to fix the type + value = options.valueCallback ? options.valueCallback(value) : value; + + const rest = string.slice(matchedString.length); + + return { value, rest }; + }; +} diff --git a/.output/server/node_modules/date-fns/locale/af.js b/.output/server/node_modules/date-fns/locale/af.js new file mode 100644 index 00000000..14849a2d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./af/_lib/formatDistance.js"; +import { formatLong } from "./af/_lib/formatLong.js"; +import { formatRelative } from "./af/_lib/formatRelative.js"; +import { localize } from "./af/_lib/localize.js"; +import { match } from "./af/_lib/match.js"; + +/** + * @category Locales + * @summary Afrikaans locale. + * @language Afrikaans + * @iso-639-2 afr + * @author Marnus Weststrate [@marnusw](https://github.com/marnusw) + */ +export const af = { + code: "af", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default af; diff --git a/.output/server/node_modules/date-fns/locale/af/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/af/_lib/formatDistance.js new file mode 100644 index 00000000..a00518b6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "minder as 'n sekonde", + other: "minder as {{count}} sekondes", + }, + + xSeconds: { + one: "1 sekonde", + other: "{{count}} sekondes", + }, + + halfAMinute: "'n halwe minuut", + + lessThanXMinutes: { + one: "minder as 'n minuut", + other: "minder as {{count}} minute", + }, + + xMinutes: { + one: "'n minuut", + other: "{{count}} minute", + }, + + aboutXHours: { + one: "ongeveer 1 uur", + other: "ongeveer {{count}} ure", + }, + + xHours: { + one: "1 uur", + other: "{{count}} ure", + }, + + xDays: { + one: "1 dag", + other: "{{count}} dae", + }, + + aboutXWeeks: { + one: "ongeveer 1 week", + other: "ongeveer {{count}} weke", + }, + + xWeeks: { + one: "1 week", + other: "{{count}} weke", + }, + + aboutXMonths: { + one: "ongeveer 1 maand", + other: "ongeveer {{count}} maande", + }, + + xMonths: { + one: "1 maand", + other: "{{count}} maande", + }, + + aboutXYears: { + one: "ongeveer 1 jaar", + other: "ongeveer {{count}} jaar", + }, + + xYears: { + one: "1 jaar", + other: "{{count}} jaar", + }, + + overXYears: { + one: "meer as 1 jaar", + other: "meer as {{count}} jaar", + }, + + almostXYears: { + one: "byna 1 jaar", + other: "byna {{count}} jaar", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "oor " + result; + } else { + return result + " gelede"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/af/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/af/_lib/formatLong.js new file mode 100644 index 00000000..ca15298f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "yyyy/MM/dd", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'om' {{time}}", + long: "{{date}} 'om' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/af/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/af/_lib/formatRelative.js new file mode 100644 index 00000000..a829df3d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'verlede' eeee 'om' p", + yesterday: "'gister om' p", + today: "'vandag om' p", + tomorrow: "'môre om' p", + nextWeek: "eeee 'om' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/af/_lib/localize.js b/.output/server/node_modules/date-fns/locale/af/_lib/localize.js new file mode 100644 index 00000000..8c4b87e3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af/_lib/localize.js @@ -0,0 +1,173 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["vC", "nC"], + abbreviated: ["vC", "nC"], + wide: ["voor Christus", "na Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1ste kwartaal", "2de kwartaal", "3de kwartaal", "4de kwartaal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mrt", + "Apr", + "Mei", + "Jun", + "Jul", + "Aug", + "Sep", + "Okt", + "Nov", + "Des", + ], + + wide: [ + "Januarie", + "Februarie", + "Maart", + "April", + "Mei", + "Junie", + "Julie", + "Augustus", + "September", + "Oktober", + "November", + "Desember", + ], +}; + +const dayValues = { + narrow: ["S", "M", "D", "W", "D", "V", "S"], + short: ["So", "Ma", "Di", "Wo", "Do", "Vr", "Sa"], + abbreviated: ["Son", "Maa", "Din", "Woe", "Don", "Vry", "Sat"], + wide: [ + "Sondag", + "Maandag", + "Dinsdag", + "Woensdag", + "Donderdag", + "Vrydag", + "Saterdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "middaguur", + morning: "oggend", + afternoon: "middag", + evening: "laat middag", + night: "aand", + }, + abbreviated: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "middaguur", + morning: "oggend", + afternoon: "middag", + evening: "laat middag", + night: "aand", + }, + wide: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "middaguur", + morning: "oggend", + afternoon: "middag", + evening: "laat middag", + night: "aand", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "uur die middag", + morning: "uur die oggend", + afternoon: "uur die middag", + evening: "uur die aand", + night: "uur die aand", + }, + abbreviated: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "uur die middag", + morning: "uur die oggend", + afternoon: "uur die middag", + evening: "uur die aand", + night: "uur die aand", + }, + wide: { + am: "vm", + pm: "nm", + midnight: "middernag", + noon: "uur die middag", + morning: "uur die oggend", + afternoon: "uur die middag", + evening: "uur die aand", + night: "uur die aand", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + const rem100 = number % 100; + if (rem100 < 20) { + switch (rem100) { + case 1: + case 8: + return number + "ste"; + default: + return number + "de"; + } + } + return number + "ste"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/af/_lib/match.js b/.output/server/node_modules/date-fns/locale/af/_lib/match.js new file mode 100644 index 00000000..8d879f3f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/af/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ste|de)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([vn]\.? ?C\.?)/, + abbreviated: /^([vn]\. ?C\.?)/, + wide: /^((voor|na) Christus)/, +}; +const parseEraPatterns = { + any: [/^v/, /^n/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234](st|d)e kwartaal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(Jan|Feb|Mrt|Apr|Mei|Jun|Jul|Aug|Sep|Okt|Nov|Dec)\.?/i, + wide: /^(Januarie|Februarie|Maart|April|Mei|Junie|Julie|Augustus|September|Oktober|November|Desember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^J/i, + /^F/i, + /^M/i, + /^A/i, + /^M/i, + /^J/i, + /^J/i, + /^A/i, + /^S/i, + /^O/i, + /^N/i, + /^D/i, + ], + + any: [ + /^Jan/i, + /^Feb/i, + /^Mrt/i, + /^Apr/i, + /^Mei/i, + /^Jun/i, + /^Jul/i, + /^Aug/i, + /^Sep/i, + /^Okt/i, + /^Nov/i, + /^Dec/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smdwv]/i, + short: /^(So|Ma|Di|Wo|Do|Vr|Sa)/i, + abbreviated: /^(Son|Maa|Din|Woe|Don|Vry|Sat)/i, + wide: /^(Sondag|Maandag|Dinsdag|Woensdag|Donderdag|Vrydag|Saterdag)/i, +}; +const parseDayPatterns = { + narrow: [/^S/i, /^M/i, /^D/i, /^W/i, /^D/i, /^V/i, /^S/i], + any: [/^So/i, /^Ma/i, /^Di/i, /^Wo/i, /^Do/i, /^Vr/i, /^Sa/i], +}; + +const matchDayPeriodPatterns = { + any: /^(vm|nm|middernag|(?:uur )?die (oggend|middag|aand))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^vm/i, + pm: /^nm/i, + midnight: /^middernag/i, + noon: /^middaguur/i, + morning: /oggend/i, + afternoon: /middag/i, + evening: /laat middag/i, + night: /aand/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ.js b/.output/server/node_modules/date-fns/locale/ar-DZ.js new file mode 100644 index 00000000..85ffaed2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ar-DZ/_lib/formatDistance.js"; +import { formatLong } from "./ar-DZ/_lib/formatLong.js"; +import { formatRelative } from "./ar-DZ/_lib/formatRelative.js"; +import { localize } from "./ar-DZ/_lib/localize.js"; +import { match } from "./ar-DZ/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Algerian Arabic). + * @language Algerian Arabic + * @iso-639-2 ara + * @author Badreddine Boumaza [@badre429](https://github.com/badre429) + * @author Ahmed ElShahat [@elshahat](https://github.com/elshahat) + */ +export const arDZ = { + code: "ar-DZ", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default arDZ; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatDistance.js new file mode 100644 index 00000000..23c98cf2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatDistance.js @@ -0,0 +1,136 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية واحدة", + two: "أقل من ثانتين", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية واحدة", + two: "ثانتين", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نصف دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقائق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة واحدة", + two: "دقيقتين", + threeToTen: "{{count}} دقائق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "ساعة واحدة تقريباً", + two: "ساعتين تقريباً", + threeToTen: "{{count}} ساعات تقريباً", + other: "{{count}} ساعة تقريباً", + }, + + xHours: { + one: "ساعة واحدة", + two: "ساعتين", + threeToTen: "{{count}} ساعات", + other: "{{count}} ساعة", + }, + + xDays: { + one: "يوم واحد", + two: "يومين", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "أسبوع واحد تقريباً", + two: "أسبوعين تقريباً", + threeToTen: "{{count}} أسابيع تقريباً", + other: "{{count}} أسبوع تقريباً", + }, + + xWeeks: { + one: "أسبوع واحد", + two: "أسبوعين", + threeToTen: "{{count}} أسابيع", + other: "{{count}} أسبوع", + }, + + aboutXMonths: { + one: "شهر واحد تقريباً", + two: "شهرين تقريباً", + threeToTen: "{{count}} أشهر تقريباً", + other: "{{count}} شهر تقريباً", + }, + + xMonths: { + one: "شهر واحد", + two: "شهرين", + threeToTen: "{{count}} أشهر", + other: "{{count}} شهر", + }, + + aboutXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, + + xYears: { + one: "عام واحد", + two: "عامين", + threeToTen: "{{count}} أعوام", + other: "{{count}} عام", + }, + + overXYears: { + one: "أكثر من عام", + two: "أكثر من عامين", + threeToTen: "أكثر من {{count}} أعوام", + other: "أكثر من {{count}} عام", + }, + + almostXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + + const usageGroup = formatDistanceLocale[token]; + let result; + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else if (count === 2) { + result = usageGroup.two; + } else if (count <= 10) { + result = usageGroup.threeToTen.replace("{{count}}", String(count)); + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "في خلال " + result; + } else { + return "منذ " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatLong.js new file mode 100644 index 00000000..90ffe93e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'عند' {{time}}", + long: "{{date}} 'عند' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatRelative.js new file mode 100644 index 00000000..96dcced9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/formatRelative.js @@ -0,0 +1,12 @@ +const formatRelativeLocale = { + lastWeek: "'أخر' eeee 'عند' p", + yesterday: "'أمس عند' p", + today: "'اليوم عند' p", + tomorrow: "'غداً عند' p", + nextWeek: "eeee 'عند' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => { + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/localize.js new file mode 100644 index 00000000..67826d82 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["ج", "ف", "م", "أ", "م", "ج", "ج", "أ", "س", "أ", "ن", "د"], + abbreviated: [ + "جانـ", + "فيفـ", + "مارس", + "أفريل", + "مايـ", + "جوانـ", + "جويـ", + "أوت", + "سبتـ", + "أكتـ", + "نوفـ", + "ديسـ", + ], + + wide: [ + "جانفي", + "فيفري", + "مارس", + "أفريل", + "ماي", + "جوان", + "جويلية", + "أوت", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنـ", "ثلا", "أربـ", "خميـ", "جمعة", "سبت"], + wide: [ + "الأحد", + "الاثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "في الصباح", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "في الصباح", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/match.js new file mode 100644 index 00000000..0e99f19b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-DZ/_lib/match.js @@ -0,0 +1,143 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ق|ب)/i, + abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i, + wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i, +}; +const parseEraPatterns = { + any: [/^قبل/i, /^بعد/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ر[1234]/i, + wide: /^الربع [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[جفمأسند]/i, + abbreviated: /^(جان|فيف|مار|أفر|ماي|جوا|جوي|أوت|سبت|أكت|نوف|ديس)/i, + wide: /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/i, +}; + +const parseMonthPatterns = { + narrow: [ + /^ج/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ج/i, + /^ج/i, + /^أ/i, + /^س/i, + /^أ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^جان/i, + /^فيف/i, + /^مار/i, + /^أفر/i, + /^ماي/i, + /^جوا/i, + /^جوي/i, + /^أوت/i, + /^سبت/i, + /^أكت/i, + /^نوف/i, + /^ديس/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[حنثرخجس]/i, + short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + abbreviated: /^(أحد|اثن|ثلا|أرب|خمي|جمعة|سبت)/i, + wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i, +}; +const parseDayPatterns = { + narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i], + wide: [ + /^الأحد/i, + /^الاثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i, + ], + + any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => Number(index) + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG.js b/.output/server/node_modules/date-fns/locale/ar-EG.js new file mode 100644 index 00000000..9d61de3e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ar-EG/_lib/formatDistance.js"; +import { formatLong } from "./ar-EG/_lib/formatLong.js"; +import { formatRelative } from "./ar-EG/_lib/formatRelative.js"; +import { localize } from "./ar-EG/_lib/localize.js"; +import { match } from "./ar-EG/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Egypt). + * @language Arabic + * @iso-639-2 ara + * @author AbdAllah AbdElFattah [@AbdAllahAbdElFattah13](https://github.com/AbdAllahAbdElFattah13) + */ +export const arEG = { + code: "ar-EG", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default arEG; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatDistance.js new file mode 100644 index 00000000..60b72844 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatDistance.js @@ -0,0 +1,135 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية", + two: "أقل من ثانيتين", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية", + two: "ثانيتين", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نص دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقايق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة", + two: "دقيقتين", + threeToTen: "{{count}} دقايق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "حوالي ساعة", + two: "حوالي ساعتين", + threeToTen: "حوالي {{count}} ساعات", + other: "حوالي {{count}} ساعة", + }, + + xHours: { + one: "ساعة", + two: "ساعتين", + threeToTen: "{{count}} ساعات", + other: "{{count}} ساعة", + }, + + xDays: { + one: "يوم", + two: "يومين", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "حوالي أسبوع", + two: "حوالي أسبوعين", + threeToTen: "حوالي {{count}} أسابيع", + other: "حوالي {{count}} أسبوع", + }, + + xWeeks: { + one: "أسبوع", + two: "أسبوعين", + threeToTen: "{{count}} أسابيع", + other: "{{count}} أسبوع", + }, + + aboutXMonths: { + one: "حوالي شهر", + two: "حوالي شهرين", + threeToTen: "حوالي {{count}} أشهر", + other: "حوالي {{count}} شهر", + }, + + xMonths: { + one: "شهر", + two: "شهرين", + threeToTen: "{{count}} أشهر", + other: "{{count}} شهر", + }, + + aboutXYears: { + one: "حوالي سنة", + two: "حوالي سنتين", + threeToTen: "حوالي {{count}} سنين", + other: "حوالي {{count}} سنة", + }, + + xYears: { + one: "عام", + two: "عامين", + threeToTen: "{{count}} أعوام", + other: "{{count}} عام", + }, + + overXYears: { + one: "أكثر من سنة", + two: "أكثر من سنتين", + threeToTen: "أكثر من {{count}} سنين", + other: "أكثر من {{count}} سنة", + }, + + almostXYears: { + one: "عام تقريبًا", + two: "عامين تقريبًا", + threeToTen: "{{count}} أعوام تقريبًا", + other: "{{count}} عام تقريبًا", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2) { + result = tokenValue.two; + } else if (count <= 10) { + result = tokenValue.threeToTen.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return `في خلال ${result}`; + } else { + return `منذ ${result}`; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatLong.js new file mode 100644 index 00000000..73a2464f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE، do MMMM y", + long: "do MMMM y", + medium: "dd/MMM/y", + short: "d/MM/y", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'الساعة' {{time}}", + long: "{{date}} 'الساعة' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatRelative.js new file mode 100644 index 00000000..e09826bb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'اللي جاي الساعة' p", + yesterday: "'إمبارح الساعة' p", + today: "'النهاردة الساعة' p", + tomorrow: "'بكرة الساعة' p", + nextWeek: "eeee 'الساعة' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/localize.js new file mode 100644 index 00000000..f3446759 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م", "ب.م"], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["ي", "ف", "م", "أ", "م", "ي", "ي", "أ", "س", "أ", "ن", "د"], + abbreviated: [ + "ينا", + "فبر", + "مارس", + "أبريل", + "مايو", + "يونـ", + "يولـ", + "أغسـ", + "سبتـ", + "أكتـ", + "نوفـ", + "ديسـ", + ], + + wide: [ + "يناير", + "فبراير", + "مارس", + "أبريل", + "مايو", + "يونيو", + "يوليو", + "أغسطس", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + + wide: [ + "الأحد", + "الاثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءً", + night: "ليلاً", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهراً", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءً", + night: "ليلاً", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهراً", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءً", + night: "ليلاً", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "في الصباح", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهراً", + morning: "في الصباح", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + morning: "في الصباح", + noon: "ظهراً", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-EG/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/match.js new file mode 100644 index 00000000..220ffed4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-EG/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)/; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ق|ب)/g, + abbreviated: /^(ق.م|ب.م)/g, + wide: /^(قبل الميلاد|بعد الميلاد)/g, +}; +const parseEraPatterns = { + any: [/^ق/g, /^ب/g], +}; +const matchQuarterPatterns = { + narrow: /^[1234]/, + abbreviated: /^ر[1234]/, + wide: /^الربع (الأول|الثاني|الثالث|الرابع)/, +}; +const parseQuarterPatterns = { + wide: [/الربع الأول/, /الربع الثاني/, /الربع الثالث/, /الربع الرابع/], + + any: [/1/, /2/, /3/, /4/], +}; + +const matchMonthPatterns = { + narrow: /^(ي|ف|م|أ|س|ن|د)/, + abbreviated: /^(ينا|فبر|مارس|أبريل|مايو|يونـ|يولـ|أغسـ|سبتـ|أكتـ|نوفـ|ديسـ)/, + wide: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/, +}; +const parseMonthPatterns = { + narrow: [ + /^ي/, + /^ف/, + /^م/, + /^أ/, + /^م/, + /^ي/, + /^ي/, + /^أ/, + /^س/, + /^أ/, + /^ن/, + /^د/, + ], + + any: [ + /^ينا/, + /^فبر/, + /^مارس/, + /^أبريل/, + /^مايو/, + /^يون/, + /^يول/, + /^أغس/, + /^سبت/, + /^أكت/, + /^نوف/, + /^ديس/, + ], +}; + +const matchDayPatterns = { + narrow: /^(ح|ن|ث|ر|خ|ج|س)/, + short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/, + abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/, + wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/, +}; +const parseDayPatterns = { + narrow: [/^ح/, /^ن/, /^ث/, /^ر/, /^خ/, /^ج/, /^س/], + any: [/أحد/, /اثنين/, /ثلاثاء/, /أربعاء/, /خميس/, /جمعة/, /سبت/], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ص|م|ن|ظ|في الصباح|بعد الظهر|في المساء|في الليل)/, + abbreviated: /^(ص|م|نصف الليل|ظهراً|في الصباح|بعد الظهر|في المساء|في الليل)/, + wide: /^(ص|م|نصف الليل|في الصباح|ظهراً|بعد الظهر|في المساء|في الليل)/, + any: /^(ص|م|صباح|ظهر|مساء|ليل)/, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ص/, + pm: /^م/, + midnight: /^ن/, + noon: /^ظ/, + morning: /^ص/, + afternoon: /^بعد/, + evening: /^م/, + night: /^ل/, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA.js b/.output/server/node_modules/date-fns/locale/ar-MA.js new file mode 100644 index 00000000..074bab1d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ar-MA/_lib/formatDistance.js"; +import { formatLong } from "./ar-MA/_lib/formatLong.js"; +import { formatRelative } from "./ar-MA/_lib/formatRelative.js"; +import { localize } from "./ar-MA/_lib/localize.js"; +import { match } from "./ar-MA/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Moroccan Arabic). + * @language Moroccan Arabic + * @iso-639-2 ara + * @author Achraf Rrami [@rramiachraf](https://github.com/rramiachraf) + */ +export const arMA = { + code: "ar-MA", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + // Monday is 1 + weekStartsOn: 1, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default arMA; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatDistance.js new file mode 100644 index 00000000..23c98cf2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatDistance.js @@ -0,0 +1,136 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية واحدة", + two: "أقل من ثانتين", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية واحدة", + two: "ثانتين", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نصف دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقائق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة واحدة", + two: "دقيقتين", + threeToTen: "{{count}} دقائق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "ساعة واحدة تقريباً", + two: "ساعتين تقريباً", + threeToTen: "{{count}} ساعات تقريباً", + other: "{{count}} ساعة تقريباً", + }, + + xHours: { + one: "ساعة واحدة", + two: "ساعتين", + threeToTen: "{{count}} ساعات", + other: "{{count}} ساعة", + }, + + xDays: { + one: "يوم واحد", + two: "يومين", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "أسبوع واحد تقريباً", + two: "أسبوعين تقريباً", + threeToTen: "{{count}} أسابيع تقريباً", + other: "{{count}} أسبوع تقريباً", + }, + + xWeeks: { + one: "أسبوع واحد", + two: "أسبوعين", + threeToTen: "{{count}} أسابيع", + other: "{{count}} أسبوع", + }, + + aboutXMonths: { + one: "شهر واحد تقريباً", + two: "شهرين تقريباً", + threeToTen: "{{count}} أشهر تقريباً", + other: "{{count}} شهر تقريباً", + }, + + xMonths: { + one: "شهر واحد", + two: "شهرين", + threeToTen: "{{count}} أشهر", + other: "{{count}} شهر", + }, + + aboutXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, + + xYears: { + one: "عام واحد", + two: "عامين", + threeToTen: "{{count}} أعوام", + other: "{{count}} عام", + }, + + overXYears: { + one: "أكثر من عام", + two: "أكثر من عامين", + threeToTen: "أكثر من {{count}} أعوام", + other: "أكثر من {{count}} عام", + }, + + almostXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + + const usageGroup = formatDistanceLocale[token]; + let result; + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else if (count === 2) { + result = usageGroup.two; + } else if (count <= 10) { + result = usageGroup.threeToTen.replace("{{count}}", String(count)); + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "في خلال " + result; + } else { + return "منذ " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatLong.js new file mode 100644 index 00000000..90ffe93e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'عند' {{time}}", + long: "{{date}} 'عند' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatRelative.js new file mode 100644 index 00000000..96dcced9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/formatRelative.js @@ -0,0 +1,12 @@ +const formatRelativeLocale = { + lastWeek: "'أخر' eeee 'عند' p", + yesterday: "'أمس عند' p", + today: "'اليوم عند' p", + tomorrow: "'غداً عند' p", + nextWeek: "eeee 'عند' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => { + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/localize.js new file mode 100644 index 00000000..61018273 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["ي", "ف", "م", "أ", "م", "ي", "ي", "غ", "ش", "أ", "ن", "د"], + abbreviated: [ + "ينا", + "فبر", + "مارس", + "أبريل", + "ماي", + "يونـ", + "يولـ", + "غشت", + "شتنـ", + "أكتـ", + "نونـ", + "دجنـ", + ], + + wide: [ + "يناير", + "فبراير", + "مارس", + "أبريل", + "ماي", + "يونيو", + "يوليوز", + "غشت", + "شتنبر", + "أكتوبر", + "نونبر", + "دجنبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنـ", "ثلا", "أربـ", "خميـ", "جمعة", "سبت"], + wide: [ + "الأحد", + "الإثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "في الصباح", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "في الصباح", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-MA/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/match.js new file mode 100644 index 00000000..ede8a499 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-MA/_lib/match.js @@ -0,0 +1,142 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ق|ب)/i, + abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i, + wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i, +}; +const parseEraPatterns = { + any: [/^قبل/i, /^بعد/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ر[1234]/i, + wide: /^الربع [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[يفمأمسند]/i, + abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i, + wide: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ي/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ي/i, + /^ي/i, + /^غ/i, + /^ش/i, + /^أ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^ين/i, + /^فب/i, + /^مار/i, + /^أب/i, + /^ماي/i, + /^يون/i, + /^يول/i, + /^غشت/i, + /^ش/i, + /^أك/i, + /^ن/i, + /^د/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[حنثرخجس]/i, + short: /^(أحد|إثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + abbreviated: /^(أحد|إثن|ثلا|أرب|خمي|جمعة|سبت)/i, + wide: /^(الأحد|الإثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i, +}; +const parseDayPatterns = { + narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i], + wide: [ + /^الأحد/i, + /^الإثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i, + ], + + any: [/^أح/i, /^إث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => Number(index) + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA.js b/.output/server/node_modules/date-fns/locale/ar-SA.js new file mode 100644 index 00000000..edafa5d0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ar-SA/_lib/formatDistance.js"; +import { formatLong } from "./ar-SA/_lib/formatLong.js"; +import { formatRelative } from "./ar-SA/_lib/formatRelative.js"; +import { localize } from "./ar-SA/_lib/localize.js"; +import { match } from "./ar-SA/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Sauid Arabic). + * @language Arabic + * @iso-639-2 ara + * @author Dhaifallah Alwadani [@dalwadani](https://github.com/dalwadani) + */ +export const arSA = { + code: "ar-SA", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default arSA; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatDistance.js new file mode 100644 index 00000000..a0268af5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatDistance.js @@ -0,0 +1,135 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية واحدة", + two: "أقل من ثانتين", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية واحدة", + two: "ثانتين", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نصف دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقائق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة واحدة", + two: "دقيقتين", + threeToTen: "{{count}} دقائق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "ساعة واحدة تقريباً", + two: "ساعتين تقريباً", + threeToTen: "{{count}} ساعات تقريباً", + other: "{{count}} ساعة تقريباً", + }, + + xHours: { + one: "ساعة واحدة", + two: "ساعتين", + threeToTen: "{{count}} ساعات", + other: "{{count}} ساعة", + }, + + xDays: { + one: "يوم واحد", + two: "يومين", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "أسبوع واحد تقريباً", + two: "أسبوعين تقريباً", + threeToTen: "{{count}} أسابيع تقريباً", + other: "{{count}} أسبوع تقريباً", + }, + + xWeeks: { + one: "أسبوع واحد", + two: "أسبوعين", + threeToTen: "{{count}} أسابيع", + other: "{{count}} أسبوع", + }, + + aboutXMonths: { + one: "شهر واحد تقريباً", + two: "شهرين تقريباً", + threeToTen: "{{count}} أشهر تقريباً", + other: "{{count}} شهر تقريباً", + }, + + xMonths: { + one: "شهر واحد", + two: "شهرين", + threeToTen: "{{count}} أشهر", + other: "{{count}} شهر", + }, + + aboutXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, + + xYears: { + one: "عام واحد", + two: "عامين", + threeToTen: "{{count}} أعوام", + other: "{{count}} عام", + }, + + overXYears: { + one: "أكثر من عام", + two: "أكثر من عامين", + threeToTen: "أكثر من {{count}} أعوام", + other: "أكثر من {{count}} عام", + }, + + almostXYears: { + one: "عام واحد تقريباً", + two: "عامين تقريباً", + threeToTen: "{{count}} أعوام تقريباً", + other: "{{count}} عام تقريباً", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2) { + result = tokenValue.two; + } else if (count <= 10) { + result = tokenValue.threeToTen.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "في خلال " + result; + } else { + return "منذ " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatLong.js new file mode 100644 index 00000000..90ffe93e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'عند' {{time}}", + long: "{{date}} 'عند' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatRelative.js new file mode 100644 index 00000000..c273528f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'أخر' eeee 'عند' p", + yesterday: "'أمس عند' p", + today: "'اليوم عند' p", + tomorrow: "'غداً عند' p", + nextWeek: "eeee 'عند' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/localize.js new file mode 100644 index 00000000..788f5f9d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["ي", "ف", "م", "أ", "م", "ي", "ي", "أ", "س", "أ", "ن", "د"], + abbreviated: [ + "ينا", + "فبر", + "مارس", + "أبريل", + "مايو", + "يونـ", + "يولـ", + "أغسـ", + "سبتـ", + "أكتـ", + "نوفـ", + "ديسـ", + ], + + wide: [ + "يناير", + "فبراير", + "مارس", + "أبريل", + "مايو", + "يونيو", + "يوليو", + "أغسطس", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنـ", "ثلا", "أربـ", "خميـ", "جمعة", "سبت"], + wide: [ + "الأحد", + "الاثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظهر", + evening: "مساءاً", + night: "ليلاً", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + midnight: "ن", + noon: "ظ", + morning: "في الصباح", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "في الصباح", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + }, + wide: { + am: "ص", + pm: "م", + midnight: "نصف الليل", + noon: "ظهر", + morning: "صباحاً", + afternoon: "بعد الظـهر", + evening: "في المساء", + night: "في الليل", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-SA/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/match.js new file mode 100644 index 00000000..25e467cb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-SA/_lib/match.js @@ -0,0 +1,142 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ق|ب)/i, + abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i, + wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i, +}; +const parseEraPatterns = { + any: [/^قبل/i, /^بعد/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ر[1234]/i, + wide: /^الربع [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[يفمأمسند]/i, + abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i, + wide: /^(ين|ف|مار|أب|ماي|يون|يول|أغ|س|أك|ن|د)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ي/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ي/i, + /^ي/i, + /^أ/i, + /^س/i, + /^أ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^ين/i, + /^ف/i, + /^مار/i, + /^أب/i, + /^ماي/i, + /^يون/i, + /^يول/i, + /^أغ/i, + /^س/i, + /^أك/i, + /^ن/i, + /^د/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[حنثرخجس]/i, + short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + abbreviated: /^(أحد|اثن|ثلا|أرب|خمي|جمعة|سبت)/i, + wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i, +}; +const parseDayPatterns = { + narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i], + wide: [ + /^الأحد/i, + /^الاثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i, + ], + + any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN.js b/.output/server/node_modules/date-fns/locale/ar-TN.js new file mode 100644 index 00000000..0ab52e73 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ar-TN/_lib/formatDistance.js"; +import { formatLong } from "./ar-TN/_lib/formatLong.js"; +import { formatRelative } from "./ar-TN/_lib/formatRelative.js"; +import { localize } from "./ar-TN/_lib/localize.js"; +import { match } from "./ar-TN/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Tunisian Arabic). + * @language Arabic + * @iso-639-2 ara + * @author Koussay Haj Kacem [@essana3](https://github.com/essana3) + */ +export const arTN = { + code: "ar-TN", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default arTN; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatDistance.js new file mode 100644 index 00000000..bd0c9662 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatDistance.js @@ -0,0 +1,134 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية", + two: "أقل من زوز ثواني", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية", + two: "زوز ثواني", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نص دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقايق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة", + two: "دقيقتين", + threeToTen: "{{count}} دقايق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "ساعة تقريب", + two: "ساعتين تقريب", + threeToTen: "{{count}} سوايع تقريب", + other: "{{count}} ساعة تقريب", + }, + + xHours: { + one: "ساعة", + two: "ساعتين", + threeToTen: "{{count}} سوايع", + other: "{{count}} ساعة", + }, + + xDays: { + one: "نهار", + two: "نهارين", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "جمعة تقريب", + two: "جمعتين تقريب", + threeToTen: "{{count}} جماع تقريب", + other: "{{count}} جمعة تقريب", + }, + + xWeeks: { + one: "جمعة", + two: "جمعتين", + threeToTen: "{{count}} جماع", + other: "{{count}} جمعة", + }, + + aboutXMonths: { + one: "شهر تقريب", + two: "شهرين تقريب", + threeToTen: "{{count}} أشهرة تقريب", + other: "{{count}} شهر تقريب", + }, + + xMonths: { + one: "شهر", + two: "شهرين", + threeToTen: "{{count}} أشهرة", + other: "{{count}} شهر", + }, + + aboutXYears: { + one: "عام تقريب", + two: "عامين تقريب", + threeToTen: "{{count}} أعوام تقريب", + other: "{{count}} عام تقريب", + }, + + xYears: { + one: "عام", + two: "عامين", + threeToTen: "{{count}} أعوام", + other: "{{count}} عام", + }, + + overXYears: { + one: "أكثر من عام", + two: "أكثر من عامين", + threeToTen: "أكثر من {{count}} أعوام", + other: "أكثر من {{count}} عام", + }, + + almostXYears: { + one: "عام تقريب", + two: "عامين تقريب", + threeToTen: "{{count}} أعوام تقريب", + other: "{{count}} عام تقريب", + }, +}; + +export const formatDistance = (token, count, options) => { + const usageGroup = formatDistanceLocale[token]; + let result; + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else if (count === 2) { + result = usageGroup.two; + } else if (count <= 10) { + result = usageGroup.threeToTen.replace("{{count}}", String(count)); + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "في " + result; + } else { + return "عندو " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatLong.js new file mode 100644 index 00000000..ccfe3d9e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE، do MMMM y", + long: "do MMMM y", + medium: "d MMM y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss", + long: "HH:mm:ss", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'مع' {{time}}", + long: "{{date}} 'مع' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatRelative.js new file mode 100644 index 00000000..3a4c437a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/formatRelative.js @@ -0,0 +1,10 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'إلي فات مع' p", + yesterday: "'البارح مع' p", + today: "'اليوم مع' p", + tomorrow: "'غدوة مع' p", + nextWeek: "eeee 'الجمعة الجاية مع' p 'نهار'", + other: "P", +}; + +export const formatRelative = (token) => formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/localize.js new file mode 100644 index 00000000..7faa1f97 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["د", "ن", "أ", "س", "أ", "ج", "ج", "م", "أ", "م", "ف", "ج"], + abbreviated: [ + "جانفي", + "فيفري", + "مارس", + "أفريل", + "ماي", + "جوان", + "جويلية", + "أوت", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], + + wide: [ + "جانفي", + "فيفري", + "مارس", + "أفريل", + "ماي", + "جوان", + "جويلية", + "أوت", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + + wide: [ + "الأحد", + "الاثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "ع", + morning: "الصباح", + noon: "القايلة", + afternoon: "بعد القايلة", + evening: "العشية", + night: "الليل", + midnight: "نص الليل", + }, + abbreviated: { + am: "ص", + pm: "ع", + morning: "الصباح", + noon: "القايلة", + afternoon: "بعد القايلة", + evening: "العشية", + night: "الليل", + midnight: "نص الليل", + }, + wide: { + am: "ص", + pm: "ع", + morning: "الصباح", + noon: "القايلة", + afternoon: "بعد القايلة", + evening: "العشية", + night: "الليل", + midnight: "نص الليل", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "ع", + morning: "في الصباح", + noon: "في القايلة", + afternoon: "بعد القايلة", + evening: "في العشية", + night: "في الليل", + midnight: "نص الليل", + }, + abbreviated: { + am: "ص", + pm: "ع", + morning: "في الصباح", + noon: "في القايلة", + afternoon: "بعد القايلة", + evening: "في العشية", + night: "في الليل", + midnight: "نص الليل", + }, + wide: { + am: "ص", + pm: "ع", + morning: "في الصباح", + noon: "في القايلة", + afternoon: "بعد القايلة", + evening: "في العشية", + night: "في الليل", + midnight: "نص الليل", + }, +}; + +const ordinalNumber = (num) => String(num); + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar-TN/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/match.js new file mode 100644 index 00000000..80e93711 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar-TN/_lib/match.js @@ -0,0 +1,143 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /[قب]/, + abbreviated: /[قب]\.م\./, + wide: /(قبل|بعد) الميلاد/, +}; +const parseEraPatterns = { + any: [/قبل/, /بعد/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /ر[1234]/, + wide: /الربع (الأول|الثاني|الثالث|الرابع)/, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[جفمأسند]/, + abbreviated: + /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/, + wide: /^(جانفي|فيفري|مارس|أفريل|ماي|جوان|جويلية|أوت|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/, +}; +const parseMonthPatterns = { + narrow: [ + /^ج/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ج/i, + /^ج/i, + /^أ/i, + /^س/i, + /^أ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^جانفي/i, + /^فيفري/i, + /^مارس/i, + /^أفريل/i, + /^ماي/i, + /^جوان/i, + /^جويلية/i, + /^أوت/i, + /^سبتمبر/i, + /^أكتوبر/i, + /^نوفمبر/i, + /^ديسمبر/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[حنثرخجس]/i, + short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i, +}; +const parseDayPatterns = { + narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i], + wide: [ + /^الأحد/i, + /^الاثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i, + ], + + any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ص|ع|ن ل|ل|(في|مع) (صباح|قايلة|عشية|ليل))/, + any: /^([صع]|نص الليل|قايلة|(في|مع) (صباح|قايلة|عشية|ليل))/, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ص/, + pm: /^ع/, + midnight: /نص الليل/, + noon: /قايلة/, + afternoon: /بعد القايلة/, + morning: /صباح/, + evening: /عشية/, + night: /ليل/, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar.js b/.output/server/node_modules/date-fns/locale/ar.js new file mode 100644 index 00000000..b469ae63 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ar/_lib/formatDistance.js"; +import { formatLong } from "./ar/_lib/formatLong.js"; +import { formatRelative } from "./ar/_lib/formatRelative.js"; +import { localize } from "./ar/_lib/localize.js"; +import { match } from "./ar/_lib/match.js"; + +/** + * @category Locales + * @summary Arabic locale (Modern Standard Arabic - Al-fussha). + * @language Modern Standard Arabic + * @iso-639-2 ara + * @author Abdallah Hassan [@AbdallahAHO](https://github.com/AbdallahAHO) + * @author Koussay Haj Kacem [@essana3](https://github.com/essana3) + */ +export const ar = { + code: "ar", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 6 /* Saturday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ar; diff --git a/.output/server/node_modules/date-fns/locale/ar/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ar/_lib/formatDistance.js new file mode 100644 index 00000000..5d7da65d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar/_lib/formatDistance.js @@ -0,0 +1,134 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "أقل من ثانية", + two: "أقل من ثانيتين", + threeToTen: "أقل من {{count}} ثواني", + other: "أقل من {{count}} ثانية", + }, + + xSeconds: { + one: "ثانية واحدة", + two: "ثانيتان", + threeToTen: "{{count}} ثواني", + other: "{{count}} ثانية", + }, + + halfAMinute: "نصف دقيقة", + + lessThanXMinutes: { + one: "أقل من دقيقة", + two: "أقل من دقيقتين", + threeToTen: "أقل من {{count}} دقائق", + other: "أقل من {{count}} دقيقة", + }, + + xMinutes: { + one: "دقيقة واحدة", + two: "دقيقتان", + threeToTen: "{{count}} دقائق", + other: "{{count}} دقيقة", + }, + + aboutXHours: { + one: "ساعة واحدة تقريباً", + two: "ساعتين تقريبا", + threeToTen: "{{count}} ساعات تقريباً", + other: "{{count}} ساعة تقريباً", + }, + + xHours: { + one: "ساعة واحدة", + two: "ساعتان", + threeToTen: "{{count}} ساعات", + other: "{{count}} ساعة", + }, + + xDays: { + one: "يوم واحد", + two: "يومان", + threeToTen: "{{count}} أيام", + other: "{{count}} يوم", + }, + + aboutXWeeks: { + one: "أسبوع واحد تقريبا", + two: "أسبوعين تقريبا", + threeToTen: "{{count}} أسابيع تقريبا", + other: "{{count}} أسبوعا تقريبا", + }, + + xWeeks: { + one: "أسبوع واحد", + two: "أسبوعان", + threeToTen: "{{count}} أسابيع", + other: "{{count}} أسبوعا", + }, + + aboutXMonths: { + one: "شهر واحد تقريباً", + two: "شهرين تقريبا", + threeToTen: "{{count}} أشهر تقريبا", + other: "{{count}} شهرا تقريباً", + }, + + xMonths: { + one: "شهر واحد", + two: "شهران", + threeToTen: "{{count}} أشهر", + other: "{{count}} شهرا", + }, + + aboutXYears: { + one: "سنة واحدة تقريباً", + two: "سنتين تقريبا", + threeToTen: "{{count}} سنوات تقريباً", + other: "{{count}} سنة تقريباً", + }, + + xYears: { + one: "سنة واحد", + two: "سنتان", + threeToTen: "{{count}} سنوات", + other: "{{count}} سنة", + }, + + overXYears: { + one: "أكثر من سنة", + two: "أكثر من سنتين", + threeToTen: "أكثر من {{count}} سنوات", + other: "أكثر من {{count}} سنة", + }, + + almostXYears: { + one: "ما يقارب سنة واحدة", + two: "ما يقارب سنتين", + threeToTen: "ما يقارب {{count}} سنوات", + other: "ما يقارب {{count}} سنة", + }, +}; + +export const formatDistance = (token, count, options) => { + const usageGroup = formatDistanceLocale[token]; + let result; + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else if (count === 2) { + result = usageGroup.two; + } else if (count <= 10) { + result = usageGroup.threeToTen.replace("{{count}}", String(count)); + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "خلال " + result; + } else { + return "منذ " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ar/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ar/_lib/formatLong.js new file mode 100644 index 00000000..f9d1e2fa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE، do MMMM y", + long: "do MMMM y", + medium: "d MMM y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss", + long: "HH:mm:ss", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'عند الساعة' {{time}}", + long: "{{date}} 'عند الساعة' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ar/_lib/formatRelative.js new file mode 100644 index 00000000..324b7dab --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar/_lib/formatRelative.js @@ -0,0 +1,10 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'الماضي عند الساعة' p", + yesterday: "'الأمس عند الساعة' p", + today: "'اليوم عند الساعة' p", + tomorrow: "'غدا عند الساعة' p", + nextWeek: "eeee 'القادم عند الساعة' p", + other: "P", +}; + +export const formatRelative = (token) => formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ar/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ar/_lib/localize.js new file mode 100644 index 00000000..89cb34d0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل الميلاد", "بعد الميلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ر1", "ر2", "ر3", "ر4"], + wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"], +}; + +const monthValues = { + narrow: ["ي", "ف", "م", "أ", "م", "ي", "ي", "أ", "س", "أ", "ن", "د"], + abbreviated: [ + "يناير", + "فبراير", + "مارس", + "أبريل", + "مايو", + "يونيو", + "يوليو", + "أغسطس", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], + + wide: [ + "يناير", + "فبراير", + "مارس", + "أبريل", + "مايو", + "يونيو", + "يوليو", + "أغسطس", + "سبتمبر", + "أكتوبر", + "نوفمبر", + "ديسمبر", + ], +}; + +const dayValues = { + narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"], + short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + abbreviated: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"], + + wide: [ + "الأحد", + "الاثنين", + "الثلاثاء", + "الأربعاء", + "الخميس", + "الجمعة", + "السبت", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + morning: "الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "المساء", + night: "الليل", + midnight: "منتصف الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + morning: "الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "المساء", + night: "الليل", + midnight: "منتصف الليل", + }, + wide: { + am: "ص", + pm: "م", + morning: "الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "المساء", + night: "الليل", + midnight: "منتصف الليل", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ص", + pm: "م", + morning: "في الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + midnight: "منتصف الليل", + }, + abbreviated: { + am: "ص", + pm: "م", + morning: "في الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + midnight: "منتصف الليل", + }, + wide: { + am: "ص", + pm: "م", + morning: "في الصباح", + noon: "الظهر", + afternoon: "بعد الظهر", + evening: "في المساء", + night: "في الليل", + midnight: "منتصف الليل", + }, +}; + +const ordinalNumber = (num) => String(num); + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ar/_lib/match.js b/.output/server/node_modules/date-fns/locale/ar/_lib/match.js new file mode 100644 index 00000000..23581124 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ar/_lib/match.js @@ -0,0 +1,143 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /[قب]/, + abbreviated: /[قب]\.م\./, + wide: /(قبل|بعد) الميلاد/, +}; +const parseEraPatterns = { + any: [/قبل/, /بعد/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /ر[1234]/, + wide: /الربع (الأول|الثاني|الثالث|الرابع)/, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[أيفمسند]/, + abbreviated: + /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/, + wide: /^(يناير|فبراير|مارس|أبريل|مايو|يونيو|يوليو|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر)/, +}; +const parseMonthPatterns = { + narrow: [ + /^ي/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ي/i, + /^ي/i, + /^أ/i, + /^س/i, + /^أ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^يناير/i, + /^فبراير/i, + /^مارس/i, + /^أبريل/i, + /^مايو/i, + /^يونيو/i, + /^يوليو/i, + /^أغسطس/i, + /^سبتمبر/i, + /^أكتوبر/i, + /^نوفمبر/i, + /^ديسمبر/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[حنثرخجس]/i, + short: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + abbreviated: /^(أحد|اثنين|ثلاثاء|أربعاء|خميس|جمعة|سبت)/i, + wide: /^(الأحد|الاثنين|الثلاثاء|الأربعاء|الخميس|الجمعة|السبت)/i, +}; +const parseDayPatterns = { + narrow: [/^ح/i, /^ن/i, /^ث/i, /^ر/i, /^خ/i, /^ج/i, /^س/i], + wide: [ + /^الأحد/i, + /^الاثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i, + ], + + any: [/^أح/i, /^اث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/, + any: /^(ص|م|منتصف الليل|الظهر|بعد الظهر|في الصباح|في المساء|في الليل)/, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ص/, + pm: /^م/, + midnight: /منتصف الليل/, + noon: /الظهر/, + afternoon: /بعد الظهر/, + morning: /في الصباح/, + evening: /في المساء/, + night: /في الليل/, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/az.js b/.output/server/node_modules/date-fns/locale/az.js new file mode 100644 index 00000000..96d67093 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./az/_lib/formatDistance.js"; +import { formatLong } from "./az/_lib/formatLong.js"; +import { formatRelative } from "./az/_lib/formatRelative.js"; +import { localize } from "./az/_lib/localize.js"; +import { match } from "./az/_lib/match.js"; + +/** + * @category Locales + * @summary Azerbaijani locale. + * @language Azerbaijani + * @iso-639-2 aze + */ + +export const az = { + code: "az", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default az; diff --git a/.output/server/node_modules/date-fns/locale/az/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/az/_lib/formatDistance.js new file mode 100644 index 00000000..ab0739e9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "bir saniyədən az", + other: "{{count}} bir saniyədən az", + }, + + xSeconds: { + one: "1 saniyə", + other: "{{count}} saniyə", + }, + + halfAMinute: "yarım dəqiqə", + + lessThanXMinutes: { + one: "bir dəqiqədən az", + other: "{{count}} bir dəqiqədən az", + }, + + xMinutes: { + one: "bir dəqiqə", + other: "{{count}} dəqiqə", + }, + + aboutXHours: { + one: "təxminən 1 saat", + other: "təxminən {{count}} saat", + }, + + xHours: { + one: "1 saat", + other: "{{count}} saat", + }, + + xDays: { + one: "1 gün", + other: "{{count}} gün", + }, + + aboutXWeeks: { + one: "təxminən 1 həftə", + other: "təxminən {{count}} həftə", + }, + + xWeeks: { + one: "1 həftə", + other: "{{count}} həftə", + }, + + aboutXMonths: { + one: "təxminən 1 ay", + other: "təxminən {{count}} ay", + }, + + xMonths: { + one: "1 ay", + other: "{{count}} ay", + }, + + aboutXYears: { + one: "təxminən 1 il", + other: "təxminən {{count}} il", + }, + + xYears: { + one: "1 il", + other: "{{count}} il", + }, + + overXYears: { + one: "1 ildən çox", + other: "{{count}} ildən çox", + }, + + almostXYears: { + one: "demək olar ki 1 il", + other: "demək olar ki {{count}} il", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " sonra"; + } else { + return result + " əvvəl"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/az/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/az/_lib/formatLong.js new file mode 100644 index 00000000..ede56cc8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM y 'il'", + long: "do MMMM y 'il'", + medium: "d MMM y 'il'", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}} - 'də'", + long: "{{date}} {{time}} - 'də'", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/az/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/az/_lib/formatRelative.js new file mode 100644 index 00000000..78d5504b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'sonuncu' eeee p -'də'", + yesterday: "'dünən' p -'də'", + today: "'bugün' p -'də'", + tomorrow: "'sabah' p -'də'", + nextWeek: "eeee p -'də'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/az/_lib/localize.js b/.output/server/node_modules/date-fns/locale/az/_lib/localize.js new file mode 100644 index 00000000..84359d52 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az/_lib/localize.js @@ -0,0 +1,206 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["e.ə", "b.e"], + abbreviated: ["e.ə", "b.e"], + wide: ["eramızdan əvvəl", "bizim era"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1ci kvartal", "2ci kvartal", "3cü kvartal", "4cü kvartal"], +}; +const monthValues = { + narrow: ["Y", "F", "M", "A", "M", "İ", "İ", "A", "S", "O", "N", "D"], + abbreviated: [ + "Yan", + "Fev", + "Mar", + "Apr", + "May", + "İyun", + "İyul", + "Avq", + "Sen", + "Okt", + "Noy", + "Dek", + ], + + wide: [ + "Yanvar", + "Fevral", + "Mart", + "Aprel", + "May", + "İyun", + "İyul", + "Avqust", + "Sentyabr", + "Oktyabr", + "Noyabr", + "Dekabr", + ], +}; + +const dayValues = { + narrow: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], + short: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], + abbreviated: ["Baz", "Baz.e", "Çər.a", "Çər", "Cüm.a", "Cüm", "Şə"], + wide: [ + "Bazar", + "Bazar ertəsi", + "Çərşənbə axşamı", + "Çərşənbə", + "Cümə axşamı", + "Cümə", + "Şənbə", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "gecəyarı", + noon: "gün", + morning: "səhər", + afternoon: "gündüz", + evening: "axşam", + night: "gecə", + }, +}; + +const suffixes = { + 1: "-inci", + 5: "-inci", + 8: "-inci", + 70: "-inci", + 80: "-inci", + 2: "-nci", + 7: "-nci", + 20: "-nci", + 50: "-nci", + 3: "-üncü", + 4: "-üncü", + 100: "-üncü", + 6: "-ncı", + 9: "-uncu", + 10: "-uncu", + 30: "-uncu", + 60: "-ıncı", + 90: "-ıncı", +}; + +const getSuffix = (number) => { + if (number === 0) { + // special case for zero + return number + "-ıncı"; + } + + const a = number % 10; + const b = (number % 100) - a; + const c = number >= 100 ? 100 : null; + + if (suffixes[a]) { + return suffixes[a]; + } else if (suffixes[b]) { + return suffixes[b]; + } else if (c !== null) { + return suffixes[c]; + } + return ""; +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + const suffix = getSuffix(number); + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/az/_lib/match.js b/.output/server/node_modules/date-fns/locale/az/_lib/match.js new file mode 100644 index 00000000..ee2c180a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/az/_lib/match.js @@ -0,0 +1,184 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(b|a)$/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i, + wide: /^(bizim eradan əvvəl|bizim era)$/i, +}; +const parseEraPatterns = { + any: [/^b$/i, /^(a|c)$/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]$/i, + abbreviated: /^K[1234]$/i, + wide: /^[1234](ci)? kvartal$/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[(?-i)yfmaisond]$/i, + abbreviated: /^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i, + wide: /^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i, +}; +const parseMonthPatterns = { + narrow: [ + /^[(?-i)y]$/i, + /^[(?-i)f]$/i, + /^[(?-i)m]$/i, + /^[(?-i)a]$/i, + /^[(?-i)m]$/i, + /^[(?-i)i]$/i, + /^[(?-i)i]$/i, + /^[(?-i)a]$/i, + /^[(?-i)s]$/i, + /^[(?-i)o]$/i, + /^[(?-i)n]$/i, + /^[(?-i)d]$/i, + ], + + abbreviated: [ + /^Yan$/i, + /^Fev$/i, + /^Mar$/i, + /^Apr$/i, + /^May$/i, + /^İyun$/i, + /^İyul$/i, + /^Avg$/i, + /^Sen$/i, + /^Okt$/i, + /^Noy$/i, + /^Dek$/i, + ], + + wide: [ + /^Yanvar$/i, + /^Fevral$/i, + /^Mart$/i, + /^Aprel$/i, + /^May$/i, + /^İyun$/i, + /^İyul$/i, + /^Avgust$/i, + /^Sentyabr$/i, + /^Oktyabr$/i, + /^Noyabr$/i, + /^Dekabr$/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i, + short: /^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i, + abbreviated: /^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i, + wide: /^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i, +}; +const parseDayPatterns = { + narrow: [ + /^B\.$/i, + /^B\.e$/i, + /^Ç\.a$/i, + /^Ç\.$/i, + /^C\.a$/i, + /^C\.$/i, + /^Ş\.$/i, + ], + + abbreviated: [ + /^Baz$/i, + /^Baz\.e$/i, + /^Çər\.a$/i, + /^Çər$/i, + /^Cüm\.a$/i, + /^Cüm$/i, + /^Şə$/i, + ], + + wide: [ + /^Bazar$/i, + /^Bazar ertəsi$/i, + /^Çərşənbə axşamı$/i, + /^Çərşənbə$/i, + /^Cümə axşamı$/i, + /^Cümə$/i, + /^Şənbə$/i, + ], + + any: [ + /^B\.$/i, + /^B\.e$/i, + /^Ç\.a$/i, + /^Ç\.$/i, + /^C\.a$/i, + /^C\.$/i, + /^Ş\.$/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i, + any: /^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a$/i, + pm: /^p$/i, + midnight: /^gecəyarı$/i, + noon: /^gün$/i, + morning: /səhər$/i, + afternoon: /gündüz$/i, + evening: /axşam$/i, + night: /gecə$/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "narrow", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask.js b/.output/server/node_modules/date-fns/locale/be-tarask.js new file mode 100644 index 00000000..2de74e06 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./be-tarask/_lib/formatDistance.js"; +import { formatLong } from "./be-tarask/_lib/formatLong.js"; +import { formatRelative } from "./be-tarask/_lib/formatRelative.js"; +import { localize } from "./be-tarask/_lib/localize.js"; +import { match } from "./be-tarask/_lib/match.js"; + +/** + * @category Locales + * @summary Belarusian Classic locale. + * @language Belarusian Classic + * @iso-639-2 bel + * @author Ryhor Nopears [@nopears](https://github.com/nopears) + */ +export const beTarask = { + code: "be-tarask", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default beTarask; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatDistance.js new file mode 100644 index 00000000..bb3e91fd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatDistance.js @@ -0,0 +1,259 @@ +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one !== undefined && count === 1) { + return scheme.one; + } + + const rem10 = count % 10; + const rem100 = count % 100; + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace("{{count}}", String(count)); + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace("{{count}}", String(count)); + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace("{{count}}", String(count)); + } +} + +function buildLocalizeTokenFn(scheme) { + return (count, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (scheme.future) { + return declension(scheme.future, count); + } else { + return "праз " + declension(scheme.regular, count); + } + } else { + if (scheme.past) { + return declension(scheme.past, count); + } else { + return declension(scheme.regular, count) + " таму"; + } + } + } else { + return declension(scheme.regular, count); + } + }; +} + +const halfAMinute = (_, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "праз паўхвіліны"; + } else { + return "паўхвіліны таму"; + } + } + + return "паўхвіліны"; +}; + +const formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + regular: { + one: "менш за секунду", + singularNominative: "менш за {{count}} секунду", + singularGenitive: "менш за {{count}} секунды", + pluralGenitive: "менш за {{count}} секунд", + }, + future: { + one: "менш, чым праз секунду", + singularNominative: "менш, чым праз {{count}} секунду", + singularGenitive: "менш, чым праз {{count}} секунды", + pluralGenitive: "менш, чым праз {{count}} секунд", + }, + }), + + xSeconds: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} секунда", + singularGenitive: "{{count}} секунды", + pluralGenitive: "{{count}} секунд", + }, + past: { + singularNominative: "{{count}} секунду таму", + singularGenitive: "{{count}} секунды таму", + pluralGenitive: "{{count}} секунд таму", + }, + future: { + singularNominative: "праз {{count}} секунду", + singularGenitive: "праз {{count}} секунды", + pluralGenitive: "праз {{count}} секунд", + }, + }), + + halfAMinute: halfAMinute, + + lessThanXMinutes: buildLocalizeTokenFn({ + regular: { + one: "менш за хвіліну", + singularNominative: "менш за {{count}} хвіліну", + singularGenitive: "менш за {{count}} хвіліны", + pluralGenitive: "менш за {{count}} хвілін", + }, + future: { + one: "менш, чым праз хвіліну", + singularNominative: "менш, чым праз {{count}} хвіліну", + singularGenitive: "менш, чым праз {{count}} хвіліны", + pluralGenitive: "менш, чым праз {{count}} хвілін", + }, + }), + + xMinutes: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} хвіліна", + singularGenitive: "{{count}} хвіліны", + pluralGenitive: "{{count}} хвілін", + }, + past: { + singularNominative: "{{count}} хвіліну таму", + singularGenitive: "{{count}} хвіліны таму", + pluralGenitive: "{{count}} хвілін таму", + }, + future: { + singularNominative: "праз {{count}} хвіліну", + singularGenitive: "праз {{count}} хвіліны", + pluralGenitive: "праз {{count}} хвілін", + }, + }), + + aboutXHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} гадзіны", + singularGenitive: "каля {{count}} гадзін", + pluralGenitive: "каля {{count}} гадзін", + }, + future: { + singularNominative: "прыблізна праз {{count}} гадзіну", + singularGenitive: "прыблізна праз {{count}} гадзіны", + pluralGenitive: "прыблізна праз {{count}} гадзін", + }, + }), + + xHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} гадзіна", + singularGenitive: "{{count}} гадзіны", + pluralGenitive: "{{count}} гадзін", + }, + past: { + singularNominative: "{{count}} гадзіну таму", + singularGenitive: "{{count}} гадзіны таму", + pluralGenitive: "{{count}} гадзін таму", + }, + future: { + singularNominative: "праз {{count}} гадзіну", + singularGenitive: "праз {{count}} гадзіны", + pluralGenitive: "праз {{count}} гадзін", + }, + }), + + xDays: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} дзень", + singularGenitive: "{{count}} дні", + pluralGenitive: "{{count}} дзён", + }, + }), + + aboutXWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} тыдні", + singularGenitive: "каля {{count}} тыдняў", + pluralGenitive: "каля {{count}} тыдняў", + }, + future: { + singularNominative: "прыблізна праз {{count}} тыдзень", + singularGenitive: "прыблізна праз {{count}} тыдні", + pluralGenitive: "прыблізна праз {{count}} тыдняў", + }, + }), + + xWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} тыдзень", + singularGenitive: "{{count}} тыдні", + pluralGenitive: "{{count}} тыдняў", + }, + }), + + aboutXMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} месяца", + singularGenitive: "каля {{count}} месяцаў", + pluralGenitive: "каля {{count}} месяцаў", + }, + future: { + singularNominative: "прыблізна праз {{count}} месяц", + singularGenitive: "прыблізна праз {{count}} месяцы", + pluralGenitive: "прыблізна праз {{count}} месяцаў", + }, + }), + + xMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} месяц", + singularGenitive: "{{count}} месяцы", + pluralGenitive: "{{count}} месяцаў", + }, + }), + + aboutXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} года", + singularGenitive: "каля {{count}} гадоў", + pluralGenitive: "каля {{count}} гадоў", + }, + future: { + singularNominative: "прыблізна праз {{count}} год", + singularGenitive: "прыблізна праз {{count}} гады", + pluralGenitive: "прыблізна праз {{count}} гадоў", + }, + }), + + xYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} год", + singularGenitive: "{{count}} гады", + pluralGenitive: "{{count}} гадоў", + }, + }), + + overXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "больш за {{count}} год", + singularGenitive: "больш за {{count}} гады", + pluralGenitive: "больш за {{count}} гадоў", + }, + future: { + singularNominative: "больш, чым праз {{count}} год", + singularGenitive: "больш, чым праз {{count}} гады", + pluralGenitive: "больш, чым праз {{count}} гадоў", + }, + }), + + almostXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "амаль {{count}} год", + singularGenitive: "амаль {{count}} гады", + pluralGenitive: "амаль {{count}} гадоў", + }, + future: { + singularNominative: "амаль праз {{count}} год", + singularGenitive: "амаль праз {{count}} гады", + pluralGenitive: "амаль праз {{count}} гадоў", + }, + }), +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + return formatDistanceLocale[token](count, options); +}; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatLong.js new file mode 100644 index 00000000..f775c7ba --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM y 'г.'", + long: "d MMMM y 'г.'", + medium: "d MMM y 'г.'", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatRelative.js new file mode 100644 index 00000000..d2668206 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/formatRelative.js @@ -0,0 +1,89 @@ +import { isSameWeek } from "../../../isSameWeek.js"; +import { toDate } from "../../../toDate.js"; + +const accusativeWeekdays = [ + "нядзелю", + "панядзелак", + "аўторак", + "сераду", + "чацьвер", + "пятніцу", + "суботу", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у мінулую " + weekday + " а' p"; + case 1: + case 2: + case 4: + return "'у мінулы " + weekday + " а' p"; + } +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'у " + weekday + " а' p"; +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у наступную " + weekday + " а' p"; + case 1: + case 2: + case 4: + return "'у наступны " + weekday + " а' p"; + } +} + +const lastWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } +}; + +const nextWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } +}; + +const formatRelativeLocale = { + lastWeek: lastWeekFormat, + yesterday: "'учора а' p", + today: "'сёньня а' p", + tomorrow: "'заўтра а' p", + nextWeek: nextWeekFormat, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask/_lib/localize.js b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/localize.js new file mode 100644 index 00000000..356ab55b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/localize.js @@ -0,0 +1,225 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["да н.э.", "н.э."], + abbreviated: ["да н. э.", "н. э."], + wide: ["да нашай эры", "нашай эры"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-ы кв.", "2-і кв.", "3-і кв.", "4-ы кв."], + wide: ["1-ы квартал", "2-і квартал", "3-і квартал", "4-ы квартал"], +}; + +const monthValues = { + narrow: ["С", "Л", "С", "К", "Т", "Ч", "Л", "Ж", "В", "К", "Л", "С"], + abbreviated: [ + "студз.", + "лют.", + "сак.", + "крас.", + "трав.", + "чэрв.", + "ліп.", + "жн.", + "вер.", + "кастр.", + "ліст.", + "сьнеж.", + ], + + wide: [ + "студзень", + "люты", + "сакавік", + "красавік", + "травень", + "чэрвень", + "ліпень", + "жнівень", + "верасень", + "кастрычнік", + "лістапад", + "сьнежань", + ], +}; +const formattingMonthValues = { + narrow: ["С", "Л", "С", "К", "Т", "Ч", "Л", "Ж", "В", "К", "Л", "С"], + abbreviated: [ + "студз.", + "лют.", + "сак.", + "крас.", + "трав.", + "чэрв.", + "ліп.", + "жн.", + "вер.", + "кастр.", + "ліст.", + "сьнеж.", + ], + + wide: [ + "студзеня", + "лютага", + "сакавіка", + "красавіка", + "траўня", + "чэрвеня", + "ліпеня", + "жніўня", + "верасня", + "кастрычніка", + "лістапада", + "сьнежня", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "А", "С", "Ч", "П", "С"], + short: ["нд", "пн", "аў", "ср", "чц", "пт", "сб"], + abbreviated: ["нядз", "пан", "аўт", "сер", "чаць", "пят", "суб"], + wide: [ + "нядзеля", + "панядзелак", + "аўторак", + "серада", + "чацьвер", + "пятніца", + "субота", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дзень", + evening: "веч.", + night: "ноч", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дзень", + evening: "веч.", + night: "ноч", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "поўнач", + noon: "поўдзень", + morning: "раніца", + afternoon: "дзень", + evening: "вечар", + night: "ноч", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дня", + evening: "веч.", + night: "ночы", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дня", + evening: "веч.", + night: "ночы", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "поўнач", + noon: "поўдзень", + morning: "раніцы", + afternoon: "дня", + evening: "вечара", + night: "ночы", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const unit = String(options?.unit); + const number = Number(dirtyNumber); + let suffix; + + /** Though it's an incorrect ordinal form of a date we use it here for consistency with other similar locales (ru, uk) + * For date-month combinations should be used `d` formatter. + * Correct: `d MMMM` (4 верасня) + * Incorrect: `do MMMM` (4-га верасня) + * + * But following the consistency leads to mistakes for literal uses of `do` formatter (ordinal day of month). + * So for phrase "5th day of month" (`do дзень месяца`) + * library will produce: `5-га дзень месяца` + * but correct spelling should be: `5-ы дзень месяца` + * + * So I guess there should be a stand-alone and a formatting version of "day of month" formatters + */ + if (unit === "date") { + suffix = "-га"; + } else if (unit === "hour" || unit === "minute" || unit === "second") { + suffix = "-я"; + } else { + suffix = + (number % 10 === 2 || number % 10 === 3) && + number % 100 !== 12 && + number % 100 !== 13 + ? "-і" + : "-ы"; + } + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be-tarask/_lib/match.js b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/match.js new file mode 100644 index 00000000..600b24b2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be-tarask/_lib/match.js @@ -0,0 +1,135 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = + /^(\d+)(-?(е|я|га|і|ы|ае|ая|яя|шы|гі|ці|ты|мы))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((да )?н\.?\s?э\.?)/i, + abbreviated: /^((да )?н\.?\s?э\.?)/i, + wide: /^(да нашай эры|нашай эры|наша эра)/i, +}; +const parseEraPatterns = { + any: [/^д/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[ыі]?)? кв.?/i, + wide: /^[1234](-?[ыі]?)? квартал/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[слкмчжв]/i, + abbreviated: + /^(студз|лют|сак|крас|тр(ав)?|чэрв|ліп|жн|вер|кастр|ліст|сьнеж)\.?/i, + wide: /^(студзен[ья]|лют(ы|ага)|сакавіка?|красавіка?|тра(вень|ўня)|чэрвен[ья]|ліпен[ья]|жні(вень|ўня)|верас(ень|ня)|кастрычніка?|лістапада?|сьнеж(ань|ня))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^с/i, + /^л/i, + /^с/i, + /^к/i, + /^т/i, + /^ч/i, + /^л/i, + /^ж/i, + /^в/i, + /^к/i, + /^л/i, + /^с/i, + ], + + any: [ + /^ст/i, + /^лю/i, + /^са/i, + /^кр/i, + /^тр/i, + /^ч/i, + /^ліп/i, + /^ж/i, + /^в/i, + /^ка/i, + /^ліс/i, + /^сн/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[нпасч]/i, + short: /^(нд|ня|пн|па|аў|ат|ср|се|чц|ча|пт|пя|сб|су)\.?/i, + abbreviated: /^(нядз?|ндз|пнд|пан|аўт|срд|сер|чцьв|чаць|птн|пят|суб).?/i, + wide: /^(нядзел[яі]|панядзел(ак|ка)|аўтор(ак|ка)|серад[аы]|чацьв(ер|ярга)|пятніц[аы]|субот[аы])/i, +}; +const parseDayPatterns = { + narrow: [/^н/i, /^п/i, /^а/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^н/i, /^п[ан]/i, /^а/i, /^с[ер]/i, /^ч/i, /^п[ят]/i, /^с[уб]/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([дп]п|поўн\.?|поўд\.?|ран\.?|дзень|дня|веч\.?|ночы?)/i, + abbreviated: /^([дп]п|поўн\.?|поўд\.?|ран\.?|дзень|дня|веч\.?|ночы?)/i, + wide: /^([дп]п|поўнач|поўдзень|раніц[аы]|дзень|дня|вечара?|ночы?)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^дп/i, + pm: /^пп/i, + midnight: /^поўн/i, + noon: /^поўд/i, + morning: /^р/i, + afternoon: /^д[зн]/i, + evening: /^в/i, + night: /^н/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be.js b/.output/server/node_modules/date-fns/locale/be.js new file mode 100644 index 00000000..189c86a5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./be/_lib/formatDistance.js"; +import { formatLong } from "./be/_lib/formatLong.js"; +import { formatRelative } from "./be/_lib/formatRelative.js"; +import { localize } from "./be/_lib/localize.js"; +import { match } from "./be/_lib/match.js"; + +/** + * @category Locales + * @summary Belarusian locale. + * @language Belarusian + * @iso-639-2 bel + * @author Kiryl Anokhin [@alyrik](https://github.com/alyrik) + * @author Martin Wind [@arvigeus](https://github.com/mawi12345) + */ +export const be = { + code: "be", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default be; diff --git a/.output/server/node_modules/date-fns/locale/be/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/be/_lib/formatDistance.js new file mode 100644 index 00000000..bb3e91fd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be/_lib/formatDistance.js @@ -0,0 +1,259 @@ +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one !== undefined && count === 1) { + return scheme.one; + } + + const rem10 = count % 10; + const rem100 = count % 100; + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace("{{count}}", String(count)); + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace("{{count}}", String(count)); + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace("{{count}}", String(count)); + } +} + +function buildLocalizeTokenFn(scheme) { + return (count, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (scheme.future) { + return declension(scheme.future, count); + } else { + return "праз " + declension(scheme.regular, count); + } + } else { + if (scheme.past) { + return declension(scheme.past, count); + } else { + return declension(scheme.regular, count) + " таму"; + } + } + } else { + return declension(scheme.regular, count); + } + }; +} + +const halfAMinute = (_, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "праз паўхвіліны"; + } else { + return "паўхвіліны таму"; + } + } + + return "паўхвіліны"; +}; + +const formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + regular: { + one: "менш за секунду", + singularNominative: "менш за {{count}} секунду", + singularGenitive: "менш за {{count}} секунды", + pluralGenitive: "менш за {{count}} секунд", + }, + future: { + one: "менш, чым праз секунду", + singularNominative: "менш, чым праз {{count}} секунду", + singularGenitive: "менш, чым праз {{count}} секунды", + pluralGenitive: "менш, чым праз {{count}} секунд", + }, + }), + + xSeconds: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} секунда", + singularGenitive: "{{count}} секунды", + pluralGenitive: "{{count}} секунд", + }, + past: { + singularNominative: "{{count}} секунду таму", + singularGenitive: "{{count}} секунды таму", + pluralGenitive: "{{count}} секунд таму", + }, + future: { + singularNominative: "праз {{count}} секунду", + singularGenitive: "праз {{count}} секунды", + pluralGenitive: "праз {{count}} секунд", + }, + }), + + halfAMinute: halfAMinute, + + lessThanXMinutes: buildLocalizeTokenFn({ + regular: { + one: "менш за хвіліну", + singularNominative: "менш за {{count}} хвіліну", + singularGenitive: "менш за {{count}} хвіліны", + pluralGenitive: "менш за {{count}} хвілін", + }, + future: { + one: "менш, чым праз хвіліну", + singularNominative: "менш, чым праз {{count}} хвіліну", + singularGenitive: "менш, чым праз {{count}} хвіліны", + pluralGenitive: "менш, чым праз {{count}} хвілін", + }, + }), + + xMinutes: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} хвіліна", + singularGenitive: "{{count}} хвіліны", + pluralGenitive: "{{count}} хвілін", + }, + past: { + singularNominative: "{{count}} хвіліну таму", + singularGenitive: "{{count}} хвіліны таму", + pluralGenitive: "{{count}} хвілін таму", + }, + future: { + singularNominative: "праз {{count}} хвіліну", + singularGenitive: "праз {{count}} хвіліны", + pluralGenitive: "праз {{count}} хвілін", + }, + }), + + aboutXHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} гадзіны", + singularGenitive: "каля {{count}} гадзін", + pluralGenitive: "каля {{count}} гадзін", + }, + future: { + singularNominative: "прыблізна праз {{count}} гадзіну", + singularGenitive: "прыблізна праз {{count}} гадзіны", + pluralGenitive: "прыблізна праз {{count}} гадзін", + }, + }), + + xHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} гадзіна", + singularGenitive: "{{count}} гадзіны", + pluralGenitive: "{{count}} гадзін", + }, + past: { + singularNominative: "{{count}} гадзіну таму", + singularGenitive: "{{count}} гадзіны таму", + pluralGenitive: "{{count}} гадзін таму", + }, + future: { + singularNominative: "праз {{count}} гадзіну", + singularGenitive: "праз {{count}} гадзіны", + pluralGenitive: "праз {{count}} гадзін", + }, + }), + + xDays: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} дзень", + singularGenitive: "{{count}} дні", + pluralGenitive: "{{count}} дзён", + }, + }), + + aboutXWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} тыдні", + singularGenitive: "каля {{count}} тыдняў", + pluralGenitive: "каля {{count}} тыдняў", + }, + future: { + singularNominative: "прыблізна праз {{count}} тыдзень", + singularGenitive: "прыблізна праз {{count}} тыдні", + pluralGenitive: "прыблізна праз {{count}} тыдняў", + }, + }), + + xWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} тыдзень", + singularGenitive: "{{count}} тыдні", + pluralGenitive: "{{count}} тыдняў", + }, + }), + + aboutXMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} месяца", + singularGenitive: "каля {{count}} месяцаў", + pluralGenitive: "каля {{count}} месяцаў", + }, + future: { + singularNominative: "прыблізна праз {{count}} месяц", + singularGenitive: "прыблізна праз {{count}} месяцы", + pluralGenitive: "прыблізна праз {{count}} месяцаў", + }, + }), + + xMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} месяц", + singularGenitive: "{{count}} месяцы", + pluralGenitive: "{{count}} месяцаў", + }, + }), + + aboutXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "каля {{count}} года", + singularGenitive: "каля {{count}} гадоў", + pluralGenitive: "каля {{count}} гадоў", + }, + future: { + singularNominative: "прыблізна праз {{count}} год", + singularGenitive: "прыблізна праз {{count}} гады", + pluralGenitive: "прыблізна праз {{count}} гадоў", + }, + }), + + xYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} год", + singularGenitive: "{{count}} гады", + pluralGenitive: "{{count}} гадоў", + }, + }), + + overXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "больш за {{count}} год", + singularGenitive: "больш за {{count}} гады", + pluralGenitive: "больш за {{count}} гадоў", + }, + future: { + singularNominative: "больш, чым праз {{count}} год", + singularGenitive: "больш, чым праз {{count}} гады", + pluralGenitive: "больш, чым праз {{count}} гадоў", + }, + }), + + almostXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "амаль {{count}} год", + singularGenitive: "амаль {{count}} гады", + pluralGenitive: "амаль {{count}} гадоў", + }, + future: { + singularNominative: "амаль праз {{count}} год", + singularGenitive: "амаль праз {{count}} гады", + pluralGenitive: "амаль праз {{count}} гадоў", + }, + }), +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + return formatDistanceLocale[token](count, options); +}; diff --git a/.output/server/node_modules/date-fns/locale/be/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/be/_lib/formatLong.js new file mode 100644 index 00000000..f775c7ba --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM y 'г.'", + long: "d MMMM y 'г.'", + medium: "d MMM y 'г.'", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/be/_lib/formatRelative.js new file mode 100644 index 00000000..0ff130fa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be/_lib/formatRelative.js @@ -0,0 +1,89 @@ +import { isSameWeek } from "../../../isSameWeek.js"; +import { toDate } from "../../../toDate.js"; + +const accusativeWeekdays = [ + "нядзелю", + "панядзелак", + "аўторак", + "сераду", + "чацвер", + "пятніцу", + "суботу", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у мінулую " + weekday + " а' p"; + case 1: + case 2: + case 4: + return "'у мінулы " + weekday + " а' p"; + } +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'у " + weekday + " а' p"; +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у наступную " + weekday + " а' p"; + case 1: + case 2: + case 4: + return "'у наступны " + weekday + " а' p"; + } +} + +const lastWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } +}; + +const nextWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } +}; + +const formatRelativeLocale = { + lastWeek: lastWeekFormat, + yesterday: "'учора а' p", + today: "'сёння а' p", + tomorrow: "'заўтра а' p", + nextWeek: nextWeekFormat, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/be/_lib/localize.js b/.output/server/node_modules/date-fns/locale/be/_lib/localize.js new file mode 100644 index 00000000..9b8b0966 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be/_lib/localize.js @@ -0,0 +1,225 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["да н.э.", "н.э."], + abbreviated: ["да н. э.", "н. э."], + wide: ["да нашай эры", "нашай эры"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-ы кв.", "2-і кв.", "3-і кв.", "4-ы кв."], + wide: ["1-ы квартал", "2-і квартал", "3-і квартал", "4-ы квартал"], +}; + +const monthValues = { + narrow: ["С", "Л", "С", "К", "М", "Ч", "Л", "Ж", "В", "К", "Л", "С"], + abbreviated: [ + "студз.", + "лют.", + "сак.", + "крас.", + "май", + "чэрв.", + "ліп.", + "жн.", + "вер.", + "кастр.", + "ліст.", + "снеж.", + ], + + wide: [ + "студзень", + "люты", + "сакавік", + "красавік", + "май", + "чэрвень", + "ліпень", + "жнівень", + "верасень", + "кастрычнік", + "лістапад", + "снежань", + ], +}; +const formattingMonthValues = { + narrow: ["С", "Л", "С", "К", "М", "Ч", "Л", "Ж", "В", "К", "Л", "С"], + abbreviated: [ + "студз.", + "лют.", + "сак.", + "крас.", + "мая", + "чэрв.", + "ліп.", + "жн.", + "вер.", + "кастр.", + "ліст.", + "снеж.", + ], + + wide: [ + "студзеня", + "лютага", + "сакавіка", + "красавіка", + "мая", + "чэрвеня", + "ліпеня", + "жніўня", + "верасня", + "кастрычніка", + "лістапада", + "снежня", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "А", "С", "Ч", "П", "С"], + short: ["нд", "пн", "аў", "ср", "чц", "пт", "сб"], + abbreviated: ["нядз", "пан", "аўт", "сер", "чац", "пят", "суб"], + wide: [ + "нядзеля", + "панядзелак", + "аўторак", + "серада", + "чацвер", + "пятніца", + "субота", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дзень", + evening: "веч.", + night: "ноч", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дзень", + evening: "веч.", + night: "ноч", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "поўнач", + noon: "поўдзень", + morning: "раніца", + afternoon: "дзень", + evening: "вечар", + night: "ноч", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дня", + evening: "веч.", + night: "ночы", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "поўн.", + noon: "поўд.", + morning: "ран.", + afternoon: "дня", + evening: "веч.", + night: "ночы", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "поўнач", + noon: "поўдзень", + morning: "раніцы", + afternoon: "дня", + evening: "вечара", + night: "ночы", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const unit = String(options?.unit); + const number = Number(dirtyNumber); + let suffix; + + /** Though it's an incorrect ordinal form of a date we use it here for consistency with other similar locales (ru, uk) + * For date-month combinations should be used `d` formatter. + * Correct: `d MMMM` (4 верасня) + * Incorrect: `do MMMM` (4-га верасня) + * + * But following the consistency leads to mistakes for literal uses of `do` formatter (ordinal day of month). + * So for phrase "5th day of month" (`do дзень месяца`) + * library will produce: `5-га дзень месяца` + * but correct spelling should be: `5-ы дзень месяца` + * + * So I guess there should be a stand-alone and a formatting version of "day of month" formatters + */ + if (unit === "date") { + suffix = "-га"; + } else if (unit === "hour" || unit === "minute" || unit === "second") { + suffix = "-я"; + } else { + suffix = + (number % 10 === 2 || number % 10 === 3) && + number % 100 !== 12 && + number % 100 !== 13 + ? "-і" + : "-ы"; + } + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/be/_lib/match.js b/.output/server/node_modules/date-fns/locale/be/_lib/match.js new file mode 100644 index 00000000..a06dbe46 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/be/_lib/match.js @@ -0,0 +1,135 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = + /^(\d+)(-?(е|я|га|і|ы|ае|ая|яя|шы|гі|ці|ты|мы))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((да )?н\.?\s?э\.?)/i, + abbreviated: /^((да )?н\.?\s?э\.?)/i, + wide: /^(да нашай эры|нашай эры|наша эра)/i, +}; +const parseEraPatterns = { + any: [/^д/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[ыі]?)? кв.?/i, + wide: /^[1234](-?[ыі]?)? квартал/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[слкмчжв]/i, + abbreviated: + /^(студз|лют|сак|крас|ма[йя]|чэрв|ліп|жн|вер|кастр|ліст|снеж)\.?/i, + wide: /^(студзен[ья]|лют(ы|ага)|сакавіка?|красавіка?|ма[йя]|чэрвен[ья]|ліпен[ья]|жні(вень|ўня)|верас(ень|ня)|кастрычніка?|лістапада?|снеж(ань|ня))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^с/i, + /^л/i, + /^с/i, + /^к/i, + /^м/i, + /^ч/i, + /^л/i, + /^ж/i, + /^в/i, + /^к/i, + /^л/i, + /^с/i, + ], + + any: [ + /^ст/i, + /^лю/i, + /^са/i, + /^кр/i, + /^ма/i, + /^ч/i, + /^ліп/i, + /^ж/i, + /^в/i, + /^ка/i, + /^ліс/i, + /^сн/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[нпасч]/i, + short: /^(нд|ня|пн|па|аў|ат|ср|се|чц|ча|пт|пя|сб|су)\.?/i, + abbreviated: /^(нядз?|ндз|пнд|пан|аўт|срд|сер|чцв|чац|птн|пят|суб).?/i, + wide: /^(нядзел[яі]|панядзел(ак|ка)|аўтор(ак|ка)|серад[аы]|чацв(ер|ярга)|пятніц[аы]|субот[аы])/i, +}; +const parseDayPatterns = { + narrow: [/^н/i, /^п/i, /^а/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^н/i, /^п[ан]/i, /^а/i, /^с[ер]/i, /^ч/i, /^п[ят]/i, /^с[уб]/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([дп]п|поўн\.?|поўд\.?|ран\.?|дзень|дня|веч\.?|ночы?)/i, + abbreviated: /^([дп]п|поўн\.?|поўд\.?|ран\.?|дзень|дня|веч\.?|ночы?)/i, + wide: /^([дп]п|поўнач|поўдзень|раніц[аы]|дзень|дня|вечара?|ночы?)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^дп/i, + pm: /^пп/i, + midnight: /^поўн/i, + noon: /^поўд/i, + morning: /^р/i, + afternoon: /^д[зн]/i, + evening: /^в/i, + night: /^н/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bg.js b/.output/server/node_modules/date-fns/locale/bg.js new file mode 100644 index 00000000..2fcabab0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./bg/_lib/formatDistance.js"; +import { formatLong } from "./bg/_lib/formatLong.js"; +import { formatRelative } from "./bg/_lib/formatRelative.js"; +import { localize } from "./bg/_lib/localize.js"; +import { match } from "./bg/_lib/match.js"; + +/** + * @category Locales + * @summary Bulgarian locale. + * @language Bulgarian + * @iso-639-2 bul + * @author Nikolay Stoynov [@arvigeus](https://github.com/arvigeus) + * @author Tsvetan Ovedenski [@fintara](https://github.com/fintara) + */ +export const bg = { + code: "bg", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default bg; diff --git a/.output/server/node_modules/date-fns/locale/bg/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/bg/_lib/formatDistance.js new file mode 100644 index 00000000..48467762 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "по-малко от секунда", + other: "по-малко от {{count}} секунди", + }, + + xSeconds: { + one: "1 секунда", + other: "{{count}} секунди", + }, + + halfAMinute: "половин минута", + + lessThanXMinutes: { + one: "по-малко от минута", + other: "по-малко от {{count}} минути", + }, + + xMinutes: { + one: "1 минута", + other: "{{count}} минути", + }, + + aboutXHours: { + one: "около час", + other: "около {{count}} часа", + }, + + xHours: { + one: "1 час", + other: "{{count}} часа", + }, + + xDays: { + one: "1 ден", + other: "{{count}} дни", + }, + + aboutXWeeks: { + one: "около седмица", + other: "около {{count}} седмици", + }, + + xWeeks: { + one: "1 седмица", + other: "{{count}} седмици", + }, + + aboutXMonths: { + one: "около месец", + other: "около {{count}} месеца", + }, + + xMonths: { + one: "1 месец", + other: "{{count}} месеца", + }, + + aboutXYears: { + one: "около година", + other: "около {{count}} години", + }, + + xYears: { + one: "1 година", + other: "{{count}} години", + }, + + overXYears: { + one: "над година", + other: "над {{count}} години", + }, + + almostXYears: { + one: "почти година", + other: "почти {{count}} години", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "след " + result; + } else { + return "преди " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/bg/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/bg/_lib/formatLong.js new file mode 100644 index 00000000..20778ae2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, dd MMMM yyyy", + long: "dd MMMM yyyy", + medium: "dd MMM yyyy", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bg/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/bg/_lib/formatRelative.js new file mode 100644 index 00000000..4f6c3442 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg/_lib/formatRelative.js @@ -0,0 +1,95 @@ +import { isSameWeek } from "../../../isSameWeek.js"; +import { toDate } from "../../../toDate.js"; + +// Adapted from the `ru` translation + +const weekdays = [ + "неделя", + "понеделник", + "вторник", + "сряда", + "четвъртък", + "петък", + "събота", +]; + +function lastWeek(day) { + const weekday = weekdays[day]; + + switch (day) { + case 0: + case 3: + case 6: + return "'миналата " + weekday + " в' p"; + case 1: + case 2: + case 4: + case 5: + return "'миналия " + weekday + " в' p"; + } +} + +function thisWeek(day) { + const weekday = weekdays[day]; + + if (day === 2 /* Tue */) { + return "'във " + weekday + " в' p"; + } else { + return "'в " + weekday + " в' p"; + } +} + +function nextWeek(day) { + const weekday = weekdays[day]; + + switch (day) { + case 0: + case 3: + case 6: + return "'следващата " + weekday + " в' p"; + case 1: + case 2: + case 4: + case 5: + return "'следващия " + weekday + " в' p"; + } +} + +const lastWeekFormatToken = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } +}; + +const nextWeekFormatToken = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } +}; + +const formatRelativeLocale = { + lastWeek: lastWeekFormatToken, + yesterday: "'вчера в' p", + today: "'днес в' p", + tomorrow: "'утре в' p", + nextWeek: nextWeekFormatToken, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/bg/_lib/localize.js b/.output/server/node_modules/date-fns/locale/bg/_lib/localize.js new file mode 100644 index 00000000..8fc1e3d5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg/_lib/localize.js @@ -0,0 +1,156 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["пр.н.е.", "н.е."], + abbreviated: ["преди н. е.", "н. е."], + wide: ["преди новата ера", "новата ера"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-во тримес.", "2-ро тримес.", "3-то тримес.", "4-то тримес."], + + wide: [ + "1-во тримесечие", + "2-ро тримесечие", + "3-то тримесечие", + "4-то тримесечие", + ], +}; + +const monthValues = { + abbreviated: [ + "яну", + "фев", + "мар", + "апр", + "май", + "юни", + "юли", + "авг", + "сеп", + "окт", + "ное", + "дек", + ], + + wide: [ + "януари", + "февруари", + "март", + "април", + "май", + "юни", + "юли", + "август", + "септември", + "октомври", + "ноември", + "декември", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "В", "С", "Ч", "П", "С"], + short: ["нд", "пн", "вт", "ср", "чт", "пт", "сб"], + abbreviated: ["нед", "пон", "вто", "сря", "чет", "пет", "съб"], + wide: [ + "неделя", + "понеделник", + "вторник", + "сряда", + "четвъртък", + "петък", + "събота", + ], +}; + +const dayPeriodValues = { + wide: { + am: "преди обяд", + pm: "след обяд", + midnight: "в полунощ", + noon: "на обяд", + morning: "сутринта", + afternoon: "следобед", + evening: "вечерта", + night: "през нощта", + }, +}; + +function isFeminine(unit) { + return ( + unit === "year" || unit === "week" || unit === "minute" || unit === "second" + ); +} + +function isNeuter(unit) { + return unit === "quarter"; +} + +function numberWithSuffix(number, unit, masculine, feminine, neuter) { + const suffix = isNeuter(unit) + ? neuter + : isFeminine(unit) + ? feminine + : masculine; + return number + "-" + suffix; +} + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + + if (number === 0) { + return numberWithSuffix(0, unit, "ев", "ева", "ево"); + } else if (number % 1000 === 0) { + return numberWithSuffix(number, unit, "ен", "на", "но"); + } else if (number % 100 === 0) { + return numberWithSuffix(number, unit, "тен", "тна", "тно"); + } + + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return numberWithSuffix(number, unit, "ви", "ва", "во"); + case 2: + return numberWithSuffix(number, unit, "ри", "ра", "ро"); + case 7: + case 8: + return numberWithSuffix(number, unit, "ми", "ма", "мо"); + } + } + + return numberWithSuffix(number, unit, "ти", "та", "то"); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bg/_lib/match.js b/.output/server/node_modules/date-fns/locale/bg/_lib/match.js new file mode 100644 index 00000000..d2750f5c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bg/_lib/match.js @@ -0,0 +1,118 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = + /^(\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((пр)?н\.?\s?е\.?)/i, + abbreviated: /^((пр)?н\.?\s?е\.?)/i, + wide: /^(преди новата ера|новата ера|нова ера)/i, +}; +const parseEraPatterns = { + any: [/^п/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[врт]?o?)? тримес.?/i, + wide: /^[1234](-?[врт]?о?)? тримесечие/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchDayPatterns = { + narrow: /^[нпвсч]/i, + short: /^(нд|пн|вт|ср|чт|пт|сб)/i, + abbreviated: /^(нед|пон|вто|сря|чет|пет|съб)/i, + wide: /^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i, +}; + +const parseDayPatterns = { + narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[ъб]/i], +}; + +const matchMonthPatterns = { + abbreviated: /^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i, + wide: /^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i, +}; + +const parseMonthPatterns = { + any: [ + /^я/i, + /^ф/i, + /^мар/i, + /^ап/i, + /^май/i, + /^юн/i, + /^юл/i, + /^ав/i, + /^се/i, + /^окт/i, + /^но/i, + /^де/i, + ], +}; + +const matchDayPeriodPatterns = { + any: /^(преди о|след о|в по|на о|през|веч|сут|следо)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^преди о/i, + pm: /^след о/i, + midnight: /^в пол/i, + noon: /^на об/i, + morning: /^сут/i, + afternoon: /^следо/i, + evening: /^веч/i, + night: /^през н/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bn.js b/.output/server/node_modules/date-fns/locale/bn.js new file mode 100644 index 00000000..565c5705 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./bn/_lib/formatDistance.js"; +import { formatLong } from "./bn/_lib/formatLong.js"; +import { formatRelative } from "./bn/_lib/formatRelative.js"; +import { localize } from "./bn/_lib/localize.js"; +import { match } from "./bn/_lib/match.js"; + +/** + * @category Locales + * @summary Bengali locale. + * @language Bengali + * @iso-639-2 ben + * @author Touhidur Rahman [@touhidrahman](https://github.com/touhidrahman) + * @author Farhad Yasir [@nutboltu](https://github.com/nutboltu) + */ +export const bn = { + code: "bn", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default bn; diff --git a/.output/server/node_modules/date-fns/locale/bn/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/bn/_lib/formatDistance.js new file mode 100644 index 00000000..d34cbb1c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn/_lib/formatDistance.js @@ -0,0 +1,103 @@ +import { numberToLocale } from "./localize.js"; + +const formatDistanceLocale = { + lessThanXSeconds: { + one: "প্রায় ১ সেকেন্ড", + other: "প্রায় {{count}} সেকেন্ড", + }, + + xSeconds: { + one: "১ সেকেন্ড", + other: "{{count}} সেকেন্ড", + }, + + halfAMinute: "আধ মিনিট", + + lessThanXMinutes: { + one: "প্রায় ১ মিনিট", + other: "প্রায় {{count}} মিনিট", + }, + + xMinutes: { + one: "১ মিনিট", + other: "{{count}} মিনিট", + }, + + aboutXHours: { + one: "প্রায় ১ ঘন্টা", + other: "প্রায় {{count}} ঘন্টা", + }, + + xHours: { + one: "১ ঘন্টা", + other: "{{count}} ঘন্টা", + }, + + xDays: { + one: "১ দিন", + other: "{{count}} দিন", + }, + + aboutXWeeks: { + one: "প্রায় ১ সপ্তাহ", + other: "প্রায় {{count}} সপ্তাহ", + }, + + xWeeks: { + one: "১ সপ্তাহ", + other: "{{count}} সপ্তাহ", + }, + + aboutXMonths: { + one: "প্রায় ১ মাস", + other: "প্রায় {{count}} মাস", + }, + + xMonths: { + one: "১ মাস", + other: "{{count}} মাস", + }, + + aboutXYears: { + one: "প্রায় ১ বছর", + other: "প্রায় {{count}} বছর", + }, + + xYears: { + one: "১ বছর", + other: "{{count}} বছর", + }, + + overXYears: { + one: "১ বছরের বেশি", + other: "{{count}} বছরের বেশি", + }, + + almostXYears: { + one: "প্রায় ১ বছর", + other: "প্রায় {{count}} বছর", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", numberToLocale(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " এর মধ্যে"; + } else { + return result + " আগে"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/bn/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/bn/_lib/formatLong.js new file mode 100644 index 00000000..7fdc12a4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}} 'সময়'", + long: "{{date}} {{time}} 'সময়'", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bn/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/bn/_lib/formatRelative.js new file mode 100644 index 00000000..f2282029 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'গত' eeee 'সময়' p", + yesterday: "'গতকাল' 'সময়' p", + today: "'আজ' 'সময়' p", + tomorrow: "'আগামীকাল' 'সময়' p", + nextWeek: "eeee 'সময়' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/bn/_lib/localize.js b/.output/server/node_modules/date-fns/locale/bn/_lib/localize.js new file mode 100644 index 00000000..84ee6f57 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn/_lib/localize.js @@ -0,0 +1,255 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const numberValues = { + locale: { + 1: "১", + 2: "২", + 3: "৩", + 4: "৪", + 5: "৫", + 6: "৬", + 7: "৭", + 8: "৮", + 9: "৯", + 0: "০", + }, + number: { + "১": "1", + "২": "2", + "৩": "3", + "৪": "4", + "৫": "5", + "৬": "6", + "৭": "7", + "৮": "8", + "৯": "9", + "০": "0", + }, +}; + +const eraValues = { + narrow: ["খ্রিঃপূঃ", "খ্রিঃ"], + abbreviated: ["খ্রিঃপূর্ব", "খ্রিঃ"], + wide: ["খ্রিস্টপূর্ব", "খ্রিস্টাব্দ"], +}; + +const quarterValues = { + narrow: ["১", "২", "৩", "৪"], + abbreviated: ["১ত্রৈ", "২ত্রৈ", "৩ত্রৈ", "৪ত্রৈ"], + wide: ["১ম ত্রৈমাসিক", "২য় ত্রৈমাসিক", "৩য় ত্রৈমাসিক", "৪র্থ ত্রৈমাসিক"], +}; + +const monthValues = { + narrow: [ + "জানু", + "ফেব্রু", + "মার্চ", + "এপ্রিল", + "মে", + "জুন", + "জুলাই", + "আগস্ট", + "সেপ্ট", + "অক্টো", + "নভে", + "ডিসে", + ], + + abbreviated: [ + "জানু", + "ফেব্রু", + "মার্চ", + "এপ্রিল", + "মে", + "জুন", + "জুলাই", + "আগস্ট", + "সেপ্ট", + "অক্টো", + "নভে", + "ডিসে", + ], + + wide: [ + "জানুয়ারি", + "ফেব্রুয়ারি", + "মার্চ", + "এপ্রিল", + "মে", + "জুন", + "জুলাই", + "আগস্ট", + "সেপ্টেম্বর", + "অক্টোবর", + "নভেম্বর", + "ডিসেম্বর", + ], +}; + +const dayValues = { + narrow: ["র", "সো", "ম", "বু", "বৃ", "শু", "শ"], + short: ["রবি", "সোম", "মঙ্গল", "বুধ", "বৃহ", "শুক্র", "শনি"], + abbreviated: ["রবি", "সোম", "মঙ্গল", "বুধ", "বৃহ", "শুক্র", "শনি"], + wide: [ + "রবিবার", + "সোমবার", + "মঙ্গলবার", + "বুধবার", + "বৃহস্পতিবার ", + "শুক্রবার", + "শনিবার", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "পূ", + pm: "অপ", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, + abbreviated: { + am: "পূর্বাহ্ন", + pm: "অপরাহ্ন", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, + wide: { + am: "পূর্বাহ্ন", + pm: "অপরাহ্ন", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "পূ", + pm: "অপ", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, + abbreviated: { + am: "পূর্বাহ্ন", + pm: "অপরাহ্ন", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, + wide: { + am: "পূর্বাহ্ন", + pm: "অপরাহ্ন", + midnight: "মধ্যরাত", + noon: "মধ্যাহ্ন", + morning: "সকাল", + afternoon: "বিকাল", + evening: "সন্ধ্যা", + night: "রাত", + }, +}; + +function dateOrdinalNumber(number, localeNumber) { + if (number > 18 && number <= 31) { + return localeNumber + "শে"; + } else { + switch (number) { + case 1: + return localeNumber + "লা"; + case 2: + case 3: + return localeNumber + "রা"; + case 4: + return localeNumber + "ঠা"; + default: + return localeNumber + "ই"; + } + } +} + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const localeNumber = numberToLocale(number); + const unit = options?.unit; + + if (unit === "date") { + return dateOrdinalNumber(number, localeNumber); + } + if (number > 10 || number === 0) return localeNumber + "তম"; + + const rem10 = number % 10; + switch (rem10) { + case 2: + case 3: + return localeNumber + "য়"; + case 4: + return localeNumber + "র্থ"; + case 6: + return localeNumber + "ষ্ঠ"; + default: + return localeNumber + "ম"; + } +}; + +// function localeToNumber(locale: string): number { +// const enNumber = locale.toString().replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { +// return numberValues.number[match as keyof typeof numberValues.number] +// }) +// return Number(enNumber) +// } + +export function numberToLocale(enNumber) { + return enNumber.toString().replace(/\d/g, function (match) { + return numberValues.locale[match]; + }); +} + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bn/_lib/match.js b/.output/server/node_modules/date-fns/locale/bn/_lib/match.js new file mode 100644 index 00000000..da52f255 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bn/_lib/match.js @@ -0,0 +1,142 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ম|য়|র্থ|ষ্ঠ|শে|ই|তম)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(খ্রিঃপূঃ|খ্রিঃ)/i, + abbreviated: /^(খ্রিঃপূর্ব|খ্রিঃ)/i, + wide: /^(খ্রিস্টপূর্ব|খ্রিস্টাব্দ)/i, +}; +const parseEraPatterns = { + narrow: [/^খ্রিঃপূঃ/i, /^খ্রিঃ/i], + abbreviated: [/^খ্রিঃপূর্ব/i, /^খ্রিঃ/i], + wide: [/^খ্রিস্টপূর্ব/i, /^খ্রিস্টাব্দ/i], +}; + +const matchQuarterPatterns = { + narrow: /^[১২৩৪]/i, + abbreviated: /^[১২৩৪]ত্রৈ/i, + wide: /^[১২৩৪](ম|য়|র্থ)? ত্রৈমাসিক/i, +}; +const parseQuarterPatterns = { + any: [/১/i, /২/i, /৩/i, /৪/i], +}; + +const matchMonthPatterns = { + narrow: + /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i, + abbreviated: + /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i, + wide: /^(জানুয়ারি|ফেব্রুয়ারি|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্টেম্বর|অক্টোবর|নভেম্বর|ডিসেম্বর)/i, +}; +const parseMonthPatterns = { + any: [ + /^জানু/i, + /^ফেব্রু/i, + /^মার্চ/i, + /^এপ্রিল/i, + /^মে/i, + /^জুন/i, + /^জুলাই/i, + /^আগস্ট/i, + /^সেপ্ট/i, + /^অক্টো/i, + /^নভে/i, + /^ডিসে/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(র|সো|ম|বু|বৃ|শু|শ)+/i, + short: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i, + abbreviated: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i, + wide: /^(রবিবার|সোমবার|মঙ্গলবার|বুধবার|বৃহস্পতিবার |শুক্রবার|শনিবার)+/i, +}; +const parseDayPatterns = { + narrow: [/^র/i, /^সো/i, /^ম/i, /^বু/i, /^বৃ/i, /^শু/i, /^শ/i], + short: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i], + + abbreviated: [ + /^রবি/i, + /^সোম/i, + /^মঙ্গল/i, + /^বুধ/i, + /^বৃহ/i, + /^শুক্র/i, + /^শনি/i, + ], + + wide: [ + /^রবিবার/i, + /^সোমবার/i, + /^মঙ্গলবার/i, + /^বুধবার/i, + /^বৃহস্পতিবার /i, + /^শুক্রবার/i, + /^শনিবার/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(পূ|অপ|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i, + abbreviated: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i, + wide: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^পূ/i, + pm: /^অপ/i, + midnight: /^মধ্যরাত/i, + noon: /^মধ্যাহ্ন/i, + morning: /সকাল/i, + afternoon: /বিকাল/i, + evening: /সন্ধ্যা/i, + night: /রাত/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "wide", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "wide", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bs.js b/.output/server/node_modules/date-fns/locale/bs.js new file mode 100644 index 00000000..9a4fd612 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./bs/_lib/formatDistance.js"; +import { formatLong } from "./bs/_lib/formatLong.js"; +import { formatRelative } from "./bs/_lib/formatRelative.js"; +import { localize } from "./bs/_lib/localize.js"; +import { match } from "./bs/_lib/match.js"; + +/** + * @category Locales + * @summary Bosnian locale. + * @language Bosnian + * @iso-639-2 bos + * @author Branislav Lazić [@branislavlazic](https://github.com/branislavlazic) + */ +export const bs = { + code: "bs", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default bs; diff --git a/.output/server/node_modules/date-fns/locale/bs/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/bs/_lib/formatDistance.js new file mode 100644 index 00000000..236e3990 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs/_lib/formatDistance.js @@ -0,0 +1,190 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + standalone: "manje od 1 sekunde", + withPrepositionAgo: "manje od 1 sekunde", + withPrepositionIn: "manje od 1 sekundu", + }, + dual: "manje od {{count}} sekunde", + other: "manje od {{count}} sekundi", + }, + + xSeconds: { + one: { + standalone: "1 sekunda", + withPrepositionAgo: "1 sekunde", + withPrepositionIn: "1 sekundu", + }, + dual: "{{count}} sekunde", + other: "{{count}} sekundi", + }, + + halfAMinute: "pola minute", + + lessThanXMinutes: { + one: { + standalone: "manje od 1 minute", + withPrepositionAgo: "manje od 1 minute", + withPrepositionIn: "manje od 1 minutu", + }, + dual: "manje od {{count}} minute", + other: "manje od {{count}} minuta", + }, + + xMinutes: { + one: { + standalone: "1 minuta", + withPrepositionAgo: "1 minute", + withPrepositionIn: "1 minutu", + }, + dual: "{{count}} minute", + other: "{{count}} minuta", + }, + + aboutXHours: { + one: { + standalone: "oko 1 sat", + withPrepositionAgo: "oko 1 sat", + withPrepositionIn: "oko 1 sat", + }, + dual: "oko {{count}} sata", + other: "oko {{count}} sati", + }, + + xHours: { + one: { + standalone: "1 sat", + withPrepositionAgo: "1 sat", + withPrepositionIn: "1 sat", + }, + dual: "{{count}} sata", + other: "{{count}} sati", + }, + + xDays: { + one: { + standalone: "1 dan", + withPrepositionAgo: "1 dan", + withPrepositionIn: "1 dan", + }, + dual: "{{count}} dana", + other: "{{count}} dana", + }, + + aboutXWeeks: { + one: { + standalone: "oko 1 sedmicu", + withPrepositionAgo: "oko 1 sedmicu", + withPrepositionIn: "oko 1 sedmicu", + }, + dual: "oko {{count}} sedmice", + other: "oko {{count}} sedmice", + }, + + xWeeks: { + one: { + standalone: "1 sedmicu", + withPrepositionAgo: "1 sedmicu", + withPrepositionIn: "1 sedmicu", + }, + dual: "{{count}} sedmice", + other: "{{count}} sedmice", + }, + + aboutXMonths: { + one: { + standalone: "oko 1 mjesec", + withPrepositionAgo: "oko 1 mjesec", + withPrepositionIn: "oko 1 mjesec", + }, + dual: "oko {{count}} mjeseca", + other: "oko {{count}} mjeseci", + }, + + xMonths: { + one: { + standalone: "1 mjesec", + withPrepositionAgo: "1 mjesec", + withPrepositionIn: "1 mjesec", + }, + dual: "{{count}} mjeseca", + other: "{{count}} mjeseci", + }, + + aboutXYears: { + one: { + standalone: "oko 1 godinu", + withPrepositionAgo: "oko 1 godinu", + withPrepositionIn: "oko 1 godinu", + }, + dual: "oko {{count}} godine", + other: "oko {{count}} godina", + }, + + xYears: { + one: { + standalone: "1 godina", + withPrepositionAgo: "1 godine", + withPrepositionIn: "1 godinu", + }, + dual: "{{count}} godine", + other: "{{count}} godina", + }, + + overXYears: { + one: { + standalone: "preko 1 godinu", + withPrepositionAgo: "preko 1 godinu", + withPrepositionIn: "preko 1 godinu", + }, + dual: "preko {{count}} godine", + other: "preko {{count}} godina", + }, + + almostXYears: { + one: { + standalone: "gotovo 1 godinu", + withPrepositionAgo: "gotovo 1 godinu", + withPrepositionIn: "gotovo 1 godinu", + }, + dual: "gotovo {{count}} godine", + other: "gotovo {{count}} godina", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + result = tokenValue.one.withPrepositionIn; + } else { + result = tokenValue.one.withPrepositionAgo; + } + } else { + result = tokenValue.one.standalone; + } + } else if ( + count % 10 > 1 && + count % 10 < 5 && // if last digit is between 2 and 4 + String(count).substr(-2, 1) !== "1" // unless the 2nd to last digit is "1" + ) { + result = tokenValue.dual.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "za " + result; + } else { + return "prije " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/bs/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/bs/_lib/formatLong.js new file mode 100644 index 00000000..3e29d658 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM yyyy.", + long: "d. MMMM yyyy.", + medium: "d. MMM yy.", + short: "dd. MM. yy.", +}; + +const timeFormats = { + full: "HH:mm:ss (zzzz)", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'u' {{time}}", + long: "{{date}} 'u' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bs/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/bs/_lib/formatRelative.js new file mode 100644 index 00000000..695764a5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs/_lib/formatRelative.js @@ -0,0 +1,40 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'prošle nedjelje u' p"; + case 3: + return "'prošle srijede u' p"; + case 6: + return "'prošle subote u' p"; + default: + return "'prošli' EEEE 'u' p"; + } + }, + yesterday: "'juče u' p", + today: "'danas u' p", + tomorrow: "'sutra u' p", + nextWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'sljedeće nedjelje u' p"; + case 3: + return "'sljedeću srijedu u' p"; + case 6: + return "'sljedeću subotu u' p"; + default: + return "'sljedeći' EEEE 'u' p"; + } + }, + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/bs/_lib/localize.js b/.output/server/node_modules/date-fns/locale/bs/_lib/localize.js new file mode 100644 index 00000000..187fcd2b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs/_lib/localize.js @@ -0,0 +1,227 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["pr.n.e.", "AD"], + abbreviated: ["pr. Hr.", "po. Hr."], + wide: ["Prije Hrista", "Poslije Hrista"], +}; + +const quarterValues = { + narrow: ["1.", "2.", "3.", "4."], + abbreviated: ["1. kv.", "2. kv.", "3. kv.", "4. kv."], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "maj", + "jun", + "jul", + "avg", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januar", + "februar", + "mart", + "april", + "maj", + "juni", + "juli", + "avgust", + "septembar", + "oktobar", + "novembar", + "decembar", + ], +}; + +const formattingMonthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "maj", + "jun", + "jul", + "avg", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januar", + "februar", + "mart", + "april", + "maj", + "juni", + "juli", + "avgust", + "septembar", + "oktobar", + "novembar", + "decembar", + ], +}; + +const dayValues = { + narrow: ["N", "P", "U", "S", "Č", "P", "S"], + short: ["ned", "pon", "uto", "sre", "čet", "pet", "sub"], + abbreviated: ["ned", "pon", "uto", "sre", "čet", "pet", "sub"], + wide: [ + "nedjelja", + "ponedjeljak", + "utorak", + "srijeda", + "četvrtak", + "petak", + "subota", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "poslije podne", + evening: "uveče", + night: "noću", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "poslije podne", + evening: "uveče", + night: "noću", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return String(number) + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/bs/_lib/match.js b/.output/server/node_modules/date-fns/locale/bs/_lib/match.js new file mode 100644 index 00000000..986c4303 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/bs/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(pr\.n\.e\.|AD)/i, + abbreviated: /^(pr\.\s?Hr\.|po\.\s?Hr\.)/i, + wide: /^(Prije Hrista|prije nove ere|Poslije Hrista|nova era)/i, +}; +const parseEraPatterns = { + any: [/^pr/i, /^(po|nova)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\.\s?kv\.?/i, + wide: /^[1234]\. kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(10|11|12|[123456789])\./i, + abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i, + wide: /^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(juni|juna)|(juli|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^1/i, + /^2/i, + /^3/i, + /^4/i, + /^5/i, + /^6/i, + /^7/i, + /^8/i, + /^9/i, + /^10/i, + /^11/i, + /^12/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^avg/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npusčc]/i, + short: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i, + abbreviated: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i, + wide: /^(nedjelja|ponedjeljak|utorak|srijeda|(četvrtak|cetvrtak)|petak|subota)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|poslije podne|ujutru)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^pono/i, + noon: /^pod/i, + morning: /jutro/i, + afternoon: /(poslije\s|po)+podne/i, + evening: /(uvece|uveče)/i, + night: /(nocu|noću)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ca.js b/.output/server/node_modules/date-fns/locale/ca.js new file mode 100644 index 00000000..b688e0e2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ca/_lib/formatDistance.js"; +import { formatLong } from "./ca/_lib/formatLong.js"; +import { formatRelative } from "./ca/_lib/formatRelative.js"; +import { localize } from "./ca/_lib/localize.js"; +import { match } from "./ca/_lib/match.js"; + +/** + * @category Locales + * @summary Catalan locale. + * @language Catalan + * @iso-639-2 cat + * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa) + * @author Alex Vizcaino [@avizcaino](https://github.com/avizcaino) + */ +export const ca = { + code: "ca", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default ca; diff --git a/.output/server/node_modules/date-fns/locale/ca/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ca/_lib/formatDistance.js new file mode 100644 index 00000000..4f5c0b83 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca/_lib/formatDistance.js @@ -0,0 +1,117 @@ +/** + * Davant de les xifres que es diuen amb vocal inicial, 1 i 11, s'apostrofen els articles el i la i la preposició de igual que si estiguessin escrits amb lletres. + * l'1 de juliol ('l'u') + * l'11 de novembre ('l'onze') + * l'11a clàusula del contracte ('l'onzena') + * la contractació d'11 jugadors ('d'onze') + * l'aval d'11.000 socis ('d'onze mil') + * + * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=apostrofaci%25F3+davant+xifres&action=Principal&method=detall_completa&numPagina=1&idHit=11236&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=11236&titol=apostrofaci%F3%20davant%20de%20xifres%20%2F%20apostrofaci%F3%20davant%20de%201%20i%2011&numeroResultat=1&clickLink=detall&tipusCerca=cerca.normes + */ + +const formatDistanceLocale = { + lessThanXSeconds: { + one: "menys d'un segon", + eleven: "menys d'onze segons", + other: "menys de {{count}} segons", + }, + + xSeconds: { + one: "1 segon", + other: "{{count}} segons", + }, + + halfAMinute: "mig minut", + + lessThanXMinutes: { + one: "menys d'un minut", + eleven: "menys d'onze minuts", + other: "menys de {{count}} minuts", + }, + + xMinutes: { + one: "1 minut", + other: "{{count}} minuts", + }, + + aboutXHours: { + one: "aproximadament una hora", + other: "aproximadament {{count}} hores", + }, + + xHours: { + one: "1 hora", + other: "{{count}} hores", + }, + + xDays: { + one: "1 dia", + other: "{{count}} dies", + }, + + aboutXWeeks: { + one: "aproximadament una setmana", + other: "aproximadament {{count}} setmanes", + }, + + xWeeks: { + one: "1 setmana", + other: "{{count}} setmanes", + }, + + aboutXMonths: { + one: "aproximadament un mes", + other: "aproximadament {{count}} mesos", + }, + + xMonths: { + one: "1 mes", + other: "{{count}} mesos", + }, + + aboutXYears: { + one: "aproximadament un any", + other: "aproximadament {{count}} anys", + }, + + xYears: { + one: "1 any", + other: "{{count}} anys", + }, + + overXYears: { + one: "més d'un any", + eleven: "més d'onze anys", + other: "més de {{count}} anys", + }, + + almostXYears: { + one: "gairebé un any", + other: "gairebé {{count}} anys", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 11 && tokenValue.eleven) { + result = tokenValue.eleven; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "en " + result; + } else { + return "fa " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ca/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ca/_lib/formatLong.js new file mode 100644 index 00000000..cb059788 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d 'de' MMMM y", + long: "d 'de' MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'a les' {{time}}", + long: "{{date}} 'a les' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ca/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ca/_lib/formatRelative.js new file mode 100644 index 00000000..89f7c4e5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca/_lib/formatRelative.js @@ -0,0 +1,24 @@ +const formatRelativeLocale = { + lastWeek: "'el' eeee 'passat a la' LT", + yesterday: "'ahir a la' p", + today: "'avui a la' p", + tomorrow: "'demà a la' p", + nextWeek: "eeee 'a la' p", + other: "P", +}; + +const formatRelativeLocalePlural = { + lastWeek: "'el' eeee 'passat a les' p", + yesterday: "'ahir a les' p", + today: "'avui a les' p", + tomorrow: "'demà a les' p", + nextWeek: "eeee 'a les' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + if (date.getHours() !== 1) { + return formatRelativeLocalePlural[token]; + } + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/ca/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ca/_lib/localize.js new file mode 100644 index 00000000..6352b553 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca/_lib/localize.js @@ -0,0 +1,232 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +/** + * General information + * Reference: https://aplicacions.llengua.gencat.cat + * Reference: https://www.uoc.edu/portal/ca/servei-linguistic/convencions/abreviacions/simbols/simbols-habituals.html + */ + +/** + * Abans de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abans+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6876&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6876&titol=abans%20de%20Crist%20(abreviatura)%20/%20abans%20de%20Crist%20(sigla)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes + * Desprest de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=despr%E9s+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6879&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6879&titol=despr%E9s%20de%20Crist%20(sigla)%20/%20despr%E9s%20de%20Crist%20(abreviatura)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes + */ +const eraValues = { + narrow: ["aC", "dC"], + abbreviated: ["a. de C.", "d. de C."], + wide: ["abans de Crist", "després de Crist"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1r trimestre", "2n trimestre", "3r trimestre", "4t trimestre"], +}; + +/** + * Dins d'un text convé fer servir la forma sencera dels mesos, ja que sempre és més clar el mot sencer que l'abreviatura, encara que aquesta sigui força coneguda. + * Cal reservar, doncs, les abreviatures per a les llistes o classificacions, els gràfics, les taules o quadres estadístics, els textos publicitaris, etc. + * + * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviacions+mesos&action=Principal&method=detall_completa&numPagina=1&idHit=8402&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8402&titol=abreviatures%20dels%20mesos%20de%20l%27any&numeroResultat=5&clickLink=detall&tipusCerca=cerca.fitxes + */ +const monthValues = { + narrow: [ + "GN", + "FB", + "MÇ", + "AB", + "MG", + "JN", + "JL", + "AG", + "ST", + "OC", + "NV", + "DS", + ], + + /** + * Les abreviatures dels mesos de l'any es formen seguint una de les normes generals de formació d'abreviatures. + * S'escriu la primera síl·laba i les consonants de la síl·laba següent anteriors a la primera vocal. + * Els mesos de març, maig i juny no s'abreugen perquè són paraules d'una sola síl·laba. + */ + abbreviated: [ + "gen.", + "febr.", + "març", + "abr.", + "maig", + "juny", + "jul.", + "ag.", + "set.", + "oct.", + "nov.", + "des.", + ], + + wide: [ + "gener", + "febrer", + "març", + "abril", + "maig", + "juny", + "juliol", + "agost", + "setembre", + "octubre", + "novembre", + "desembre", + ], +}; + +/** + * Les abreviatures dels dies de la setmana comencen totes amb la lletra d. + * Tot seguit porten la consonant següent a la i, excepte en el cas de dimarts, dimecres i diumenge, en què aquesta consonant és la m i, per tant, hi podria haver confusió. + * Per evitar-ho, s'ha substituït la m per una t (en el cas de dimarts), una c (en el cas de dimecres) i una g (en el cas de diumenge), respectivament. + * + * Seguint la norma general d'ús de les abreviatures, les dels dies de la setmana sempre porten punt final. + * Igualment, van amb la primera lletra en majúscula quan la paraula sencera també hi aniria. + * En canvi, van amb la primera lletra en minúscula quan la inicial de la paraula sencera també hi aniria. + * + * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviatures+dies&action=Principal&method=detall_completa&numPagina=1&idHit=8387&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8387&titol=abreviatures%20dels%20dies%20de%20la%20setmana&numeroResultat=1&clickLink=detall&tipusCerca=cerca.tot + */ +const dayValues = { + narrow: ["dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], + short: ["dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], + abbreviated: ["dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], + wide: [ + "diumenge", + "dilluns", + "dimarts", + "dimecres", + "dijous", + "divendres", + "dissabte", + ], +}; + +/** + * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?action=Principal&method=detall&input_cercar=parts+del+dia&numPagina=1&database=FITXES_PUB&idFont=12801&idHit=12801&tipusFont=Fitxes+de+l%27Optimot&numeroResultat=1&databases_avansada=&categories_avansada=&clickLink=detall&titol=Nom+de+les+parts+del+dia&tematica=&tipusCerca=cerca.fitxes + */ +const dayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "mitjanit", + noon: "migdia", + morning: "matí", + afternoon: "tarda", + evening: "vespre", + night: "nit", + }, + abbreviated: { + am: "a.m.", + pm: "p.m.", + midnight: "mitjanit", + noon: "migdia", + morning: "matí", + afternoon: "tarda", + evening: "vespre", + night: "nit", + }, + wide: { + am: "ante meridiem", + pm: "post meridiem", + midnight: "mitjanit", + noon: "migdia", + morning: "matí", + afternoon: "tarda", + evening: "vespre", + night: "nit", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "de la mitjanit", + noon: "del migdia", + morning: "del matí", + afternoon: "de la tarda", + evening: "del vespre", + night: "de la nit", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "de la mitjanit", + noon: "del migdia", + morning: "del matí", + afternoon: "de la tarda", + evening: "del vespre", + night: "de la nit", + }, + wide: { + am: "ante meridiem", + pm: "post meridiem", + midnight: "de la mitjanit", + noon: "del migdia", + morning: "del matí", + afternoon: "de la tarda", + evening: "del vespre", + night: "de la nit", + }, +}; + +/** + * Quan van en singular, els nombres ordinals es representen, en forma d’abreviatura, amb la xifra seguida de l’última lletra del mot desplegat. + * És optatiu posar punt després de la lletra. + * + * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/pdf/abrevia.pdf#page=18 + */ +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + "r"; + case 2: + return number + "n"; + case 3: + return number + "r"; + case 4: + return number + "t"; + } + } + return number + "è"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ca/_lib/match.js b/.output/server/node_modules/date-fns/locale/ca/_lib/match.js new file mode 100644 index 00000000..86b122d2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ca/_lib/match.js @@ -0,0 +1,163 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(è|r|n|r|t)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(aC|dC)/i, + abbreviated: /^(a. de C.|d. de C.)/i, + wide: /^(abans de Crist|despr[eé]s de Crist)/i, +}; +const parseEraPatterns = { + narrow: [/^aC/i, /^dC/i], + abbreviated: [/^(a. de C.)/i, /^(d. de C.)/i], + wide: [/^(abans de Crist)/i, /^(despr[eé]s de Crist)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^[1234](è|r|n|r|t)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(GN|FB|MÇ|AB|MG|JN|JL|AG|ST|OC|NV|DS)/i, + abbreviated: + /^(gen.|febr.|març|abr.|maig|juny|jul.|ag.|set.|oct.|nov.|des.)/i, + wide: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^GN/i, + /^FB/i, + /^MÇ/i, + /^AB/i, + /^MG/i, + /^JN/i, + /^JL/i, + /^AG/i, + /^ST/i, + /^OC/i, + /^NV/i, + /^DS/i, + ], + + abbreviated: [ + /^gen./i, + /^febr./i, + /^març/i, + /^abr./i, + /^maig/i, + /^juny/i, + /^jul./i, + /^ag./i, + /^set./i, + /^oct./i, + /^nov./i, + /^des./i, + ], + + wide: [ + /^gener/i, + /^febrer/i, + /^març/i, + /^abril/i, + /^maig/i, + /^juny/i, + /^juliol/i, + /^agost/i, + /^setembre/i, + /^octubre/i, + /^novembre/i, + /^desembre/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, + short: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, + abbreviated: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, + wide: /^(diumenge|dilluns|dimarts|dimecres|dijous|divendres|dissabte)/i, +}; +const parseDayPatterns = { + narrow: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i], + + abbreviated: [/^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i], + + wide: [ + /^diumenge/i, + /^dilluns/i, + /^dimarts/i, + /^dimecres/i, + /^dijous/i, + /^divendres/i, + /^disssabte/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mn|md|(del|de la) (matí|tarda|vespre|nit))/i, + abbreviated: + /^([ap]\.?\s?m\.?|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i, + wide: /^(ante meridiem|post meridiem|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mitjanit/i, + noon: /^migdia/i, + morning: /matí/i, + afternoon: /tarda/i, + evening: /vespre/i, + night: /nit/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "wide", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "wide", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "wide", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ckb.js b/.output/server/node_modules/date-fns/locale/ckb.js new file mode 100644 index 00000000..0ee310e1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ckb/_lib/formatDistance.js"; +import { formatLong } from "./ckb/_lib/formatLong.js"; +import { formatRelative } from "./ckb/_lib/formatRelative.js"; +import { localize } from "./ckb/_lib/localize.js"; +import { match } from "./ckb/_lib/match.js"; + +/** + * @type {Locale} + * @category Locales + * @summary Central Kurdish locale. + * @language Central Kurdish + * @iso-639-2 kur + * @author Revan Sarbast [@Revan99]{@link https://github.com/Revan99} + */ +export const ckb = { + code: "ckb", + formatDistance, + formatLong, + formatRelative, + localize, + match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ckb; diff --git a/.output/server/node_modules/date-fns/locale/ckb/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatDistance.js new file mode 100644 index 00000000..e912b2a0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "کەمتر لە یەک چرکە", + other: "کەمتر لە {{count}} چرکە", + }, + + xSeconds: { + one: "1 چرکە", + other: "{{count}} چرکە", + }, + + halfAMinute: "نیو کاتژمێر", + + lessThanXMinutes: { + one: "کەمتر لە یەک خولەک", + other: "کەمتر لە {{count}} خولەک", + }, + + xMinutes: { + one: "1 خولەک", + other: "{{count}} خولەک", + }, + + aboutXHours: { + one: "دەوروبەری 1 کاتژمێر", + other: "دەوروبەری {{count}} کاتژمێر", + }, + + xHours: { + one: "1 کاتژمێر", + other: "{{count}} کاتژمێر", + }, + + xDays: { + one: "1 ڕۆژ", + other: "{{count}} ژۆژ", + }, + + aboutXWeeks: { + one: "دەوروبەری 1 هەفتە", + other: "دوروبەری {{count}} هەفتە", + }, + + xWeeks: { + one: "1 هەفتە", + other: "{{count}} هەفتە", + }, + + aboutXMonths: { + one: "داوروبەری 1 مانگ", + other: "دەوروبەری {{count}} مانگ", + }, + + xMonths: { + one: "1 مانگ", + other: "{{count}} مانگ", + }, + + aboutXYears: { + one: "دەوروبەری 1 ساڵ", + other: "دەوروبەری {{count}} ساڵ", + }, + + xYears: { + one: "1 ساڵ", + other: "{{count}} ساڵ", + }, + + overXYears: { + one: "زیاتر لە ساڵێک", + other: "زیاتر لە {{count}} ساڵ", + }, + + almostXYears: { + one: "بەنزیکەیی ساڵێک ", + other: "بەنزیکەیی {{count}} ساڵ", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "لە ماوەی " + result + "دا"; + } else { + return result + "پێش ئێستا"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ckb/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatLong.js new file mode 100644 index 00000000..ca779ab7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'کاتژمێر' {{time}}", + long: "{{date}} 'کاتژمێر' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ckb/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatRelative.js new file mode 100644 index 00000000..5a3892f7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'هەفتەی ڕابردوو' eeee 'کاتژمێر' p", + yesterday: "'دوێنێ کاتژمێر' p", + today: "'ئەمڕۆ کاتژمێر' p", + tomorrow: "'بەیانی کاتژمێر' p", + nextWeek: "eeee 'کاتژمێر' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ckb/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ckb/_lib/localize.js new file mode 100644 index 00000000..14a27ef5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb/_lib/localize.js @@ -0,0 +1,190 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["پ", "د"], + abbreviated: ["پ-ز", "د-ز"], + wide: ["پێش زاین", "دوای زاین"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["چ1م", "چ2م", "چ3م", "چ4م"], + wide: ["چارەگی یەکەم", "چارەگی دووەم", "چارەگی سێیەم", "چارەگی چوارەم"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: [ + "ک-د", + "ش", + "ئا", + "ن", + "م", + "ح", + "ت", + "ئا", + "ئە", + "تش-ی", + "تش-د", + "ک-ی", + ], + + abbreviated: [ + "کان-دوو", + "شوب", + "ئاد", + "نیس", + "مایس", + "حوز", + "تەم", + "ئاب", + "ئەل", + "تش-یەک", + "تش-دوو", + "کان-یەک", + ], + + wide: [ + "کانوونی دووەم", + "شوبات", + "ئادار", + "نیسان", + "مایس", + "حوزەیران", + "تەمموز", + "ئاب", + "ئەیلول", + "تشرینی یەکەم", + "تشرینی دووەم", + "کانوونی یەکەم", + ], +}; + +const dayValues = { + narrow: ["ی-ش", "د-ش", "س-ش", "چ-ش", "پ-ش", "هە", "ش"], + short: ["یە-شە", "دوو-شە", "سێ-شە", "چو-شە", "پێ-شە", "هەی", "شە"], + abbreviated: [ + "یەک-شەم", + "دوو-شەم", + "سێ-شەم", + "چوار-شەم", + "پێنج-شەم", + "هەینی", + "شەمە", + ], + + wide: [ + "یەک شەمە", + "دوو شەمە", + "سێ شەمە", + "چوار شەمە", + "پێنج شەمە", + "هەینی", + "شەمە", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "پ", + pm: "د", + midnight: "ن-ش", + noon: "ن", + morning: "بەیانی", + afternoon: "دوای نیوەڕۆ", + evening: "ئێوارە", + night: "شەو", + }, + abbreviated: { + am: "پ-ن", + pm: "د-ن", + midnight: "نیوە شەو", + noon: "نیوەڕۆ", + morning: "بەیانی", + afternoon: "دوای نیوەڕۆ", + evening: "ئێوارە", + night: "شەو", + }, + wide: { + am: "پێش نیوەڕۆ", + pm: "دوای نیوەڕۆ", + midnight: "نیوە شەو", + noon: "نیوەڕۆ", + morning: "بەیانی", + afternoon: "دوای نیوەڕۆ", + evening: "ئێوارە", + night: "شەو", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "پ", + pm: "د", + midnight: "ن-ش", + noon: "ن", + morning: "لە بەیانیدا", + afternoon: "لە دوای نیوەڕۆدا", + evening: "لە ئێوارەدا", + night: "لە شەودا", + }, + abbreviated: { + am: "پ-ن", + pm: "د-ن", + midnight: "نیوە شەو", + noon: "نیوەڕۆ", + morning: "لە بەیانیدا", + afternoon: "لە دوای نیوەڕۆدا", + evening: "لە ئێوارەدا", + night: "لە شەودا", + }, + wide: { + am: "پێش نیوەڕۆ", + pm: "دوای نیوەڕۆ", + midnight: "نیوە شەو", + noon: "نیوەڕۆ", + morning: "لە بەیانیدا", + afternoon: "لە دوای نیوەڕۆدا", + evening: "لە ئێوارەدا", + night: "لە شەودا", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ckb/_lib/match.js b/.output/server/node_modules/date-fns/locale/ckb/_lib/match.js new file mode 100644 index 00000000..91d5aa95 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ckb/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(پ|د)/i, + abbreviated: /^(پ-ز|د.ز)/i, + wide: /^(پێش زاین| دوای زاین)/i, +}; +const parseEraPatterns = { + any: [/^د/g, /^پ/g], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^م[1234]چ/i, + wide: /^(یەکەم|دووەم|سێیەم| چوارەم) (چارەگی)? quarter/i, +}; +const parseQuarterPatterns = { + wide: [/چارەگی یەکەم/, /چارەگی دووەم/, /چارەگی سيیەم/, /چارەگی چوارەم/], + + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(ک-د|ش|ئا|ن|م|ح|ت|ئە|تش-ی|تش-د|ک-ی)/i, + abbreviated: + /^(کان-دوو|شوب|ئاد|نیس|مایس|حوز|تەم|ئاب|ئەل|تش-یەک|تش-دوو|کان-یەک)/i, + wide: /^(کانوونی دووەم|شوبات|ئادار|نیسان|مایس|حوزەیران|تەمموز|ئاب|ئەیلول|تشرینی یەکەم|تشرینی دووەم|کانوونی یەکەم)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ک-د/i, + /^ش/i, + /^ئا/i, + /^ن/i, + /^م/i, + /^ح/i, + /^ت/i, + /^ئا/i, + /^ئە/i, + /^تش-ی/i, + /^تش-د/i, + /^ک-ی/i, + ], + + any: [ + /^کان-دوو/i, + /^شوب/i, + /^ئاد/i, + /^نیس/i, + /^مایس/i, + /^حوز/i, + /^تەم/i, + /^ئاب/i, + /^ئەل/i, + /^تش-یەک/i, + /^تش-دوو/i, + /^|کان-یەک/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ش|ی|د|س|چ|پ|هە)/i, + short: /^(یە-شە|دوو-شە|سێ-شە|چو-شە|پێ-شە|هە|شە)/i, + abbreviated: /^(یەک-شەم|دوو-شەم|سێ-شەم|چوار-شەم|پێنخ-شەم|هەینی|شەمە)/i, + wide: /^(یەک شەمە|دوو شەمە|سێ شەمە|چوار شەمە|پێنج شەمە|هەینی|شەمە)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(پ|د|ن-ش|ن| (بەیانی|دوای نیوەڕۆ|ئێوارە|شەو))/i, + abbreviated: /^(پ-ن|د-ن|نیوە شەو|نیوەڕۆ|بەیانی|دوای نیوەڕۆ|ئێوارە|شەو)/, + wide: /^(پێش نیوەڕۆ|دوای نیوەڕۆ|نیوەڕۆ|نیوە شەو|لەبەیانیدا|لەدواینیوەڕۆدا|لە ئێوارەدا|لە شەودا)/, + any: /^(پ|د|بەیانی|نیوەڕۆ|ئێوارە|شەو)/, +}; +const parseDayPeriodPatterns = { + any: { + am: /^د/i, + pm: /^پ/i, + midnight: /^ن-ش/i, + noon: /^ن/i, + morning: /بەیانی/i, + afternoon: /دواینیوەڕۆ/i, + evening: /ئێوارە/i, + night: /شەو/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cs.js b/.output/server/node_modules/date-fns/locale/cs.js new file mode 100644 index 00000000..c7c304b5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./cs/_lib/formatDistance.js"; +import { formatLong } from "./cs/_lib/formatLong.js"; +import { formatRelative } from "./cs/_lib/formatRelative.js"; +import { localize } from "./cs/_lib/localize.js"; +import { match } from "./cs/_lib/match.js"; + +/** + * @category Locales + * @summary Czech locale. + * @language Czech + * @iso-639-2 ces + * @author David Rus [@davidrus](https://github.com/davidrus) + * @author Pavel Hrách [@SilenY](https://github.com/SilenY) + * @author Jozef Bíroš [@JozefBiros](https://github.com/JozefBiros) + */ +export const cs = { + code: "cs", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default cs; diff --git a/.output/server/node_modules/date-fns/locale/cs/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/cs/_lib/formatDistance.js new file mode 100644 index 00000000..2052f0af --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs/_lib/formatDistance.js @@ -0,0 +1,320 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + regular: "méně než 1 sekunda", + past: "před méně než 1 sekundou", + future: "za méně než 1 sekundu", + }, + few: { + regular: "méně než {{count}} sekundy", + past: "před méně než {{count}} sekundami", + future: "za méně než {{count}} sekundy", + }, + many: { + regular: "méně než {{count}} sekund", + past: "před méně než {{count}} sekundami", + future: "za méně než {{count}} sekund", + }, + }, + + xSeconds: { + one: { + regular: "1 sekunda", + past: "před 1 sekundou", + future: "za 1 sekundu", + }, + few: { + regular: "{{count}} sekundy", + past: "před {{count}} sekundami", + future: "za {{count}} sekundy", + }, + many: { + regular: "{{count}} sekund", + past: "před {{count}} sekundami", + future: "za {{count}} sekund", + }, + }, + + halfAMinute: { + type: "other", + other: { + regular: "půl minuty", + past: "před půl minutou", + future: "za půl minuty", + }, + }, + + lessThanXMinutes: { + one: { + regular: "méně než 1 minuta", + past: "před méně než 1 minutou", + future: "za méně než 1 minutu", + }, + few: { + regular: "méně než {{count}} minuty", + past: "před méně než {{count}} minutami", + future: "za méně než {{count}} minuty", + }, + many: { + regular: "méně než {{count}} minut", + past: "před méně než {{count}} minutami", + future: "za méně než {{count}} minut", + }, + }, + + xMinutes: { + one: { + regular: "1 minuta", + past: "před 1 minutou", + future: "za 1 minutu", + }, + few: { + regular: "{{count}} minuty", + past: "před {{count}} minutami", + future: "za {{count}} minuty", + }, + many: { + regular: "{{count}} minut", + past: "před {{count}} minutami", + future: "za {{count}} minut", + }, + }, + + aboutXHours: { + one: { + regular: "přibližně 1 hodina", + past: "přibližně před 1 hodinou", + future: "přibližně za 1 hodinu", + }, + few: { + regular: "přibližně {{count}} hodiny", + past: "přibližně před {{count}} hodinami", + future: "přibližně za {{count}} hodiny", + }, + many: { + regular: "přibližně {{count}} hodin", + past: "přibližně před {{count}} hodinami", + future: "přibližně za {{count}} hodin", + }, + }, + + xHours: { + one: { + regular: "1 hodina", + past: "před 1 hodinou", + future: "za 1 hodinu", + }, + few: { + regular: "{{count}} hodiny", + past: "před {{count}} hodinami", + future: "za {{count}} hodiny", + }, + many: { + regular: "{{count}} hodin", + past: "před {{count}} hodinami", + future: "za {{count}} hodin", + }, + }, + + xDays: { + one: { + regular: "1 den", + past: "před 1 dnem", + future: "za 1 den", + }, + few: { + regular: "{{count}} dny", + past: "před {{count}} dny", + future: "za {{count}} dny", + }, + many: { + regular: "{{count}} dní", + past: "před {{count}} dny", + future: "za {{count}} dní", + }, + }, + + aboutXWeeks: { + one: { + regular: "přibližně 1 týden", + past: "přibližně před 1 týdnem", + future: "přibližně za 1 týden", + }, + + few: { + regular: "přibližně {{count}} týdny", + past: "přibližně před {{count}} týdny", + future: "přibližně za {{count}} týdny", + }, + + many: { + regular: "přibližně {{count}} týdnů", + past: "přibližně před {{count}} týdny", + future: "přibližně za {{count}} týdnů", + }, + }, + + xWeeks: { + one: { + regular: "1 týden", + past: "před 1 týdnem", + future: "za 1 týden", + }, + + few: { + regular: "{{count}} týdny", + past: "před {{count}} týdny", + future: "za {{count}} týdny", + }, + + many: { + regular: "{{count}} týdnů", + past: "před {{count}} týdny", + future: "za {{count}} týdnů", + }, + }, + + aboutXMonths: { + one: { + regular: "přibližně 1 měsíc", + past: "přibližně před 1 měsícem", + future: "přibližně za 1 měsíc", + }, + + few: { + regular: "přibližně {{count}} měsíce", + past: "přibližně před {{count}} měsíci", + future: "přibližně za {{count}} měsíce", + }, + + many: { + regular: "přibližně {{count}} měsíců", + past: "přibližně před {{count}} měsíci", + future: "přibližně za {{count}} měsíců", + }, + }, + + xMonths: { + one: { + regular: "1 měsíc", + past: "před 1 měsícem", + future: "za 1 měsíc", + }, + + few: { + regular: "{{count}} měsíce", + past: "před {{count}} měsíci", + future: "za {{count}} měsíce", + }, + + many: { + regular: "{{count}} měsíců", + past: "před {{count}} měsíci", + future: "za {{count}} měsíců", + }, + }, + + aboutXYears: { + one: { + regular: "přibližně 1 rok", + past: "přibližně před 1 rokem", + future: "přibližně za 1 rok", + }, + few: { + regular: "přibližně {{count}} roky", + past: "přibližně před {{count}} roky", + future: "přibližně za {{count}} roky", + }, + many: { + regular: "přibližně {{count}} roků", + past: "přibližně před {{count}} roky", + future: "přibližně za {{count}} roků", + }, + }, + + xYears: { + one: { + regular: "1 rok", + past: "před 1 rokem", + future: "za 1 rok", + }, + few: { + regular: "{{count}} roky", + past: "před {{count}} roky", + future: "za {{count}} roky", + }, + many: { + regular: "{{count}} roků", + past: "před {{count}} roky", + future: "za {{count}} roků", + }, + }, + + overXYears: { + one: { + regular: "více než 1 rok", + past: "před více než 1 rokem", + future: "za více než 1 rok", + }, + few: { + regular: "více než {{count}} roky", + past: "před více než {{count}} roky", + future: "za více než {{count}} roky", + }, + many: { + regular: "více než {{count}} roků", + past: "před více než {{count}} roky", + future: "za více než {{count}} roků", + }, + }, + + almostXYears: { + one: { + regular: "skoro 1 rok", + past: "skoro před 1 rokem", + future: "skoro za 1 rok", + }, + few: { + regular: "skoro {{count}} roky", + past: "skoro před {{count}} roky", + future: "skoro za {{count}} roky", + }, + many: { + regular: "skoro {{count}} roků", + past: "skoro před {{count}} roky", + future: "skoro za {{count}} roků", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + let pluralResult; + + const tokenValue = formatDistanceLocale[token]; + + // cs pluralization + if (tokenValue.type === "other") { + pluralResult = tokenValue.other; + } else if (count === 1) { + pluralResult = tokenValue.one; + } else if (count > 1 && count < 5) { + pluralResult = tokenValue.few; + } else { + pluralResult = tokenValue.many; + } + + // times + const suffixExist = options?.addSuffix === true; + const comparison = options?.comparison; + + let timeResult; + if (suffixExist && comparison === -1) { + timeResult = pluralResult.past; + } else if (suffixExist && comparison === 1) { + timeResult = pluralResult.future; + } else { + timeResult = pluralResult.regular; + } + + return timeResult.replace("{{count}}", String(count)); +}; diff --git a/.output/server/node_modules/date-fns/locale/cs/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/cs/_lib/formatLong.js new file mode 100644 index 00000000..e09b02fa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM yyyy", + long: "d. MMMM yyyy", + medium: "d. M. yyyy", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'v' {{time}}", + long: "{{date}} 'v' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cs/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/cs/_lib/formatRelative.js new file mode 100644 index 00000000..536bc09e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs/_lib/formatRelative.js @@ -0,0 +1,31 @@ +const accusativeWeekdays = [ + "neděli", + "pondělí", + "úterý", + "středu", + "čtvrtek", + "pátek", + "sobotu", +]; + +const formatRelativeLocale = { + lastWeek: "'poslední' eeee 've' p", + yesterday: "'včera v' p", + today: "'dnes v' p", + tomorrow: "'zítra v' p", + nextWeek: (date) => { + const day = date.getDay(); + return "'v " + accusativeWeekdays[day] + " o' p"; + }, + other: "P", +}; + +export const formatRelative = (token, date) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/cs/_lib/localize.js b/.output/server/node_modules/date-fns/locale/cs/_lib/localize.js new file mode 100644 index 00000000..ee1f6abe --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs/_lib/localize.js @@ -0,0 +1,192 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["př. n. l.", "n. l."], + abbreviated: ["př. n. l.", "n. l."], + wide: ["před naším letopočtem", "našeho letopočtu"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1. čtvrtletí", "2. čtvrtletí", "3. čtvrtletí", "4. čtvrtletí"], + + wide: ["1. čtvrtletí", "2. čtvrtletí", "3. čtvrtletí", "4. čtvrtletí"], +}; + +const monthValues = { + narrow: ["L", "Ú", "B", "D", "K", "Č", "Č", "S", "Z", "Ř", "L", "P"], + abbreviated: [ + "led", + "úno", + "bře", + "dub", + "kvě", + "čvn", + "čvc", + "srp", + "zář", + "říj", + "lis", + "pro", + ], + + wide: [ + "leden", + "únor", + "březen", + "duben", + "květen", + "červen", + "červenec", + "srpen", + "září", + "říjen", + "listopad", + "prosinec", + ], +}; + +const formattingMonthValues = { + narrow: ["L", "Ú", "B", "D", "K", "Č", "Č", "S", "Z", "Ř", "L", "P"], + abbreviated: [ + "led", + "úno", + "bře", + "dub", + "kvě", + "čvn", + "čvc", + "srp", + "zář", + "říj", + "lis", + "pro", + ], + + wide: [ + "ledna", + "února", + "března", + "dubna", + "května", + "června", + "července", + "srpna", + "září", + "října", + "listopadu", + "prosince", + ], +}; + +const dayValues = { + narrow: ["ne", "po", "út", "st", "čt", "pá", "so"], + short: ["ne", "po", "út", "st", "čt", "pá", "so"], + abbreviated: ["ned", "pon", "úte", "stř", "čtv", "pát", "sob"], + wide: ["neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"], +}; + +const dayPeriodValues = { + narrow: { + am: "dop.", + pm: "odp.", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, + abbreviated: { + am: "dop.", + pm: "odp.", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, + wide: { + am: "dopoledne", + pm: "odpoledne", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "dop.", + pm: "odp.", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, + abbreviated: { + am: "dop.", + pm: "odp.", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, + wide: { + am: "dopoledne", + pm: "odpoledne", + midnight: "půlnoc", + noon: "poledne", + morning: "ráno", + afternoon: "odpoledne", + evening: "večer", + night: "noc", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cs/_lib/match.js b/.output/server/node_modules/date-fns/locale/cs/_lib/match.js new file mode 100644 index 00000000..ebafd3a1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cs/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(p[řr](\.|ed) Kr\.|p[řr](\.|ed) n\. l\.|po Kr\.|n\. l\.)/i, + abbreviated: /^(p[řr](\.|ed) Kr\.|p[řr](\.|ed) n\. l\.|po Kr\.|n\. l\.)/i, + wide: /^(p[řr](\.|ed) Kristem|p[řr](\.|ed) na[šs][íi]m letopo[čc]tem|po Kristu|na[šs]eho letopo[čc]tu)/i, +}; + +const parseEraPatterns = { + any: [/^p[řr]/i, /^(po|n)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\. [čc]tvrtlet[íi]/i, + wide: /^[1234]\. [čc]tvrtlet[íi]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[lúubdkčcszřrlp]/i, + abbreviated: + /^(led|[úu]no|b[řr]e|dub|kv[ěe]|[čc]vn|[čc]vc|srp|z[áa][řr]|[řr][íi]j|lis|pro)/i, + wide: /^(leden|ledna|[úu]nora?|b[řr]ezen|b[řr]ezna|duben|dubna|kv[ěe]ten|kv[ěe]tna|[čc]erven(ec|ce)?|[čc]ervna|srpen|srpna|z[áa][řr][íi]|[řr][íi]jen|[řr][íi]jna|listopad(a|u)?|prosinec|prosince)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^l/i, + /^[úu]/i, + /^b/i, + /^d/i, + /^k/i, + /^[čc]/i, + /^[čc]/i, + /^s/i, + /^z/i, + /^[řr]/i, + /^l/i, + /^p/i, + ], + + any: [ + /^led/i, + /^[úu]n/i, + /^b[řr]e/i, + /^dub/i, + /^kv[ěe]/i, + /^[čc]vn|[čc]erven(?!\w)|[čc]ervna/i, + /^[čc]vc|[čc]erven(ec|ce)/i, + /^srp/i, + /^z[áa][řr]/i, + /^[řr][íi]j/i, + /^lis/i, + /^pro/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npuúsčps]/i, + short: /^(ne|po|[úu]t|st|[čc]t|p[áa]|so)/i, + abbreviated: /^(ned|pon|[úu]te|st[rř]|[čc]tv|p[áa]t|sob)/i, + wide: /^(ned[ěe]le|pond[ěe]l[íi]|[úu]ter[ýy]|st[řr]eda|[čc]tvrtek|p[áa]tek|sobota)/i, +}; + +const parseDayPatterns = { + narrow: [/^n/i, /^p/i, /^[úu]/i, /^s/i, /^[čc]/i, /^p/i, /^s/i], + any: [/^ne/i, /^po/i, /^[úu]t/i, /^st/i, /^[čc]t/i, /^p[áa]/i, /^so/i], +}; + +const matchDayPeriodPatterns = { + any: /^dopoledne|dop\.?|odpoledne|odp\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^dop/i, + pm: /^odp/i, + midnight: /^p[ůu]lnoc/i, + noon: /^poledne/i, + morning: /r[áa]no/i, + afternoon: /odpoledne/i, + evening: /ve[čc]er/i, + night: /noc/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cy.js b/.output/server/node_modules/date-fns/locale/cy.js new file mode 100644 index 00000000..eb5cbd13 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./cy/_lib/formatDistance.js"; +import { formatLong } from "./cy/_lib/formatLong.js"; +import { formatRelative } from "./cy/_lib/formatRelative.js"; +import { localize } from "./cy/_lib/localize.js"; +import { match } from "./cy/_lib/match.js"; + +/** + * @category Locales + * @summary Welsh locale. + * @language Welsh + * @iso-639-2 cym + * @author Elwyn Malethan [@elmomalmo](https://github.com/elmomalmo) + */ +export const cy = { + code: "cy", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default cy; diff --git a/.output/server/node_modules/date-fns/locale/cy/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/cy/_lib/formatDistance.js new file mode 100644 index 00000000..52394d24 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy/_lib/formatDistance.js @@ -0,0 +1,114 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "llai na eiliad", + other: "llai na {{count}} eiliad", + }, + + xSeconds: { + one: "1 eiliad", + other: "{{count}} eiliad", + }, + + halfAMinute: "hanner munud", + + lessThanXMinutes: { + one: "llai na munud", + two: "llai na 2 funud", + other: "llai na {{count}} munud", + }, + + xMinutes: { + one: "1 munud", + two: "2 funud", + other: "{{count}} munud", + }, + + aboutXHours: { + one: "tua 1 awr", + other: "tua {{count}} awr", + }, + + xHours: { + one: "1 awr", + other: "{{count}} awr", + }, + + xDays: { + one: "1 diwrnod", + two: "2 ddiwrnod", + other: "{{count}} diwrnod", + }, + + aboutXWeeks: { + one: "tua 1 wythnos", + two: "tua pythefnos", + other: "tua {{count}} wythnos", + }, + + xWeeks: { + one: "1 wythnos", + two: "pythefnos", + other: "{{count}} wythnos", + }, + + aboutXMonths: { + one: "tua 1 mis", + two: "tua 2 fis", + other: "tua {{count}} mis", + }, + + xMonths: { + one: "1 mis", + two: "2 fis", + other: "{{count}} mis", + }, + + aboutXYears: { + one: "tua 1 flwyddyn", + two: "tua 2 flynedd", + other: "tua {{count}} mlynedd", + }, + + xYears: { + one: "1 flwyddyn", + two: "2 flynedd", + other: "{{count}} mlynedd", + }, + + overXYears: { + one: "dros 1 flwyddyn", + two: "dros 2 flynedd", + other: "dros {{count}} mlynedd", + }, + + almostXYears: { + one: "bron 1 flwyddyn", + two: "bron 2 flynedd", + other: "bron {{count}} mlynedd", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2 && !!tokenValue.two) { + result = tokenValue.two; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "mewn " + result; + } else { + return result + " yn ôl"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/cy/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/cy/_lib/formatLong.js new file mode 100644 index 00000000..b3a3dbde --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'am' {{time}}", + long: "{{date}} 'am' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cy/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/cy/_lib/formatRelative.js new file mode 100644 index 00000000..3a5f13e6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'diwethaf am' p", + yesterday: "'ddoe am' p", + today: "'heddiw am' p", + tomorrow: "'yfory am' p", + nextWeek: "eeee 'am' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/cy/_lib/localize.js b/.output/server/node_modules/date-fns/locale/cy/_lib/localize.js new file mode 100644 index 00000000..3b00d46b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy/_lib/localize.js @@ -0,0 +1,203 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["C", "O"], + abbreviated: ["CC", "OC"], + wide: ["Cyn Crist", "Ar ôl Crist"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Ch1", "Ch2", "Ch3", "Ch4"], + wide: ["Chwarter 1af", "2ail chwarter", "3ydd chwarter", "4ydd chwarter"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["I", "Ch", "Ma", "E", "Mi", "Me", "G", "A", "Md", "H", "T", "Rh"], + + abbreviated: [ + "Ion", + "Chwe", + "Maw", + "Ebr", + "Mai", + "Meh", + "Gor", + "Aws", + "Med", + "Hyd", + "Tach", + "Rhag", + ], + + wide: [ + "Ionawr", + "Chwefror", + "Mawrth", + "Ebrill", + "Mai", + "Mehefin", + "Gorffennaf", + "Awst", + "Medi", + "Hydref", + "Tachwedd", + "Rhagfyr", + ], +}; + +const dayValues = { + narrow: ["S", "Ll", "M", "M", "I", "G", "S"], + short: ["Su", "Ll", "Ma", "Me", "Ia", "Gw", "Sa"], + abbreviated: ["Sul", "Llun", "Maw", "Mer", "Iau", "Gwe", "Sad"], + wide: [ + "dydd Sul", + "dydd Llun", + "dydd Mawrth", + "dydd Mercher", + "dydd Iau", + "dydd Gwener", + "dydd Sadwrn", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "b", + pm: "h", + midnight: "hn", + noon: "hd", + morning: "bore", + afternoon: "prynhawn", + evening: "gyda'r nos", + night: "nos", + }, + abbreviated: { + am: "yb", + pm: "yh", + midnight: "hanner nos", + noon: "hanner dydd", + morning: "bore", + afternoon: "prynhawn", + evening: "gyda'r nos", + night: "nos", + }, + wide: { + am: "y.b.", + pm: "y.h.", + midnight: "hanner nos", + noon: "hanner dydd", + morning: "bore", + afternoon: "prynhawn", + evening: "gyda'r nos", + night: "nos", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "b", + pm: "h", + midnight: "hn", + noon: "hd", + morning: "yn y bore", + afternoon: "yn y prynhawn", + evening: "gyda'r nos", + night: "yn y nos", + }, + abbreviated: { + am: "yb", + pm: "yh", + midnight: "hanner nos", + noon: "hanner dydd", + morning: "yn y bore", + afternoon: "yn y prynhawn", + evening: "gyda'r nos", + night: "yn y nos", + }, + wide: { + am: "y.b.", + pm: "y.h.", + midnight: "hanner nos", + noon: "hanner dydd", + morning: "yn y bore", + afternoon: "yn y prynhawn", + evening: "gyda'r nos", + night: "yn y nos", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + if (number < 20) { + switch (number) { + case 0: + return number + "fed"; + case 1: + return number + "af"; + case 2: + return number + "ail"; + case 3: + case 4: + return number + "ydd"; + case 5: + case 6: + return number + "ed"; + case 7: + case 8: + case 9: + case 10: + case 12: + case 15: + case 18: + return number + "fed"; + case 11: + case 13: + case 14: + case 16: + case 17: + case 19: + return number + "eg"; + } + } else if ((number >= 50 && number <= 60) || number === 80 || number >= 100) { + return number + "fed"; + } + return number + "ain"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/cy/_lib/match.js b/.output/server/node_modules/date-fns/locale/cy/_lib/match.js new file mode 100644 index 00000000..d41b1e14 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/cy/_lib/match.js @@ -0,0 +1,143 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(af|ail|ydd|ed|fed|eg|ain)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(c|o)/i, + abbreviated: /^(c\.?\s?c\.?|o\.?\s?c\.?)/i, + wide: /^(cyn christ|ar ôl crist|ar ol crist)/i, +}; +const parseEraPatterns = { + wide: [/^c/i, /^(ar ôl crist|ar ol crist)/i], + any: [/^c/i, /^o/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ch[1234]/i, + wide: /^(chwarter 1af)|([234](ail|ydd)? chwarter)/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(i|ch|m|e|g|a|h|t|rh)/i, + abbreviated: /^(ion|chwe|maw|ebr|mai|meh|gor|aws|med|hyd|tach|rhag)/i, + wide: /^(ionawr|chwefror|mawrth|ebrill|mai|mehefin|gorffennaf|awst|medi|hydref|tachwedd|rhagfyr)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^i/i, + /^ch/i, + /^m/i, + /^e/i, + /^m/i, + /^m/i, + /^g/i, + /^a/i, + /^m/i, + /^h/i, + /^t/i, + /^rh/i, + ], + + any: [ + /^io/i, + /^ch/i, + /^maw/i, + /^e/i, + /^mai/i, + /^meh/i, + /^g/i, + /^a/i, + /^med/i, + /^h/i, + /^t/i, + /^rh/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(s|ll|m|i|g)/i, + short: /^(su|ll|ma|me|ia|gw|sa)/i, + abbreviated: /^(sul|llun|maw|mer|iau|gwe|sad)/i, + wide: /^dydd (sul|llun|mawrth|mercher|iau|gwener|sadwrn)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^ll/i, /^m/i, /^m/i, /^i/i, /^g/i, /^s/i], + wide: [ + /^dydd su/i, + /^dydd ll/i, + /^dydd ma/i, + /^dydd me/i, + /^dydd i/i, + /^dydd g/i, + /^dydd sa/i, + ], + + any: [/^su/i, /^ll/i, /^ma/i, /^me/i, /^i/i, /^g/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(b|h|hn|hd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i, + any: /^(y\.?\s?[bh]\.?|hanner nos|hanner dydd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^b|(y\.?\s?b\.?)/i, + pm: /^h|(y\.?\s?h\.?)|(yr hwyr)/i, + midnight: /^hn|hanner nos/i, + noon: /^hd|hanner dydd/i, + morning: /bore/i, + afternoon: /prynhawn/i, + evening: /^gyda'r nos$/i, + night: /blah/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/da.js b/.output/server/node_modules/date-fns/locale/da.js new file mode 100644 index 00000000..3e870705 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da.js @@ -0,0 +1,31 @@ +import { formatDistance } from "./da/_lib/formatDistance.js"; +import { formatLong } from "./da/_lib/formatLong.js"; +import { formatRelative } from "./da/_lib/formatRelative.js"; +import { localize } from "./da/_lib/localize.js"; +import { match } from "./da/_lib/match.js"; + +/** + * @category Locales + * @summary Danish locale. + * @language Danish + * @iso-639-2 dan + * @author Mathias Wøbbe [@MathiasKandelborg](https://github.com/MathiasKandelborg) + * @author Anders B. Hansen [@Andersbiha](https://github.com/Andersbiha) + * @author [@kgram](https://github.com/kgram) + * @author [@stefanbugge](https://github.com/stefanbugge) + */ +export const da = { + code: "da", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default da; diff --git a/.output/server/node_modules/date-fns/locale/da/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/da/_lib/formatDistance.js new file mode 100644 index 00000000..4070ddae --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mindre end ét sekund", + other: "mindre end {{count}} sekunder", + }, + + xSeconds: { + one: "1 sekund", + other: "{{count}} sekunder", + }, + + halfAMinute: "ét halvt minut", + + lessThanXMinutes: { + one: "mindre end ét minut", + other: "mindre end {{count}} minutter", + }, + + xMinutes: { + one: "1 minut", + other: "{{count}} minutter", + }, + + aboutXHours: { + one: "cirka 1 time", + other: "cirka {{count}} timer", + }, + + xHours: { + one: "1 time", + other: "{{count}} timer", + }, + + xDays: { + one: "1 dag", + other: "{{count}} dage", + }, + + aboutXWeeks: { + one: "cirka 1 uge", + other: "cirka {{count}} uger", + }, + + xWeeks: { + one: "1 uge", + other: "{{count}} uger", + }, + + aboutXMonths: { + one: "cirka 1 måned", + other: "cirka {{count}} måneder", + }, + + xMonths: { + one: "1 måned", + other: "{{count}} måneder", + }, + + aboutXYears: { + one: "cirka 1 år", + other: "cirka {{count}} år", + }, + + xYears: { + one: "1 år", + other: "{{count}} år", + }, + + overXYears: { + one: "over 1 år", + other: "over {{count}} år", + }, + + almostXYears: { + one: "næsten 1 år", + other: "næsten {{count}} år", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "om " + result; + } else { + return result + " siden"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/da/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/da/_lib/formatLong.js new file mode 100644 index 00000000..a16880a5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE 'den' d. MMMM y", + long: "d. MMMM y", + medium: "d. MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kl'. {{time}}", + long: "{{date}} 'kl'. {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/da/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/da/_lib/formatRelative.js new file mode 100644 index 00000000..0fe44303 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'sidste' eeee 'kl.' p", + yesterday: "'i går kl.' p", + today: "'i dag kl.' p", + tomorrow: "'i morgen kl.' p", + nextWeek: "'på' eeee 'kl.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/da/_lib/localize.js b/.output/server/node_modules/date-fns/locale/da/_lib/localize.js new file mode 100644 index 00000000..4c8e71f9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da/_lib/localize.js @@ -0,0 +1,168 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["fvt", "vt"], + abbreviated: ["f.v.t.", "v.t."], + wide: ["før vesterlandsk tidsregning", "vesterlandsk tidsregning"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1. kvt.", "2. kvt.", "3. kvt.", "4. kvt."], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mar.", + "apr.", + "maj", + "jun.", + "jul.", + "aug.", + "sep.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "januar", + "februar", + "marts", + "april", + "maj", + "juni", + "juli", + "august", + "september", + "oktober", + "november", + "december", + ], +}; + +// Note that 'Days - abbreviated - Formatting' has periods at the end. +// https://www.unicode.org/cldr/charts/32/summary/da.html#1760 +// This makes grammatical sense in danish, as most abbreviations have periods. +const dayValues = { + narrow: ["S", "M", "T", "O", "T", "F", "L"], + short: ["sø", "ma", "ti", "on", "to", "fr", "lø"], + abbreviated: ["søn.", "man.", "tir.", "ons.", "tor.", "fre.", "lør."], + + wide: [ + "søndag", + "mandag", + "tirsdag", + "onsdag", + "torsdag", + "fredag", + "lørdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "midnat", + noon: "middag", + morning: "morgen", + afternoon: "eftermiddag", + evening: "aften", + night: "nat", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnat", + noon: "middag", + morning: "morgen", + afternoon: "eftermiddag", + evening: "aften", + night: "nat", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnat", + noon: "middag", + morning: "morgen", + afternoon: "eftermiddag", + evening: "aften", + night: "nat", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "midnat", + noon: "middag", + morning: "om morgenen", + afternoon: "om eftermiddagen", + evening: "om aftenen", + night: "om natten", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnat", + noon: "middag", + morning: "om morgenen", + afternoon: "om eftermiddagen", + evening: "om aftenen", + night: "om natten", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnat", + noon: "middag", + morning: "om morgenen", + afternoon: "om eftermiddagen", + evening: "om aftenen", + night: "om natten", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/da/_lib/match.js b/.output/server/node_modules/date-fns/locale/da/_lib/match.js new file mode 100644 index 00000000..6e54251c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/da/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(fKr|fvt|eKr|vt)/i, + abbreviated: /^(f\.Kr\.?|f\.v\.t\.?|e\.Kr\.?|v\.t\.)/i, + wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i, +}; +const parseEraPatterns = { + any: [/^f/i, /^(v|e)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]. kvt\./i, + wide: /^[1234]\.? kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i, + wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtofl]/i, + short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i, + abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i, + wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i], + any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i, + any: /^([ap]\.?\s?m\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /midnat/i, + noon: /middag/i, + morning: /morgen/i, + afternoon: /eftermiddag/i, + evening: /aften/i, + night: /nat/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/de-AT.js b/.output/server/node_modules/date-fns/locale/de-AT.js new file mode 100644 index 00000000..6b203e2d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de-AT.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./de/_lib/formatDistance.js"; +import { formatLong } from "./de/_lib/formatLong.js"; +import { formatRelative } from "./de/_lib/formatRelative.js"; +import { match } from "./de/_lib/match.js"; + +// difference to 'de' locale +import { localize } from "./de-AT/_lib/localize.js"; + +/** + * @category Locales + * @summary German locale (Austria). + * @language German + * @iso-639-2 deu + * @author Christoph Tobias Stenglein [@cstenglein](https://github.com/cstenglein) + */ +export const deAT = { + code: "de-AT", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default deAT; diff --git a/.output/server/node_modules/date-fns/locale/de-AT/_lib/localize.js b/.output/server/node_modules/date-fns/locale/de-AT/_lib/localize.js new file mode 100644 index 00000000..5d773698 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de-AT/_lib/localize.js @@ -0,0 +1,190 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["v.Chr.", "n.Chr."], + abbreviated: ["v.Chr.", "n.Chr."], + wide: ["vor Christus", "nach Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal"], +}; + +// Note: in German, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jän", + "Feb", + "Mär", + "Apr", + "Mai", + "Jun", + "Jul", + "Aug", + "Sep", + "Okt", + "Nov", + "Dez", + ], + + wide: [ + "Jänner", + "Februar", + "März", + "April", + "Mai", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Dezember", + ], +}; + +// https://st.unicode.org/cldr-apps/v#/de_AT/Gregorian/ +const formattingMonthValues = { + narrow: monthValues.narrow, + abbreviated: [ + "Jän.", + "Feb.", + "März", + "Apr.", + "Mai", + "Juni", + "Juli", + "Aug.", + "Sep.", + "Okt.", + "Nov.", + "Dez.", + ], + + wide: monthValues.wide, +}; + +const dayValues = { + narrow: ["S", "M", "D", "M", "D", "F", "S"], + short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + abbreviated: ["So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."], + wide: [ + "Sonntag", + "Montag", + "Dienstag", + "Mittwoch", + "Donnerstag", + "Freitag", + "Samstag", + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/de.html#1881 +const dayPeriodValues = { + narrow: { + am: "vm.", + pm: "nm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachm.", + evening: "Abend", + night: "Nacht", + }, + abbreviated: { + am: "vorm.", + pm: "nachm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachmittag", + evening: "Abend", + night: "Nacht", + }, + wide: { + am: "vormittags", + pm: "nachmittags", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachmittag", + evening: "Abend", + night: "Nacht", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "vm.", + pm: "nm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachm.", + evening: "abends", + night: "nachts", + }, + abbreviated: { + am: "vorm.", + pm: "nachm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachmittags", + evening: "abends", + night: "nachts", + }, + wide: { + am: "vormittags", + pm: "nachmittags", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachmittags", + evening: "abends", + night: "nachts", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + formattingValues: formattingMonthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/de.js b/.output/server/node_modules/date-fns/locale/de.js new file mode 100644 index 00000000..31ede2cc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de.js @@ -0,0 +1,32 @@ +import { formatDistance } from "./de/_lib/formatDistance.js"; +import { formatLong } from "./de/_lib/formatLong.js"; +import { formatRelative } from "./de/_lib/formatRelative.js"; +import { localize } from "./de/_lib/localize.js"; +import { match } from "./de/_lib/match.js"; + +/** + * @category Locales + * @summary German locale. + * @language German + * @iso-639-2 deu + * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu) + * @author Asia [@asia-t](https://github.com/asia-t) + * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo) + * @author RomanErnst [@pex](https://github.com/pex) + * @author Philipp Keck [@Philipp91](https://github.com/Philipp91) + */ +export const de = { + code: "de", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default de; diff --git a/.output/server/node_modules/date-fns/locale/de/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/de/_lib/formatDistance.js new file mode 100644 index 00000000..bf23ff8b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de/_lib/formatDistance.js @@ -0,0 +1,196 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + standalone: { + one: "weniger als 1 Sekunde", + other: "weniger als {{count}} Sekunden", + }, + withPreposition: { + one: "weniger als 1 Sekunde", + other: "weniger als {{count}} Sekunden", + }, + }, + + xSeconds: { + standalone: { + one: "1 Sekunde", + other: "{{count}} Sekunden", + }, + withPreposition: { + one: "1 Sekunde", + other: "{{count}} Sekunden", + }, + }, + + halfAMinute: { + standalone: "eine halbe Minute", + withPreposition: "einer halben Minute", + }, + + lessThanXMinutes: { + standalone: { + one: "weniger als 1 Minute", + other: "weniger als {{count}} Minuten", + }, + withPreposition: { + one: "weniger als 1 Minute", + other: "weniger als {{count}} Minuten", + }, + }, + + xMinutes: { + standalone: { + one: "1 Minute", + other: "{{count}} Minuten", + }, + withPreposition: { + one: "1 Minute", + other: "{{count}} Minuten", + }, + }, + + aboutXHours: { + standalone: { + one: "etwa 1 Stunde", + other: "etwa {{count}} Stunden", + }, + withPreposition: { + one: "etwa 1 Stunde", + other: "etwa {{count}} Stunden", + }, + }, + + xHours: { + standalone: { + one: "1 Stunde", + other: "{{count}} Stunden", + }, + withPreposition: { + one: "1 Stunde", + other: "{{count}} Stunden", + }, + }, + + xDays: { + standalone: { + one: "1 Tag", + other: "{{count}} Tage", + }, + withPreposition: { + one: "1 Tag", + other: "{{count}} Tagen", + }, + }, + + aboutXWeeks: { + standalone: { + one: "etwa 1 Woche", + other: "etwa {{count}} Wochen", + }, + withPreposition: { + one: "etwa 1 Woche", + other: "etwa {{count}} Wochen", + }, + }, + + xWeeks: { + standalone: { + one: "1 Woche", + other: "{{count}} Wochen", + }, + withPreposition: { + one: "1 Woche", + other: "{{count}} Wochen", + }, + }, + + aboutXMonths: { + standalone: { + one: "etwa 1 Monat", + other: "etwa {{count}} Monate", + }, + withPreposition: { + one: "etwa 1 Monat", + other: "etwa {{count}} Monaten", + }, + }, + + xMonths: { + standalone: { + one: "1 Monat", + other: "{{count}} Monate", + }, + withPreposition: { + one: "1 Monat", + other: "{{count}} Monaten", + }, + }, + + aboutXYears: { + standalone: { + one: "etwa 1 Jahr", + other: "etwa {{count}} Jahre", + }, + withPreposition: { + one: "etwa 1 Jahr", + other: "etwa {{count}} Jahren", + }, + }, + + xYears: { + standalone: { + one: "1 Jahr", + other: "{{count}} Jahre", + }, + withPreposition: { + one: "1 Jahr", + other: "{{count}} Jahren", + }, + }, + + overXYears: { + standalone: { + one: "mehr als 1 Jahr", + other: "mehr als {{count}} Jahre", + }, + withPreposition: { + one: "mehr als 1 Jahr", + other: "mehr als {{count}} Jahren", + }, + }, + + almostXYears: { + standalone: { + one: "fast 1 Jahr", + other: "fast {{count}} Jahre", + }, + withPreposition: { + one: "fast 1 Jahr", + other: "fast {{count}} Jahren", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = options?.addSuffix + ? formatDistanceLocale[token].withPreposition + : formatDistanceLocale[token].standalone; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "in " + result; + } else { + return "vor " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/de/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/de/_lib/formatLong.js new file mode 100644 index 00000000..43abf1bc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de/_lib/formatLong.js @@ -0,0 +1,40 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008 +const dateFormats = { + full: "EEEE, do MMMM y", // Montag, 7. Januar 2018 + long: "do MMMM y", // 7. Januar 2018 + medium: "do MMM y", // 7. Jan. 2018 + short: "dd.MM.y", // 07.01.2018 +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'um' {{time}}", + long: "{{date}} 'um' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/de/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/de/_lib/formatRelative.js new file mode 100644 index 00000000..b3104513 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'letzten' eeee 'um' p", + yesterday: "'gestern um' p", + today: "'heute um' p", + tomorrow: "'morgen um' p", + nextWeek: "eeee 'um' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/de/_lib/localize.js b/.output/server/node_modules/date-fns/locale/de/_lib/localize.js new file mode 100644 index 00000000..626466b7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de/_lib/localize.js @@ -0,0 +1,191 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["v.Chr.", "n.Chr."], + abbreviated: ["v.Chr.", "n.Chr."], + wide: ["vor Christus", "nach Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal"], +}; + +// Note: in German, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mär", + "Apr", + "Mai", + "Jun", + "Jul", + "Aug", + "Sep", + "Okt", + "Nov", + "Dez", + ], + + wide: [ + "Januar", + "Februar", + "März", + "April", + "Mai", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Dezember", + ], +}; + +// https://st.unicode.org/cldr-apps/v#/de/Gregorian/ +const formattingMonthValues = { + narrow: monthValues.narrow, + abbreviated: [ + "Jan.", + "Feb.", + "März", + "Apr.", + "Mai", + "Juni", + "Juli", + "Aug.", + "Sep.", + "Okt.", + "Nov.", + "Dez.", + ], + + wide: monthValues.wide, +}; + +const dayValues = { + narrow: ["S", "M", "D", "M", "D", "F", "S"], + short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + abbreviated: ["So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."], + wide: [ + "Sonntag", + "Montag", + "Dienstag", + "Mittwoch", + "Donnerstag", + "Freitag", + "Samstag", + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/de.html#1881 +const dayPeriodValues = { + narrow: { + am: "vm.", + pm: "nm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachm.", + evening: "Abend", + night: "Nacht", + }, + abbreviated: { + am: "vorm.", + pm: "nachm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachmittag", + evening: "Abend", + night: "Nacht", + }, + wide: { + am: "vormittags", + pm: "nachmittags", + midnight: "Mitternacht", + noon: "Mittag", + morning: "Morgen", + afternoon: "Nachmittag", + evening: "Abend", + night: "Nacht", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "vm.", + pm: "nm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachm.", + evening: "abends", + night: "nachts", + }, + abbreviated: { + am: "vorm.", + pm: "nachm.", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachmittags", + evening: "abends", + night: "nachts", + }, + wide: { + am: "vormittags", + pm: "nachmittags", + midnight: "Mitternacht", + noon: "Mittag", + morning: "morgens", + afternoon: "nachmittags", + evening: "abends", + night: "nachts", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + formattingValues: formattingMonthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/de/_lib/match.js b/.output/server/node_modules/date-fns/locale/de/_lib/match.js new file mode 100644 index 00000000..27651e56 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/de/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + abbreviated: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i, +}; +const parseEraPatterns = { + any: [/^v/i, /^n/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? Quartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i, + wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^j[aä]/i, + /^f/i, + /^mär/i, + /^ap/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smdmf]/i, + short: /^(so|mo|di|mi|do|fr|sa)/i, + abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i, + wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i, +}; +const parseDayPatterns = { + any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i, + abbreviated: + /^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i, + wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^v/i, + pm: /^n/i, + midnight: /^Mitte/i, + noon: /^Mitta/i, + morning: /morgens/i, + afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm` + evening: /abends/i, + night: /nachts/i, // will never be matched. Night is matched by `pm` + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/el.js b/.output/server/node_modules/date-fns/locale/el.js new file mode 100644 index 00000000..48434cd2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./el/_lib/formatDistance.js"; +import { formatLong } from "./el/_lib/formatLong.js"; +import { formatRelative } from "./el/_lib/formatRelative.js"; +import { localize } from "./el/_lib/localize.js"; +import { match } from "./el/_lib/match.js"; + +/** + * @category Locales + * @summary Greek locale. + * @language Greek + * @iso-639-2 ell + * @author Fanis Katsimpas [@fanixk](https://github.com/fanixk) + * @author Theodoros Orfanidis [@teoulas](https://github.com/teoulas) + */ +export const el = { + code: "el", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default el; diff --git a/.output/server/node_modules/date-fns/locale/el/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/el/_lib/formatDistance.js new file mode 100644 index 00000000..f53bd76d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "λιγότερο από ένα δευτερόλεπτο", + other: "λιγότερο από {{count}} δευτερόλεπτα", + }, + + xSeconds: { + one: "1 δευτερόλεπτο", + other: "{{count}} δευτερόλεπτα", + }, + + halfAMinute: "μισό λεπτό", + + lessThanXMinutes: { + one: "λιγότερο από ένα λεπτό", + other: "λιγότερο από {{count}} λεπτά", + }, + + xMinutes: { + one: "1 λεπτό", + other: "{{count}} λεπτά", + }, + + aboutXHours: { + one: "περίπου 1 ώρα", + other: "περίπου {{count}} ώρες", + }, + + xHours: { + one: "1 ώρα", + other: "{{count}} ώρες", + }, + + xDays: { + one: "1 ημέρα", + other: "{{count}} ημέρες", + }, + + aboutXWeeks: { + one: "περίπου 1 εβδομάδα", + other: "περίπου {{count}} εβδομάδες", + }, + + xWeeks: { + one: "1 εβδομάδα", + other: "{{count}} εβδομάδες", + }, + + aboutXMonths: { + one: "περίπου 1 μήνας", + other: "περίπου {{count}} μήνες", + }, + + xMonths: { + one: "1 μήνας", + other: "{{count}} μήνες", + }, + + aboutXYears: { + one: "περίπου 1 χρόνο", + other: "περίπου {{count}} χρόνια", + }, + + xYears: { + one: "1 χρόνο", + other: "{{count}} χρόνια", + }, + + overXYears: { + one: "πάνω από 1 χρόνο", + other: "πάνω από {{count}} χρόνια", + }, + + almostXYears: { + one: "περίπου 1 χρόνο", + other: "περίπου {{count}} χρόνια", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "σε " + result; + } else { + return result + " πριν"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/el/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/el/_lib/formatLong.js new file mode 100644 index 00000000..cd119bf0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "d/M/yy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} - {{time}}", + long: "{{date}} - {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/el/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/el/_lib/formatRelative.js new file mode 100644 index 00000000..5f77d9b0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el/_lib/formatRelative.js @@ -0,0 +1,23 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + switch (date.getDay()) { + case 6: //Σάββατο + return "'το προηγούμενο' eeee 'στις' p"; + default: + return "'την προηγούμενη' eeee 'στις' p"; + } + }, + yesterday: "'χθες στις' p", + today: "'σήμερα στις' p", + tomorrow: "'αύριο στις' p", + nextWeek: "eeee 'στις' p", + other: "P", +}; + +export const formatRelative = (token, date) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") return format(date); + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/el/_lib/localize.js b/.output/server/node_modules/date-fns/locale/el/_lib/localize.js new file mode 100644 index 00000000..fa44156d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el/_lib/localize.js @@ -0,0 +1,181 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["πΧ", "μΧ"], + abbreviated: ["π.Χ.", "μ.Χ."], + wide: ["προ Χριστού", "μετά Χριστόν"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Τ1", "Τ2", "Τ3", "Τ4"], + wide: ["1ο τρίμηνο", "2ο τρίμηνο", "3ο τρίμηνο", "4ο τρίμηνο"], +}; + +const monthValues = { + narrow: ["Ι", "Φ", "Μ", "Α", "Μ", "Ι", "Ι", "Α", "Σ", "Ο", "Ν", "Δ"], + abbreviated: [ + "Ιαν", + "Φεβ", + "Μάρ", + "Απρ", + "Μάι", + "Ιούν", + "Ιούλ", + "Αύγ", + "Σεπ", + "Οκτ", + "Νοέ", + "Δεκ", + ], + + wide: [ + "Ιανουάριος", + "Φεβρουάριος", + "Μάρτιος", + "Απρίλιος", + "Μάιος", + "Ιούνιος", + "Ιούλιος", + "Αύγουστος", + "Σεπτέμβριος", + "Οκτώβριος", + "Νοέμβριος", + "Δεκέμβριος", + ], +}; + +const formattingMonthValues = { + narrow: ["Ι", "Φ", "Μ", "Α", "Μ", "Ι", "Ι", "Α", "Σ", "Ο", "Ν", "Δ"], + abbreviated: [ + "Ιαν", + "Φεβ", + "Μαρ", + "Απρ", + "Μαΐ", + "Ιουν", + "Ιουλ", + "Αυγ", + "Σεπ", + "Οκτ", + "Νοε", + "Δεκ", + ], + + wide: [ + "Ιανουαρίου", + "Φεβρουαρίου", + "Μαρτίου", + "Απριλίου", + "Μαΐου", + "Ιουνίου", + "Ιουλίου", + "Αυγούστου", + "Σεπτεμβρίου", + "Οκτωβρίου", + "Νοεμβρίου", + "Δεκεμβρίου", + ], +}; + +const dayValues = { + narrow: ["Κ", "Δ", "T", "Τ", "Π", "Π", "Σ"], + short: ["Κυ", "Δε", "Τρ", "Τε", "Πέ", "Πα", "Σά"], + abbreviated: ["Κυρ", "Δευ", "Τρί", "Τετ", "Πέμ", "Παρ", "Σάβ"], + wide: [ + "Κυριακή", + "Δευτέρα", + "Τρίτη", + "Τετάρτη", + "Πέμπτη", + "Παρασκευή", + "Σάββατο", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "πμ", + pm: "μμ", + midnight: "μεσάνυχτα", + noon: "μεσημέρι", + morning: "πρωί", + afternoon: "απόγευμα", + evening: "βράδυ", + night: "νύχτα", + }, + abbreviated: { + am: "π.μ.", + pm: "μ.μ.", + midnight: "μεσάνυχτα", + noon: "μεσημέρι", + morning: "πρωί", + afternoon: "απόγευμα", + evening: "βράδυ", + night: "νύχτα", + }, + wide: { + am: "π.μ.", + pm: "μ.μ.", + midnight: "μεσάνυχτα", + noon: "μεσημέρι", + morning: "πρωί", + afternoon: "απόγευμα", + evening: "βράδυ", + night: "νύχτα", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + let suffix; + + if (unit === "year" || unit === "month") { + suffix = "ος"; + } else if ( + unit === "week" || + unit === "dayOfYear" || + unit === "day" || + unit === "hour" || + unit === "date" + ) { + suffix = "η"; + } else { + suffix = "ο"; + } + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/el/_lib/match.js b/.output/server/node_modules/date-fns/locale/el/_lib/match.js new file mode 100644 index 00000000..bea36d40 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/el/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ος|η|ο)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(πΧ|μΧ)/i, + abbreviated: /^(π\.?\s?χ\.?|π\.?\s?κ\.?\s?χ\.?|μ\.?\s?χ\.?|κ\.?\s?χ\.?)/i, + wide: /^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i, +}; +const parseEraPatterns = { + any: [/^π/i, /^(μ|κ)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^τ[1234]/i, + wide: /^[1234]ο? τρ(ί|ι)μηνο/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[ιφμαμιιασονδ]/i, + abbreviated: + /^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i, + wide: /^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ι/i, + /^φ/i, + /^μ/i, + /^α/i, + /^μ/i, + /^ι/i, + /^ι/i, + /^α/i, + /^σ/i, + /^ο/i, + /^ν/i, + /^δ/i, + ], + + any: [ + /^ια/i, + /^φ/i, + /^μ[άα]ρ/i, + /^απ/i, + /^μ[άα][ιΐ]/i, + /^ιο[ύυ]ν/i, + /^ιο[ύυ]λ/i, + /^α[ύυ]/i, + /^σ/i, + /^ο/i, + /^ν/i, + /^δ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[κδτπσ]/i, + short: /^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i, + abbreviated: /^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i, + wide: /^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i, +}; +const parseDayPatterns = { + narrow: [/^κ/i, /^δ/i, /^τ/i, /^τ/i, /^π/i, /^π/i, /^σ/i], + any: [/^κ/i, /^δ/i, /^τρ/i, /^τε/i, /^π[εέ]/i, /^π[αά]/i, /^σ/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i, + any: /^([πμ]\.?\s?μ\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^πμ|π\.\s?μ\./i, + pm: /^μμ|μ\.\s?μ\./i, + midnight: /^μεσάν/i, + noon: /^μεσημ(έ|ε)/i, + morning: /πρω(ί|ι)/i, + afternoon: /απ(ό|ο)γευμα/i, + evening: /βρ(ά|α)δυ/i, + night: /ν(ύ|υ)χτα/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-AU.js b/.output/server/node_modules/date-fns/locale/en-AU.js new file mode 100644 index 00000000..6e3d5193 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-AU.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatLong } from "./en-AU/_lib/formatLong.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +/** + * @category Locales + * @summary English locale (Australia). + * @language English + * @iso-639-2 eng + * @author Julien Malige [@JulienMalige](https://github.com/JulienMalige) + */ +export const enAU = { + code: "en-AU", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default enAU; diff --git a/.output/server/node_modules/date-fns/locale/en-AU/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-AU/_lib/formatLong.js new file mode 100644 index 00000000..cc633fe8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-AU/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-CA.js b/.output/server/node_modules/date-fns/locale/en-CA.js new file mode 100644 index 00000000..587da75a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-CA.js @@ -0,0 +1,30 @@ +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatDistance } from "./en-CA/_lib/formatDistance.js"; +import { formatLong } from "./en-CA/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (Canada). + * @language English + * @iso-639-2 eng + * @author Mark Owsiak [@markowsiak](https://github.com/markowsiak) + * @author Marco Imperatore [@mimperatore](https://github.com/mimperatore) + */ +export const enCA = { + code: "en-CA", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default enCA; diff --git a/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatDistance.js new file mode 100644 index 00000000..f97bbf78 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "less than a second", + other: "less than {{count}} seconds", + }, + + xSeconds: { + one: "a second", + other: "{{count}} seconds", + }, + + halfAMinute: "half a minute", + + lessThanXMinutes: { + one: "less than a minute", + other: "less than {{count}} minutes", + }, + + xMinutes: { + one: "a minute", + other: "{{count}} minutes", + }, + + aboutXHours: { + one: "about an hour", + other: "about {{count}} hours", + }, + + xHours: { + one: "an hour", + other: "{{count}} hours", + }, + + xDays: { + one: "a day", + other: "{{count}} days", + }, + + aboutXWeeks: { + one: "about a week", + other: "about {{count}} weeks", + }, + + xWeeks: { + one: "a week", + other: "{{count}} weeks", + }, + + aboutXMonths: { + one: "about a month", + other: "about {{count}} months", + }, + + xMonths: { + one: "a month", + other: "{{count}} months", + }, + + aboutXYears: { + one: "about a year", + other: "about {{count}} years", + }, + + xYears: { + one: "a year", + other: "{{count}} years", + }, + + overXYears: { + one: "over a year", + other: "over {{count}} years", + }, + + almostXYears: { + one: "almost a year", + other: "almost {{count}} years", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "in " + result; + } else { + return result + " ago"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatLong.js new file mode 100644 index 00000000..9445c764 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-CA/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, yyyy", + long: "MMMM do, yyyy", + medium: "MMM d, yyyy", + short: "yyyy-MM-dd", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-GB.js b/.output/server/node_modules/date-fns/locale/en-GB.js new file mode 100644 index 00000000..ca4a1176 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-GB.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatLong } from "./en-GB/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (United Kingdom). + * @language English + * @iso-639-2 eng + * @author Alex [@glintik](https://github.com/glintik) + */ +export const enGB = { + code: "en-GB", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default enGB; diff --git a/.output/server/node_modules/date-fns/locale/en-GB/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-GB/_lib/formatLong.js new file mode 100644 index 00000000..4cb14cc7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-GB/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-IE.js b/.output/server/node_modules/date-fns/locale/en-IE.js new file mode 100644 index 00000000..1f94f70e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-IE.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatLong } from "./en-GB/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (Ireland). + * @language English + * @iso-639-2 eng + * @author Tetiana [@tan75](https://github.com/tan75) + */ +export const enIE = { + code: "en-IE", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default enIE; diff --git a/.output/server/node_modules/date-fns/locale/en-IN.js b/.output/server/node_modules/date-fns/locale/en-IN.js new file mode 100644 index 00000000..e97662ab --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-IN.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatLong } from "./en-IN/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (India). + * @language English + * @iso-639-2 eng + * @author Galeel Bhasha Satthar [@gbhasha](https://github.com/gbhasha) + */ +export const enIN = { + code: "en-IN", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1, // Monday is the first day of the week. + firstWeekContainsDate: 4, // The week that contains Jan 4th is the first week of the year. + }, +}; + +// Fallback for modularized imports: +export default enIN; diff --git a/.output/server/node_modules/date-fns/locale/en-IN/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-IN/_lib/formatLong.js new file mode 100644 index 00000000..c875ab8a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-IN/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM, yyyy", + medium: "d MMM, yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-NZ.js b/.output/server/node_modules/date-fns/locale/en-NZ.js new file mode 100644 index 00000000..2d51ecf3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-NZ.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatLong } from "./en-NZ/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (New Zealand). + * @language English + * @iso-639-2 eng + * @author Murray Lucas [@muntact](https://github.com/muntact) + */ +export const enNZ = { + code: "en-NZ", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default enNZ; diff --git a/.output/server/node_modules/date-fns/locale/en-NZ/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-NZ/_lib/formatLong.js new file mode 100644 index 00000000..cc633fe8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-NZ/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-US.js b/.output/server/node_modules/date-fns/locale/en-US.js new file mode 100644 index 00000000..7eca37d2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatLong } from "./en-US/_lib/formatLong.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +/** + * @category Locales + * @summary English locale (United States). + * @language English + * @iso-639-2 eng + * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp) + * @author Lesha Koss [@leshakoss](https://github.com/leshakoss) + */ +export const enUS = { + code: "en-US", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default enUS; diff --git a/.output/server/node_modules/date-fns/locale/en-US/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatDistance.js new file mode 100644 index 00000000..7aeecef6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "less than a second", + other: "less than {{count}} seconds", + }, + + xSeconds: { + one: "1 second", + other: "{{count}} seconds", + }, + + halfAMinute: "half a minute", + + lessThanXMinutes: { + one: "less than a minute", + other: "less than {{count}} minutes", + }, + + xMinutes: { + one: "1 minute", + other: "{{count}} minutes", + }, + + aboutXHours: { + one: "about 1 hour", + other: "about {{count}} hours", + }, + + xHours: { + one: "1 hour", + other: "{{count}} hours", + }, + + xDays: { + one: "1 day", + other: "{{count}} days", + }, + + aboutXWeeks: { + one: "about 1 week", + other: "about {{count}} weeks", + }, + + xWeeks: { + one: "1 week", + other: "{{count}} weeks", + }, + + aboutXMonths: { + one: "about 1 month", + other: "about {{count}} months", + }, + + xMonths: { + one: "1 month", + other: "{{count}} months", + }, + + aboutXYears: { + one: "about 1 year", + other: "about {{count}} years", + }, + + xYears: { + one: "1 year", + other: "{{count}} years", + }, + + overXYears: { + one: "over 1 year", + other: "over {{count}} years", + }, + + almostXYears: { + one: "almost 1 year", + other: "almost {{count}} years", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "in " + result; + } else { + return result + " ago"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/en-US/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatLong.js new file mode 100644 index 00000000..4f7fae10 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-US/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatRelative.js new file mode 100644 index 00000000..d6eccf48 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'last' eeee 'at' p", + yesterday: "'yesterday at' p", + today: "'today at' p", + tomorrow: "'tomorrow at' p", + nextWeek: "eeee 'at' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/en-US/_lib/localize.js b/.output/server/node_modules/date-fns/locale/en-US/_lib/localize.js new file mode 100644 index 00000000..7882a18c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US/_lib/localize.js @@ -0,0 +1,187 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["B", "A"], + abbreviated: ["BC", "AD"], + wide: ["Before Christ", "Anno Domini"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + + wide: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "W", "T", "F", "S"], + short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + wide: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + // If ordinal numbers depend on context, for example, + // if they are different for different grammatical genders, + // use `options.unit`. + // + // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', + // 'day', 'hour', 'minute', 'second'. + + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + "st"; + case 2: + return number + "nd"; + case 3: + return number + "rd"; + } + } + return number + "th"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-US/_lib/match.js b/.output/server/node_modules/date-fns/locale/en-US/_lib/match.js new file mode 100644 index 00000000..f0787926 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-US/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(b|a)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(before christ|before common era|anno domini|common era)/i, +}; +const parseEraPatterns = { + any: [/^b/i, /^(a|c)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](th|st|nd|rd)? quarter/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, + wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^may/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(su|mo|tu|we|th|fr|sa)/i, + abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, + wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/en-ZA.js b/.output/server/node_modules/date-fns/locale/en-ZA.js new file mode 100644 index 00000000..73f072b9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-ZA.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./en-US/_lib/formatDistance.js"; +import { formatRelative } from "./en-US/_lib/formatRelative.js"; +import { localize } from "./en-US/_lib/localize.js"; +import { match } from "./en-US/_lib/match.js"; + +import { formatLong } from "./en-ZA/_lib/formatLong.js"; + +/** + * @category Locales + * @summary English locale (South Africa). + * @language English + * @iso-639-2 eng + * @author Shaila Kavrakova [@shaykav](https://github.com/shaykav) + */ +export const enZA = { + code: "en-ZA", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0, // Sunday is the first day of the week. + firstWeekContainsDate: 1, // The week that contains Jan 1st is the first week of the year. + }, +}; + +// Fallback for modularized imports: +export default enZA; diff --git a/.output/server/node_modules/date-fns/locale/en-ZA/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/en-ZA/_lib/formatLong.js new file mode 100644 index 00000000..5beed247 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/en-ZA/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, dd MMMM yyyy", + long: "dd MMMM yyyy", + medium: "dd MMM yyyy", + short: "yyyy/MM/dd", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eo.js b/.output/server/node_modules/date-fns/locale/eo.js new file mode 100644 index 00000000..ab6d6d17 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./eo/_lib/formatDistance.js"; +import { formatLong } from "./eo/_lib/formatLong.js"; +import { formatRelative } from "./eo/_lib/formatRelative.js"; +import { localize } from "./eo/_lib/localize.js"; +import { match } from "./eo/_lib/match.js"; + +/** + * @category Locales + * @summary Esperanto locale. + * @language Esperanto + * @iso-639-2 epo + * @author date-fns + */ +export const eo = { + code: "eo", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default eo; diff --git a/.output/server/node_modules/date-fns/locale/eo/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/eo/_lib/formatDistance.js new file mode 100644 index 00000000..aafb1b66 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "malpli ol sekundo", + other: "malpli ol {{count}} sekundoj", + }, + + xSeconds: { + one: "1 sekundo", + other: "{{count}} sekundoj", + }, + + halfAMinute: "duonminuto", + + lessThanXMinutes: { + one: "malpli ol minuto", + other: "malpli ol {{count}} minutoj", + }, + + xMinutes: { + one: "1 minuto", + other: "{{count}} minutoj", + }, + + aboutXHours: { + one: "proksimume 1 horo", + other: "proksimume {{count}} horoj", + }, + + xHours: { + one: "1 horo", + other: "{{count}} horoj", + }, + + xDays: { + one: "1 tago", + other: "{{count}} tagoj", + }, + + aboutXMonths: { + one: "proksimume 1 monato", + other: "proksimume {{count}} monatoj", + }, + + xWeeks: { + one: "1 semajno", + other: "{{count}} semajnoj", + }, + + aboutXWeeks: { + one: "proksimume 1 semajno", + other: "proksimume {{count}} semajnoj", + }, + + xMonths: { + one: "1 monato", + other: "{{count}} monatoj", + }, + + aboutXYears: { + one: "proksimume 1 jaro", + other: "proksimume {{count}} jaroj", + }, + + xYears: { + one: "1 jaro", + other: "{{count}} jaroj", + }, + + overXYears: { + one: "pli ol 1 jaro", + other: "pli ol {{count}} jaroj", + }, + + almostXYears: { + one: "preskaŭ 1 jaro", + other: "preskaŭ {{count}} jaroj", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options?.comparison && options.comparison > 0) { + return "post " + result; + } else { + return "antaŭ " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/eo/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/eo/_lib/formatLong.js new file mode 100644 index 00000000..d7c35598 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do 'de' MMMM y", + long: "y-MMMM-dd", + medium: "y-MMM-dd", + short: "yyyy-MM-dd", +}; + +const timeFormats = { + full: "Ho 'horo kaj' m:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + any: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eo/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/eo/_lib/formatRelative.js new file mode 100644 index 00000000..9d703ddb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'pasinta' eeee 'je' p", + yesterday: "'hieraŭ je' p", + today: "'hodiaŭ je' p", + tomorrow: "'morgaŭ je' p", + nextWeek: "eeee 'je' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/eo/_lib/localize.js b/.output/server/node_modules/date-fns/locale/eo/_lib/localize.js new file mode 100644 index 00000000..32904db0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo/_lib/localize.js @@ -0,0 +1,136 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["aK", "pK"], + abbreviated: ["a.K.E.", "p.K.E."], + wide: ["antaŭ Komuna Erao", "Komuna Erao"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: [ + "1-a kvaronjaro", + "2-a kvaronjaro", + "3-a kvaronjaro", + "4-a kvaronjaro", + ], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "maj", + "jun", + "jul", + "aŭg", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januaro", + "februaro", + "marto", + "aprilo", + "majo", + "junio", + "julio", + "aŭgusto", + "septembro", + "oktobro", + "novembro", + "decembro", + ], +}; + +const dayValues = { + narrow: ["D", "L", "M", "M", "Ĵ", "V", "S"], + short: ["di", "lu", "ma", "me", "ĵa", "ve", "sa"], + abbreviated: ["dim", "lun", "mar", "mer", "ĵaŭ", "ven", "sab"], + wide: [ + "dimanĉo", + "lundo", + "mardo", + "merkredo", + "ĵaŭdo", + "vendredo", + "sabato", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "noktomezo", + noon: "tagmezo", + morning: "matene", + afternoon: "posttagmeze", + evening: "vespere", + night: "nokte", + }, + abbreviated: { + am: "a.t.m.", + pm: "p.t.m.", + midnight: "noktomezo", + noon: "tagmezo", + morning: "matene", + afternoon: "posttagmeze", + evening: "vespere", + night: "nokte", + }, + wide: { + am: "antaŭtagmeze", + pm: "posttagmeze", + midnight: "noktomezo", + noon: "tagmezo", + morning: "matene", + afternoon: "posttagmeze", + evening: "vespere", + night: "nokte", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + return number + "-a"; +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: function (quarter) { + return Number(quarter) - 1; + }, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eo/_lib/match.js b/.output/server/node_modules/date-fns/locale/eo/_lib/match.js new file mode 100644 index 00000000..13198309 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eo/_lib/match.js @@ -0,0 +1,138 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?a)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([ap]k)/i, + abbreviated: /^([ap]\.?\s?k\.?\s?e\.?)/i, + wide: /^((antaǔ |post )?komuna erao)/i, +}; +const parseEraPatterns = { + any: [/^a/i, /^[kp]/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^k[1234]/i, + wide: /^[1234](-?a)? kvaronjaro/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|a(ŭ|ux|uh|u)g|sep|okt|nov|dec)/i, + wide: /^(januaro|februaro|marto|aprilo|majo|junio|julio|a(ŭ|ux|uh|u)gusto|septembro|oktobro|novembro|decembro)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^a(u|ŭ)/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmĵjvs]/i, + short: /^(di|lu|ma|me|(ĵ|jx|jh|j)a|ve|sa)/i, + abbreviated: /^(dim|lun|mar|mer|(ĵ|jx|jh|j)a(ŭ|ux|uh|u)|ven|sab)/i, + wide: /^(diman(ĉ|cx|ch|c)o|lundo|mardo|merkredo|(ĵ|jx|jh|j)a(ŭ|ux|uh|u)do|vendredo|sabato)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^(j|ĵ)/i, /^v/i, /^s/i], + any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^(j|ĵ)/i, /^v/i, /^s/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([ap]|(posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo])/i, + abbreviated: + /^([ap][.\s]?t[.\s]?m[.\s]?|(posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo])/i, + wide: /^(anta(ŭ|ux)tagmez|posttagmez|noktomez|tagmez|maten|vesper|nokt)[eo]/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^noktom/i, + noon: /^t/i, + morning: /^m/i, + afternoon: /^posttagmeze/i, + evening: /^v/i, + night: /^n/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: function (index) { + return index + 1; + }, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/es.js b/.output/server/node_modules/date-fns/locale/es.js new file mode 100644 index 00000000..02287108 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es.js @@ -0,0 +1,32 @@ +import { formatDistance } from "./es/_lib/formatDistance.js"; +import { formatLong } from "./es/_lib/formatLong.js"; +import { formatRelative } from "./es/_lib/formatRelative.js"; +import { localize } from "./es/_lib/localize.js"; +import { match } from "./es/_lib/match.js"; + +/** + * @category Locales + * @summary Spanish locale. + * @language Spanish + * @iso-639-2 spa + * @author Juan Angosto [@juanangosto](https://github.com/juanangosto) + * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa) + * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero) + * @author Gastón Haro [@harogaston](https://github.com/harogaston) + * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo) + */ +export const es = { + code: "es", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default es; diff --git a/.output/server/node_modules/date-fns/locale/es/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/es/_lib/formatDistance.js new file mode 100644 index 00000000..bf4a6b27 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "menos de un segundo", + other: "menos de {{count}} segundos", + }, + + xSeconds: { + one: "1 segundo", + other: "{{count}} segundos", + }, + + halfAMinute: "medio minuto", + + lessThanXMinutes: { + one: "menos de un minuto", + other: "menos de {{count}} minutos", + }, + + xMinutes: { + one: "1 minuto", + other: "{{count}} minutos", + }, + + aboutXHours: { + one: "alrededor de 1 hora", + other: "alrededor de {{count}} horas", + }, + + xHours: { + one: "1 hora", + other: "{{count}} horas", + }, + + xDays: { + one: "1 día", + other: "{{count}} días", + }, + + aboutXWeeks: { + one: "alrededor de 1 semana", + other: "alrededor de {{count}} semanas", + }, + + xWeeks: { + one: "1 semana", + other: "{{count}} semanas", + }, + + aboutXMonths: { + one: "alrededor de 1 mes", + other: "alrededor de {{count}} meses", + }, + + xMonths: { + one: "1 mes", + other: "{{count}} meses", + }, + + aboutXYears: { + one: "alrededor de 1 año", + other: "alrededor de {{count}} años", + }, + + xYears: { + one: "1 año", + other: "{{count}} años", + }, + + overXYears: { + one: "más de 1 año", + other: "más de {{count}} años", + }, + + almostXYears: { + one: "casi 1 año", + other: "casi {{count}} años", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "en " + result; + } else { + return "hace " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/es/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/es/_lib/formatLong.js new file mode 100644 index 00000000..4be25f37 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d 'de' MMMM 'de' y", + long: "d 'de' MMMM 'de' y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'a las' {{time}}", + long: "{{date}} 'a las' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/es/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/es/_lib/formatRelative.js new file mode 100644 index 00000000..66cf094e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es/_lib/formatRelative.js @@ -0,0 +1,25 @@ +const formatRelativeLocale = { + lastWeek: "'el' eeee 'pasado a la' p", + yesterday: "'ayer a la' p", + today: "'hoy a la' p", + tomorrow: "'mañana a la' p", + nextWeek: "eeee 'a la' p", + other: "P", +}; + +const formatRelativeLocalePlural = { + lastWeek: "'el' eeee 'pasado a las' p", + yesterday: "'ayer a las' p", + today: "'hoy a las' p", + tomorrow: "'mañana a las' p", + nextWeek: "eeee 'a las' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + if (date.getHours() !== 1) { + return formatRelativeLocalePlural[token]; + } else { + return formatRelativeLocale[token]; + } +}; diff --git a/.output/server/node_modules/date-fns/locale/es/_lib/localize.js b/.output/server/node_modules/date-fns/locale/es/_lib/localize.js new file mode 100644 index 00000000..54918505 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["AC", "DC"], + abbreviated: ["AC", "DC"], + wide: ["antes de cristo", "después de cristo"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"], +}; + +const monthValues = { + narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "ene", + "feb", + "mar", + "abr", + "may", + "jun", + "jul", + "ago", + "sep", + "oct", + "nov", + "dic", + ], + + wide: [ + "enero", + "febrero", + "marzo", + "abril", + "mayo", + "junio", + "julio", + "agosto", + "septiembre", + "octubre", + "noviembre", + "diciembre", + ], +}; + +const dayValues = { + narrow: ["d", "l", "m", "m", "j", "v", "s"], + short: ["do", "lu", "ma", "mi", "ju", "vi", "sá"], + abbreviated: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], + wide: [ + "domingo", + "lunes", + "martes", + "miércoles", + "jueves", + "viernes", + "sábado", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "mañana", + afternoon: "tarde", + evening: "tarde", + night: "noche", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "medianoche", + noon: "mediodia", + morning: "mañana", + afternoon: "tarde", + evening: "tarde", + night: "noche", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "medianoche", + noon: "mediodia", + morning: "mañana", + afternoon: "tarde", + evening: "tarde", + night: "noche", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "de la mañana", + afternoon: "de la tarde", + evening: "de la tarde", + night: "de la noche", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "medianoche", + noon: "mediodia", + morning: "de la mañana", + afternoon: "de la tarde", + evening: "de la tarde", + night: "de la noche", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "medianoche", + noon: "mediodia", + morning: "de la mañana", + afternoon: "de la tarde", + evening: "de la tarde", + night: "de la noche", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "º"; +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/es/_lib/match.js b/.output/server/node_modules/date-fns/locale/es/_lib/match.js new file mode 100644 index 00000000..46b1cb50 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/es/_lib/match.js @@ -0,0 +1,138 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(º)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ac|dc|a|d)/i, + abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i, + wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i, +}; +const parseEraPatterns = { + any: [/^ac/i, /^dc/i], + wide: [ + /^(antes de cristo|antes de la era com[uú]n)/i, + /^(despu[eé]s de cristo|era com[uú]n)/i, + ], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^[1234](º)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[efmajsond]/i, + abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i, + wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^e/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^en/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^may/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^sep/i, + /^oct/i, + /^nov/i, + /^dic/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmjvs]/i, + short: /^(do|lu|ma|mi|ju|vi|s[áa])/i, + abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i, + wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], + any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i, + any: /^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mn/i, + noon: /^md/i, + morning: /mañana/i, + afternoon: /tarde/i, + evening: /tarde/i, + night: /noche/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/et.js b/.output/server/node_modules/date-fns/locale/et.js new file mode 100644 index 00000000..7d0ea5b2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./et/_lib/formatDistance.js"; +import { formatLong } from "./et/_lib/formatLong.js"; +import { formatRelative } from "./et/_lib/formatRelative.js"; +import { localize } from "./et/_lib/localize.js"; +import { match } from "./et/_lib/match.js"; + +/** + * @category Locales + * @summary Estonian locale. + * @language Estonian + * @iso-639-2 est + * @author Priit Hansen [@HansenPriit](https://github.com/priithansen) + */ +export const et = { + code: "et", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default et; diff --git a/.output/server/node_modules/date-fns/locale/et/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/et/_lib/formatDistance.js new file mode 100644 index 00000000..0f611118 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et/_lib/formatDistance.js @@ -0,0 +1,196 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + standalone: { + one: "vähem kui üks sekund", + other: "vähem kui {{count}} sekundit", + }, + withPreposition: { + one: "vähem kui ühe sekundi", + other: "vähem kui {{count}} sekundi", + }, + }, + + xSeconds: { + standalone: { + one: "üks sekund", + other: "{{count}} sekundit", + }, + withPreposition: { + one: "ühe sekundi", + other: "{{count}} sekundi", + }, + }, + + halfAMinute: { + standalone: "pool minutit", + withPreposition: "poole minuti", + }, + + lessThanXMinutes: { + standalone: { + one: "vähem kui üks minut", + other: "vähem kui {{count}} minutit", + }, + withPreposition: { + one: "vähem kui ühe minuti", + other: "vähem kui {{count}} minuti", + }, + }, + + xMinutes: { + standalone: { + one: "üks minut", + other: "{{count}} minutit", + }, + withPreposition: { + one: "ühe minuti", + other: "{{count}} minuti", + }, + }, + + aboutXHours: { + standalone: { + one: "umbes üks tund", + other: "umbes {{count}} tundi", + }, + withPreposition: { + one: "umbes ühe tunni", + other: "umbes {{count}} tunni", + }, + }, + + xHours: { + standalone: { + one: "üks tund", + other: "{{count}} tundi", + }, + withPreposition: { + one: "ühe tunni", + other: "{{count}} tunni", + }, + }, + + xDays: { + standalone: { + one: "üks päev", + other: "{{count}} päeva", + }, + withPreposition: { + one: "ühe päeva", + other: "{{count}} päeva", + }, + }, + + aboutXWeeks: { + standalone: { + one: "umbes üks nädal", + other: "umbes {{count}} nädalat", + }, + withPreposition: { + one: "umbes ühe nädala", + other: "umbes {{count}} nädala", + }, + }, + + xWeeks: { + standalone: { + one: "üks nädal", + other: "{{count}} nädalat", + }, + withPreposition: { + one: "ühe nädala", + other: "{{count}} nädala", + }, + }, + + aboutXMonths: { + standalone: { + one: "umbes üks kuu", + other: "umbes {{count}} kuud", + }, + withPreposition: { + one: "umbes ühe kuu", + other: "umbes {{count}} kuu", + }, + }, + + xMonths: { + standalone: { + one: "üks kuu", + other: "{{count}} kuud", + }, + withPreposition: { + one: "ühe kuu", + other: "{{count}} kuu", + }, + }, + + aboutXYears: { + standalone: { + one: "umbes üks aasta", + other: "umbes {{count}} aastat", + }, + withPreposition: { + one: "umbes ühe aasta", + other: "umbes {{count}} aasta", + }, + }, + + xYears: { + standalone: { + one: "üks aasta", + other: "{{count}} aastat", + }, + withPreposition: { + one: "ühe aasta", + other: "{{count}} aasta", + }, + }, + + overXYears: { + standalone: { + one: "rohkem kui üks aasta", + other: "rohkem kui {{count}} aastat", + }, + withPreposition: { + one: "rohkem kui ühe aasta", + other: "rohkem kui {{count}} aasta", + }, + }, + + almostXYears: { + standalone: { + one: "peaaegu üks aasta", + other: "peaaegu {{count}} aastat", + }, + withPreposition: { + one: "peaaegu ühe aasta", + other: "peaaegu {{count}} aasta", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + const usageGroup = options?.addSuffix + ? formatDistanceLocale[token].withPreposition + : formatDistanceLocale[token].standalone; + + let result; + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " pärast"; + } else { + return result + " eest"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/et/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/et/_lib/formatLong.js new file mode 100644 index 00000000..f57ff58b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM y", + long: "d. MMMM y", + medium: "d. MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kell' {{time}}", + long: "{{date}} 'kell' {{time}}", + medium: "{{date}}. {{time}}", + short: "{{date}}. {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/et/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/et/_lib/formatRelative.js new file mode 100644 index 00000000..0c186a48 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'eelmine' eeee 'kell' p", + yesterday: "'eile kell' p", + today: "'täna kell' p", + tomorrow: "'homme kell' p", + nextWeek: "'järgmine' eeee 'kell' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/et/_lib/localize.js b/.output/server/node_modules/date-fns/locale/et/_lib/localize.js new file mode 100644 index 00000000..a55a4b6c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et/_lib/localize.js @@ -0,0 +1,177 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["e.m.a", "m.a.j"], + abbreviated: ["e.m.a", "m.a.j"], + wide: ["enne meie ajaarvamist", "meie ajaarvamise järgi"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: ["J", "V", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jaan", + "veebr", + "märts", + "apr", + "mai", + "juuni", + "juuli", + "aug", + "sept", + "okt", + "nov", + "dets", + ], + + wide: [ + "jaanuar", + "veebruar", + "märts", + "aprill", + "mai", + "juuni", + "juuli", + "august", + "september", + "oktoober", + "november", + "detsember", + ], +}; + +const dayValues = { + narrow: ["P", "E", "T", "K", "N", "R", "L"], + short: ["P", "E", "T", "K", "N", "R", "L"], + abbreviated: [ + "pühap.", + "esmasp.", + "teisip.", + "kolmap.", + "neljap.", + "reede.", + "laup.", + ], + + wide: [ + "pühapäev", + "esmaspäev", + "teisipäev", + "kolmapäev", + "neljapäev", + "reede", + "laupäev", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "kesköö", + noon: "keskpäev", + morning: "hommik", + afternoon: "pärastlõuna", + evening: "õhtu", + night: "öö", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "kesköö", + noon: "keskpäev", + morning: "hommik", + afternoon: "pärastlõuna", + evening: "õhtu", + night: "öö", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "kesköö", + noon: "keskpäev", + morning: "hommik", + afternoon: "pärastlõuna", + evening: "õhtu", + night: "öö", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "keskööl", + noon: "keskpäeval", + morning: "hommikul", + afternoon: "pärastlõunal", + evening: "õhtul", + night: "öösel", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "keskööl", + noon: "keskpäeval", + morning: "hommikul", + afternoon: "pärastlõunal", + evening: "õhtul", + night: "öösel", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "keskööl", + noon: "keskpäeval", + morning: "hommikul", + afternoon: "pärastlõunal", + evening: "õhtul", + night: "öösel", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: monthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: dayValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/et/_lib/match.js b/.output/server/node_modules/date-fns/locale/et/_lib/match.js new file mode 100644 index 00000000..e6bbffcd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/et/_lib/match.js @@ -0,0 +1,130 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^\d+\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(e\.m\.a|m\.a\.j|eKr|pKr)/i, + abbreviated: /^(e\.m\.a|m\.a\.j|eKr|pKr)/i, + wide: /^(enne meie ajaarvamist|meie ajaarvamise järgi|enne Kristust|pärast Kristust)/i, +}; +const parseEraPatterns = { + any: [/^e/i, /^(m|p)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234](\.)? kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jvmasond]/i, + abbreviated: /^(jaan|veebr|märts|apr|mai|juuni|juuli|aug|sept|okt|nov|dets)/i, + wide: /^(jaanuar|veebruar|märts|aprill|mai|juuni|juuli|august|september|oktoober|november|detsember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^v/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^v/i, + /^mär/i, + /^ap/i, + /^mai/i, + /^juun/i, + /^juul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[petknrl]/i, + short: /^[petknrl]/i, + abbreviated: /^(püh?|esm?|tei?|kolm?|nel?|ree?|laup?)\.?/i, + wide: /^(pühapäev|esmaspäev|teisipäev|kolmapäev|neljapäev|reede|laupäev)/i, +}; +const parseDayPatterns = { + any: [/^p/i, /^e/i, /^t/i, /^k/i, /^n/i, /^r/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|keskööl?|keskpäev(al)?|hommik(ul)?|pärastlõunal?|õhtul?|öö(sel)?)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^keskö/i, + noon: /^keskp/i, + morning: /hommik/i, + afternoon: /pärastlõuna/i, + evening: /õhtu/i, + night: /öö/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eu.js b/.output/server/node_modules/date-fns/locale/eu.js new file mode 100644 index 00000000..bb0557e0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./eu/_lib/formatDistance.js"; +import { formatLong } from "./eu/_lib/formatLong.js"; +import { formatRelative } from "./eu/_lib/formatRelative.js"; +import { localize } from "./eu/_lib/localize.js"; +import { match } from "./eu/_lib/match.js"; + +/** + * @category Locales + * @summary Basque locale. + * @language Basque + * @iso-639-2 eus + * @author Jacob Söderblom [@JacobSoderblom](https://github.com/JacobSoderblom) + */ +export const eu = { + code: "eu", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default eu; diff --git a/.output/server/node_modules/date-fns/locale/eu/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/eu/_lib/formatDistance.js new file mode 100644 index 00000000..29a7ee24 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "segundo bat baino gutxiago", + other: "{{count}} segundo baino gutxiago", + }, + + xSeconds: { + one: "1 segundo", + other: "{{count}} segundo", + }, + + halfAMinute: "minutu erdi", + + lessThanXMinutes: { + one: "minutu bat baino gutxiago", + other: "{{count}} minutu baino gutxiago", + }, + + xMinutes: { + one: "1 minutu", + other: "{{count}} minutu", + }, + + aboutXHours: { + one: "1 ordu gutxi gorabehera", + other: "{{count}} ordu gutxi gorabehera", + }, + + xHours: { + one: "1 ordu", + other: "{{count}} ordu", + }, + + xDays: { + one: "1 egun", + other: "{{count}} egun", + }, + + aboutXWeeks: { + one: "aste 1 inguru", + other: "{{count}} aste inguru", + }, + + xWeeks: { + one: "1 aste", + other: "{{count}} astean", + }, + + aboutXMonths: { + one: "1 hilabete gutxi gorabehera", + other: "{{count}} hilabete gutxi gorabehera", + }, + + xMonths: { + one: "1 hilabete", + other: "{{count}} hilabete", + }, + + aboutXYears: { + one: "1 urte gutxi gorabehera", + other: "{{count}} urte gutxi gorabehera", + }, + + xYears: { + one: "1 urte", + other: "{{count}} urte", + }, + + overXYears: { + one: "1 urte baino gehiago", + other: "{{count}} urte baino gehiago", + }, + + almostXYears: { + one: "ia 1 urte", + other: "ia {{count}} urte", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "en " + result; + } else { + return "duela " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/eu/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/eu/_lib/formatLong.js new file mode 100644 index 00000000..2ad8ac85 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, y'ko' MMMM'ren' d'a' y'ren'", + long: "y'ko' MMMM'ren' d'a'", + medium: "y MMM d", + short: "yy/MM/dd", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'tan' {{time}}", + long: "{{date}} 'tan' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eu/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/eu/_lib/formatRelative.js new file mode 100644 index 00000000..848f7a7b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu/_lib/formatRelative.js @@ -0,0 +1,24 @@ +const formatRelativeLocale = { + lastWeek: "'joan den' eeee, LT", + yesterday: "'atzo,' p", + today: "'gaur,' p", + tomorrow: "'bihar,' p", + nextWeek: "eeee, p", + other: "P", +}; + +const formatRelativeLocalePlural = { + lastWeek: "'joan den' eeee, p", + yesterday: "'atzo,' p", + today: "'gaur,' p", + tomorrow: "'bihar,' p", + nextWeek: "eeee, p", + other: "P", +}; + +export const formatRelative = (token, date) => { + if (date.getHours() !== 1) { + return formatRelativeLocalePlural[token]; + } + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/eu/_lib/localize.js b/.output/server/node_modules/date-fns/locale/eu/_lib/localize.js new file mode 100644 index 00000000..7bd2a985 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu/_lib/localize.js @@ -0,0 +1,169 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["k.a.", "k.o."], + abbreviated: ["k.a.", "k.o."], + wide: ["kristo aurretik", "kristo ondoren"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1H", "2H", "3H", "4H"], + wide: [ + "1. hiruhilekoa", + "2. hiruhilekoa", + "3. hiruhilekoa", + "4. hiruhilekoa", + ], +}; + +const monthValues = { + narrow: ["u", "o", "m", "a", "m", "e", "u", "a", "i", "u", "a", "a"], + abbreviated: [ + "urt", + "ots", + "mar", + "api", + "mai", + "eka", + "uzt", + "abu", + "ira", + "urr", + "aza", + "abe", + ], + + wide: [ + "urtarrila", + "otsaila", + "martxoa", + "apirila", + "maiatza", + "ekaina", + "uztaila", + "abuztua", + "iraila", + "urria", + "azaroa", + "abendua", + ], +}; + +const dayValues = { + narrow: ["i", "a", "a", "a", "o", "o", "l"], + short: ["ig", "al", "as", "az", "og", "or", "lr"], + abbreviated: ["iga", "ast", "ast", "ast", "ost", "ost", "lar"], + wide: [ + "igandea", + "astelehena", + "asteartea", + "asteazkena", + "osteguna", + "ostirala", + "larunbata", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "ge", + noon: "eg", + morning: "goiza", + afternoon: "arratsaldea", + evening: "arratsaldea", + night: "gaua", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "gauerdia", + noon: "eguerdia", + morning: "goiza", + afternoon: "arratsaldea", + evening: "arratsaldea", + night: "gaua", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "gauerdia", + noon: "eguerdia", + morning: "goiza", + afternoon: "arratsaldea", + evening: "arratsaldea", + night: "gaua", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "ge", + noon: "eg", + morning: "goizean", + afternoon: "arratsaldean", + evening: "arratsaldean", + night: "gauean", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "gauerdia", + noon: "eguerdia", + morning: "goizean", + afternoon: "arratsaldean", + evening: "arratsaldean", + night: "gauean", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "gauerdia", + noon: "eguerdia", + morning: "goizean", + afternoon: "arratsaldean", + evening: "arratsaldean", + night: "gauean", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/eu/_lib/match.js b/.output/server/node_modules/date-fns/locale/eu/_lib/match.js new file mode 100644 index 00000000..90bb3254 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/eu/_lib/match.js @@ -0,0 +1,155 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(.)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(k.a.|k.o.)/i, + abbreviated: /^(k.a.|k.o.)/i, + wide: /^(kristo aurretik|kristo ondoren)/i, +}; +const parseEraPatterns = { + narrow: [/^k.a./i, /^k.o./i], + abbreviated: [/^(k.a.)/i, /^(k.o.)/i], + wide: [/^(kristo aurretik)/i, /^(kristo ondoren)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]H/i, + wide: /^[1234](.)? hiruhilekoa/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[uomaei]/i, + abbreviated: /^(urt|ots|mar|api|mai|eka|uzt|abu|ira|urr|aza|abe)/i, + wide: /^(urtarrila|otsaila|martxoa|apirila|maiatza|ekaina|uztaila|abuztua|iraila|urria|azaroa|abendua)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^u/i, + /^o/i, + /^m/i, + /^a/i, + /^m/i, + /^e/i, + /^u/i, + /^a/i, + /^i/i, + /^u/i, + /^a/i, + /^a/i, + ], + + any: [ + /^urt/i, + /^ots/i, + /^mar/i, + /^api/i, + /^mai/i, + /^eka/i, + /^uzt/i, + /^abu/i, + /^ira/i, + /^urr/i, + /^aza/i, + /^abe/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[iaol]/i, + short: /^(ig|al|as|az|og|or|lr)/i, + abbreviated: /^(iga|ast|ast|ast|ost|ost|lar)/i, + wide: /^(igandea|astelehena|asteartea|asteazkena|osteguna|ostirala|larunbata)/i, +}; +const parseDayPatterns = { + narrow: [/^i/i, /^a/i, /^a/i, /^a/i, /^o/i, /^o/i, /^l/i], + short: [/^ig/i, /^al/i, /^as/i, /^az/i, /^og/i, /^or/i, /^lr/i], + abbreviated: [/^iga/i, /^ast/i, /^ast/i, /^ast/i, /^ost/i, /^ost/i, /^lar/i], + + wide: [ + /^igandea/i, + /^astelehena/i, + /^asteartea/i, + /^asteazkena/i, + /^osteguna/i, + /^ostirala/i, + /^larunbata/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|ge|eg|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i, + any: /^([ap]\.?\s?m\.?|gauerdia|eguerdia|((goiza|goizean)|arratsaldea|(gaua|gauean)))/i, +}; +const parseDayPeriodPatterns = { + narrow: { + am: /^a/i, + pm: /^p/i, + midnight: /^ge/i, + noon: /^eg/i, + morning: /goiz/i, + afternoon: /arratsaldea/i, + evening: /arratsaldea/i, + night: /gau/i, + }, + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^gauerdia/i, + noon: /^eguerdia/i, + morning: /goiz/i, + afternoon: /arratsaldea/i, + evening: /arratsaldea/i, + night: /gau/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "wide", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "wide", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR.js b/.output/server/node_modules/date-fns/locale/fa-IR.js new file mode 100644 index 00000000..8878e077 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./fa-IR/_lib/formatDistance.js"; +import { formatLong } from "./fa-IR/_lib/formatLong.js"; +import { formatRelative } from "./fa-IR/_lib/formatRelative.js"; +import { localize } from "./fa-IR/_lib/localize.js"; +import { match } from "./fa-IR/_lib/match.js"; + +/** + * @category Locales + * @summary Persian/Farsi locale (Iran). + * @language Persian + * @iso-639-2 ira + * @author Morteza Ziyae [@mort3za](https://github.com/mort3za) + */ +export const faIR = { + code: "fa-IR", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 6 /* Saturday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default faIR; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatDistance.js new file mode 100644 index 00000000..a76f518c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "کمتر از یک ثانیه", + other: "کمتر از {{count}} ثانیه", + }, + + xSeconds: { + one: "1 ثانیه", + other: "{{count}} ثانیه", + }, + + halfAMinute: "نیم دقیقه", + + lessThanXMinutes: { + one: "کمتر از یک دقیقه", + other: "کمتر از {{count}} دقیقه", + }, + + xMinutes: { + one: "1 دقیقه", + other: "{{count}} دقیقه", + }, + + aboutXHours: { + one: "حدود 1 ساعت", + other: "حدود {{count}} ساعت", + }, + + xHours: { + one: "1 ساعت", + other: "{{count}} ساعت", + }, + + xDays: { + one: "1 روز", + other: "{{count}} روز", + }, + + aboutXWeeks: { + one: "حدود 1 هفته", + other: "حدود {{count}} هفته", + }, + + xWeeks: { + one: "1 هفته", + other: "{{count}} هفته", + }, + + aboutXMonths: { + one: "حدود 1 ماه", + other: "حدود {{count}} ماه", + }, + + xMonths: { + one: "1 ماه", + other: "{{count}} ماه", + }, + + aboutXYears: { + one: "حدود 1 سال", + other: "حدود {{count}} سال", + }, + + xYears: { + one: "1 سال", + other: "{{count}} سال", + }, + + overXYears: { + one: "بیشتر از 1 سال", + other: "بیشتر از {{count}} سال", + }, + + almostXYears: { + one: "نزدیک 1 سال", + other: "نزدیک {{count}} سال", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "در " + result; + } else { + return result + " قبل"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatLong.js new file mode 100644 index 00000000..9dbbab8e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE do MMMM y", + long: "do MMMM y", + medium: "d MMM y", + short: "yyyy/MM/dd", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'در' {{time}}", + long: "{{date}} 'در' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatRelative.js new file mode 100644 index 00000000..6d8db46b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'گذشته در' p", + yesterday: "'دیروز در' p", + today: "'امروز در' p", + tomorrow: "'فردا در' p", + nextWeek: "eeee 'در' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR/_lib/localize.js b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/localize.js new file mode 100644 index 00000000..fee2f6f4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/localize.js @@ -0,0 +1,168 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ق", "ب"], + abbreviated: ["ق.م.", "ب.م."], + wide: ["قبل از میلاد", "بعد از میلاد"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["س‌م1", "س‌م2", "س‌م3", "س‌م4"], + wide: ["سه‌ماهه 1", "سه‌ماهه 2", "سه‌ماهه 3", "سه‌ماهه 4"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["ژ", "ف", "م", "آ", "م", "ج", "ج", "آ", "س", "ا", "ن", "د"], + abbreviated: [ + "ژانـ", + "فور", + "مارس", + "آپر", + "می", + "جون", + "جولـ", + "آگو", + "سپتـ", + "اکتـ", + "نوامـ", + "دسامـ", + ], + + wide: [ + "ژانویه", + "فوریه", + "مارس", + "آپریل", + "می", + "جون", + "جولای", + "آگوست", + "سپتامبر", + "اکتبر", + "نوامبر", + "دسامبر", + ], +}; + +const dayValues = { + narrow: ["ی", "د", "س", "چ", "پ", "ج", "ش"], + short: ["1ش", "2ش", "3ش", "4ش", "5ش", "ج", "ش"], + abbreviated: [ + "یکشنبه", + "دوشنبه", + "سه‌شنبه", + "چهارشنبه", + "پنجشنبه", + "جمعه", + "شنبه", + ], + + wide: ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], +}; + +const dayPeriodValues = { + narrow: { + am: "ق", + pm: "ب", + midnight: "ن", + noon: "ظ", + morning: "ص", + afternoon: "ب.ظ.", + evening: "ع", + night: "ش", + }, + abbreviated: { + am: "ق.ظ.", + pm: "ب.ظ.", + midnight: "نیمه‌شب", + noon: "ظهر", + morning: "صبح", + afternoon: "بعدازظهر", + evening: "عصر", + night: "شب", + }, + wide: { + am: "قبل‌ازظهر", + pm: "بعدازظهر", + midnight: "نیمه‌شب", + noon: "ظهر", + morning: "صبح", + afternoon: "بعدازظهر", + evening: "عصر", + night: "شب", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ق", + pm: "ب", + midnight: "ن", + noon: "ظ", + morning: "ص", + afternoon: "ب.ظ.", + evening: "ع", + night: "ش", + }, + abbreviated: { + am: "ق.ظ.", + pm: "ب.ظ.", + midnight: "نیمه‌شب", + noon: "ظهر", + morning: "صبح", + afternoon: "بعدازظهر", + evening: "عصر", + night: "شب", + }, + wide: { + am: "قبل‌ازظهر", + pm: "بعدازظهر", + midnight: "نیمه‌شب", + noon: "ظهر", + morning: "صبح", + afternoon: "بعدازظهر", + evening: "عصر", + night: "شب", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fa-IR/_lib/match.js b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/match.js new file mode 100644 index 00000000..e7165101 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fa-IR/_lib/match.js @@ -0,0 +1,142 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ق|ب)/i, + abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?د\.?\s?م\.?|م\.?\s?|د\.?\s?م\.?)/i, + wide: /^(قبل از میلاد|قبل از دوران مشترک|میلادی|دوران مشترک|بعد از میلاد)/i, +}; +const parseEraPatterns = { + any: [/^قبل/i, /^بعد/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^س‌م[1234]/i, + wide: /^سه‌ماهه [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[جژفمآاماسند]/i, + abbreviated: + /^(جنو|ژانـ|ژانویه|فوریه|فور|مارس|آوریل|آپر|مه|می|ژوئن|جون|جول|جولـ|ژوئیه|اوت|آگو|سپتمبر|سپتامبر|اکتبر|اکتوبر|نوامبر|نوامـ|دسامبر|دسامـ|دسم)/i, + wide: /^(ژانویه|جنوری|فبروری|فوریه|مارچ|مارس|آپریل|اپریل|ایپریل|آوریل|مه|می|ژوئن|جون|جولای|ژوئیه|آگست|اگست|آگوست|اوت|سپتمبر|سپتامبر|اکتبر|اکتوبر|نوامبر|نومبر|دسامبر|دسمبر)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^(ژ|ج)/i, + /^ف/i, + /^م/i, + /^(آ|ا)/i, + /^م/i, + /^(ژ|ج)/i, + /^(ج|ژ)/i, + /^(آ|ا)/i, + /^س/i, + /^ا/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^ژا/i, + /^ف/i, + /^ما/i, + /^آپ/i, + /^(می|مه)/i, + /^(ژوئن|جون)/i, + /^(ژوئی|جول)/i, + /^(اوت|آگ)/i, + /^س/i, + /^(اوک|اک)/i, + /^ن/i, + /^د/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[شیدسچپج]/i, + short: /^(ش|ج|1ش|2ش|3ش|4ش|5ش)/i, + abbreviated: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i, + wide: /^(یکشنبه|دوشنبه|سه‌شنبه|چهارشنبه|پنج‌شنبه|جمعه|شنبه)/i, +}; +const parseDayPatterns = { + narrow: [/^ی/i, /^دو/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i], + any: [ + /^(ی|1ش|یکشنبه)/i, + /^(د|2ش|دوشنبه)/i, + /^(س|3ش|سه‌شنبه)/i, + /^(چ|4ش|چهارشنبه)/i, + /^(پ|5ش|پنجشنبه)/i, + /^(ج|جمعه)/i, + /^(ش|شنبه)/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ب|ق|ن|ظ|ص|ب.ظ.|ع|ش)/i, + abbreviated: /^(ق.ظ.|ب.ظ.|نیمه‌شب|ظهر|صبح|بعدازظهر|عصر|شب)/i, + wide: /^(قبل‌ازظهر|نیمه‌شب|ظهر|صبح|بعدازظهر|عصر|شب)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^(ق|ق.ظ.|قبل‌ازظهر)/i, + pm: /^(ب|ب.ظ.|بعدازظهر)/i, + midnight: /^(‌نیمه‌شب|ن)/i, + noon: /^(ظ|ظهر)/i, + morning: /(ص|صبح)/i, + afternoon: /(ب|ب.ظ.|بعدازظهر)/i, + evening: /(ع|عصر)/i, + night: /(ش|شب)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fi.js b/.output/server/node_modules/date-fns/locale/fi.js new file mode 100644 index 00000000..25cf2527 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./fi/_lib/formatDistance.js"; +import { formatLong } from "./fi/_lib/formatLong.js"; +import { formatRelative } from "./fi/_lib/formatRelative.js"; +import { localize } from "./fi/_lib/localize.js"; +import { match } from "./fi/_lib/match.js"; + +/** + * @category Locales + * @summary Finnish locale. + * @language Finnish + * @iso-639-2 fin + * @author Pyry-Samuli Lahti [@Pyppe](https://github.com/Pyppe) + * @author Edo Rivai [@mikolajgrzyb](https://github.com/mikolajgrzyb) + * @author Samu Juvonen [@sjuvonen](https://github.com/sjuvonen) + */ +export const fi = { + code: "fi", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default fi; diff --git a/.output/server/node_modules/date-fns/locale/fi/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/fi/_lib/formatDistance.js new file mode 100644 index 00000000..4791da95 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi/_lib/formatDistance.js @@ -0,0 +1,143 @@ +function futureSeconds(text) { + return text.replace(/sekuntia?/, "sekunnin"); +} + +function futureMinutes(text) { + return text.replace(/minuuttia?/, "minuutin"); +} + +function futureHours(text) { + return text.replace(/tuntia?/, "tunnin"); +} + +function futureDays(text) { + return text.replace(/päivää?/, "päivän"); +} + +function futureWeeks(text) { + return text.replace(/(viikko|viikkoa)/, "viikon"); +} + +function futureMonths(text) { + return text.replace(/(kuukausi|kuukautta)/, "kuukauden"); +} + +function futureYears(text) { + return text.replace(/(vuosi|vuotta)/, "vuoden"); +} + +const formatDistanceLocale = { + lessThanXSeconds: { + one: "alle sekunti", + other: "alle {{count}} sekuntia", + futureTense: futureSeconds, + }, + + xSeconds: { + one: "sekunti", + other: "{{count}} sekuntia", + futureTense: futureSeconds, + }, + + halfAMinute: { + one: "puoli minuuttia", + other: "puoli minuuttia", + futureTense: (_text) => "puolen minuutin", + }, + + lessThanXMinutes: { + one: "alle minuutti", + other: "alle {{count}} minuuttia", + futureTense: futureMinutes, + }, + + xMinutes: { + one: "minuutti", + other: "{{count}} minuuttia", + futureTense: futureMinutes, + }, + + aboutXHours: { + one: "noin tunti", + other: "noin {{count}} tuntia", + futureTense: futureHours, + }, + + xHours: { + one: "tunti", + other: "{{count}} tuntia", + futureTense: futureHours, + }, + + xDays: { + one: "päivä", + other: "{{count}} päivää", + futureTense: futureDays, + }, + + aboutXWeeks: { + one: "noin viikko", + other: "noin {{count}} viikkoa", + futureTense: futureWeeks, + }, + + xWeeks: { + one: "viikko", + other: "{{count}} viikkoa", + futureTense: futureWeeks, + }, + + aboutXMonths: { + one: "noin kuukausi", + other: "noin {{count}} kuukautta", + futureTense: futureMonths, + }, + + xMonths: { + one: "kuukausi", + other: "{{count}} kuukautta", + futureTense: futureMonths, + }, + + aboutXYears: { + one: "noin vuosi", + other: "noin {{count}} vuotta", + futureTense: futureYears, + }, + + xYears: { + one: "vuosi", + other: "{{count}} vuotta", + futureTense: futureYears, + }, + + overXYears: { + one: "yli vuosi", + other: "yli {{count}} vuotta", + futureTense: futureYears, + }, + + almostXYears: { + one: "lähes vuosi", + other: "lähes {{count}} vuotta", + futureTense: futureYears, + }, +}; + +export const formatDistance = (token, count, options) => { + const tokenValue = formatDistanceLocale[token]; + const result = + count === 1 + ? tokenValue.one + : tokenValue.other.replace("{{count}}", String(count)); + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return tokenValue.futureTense(result) + " kuluttua"; + } else { + return result + " sitten"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/fi/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fi/_lib/formatLong.js new file mode 100644 index 00000000..dea5bccf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "eeee d. MMMM y", + long: "d. MMMM y", + medium: "d. MMM y", + short: "d.M.y", +}; + +const timeFormats = { + full: "HH.mm.ss zzzz", + long: "HH.mm.ss z", + medium: "HH.mm.ss", + short: "HH.mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'klo' {{time}}", + long: "{{date}} 'klo' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fi/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/fi/_lib/formatRelative.js new file mode 100644 index 00000000..8862d553 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'viime' eeee 'klo' p", + yesterday: "'eilen klo' p", + today: "'tänään klo' p", + tomorrow: "'huomenna klo' p", + nextWeek: "'ensi' eeee 'klo' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/fi/_lib/localize.js b/.output/server/node_modules/date-fns/locale/fi/_lib/localize.js new file mode 100644 index 00000000..7dfeb435 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi/_lib/localize.js @@ -0,0 +1,168 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["eaa.", "jaa."], + abbreviated: ["eaa.", "jaa."], + wide: ["ennen ajanlaskun alkua", "jälkeen ajanlaskun alun"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. kvartaali", "2. kvartaali", "3. kvartaali", "4. kvartaali"], +}; + +const monthValues = { + narrow: ["T", "H", "M", "H", "T", "K", "H", "E", "S", "L", "M", "J"], + abbreviated: [ + "tammi", + "helmi", + "maalis", + "huhti", + "touko", + "kesä", + "heinä", + "elo", + "syys", + "loka", + "marras", + "joulu", + ], + + wide: [ + "tammikuu", + "helmikuu", + "maaliskuu", + "huhtikuu", + "toukokuu", + "kesäkuu", + "heinäkuu", + "elokuu", + "syyskuu", + "lokakuu", + "marraskuu", + "joulukuu", + ], +}; + +const formattingMonthValues = { + narrow: monthValues.narrow, + abbreviated: monthValues.abbreviated, + wide: [ + "tammikuuta", + "helmikuuta", + "maaliskuuta", + "huhtikuuta", + "toukokuuta", + "kesäkuuta", + "heinäkuuta", + "elokuuta", + "syyskuuta", + "lokakuuta", + "marraskuuta", + "joulukuuta", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "K", "T", "P", "L"], + short: ["su", "ma", "ti", "ke", "to", "pe", "la"], + abbreviated: ["sunn.", "maan.", "tiis.", "kesk.", "torst.", "perj.", "la"], + + wide: [ + "sunnuntai", + "maanantai", + "tiistai", + "keskiviikko", + "torstai", + "perjantai", + "lauantai", + ], +}; + +const formattingDayValues = { + narrow: dayValues.narrow, + short: dayValues.short, + abbreviated: dayValues.abbreviated, + wide: [ + "sunnuntaina", + "maanantaina", + "tiistaina", + "keskiviikkona", + "torstaina", + "perjantaina", + "lauantaina", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ap", + pm: "ip", + midnight: "keskiyö", + noon: "keskipäivä", + morning: "ap", + afternoon: "ip", + evening: "illalla", + night: "yöllä", + }, + abbreviated: { + am: "ap", + pm: "ip", + midnight: "keskiyö", + noon: "keskipäivä", + morning: "ap", + afternoon: "ip", + evening: "illalla", + night: "yöllä", + }, + wide: { + am: "ap", + pm: "ip", + midnight: "keskiyöllä", + noon: "keskipäivällä", + morning: "aamupäivällä", + afternoon: "iltapäivällä", + evening: "illalla", + night: "yöllä", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: formattingDayValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fi/_lib/match.js b/.output/server/node_modules/date-fns/locale/fi/_lib/match.js new file mode 100644 index 00000000..0c3c0aa8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fi/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(e|j)/i, + abbreviated: /^(eaa.|jaa.)/i, + wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i, +}; +const parseEraPatterns = { + any: [/^e/i, /^j/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234]\.? kvartaali/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[thmkeslj]/i, + abbreviated: + /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i, + wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i, +}; +const parseMonthPatterns = { + narrow: [ + /^t/i, + /^h/i, + /^m/i, + /^h/i, + /^t/i, + /^k/i, + /^h/i, + /^e/i, + /^s/i, + /^l/i, + /^m/i, + /^j/i, + ], + + any: [ + /^ta/i, + /^hel/i, + /^maa/i, + /^hu/i, + /^to/i, + /^k/i, + /^hei/i, + /^e/i, + /^s/i, + /^l/i, + /^mar/i, + /^j/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtkpl]/i, + short: /^(su|ma|ti|ke|to|pe|la)/i, + abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i, + wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i], + any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i, + any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ap/i, + pm: /^ip/i, + midnight: /^keskiyö/i, + noon: /^keskipäivä/i, + morning: /aamupäivällä/i, + afternoon: /iltapäivällä/i, + evening: /illalla/i, + night: /yöllä/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fr-CA.js b/.output/server/node_modules/date-fns/locale/fr-CA.js new file mode 100644 index 00000000..5337512c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr-CA.js @@ -0,0 +1,35 @@ +// Same as fr +import { formatDistance } from "./fr/_lib/formatDistance.js"; +import { formatRelative } from "./fr/_lib/formatRelative.js"; +import { localize } from "./fr/_lib/localize.js"; +import { match } from "./fr/_lib/match.js"; + +// Unique for fr-CA +import { formatLong } from "./fr-CA/_lib/formatLong.js"; + +/** + * @category Locales + * @summary French locale (Canada). + * @language French + * @iso-639-2 fra + * @author Jean Dupouy [@izeau](https://github.com/izeau) + * @author François B [@fbonzon](https://github.com/fbonzon) + * @author Gabriele Petrioli [@gpetrioli](https://github.com/gpetrioli) + */ +export const frCA = { + code: "fr-CA", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + + // Unique for fr-CA + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default frCA; diff --git a/.output/server/node_modules/date-fns/locale/fr-CA/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fr-CA/_lib/formatLong.js new file mode 100644 index 00000000..450eefa2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr-CA/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "yy-MM-dd", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'à' {{time}}", + long: "{{date}} 'à' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fr-CH.js b/.output/server/node_modules/date-fns/locale/fr-CH.js new file mode 100644 index 00000000..0ab9f99a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr-CH.js @@ -0,0 +1,34 @@ +// Same as fr +import { formatDistance } from "./fr/_lib/formatDistance.js"; +import { localize } from "./fr/_lib/localize.js"; +import { match } from "./fr/_lib/match.js"; + +// Unique for fr-CH +import { formatLong } from "./fr-CH/_lib/formatLong.js"; +import { formatRelative } from "./fr-CH/_lib/formatRelative.js"; + +/** + * @category Locales + * @summary French locale (Switzerland). + * @language French + * @iso-639-2 fra + * @author Jean Dupouy [@izeau](https://github.com/izeau) + * @author François B [@fbonzon](https://github.com/fbonzon) + * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo) + * @author Alex Hoeing [@dcbn](https://github.com/dcbn) + */ +export const frCH = { + code: "fr-CH", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default frCH; diff --git a/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatLong.js new file mode 100644 index 00000000..70399c38 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'à' {{time}}", + long: "{{date}} 'à' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatRelative.js new file mode 100644 index 00000000..847dbfd1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr-CH/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'la semaine dernière à' p", + yesterday: "'hier à' p", + today: "'aujourd’hui à' p", + tomorrow: "'demain à' p'", + nextWeek: "eeee 'la semaine prochaine à' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/fr.js b/.output/server/node_modules/date-fns/locale/fr.js new file mode 100644 index 00000000..68f0b54e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./fr/_lib/formatDistance.js"; +import { formatLong } from "./fr/_lib/formatLong.js"; +import { formatRelative } from "./fr/_lib/formatRelative.js"; +import { localize } from "./fr/_lib/localize.js"; +import { match } from "./fr/_lib/match.js"; + +/** + * @category Locales + * @summary French locale. + * @language French + * @iso-639-2 fra + * @author Jean Dupouy [@izeau](https://github.com/izeau) + * @author François B [@fbonzon](https://github.com/fbonzon) + */ +export const fr = { + code: "fr", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default fr; diff --git a/.output/server/node_modules/date-fns/locale/fr/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/fr/_lib/formatDistance.js new file mode 100644 index 00000000..cab7078c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr/_lib/formatDistance.js @@ -0,0 +1,100 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "moins d’une seconde", + other: "moins de {{count}} secondes", + }, + + xSeconds: { + one: "1 seconde", + other: "{{count}} secondes", + }, + + halfAMinute: "30 secondes", + + lessThanXMinutes: { + one: "moins d’une minute", + other: "moins de {{count}} minutes", + }, + + xMinutes: { + one: "1 minute", + other: "{{count}} minutes", + }, + + aboutXHours: { + one: "environ 1 heure", + other: "environ {{count}} heures", + }, + + xHours: { + one: "1 heure", + other: "{{count}} heures", + }, + + xDays: { + one: "1 jour", + other: "{{count}} jours", + }, + + aboutXWeeks: { + one: "environ 1 semaine", + other: "environ {{count}} semaines", + }, + + xWeeks: { + one: "1 semaine", + other: "{{count}} semaines", + }, + + aboutXMonths: { + one: "environ 1 mois", + other: "environ {{count}} mois", + }, + + xMonths: { + one: "1 mois", + other: "{{count}} mois", + }, + + aboutXYears: { + one: "environ 1 an", + other: "environ {{count}} ans", + }, + + xYears: { + one: "1 an", + other: "{{count}} ans", + }, + + overXYears: { + one: "plus d’un an", + other: "plus de {{count}} ans", + }, + + almostXYears: { + one: "presqu’un an", + other: "presque {{count}} ans", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + const form = formatDistanceLocale[token]; + if (typeof form === "string") { + result = form; + } else if (count === 1) { + result = form.one; + } else { + result = form.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "dans " + result; + } else { + return "il y a " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/fr/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fr/_lib/formatLong.js new file mode 100644 index 00000000..a3a8bad7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'à' {{time}}", + long: "{{date}} 'à' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fr/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/fr/_lib/formatRelative.js new file mode 100644 index 00000000..80900789 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'dernier à' p", + yesterday: "'hier à' p", + today: "'aujourd’hui à' p", + tomorrow: "'demain à' p'", + nextWeek: "eeee 'prochain à' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/fr/_lib/localize.js b/.output/server/node_modules/date-fns/locale/fr/_lib/localize.js new file mode 100644 index 00000000..df918629 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr/_lib/localize.js @@ -0,0 +1,165 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["av. J.-C", "ap. J.-C"], + abbreviated: ["av. J.-C", "ap. J.-C"], + wide: ["avant Jésus-Christ", "après Jésus-Christ"], +}; + +const quarterValues = { + narrow: ["T1", "T2", "T3", "T4"], + abbreviated: ["1er trim.", "2ème trim.", "3ème trim.", "4ème trim."], + wide: ["1er trimestre", "2ème trimestre", "3ème trimestre", "4ème trimestre"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "janv.", + "févr.", + "mars", + "avr.", + "mai", + "juin", + "juil.", + "août", + "sept.", + "oct.", + "nov.", + "déc.", + ], + + wide: [ + "janvier", + "février", + "mars", + "avril", + "mai", + "juin", + "juillet", + "août", + "septembre", + "octobre", + "novembre", + "décembre", + ], +}; + +const dayValues = { + narrow: ["D", "L", "M", "M", "J", "V", "S"], + short: ["di", "lu", "ma", "me", "je", "ve", "sa"], + abbreviated: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], + + wide: [ + "dimanche", + "lundi", + "mardi", + "mercredi", + "jeudi", + "vendredi", + "samedi", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "minuit", + noon: "midi", + morning: "mat.", + afternoon: "ap.m.", + evening: "soir", + night: "mat.", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "minuit", + noon: "midi", + morning: "matin", + afternoon: "après-midi", + evening: "soir", + night: "matin", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "minuit", + noon: "midi", + morning: "du matin", + afternoon: "de l’après-midi", + evening: "du soir", + night: "du matin", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + + if (number === 0) return "0"; + + const feminineUnits = ["year", "week", "hour", "minute", "second"]; + let suffix; + + if (number === 1) { + suffix = unit && feminineUnits.includes(unit) ? "ère" : "er"; + } else { + suffix = "ème"; + } + + return number + suffix; +}; + +const LONG_MONTHS_TOKENS = ["MMM", "MMMM"]; + +export const localize = { + preprocessor: (date, parts) => { + // Replaces the `do` tokens with `d` when used with long month tokens and the day of the month is greater than one. + // Use case "do MMMM" => 1er août, 29 août + // see https://github.com/date-fns/date-fns/issues/1391 + + if (date.getDate() === 1) return parts; + + const hasLongMonthToken = parts.some( + (part) => part.isToken && LONG_MONTHS_TOKENS.includes(part.value), + ); + + if (!hasLongMonthToken) return parts; + + return parts.map((part) => + part.isToken && part.value === "do" + ? { isToken: true, value: "d" } + : part, + ); + }, + + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fr/_lib/match.js b/.output/server/node_modules/date-fns/locale/fr/_lib/match.js new file mode 100644 index 00000000..87a340f2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fr/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ième|ère|ème|er|e)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i, + abbreviated: /^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i, + wide: /^(avant Jésus-Christ|après Jésus-Christ)/i, +}; +const parseEraPatterns = { + any: [/^av/i, /^ap/i], +}; + +const matchQuarterPatterns = { + narrow: /^T?[1234]/i, + abbreviated: /^[1234](er|ème|e)? trim\.?/i, + wide: /^[1234](er|ème|e)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i, + wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^av/i, + /^ma/i, + /^juin/i, + /^juil/i, + /^ao/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[lmjvsd]/i, + short: /^(di|lu|ma|me|je|ve|sa)/i, + abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\.?/i, + wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], + any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i, + any: /^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^min/i, + noon: /^mid/i, + morning: /mat/i, + afternoon: /ap/i, + evening: /soir/i, + night: /nuit/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fy.js b/.output/server/node_modules/date-fns/locale/fy.js new file mode 100644 index 00000000..922784f2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./fy/_lib/formatDistance.js"; +import { formatLong } from "./fy/_lib/formatLong.js"; +import { formatRelative } from "./fy/_lib/formatRelative.js"; +import { localize } from "./fy/_lib/localize.js"; +import { match } from "./fy/_lib/match.js"; + +/** + * @category Locales + * @summary Western Frisian locale (Netherlands). + * @language West Frisian + * @iso-639-2 fry + * @author Damon Asberg [@damon02](https://github.com/damon02) + */ +export const fy = { + code: "fy", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default fy; diff --git a/.output/server/node_modules/date-fns/locale/fy/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/fy/_lib/formatDistance.js new file mode 100644 index 00000000..139a1ae5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "minder as 1 sekonde", + other: "minder as {{count}} sekonden", + }, + + xSeconds: { + one: "1 sekonde", + other: "{{count}} sekonden", + }, + + halfAMinute: "oardel minút", + + lessThanXMinutes: { + one: "minder as 1 minút", + other: "minder as {{count}} minuten", + }, + + xMinutes: { + one: "1 minút", + other: "{{count}} minuten", + }, + + aboutXHours: { + one: "sawat 1 oere", + other: "sawat {{count}} oere", + }, + + xHours: { + one: "1 oere", + other: "{{count}} oere", + }, + + xDays: { + one: "1 dei", + other: "{{count}} dagen", + }, + + aboutXWeeks: { + one: "sawat 1 wike", + other: "sawat {{count}} wiken", + }, + + xWeeks: { + one: "1 wike", + other: "{{count}} wiken", + }, + + aboutXMonths: { + one: "sawat 1 moanne", + other: "sawat {{count}} moannen", + }, + + xMonths: { + one: "1 moanne", + other: "{{count}} moannen", + }, + + aboutXYears: { + one: "sawat 1 jier", + other: "sawat {{count}} jier", + }, + + xYears: { + one: "1 jier", + other: "{{count}} jier", + }, + + overXYears: { + one: "mear as 1 jier", + other: "mear as {{count}}s jier", + }, + + almostXYears: { + one: "hast 1 jier", + other: "hast {{count}} jier", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "oer " + result; + } else { + return result + " lyn"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/fy/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/fy/_lib/formatLong.js new file mode 100644 index 00000000..bb442e48 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd-MM-y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'om' {{time}}", + long: "{{date}} 'om' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fy/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/fy/_lib/formatRelative.js new file mode 100644 index 00000000..0139fff7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ôfrûne' eeee 'om' p", + yesterday: "'juster om' p", + today: "'hjoed om' p", + tomorrow: "'moarn om' p", + nextWeek: "eeee 'om' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/fy/_lib/localize.js b/.output/server/node_modules/date-fns/locale/fy/_lib/localize.js new file mode 100644 index 00000000..20d8a2dc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["f.K.", "n.K."], + abbreviated: ["f.Kr.", "n.Kr."], + wide: ["foar Kristus", "nei Kristus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1e fearnsjier", "2e fearnsjier", "3e fearnsjier", "4e fearnsjier"], +}; + +const monthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan.", + "feb.", + "mrt.", + "apr.", + "mai.", + "jun.", + "jul.", + "aug.", + "sep.", + "okt.", + "nov.", + "des.", + ], + + wide: [ + "jannewaris", + "febrewaris", + "maart", + "april", + "maaie", + "juny", + "july", + "augustus", + "septimber", + "oktober", + "novimber", + "desimber", + ], +}; + +const dayValues = { + narrow: ["s", "m", "t", "w", "t", "f", "s"], + short: ["si", "mo", "ti", "wo", "to", "fr", "so"], + abbreviated: ["snein", "moa", "tii", "woa", "ton", "fre", "sneon"], + wide: [ + "snein", + "moandei", + "tiisdei", + "woansdei", + "tongersdei", + "freed", + "sneon", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "middei", + morning: "moarns", + afternoon: "middeis", + evening: "jûns", + night: "nachts", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "middei", + morning: "moarns", + afternoon: "middeis", + evening: "jûns", + night: "nachts", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "middei", + morning: "moarns", + afternoon: "middeis", + evening: "jûns", + night: "nachts", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "e"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/fy/_lib/match.js b/.output/server/node_modules/date-fns/locale/fy/_lib/match.js new file mode 100644 index 00000000..45082170 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/fy/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)e?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([fn]\.? ?K\.?)/, + abbreviated: /^([fn]\. ?Kr\.?)/, + wide: /^((foar|nei) Kristus)/, +}; +const parseEraPatterns = { + any: [/^f/, /^n/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234]e fearnsjier/i, +}; + +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(jan.|feb.|mrt.|apr.|mai.|jun.|jul.|aug.|sep.|okt.|nov.|des.)/i, + wide: /^(jannewaris|febrewaris|maart|april|maaie|juny|july|augustus|septimber|oktober|novimber|desimber)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^jan/i, + /^feb/i, + /^m(r|a)/i, + /^apr/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^des/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(si|mo|ti|wo|to|fr|so)/i, + abbreviated: /^(snein|moa|tii|woa|ton|fre|sneon)/i, + wide: /^(snein|moandei|tiisdei|woansdei|tongersdei|freed|sneon)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^sn/i, /^mo/i, /^ti/i, /^wo/i, /^to/i, /^fr/i, /^sn/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|middernacht|middeis|moarns|middei|jûns|nachts)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /^middernacht/i, + noon: /^middei/i, + morning: /moarns/i, + afternoon: /^middeis/i, + evening: /jûns/i, + night: /nachts/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gd.js b/.output/server/node_modules/date-fns/locale/gd.js new file mode 100644 index 00000000..befe339e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./gd/_lib/formatDistance.js"; +import { formatLong } from "./gd/_lib/formatLong.js"; +import { formatRelative } from "./gd/_lib/formatRelative.js"; +import { localize } from "./gd/_lib/localize.js"; +import { match } from "./gd/_lib/match.js"; + +/** + * @category Locales + * @summary Scottish Gaelic. + * @language Scottish Gaelic + * @iso-639-2 gla + * @author Lee Driscoll [@leedriscoll](https://github.com/leedriscoll) + */ +export const gd = { + code: "gd", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default gd; diff --git a/.output/server/node_modules/date-fns/locale/gd/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/gd/_lib/formatDistance.js new file mode 100644 index 00000000..dcfd7ad6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd/_lib/formatDistance.js @@ -0,0 +1,111 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "nas lugha na diog", + other: "nas lugha na {{count}} diogan", + }, + + xSeconds: { + one: "1 diog", + two: "2 dhiog", + twenty: "20 diog", + other: "{{count}} diogan", + }, + + halfAMinute: "leth mhionaid", + + lessThanXMinutes: { + one: "nas lugha na mionaid", + other: "nas lugha na {{count}} mionaidean", + }, + + xMinutes: { + one: "1 mionaid", + two: "2 mhionaid", + twenty: "20 mionaid", + other: "{{count}} mionaidean", + }, + + aboutXHours: { + one: "mu uair de thìde", + other: "mu {{count}} uairean de thìde", + }, + + xHours: { + one: "1 uair de thìde", + two: "2 uair de thìde", + twenty: "20 uair de thìde", + other: "{{count}} uairean de thìde", + }, + + xDays: { + one: "1 là", + other: "{{count}} là", + }, + + aboutXWeeks: { + one: "mu 1 seachdain", + other: "mu {{count}} seachdainean", + }, + + xWeeks: { + one: "1 seachdain", + other: "{{count}} seachdainean", + }, + + aboutXMonths: { + one: "mu mhìos", + other: "mu {{count}} mìosan", + }, + + xMonths: { + one: "1 mìos", + other: "{{count}} mìosan", + }, + + aboutXYears: { + one: "mu bhliadhna", + other: "mu {{count}} bliadhnaichean", + }, + + xYears: { + one: "1 bhliadhna", + other: "{{count}} bliadhna", + }, + + overXYears: { + one: "còrr is bliadhna", + other: "còrr is {{count}} bliadhnaichean", + }, + + almostXYears: { + one: "cha mhòr bliadhna", + other: "cha mhòr {{count}} bliadhnaichean", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2 && !!tokenValue.two) { + result = tokenValue.two; + } else if (count === 20 && !!tokenValue.twenty) { + result = tokenValue.twenty; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "ann an " + result; + } else { + return "o chionn " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/gd/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/gd/_lib/formatLong.js new file mode 100644 index 00000000..f1201e1a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'aig' {{time}}", + long: "{{date}} 'aig' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gd/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/gd/_lib/formatRelative.js new file mode 100644 index 00000000..cc66ae99 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'mu dheireadh' eeee 'aig' p", //FIX + yesterday: "'an-dè aig' p", + today: "'an-diugh aig' p", + tomorrow: "'a-màireach aig' p", + nextWeek: "eeee 'aig' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/gd/_lib/localize.js b/.output/server/node_modules/date-fns/locale/gd/_lib/localize.js new file mode 100644 index 00000000..d6881e0c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd/_lib/localize.js @@ -0,0 +1,187 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["R", "A"], + abbreviated: ["RC", "AD"], + wide: ["ro Chrìosta", "anno domini"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["C1", "C2", "C3", "C4"], + wide: [ + "a' chiad chairteal", + "an dàrna cairteal", + "an treas cairteal", + "an ceathramh cairteal", + ], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["F", "G", "M", "G", "C", "Ò", "I", "L", "S", "D", "S", "D"], + abbreviated: [ + "Faoi", + "Gear", + "Màrt", + "Gibl", + "Cèit", + "Ògmh", + "Iuch", + "Lùn", + "Sult", + "Dàmh", + "Samh", + "Dùbh", + ], + + wide: [ + "Am Faoilleach", + "An Gearran", + "Am Màrt", + "An Giblean", + "An Cèitean", + "An t-Ògmhios", + "An t-Iuchar", + "An Lùnastal", + "An t-Sultain", + "An Dàmhair", + "An t-Samhain", + "An Dùbhlachd", + ], +}; + +const dayValues = { + narrow: ["D", "L", "M", "C", "A", "H", "S"], + short: ["Dò", "Lu", "Mà", "Ci", "Ar", "Ha", "Sa"], + abbreviated: ["Did", "Dil", "Dim", "Dic", "Dia", "Dih", "Dis"], + wide: [ + "Didòmhnaich", + "Diluain", + "Dimàirt", + "Diciadain", + "Diardaoin", + "Dihaoine", + "Disathairne", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "m", + pm: "f", + midnight: "m.o.", + noon: "m.l.", + morning: "madainn", + afternoon: "feasgar", + evening: "feasgar", + night: "oidhche", + }, + abbreviated: { + am: "M.", + pm: "F.", + midnight: "meadhan oidhche", + noon: "meadhan là", + morning: "madainn", + afternoon: "feasgar", + evening: "feasgar", + night: "oidhche", + }, + wide: { + am: "m.", + pm: "f.", + midnight: "meadhan oidhche", + noon: "meadhan là", + morning: "madainn", + afternoon: "feasgar", + evening: "feasgar", + night: "oidhche", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "m", + pm: "f", + midnight: "m.o.", + noon: "m.l.", + morning: "sa mhadainn", + afternoon: "feasgar", + evening: "feasgar", + night: "air an oidhche", + }, + abbreviated: { + am: "M.", + pm: "F.", + midnight: "meadhan oidhche", + noon: "meadhan là", + morning: "sa mhadainn", + afternoon: "feasgar", + evening: "feasgar", + night: "air an oidhche", + }, + wide: { + am: "m.", + pm: "f.", + midnight: "meadhan oidhche", + noon: "meadhan là", + morning: "sa mhadainn", + afternoon: "feasgar", + evening: "feasgar", + night: "air an oidhche", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + "d"; + case 2: + return number + "na"; + } + } + + if (rem100 === 12) { + return number + "na"; + } + + return number + "mh"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gd/_lib/match.js b/.output/server/node_modules/date-fns/locale/gd/_lib/match.js new file mode 100644 index 00000000..6912fe00 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gd/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(d|na|tr|mh)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(r|a)/i, + abbreviated: /^(r\.?\s?c\.?|r\.?\s?a\.?\s?c\.?|a\.?\s?d\.?|a\.?\s?c\.?)/i, + wide: /^(ro Chrìosta|ron aois choitchinn|anno domini|aois choitcheann)/i, +}; +const parseEraPatterns = { + any: [/^b/i, /^(a|c)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^c[1234]/i, + wide: /^[1234](cd|na|tr|mh)? cairteal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[fgmcòilsd]/i, + abbreviated: /^(faoi|gear|màrt|gibl|cèit|ògmh|iuch|lùn|sult|dàmh|samh|dùbh)/i, + wide: /^(am faoilleach|an gearran|am màrt|an giblean|an cèitean|an t-Ògmhios|an t-Iuchar|an lùnastal|an t-Sultain|an dàmhair|an t-Samhain|an dùbhlachd)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^f/i, + /^g/i, + /^m/i, + /^g/i, + /^c/i, + /^ò/i, + /^i/i, + /^l/i, + /^s/i, + /^d/i, + /^s/i, + /^d/i, + ], + + any: [ + /^fa/i, + /^ge/i, + /^mà/i, + /^gi/i, + /^c/i, + /^ò/i, + /^i/i, + /^l/i, + /^su/i, + /^d/i, + /^sa/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmcahs]/i, + short: /^(dò|lu|mà|ci|ar|ha|sa)/i, + abbreviated: /^(did|dil|dim|dic|dia|dih|dis)/i, + wide: /^(didòmhnaich|diluain|dimàirt|diciadain|diardaoin|dihaoine|disathairne)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^c/i, /^a/i, /^h/i, /^s/i], + any: [/^d/i, /^l/i, /^m/i, /^c/i, /^a/i, /^h/i, /^s/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(san|aig) (madainn|feasgar|feasgar|oidhche))/i, + any: /^([ap]\.?\s?m\.?|meadhan oidhche|meadhan là|(san|aig) (madainn|feasgar|feasgar|oidhche))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^m/i, + pm: /^f/i, + midnight: /^meadhan oidhche/i, + noon: /^meadhan là/i, + morning: /sa mhadainn/i, + afternoon: /feasgar/i, + evening: /feasgar/i, + night: /air an oidhche/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gl.js b/.output/server/node_modules/date-fns/locale/gl.js new file mode 100644 index 00000000..012d8f32 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./gl/_lib/formatDistance.js"; +import { formatLong } from "./gl/_lib/formatLong.js"; +import { formatRelative } from "./gl/_lib/formatRelative.js"; +import { localize } from "./gl/_lib/localize.js"; +import { match } from "./gl/_lib/match.js"; + +/** + * @category Locales + * @summary Galician locale. + * @language Galician + * @iso-639-2 glg + * @author Alberto Doval - Cocodin Technology[@cocodinTech](https://github.com/cocodinTech) + * @author Fidel Pita [@fidelpita](https://github.com/fidelpita) + */ +export const gl = { + code: "gl", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default gl; diff --git a/.output/server/node_modules/date-fns/locale/gl/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/gl/_lib/formatDistance.js new file mode 100644 index 00000000..de2ee133 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "menos dun segundo", + other: "menos de {{count}} segundos", + }, + + xSeconds: { + one: "1 segundo", + other: "{{count}} segundos", + }, + + halfAMinute: "medio minuto", + + lessThanXMinutes: { + one: "menos dun minuto", + other: "menos de {{count}} minutos", + }, + + xMinutes: { + one: "1 minuto", + other: "{{count}} minutos", + }, + + aboutXHours: { + one: "arredor dunha hora", + other: "arredor de {{count}} horas", + }, + + xHours: { + one: "1 hora", + other: "{{count}} horas", + }, + + xDays: { + one: "1 día", + other: "{{count}} días", + }, + + aboutXWeeks: { + one: "arredor dunha semana", + other: "arredor de {{count}} semanas", + }, + + xWeeks: { + one: "1 semana", + other: "{{count}} semanas", + }, + + aboutXMonths: { + one: "arredor de 1 mes", + other: "arredor de {{count}} meses", + }, + + xMonths: { + one: "1 mes", + other: "{{count}} meses", + }, + + aboutXYears: { + one: "arredor dun ano", + other: "arredor de {{count}} anos", + }, + + xYears: { + one: "1 ano", + other: "{{count}} anos", + }, + + overXYears: { + one: "máis dun ano", + other: "máis de {{count}} anos", + }, + + almostXYears: { + one: "case un ano", + other: "case {{count}} anos", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "en " + result; + } else { + return "hai " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/gl/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/gl/_lib/formatLong.js new file mode 100644 index 00000000..2eb5d65d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d 'de' MMMM y", + long: "d 'de' MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'ás' {{time}}", + long: "{{date}} 'ás' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gl/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/gl/_lib/formatRelative.js new file mode 100644 index 00000000..ba03e71b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl/_lib/formatRelative.js @@ -0,0 +1,24 @@ +const formatRelativeLocale = { + lastWeek: "'o' eeee 'pasado á' LT", + yesterday: "'onte á' p", + today: "'hoxe á' p", + tomorrow: "'mañá á' p", + nextWeek: "eeee 'á' p", + other: "P", +}; + +const formatRelativeLocalePlural = { + lastWeek: "'o' eeee 'pasado ás' p", + yesterday: "'onte ás' p", + today: "'hoxe ás' p", + tomorrow: "'mañá ás' p", + nextWeek: "eeee 'ás' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + if (date.getHours() !== 1) { + return formatRelativeLocalePlural[token]; + } + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/gl/_lib/localize.js b/.output/server/node_modules/date-fns/locale/gl/_lib/localize.js new file mode 100644 index 00000000..df8360a3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl/_lib/localize.js @@ -0,0 +1,156 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["AC", "DC"], + abbreviated: ["AC", "DC"], + wide: ["antes de cristo", "despois de cristo"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"], +}; + +const monthValues = { + narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "xan", + "feb", + "mar", + "abr", + "mai", + "xun", + "xul", + "ago", + "set", + "out", + "nov", + "dec", + ], + + wide: [ + "xaneiro", + "febreiro", + "marzo", + "abril", + "maio", + "xuño", + "xullo", + "agosto", + "setembro", + "outubro", + "novembro", + "decembro", + ], +}; + +const dayValues = { + narrow: ["d", "l", "m", "m", "j", "v", "s"], + short: ["do", "lu", "ma", "me", "xo", "ve", "sa"], + abbreviated: ["dom", "lun", "mar", "mer", "xov", "ven", "sab"], + wide: ["domingo", "luns", "martes", "mércores", "xoves", "venres", "sábado"], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "mañá", + afternoon: "tarde", + evening: "tarde", + night: "noite", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "medianoite", + noon: "mediodía", + morning: "mañá", + afternoon: "tarde", + evening: "tardiña", + night: "noite", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "medianoite", + noon: "mediodía", + morning: "mañá", + afternoon: "tarde", + evening: "tardiña", + night: "noite", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "da mañá", + afternoon: "da tarde", + evening: "da tardiña", + night: "da noite", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "medianoite", + noon: "mediodía", + morning: "da mañá", + afternoon: "da tarde", + evening: "da tardiña", + night: "da noite", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "medianoite", + noon: "mediodía", + morning: "da mañá", + afternoon: "da tarde", + evening: "da tardiña", + night: "da noite", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "º"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gl/_lib/match.js b/.output/server/node_modules/date-fns/locale/gl/_lib/match.js new file mode 100644 index 00000000..d41ea301 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gl/_lib/match.js @@ -0,0 +1,136 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(º)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ac|dc|a|d)/i, + abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i, + wide: /^(antes de cristo|antes da era com[uú]n|despois de cristo|era com[uú]n)/i, +}; +const parseEraPatterns = { + any: [/^ac/i, /^dc/i], + wide: [ + /^(antes de cristo|antes da era com[uú]n)/i, + /^(despois de cristo|era com[uú]n)/i, + ], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^[1234](º)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[xfmasond]/i, + abbreviated: /^(xan|feb|mar|abr|mai|xun|xul|ago|set|out|nov|dec)/i, + wide: /^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^x/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^x/i, + /^x/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^xan/i, + /^feb/i, + /^mar/i, + /^abr/i, + /^mai/i, + /^xun/i, + /^xul/i, + /^ago/i, + /^set/i, + /^out/i, + /^nov/i, + /^dec/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmxvs]/i, + short: /^(do|lu|ma|me|xo|ve|sa)/i, + abbreviated: /^(dom|lun|mar|mer|xov|ven|sab)/i, + wide: /^(domingo|luns|martes|m[eé]rcores|xoves|venres|s[áa]bado)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^x/i, /^v/i, /^s/i], + any: [/^do/i, /^lu/i, /^ma/i, /^me/i, /^xo/i, /^ve/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mn|md|(da|[aá]s) (mañ[aá]|tarde|noite))/i, + any: /^([ap]\.?\s?m\.?|medianoite|mediod[ií]a|(da|[aá]s) (mañ[aá]|tarde|noite))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mn/i, + noon: /^md/i, + morning: /mañ[aá]/i, + afternoon: /tarde/i, + evening: /tardiña/i, + night: /noite/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gu.js b/.output/server/node_modules/date-fns/locale/gu.js new file mode 100644 index 00000000..56d96331 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./gu/_lib/formatDistance.js"; +import { formatLong } from "./gu/_lib/formatLong.js"; +import { formatRelative } from "./gu/_lib/formatRelative.js"; +import { localize } from "./gu/_lib/localize.js"; +import { match } from "./gu/_lib/match.js"; + +/** + * @category Locales + * @summary Gujarati locale (India). + * @language Gujarati + * @iso-639-2 guj + * @author Manaday Mavani [@ManadayM](https://github.com/manadaym) + */ +export const gu = { + code: "gu", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default gu; diff --git a/.output/server/node_modules/date-fns/locale/gu/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/gu/_lib/formatDistance.js new file mode 100644 index 00000000..44bb8383 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu/_lib/formatDistance.js @@ -0,0 +1,102 @@ +// Source: https://www.unicode.org/cldr/charts/32/summary/gu.html +const formatDistanceLocale = { + lessThanXSeconds: { + one: "હમણાં", // CLDR #1461 + other: "​આશરે {{count}} સેકંડ", + }, + + xSeconds: { + one: "1 સેકંડ", + other: "{{count}} સેકંડ", + }, + + halfAMinute: "અડધી મિનિટ", + + lessThanXMinutes: { + one: "આ મિનિટ", // CLDR #1448 + other: "​આશરે {{count}} મિનિટ", + }, + + xMinutes: { + one: "1 મિનિટ", + other: "{{count}} મિનિટ", + }, + + aboutXHours: { + one: "​આશરે 1 કલાક", + other: "​આશરે {{count}} કલાક", + }, + + xHours: { + one: "1 કલાક", + other: "{{count}} કલાક", + }, + + xDays: { + one: "1 દિવસ", + other: "{{count}} દિવસ", + }, + + aboutXWeeks: { + one: "આશરે 1 અઠવાડિયું", + other: "આશરે {{count}} અઠવાડિયા", + }, + + xWeeks: { + one: "1 અઠવાડિયું", + other: "{{count}} અઠવાડિયા", + }, + + aboutXMonths: { + one: "આશરે 1 મહિનો", + other: "આશરે {{count}} મહિના", + }, + + xMonths: { + one: "1 મહિનો", + other: "{{count}} મહિના", + }, + + aboutXYears: { + one: "આશરે 1 વર્ષ", + other: "આશરે {{count}} વર્ષ", + }, + + xYears: { + one: "1 વર્ષ", + other: "{{count}} વર્ષ", + }, + + overXYears: { + one: "1 વર્ષથી વધુ", + other: "{{count}} વર્ષથી વધુ", + }, + + almostXYears: { + one: "લગભગ 1 વર્ષ", + other: "લગભગ {{count}} વર્ષ", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "માં"; + } else { + return result + " પહેલાં"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/gu/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/gu/_lib/formatLong.js new file mode 100644 index 00000000..b2481ee9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu/_lib/formatLong.js @@ -0,0 +1,40 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +//Source: https://www.unicode.org/cldr/charts/32/summary/gu.html +const dateFormats = { + full: "EEEE, d MMMM, y", // CLDR #1825 + long: "d MMMM, y", // CLDR #1826 + medium: "d MMM, y", // CLDR #1827 + short: "d/M/yy", // CLDR #1828 +}; + +const timeFormats = { + full: "hh:mm:ss a zzzz", // CLDR #1829 + long: "hh:mm:ss a z", // CLDR #1830 + medium: "hh:mm:ss a", // CLDR #1831 + short: "hh:mm a", // CLDR #1832 +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", // CLDR #1833 + long: "{{date}} {{time}}", // CLDR #1834 + medium: "{{date}} {{time}}", // CLDR #1835 + short: "{{date}} {{time}}", // CLDR #1836 +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gu/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/gu/_lib/formatRelative.js new file mode 100644 index 00000000..0842e086 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu/_lib/formatRelative.js @@ -0,0 +1,13 @@ +// Source: https://www.unicode.org/cldr/charts/32/summary/gu.html + +const formatRelativeLocale = { + lastWeek: "'પાછલા' eeee p", // CLDR #1384 + yesterday: "'ગઈકાલે' p", // CLDR #1409 + today: "'આજે' p", // CLDR #1410 + tomorrow: "'આવતીકાલે' p", // CLDR #1411 + nextWeek: "eeee p", // CLDR #1386 + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/gu/_lib/localize.js b/.output/server/node_modules/date-fns/locale/gu/_lib/localize.js new file mode 100644 index 00000000..4631b5e6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu/_lib/localize.js @@ -0,0 +1,179 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// https://www.unicode.org/cldr/charts/32/summary/gu.html +// #1621 - #1630 +const eraValues = { + narrow: ["ઈસપૂ", "ઈસ"], + abbreviated: ["ઈ.સ.પૂર્વે", "ઈ.સ."], + wide: ["ઈસવીસન પૂર્વે", "ઈસવીસન"], +}; + +// https://www.unicode.org/cldr/charts/32/summary/gu.html +// #1631 - #1654 +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1લો ત્રિમાસ", "2જો ત્રિમાસ", "3જો ત્રિમાસ", "4થો ત્રિમાસ"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. + +// https://www.unicode.org/cldr/charts/32/summary/gu.html +// #1655 - #1726 +const monthValues = { + narrow: ["જા", "ફે", "મા", "એ", "મે", "જૂ", "જુ", "ઓ", "સ", "ઓ", "ન", "ડિ"], + + abbreviated: [ + "જાન્યુ", + "ફેબ્રુ", + "માર્ચ", + "એપ્રિલ", + "મે", + "જૂન", + "જુલાઈ", + "ઑગસ્ટ", + "સપ્ટે", + "ઓક્ટો", + "નવે", + "ડિસે", + ], + + wide: [ + "જાન્યુઆરી", + "ફેબ્રુઆરી", + "માર્ચ", + "એપ્રિલ", + "મે", + "જૂન", + "જુલાઇ", + "ઓગસ્ટ", + "સપ્ટેમ્બર", + "ઓક્ટોબર", + "નવેમ્બર", + "ડિસેમ્બર", + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/gu.html +// #1727 - #1768 +const dayValues = { + narrow: ["ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"], + short: ["ર", "સો", "મં", "બુ", "ગુ", "શુ", "શ"], + abbreviated: ["રવિ", "સોમ", "મંગળ", "બુધ", "ગુરુ", "શુક્ર", "શનિ"], + wide: [ + "રવિવાર" /* Sunday */, + "સોમવાર" /* Monday */, + "મંગળવાર" /* Tuesday */, + "બુધવાર" /* Wednesday */, + "ગુરુવાર" /* Thursday */, + "શુક્રવાર" /* Friday */, + "શનિવાર" /* Saturday */, + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/gu.html +// #1783 - #1824 +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "મ.રાત્રિ", + noon: "બ.", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "​મધ્યરાત્રિ", + noon: "બપોરે", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "​મધ્યરાત્રિ", + noon: "બપોરે", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "મ.રાત્રિ", + noon: "બપોરે", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "મધ્યરાત્રિ", + noon: "બપોરે", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "​મધ્યરાત્રિ", + noon: "બપોરે", + morning: "સવારે", + afternoon: "બપોરે", + evening: "સાંજે", + night: "રાત્રે", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/gu/_lib/match.js b/.output/server/node_modules/date-fns/locale/gu/_lib/match.js new file mode 100644 index 00000000..2c27a240 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/gu/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(લ|જ|થ|ઠ્ઠ|મ)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ઈસપૂ|ઈસ)/i, + abbreviated: /^(ઈ\.સ\.પૂર્વે|ઈ\.સ\.)/i, + wide: /^(ઈસવીસન\sપૂર્વે|ઈસવીસન)/i, +}; +const parseEraPatterns = { + any: [/^ઈસપૂ/i, /^ઈસ/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](લો|જો|થો)? ત્રિમાસ/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + // eslint-disable-next-line no-misleading-character-class + narrow: /^[જાફેમાએમેજૂજુઓસઓનડિ]/i, + abbreviated: + /^(જાન્યુ|ફેબ્રુ|માર્ચ|એપ્રિલ|મે|જૂન|જુલાઈ|ઑગસ્ટ|સપ્ટે|ઓક્ટો|નવે|ડિસે)/i, + wide: /^(જાન્યુઆરી|ફેબ્રુઆરી|માર્ચ|એપ્રિલ|મે|જૂન|જુલાઇ|ઓગસ્ટ|સપ્ટેમ્બર|ઓક્ટોબર|નવેમ્બર|ડિસેમ્બર)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^જા/i, + /^ફે/i, + /^મા/i, + /^એ/i, + /^મે/i, + /^જૂ/i, + /^જુ/i, + /^ઑગ/i, + /^સ/i, + /^ઓક્ટો/i, + /^ન/i, + /^ડિ/i, + ], + + any: [ + /^જા/i, + /^ફે/i, + /^મા/i, + /^એ/i, + /^મે/i, + /^જૂ/i, + /^જુ/i, + /^ઑગ/i, + /^સ/i, + /^ઓક્ટો/i, + /^ન/i, + /^ડિ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ર|સો|મં|બુ|ગુ|શુ|શ)/i, + short: /^(ર|સો|મં|બુ|ગુ|શુ|શ)/i, + abbreviated: /^(રવિ|સોમ|મંગળ|બુધ|ગુરુ|શુક્ર|શનિ)/i, + wide: /^(રવિવાર|સોમવાર|મંગળવાર|બુધવાર|ગુરુવાર|શુક્રવાર|શનિવાર)/i, +}; +const parseDayPatterns = { + narrow: [/^ર/i, /^સો/i, /^મં/i, /^બુ/i, /^ગુ/i, /^શુ/i, /^શ/i], + any: [/^ર/i, /^સો/i, /^મં/i, /^બુ/i, /^ગુ/i, /^શુ/i, /^શ/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|મ\.?|સ|બ|સાં|રા)/i, + any: /^(a|p|મ\.?|સ|બ|સાં|રા)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^મ\.?/i, + noon: /^બ/i, + morning: /સ/i, + afternoon: /બ/i, + evening: /સાં/i, + night: /રા/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/he.js b/.output/server/node_modules/date-fns/locale/he.js new file mode 100644 index 00000000..62db49e1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./he/_lib/formatDistance.js"; +import { formatLong } from "./he/_lib/formatLong.js"; +import { formatRelative } from "./he/_lib/formatRelative.js"; +import { localize } from "./he/_lib/localize.js"; +import { match } from "./he/_lib/match.js"; + +/** + * @category Locales + * @summary Hebrew locale. + * @language Hebrew + * @iso-639-2 heb + * @author Nir Lahad [@nirlah](https://github.com/nirlah) + */ +export const he = { + code: "he", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default he; diff --git a/.output/server/node_modules/date-fns/locale/he/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/he/_lib/formatDistance.js new file mode 100644 index 00000000..7d0b655e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he/_lib/formatDistance.js @@ -0,0 +1,127 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "פחות משנייה", + two: "פחות משתי שניות", + other: "פחות מ־{{count}} שניות", + }, + + xSeconds: { + one: "שנייה", + two: "שתי שניות", + other: "{{count}} שניות", + }, + + halfAMinute: "חצי דקה", + + lessThanXMinutes: { + one: "פחות מדקה", + two: "פחות משתי דקות", + other: "פחות מ־{{count}} דקות", + }, + + xMinutes: { + one: "דקה", + two: "שתי דקות", + other: "{{count}} דקות", + }, + + aboutXHours: { + one: "כשעה", + two: "כשעתיים", + other: "כ־{{count}} שעות", + }, + + xHours: { + one: "שעה", + two: "שעתיים", + other: "{{count}} שעות", + }, + + xDays: { + one: "יום", + two: "יומיים", + other: "{{count}} ימים", + }, + + aboutXWeeks: { + one: "כשבוע", + two: "כשבועיים", + other: "כ־{{count}} שבועות", + }, + + xWeeks: { + one: "שבוע", + two: "שבועיים", + other: "{{count}} שבועות", + }, + + aboutXMonths: { + one: "כחודש", + two: "כחודשיים", + other: "כ־{{count}} חודשים", + }, + + xMonths: { + one: "חודש", + two: "חודשיים", + other: "{{count}} חודשים", + }, + + aboutXYears: { + one: "כשנה", + two: "כשנתיים", + other: "כ־{{count}} שנים", + }, + + xYears: { + one: "שנה", + two: "שנתיים", + other: "{{count}} שנים", + }, + + overXYears: { + one: "יותר משנה", + two: "יותר משנתיים", + other: "יותר מ־{{count}} שנים", + }, + + almostXYears: { + one: "כמעט שנה", + two: "כמעט שנתיים", + other: "כמעט {{count}} שנים", + }, +}; + +export const formatDistance = (token, count, options) => { + // Return word instead of `in one day` or `one day ago` + if (token === "xDays" && options?.addSuffix && count <= 2) { + if (options.comparison && options.comparison > 0) { + return count === 1 ? "מחר" : "מחרתיים"; + } + + return count === 1 ? "אתמול" : "שלשום"; + } + + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2) { + result = tokenValue.two; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "בעוד " + result; + } else { + return "לפני " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/he/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/he/_lib/formatLong.js new file mode 100644 index 00000000..637fab64 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d בMMMM y", + long: "d בMMMM y", + medium: "d בMMM y", + short: "d.M.y", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'בשעה' {{time}}", + long: "{{date}} 'בשעה' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/he/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/he/_lib/formatRelative.js new file mode 100644 index 00000000..e1d31d4d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'שעבר בשעה' p", + yesterday: "'אתמול בשעה' p", + today: "'היום בשעה' p", + tomorrow: "'מחר בשעה' p", + nextWeek: "eeee 'בשעה' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/he/_lib/localize.js b/.output/server/node_modules/date-fns/locale/he/_lib/localize.js new file mode 100644 index 00000000..b67807be --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he/_lib/localize.js @@ -0,0 +1,209 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["לפנה״ס", "לספירה"], + abbreviated: ["לפנה״ס", "לספירה"], + wide: ["לפני הספירה", "לספירה"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["רבעון 1", "רבעון 2", "רבעון 3", "רבעון 4"], +}; + +const monthValues = { + narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], + + abbreviated: [ + "ינו׳", + "פבר׳", + "מרץ", + "אפר׳", + "מאי", + "יוני", + "יולי", + "אוג׳", + "ספט׳", + "אוק׳", + "נוב׳", + "דצמ׳", + ], + + wide: [ + "ינואר", + "פברואר", + "מרץ", + "אפריל", + "מאי", + "יוני", + "יולי", + "אוגוסט", + "ספטמבר", + "אוקטובר", + "נובמבר", + "דצמבר", + ], +}; + +const dayValues = { + narrow: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], + short: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], + abbreviated: [ + "יום א׳", + "יום ב׳", + "יום ג׳", + "יום ד׳", + "יום ה׳", + "יום ו׳", + "שבת", + ], + + wide: [ + "יום ראשון", + "יום שני", + "יום שלישי", + "יום רביעי", + "יום חמישי", + "יום שישי", + "יום שבת", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בוקר", + afternoon: "אחר הצהריים", + evening: "ערב", + night: "לילה", + }, + abbreviated: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בוקר", + afternoon: "אחר הצהריים", + evening: "ערב", + night: "לילה", + }, + wide: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בוקר", + afternoon: "אחר הצהריים", + evening: "ערב", + night: "לילה", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בבוקר", + afternoon: "בצהריים", + evening: "בערב", + night: "בלילה", + }, + abbreviated: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בבוקר", + afternoon: "אחר הצהריים", + evening: "בערב", + night: "בלילה", + }, + wide: { + am: "לפנה״צ", + pm: "אחה״צ", + midnight: "חצות", + noon: "צהריים", + morning: "בבוקר", + afternoon: "אחר הצהריים", + evening: "בערב", + night: "בלילה", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + // We only show words till 10 + if (number <= 0 || number > 10) return String(number); + + const unit = String(options?.unit); + + const isFemale = ["year", "hour", "minute", "second"].indexOf(unit) >= 0; + + const male = [ + "ראשון", + "שני", + "שלישי", + "רביעי", + "חמישי", + "שישי", + "שביעי", + "שמיני", + "תשיעי", + "עשירי", + ]; + + const female = [ + "ראשונה", + "שנייה", + "שלישית", + "רביעית", + "חמישית", + "שישית", + "שביעית", + "שמינית", + "תשיעית", + "עשירית", + ]; + + const index = number - 1; + return isFemale ? female[index] : male[index]; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/he/_lib/match.js b/.output/server/node_modules/date-fns/locale/he/_lib/match.js new file mode 100644 index 00000000..61ac4f53 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/he/_lib/match.js @@ -0,0 +1,138 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = + /^(\d+|(ראשון|שני|שלישי|רביעי|חמישי|שישי|שביעי|שמיני|תשיעי|עשירי|ראשונה|שנייה|שלישית|רביעית|חמישית|שישית|שביעית|שמינית|תשיעית|עשירית))/i; +const parseOrdinalNumberPattern = /^(\d+|רא|שנ|של|רב|ח|שי|שב|שמ|ת|ע)/i; + +const matchEraPatterns = { + narrow: /^ל(ספירה|פנה״ס)/i, + abbreviated: /^ל(ספירה|פנה״ס)/i, + wide: /^ל(פני ה)?ספירה/i, +}; +const parseEraPatterns = { + any: [/^לפ/i, /^לס/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^רבעון [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^\d+/i, + abbreviated: /^(ינו|פבר|מרץ|אפר|מאי|יוני|יולי|אוג|ספט|אוק|נוב|דצמ)׳?/i, + wide: /^(ינואר|פברואר|מרץ|אפריל|מאי|יוני|יולי|אוגוסט|ספטמבר|אוקטובר|נובמבר|דצמבר)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^1$/i, + /^2/i, + /^3/i, + /^4/i, + /^5/i, + /^6/i, + /^7/i, + /^8/i, + /^9/i, + /^10/i, + /^11/i, + /^12/i, + ], + + any: [ + /^ינ/i, + /^פ/i, + /^מר/i, + /^אפ/i, + /^מא/i, + /^יונ/i, + /^יול/i, + /^אוג/i, + /^ס/i, + /^אוק/i, + /^נ/i, + /^ד/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[אבגדהוש]׳/i, + short: /^[אבגדהוש]׳/i, + abbreviated: /^(שבת|יום (א|ב|ג|ד|ה|ו)׳)/i, + wide: /^יום (ראשון|שני|שלישי|רביעי|חמישי|שישי|שבת)/i, +}; +const parseDayPatterns = { + abbreviated: [/א׳$/i, /ב׳$/i, /ג׳$/i, /ד׳$/i, /ה׳$/i, /ו׳$/i, /^ש/i], + wide: [/ן$/i, /ני$/i, /לישי$/i, /עי$/i, /מישי$/i, /שישי$/i, /ת$/i], + any: [/^א/i, /^ב/i, /^ג/i, /^ד/i, /^ה/i, /^ו/i, /^ש/i], +}; + +const matchDayPeriodPatterns = { + any: /^(אחר ה|ב)?(חצות|צהריים|בוקר|ערב|לילה|אחה״צ|לפנה״צ)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^לפ/i, + pm: /^אחה/i, + midnight: /^ח/i, + noon: /^צ/i, + morning: /בוקר/i, + afternoon: /בצ|אחר/i, + evening: /ערב/i, + night: /לילה/i, + }, +}; + +const ordinalName = ["רא", "שנ", "של", "רב", "ח", "שי", "שב", "שמ", "ת", "ע"]; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => { + const number = parseInt(value, 10); + return isNaN(number) ? ordinalName.indexOf(value) + 1 : number; + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hi.js b/.output/server/node_modules/date-fns/locale/hi.js new file mode 100644 index 00000000..25ddc345 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./hi/_lib/formatDistance.js"; +import { formatLong } from "./hi/_lib/formatLong.js"; +import { formatRelative } from "./hi/_lib/formatRelative.js"; +import { localize } from "./hi/_lib/localize.js"; +import { match } from "./hi/_lib/match.js"; + +/** + * @category Locales + * @summary Hindi locale (India). + * @language Hindi + * @iso-639-2 hin + * @author Mukesh Mandiwal [@mukeshmandiwal](https://github.com/mukeshmandiwal) + */ +export const hi = { + code: "hi", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default hi; diff --git a/.output/server/node_modules/date-fns/locale/hi/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/hi/_lib/formatDistance.js new file mode 100644 index 00000000..6cb08645 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi/_lib/formatDistance.js @@ -0,0 +1,105 @@ +import { numberToLocale } from "./localize.js"; + +// Source: https://www.unicode.org/cldr/charts/32/summary/hi.html + +const formatDistanceLocale = { + lessThanXSeconds: { + one: "१ सेकंड से कम", // CLDR #1310 + other: "{{count}} सेकंड से कम", + }, + + xSeconds: { + one: "१ सेकंड", + other: "{{count}} सेकंड", + }, + + halfAMinute: "आधा मिनट", + + lessThanXMinutes: { + one: "१ मिनट से कम", + other: "{{count}} मिनट से कम", + }, + + xMinutes: { + one: "१ मिनट", // CLDR #1307 + other: "{{count}} मिनट", + }, + + aboutXHours: { + one: "लगभग १ घंटा", + other: "लगभग {{count}} घंटे", + }, + + xHours: { + one: "१ घंटा", // CLDR #1304 + other: "{{count}} घंटे", // CLDR #4467 + }, + + xDays: { + one: "१ दिन", // CLDR #1286 + other: "{{count}} दिन", + }, + + aboutXWeeks: { + one: "लगभग १ सप्ताह", + other: "लगभग {{count}} सप्ताह", + }, + + xWeeks: { + one: "१ सप्ताह", + other: "{{count}} सप्ताह", + }, + + aboutXMonths: { + one: "लगभग १ महीना", + other: "लगभग {{count}} महीने", + }, + + xMonths: { + one: "१ महीना", + other: "{{count}} महीने", + }, + + aboutXYears: { + one: "लगभग १ वर्ष", + other: "लगभग {{count}} वर्ष", // CLDR #4823 + }, + + xYears: { + one: "१ वर्ष", + other: "{{count}} वर्ष", + }, + + overXYears: { + one: "१ वर्ष से अधिक", + other: "{{count}} वर्ष से अधिक", + }, + + almostXYears: { + one: "लगभग १ वर्ष", + other: "लगभग {{count}} वर्ष", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", numberToLocale(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "मे "; + } else { + return result + " पहले"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/hi/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/hi/_lib/formatLong.js new file mode 100644 index 00000000..dd60b177 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM, y", // CLDR #1787 + long: "do MMMM, y", // CLDR #1788 + medium: "d MMM, y", // CLDR #1789 + short: "dd/MM/yyyy", // CLDR #1790 +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", // CLDR #1791 + long: "h:mm:ss a z", // CLDR #1792 + medium: "h:mm:ss a", // CLDR #1793 + short: "h:mm a", // CLDR #1794 +}; + +const dateTimeFormats = { + full: "{{date}} 'को' {{time}}", // CLDR #1795 + long: "{{date}} 'को' {{time}}", // CLDR #1796 + medium: "{{date}}, {{time}}", // CLDR #1797 + short: "{{date}}, {{time}}", // CLDR #1798 +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hi/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/hi/_lib/formatRelative.js new file mode 100644 index 00000000..efc65b22 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'पिछले' eeee p", + yesterday: "'कल' p", + today: "'आज' p", + tomorrow: "'कल' p", + nextWeek: "eeee 'को' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/hi/_lib/localize.js b/.output/server/node_modules/date-fns/locale/hi/_lib/localize.js new file mode 100644 index 00000000..61249297 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi/_lib/localize.js @@ -0,0 +1,227 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const numberValues = { + locale: { + 1: "१", + 2: "२", + 3: "३", + 4: "४", + 5: "५", + 6: "६", + 7: "७", + 8: "८", + 9: "९", + 0: "०", + }, + number: { + "१": "1", + "२": "2", + "३": "3", + "४": "4", + "५": "5", + "६": "6", + "७": "7", + "८": "8", + "९": "9", + "०": "0", + }, +}; + +// CLDR #1585 - #1592 +const eraValues = { + narrow: ["ईसा-पूर्व", "ईस्वी"], + abbreviated: ["ईसा-पूर्व", "ईस्वी"], + wide: ["ईसा-पूर्व", "ईसवी सन"], +}; + +// CLDR #1593 - #1616 +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ति1", "ति2", "ति3", "ति4"], + wide: ["पहली तिमाही", "दूसरी तिमाही", "तीसरी तिमाही", "चौथी तिमाही"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +// https://www.unicode.org/cldr/charts/32/summary/hi.html +// CLDR #1617 - #1688 +const monthValues = { + narrow: [ + "ज", + "फ़", + "मा", + "अ", + "मई", + "जू", + "जु", + "अग", + "सि", + "अक्टू", + "न", + "दि", + ], + + abbreviated: [ + "जन", + "फ़र", + "मार्च", + "अप्रैल", + "मई", + "जून", + "जुल", + "अग", + "सित", + "अक्टू", + "नव", + "दिस", + ], + + wide: [ + "जनवरी", + "फ़रवरी", + "मार्च", + "अप्रैल", + "मई", + "जून", + "जुलाई", + "अगस्त", + "सितंबर", + "अक्टूबर", + "नवंबर", + "दिसंबर", + ], +}; + +// CLDR #1689 - #1744 +const dayValues = { + narrow: ["र", "सो", "मं", "बु", "गु", "शु", "श"], + short: ["र", "सो", "मं", "बु", "गु", "शु", "श"], + abbreviated: ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"], + wide: [ + "रविवार", + "सोमवार", + "मंगलवार", + "बुधवार", + "गुरुवार", + "शुक्रवार", + "शनिवार", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, + abbreviated: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, + wide: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, + abbreviated: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, + wide: { + am: "पूर्वाह्न", + pm: "अपराह्न", + midnight: "मध्यरात्रि", + noon: "दोपहर", + morning: "सुबह", + afternoon: "दोपहर", + evening: "शाम", + night: "रात", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return numberToLocale(number); +}; + +export function localeToNumber(locale) { + const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) { + return numberValues.number[match]; + }); + return Number(enNumber); +} + +export function numberToLocale(enNumber) { + return enNumber.toString().replace(/\d/g, function (match) { + return numberValues.locale[match]; + }); +} + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hi/_lib/match.js b/.output/server/node_modules/date-fns/locale/hi/_lib/match.js new file mode 100644 index 00000000..34880049 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hi/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { localeToNumber } from "./localize.js"; + +const matchOrdinalNumberPattern = /^[०१२३४५६७८९]+/i; +const parseOrdinalNumberPattern = /^[०१२३४५६७८९]+/i; + +const matchEraPatterns = { + narrow: /^(ईसा-पूर्व|ईस्वी)/i, + abbreviated: /^(ईसा\.?\s?पूर्व\.?|ईसा\.?)/i, + wide: /^(ईसा-पूर्व|ईसवी पूर्व|ईसवी सन|ईसवी)/i, +}; + +const parseEraPatterns = { + any: [/^b/i, /^(a|c)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ति[1234]/i, + wide: /^[1234](पहली|दूसरी|तीसरी|चौथी)? तिमाही/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + // eslint-disable-next-line no-misleading-character-class + narrow: /^[जफ़माअप्मईजूनजुअगसिअक्तनदि]/i, + abbreviated: /^(जन|फ़र|मार्च|अप्|मई|जून|जुल|अग|सित|अक्तू|नव|दिस)/i, + wide: /^(जनवरी|फ़रवरी|मार्च|अप्रैल|मई|जून|जुलाई|अगस्त|सितंबर|अक्तूबर|नवंबर|दिसंबर)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ज/i, + /^फ़/i, + /^मा/i, + /^अप्/i, + /^मई/i, + /^जू/i, + /^जु/i, + /^अग/i, + /^सि/i, + /^अक्तू/i, + /^न/i, + /^दि/i, + ], + + any: [ + /^जन/i, + /^फ़/i, + /^मा/i, + /^अप्/i, + /^मई/i, + /^जू/i, + /^जु/i, + /^अग/i, + /^सि/i, + /^अक्तू/i, + /^नव/i, + /^दिस/i, + ], +}; + +const matchDayPatterns = { + // eslint-disable-next-line no-misleading-character-class + narrow: /^[रविसोममंगलबुधगुरुशुक्रशनि]/i, + short: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i, + abbreviated: /^(रवि|सोम|मंगल|बुध|गुरु|शुक्र|शनि)/i, + wide: /^(रविवार|सोमवार|मंगलवार|बुधवार|गुरुवार|शुक्रवार|शनिवार)/i, +}; +const parseDayPatterns = { + narrow: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i], + + any: [/^रवि/i, /^सोम/i, /^मंगल/i, /^बुध/i, /^गुरु/i, /^शुक्र/i, /^शनि/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(पू|अ|म|द.\?|सु|दो|शा|रा)/i, + any: /^(पूर्वाह्न|अपराह्न|म|द.\?|सु|दो|शा|रा)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^पूर्वाह्न/i, + pm: /^अपराह्न/i, + midnight: /^मध्य/i, + noon: /^दो/i, + morning: /सु/i, + afternoon: /दो/i, + evening: /शा/i, + night: /रा/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: localeToNumber, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hr.js b/.output/server/node_modules/date-fns/locale/hr.js new file mode 100644 index 00000000..90a26a17 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./hr/_lib/formatDistance.js"; +import { formatLong } from "./hr/_lib/formatLong.js"; +import { formatRelative } from "./hr/_lib/formatRelative.js"; +import { localize } from "./hr/_lib/localize.js"; +import { match } from "./hr/_lib/match.js"; + +/** + * @category Locales + * @summary Croatian locale. + * @language Croatian + * @iso-639-2 hrv + * @author Matija Marohnić [@silvenon](https://github.com/silvenon) + * @author Manico [@manico](https://github.com/manico) + * @author Ivan Jeržabek [@jerzabek](https://github.com/jerzabek) + */ +export const hr = { + code: "hr", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default hr; diff --git a/.output/server/node_modules/date-fns/locale/hr/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/hr/_lib/formatDistance.js new file mode 100644 index 00000000..6e5ea064 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr/_lib/formatDistance.js @@ -0,0 +1,190 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + standalone: "manje od 1 sekunde", + withPrepositionAgo: "manje od 1 sekunde", + withPrepositionIn: "manje od 1 sekundu", + }, + dual: "manje od {{count}} sekunde", + other: "manje od {{count}} sekundi", + }, + + xSeconds: { + one: { + standalone: "1 sekunda", + withPrepositionAgo: "1 sekunde", + withPrepositionIn: "1 sekundu", + }, + dual: "{{count}} sekunde", + other: "{{count}} sekundi", + }, + + halfAMinute: "pola minute", + + lessThanXMinutes: { + one: { + standalone: "manje od 1 minute", + withPrepositionAgo: "manje od 1 minute", + withPrepositionIn: "manje od 1 minutu", + }, + dual: "manje od {{count}} minute", + other: "manje od {{count}} minuta", + }, + + xMinutes: { + one: { + standalone: "1 minuta", + withPrepositionAgo: "1 minute", + withPrepositionIn: "1 minutu", + }, + dual: "{{count}} minute", + other: "{{count}} minuta", + }, + + aboutXHours: { + one: { + standalone: "oko 1 sat", + withPrepositionAgo: "oko 1 sat", + withPrepositionIn: "oko 1 sat", + }, + dual: "oko {{count}} sata", + other: "oko {{count}} sati", + }, + + xHours: { + one: { + standalone: "1 sat", + withPrepositionAgo: "1 sat", + withPrepositionIn: "1 sat", + }, + dual: "{{count}} sata", + other: "{{count}} sati", + }, + + xDays: { + one: { + standalone: "1 dan", + withPrepositionAgo: "1 dan", + withPrepositionIn: "1 dan", + }, + dual: "{{count}} dana", + other: "{{count}} dana", + }, + + aboutXWeeks: { + one: { + standalone: "oko 1 tjedan", + withPrepositionAgo: "oko 1 tjedan", + withPrepositionIn: "oko 1 tjedan", + }, + dual: "oko {{count}} tjedna", + other: "oko {{count}} tjedana", + }, + + xWeeks: { + one: { + standalone: "1 tjedan", + withPrepositionAgo: "1 tjedan", + withPrepositionIn: "1 tjedan", + }, + dual: "{{count}} tjedna", + other: "{{count}} tjedana", + }, + + aboutXMonths: { + one: { + standalone: "oko 1 mjesec", + withPrepositionAgo: "oko 1 mjesec", + withPrepositionIn: "oko 1 mjesec", + }, + dual: "oko {{count}} mjeseca", + other: "oko {{count}} mjeseci", + }, + + xMonths: { + one: { + standalone: "1 mjesec", + withPrepositionAgo: "1 mjesec", + withPrepositionIn: "1 mjesec", + }, + dual: "{{count}} mjeseca", + other: "{{count}} mjeseci", + }, + + aboutXYears: { + one: { + standalone: "oko 1 godinu", + withPrepositionAgo: "oko 1 godinu", + withPrepositionIn: "oko 1 godinu", + }, + dual: "oko {{count}} godine", + other: "oko {{count}} godina", + }, + + xYears: { + one: { + standalone: "1 godina", + withPrepositionAgo: "1 godine", + withPrepositionIn: "1 godinu", + }, + dual: "{{count}} godine", + other: "{{count}} godina", + }, + + overXYears: { + one: { + standalone: "preko 1 godinu", + withPrepositionAgo: "preko 1 godinu", + withPrepositionIn: "preko 1 godinu", + }, + dual: "preko {{count}} godine", + other: "preko {{count}} godina", + }, + + almostXYears: { + one: { + standalone: "gotovo 1 godinu", + withPrepositionAgo: "gotovo 1 godinu", + withPrepositionIn: "gotovo 1 godinu", + }, + dual: "gotovo {{count}} godine", + other: "gotovo {{count}} godina", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + result = tokenValue.one.withPrepositionIn; + } else { + result = tokenValue.one.withPrepositionAgo; + } + } else { + result = tokenValue.one.standalone; + } + } else if ( + count % 10 > 1 && + count % 10 < 5 && // if last digit is between 2 and 4 + String(count).substr(-2, 1) !== "1" // unless the 2nd to last digit is "1" + ) { + result = tokenValue.dual.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "za " + result; + } else { + return "prije " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/hr/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/hr/_lib/formatLong.js new file mode 100644 index 00000000..6adc53ec --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM y.", + long: "d. MMMM y.", + medium: "d. MMM y.", + short: "dd. MM. y.", +}; + +const timeFormats = { + full: "HH:mm:ss (zzzz)", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'u' {{time}}", + long: "{{date}} 'u' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hr/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/hr/_lib/formatRelative.js new file mode 100644 index 00000000..412fe567 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr/_lib/formatRelative.js @@ -0,0 +1,40 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'prošlu nedjelju u' p"; + case 3: + return "'prošlu srijedu u' p"; + case 6: + return "'prošlu subotu u' p"; + default: + return "'prošli' EEEE 'u' p"; + } + }, + yesterday: "'jučer u' p", + today: "'danas u' p", + tomorrow: "'sutra u' p", + nextWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'iduću nedjelju u' p"; + case 3: + return "'iduću srijedu u' p"; + case 6: + return "'iduću subotu u' p"; + default: + return "'prošli' EEEE 'u' p"; + } + }, + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/hr/_lib/localize.js b/.output/server/node_modules/date-fns/locale/hr/_lib/localize.js new file mode 100644 index 00000000..6f7cef81 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr/_lib/localize.js @@ -0,0 +1,227 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["pr.n.e.", "AD"], + abbreviated: ["pr. Kr.", "po. Kr."], + wide: ["Prije Krista", "Poslije Krista"], +}; + +const quarterValues = { + narrow: ["1.", "2.", "3.", "4."], + abbreviated: ["1. kv.", "2. kv.", "3. kv.", "4. kv."], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "sij", + "velj", + "ožu", + "tra", + "svi", + "lip", + "srp", + "kol", + "ruj", + "lis", + "stu", + "pro", + ], + + wide: [ + "siječanj", + "veljača", + "ožujak", + "travanj", + "svibanj", + "lipanj", + "srpanj", + "kolovoz", + "rujan", + "listopad", + "studeni", + "prosinac", + ], +}; + +const formattingMonthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "sij", + "velj", + "ožu", + "tra", + "svi", + "lip", + "srp", + "kol", + "ruj", + "lis", + "stu", + "pro", + ], + + wide: [ + "siječnja", + "veljače", + "ožujka", + "travnja", + "svibnja", + "lipnja", + "srpnja", + "kolovoza", + "rujna", + "listopada", + "studenog", + "prosinca", + ], +}; + +const dayValues = { + narrow: ["N", "P", "U", "S", "Č", "P", "S"], + short: ["ned", "pon", "uto", "sri", "čet", "pet", "sub"], + abbreviated: ["ned", "pon", "uto", "sri", "čet", "pet", "sub"], + wide: [ + "nedjelja", + "ponedjeljak", + "utorak", + "srijeda", + "četvrtak", + "petak", + "subota", + ], +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "popodne", + evening: "navečer", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "popodne", + evening: "navečer", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "poslije podne", + evening: "navečer", + night: "noću", + }, +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "popodne", + evening: "navečer", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "popodne", + evening: "navečer", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutro", + afternoon: "poslije podne", + evening: "navečer", + night: "noću", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hr/_lib/match.js b/.output/server/node_modules/date-fns/locale/hr/_lib/match.js new file mode 100644 index 00000000..675ea157 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hr/_lib/match.js @@ -0,0 +1,146 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(pr\.n\.e\.|AD)/i, + abbreviated: /^(pr\.\s?Kr\.|po\.\s?Kr\.)/i, + wide: /^(Prije Krista|prije nove ere|Poslije Krista|nova era)/i, +}; +const parseEraPatterns = { + any: [/^pr/i, /^(po|nova)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\.\s?kv\.?/i, + wide: /^[1234]\. kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(10|11|12|[123456789])\./i, + abbreviated: /^(sij|velj|(ožu|ozu)|tra|svi|lip|srp|kol|ruj|lis|stu|pro)/i, + wide: /^((siječanj|siječnja|sijecanj|sijecnja)|(veljača|veljače|veljaca|veljace)|(ožujak|ožujka|ozujak|ozujka)|(travanj|travnja)|(svibanj|svibnja)|(lipanj|lipnja)|(srpanj|srpnja)|(kolovoz|kolovoza)|(rujan|rujna)|(listopad|listopada)|(studeni|studenog)|(prosinac|prosinca))/i, +}; +const parseMonthPatterns = { + narrow: [ + /1/i, + /2/i, + /3/i, + /4/i, + /5/i, + /6/i, + /7/i, + /8/i, + /9/i, + /10/i, + /11/i, + /12/i, + ], + + abbreviated: [ + /^sij/i, + /^velj/i, + /^(ožu|ozu)/i, + /^tra/i, + /^svi/i, + /^lip/i, + /^srp/i, + /^kol/i, + /^ruj/i, + /^lis/i, + /^stu/i, + /^pro/i, + ], + + wide: [ + /^sij/i, + /^velj/i, + /^(ožu|ozu)/i, + /^tra/i, + /^svi/i, + /^lip/i, + /^srp/i, + /^kol/i, + /^ruj/i, + /^lis/i, + /^stu/i, + /^pro/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npusčc]/i, + short: /^(ned|pon|uto|sri|(čet|cet)|pet|sub)/i, + abbreviated: /^(ned|pon|uto|sri|(čet|cet)|pet|sub)/i, + wide: /^(nedjelja|ponedjeljak|utorak|srijeda|(četvrtak|cetvrtak)|petak|subota)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|ponoc|ponoć|(po)?podne|navecer|navečer|noću|poslije podne|ujutro)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^pono/i, + noon: /^pod/i, + morning: /jutro/i, + afternoon: /(poslije\s|po)+podne/i, + evening: /(navece|naveče)/i, + night: /(nocu|noću)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "wide", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ht.js b/.output/server/node_modules/date-fns/locale/ht.js new file mode 100644 index 00000000..8f45d0cb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ht/_lib/formatDistance.js"; +import { formatLong } from "./ht/_lib/formatLong.js"; +import { formatRelative } from "./ht/_lib/formatRelative.js"; +import { localize } from "./ht/_lib/localize.js"; +import { match } from "./ht/_lib/match.js"; + +/** + * @category Locales + * @summary Haitian Creole locale. + * @language Haitian Creole + * @iso-639-2 hat + * @author Rubens Mariuzzo [@rmariuzzo](https://github.com/rmariuzzo) + * @author Watson Marcelain [@watsongm24](https://github.com/watsongm24) + */ +export const ht = { + code: "ht", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default ht; diff --git a/.output/server/node_modules/date-fns/locale/ht/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ht/_lib/formatDistance.js new file mode 100644 index 00000000..3229a9d3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mwens pase yon segond", + other: "mwens pase {{count}} segond", + }, + + xSeconds: { + one: "1 segond", + other: "{{count}} segond", + }, + + halfAMinute: "30 segond", + + lessThanXMinutes: { + one: "mwens pase yon minit", + other: "mwens pase {{count}} minit", + }, + + xMinutes: { + one: "1 minit", + other: "{{count}} minit", + }, + + aboutXHours: { + one: "anviwon inè", + other: "anviwon {{count}} è", + }, + + xHours: { + one: "1 lè", + other: "{{count}} lè", + }, + + xDays: { + one: "1 jou", + other: "{{count}} jou", + }, + + aboutXWeeks: { + one: "anviwon 1 semèn", + other: "anviwon {{count}} semèn", + }, + + xWeeks: { + one: "1 semèn", + other: "{{count}} semèn", + }, + + aboutXMonths: { + one: "anviwon 1 mwa", + other: "anviwon {{count}} mwa", + }, + + xMonths: { + one: "1 mwa", + other: "{{count}} mwa", + }, + + aboutXYears: { + one: "anviwon 1 an", + other: "anviwon {{count}} an", + }, + + xYears: { + one: "1 an", + other: "{{count}} an", + }, + + overXYears: { + one: "plis pase 1 an", + other: "plis pase {{count}} an", + }, + + almostXYears: { + one: "prèske 1 an", + other: "prèske {{count}} an", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "nan " + result; + } else { + return "sa fè " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ht/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ht/_lib/formatLong.js new file mode 100644 index 00000000..29fc5c92 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'nan lè' {{time}}", + long: "{{date}} 'nan lè' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ht/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ht/_lib/formatRelative.js new file mode 100644 index 00000000..e6dcba2e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'pase nan lè' p", + yesterday: "'yè nan lè' p", + today: "'jodi a' p", + tomorrow: "'demen nan lè' p'", + nextWeek: "eeee 'pwochen nan lè' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ht/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ht/_lib/localize.js new file mode 100644 index 00000000..4ac1d2f7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht/_lib/localize.js @@ -0,0 +1,127 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["av. J.-K", "ap. J.-K"], + abbreviated: ["av. J.-K", "ap. J.-K"], + wide: ["anvan Jezi Kris", "apre Jezi Kris"], +}; + +const quarterValues = { + narrow: ["T1", "T2", "T3", "T4"], + abbreviated: ["1ye trim.", "2yèm trim.", "3yèm trim.", "4yèm trim."], + wide: ["1ye trimès", "2yèm trimès", "3yèm trimès", "4yèm trimès"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "O", "S", "O", "N", "D"], + abbreviated: [ + "janv.", + "fevr.", + "mas", + "avr.", + "me", + "jen", + "jiyè", + "out", + "sept.", + "okt.", + "nov.", + "des.", + ], + + wide: [ + "janvye", + "fevrye", + "mas", + "avril", + "me", + "jen", + "jiyè", + "out", + "septanm", + "oktòb", + "novanm", + "desanm", + ], +}; + +const dayValues = { + narrow: ["D", "L", "M", "M", "J", "V", "S"], + short: ["di", "le", "ma", "mè", "je", "va", "sa"], + abbreviated: ["dim.", "len.", "mad.", "mèk.", "jed.", "van.", "sam."], + + wide: ["dimanch", "lendi", "madi", "mèkredi", "jedi", "vandredi", "samdi"], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "minwit", + noon: "midi", + morning: "mat.", + afternoon: "ap.m.", + evening: "swa", + night: "mat.", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "minwit", + noon: "midi", + morning: "maten", + afternoon: "aprèmidi", + evening: "swa", + night: "maten", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "minwit", + noon: "midi", + morning: "nan maten", + afternoon: "nan aprèmidi", + evening: "nan aswè", + night: "nan maten", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + if (number === 0) return String(number); + + const suffix = number === 1 ? "ye" : "yèm"; + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ht/_lib/match.js b/.output/server/node_modules/date-fns/locale/ht/_lib/match.js new file mode 100644 index 00000000..4196f1b6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ht/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ye|yèm)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(av\.J\.K|ap\.J\.K|ap\.J\.-K)/i, + abbreviated: /^(av\.J\.-K|av\.J-K|apr\.J\.-K|apr\.J-K|ap\.J-K)/i, + wide: /^(avan Jezi Kris|apre Jezi Kris)/i, +}; +const parseEraPatterns = { + any: [/^av/i, /^ap/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^t[1234]/i, + wide: /^[1234](ye|yèm)? trimès/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(janv|fevr|mas|avr|me|jen|jiyè|out|sept|okt|nov|des)\.?/i, + wide: /^(janvye|fevrye|mas|avril|me|jen|jiyè|out|septanm|oktòb|novanm|desanm)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^o/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^ma/i, + /^av/i, + /^me/i, + /^je/i, + /^ji/i, + /^ou/i, + /^s/i, + /^ok/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[lmjvsd]/i, + short: /^(di|le|ma|me|je|va|sa)/i, + abbreviated: /^(dim|len|mad|mèk|jed|van|sam)\.?/i, + wide: /^(dimanch|lendi|madi|mèkredi|jedi|vandredi|samdi)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], + any: [/^di/i, /^le/i, /^ma/i, /^mè/i, /^je/i, /^va/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|minwit|midi|mat\.?|ap\.?m\.?|swa)/i, + any: /^([ap]\.?\s?m\.?|nan maten|nan aprèmidi|nan aswè)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^min/i, + noon: /^mid/i, + morning: /mat/i, + afternoon: /ap/i, + evening: /sw/i, + night: /nwit/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hu.js b/.output/server/node_modules/date-fns/locale/hu.js new file mode 100644 index 00000000..dae5af29 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./hu/_lib/formatDistance.js"; +import { formatLong } from "./hu/_lib/formatLong.js"; +import { formatRelative } from "./hu/_lib/formatRelative.js"; +import { localize } from "./hu/_lib/localize.js"; +import { match } from "./hu/_lib/match.js"; + +/** + * @category Locales + * @summary Hungarian locale. + * @language Hungarian + * @iso-639-2 hun + * @author Pavlo Shpak [@pshpak](https://github.com/pshpak) + * @author Eduardo Pardo [@eduardopsll](https://github.com/eduardopsll) + * @author Zoltan Szepesi [@twodcube](https://github.com/twodcube) + */ +export const hu = { + code: "hu", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default hu; diff --git a/.output/server/node_modules/date-fns/locale/hu/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/hu/_lib/formatDistance.js new file mode 100644 index 00000000..30e23bb2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu/_lib/formatDistance.js @@ -0,0 +1,82 @@ +const translations = { + about: "körülbelül", + over: "több mint", + almost: "majdnem", + lessthan: "kevesebb mint", +}; + +const withoutSuffixes = { + xseconds: " másodperc", + halfaminute: "fél perc", + xminutes: " perc", + xhours: " óra", + xdays: " nap", + xweeks: " hét", + xmonths: " hónap", + xyears: " év", +}; + +const withSuffixes = { + xseconds: { + "-1": " másodperccel ezelőtt", + 1: " másodperc múlva", + 0: " másodperce", + }, + halfaminute: { + "-1": "fél perccel ezelőtt", + 1: "fél perc múlva", + 0: "fél perce", + }, + xminutes: { + "-1": " perccel ezelőtt", + 1: " perc múlva", + 0: " perce", + }, + xhours: { + "-1": " órával ezelőtt", + 1: " óra múlva", + 0: " órája", + }, + xdays: { + "-1": " nappal ezelőtt", + 1: " nap múlva", + 0: " napja", + }, + xweeks: { + "-1": " héttel ezelőtt", + 1: " hét múlva", + 0: " hete", + }, + xmonths: { + "-1": " hónappal ezelőtt", + 1: " hónap múlva", + 0: " hónapja", + }, + xyears: { + "-1": " évvel ezelőtt", + 1: " év múlva", + 0: " éve", + }, +}; + +export const formatDistance = (token, count, options) => { + const adverb = token.match(/about|over|almost|lessthan/i); + const unit = adverb ? token.replace(adverb[0], "") : token; + + const addSuffix = options?.addSuffix === true; + const key = unit.toLowerCase(); + const comparison = options?.comparison || 0; + + const translated = addSuffix + ? withSuffixes[key][comparison] + : withoutSuffixes[key]; + + let result = key === "halfaminute" ? translated : count + translated; + + if (adverb) { + const adv = adverb[0].toLowerCase(); + result = translations[adv] + " " + result; + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/hu/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/hu/_lib/formatLong.js new file mode 100644 index 00000000..2defb576 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y. MMMM d., EEEE", + long: "y. MMMM d.", + medium: "y. MMM d.", + short: "y. MM. dd.", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hu/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/hu/_lib/formatRelative.js new file mode 100644 index 00000000..27a8eb74 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu/_lib/formatRelative.js @@ -0,0 +1,35 @@ +const accusativeWeekdays = [ + "vasárnap", + "hétfőn", + "kedden", + "szerdán", + "csütörtökön", + "pénteken", + "szombaton", +]; + +function week(isFuture) { + return (date) => { + const weekday = accusativeWeekdays[date.getDay()]; + const prefix = isFuture ? "" : "'múlt' "; + return `${prefix}'${weekday}' p'-kor'`; + }; +} +const formatRelativeLocale = { + lastWeek: week(false), + yesterday: "'tegnap' p'-kor'", + today: "'ma' p'-kor'", + tomorrow: "'holnap' p'-kor'", + nextWeek: week(true), + other: "P", +}; + +export const formatRelative = (token, date) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/hu/_lib/localize.js b/.output/server/node_modules/date-fns/locale/hu/_lib/localize.js new file mode 100644 index 00000000..2a8b2bf2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu/_lib/localize.js @@ -0,0 +1,138 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ie.", "isz."], + abbreviated: ["i. e.", "i. sz."], + wide: ["Krisztus előtt", "időszámításunk szerint"], +}; + +const quarterValues = { + narrow: ["1.", "2.", "3.", "4."], + abbreviated: ["1. n.év", "2. n.év", "3. n.év", "4. n.év"], + wide: ["1. negyedév", "2. negyedév", "3. negyedév", "4. negyedév"], +}; + +const formattingQuarterValues = { + narrow: ["I.", "II.", "III.", "IV."], + abbreviated: ["I. n.év", "II. n.év", "III. n.év", "IV. n.év"], + wide: ["I. negyedév", "II. negyedév", "III. negyedév", "IV. negyedév"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "Á", "M", "J", "J", "A", "Sz", "O", "N", "D"], + + abbreviated: [ + "jan.", + "febr.", + "márc.", + "ápr.", + "máj.", + "jún.", + "júl.", + "aug.", + "szept.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "január", + "február", + "március", + "április", + "május", + "június", + "július", + "augusztus", + "szeptember", + "október", + "november", + "december", + ], +}; + +const dayValues = { + narrow: ["V", "H", "K", "Sz", "Cs", "P", "Sz"], + short: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], + abbreviated: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], + wide: [ + "vasárnap", + "hétfő", + "kedd", + "szerda", + "csütörtök", + "péntek", + "szombat", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "de.", + pm: "du.", + midnight: "éjfél", + noon: "dél", + morning: "reggel", + afternoon: "du.", + evening: "este", + night: "éjjel", + }, + abbreviated: { + am: "de.", + pm: "du.", + midnight: "éjfél", + noon: "dél", + morning: "reggel", + afternoon: "du.", + evening: "este", + night: "éjjel", + }, + wide: { + am: "de.", + pm: "du.", + midnight: "éjfél", + noon: "dél", + morning: "reggel", + afternoon: "délután", + evening: "este", + night: "éjjel", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + formattingValues: formattingQuarterValues, + defaultFormattingWidth: "wide", + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hu/_lib/match.js b/.output/server/node_modules/date-fns/locale/hu/_lib/match.js new file mode 100644 index 00000000..750d0906 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hu/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ie\.|isz\.)/i, + abbreviated: /^(i\.\s?e\.?|b?\s?c\s?e|i\.\s?sz\.?)/i, + wide: /^(Krisztus előtt|időszámításunk előtt|időszámításunk szerint|i\. sz\.)/i, +}; +const parseEraPatterns = { + narrow: [/ie/i, /isz/i], + abbreviated: [/^(i\.?\s?e\.?|b\s?ce)/i, /^(i\.?\s?sz\.?|c\s?e)/i], + any: [/előtt/i, /(szerint|i. sz.)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]\.?/i, + abbreviated: /^[1234]?\.?\s?n\.év/i, + wide: /^([1234]|I|II|III|IV)?\.?\s?negyedév/i, +}; +const parseQuarterPatterns = { + any: [/1|I$/i, /2|II$/i, /3|III/i, /4|IV/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmaásond]|sz/i, + abbreviated: + /^(jan\.?|febr\.?|márc\.?|ápr\.?|máj\.?|jún\.?|júl\.?|aug\.?|szept\.?|okt\.?|nov\.?|dec\.?)/i, + wide: /^(január|február|március|április|május|június|július|augusztus|szeptember|október|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a|á/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s|sz/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^már/i, + /^áp/i, + /^máj/i, + /^jún/i, + /^júl/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^([vhkpc]|sz|cs|sz)/i, + short: /^([vhkp]|sze|cs|szo)/i, + abbreviated: /^([vhkp]|sze|cs|szo)/i, + wide: /^(vasárnap|hétfő|kedd|szerda|csütörtök|péntek|szombat)/i, +}; +const parseDayPatterns = { + narrow: [/^v/i, /^h/i, /^k/i, /^sz/i, /^c/i, /^p/i, /^sz/i], + any: [/^v/i, /^h/i, /^k/i, /^sze/i, /^c/i, /^p/i, /^szo/i], +}; + +const matchDayPeriodPatterns = { + any: /^((de|du)\.?|éjfél|délután|dél|reggel|este|éjjel)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^de\.?/i, + pm: /^du\.?/i, + midnight: /^éjf/i, + noon: /^dé/i, + morning: /reg/i, + afternoon: /^délu\.?/i, + evening: /es/i, + night: /éjj/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hy.js b/.output/server/node_modules/date-fns/locale/hy.js new file mode 100644 index 00000000..da3caffa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./hy/_lib/formatDistance.js"; +import { formatLong } from "./hy/_lib/formatLong.js"; +import { formatRelative } from "./hy/_lib/formatRelative.js"; +import { localize } from "./hy/_lib/localize.js"; +import { match } from "./hy/_lib/match.js"; + +/** + * @category Locales + * @summary Armenian locale + * @language Armenian + * @iso-639-2 arm + * @author Alex Igityan [@alexigityan](https://github.com/alexigityan) + */ +export const hy = { + code: "hy", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default hy; diff --git a/.output/server/node_modules/date-fns/locale/hy/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/hy/_lib/formatDistance.js new file mode 100644 index 00000000..8b82a7f6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "ավելի քիչ քան 1 վայրկյան", + other: "ավելի քիչ քան {{count}} վայրկյան", + }, + + xSeconds: { + one: "1 վայրկյան", + other: "{{count}} վայրկյան", + }, + + halfAMinute: "կես րոպե", + + lessThanXMinutes: { + one: "ավելի քիչ քան 1 րոպե", + other: "ավելի քիչ քան {{count}} րոպե", + }, + + xMinutes: { + one: "1 րոպե", + other: "{{count}} րոպե", + }, + + aboutXHours: { + one: "մոտ 1 ժամ", + other: "մոտ {{count}} ժամ", + }, + + xHours: { + one: "1 ժամ", + other: "{{count}} ժամ", + }, + + xDays: { + one: "1 օր", + other: "{{count}} օր", + }, + + aboutXWeeks: { + one: "մոտ 1 շաբաթ", + other: "մոտ {{count}} շաբաթ", + }, + + xWeeks: { + one: "1 շաբաթ", + other: "{{count}} շաբաթ", + }, + + aboutXMonths: { + one: "մոտ 1 ամիս", + other: "մոտ {{count}} ամիս", + }, + + xMonths: { + one: "1 ամիս", + other: "{{count}} ամիս", + }, + + aboutXYears: { + one: "մոտ 1 տարի", + other: "մոտ {{count}} տարի", + }, + + xYears: { + one: "1 տարի", + other: "{{count}} տարի", + }, + + overXYears: { + one: "ավելի քան 1 տարի", + other: "ավելի քան {{count}} տարի", + }, + + almostXYears: { + one: "համարյա 1 տարի", + other: "համարյա {{count}} տարի", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " հետո"; + } else { + return result + " առաջ"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/hy/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/hy/_lib/formatLong.js new file mode 100644 index 00000000..93744fda --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "d MMMM, y, EEEE", + long: "d MMMM, y", + medium: "d MMM, y", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'ժ․'{{time}}", + long: "{{date}} 'ժ․'{{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hy/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/hy/_lib/formatRelative.js new file mode 100644 index 00000000..52a229ca --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'նախորդ' eeee p'֊ին'", + yesterday: "'երեկ' p'֊ին'", + today: "'այսօր' p'֊ին'", + tomorrow: "'վաղը' p'֊ին'", + nextWeek: "'հաջորդ' eeee p'֊ին'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/hy/_lib/localize.js b/.output/server/node_modules/date-fns/locale/hy/_lib/localize.js new file mode 100644 index 00000000..08d06d1e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy/_lib/localize.js @@ -0,0 +1,178 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["Ք", "Մ"], + abbreviated: ["ՔԱ", "ՄԹ"], + wide: ["Քրիստոսից առաջ", "Մեր թվարկության"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Ք1", "Ք2", "Ք3", "Ք4"], + wide: ["1֊ին քառորդ", "2֊րդ քառորդ", "3֊րդ քառորդ", "4֊րդ քառորդ"], +}; + +const monthValues = { + narrow: ["Հ", "Փ", "Մ", "Ա", "Մ", "Հ", "Հ", "Օ", "Ս", "Հ", "Ն", "Դ"], + abbreviated: [ + "հուն", + "փետ", + "մար", + "ապր", + "մայ", + "հուն", + "հուլ", + "օգս", + "սեպ", + "հոկ", + "նոյ", + "դեկ", + ], + + wide: [ + "հունվար", + "փետրվար", + "մարտ", + "ապրիլ", + "մայիս", + "հունիս", + "հուլիս", + "օգոստոս", + "սեպտեմբեր", + "հոկտեմբեր", + "նոյեմբեր", + "դեկտեմբեր", + ], +}; + +const dayValues = { + narrow: ["Կ", "Ե", "Ե", "Չ", "Հ", "Ո", "Շ"], + short: ["կր", "եր", "եք", "չք", "հգ", "ուր", "շբ"], + abbreviated: ["կիր", "երկ", "երք", "չոր", "հնգ", "ուրբ", "շաբ"], + wide: [ + "կիրակի", + "երկուշաբթի", + "երեքշաբթի", + "չորեքշաբթի", + "հինգշաբթի", + "ուրբաթ", + "շաբաթ", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "կեսգշ", + noon: "կեսօր", + morning: "առավոտ", + afternoon: "ցերեկ", + evening: "երեկո", + night: "գիշեր", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "կեսգիշեր", + noon: "կեսօր", + morning: "առավոտ", + afternoon: "ցերեկ", + evening: "երեկո", + night: "գիշեր", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "կեսգիշեր", + noon: "կեսօր", + morning: "առավոտ", + afternoon: "ցերեկ", + evening: "երեկո", + night: "գիշեր", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "կեսգշ", + noon: "կեսօր", + morning: "առավոտը", + afternoon: "ցերեկը", + evening: "երեկոյան", + night: "գիշերը", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "կեսգիշերին", + noon: "կեսօրին", + morning: "առավոտը", + afternoon: "ցերեկը", + evening: "երեկոյան", + night: "գիշերը", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "կեսգիշերին", + noon: "կեսօրին", + morning: "առավոտը", + afternoon: "ցերեկը", + evening: "երեկոյան", + night: "գիշերը", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + // If ordinal numbers depend on context, for example, + // if they are different for different grammatical genders, + // use `options.unit`. + // + // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', + // 'day', 'hour', 'minute', 'second'. + + const rem100 = number % 100; + if (rem100 < 10) { + if (rem100 % 10 === 1) { + return number + "֊ին"; + } + } + return number + "֊րդ"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/hy/_lib/match.js b/.output/server/node_modules/date-fns/locale/hy/_lib/match.js new file mode 100644 index 00000000..eb2275cd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/hy/_lib/match.js @@ -0,0 +1,135 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)((-|֊)?(ին|րդ))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(Ք|Մ)/i, + abbreviated: /^(Ք\.?\s?Ա\.?|Մ\.?\s?Թ\.?\s?Ա\.?|Մ\.?\s?Թ\.?|Ք\.?\s?Հ\.?)/i, + wide: /^(քրիստոսից առաջ|մեր թվարկությունից առաջ|մեր թվարկության|քրիստոսից հետո)/i, +}; +const parseEraPatterns = { + any: [/^ք/i, /^մ/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ք[1234]/i, + wide: /^[1234]((-|֊)?(ին|րդ)) քառորդ/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[հփմաօսնդ]/i, + abbreviated: /^(հուն|փետ|մար|ապր|մայ|հուն|հուլ|օգս|սեպ|հոկ|նոյ|դեկ)/i, + wide: /^(հունվար|փետրվար|մարտ|ապրիլ|մայիս|հունիս|հուլիս|օգոստոս|սեպտեմբեր|հոկտեմբեր|նոյեմբեր|դեկտեմբեր)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^հ/i, + /^փ/i, + /^մ/i, + /^ա/i, + /^մ/i, + /^հ/i, + /^հ/i, + /^օ/i, + /^ս/i, + /^հ/i, + /^ն/i, + /^դ/i, + ], + + any: [ + /^հու/i, + /^փ/i, + /^մար/i, + /^ա/i, + /^մայ/i, + /^հուն/i, + /^հուլ/i, + /^օ/i, + /^ս/i, + /^հոկ/i, + /^ն/i, + /^դ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[եչհոշկ]/i, + short: /^(կր|եր|եք|չք|հգ|ուր|շբ)/i, + abbreviated: /^(կիր|երկ|երք|չոր|հնգ|ուրբ|շաբ)/i, + wide: /^(կիրակի|երկուշաբթի|երեքշաբթի|չորեքշաբթի|հինգշաբթի|ուրբաթ|շաբաթ)/i, +}; +const parseDayPatterns = { + narrow: [/^կ/i, /^ե/i, /^ե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i], + short: [/^կ/i, /^եր/i, /^եք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i], + abbreviated: [/^կ/i, /^երկ/i, /^երք/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i], + + wide: [/^կ/i, /^երկ/i, /^երե/i, /^չ/i, /^հ/i, /^(ո|Ո)/, /^շ/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([ap]|կեսգշ|կեսօր|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i, + any: /^([ap]\.?\s?m\.?|կեսգիշեր(ին)?|կեսօր(ին)?|(առավոտը?|ցերեկը?|երեկո(յան)?|գիշերը?))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /կեսգիշեր/i, + noon: /կեսօր/i, + morning: /առավոտ/i, + afternoon: /ցերեկ/i, + evening: /երեկո/i, + night: /գիշեր/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "wide", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/id.js b/.output/server/node_modules/date-fns/locale/id.js new file mode 100644 index 00000000..56dbd847 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id.js @@ -0,0 +1,31 @@ +import { formatDistance } from "./id/_lib/formatDistance.js"; +import { formatLong } from "./id/_lib/formatLong.js"; +import { formatRelative } from "./id/_lib/formatRelative.js"; +import { localize } from "./id/_lib/localize.js"; +import { match } from "./id/_lib/match.js"; + +/** + * @category Locales + * @summary Indonesian locale. + * @language Indonesian + * @iso-639-2 ind + * @author Rahmat Budiharso [@rbudiharso](https://github.com/rbudiharso) + * @author Benget Nata [@bentinata](https://github.com/bentinata) + * @author Budi Irawan [@deerawan](https://github.com/deerawan) + * @author Try Ajitiono [@imballinst](https://github.com/imballinst) + */ +export const id = { + code: "id", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default id; diff --git a/.output/server/node_modules/date-fns/locale/id/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/id/_lib/formatDistance.js new file mode 100644 index 00000000..f6b1882d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "kurang dari 1 detik", + other: "kurang dari {{count}} detik", + }, + + xSeconds: { + one: "1 detik", + other: "{{count}} detik", + }, + + halfAMinute: "setengah menit", + + lessThanXMinutes: { + one: "kurang dari 1 menit", + other: "kurang dari {{count}} menit", + }, + + xMinutes: { + one: "1 menit", + other: "{{count}} menit", + }, + + aboutXHours: { + one: "sekitar 1 jam", + other: "sekitar {{count}} jam", + }, + + xHours: { + one: "1 jam", + other: "{{count}} jam", + }, + + xDays: { + one: "1 hari", + other: "{{count}} hari", + }, + + aboutXWeeks: { + one: "sekitar 1 minggu", + other: "sekitar {{count}} minggu", + }, + + xWeeks: { + one: "1 minggu", + other: "{{count}} minggu", + }, + + aboutXMonths: { + one: "sekitar 1 bulan", + other: "sekitar {{count}} bulan", + }, + + xMonths: { + one: "1 bulan", + other: "{{count}} bulan", + }, + + aboutXYears: { + one: "sekitar 1 tahun", + other: "sekitar {{count}} tahun", + }, + + xYears: { + one: "1 tahun", + other: "{{count}} tahun", + }, + + overXYears: { + one: "lebih dari 1 tahun", + other: "lebih dari {{count}} tahun", + }, + + almostXYears: { + one: "hampir 1 tahun", + other: "hampir {{count}} tahun", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "dalam waktu " + result; + } else { + return result + " yang lalu"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/id/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/id/_lib/formatLong.js new file mode 100644 index 00000000..8796be1d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "d/M/yyyy", +}; + +const timeFormats = { + full: "HH.mm.ss", + long: "HH.mm.ss", + medium: "HH.mm", + short: "HH.mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'pukul' {{time}}", + long: "{{date}} 'pukul' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/id/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/id/_lib/formatRelative.js new file mode 100644 index 00000000..a2edcd84 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'lalu pukul' p", + yesterday: "'Kemarin pukul' p", + today: "'Hari ini pukul' p", + tomorrow: "'Besok pukul' p", + nextWeek: "eeee 'pukul' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/id/_lib/localize.js b/.output/server/node_modules/date-fns/locale/id/_lib/localize.js new file mode 100644 index 00000000..bb9db18f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id/_lib/localize.js @@ -0,0 +1,165 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// All data for localization are taken from this page +// https://www.unicode.org/cldr/charts/32/summary/id.html +const eraValues = { + narrow: ["SM", "M"], + abbreviated: ["SM", "M"], + wide: ["Sebelum Masehi", "Masehi"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["Kuartal ke-1", "Kuartal ke-2", "Kuartal ke-3", "Kuartal ke-4"], +}; + +// Note: in Indonesian, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mar", + "Apr", + "Mei", + "Jun", + "Jul", + "Agt", + "Sep", + "Okt", + "Nov", + "Des", + ], + + wide: [ + "Januari", + "Februari", + "Maret", + "April", + "Mei", + "Juni", + "Juli", + "Agustus", + "September", + "Oktober", + "November", + "Desember", + ], +}; + +const dayValues = { + narrow: ["M", "S", "S", "R", "K", "J", "S"], + short: ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"], + abbreviated: ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"], + wide: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "siang", + evening: "sore", + night: "malam", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + // Can't use "pertama", "kedua" because can't be parsed + + return "ke-" + number; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/id/_lib/match.js b/.output/server/node_modules/date-fns/locale/id/_lib/match.js new file mode 100644 index 00000000..a3f24e21 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/id/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^ke-(\d+)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(sm|m)/i, + abbreviated: /^(s\.?\s?m\.?|s\.?\s?e\.?\s?u\.?|m\.?|e\.?\s?u\.?)/i, + wide: /^(sebelum masehi|sebelum era umum|masehi|era umum)/i, +}; +const parseEraPatterns = { + any: [/^s/i, /^(m|e)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K-?\s[1234]/i, + wide: /^Kuartal ke-?\s?[1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|mei|jun|jul|agt|sep|okt|nov|des)/i, + wide: /^(januari|februari|maret|april|mei|juni|juli|agustus|september|oktober|november|desember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^ma/i, + /^ap/i, + /^me/i, + /^jun/i, + /^jul/i, + /^ag/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[srkjm]/i, + short: /^(min|sen|sel|rab|kam|jum|sab)/i, + abbreviated: /^(min|sen|sel|rab|kam|jum|sab)/i, + wide: /^(minggu|senin|selasa|rabu|kamis|jumat|sabtu)/i, +}; +const parseDayPatterns = { + narrow: [/^m/i, /^s/i, /^s/i, /^r/i, /^k/i, /^j/i, /^s/i], + any: [/^m/i, /^sen/i, /^sel/i, /^r/i, /^k/i, /^j/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|tengah m|tengah h|(di(\swaktu)?) (pagi|siang|sore|malam))/i, + any: /^([ap]\.?\s?m\.?|tengah malam|tengah hari|(di(\swaktu)?) (pagi|siang|sore|malam))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^pm/i, + midnight: /^tengah m/i, + noon: /^tengah h/i, + morning: /pagi/i, + afternoon: /siang/i, + evening: /sore/i, + night: /malam/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/is.js b/.output/server/node_modules/date-fns/locale/is.js new file mode 100644 index 00000000..0676eb20 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./is/_lib/formatDistance.js"; +import { formatLong } from "./is/_lib/formatLong.js"; +import { formatRelative } from "./is/_lib/formatRelative.js"; +import { localize } from "./is/_lib/localize.js"; +import { match } from "./is/_lib/match.js"; + +/** + * @category Locales + * @summary Icelandic locale. + * @language Icelandic + * @iso-639-2 isl + * @author Derek Blank [@derekblank](https://github.com/derekblank) + * @author Arnór Ýmir [@lamayg](https://github.com/lamayg) + */ +export const is = { + code: "is", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default is; diff --git a/.output/server/node_modules/date-fns/locale/is/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/is/_lib/formatDistance.js new file mode 100644 index 00000000..3b2b14be --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "minna en 1 sekúnda", + other: "minna en {{count}} sekúndur", + }, + + xSeconds: { + one: "1 sekúnda", + other: "{{count}} sekúndur", + }, + + halfAMinute: "hálf mínúta", + + lessThanXMinutes: { + one: "minna en 1 mínúta", + other: "minna en {{count}} mínútur", + }, + + xMinutes: { + one: "1 mínúta", + other: "{{count}} mínútur", + }, + + aboutXHours: { + one: "u.þ.b. 1 klukkustund", + other: "u.þ.b. {{count}} klukkustundir", + }, + + xHours: { + one: "1 klukkustund", + other: "{{count}} klukkustundir", + }, + + xDays: { + one: "1 dagur", + other: "{{count}} dagar", + }, + + aboutXWeeks: { + one: "um viku", + other: "um {{count}} vikur", + }, + + xWeeks: { + one: "1 viku", + other: "{{count}} vikur", + }, + + aboutXMonths: { + one: "u.þ.b. 1 mánuður", + other: "u.þ.b. {{count}} mánuðir", + }, + + xMonths: { + one: "1 mánuður", + other: "{{count}} mánuðir", + }, + + aboutXYears: { + one: "u.þ.b. 1 ár", + other: "u.þ.b. {{count}} ár", + }, + + xYears: { + one: "1 ár", + other: "{{count}} ár", + }, + + overXYears: { + one: "meira en 1 ár", + other: "meira en {{count}} ár", + }, + + almostXYears: { + one: "næstum 1 ár", + other: "næstum {{count}} ár", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "í " + result; + } else { + return result + " síðan"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/is/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/is/_lib/formatLong.js new file mode 100644 index 00000000..b5068e06 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM y", + long: "do MMMM y", + medium: "do MMM y", + short: "d.MM.y", +}; + +const timeFormats = { + full: "'kl'. HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kl.' {{time}}", + long: "{{date}} 'kl.' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/is/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/is/_lib/formatRelative.js new file mode 100644 index 00000000..c065cf80 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'síðasta' dddd 'kl.' p", + yesterday: "'í gær kl.' p", + today: "'í dag kl.' p", + tomorrow: "'á morgun kl.' p", + nextWeek: "dddd 'kl.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/is/_lib/localize.js b/.output/server/node_modules/date-fns/locale/is/_lib/localize.js new file mode 100644 index 00000000..10b815dd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is/_lib/localize.js @@ -0,0 +1,166 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["f.Kr.", "e.Kr."], + abbreviated: ["f.Kr.", "e.Kr."], + wide: ["fyrir Krist", "eftir Krist"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1F", "2F", "3F", "4F"], + wide: ["1. fjórðungur", "2. fjórðungur", "3. fjórðungur", "4. fjórðungur"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "Á", "S", "Ó", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mars", + "apríl", + "maí", + "júní", + "júlí", + "ágúst", + "sept.", + "okt.", + "nóv.", + "des.", + ], + + wide: [ + "janúar", + "febrúar", + "mars", + "apríl", + "maí", + "júní", + "júlí", + "ágúst", + "september", + "október", + "nóvember", + "desember", + ], +}; + +const dayValues = { + narrow: ["S", "M", "Þ", "M", "F", "F", "L"], + short: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La"], + abbreviated: ["sun.", "mán.", "þri.", "mið.", "fim.", "fös.", "lau."], + + wide: [ + "sunnudagur", + "mánudagur", + "þriðjudagur", + "miðvikudagur", + "fimmtudagur", + "föstudagur", + "laugardagur", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "f", + pm: "e", + midnight: "miðnætti", + noon: "hádegi", + morning: "morgunn", + afternoon: "síðdegi", + evening: "kvöld", + night: "nótt", + }, + abbreviated: { + am: "f.h.", + pm: "e.h.", + midnight: "miðnætti", + noon: "hádegi", + morning: "morgunn", + afternoon: "síðdegi", + evening: "kvöld", + night: "nótt", + }, + wide: { + am: "fyrir hádegi", + pm: "eftir hádegi", + midnight: "miðnætti", + noon: "hádegi", + morning: "morgunn", + afternoon: "síðdegi", + evening: "kvöld", + night: "nótt", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "f", + pm: "e", + midnight: "á miðnætti", + noon: "á hádegi", + morning: "að morgni", + afternoon: "síðdegis", + evening: "um kvöld", + night: "um nótt", + }, + abbreviated: { + am: "f.h.", + pm: "e.h.", + midnight: "á miðnætti", + noon: "á hádegi", + morning: "að morgni", + afternoon: "síðdegis", + evening: "um kvöld", + night: "um nótt", + }, + wide: { + am: "fyrir hádegi", + pm: "eftir hádegi", + midnight: "á miðnætti", + noon: "á hádegi", + morning: "að morgni", + afternoon: "síðdegis", + evening: "um kvöld", + night: "um nótt", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/is/_lib/match.js b/.output/server/node_modules/date-fns/locale/is/_lib/match.js new file mode 100644 index 00000000..5e7c5e8b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/is/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)?/i; +const parseOrdinalNumberPattern = /\d+(\.)?/i; + +const matchEraPatterns = { + narrow: /^(f\.Kr\.|e\.Kr\.)/i, + abbreviated: /^(f\.Kr\.|e\.Kr\.)/i, + wide: /^(fyrir Krist|eftir Krist)/i, +}; +const parseEraPatterns = { + any: [/^(f\.Kr\.)/i, /^(e\.Kr\.)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]\.?/i, + abbreviated: /^q[1234]\.?/i, + wide: /^[1234]\.? fjórðungur/i, +}; +const parseQuarterPatterns = { + any: [/1\.?/i, /2\.?/i, /3\.?/i, /4\.?/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmásónd]/i, + abbreviated: + /^(jan\.|feb\.|mars\.|apríl\.|maí|júní|júlí|águst|sep\.|oct\.|nov\.|dec\.)/i, + wide: /^(januar|febrúar|mars|apríl|maí|júní|júlí|águst|september|október|nóvember|desember)/i, +}; + +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^á/i, + /^s/i, + /^ó/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maí/i, + /^jún/i, + /^júl/i, + /^áu/i, + /^s/i, + /^ó/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(su|má|þr|mi|fi|fö|la)/i, + abbreviated: /^(sun|mán|þri|mið|fim|fös|lau)\.?/i, + wide: /^(sunnudagur|mánudagur|þriðjudagur|miðvikudagur|fimmtudagur|föstudagur|laugardagur)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^þ/i, /^m/i, /^f/i, /^f/i, /^l/i], + any: [/^su/i, /^má/i, /^þr/i, /^mi/i, /^fi/i, /^fö/i, /^la/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(f|e|síðdegis|(á|að|um) (morgni|kvöld|nótt|miðnætti))/i, + any: /^(fyrir hádegi|eftir hádegi|[ef]\.?h\.?|síðdegis|morgunn|(á|að|um) (morgni|kvöld|nótt|miðnætti))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^f/i, + pm: /^e/i, + midnight: /^mi/i, + noon: /^há/i, + morning: /morgunn/i, + afternoon: /síðdegi/i, + evening: /kvöld/i, + night: /nótt/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/it-CH.js b/.output/server/node_modules/date-fns/locale/it-CH.js new file mode 100644 index 00000000..6d9a2829 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it-CH.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./it/_lib/formatDistance.js"; +import { formatRelative } from "./it/_lib/formatRelative.js"; +import { localize } from "./it/_lib/localize.js"; +import { match } from "./it/_lib/match.js"; +import { formatLong } from "./it-CH/_lib/formatLong.js"; + +/** + * @category Locales + * @summary Italian locale (Switzerland). + * @language Italian + * @iso-639-2 ita + * @author Mike Peyer [@maic66](https://github.com/maic66) + */ +export const itCH = { + code: "it-CH", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default itCH; diff --git a/.output/server/node_modules/date-fns/locale/it-CH/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/it-CH/_lib/formatLong.js new file mode 100644 index 00000000..8e729bb2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it-CH/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/it.js b/.output/server/node_modules/date-fns/locale/it.js new file mode 100644 index 00000000..28405fd5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./it/_lib/formatDistance.js"; +import { formatLong } from "./it/_lib/formatLong.js"; +import { formatRelative } from "./it/_lib/formatRelative.js"; +import { localize } from "./it/_lib/localize.js"; +import { match } from "./it/_lib/match.js"; + +/** + * @category Locales + * @summary Italian locale. + * @language Italian + * @iso-639-2 ita + * @author Alberto Restifo [@albertorestifo](https://github.com/albertorestifo) + * @author Giovanni Polimeni [@giofilo](https://github.com/giofilo) + * @author Vincenzo Carrese [@vin-car](https://github.com/vin-car) + */ +export const it = { + code: "it", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default it; diff --git a/.output/server/node_modules/date-fns/locale/it/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/it/_lib/formatDistance.js new file mode 100644 index 00000000..83f0f1a8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "meno di un secondo", + other: "meno di {{count}} secondi", + }, + + xSeconds: { + one: "un secondo", + other: "{{count}} secondi", + }, + + halfAMinute: "alcuni secondi", + + lessThanXMinutes: { + one: "meno di un minuto", + other: "meno di {{count}} minuti", + }, + + xMinutes: { + one: "un minuto", + other: "{{count}} minuti", + }, + + aboutXHours: { + one: "circa un'ora", + other: "circa {{count}} ore", + }, + + xHours: { + one: "un'ora", + other: "{{count}} ore", + }, + + xDays: { + one: "un giorno", + other: "{{count}} giorni", + }, + + aboutXWeeks: { + one: "circa una settimana", + other: "circa {{count}} settimane", + }, + + xWeeks: { + one: "una settimana", + other: "{{count}} settimane", + }, + + aboutXMonths: { + one: "circa un mese", + other: "circa {{count}} mesi", + }, + + xMonths: { + one: "un mese", + other: "{{count}} mesi", + }, + + aboutXYears: { + one: "circa un anno", + other: "circa {{count}} anni", + }, + + xYears: { + one: "un anno", + other: "{{count}} anni", + }, + + overXYears: { + one: "più di un anno", + other: "più di {{count}} anni", + }, + + almostXYears: { + one: "quasi un anno", + other: "quasi {{count}} anni", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "tra " + result; + } else { + return result + " fa"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/it/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/it/_lib/formatLong.js new file mode 100644 index 00000000..25389587 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/it/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/it/_lib/formatRelative.js new file mode 100644 index 00000000..c6d67c26 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it/_lib/formatRelative.js @@ -0,0 +1,66 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const weekdays = [ + "domenica", + "lunedì", + "martedì", + "mercoledì", + "giovedì", + "venerdì", + "sabato", +]; + +function lastWeek(day) { + switch (day) { + case 0: + return "'domenica scorsa alle' p"; + default: + return "'" + weekdays[day] + " scorso alle' p"; + } +} + +function thisWeek(day) { + return "'" + weekdays[day] + " alle' p"; +} + +function nextWeek(day) { + switch (day) { + case 0: + return "'domenica prossima alle' p"; + default: + return "'" + weekdays[day] + " prossimo alle' p"; + } +} + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } + }, + yesterday: "'ieri alle' p", + today: "'oggi alle' p", + tomorrow: "'domani alle' p", + nextWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/it/_lib/localize.js b/.output/server/node_modules/date-fns/locale/it/_lib/localize.js new file mode 100644 index 00000000..ec7bd4cb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["aC", "dC"], + abbreviated: ["a.C.", "d.C."], + wide: ["avanti Cristo", "dopo Cristo"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"], +}; + +const monthValues = { + narrow: ["G", "F", "M", "A", "M", "G", "L", "A", "S", "O", "N", "D"], + abbreviated: [ + "gen", + "feb", + "mar", + "apr", + "mag", + "giu", + "lug", + "ago", + "set", + "ott", + "nov", + "dic", + ], + + wide: [ + "gennaio", + "febbraio", + "marzo", + "aprile", + "maggio", + "giugno", + "luglio", + "agosto", + "settembre", + "ottobre", + "novembre", + "dicembre", + ], +}; + +const dayValues = { + narrow: ["D", "L", "M", "M", "G", "V", "S"], + short: ["dom", "lun", "mar", "mer", "gio", "ven", "sab"], + abbreviated: ["dom", "lun", "mar", "mer", "gio", "ven", "sab"], + wide: [ + "domenica", + "lunedì", + "martedì", + "mercoledì", + "giovedì", + "venerdì", + "sabato", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "m.", + pm: "p.", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "mattina", + afternoon: "pomeriggio", + evening: "sera", + night: "notte", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "mattina", + afternoon: "pomeriggio", + evening: "sera", + night: "notte", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "mattina", + afternoon: "pomeriggio", + evening: "sera", + night: "notte", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "m.", + pm: "p.", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "di mattina", + afternoon: "del pomeriggio", + evening: "di sera", + night: "di notte", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "di mattina", + afternoon: "del pomeriggio", + evening: "di sera", + night: "di notte", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "mezzanotte", + noon: "mezzogiorno", + morning: "di mattina", + afternoon: "del pomeriggio", + evening: "di sera", + night: "di notte", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return String(number); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/it/_lib/match.js b/.output/server/node_modules/date-fns/locale/it/_lib/match.js new file mode 100644 index 00000000..e2b0bba5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/it/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(º)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(aC|dC)/i, + abbreviated: /^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i, + wide: /^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i, +}; +const parseEraPatterns = { + any: [/^a/i, /^(d|e)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^t[1234]/i, + wide: /^[1234](º)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[gfmalsond]/i, + abbreviated: /^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i, + wide: /^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^g/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^g/i, + /^l/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ge/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mag/i, + /^gi/i, + /^l/i, + /^ag/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmgvs]/i, + short: /^(do|lu|ma|me|gi|ve|sa)/i, + abbreviated: /^(dom|lun|mar|mer|gio|ven|sab)/i, + wide: /^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^g/i, /^v/i, /^s/i], + any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^g/i, /^v/i, /^s/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i, + any: /^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mezza/i, + noon: /^mezzo/i, + morning: /mattina/i, + afternoon: /pomeriggio/i, + evening: /sera/i, + night: /notte/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira.js b/.output/server/node_modules/date-fns/locale/ja-Hira.js new file mode 100644 index 00000000..e0ef775d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ja-Hira/_lib/formatDistance.js"; +import { formatLong } from "./ja-Hira/_lib/formatLong.js"; +import { formatRelative } from "./ja-Hira/_lib/formatRelative.js"; +import { localize } from "./ja-Hira/_lib/localize.js"; +import { match } from "./ja-Hira/_lib/match.js"; + +/** + * @category Locales + * @summary Japanese (Hiragana) locale. + * @language Japanese (Hiragana) + * @iso-639-2 jpn + * @author Eri Hiramatsu [@Eritutteo](https://github.com/Eritutteo) + */ +export const jaHira = { + code: "ja-Hira", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default jaHira; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatDistance.js new file mode 100644 index 00000000..52bd1f8f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatDistance.js @@ -0,0 +1,115 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "1びょうみまん", + other: "{{count}}びょうみまん", + oneWithSuffix: "やく1びょう", + otherWithSuffix: "やく{{count}}びょう", + }, + + xSeconds: { + one: "1びょう", + other: "{{count}}びょう", + }, + + halfAMinute: "30びょう", + + lessThanXMinutes: { + one: "1ぷんみまん", + other: "{{count}}ふんみまん", + oneWithSuffix: "やく1ぷん", + otherWithSuffix: "やく{{count}}ふん", + }, + + xMinutes: { + one: "1ぷん", + other: "{{count}}ふん", + }, + + aboutXHours: { + one: "やく1じかん", + other: "やく{{count}}じかん", + }, + + xHours: { + one: "1じかん", + other: "{{count}}じかん", + }, + + xDays: { + one: "1にち", + other: "{{count}}にち", + }, + + aboutXWeeks: { + one: "やく1しゅうかん", + other: "やく{{count}}しゅうかん", + }, + + xWeeks: { + one: "1しゅうかん", + other: "{{count}}しゅうかん", + }, + + aboutXMonths: { + one: "やく1かげつ", + other: "やく{{count}}かげつ", + }, + + xMonths: { + one: "1かげつ", + other: "{{count}}かげつ", + }, + + aboutXYears: { + one: "やく1ねん", + other: "やく{{count}}ねん", + }, + + xYears: { + one: "1ねん", + other: "{{count}}ねん", + }, + + overXYears: { + one: "1ねんいじょう", + other: "{{count}}ねんいじょう", + }, + + almostXYears: { + one: "1ねんちかく", + other: "{{count}}ねんちかく", + }, +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options.addSuffix && tokenValue.oneWithSuffix) { + result = tokenValue.oneWithSuffix; + } else { + result = tokenValue.one; + } + } else { + if (options.addSuffix && tokenValue.otherWithSuffix) { + result = tokenValue.otherWithSuffix.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + } + + if (options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "あと"; + } else { + return result + "まえ"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatLong.js new file mode 100644 index 00000000..efdfaa6b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "yねんMがつdにちEEEE", + long: "yねんMがつdにち", + medium: "y/MM/dd", + short: "y/MM/dd", +}; + +const timeFormats = { + full: "Hじmmふんssびょう zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatRelative.js new file mode 100644 index 00000000..a2cd30dc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/formatRelative.js @@ -0,0 +1,12 @@ +const formatRelativeLocale = { + lastWeek: "せんしゅうのeeeeのp", + yesterday: "きのうのp", + today: "きょうのp", + tomorrow: "あしたのp", + nextWeek: "よくしゅうのeeeeのp", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => { + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/localize.js new file mode 100644 index 00000000..e85d9c45 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/localize.js @@ -0,0 +1,185 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["BC", "AC"], + abbreviated: ["きげんぜん", "せいれき"], + wide: ["きげんぜん", "せいれき"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["だい1しはんき", "だい2しはんき", "だい3しはんき", "だい4しはんき"], +}; + +const monthValues = { + narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], + + abbreviated: [ + "1がつ", + "2がつ", + "3がつ", + "4がつ", + "5がつ", + "6がつ", + "7がつ", + "8がつ", + "9がつ", + "10がつ", + "11がつ", + "12がつ", + ], + + wide: [ + "1がつ", + "2がつ", + "3がつ", + "4がつ", + "5がつ", + "6がつ", + "7がつ", + "8がつ", + "9がつ", + "10がつ", + "11がつ", + "12がつ", + ], +}; + +const dayValues = { + narrow: ["にち", "げつ", "か", "すい", "もく", "きん", "ど"], + short: ["にち", "げつ", "か", "すい", "もく", "きん", "ど"], + abbreviated: ["にち", "げつ", "か", "すい", "もく", "きん", "ど"], + wide: [ + "にちようび", + "げつようび", + "かようび", + "すいようび", + "もくようび", + "きんようび", + "どようび", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, + abbreviated: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, + wide: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, + abbreviated: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, + wide: { + am: "ごぜん", + pm: "ごご", + midnight: "しんや", + noon: "しょうご", + morning: "あさ", + afternoon: "ごご", + evening: "よる", + night: "しんや", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = String(options?.unit); + + switch (unit) { + case "year": + return `${number}ねん`; + case "quarter": + return `だい${number}しはんき`; + case "month": + return `${number}がつ`; + case "week": + return `だい${number}しゅう`; + case "date": + return `${number}にち`; + case "hour": + return `${number}じ`; + case "minute": + return `${number}ふん`; + case "second": + return `${number}びょう`; + default: + return `${number}`; + } +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/match.js b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/match.js new file mode 100644 index 00000000..6a699f8d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja-Hira/_lib/match.js @@ -0,0 +1,119 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = + /^だ?い?\d+(ねん|しはんき|がつ|しゅう|にち|じ|ふん|びょう)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(B\.?C\.?|A\.?D\.?)/i, + abbreviated: /^(きげん[前後]|せいれき)/i, + wide: /^(きげん[前後]|せいれき)/i, +}; +const parseEraPatterns = { + narrow: [/^B/i, /^A/i], + any: [/^(きげんぜん)/i, /^(せいれき|きげんご)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^Q[1234]/i, + wide: /^だい[1234一二三四1234]しはんき/i, +}; +const parseQuarterPatterns = { + any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i], +}; + +const matchMonthPatterns = { + narrow: /^([123456789]|1[012])/, + abbreviated: /^([123456789]|1[012])がつ/i, + wide: /^([123456789]|1[012])がつ/i, +}; +const parseMonthPatterns = { + any: [ + /^1\D/, + /^2/, + /^3/, + /^4/, + /^5/, + /^6/, + /^7/, + /^8/, + /^9/, + /^10/, + /^11/, + /^12/, + ], +}; + +const matchDayPatterns = { + narrow: /^(にち|げつ|か|すい|もく|きん|ど)/, + short: /^(にち|げつ|か|すい|もく|きん|ど)/, + abbreviated: /^(にち|げつ|か|すい|もく|きん|ど)/, + wide: /^(にち|げつ|か|すい|もく|きん|ど)ようび/, +}; +const parseDayPatterns = { + any: [/^にち/, /^げつ/, /^か/, /^すい/, /^もく/, /^きん/, /^ど/], +}; + +const matchDayPeriodPatterns = { + any: /^(AM|PM|ごぜん|ごご|しょうご|しんや|まよなか|よる|あさ)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^(A|ごぜん)/i, + pm: /^(P|ごご)/i, + midnight: /^しんや|まよなか/i, + noon: /^しょうご/i, + morning: /^あさ/i, + afternoon: /^ごご/i, + evening: /^よる/i, + night: /^しんや/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja.js b/.output/server/node_modules/date-fns/locale/ja.js new file mode 100644 index 00000000..8e5e2759 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja.js @@ -0,0 +1,32 @@ +import { formatDistance } from "./ja/_lib/formatDistance.js"; +import { formatLong } from "./ja/_lib/formatLong.js"; +import { formatRelative } from "./ja/_lib/formatRelative.js"; +import { localize } from "./ja/_lib/localize.js"; +import { match } from "./ja/_lib/match.js"; + +/** + * @category Locales + * @summary Japanese locale. + * @language Japanese + * @iso-639-2 jpn + * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu) + * @author Yamagishi Kazutoshi [@ykzts](https://github.com/ykzts) + * @author Luca Ban [@mesqueeb](https://github.com/mesqueeb) + * @author Terrence Lam [@skyuplam](https://github.com/skyuplam) + * @author Taiki IKeda [@so99ynoodles](https://github.com/so99ynoodles) + */ +export const ja = { + code: "ja", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ja; diff --git a/.output/server/node_modules/date-fns/locale/ja/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ja/_lib/formatDistance.js new file mode 100644 index 00000000..af862fa4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja/_lib/formatDistance.js @@ -0,0 +1,115 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "1秒未満", + other: "{{count}}秒未満", + oneWithSuffix: "約1秒", + otherWithSuffix: "約{{count}}秒", + }, + + xSeconds: { + one: "1秒", + other: "{{count}}秒", + }, + + halfAMinute: "30秒", + + lessThanXMinutes: { + one: "1分未満", + other: "{{count}}分未満", + oneWithSuffix: "約1分", + otherWithSuffix: "約{{count}}分", + }, + + xMinutes: { + one: "1分", + other: "{{count}}分", + }, + + aboutXHours: { + one: "約1時間", + other: "約{{count}}時間", + }, + + xHours: { + one: "1時間", + other: "{{count}}時間", + }, + + xDays: { + one: "1日", + other: "{{count}}日", + }, + + aboutXWeeks: { + one: "約1週間", + other: "約{{count}}週間", + }, + + xWeeks: { + one: "1週間", + other: "{{count}}週間", + }, + + aboutXMonths: { + one: "約1か月", + other: "約{{count}}か月", + }, + + xMonths: { + one: "1か月", + other: "{{count}}か月", + }, + + aboutXYears: { + one: "約1年", + other: "約{{count}}年", + }, + + xYears: { + one: "1年", + other: "{{count}}年", + }, + + overXYears: { + one: "1年以上", + other: "{{count}}年以上", + }, + + almostXYears: { + one: "1年近く", + other: "{{count}}年近く", + }, +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options.addSuffix && tokenValue.oneWithSuffix) { + result = tokenValue.oneWithSuffix; + } else { + result = tokenValue.one; + } + } else { + if (options.addSuffix && tokenValue.otherWithSuffix) { + result = tokenValue.otherWithSuffix.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + } + + if (options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "後"; + } else { + return result + "前"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ja/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ja/_lib/formatLong.js new file mode 100644 index 00000000..52fe3f73 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y年M月d日EEEE", + long: "y年M月d日", + medium: "y/MM/dd", + short: "y/MM/dd", +}; + +const timeFormats = { + full: "H時mm分ss秒 zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ja/_lib/formatRelative.js new file mode 100644 index 00000000..a534b77f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja/_lib/formatRelative.js @@ -0,0 +1,12 @@ +const formatRelativeLocale = { + lastWeek: "先週のeeeeのp", + yesterday: "昨日のp", + today: "今日のp", + tomorrow: "明日のp", + nextWeek: "翌週のeeeeのp", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => { + return formatRelativeLocale[token]; +}; diff --git a/.output/server/node_modules/date-fns/locale/ja/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ja/_lib/localize.js new file mode 100644 index 00000000..0e4b91a8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja/_lib/localize.js @@ -0,0 +1,177 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["BC", "AC"], + abbreviated: ["紀元前", "西暦"], + wide: ["紀元前", "西暦"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["第1四半期", "第2四半期", "第3四半期", "第4四半期"], +}; + +const monthValues = { + narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], + + abbreviated: [ + "1月", + "2月", + "3月", + "4月", + "5月", + "6月", + "7月", + "8月", + "9月", + "10月", + "11月", + "12月", + ], + + wide: [ + "1月", + "2月", + "3月", + "4月", + "5月", + "6月", + "7月", + "8月", + "9月", + "10月", + "11月", + "12月", + ], +}; + +const dayValues = { + narrow: ["日", "月", "火", "水", "木", "金", "土"], + short: ["日", "月", "火", "水", "木", "金", "土"], + abbreviated: ["日", "月", "火", "水", "木", "金", "土"], + wide: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], +}; + +const dayPeriodValues = { + narrow: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, + abbreviated: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, + wide: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, +}; +const formattingDayPeriodValues = { + narrow: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, + abbreviated: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, + wide: { + am: "午前", + pm: "午後", + midnight: "深夜", + noon: "正午", + morning: "朝", + afternoon: "午後", + evening: "夜", + night: "深夜", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = String(options?.unit); + + switch (unit) { + case "year": + return `${number}年`; + case "quarter": + return `第${number}四半期`; + case "month": + return `${number}月`; + case "week": + return `第${number}週`; + case "date": + return `${number}日`; + case "hour": + return `${number}時`; + case "minute": + return `${number}分`; + case "second": + return `${number}秒`; + default: + return `${number}`; + } +}; + +export const localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ja/_lib/match.js b/.output/server/node_modules/date-fns/locale/ja/_lib/match.js new file mode 100644 index 00000000..59607cb4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ja/_lib/match.js @@ -0,0 +1,118 @@ +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; + +const matchOrdinalNumberPattern = /^第?\d+(年|四半期|月|週|日|時|分|秒)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(B\.?C\.?|A\.?D\.?)/i, + abbreviated: /^(紀元[前後]|西暦)/i, + wide: /^(紀元[前後]|西暦)/i, +}; +const parseEraPatterns = { + narrow: [/^B/i, /^A/i], + any: [/^(紀元前)/i, /^(西暦|紀元後)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^Q[1234]/i, + wide: /^第[1234一二三四1234]四半期/i, +}; +const parseQuarterPatterns = { + any: [/(1|一|1)/i, /(2|二|2)/i, /(3|三|3)/i, /(4|四|4)/i], +}; + +const matchMonthPatterns = { + narrow: /^([123456789]|1[012])/, + abbreviated: /^([123456789]|1[012])月/i, + wide: /^([123456789]|1[012])月/i, +}; +const parseMonthPatterns = { + any: [ + /^1\D/, + /^2/, + /^3/, + /^4/, + /^5/, + /^6/, + /^7/, + /^8/, + /^9/, + /^10/, + /^11/, + /^12/, + ], +}; + +const matchDayPatterns = { + narrow: /^[日月火水木金土]/, + short: /^[日月火水木金土]/, + abbreviated: /^[日月火水木金土]/, + wide: /^[日月火水木金土]曜日/, +}; +const parseDayPatterns = { + any: [/^日/, /^月/, /^火/, /^水/, /^木/, /^金/, /^土/], +}; + +const matchDayPeriodPatterns = { + any: /^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^(A|午前)/i, + pm: /^(P|午後)/i, + midnight: /^深夜|真夜中/i, + noon: /^正午/i, + morning: /^朝/i, + afternoon: /^午後/i, + evening: /^夜/i, + night: /^深夜/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ka.js b/.output/server/node_modules/date-fns/locale/ka.js new file mode 100644 index 00000000..f552faa3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ka/_lib/formatDistance.js"; +import { formatLong } from "./ka/_lib/formatLong.js"; +import { formatRelative } from "./ka/_lib/formatRelative.js"; +import { localize } from "./ka/_lib/localize.js"; +import { match } from "./ka/_lib/match.js"; + +/** + * @category Locales + * @summary Georgian locale. + * @language Georgian + * @iso-639-2 geo + * @author Lado Lomidze [@Landish](https://github.com/Landish) + * @author Nick Shvelidze [@shvelo](https://github.com/shvelo) + */ +export const ka = { + code: "ka", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ka; diff --git a/.output/server/node_modules/date-fns/locale/ka/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ka/_lib/formatDistance.js new file mode 100644 index 00000000..097f272f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka/_lib/formatDistance.js @@ -0,0 +1,118 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + past: "{{count}} წამზე ნაკლები ხნის წინ", + present: "{{count}} წამზე ნაკლები", + future: "{{count}} წამზე ნაკლებში", + }, + + xSeconds: { + past: "{{count}} წამის წინ", + present: "{{count}} წამი", + future: "{{count}} წამში", + }, + + halfAMinute: { + past: "ნახევარი წუთის წინ", + present: "ნახევარი წუთი", + future: "ნახევარი წუთში", + }, + + lessThanXMinutes: { + past: "{{count}} წუთზე ნაკლები ხნის წინ", + present: "{{count}} წუთზე ნაკლები", + future: "{{count}} წუთზე ნაკლებში", + }, + + xMinutes: { + past: "{{count}} წუთის წინ", + present: "{{count}} წუთი", + future: "{{count}} წუთში", + }, + + aboutXHours: { + past: "დაახლოებით {{count}} საათის წინ", + present: "დაახლოებით {{count}} საათი", + future: "დაახლოებით {{count}} საათში", + }, + + xHours: { + past: "{{count}} საათის წინ", + present: "{{count}} საათი", + future: "{{count}} საათში", + }, + + xDays: { + past: "{{count}} დღის წინ", + present: "{{count}} დღე", + future: "{{count}} დღეში", + }, + + aboutXWeeks: { + past: "დაახლოებით {{count}} კვირას წინ", + present: "დაახლოებით {{count}} კვირა", + future: "დაახლოებით {{count}} კვირაში", + }, + + xWeeks: { + past: "{{count}} კვირას კვირა", + present: "{{count}} კვირა", + future: "{{count}} კვირაში", + }, + + aboutXMonths: { + past: "დაახლოებით {{count}} თვის წინ", + present: "დაახლოებით {{count}} თვე", + future: "დაახლოებით {{count}} თვეში", + }, + + xMonths: { + past: "{{count}} თვის წინ", + present: "{{count}} თვე", + future: "{{count}} თვეში", + }, + + aboutXYears: { + past: "დაახლოებით {{count}} წლის წინ", + present: "დაახლოებით {{count}} წელი", + future: "დაახლოებით {{count}} წელში", + }, + + xYears: { + past: "{{count}} წლის წინ", + present: "{{count}} წელი", + future: "{{count}} წელში", + }, + + overXYears: { + past: "{{count}} წელზე მეტი ხნის წინ", + present: "{{count}} წელზე მეტი", + future: "{{count}} წელზე მეტი ხნის შემდეგ", + }, + + almostXYears: { + past: "თითქმის {{count}} წლის წინ", + present: "თითქმის {{count}} წელი", + future: "თითქმის {{count}} წელში", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if ( + options?.addSuffix && + options.comparison && + options.comparison > 0 + ) { + result = tokenValue.future.replace("{{count}}", String(count)); + } else if (options?.addSuffix) { + result = tokenValue.past.replace("{{count}}", String(count)); + } else { + result = tokenValue.present.replace("{{count}}", String(count)); + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ka/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ka/_lib/formatLong.js new file mode 100644 index 00000000..a9fce548 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM, y", + long: "do, MMMM, y", + medium: "d, MMM, y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}'-ზე'", + long: "{{date}} {{time}}'-ზე'", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ka/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ka/_lib/formatRelative.js new file mode 100644 index 00000000..b4078021 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'წინა' eeee p'-ზე'", + yesterday: "'გუშინ' p'-ზე'", + today: "'დღეს' p'-ზე'", + tomorrow: "'ხვალ' p'-ზე'", + nextWeek: "'შემდეგი' eeee p'-ზე'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ka/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ka/_lib/localize.js new file mode 100644 index 00000000..61624d29 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka/_lib/localize.js @@ -0,0 +1,187 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ჩ.წ-მდე", "ჩ.წ"], + abbreviated: ["ჩვ.წ-მდე", "ჩვ.წ"], + wide: ["ჩვენს წელთაღრიცხვამდე", "ჩვენი წელთაღრიცხვით"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-ლი კვ", "2-ე კვ", "3-ე კვ", "4-ე კვ"], + wide: ["1-ლი კვარტალი", "2-ე კვარტალი", "3-ე კვარტალი", "4-ე კვარტალი"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: [ + "ია", + "თე", + "მა", + "აპ", + "მს", + "ვნ", + "ვლ", + "აგ", + "სე", + "ოქ", + "ნო", + "დე", + ], + + abbreviated: [ + "იან", + "თებ", + "მარ", + "აპრ", + "მაი", + "ივნ", + "ივლ", + "აგვ", + "სექ", + "ოქტ", + "ნოე", + "დეკ", + ], + + wide: [ + "იანვარი", + "თებერვალი", + "მარტი", + "აპრილი", + "მაისი", + "ივნისი", + "ივლისი", + "აგვისტო", + "სექტემბერი", + "ოქტომბერი", + "ნოემბერი", + "დეკემბერი", + ], +}; + +const dayValues = { + narrow: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა"], + short: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"], + abbreviated: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"], + wide: [ + "კვირა", + "ორშაბათი", + "სამშაბათი", + "ოთხშაბათი", + "ხუთშაბათი", + "პარასკევი", + "შაბათი", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "შუაღამე", + noon: "შუადღე", + morning: "დილა", + afternoon: "საღამო", + evening: "საღამო", + night: "ღამე", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "შუაღამე", + noon: "შუადღე", + morning: "დილა", + afternoon: "საღამო", + evening: "საღამო", + night: "ღამე", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "შუაღამე", + noon: "შუადღე", + morning: "დილა", + afternoon: "საღამო", + evening: "საღამო", + night: "ღამე", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "შუაღამით", + noon: "შუადღისას", + morning: "დილით", + afternoon: "ნაშუადღევს", + evening: "საღამოს", + night: "ღამით", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "შუაღამით", + noon: "შუადღისას", + morning: "დილით", + afternoon: "ნაშუადღევს", + evening: "საღამოს", + night: "ღამით", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "შუაღამით", + noon: "შუადღისას", + morning: "დილით", + afternoon: "ნაშუადღევს", + evening: "საღამოს", + night: "ღამით", + }, +}; + +const ordinalNumber = (dirtyNumber) => { + const number = Number(dirtyNumber); + + if (number === 1) { + return number + "-ლი"; + } + + return number + "-ე"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ka/_lib/match.js b/.output/server/node_modules/date-fns/locale/ka/_lib/match.js new file mode 100644 index 00000000..bb1d755f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ka/_lib/match.js @@ -0,0 +1,115 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-ლი|-ე)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ჩვ?\.წ)/i, + abbreviated: /^(ჩვ?\.წ)/i, + wide: /^(ჩვენს წელთაღრიცხვამდე|ქრისტეშობამდე|ჩვენი წელთაღრიცხვით|ქრისტეშობიდან)/i, +}; +const parseEraPatterns = { + any: [ + /^(ჩვენს წელთაღრიცხვამდე|ქრისტეშობამდე)/i, + /^(ჩვენი წელთაღრიცხვით|ქრისტეშობიდან)/i, + ], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]-(ლი|ე)? კვ/i, + wide: /^[1234]-(ლი|ე)? კვარტალი/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + any: /^(ია|თე|მა|აპ|მს|ვნ|ვლ|აგ|სე|ოქ|ნო|დე)/i, +}; +const parseMonthPatterns = { + any: [ + /^ია/i, + /^თ/i, + /^მარ/i, + /^აპ/i, + /^მაი/i, + /^ი?ვნ/i, + /^ი?ვლ/i, + /^აგ/i, + /^ს/i, + /^ო/i, + /^ნ/i, + /^დ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(კვ|ორ|სა|ოთ|ხუ|პა|შა)/i, + short: /^(კვი|ორშ|სამ|ოთხ|ხუთ|პარ|შაბ)/i, + wide: /^(კვირა|ორშაბათი|სამშაბათი|ოთხშაბათი|ხუთშაბათი|პარასკევი|შაბათი)/i, +}; +const parseDayPatterns = { + any: [/^კვ/i, /^ორ/i, /^სა/i, /^ოთ/i, /^ხუ/i, /^პა/i, /^შა/i], +}; + +const matchDayPeriodPatterns = { + any: /^([ap]\.?\s?m\.?|შუაღ|დილ)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^შუაღ/i, + noon: /^შუადღ/i, + morning: /^დილ/i, + afternoon: /ნაშუადღევს/i, + evening: /საღამო/i, + night: /ღამ/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "any", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kk.js b/.output/server/node_modules/date-fns/locale/kk.js new file mode 100644 index 00000000..6986cf27 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./kk/_lib/formatDistance.js"; +import { formatLong } from "./kk/_lib/formatLong.js"; +import { formatRelative } from "./kk/_lib/formatRelative.js"; +import { localize } from "./kk/_lib/localize.js"; +import { match } from "./kk/_lib/match.js"; + +/** + * @category Locales + * @summary Kazakh locale. + * @language Kazakh + * @iso-639-2 kaz + * @author Nikita Bayev [@drugoi](https://github.com/drugoi) + */ +export const kk = { + code: "kk", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default kk; diff --git a/.output/server/node_modules/date-fns/locale/kk/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/kk/_lib/formatDistance.js new file mode 100644 index 00000000..929e679c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk/_lib/formatDistance.js @@ -0,0 +1,249 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + regular: { + one: "1 секундтан аз", + singularNominative: "{{count}} секундтан аз", + singularGenitive: "{{count}} секундтан аз", + pluralGenitive: "{{count}} секундтан аз", + }, + future: { + one: "бір секундтан кейін", + singularNominative: "{{count}} секундтан кейін", + singularGenitive: "{{count}} секундтан кейін", + pluralGenitive: "{{count}} секундтан кейін", + }, + }, + + xSeconds: { + regular: { + singularNominative: "{{count}} секунд", + singularGenitive: "{{count}} секунд", + pluralGenitive: "{{count}} секунд", + }, + past: { + singularNominative: "{{count}} секунд бұрын", + singularGenitive: "{{count}} секунд бұрын", + pluralGenitive: "{{count}} секунд бұрын", + }, + future: { + singularNominative: "{{count}} секундтан кейін", + singularGenitive: "{{count}} секундтан кейін", + pluralGenitive: "{{count}} секундтан кейін", + }, + }, + + halfAMinute: (options) => { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "жарты минут ішінде"; + } else { + return "жарты минут бұрын"; + } + } + + return "жарты минут"; + }, + + lessThanXMinutes: { + regular: { + one: "1 минуттан аз", + singularNominative: "{{count}} минуттан аз", + singularGenitive: "{{count}} минуттан аз", + pluralGenitive: "{{count}} минуттан аз", + }, + future: { + one: "минуттан кем ", + singularNominative: "{{count}} минуттан кем", + singularGenitive: "{{count}} минуттан кем", + pluralGenitive: "{{count}} минуттан кем", + }, + }, + + xMinutes: { + regular: { + singularNominative: "{{count}} минут", + singularGenitive: "{{count}} минут", + pluralGenitive: "{{count}} минут", + }, + past: { + singularNominative: "{{count}} минут бұрын", + singularGenitive: "{{count}} минут бұрын", + pluralGenitive: "{{count}} минут бұрын", + }, + future: { + singularNominative: "{{count}} минуттан кейін", + singularGenitive: "{{count}} минуттан кейін", + pluralGenitive: "{{count}} минуттан кейін", + }, + }, + + aboutXHours: { + regular: { + singularNominative: "шамамен {{count}} сағат", + singularGenitive: "шамамен {{count}} сағат", + pluralGenitive: "шамамен {{count}} сағат", + }, + future: { + singularNominative: "шамамен {{count}} сағаттан кейін", + singularGenitive: "шамамен {{count}} сағаттан кейін", + pluralGenitive: "шамамен {{count}} сағаттан кейін", + }, + }, + + xHours: { + regular: { + singularNominative: "{{count}} сағат", + singularGenitive: "{{count}} сағат", + pluralGenitive: "{{count}} сағат", + }, + }, + + xDays: { + regular: { + singularNominative: "{{count}} күн", + singularGenitive: "{{count}} күн", + pluralGenitive: "{{count}} күн", + }, + future: { + singularNominative: "{{count}} күннен кейін", + singularGenitive: "{{count}} күннен кейін", + pluralGenitive: "{{count}} күннен кейін", + }, + }, + + aboutXWeeks: { + type: "weeks", + one: "шамамен 1 апта", + other: "шамамен {{count}} апта", + }, + + xWeeks: { + type: "weeks", + one: "1 апта", + other: "{{count}} апта", + }, + + aboutXMonths: { + regular: { + singularNominative: "шамамен {{count}} ай", + singularGenitive: "шамамен {{count}} ай", + pluralGenitive: "шамамен {{count}} ай", + }, + future: { + singularNominative: "шамамен {{count}} айдан кейін", + singularGenitive: "шамамен {{count}} айдан кейін", + pluralGenitive: "шамамен {{count}} айдан кейін", + }, + }, + + xMonths: { + regular: { + singularNominative: "{{count}} ай", + singularGenitive: "{{count}} ай", + pluralGenitive: "{{count}} ай", + }, + }, + + aboutXYears: { + regular: { + singularNominative: "шамамен {{count}} жыл", + singularGenitive: "шамамен {{count}} жыл", + pluralGenitive: "шамамен {{count}} жыл", + }, + future: { + singularNominative: "шамамен {{count}} жылдан кейін", + singularGenitive: "шамамен {{count}} жылдан кейін", + pluralGenitive: "шамамен {{count}} жылдан кейін", + }, + }, + + xYears: { + regular: { + singularNominative: "{{count}} жыл", + singularGenitive: "{{count}} жыл", + pluralGenitive: "{{count}} жыл", + }, + future: { + singularNominative: "{{count}} жылдан кейін", + singularGenitive: "{{count}} жылдан кейін", + pluralGenitive: "{{count}} жылдан кейін", + }, + }, + + overXYears: { + regular: { + singularNominative: "{{count}} жылдан астам", + singularGenitive: "{{count}} жылдан астам", + pluralGenitive: "{{count}} жылдан астам", + }, + future: { + singularNominative: "{{count}} жылдан астам", + singularGenitive: "{{count}} жылдан астам", + pluralGenitive: "{{count}} жылдан астам", + }, + }, + + almostXYears: { + regular: { + singularNominative: "{{count}} жылға жақын", + singularGenitive: "{{count}} жылға жақын", + pluralGenitive: "{{count}} жылға жақын", + }, + future: { + singularNominative: "{{count}} жылдан кейін", + singularGenitive: "{{count}} жылдан кейін", + pluralGenitive: "{{count}} жылдан кейін", + }, + }, +}; + +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one && count === 1) return scheme.one; + + const rem10 = count % 10; + const rem100 = count % 100; + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace("{{count}}", String(count)); + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace("{{count}}", String(count)); + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace("{{count}}", String(count)); + } +} + +export const formatDistance = (token, count, options) => { + const tokenValue = formatDistanceLocale[token]; + + if (typeof tokenValue === "function") return tokenValue(options); + + if (tokenValue.type === "weeks") { + return count === 1 + ? tokenValue.one + : tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (tokenValue.future) { + return declension(tokenValue.future, count); + } else { + return declension(tokenValue.regular, count) + " кейін"; + } + } else { + if (tokenValue.past) { + return declension(tokenValue.past, count); + } else { + return declension(tokenValue.regular, count) + " бұрын"; + } + } + } else { + return declension(tokenValue.regular, count); + } +}; diff --git a/.output/server/node_modules/date-fns/locale/kk/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/kk/_lib/formatLong.js new file mode 100644 index 00000000..df2b184e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM y 'ж.'", + long: "do MMMM y 'ж.'", + medium: "d MMM y 'ж.'", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kk/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/kk/_lib/formatRelative.js new file mode 100644 index 00000000..8045cc43 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk/_lib/formatRelative.js @@ -0,0 +1,62 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const accusativeWeekdays = [ + "жексенбіде", + "дүйсенбіде", + "сейсенбіде", + "сәрсенбіде", + "бейсенбіде", + "жұмада", + "сенбіде", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'өткен " + weekday + " сағат' p'-де'"; +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'" + weekday + " сағат' p'-де'"; +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'келесі " + weekday + " сағат' p'-де'"; +} + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } + }, + yesterday: "'кеше сағат' p'-де'", + today: "'бүгін сағат' p'-де'", + tomorrow: "'ертең сағат' p'-де'", + nextWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/kk/_lib/localize.js b/.output/server/node_modules/date-fns/locale/kk/_lib/localize.js new file mode 100644 index 00000000..29f0b233 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk/_lib/localize.js @@ -0,0 +1,206 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["б.з.д.", "б.з."], + abbreviated: ["б.з.д.", "б.з."], + wide: ["біздің заманымызға дейін", "біздің заманымыз"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-ші тоқ.", "2-ші тоқ.", "3-ші тоқ.", "4-ші тоқ."], + wide: ["1-ші тоқсан", "2-ші тоқсан", "3-ші тоқсан", "4-ші тоқсан"], +}; + +const monthValues = { + narrow: ["Қ", "А", "Н", "С", "М", "М", "Ш", "Т", "Қ", "Қ", "Қ", "Ж"], + abbreviated: [ + "қаң", + "ақп", + "нау", + "сәу", + "мам", + "мау", + "шіл", + "там", + "қыр", + "қаз", + "қар", + "жел", + ], + + wide: [ + "қаңтар", + "ақпан", + "наурыз", + "сәуір", + "мамыр", + "маусым", + "шілде", + "тамыз", + "қыркүйек", + "қазан", + "қараша", + "желтоқсан", + ], +}; +const formattingMonthValues = { + narrow: ["Қ", "А", "Н", "С", "М", "М", "Ш", "Т", "Қ", "Қ", "Қ", "Ж"], + abbreviated: [ + "қаң", + "ақп", + "нау", + "сәу", + "мам", + "мау", + "шіл", + "там", + "қыр", + "қаз", + "қар", + "жел", + ], + + wide: [ + "қаңтар", + "ақпан", + "наурыз", + "сәуір", + "мамыр", + "маусым", + "шілде", + "тамыз", + "қыркүйек", + "қазан", + "қараша", + "желтоқсан", + ], +}; + +const dayValues = { + narrow: ["Ж", "Д", "С", "С", "Б", "Ж", "С"], + short: ["жс", "дс", "сс", "ср", "бс", "жм", "сб"], + abbreviated: ["жс", "дс", "сс", "ср", "бс", "жм", "сб"], + wide: [ + "жексенбі", + "дүйсенбі", + "сейсенбі", + "сәрсенбі", + "бейсенбі", + "жұма", + "сенбі", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ТД", + pm: "ТК", + midnight: "түн ортасы", + noon: "түс", + morning: "таң", + afternoon: "күндіз", + evening: "кеш", + night: "түн", + }, + wide: { + am: "ТД", + pm: "ТК", + midnight: "түн ортасы", + noon: "түс", + morning: "таң", + afternoon: "күндіз", + evening: "кеш", + night: "түн", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ТД", + pm: "ТК", + midnight: "түн ортасында", + noon: "түс", + morning: "таң", + afternoon: "күн", + evening: "кеш", + night: "түн", + }, + wide: { + am: "ТД", + pm: "ТК", + midnight: "түн ортасында", + noon: "түсте", + morning: "таңертең", + afternoon: "күндіз", + evening: "кеште", + night: "түнде", + }, +}; + +const suffixes = { + 0: "-ші", + 1: "-ші", + 2: "-ші", + 3: "-ші", + 4: "-ші", + 5: "-ші", + 6: "-шы", + 7: "-ші", + 8: "-ші", + 9: "-шы", + 10: "-шы", + 20: "-шы", + 30: "-шы", + 40: "-шы", + 50: "-ші", + 60: "-шы", + 70: "-ші", + 80: "-ші", + 90: "-шы", + 100: "-ші", +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + const mod10 = number % 10; + const b = number >= 100 ? 100 : null; + const suffix = + suffixes[number] || suffixes[mod10] || (b && suffixes[b]) || ""; + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kk/_lib/match.js b/.output/server/node_modules/date-fns/locale/kk/_lib/match.js new file mode 100644 index 00000000..75e28302 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kk/_lib/match.js @@ -0,0 +1,157 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?(ші|шы))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((б )?з\.?\s?д\.?)/i, + abbreviated: /^((б )?з\.?\s?д\.?)/i, + wide: /^(біздің заманымызға дейін|біздің заманымыз|біздің заманымыздан)/i, +}; +const parseEraPatterns = { + any: [/^б/i, /^з/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?ші)? тоқ.?/i, + wide: /^[1234](-?ші)? тоқсан/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(қ|а|н|с|м|мау|ш|т|қыр|қаз|қар|ж)/i, + abbreviated: /^(қаң|ақп|нау|сәу|мам|мау|шіл|там|қыр|қаз|қар|жел)/i, + wide: /^(қаңтар|ақпан|наурыз|сәуір|мамыр|маусым|шілде|тамыз|қыркүйек|қазан|қараша|желтоқсан)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^қ/i, + /^а/i, + /^н/i, + /^с/i, + /^м/i, + /^м/i, + /^ш/i, + /^т/i, + /^қ/i, + /^қ/i, + /^қ/i, + /^ж/i, + ], + + abbreviated: [ + /^қаң/i, + /^ақп/i, + /^нау/i, + /^сәу/i, + /^мам/i, + /^мау/i, + /^шіл/i, + /^там/i, + /^қыр/i, + /^қаз/i, + /^қар/i, + /^жел/i, + ], + + any: [ + /^қ/i, + /^а/i, + /^н/i, + /^с/i, + /^м/i, + /^м/i, + /^ш/i, + /^т/i, + /^қ/i, + /^қ/i, + /^қ/i, + /^ж/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ж|д|с|с|б|ж|с)/i, + short: /^(жс|дс|сс|ср|бс|жм|сб)/i, + wide: /^(жексенбі|дүйсенбі|сейсенбі|сәрсенбі|бейсенбі|жұма|сенбі)/i, +}; +const parseDayPatterns = { + narrow: [/^ж/i, /^д/i, /^с/i, /^с/i, /^б/i, /^ж/i, /^с/i], + short: [/^жс/i, /^дс/i, /^сс/i, /^ср/i, /^бс/i, /^жм/i, /^сб/i], + any: [ + /^ж[ек]/i, + /^д[үй]/i, + /^сe[й]/i, + /^сә[р]/i, + /^б[ей]/i, + /^ж[ұм]/i, + /^се[н]/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: + /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i, + wide: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i, + any: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ТД/i, + pm: /^ТК/i, + midnight: /^түн орта/i, + noon: /^күндіз/i, + morning: /таң/i, + afternoon: /түс/i, + evening: /кеш/i, + night: /түн/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/km.js b/.output/server/node_modules/date-fns/locale/km.js new file mode 100644 index 00000000..940b646d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./km/_lib/formatDistance.js"; +import { formatLong } from "./km/_lib/formatLong.js"; +import { formatRelative } from "./km/_lib/formatRelative.js"; +import { localize } from "./km/_lib/localize.js"; +import { match } from "./km/_lib/match.js"; + +/** + * @category Locales + * @summary Khmer locale (Cambodian). + * @language Khmer + * @iso-639-2 khm + * @author Seanghay Yath [@seanghay](https://github.com/seanghay) + */ +export const km = { + code: "km", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default km; diff --git a/.output/server/node_modules/date-fns/locale/km/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/km/_lib/formatDistance.js new file mode 100644 index 00000000..01f3befb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km/_lib/formatDistance.js @@ -0,0 +1,38 @@ +const formatDistanceLocale = { + lessThanXSeconds: "តិចជាង {{count}} វិនាទី", + xSeconds: "{{count}} វិនាទី", + halfAMinute: "កន្លះនាទី", + lessThanXMinutes: "តិចជាង {{count}} នាទី", + xMinutes: "{{count}} នាទី", + aboutXHours: "ប្រហែល {{count}} ម៉ោង", + xHours: "{{count}} ម៉ោង", + xDays: "{{count}} ថ្ងៃ", + aboutXWeeks: "ប្រហែល {{count}} សប្តាហ៍", + xWeeks: "{{count}} សប្តាហ៍", + aboutXMonths: "ប្រហែល {{count}} ខែ", + xMonths: "{{count}} ខែ", + aboutXYears: "ប្រហែល {{count}} ឆ្នាំ", + xYears: "{{count}} ឆ្នាំ", + overXYears: "ជាង {{count}} ឆ្នាំ", + almostXYears: "ជិត {{count}} ឆ្នាំ", +}; + +export const formatDistance = (token, count, options) => { + const tokenValue = formatDistanceLocale[token]; + + let result = tokenValue; + + if (typeof count === "number") { + result = result.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "ក្នុងរយៈពេល " + result; + } else { + return result + "មុន"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/km/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/km/_lib/formatLong.js new file mode 100644 index 00000000..7da633e3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE do MMMM y", + long: "do MMMM y", + medium: "d MMM y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a", + long: "h:mm:ss a", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'ម៉ោង' {{time}}", + long: "{{date}} 'ម៉ោង' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/km/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/km/_lib/formatRelative.js new file mode 100644 index 00000000..dacd0d00 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ថ្ងៃ'eeee'ស​ប្តា​ហ៍​មុនម៉ោង' p", + yesterday: "'ម្សិលមិញនៅម៉ោង' p", + today: "'ថ្ងៃនេះម៉ោង' p", + tomorrow: "'ថ្ងៃស្អែកម៉ោង' p", + nextWeek: "'ថ្ងៃ'eeee'ស​ប្តា​ហ៍​ក្រោយម៉ោង' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/km/_lib/localize.js b/.output/server/node_modules/date-fns/locale/km/_lib/localize.js new file mode 100644 index 00000000..f277613f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km/_lib/localize.js @@ -0,0 +1,170 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ម.គស", "គស"], + abbreviated: ["មុនគ.ស", "គ.ស"], + wide: ["មុនគ្រិស្តសករាជ", "នៃគ្រិស្តសករាជ"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["ត្រីមាសទី 1", "ត្រីមាសទី 2", "ត្រីមាសទី 3", "ត្រីមាសទី 4"], +}; + +const monthValues = { + narrow: [ + "ម.ក", + "ក.ម", + "មិ", + "ម.ស", + "ឧ.ស", + "ម.ថ", + "ក.ដ", + "សី", + "កញ", + "តុ", + "វិ", + "ធ", + ], + + abbreviated: [ + "មករា", + "កុម្ភៈ", + "មីនា", + "មេសា", + "ឧសភា", + "មិថុនា", + "កក្កដា", + "សីហា", + "កញ្ញា", + "តុលា", + "វិច្ឆិកា", + "ធ្នូ", + ], + + wide: [ + "មករា", + "កុម្ភៈ", + "មីនា", + "មេសា", + "ឧសភា", + "មិថុនា", + "កក្កដា", + "សីហា", + "កញ្ញា", + "តុលា", + "វិច្ឆិកា", + "ធ្នូ", + ], +}; + +const dayValues = { + narrow: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"], + short: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"], + abbreviated: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"], + wide: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"], +}; + +const dayPeriodValues = { + narrow: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, + abbreviated: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, + wide: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, + abbreviated: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, + wide: { + am: "ព្រឹក", + pm: "ល្ងាច", + midnight: "​ពេលកណ្ដាលអធ្រាត្រ", + noon: "ពេលថ្ងៃត្រង់", + morning: "ពេលព្រឹក", + afternoon: "ពេលរសៀល", + evening: "ពេលល្ងាច", + night: "ពេលយប់", + }, +}; + +const ordinalNumber = (dirtyNumber, _) => { + const number = Number(dirtyNumber); + return number.toString(); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/km/_lib/match.js b/.output/server/node_modules/date-fns/locale/km/_lib/match.js new file mode 100644 index 00000000..2e9e5408 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/km/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ម\.)?គស/i, + abbreviated: /^(មុន)?គ\.ស/i, + wide: /^(មុន|នៃ)គ្រិស្តសករាជ/i, +}; +const parseEraPatterns = { + any: [/^(ម|មុន)គ\.?ស/i, /^(នៃ)?គ\.?ស/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^(ត្រីមាស)(ទី)?\s?[1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(ម\.ក|ក\.ម|មិ|ម\.ស|ឧ\.ស|ម\.ថ|ក\.ដ|សី|កញ|តុ|វិ|ធ)/i, + abbreviated: + /^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i, + wide: /^(មករា|កុម្ភៈ|មីនា|មេសា|ឧសភា|មិថុនា|កក្កដា|សីហា|កញ្ញា|តុលា|វិច្ឆិកា|ធ្នូ)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ម\.ក/i, + /^ក\.ម/i, + /^មិ/i, + /^ម\.ស/i, + /^ឧ\.ស/i, + /^ម\.ថ/i, + /^ក\.ដ/i, + /^សី/i, + /^កញ/i, + /^តុ/i, + /^វិ/i, + /^ធ/i, + ], + + any: [ + /^មក/i, + /^កុ/i, + /^មីន/i, + /^មេ/i, + /^ឧស/i, + /^មិថ/i, + /^កក/i, + /^សី/i, + /^កញ/i, + /^តុ/i, + /^វិច/i, + /^ធ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i, + short: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i, + abbreviated: /^(អា|ច|អ|ព|ព្រ|សុ|ស)/i, + wide: /^(អាទិត្យ|ចន្ទ|អង្គារ|ពុធ|ព្រហស្បតិ៍|សុក្រ|សៅរ៍)/i, +}; +const parseDayPatterns = { + narrow: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^ស/i], + any: [/^អា/i, /^ច/i, /^អ/i, /^ព/i, /^ព្រ/i, /^សុ/i, /^សៅ/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i, + any: /^(ព្រឹក|ល្ងាច|ពេលព្រឹក|ពេលថ្ងៃត្រង់|ពេលល្ងាច|ពេលរសៀល|ពេលយប់|ពេលកណ្ដាលអធ្រាត្រ)/i, +}; + +const parseDayPeriodPatterns = { + any: { + am: /^ព្រឹក/i, + pm: /^ល្ងាច/i, + midnight: /^ពេលកណ្ដាលអធ្រាត្រ/i, + noon: /^ពេលថ្ងៃត្រង់/i, + morning: /ពេលព្រឹក/i, + afternoon: /ពេលរសៀល/i, + evening: /ពេលល្ងាច/i, + night: /ពេលយប់/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kn.js b/.output/server/node_modules/date-fns/locale/kn.js new file mode 100644 index 00000000..1e10e028 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./kn/_lib/formatDistance.js"; +import { formatLong } from "./kn/_lib/formatLong.js"; +import { formatRelative } from "./kn/_lib/formatRelative.js"; +import { localize } from "./kn/_lib/localize.js"; +import { match } from "./kn/_lib/match.js"; + +/** + * @category Locales + * @summary Kannada locale (India). + * @language Kannada + * @iso-639-2 kan + * @author Manjunatha Gouli [@developergouli](https://github.com/developergouli) + */ +export const kn = { + code: "kn", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default kn; diff --git a/.output/server/node_modules/date-fns/locale/kn/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/kn/_lib/formatDistance.js new file mode 100644 index 00000000..66a380f1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn/_lib/formatDistance.js @@ -0,0 +1,211 @@ +// note: no implementation for weeks + +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + default: "1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + future: "1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + past: "1 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + }, + other: { + default: "{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + future: "{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + past: "{{count}} ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ", + }, + }, + + xSeconds: { + one: { + default: "1 ಸೆಕೆಂಡ್", + future: "1 ಸೆಕೆಂಡ್‌ನಲ್ಲಿ", + past: "1 ಸೆಕೆಂಡ್ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ಸೆಕೆಂಡುಗಳು", + future: "{{count}} ಸೆಕೆಂಡ್‌ಗಳಲ್ಲಿ", + past: "{{count}} ಸೆಕೆಂಡ್ ಹಿಂದೆ", + }, + }, + + halfAMinute: { + other: { + default: "ಅರ್ಧ ನಿಮಿಷ", + future: "ಅರ್ಧ ನಿಮಿಷದಲ್ಲಿ", + past: "ಅರ್ಧ ನಿಮಿಷದ ಹಿಂದೆ", + }, + }, + + lessThanXMinutes: { + one: { + default: "1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + future: "1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + past: "1 ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + }, + other: { + default: "{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + future: "{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + past: "{{count}} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ", + }, + }, + + xMinutes: { + one: { + default: "1 ನಿಮಿಷ", + future: "1 ನಿಮಿಷದಲ್ಲಿ", + past: "1 ನಿಮಿಷದ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ನಿಮಿಷಗಳು", + future: "{{count}} ನಿಮಿಷಗಳಲ್ಲಿ", + past: "{{count}} ನಿಮಿಷಗಳ ಹಿಂದೆ", + }, + }, + + aboutXHours: { + one: { + default: "ಸುಮಾರು 1 ಗಂಟೆ", + future: "ಸುಮಾರು 1 ಗಂಟೆಯಲ್ಲಿ", + past: "ಸುಮಾರು 1 ಗಂಟೆ ಹಿಂದೆ", + }, + other: { + default: "ಸುಮಾರು {{count}} ಗಂಟೆಗಳು", + future: "ಸುಮಾರು {{count}} ಗಂಟೆಗಳಲ್ಲಿ", + past: "ಸುಮಾರು {{count}} ಗಂಟೆಗಳ ಹಿಂದೆ", + }, + }, + + xHours: { + one: { + default: "1 ಗಂಟೆ", + future: "1 ಗಂಟೆಯಲ್ಲಿ", + past: "1 ಗಂಟೆ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ಗಂಟೆಗಳು", + future: "{{count}} ಗಂಟೆಗಳಲ್ಲಿ", + past: "{{count}} ಗಂಟೆಗಳ ಹಿಂದೆ", + }, + }, + + xDays: { + one: { + default: "1 ದಿನ", + future: "1 ದಿನದಲ್ಲಿ", + past: "1 ದಿನದ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ದಿನಗಳು", + future: "{{count}} ದಿನಗಳಲ್ಲಿ", + past: "{{count}} ದಿನಗಳ ಹಿಂದೆ", + }, + }, + + // TODO + // aboutXWeeks: {}, + + // TODO + // xWeeks: {}, + + aboutXMonths: { + one: { + default: "ಸುಮಾರು 1 ತಿಂಗಳು", + future: "ಸುಮಾರು 1 ತಿಂಗಳಲ್ಲಿ", + past: "ಸುಮಾರು 1 ತಿಂಗಳ ಹಿಂದೆ", + }, + other: { + default: "ಸುಮಾರು {{count}} ತಿಂಗಳು", + future: "ಸುಮಾರು {{count}} ತಿಂಗಳುಗಳಲ್ಲಿ", + past: "ಸುಮಾರು {{count}} ತಿಂಗಳುಗಳ ಹಿಂದೆ", + }, + }, + + xMonths: { + one: { + default: "1 ತಿಂಗಳು", + future: "1 ತಿಂಗಳಲ್ಲಿ", + past: "1 ತಿಂಗಳ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ತಿಂಗಳು", + future: "{{count}} ತಿಂಗಳುಗಳಲ್ಲಿ", + past: "{{count}} ತಿಂಗಳುಗಳ ಹಿಂದೆ", + }, + }, + + aboutXYears: { + one: { + default: "ಸುಮಾರು 1 ವರ್ಷ", + future: "ಸುಮಾರು 1 ವರ್ಷದಲ್ಲಿ", + past: "ಸುಮಾರು 1 ವರ್ಷದ ಹಿಂದೆ", + }, + other: { + default: "ಸುಮಾರು {{count}} ವರ್ಷಗಳು", + future: "ಸುಮಾರು {{count}} ವರ್ಷಗಳಲ್ಲಿ", + past: "ಸುಮಾರು {{count}} ವರ್ಷಗಳ ಹಿಂದೆ", + }, + }, + + xYears: { + one: { + default: "1 ವರ್ಷ", + future: "1 ವರ್ಷದಲ್ಲಿ", + past: "1 ವರ್ಷದ ಹಿಂದೆ", + }, + other: { + default: "{{count}} ವರ್ಷಗಳು", + future: "{{count}} ವರ್ಷಗಳಲ್ಲಿ", + past: "{{count}} ವರ್ಷಗಳ ಹಿಂದೆ", + }, + }, + + overXYears: { + one: { + default: "1 ವರ್ಷದ ಮೇಲೆ", + future: "1 ವರ್ಷದ ಮೇಲೆ", + past: "1 ವರ್ಷದ ಮೇಲೆ", + }, + other: { + default: "{{count}} ವರ್ಷಗಳ ಮೇಲೆ", + future: "{{count}} ವರ್ಷಗಳ ಮೇಲೆ", + past: "{{count}} ವರ್ಷಗಳ ಮೇಲೆ", + }, + }, + + almostXYears: { + one: { + default: "ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ", + future: "ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ", + past: "ಬಹುತೇಕ 1 ವರ್ಷದಲ್ಲಿ", + }, + other: { + default: "ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ", + future: "ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ", + past: "ಬಹುತೇಕ {{count}} ವರ್ಷಗಳಲ್ಲಿ", + }, + }, +}; + +function getResultByTense(parentToken, options) { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return parentToken.future; + } else { + return parentToken.past; + } + } + return parentToken.default; +} + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + + if (tokenValue.one && count === 1) { + result = getResultByTense(tokenValue.one, options); + } else { + result = getResultByTense(tokenValue.other, options); + } + + return result.replace("{{count}}", String(count)); +}; diff --git a/.output/server/node_modules/date-fns/locale/kn/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/kn/_lib/formatLong.js new file mode 100644 index 00000000..0fd972e9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn/_lib/formatLong.js @@ -0,0 +1,41 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// Reference: https://www.unicode.org/cldr/charts/32/summary/kn.html + +const dateFormats = { + full: "EEEE, MMMM d, y", // CLDR 1816 + long: "MMMM d, y", // CLDR 1817 + medium: "MMM d, y", // CLDR 1818 + short: "d/M/yy", // CLDR 1819 +}; + +const timeFormats = { + full: "hh:mm:ss a zzzz", // CLDR 1820 + long: "hh:mm:ss a z", // CLDR 1821 + medium: "hh:mm:ss a", // CLDR 1822 + short: "hh:mm a", // CLDR 1823 +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", // CLDR 1824 + long: "{{date}} {{time}}", // CLDR 1825 + medium: "{{date}} {{time}}", // CLDR 1826 + short: "{{date}} {{time}}", // CLDR 1827 +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kn/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/kn/_lib/formatRelative.js new file mode 100644 index 00000000..07536d58 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ಕಳೆದ' eeee p 'ಕ್ಕೆ'", + yesterday: "'ನಿನ್ನೆ' p 'ಕ್ಕೆ'", + today: "'ಇಂದು' p 'ಕ್ಕೆ'", + tomorrow: "'ನಾಳೆ' p 'ಕ್ಕೆ'", + nextWeek: "eeee p 'ಕ್ಕೆ'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/kn/_lib/localize.js b/.output/server/node_modules/date-fns/locale/kn/_lib/localize.js new file mode 100644 index 00000000..2cd654ec --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn/_lib/localize.js @@ -0,0 +1,171 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// Reference: https://www.unicode.org/cldr/charts/32/summary/kn.html + +const eraValues = { + narrow: ["ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"], + abbreviated: ["ಕ್ರಿ.ಪೂ", "ಕ್ರಿ.ಶ"], // CLDR #1618, #1620 + wide: ["ಕ್ರಿಸ್ತ ಪೂರ್ವ", "ಕ್ರಿಸ್ತ ಶಕ"], // CLDR #1614, #1616 +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["ತ್ರೈ 1", "ತ್ರೈ 2", "ತ್ರೈ 3", "ತ್ರೈ 4"], // CLDR #1630 - #1638 + wide: ["1ನೇ ತ್ರೈಮಾಸಿಕ", "2ನೇ ತ್ರೈಮಾಸಿಕ", "3ನೇ ತ್ರೈಮಾಸಿಕ", "4ನೇ ತ್ರೈಮಾಸಿಕ"], + // CLDR #1622 - #1629 +}; + +// CLDR #1646 - #1717 +const monthValues = { + narrow: ["ಜ", "ಫೆ", "ಮಾ", "ಏ", "ಮೇ", "ಜೂ", "ಜು", "ಆ", "ಸೆ", "ಅ", "ನ", "ಡಿ"], + + abbreviated: [ + "ಜನ", + "ಫೆಬ್ರ", + "ಮಾರ್ಚ್", + "ಏಪ್ರಿ", + "ಮೇ", + "ಜೂನ್", + "ಜುಲೈ", + "ಆಗ", + "ಸೆಪ್ಟೆಂ", + "ಅಕ್ಟೋ", + "ನವೆಂ", + "ಡಿಸೆಂ", + ], + + wide: [ + "ಜನವರಿ", + "ಫೆಬ್ರವರಿ", + "ಮಾರ್ಚ್", + "ಏಪ್ರಿಲ್", + "ಮೇ", + "ಜೂನ್", + "ಜುಲೈ", + "ಆಗಸ್ಟ್", + "ಸೆಪ್ಟೆಂಬರ್", + "ಅಕ್ಟೋಬರ್", + "ನವೆಂಬರ್", + "ಡಿಸೆಂಬರ್", + ], +}; + +// CLDR #1718 - #1773 +const dayValues = { + narrow: ["ಭಾ", "ಸೋ", "ಮಂ", "ಬು", "ಗು", "ಶು", "ಶ"], + short: ["ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"], + abbreviated: ["ಭಾನು", "ಸೋಮ", "ಮಂಗಳ", "ಬುಧ", "ಗುರು", "ಶುಕ್ರ", "ಶನಿ"], + wide: [ + "ಭಾನುವಾರ", + "ಸೋಮವಾರ", + "ಮಂಗಳವಾರ", + "ಬುಧವಾರ", + "ಗುರುವಾರ", + "ಶುಕ್ರವಾರ", + "ಶನಿವಾರ", + ], +}; + +// CLDR #1774 - #1815 +const dayPeriodValues = { + narrow: { + am: "ಪೂರ್ವಾಹ್ನ", + pm: "ಅಪರಾಹ್ನ", + midnight: "ಮಧ್ಯರಾತ್ರಿ", + noon: "ಮಧ್ಯಾಹ್ನ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾಹ್ನ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, + abbreviated: { + am: "ಪೂರ್ವಾಹ್ನ", + pm: "ಅಪರಾಹ್ನ", + midnight: "ಮಧ್ಯರಾತ್ರಿ", + noon: "ಮಧ್ಯಾನ್ಹ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾನ್ಹ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, + wide: { + am: "ಪೂರ್ವಾಹ್ನ", + pm: "ಅಪರಾಹ್ನ", + midnight: "ಮಧ್ಯರಾತ್ರಿ", + noon: "ಮಧ್ಯಾನ್ಹ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾನ್ಹ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ಪೂ", + pm: "ಅ", + midnight: "ಮಧ್ಯರಾತ್ರಿ", + noon: "ಮಧ್ಯಾನ್ಹ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾನ್ಹ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, + abbreviated: { + am: "ಪೂರ್ವಾಹ್ನ", + pm: "ಅಪರಾಹ್ನ", + midnight: "ಮಧ್ಯ ರಾತ್ರಿ", + noon: "ಮಧ್ಯಾನ್ಹ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾನ್ಹ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, + wide: { + am: "ಪೂರ್ವಾಹ್ನ", + pm: "ಅಪರಾಹ್ನ", + midnight: "ಮಧ್ಯ ರಾತ್ರಿ", + noon: "ಮಧ್ಯಾನ್ಹ", + morning: "ಬೆಳಗ್ಗೆ", + afternoon: "ಮಧ್ಯಾನ್ಹ", + evening: "ಸಂಜೆ", + night: "ರಾತ್ರಿ", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "ನೇ"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/kn/_lib/match.js b/.output/server/node_modules/date-fns/locale/kn/_lib/match.js new file mode 100644 index 00000000..c18fcf2b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/kn/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(ನೇ|ನೆ)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ಕ್ರಿ.ಪೂ|ಕ್ರಿ.ಶ)/i, + abbreviated: /^(ಕ್ರಿ\.?\s?ಪೂ\.?|ಕ್ರಿ\.?\s?ಶ\.?|ಪ್ರ\.?\s?ಶ\.?)/i, + wide: /^(ಕ್ರಿಸ್ತ ಪೂರ್ವ|ಕ್ರಿಸ್ತ ಶಕ|ಪ್ರಸಕ್ತ ಶಕ)/i, +}; +const parseEraPatterns = { + any: [/^ಪೂ/i, /^(ಶ|ಪ್ರ)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ತ್ರೈ[1234]|ತ್ರೈ [1234]| [1234]ತ್ರೈ/i, + wide: /^[1234](ನೇ)? ತ್ರೈಮಾಸಿಕ/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(ಜೂ|ಜು|ಜ|ಫೆ|ಮಾ|ಏ|ಮೇ|ಆ|ಸೆ|ಅ|ನ|ಡಿ)/i, + abbreviated: + /^(ಜನ|ಫೆಬ್ರ|ಮಾರ್ಚ್|ಏಪ್ರಿ|ಮೇ|ಜೂನ್|ಜುಲೈ|ಆಗ|ಸೆಪ್ಟೆಂ|ಅಕ್ಟೋ|ನವೆಂ|ಡಿಸೆಂ)/i, + wide: /^(ಜನವರಿ|ಫೆಬ್ರವರಿ|ಮಾರ್ಚ್|ಏಪ್ರಿಲ್|ಮೇ|ಜೂನ್|ಜುಲೈ|ಆಗಸ್ಟ್|ಸೆಪ್ಟೆಂಬರ್|ಅಕ್ಟೋಬರ್|ನವೆಂಬರ್|ಡಿಸೆಂಬರ್)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ಜ$/i, + /^ಫೆ/i, + /^ಮಾ/i, + /^ಏ/i, + /^ಮೇ/i, + /^ಜೂ/i, + /^ಜು$/i, + /^ಆ/i, + /^ಸೆ/i, + /^ಅ/i, + /^ನ/i, + /^ಡಿ/i, + ], + + any: [ + /^ಜನ/i, + /^ಫೆ/i, + /^ಮಾ/i, + /^ಏ/i, + /^ಮೇ/i, + /^ಜೂನ್/i, + /^ಜುಲೈ/i, + /^ಆ/i, + /^ಸೆ/i, + /^ಅ/i, + /^ನ/i, + /^ಡಿ/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ಭಾ|ಸೋ|ಮ|ಬು|ಗು|ಶು|ಶ)/i, + short: /^(ಭಾನು|ಸೋಮ|ಮಂಗಳ|ಬುಧ|ಗುರು|ಶುಕ್ರ|ಶನಿ)/i, + abbreviated: /^(ಭಾನು|ಸೋಮ|ಮಂಗಳ|ಬುಧ|ಗುರು|ಶುಕ್ರ|ಶನಿ)/i, + wide: /^(ಭಾನುವಾರ|ಸೋಮವಾರ|ಮಂಗಳವಾರ|ಬುಧವಾರ|ಗುರುವಾರ|ಶುಕ್ರವಾರ|ಶನಿವಾರ)/i, +}; +const parseDayPatterns = { + narrow: [/^ಭಾ/i, /^ಸೋ/i, /^ಮ/i, /^ಬು/i, /^ಗು/i, /^ಶು/i, /^ಶ/i], + any: [/^ಭಾ/i, /^ಸೋ/i, /^ಮ/i, /^ಬು/i, /^ಗು/i, /^ಶು/i, /^ಶ/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ಪೂ|ಅ|ಮಧ್ಯರಾತ್ರಿ|ಮಧ್ಯಾನ್ಹ|ಬೆಳಗ್ಗೆ|ಸಂಜೆ|ರಾತ್ರಿ)/i, + any: /^(ಪೂರ್ವಾಹ್ನ|ಅಪರಾಹ್ನ|ಮಧ್ಯರಾತ್ರಿ|ಮಧ್ಯಾನ್ಹ|ಬೆಳಗ್ಗೆ|ಸಂಜೆ|ರಾತ್ರಿ)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ಪೂ/i, + pm: /^ಅ/i, + midnight: /ಮಧ್ಯರಾತ್ರಿ/i, + noon: /ಮಧ್ಯಾನ್ಹ/i, + morning: /ಬೆಳಗ್ಗೆ/i, + afternoon: /ಮಧ್ಯಾನ್ಹ/i, + evening: /ಸಂಜೆ/i, + night: /ರಾತ್ರಿ/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ko.js b/.output/server/node_modules/date-fns/locale/ko.js new file mode 100644 index 00000000..ffb03f0a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./ko/_lib/formatDistance.js"; +import { formatLong } from "./ko/_lib/formatLong.js"; +import { formatRelative } from "./ko/_lib/formatRelative.js"; +import { localize } from "./ko/_lib/localize.js"; +import { match } from "./ko/_lib/match.js"; + +/** + * @category Locales + * @summary Korean locale. + * @language Korean + * @iso-639-2 kor + * @author Hong Chulju [@angdev](https://github.com/angdev) + * @author Lee Seoyoen [@iamssen](https://github.com/iamssen) + * @author Taiki IKeda [@so99ynoodles](https://github.com/so99ynoodles) + */ +export const ko = { + code: "ko", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ko; diff --git a/.output/server/node_modules/date-fns/locale/ko/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ko/_lib/formatDistance.js new file mode 100644 index 00000000..b5e92807 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "1초 미만", + other: "{{count}}초 미만", + }, + + xSeconds: { + one: "1초", + other: "{{count}}초", + }, + + halfAMinute: "30초", + + lessThanXMinutes: { + one: "1분 미만", + other: "{{count}}분 미만", + }, + + xMinutes: { + one: "1분", + other: "{{count}}분", + }, + + aboutXHours: { + one: "약 1시간", + other: "약 {{count}}시간", + }, + + xHours: { + one: "1시간", + other: "{{count}}시간", + }, + + xDays: { + one: "1일", + other: "{{count}}일", + }, + + aboutXWeeks: { + one: "약 1주", + other: "약 {{count}}주", + }, + + xWeeks: { + one: "1주", + other: "{{count}}주", + }, + + aboutXMonths: { + one: "약 1개월", + other: "약 {{count}}개월", + }, + + xMonths: { + one: "1개월", + other: "{{count}}개월", + }, + + aboutXYears: { + one: "약 1년", + other: "약 {{count}}년", + }, + + xYears: { + one: "1년", + other: "{{count}}년", + }, + + overXYears: { + one: "1년 이상", + other: "{{count}}년 이상", + }, + + almostXYears: { + one: "거의 1년", + other: "거의 {{count}}년", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " 후"; + } else { + return result + " 전"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ko/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ko/_lib/formatLong.js new file mode 100644 index 00000000..ce924a80 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y년 M월 d일 EEEE", + long: "y년 M월 d일", + medium: "y.MM.dd", + short: "y.MM.dd", +}; + +const timeFormats = { + full: "a H시 mm분 ss초 zzzz", + long: "a H:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ko/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ko/_lib/formatRelative.js new file mode 100644 index 00000000..e5e322dc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'지난' eeee p", + yesterday: "'어제' p", + today: "'오늘' p", + tomorrow: "'내일' p", + nextWeek: "'다음' eeee p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ko/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ko/_lib/localize.js new file mode 100644 index 00000000..9ac3b1ec --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko/_lib/localize.js @@ -0,0 +1,167 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["BC", "AD"], + abbreviated: ["BC", "AD"], + wide: ["기원전", "서기"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1분기", "2분기", "3분기", "4분기"], +}; + +const monthValues = { + narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], + + abbreviated: [ + "1월", + "2월", + "3월", + "4월", + "5월", + "6월", + "7월", + "8월", + "9월", + "10월", + "11월", + "12월", + ], + + wide: [ + "1월", + "2월", + "3월", + "4월", + "5월", + "6월", + "7월", + "8월", + "9월", + "10월", + "11월", + "12월", + ], +}; + +const dayValues = { + narrow: ["일", "월", "화", "수", "목", "금", "토"], + short: ["일", "월", "화", "수", "목", "금", "토"], + abbreviated: ["일", "월", "화", "수", "목", "금", "토"], + wide: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], +}; + +const dayPeriodValues = { + narrow: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, + abbreviated: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, + wide: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, + abbreviated: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, + wide: { + am: "오전", + pm: "오후", + midnight: "자정", + noon: "정오", + morning: "아침", + afternoon: "오후", + evening: "저녁", + night: "밤", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = String(options?.unit); + + switch (unit) { + case "minute": + case "second": + return String(number); + case "date": + return number + "일"; + default: + return number + "번째"; + } +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ko/_lib/match.js b/.output/server/node_modules/date-fns/locale/ko/_lib/match.js new file mode 100644 index 00000000..99cba457 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ko/_lib/match.js @@ -0,0 +1,115 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(일|번째)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(기원전|서기)/i, +}; +const parseEraPatterns = { + any: [/^(bc|기원전)/i, /^(ad|서기)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234]사?분기/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(1[012]|[123456789])/, + abbreviated: /^(1[012]|[123456789])월/i, + wide: /^(1[012]|[123456789])월/i, +}; +const parseMonthPatterns = { + any: [ + /^1월?$/, + /^2/, + /^3/, + /^4/, + /^5/, + /^6/, + /^7/, + /^8/, + /^9/, + /^10/, + /^11/, + /^12/, + ], +}; + +const matchDayPatterns = { + narrow: /^[일월화수목금토]/, + short: /^[일월화수목금토]/, + abbreviated: /^[일월화수목금토]/, + wide: /^[일월화수목금토]요일/, +}; +const parseDayPatterns = { + any: [/^일/, /^월/, /^화/, /^수/, /^목/, /^금/, /^토/], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^(am|오전)/i, + pm: /^(pm|오후)/i, + midnight: /^자정/i, + noon: /^정오/i, + morning: /^아침/i, + afternoon: /^오후/i, + evening: /^저녁/i, + night: /^밤/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lb.js b/.output/server/node_modules/date-fns/locale/lb.js new file mode 100644 index 00000000..11554d5c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./lb/_lib/formatDistance.js"; +import { formatLong } from "./lb/_lib/formatLong.js"; +import { formatRelative } from "./lb/_lib/formatRelative.js"; +import { localize } from "./lb/_lib/localize.js"; +import { match } from "./lb/_lib/match.js"; + +/** + * @category Locales + * @summary Luxembourgish locale. + * @language Luxembourgish + * @iso-639-2 ltz + * @author Daniel Waxweiler [@dwaxweiler](https://github.com/dwaxweiler) + */ +export const lb = { + code: "lb", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default lb; diff --git a/.output/server/node_modules/date-fns/locale/lb/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/lb/_lib/formatDistance.js new file mode 100644 index 00000000..20313da2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb/_lib/formatDistance.js @@ -0,0 +1,232 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + standalone: { + one: "manner wéi eng Sekonn", + other: "manner wéi {{count}} Sekonnen", + }, + withPreposition: { + one: "manner wéi enger Sekonn", + other: "manner wéi {{count}} Sekonnen", + }, + }, + + xSeconds: { + standalone: { + one: "eng Sekonn", + other: "{{count}} Sekonnen", + }, + withPreposition: { + one: "enger Sekonn", + other: "{{count}} Sekonnen", + }, + }, + + halfAMinute: { + standalone: "eng hallef Minutt", + withPreposition: "enger hallwer Minutt", + }, + + lessThanXMinutes: { + standalone: { + one: "manner wéi eng Minutt", + other: "manner wéi {{count}} Minutten", + }, + withPreposition: { + one: "manner wéi enger Minutt", + other: "manner wéi {{count}} Minutten", + }, + }, + + xMinutes: { + standalone: { + one: "eng Minutt", + other: "{{count}} Minutten", + }, + withPreposition: { + one: "enger Minutt", + other: "{{count}} Minutten", + }, + }, + + aboutXHours: { + standalone: { + one: "ongeféier eng Stonn", + other: "ongeféier {{count}} Stonnen", + }, + withPreposition: { + one: "ongeféier enger Stonn", + other: "ongeféier {{count}} Stonnen", + }, + }, + + xHours: { + standalone: { + one: "eng Stonn", + other: "{{count}} Stonnen", + }, + withPreposition: { + one: "enger Stonn", + other: "{{count}} Stonnen", + }, + }, + + xDays: { + standalone: { + one: "een Dag", + other: "{{count}} Deeg", + }, + withPreposition: { + one: "engem Dag", + other: "{{count}} Deeg", + }, + }, + + aboutXWeeks: { + standalone: { + one: "ongeféier eng Woch", + other: "ongeféier {{count}} Wochen", + }, + withPreposition: { + one: "ongeféier enger Woche", + other: "ongeféier {{count}} Wochen", + }, + }, + + xWeeks: { + standalone: { + one: "eng Woch", + other: "{{count}} Wochen", + }, + withPreposition: { + one: "enger Woch", + other: "{{count}} Wochen", + }, + }, + + aboutXMonths: { + standalone: { + one: "ongeféier ee Mount", + other: "ongeféier {{count}} Méint", + }, + withPreposition: { + one: "ongeféier engem Mount", + other: "ongeféier {{count}} Méint", + }, + }, + + xMonths: { + standalone: { + one: "ee Mount", + other: "{{count}} Méint", + }, + withPreposition: { + one: "engem Mount", + other: "{{count}} Méint", + }, + }, + + aboutXYears: { + standalone: { + one: "ongeféier ee Joer", + other: "ongeféier {{count}} Joer", + }, + withPreposition: { + one: "ongeféier engem Joer", + other: "ongeféier {{count}} Joer", + }, + }, + + xYears: { + standalone: { + one: "ee Joer", + other: "{{count}} Joer", + }, + withPreposition: { + one: "engem Joer", + other: "{{count}} Joer", + }, + }, + + overXYears: { + standalone: { + one: "méi wéi ee Joer", + other: "méi wéi {{count}} Joer", + }, + withPreposition: { + one: "méi wéi engem Joer", + other: "méi wéi {{count}} Joer", + }, + }, + + almostXYears: { + standalone: { + one: "bal ee Joer", + other: "bal {{count}} Joer", + }, + withPreposition: { + one: "bal engem Joer", + other: "bal {{count}} Joer", + }, + }, +}; + +const EXCEPTION_CONSONANTS = ["d", "h", "n", "t", "z"]; +const VOWELS = ["a,", "e", "i", "o", "u"]; +const DIGITS_SPOKEN_N_NEEDED = [0, 1, 2, 3, 8, 9]; +const FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED = [40, 50, 60, 70]; + +// Eifeler Regel +function isFinalNNeeded(nextWords) { + const firstLetter = nextWords.charAt(0).toLowerCase(); + if ( + VOWELS.indexOf(firstLetter) != -1 || + EXCEPTION_CONSONANTS.indexOf(firstLetter) != -1 + ) { + return true; + } + + // Numbers would need to converted into words for checking. + // Therefore, I have listed the digits that require a preceeding n with a few exceptions. + const firstWord = nextWords.split(" ")[0]; + const number = parseInt(firstWord); + if ( + !isNaN(number) && + DIGITS_SPOKEN_N_NEEDED.indexOf(number % 10) != -1 && + FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED.indexOf( + parseInt(firstWord.substring(0, 2)), + ) == -1 + ) { + return true; + } + + // Omit other checks as they are not expected here. + return false; +} + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + + const usageGroup = options?.addSuffix + ? tokenValue.withPreposition + : tokenValue.standalone; + + if (typeof usageGroup === "string") { + result = usageGroup; + } else if (count === 1) { + result = usageGroup.one; + } else { + result = usageGroup.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "a" + (isFinalNNeeded(result) ? "n" : "") + " " + result; + } else { + return "viru" + (isFinalNNeeded(result) ? "n" : "") + " " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/lb/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/lb/_lib/formatLong.js new file mode 100644 index 00000000..dc6c95a3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb/_lib/formatLong.js @@ -0,0 +1,41 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008 + +const dateFormats = { + full: "EEEE, do MMMM y", // Méindeg, 7. Januar 2018 + long: "do MMMM y", // 7. Januar 2018 + medium: "do MMM y", // 7. Jan 2018 + short: "dd.MM.yy", // 07.01.18 +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'um' {{time}}", + long: "{{date}} 'um' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lb/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/lb/_lib/formatRelative.js new file mode 100644 index 00000000..d3e2f50b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb/_lib/formatRelative.js @@ -0,0 +1,27 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + const day = date.getDay(); + let result = "'läschte"; + if (day === 2 || day === 4) { + // Eifeler Regel: Add an n before the consonant d; Here "Dënschdeg" "and Donneschde". + result += "n"; + } + result += "' eeee 'um' p"; + return result; + }, + yesterday: "'gëschter um' p", + today: "'haut um' p", + tomorrow: "'moien um' p", + nextWeek: "eeee 'um' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/lb/_lib/localize.js b/.output/server/node_modules/date-fns/locale/lb/_lib/localize.js new file mode 100644 index 00000000..c965f3cf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["v.Chr.", "n.Chr."], + abbreviated: ["v.Chr.", "n.Chr."], + wide: ["viru Christus", "no Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mäe", + "Abr", + "Mee", + "Jun", + "Jul", + "Aug", + "Sep", + "Okt", + "Nov", + "Dez", + ], + + wide: [ + "Januar", + "Februar", + "Mäerz", + "Abrëll", + "Mee", + "Juni", + "Juli", + "August", + "September", + "Oktober", + "November", + "Dezember", + ], +}; + +const dayValues = { + narrow: ["S", "M", "D", "M", "D", "F", "S"], + short: ["So", "Mé", "Dë", "Më", "Do", "Fr", "Sa"], + abbreviated: ["So.", "Mé.", "Dë.", "Më.", "Do.", "Fr.", "Sa."], + wide: [ + "Sonndeg", + "Méindeg", + "Dënschdeg", + "Mëttwoch", + "Donneschdeg", + "Freideg", + "Samschdeg", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "mo.", + pm: "nomë.", + midnight: "Mëtternuecht", + noon: "Mëtteg", + morning: "Moien", + afternoon: "Nomëtteg", + evening: "Owend", + night: "Nuecht", + }, + abbreviated: { + am: "moies", + pm: "nomëttes", + midnight: "Mëtternuecht", + noon: "Mëtteg", + morning: "Moien", + afternoon: "Nomëtteg", + evening: "Owend", + night: "Nuecht", + }, + wide: { + am: "moies", + pm: "nomëttes", + midnight: "Mëtternuecht", + noon: "Mëtteg", + morning: "Moien", + afternoon: "Nomëtteg", + evening: "Owend", + night: "Nuecht", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "mo.", + pm: "nom.", + midnight: "Mëtternuecht", + noon: "mëttes", + morning: "moies", + afternoon: "nomëttes", + evening: "owes", + night: "nuets", + }, + abbreviated: { + am: "moies", + pm: "nomëttes", + midnight: "Mëtternuecht", + noon: "mëttes", + morning: "moies", + afternoon: "nomëttes", + evening: "owes", + night: "nuets", + }, + wide: { + am: "moies", + pm: "nomëttes", + midnight: "Mëtternuecht", + noon: "mëttes", + morning: "moies", + afternoon: "nomëttes", + evening: "owes", + night: "nuets", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lb/_lib/match.js b/.output/server/node_modules/date-fns/locale/lb/_lib/match.js new file mode 100644 index 00000000..c8da63f2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lb/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + abbreviated: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + wide: /^(viru Christus|virun eiser Zäitrechnung|no Christus|eiser Zäitrechnung)/i, +}; +const parseEraPatterns = { + any: [/^v/i, /^n/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? Quartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mäe|abr|mee|jun|jul|aug|sep|okt|nov|dez)/i, + wide: /^(januar|februar|mäerz|abrëll|mee|juni|juli|august|september|oktober|november|dezember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mä/i, + /^ab/i, + /^me/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smdf]/i, + short: /^(so|mé|dë|më|do|fr|sa)/i, + abbreviated: /^(son?|méi?|dën?|mët?|don?|fre?|sam?)\.?/i, + wide: /^(sonndeg|méindeg|dënschdeg|mëttwoch|donneschdeg|freideg|samschdeg)/i, +}; +const parseDayPatterns = { + any: [/^so/i, /^mé/i, /^dë/i, /^më/i, /^do/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(mo\.?|nomë\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i, + abbreviated: + /^(moi\.?|nomët\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i, + wide: /^(moies|nomëttes|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^m/i, + pm: /^n/i, + midnight: /^Mëtter/i, + noon: /^mëttes/i, + morning: /moies/i, + afternoon: /nomëttes/i, // will never be matched. Afternoon is matched by `pm` + evening: /owes/i, + night: /nuets/i, // will never be matched. Night is matched by `pm` + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lt.js b/.output/server/node_modules/date-fns/locale/lt.js new file mode 100644 index 00000000..0b1c8752 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./lt/_lib/formatDistance.js"; +import { formatLong } from "./lt/_lib/formatLong.js"; +import { formatRelative } from "./lt/_lib/formatRelative.js"; +import { localize } from "./lt/_lib/localize.js"; +import { match } from "./lt/_lib/match.js"; + +/** + * @category Locales + * @summary Lithuanian locale. + * @language Lithuanian + * @iso-639-2 lit + * @author Pavlo Shpak [@pshpak](https://github.com/pshpak) + * @author Eduardo Pardo [@eduardopsll](https://github.com/eduardopsll) + */ +export const lt = { + code: "lt", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default lt; diff --git a/.output/server/node_modules/date-fns/locale/lt/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/lt/_lib/formatDistance.js new file mode 100644 index 00000000..193d9383 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt/_lib/formatDistance.js @@ -0,0 +1,176 @@ +const translations = { + xseconds_other: "sekundė_sekundžių_sekundes", + xminutes_one: "minutė_minutės_minutę", + xminutes_other: "minutės_minučių_minutes", + xhours_one: "valanda_valandos_valandą", + xhours_other: "valandos_valandų_valandas", + xdays_one: "diena_dienos_dieną", + xdays_other: "dienos_dienų_dienas", + xweeks_one: "savaitė_savaitės_savaitę", + xweeks_other: "savaitės_savaičių_savaites", + xmonths_one: "mėnuo_mėnesio_mėnesį", + xmonths_other: "mėnesiai_mėnesių_mėnesius", + xyears_one: "metai_metų_metus", + xyears_other: "metai_metų_metus", + about: "apie", + over: "daugiau nei", + almost: "beveik", + lessthan: "mažiau nei", +}; + +const translateSeconds = (_number, addSuffix, _key, isFuture) => { + if (!addSuffix) { + return "kelios sekundės"; + } else { + return isFuture ? "kelių sekundžių" : "kelias sekundes"; + } +}; + +const translateSingular = (_number, addSuffix, key, isFuture) => { + return !addSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2]; +}; + +const translate = (number, addSuffix, key, isFuture) => { + const result = number + " "; + if (number === 1) { + return result + translateSingular(number, addSuffix, key, isFuture); + } else if (!addSuffix) { + return result + (special(number) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(number) ? forms(key)[1] : forms(key)[2]); + } + } +}; + +function special(number) { + return number % 10 === 0 || (number > 10 && number < 20); +} + +function forms(key) { + return translations[key].split("_"); +} + +const formatDistanceLocale = { + lessThanXSeconds: { + one: translateSeconds, + other: translate, + }, + + xSeconds: { + one: translateSeconds, + other: translate, + }, + + halfAMinute: "pusė minutės", + + lessThanXMinutes: { + one: translateSingular, + other: translate, + }, + + xMinutes: { + one: translateSingular, + other: translate, + }, + + aboutXHours: { + one: translateSingular, + other: translate, + }, + + xHours: { + one: translateSingular, + other: translate, + }, + + xDays: { + one: translateSingular, + other: translate, + }, + + aboutXWeeks: { + one: translateSingular, + other: translate, + }, + + xWeeks: { + one: translateSingular, + other: translate, + }, + + aboutXMonths: { + one: translateSingular, + other: translate, + }, + + xMonths: { + one: translateSingular, + other: translate, + }, + + aboutXYears: { + one: translateSingular, + other: translate, + }, + + xYears: { + one: translateSingular, + other: translate, + }, + + overXYears: { + one: translateSingular, + other: translate, + }, + + almostXYears: { + one: translateSingular, + other: translate, + }, +}; + +export const formatDistance = (token, count, options) => { + const adverb = token.match(/about|over|almost|lessthan/i); + const unit = adverb ? token.replace(adverb[0], "") : token; + + const isFuture = options?.comparison !== undefined && options.comparison > 0; + + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one( + count, + options?.addSuffix === true, + unit.toLowerCase() + "_one", + isFuture, + ); + } else { + result = tokenValue.other( + count, + options?.addSuffix === true, + unit.toLowerCase() + "_other", + isFuture, + ); + } + + if (adverb) { + const key = adverb[0].toLowerCase(); + result = translations[key] + " " + result; + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "po " + result; + } else { + return "prieš " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/lt/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/lt/_lib/formatLong.js new file mode 100644 index 00000000..2e1ca0d2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y 'm'. MMMM d 'd'., EEEE", + long: "y 'm'. MMMM d 'd'.", + medium: "y-MM-dd", + short: "y-MM-dd", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lt/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/lt/_lib/formatRelative.js new file mode 100644 index 00000000..53575dba --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'Praėjusį' eeee p", + yesterday: "'Vakar' p", + today: "'Šiandien' p", + tomorrow: "'Rytoj' p", + nextWeek: "eeee p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/lt/_lib/localize.js b/.output/server/node_modules/date-fns/locale/lt/_lib/localize.js new file mode 100644 index 00000000..600d4571 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt/_lib/localize.js @@ -0,0 +1,224 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["pr. Kr.", "po Kr."], + abbreviated: ["pr. Kr.", "po Kr."], + wide: ["prieš Kristų", "po Kristaus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["I ketv.", "II ketv.", "III ketv.", "IV ketv."], + wide: ["I ketvirtis", "II ketvirtis", "III ketvirtis", "IV ketvirtis"], +}; + +const formattingQuarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["I k.", "II k.", "III k.", "IV k."], + wide: ["I ketvirtis", "II ketvirtis", "III ketvirtis", "IV ketvirtis"], +}; + +const monthValues = { + narrow: ["S", "V", "K", "B", "G", "B", "L", "R", "R", "S", "L", "G"], + abbreviated: [ + "saus.", + "vas.", + "kov.", + "bal.", + "geg.", + "birž.", + "liep.", + "rugp.", + "rugs.", + "spal.", + "lapkr.", + "gruod.", + ], + + wide: [ + "sausis", + "vasaris", + "kovas", + "balandis", + "gegužė", + "birželis", + "liepa", + "rugpjūtis", + "rugsėjis", + "spalis", + "lapkritis", + "gruodis", + ], +}; + +const formattingMonthValues = { + narrow: ["S", "V", "K", "B", "G", "B", "L", "R", "R", "S", "L", "G"], + abbreviated: [ + "saus.", + "vas.", + "kov.", + "bal.", + "geg.", + "birž.", + "liep.", + "rugp.", + "rugs.", + "spal.", + "lapkr.", + "gruod.", + ], + + wide: [ + "sausio", + "vasario", + "kovo", + "balandžio", + "gegužės", + "birželio", + "liepos", + "rugpjūčio", + "rugsėjo", + "spalio", + "lapkričio", + "gruodžio", + ], +}; + +const dayValues = { + narrow: ["S", "P", "A", "T", "K", "P", "Š"], + short: ["Sk", "Pr", "An", "Tr", "Kt", "Pn", "Št"], + abbreviated: ["sk", "pr", "an", "tr", "kt", "pn", "št"], + wide: [ + "sekmadienis", + "pirmadienis", + "antradienis", + "trečiadienis", + "ketvirtadienis", + "penktadienis", + "šeštadienis", + ], +}; + +const formattingDayValues = { + narrow: ["S", "P", "A", "T", "K", "P", "Š"], + short: ["Sk", "Pr", "An", "Tr", "Kt", "Pn", "Št"], + abbreviated: ["sk", "pr", "an", "tr", "kt", "pn", "št"], + wide: [ + "sekmadienį", + "pirmadienį", + "antradienį", + "trečiadienį", + "ketvirtadienį", + "penktadienį", + "šeštadienį", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "pr. p.", + pm: "pop.", + midnight: "vidurnaktis", + noon: "vidurdienis", + morning: "rytas", + afternoon: "diena", + evening: "vakaras", + night: "naktis", + }, + abbreviated: { + am: "priešpiet", + pm: "popiet", + midnight: "vidurnaktis", + noon: "vidurdienis", + morning: "rytas", + afternoon: "diena", + evening: "vakaras", + night: "naktis", + }, + wide: { + am: "priešpiet", + pm: "popiet", + midnight: "vidurnaktis", + noon: "vidurdienis", + morning: "rytas", + afternoon: "diena", + evening: "vakaras", + night: "naktis", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "pr. p.", + pm: "pop.", + midnight: "vidurnaktis", + noon: "perpiet", + morning: "rytas", + afternoon: "popietė", + evening: "vakaras", + night: "naktis", + }, + abbreviated: { + am: "priešpiet", + pm: "popiet", + midnight: "vidurnaktis", + noon: "perpiet", + morning: "rytas", + afternoon: "popietė", + evening: "vakaras", + night: "naktis", + }, + wide: { + am: "priešpiet", + pm: "popiet", + midnight: "vidurnaktis", + noon: "perpiet", + morning: "rytas", + afternoon: "popietė", + evening: "vakaras", + night: "naktis", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "-oji"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + formattingValues: formattingQuarterValues, + defaultFormattingWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: formattingDayValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lt/_lib/match.js b/.output/server/node_modules/date-fns/locale/lt/_lib/match.js new file mode 100644 index 00000000..f9178ed7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lt/_lib/match.js @@ -0,0 +1,147 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-oji)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^p(r|o)\.?\s?(kr\.?|me)/i, + abbreviated: /^(pr\.\s?(kr\.|m\.\s?e\.)|po\s?kr\.|mūsų eroje)/i, + wide: /^(prieš Kristų|prieš mūsų erą|po Kristaus|mūsų eroje)/i, +}; +const parseEraPatterns = { + wide: [/prieš/i, /(po|mūsų)/i], + any: [/^pr/i, /^(po|m)/i], +}; + +const matchQuarterPatterns = { + narrow: /^([1234])/i, + abbreviated: /^(I|II|III|IV)\s?ketv?\.?/i, + wide: /^(I|II|III|IV)\s?ketvirtis/i, +}; +const parseQuarterPatterns = { + narrow: [/1/i, /2/i, /3/i, /4/i], + any: [/I$/i, /II$/i, /III/i, /IV/i], +}; + +const matchMonthPatterns = { + narrow: /^[svkbglr]/i, + abbreviated: + /^(saus\.|vas\.|kov\.|bal\.|geg\.|birž\.|liep\.|rugp\.|rugs\.|spal\.|lapkr\.|gruod\.)/i, + wide: /^(sausi(s|o)|vasari(s|o)|kov(a|o)s|balandž?i(s|o)|gegužės?|birželi(s|o)|liep(a|os)|rugpjū(t|č)i(s|o)|rugsėj(is|o)|spali(s|o)|lapkri(t|č)i(s|o)|gruodž?i(s|o))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^s/i, + /^v/i, + /^k/i, + /^b/i, + /^g/i, + /^b/i, + /^l/i, + /^r/i, + /^r/i, + /^s/i, + /^l/i, + /^g/i, + ], + + any: [ + /^saus/i, + /^vas/i, + /^kov/i, + /^bal/i, + /^geg/i, + /^birž/i, + /^liep/i, + /^rugp/i, + /^rugs/i, + /^spal/i, + /^lapkr/i, + /^gruod/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[spatkš]/i, + short: /^(sk|pr|an|tr|kt|pn|št)/i, + abbreviated: /^(sk|pr|an|tr|kt|pn|št)/i, + wide: /^(sekmadien(is|į)|pirmadien(is|į)|antradien(is|į)|trečiadien(is|į)|ketvirtadien(is|į)|penktadien(is|į)|šeštadien(is|į))/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^p/i, /^a/i, /^t/i, /^k/i, /^p/i, /^š/i], + wide: [/^se/i, /^pi/i, /^an/i, /^tr/i, /^ke/i, /^pe/i, /^še/i], + any: [/^sk/i, /^pr/i, /^an/i, /^tr/i, /^kt/i, /^pn/i, /^št/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(pr.\s?p.|pop.|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i, + any: /^(priešpiet|popiet$|vidurnaktis|(vidurdienis|perpiet)|rytas|(diena|popietė)|vakaras|naktis)/i, +}; +const parseDayPeriodPatterns = { + narrow: { + am: /^pr/i, + pm: /^pop./i, + midnight: /^vidurnaktis/i, + noon: /^(vidurdienis|perp)/i, + morning: /rytas/i, + afternoon: /(die|popietė)/i, + evening: /vakaras/i, + night: /naktis/i, + }, + any: { + am: /^pr/i, + pm: /^popiet$/i, + midnight: /^vidurnaktis/i, + noon: /^(vidurdienis|perp)/i, + morning: /rytas/i, + afternoon: /(die|popietė)/i, + evening: /vakaras/i, + night: /naktis/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lv.js b/.output/server/node_modules/date-fns/locale/lv.js new file mode 100644 index 00000000..755f71d1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./lv/_lib/formatDistance.js"; +import { formatLong } from "./lv/_lib/formatLong.js"; +import { formatRelative } from "./lv/_lib/formatRelative.js"; +import { localize } from "./lv/_lib/localize.js"; +import { match } from "./lv/_lib/match.js"; + +/** + * @category Locales + * @summary Latvian locale (Latvia). + * @language Latvian + * @iso-639-2 lav + * @author Rūdolfs Puķītis [@prudolfs](https://github.com/prudolfs) + */ +export const lv = { + code: "lv", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default lv; diff --git a/.output/server/node_modules/date-fns/locale/lv/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/lv/_lib/formatDistance.js new file mode 100644 index 00000000..dcef1174 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv/_lib/formatDistance.js @@ -0,0 +1,163 @@ +function buildLocalizeTokenFn(schema) { + return (count, options) => { + if (count === 1) { + if (options?.addSuffix) { + return schema.one[0].replace("{{time}}", schema.one[2]); + } else { + return schema.one[0].replace("{{time}}", schema.one[1]); + } + } else { + const rem = count % 10 === 1 && count % 100 !== 11; + if (options?.addSuffix) { + return schema.other[0] + .replace("{{time}}", rem ? schema.other[3] : schema.other[4]) + .replace("{{count}}", String(count)); + } else { + return schema.other[0] + .replace("{{time}}", rem ? schema.other[1] : schema.other[2]) + .replace("{{count}}", String(count)); + } + } + }; +} + +const formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + one: ["mazāk par {{time}}", "sekundi", "sekundi"], + other: [ + "mazāk nekā {{count}} {{time}}", + "sekunde", + "sekundes", + "sekundes", + "sekundēm", + ], + }), + + xSeconds: buildLocalizeTokenFn({ + one: ["1 {{time}}", "sekunde", "sekundes"], + other: [ + "{{count}} {{time}}", + "sekunde", + "sekundes", + "sekundes", + "sekundēm", + ], + }), + + halfAMinute: (_count, options) => { + if (options?.addSuffix) { + return "pusminūtes"; + } else { + return "pusminūte"; + } + }, + + lessThanXMinutes: buildLocalizeTokenFn({ + one: ["mazāk par {{time}}", "minūti", "minūti"], + other: [ + "mazāk nekā {{count}} {{time}}", + "minūte", + "minūtes", + "minūtes", + "minūtēm", + ], + }), + + xMinutes: buildLocalizeTokenFn({ + one: ["1 {{time}}", "minūte", "minūtes"], + other: ["{{count}} {{time}}", "minūte", "minūtes", "minūtes", "minūtēm"], + }), + + aboutXHours: buildLocalizeTokenFn({ + one: ["apmēram 1 {{time}}", "stunda", "stundas"], + other: [ + "apmēram {{count}} {{time}}", + "stunda", + "stundas", + "stundas", + "stundām", + ], + }), + + xHours: buildLocalizeTokenFn({ + one: ["1 {{time}}", "stunda", "stundas"], + other: ["{{count}} {{time}}", "stunda", "stundas", "stundas", "stundām"], + }), + + xDays: buildLocalizeTokenFn({ + one: ["1 {{time}}", "diena", "dienas"], + other: ["{{count}} {{time}}", "diena", "dienas", "dienas", "dienām"], + }), + + aboutXWeeks: buildLocalizeTokenFn({ + one: ["apmēram 1 {{time}}", "nedēļa", "nedēļas"], + other: [ + "apmēram {{count}} {{time}}", + "nedēļa", + "nedēļu", + "nedēļas", + "nedēļām", + ], + }), + + xWeeks: buildLocalizeTokenFn({ + one: ["1 {{time}}", "nedēļa", "nedēļas"], + other: [ + "{{count}} {{time}}", // TODO + "nedēļa", + "nedēļu", + "nedēļas", + "nedēļām", + ], + }), + + aboutXMonths: buildLocalizeTokenFn({ + one: ["apmēram 1 {{time}}", "mēnesis", "mēneša"], + other: [ + "apmēram {{count}} {{time}}", + "mēnesis", + "mēneši", + "mēneša", + "mēnešiem", + ], + }), + + xMonths: buildLocalizeTokenFn({ + one: ["1 {{time}}", "mēnesis", "mēneša"], + other: ["{{count}} {{time}}", "mēnesis", "mēneši", "mēneša", "mēnešiem"], + }), + + aboutXYears: buildLocalizeTokenFn({ + one: ["apmēram 1 {{time}}", "gads", "gada"], + other: ["apmēram {{count}} {{time}}", "gads", "gadi", "gada", "gadiem"], + }), + + xYears: buildLocalizeTokenFn({ + one: ["1 {{time}}", "gads", "gada"], + other: ["{{count}} {{time}}", "gads", "gadi", "gada", "gadiem"], + }), + + overXYears: buildLocalizeTokenFn({ + one: ["ilgāk par 1 {{time}}", "gadu", "gadu"], + other: ["vairāk nekā {{count}} {{time}}", "gads", "gadi", "gada", "gadiem"], + }), + + almostXYears: buildLocalizeTokenFn({ + one: ["gandrīz 1 {{time}}", "gads", "gada"], + other: ["vairāk nekā {{count}} {{time}}", "gads", "gadi", "gada", "gadiem"], + }), +}; + +export const formatDistance = (token, count, options) => { + const result = formatDistanceLocale[token](count, options); + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "pēc " + result; + } else { + return "pirms " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/lv/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/lv/_lib/formatLong.js new file mode 100644 index 00000000..faa21594 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, y. 'gada' d. MMMM", + long: "y. 'gada' d. MMMM", + medium: "dd.MM.y.", + short: "dd.MM.y.", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'plkst.' {{time}}", + long: "{{date}} 'plkst.' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lv/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/lv/_lib/formatRelative.js new file mode 100644 index 00000000..78fe5ec6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv/_lib/formatRelative.js @@ -0,0 +1,44 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const weekdays = [ + "svētdienā", + "pirmdienā", + "otrdienā", + "trešdienā", + "ceturtdienā", + "piektdienā", + "sestdienā", +]; + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + if (isSameWeek(date, baseDate, options)) { + return "eeee 'plkst.' p"; + } + + const weekday = weekdays[date.getDay()]; + return "'Pagājušā " + weekday + " plkst.' p"; + }, + yesterday: "'Vakar plkst.' p", + today: "'Šodien plkst.' p", + tomorrow: "'Rīt plkst.' p", + nextWeek: (date, baseDate, options) => { + if (isSameWeek(date, baseDate, options)) { + return "eeee 'plkst.' p"; + } + + const weekday = weekdays[date.getDay()]; + return "'Nākamajā " + weekday + " plkst.' p"; + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/lv/_lib/localize.js b/.output/server/node_modules/date-fns/locale/lv/_lib/localize.js new file mode 100644 index 00000000..3ace4d6a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv/_lib/localize.js @@ -0,0 +1,252 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["p.m.ē", "m.ē"], + abbreviated: ["p. m. ē.", "m. ē."], + wide: ["pirms mūsu ēras", "mūsu ērā"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1. cet.", "2. cet.", "3. cet.", "4. cet."], + wide: [ + "pirmais ceturksnis", + "otrais ceturksnis", + "trešais ceturksnis", + "ceturtais ceturksnis", + ], +}; + +const formattingQuarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1. cet.", "2. cet.", "3. cet.", "4. cet."], + wide: [ + "pirmajā ceturksnī", + "otrajā ceturksnī", + "trešajā ceturksnī", + "ceturtajā ceturksnī", + ], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "janv.", + "febr.", + "marts", + "apr.", + "maijs", + "jūn.", + "jūl.", + "aug.", + "sept.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "janvāris", + "februāris", + "marts", + "aprīlis", + "maijs", + "jūnijs", + "jūlijs", + "augusts", + "septembris", + "oktobris", + "novembris", + "decembris", + ], +}; + +const formattingMonthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "janv.", + "febr.", + "martā", + "apr.", + "maijs", + "jūn.", + "jūl.", + "aug.", + "sept.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "janvārī", + "februārī", + "martā", + "aprīlī", + "maijā", + "jūnijā", + "jūlijā", + "augustā", + "septembrī", + "oktobrī", + "novembrī", + "decembrī", + ], +}; + +const dayValues = { + narrow: ["S", "P", "O", "T", "C", "P", "S"], + short: ["Sv", "P", "O", "T", "C", "Pk", "S"], + abbreviated: [ + "svētd.", + "pirmd.", + "otrd.", + "trešd.", + "ceturtd.", + "piektd.", + "sestd.", + ], + + wide: [ + "svētdiena", + "pirmdiena", + "otrdiena", + "trešdiena", + "ceturtdiena", + "piektdiena", + "sestdiena", + ], +}; + +const formattingDayValues = { + narrow: ["S", "P", "O", "T", "C", "P", "S"], + short: ["Sv", "P", "O", "T", "C", "Pk", "S"], + abbreviated: [ + "svētd.", + "pirmd.", + "otrd.", + "trešd.", + "ceturtd.", + "piektd.", + "sestd.", + ], + + wide: [ + "svētdienā", + "pirmdienā", + "otrdienā", + "trešdienā", + "ceturtdienā", + "piektdienā", + "sestdienā", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "pusn.", + noon: "pusd.", + morning: "rīts", + afternoon: "diena", + evening: "vakars", + night: "nakts", + }, + abbreviated: { + am: "am", + pm: "pm", + midnight: "pusn.", + noon: "pusd.", + morning: "rīts", + afternoon: "pēcpusd.", + evening: "vakars", + night: "nakts", + }, + wide: { + am: "am", + pm: "pm", + midnight: "pusnakts", + noon: "pusdienlaiks", + morning: "rīts", + afternoon: "pēcpusdiena", + evening: "vakars", + night: "nakts", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "pusn.", + noon: "pusd.", + morning: "rītā", + afternoon: "dienā", + evening: "vakarā", + night: "naktī", + }, + abbreviated: { + am: "am", + pm: "pm", + midnight: "pusn.", + noon: "pusd.", + morning: "rītā", + afternoon: "pēcpusd.", + evening: "vakarā", + night: "naktī", + }, + wide: { + am: "am", + pm: "pm", + midnight: "pusnaktī", + noon: "pusdienlaikā", + morning: "rītā", + afternoon: "pēcpusdienā", + evening: "vakarā", + night: "naktī", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + formattingValues: formattingQuarterValues, + defaultFormattingWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: formattingDayValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/lv/_lib/match.js b/.output/server/node_modules/date-fns/locale/lv/_lib/match.js new file mode 100644 index 00000000..76918fe7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/lv/_lib/match.js @@ -0,0 +1,136 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(p\.m\.ē|m\.ē)/i, + abbreviated: /^(p\. m\. ē\.|m\. ē\.)/i, + wide: /^(pirms mūsu ēras|mūsu ērā)/i, +}; +const parseEraPatterns = { + any: [/^p/i, /^m/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](\. cet\.)/i, + wide: /^(pirma(is|jā)|otra(is|jā)|treša(is|jā)|ceturta(is|jā)) ceturksn(is|ī)/i, +}; +const parseQuarterPatterns = { + narrow: [/^1/i, /^2/i, /^3/i, /^4/i], + abbreviated: [/^1/i, /^2/i, /^3/i, /^4/i], + wide: [/^p/i, /^o/i, /^t/i, /^c/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(janv\.|febr\.|marts|apr\.|maijs|jūn\.|jūl\.|aug\.|sept\.|okt\.|nov\.|dec\.)/i, + wide: /^(janvār(is|ī)|februār(is|ī)|mart[sā]|aprīl(is|ī)|maij[sā]|jūnij[sā]|jūlij[sā]|august[sā]|septembr(is|ī)|oktobr(is|ī)|novembr(is|ī)|decembr(is|ī))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mai/i, + /^jūn/i, + /^jūl/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[spotc]/i, + short: /^(sv|pi|o|t|c|pk|s)/i, + abbreviated: /^(svētd\.|pirmd\.|otrd.\|trešd\.|ceturtd\.|piektd\.|sestd\.)/i, + wide: /^(svētdien(a|ā)|pirmdien(a|ā)|otrdien(a|ā)|trešdien(a|ā)|ceturtdien(a|ā)|piektdien(a|ā)|sestdien(a|ā))/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^p/i, /^o/i, /^t/i, /^c/i, /^p/i, /^s/i], + any: [/^sv/i, /^pi/i, /^o/i, /^t/i, /^c/i, /^p/i, /^se/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(am|pm|pusn\.|pusd\.|rīt(s|ā)|dien(a|ā)|vakar(s|ā)|nakt(s|ī))/, + abbreviated: /^(am|pm|pusn\.|pusd\.|rīt(s|ā)|pēcpusd\.|vakar(s|ā)|nakt(s|ī))/, + wide: /^(am|pm|pusnakt(s|ī)|pusdienlaik(s|ā)|rīt(s|ā)|pēcpusdien(a|ā)|vakar(s|ā)|nakt(s|ī))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /^pusn/i, + noon: /^pusd/i, + morning: /^r/i, + afternoon: /^(d|pēc)/i, + evening: /^v/i, + night: /^n/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "wide", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mk.js b/.output/server/node_modules/date-fns/locale/mk.js new file mode 100644 index 00000000..4c50c75e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./mk/_lib/formatDistance.js"; +import { formatLong } from "./mk/_lib/formatLong.js"; +import { formatRelative } from "./mk/_lib/formatRelative.js"; +import { localize } from "./mk/_lib/localize.js"; +import { match } from "./mk/_lib/match.js"; + +/** + * @category Locales + * @summary Macedonian locale. + * @language Macedonian + * @iso-639-2 mkd + * @author Petar Vlahu [@vlahupetar](https://github.com/vlahupetar) + * @author Altrim Beqiri [@altrim](https://github.com/altrim) + */ +export const mk = { + code: "mk", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default mk; diff --git a/.output/server/node_modules/date-fns/locale/mk/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/mk/_lib/formatDistance.js new file mode 100644 index 00000000..e77b6ab2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "помалку од секунда", + other: "помалку од {{count}} секунди", + }, + + xSeconds: { + one: "1 секунда", + other: "{{count}} секунди", + }, + + halfAMinute: "половина минута", + + lessThanXMinutes: { + one: "помалку од минута", + other: "помалку од {{count}} минути", + }, + + xMinutes: { + one: "1 минута", + other: "{{count}} минути", + }, + + aboutXHours: { + one: "околу 1 час", + other: "околу {{count}} часа", + }, + + xHours: { + one: "1 час", + other: "{{count}} часа", + }, + + xDays: { + one: "1 ден", + other: "{{count}} дена", + }, + + aboutXWeeks: { + one: "околу 1 недела", + other: "околу {{count}} месеци", + }, + + xWeeks: { + one: "1 недела", + other: "{{count}} недели", + }, + + aboutXMonths: { + one: "околу 1 месец", + other: "околу {{count}} недели", + }, + + xMonths: { + one: "1 месец", + other: "{{count}} месеци", + }, + + aboutXYears: { + one: "околу 1 година", + other: "околу {{count}} години", + }, + + xYears: { + one: "1 година", + other: "{{count}} години", + }, + + overXYears: { + one: "повеќе од 1 година", + other: "повеќе од {{count}} години", + }, + + almostXYears: { + one: "безмалку 1 година", + other: "безмалку {{count}} години", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "за " + result; + } else { + return "пред " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/mk/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/mk/_lib/formatLong.js new file mode 100644 index 00000000..ac518ae9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, dd MMMM yyyy", + long: "dd MMMM yyyy", + medium: "dd MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mk/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/mk/_lib/formatRelative.js new file mode 100644 index 00000000..ce9b7018 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk/_lib/formatRelative.js @@ -0,0 +1,92 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const weekdays = [ + "недела", + "понеделник", + "вторник", + "среда", + "четврток", + "петок", + "сабота", +]; + +function lastWeek(day) { + const weekday = weekdays[day]; + + switch (day) { + case 0: + case 3: + case 6: + return "'минатата " + weekday + " во' p"; + case 1: + case 2: + case 4: + case 5: + return "'минатиот " + weekday + " во' p"; + } +} + +function thisWeek(day) { + const weekday = weekdays[day]; + + switch (day) { + case 0: + case 3: + case 6: + return "'ова " + weekday + " вo' p"; + case 1: + case 2: + case 4: + case 5: + return "'овој " + weekday + " вo' p"; + } +} + +function nextWeek(day) { + const weekday = weekdays[day]; + + switch (day) { + case 0: + case 3: + case 6: + return "'следната " + weekday + " вo' p"; + case 1: + case 2: + case 4: + case 5: + return "'следниот " + weekday + " вo' p"; + } +} + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } + }, + yesterday: "'вчера во' p", + today: "'денес во' p", + tomorrow: "'утре во' p", + nextWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/mk/_lib/localize.js b/.output/server/node_modules/date-fns/locale/mk/_lib/localize.js new file mode 100644 index 00000000..98b0e09b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk/_lib/localize.js @@ -0,0 +1,121 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["пр.н.е.", "н.е."], + abbreviated: ["пред н. е.", "н. е."], + wide: ["пред нашата ера", "нашата ера"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-ви кв.", "2-ри кв.", "3-ти кв.", "4-ти кв."], + wide: ["1-ви квартал", "2-ри квартал", "3-ти квартал", "4-ти квартал"], +}; + +const monthValues = { + abbreviated: [ + "јан", + "фев", + "мар", + "апр", + "мај", + "јун", + "јул", + "авг", + "септ", + "окт", + "ноем", + "дек", + ], + + wide: [ + "јануари", + "февруари", + "март", + "април", + "мај", + "јуни", + "јули", + "август", + "септември", + "октомври", + "ноември", + "декември", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "В", "С", "Ч", "П", "С"], + short: ["не", "по", "вт", "ср", "че", "пе", "са"], + abbreviated: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], + wide: [ + "недела", + "понеделник", + "вторник", + "среда", + "четврток", + "петок", + "сабота", + ], +}; + +const dayPeriodValues = { + wide: { + am: "претпладне", + pm: "попладне", + midnight: "полноќ", + noon: "напладне", + morning: "наутро", + afternoon: "попладне", + evening: "навечер", + night: "ноќе", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + "-ви"; + case 2: + return number + "-ри"; + case 7: + case 8: + return number + "-ми"; + } + } + return number + "-ти"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mk/_lib/match.js b/.output/server/node_modules/date-fns/locale/mk/_lib/match.js new file mode 100644 index 00000000..8e9200da --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mk/_lib/match.js @@ -0,0 +1,116 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?[врмт][и])?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((пр)?н\.?\s?е\.?)/i, + abbreviated: /^((пр)?н\.?\s?е\.?)/i, + wide: /^(пред нашата ера|нашата ера)/i, +}; +const parseEraPatterns = { + any: [/^п/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[врт]?и?)? кв.?/i, + wide: /^[1234](-?[врт]?и?)? квартал/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchDayPatterns = { + narrow: /^[нпвсч]/i, + short: /^(не|по|вт|ср|че|пе|са)/i, + abbreviated: /^(нед|пон|вто|сре|чет|пет|саб)/i, + wide: /^(недела|понеделник|вторник|среда|четврток|петок|сабота)/i, +}; + +const parseDayPatterns = { + narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[аб]/i], +}; + +const matchMonthPatterns = { + abbreviated: /^(јан|фев|мар|апр|мај|јун|јул|авг|сеп|окт|ноем|дек)/i, + wide: /^(јануари|февруари|март|април|мај|јуни|јули|август|септември|октомври|ноември|декември)/i, +}; +const parseMonthPatterns = { + any: [ + /^ја/i, + /^Ф/i, + /^мар/i, + /^ап/i, + /^мај/i, + /^јун/i, + /^јул/i, + /^ав/i, + /^се/i, + /^окт/i, + /^но/i, + /^де/i, + ], +}; + +const matchDayPeriodPatterns = { + any: /^(претп|попл|полноќ|утро|пладне|вечер|ноќ)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /претпладне/i, + pm: /попладне/i, + midnight: /полноќ/i, + noon: /напладне/i, + morning: /наутро/i, + afternoon: /попладне/i, + evening: /навечер/i, + night: /ноќе/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mn.js b/.output/server/node_modules/date-fns/locale/mn.js new file mode 100644 index 00000000..45790fc8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./mn/_lib/formatDistance.js"; +import { formatLong } from "./mn/_lib/formatLong.js"; +import { formatRelative } from "./mn/_lib/formatRelative.js"; +import { localize } from "./mn/_lib/localize.js"; +import { match } from "./mn/_lib/match.js"; + +/** + * @category Locales + * @summary Mongolian locale. + * @language Mongolian + * @iso-639-2 mon + * @author Bilguun Ochirbat [@bilguun0203](https://github.com/bilguun0203) + */ +export const mn = { + code: "mn", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default mn; diff --git a/.output/server/node_modules/date-fns/locale/mn/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/mn/_lib/formatDistance.js new file mode 100644 index 00000000..f90ac736 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn/_lib/formatDistance.js @@ -0,0 +1,139 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "секунд хүрэхгүй", + other: "{{count}} секунд хүрэхгүй", + }, + + xSeconds: { + one: "1 секунд", + other: "{{count}} секунд", + }, + + halfAMinute: "хагас минут", + + lessThanXMinutes: { + one: "минут хүрэхгүй", + other: "{{count}} минут хүрэхгүй", + }, + + xMinutes: { + one: "1 минут", + other: "{{count}} минут", + }, + + aboutXHours: { + one: "ойролцоогоор 1 цаг", + other: "ойролцоогоор {{count}} цаг", + }, + + xHours: { + one: "1 цаг", + other: "{{count}} цаг", + }, + + xDays: { + one: "1 өдөр", + other: "{{count}} өдөр", + }, + + aboutXWeeks: { + one: "ойролцоогоор 1 долоо хоног", + other: "ойролцоогоор {{count}} долоо хоног", + }, + + xWeeks: { + one: "1 долоо хоног", + other: "{{count}} долоо хоног", + }, + + aboutXMonths: { + one: "ойролцоогоор 1 сар", + other: "ойролцоогоор {{count}} сар", + }, + + xMonths: { + one: "1 сар", + other: "{{count}} сар", + }, + + aboutXYears: { + one: "ойролцоогоор 1 жил", + other: "ойролцоогоор {{count}} жил", + }, + + xYears: { + one: "1 жил", + other: "{{count}} жил", + }, + + overXYears: { + one: "1 жил гаран", + other: "{{count}} жил гаран", + }, + + almostXYears: { + one: "бараг 1 жил", + other: "бараг {{count}} жил", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + /** + * Append genitive case + */ + const words = result.split(" "); + const lastword = words.pop(); + result = words.join(" "); + switch (lastword) { + case "секунд": + result += " секундийн"; + break; + case "минут": + result += " минутын"; + break; + case "цаг": + result += " цагийн"; + break; + case "өдөр": + result += " өдрийн"; + break; + case "сар": + result += " сарын"; + break; + case "жил": + result += " жилийн"; + break; + case "хоног": + result += " хоногийн"; + break; + case "гаран": + result += " гараны"; + break; + case "хүрэхгүй": + result += " хүрэхгүй хугацааны"; + break; + default: + result += lastword + "-н"; + } + + if (options.comparison && options.comparison > 0) { + return result + " дараа"; + } else { + return result + " өмнө"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/mn/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/mn/_lib/formatLong.js new file mode 100644 index 00000000..646d333a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y 'оны' MMMM'ын' d, EEEE 'гараг'", + long: "y 'оны' MMMM'ын' d", + medium: "y 'оны' MMM'ын' d", + short: "y.MM.dd", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mn/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/mn/_lib/formatRelative.js new file mode 100644 index 00000000..1fd8b103 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'өнгөрсөн' eeee 'гарагийн' p 'цагт'", + yesterday: "'өчигдөр' p 'цагт'", + today: "'өнөөдөр' p 'цагт'", + tomorrow: "'маргааш' p 'цагт'", + nextWeek: "'ирэх' eeee 'гарагийн' p 'цагт'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/mn/_lib/localize.js b/.output/server/node_modules/date-fns/locale/mn/_lib/localize.js new file mode 100644 index 00000000..61a34b1b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn/_lib/localize.js @@ -0,0 +1,196 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["НТӨ", "НТ"], + abbreviated: ["НТӨ", "НТ"], + wide: ["нийтийн тооллын өмнөх", "нийтийн тооллын"], +}; + +const quarterValues = { + narrow: ["I", "II", "III", "IV"], + abbreviated: ["I улирал", "II улирал", "III улирал", "IV улирал"], + wide: ["1-р улирал", "2-р улирал", "3-р улирал", "4-р улирал"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: [ + "I", + "II", + "III", + "IV", + "V", + "VI", + "VII", + "VIII", + "IX", + "X", + "XI", + "XII", + ], + + abbreviated: [ + "1-р сар", + "2-р сар", + "3-р сар", + "4-р сар", + "5-р сар", + "6-р сар", + "7-р сар", + "8-р сар", + "9-р сар", + "10-р сар", + "11-р сар", + "12-р сар", + ], + + wide: [ + "Нэгдүгээр сар", + "Хоёрдугаар сар", + "Гуравдугаар сар", + "Дөрөвдүгээр сар", + "Тавдугаар сар", + "Зургаадугаар сар", + "Долоодугаар сар", + "Наймдугаар сар", + "Есдүгээр сар", + "Аравдугаар сар", + "Арваннэгдүгээр сар", + "Арван хоёрдугаар сар", + ], +}; + +const formattingMonthValues = { + narrow: [ + "I", + "II", + "III", + "IV", + "V", + "VI", + "VII", + "VIII", + "IX", + "X", + "XI", + "XII", + ], + + abbreviated: [ + "1-р сар", + "2-р сар", + "3-р сар", + "4-р сар", + "5-р сар", + "6-р сар", + "7-р сар", + "8-р сар", + "9-р сар", + "10-р сар", + "11-р сар", + "12-р сар", + ], + + wide: [ + "нэгдүгээр сар", + "хоёрдугаар сар", + "гуравдугаар сар", + "дөрөвдүгээр сар", + "тавдугаар сар", + "зургаадугаар сар", + "долоодугаар сар", + "наймдугаар сар", + "есдүгээр сар", + "аравдугаар сар", + "арваннэгдүгээр сар", + "арван хоёрдугаар сар", + ], +}; + +const dayValues = { + narrow: ["Н", "Д", "М", "Л", "П", "Б", "Б"], + short: ["Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"], + abbreviated: ["Ням", "Дав", "Мяг", "Лха", "Пүр", "Баа", "Бям"], + wide: ["Ням", "Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба"], +}; + +const formattingDayValues = { + narrow: ["Н", "Д", "М", "Л", "П", "Б", "Б"], + short: ["Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"], + abbreviated: ["Ням", "Дав", "Мяг", "Лха", "Пүр", "Баа", "Бям"], + wide: ["ням", "даваа", "мягмар", "лхагва", "пүрэв", "баасан", "бямба"], +}; + +const dayPeriodValues = { + narrow: { + am: "ү.ө.", + pm: "ү.х.", + midnight: "шөнө дунд", + noon: "үд дунд", + morning: "өглөө", + afternoon: "өдөр", + evening: "орой", + night: "шөнө", + }, + abbreviated: { + am: "ү.ө.", + pm: "ү.х.", + midnight: "шөнө дунд", + noon: "үд дунд", + morning: "өглөө", + afternoon: "өдөр", + evening: "орой", + night: "шөнө", + }, + wide: { + am: "ү.ө.", + pm: "ү.х.", + midnight: "шөнө дунд", + noon: "үд дунд", + morning: "өглөө", + afternoon: "өдөр", + evening: "орой", + night: "шөнө", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: formattingDayValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mn/_lib/match.js b/.output/server/node_modules/date-fns/locale/mn/_lib/match.js new file mode 100644 index 00000000..4911cd53 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mn/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /\d+/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(нтө|нт)/i, + abbreviated: /^(нтө|нт)/i, + wide: /^(нийтийн тооллын өмнө|нийтийн тооллын)/i, +}; +const parseEraPatterns = { + any: [/^(нтө|нийтийн тооллын өмнө)/i, /^(нт|нийтийн тооллын)/i], +}; + +const matchQuarterPatterns = { + narrow: /^(iv|iii|ii|i)/i, + abbreviated: /^(iv|iii|ii|i) улирал/i, + wide: /^[1-4]-р улирал/i, +}; +const parseQuarterPatterns = { + any: [/^(i(\s|$)|1)/i, /^(ii(\s|$)|2)/i, /^(iii(\s|$)|3)/i, /^(iv(\s|$)|4)/i], +}; + +const matchMonthPatterns = { + narrow: /^(xii|xi|x|ix|viii|vii|vi|v|iv|iii|ii|i)/i, + abbreviated: + /^(1-р сар|2-р сар|3-р сар|4-р сар|5-р сар|6-р сар|7-р сар|8-р сар|9-р сар|10-р сар|11-р сар|12-р сар)/i, + wide: /^(нэгдүгээр сар|хоёрдугаар сар|гуравдугаар сар|дөрөвдүгээр сар|тавдугаар сар|зургаадугаар сар|долоодугаар сар|наймдугаар сар|есдүгээр сар|аравдугаар сар|арван нэгдүгээр сар|арван хоёрдугаар сар)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^i$/i, + /^ii$/i, + /^iii$/i, + /^iv$/i, + /^v$/i, + /^vi$/i, + /^vii$/i, + /^viii$/i, + /^ix$/i, + /^x$/i, + /^xi$/i, + /^xii$/i, + ], + + any: [ + /^(1|нэгдүгээр)/i, + /^(2|хоёрдугаар)/i, + /^(3|гуравдугаар)/i, + /^(4|дөрөвдүгээр)/i, + /^(5|тавдугаар)/i, + /^(6|зургаадугаар)/i, + /^(7|долоодугаар)/i, + /^(8|наймдугаар)/i, + /^(9|есдүгээр)/i, + /^(10|аравдугаар)/i, + /^(11|арван нэгдүгээр)/i, + /^(12|арван хоёрдугаар)/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[ндмлпбб]/i, + short: /^(ня|да|мя|лх|пү|ба|бя)/i, + abbreviated: /^(ням|дав|мяг|лха|пүр|баа|бям)/i, + wide: /^(ням|даваа|мягмар|лхагва|пүрэв|баасан|бямба)/i, +}; +const parseDayPatterns = { + narrow: [/^н/i, /^д/i, /^м/i, /^л/i, /^п/i, /^б/i, /^б/i], + any: [/^ня/i, /^да/i, /^мя/i, /^лх/i, /^пү/i, /^ба/i, /^бя/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ү\.ө\.|ү\.х\.|шөнө дунд|үд дунд|өглөө|өдөр|орой|шөнө)/i, + any: /^(ү\.ө\.|ү\.х\.|шөнө дунд|үд дунд|өглөө|өдөр|орой|шөнө)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ү\.ө\./i, + pm: /^ү\.х\./i, + midnight: /^шөнө дунд/i, + noon: /^үд дунд/i, + morning: /өглөө/i, + afternoon: /өдөр/i, + evening: /орой/i, + night: /шөнө/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ms.js b/.output/server/node_modules/date-fns/locale/ms.js new file mode 100644 index 00000000..54bccea9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ms/_lib/formatDistance.js"; +import { formatLong } from "./ms/_lib/formatLong.js"; +import { formatRelative } from "./ms/_lib/formatRelative.js"; +import { localize } from "./ms/_lib/localize.js"; +import { match } from "./ms/_lib/match.js"; + +/** + * @category Locales + * @summary Malay locale. + * @language Malay + * @iso-639-2 msa + * @author Ruban Selvarajah [@Zyten](https://github.com/Zyten) + */ +export const ms = { + code: "ms", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ms; diff --git a/.output/server/node_modules/date-fns/locale/ms/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ms/_lib/formatDistance.js new file mode 100644 index 00000000..79c25237 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "kurang dari 1 saat", + other: "kurang dari {{count}} saat", + }, + + xSeconds: { + one: "1 saat", + other: "{{count}} saat", + }, + + halfAMinute: "setengah minit", + + lessThanXMinutes: { + one: "kurang dari 1 minit", + other: "kurang dari {{count}} minit", + }, + + xMinutes: { + one: "1 minit", + other: "{{count}} minit", + }, + + aboutXHours: { + one: "sekitar 1 jam", + other: "sekitar {{count}} jam", + }, + + xHours: { + one: "1 jam", + other: "{{count}} jam", + }, + + xDays: { + one: "1 hari", + other: "{{count}} hari", + }, + + aboutXWeeks: { + one: "sekitar 1 minggu", + other: "sekitar {{count}} minggu", + }, + + xWeeks: { + one: "1 minggu", + other: "{{count}} minggu", + }, + + aboutXMonths: { + one: "sekitar 1 bulan", + other: "sekitar {{count}} bulan", + }, + + xMonths: { + one: "1 bulan", + other: "{{count}} bulan", + }, + + aboutXYears: { + one: "sekitar 1 tahun", + other: "sekitar {{count}} tahun", + }, + + xYears: { + one: "1 tahun", + other: "{{count}} tahun", + }, + + overXYears: { + one: "lebih dari 1 tahun", + other: "lebih dari {{count}} tahun", + }, + + almostXYears: { + one: "hampir 1 tahun", + other: "hampir {{count}} tahun", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "dalam masa " + result; + } else { + return result + " yang lalu"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ms/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ms/_lib/formatLong.js new file mode 100644 index 00000000..8796be1d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "d/M/yyyy", +}; + +const timeFormats = { + full: "HH.mm.ss", + long: "HH.mm.ss", + medium: "HH.mm", + short: "HH.mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'pukul' {{time}}", + long: "{{date}} 'pukul' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ms/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ms/_lib/formatRelative.js new file mode 100644 index 00000000..3c10e169 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'lepas pada jam' p", + yesterday: "'Semalam pada jam' p", + today: "'Hari ini pada jam' p", + tomorrow: "'Esok pada jam' p", + nextWeek: "eeee 'pada jam' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ms/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ms/_lib/localize.js new file mode 100644 index 00000000..87a07f72 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms/_lib/localize.js @@ -0,0 +1,162 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// Most data for localization are taken from this page +// https://www.unicode.org/cldr/charts/32/summary/ms.html +const eraValues = { + narrow: ["SM", "M"], + abbreviated: ["SM", "M"], + wide: ["Sebelum Masihi", "Masihi"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["S1", "S2", "S3", "S4"], + wide: ["Suku pertama", "Suku kedua", "Suku ketiga", "Suku keempat"], +}; + +// Note: in Malay, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "O", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Feb", + "Mac", + "Apr", + "Mei", + "Jun", + "Jul", + "Ogo", + "Sep", + "Okt", + "Nov", + "Dis", + ], + + wide: [ + "Januari", + "Februari", + "Mac", + "April", + "Mei", + "Jun", + "Julai", + "Ogos", + "September", + "Oktober", + "November", + "Disember", + ], +}; + +const dayValues = { + narrow: ["A", "I", "S", "R", "K", "J", "S"], + short: ["Ahd", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab"], + abbreviated: ["Ahd", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab"], + wide: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu"], +}; + +const dayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "tgh malam", + noon: "tgh hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "tengah malam", + noon: "tengah hari", + morning: "pagi", + afternoon: "tengah hari", + evening: "petang", + night: "malam", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + // Can't use "pertama", "kedua" because can't be parsed + return "ke-" + Number(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ms/_lib/match.js b/.output/server/node_modules/date-fns/locale/ms/_lib/match.js new file mode 100644 index 00000000..10fd70c6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ms/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^ke-(\d+)?/i; +const parseOrdinalNumberPattern = /petama|\d+/i; + +const matchEraPatterns = { + narrow: /^(sm|m)/i, + abbreviated: /^(s\.?\s?m\.?|m\.?)/i, + wide: /^(sebelum masihi|masihi)/i, +}; +const parseEraPatterns = { + any: [/^s/i, /^(m)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^S[1234]/i, + wide: /Suku (pertama|kedua|ketiga|keempat)/i, +}; +const parseQuarterPatterns = { + any: [/pertama|1/i, /kedua|2/i, /ketiga|3/i, /keempat|4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mac|apr|mei|jun|jul|ogo|sep|okt|nov|dis)/i, + wide: /^(januari|februari|mac|april|mei|jun|julai|ogos|september|oktober|november|disember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^o/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^ma/i, + /^ap/i, + /^me/i, + /^jun/i, + /^jul/i, + /^og/i, + /^s/i, + /^ok/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[aisrkj]/i, + short: /^(ahd|isn|sel|rab|kha|jum|sab)/i, + abbreviated: /^(ahd|isn|sel|rab|kha|jum|sab)/i, + wide: /^(ahad|isnin|selasa|rabu|khamis|jumaat|sabtu)/i, +}; +const parseDayPatterns = { + narrow: [/^a/i, /^i/i, /^s/i, /^r/i, /^k/i, /^j/i, /^s/i], + any: [/^a/i, /^i/i, /^se/i, /^r/i, /^k/i, /^j/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(am|pm|tengah malam|tengah hari|pagi|petang|malam)/i, + any: /^([ap]\.?\s?m\.?|tengah malam|tengah hari|pagi|petang|malam)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^pm/i, + midnight: /^tengah m/i, + noon: /^tengah h/i, + morning: /pa/i, + afternoon: /tengah h/i, + evening: /pe/i, + night: /m/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mt.js b/.output/server/node_modules/date-fns/locale/mt.js new file mode 100644 index 00000000..6bab03ab --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./mt/_lib/formatDistance.js"; +import { formatLong } from "./mt/_lib/formatLong.js"; +import { formatRelative } from "./mt/_lib/formatRelative.js"; +import { localize } from "./mt/_lib/localize.js"; +import { match } from "./mt/_lib/match.js"; + +/** + * @category Locales + * @summary Maltese locale. + * @language Maltese + * @iso-639-2 mlt + * @author Andras Matzon [@amatzon](@link https://github.com/amatzon) + * @author Bryan Borg [@bryanMt](@link https://github.com/bryanMt) + */ +export const mt = { + code: "mt", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default mt; diff --git a/.output/server/node_modules/date-fns/locale/mt/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/mt/_lib/formatDistance.js new file mode 100644 index 00000000..b25ea887 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt/_lib/formatDistance.js @@ -0,0 +1,107 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "inqas minn sekonda", + other: "inqas minn {{count}} sekondi", + }, + + xSeconds: { + one: "sekonda", + other: "{{count}} sekondi", + }, + + halfAMinute: "nofs minuta", + + lessThanXMinutes: { + one: "inqas minn minuta", + other: "inqas minn {{count}} minuti", + }, + + xMinutes: { + one: "minuta", + other: "{{count}} minuti", + }, + + aboutXHours: { + one: "madwar siegħa", + other: "madwar {{count}} siegħat", + }, + + xHours: { + one: "siegħa", + other: "{{count}} siegħat", + }, + + xDays: { + one: "ġurnata", + other: "{{count}} ġranet", + }, + + aboutXWeeks: { + one: "madwar ġimgħa", + other: "madwar {{count}} ġimgħat", + }, + + xWeeks: { + one: "ġimgħa", + other: "{{count}} ġimgħat", + }, + + aboutXMonths: { + one: "madwar xahar", + other: "madwar {{count}} xhur", + }, + + xMonths: { + one: "xahar", + other: "{{count}} xhur", + }, + + aboutXYears: { + one: "madwar sena", + two: "madwar sentejn", + other: "madwar {{count}} snin", + }, + + xYears: { + one: "sena", + two: "sentejn", + other: "{{count}} snin", + }, + + overXYears: { + one: "aktar minn sena", + two: "aktar minn sentejn", + other: "aktar minn {{count}} snin", + }, + + almostXYears: { + one: "kważi sena", + two: "kważi sentejn", + other: "kważi {{count}} snin", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else if (count === 2 && tokenValue.two) { + result = tokenValue.two; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "f'" + result; + } else { + return result + " ilu"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/mt/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/mt/_lib/formatLong.js new file mode 100644 index 00000000..b556a58b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mt/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/mt/_lib/formatRelative.js new file mode 100644 index 00000000..556b50ac --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'li għadda' 'fil-'p", + yesterday: "'Il-bieraħ fil-'p", + today: "'Illum fil-'p", + tomorrow: "'Għada fil-'p", + nextWeek: "eeee 'fil-'p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/mt/_lib/localize.js b/.output/server/node_modules/date-fns/locale/mt/_lib/localize.js new file mode 100644 index 00000000..a9c7bdb3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["Q", "W"], + abbreviated: ["QK", "WK"], + wide: ["qabel Kristu", "wara Kristu"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1. kwart", "2. kwart", "3. kwart", "4. kwart"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "Ġ", "L", "A", "S", "O", "N", "D"], + abbreviated: [ + "Jan", + "Fra", + "Mar", + "Apr", + "Mej", + "Ġun", + "Lul", + "Aww", + "Set", + "Ott", + "Nov", + "Diċ", + ], + + wide: [ + "Jannar", + "Frar", + "Marzu", + "April", + "Mejju", + "Ġunju", + "Lulju", + "Awwissu", + "Settembru", + "Ottubru", + "Novembru", + "Diċembru", + ], +}; + +const dayValues = { + narrow: ["Ħ", "T", "T", "E", "Ħ", "Ġ", "S"], + short: ["Ħa", "Tn", "Tl", "Er", "Ħa", "Ġi", "Si"], + abbreviated: ["Ħad", "Tne", "Tli", "Erb", "Ħam", "Ġim", "Sib"], + wide: [ + "Il-Ħadd", + "It-Tnejn", + "It-Tlieta", + "L-Erbgħa", + "Il-Ħamis", + "Il-Ġimgħa", + "Is-Sibt", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "nofsillejl", + noon: "nofsinhar", + morning: "għodwa", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "lejl", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "nofsillejl", + noon: "nofsinhar", + morning: "għodwa", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "lejl", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "nofsillejl", + noon: "nofsinhar", + morning: "għodwa", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "lejl", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "f'nofsillejl", + noon: "f'nofsinhar", + morning: "filgħodu", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "billejl", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "f'nofsillejl", + noon: "f'nofsinhar", + morning: "filgħodu", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "billejl", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "f'nofsillejl", + noon: "f'nofsinhar", + morning: "filgħodu", + afternoon: "wara nofsinhar", + evening: "filgħaxija", + night: "billejl", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "º"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/mt/_lib/match.js b/.output/server/node_modules/date-fns/locale/mt/_lib/match.js new file mode 100644 index 00000000..32547773 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/mt/_lib/match.js @@ -0,0 +1,141 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(º)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(q|w)/i, + abbreviated: /^(q\.?\s?k\.?|b\.?\s?c\.?\s?e\.?|w\.?\s?k\.?)/i, + wide: /^(qabel kristu|before common era|wara kristu|common era)/i, +}; +const parseEraPatterns = { + any: [/^(q|b)/i, /^(w|c)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^k[1234]/i, + wide: /^[1234](\.)? kwart/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmaglsond]/i, + abbreviated: /^(jan|fra|mar|apr|mej|ġun|lul|aww|set|ott|nov|diċ)/i, + wide: /^(jannar|frar|marzu|april|mejju|ġunju|lulju|awwissu|settembru|ottubru|novembru|diċembru)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^ġ/i, + /^l/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mej/i, + /^ġ/i, + /^l/i, + /^aw/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[ħteġs]/i, + short: /^(ħa|tn|tl|er|ħa|ġi|si)/i, + abbreviated: /^(ħad|tne|tli|erb|ħam|ġim|sib)/i, + wide: /^(il-ħadd|it-tnejn|it-tlieta|l-erbgħa|il-ħamis|il-ġimgħa|is-sibt)/i, +}; +const parseDayPatterns = { + narrow: [/^ħ/i, /^t/i, /^t/i, /^e/i, /^ħ/i, /^ġ/i, /^s/i], + any: [ + /^(il-)?ħad/i, + /^(it-)?tn/i, + /^(it-)?tl/i, + /^(l-)?er/i, + /^(il-)?ham/i, + /^(il-)?ġi/i, + /^(is-)?si/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(a|p|f'nofsillejl|f'nofsinhar|(ta') (għodwa|wara nofsinhar|filgħaxija|lejl))/i, + any: /^([ap]\.?\s?m\.?|f'nofsillejl|f'nofsinhar|(ta') (għodwa|wara nofsinhar|filgħaxija|lejl))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^f'nofsillejl/i, + noon: /^f'nofsinhar/i, + morning: /għodwa/i, + afternoon: /wara(\s.*)nofsinhar/i, + evening: /filgħaxija/i, + night: /lejl/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nb.js b/.output/server/node_modules/date-fns/locale/nb.js new file mode 100644 index 00000000..e4d5262f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./nb/_lib/formatDistance.js"; +import { formatLong } from "./nb/_lib/formatLong.js"; +import { formatRelative } from "./nb/_lib/formatRelative.js"; +import { localize } from "./nb/_lib/localize.js"; +import { match } from "./nb/_lib/match.js"; + +/** + * @category Locales + * @summary Norwegian Bokmål locale. + * @language Norwegian Bokmål + * @iso-639-2 nob + * @author Hans-Kristian Koren [@Hanse](https://github.com/Hanse) + * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb) + * @author Dag Stuan [@dagstuan](https://github.com/dagstuan) + */ +export const nb = { + code: "nb", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default nb; diff --git a/.output/server/node_modules/date-fns/locale/nb/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/nb/_lib/formatDistance.js new file mode 100644 index 00000000..b7b22a57 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mindre enn ett sekund", + other: "mindre enn {{count}} sekunder", + }, + + xSeconds: { + one: "ett sekund", + other: "{{count}} sekunder", + }, + + halfAMinute: "et halvt minutt", + + lessThanXMinutes: { + one: "mindre enn ett minutt", + other: "mindre enn {{count}} minutter", + }, + + xMinutes: { + one: "ett minutt", + other: "{{count}} minutter", + }, + + aboutXHours: { + one: "omtrent en time", + other: "omtrent {{count}} timer", + }, + + xHours: { + one: "en time", + other: "{{count}} timer", + }, + + xDays: { + one: "en dag", + other: "{{count}} dager", + }, + + aboutXWeeks: { + one: "omtrent en uke", + other: "omtrent {{count}} uker", + }, + + xWeeks: { + one: "en uke", + other: "{{count}} uker", + }, + + aboutXMonths: { + one: "omtrent en måned", + other: "omtrent {{count}} måneder", + }, + + xMonths: { + one: "en måned", + other: "{{count}} måneder", + }, + + aboutXYears: { + one: "omtrent ett år", + other: "omtrent {{count}} år", + }, + + xYears: { + one: "ett år", + other: "{{count}} år", + }, + + overXYears: { + one: "over ett år", + other: "over {{count}} år", + }, + + almostXYears: { + one: "nesten ett år", + other: "nesten {{count}} år", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "om " + result; + } else { + return result + " siden"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/nb/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/nb/_lib/formatLong.js new file mode 100644 index 00000000..fb4ed8b7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d. MMMM y", + long: "d. MMMM y", + medium: "d. MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "'kl'. HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kl.' {{time}}", + long: "{{date}} 'kl.' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nb/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/nb/_lib/formatRelative.js new file mode 100644 index 00000000..77c6e539 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'forrige' eeee 'kl.' p", + yesterday: "'i går kl.' p", + today: "'i dag kl.' p", + tomorrow: "'i morgen kl.' p", + nextWeek: "EEEE 'kl.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/nb/_lib/localize.js b/.output/server/node_modules/date-fns/locale/nb/_lib/localize.js new file mode 100644 index 00000000..477d2f62 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["f.Kr.", "e.Kr."], + abbreviated: ["f.Kr.", "e.Kr."], + wide: ["før Kristus", "etter Kristus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mars", + "apr.", + "mai", + "juni", + "juli", + "aug.", + "sep.", + "okt.", + "nov.", + "des.", + ], + + wide: [ + "januar", + "februar", + "mars", + "april", + "mai", + "juni", + "juli", + "august", + "september", + "oktober", + "november", + "desember", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "O", "T", "F", "L"], + short: ["sø", "ma", "ti", "on", "to", "fr", "lø"], + abbreviated: ["søn", "man", "tir", "ons", "tor", "fre", "lør"], + wide: [ + "søndag", + "mandag", + "tirsdag", + "onsdag", + "torsdag", + "fredag", + "lørdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på etterm.", + evening: "på kvelden", + night: "på natten", + }, + abbreviated: { + am: "a.m.", + pm: "p.m.", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på etterm.", + evening: "på kvelden", + night: "på natten", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnatt", + noon: "middag", + morning: "på morgenen", + afternoon: "på ettermiddagen", + evening: "på kvelden", + night: "på natten", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nb/_lib/match.js b/.output/server/node_modules/date-fns/locale/nb/_lib/match.js new file mode 100644 index 00000000..88b13538 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nb/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + abbreviated: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i, +}; +const parseEraPatterns = { + any: [/^f/i, /^e/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\.?/i, + wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtofl]/i, + short: /^(sø|ma|ti|on|to|fr|lø)/i, + abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i, + wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i, +}; +const parseDayPatterns = { + any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i, + any: /^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a(\.?\s?m\.?)?$/i, + pm: /^p(\.?\s?m\.?)?$/i, + midnight: /^midn/i, + noon: /^midd/i, + morning: /morgen/i, + afternoon: /ettermiddag/i, + evening: /kveld/i, + night: /natt/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE.js b/.output/server/node_modules/date-fns/locale/nl-BE.js new file mode 100644 index 00000000..7c1faf6e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE.js @@ -0,0 +1,31 @@ +import { formatDistance } from "./nl-BE/_lib/formatDistance.js"; +import { formatLong } from "./nl-BE/_lib/formatLong.js"; +import { formatRelative } from "./nl-BE/_lib/formatRelative.js"; +import { localize } from "./nl-BE/_lib/localize.js"; +import { match } from "./nl-BE/_lib/match.js"; + +/** + * @category Locales + * @summary Dutch locale. + * @language Dutch + * @iso-639-2 nld + * @author Jorik Tangelder [@jtangelder](https://github.com/jtangelder) + * @author Ruben Stolk [@rubenstolk](https://github.com/rubenstolk) + * @author Lode Vanhove [@bitcrumb](https://github.com/bitcrumb) + * @author Alex Hoeing [@dcbn](https://github.com/dcbn) + */ +export const nlBE = { + code: "nl-BE", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default nlBE; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatDistance.js new file mode 100644 index 00000000..26511074 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "minder dan een seconde", + other: "minder dan {{count}} seconden", + }, + + xSeconds: { + one: "1 seconde", + other: "{{count}} seconden", + }, + + halfAMinute: "een halve minuut", + + lessThanXMinutes: { + one: "minder dan een minuut", + other: "minder dan {{count}} minuten", + }, + + xMinutes: { + one: "een minuut", + other: "{{count}} minuten", + }, + + aboutXHours: { + one: "ongeveer 1 uur", + other: "ongeveer {{count}} uur", + }, + + xHours: { + one: "1 uur", + other: "{{count}} uur", + }, + + xDays: { + one: "1 dag", + other: "{{count}} dagen", + }, + + aboutXWeeks: { + one: "ongeveer 1 week", + other: "ongeveer {{count}} weken", + }, + + xWeeks: { + one: "1 week", + other: "{{count}} weken", + }, + + aboutXMonths: { + one: "ongeveer 1 maand", + other: "ongeveer {{count}} maanden", + }, + + xMonths: { + one: "1 maand", + other: "{{count}} maanden", + }, + + aboutXYears: { + one: "ongeveer 1 jaar", + other: "ongeveer {{count}} jaar", + }, + + xYears: { + one: "1 jaar", + other: "{{count}} jaar", + }, + + overXYears: { + one: "meer dan 1 jaar", + other: "meer dan {{count}} jaar", + }, + + almostXYears: { + one: "bijna 1 jaar", + other: "bijna {{count}} jaar", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "over " + result; + } else { + return result + " geleden"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatLong.js new file mode 100644 index 00000000..3113d298 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'om' {{time}}", + long: "{{date}} 'om' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatRelative.js new file mode 100644 index 00000000..0343e489 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'vorige' eeee 'om' p", + yesterday: "'gisteren om' p", + today: "'vandaag om' p", + tomorrow: "'morgen om' p", + nextWeek: "eeee 'om' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE/_lib/localize.js b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/localize.js new file mode 100644 index 00000000..341c831d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["v.C.", "n.C."], + abbreviated: ["v.Chr.", "n.Chr."], + wide: ["voor Christus", "na Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1e kwartaal", "2e kwartaal", "3e kwartaal", "4e kwartaal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mrt.", + "apr.", + "mei", + "jun.", + "jul.", + "aug.", + "sep.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "januari", + "februari", + "maart", + "april", + "mei", + "juni", + "juli", + "augustus", + "september", + "oktober", + "november", + "december", + ], +}; + +const dayValues = { + narrow: ["Z", "M", "D", "W", "D", "V", "Z"], + short: ["zo", "ma", "di", "wo", "do", "vr", "za"], + abbreviated: ["zon", "maa", "din", "woe", "don", "vri", "zat"], + wide: [ + "zondag", + "maandag", + "dinsdag", + "woensdag", + "donderdag", + "vrijdag", + "zaterdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middag", + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middag", + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middag", + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "e"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl-BE/_lib/match.js b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/match.js new file mode 100644 index 00000000..e37f5a2d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl-BE/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)e?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([vn]\.? ?C\.?)/, + abbreviated: /^([vn]\. ?Chr\.?)/, + wide: /^((voor|na) Christus)/, +}; +const parseEraPatterns = { + any: [/^v/, /^n/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234]e kwartaal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i, + wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^jan/i, + /^feb/i, + /^m(r|a)/i, + /^apr/i, + /^mei/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[zmdwv]/i, + short: /^(zo|ma|di|wo|do|vr|za)/i, + abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i, + wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i, +}; +const parseDayPatterns = { + narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i], + any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /^middernacht/i, + noon: /^het middaguur/i, + morning: /ochtend/i, + afternoon: /middag/i, + evening: /avond/i, + night: /nacht/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl.js b/.output/server/node_modules/date-fns/locale/nl.js new file mode 100644 index 00000000..c4d0e252 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl.js @@ -0,0 +1,33 @@ +import { formatDistance } from "./nl/_lib/formatDistance.js"; +import { formatLong } from "./nl/_lib/formatLong.js"; +import { formatRelative } from "./nl/_lib/formatRelative.js"; +import { localize } from "./nl/_lib/localize.js"; +import { match } from "./nl/_lib/match.js"; + +/** + * @category Locales + * @summary Dutch locale. + * @language Dutch + * @iso-639-2 nld + * @author Jorik Tangelder [@jtangelder](https://github.com/jtangelder) + * @author Ruben Stolk [@rubenstolk](https://github.com/rubenstolk) + * @author Lode Vanhove [@bitcrumb](https://github.com/bitcrumb) + * @author Edo Rivai [@edorivai](https://github.com/edorivai) + * @author Niels Keurentjes [@curry684](https://github.com/curry684) + * @author Stefan Vermaas [@stefanvermaas](https://github.com/stefanvermaas) + */ +export const nl = { + code: "nl", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default nl; diff --git a/.output/server/node_modules/date-fns/locale/nl/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/nl/_lib/formatDistance.js new file mode 100644 index 00000000..26511074 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "minder dan een seconde", + other: "minder dan {{count}} seconden", + }, + + xSeconds: { + one: "1 seconde", + other: "{{count}} seconden", + }, + + halfAMinute: "een halve minuut", + + lessThanXMinutes: { + one: "minder dan een minuut", + other: "minder dan {{count}} minuten", + }, + + xMinutes: { + one: "een minuut", + other: "{{count}} minuten", + }, + + aboutXHours: { + one: "ongeveer 1 uur", + other: "ongeveer {{count}} uur", + }, + + xHours: { + one: "1 uur", + other: "{{count}} uur", + }, + + xDays: { + one: "1 dag", + other: "{{count}} dagen", + }, + + aboutXWeeks: { + one: "ongeveer 1 week", + other: "ongeveer {{count}} weken", + }, + + xWeeks: { + one: "1 week", + other: "{{count}} weken", + }, + + aboutXMonths: { + one: "ongeveer 1 maand", + other: "ongeveer {{count}} maanden", + }, + + xMonths: { + one: "1 maand", + other: "{{count}} maanden", + }, + + aboutXYears: { + one: "ongeveer 1 jaar", + other: "ongeveer {{count}} jaar", + }, + + xYears: { + one: "1 jaar", + other: "{{count}} jaar", + }, + + overXYears: { + one: "meer dan 1 jaar", + other: "meer dan {{count}} jaar", + }, + + almostXYears: { + one: "bijna 1 jaar", + other: "bijna {{count}} jaar", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "over " + result; + } else { + return result + " geleden"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/nl/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/nl/_lib/formatLong.js new file mode 100644 index 00000000..bb442e48 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "dd-MM-y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'om' {{time}}", + long: "{{date}} 'om' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/nl/_lib/formatRelative.js new file mode 100644 index 00000000..d4310086 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'afgelopen' eeee 'om' p", + yesterday: "'gisteren om' p", + today: "'vandaag om' p", + tomorrow: "'morgen om' p", + nextWeek: "eeee 'om' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/nl/_lib/localize.js b/.output/server/node_modules/date-fns/locale/nl/_lib/localize.js new file mode 100644 index 00000000..56a3bf8a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["v.C.", "n.C."], + abbreviated: ["v.Chr.", "n.Chr."], + wide: ["voor Christus", "na Christus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["K1", "K2", "K3", "K4"], + wide: ["1e kwartaal", "2e kwartaal", "3e kwartaal", "4e kwartaal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mrt.", + "apr.", + "mei", + "jun.", + "jul.", + "aug.", + "sep.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "januari", + "februari", + "maart", + "april", + "mei", + "juni", + "juli", + "augustus", + "september", + "oktober", + "november", + "december", + ], +}; + +const dayValues = { + narrow: ["Z", "M", "D", "W", "D", "V", "Z"], + short: ["zo", "ma", "di", "wo", "do", "vr", "za"], + abbreviated: ["zon", "maa", "din", "woe", "don", "vri", "zat"], + wide: [ + "zondag", + "maandag", + "dinsdag", + "woensdag", + "donderdag", + "vrijdag", + "zaterdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middaguur", + morning: "'s ochtends", + afternoon: "'s middags", + evening: "'s avonds", + night: "'s nachts", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middaguur", + morning: "'s ochtends", + afternoon: "'s middags", + evening: "'s avonds", + night: "'s nachts", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "middernacht", + noon: "het middaguur", + morning: "'s ochtends", + afternoon: "'s middags", + evening: "'s avonds", + night: "'s nachts", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "e"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nl/_lib/match.js b/.output/server/node_modules/date-fns/locale/nl/_lib/match.js new file mode 100644 index 00000000..e37f5a2d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nl/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)e?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([vn]\.? ?C\.?)/, + abbreviated: /^([vn]\. ?Chr\.?)/, + wide: /^((voor|na) Christus)/, +}; +const parseEraPatterns = { + any: [/^v/, /^n/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234]e kwartaal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i, + wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^jan/i, + /^feb/i, + /^m(r|a)/i, + /^apr/i, + /^mei/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[zmdwv]/i, + short: /^(zo|ma|di|wo|do|vr|za)/i, + abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i, + wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i, +}; +const parseDayPatterns = { + narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i], + any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /^middernacht/i, + noon: /^het middaguur/i, + morning: /ochtend/i, + afternoon: /middag/i, + evening: /avond/i, + night: /nacht/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nn.js b/.output/server/node_modules/date-fns/locale/nn.js new file mode 100644 index 00000000..ce3f7bc1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./nn/_lib/formatDistance.js"; +import { formatLong } from "./nn/_lib/formatLong.js"; +import { formatRelative } from "./nn/_lib/formatRelative.js"; +import { localize } from "./nn/_lib/localize.js"; +import { match } from "./nn/_lib/match.js"; + +/** + * @category Locales + * @summary Norwegian Nynorsk locale. + * @language Norwegian Nynorsk + * @iso-639-2 nno + * @author Mats Byrkjeland [@draperunner](https://github.com/draperunner) + */ +export const nn = { + code: "nn", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default nn; diff --git a/.output/server/node_modules/date-fns/locale/nn/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/nn/_lib/formatDistance.js new file mode 100644 index 00000000..74883ee9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn/_lib/formatDistance.js @@ -0,0 +1,120 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mindre enn eitt sekund", + other: "mindre enn {{count}} sekund", + }, + + xSeconds: { + one: "eitt sekund", + other: "{{count}} sekund", + }, + + halfAMinute: "eit halvt minutt", + + lessThanXMinutes: { + one: "mindre enn eitt minutt", + other: "mindre enn {{count}} minutt", + }, + + xMinutes: { + one: "eitt minutt", + other: "{{count}} minutt", + }, + + aboutXHours: { + one: "omtrent ein time", + other: "omtrent {{count}} timar", + }, + + xHours: { + one: "ein time", + other: "{{count}} timar", + }, + + xDays: { + one: "ein dag", + other: "{{count}} dagar", + }, + + aboutXWeeks: { + one: "omtrent ei veke", + other: "omtrent {{count}} veker", + }, + + xWeeks: { + one: "ei veke", + other: "{{count}} veker", + }, + + aboutXMonths: { + one: "omtrent ein månad", + other: "omtrent {{count}} månader", + }, + + xMonths: { + one: "ein månad", + other: "{{count}} månader", + }, + + aboutXYears: { + one: "omtrent eitt år", + other: "omtrent {{count}} år", + }, + + xYears: { + one: "eitt år", + other: "{{count}} år", + }, + + overXYears: { + one: "over eitt år", + other: "over {{count}} år", + }, + + almostXYears: { + one: "nesten eitt år", + other: "nesten {{count}} år", + }, +}; + +const wordMapping = [ + "null", + "ein", + "to", + "tre", + "fire", + "fem", + "seks", + "sju", + "åtte", + "ni", + "ti", + "elleve", + "tolv", +]; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace( + "{{count}}", + count < 13 ? wordMapping[count] : String(count), + ); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "om " + result; + } else { + return result + " sidan"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/nn/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/nn/_lib/formatLong.js new file mode 100644 index 00000000..fb4ed8b7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d. MMMM y", + long: "d. MMMM y", + medium: "d. MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "'kl'. HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kl.' {{time}}", + long: "{{date}} 'kl.' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nn/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/nn/_lib/formatRelative.js new file mode 100644 index 00000000..e66834ee --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'førre' eeee 'kl.' p", + yesterday: "'i går kl.' p", + today: "'i dag kl.' p", + tomorrow: "'i morgon kl.' p", + nextWeek: "EEEE 'kl.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/nn/_lib/localize.js b/.output/server/node_modules/date-fns/locale/nn/_lib/localize.js new file mode 100644 index 00000000..a276dfaa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["f.Kr.", "e.Kr."], + abbreviated: ["f.Kr.", "e.Kr."], + wide: ["før Kristus", "etter Kristus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mars", + "apr.", + "mai", + "juni", + "juli", + "aug.", + "sep.", + "okt.", + "nov.", + "des.", + ], + + wide: [ + "januar", + "februar", + "mars", + "april", + "mai", + "juni", + "juli", + "august", + "september", + "oktober", + "november", + "desember", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "O", "T", "F", "L"], + short: ["su", "må", "ty", "on", "to", "fr", "lau"], + abbreviated: ["sun", "mån", "tys", "ons", "tor", "fre", "laur"], + wide: [ + "sundag", + "måndag", + "tysdag", + "onsdag", + "torsdag", + "fredag", + "laurdag", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på etterm.", + evening: "på kvelden", + night: "på natta", + }, + abbreviated: { + am: "a.m.", + pm: "p.m.", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på etterm.", + evening: "på kvelden", + night: "på natta", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnatt", + noon: "middag", + morning: "på morgonen", + afternoon: "på ettermiddagen", + evening: "på kvelden", + night: "på natta", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/nn/_lib/match.js b/.output/server/node_modules/date-fns/locale/nn/_lib/match.js new file mode 100644 index 00000000..c670d4f8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/nn/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + abbreviated: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i, +}; +const parseEraPatterns = { + any: [/^f/i, /^e/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\.?/i, + wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtofl]/i, + short: /^(su|må|ty|on|to|fr|la)/i, + abbreviated: /^(sun|mån|tys|ons|tor|fre|laur)/i, + wide: /^(sundag|måndag|tysdag|onsdag|torsdag|fredag|laurdag)/i, +}; +const parseDayPatterns = { + any: [/^s/i, /^m/i, /^ty/i, /^o/i, /^to/i, /^f/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i, + any: /^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a(\.?\s?m\.?)?$/i, + pm: /^p(\.?\s?m\.?)?$/i, + midnight: /^midn/i, + noon: /^midd/i, + morning: /morgon/i, + afternoon: /ettermiddag/i, + evening: /kveld/i, + night: /natt/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/oc.js b/.output/server/node_modules/date-fns/locale/oc.js new file mode 100644 index 00000000..ea80b5f7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./oc/_lib/formatDistance.js"; +import { formatLong } from "./oc/_lib/formatLong.js"; +import { formatRelative } from "./oc/_lib/formatRelative.js"; +import { localize } from "./oc/_lib/localize.js"; +import { match } from "./oc/_lib/match.js"; + +/** + * @category Locales + * @summary Occitan locale. + * @language Occitan + * @iso-639-2 oci + * @author Quentin PAGÈS + */ +export const oc = { + code: "oc", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default oc; diff --git a/.output/server/node_modules/date-fns/locale/oc/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/oc/_lib/formatDistance.js new file mode 100644 index 00000000..871d4edc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mens d’una segonda", + other: "mens de {{count}} segondas", + }, + + xSeconds: { + one: "1 segonda", + other: "{{count}} segondas", + }, + + halfAMinute: "30 segondas", + + lessThanXMinutes: { + one: "mens d’una minuta", + other: "mens de {{count}} minutas", + }, + + xMinutes: { + one: "1 minuta", + other: "{{count}} minutas", + }, + + aboutXHours: { + one: "environ 1 ora", + other: "environ {{count}} oras", + }, + + xHours: { + one: "1 ora", + other: "{{count}} oras", + }, + + xDays: { + one: "1 jorn", + other: "{{count}} jorns", + }, + + aboutXWeeks: { + one: "environ 1 setmana", + other: "environ {{count}} setmanas", + }, + + xWeeks: { + one: "1 setmana", + other: "{{count}} setmanas", + }, + + aboutXMonths: { + one: "environ 1 mes", + other: "environ {{count}} meses", + }, + + xMonths: { + one: "1 mes", + other: "{{count}} meses", + }, + + aboutXYears: { + one: "environ 1 an", + other: "environ {{count}} ans", + }, + + xYears: { + one: "1 an", + other: "{{count}} ans", + }, + + overXYears: { + one: "mai d’un an", + other: "mai de {{count}} ans", + }, + + almostXYears: { + one: "gaireben un an", + other: "gaireben {{count}} ans", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "d’aquí " + result; + } else { + return "fa " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/oc/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/oc/_lib/formatLong.js new file mode 100644 index 00000000..8f38c403 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d 'de' MMMM y", + long: "d 'de' MMMM y", + medium: "d MMM y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'a' {{time}}", + long: "{{date}} 'a' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/oc/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/oc/_lib/formatRelative.js new file mode 100644 index 00000000..948b4cbf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'passat a' p", + yesterday: "'ièr a' p", + today: "'uèi a' p", + tomorrow: "'deman a' p", + nextWeek: "eeee 'a' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/oc/_lib/localize.js b/.output/server/node_modules/date-fns/locale/oc/_lib/localize.js new file mode 100644 index 00000000..6a43dc94 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc/_lib/localize.js @@ -0,0 +1,203 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ab. J.C.", "apr. J.C."], + abbreviated: ["ab. J.C.", "apr. J.C."], + wide: ["abans Jèsus-Crist", "après Jèsus-Crist"], +}; + +const quarterValues = { + narrow: ["T1", "T2", "T3", "T4"], + abbreviated: ["1èr trim.", "2nd trim.", "3en trim.", "4en trim."], + wide: ["1èr trimèstre", "2nd trimèstre", "3en trimèstre", "4en trimèstre"], +}; + +const monthValues = { + narrow: [ + "GN", + "FB", + "MÇ", + "AB", + "MA", + "JN", + "JL", + "AG", + "ST", + "OC", + "NV", + "DC", + ], + + abbreviated: [ + "gen.", + "febr.", + "març", + "abr.", + "mai", + "junh", + "jul.", + "ag.", + "set.", + "oct.", + "nov.", + "dec.", + ], + + wide: [ + "genièr", + "febrièr", + "març", + "abril", + "mai", + "junh", + "julhet", + "agost", + "setembre", + "octòbre", + "novembre", + "decembre", + ], +}; + +const dayValues = { + narrow: ["dg.", "dl.", "dm.", "dc.", "dj.", "dv.", "ds."], + short: ["dg.", "dl.", "dm.", "dc.", "dj.", "dv.", "ds."], + abbreviated: ["dg.", "dl.", "dm.", "dc.", "dj.", "dv.", "ds."], + wide: [ + "dimenge", + "diluns", + "dimars", + "dimècres", + "dijòus", + "divendres", + "dissabte", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "matin", + afternoon: "aprèp-miègjorn", + evening: "vèspre", + night: "nuèch", + }, + abbreviated: { + am: "a.m.", + pm: "p.m.", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "matin", + afternoon: "aprèp-miègjorn", + evening: "vèspre", + night: "nuèch", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "matin", + afternoon: "aprèp-miègjorn", + evening: "vèspre", + night: "nuèch", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "del matin", + afternoon: "de l’aprèp-miègjorn", + evening: "del ser", + night: "de la nuèch", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "del matin", + afternoon: "de l’aprèp-miègjorn", + evening: "del ser", + night: "de la nuèch", + }, + wide: { + am: "ante meridiem", + pm: "post meridiem", + midnight: "mièjanuèch", + noon: "miègjorn", + morning: "del matin", + afternoon: "de l’aprèp-miègjorn", + evening: "del ser", + night: "de la nuèch", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + let ordinal; + + switch (number) { + case 1: + ordinal = "èr"; + break; + case 2: + ordinal = "nd"; + break; + default: + ordinal = "en"; + } + + // feminine for year, week, hour, minute, second + if ( + unit === "year" || + unit === "week" || + unit === "hour" || + unit === "minute" || + unit === "second" + ) { + ordinal += "a"; + } + + return number + ordinal; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/oc/_lib/match.js b/.output/server/node_modules/date-fns/locale/oc/_lib/match.js new file mode 100644 index 00000000..bc9fc3e3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/oc/_lib/match.js @@ -0,0 +1,127 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(èr|nd|en)?[a]?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ab\.J\.C|apr\.J\.C|apr\.J\.-C)/i, + abbreviated: /^(ab\.J\.-C|ab\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i, + wide: /^(abans Jèsus-Crist|après Jèsus-Crist)/i, +}; +const parseEraPatterns = { + any: [/^ab/i, /^ap/i], +}; + +const matchQuarterPatterns = { + narrow: /^T[1234]/i, + abbreviated: /^[1234](èr|nd|en)? trim\.?/i, + wide: /^[1234](èr|nd|en)? trimèstre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(GN|FB|MÇ|AB|MA|JN|JL|AG|ST|OC|NV|DC)/i, + abbreviated: /^(gen|febr|març|abr|mai|junh|jul|ag|set|oct|nov|dec)\.?/i, + wide: /^(genièr|febrièr|març|abril|mai|junh|julhet|agost|setembre|octòbre|novembre|decembre)/i, +}; +const parseMonthPatterns = { + any: [ + /^g/i, + /^f/i, + /^ma[r?]|MÇ/i, + /^ab/i, + /^ma[i?]/i, + /^ju[n?]|JN/i, + /^ju[l?]|JL/i, + /^ag/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^d[glmcjvs]\.?/i, + short: /^d[glmcjvs]\.?/i, + abbreviated: /^d[glmcjvs]\.?/i, + wide: /^(dimenge|diluns|dimars|dimècres|dijòus|divendres|dissabte)/i, +}; +const parseDayPatterns = { + narrow: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i], + short: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i], + abbreviated: [/^dg/i, /^dl/i, /^dm/i, /^dc/i, /^dj/i, /^dv/i, /^ds/i], + + any: [ + /^dg|dime/i, + /^dl|dil/i, + /^dm|dima/i, + /^dc|dimè/i, + /^dj|dij/i, + /^dv|div/i, + /^ds|dis/i, + ], +}; + +const matchDayPeriodPatterns = { + any: /(^(a\.?m|p\.?m))|(ante meridiem|post meridiem)|((del |de la |de l’)(matin|aprèp-miègjorn|vèspre|ser|nuèch))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /(^a)|ante meridiem/i, + pm: /(^p)|post meridiem/i, + midnight: /^mièj/i, + noon: /^mièg/i, + morning: /matin/i, + afternoon: /aprèp-miègjorn/i, + evening: /vèspre|ser/i, + night: /nuèch/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pl.js b/.output/server/node_modules/date-fns/locale/pl.js new file mode 100644 index 00000000..60643275 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl.js @@ -0,0 +1,31 @@ +import { formatDistance } from "./pl/_lib/formatDistance.js"; +import { formatLong } from "./pl/_lib/formatLong.js"; +import { formatRelative } from "./pl/_lib/formatRelative.js"; +import { localize } from "./pl/_lib/localize.js"; +import { match } from "./pl/_lib/match.js"; + +/** + * @category Locales + * @summary Polish locale. + * @language Polish + * @iso-639-2 pol + * @author Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks) + * @author Just RAG [@justrag](https://github.com/justrag) + * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb) + * @author Mateusz Tokarski [@mutisz](https://github.com/mutisz) + */ +export const pl = { + code: "pl", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default pl; diff --git a/.output/server/node_modules/date-fns/locale/pl/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/pl/_lib/formatDistance.js new file mode 100644 index 00000000..7011d13a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl/_lib/formatDistance.js @@ -0,0 +1,166 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + regular: "mniej niż sekunda", + past: "mniej niż sekundę", + future: "mniej niż sekundę", + }, + twoFour: "mniej niż {{count}} sekundy", + other: "mniej niż {{count}} sekund", + }, + + xSeconds: { + one: { + regular: "sekunda", + past: "sekundę", + future: "sekundę", + }, + twoFour: "{{count}} sekundy", + other: "{{count}} sekund", + }, + + halfAMinute: { + one: "pół minuty", + twoFour: "pół minuty", + other: "pół minuty", + }, + + lessThanXMinutes: { + one: { + regular: "mniej niż minuta", + past: "mniej niż minutę", + future: "mniej niż minutę", + }, + twoFour: "mniej niż {{count}} minuty", + other: "mniej niż {{count}} minut", + }, + + xMinutes: { + one: { + regular: "minuta", + past: "minutę", + future: "minutę", + }, + twoFour: "{{count}} minuty", + other: "{{count}} minut", + }, + + aboutXHours: { + one: { + regular: "około godziny", + past: "około godziny", + future: "około godzinę", + }, + twoFour: "około {{count}} godziny", + other: "około {{count}} godzin", + }, + + xHours: { + one: { + regular: "godzina", + past: "godzinę", + future: "godzinę", + }, + twoFour: "{{count}} godziny", + other: "{{count}} godzin", + }, + + xDays: { + one: { + regular: "dzień", + past: "dzień", + future: "1 dzień", + }, + twoFour: "{{count}} dni", + other: "{{count}} dni", + }, + + aboutXWeeks: { + one: "około tygodnia", + twoFour: "około {{count}} tygodni", + other: "około {{count}} tygodni", + }, + + xWeeks: { + one: "tydzień", + twoFour: "{{count}} tygodnie", + other: "{{count}} tygodni", + }, + + aboutXMonths: { + one: "około miesiąc", + twoFour: "około {{count}} miesiące", + other: "około {{count}} miesięcy", + }, + + xMonths: { + one: "miesiąc", + twoFour: "{{count}} miesiące", + other: "{{count}} miesięcy", + }, + + aboutXYears: { + one: "około rok", + twoFour: "około {{count}} lata", + other: "około {{count}} lat", + }, + + xYears: { + one: "rok", + twoFour: "{{count}} lata", + other: "{{count}} lat", + }, + + overXYears: { + one: "ponad rok", + twoFour: "ponad {{count}} lata", + other: "ponad {{count}} lat", + }, + + almostXYears: { + one: "prawie rok", + twoFour: "prawie {{count}} lata", + other: "prawie {{count}} lat", + }, +}; + +function declensionGroup(scheme, count) { + if (count === 1) { + return scheme.one; + } + + const rem100 = count % 100; + + // ends with 11-20 + if (rem100 <= 20 && rem100 > 10) { + return scheme.other; + } + + const rem10 = rem100 % 10; + + // ends with 2, 3, 4 + if (rem10 >= 2 && rem10 <= 4) { + return scheme.twoFour; + } + + return scheme.other; +} + +function declension(scheme, count, time) { + const group = declensionGroup(scheme, count); + const finalText = typeof group === "string" ? group : group[time]; + return finalText.replace("{{count}}", String(count)); +} + +export const formatDistance = (token, count, options) => { + const scheme = formatDistanceLocale[token]; + if (!options?.addSuffix) { + return declension(scheme, count, "regular"); + } + + if (options.comparison && options.comparison > 0) { + return "za " + declension(scheme, count, "future"); + } else { + return declension(scheme, count, "past") + " temu"; + } +}; diff --git a/.output/server/node_modules/date-fns/locale/pl/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/pl/_lib/formatLong.js new file mode 100644 index 00000000..78403a92 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM y", + long: "do MMMM y", + medium: "do MMM y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pl/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/pl/_lib/formatRelative.js new file mode 100644 index 00000000..d5f1f917 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl/_lib/formatRelative.js @@ -0,0 +1,65 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const adjectivesLastWeek = { + masculine: "ostatni", + feminine: "ostatnia", +}; + +const adjectivesThisWeek = { + masculine: "ten", + feminine: "ta", +}; + +const adjectivesNextWeek = { + masculine: "następny", + feminine: "następna", +}; + +const dayGrammaticalGender = { + 0: "feminine", + 1: "masculine", + 2: "masculine", + 3: "feminine", + 4: "masculine", + 5: "masculine", + 6: "feminine", +}; + +function dayAndTimeWithAdjective(token, date, baseDate, options) { + let adjectives; + if (isSameWeek(date, baseDate, options)) { + adjectives = adjectivesThisWeek; + } else if (token === "lastWeek") { + adjectives = adjectivesLastWeek; + } else if (token === "nextWeek") { + adjectives = adjectivesNextWeek; + } else { + throw new Error(`Cannot determine adjectives for token ${token}`); + } + + const day = date.getDay(); + const grammaticalGender = dayGrammaticalGender[day]; + + const adjective = adjectives[grammaticalGender]; + + return `'${adjective}' eeee 'o' p`; +} + +const formatRelativeLocale = { + lastWeek: dayAndTimeWithAdjective, + yesterday: "'wczoraj o' p", + today: "'dzisiaj o' p", + tomorrow: "'jutro o' p", + nextWeek: dayAndTimeWithAdjective, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(token, date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/pl/_lib/localize.js b/.output/server/node_modules/date-fns/locale/pl/_lib/localize.js new file mode 100644 index 00000000..4c540901 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl/_lib/localize.js @@ -0,0 +1,213 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["p.n.e.", "n.e."], + abbreviated: ["p.n.e.", "n.e."], + wide: ["przed naszą erą", "naszej ery"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["I kw.", "II kw.", "III kw.", "IV kw."], + wide: ["I kwartał", "II kwartał", "III kwartał", "IV kwartał"], +}; + +const monthValues = { + narrow: ["S", "L", "M", "K", "M", "C", "L", "S", "W", "P", "L", "G"], + abbreviated: [ + "sty", + "lut", + "mar", + "kwi", + "maj", + "cze", + "lip", + "sie", + "wrz", + "paź", + "lis", + "gru", + ], + + wide: [ + "styczeń", + "luty", + "marzec", + "kwiecień", + "maj", + "czerwiec", + "lipiec", + "sierpień", + "wrzesień", + "październik", + "listopad", + "grudzień", + ], +}; +const monthFormattingValues = { + narrow: ["s", "l", "m", "k", "m", "c", "l", "s", "w", "p", "l", "g"], + abbreviated: [ + "sty", + "lut", + "mar", + "kwi", + "maj", + "cze", + "lip", + "sie", + "wrz", + "paź", + "lis", + "gru", + ], + + wide: [ + "stycznia", + "lutego", + "marca", + "kwietnia", + "maja", + "czerwca", + "lipca", + "sierpnia", + "września", + "października", + "listopada", + "grudnia", + ], +}; + +const dayValues = { + narrow: ["N", "P", "W", "Ś", "C", "P", "S"], + short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"], + abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."], + wide: [ + "niedziela", + "poniedziałek", + "wtorek", + "środa", + "czwartek", + "piątek", + "sobota", + ], +}; +const dayFormattingValues = { + narrow: ["n", "p", "w", "ś", "c", "p", "s"], + short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"], + abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."], + wide: [ + "niedziela", + "poniedziałek", + "wtorek", + "środa", + "czwartek", + "piątek", + "sobota", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "półn.", + noon: "poł", + morning: "rano", + afternoon: "popoł.", + evening: "wiecz.", + night: "noc", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "północ", + noon: "południe", + morning: "rano", + afternoon: "popołudnie", + evening: "wieczór", + night: "noc", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "północ", + noon: "południe", + morning: "rano", + afternoon: "popołudnie", + evening: "wieczór", + night: "noc", + }, +}; + +const dayPeriodFormattingValues = { + narrow: { + am: "a", + pm: "p", + midnight: "o półn.", + noon: "w poł.", + morning: "rano", + afternoon: "po poł.", + evening: "wiecz.", + night: "w nocy", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "o północy", + noon: "w południe", + morning: "rano", + afternoon: "po południu", + evening: "wieczorem", + night: "w nocy", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "o północy", + noon: "w południe", + morning: "rano", + afternoon: "po południu", + evening: "wieczorem", + night: "w nocy", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: monthFormattingValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + formattingValues: dayFormattingValues, + defaultFormattingWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: dayPeriodFormattingValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pl/_lib/match.js b/.output/server/node_modules/date-fns/locale/pl/_lib/match.js new file mode 100644 index 00000000..58eed33c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pl/_lib/match.js @@ -0,0 +1,146 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i, + abbreviated: /^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i, + wide: /^(przed\s*nasz(ą|a)\s*er(ą|a)|naszej\s*ery)/i, +}; +const parseEraPatterns = { + any: [/^p/i, /^n/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^(I|II|III|IV)\s*kw\.?/i, + wide: /^(I|II|III|IV)\s*kwarta(ł|l)/i, +}; +const parseQuarterPatterns = { + narrow: [/1/i, /2/i, /3/i, /4/i], + any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i], +}; + +const matchMonthPatterns = { + narrow: /^[slmkcwpg]/i, + abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i, + wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^s/i, + /^l/i, + /^m/i, + /^k/i, + /^m/i, + /^c/i, + /^l/i, + /^s/i, + /^w/i, + /^p/i, + /^l/i, + /^g/i, + ], + + any: [ + /^st/i, + /^lu/i, + /^mar/i, + /^k/i, + /^maj/i, + /^c/i, + /^lip/i, + /^si/i, + /^w/i, + /^p/i, + /^lis/i, + /^g/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npwścs]/i, + short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i, + abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\.?/i, + wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i, +}; +const parseDayPatterns = { + narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i], + abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i], + + any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(^a$|^p$|pó(ł|l)n\.?|o\s*pó(ł|l)n\.?|po(ł|l)\.?|w\s*po(ł|l)\.?|po\s*po(ł|l)\.?|rano|wiecz\.?|noc|w\s*nocy)/i, + any: /^(am|pm|pó(ł|l)noc|o\s*pó(ł|l)nocy|po(ł|l)udnie|w\s*po(ł|l)udnie|popo(ł|l)udnie|po\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\s*nocy)/i, +}; +const parseDayPeriodPatterns = { + narrow: { + am: /^a$/i, + pm: /^p$/i, + midnight: /pó(ł|l)n/i, + noon: /po(ł|l)/i, + morning: /rano/i, + afternoon: /po\s*po(ł|l)/i, + evening: /wiecz/i, + night: /noc/i, + }, + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /pó(ł|l)n/i, + noon: /po(ł|l)/i, + morning: /rano/i, + afternoon: /po\s*po(ł|l)/i, + evening: /wiecz/i, + night: /noc/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR.js b/.output/server/node_modules/date-fns/locale/pt-BR.js new file mode 100644 index 00000000..6fc37c54 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./pt-BR/_lib/formatDistance.js"; +import { formatLong } from "./pt-BR/_lib/formatLong.js"; +import { formatRelative } from "./pt-BR/_lib/formatRelative.js"; +import { localize } from "./pt-BR/_lib/localize.js"; +import { match } from "./pt-BR/_lib/match.js"; + +/** + * @category Locales + * @summary Portuguese locale (Brazil). + * @language Portuguese + * @iso-639-2 por + * @author Lucas Duailibe [@duailibe](https://github.com/duailibe) + * @author Yago Carballo [@yagocarballo](https://github.com/YagoCarballo) + */ +export const ptBR = { + code: "pt-BR", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ptBR; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js new file mode 100644 index 00000000..bef08d43 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "menos de um segundo", + other: "menos de {{count}} segundos", + }, + + xSeconds: { + one: "1 segundo", + other: "{{count}} segundos", + }, + + halfAMinute: "meio minuto", + + lessThanXMinutes: { + one: "menos de um minuto", + other: "menos de {{count}} minutos", + }, + + xMinutes: { + one: "1 minuto", + other: "{{count}} minutos", + }, + + aboutXHours: { + one: "cerca de 1 hora", + other: "cerca de {{count}} horas", + }, + + xHours: { + one: "1 hora", + other: "{{count}} horas", + }, + + xDays: { + one: "1 dia", + other: "{{count}} dias", + }, + + aboutXWeeks: { + one: "cerca de 1 semana", + other: "cerca de {{count}} semanas", + }, + + xWeeks: { + one: "1 semana", + other: "{{count}} semanas", + }, + + aboutXMonths: { + one: "cerca de 1 mês", + other: "cerca de {{count}} meses", + }, + + xMonths: { + one: "1 mês", + other: "{{count}} meses", + }, + + aboutXYears: { + one: "cerca de 1 ano", + other: "cerca de {{count}} anos", + }, + + xYears: { + one: "1 ano", + other: "{{count}} anos", + }, + + overXYears: { + one: "mais de 1 ano", + other: "mais de {{count}} anos", + }, + + almostXYears: { + one: "quase 1 ano", + other: "quase {{count}} anos", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "em " + result; + } else { + return "há " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js new file mode 100644 index 00000000..68e5da0b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d 'de' MMMM 'de' y", + long: "d 'de' MMMM 'de' y", + medium: "d MMM y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'às' {{time}}", + long: "{{date}} 'às' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js new file mode 100644 index 00000000..bf7bba44 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js @@ -0,0 +1,22 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + const weekday = date.getDay(); + const last = weekday === 0 || weekday === 6 ? "último" : "última"; + return "'" + last + "' eeee 'às' p"; + }, + yesterday: "'ontem às' p", + today: "'hoje às' p", + tomorrow: "'amanhã às' p", + nextWeek: "eeee 'às' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR/_lib/localize.js b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/localize.js new file mode 100644 index 00000000..6f40a0e4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/localize.js @@ -0,0 +1,177 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["AC", "DC"], + abbreviated: ["AC", "DC"], + wide: ["antes de cristo", "depois de cristo"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"], +}; + +const monthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan", + "fev", + "mar", + "abr", + "mai", + "jun", + "jul", + "ago", + "set", + "out", + "nov", + "dez", + ], + + wide: [ + "janeiro", + "fevereiro", + "março", + "abril", + "maio", + "junho", + "julho", + "agosto", + "setembro", + "outubro", + "novembro", + "dezembro", + ], +}; + +const dayValues = { + narrow: ["D", "S", "T", "Q", "Q", "S", "S"], + short: ["dom", "seg", "ter", "qua", "qui", "sex", "sab"], + abbreviated: [ + "domingo", + "segunda", + "terça", + "quarta", + "quinta", + "sexta", + "sábado", + ], + + wide: [ + "domingo", + "segunda-feira", + "terça-feira", + "quarta-feira", + "quinta-feira", + "sexta-feira", + "sábado", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "manhã", + afternoon: "tarde", + evening: "tarde", + night: "noite", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "manhã", + afternoon: "tarde", + evening: "tarde", + night: "noite", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "meia-noite", + noon: "meio-dia", + morning: "manhã", + afternoon: "tarde", + evening: "tarde", + night: "noite", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "md", + morning: "da manhã", + afternoon: "da tarde", + evening: "da tarde", + night: "da noite", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "da manhã", + afternoon: "da tarde", + evening: "da tarde", + night: "da noite", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "meia-noite", + noon: "meio-dia", + morning: "da manhã", + afternoon: "da tarde", + evening: "da tarde", + night: "da noite", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + if (options?.unit === "week") { + return number + "ª"; + } + return number + "º"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt-BR/_lib/match.js b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/match.js new file mode 100644 index 00000000..b2d16b24 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt-BR/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)[ºªo]?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ac|dc|a|d)/i, + abbreviated: /^(a\.?\s?c\.?|d\.?\s?c\.?)/i, + wide: /^(antes de cristo|depois de cristo)/i, +}; +const parseEraPatterns = { + any: [/^ac/i, /^dc/i], + wide: [/^antes de cristo/i, /^depois de cristo/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^[1234](º)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmajsond]/i, + abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i, + wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^fev/i, + /^mar/i, + /^abr/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^ago/i, + /^set/i, + /^out/i, + /^nov/i, + /^dez/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(dom|[23456]ª?|s[aá]b)/i, + short: /^(dom|[23456]ª?|s[aá]b)/i, + abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i, + wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i, +}; +const parseDayPatterns = { + short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i], + narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i], + any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i, + any: /^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mn|^meia[-\s]noite/i, + noon: /^md|^meio[-\s]dia/i, + morning: /manhã/i, + afternoon: /tarde/i, + evening: /tarde/i, + night: /noite/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt.js b/.output/server/node_modules/date-fns/locale/pt.js new file mode 100644 index 00000000..ee932ac3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./pt/_lib/formatDistance.js"; +import { formatLong } from "./pt/_lib/formatLong.js"; +import { formatRelative } from "./pt/_lib/formatRelative.js"; +import { localize } from "./pt/_lib/localize.js"; +import { match } from "./pt/_lib/match.js"; + +/** + * @category Locales + * @summary Portuguese locale. + * @language Portuguese + * @iso-639-2 por + * @author Dário Freire [@dfreire](https://github.com/dfreire) + * @author Adrián de la Rosa [@adrm](https://github.com/adrm) + */ +export const pt = { + code: "pt", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default pt; diff --git a/.output/server/node_modules/date-fns/locale/pt/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/pt/_lib/formatDistance.js new file mode 100644 index 00000000..0628610a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "menos de um segundo", + other: "menos de {{count}} segundos", + }, + + xSeconds: { + one: "1 segundo", + other: "{{count}} segundos", + }, + + halfAMinute: "meio minuto", + + lessThanXMinutes: { + one: "menos de um minuto", + other: "menos de {{count}} minutos", + }, + + xMinutes: { + one: "1 minuto", + other: "{{count}} minutos", + }, + + aboutXHours: { + one: "aproximadamente 1 hora", + other: "aproximadamente {{count}} horas", + }, + + xHours: { + one: "1 hora", + other: "{{count}} horas", + }, + + xDays: { + one: "1 dia", + other: "{{count}} dias", + }, + + aboutXWeeks: { + one: "aproximadamente 1 semana", + other: "aproximadamente {{count}} semanas", + }, + + xWeeks: { + one: "1 semana", + other: "{{count}} semanas", + }, + + aboutXMonths: { + one: "aproximadamente 1 mês", + other: "aproximadamente {{count}} meses", + }, + + xMonths: { + one: "1 mês", + other: "{{count}} meses", + }, + + aboutXYears: { + one: "aproximadamente 1 ano", + other: "aproximadamente {{count}} anos", + }, + + xYears: { + one: "1 ano", + other: "{{count}} anos", + }, + + overXYears: { + one: "mais de 1 ano", + other: "mais de {{count}} anos", + }, + + almostXYears: { + one: "quase 1 ano", + other: "quase {{count}} anos", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "daqui a " + result; + } else { + return "há " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/pt/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/pt/_lib/formatLong.js new file mode 100644 index 00000000..07a29710 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d 'de' MMMM 'de' y", + long: "d 'de' MMMM 'de' y", + medium: "d 'de' MMM 'de' y", + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'às' {{time}}", + long: "{{date}} 'às' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/pt/_lib/formatRelative.js new file mode 100644 index 00000000..bf7bba44 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt/_lib/formatRelative.js @@ -0,0 +1,22 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + const weekday = date.getDay(); + const last = weekday === 0 || weekday === 6 ? "último" : "última"; + return "'" + last + "' eeee 'às' p"; + }, + yesterday: "'ontem às' p", + today: "'hoje às' p", + tomorrow: "'amanhã às' p", + nextWeek: "eeee 'às' p", + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/pt/_lib/localize.js b/.output/server/node_modules/date-fns/locale/pt/_lib/localize.js new file mode 100644 index 00000000..2ea7861f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["aC", "dC"], + abbreviated: ["a.C.", "d.C."], + wide: ["antes de Cristo", "depois de Cristo"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"], +}; + +const monthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan", + "fev", + "mar", + "abr", + "mai", + "jun", + "jul", + "ago", + "set", + "out", + "nov", + "dez", + ], + + wide: [ + "janeiro", + "fevereiro", + "março", + "abril", + "maio", + "junho", + "julho", + "agosto", + "setembro", + "outubro", + "novembro", + "dezembro", + ], +}; + +const dayValues = { + narrow: ["d", "s", "t", "q", "q", "s", "s"], + short: ["dom", "seg", "ter", "qua", "qui", "sex", "sáb"], + abbreviated: ["dom", "seg", "ter", "qua", "qui", "sex", "sáb"], + wide: [ + "domingo", + "segunda-feira", + "terça-feira", + "quarta-feira", + "quinta-feira", + "sexta-feira", + "sábado", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "manhã", + afternoon: "tarde", + evening: "noite", + night: "madrugada", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "manhã", + afternoon: "tarde", + evening: "noite", + night: "madrugada", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "manhã", + afternoon: "tarde", + evening: "noite", + night: "madrugada", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "da manhã", + afternoon: "da tarde", + evening: "da noite", + night: "da madrugada", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "da manhã", + afternoon: "da tarde", + evening: "da noite", + night: "da madrugada", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "meia-noite", + noon: "meio-dia", + morning: "da manhã", + afternoon: "da tarde", + evening: "da noite", + night: "da madrugada", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "º"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/pt/_lib/match.js b/.output/server/node_modules/date-fns/locale/pt/_lib/match.js new file mode 100644 index 00000000..7deb576c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/pt/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(º|ª)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ac|dc|a|d)/i, + abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i, + wide: /^(antes de cristo|antes da era comum|depois de cristo|era comum)/i, +}; +const parseEraPatterns = { + any: [/^ac/i, /^dc/i], + wide: [ + /^(antes de cristo|antes da era comum)/i, + /^(depois de cristo|era comum)/i, + ], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^[1234](º|ª)? trimestre/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i, + wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ab/i, + /^mai/i, + /^jun/i, + /^jul/i, + /^ag/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dstq]/i, + short: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i, + abbreviated: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i, + wide: /^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^s/i, /^t/i, /^q/i, /^q/i, /^s/i, /^s/i], + any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[áa]/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i, + any: /^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^meia/i, + noon: /^meio/i, + morning: /manh[ãa]/i, + afternoon: /tarde/i, + evening: /noite/i, + night: /madrugada/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ro.js b/.output/server/node_modules/date-fns/locale/ro.js new file mode 100644 index 00000000..15bc84ea --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./ro/_lib/formatDistance.js"; +import { formatLong } from "./ro/_lib/formatLong.js"; +import { formatRelative } from "./ro/_lib/formatRelative.js"; +import { localize } from "./ro/_lib/localize.js"; +import { match } from "./ro/_lib/match.js"; + +/** + * @category Locales + * @summary Romanian locale. + * @language Romanian + * @iso-639-2 ron + * @author Sergiu Munteanu [@jsergiu](https://github.com/jsergiu) + * @author Adrian Ocneanu [@aocneanu](https://github.com/aocneanu) + * @author Mihai Ocneanu [@gandesc](https://github.com/gandesc) + */ +export const ro = { + code: "ro", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ro; diff --git a/.output/server/node_modules/date-fns/locale/ro/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ro/_lib/formatDistance.js new file mode 100644 index 00000000..e0d56572 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mai puțin de o secundă", + other: "mai puțin de {{count}} secunde", + }, + + xSeconds: { + one: "1 secundă", + other: "{{count}} secunde", + }, + + halfAMinute: "jumătate de minut", + + lessThanXMinutes: { + one: "mai puțin de un minut", + other: "mai puțin de {{count}} minute", + }, + + xMinutes: { + one: "1 minut", + other: "{{count}} minute", + }, + + aboutXHours: { + one: "circa 1 oră", + other: "circa {{count}} ore", + }, + + xHours: { + one: "1 oră", + other: "{{count}} ore", + }, + + xDays: { + one: "1 zi", + other: "{{count}} zile", + }, + + aboutXWeeks: { + one: "circa o săptămână", + other: "circa {{count}} săptămâni", + }, + + xWeeks: { + one: "1 săptămână", + other: "{{count}} săptămâni", + }, + + aboutXMonths: { + one: "circa 1 lună", + other: "circa {{count}} luni", + }, + + xMonths: { + one: "1 lună", + other: "{{count}} luni", + }, + + aboutXYears: { + one: "circa 1 an", + other: "circa {{count}} ani", + }, + + xYears: { + one: "1 an", + other: "{{count}} ani", + }, + + overXYears: { + one: "peste 1 an", + other: "peste {{count}} ani", + }, + + almostXYears: { + one: "aproape 1 an", + other: "aproape {{count}} ani", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "în " + result; + } else { + return result + " în urmă"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ro/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ro/_lib/formatLong.js new file mode 100644 index 00000000..d89fe0e0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM yyyy", + long: "d MMMM yyyy", + medium: "d MMM yyyy", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'la' {{time}}", + long: "{{date}} 'la' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ro/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ro/_lib/formatRelative.js new file mode 100644 index 00000000..49a8376b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'trecută la' p", + yesterday: "'ieri la' p", + today: "'astăzi la' p", + tomorrow: "'mâine la' p", + nextWeek: "eeee 'viitoare la' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ro/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ro/_lib/localize.js new file mode 100644 index 00000000..87b0a716 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro/_lib/localize.js @@ -0,0 +1,160 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["Î", "D"], + abbreviated: ["Î.d.C.", "D.C."], + wide: ["Înainte de Cristos", "După Cristos"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["T1", "T2", "T3", "T4"], + wide: [ + "primul trimestru", + "al doilea trimestru", + "al treilea trimestru", + "al patrulea trimestru", + ], +}; + +const monthValues = { + narrow: ["I", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"], + abbreviated: [ + "ian", + "feb", + "mar", + "apr", + "mai", + "iun", + "iul", + "aug", + "sep", + "oct", + "noi", + "dec", + ], + + wide: [ + "ianuarie", + "februarie", + "martie", + "aprilie", + "mai", + "iunie", + "iulie", + "august", + "septembrie", + "octombrie", + "noiembrie", + "decembrie", + ], +}; + +const dayValues = { + narrow: ["d", "l", "m", "m", "j", "v", "s"], + short: ["du", "lu", "ma", "mi", "jo", "vi", "sâ"], + abbreviated: ["dum", "lun", "mar", "mie", "joi", "vin", "sâm"], + wide: ["duminică", "luni", "marți", "miercuri", "joi", "vineri", "sâmbătă"], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "ami", + morning: "dim", + afternoon: "da", + evening: "s", + night: "n", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "miezul nopții", + noon: "amiază", + morning: "dimineață", + afternoon: "după-amiază", + evening: "seară", + night: "noapte", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "miezul nopții", + noon: "amiază", + morning: "dimineață", + afternoon: "după-amiază", + evening: "seară", + night: "noapte", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "mn", + noon: "amiază", + morning: "dimineață", + afternoon: "după-amiază", + evening: "seară", + night: "noapte", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "miezul nopții", + noon: "amiază", + morning: "dimineață", + afternoon: "după-amiază", + evening: "seară", + night: "noapte", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "miezul nopții", + noon: "amiază", + morning: "dimineață", + afternoon: "după-amiază", + evening: "seară", + night: "noapte", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ro/_lib/match.js b/.output/server/node_modules/date-fns/locale/ro/_lib/match.js new file mode 100644 index 00000000..593d4043 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ro/_lib/match.js @@ -0,0 +1,137 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(Î|D)/i, + abbreviated: + /^(Î\.?\s?d\.?\s?C\.?|Î\.?\s?e\.?\s?n\.?|D\.?\s?C\.?|e\.?\s?n\.?)/i, + wide: /^(Înainte de Cristos|Înaintea erei noastre|După Cristos|Era noastră)/i, +}; +const parseEraPatterns = { + any: [/^ÎC/i, /^DC/i], + wide: [ + /^(Înainte de Cristos|Înaintea erei noastre)/i, + /^(După Cristos|Era noastră)/i, + ], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^T[1234]/i, + wide: /^trimestrul [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[ifmaasond]/i, + abbreviated: /^(ian|feb|mar|apr|mai|iun|iul|aug|sep|oct|noi|dec)/i, + wide: /^(ianuarie|februarie|martie|aprilie|mai|iunie|iulie|august|septembrie|octombrie|noiembrie|decembrie)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^i/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^i/i, + /^i/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ia/i, + /^f/i, + /^mar/i, + /^ap/i, + /^mai/i, + /^iun/i, + /^iul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dlmjvs]/i, + short: /^(d|l|ma|mi|j|v|s)/i, + abbreviated: /^(dum|lun|mar|mie|jo|vi|sâ)/i, + wide: /^(duminica|luni|marţi|miercuri|joi|vineri|sâmbătă)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], + any: [/^d/i, /^l/i, /^ma/i, /^mi/i, /^j/i, /^v/i, /^s/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|mn|a|(dimineaţa|după-amiaza|seara|noaptea))/i, + any: /^([ap]\.?\s?m\.?|miezul nopții|amiaza|(dimineaţa|după-amiaza|seara|noaptea))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mn/i, + noon: /amiaza/i, + morning: /dimineaţa/i, + afternoon: /după-amiaza/i, + evening: /seara/i, + night: /noaptea/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ru.js b/.output/server/node_modules/date-fns/locale/ru.js new file mode 100644 index 00000000..43d83f92 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./ru/_lib/formatDistance.js"; +import { formatLong } from "./ru/_lib/formatLong.js"; +import { formatRelative } from "./ru/_lib/formatRelative.js"; +import { localize } from "./ru/_lib/localize.js"; +import { match } from "./ru/_lib/match.js"; + +/** + * @category Locales + * @summary Russian locale. + * @language Russian + * @iso-639-2 rus + * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp) + * @author Lesha Koss [@leshakoss](https://github.com/leshakoss) + */ +export const ru = { + code: "ru", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ru; diff --git a/.output/server/node_modules/date-fns/locale/ru/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ru/_lib/formatDistance.js new file mode 100644 index 00000000..6d79b98b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru/_lib/formatDistance.js @@ -0,0 +1,246 @@ +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one !== undefined && count === 1) { + return scheme.one; + } + + const rem10 = count % 10; + const rem100 = count % 100; + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace("{{count}}", String(count)); + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace("{{count}}", String(count)); + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace("{{count}}", String(count)); + } +} + +function buildLocalizeTokenFn(scheme) { + return (count, options) => { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (scheme.future) { + return declension(scheme.future, count); + } else { + return "через " + declension(scheme.regular, count); + } + } else { + if (scheme.past) { + return declension(scheme.past, count); + } else { + return declension(scheme.regular, count) + " назад"; + } + } + } else { + return declension(scheme.regular, count); + } + }; +} + +const formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + regular: { + one: "меньше секунды", + singularNominative: "меньше {{count}} секунды", + singularGenitive: "меньше {{count}} секунд", + pluralGenitive: "меньше {{count}} секунд", + }, + future: { + one: "меньше, чем через секунду", + singularNominative: "меньше, чем через {{count}} секунду", + singularGenitive: "меньше, чем через {{count}} секунды", + pluralGenitive: "меньше, чем через {{count}} секунд", + }, + }), + + xSeconds: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} секунда", + singularGenitive: "{{count}} секунды", + pluralGenitive: "{{count}} секунд", + }, + past: { + singularNominative: "{{count}} секунду назад", + singularGenitive: "{{count}} секунды назад", + pluralGenitive: "{{count}} секунд назад", + }, + future: { + singularNominative: "через {{count}} секунду", + singularGenitive: "через {{count}} секунды", + pluralGenitive: "через {{count}} секунд", + }, + }), + + halfAMinute: (_count, options) => { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "через полминуты"; + } else { + return "полминуты назад"; + } + } + + return "полминуты"; + }, + + lessThanXMinutes: buildLocalizeTokenFn({ + regular: { + one: "меньше минуты", + singularNominative: "меньше {{count}} минуты", + singularGenitive: "меньше {{count}} минут", + pluralGenitive: "меньше {{count}} минут", + }, + future: { + one: "меньше, чем через минуту", + singularNominative: "меньше, чем через {{count}} минуту", + singularGenitive: "меньше, чем через {{count}} минуты", + pluralGenitive: "меньше, чем через {{count}} минут", + }, + }), + + xMinutes: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} минута", + singularGenitive: "{{count}} минуты", + pluralGenitive: "{{count}} минут", + }, + past: { + singularNominative: "{{count}} минуту назад", + singularGenitive: "{{count}} минуты назад", + pluralGenitive: "{{count}} минут назад", + }, + future: { + singularNominative: "через {{count}} минуту", + singularGenitive: "через {{count}} минуты", + pluralGenitive: "через {{count}} минут", + }, + }), + + aboutXHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "около {{count}} часа", + singularGenitive: "около {{count}} часов", + pluralGenitive: "около {{count}} часов", + }, + future: { + singularNominative: "приблизительно через {{count}} час", + singularGenitive: "приблизительно через {{count}} часа", + pluralGenitive: "приблизительно через {{count}} часов", + }, + }), + + xHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} час", + singularGenitive: "{{count}} часа", + pluralGenitive: "{{count}} часов", + }, + }), + + xDays: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} день", + singularGenitive: "{{count}} дня", + pluralGenitive: "{{count}} дней", + }, + }), + + aboutXWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "около {{count}} недели", + singularGenitive: "около {{count}} недель", + pluralGenitive: "около {{count}} недель", + }, + future: { + singularNominative: "приблизительно через {{count}} неделю", + singularGenitive: "приблизительно через {{count}} недели", + pluralGenitive: "приблизительно через {{count}} недель", + }, + }), + + xWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} неделя", + singularGenitive: "{{count}} недели", + pluralGenitive: "{{count}} недель", + }, + }), + + aboutXMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "около {{count}} месяца", + singularGenitive: "около {{count}} месяцев", + pluralGenitive: "около {{count}} месяцев", + }, + future: { + singularNominative: "приблизительно через {{count}} месяц", + singularGenitive: "приблизительно через {{count}} месяца", + pluralGenitive: "приблизительно через {{count}} месяцев", + }, + }), + + xMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} месяц", + singularGenitive: "{{count}} месяца", + pluralGenitive: "{{count}} месяцев", + }, + }), + + aboutXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "около {{count}} года", + singularGenitive: "около {{count}} лет", + pluralGenitive: "около {{count}} лет", + }, + future: { + singularNominative: "приблизительно через {{count}} год", + singularGenitive: "приблизительно через {{count}} года", + pluralGenitive: "приблизительно через {{count}} лет", + }, + }), + + xYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} год", + singularGenitive: "{{count}} года", + pluralGenitive: "{{count}} лет", + }, + }), + + overXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "больше {{count}} года", + singularGenitive: "больше {{count}} лет", + pluralGenitive: "больше {{count}} лет", + }, + future: { + singularNominative: "больше, чем через {{count}} год", + singularGenitive: "больше, чем через {{count}} года", + pluralGenitive: "больше, чем через {{count}} лет", + }, + }), + + almostXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "почти {{count}} год", + singularGenitive: "почти {{count}} года", + pluralGenitive: "почти {{count}} лет", + }, + future: { + singularNominative: "почти через {{count}} год", + singularGenitive: "почти через {{count}} года", + pluralGenitive: "почти через {{count}} лет", + }, + }), +}; + +export const formatDistance = (token, count, options) => { + return formatDistanceLocale[token](count, options); +}; diff --git a/.output/server/node_modules/date-fns/locale/ru/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ru/_lib/formatLong.js new file mode 100644 index 00000000..f775c7ba --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d MMMM y 'г.'", + long: "d MMMM y 'г.'", + medium: "d MMM y 'г.'", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ru/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ru/_lib/formatRelative.js new file mode 100644 index 00000000..dcf893da --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru/_lib/formatRelative.js @@ -0,0 +1,88 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +const accusativeWeekdays = [ + "воскресенье", + "понедельник", + "вторник", + "среду", + "четверг", + "пятницу", + "субботу", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + return "'в прошлое " + weekday + " в' p"; + case 1: + case 2: + case 4: + return "'в прошлый " + weekday + " в' p"; + case 3: + case 5: + case 6: + return "'в прошлую " + weekday + " в' p"; + } +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + if (day === 2 /* Tue */) { + return "'во " + weekday + " в' p"; + } else { + return "'в " + weekday + " в' p"; + } +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + return "'в следующее " + weekday + " в' p"; + case 1: + case 2: + case 4: + return "'в следующий " + weekday + " в' p"; + case 3: + case 5: + case 6: + return "'в следующую " + weekday + " в' p"; + } +} + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } + }, + yesterday: "'вчера в' p", + today: "'сегодня в' p", + tomorrow: "'завтра в' p", + nextWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/ru/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ru/_lib/localize.js new file mode 100644 index 00000000..155f7541 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru/_lib/localize.js @@ -0,0 +1,210 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["до н.э.", "н.э."], + abbreviated: ["до н. э.", "н. э."], + wide: ["до нашей эры", "нашей эры"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."], + wide: ["1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"], +}; + +const monthValues = { + narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"], + abbreviated: [ + "янв.", + "фев.", + "март", + "апр.", + "май", + "июнь", + "июль", + "авг.", + "сент.", + "окт.", + "нояб.", + "дек.", + ], + + wide: [ + "январь", + "февраль", + "март", + "апрель", + "май", + "июнь", + "июль", + "август", + "сентябрь", + "октябрь", + "ноябрь", + "декабрь", + ], +}; + +const formattingMonthValues = { + narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"], + abbreviated: [ + "янв.", + "фев.", + "мар.", + "апр.", + "мая", + "июн.", + "июл.", + "авг.", + "сент.", + "окт.", + "нояб.", + "дек.", + ], + + wide: [ + "января", + "февраля", + "марта", + "апреля", + "мая", + "июня", + "июля", + "августа", + "сентября", + "октября", + "ноября", + "декабря", + ], +}; + +const dayValues = { + narrow: ["В", "П", "В", "С", "Ч", "П", "С"], + short: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], + abbreviated: ["вск", "пнд", "втр", "срд", "чтв", "птн", "суб"], + wide: [ + "воскресенье", + "понедельник", + "вторник", + "среда", + "четверг", + "пятница", + "суббота", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "полн.", + noon: "полд.", + morning: "утро", + afternoon: "день", + evening: "веч.", + night: "ночь", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "полн.", + noon: "полд.", + morning: "утро", + afternoon: "день", + evening: "веч.", + night: "ночь", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "полночь", + noon: "полдень", + morning: "утро", + afternoon: "день", + evening: "вечер", + night: "ночь", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "полн.", + noon: "полд.", + morning: "утра", + afternoon: "дня", + evening: "веч.", + night: "ночи", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "полн.", + noon: "полд.", + morning: "утра", + afternoon: "дня", + evening: "веч.", + night: "ночи", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "полночь", + noon: "полдень", + morning: "утра", + afternoon: "дня", + evening: "вечера", + night: "ночи", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + + let suffix; + if (unit === "date") { + suffix = "-е"; + } else if (unit === "week" || unit === "minute" || unit === "second") { + suffix = "-я"; + } else { + suffix = "-й"; + } + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ru/_lib/match.js b/.output/server/node_modules/date-fns/locale/ru/_lib/match.js new file mode 100644 index 00000000..91adcd70 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ru/_lib/match.js @@ -0,0 +1,138 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((до )?н\.?\s?э\.?)/i, + abbreviated: /^((до )?н\.?\s?э\.?)/i, + wide: /^(до нашей эры|нашей эры|наша эра)/i, +}; +const parseEraPatterns = { + any: [/^д/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i, + wide: /^[1234](-?[ыои]?й?)? квартал/i, +}; + +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[яфмаисонд]/i, + abbreviated: + /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i, + wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i, +}; + +const parseMonthPatterns = { + narrow: [ + /^я/i, + /^ф/i, + /^м/i, + /^а/i, + /^м/i, + /^и/i, + /^и/i, + /^а/i, + /^с/i, + /^о/i, + /^н/i, + /^я/i, + ], + + any: [ + /^я/i, + /^ф/i, + /^мар/i, + /^ап/i, + /^ма[йя]/i, + /^июн/i, + /^июл/i, + /^ав/i, + /^с/i, + /^о/i, + /^н/i, + /^д/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[впсч]/i, + short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i, + abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i, + wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i, +}; + +const parseDayPatterns = { + narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i, + abbreviated: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i, + wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i, +}; + +const parseDayPeriodPatterns = { + any: { + am: /^дп/i, + pm: /^пп/i, + midnight: /^полн/i, + noon: /^полд/i, + morning: /^у/i, + afternoon: /^д[ен]/i, + evening: /^в/i, + night: /^н/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/se.js b/.output/server/node_modules/date-fns/locale/se.js new file mode 100644 index 00000000..3000d03e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./se/_lib/formatDistance.js"; +import { formatLong } from "./se/_lib/formatLong.js"; +import { formatRelative } from "./se/_lib/formatRelative.js"; +import { localize } from "./se/_lib/localize.js"; +import { match } from "./se/_lib/match.js"; + +/** + * @category Locales + * @summary Northern Sámi locale. + * @language Northern Sámi + * @iso-639-2 sme + * @author Audun Rundberg [@audunru](https://github.com/audunru) + */ +export const se = { + code: "se", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default se; diff --git a/.output/server/node_modules/date-fns/locale/se/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/se/_lib/formatDistance.js new file mode 100644 index 00000000..7decbd69 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "unnit go ovtta sekundda", + other: "unnit go {{count}} sekundda", + }, + + xSeconds: { + one: "sekundda", + other: "{{count}} sekundda", + }, + + halfAMinute: "bealle minuhta", + + lessThanXMinutes: { + one: "unnit go bealle minuhta", + other: "unnit go {{count}} minuhta", + }, + + xMinutes: { + one: "minuhta", + other: "{{count}} minuhta", + }, + + aboutXHours: { + one: "sullii ovtta diimmu", + other: "sullii {{count}} diimmu", + }, + + xHours: { + one: "diimmu", + other: "{{count}} diimmu", + }, + + xDays: { + one: "beaivvi", + other: "{{count}} beaivvi", + }, + + aboutXWeeks: { + one: "sullii ovtta vahku", + other: "sullii {{count}} vahku", + }, + + xWeeks: { + one: "vahku", + other: "{{count}} vahku", + }, + + aboutXMonths: { + one: "sullii ovtta mánu", + other: "sullii {{count}} mánu", + }, + + xMonths: { + one: "mánu", + other: "{{count}} mánu", + }, + + aboutXYears: { + one: "sullii ovtta jagi", + other: "sullii {{count}} jagi", + }, + + xYears: { + one: "jagi", + other: "{{count}} jagi", + }, + + overXYears: { + one: "guhkit go jagi", + other: "guhkit go {{count}} jagi", + }, + + almostXYears: { + one: "measta jagi", + other: "measta {{count}} jagi", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "geahčen " + result; + } else { + return result + " áigi"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/se/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/se/_lib/formatLong.js new file mode 100644 index 00000000..2beb4271 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE MMMM d. 'b.' y", + long: "MMMM d. 'b.' y", + medium: "MMM d. 'b.' y", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "'dii.' HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'dii.' {{time}}", + long: "{{date}} 'dii.' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/se/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/se/_lib/formatRelative.js new file mode 100644 index 00000000..d3e161d6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ovddit' eeee 'dii.' p", + yesterday: "'ikte dii.' p", + today: "'odne dii.' p", + tomorrow: "'ihtin dii.' p", + nextWeek: "EEEE 'dii.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/se/_lib/localize.js b/.output/server/node_modules/date-fns/locale/se/_lib/localize.js new file mode 100644 index 00000000..00ddee95 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se/_lib/localize.js @@ -0,0 +1,129 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["o.Kr.", "m.Kr."], + abbreviated: ["o.Kr.", "m.Kr."], + wide: ["ovdal Kristusa", "maŋŋel Kristusa"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. kvartála", "2. kvartála", "3. kvartála", "4. kvartála"], +}; + +const monthValues = { + narrow: ["O", "G", "N", "C", "M", "G", "S", "B", "Č", "G", "S", "J"], + abbreviated: [ + "ođđa", + "guov", + "njuk", + "cuo", + "mies", + "geas", + "suoi", + "borg", + "čakč", + "golg", + "skáb", + "juov", + ], + + wide: [ + "ođđajagemánnu", + "guovvamánnu", + "njukčamánnu", + "cuoŋománnu", + "miessemánnu", + "geassemánnu", + "suoidnemánnu", + "borgemánnu", + "čakčamánnu", + "golggotmánnu", + "skábmamánnu", + "juovlamánnu", + ], +}; + +const dayValues = { + narrow: ["S", "V", "M", "G", "D", "B", "L"], + short: ["sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"], + abbreviated: ["sotn", "vuos", "maŋ", "gask", "duor", "bear", "láv"], + wide: [ + "sotnabeaivi", + "vuossárga", + "maŋŋebárga", + "gaskavahkku", + "duorastat", + "bearjadat", + "lávvardat", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "gaskaidja", + noon: "gaskabeaivi", + morning: "iđđes", + afternoon: "maŋŋel gaska.", + evening: "eahkes", + night: "ihkku", + }, + abbreviated: { + am: "a.m.", + pm: "p.m.", + midnight: "gaskaidja", + noon: "gaskabeaivvi", + morning: "iđđes", + afternoon: "maŋŋel gaskabea.", + evening: "eahkes", + night: "ihkku", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "gaskaidja", + noon: "gaskabeavvi", + morning: "iđđes", + afternoon: "maŋŋel gaskabeaivvi", + evening: "eahkes", + night: "ihkku", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/se/_lib/match.js b/.output/server/node_modules/date-fns/locale/se/_lib/match.js new file mode 100644 index 00000000..7ae72f68 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/se/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(o\.? ?Kr\.?|m\.? ?Kr\.?)/i, + abbreviated: /^(o\.? ?Kr\.?|m\.? ?Kr\.?)/i, + wide: /^(ovdal Kristusa|ovdal min áiggi|maŋŋel Kristusa|min áigi)/i, +}; +const parseEraPatterns = { + any: [/^o/i, /^m/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? kvartála/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[ogncmsbčj]/i, + abbreviated: + /^(ođđa|guov|njuk|cuo|mies|geas|suoi|borg|čakč|golg|skáb|juov)\.?/i, + wide: /^(ođđajagemánnu|guovvamánnu|njukčamánnu|cuoŋománnu|miessemánnu|geassemánnu|suoidnemánnu|borgemánnu|čakčamánnu|golggotmánnu|skábmamánnu|juovlamánnu)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^o/i, + /^g/i, + /^n/i, + /^c/i, + /^m/i, + /^g/i, + /^s/i, + /^b/i, + /^č/i, + /^g/i, + /^s/i, + /^j/i, + ], + + any: [ + /^o/i, + /^gu/i, + /^n/i, + /^c/i, + /^m/i, + /^ge/i, + /^su/i, + /^b/i, + /^č/i, + /^go/i, + /^sk/i, + /^j/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[svmgdbl]/i, + short: /^(sotn|vuos|maŋ|gask|duor|bear|láv)/i, + abbreviated: /^(sotn|vuos|maŋ|gask|duor|bear|láv)/i, + wide: /^(sotnabeaivi|vuossárga|maŋŋebárga|gaskavahkku|duorastat|bearjadat|lávvardat)/i, +}; +const parseDayPatterns = { + any: [/^s/i, /^v/i, /^m/i, /^g/i, /^d/i, /^b/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(gaskaidja|gaskabeaivvi|(på) (iđđes|maŋŋel gaskabeaivvi|eahkes|ihkku)|[ap])/i, + any: /^([ap]\.?\s?m\.?|gaskaidja|gaskabeaivvi|(på) (iđđes|maŋŋel gaskabeaivvi|eahkes|ihkku))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a(\.?\s?m\.?)?$/i, + pm: /^p(\.?\s?m\.?)?$/i, + midnight: /^gaskai/i, + noon: /^gaskab/i, + morning: /iđđes/i, + afternoon: /maŋŋel gaskabeaivvi/i, + evening: /eahkes/i, + night: /ihkku/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sk.js b/.output/server/node_modules/date-fns/locale/sk.js new file mode 100644 index 00000000..5739830e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./sk/_lib/formatDistance.js"; +import { formatLong } from "./sk/_lib/formatLong.js"; +import { formatRelative } from "./sk/_lib/formatRelative.js"; +import { localize } from "./sk/_lib/localize.js"; +import { match } from "./sk/_lib/match.js"; + +/** + * @category Locales + * @summary Slovak locale. + * @language Slovak + * @iso-639-2 slk + * @author Marek Suscak [@mareksuscak](https://github.com/mareksuscak) + */ +export const sk = { + code: "sk", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default sk; diff --git a/.output/server/node_modules/date-fns/locale/sk/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sk/_lib/formatDistance.js new file mode 100644 index 00000000..8e2813cb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk/_lib/formatDistance.js @@ -0,0 +1,226 @@ +function declensionGroup(scheme, count) { + if (count === 1 && scheme.one) { + return scheme.one; + } + + if (count >= 2 && count <= 4 && scheme.twoFour) { + return scheme.twoFour; + } + + // if count === null || count === 0 || count >= 5 + return scheme.other; +} + +function declension(scheme, count, time) { + const group = declensionGroup(scheme, count); + const finalText = group[time]; + return finalText.replace("{{count}}", String(count)); +} + +function extractPreposition(token) { + const result = ["lessThan", "about", "over", "almost"].filter( + function (preposition) { + return !!token.match(new RegExp("^" + preposition)); + }, + ); + + return result[0]; +} + +function prefixPreposition(preposition) { + let translation = ""; + + if (preposition === "almost") { + translation = "takmer"; + } + + if (preposition === "about") { + translation = "približne"; + } + + return translation.length > 0 ? translation + " " : ""; +} + +function suffixPreposition(preposition) { + let translation = ""; + + if (preposition === "lessThan") { + translation = "menej než"; + } + + if (preposition === "over") { + translation = "viac než"; + } + + return translation.length > 0 ? translation + " " : ""; +} + +function lowercaseFirstLetter(string) { + return string.charAt(0).toLowerCase() + string.slice(1); +} + +const formatDistanceLocale = { + xSeconds: { + one: { + present: "sekunda", + past: "sekundou", + future: "sekundu", + }, + twoFour: { + present: "{{count}} sekundy", + past: "{{count}} sekundami", + future: "{{count}} sekundy", + }, + other: { + present: "{{count}} sekúnd", + past: "{{count}} sekundami", + future: "{{count}} sekúnd", + }, + }, + + halfAMinute: { + other: { + present: "pol minúty", + past: "pol minútou", + future: "pol minúty", + }, + }, + + xMinutes: { + one: { + present: "minúta", + past: "minútou", + future: "minútu", + }, + twoFour: { + present: "{{count}} minúty", + past: "{{count}} minútami", + future: "{{count}} minúty", + }, + other: { + present: "{{count}} minút", + past: "{{count}} minútami", + future: "{{count}} minút", + }, + }, + + xHours: { + one: { + present: "hodina", + past: "hodinou", + future: "hodinu", + }, + twoFour: { + present: "{{count}} hodiny", + past: "{{count}} hodinami", + future: "{{count}} hodiny", + }, + other: { + present: "{{count}} hodín", + past: "{{count}} hodinami", + future: "{{count}} hodín", + }, + }, + + xDays: { + one: { + present: "deň", + past: "dňom", + future: "deň", + }, + twoFour: { + present: "{{count}} dni", + past: "{{count}} dňami", + future: "{{count}} dni", + }, + other: { + present: "{{count}} dní", + past: "{{count}} dňami", + future: "{{count}} dní", + }, + }, + + xWeeks: { + one: { + present: "týždeň", + past: "týždňom", + future: "týždeň", + }, + twoFour: { + present: "{{count}} týždne", + past: "{{count}} týždňami", + future: "{{count}} týždne", + }, + other: { + present: "{{count}} týždňov", + past: "{{count}} týždňami", + future: "{{count}} týždňov", + }, + }, + + xMonths: { + one: { + present: "mesiac", + past: "mesiacom", + future: "mesiac", + }, + twoFour: { + present: "{{count}} mesiace", + past: "{{count}} mesiacmi", + future: "{{count}} mesiace", + }, + other: { + present: "{{count}} mesiacov", + past: "{{count}} mesiacmi", + future: "{{count}} mesiacov", + }, + }, + + xYears: { + one: { + present: "rok", + past: "rokom", + future: "rok", + }, + twoFour: { + present: "{{count}} roky", + past: "{{count}} rokmi", + future: "{{count}} roky", + }, + other: { + present: "{{count}} rokov", + past: "{{count}} rokmi", + future: "{{count}} rokov", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + const preposition = extractPreposition(token) || ""; + const key = lowercaseFirstLetter(token.substring(preposition.length)); + const scheme = formatDistanceLocale[key]; + + if (!options?.addSuffix) { + return ( + prefixPreposition(preposition) + + suffixPreposition(preposition) + + declension(scheme, count, "present") + ); + } + + if (options.comparison && options.comparison > 0) { + return ( + prefixPreposition(preposition) + + "o " + + suffixPreposition(preposition) + + declension(scheme, count, "future") + ); + } else { + return ( + prefixPreposition(preposition) + + "pred " + + suffixPreposition(preposition) + + declension(scheme, count, "past") + ); + } +}; diff --git a/.output/server/node_modules/date-fns/locale/sk/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sk/_lib/formatLong.js new file mode 100644 index 00000000..e3139c0a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk/_lib/formatLong.js @@ -0,0 +1,42 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1986 +const dateFormats = { + full: "EEEE d. MMMM y", + long: "d. MMMM y", + medium: "d. M. y", + short: "d. M. y", +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#2149 +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1994 +const dateTimeFormats = { + full: "{{date}}, {{time}}", + long: "{{date}}, {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sk/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sk/_lib/formatRelative.js new file mode 100644 index 00000000..8b6032fb --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk/_lib/formatRelative.js @@ -0,0 +1,81 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1308 +const accusativeWeekdays = [ + "nedeľu", + "pondelok", + "utorok", + "stredu", + "štvrtok", + "piatok", + "sobotu", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: /* Sun */ + case 3: /* Wed */ + case 6 /* Sat */: + return "'minulú " + weekday + " o' p"; + default: + return "'minulý' eeee 'o' p"; + } +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + if (day === 4 /* Thu */) { + return "'vo' eeee 'o' p"; + } else { + return "'v " + weekday + " o' p"; + } +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: /* Sun */ + case 4: /* Wed */ + case 6 /* Sat */: + return "'budúcu " + weekday + " o' p"; + default: + return "'budúci' eeee 'o' p"; + } +} + +const formatRelativeLocale = { + lastWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } + }, + yesterday: "'včera o' p", + today: "'dnes o' p", + tomorrow: "'zajtra o' p", + nextWeek: (date, baseDate, options) => { + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } + }, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/sk/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sk/_lib/localize.js new file mode 100644 index 00000000..c4ace32e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk/_lib/localize.js @@ -0,0 +1,203 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html#1772 +const eraValues = { + narrow: ["pred Kr.", "po Kr."], + abbreviated: ["pred Kr.", "po Kr."], + wide: ["pred Kristom", "po Kristovi"], +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html#1780 +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1. štvrťrok", "2. štvrťrok", "3. štvrťrok", "4. štvrťrok"], +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html#1804 +const monthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "máj", + "jún", + "júl", + "aug", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "január", + "február", + "marec", + "apríl", + "máj", + "jún", + "júl", + "august", + "september", + "október", + "november", + "december", + ], +}; +const formattingMonthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "máj", + "jún", + "júl", + "aug", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januára", + "februára", + "marca", + "apríla", + "mája", + "júna", + "júla", + "augusta", + "septembra", + "októbra", + "novembra", + "decembra", + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html#1876 +const dayValues = { + narrow: ["n", "p", "u", "s", "š", "p", "s"], + short: ["ne", "po", "ut", "st", "št", "pi", "so"], + abbreviated: ["ne", "po", "ut", "st", "št", "pi", "so"], + wide: [ + "nedeľa", + "pondelok", + "utorok", + "streda", + "štvrtok", + "piatok", + "sobota", + ], +}; + +// https://www.unicode.org/cldr/charts/32/summary/sk.html#1932 +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "poln.", + noon: "pol.", + morning: "ráno", + afternoon: "pop.", + evening: "več.", + night: "noc", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "poln.", + noon: "pol.", + morning: "ráno", + afternoon: "popol.", + evening: "večer", + night: "noc", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "polnoc", + noon: "poludnie", + morning: "ráno", + afternoon: "popoludnie", + evening: "večer", + night: "noc", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "o poln.", + noon: "nap.", + morning: "ráno", + afternoon: "pop.", + evening: "več.", + night: "v n.", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "o poln.", + noon: "napol.", + morning: "ráno", + afternoon: "popol.", + evening: "večer", + night: "v noci", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "o polnoci", + noon: "napoludnie", + morning: "ráno", + afternoon: "popoludní", + evening: "večer", + night: "v noci", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sk/_lib/match.js b/.output/server/node_modules/date-fns/locale/sk/_lib/match.js new file mode 100644 index 00000000..1f03a770 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sk/_lib/match.js @@ -0,0 +1,135 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\.?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i, + abbreviated: /^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i, + wide: /^(pred Kristom|pred na[šs][íi]m letopo[čc]tom|po Kristovi|n[áa][šs]ho letopo[čc]tu)/i, +}; +const parseEraPatterns = { + any: [/^pr/i, /^(po|n)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234]\. [šs]tvr[ťt]rok/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|m[áa]j|j[úu]n|j[úu]l|aug|sep|okt|nov|dec)/i, + wide: /^(janu[áa]ra?|febru[áa]ra?|(marec|marca)|apr[íi]la?|m[áa]ja?|j[úu]na?|j[úu]la?|augusta?|(september|septembra)|(okt[óo]ber|okt[óo]bra)|(november|novembra)|(december|decembra))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^m[áa]j/i, + /^j[úu]n/i, + /^j[úu]l/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npusšp]/i, + short: /^(ne|po|ut|st|št|pi|so)/i, + abbreviated: /^(ne|po|ut|st|št|pi|so)/i, + wide: /^(nede[ľl]a|pondelok|utorok|streda|[šs]tvrtok|piatok|sobota])/i, +}; +const parseDayPatterns = { + narrow: [/^n/i, /^p/i, /^u/i, /^s/i, /^š/i, /^p/i, /^s/i], + any: [/^n/i, /^po/i, /^u/i, /^st/i, /^(št|stv)/i, /^pi/i, /^so/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(am|pm|(o )?poln\.?|(nap\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]\.?|(v n\.?|noc))/i, + abbreviated: + /^(am|pm|(o )?poln\.?|(napol\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]er|(v )?noci?)/i, + any: /^(am|pm|(o )?polnoci?|(na)?poludnie|r[áa]no|popoludn(ie|í|i)|ve[čc]er|(v )?noci?)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /poln/i, + noon: /^(nap|(na)?pol(\.|u))/i, + morning: /^r[áa]no/i, + afternoon: /^pop/i, + evening: /^ve[čc]/i, + night: /^(noc|v n\.)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sl.js b/.output/server/node_modules/date-fns/locale/sl.js new file mode 100644 index 00000000..a35cf04e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./sl/_lib/formatDistance.js"; +import { formatLong } from "./sl/_lib/formatLong.js"; +import { formatRelative } from "./sl/_lib/formatRelative.js"; +import { localize } from "./sl/_lib/localize.js"; +import { match } from "./sl/_lib/match.js"; + +/** + * @category Locales + * @summary Slovenian locale. + * @language Slovenian + * @iso-639-2 slv + * @author Adam Stradovnik [@Neoglyph](https://github.com/Neoglyph) + * @author Mato Žgajner [@mzgajner](https://github.com/mzgajner) + */ +export const sl = { + code: "sl", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default sl; diff --git a/.output/server/node_modules/date-fns/locale/sl/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sl/_lib/formatDistance.js new file mode 100644 index 00000000..86783baf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl/_lib/formatDistance.js @@ -0,0 +1,340 @@ +function isPluralType(val) { + return val.one !== undefined; +} + +const formatDistanceLocale = { + lessThanXSeconds: { + present: { + one: "manj kot {{count}} sekunda", + two: "manj kot {{count}} sekundi", + few: "manj kot {{count}} sekunde", + other: "manj kot {{count}} sekund", + }, + past: { + one: "manj kot {{count}} sekundo", + two: "manj kot {{count}} sekundama", + few: "manj kot {{count}} sekundami", + other: "manj kot {{count}} sekundami", + }, + future: { + one: "manj kot {{count}} sekundo", + two: "manj kot {{count}} sekundi", + few: "manj kot {{count}} sekunde", + other: "manj kot {{count}} sekund", + }, + }, + + xSeconds: { + present: { + one: "{{count}} sekunda", + two: "{{count}} sekundi", + few: "{{count}} sekunde", + other: "{{count}} sekund", + }, + past: { + one: "{{count}} sekundo", + two: "{{count}} sekundama", + few: "{{count}} sekundami", + other: "{{count}} sekundami", + }, + future: { + one: "{{count}} sekundo", + two: "{{count}} sekundi", + few: "{{count}} sekunde", + other: "{{count}} sekund", + }, + }, + + halfAMinute: "pol minute", + + lessThanXMinutes: { + present: { + one: "manj kot {{count}} minuta", + two: "manj kot {{count}} minuti", + few: "manj kot {{count}} minute", + other: "manj kot {{count}} minut", + }, + past: { + one: "manj kot {{count}} minuto", + two: "manj kot {{count}} minutama", + few: "manj kot {{count}} minutami", + other: "manj kot {{count}} minutami", + }, + future: { + one: "manj kot {{count}} minuto", + two: "manj kot {{count}} minuti", + few: "manj kot {{count}} minute", + other: "manj kot {{count}} minut", + }, + }, + + xMinutes: { + present: { + one: "{{count}} minuta", + two: "{{count}} minuti", + few: "{{count}} minute", + other: "{{count}} minut", + }, + past: { + one: "{{count}} minuto", + two: "{{count}} minutama", + few: "{{count}} minutami", + other: "{{count}} minutami", + }, + future: { + one: "{{count}} minuto", + two: "{{count}} minuti", + few: "{{count}} minute", + other: "{{count}} minut", + }, + }, + + aboutXHours: { + present: { + one: "približno {{count}} ura", + two: "približno {{count}} uri", + few: "približno {{count}} ure", + other: "približno {{count}} ur", + }, + past: { + one: "približno {{count}} uro", + two: "približno {{count}} urama", + few: "približno {{count}} urami", + other: "približno {{count}} urami", + }, + future: { + one: "približno {{count}} uro", + two: "približno {{count}} uri", + few: "približno {{count}} ure", + other: "približno {{count}} ur", + }, + }, + + xHours: { + present: { + one: "{{count}} ura", + two: "{{count}} uri", + few: "{{count}} ure", + other: "{{count}} ur", + }, + past: { + one: "{{count}} uro", + two: "{{count}} urama", + few: "{{count}} urami", + other: "{{count}} urami", + }, + future: { + one: "{{count}} uro", + two: "{{count}} uri", + few: "{{count}} ure", + other: "{{count}} ur", + }, + }, + + xDays: { + present: { + one: "{{count}} dan", + two: "{{count}} dni", + few: "{{count}} dni", + other: "{{count}} dni", + }, + past: { + one: "{{count}} dnem", + two: "{{count}} dnevoma", + few: "{{count}} dnevi", + other: "{{count}} dnevi", + }, + future: { + one: "{{count}} dan", + two: "{{count}} dni", + few: "{{count}} dni", + other: "{{count}} dni", + }, + }, + + // no tenses for weeks? + aboutXWeeks: { + one: "približno {{count}} teden", + two: "približno {{count}} tedna", + few: "približno {{count}} tedne", + other: "približno {{count}} tednov", + }, + + // no tenses for weeks? + xWeeks: { + one: "{{count}} teden", + two: "{{count}} tedna", + few: "{{count}} tedne", + other: "{{count}} tednov", + }, + + aboutXMonths: { + present: { + one: "približno {{count}} mesec", + two: "približno {{count}} meseca", + few: "približno {{count}} mesece", + other: "približno {{count}} mesecev", + }, + past: { + one: "približno {{count}} mesecem", + two: "približno {{count}} mesecema", + few: "približno {{count}} meseci", + other: "približno {{count}} meseci", + }, + future: { + one: "približno {{count}} mesec", + two: "približno {{count}} meseca", + few: "približno {{count}} mesece", + other: "približno {{count}} mesecev", + }, + }, + + xMonths: { + present: { + one: "{{count}} mesec", + two: "{{count}} meseca", + few: "{{count}} meseci", + other: "{{count}} mesecev", + }, + past: { + one: "{{count}} mesecem", + two: "{{count}} mesecema", + few: "{{count}} meseci", + other: "{{count}} meseci", + }, + future: { + one: "{{count}} mesec", + two: "{{count}} meseca", + few: "{{count}} mesece", + other: "{{count}} mesecev", + }, + }, + + aboutXYears: { + present: { + one: "približno {{count}} leto", + two: "približno {{count}} leti", + few: "približno {{count}} leta", + other: "približno {{count}} let", + }, + past: { + one: "približno {{count}} letom", + two: "približno {{count}} letoma", + few: "približno {{count}} leti", + other: "približno {{count}} leti", + }, + future: { + one: "približno {{count}} leto", + two: "približno {{count}} leti", + few: "približno {{count}} leta", + other: "približno {{count}} let", + }, + }, + + xYears: { + present: { + one: "{{count}} leto", + two: "{{count}} leti", + few: "{{count}} leta", + other: "{{count}} let", + }, + past: { + one: "{{count}} letom", + two: "{{count}} letoma", + few: "{{count}} leti", + other: "{{count}} leti", + }, + future: { + one: "{{count}} leto", + two: "{{count}} leti", + few: "{{count}} leta", + other: "{{count}} let", + }, + }, + + overXYears: { + present: { + one: "več kot {{count}} leto", + two: "več kot {{count}} leti", + few: "več kot {{count}} leta", + other: "več kot {{count}} let", + }, + past: { + one: "več kot {{count}} letom", + two: "več kot {{count}} letoma", + few: "več kot {{count}} leti", + other: "več kot {{count}} leti", + }, + future: { + one: "več kot {{count}} leto", + two: "več kot {{count}} leti", + few: "več kot {{count}} leta", + other: "več kot {{count}} let", + }, + }, + + almostXYears: { + present: { + one: "skoraj {{count}} leto", + two: "skoraj {{count}} leti", + few: "skoraj {{count}} leta", + other: "skoraj {{count}} let", + }, + past: { + one: "skoraj {{count}} letom", + two: "skoraj {{count}} letoma", + few: "skoraj {{count}} leti", + other: "skoraj {{count}} leti", + }, + future: { + one: "skoraj {{count}} leto", + two: "skoraj {{count}} leti", + few: "skoraj {{count}} leta", + other: "skoraj {{count}} let", + }, + }, +}; + +function getFormFromCount(count) { + switch (count % 100) { + case 1: + return "one"; + case 2: + return "two"; + case 3: + case 4: + return "few"; + default: + return "other"; + } +} + +export const formatDistance = (token, count, options) => { + let result = ""; + let tense = "present"; + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + tense = "future"; + result = "čez "; + } else { + tense = "past"; + result = "pred "; + } + } + + const tokenValue = formatDistanceLocale[token]; + + if (typeof tokenValue === "string") { + result += tokenValue; + } else { + const form = getFormFromCount(count); + if (isPluralType(tokenValue)) { + result += tokenValue[form].replace("{{count}}", String(count)); + } else { + result += tokenValue[tense][form].replace("{{count}}", String(count)); + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/sl/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sl/_lib/formatLong.js new file mode 100644 index 00000000..69c81392 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, dd. MMMM y", + long: "dd. MMMM y", + medium: "d. MMM y", + short: "d. MM. yy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sl/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sl/_lib/formatRelative.js new file mode 100644 index 00000000..fde7a6cf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl/_lib/formatRelative.js @@ -0,0 +1,44 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + const day = date.getDay(); + + switch (day) { + case 0: + return "'prejšnjo nedeljo ob' p"; + case 3: + return "'prejšnjo sredo ob' p"; + case 6: + return "'prejšnjo soboto ob' p"; + default: + return "'prejšnji' EEEE 'ob' p"; + } + }, + yesterday: "'včeraj ob' p", + today: "'danes ob' p", + tomorrow: "'jutri ob' p", + nextWeek: (date) => { + const day = date.getDay(); + + switch (day) { + case 0: + return "'naslednjo nedeljo ob' p"; + case 3: + return "'naslednjo sredo ob' p"; + case 6: + return "'naslednjo soboto ob' p"; + default: + return "'naslednji' EEEE 'ob' p"; + } + }, + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/sl/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sl/_lib/localize.js new file mode 100644 index 00000000..2fdbf166 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl/_lib/localize.js @@ -0,0 +1,165 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["pr. n. št.", "po n. št."], + abbreviated: ["pr. n. št.", "po n. št."], + wide: ["pred našim štetjem", "po našem štetju"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1. čet.", "2. čet.", "3. čet.", "4. čet."], + wide: ["1. četrtletje", "2. četrtletje", "3. četrtletje", "4. četrtletje"], +}; + +const monthValues = { + narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], + abbreviated: [ + "jan.", + "feb.", + "mar.", + "apr.", + "maj", + "jun.", + "jul.", + "avg.", + "sep.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "januar", + "februar", + "marec", + "april", + "maj", + "junij", + "julij", + "avgust", + "september", + "oktober", + "november", + "december", + ], +}; + +const dayValues = { + narrow: ["n", "p", "t", "s", "č", "p", "s"], + short: ["ned.", "pon.", "tor.", "sre.", "čet.", "pet.", "sob."], + abbreviated: ["ned.", "pon.", "tor.", "sre.", "čet.", "pet.", "sob."], + + wide: [ + "nedelja", + "ponedeljek", + "torek", + "sreda", + "četrtek", + "petek", + "sobota", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "d", + pm: "p", + midnight: "24.00", + noon: "12.00", + morning: "j", + afternoon: "p", + evening: "v", + night: "n", + }, + abbreviated: { + am: "dop.", + pm: "pop.", + midnight: "poln.", + noon: "pold.", + morning: "jut.", + afternoon: "pop.", + evening: "več.", + night: "noč", + }, + wide: { + am: "dop.", + pm: "pop.", + midnight: "polnoč", + noon: "poldne", + morning: "jutro", + afternoon: "popoldne", + evening: "večer", + night: "noč", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "d", + pm: "p", + midnight: "24.00", + noon: "12.00", + morning: "zj", + afternoon: "p", + evening: "zv", + night: "po", + }, + abbreviated: { + am: "dop.", + pm: "pop.", + midnight: "opoln.", + noon: "opold.", + morning: "zjut.", + afternoon: "pop.", + evening: "zveč.", + night: "ponoči", + }, + wide: { + am: "dop.", + pm: "pop.", + midnight: "opolnoči", + noon: "opoldne", + morning: "zjutraj", + afternoon: "popoldan", + evening: "zvečer", + night: "ponoči", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sl/_lib/match.js b/.output/server/node_modules/date-fns/locale/sl/_lib/match.js new file mode 100644 index 00000000..b3d167af --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sl/_lib/match.js @@ -0,0 +1,157 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + abbreviated: /^(pr\. n\. št\.|po n\. št\.)/i, + wide: /^(pred Kristusom|pred na[sš]im [sš]tetjem|po Kristusu|po na[sš]em [sš]tetju|na[sš]ega [sš]tetja)/i, +}; +const parseEraPatterns = { + any: [/^pr/i, /^(po|na[sš]em)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\.\s?[čc]et\.?/i, + wide: /^[1234]\. [čc]etrtletje/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(jan\.|feb\.|mar\.|apr\.|maj|jun\.|jul\.|avg\.|sep\.|okt\.|nov\.|dec\.)/i, + wide: /^(januar|februar|marec|april|maj|junij|julij|avgust|september|oktober|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + abbreviated: [ + /^ja/i, + /^fe/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^av/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + wide: [ + /^ja/i, + /^fe/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^av/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[nptsčc]/i, + short: /^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i, + abbreviated: /^(ned\.|pon\.|tor\.|sre\.|[cč]et\.|pet\.|sob\.)/i, + wide: /^(nedelja|ponedeljek|torek|sreda|[cč]etrtek|petek|sobota)/i, +}; +const parseDayPatterns = { + narrow: [/^n/i, /^p/i, /^t/i, /^s/i, /^[cč]/i, /^p/i, /^s/i], + any: [/^n/i, /^po/i, /^t/i, /^sr/i, /^[cč]/i, /^pe/i, /^so/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(d|po?|z?v|n|z?j|24\.00|12\.00)/i, + any: /^(dop\.|pop\.|o?poln(\.|o[cč]i?)|o?pold(\.|ne)|z?ve[cč](\.|er)|(po)?no[cč]i?|popold(ne|an)|jut(\.|ro)|zjut(\.|raj))/i, +}; +const parseDayPeriodPatterns = { + narrow: { + am: /^d/i, + pm: /^p/i, + midnight: /^24/i, + noon: /^12/i, + morning: /^(z?j)/i, + afternoon: /^p/i, + evening: /^(z?v)/i, + night: /^(n|po)/i, + }, + any: { + am: /^dop\./i, + pm: /^pop\./i, + midnight: /^o?poln/i, + noon: /^o?pold/i, + morning: /j/i, + afternoon: /^pop\./i, + evening: /^z?ve/i, + night: /(po)?no/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "wide", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sq.js b/.output/server/node_modules/date-fns/locale/sq.js new file mode 100644 index 00000000..ad6fc0fc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./sq/_lib/formatDistance.js"; +import { formatLong } from "./sq/_lib/formatLong.js"; +import { formatRelative } from "./sq/_lib/formatRelative.js"; +import { localize } from "./sq/_lib/localize.js"; +import { match } from "./sq/_lib/match.js"; + +/** + * @category Locales + * @summary Albanian locale. + * @language Shqip + * @iso-639-2 sqi + * @author Ardit Dine [@arditdine](https://github.com/arditdine) + */ +export const sq = { + code: "sq", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default sq; diff --git a/.output/server/node_modules/date-fns/locale/sq/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sq/_lib/formatDistance.js new file mode 100644 index 00000000..190c7dff --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "më pak se një sekondë", + other: "më pak se {{count}} sekonda", + }, + + xSeconds: { + one: "1 sekondë", + other: "{{count}} sekonda", + }, + + halfAMinute: "gjysëm minuti", + + lessThanXMinutes: { + one: "më pak se një minute", + other: "më pak se {{count}} minuta", + }, + + xMinutes: { + one: "1 minutë", + other: "{{count}} minuta", + }, + + aboutXHours: { + one: "rreth 1 orë", + other: "rreth {{count}} orë", + }, + + xHours: { + one: "1 orë", + other: "{{count}} orë", + }, + + xDays: { + one: "1 ditë", + other: "{{count}} ditë", + }, + + aboutXWeeks: { + one: "rreth 1 javë", + other: "rreth {{count}} javë", + }, + + xWeeks: { + one: "1 javë", + other: "{{count}} javë", + }, + + aboutXMonths: { + one: "rreth 1 muaj", + other: "rreth {{count}} muaj", + }, + + xMonths: { + one: "1 muaj", + other: "{{count}} muaj", + }, + + aboutXYears: { + one: "rreth 1 vit", + other: "rreth {{count}} vite", + }, + + xYears: { + one: "1 vit", + other: "{{count}} vite", + }, + + overXYears: { + one: "mbi 1 vit", + other: "mbi {{count}} vite", + }, + + almostXYears: { + one: "pothuajse 1 vit", + other: "pothuajse {{count}} vite", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "në " + result; + } else { + return result + " më parë"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/sq/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sq/_lib/formatLong.js new file mode 100644 index 00000000..9e914553 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'në' {{time}}", + long: "{{date}} 'në' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sq/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sq/_lib/formatRelative.js new file mode 100644 index 00000000..7d6a7483 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'të' eeee 'e shkuar në' p", + yesterday: "'dje në' p", + today: "'sot në' p", + tomorrow: "'nesër në' p", + nextWeek: "eeee 'at' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/sq/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sq/_lib/localize.js new file mode 100644 index 00000000..7b232593 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq/_lib/localize.js @@ -0,0 +1,166 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["P", "M"], + abbreviated: ["PK", "MK"], + wide: ["Para Krishtit", "Mbas Krishtit"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["4-mujori I", "4-mujori II", "4-mujori III", "4-mujori IV"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["J", "S", "M", "P", "M", "Q", "K", "G", "S", "T", "N", "D"], + abbreviated: [ + "Jan", + "Shk", + "Mar", + "Pri", + "Maj", + "Qer", + "Kor", + "Gus", + "Sht", + "Tet", + "Nën", + "Dhj", + ], + + wide: [ + "Janar", + "Shkurt", + "Mars", + "Prill", + "Maj", + "Qershor", + "Korrik", + "Gusht", + "Shtator", + "Tetor", + "Nëntor", + "Dhjetor", + ], +}; + +const dayValues = { + narrow: ["D", "H", "M", "M", "E", "P", "S"], + short: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sh"], + abbreviated: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"], + wide: ["Dielë", "Hënë", "Martë", "Mërkurë", "Enjte", "Premte", "Shtunë"], +}; + +const dayPeriodValues = { + narrow: { + am: "p", + pm: "m", + midnight: "m", + noon: "d", + morning: "mëngjes", + afternoon: "dite", + evening: "mbrëmje", + night: "natë", + }, + abbreviated: { + am: "PD", + pm: "MD", + midnight: "mesnëtë", + noon: "drek", + morning: "mëngjes", + afternoon: "mbasdite", + evening: "mbrëmje", + night: "natë", + }, + wide: { + am: "p.d.", + pm: "m.d.", + midnight: "mesnëtë", + noon: "drek", + morning: "mëngjes", + afternoon: "mbasdite", + evening: "mbrëmje", + night: "natë", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "p", + pm: "m", + midnight: "m", + noon: "d", + morning: "në mëngjes", + afternoon: "në mbasdite", + evening: "në mbrëmje", + night: "në mesnatë", + }, + abbreviated: { + am: "PD", + pm: "MD", + midnight: "mesnatë", + noon: "drek", + morning: "në mëngjes", + afternoon: "në mbasdite", + evening: "në mbrëmje", + night: "në mesnatë", + }, + wide: { + am: "p.d.", + pm: "m.d.", + midnight: "mesnatë", + noon: "drek", + morning: "në mëngjes", + afternoon: "në mbasdite", + evening: "në mbrëmje", + night: "në mesnatë", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + if (options?.unit === "hour") return String(number); + + if (number === 1) return number + "-rë"; + if (number === 4) return number + "t"; + + return number + "-të"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sq/_lib/match.js b/.output/server/node_modules/date-fns/locale/sq/_lib/match.js new file mode 100644 index 00000000..f545eca0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sq/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-rë|-të|t|)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(p|m)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(para krishtit|mbas krishtit)/i, +}; +const parseEraPatterns = { + any: [/^b/i, /^(p|m)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234]-mujori (i{1,3}|iv)/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jsmpqkftnd]/i, + abbreviated: /^(jan|shk|mar|pri|maj|qer|kor|gus|sht|tet|nën|dhj)/i, + wide: /^(janar|shkurt|mars|prill|maj|qershor|korrik|gusht|shtator|tetor|nëntor|dhjetor)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^s/i, + /^m/i, + /^p/i, + /^m/i, + /^q/i, + /^k/i, + /^g/i, + /^s/i, + /^t/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^shk/i, + /^mar/i, + /^pri/i, + /^maj/i, + /^qer/i, + /^kor/i, + /^gu/i, + /^sht/i, + /^tet/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[dhmeps]/i, + short: /^(di|hë|ma|më|en|pr|sh)/i, + abbreviated: /^(die|hën|mar|mër|enj|pre|sht)/i, + wide: /^(dielë|hënë|martë|mërkurë|enjte|premte|shtunë)/i, +}; +const parseDayPatterns = { + narrow: [/^d/i, /^h/i, /^m/i, /^m/i, /^e/i, /^p/i, /^s/i], + any: [/^d/i, /^h/i, /^ma/i, /^më/i, /^e/i, /^p/i, /^s/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(p|m|me|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i, + any: /^([pm]\.?\s?d\.?|drek|në (mëngjes|mbasdite|mbrëmje|mesnatë))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^p/i, + pm: /^m/i, + midnight: /^me/i, + noon: /^dr/i, + morning: /mëngjes/i, + afternoon: /mbasdite/i, + evening: /mbrëmje/i, + night: /natë/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn.js b/.output/server/node_modules/date-fns/locale/sr-Latn.js new file mode 100644 index 00000000..b745e5a2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./sr-Latn/_lib/formatDistance.js"; +import { formatLong } from "./sr-Latn/_lib/formatLong.js"; +import { formatRelative } from "./sr-Latn/_lib/formatRelative.js"; +import { localize } from "./sr-Latn/_lib/localize.js"; +import { match } from "./sr-Latn/_lib/match.js"; + +/** + * @category Locales + * @summary Serbian latin locale. + * @language Serbian + * @iso-639-2 srp + * @author Igor Radivojević [@rogyvoje](https://github.com/rogyvoje) + */ +export const srLatn = { + code: "sr-Latn", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default srLatn; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatDistance.js new file mode 100644 index 00000000..63e3fd35 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatDistance.js @@ -0,0 +1,190 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + standalone: "manje od 1 sekunde", + withPrepositionAgo: "manje od 1 sekunde", + withPrepositionIn: "manje od 1 sekundu", + }, + dual: "manje od {{count}} sekunde", + other: "manje od {{count}} sekundi", + }, + + xSeconds: { + one: { + standalone: "1 sekunda", + withPrepositionAgo: "1 sekunde", + withPrepositionIn: "1 sekundu", + }, + dual: "{{count}} sekunde", + other: "{{count}} sekundi", + }, + + halfAMinute: "pola minute", + + lessThanXMinutes: { + one: { + standalone: "manje od 1 minute", + withPrepositionAgo: "manje od 1 minute", + withPrepositionIn: "manje od 1 minutu", + }, + dual: "manje od {{count}} minute", + other: "manje od {{count}} minuta", + }, + + xMinutes: { + one: { + standalone: "1 minuta", + withPrepositionAgo: "1 minute", + withPrepositionIn: "1 minutu", + }, + dual: "{{count}} minute", + other: "{{count}} minuta", + }, + + aboutXHours: { + one: { + standalone: "oko 1 sat", + withPrepositionAgo: "oko 1 sat", + withPrepositionIn: "oko 1 sat", + }, + dual: "oko {{count}} sata", + other: "oko {{count}} sati", + }, + + xHours: { + one: { + standalone: "1 sat", + withPrepositionAgo: "1 sat", + withPrepositionIn: "1 sat", + }, + dual: "{{count}} sata", + other: "{{count}} sati", + }, + + xDays: { + one: { + standalone: "1 dan", + withPrepositionAgo: "1 dan", + withPrepositionIn: "1 dan", + }, + dual: "{{count}} dana", + other: "{{count}} dana", + }, + + aboutXWeeks: { + one: { + standalone: "oko 1 nedelju", + withPrepositionAgo: "oko 1 nedelju", + withPrepositionIn: "oko 1 nedelju", + }, + dual: "oko {{count}} nedelje", + other: "oko {{count}} nedelje", + }, + + xWeeks: { + one: { + standalone: "1 nedelju", + withPrepositionAgo: "1 nedelju", + withPrepositionIn: "1 nedelju", + }, + dual: "{{count}} nedelje", + other: "{{count}} nedelje", + }, + + aboutXMonths: { + one: { + standalone: "oko 1 mesec", + withPrepositionAgo: "oko 1 mesec", + withPrepositionIn: "oko 1 mesec", + }, + dual: "oko {{count}} meseca", + other: "oko {{count}} meseci", + }, + + xMonths: { + one: { + standalone: "1 mesec", + withPrepositionAgo: "1 mesec", + withPrepositionIn: "1 mesec", + }, + dual: "{{count}} meseca", + other: "{{count}} meseci", + }, + + aboutXYears: { + one: { + standalone: "oko 1 godinu", + withPrepositionAgo: "oko 1 godinu", + withPrepositionIn: "oko 1 godinu", + }, + dual: "oko {{count}} godine", + other: "oko {{count}} godina", + }, + + xYears: { + one: { + standalone: "1 godina", + withPrepositionAgo: "1 godine", + withPrepositionIn: "1 godinu", + }, + dual: "{{count}} godine", + other: "{{count}} godina", + }, + + overXYears: { + one: { + standalone: "preko 1 godinu", + withPrepositionAgo: "preko 1 godinu", + withPrepositionIn: "preko 1 godinu", + }, + dual: "preko {{count}} godine", + other: "preko {{count}} godina", + }, + + almostXYears: { + one: { + standalone: "gotovo 1 godinu", + withPrepositionAgo: "gotovo 1 godinu", + withPrepositionIn: "gotovo 1 godinu", + }, + dual: "gotovo {{count}} godine", + other: "gotovo {{count}} godina", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + result = tokenValue.one.withPrepositionIn; + } else { + result = tokenValue.one.withPrepositionAgo; + } + } else { + result = tokenValue.one.standalone; + } + } else if ( + count % 10 > 1 && + count % 10 < 5 && // if last digit is between 2 and 4 + String(count).substr(-2, 1) !== "1" // unless the 2nd to last digit is "1" + ) { + result = tokenValue.dual.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "za " + result; + } else { + return "pre " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatLong.js new file mode 100644 index 00000000..3e29d658 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM yyyy.", + long: "d. MMMM yyyy.", + medium: "d. MMM yy.", + short: "dd. MM. yy.", +}; + +const timeFormats = { + full: "HH:mm:ss (zzzz)", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'u' {{time}}", + long: "{{date}} 'u' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatRelative.js new file mode 100644 index 00000000..d5892e68 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/formatRelative.js @@ -0,0 +1,40 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'prošle nedelje u' p"; + case 3: + return "'prošle srede u' p"; + case 6: + return "'prošle subote u' p"; + default: + return "'prošli' EEEE 'u' p"; + } + }, + yesterday: "'juče u' p", + today: "'danas u' p", + tomorrow: "'sutra u' p", + nextWeek: (date) => { + switch (date.getDay()) { + case 0: + return "'sledeće nedelje u' p"; + case 3: + return "'sledeću sredu u' p"; + case 6: + return "'sledeću subotu u' p"; + default: + return "'sledeći' EEEE 'u' p"; + } + }, + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/localize.js new file mode 100644 index 00000000..ab222cee --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/localize.js @@ -0,0 +1,227 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["pr.n.e.", "AD"], + abbreviated: ["pr. Hr.", "po. Hr."], + wide: ["Pre Hrista", "Posle Hrista"], +}; + +const quarterValues = { + narrow: ["1.", "2.", "3.", "4."], + abbreviated: ["1. kv.", "2. kv.", "3. kv.", "4. kv."], + wide: ["1. kvartal", "2. kvartal", "3. kvartal", "4. kvartal"], +}; + +const monthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "maj", + "jun", + "jul", + "avg", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januar", + "februar", + "mart", + "april", + "maj", + "jun", + "jul", + "avgust", + "septembar", + "oktobar", + "novembar", + "decembar", + ], +}; + +const formattingMonthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "jan", + "feb", + "mar", + "apr", + "maj", + "jun", + "jul", + "avg", + "sep", + "okt", + "nov", + "dec", + ], + + wide: [ + "januar", + "februar", + "mart", + "april", + "maj", + "jun", + "jul", + "avgust", + "septembar", + "oktobar", + "novembar", + "decembar", + ], +}; + +const dayValues = { + narrow: ["N", "P", "U", "S", "Č", "P", "S"], + short: ["ned", "pon", "uto", "sre", "čet", "pet", "sub"], + abbreviated: ["ned", "pon", "uto", "sre", "čet", "pet", "sub"], + wide: [ + "nedelja", + "ponedeljak", + "utorak", + "sreda", + "četvrtak", + "petak", + "subota", + ], +}; + +const formattingDayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "posle podne", + evening: "uveče", + night: "noću", + }, +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "popodne", + evening: "uveče", + night: "noću", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "ponoć", + noon: "podne", + morning: "ujutru", + afternoon: "posle podne", + evening: "uveče", + night: "noću", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/match.js b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/match.js new file mode 100644 index 00000000..3249e010 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr-Latn/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(pr\.n\.e\.|AD)/i, + abbreviated: /^(pr\.\s?Hr\.|po\.\s?Hr\.)/i, + wide: /^(Pre Hrista|pre nove ere|Posle Hrista|nova era)/i, +}; +const parseEraPatterns = { + any: [/^pr/i, /^(po|nova)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\.\s?kv\.?/i, + wide: /^[1234]\. kvartal/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(10|11|12|[123456789])\./i, + abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i, + wide: /^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(jun|juna)|(jul|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^1/i, + /^2/i, + /^3/i, + /^4/i, + /^5/i, + /^6/i, + /^7/i, + /^8/i, + /^9/i, + /^10/i, + /^11/i, + /^12/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^avg/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[npusčc]/i, + short: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i, + abbreviated: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i, + wide: /^(nedelja|ponedeljak|utorak|sreda|(četvrtak|cetvrtak)|petak|subota)/i, +}; +const parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], +}; + +const matchDayPeriodPatterns = { + any: /^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|posle podne|ujutru)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^pono/i, + noon: /^pod/i, + morning: /jutro/i, + afternoon: /(posle\s|po)+podne/i, + evening: /(uvece|uveče)/i, + night: /(nocu|noću)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr.js b/.output/server/node_modules/date-fns/locale/sr.js new file mode 100644 index 00000000..672cdb85 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./sr/_lib/formatDistance.js"; +import { formatLong } from "./sr/_lib/formatLong.js"; +import { formatRelative } from "./sr/_lib/formatRelative.js"; +import { localize } from "./sr/_lib/localize.js"; +import { match } from "./sr/_lib/match.js"; + +/** + * @category Locales + * @summary Serbian cyrillic locale. + * @language Serbian + * @iso-639-2 srp + * @author Igor Radivojević [@rogyvoje](https://github.com/rogyvoje) + */ +export const sr = { + code: "sr", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default sr; diff --git a/.output/server/node_modules/date-fns/locale/sr/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sr/_lib/formatDistance.js new file mode 100644 index 00000000..766eb08f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr/_lib/formatDistance.js @@ -0,0 +1,190 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + standalone: "мање од 1 секунде", + withPrepositionAgo: "мање од 1 секунде", + withPrepositionIn: "мање од 1 секунду", + }, + dual: "мање од {{count}} секунде", + other: "мање од {{count}} секунди", + }, + + xSeconds: { + one: { + standalone: "1 секунда", + withPrepositionAgo: "1 секунде", + withPrepositionIn: "1 секунду", + }, + dual: "{{count}} секунде", + other: "{{count}} секунди", + }, + + halfAMinute: "пола минуте", + + lessThanXMinutes: { + one: { + standalone: "мање од 1 минуте", + withPrepositionAgo: "мање од 1 минуте", + withPrepositionIn: "мање од 1 минуту", + }, + dual: "мање од {{count}} минуте", + other: "мање од {{count}} минута", + }, + + xMinutes: { + one: { + standalone: "1 минута", + withPrepositionAgo: "1 минуте", + withPrepositionIn: "1 минуту", + }, + dual: "{{count}} минуте", + other: "{{count}} минута", + }, + + aboutXHours: { + one: { + standalone: "око 1 сат", + withPrepositionAgo: "око 1 сат", + withPrepositionIn: "око 1 сат", + }, + dual: "око {{count}} сата", + other: "око {{count}} сати", + }, + + xHours: { + one: { + standalone: "1 сат", + withPrepositionAgo: "1 сат", + withPrepositionIn: "1 сат", + }, + dual: "{{count}} сата", + other: "{{count}} сати", + }, + + xDays: { + one: { + standalone: "1 дан", + withPrepositionAgo: "1 дан", + withPrepositionIn: "1 дан", + }, + dual: "{{count}} дана", + other: "{{count}} дана", + }, + + aboutXWeeks: { + one: { + standalone: "око 1 недељу", + withPrepositionAgo: "око 1 недељу", + withPrepositionIn: "око 1 недељу", + }, + dual: "око {{count}} недеље", + other: "око {{count}} недеље", + }, + + xWeeks: { + one: { + standalone: "1 недељу", + withPrepositionAgo: "1 недељу", + withPrepositionIn: "1 недељу", + }, + dual: "{{count}} недеље", + other: "{{count}} недеље", + }, + + aboutXMonths: { + one: { + standalone: "око 1 месец", + withPrepositionAgo: "око 1 месец", + withPrepositionIn: "око 1 месец", + }, + dual: "око {{count}} месеца", + other: "око {{count}} месеци", + }, + + xMonths: { + one: { + standalone: "1 месец", + withPrepositionAgo: "1 месец", + withPrepositionIn: "1 месец", + }, + dual: "{{count}} месеца", + other: "{{count}} месеци", + }, + + aboutXYears: { + one: { + standalone: "око 1 годину", + withPrepositionAgo: "око 1 годину", + withPrepositionIn: "око 1 годину", + }, + dual: "око {{count}} године", + other: "око {{count}} година", + }, + + xYears: { + one: { + standalone: "1 година", + withPrepositionAgo: "1 године", + withPrepositionIn: "1 годину", + }, + dual: "{{count}} године", + other: "{{count}} година", + }, + + overXYears: { + one: { + standalone: "преко 1 годину", + withPrepositionAgo: "преко 1 годину", + withPrepositionIn: "преко 1 годину", + }, + dual: "преко {{count}} године", + other: "преко {{count}} година", + }, + + almostXYears: { + one: { + standalone: "готово 1 годину", + withPrepositionAgo: "готово 1 годину", + withPrepositionIn: "готово 1 годину", + }, + dual: "готово {{count}} године", + other: "готово {{count}} година", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + result = tokenValue.one.withPrepositionIn; + } else { + result = tokenValue.one.withPrepositionAgo; + } + } else { + result = tokenValue.one.standalone; + } + } else if ( + count % 10 > 1 && + count % 10 < 5 && // if last digit is between 2 and 4 + String(count).substr(-2, 1) !== "1" // unless the 2nd to last digit is "1" + ) { + result = tokenValue.dual.replace("{{count}}", String(count)); + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "за " + result; + } else { + return "пре " + result; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/sr/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sr/_lib/formatLong.js new file mode 100644 index 00000000..09d808d3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, d. MMMM yyyy.", + long: "d. MMMM yyyy.", + medium: "d. MMM yy.", + short: "dd. MM. yy.", +}; + +const timeFormats = { + full: "HH:mm:ss (zzzz)", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'у' {{time}}", + long: "{{date}} 'у' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sr/_lib/formatRelative.js new file mode 100644 index 00000000..8c21ead6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr/_lib/formatRelative.js @@ -0,0 +1,44 @@ +const formatRelativeLocale = { + lastWeek: (date) => { + const day = date.getDay(); + + switch (day) { + case 0: + return "'прошле недеље у' p"; + case 3: + return "'прошле среде у' p"; + case 6: + return "'прошле суботе у' p"; + default: + return "'прошли' EEEE 'у' p"; + } + }, + yesterday: "'јуче у' p", + today: "'данас у' p", + tomorrow: "'сутра у' p", + nextWeek: (date) => { + const day = date.getDay(); + + switch (day) { + case 0: + return "'следеће недеље у' p"; + case 3: + return "'следећу среду у' p"; + case 6: + return "'следећу суботу у' p"; + default: + return "'следећи' EEEE 'у' p"; + } + }, + other: "P", +}; + +export const formatRelative = (token, date, _baseDate, _options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/sr/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sr/_lib/localize.js new file mode 100644 index 00000000..559e0bb8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr/_lib/localize.js @@ -0,0 +1,227 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["пр.н.е.", "АД"], + abbreviated: ["пр. Хр.", "по. Хр."], + wide: ["Пре Христа", "После Христа"], +}; + +const quarterValues = { + narrow: ["1.", "2.", "3.", "4."], + abbreviated: ["1. кв.", "2. кв.", "3. кв.", "4. кв."], + wide: ["1. квартал", "2. квартал", "3. квартал", "4. квартал"], +}; + +const monthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "јан", + "феб", + "мар", + "апр", + "мај", + "јун", + "јул", + "авг", + "сеп", + "окт", + "нов", + "дец", + ], + + wide: [ + "јануар", + "фебруар", + "март", + "април", + "мај", + "јун", + "јул", + "август", + "септембар", + "октобар", + "новембар", + "децембар", + ], +}; + +const formattingMonthValues = { + narrow: [ + "1.", + "2.", + "3.", + "4.", + "5.", + "6.", + "7.", + "8.", + "9.", + "10.", + "11.", + "12.", + ], + + abbreviated: [ + "јан", + "феб", + "мар", + "апр", + "мај", + "јун", + "јул", + "авг", + "сеп", + "окт", + "нов", + "дец", + ], + + wide: [ + "јануар", + "фебруар", + "март", + "април", + "мај", + "јун", + "јул", + "август", + "септембар", + "октобар", + "новембар", + "децембар", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "У", "С", "Ч", "П", "С"], + short: ["нед", "пон", "уто", "сре", "чет", "пет", "суб"], + abbreviated: ["нед", "пон", "уто", "сре", "чет", "пет", "суб"], + wide: [ + "недеља", + "понедељак", + "уторак", + "среда", + "четвртак", + "петак", + "субота", + ], +}; + +const formattingDayPeriodValues = { + narrow: { + am: "АМ", + pm: "ПМ", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "поподне", + evening: "увече", + night: "ноћу", + }, + abbreviated: { + am: "АМ", + pm: "ПМ", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "поподне", + evening: "увече", + night: "ноћу", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "после подне", + evening: "увече", + night: "ноћу", + }, +}; + +const dayPeriodValues = { + narrow: { + am: "AM", + pm: "PM", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "поподне", + evening: "увече", + night: "ноћу", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "поподне", + evening: "увече", + night: "ноћу", + }, + wide: { + am: "AM", + pm: "PM", + midnight: "поноћ", + noon: "подне", + morning: "ујутру", + afternoon: "после подне", + evening: "увече", + night: "ноћу", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sr/_lib/match.js b/.output/server/node_modules/date-fns/locale/sr/_lib/match.js new file mode 100644 index 00000000..74a19fc7 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sr/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)\./i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(пр\.н\.е\.|АД)/i, + abbreviated: /^(пр\.\s?Хр\.|по\.\s?Хр\.)/i, + wide: /^(Пре Христа|пре нове ере|После Христа|нова ера)/i, +}; +const parseEraPatterns = { + any: [/^пр/i, /^(по|нова)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]\.\s?кв\.?/i, + wide: /^[1234]\. квартал/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(10|11|12|[123456789])\./i, + abbreviated: /^(јан|феб|мар|апр|мај|јун|јул|авг|сеп|окт|нов|дец)/i, + wide: /^((јануар|јануара)|(фебруар|фебруара)|(март|марта)|(април|априла)|(мја|маја)|(јун|јуна)|(јул|јула)|(август|августа)|(септембар|септембра)|(октобар|октобра)|(новембар|новембра)|(децембар|децембра))/i, +}; +const parseMonthPatterns = { + narrow: [ + /^1/i, + /^2/i, + /^3/i, + /^4/i, + /^5/i, + /^6/i, + /^7/i, + /^8/i, + /^9/i, + /^10/i, + /^11/i, + /^12/i, + ], + + any: [ + /^ја/i, + /^ф/i, + /^мар/i, + /^ап/i, + /^мај/i, + /^јун/i, + /^јул/i, + /^авг/i, + /^с/i, + /^о/i, + /^н/i, + /^д/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[пусчн]/i, + short: /^(нед|пон|уто|сре|чет|пет|суб)/i, + abbreviated: /^(нед|пон|уто|сре|чет|пет|суб)/i, + wide: /^(недеља|понедељак|уторак|среда|четвртак|петак|субота)/i, +}; +const parseDayPatterns = { + narrow: [/^п/i, /^у/i, /^с/i, /^ч/i, /^п/i, /^с/i, /^н/i], + any: [/^нед/i, /^пон/i, /^уто/i, /^сре/i, /^чет/i, /^пет/i, /^суб/i], +}; + +const matchDayPeriodPatterns = { + any: /^(ам|пм|поноћ|(по)?подне|увече|ноћу|после подне|ујутру)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^поно/i, + noon: /^под/i, + morning: /ујутру/i, + afternoon: /(после\s|по)+подне/i, + evening: /(увече)/i, + night: /(ноћу)/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sv.js b/.output/server/node_modules/date-fns/locale/sv.js new file mode 100644 index 00000000..fecd17ed --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./sv/_lib/formatDistance.js"; +import { formatLong } from "./sv/_lib/formatLong.js"; +import { formatRelative } from "./sv/_lib/formatRelative.js"; +import { localize } from "./sv/_lib/localize.js"; +import { match } from "./sv/_lib/match.js"; + +/** + * @category Locales + * @summary Swedish locale. + * @language Swedish + * @iso-639-2 swe + * @author Johannes Ulén [@ejulen](https://github.com/ejulen) + * @author Alexander Nanberg [@alexandernanberg](https://github.com/alexandernanberg) + * @author Henrik Andersson [@limelights](https://github.com/limelights) + */ +export const sv = { + code: "sv", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default sv; diff --git a/.output/server/node_modules/date-fns/locale/sv/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/sv/_lib/formatDistance.js new file mode 100644 index 00000000..0633dcea --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv/_lib/formatDistance.js @@ -0,0 +1,120 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "mindre än en sekund", + other: "mindre än {{count}} sekunder", + }, + + xSeconds: { + one: "en sekund", + other: "{{count}} sekunder", + }, + + halfAMinute: "en halv minut", + + lessThanXMinutes: { + one: "mindre än en minut", + other: "mindre än {{count}} minuter", + }, + + xMinutes: { + one: "en minut", + other: "{{count}} minuter", + }, + + aboutXHours: { + one: "ungefär en timme", + other: "ungefär {{count}} timmar", + }, + + xHours: { + one: "en timme", + other: "{{count}} timmar", + }, + + xDays: { + one: "en dag", + other: "{{count}} dagar", + }, + + aboutXWeeks: { + one: "ungefär en vecka", + other: "ungefär {{count}} veckor", + }, + + xWeeks: { + one: "en vecka", + other: "{{count}} veckor", + }, + + aboutXMonths: { + one: "ungefär en månad", + other: "ungefär {{count}} månader", + }, + + xMonths: { + one: "en månad", + other: "{{count}} månader", + }, + + aboutXYears: { + one: "ungefär ett år", + other: "ungefär {{count}} år", + }, + + xYears: { + one: "ett år", + other: "{{count}} år", + }, + + overXYears: { + one: "över ett år", + other: "över {{count}} år", + }, + + almostXYears: { + one: "nästan ett år", + other: "nästan {{count}} år", + }, +}; + +const wordMapping = [ + "noll", + "en", + "två", + "tre", + "fyra", + "fem", + "sex", + "sju", + "åtta", + "nio", + "tio", + "elva", + "tolv", +]; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace( + "{{count}}", + count < 13 ? wordMapping[count] : String(count), + ); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "om " + result; + } else { + return result + " sedan"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/sv/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/sv/_lib/formatLong.js new file mode 100644 index 00000000..710a66fa --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE d MMMM y", + long: "d MMMM y", + medium: "d MMM y", + short: "y-MM-dd", +}; + +const timeFormats = { + full: "'kl'. HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'kl.' {{time}}", + long: "{{date}} 'kl.' {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sv/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/sv/_lib/formatRelative.js new file mode 100644 index 00000000..2a04693c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'i' EEEE's kl.' p", + yesterday: "'igår kl.' p", + today: "'idag kl.' p", + tomorrow: "'imorgon kl.' p", + nextWeek: "EEEE 'kl.' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/sv/_lib/localize.js b/.output/server/node_modules/date-fns/locale/sv/_lib/localize.js new file mode 100644 index 00000000..2755f356 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv/_lib/localize.js @@ -0,0 +1,166 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["f.Kr.", "e.Kr."], + abbreviated: ["f.Kr.", "e.Kr."], + wide: ["före Kristus", "efter Kristus"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1:a kvartalet", "2:a kvartalet", "3:e kvartalet", "4:e kvartalet"], +}; + +const monthValues = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: [ + "jan.", + "feb.", + "mars", + "apr.", + "maj", + "juni", + "juli", + "aug.", + "sep.", + "okt.", + "nov.", + "dec.", + ], + + wide: [ + "januari", + "februari", + "mars", + "april", + "maj", + "juni", + "juli", + "augusti", + "september", + "oktober", + "november", + "december", + ], +}; + +const dayValues = { + narrow: ["S", "M", "T", "O", "T", "F", "L"], + short: ["sö", "må", "ti", "on", "to", "fr", "lö"], + abbreviated: ["sön", "mån", "tis", "ons", "tors", "fre", "lör"], + wide: ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"], +}; + +// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888 +const dayPeriodValues = { + narrow: { + am: "fm", + pm: "em", + midnight: "midnatt", + noon: "middag", + morning: "morg.", + afternoon: "efterm.", + evening: "kväll", + night: "natt", + }, + abbreviated: { + am: "f.m.", + pm: "e.m.", + midnight: "midnatt", + noon: "middag", + morning: "morgon", + afternoon: "efterm.", + evening: "kväll", + night: "natt", + }, + wide: { + am: "förmiddag", + pm: "eftermiddag", + midnight: "midnatt", + noon: "middag", + morning: "morgon", + afternoon: "eftermiddag", + evening: "kväll", + night: "natt", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "fm", + pm: "em", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på efterm.", + evening: "på kvällen", + night: "på natten", + }, + abbreviated: { + am: "fm", + pm: "em", + midnight: "midnatt", + noon: "middag", + morning: "på morg.", + afternoon: "på efterm.", + evening: "på kvällen", + night: "på natten", + }, + wide: { + am: "fm", + pm: "em", + midnight: "midnatt", + noon: "middag", + morning: "på morgonen", + afternoon: "på eftermiddagen", + evening: "på kvällen", + night: "på natten", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + + const rem100 = number % 100; + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + case 2: + return number + ":a"; + } + } + return number + ":e"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/sv/_lib/match.js b/.output/server/node_modules/date-fns/locale/sv/_lib/match.js new file mode 100644 index 00000000..a1d8a2f9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/sv/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(:a|:e)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i, + abbreviated: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i, + wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i, +}; +const parseEraPatterns = { + any: [/^f/i, /^[ev]/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](:a|:e)? kvartalet/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: + /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\.?/i, + wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ja/i, + /^f/i, + /^mar/i, + /^ap/i, + /^maj/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[smtofl]/i, + short: /^(sö|må|ti|on|to|fr|lö)/i, + abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i, + wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i, +}; +const parseDayPatterns = { + any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i], +}; + +const matchDayPeriodPatterns = { + any: /^([fe]\.?\s?m\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^f/i, + pm: /^e/i, + midnight: /^midn/i, + noon: /^midd/i, + morning: /morgon/i, + afternoon: /eftermiddag/i, + evening: /kväll/i, + night: /natt/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ta.js b/.output/server/node_modules/date-fns/locale/ta.js new file mode 100644 index 00000000..2f318478 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ta/_lib/formatDistance.js"; +import { formatLong } from "./ta/_lib/formatLong.js"; +import { formatRelative } from "./ta/_lib/formatRelative.js"; +import { localize } from "./ta/_lib/localize.js"; +import { match } from "./ta/_lib/match.js"; + +/** + * @category Locales + * @summary Tamil locale (India). + * @language Tamil + * @iso-639-2 tam + * @author Sibiraj [@sibiraj-s](https://github.com/sibiraj-s) + */ +export const ta = { + code: "ta", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default ta; diff --git a/.output/server/node_modules/date-fns/locale/ta/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ta/_lib/formatDistance.js new file mode 100644 index 00000000..f87daabd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta/_lib/formatDistance.js @@ -0,0 +1,224 @@ +function isPluralType(val) { + return val.one !== undefined; +} + +const formatDistanceLocale = { + lessThanXSeconds: { + one: { + default: "ஒரு வினாடிக்கு குறைவாக", + in: "ஒரு வினாடிக்குள்", + ago: "ஒரு வினாடிக்கு முன்பு", + }, + other: { + default: "{{count}} வினாடிகளுக்கு குறைவாக", + in: "{{count}} வினாடிகளுக்குள்", + ago: "{{count}} வினாடிகளுக்கு முன்பு", + }, + }, + + xSeconds: { + one: { + default: "1 வினாடி", + in: "1 வினாடியில்", + ago: "1 வினாடி முன்பு", + }, + other: { + default: "{{count}} விநாடிகள்", + in: "{{count}} வினாடிகளில்", + ago: "{{count}} விநாடிகளுக்கு முன்பு", + }, + }, + + halfAMinute: { + default: "அரை நிமிடம்", + in: "அரை நிமிடத்தில்", + ago: "அரை நிமிடம் முன்பு", + }, + + lessThanXMinutes: { + one: { + default: "ஒரு நிமிடத்திற்கும் குறைவாக", + in: "ஒரு நிமிடத்திற்குள்", + ago: "ஒரு நிமிடத்திற்கு முன்பு", + }, + other: { + default: "{{count}} நிமிடங்களுக்கும் குறைவாக", + in: "{{count}} நிமிடங்களுக்குள்", + ago: "{{count}} நிமிடங்களுக்கு முன்பு", + }, + }, + + xMinutes: { + one: { + default: "1 நிமிடம்", + in: "1 நிமிடத்தில்", + ago: "1 நிமிடம் முன்பு", + }, + other: { + default: "{{count}} நிமிடங்கள்", + in: "{{count}} நிமிடங்களில்", + ago: "{{count}} நிமிடங்களுக்கு முன்பு", + }, + }, + + aboutXHours: { + one: { + default: "சுமார் 1 மணி நேரம்", + in: "சுமார் 1 மணி நேரத்தில்", + ago: "சுமார் 1 மணி நேரத்திற்கு முன்பு", + }, + other: { + default: "சுமார் {{count}} மணி நேரம்", + in: "சுமார் {{count}} மணி நேரத்திற்கு முன்பு", + ago: "சுமார் {{count}} மணி நேரத்தில்", + }, + }, + + xHours: { + one: { + default: "1 மணி நேரம்", + in: "1 மணி நேரத்தில்", + ago: "1 மணி நேரத்திற்கு முன்பு", + }, + other: { + default: "{{count}} மணி நேரம்", + in: "{{count}} மணி நேரத்தில்", + ago: "{{count}} மணி நேரத்திற்கு முன்பு", + }, + }, + + xDays: { + one: { + default: "1 நாள்", + in: "1 நாளில்", + ago: "1 நாள் முன்பு", + }, + other: { + default: "{{count}} நாட்கள்", + in: "{{count}} நாட்களில்", + ago: "{{count}} நாட்களுக்கு முன்பு", + }, + }, + + aboutXWeeks: { + one: { + default: "சுமார் 1 வாரம்", + in: "சுமார் 1 வாரத்தில்", + ago: "சுமார் 1 வாரம் முன்பு", + }, + other: { + default: "சுமார் {{count}} வாரங்கள்", + in: "சுமார் {{count}} வாரங்களில்", + ago: "சுமார் {{count}} வாரங்களுக்கு முன்பு", + }, + }, + + xWeeks: { + one: { + default: "1 வாரம்", + in: "1 வாரத்தில்", + ago: "1 வாரம் முன்பு", + }, + other: { + default: "{{count}} வாரங்கள்", + in: "{{count}} வாரங்களில்", + ago: "{{count}} வாரங்களுக்கு முன்பு", + }, + }, + + aboutXMonths: { + one: { + default: "சுமார் 1 மாதம்", + in: "சுமார் 1 மாதத்தில்", + ago: "சுமார் 1 மாதத்திற்கு முன்பு", + }, + other: { + default: "சுமார் {{count}} மாதங்கள்", + in: "சுமார் {{count}} மாதங்களில்", + ago: "சுமார் {{count}} மாதங்களுக்கு முன்பு", + }, + }, + + xMonths: { + one: { + default: "1 மாதம்", + in: "1 மாதத்தில்", + ago: "1 மாதம் முன்பு", + }, + other: { + default: "{{count}} மாதங்கள்", + in: "{{count}} மாதங்களில்", + ago: "{{count}} மாதங்களுக்கு முன்பு", + }, + }, + + aboutXYears: { + one: { + default: "சுமார் 1 வருடம்", + in: "சுமார் 1 ஆண்டில்", + ago: "சுமார் 1 வருடம் முன்பு", + }, + other: { + default: "சுமார் {{count}} ஆண்டுகள்", + in: "சுமார் {{count}} ஆண்டுகளில்", + ago: "சுமார் {{count}} ஆண்டுகளுக்கு முன்பு", + }, + }, + + xYears: { + one: { + default: "1 வருடம்", + in: "1 ஆண்டில்", + ago: "1 வருடம் முன்பு", + }, + other: { + default: "{{count}} ஆண்டுகள்", + in: "{{count}} ஆண்டுகளில்", + ago: "{{count}} ஆண்டுகளுக்கு முன்பு", + }, + }, + + overXYears: { + one: { + default: "1 வருடத்திற்கு மேல்", + in: "1 வருடத்திற்கும் மேலாக", + ago: "1 வருடம் முன்பு", + }, + other: { + default: "{{count}} ஆண்டுகளுக்கும் மேலாக", + in: "{{count}} ஆண்டுகளில்", + ago: "{{count}} ஆண்டுகளுக்கு முன்பு", + }, + }, + + almostXYears: { + one: { + default: "கிட்டத்தட்ட 1 வருடம்", + in: "கிட்டத்தட்ட 1 ஆண்டில்", + ago: "கிட்டத்தட்ட 1 வருடம் முன்பு", + }, + other: { + default: "கிட்டத்தட்ட {{count}} ஆண்டுகள்", + in: "கிட்டத்தட்ட {{count}} ஆண்டுகளில்", + ago: "கிட்டத்தட்ட {{count}} ஆண்டுகளுக்கு முன்பு", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + const tense = options?.addSuffix + ? options.comparison && options.comparison > 0 + ? "in" + : "ago" + : "default"; + + const tokenValue = formatDistanceLocale[token]; + + if (!isPluralType(tokenValue)) return tokenValue[tense]; + + if (count === 1) { + return tokenValue.one[tense]; + } else { + return tokenValue.other[tense].replace("{{count}}", String(count)); + } +}; diff --git a/.output/server/node_modules/date-fns/locale/ta/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ta/_lib/formatLong.js new file mode 100644 index 00000000..ea20b950 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta/_lib/formatLong.js @@ -0,0 +1,43 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// Ref: https://www.unicode.org/cldr/charts/32/summary/ta.html + +// CLDR #1846 - #1849 +const dateFormats = { + full: "EEEE, d MMMM, y", + long: "d MMMM, y", + medium: "d MMM, y", + short: "d/M/yy", +}; + +// CLDR #1850 - #1853 +const timeFormats = { + full: "a h:mm:ss zzzz", + long: "a h:mm:ss z", + medium: "a h:mm:ss", + short: "a h:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ta/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ta/_lib/formatRelative.js new file mode 100644 index 00000000..fe29d16e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'கடந்த' eeee p 'மணிக்கு'", + yesterday: "'நேற்று ' p 'மணிக்கு'", + today: "'இன்று ' p 'மணிக்கு'", + tomorrow: "'நாளை ' p 'மணிக்கு'", + nextWeek: "eeee p 'மணிக்கு'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ta/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ta/_lib/localize.js new file mode 100644 index 00000000..288cda16 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta/_lib/localize.js @@ -0,0 +1,184 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// Ref: https://www.unicode.org/cldr/charts/32/summary/ta.html + +const eraValues = { + narrow: ["கி.மு.", "கி.பி."], + abbreviated: ["கி.மு.", "கி.பி."], // CLDR #1624, #1626 + wide: ["கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"], // CLDR #1620, #1622 +}; + +const quarterValues = { + // CLDR #1644 - #1647 + narrow: ["1", "2", "3", "4"], + // CLDR #1636 - #1639 + abbreviated: ["காலா.1", "காலா.2", "காலா.3", "காலா.4"], + // CLDR #1628 - #1631 + wide: [ + "ஒன்றாம் காலாண்டு", + "இரண்டாம் காலாண்டு", + "மூன்றாம் காலாண்டு", + "நான்காம் காலாண்டு", + ], +}; + +const monthValues = { + // CLDR #700 - #711 + narrow: ["ஜ", "பி", "மா", "ஏ", "மே", "ஜூ", "ஜூ", "ஆ", "செ", "அ", "ந", "டி"], + + // CLDR #1676 - #1687 + abbreviated: [ + "ஜன.", + "பிப்.", + "மார்.", + "ஏப்.", + "மே", + "ஜூன்", + "ஜூலை", + "ஆக.", + "செப்.", + "அக்.", + "நவ.", + "டிச.", + ], + + // CLDR #1652 - #1663 + wide: [ + "ஜனவரி", // January + "பிப்ரவரி", // February + "மார்ச்", // March + "ஏப்ரல்", // April + "மே", // May + "ஜூன்", // June + "ஜூலை", // July + "ஆகஸ்ட்", // August + "செப்டம்பர்", // September + "அக்டோபர்", // October + "நவம்பர்", // November + "டிசம்பர்", // December + ], +}; + +const dayValues = { + // CLDR #1766 - #1772 + narrow: ["ஞா", "தி", "செ", "பு", "வி", "வெ", "ச"], + // CLDR #1752 - #1758 + short: ["ஞா", "தி", "செ", "பு", "வி", "வெ", "ச"], + // CLDR #1738 - #1744 + abbreviated: ["ஞாயி.", "திங்.", "செவ்.", "புத.", "வியா.", "வெள்.", "சனி"], + + // CLDR #1724 - #1730 + wide: [ + "ஞாயிறு", // Sunday + "திங்கள்", // Monday + "செவ்வாய்", // Tuesday + "புதன்", // Wednesday + "வியாழன்", // Thursday + "வெள்ளி", // Friday + "சனி", // Saturday + ], +}; + +// CLDR #1780 - #1845 +const dayPeriodValues = { + narrow: { + am: "மு.ப", + pm: "பி.ப", + midnight: "நள்.", + noon: "நண்.", + morning: "கா.", + afternoon: "மதி.", + evening: "மா.", + night: "இர.", + }, + abbreviated: { + am: "முற்பகல்", + pm: "பிற்பகல்", + midnight: "நள்ளிரவு", + noon: "நண்பகல்", + morning: "காலை", + afternoon: "மதியம்", + evening: "மாலை", + night: "இரவு", + }, + wide: { + am: "முற்பகல்", + pm: "பிற்பகல்", + midnight: "நள்ளிரவு", + noon: "நண்பகல்", + morning: "காலை", + afternoon: "மதியம்", + evening: "மாலை", + night: "இரவு", + }, +}; + +// CLDR #1780 - #1845 +const formattingDayPeriodValues = { + narrow: { + am: "மு.ப", + pm: "பி.ப", + midnight: "நள்.", + noon: "நண்.", + morning: "கா.", + afternoon: "மதி.", + evening: "மா.", + night: "இர.", + }, + abbreviated: { + am: "முற்பகல்", + pm: "பிற்பகல்", + midnight: "நள்ளிரவு", + noon: "நண்பகல்", + morning: "காலை", + afternoon: "மதியம்", + evening: "மாலை", + night: "இரவு", + }, + wide: { + am: "முற்பகல்", + pm: "பிற்பகல்", + midnight: "நள்ளிரவு", + noon: "நண்பகல்", + morning: "காலை", + afternoon: "மதியம்", + evening: "மாலை", + night: "இரவு", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ta/_lib/match.js b/.output/server/node_modules/date-fns/locale/ta/_lib/match.js new file mode 100644 index 00000000..4e075c7b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ta/_lib/match.js @@ -0,0 +1,138 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(வது)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(கி.மு.|கி.பி.)/i, + abbreviated: /^(கி\.?\s?மு\.?|கி\.?\s?பி\.?)/, + wide: /^(கிறிஸ்துவுக்கு\sமுன்|அன்னோ\sடோமினி)/i, +}; +const parseEraPatterns = { + any: [/கி\.?\s?மு\.?/, /கி\.?\s?பி\.?/], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^காலா.[1234]/i, + wide: /^(ஒன்றாம்|இரண்டாம்|மூன்றாம்|நான்காம்) காலாண்டு/i, +}; +const parseQuarterPatterns = { + narrow: [/1/i, /2/i, /3/i, /4/i], + any: [ + /(1|காலா.1|ஒன்றாம்)/i, + /(2|காலா.2|இரண்டாம்)/i, + /(3|காலா.3|மூன்றாம்)/i, + /(4|காலா.4|நான்காம்)/i, + ], +}; + +const matchMonthPatterns = { + narrow: /^(ஜ|பி|மா|ஏ|மே|ஜூ|ஆ|செ|அ|ந|டி)$/i, + abbreviated: /^(ஜன.|பிப்.|மார்.|ஏப்.|மே|ஜூன்|ஜூலை|ஆக.|செப்.|அக்.|நவ.|டிச.)/i, + wide: /^(ஜனவரி|பிப்ரவரி|மார்ச்|ஏப்ரல்|மே|ஜூன்|ஜூலை|ஆகஸ்ட்|செப்டம்பர்|அக்டோபர்|நவம்பர்|டிசம்பர்)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ஜ$/i, + /^பி/i, + /^மா/i, + /^ஏ/i, + /^மே/i, + /^ஜூ/i, + /^ஜூ/i, + /^ஆ/i, + /^செ/i, + /^அ/i, + /^ந/i, + /^டி/i, + ], + + any: [ + /^ஜன/i, + /^பி/i, + /^மா/i, + /^ஏ/i, + /^மே/i, + /^ஜூன்/i, + /^ஜூலை/i, + /^ஆ/i, + /^செ/i, + /^அ/i, + /^ந/i, + /^டி/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ஞா|தி|செ|பு|வி|வெ|ச)/i, + short: /^(ஞா|தி|செ|பு|வி|வெ|ச)/i, + abbreviated: /^(ஞாயி.|திங்.|செவ்.|புத.|வியா.|வெள்.|சனி)/i, + wide: /^(ஞாயிறு|திங்கள்|செவ்வாய்|புதன்|வியாழன்|வெள்ளி|சனி)/i, +}; +const parseDayPatterns = { + narrow: [/^ஞா/i, /^தி/i, /^செ/i, /^பு/i, /^வி/i, /^வெ/i, /^ச/i], + any: [/^ஞா/i, /^தி/i, /^செ/i, /^பு/i, /^வி/i, /^வெ/i, /^ச/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(மு.ப|பி.ப|நள்|நண்|காலை|மதியம்|மாலை|இரவு)/i, + any: /^(மு.ப|பி.ப|முற்பகல்|பிற்பகல்|நள்ளிரவு|நண்பகல்|காலை|மதியம்|மாலை|இரவு)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^மு/i, + pm: /^பி/i, + midnight: /^நள்/i, + noon: /^நண்/i, + morning: /காலை/i, + afternoon: /மதியம்/i, + evening: /மாலை/i, + night: /இரவு/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/te.js b/.output/server/node_modules/date-fns/locale/te.js new file mode 100644 index 00000000..321b0b47 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./te/_lib/formatDistance.js"; +import { formatLong } from "./te/_lib/formatLong.js"; +import { formatRelative } from "./te/_lib/formatRelative.js"; +import { localize } from "./te/_lib/localize.js"; +import { match } from "./te/_lib/match.js"; + +/** + * @category Locales + * @summary Telugu locale + * @language Telugu + * @iso-639-2 tel + * @author Kranthi Lakum [@kranthilakum](https://github.com/kranthilakum) + */ +export const te = { + code: "te", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default te; diff --git a/.output/server/node_modules/date-fns/locale/te/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/te/_lib/formatDistance.js new file mode 100644 index 00000000..0e8fb94b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te/_lib/formatDistance.js @@ -0,0 +1,199 @@ +// Source: https://www.unicode.org/cldr/charts/32/summary/te.html + +const formatDistanceLocale = { + lessThanXSeconds: { + standalone: { + one: "సెకను కన్నా తక్కువ", + other: "{{count}} సెకన్ల కన్నా తక్కువ", + }, + withPreposition: { + one: "సెకను", + other: "{{count}} సెకన్ల", + }, + }, + + xSeconds: { + standalone: { + one: "ఒక సెకను", // CLDR #1314 + other: "{{count}} సెకన్ల", + }, + withPreposition: { + one: "ఒక సెకను", + other: "{{count}} సెకన్ల", + }, + }, + + halfAMinute: { + standalone: "అర నిమిషం", + withPreposition: "అర నిమిషం", + }, + + lessThanXMinutes: { + standalone: { + one: "ఒక నిమిషం కన్నా తక్కువ", + other: "{{count}} నిమిషాల కన్నా తక్కువ", + }, + withPreposition: { + one: "ఒక నిమిషం", + other: "{{count}} నిమిషాల", + }, + }, + + xMinutes: { + standalone: { + one: "ఒక నిమిషం", // CLDR #1311 + other: "{{count}} నిమిషాలు", + }, + withPreposition: { + one: "ఒక నిమిషం", // CLDR #1311 + other: "{{count}} నిమిషాల", + }, + }, + + aboutXHours: { + standalone: { + one: "సుమారు ఒక గంట", + other: "సుమారు {{count}} గంటలు", + }, + withPreposition: { + one: "సుమారు ఒక గంట", + other: "సుమారు {{count}} గంటల", + }, + }, + + xHours: { + standalone: { + one: "ఒక గంట", // CLDR #1308 + other: "{{count}} గంటలు", + }, + withPreposition: { + one: "ఒక గంట", + other: "{{count}} గంటల", + }, + }, + + xDays: { + standalone: { + one: "ఒక రోజు", // CLDR #1292 + other: "{{count}} రోజులు", + }, + withPreposition: { + one: "ఒక రోజు", + other: "{{count}} రోజుల", + }, + }, + + aboutXWeeks: { + standalone: { + one: "సుమారు ఒక వారం", + other: "సుమారు {{count}} వారాలు", + }, + withPreposition: { + one: "సుమారు ఒక వారం", + other: "సుమారు {{count}} వారాలల", + }, + }, + + xWeeks: { + standalone: { + one: "ఒక వారం", + other: "{{count}} వారాలు", + }, + withPreposition: { + one: "ఒక వారం", + other: "{{count}} వారాలల", + }, + }, + + aboutXMonths: { + standalone: { + one: "సుమారు ఒక నెల", + other: "సుమారు {{count}} నెలలు", + }, + withPreposition: { + one: "సుమారు ఒక నెల", + other: "సుమారు {{count}} నెలల", + }, + }, + + xMonths: { + standalone: { + one: "ఒక నెల", // CLDR #1281 + other: "{{count}} నెలలు", + }, + withPreposition: { + one: "ఒక నెల", + other: "{{count}} నెలల", + }, + }, + + aboutXYears: { + standalone: { + one: "సుమారు ఒక సంవత్సరం", + other: "సుమారు {{count}} సంవత్సరాలు", + }, + withPreposition: { + one: "సుమారు ఒక సంవత్సరం", + other: "సుమారు {{count}} సంవత్సరాల", + }, + }, + + xYears: { + standalone: { + one: "ఒక సంవత్సరం", // CLDR #1275 + other: "{{count}} సంవత్సరాలు", + }, + withPreposition: { + one: "ఒక సంవత్సరం", + other: "{{count}} సంవత్సరాల", + }, + }, + + overXYears: { + standalone: { + one: "ఒక సంవత్సరం పైగా", + other: "{{count}} సంవత్సరాలకు పైగా", + }, + withPreposition: { + one: "ఒక సంవత్సరం", + other: "{{count}} సంవత్సరాల", + }, + }, + + almostXYears: { + standalone: { + one: "దాదాపు ఒక సంవత్సరం", + other: "దాదాపు {{count}} సంవత్సరాలు", + }, + withPreposition: { + one: "దాదాపు ఒక సంవత్సరం", + other: "దాదాపు {{count}} సంవత్సరాల", + }, + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = options?.addSuffix + ? formatDistanceLocale[token].withPreposition + : formatDistanceLocale[token].standalone; + + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "లో"; + } else { + return result + " క్రితం"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/te/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/te/_lib/formatLong.js new file mode 100644 index 00000000..3a63bab0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te/_lib/formatLong.js @@ -0,0 +1,44 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +// Source: https://www.unicode.org/cldr/charts/32/summary/te.html + +// CLDR #1807 - #1811 +const dateFormats = { + full: "d, MMMM y, EEEE", + long: "d MMMM, y", + medium: "d MMM, y", + short: "dd-MM-yy", +}; + +// CLDR #1807 - #1811 +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +// CLDR #1815 - #1818 +const dateTimeFormats = { + full: "{{date}} {{time}}'కి'", + long: "{{date}} {{time}}'కి'", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/te/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/te/_lib/formatRelative.js new file mode 100644 index 00000000..4e39f1f6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te/_lib/formatRelative.js @@ -0,0 +1,13 @@ +// Source: https://www.unicode.org/cldr/charts/32/summary/te.html + +const formatRelativeLocale = { + lastWeek: "'గత' eeee p", // CLDR #1384 + yesterday: "'నిన్న' p", // CLDR #1393 + today: "'ఈ రోజు' p", // CLDR #1394 + tomorrow: "'రేపు' p", // CLDR #1395 + nextWeek: "'తదుపరి' eeee p", // CLDR #1386 + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/te/_lib/localize.js b/.output/server/node_modules/date-fns/locale/te/_lib/localize.js new file mode 100644 index 00000000..d94e55bd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te/_lib/localize.js @@ -0,0 +1,173 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// Source: https://www.unicode.org/cldr/charts/32/summary/te.html +// Source: https://dsal.uchicago.edu/dictionaries/brown/ + +// CLDR #1605 - #1608 +const eraValues = { + narrow: ["క్రీ.పూ.", "క్రీ.శ."], + abbreviated: ["క్రీ.పూ.", "క్రీ.శ."], + wide: ["క్రీస్తు పూర్వం", "క్రీస్తుశకం"], +}; + +// CLDR #1613 - #1628 +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["త్రై1", "త్రై2", "త్రై3", "త్రై4"], + wide: ["1వ త్రైమాసికం", "2వ త్రైమాసికం", "3వ త్రైమాసికం", "4వ త్రైమాసికం"], +}; + +// CLDR #1637 - #1708 +const monthValues = { + narrow: ["జ", "ఫి", "మా", "ఏ", "మే", "జూ", "జు", "ఆ", "సె", "అ", "న", "డి"], + + abbreviated: [ + "జన", + "ఫిబ్ర", + "మార్చి", + "ఏప్రి", + "మే", + "జూన్", + "జులై", + "ఆగ", + "సెప్టెం", + "అక్టో", + "నవం", + "డిసెం", + ], + + wide: [ + "జనవరి", + "ఫిబ్రవరి", + "మార్చి", + "ఏప్రిల్", + "మే", + "జూన్", + "జులై", + "ఆగస్టు", + "సెప్టెంబర్", + "అక్టోబర్", + "నవంబర్", + "డిసెంబర్", + ], +}; + +// CLDR #1709 - #1764 +const dayValues = { + narrow: ["ఆ", "సో", "మ", "బు", "గు", "శు", "శ"], + short: ["ఆది", "సోమ", "మంగళ", "బుధ", "గురు", "శుక్ర", "శని"], + abbreviated: ["ఆది", "సోమ", "మంగళ", "బుధ", "గురు", "శుక్ర", "శని"], + wide: [ + "ఆదివారం", + "సోమవారం", + "మంగళవారం", + "బుధవారం", + "గురువారం", + "శుక్రవారం", + "శనివారం", + ], +}; + +// CLDR #1767 - #1806 +const dayPeriodValues = { + narrow: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, + abbreviated: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, + wide: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, + abbreviated: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, + wide: { + am: "పూర్వాహ్నం", + pm: "అపరాహ్నం", + midnight: "అర్ధరాత్రి", + noon: "మిట్టమధ్యాహ్నం", + morning: "ఉదయం", + afternoon: "మధ్యాహ్నం", + evening: "సాయంత్రం", + night: "రాత్రి", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "వ"; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/te/_lib/match.js b/.output/server/node_modules/date-fns/locale/te/_lib/match.js new file mode 100644 index 00000000..fc526f07 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/te/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(వ)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(క్రీ\.పూ\.|క్రీ\.శ\.)/i, + abbreviated: + /^(క్రీ\.?\s?పూ\.?|ప్ర\.?\s?శ\.?\s?పూ\.?|క్రీ\.?\s?శ\.?|సా\.?\s?శ\.?)/i, + wide: /^(క్రీస్తు పూర్వం|ప్రస్తుత శకానికి పూర్వం|క్రీస్తు శకం|ప్రస్తుత శకం)/i, +}; +const parseEraPatterns = { + any: [/^(పూ|శ)/i, /^సా/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^త్రై[1234]/i, + wide: /^[1234](వ)? త్రైమాసికం/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^(జూ|జు|జ|ఫి|మా|ఏ|మే|ఆ|సె|అ|న|డి)/i, + abbreviated: /^(జన|ఫిబ్ర|మార్చి|ఏప్రి|మే|జూన్|జులై|ఆగ|సెప్|అక్టో|నవ|డిసె)/i, + wide: /^(జనవరి|ఫిబ్రవరి|మార్చి|ఏప్రిల్|మే|జూన్|జులై|ఆగస్టు|సెప్టెంబర్|అక్టోబర్|నవంబర్|డిసెంబర్)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^జ/i, + /^ఫి/i, + /^మా/i, + /^ఏ/i, + /^మే/i, + /^జూ/i, + /^జు/i, + /^ఆ/i, + /^సె/i, + /^అ/i, + /^న/i, + /^డి/i, + ], + + any: [ + /^జన/i, + /^ఫి/i, + /^మా/i, + /^ఏ/i, + /^మే/i, + /^జూన్/i, + /^జులై/i, + /^ఆగ/i, + /^సె/i, + /^అ/i, + /^న/i, + /^డి/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(ఆ|సో|మ|బు|గు|శు|శ)/i, + short: /^(ఆది|సోమ|మం|బుధ|గురు|శుక్ర|శని)/i, + abbreviated: /^(ఆది|సోమ|మం|బుధ|గురు|శుక్ర|శని)/i, + wide: /^(ఆదివారం|సోమవారం|మంగళవారం|బుధవారం|గురువారం|శుక్రవారం|శనివారం)/i, +}; +const parseDayPatterns = { + narrow: [/^ఆ/i, /^సో/i, /^మ/i, /^బు/i, /^గు/i, /^శు/i, /^శ/i], + any: [/^ఆది/i, /^సోమ/i, /^మం/i, /^బుధ/i, /^గురు/i, /^శుక్ర/i, /^శని/i], +}; + +const matchDayPeriodPatterns = { + narrow: + /^(పూర్వాహ్నం|అపరాహ్నం|అర్ధరాత్రి|మిట్టమధ్యాహ్నం|ఉదయం|మధ్యాహ్నం|సాయంత్రం|రాత్రి)/i, + any: /^(పూర్వాహ్నం|అపరాహ్నం|అర్ధరాత్రి|మిట్టమధ్యాహ్నం|ఉదయం|మధ్యాహ్నం|సాయంత్రం|రాత్రి)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^పూర్వాహ్నం/i, + pm: /^అపరాహ్నం/i, + midnight: /^అర్ధ/i, + noon: /^మిట్ట/i, + morning: /ఉదయం/i, + afternoon: /మధ్యాహ్నం/i, + evening: /సాయంత్రం/i, + night: /రాత్రి/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/th.js b/.output/server/node_modules/date-fns/locale/th.js new file mode 100644 index 00000000..39a50289 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./th/_lib/formatDistance.js"; +import { formatLong } from "./th/_lib/formatLong.js"; +import { formatRelative } from "./th/_lib/formatRelative.js"; +import { localize } from "./th/_lib/localize.js"; +import { match } from "./th/_lib/match.js"; + +/** + * @category Locales + * @summary Thai locale. + * @language Thai + * @iso-639-2 tha + * @author Athiwat Hirunworawongkun [@athivvat](https://github.com/athivvat) + * @author [@hawkup](https://github.com/hawkup) + * @author Jirawat I. [@nodtem66](https://github.com/nodtem66) + */ +export const th = { + code: "th", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default th; diff --git a/.output/server/node_modules/date-fns/locale/th/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/th/_lib/formatDistance.js new file mode 100644 index 00000000..c010b332 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th/_lib/formatDistance.js @@ -0,0 +1,105 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "น้อยกว่า 1 วินาที", + other: "น้อยกว่า {{count}} วินาที", + }, + + xSeconds: { + one: "1 วินาที", + other: "{{count}} วินาที", + }, + + halfAMinute: "ครึ่งนาที", + + lessThanXMinutes: { + one: "น้อยกว่า 1 นาที", + other: "น้อยกว่า {{count}} นาที", + }, + + xMinutes: { + one: "1 นาที", + other: "{{count}} นาที", + }, + + aboutXHours: { + one: "ประมาณ 1 ชั่วโมง", + other: "ประมาณ {{count}} ชั่วโมง", + }, + + xHours: { + one: "1 ชั่วโมง", + other: "{{count}} ชั่วโมง", + }, + + xDays: { + one: "1 วัน", + other: "{{count}} วัน", + }, + + aboutXWeeks: { + one: "ประมาณ 1 สัปดาห์", + other: "ประมาณ {{count}} สัปดาห์", + }, + + xWeeks: { + one: "1 สัปดาห์", + other: "{{count}} สัปดาห์", + }, + + aboutXMonths: { + one: "ประมาณ 1 เดือน", + other: "ประมาณ {{count}} เดือน", + }, + + xMonths: { + one: "1 เดือน", + other: "{{count}} เดือน", + }, + + aboutXYears: { + one: "ประมาณ 1 ปี", + other: "ประมาณ {{count}} ปี", + }, + + xYears: { + one: "1 ปี", + other: "{{count}} ปี", + }, + + overXYears: { + one: "มากกว่า 1 ปี", + other: "มากกว่า {{count}} ปี", + }, + + almostXYears: { + one: "เกือบ 1 ปี", + other: "เกือบ {{count}} ปี", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (token === "halfAMinute") { + return "ใน" + result; + } else { + return "ใน " + result; + } + } else { + return result + "ที่ผ่านมา"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/th/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/th/_lib/formatLong.js new file mode 100644 index 00000000..5a62569f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "วันEEEEที่ do MMMM y", + long: "do MMMM y", + medium: "d MMM y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "H:mm:ss น. zzzz", + long: "H:mm:ss น. z", + medium: "H:mm:ss น.", + short: "H:mm น.", +}; + +const dateTimeFormats = { + full: "{{date}} 'เวลา' {{time}}", + long: "{{date}} 'เวลา' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "medium", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/th/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/th/_lib/formatRelative.js new file mode 100644 index 00000000..b73deab8 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee'ที่แล้วเวลา' p", + yesterday: "'เมื่อวานนี้เวลา' p", + today: "'วันนี้เวลา' p", + tomorrow: "'พรุ่งนี้เวลา' p", + nextWeek: "eeee 'เวลา' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/th/_lib/localize.js b/.output/server/node_modules/date-fns/locale/th/_lib/localize.js new file mode 100644 index 00000000..66c9b8ab --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th/_lib/localize.js @@ -0,0 +1,169 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["B", "คศ"], + abbreviated: ["BC", "ค.ศ."], + wide: ["ปีก่อนคริสตกาล", "คริสต์ศักราช"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["ไตรมาสแรก", "ไตรมาสที่สอง", "ไตรมาสที่สาม", "ไตรมาสที่สี่"], +}; + +const dayValues = { + narrow: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."], + short: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."], + abbreviated: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."], + wide: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"], +}; + +const monthValues = { + narrow: [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ], + + abbreviated: [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", + ], + + wide: [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "เช้า", + afternoon: "บ่าย", + evening: "เย็น", + night: "กลางคืน", + }, + abbreviated: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "เช้า", + afternoon: "บ่าย", + evening: "เย็น", + night: "กลางคืน", + }, + wide: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "เช้า", + afternoon: "บ่าย", + evening: "เย็น", + night: "กลางคืน", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "ตอนเช้า", + afternoon: "ตอนกลางวัน", + evening: "ตอนเย็น", + night: "ตอนกลางคืน", + }, + abbreviated: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "ตอนเช้า", + afternoon: "ตอนกลางวัน", + evening: "ตอนเย็น", + night: "ตอนกลางคืน", + }, + wide: { + am: "ก่อนเที่ยง", + pm: "หลังเที่ยง", + midnight: "เที่ยงคืน", + noon: "เที่ยง", + morning: "ตอนเช้า", + afternoon: "ตอนกลางวัน", + evening: "ตอนเย็น", + night: "ตอนกลางคืน", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/th/_lib/match.js b/.output/server/node_modules/date-fns/locale/th/_lib/match.js new file mode 100644 index 00000000..dc1c9500 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/th/_lib/match.js @@ -0,0 +1,134 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^\d+/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^([bB]|[aA]|คศ)/i, + abbreviated: + /^([bB]\.?\s?[cC]\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?|ค\.?ศ\.?)/i, + wide: /^(ก่อนคริสตกาล|คริสต์ศักราช|คริสตกาล)/i, +}; +const parseEraPatterns = { + any: [/^[bB]/i, /^(^[aA]|ค\.?ศ\.?|คริสตกาล|คริสต์ศักราช|)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^ไตรมาส(ที่)? ?[1234]/i, +}; +const parseQuarterPatterns = { + any: [/(1|แรก|หนึ่ง)/i, /(2|สอง)/i, /(3|สาม)/i, /(4|สี่)/i], +}; + +const matchMonthPatterns = { + narrow: + /^(ม\.?ค\.?|ก\.?พ\.?|มี\.?ค\.?|เม\.?ย\.?|พ\.?ค\.?|มิ\.?ย\.?|ก\.?ค\.?|ส\.?ค\.?|ก\.?ย\.?|ต\.?ค\.?|พ\.?ย\.?|ธ\.?ค\.?)/i, + abbreviated: + /^(ม\.?ค\.?|ก\.?พ\.?|มี\.?ค\.?|เม\.?ย\.?|พ\.?ค\.?|มิ\.?ย\.?|ก\.?ค\.?|ส\.?ค\.?|ก\.?ย\.?|ต\.?ค\.?|พ\.?ย\.?|ธ\.?ค\.?')/i, + wide: /^(มกราคม|กุมภาพันธ์|มีนาคม|เมษายน|พฤษภาคม|มิถุนายน|กรกฎาคม|สิงหาคม|กันยายน|ตุลาคม|พฤศจิกายน|ธันวาคม)/i, +}; +const parseMonthPatterns = { + wide: [ + /^มก/i, + /^กุม/i, + /^มี/i, + /^เม/i, + /^พฤษ/i, + /^มิ/i, + /^กรก/i, + /^ส/i, + /^กัน/i, + /^ต/i, + /^พฤศ/i, + /^ธ/i, + ], + + any: [ + /^ม\.?ค\.?/i, + /^ก\.?พ\.?/i, + /^มี\.?ค\.?/i, + /^เม\.?ย\.?/i, + /^พ\.?ค\.?/i, + /^มิ\.?ย\.?/i, + /^ก\.?ค\.?/i, + /^ส\.?ค\.?/i, + /^ก\.?ย\.?/i, + /^ต\.?ค\.?/i, + /^พ\.?ย\.?/i, + /^ธ\.?ค\.?/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(อา\.?|จ\.?|อ\.?|พฤ\.?|พ\.?|ศ\.?|ส\.?)/i, + short: /^(อา\.?|จ\.?|อ\.?|พฤ\.?|พ\.?|ศ\.?|ส\.?)/i, + abbreviated: /^(อา\.?|จ\.?|อ\.?|พฤ\.?|พ\.?|ศ\.?|ส\.?)/i, + wide: /^(อาทิตย์|จันทร์|อังคาร|พุธ|พฤหัสบดี|ศุกร์|เสาร์)/i, +}; +const parseDayPatterns = { + wide: [/^อา/i, /^จั/i, /^อั/i, /^พุธ/i, /^พฤ/i, /^ศ/i, /^เส/i], + any: [/^อา/i, /^จ/i, /^อ/i, /^พ(?!ฤ)/i, /^พฤ/i, /^ศ/i, /^ส/i], +}; + +const matchDayPeriodPatterns = { + any: /^(ก่อนเที่ยง|หลังเที่ยง|เที่ยงคืน|เที่ยง|(ตอน.*?)?.*(เที่ยง|เช้า|บ่าย|เย็น|กลางคืน))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ก่อนเที่ยง/i, + pm: /^หลังเที่ยง/i, + midnight: /^เที่ยงคืน/i, + noon: /^เที่ยง/i, + morning: /เช้า/i, + afternoon: /บ่าย/i, + evening: /เย็น/i, + night: /กลางคืน/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/tr.js b/.output/server/node_modules/date-fns/locale/tr.js new file mode 100644 index 00000000..7d227a96 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr.js @@ -0,0 +1,34 @@ +import { formatDistance } from "./tr/_lib/formatDistance.js"; +import { formatLong } from "./tr/_lib/formatLong.js"; +import { formatRelative } from "./tr/_lib/formatRelative.js"; +import { localize } from "./tr/_lib/localize.js"; +import { match } from "./tr/_lib/match.js"; + +/** + * @category Locales + * @summary Turkish locale. + * @language Turkish + * @iso-639-2 tur + * @author Alpcan Aydın [@alpcanaydin](https://github.com/alpcanaydin) + * @author Berkay Sargın [@berkaey](https://github.com/berkaey) + * @author Fatih Bulut [@bulutfatih](https://github.com/bulutfatih) + * @author Ismail Demirbilek [@dbtek](https://github.com/dbtek) + * @author İsmail Kayar [@ikayar](https://github.com/ikayar) + * + * + */ +export const tr = { + code: "tr", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default tr; diff --git a/.output/server/node_modules/date-fns/locale/tr/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/tr/_lib/formatDistance.js new file mode 100644 index 00000000..9aea4710 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "bir saniyeden az", + other: "{{count}} saniyeden az", + }, + + xSeconds: { + one: "1 saniye", + other: "{{count}} saniye", + }, + + halfAMinute: "yarım dakika", + + lessThanXMinutes: { + one: "bir dakikadan az", + other: "{{count}} dakikadan az", + }, + + xMinutes: { + one: "1 dakika", + other: "{{count}} dakika", + }, + + aboutXHours: { + one: "yaklaşık 1 saat", + other: "yaklaşık {{count}} saat", + }, + + xHours: { + one: "1 saat", + other: "{{count}} saat", + }, + + xDays: { + one: "1 gün", + other: "{{count}} gün", + }, + + aboutXWeeks: { + one: "yaklaşık 1 hafta", + other: "yaklaşık {{count}} hafta", + }, + + xWeeks: { + one: "1 hafta", + other: "{{count}} hafta", + }, + + aboutXMonths: { + one: "yaklaşık 1 ay", + other: "yaklaşık {{count}} ay", + }, + + xMonths: { + one: "1 ay", + other: "{{count}} ay", + }, + + aboutXYears: { + one: "yaklaşık 1 yıl", + other: "yaklaşık {{count}} yıl", + }, + + xYears: { + one: "1 yıl", + other: "{{count}} yıl", + }, + + overXYears: { + one: "1 yıldan fazla", + other: "{{count}} yıldan fazla", + }, + + almostXYears: { + one: "neredeyse 1 yıl", + other: "neredeyse {{count}} yıl", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", count.toString()); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " sonra"; + } else { + return result + " önce"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/tr/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/tr/_lib/formatLong.js new file mode 100644 index 00000000..064d93af --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "d MMMM y EEEE", + long: "d MMMM y", + medium: "d MMM y", + short: "dd.MM.yyyy", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'saat' {{time}}", + long: "{{date}} 'saat' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/tr/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/tr/_lib/formatRelative.js new file mode 100644 index 00000000..3c6336d4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'geçen hafta' eeee 'saat' p", + yesterday: "'dün saat' p", + today: "'bugün saat' p", + tomorrow: "'yarın saat' p", + nextWeek: "eeee 'saat' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/tr/_lib/localize.js b/.output/server/node_modules/date-fns/locale/tr/_lib/localize.js new file mode 100644 index 00000000..bb9edf0a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr/_lib/localize.js @@ -0,0 +1,164 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["MÖ", "MS"], + abbreviated: ["MÖ", "MS"], + wide: ["Milattan Önce", "Milattan Sonra"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1Ç", "2Ç", "3Ç", "4Ç"], + wide: ["İlk çeyrek", "İkinci Çeyrek", "Üçüncü çeyrek", "Son çeyrek"], +}; + +const monthValues = { + narrow: ["O", "Ş", "M", "N", "M", "H", "T", "A", "E", "E", "K", "A"], + abbreviated: [ + "Oca", + "Şub", + "Mar", + "Nis", + "May", + "Haz", + "Tem", + "Ağu", + "Eyl", + "Eki", + "Kas", + "Ara", + ], + + wide: [ + "Ocak", + "Şubat", + "Mart", + "Nisan", + "Mayıs", + "Haziran", + "Temmuz", + "Ağustos", + "Eylül", + "Ekim", + "Kasım", + "Aralık", + ], +}; + +const dayValues = { + narrow: ["P", "P", "S", "Ç", "P", "C", "C"], + short: ["Pz", "Pt", "Sa", "Ça", "Pe", "Cu", "Ct"], + abbreviated: ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cts"], + wide: [ + "Pazar", + "Pazartesi", + "Salı", + "Çarşamba", + "Perşembe", + "Cuma", + "Cumartesi", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "öö", + pm: "ös", + midnight: "gy", + noon: "ö", + morning: "sa", + afternoon: "ös", + evening: "ak", + night: "ge", + }, + abbreviated: { + am: "ÖÖ", + pm: "ÖS", + midnight: "gece yarısı", + noon: "öğle", + morning: "sabah", + afternoon: "öğleden sonra", + evening: "akşam", + night: "gece", + }, + wide: { + am: "Ö.Ö.", + pm: "Ö.S.", + midnight: "gece yarısı", + noon: "öğle", + morning: "sabah", + afternoon: "öğleden sonra", + evening: "akşam", + night: "gece", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "öö", + pm: "ös", + midnight: "gy", + noon: "ö", + morning: "sa", + afternoon: "ös", + evening: "ak", + night: "ge", + }, + abbreviated: { + am: "ÖÖ", + pm: "ÖS", + midnight: "gece yarısı", + noon: "öğlen", + morning: "sabahleyin", + afternoon: "öğleden sonra", + evening: "akşamleyin", + night: "geceleyin", + }, + wide: { + am: "ö.ö.", + pm: "ö.s.", + midnight: "gece yarısı", + noon: "öğlen", + morning: "sabahleyin", + afternoon: "öğleden sonra", + evening: "akşamleyin", + night: "geceleyin", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + const number = Number(dirtyNumber); + return number + "."; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => Number(quarter) - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/tr/_lib/match.js b/.output/server/node_modules/date-fns/locale/tr/_lib/match.js new file mode 100644 index 00000000..99c61212 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/tr/_lib/match.js @@ -0,0 +1,150 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(\.)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(mö|ms)/i, + abbreviated: /^(mö|ms)/i, + wide: /^(milattan önce|milattan sonra)/i, +}; +const parseEraPatterns = { + any: [/(^mö|^milattan önce)/i, /(^ms|^milattan sonra)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]ç/i, + wide: /^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], + abbreviated: [/1ç/i, /2ç/i, /3ç/i, /4ç/i], + wide: [ + /^(i|İ)lk çeyrek/i, + /(i|İ)kinci çeyrek/i, + /üçüncü çeyrek/i, + /son çeyrek/i, + ], +}; + +const matchMonthPatterns = { + narrow: /^[oşmnhtaek]/i, + abbreviated: /^(oca|şub|mar|nis|may|haz|tem|ağu|eyl|eki|kas|ara)/i, + wide: /^(ocak|şubat|mart|nisan|mayıs|haziran|temmuz|ağustos|eylül|ekim|kasım|aralık)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^o/i, + /^ş/i, + /^m/i, + /^n/i, + /^m/i, + /^h/i, + /^t/i, + /^a/i, + /^e/i, + /^e/i, + /^k/i, + /^a/i, + ], + + any: [ + /^o/i, + /^ş/i, + /^mar/i, + /^n/i, + /^may/i, + /^h/i, + /^t/i, + /^ağ/i, + /^ey/i, + /^ek/i, + /^k/i, + /^ar/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[psçc]/i, + short: /^(pz|pt|sa|ça|pe|cu|ct)/i, + abbreviated: /^(paz|pzt|sal|çar|per|cum|cts)/i, + wide: /^(pazar(?!tesi)|pazartesi|salı|çarşamba|perşembe|cuma(?!rtesi)|cumartesi)/i, +}; +const parseDayPatterns = { + narrow: [/^p/i, /^p/i, /^s/i, /^ç/i, /^p/i, /^c/i, /^c/i], + any: [/^pz/i, /^pt/i, /^sa/i, /^ça/i, /^pe/i, /^cu/i, /^ct/i], + wide: [ + /^pazar(?!tesi)/i, + /^pazartesi/i, + /^salı/i, + /^çarşamba/i, + /^perşembe/i, + /^cuma(?!rtesi)/i, + /^cumartesi/i, + ], +}; + +const matchDayPeriodPatterns = { + narrow: /^(öö|ös|gy|ö|sa|ös|ak|ge)/i, + any: /^(ö\.?\s?[ös]\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ö\.?ö\.?/i, + pm: /^ö\.?s\.?/i, + midnight: /^(gy|gece yarısı)/i, + noon: /^öğ/i, + morning: /^sa/i, + afternoon: /^öğleden sonra/i, + evening: /^ak/i, + night: /^ge/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + }, + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ug.js b/.output/server/node_modules/date-fns/locale/ug.js new file mode 100644 index 00000000..37e3563b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./ug/_lib/formatDistance.js"; +import { formatLong } from "./ug/_lib/formatLong.js"; +import { formatRelative } from "./ug/_lib/formatRelative.js"; +import { localize } from "./ug/_lib/localize.js"; +import { match } from "./ug/_lib/match.js"; + +/** + * @category Locales + * @summary Uighur locale + * @language Uighur + * @iso-639-2 uig + * @author Abduwaly M. [@abduwaly](https://github.com/abduwaly) + */ +export const ug = { + code: "ug", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default ug; diff --git a/.output/server/node_modules/date-fns/locale/ug/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/ug/_lib/formatDistance.js new file mode 100644 index 00000000..30abe562 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "بىر سىكۇنت ئىچىدە", + other: "سىكۇنت ئىچىدە {{count}}", + }, + + xSeconds: { + one: "بىر سىكۇنت", + other: "سىكۇنت {{count}}", + }, + + halfAMinute: "يىرىم مىنۇت", + + lessThanXMinutes: { + one: "بىر مىنۇت ئىچىدە", + other: "مىنۇت ئىچىدە {{count}}", + }, + + xMinutes: { + one: "بىر مىنۇت", + other: "مىنۇت {{count}}", + }, + + aboutXHours: { + one: "تەخمىنەن بىر سائەت", + other: "سائەت {{count}} تەخمىنەن", + }, + + xHours: { + one: "بىر سائەت", + other: "سائەت {{count}}", + }, + + xDays: { + one: "بىر كۈن", + other: "كۈن {{count}}", + }, + + aboutXWeeks: { + one: "تەخمىنەن بىرھەپتە", + other: "ھەپتە {{count}} تەخمىنەن", + }, + + xWeeks: { + one: "بىرھەپتە", + other: "ھەپتە {{count}}", + }, + + aboutXMonths: { + one: "تەخمىنەن بىر ئاي", + other: "ئاي {{count}} تەخمىنەن", + }, + + xMonths: { + one: "بىر ئاي", + other: "ئاي {{count}}", + }, + + aboutXYears: { + one: "تەخمىنەن بىر يىل", + other: "يىل {{count}} تەخمىنەن", + }, + + xYears: { + one: "بىر يىل", + other: "يىل {{count}}", + }, + + overXYears: { + one: "بىر يىلدىن ئارتۇق", + other: "يىلدىن ئارتۇق {{count}}", + }, + + almostXYears: { + one: "ئاساسەن بىر يىل", + other: "يىل {{count}} ئاساسەن", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result; + } else { + return result + " بولدى"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/ug/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/ug/_lib/formatLong.js new file mode 100644 index 00000000..c865d661 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, MMMM do, y", + long: "MMMM do, y", + medium: "MMM d, y", + short: "MM/dd/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss a zzzz", + long: "h:mm:ss a z", + medium: "h:mm:ss a", + short: "h:mm a", +}; + +const dateTimeFormats = { + full: "{{date}} 'دە' {{time}}", + long: "{{date}} 'دە' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ug/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/ug/_lib/formatRelative.js new file mode 100644 index 00000000..0fcdbaf9 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ئ‍ۆتكەن' eeee 'دە' p", + yesterday: "'تۈنۈگۈن دە' p", + today: "'بۈگۈن دە' p", + tomorrow: "'ئەتە دە' p", + nextWeek: "eeee 'دە' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/ug/_lib/localize.js b/.output/server/node_modules/date-fns/locale/ug/_lib/localize.js new file mode 100644 index 00000000..d417b952 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug/_lib/localize.js @@ -0,0 +1,176 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["ب", "ك"], + abbreviated: ["ب", "ك"], + wide: ["مىيلادىدىن بۇرۇن", "مىيلادىدىن كىيىن"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1", "2", "3", "4"], + wide: ["بىرىنجى چارەك", "ئىككىنجى چارەك", "ئۈچىنجى چارەك", "تۆتىنجى چارەك"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["ي", "ف", "م", "ا", "م", "ى", "ى", "ا", "س", "ۆ", "ن", "د"], + abbreviated: [ + "يانۋار", + "فېۋىرال", + "مارت", + "ئاپرىل", + "ماي", + "ئىيۇن", + "ئىيول", + "ئاۋغۇست", + "سىنتەبىر", + "ئۆكتەبىر", + "نويابىر", + "دىكابىر", + ], + + wide: [ + "يانۋار", + "فېۋىرال", + "مارت", + "ئاپرىل", + "ماي", + "ئىيۇن", + "ئىيول", + "ئاۋغۇست", + "سىنتەبىر", + "ئۆكتەبىر", + "نويابىر", + "دىكابىر", + ], +}; + +const dayValues = { + narrow: ["ي", "د", "س", "چ", "پ", "ج", "ش"], + short: ["ي", "د", "س", "چ", "پ", "ج", "ش"], + abbreviated: [ + "يەكشەنبە", + "دۈشەنبە", + "سەيشەنبە", + "چارشەنبە", + "پەيشەنبە", + "جۈمە", + "شەنبە", + ], + + wide: [ + "يەكشەنبە", + "دۈشەنبە", + "سەيشەنبە", + "چارشەنبە", + "پەيشەنبە", + "جۈمە", + "شەنبە", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەن", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشىم", + night: "كىچە", + }, + abbreviated: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەن", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشىم", + night: "كىچە", + }, + wide: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەن", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشىم", + night: "كىچە", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەندە", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشامدا", + night: "كىچىدە", + }, + abbreviated: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەندە", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشامدا", + night: "كىچىدە", + }, + wide: { + am: "ئە", + pm: "چ", + midnight: "ك", + noon: "چ", + morning: "ئەتىگەندە", + afternoon: "چۈشتىن كىيىن", + evening: "ئاخشامدا", + night: "كىچىدە", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/ug/_lib/match.js b/.output/server/node_modules/date-fns/locale/ug/_lib/match.js new file mode 100644 index 00000000..f360a720 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/ug/_lib/match.js @@ -0,0 +1,133 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(ب|ك)/i, + wide: /^(مىيلادىدىن بۇرۇن|مىيلادىدىن كىيىن)/i, +}; +const parseEraPatterns = { + any: [/^بۇرۇن/i, /^كىيىن/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^چ[1234]/i, + wide: /^چارەك [1234]/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + // eslint-disable-next-line no-misleading-character-class + narrow: /^[يفمئامئ‍ئاسۆند]/i, + abbreviated: + /^(يانۋار|فېۋىرال|مارت|ئاپرىل|ماي|ئىيۇن|ئىيول|ئاۋغۇست|سىنتەبىر|ئۆكتەبىر|نويابىر|دىكابىر)/i, + wide: /^(يانۋار|فېۋىرال|مارت|ئاپرىل|ماي|ئىيۇن|ئىيول|ئاۋغۇست|سىنتەبىر|ئۆكتەبىر|نويابىر|دىكابىر)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^ي/i, + /^ف/i, + /^م/i, + /^ا/i, + /^م/i, + /^ى‍/i, + /^ى‍/i, + /^ا‍/i, + /^س/i, + /^ۆ/i, + /^ن/i, + /^د/i, + ], + + any: [ + /^يان/i, + /^فېۋ/i, + /^مار/i, + /^ئاپ/i, + /^ماي/i, + /^ئىيۇن/i, + /^ئىيول/i, + /^ئاۋ/i, + /^سىن/i, + /^ئۆك/i, + /^نوي/i, + /^دىك/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[دسچپجشي]/i, + short: /^(يە|دۈ|سە|چا|پە|جۈ|شە)/i, + abbreviated: /^(يە|دۈ|سە|چا|پە|جۈ|شە)/i, + wide: /^(يەكشەنبە|دۈشەنبە|سەيشەنبە|چارشەنبە|پەيشەنبە|جۈمە|شەنبە)/i, +}; +const parseDayPatterns = { + narrow: [/^ي/i, /^د/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i], + any: [/^ي/i, /^د/i, /^س/i, /^چ/i, /^پ/i, /^ج/i, /^ش/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(ئە|چ|ك|چ|(دە|ئەتىگەن) ( ئە‍|چۈشتىن كىيىن|ئاخشىم|كىچە))/i, + any: /^(ئە|چ|ك|چ|(دە|ئەتىگەن) ( ئە‍|چۈشتىن كىيىن|ئاخشىم|كىچە))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^ئە/i, + pm: /^چ/i, + midnight: /^ك/i, + noon: /^چ/i, + morning: /ئەتىگەن/i, + afternoon: /چۈشتىن كىيىن/i, + evening: /ئاخشىم/i, + night: /كىچە/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uk.js b/.output/server/node_modules/date-fns/locale/uk.js new file mode 100644 index 00000000..38d9d2da --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./uk/_lib/formatDistance.js"; +import { formatLong } from "./uk/_lib/formatLong.js"; +import { formatRelative } from "./uk/_lib/formatRelative.js"; +import { localize } from "./uk/_lib/localize.js"; +import { match } from "./uk/_lib/match.js"; + +/** + * @category Locales + * @summary Ukrainian locale. + * @language Ukrainian + * @iso-639-2 ukr + * @author Andrii Korzh [@korzhyk](https://github.com/korzhyk) + * @author Andriy Shcherbyak [@shcherbyakdev](https://github.com/shcherbyakdev) + */ +export const uk = { + code: "uk", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default uk; diff --git a/.output/server/node_modules/date-fns/locale/uk/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/uk/_lib/formatDistance.js new file mode 100644 index 00000000..a3e5408e --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk/_lib/formatDistance.js @@ -0,0 +1,250 @@ +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one !== undefined && count === 1) { + return scheme.one; + } + + const rem10 = count % 10; + const rem100 = count % 100; + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace("{{count}}", String(count)); + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace("{{count}}", String(count)); + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace("{{count}}", String(count)); + } +} + +function buildLocalizeTokenFn(scheme) { + return (count, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + if (scheme.future) { + return declension(scheme.future, count); + } else { + return "за " + declension(scheme.regular, count); + } + } else { + if (scheme.past) { + return declension(scheme.past, count); + } else { + return declension(scheme.regular, count) + " тому"; + } + } + } else { + return declension(scheme.regular, count); + } + }; +} + +const halfAtMinute = (_, options) => { + if (options && options.addSuffix) { + if (options.comparison && options.comparison > 0) { + return "за півхвилини"; + } else { + return "півхвилини тому"; + } + } + + return "півхвилини"; +}; + +const formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + regular: { + one: "менше секунди", + singularNominative: "менше {{count}} секунди", + singularGenitive: "менше {{count}} секунд", + pluralGenitive: "менше {{count}} секунд", + }, + future: { + one: "менше, ніж за секунду", + singularNominative: "менше, ніж за {{count}} секунду", + singularGenitive: "менше, ніж за {{count}} секунди", + pluralGenitive: "менше, ніж за {{count}} секунд", + }, + }), + + xSeconds: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} секунда", + singularGenitive: "{{count}} секунди", + pluralGenitive: "{{count}} секунд", + }, + past: { + singularNominative: "{{count}} секунду тому", + singularGenitive: "{{count}} секунди тому", + pluralGenitive: "{{count}} секунд тому", + }, + future: { + singularNominative: "за {{count}} секунду", + singularGenitive: "за {{count}} секунди", + pluralGenitive: "за {{count}} секунд", + }, + }), + + halfAMinute: halfAtMinute, + + lessThanXMinutes: buildLocalizeTokenFn({ + regular: { + one: "менше хвилини", + singularNominative: "менше {{count}} хвилини", + singularGenitive: "менше {{count}} хвилин", + pluralGenitive: "менше {{count}} хвилин", + }, + future: { + one: "менше, ніж за хвилину", + singularNominative: "менше, ніж за {{count}} хвилину", + singularGenitive: "менше, ніж за {{count}} хвилини", + pluralGenitive: "менше, ніж за {{count}} хвилин", + }, + }), + + xMinutes: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} хвилина", + singularGenitive: "{{count}} хвилини", + pluralGenitive: "{{count}} хвилин", + }, + past: { + singularNominative: "{{count}} хвилину тому", + singularGenitive: "{{count}} хвилини тому", + pluralGenitive: "{{count}} хвилин тому", + }, + future: { + singularNominative: "за {{count}} хвилину", + singularGenitive: "за {{count}} хвилини", + pluralGenitive: "за {{count}} хвилин", + }, + }), + + aboutXHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "близько {{count}} години", + singularGenitive: "близько {{count}} годин", + pluralGenitive: "близько {{count}} годин", + }, + future: { + singularNominative: "приблизно за {{count}} годину", + singularGenitive: "приблизно за {{count}} години", + pluralGenitive: "приблизно за {{count}} годин", + }, + }), + + xHours: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} годину", + singularGenitive: "{{count}} години", + pluralGenitive: "{{count}} годин", + }, + }), + + xDays: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} день", + singularGenitive: "{{count}} днi", + pluralGenitive: "{{count}} днів", + }, + }), + + aboutXWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "близько {{count}} тижня", + singularGenitive: "близько {{count}} тижнів", + pluralGenitive: "близько {{count}} тижнів", + }, + future: { + singularNominative: "приблизно за {{count}} тиждень", + singularGenitive: "приблизно за {{count}} тижні", + pluralGenitive: "приблизно за {{count}} тижнів", + }, + }), + + xWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} тиждень", + singularGenitive: "{{count}} тижні", + pluralGenitive: "{{count}} тижнів", + }, + }), + + aboutXMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "близько {{count}} місяця", + singularGenitive: "близько {{count}} місяців", + pluralGenitive: "близько {{count}} місяців", + }, + future: { + singularNominative: "приблизно за {{count}} місяць", + singularGenitive: "приблизно за {{count}} місяці", + pluralGenitive: "приблизно за {{count}} місяців", + }, + }), + + xMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} місяць", + singularGenitive: "{{count}} місяці", + pluralGenitive: "{{count}} місяців", + }, + }), + + aboutXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "близько {{count}} року", + singularGenitive: "близько {{count}} років", + pluralGenitive: "близько {{count}} років", + }, + future: { + singularNominative: "приблизно за {{count}} рік", + singularGenitive: "приблизно за {{count}} роки", + pluralGenitive: "приблизно за {{count}} років", + }, + }), + + xYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "{{count}} рік", + singularGenitive: "{{count}} роки", + pluralGenitive: "{{count}} років", + }, + }), + + overXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "більше {{count}} року", + singularGenitive: "більше {{count}} років", + pluralGenitive: "більше {{count}} років", + }, + future: { + singularNominative: "більше, ніж за {{count}} рік", + singularGenitive: "більше, ніж за {{count}} роки", + pluralGenitive: "більше, ніж за {{count}} років", + }, + }), + + almostXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: "майже {{count}} рік", + singularGenitive: "майже {{count}} роки", + pluralGenitive: "майже {{count}} років", + }, + future: { + singularNominative: "майже за {{count}} рік", + singularGenitive: "майже за {{count}} роки", + pluralGenitive: "майже за {{count}} років", + }, + }), +}; + +export const formatDistance = (token, count, options) => { + options = options || {}; + + return formatDistanceLocale[token](count, options); +}; diff --git a/.output/server/node_modules/date-fns/locale/uk/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/uk/_lib/formatLong.js new file mode 100644 index 00000000..7691047c --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM y 'р.'", + long: "do MMMM y 'р.'", + medium: "d MMM y 'р.'", + short: "dd.MM.y", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + full: "{{date}} 'о' {{time}}", + long: "{{date}} 'о' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uk/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/uk/_lib/formatRelative.js new file mode 100644 index 00000000..9e3bfc1a --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk/_lib/formatRelative.js @@ -0,0 +1,90 @@ +import { isSameWeek } from "../../../isSameWeek.js"; +import { toDate } from "../../../toDate.js"; + +const accusativeWeekdays = [ + "неділю", + "понеділок", + "вівторок", + "середу", + "четвер", + "п’ятницю", + "суботу", +]; + +function lastWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у минулу " + weekday + " о' p"; + case 1: + case 2: + case 4: + return "'у минулий " + weekday + " о' p"; + } +} + +function thisWeek(day) { + const weekday = accusativeWeekdays[day]; + + return "'у " + weekday + " о' p"; +} + +function nextWeek(day) { + const weekday = accusativeWeekdays[day]; + + switch (day) { + case 0: + case 3: + case 5: + case 6: + return "'у наступну " + weekday + " о' p"; + case 1: + case 2: + case 4: + return "'у наступний " + weekday + " о' p"; + } +} + +const lastWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return lastWeek(day); + } +}; + +const nextWeekFormat = (dirtyDate, baseDate, options) => { + const date = toDate(dirtyDate); + const day = date.getDay(); + if (isSameWeek(date, baseDate, options)) { + return thisWeek(day); + } else { + return nextWeek(day); + } +}; + +const formatRelativeLocale = { + lastWeek: lastWeekFormat, + yesterday: "'вчора о' p", + today: "'сьогодні о' p", + tomorrow: "'завтра о' p", + nextWeek: nextWeekFormat, + other: "P", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/uk/_lib/localize.js b/.output/server/node_modules/date-fns/locale/uk/_lib/localize.js new file mode 100644 index 00000000..8177fee3 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk/_lib/localize.js @@ -0,0 +1,215 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["до н.е.", "н.е."], + abbreviated: ["до н. е.", "н. е."], + wide: ["до нашої ери", "нашої ери"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."], + wide: ["1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"], +}; + +const monthValues = { + // ДСТУ 3582:2013 + narrow: ["С", "Л", "Б", "К", "Т", "Ч", "Л", "С", "В", "Ж", "Л", "Г"], + abbreviated: [ + "січ.", + "лют.", + "берез.", + "квіт.", + "трав.", + "черв.", + "лип.", + "серп.", + "верес.", + "жовт.", + "листоп.", + "груд.", + ], + + wide: [ + "січень", + "лютий", + "березень", + "квітень", + "травень", + "червень", + "липень", + "серпень", + "вересень", + "жовтень", + "листопад", + "грудень", + ], +}; + +const formattingMonthValues = { + narrow: ["С", "Л", "Б", "К", "Т", "Ч", "Л", "С", "В", "Ж", "Л", "Г"], + abbreviated: [ + "січ.", + "лют.", + "берез.", + "квіт.", + "трав.", + "черв.", + "лип.", + "серп.", + "верес.", + "жовт.", + "листоп.", + "груд.", + ], + + wide: [ + "січня", + "лютого", + "березня", + "квітня", + "травня", + "червня", + "липня", + "серпня", + "вересня", + "жовтня", + "листопада", + "грудня", + ], +}; + +const dayValues = { + narrow: ["Н", "П", "В", "С", "Ч", "П", "С"], + short: ["нд", "пн", "вт", "ср", "чт", "пт", "сб"], + abbreviated: ["нед", "пон", "вів", "сер", "чтв", "птн", "суб"], + wide: [ + "неділя", + "понеділок", + "вівторок", + "середа", + "четвер", + "п’ятниця", + "субота", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "півн.", + noon: "пол.", + morning: "ранок", + afternoon: "день", + evening: "веч.", + night: "ніч", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "півн.", + noon: "пол.", + morning: "ранок", + afternoon: "день", + evening: "веч.", + night: "ніч", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "північ", + noon: "полудень", + morning: "ранок", + afternoon: "день", + evening: "вечір", + night: "ніч", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "ДП", + pm: "ПП", + midnight: "півн.", + noon: "пол.", + morning: "ранку", + afternoon: "дня", + evening: "веч.", + night: "ночі", + }, + abbreviated: { + am: "ДП", + pm: "ПП", + midnight: "півн.", + noon: "пол.", + morning: "ранку", + afternoon: "дня", + evening: "веч.", + night: "ночі", + }, + wide: { + am: "ДП", + pm: "ПП", + midnight: "північ", + noon: "полудень", + morning: "ранку", + afternoon: "дня", + evening: "веч.", + night: "ночі", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const unit = String(options?.unit); + const number = Number(dirtyNumber); + let suffix; + + if (unit === "date") { + if (number === 3 || number === 23) { + suffix = "-є"; + } else { + suffix = "-е"; + } + } else if (unit === "minute" || unit === "second" || unit === "hour") { + suffix = "-а"; + } else { + suffix = "-й"; + } + + return number + suffix; +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uk/_lib/match.js b/.output/server/node_modules/date-fns/locale/uk/_lib/match.js new file mode 100644 index 00000000..aac6fa9b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uk/_lib/match.js @@ -0,0 +1,139 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(-?(е|й|є|а|я))?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^((до )?н\.?\s?е\.?)/i, + abbreviated: /^((до )?н\.?\s?е\.?)/i, + wide: /^(до нашої ери|нашої ери|наша ера)/i, +}; + +const parseEraPatterns = { + any: [/^д/i, /^н/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[иі]?й?)? кв.?/i, + wide: /^[1234](-?[иі]?й?)? квартал/i, +}; + +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[слбктчвжг]/i, + abbreviated: + /^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i, + wide: /^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i, +}; + +const parseMonthPatterns = { + narrow: [ + /^с/i, + /^л/i, + /^б/i, + /^к/i, + /^т/i, + /^ч/i, + /^л/i, + /^с/i, + /^в/i, + /^ж/i, + /^л/i, + /^г/i, + ], + + any: [ + /^сі/i, + /^лю/i, + /^б/i, + /^к/i, + /^т/i, + /^ч/i, + /^лип/i, + /^се/i, + /^в/i, + /^ж/i, + /^лис/i, + /^г/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[нпвсч]/i, + short: /^(нд|пн|вт|ср|чт|пт|сб)\.?/i, + abbreviated: /^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i, + wide: /^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i, +}; + +const parseDayPatterns = { + narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^н/i, /^п[он]/i, /^в/i, /^с[ер]/i, /^ч/i, /^п\W*?[ят]/i, /^с[уб]/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i, + abbreviated: /^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i, + wide: /^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i, +}; + +const parseDayPeriodPatterns = { + any: { + am: /^дп/i, + pm: /^пп/i, + midnight: /^півн/i, + noon: /^пол/i, + morning: /^р/i, + afternoon: /^д[ен]/i, + evening: /^в/i, + night: /^н/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl.js new file mode 100644 index 00000000..5a5c382f --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./uz-Cyrl/_lib/formatDistance.js"; +import { formatLong } from "./uz-Cyrl/_lib/formatLong.js"; +import { formatRelative } from "./uz-Cyrl/_lib/formatRelative.js"; +import { localize } from "./uz-Cyrl/_lib/localize.js"; +import { match } from "./uz-Cyrl/_lib/match.js"; + +/** + * @category Locales + * @summary Uzbek Cyrillic locale. + * @language Uzbek + * @iso-639-2 uzb + * @author Kamronbek Shodmonov [@kamronbek28](https://github.com/kamronbek28) + */ +export const uzCyrl = { + code: "uz-Cyrl", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default uzCyrl; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatDistance.js new file mode 100644 index 00000000..c0d9c1ff --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "1 сониядан кам", + other: "{{count}} сониядан кам", + }, + + xSeconds: { + one: "1 сония", + other: "{{count}} сония", + }, + + halfAMinute: "ярим дақиқа", + + lessThanXMinutes: { + one: "1 дақиқадан кам", + other: "{{count}} дақиқадан кам", + }, + + xMinutes: { + one: "1 дақиқа", + other: "{{count}} дақиқа", + }, + + aboutXHours: { + one: "тахминан 1 соат", + other: "тахминан {{count}} соат", + }, + + xHours: { + one: "1 соат", + other: "{{count}} соат", + }, + + xDays: { + one: "1 кун", + other: "{{count}} кун", + }, + + aboutXWeeks: { + one: "тахминан 1 хафта", + other: "тахминан {{count}} хафта", + }, + + xWeeks: { + one: "1 хафта", + other: "{{count}} хафта", + }, + + aboutXMonths: { + one: "тахминан 1 ой", + other: "тахминан {{count}} ой", + }, + + xMonths: { + one: "1 ой", + other: "{{count}} ой", + }, + + aboutXYears: { + one: "тахминан 1 йил", + other: "тахминан {{count}} йил", + }, + + xYears: { + one: "1 йил", + other: "{{count}} йил", + }, + + overXYears: { + one: "1 йилдан кўп", + other: "{{count}} йилдан кўп", + }, + + almostXYears: { + one: "деярли 1 йил", + other: "деярли {{count}} йил", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "дан кейин"; + } else { + return result + " олдин"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatLong.js new file mode 100644 index 00000000..967165a6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM, y", + long: "do MMMM, y", + medium: "d MMM, y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "H:mm:ss zzzz", + long: "H:mm:ss z", + medium: "H:mm:ss", + short: "H:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatRelative.js new file mode 100644 index 00000000..8ac05d91 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'ўтган' eeee p 'да'", + yesterday: "'кеча' p 'да'", + today: "'бугун' p 'да'", + tomorrow: "'эртага' p 'да'", + nextWeek: "eeee p 'да'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/localize.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/localize.js new file mode 100644 index 00000000..40ef41e1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/localize.js @@ -0,0 +1,123 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["М.А", "М"], + abbreviated: ["М.А", "М"], + wide: ["Милоддан Аввалги", "Милодий"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["1-чор.", "2-чор.", "3-чор.", "4-чор."], + wide: ["1-чорак", "2-чорак", "3-чорак", "4-чорак"], +}; + +const monthValues = { + narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"], + abbreviated: [ + "янв", + "фев", + "мар", + "апр", + "май", + "июн", + "июл", + "авг", + "сен", + "окт", + "ноя", + "дек", + ], + + wide: [ + "январ", + "феврал", + "март", + "апрел", + "май", + "июн", + "июл", + "август", + "сентабр", + "октабр", + "ноябр", + "декабр", + ], +}; + +const dayValues = { + narrow: ["Я", "Д", "С", "Ч", "П", "Ж", "Ш"], + short: ["як", "ду", "се", "чо", "па", "жу", "ша"], + abbreviated: ["якш", "душ", "сеш", "чор", "пай", "жум", "шан"], + wide: [ + "якшанба", + "душанба", + "сешанба", + "чоршанба", + "пайшанба", + "жума", + "шанба", + ], +}; + +const dayPeriodValues = { + any: { + am: "П.О.", + pm: "П.К.", + midnight: "ярим тун", + noon: "пешин", + morning: "эрталаб", + afternoon: "пешиндан кейин", + evening: "кечаси", + night: "тун", + }, +}; + +const formattingDayPeriodValues = { + any: { + am: "П.О.", + pm: "П.К.", + midnight: "ярим тун", + noon: "пешин", + morning: "эрталаб", + afternoon: "пешиндан кейин", + evening: "кечаси", + night: "тун", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "any", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/match.js b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/match.js new file mode 100644 index 00000000..b95aaacd --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz-Cyrl/_lib/match.js @@ -0,0 +1,131 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(чи)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(м\.а|м\.)/i, + abbreviated: /^(м\.а|м\.)/i, + wide: /^(милоддан аввал|милоддан кейин)/i, +}; +const parseEraPatterns = { + any: [/^м/i, /^а/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234]-чор./i, + wide: /^[1234]-чорак/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[яфмамииасонд]/i, + abbreviated: /^(янв|фев|мар|апр|май|июн|июл|авг|сен|окт|ноя|дек)/i, + wide: /^(январ|феврал|март|апрел|май|июн|июл|август|сентабр|октабр|ноябр|декабр)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^я/i, + /^ф/i, + /^м/i, + /^а/i, + /^м/i, + /^и/i, + /^и/i, + /^а/i, + /^с/i, + /^о/i, + /^н/i, + /^д/i, + ], + + any: [ + /^я/i, + /^ф/i, + /^мар/i, + /^ап/i, + /^май/i, + /^июн/i, + /^июл/i, + /^ав/i, + /^с/i, + /^о/i, + /^н/i, + /^д/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[ядсчпжш]/i, + short: /^(як|ду|се|чо|па|жу|ша)/i, + abbreviated: /^(якш|душ|сеш|чор|пай|жум|шан)/i, + wide: /^(якшанба|душанба|сешанба|чоршанба|пайшанба|жума|шанба)/i, +}; +const parseDayPatterns = { + narrow: [/^я/i, /^д/i, /^с/i, /^ч/i, /^п/i, /^ж/i, /^ш/i], + any: [/^як/i, /^ду/i, /^се/i, /^чор/i, /^пай/i, /^жу/i, /^шан/i], +}; + +const matchDayPeriodPatterns = { + any: /^(п\.о\.|п\.к\.|ярим тун|пешиндан кейин|(эрталаб|пешиндан кейин|кечаси|тун))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^п\.о\./i, + pm: /^п\.к\./i, + midnight: /^ярим тун/i, + noon: /^пешиндан кейин/i, + morning: /эрталаб/i, + afternoon: /пешиндан кейин/i, + evening: /кечаси/i, + night: /тун/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz.js b/.output/server/node_modules/date-fns/locale/uz.js new file mode 100644 index 00000000..58c61298 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./uz/_lib/formatDistance.js"; +import { formatLong } from "./uz/_lib/formatLong.js"; +import { formatRelative } from "./uz/_lib/formatRelative.js"; +import { localize } from "./uz/_lib/localize.js"; +import { match } from "./uz/_lib/match.js"; + +/** + * @category Locales + * @summary Uzbek locale. + * @language Uzbek + * @iso-639-2 uzb + * @author Mukhammadali [@mukhammadali](https://github.com/Mukhammadali) + */ +export const uz = { + code: "uz", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default uz; diff --git a/.output/server/node_modules/date-fns/locale/uz/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/uz/_lib/formatDistance.js new file mode 100644 index 00000000..95d4229d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "sekunddan kam", + other: "{{count}} sekunddan kam", + }, + + xSeconds: { + one: "1 sekund", + other: "{{count}} sekund", + }, + + halfAMinute: "yarim minut", + + lessThanXMinutes: { + one: "bir minutdan kam", + other: "{{count}} minutdan kam", + }, + + xMinutes: { + one: "1 minut", + other: "{{count}} minut", + }, + + aboutXHours: { + one: "tahminan 1 soat", + other: "tahminan {{count}} soat", + }, + + xHours: { + one: "1 soat", + other: "{{count}} soat", + }, + + xDays: { + one: "1 kun", + other: "{{count}} kun", + }, + + aboutXWeeks: { + one: "tahminan 1 hafta", + other: "tahminan {{count}} hafta", + }, + + xWeeks: { + one: "1 hafta", + other: "{{count}} hafta", + }, + + aboutXMonths: { + one: "tahminan 1 oy", + other: "tahminan {{count}} oy", + }, + + xMonths: { + one: "1 oy", + other: "{{count}} oy", + }, + + aboutXYears: { + one: "tahminan 1 yil", + other: "tahminan {{count}} yil", + }, + + xYears: { + one: "1 yil", + other: "{{count}} yil", + }, + + overXYears: { + one: "1 yildan ko'p", + other: "{{count}} yildan ko'p", + }, + + almostXYears: { + one: "deyarli 1 yil", + other: "deyarli {{count}} yil", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " dan keyin"; + } else { + return result + " oldin"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/uz/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/uz/_lib/formatLong.js new file mode 100644 index 00000000..1bde7900 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz/_lib/formatLong.js @@ -0,0 +1,36 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "EEEE, do MMMM, y", + long: "do MMMM, y", + medium: "d MMM, y", + short: "dd/MM/yyyy", +}; + +const timeFormats = { + full: "h:mm:ss zzzz", + long: "h:mm:ss z", + medium: "h:mm:ss", + short: "h:mm", +}; + +const dateTimeFormats = { + any: "{{date}}, {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/uz/_lib/formatRelative.js new file mode 100644 index 00000000..8e1d9ed0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'oldingi' eeee p 'da'", + yesterday: "'kecha' p 'da'", + today: "'bugun' p 'da'", + tomorrow: "'ertaga' p 'da'", + nextWeek: "eeee p 'da'", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/uz/_lib/localize.js b/.output/server/node_modules/date-fns/locale/uz/_lib/localize.js new file mode 100644 index 00000000..fdf40958 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz/_lib/localize.js @@ -0,0 +1,167 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["M.A", "M."], + abbreviated: ["M.A", "M."], + wide: ["Miloddan Avvalgi", "Milodiy"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["CH.1", "CH.2", "CH.3", "CH.4"], + wide: ["1-chi chorak", "2-chi chorak", "3-chi chorak", "4-chi chorak"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"], + abbreviated: [ + "Yan", + "Fev", + "Mar", + "Apr", + "May", + "Iyun", + "Iyul", + "Avg", + "Sen", + "Okt", + "Noy", + "Dek", + ], + + wide: [ + "Yanvar", + "Fevral", + "Mart", + "Aprel", + "May", + "Iyun", + "Iyul", + "Avgust", + "Sentabr", + "Oktabr", + "Noyabr", + "Dekabr", + ], +}; + +const dayValues = { + narrow: ["Y", "D", "S", "CH", "P", "J", "SH"], + short: ["Ya", "Du", "Se", "Cho", "Pa", "Ju", "Sha"], + abbreviated: ["Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"], + wide: [ + "Yakshanba", + "Dushanba", + "Seshanba", + "Chorshanba", + "Payshanba", + "Juma", + "Shanba", + ], +}; + +const dayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "y.t", + noon: "p.", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "yarim tun", + noon: "peshin", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "yarim tun", + noon: "peshin", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "a", + pm: "p", + midnight: "y.t", + noon: "p.", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "yarim tun", + noon: "peshin", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "yarim tun", + noon: "peshin", + morning: "ertalab", + afternoon: "tushdan keyin", + evening: "kechqurun", + night: "tun", + }, +}; + +const ordinalNumber = (dirtyNumber, _options) => { + return String(dirtyNumber); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/uz/_lib/match.js b/.output/server/node_modules/date-fns/locale/uz/_lib/match.js new file mode 100644 index 00000000..99bd69f2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/uz/_lib/match.js @@ -0,0 +1,132 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)(chi)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(m\.a|m\.)/i, + abbreviated: /^(m\.a\.?\s?m\.?)/i, + wide: /^(miloddan avval|miloddan keyin)/i, +}; +const parseEraPatterns = { + any: [/^b/i, /^(a|c)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](chi)? chorak/i, +}; +const parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i], +}; + +const matchMonthPatterns = { + narrow: /^[yfmasond]/i, + abbreviated: /^(yan|fev|mar|apr|may|iyun|iyul|avg|sen|okt|noy|dek)/i, + wide: /^(yanvar|fevral|mart|aprel|may|iyun|iyul|avgust|sentabr|oktabr|noyabr|dekabr)/i, +}; +const parseMonthPatterns = { + narrow: [ + /^y/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^i/i, + /^i/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], + + any: [ + /^ya/i, + /^f/i, + /^mar/i, + /^ap/i, + /^may/i, + /^iyun/i, + /^iyul/i, + /^av/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[ydschj]/i, + short: /^(ya|du|se|cho|pa|ju|sha)/i, + abbreviated: /^(yak|dush|sesh|chor|pay|jum|shan)/i, + wide: /^(yakshanba|dushanba|seshanba|chorshanba|payshanba|juma|shanba)/i, +}; +const parseDayPatterns = { + narrow: [/^y/i, /^d/i, /^s/i, /^ch/i, /^p/i, /^j/i, /^sh/i], + any: [/^ya/i, /^d/i, /^se/i, /^ch/i, /^p/i, /^j/i, /^sh/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|y\.t|p| (ertalab|tushdan keyin|kechqurun|tun))/i, + any: /^([ap]\.?\s?m\.?|yarim tun|peshin| (ertalab|tushdan keyin|kechqurun|tun))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^y\.t/i, + noon: /^pe/i, + morning: /ertalab/i, + afternoon: /tushdan keyin/i, + evening: /kechqurun/i, + night: /tun/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/vi.js b/.output/server/node_modules/date-fns/locale/vi.js new file mode 100644 index 00000000..e995a9e5 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi.js @@ -0,0 +1,29 @@ +import { formatDistance } from "./vi/_lib/formatDistance.js"; +import { formatLong } from "./vi/_lib/formatLong.js"; +import { formatRelative } from "./vi/_lib/formatRelative.js"; +import { localize } from "./vi/_lib/localize.js"; +import { match } from "./vi/_lib/match.js"; + +/** + * @category Locales + * @summary Vietnamese locale (Vietnam). + * @language Vietnamese + * @iso-639-2 vie + * @author Thanh Tran [@trongthanh](https://github.com/trongthanh) + * @author Leroy Hopson [@lihop](https://github.com/lihop) + */ +export const vi = { + code: "vi", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1 /* First week of new year contains Jan 1st */, + }, +}; + +// Fallback for modularized imports: +export default vi; diff --git a/.output/server/node_modules/date-fns/locale/vi/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/vi/_lib/formatDistance.js new file mode 100644 index 00000000..cab73860 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "dưới 1 giây", + other: "dưới {{count}} giây", + }, + + xSeconds: { + one: "1 giây", + other: "{{count}} giây", + }, + + halfAMinute: "nửa phút", + + lessThanXMinutes: { + one: "dưới 1 phút", + other: "dưới {{count}} phút", + }, + + xMinutes: { + one: "1 phút", + other: "{{count}} phút", + }, + + aboutXHours: { + one: "khoảng 1 giờ", + other: "khoảng {{count}} giờ", + }, + + xHours: { + one: "1 giờ", + other: "{{count}} giờ", + }, + + xDays: { + one: "1 ngày", + other: "{{count}} ngày", + }, + + aboutXWeeks: { + one: "khoảng 1 tuần", + other: "khoảng {{count}} tuần", + }, + + xWeeks: { + one: "1 tuần", + other: "{{count}} tuần", + }, + + aboutXMonths: { + one: "khoảng 1 tháng", + other: "khoảng {{count}} tháng", + }, + + xMonths: { + one: "1 tháng", + other: "{{count}} tháng", + }, + + aboutXYears: { + one: "khoảng 1 năm", + other: "khoảng {{count}} năm", + }, + + xYears: { + one: "1 năm", + other: "{{count}} năm", + }, + + overXYears: { + one: "hơn 1 năm", + other: "hơn {{count}} năm", + }, + + almostXYears: { + one: "gần 1 năm", + other: "gần {{count}} năm", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + " nữa"; + } else { + return result + " trước"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/vi/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/vi/_lib/formatLong.js new file mode 100644 index 00000000..aef57bda --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi/_lib/formatLong.js @@ -0,0 +1,45 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + // thứ Sáu, ngày 25 tháng 08 năm 2017 + full: "EEEE, 'ngày' d MMMM 'năm' y", + // ngày 25 tháng 08 năm 2017 + long: "'ngày' d MMMM 'năm' y", + // 25 thg 08 năm 2017 + medium: "d MMM 'năm' y", + // 25/08/2017 + short: "dd/MM/y", +}; + +const timeFormats = { + full: "HH:mm:ss zzzz", + long: "HH:mm:ss z", + medium: "HH:mm:ss", + short: "HH:mm", +}; + +const dateTimeFormats = { + // thứ Sáu, ngày 25 tháng 08 năm 2017 23:25:59 + full: "{{date}} {{time}}", + // ngày 25 tháng 08 năm 2017 23:25 + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/vi/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/vi/_lib/formatRelative.js new file mode 100644 index 00000000..646fd9cf --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "eeee 'tuần trước vào lúc' p", + yesterday: "'hôm qua vào lúc' p", + today: "'hôm nay vào lúc' p", + tomorrow: "'ngày mai vào lúc' p", + nextWeek: "eeee 'tới vào lúc' p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/vi/_lib/localize.js b/.output/server/node_modules/date-fns/locale/vi/_lib/localize.js new file mode 100644 index 00000000..a4808552 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi/_lib/localize.js @@ -0,0 +1,286 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +// Vietnamese locale reference: http://www.localeplanet.com/icu/vi-VN/index.html +// Capitalization reference: http://hcmup.edu.vn/index.php?option=com_content&view=article&id=4106%3Avit-hoa-trong-vn-bn-hanh-chinh&catid=2345%3Atham-kho&Itemid=4103&lang=vi&site=134 + +const eraValues = { + narrow: ["TCN", "SCN"], + abbreviated: ["trước CN", "sau CN"], + wide: ["trước Công Nguyên", "sau Công Nguyên"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["Quý 1", "Quý 2", "Quý 3", "Quý 4"], +}; + +const formattingQuarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + // I notice many news outlet use this "quý II/2018" + wide: ["quý I", "quý II", "quý III", "quý IV"], +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +const monthValues = { + narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], + + abbreviated: [ + "Thg 1", + "Thg 2", + "Thg 3", + "Thg 4", + "Thg 5", + "Thg 6", + "Thg 7", + "Thg 8", + "Thg 9", + "Thg 10", + "Thg 11", + "Thg 12", + ], + + wide: [ + "Tháng Một", + "Tháng Hai", + "Tháng Ba", + "Tháng Tư", + "Tháng Năm", + "Tháng Sáu", + "Tháng Bảy", + "Tháng Tám", + "Tháng Chín", + "Tháng Mười", + "Tháng Mười Một", + "Tháng Mười Hai", + ], +}; +// In Vietnamese date formatting, month number less than 10 expected to have leading zero +const formattingMonthValues = { + narrow: [ + "01", + "02", + "03", + "04", + "05", + "06", + "07", + "08", + "09", + "10", + "11", + "12", + ], + + abbreviated: [ + "thg 1", + "thg 2", + "thg 3", + "thg 4", + "thg 5", + "thg 6", + "thg 7", + "thg 8", + "thg 9", + "thg 10", + "thg 11", + "thg 12", + ], + + wide: [ + "tháng 01", + "tháng 02", + "tháng 03", + "tháng 04", + "tháng 05", + "tháng 06", + "tháng 07", + "tháng 08", + "tháng 09", + "tháng 10", + "tháng 11", + "tháng 12", + ], +}; + +const dayValues = { + narrow: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"], + short: ["CN", "Th 2", "Th 3", "Th 4", "Th 5", "Th 6", "Th 7"], + abbreviated: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7"], + + wide: [ + "Chủ Nhật", + "Thứ Hai", + "Thứ Ba", + "Thứ Tư", + "Thứ Năm", + "Thứ Sáu", + "Thứ Bảy", + ], +}; + +// Vietnamese are used to AM/PM borrowing from English, hence `narrow` and +// `abbreviated` are just like English but I'm leaving the `wide` +// format being localized with abbreviations found in some systems (SÁng / CHiều); +// however, personally, I don't think `Chiều` sounds appropriate for `PM` +const dayPeriodValues = { + // narrow date period is extremely rare in Vietnamese + // I used abbreviated form for noon, morning and afternoon + // which are regconizable by Vietnamese, others cannot be any shorter + narrow: { + am: "am", + pm: "pm", + midnight: "nửa đêm", + noon: "tr", + morning: "sg", + afternoon: "ch", + evening: "tối", + night: "đêm", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "nửa đêm", + noon: "trưa", + morning: "sáng", + afternoon: "chiều", + evening: "tối", + night: "đêm", + }, + wide: { + am: "SA", + pm: "CH", + midnight: "nửa đêm", + noon: "trưa", + morning: "sáng", + afternoon: "chiều", + evening: "tối", + night: "đêm", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "am", + pm: "pm", + midnight: "nửa đêm", + noon: "tr", + morning: "sg", + afternoon: "ch", + evening: "tối", + night: "đêm", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "nửa đêm", + noon: "trưa", + morning: "sáng", + afternoon: "chiều", + evening: "tối", + night: "đêm", + }, + wide: { + am: "SA", + pm: "CH", + midnight: "nửa đêm", + noon: "giữa trưa", + morning: "vào buổi sáng", + afternoon: "vào buổi chiều", + evening: "vào buổi tối", + night: "vào ban đêm", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + const unit = options?.unit; + + if (unit === "quarter") { + // many news outlets use "quý I"... + switch (number) { + case 1: + return "I"; + case 2: + return "II"; + case 3: + return "III"; + case 4: + return "IV"; + } + } else if (unit === "day") { + // day of week in Vietnamese has ordinal number meaning, + // so we should use them, else it'll sound weird + switch (number) { + case 1: + return "thứ 2"; // meaning 2nd day but it's the first day of the week :D + case 2: + return "thứ 3"; // meaning 3rd day + case 3: + return "thứ 4"; // meaning 4th day and so on + case 4: + return "thứ 5"; + case 5: + return "thứ 6"; + case 6: + return "thứ 7"; + case 7: + return "chủ nhật"; // meaning Sunday, there's no 8th day :D + } + } else if (unit === "week") { + if (number === 1) { + return "thứ nhất"; + } else { + return "thứ " + number; + } + } else if (unit === "dayOfYear") { + if (number === 1) { + return "đầu tiên"; + } else { + return "thứ " + number; + } + } + + // there are no different forms of ordinal numbers in Vietnamese + return String(number); +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + formattingValues: formattingQuarterValues, + defaultFormattingWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + formattingValues: formattingMonthValues, + defaultFormattingWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/vi/_lib/match.js b/.output/server/node_modules/date-fns/locale/vi/_lib/match.js new file mode 100644 index 00000000..90aaa870 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/vi/_lib/match.js @@ -0,0 +1,154 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(\d+)/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(tcn|scn)/i, + abbreviated: /^(trước CN|sau CN)/i, + wide: /^(trước Công Nguyên|sau Công Nguyên)/i, +}; +const parseEraPatterns = { + any: [/^t/i, /^s/i], +}; + +const matchQuarterPatterns = { + narrow: /^([1234]|i{1,3}v?)/i, + abbreviated: /^q([1234]|i{1,3}v?)/i, + wide: /^quý ([1234]|i{1,3}v?)/i, +}; +const parseQuarterPatterns = { + any: [/(1|i)$/i, /(2|ii)$/i, /(3|iii)$/i, /(4|iv)$/i], +}; + +const matchMonthPatterns = { + // month number may contain leading 0, 'thg' prefix may have space, underscore or empty before number + // note the order of '1' since it is a sub-string of '10', so must be lower priority + narrow: /^(0?[2-9]|10|11|12|0?1)/i, + // note the order of 'thg 1' since it is sub-string of 'thg 10', so must be lower priority + abbreviated: /^thg[ _]?(0?[1-9](?!\d)|10|11|12)/i, + // note the order of 'Mười' since it is sub-string of Mười Một, so must be lower priority + wide: /^tháng ?(Một|Hai|Ba|Tư|Năm|Sáu|Bảy|Tám|Chín|Mười|Mười ?Một|Mười ?Hai|0?[1-9](?!\d)|10|11|12)/i, +}; +const parseMonthPatterns = { + narrow: [ + /0?1$/i, + /0?2/i, + /3/, + /4/, + /5/, + /6/, + /7/, + /8/, + /9/, + /10/, + /11/, + /12/, + ], + + abbreviated: [ + /^thg[ _]?0?1(?!\d)/i, + /^thg[ _]?0?2/i, + /^thg[ _]?0?3/i, + /^thg[ _]?0?4/i, + /^thg[ _]?0?5/i, + /^thg[ _]?0?6/i, + /^thg[ _]?0?7/i, + /^thg[ _]?0?8/i, + /^thg[ _]?0?9/i, + /^thg[ _]?10/i, + /^thg[ _]?11/i, + /^thg[ _]?12/i, + ], + + wide: [ + /^tháng ?(Một|0?1(?!\d))/i, + /^tháng ?(Hai|0?2)/i, + /^tháng ?(Ba|0?3)/i, + /^tháng ?(Tư|0?4)/i, + /^tháng ?(Năm|0?5)/i, + /^tháng ?(Sáu|0?6)/i, + /^tháng ?(Bảy|0?7)/i, + /^tháng ?(Tám|0?8)/i, + /^tháng ?(Chín|0?9)/i, + /^tháng ?(Mười|10)/i, + /^tháng ?(Mười ?Một|11)/i, + /^tháng ?(Mười ?Hai|12)/i, + ], +}; + +const matchDayPatterns = { + narrow: /^(CN|T2|T3|T4|T5|T6|T7)/i, + short: /^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i, + abbreviated: /^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i, + wide: /^(Chủ ?Nhật|Chúa ?Nhật|thứ ?Hai|thứ ?Ba|thứ ?Tư|thứ ?Năm|thứ ?Sáu|thứ ?Bảy)/i, +}; +const parseDayPatterns = { + narrow: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i], + short: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i], + abbreviated: [/CN/i, /2/i, /3/i, /4/i, /5/i, /6/i, /7/i], + wide: [/(Chủ|Chúa) ?Nhật/i, /Hai/i, /Ba/i, /Tư/i, /Năm/i, /Sáu/i, /Bảy/i], +}; + +const matchDayPeriodPatterns = { + narrow: /^(a|p|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i, + abbreviated: /^(am|pm|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i, + wide: /^(ch[^i]*|sa|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^(a|sa)/i, + pm: /^(p|ch[^i]*)/i, + midnight: /nửa đêm/i, + noon: /trưa/i, + morning: /sáng/i, + afternoon: /chiều/i, + evening: /tối/i, + night: /^đêm/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "wide", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "wide", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN.js b/.output/server/node_modules/date-fns/locale/zh-CN.js new file mode 100644 index 00000000..69c5f6c1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN.js @@ -0,0 +1,32 @@ +import { formatDistance } from "./zh-CN/_lib/formatDistance.js"; +import { formatLong } from "./zh-CN/_lib/formatLong.js"; +import { formatRelative } from "./zh-CN/_lib/formatRelative.js"; +import { localize } from "./zh-CN/_lib/localize.js"; +import { match } from "./zh-CN/_lib/match.js"; + +/** + * @category Locales + * @summary Chinese Simplified locale. + * @language Chinese Simplified + * @iso-639-2 zho + * @author Changyu Geng [@KingMario](https://github.com/KingMario) + * @author Song Shuoyun [@fnlctrl](https://github.com/fnlctrl) + * @author sabrinaM [@sabrinamiao](https://github.com/sabrinamiao) + * @author Carney Wu [@cubicwork](https://github.com/cubicwork) + * @author Terrence Lam [@skyuplam](https://github.com/skyuplam) + */ +export const zhCN = { + code: "zh-CN", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default zhCN; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatDistance.js new file mode 100644 index 00000000..82cd33d1 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "不到 1 秒", + other: "不到 {{count}} 秒", + }, + + xSeconds: { + one: "1 秒", + other: "{{count}} 秒", + }, + + halfAMinute: "半分钟", + + lessThanXMinutes: { + one: "不到 1 分钟", + other: "不到 {{count}} 分钟", + }, + + xMinutes: { + one: "1 分钟", + other: "{{count}} 分钟", + }, + + xHours: { + one: "1 小时", + other: "{{count}} 小时", + }, + + aboutXHours: { + one: "大约 1 小时", + other: "大约 {{count}} 小时", + }, + + xDays: { + one: "1 天", + other: "{{count}} 天", + }, + + aboutXWeeks: { + one: "大约 1 个星期", + other: "大约 {{count}} 个星期", + }, + + xWeeks: { + one: "1 个星期", + other: "{{count}} 个星期", + }, + + aboutXMonths: { + one: "大约 1 个月", + other: "大约 {{count}} 个月", + }, + + xMonths: { + one: "1 个月", + other: "{{count}} 个月", + }, + + aboutXYears: { + one: "大约 1 年", + other: "大约 {{count}} 年", + }, + + xYears: { + one: "1 年", + other: "{{count}} 年", + }, + + overXYears: { + one: "超过 1 年", + other: "超过 {{count}} 年", + }, + + almostXYears: { + one: "将近 1 年", + other: "将近 {{count}} 年", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "内"; + } else { + return result + "前"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatLong.js new file mode 100644 index 00000000..c42202e4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y'年'M'月'd'日' EEEE", + long: "y'年'M'月'd'日'", + medium: "yyyy-MM-dd", + short: "yy-MM-dd", +}; + +const timeFormats = { + full: "zzzz a h:mm:ss", + long: "z a h:mm:ss", + medium: "a h:mm:ss", + short: "a h:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatRelative.js new file mode 100644 index 00000000..487f38f6 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/formatRelative.js @@ -0,0 +1,31 @@ +import { isSameWeek } from "../../../isSameWeek.js"; + +function checkWeek(date, baseDate, options) { + const baseFormat = "eeee p"; + + if (isSameWeek(date, baseDate, options)) { + return baseFormat; // in same week + } else if (date.getTime() > baseDate.getTime()) { + return "'下个'" + baseFormat; // in next week + } + return "'上个'" + baseFormat; // in last week +} + +const formatRelativeLocale = { + lastWeek: checkWeek, // days before yesterday, maybe in this week or last week + yesterday: "'昨天' p", + today: "'今天' p", + tomorrow: "'明天' p", + nextWeek: checkWeek, // days after tomorrow, maybe in this week or next week + other: "PP p", +}; + +export const formatRelative = (token, date, baseDate, options) => { + const format = formatRelativeLocale[token]; + + if (typeof format === "function") { + return format(date, baseDate, options); + } + + return format; +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN/_lib/localize.js b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/localize.js new file mode 100644 index 00000000..e74b59f0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/localize.js @@ -0,0 +1,183 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["前", "公元"], + abbreviated: ["前", "公元"], + wide: ["公元前", "公元"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["第一季", "第二季", "第三季", "第四季"], + wide: ["第一季度", "第二季度", "第三季度", "第四季度"], +}; + +const monthValues = { + narrow: [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ], + + abbreviated: [ + "1月", + "2月", + "3月", + "4月", + "5月", + "6月", + "7月", + "8月", + "9月", + "10月", + "11月", + "12月", + ], + + wide: [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "九月", + "十月", + "十一月", + "十二月", + ], +}; + +const dayValues = { + narrow: ["日", "一", "二", "三", "四", "五", "六"], + short: ["日", "一", "二", "三", "四", "五", "六"], + abbreviated: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], + + wide: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], +}; + +const dayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "凌晨", + noon: "午", + morning: "早", + afternoon: "下午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜间", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜间", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "凌晨", + noon: "午", + morning: "早", + afternoon: "下午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜间", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜间", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + switch (options?.unit) { + case "date": + return number.toString() + "日"; + case "hour": + return number.toString() + "时"; + case "minute": + return number.toString() + "分"; + case "second": + return number.toString() + "秒"; + default: + return "第 " + number.toString(); + } +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-CN/_lib/match.js b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/match.js new file mode 100644 index 00000000..391a501b --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-CN/_lib/match.js @@ -0,0 +1,130 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(第\s*)?\d+(日|时|分|秒)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(前)/i, + abbreviated: /^(前)/i, + wide: /^(公元前|公元)/i, +}; +const parseEraPatterns = { + any: [/^(前)/i, /^(公元)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^第[一二三四]刻/i, + wide: /^第[一二三四]刻钟/i, +}; +const parseQuarterPatterns = { + any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i], +}; + +const matchMonthPatterns = { + narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i, + abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i, + wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i, +}; +const parseMonthPatterns = { + narrow: [ + /^一/i, + /^二/i, + /^三/i, + /^四/i, + /^五/i, + /^六/i, + /^七/i, + /^八/i, + /^九/i, + /^十(?!(一|二))/i, + /^十一/i, + /^十二/i, + ], + + any: [ + /^一|1/i, + /^二|2/i, + /^三|3/i, + /^四|4/i, + /^五|5/i, + /^六|6/i, + /^七|7/i, + /^八|8/i, + /^九|9/i, + /^十(?!(一|二))|10/i, + /^十一|11/i, + /^十二|12/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[一二三四五六日]/i, + short: /^[一二三四五六日]/i, + abbreviated: /^周[一二三四五六日]/i, + wide: /^星期[一二三四五六日]/i, +}; +const parseDayPatterns = { + any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i], +}; + +const matchDayPeriodPatterns = { + any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^上午?/i, + pm: /^下午?/i, + midnight: /^午夜/i, + noon: /^[中正]午/i, + morning: /^早上/i, + afternoon: /^下午/i, + evening: /^晚上?/i, + night: /^凌晨/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK.js b/.output/server/node_modules/date-fns/locale/zh-HK.js new file mode 100644 index 00000000..abd1f576 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK.js @@ -0,0 +1,28 @@ +import { formatDistance } from "./zh-HK/_lib/formatDistance.js"; +import { formatLong } from "./zh-HK/_lib/formatLong.js"; +import { formatRelative } from "./zh-HK/_lib/formatRelative.js"; +import { localize } from "./zh-HK/_lib/localize.js"; +import { match } from "./zh-HK/_lib/match.js"; + +/** + * @category Locales + * @summary Chinese Traditional locale. + * @language Chinese Traditional + * @iso-639-2 zho + * @author Gary Ip [@gaplo](https://github.com/gaplo) + */ +export const zhHK = { + code: "zh-HK", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 0 /* Sunday */, + firstWeekContainsDate: 1, + }, +}; + +// Fallback for modularized imports: +export default zhHK; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatDistance.js new file mode 100644 index 00000000..91e3ce72 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "少於 1 秒", + other: "少於 {{count}} 秒", + }, + + xSeconds: { + one: "1 秒", + other: "{{count}} 秒", + }, + + halfAMinute: "半分鐘", + + lessThanXMinutes: { + one: "少於 1 分鐘", + other: "少於 {{count}} 分鐘", + }, + + xMinutes: { + one: "1 分鐘", + other: "{{count}} 分鐘", + }, + + xHours: { + one: "1 小時", + other: "{{count}} 小時", + }, + + aboutXHours: { + one: "大約 1 小時", + other: "大約 {{count}} 小時", + }, + + xDays: { + one: "1 天", + other: "{{count}} 天", + }, + + aboutXWeeks: { + one: "大約 1 個星期", + other: "大約 {{count}} 個星期", + }, + + xWeeks: { + one: "1 個星期", + other: "{{count}} 個星期", + }, + + aboutXMonths: { + one: "大約 1 個月", + other: "大約 {{count}} 個月", + }, + + xMonths: { + one: "1 個月", + other: "{{count}} 個月", + }, + + aboutXYears: { + one: "大約 1 年", + other: "大約 {{count}} 年", + }, + + xYears: { + one: "1 年", + other: "{{count}} 年", + }, + + overXYears: { + one: "超過 1 年", + other: "超過 {{count}} 年", + }, + + almostXYears: { + one: "將近 1 年", + other: "將近 {{count}} 年", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "內"; + } else { + return result + "前"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatLong.js new file mode 100644 index 00000000..c42202e4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y'年'M'月'd'日' EEEE", + long: "y'年'M'月'd'日'", + medium: "yyyy-MM-dd", + short: "yy-MM-dd", +}; + +const timeFormats = { + full: "zzzz a h:mm:ss", + long: "z a h:mm:ss", + medium: "a h:mm:ss", + short: "a h:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatRelative.js new file mode 100644 index 00000000..ebdf84ef --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'上個'eeee p", + yesterday: "'昨天' p", + today: "'今天' p", + tomorrow: "'明天' p", + nextWeek: "'下個'eeee p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK/_lib/localize.js b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/localize.js new file mode 100644 index 00000000..f7dc9d37 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/localize.js @@ -0,0 +1,183 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["前", "公元"], + abbreviated: ["前", "公元"], + wide: ["公元前", "公元"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["第一季", "第二季", "第三季", "第四季"], + wide: ["第一季度", "第二季度", "第三季度", "第四季度"], +}; + +const monthValues = { + narrow: [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ], + + abbreviated: [ + "1月", + "2月", + "3月", + "4月", + "5月", + "6月", + "7月", + "8月", + "9月", + "10月", + "11月", + "12月", + ], + + wide: [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "九月", + "十月", + "十一月", + "十二月", + ], +}; + +const dayValues = { + narrow: ["日", "一", "二", "三", "四", "五", "六"], + short: ["日", "一", "二", "三", "四", "五", "六"], + abbreviated: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], + + wide: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], +}; + +const dayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "午夜", + noon: "晌", + morning: "早", + afternoon: "午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "午夜", + noon: "中午", + morning: "上午", + afternoon: "下午", + evening: "晚上", + night: "夜晚", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "午夜", + noon: "中午", + morning: "上午", + afternoon: "下午", + evening: "晚上", + night: "夜晚", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "午夜", + noon: "晌", + morning: "早", + afternoon: "午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "午夜", + noon: "中午", + morning: "上午", + afternoon: "下午", + evening: "晚上", + night: "夜晚", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "午夜", + noon: "中午", + morning: "上午", + afternoon: "下午", + evening: "晚上", + night: "夜晚", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + switch (options?.unit) { + case "date": + return number + "日"; + case "hour": + return number + "時"; + case "minute": + return number + "分"; + case "second": + return number + "秒"; + default: + return "第 " + number; + } +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-HK/_lib/match.js b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/match.js new file mode 100644 index 00000000..0fbba8e0 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-HK/_lib/match.js @@ -0,0 +1,130 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(第\s*)?\d+(日|時|分|秒)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(前)/i, + abbreviated: /^(前)/i, + wide: /^(公元前|公元)/i, +}; +const parseEraPatterns = { + any: [/^(前)/i, /^(公元)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^第[一二三四]季/i, + wide: /^第[一二三四]季度/i, +}; +const parseQuarterPatterns = { + any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i], +}; + +const matchMonthPatterns = { + narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i, + abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i, + wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i, +}; +const parseMonthPatterns = { + narrow: [ + /^一/i, + /^二/i, + /^三/i, + /^四/i, + /^五/i, + /^六/i, + /^七/i, + /^八/i, + /^九/i, + /^十(?!(一|二))/i, + /^十一/i, + /^十二/i, + ], + + any: [ + /^一|1/i, + /^二|2/i, + /^三|3/i, + /^四|4/i, + /^五|5/i, + /^六|6/i, + /^七|7/i, + /^八|8/i, + /^九|9/i, + /^十(?!(一|二))|10/i, + /^十一|11/i, + /^十二|12/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[一二三四五六日]/i, + short: /^[一二三四五六日]/i, + abbreviated: /^週[一二三四五六日]/i, + wide: /^星期[一二三四五六日]/i, +}; +const parseDayPatterns = { + any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i], +}; + +const matchDayPeriodPatterns = { + any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^上午?/i, + pm: /^下午?/i, + midnight: /^午夜/i, + noon: /^[中正]午/i, + morning: /^早上/i, + afternoon: /^下午/i, + evening: /^晚上?/i, + night: /^凌晨/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW.js b/.output/server/node_modules/date-fns/locale/zh-TW.js new file mode 100644 index 00000000..14aa0dbc --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW.js @@ -0,0 +1,30 @@ +import { formatDistance } from "./zh-TW/_lib/formatDistance.js"; +import { formatLong } from "./zh-TW/_lib/formatLong.js"; +import { formatRelative } from "./zh-TW/_lib/formatRelative.js"; +import { localize } from "./zh-TW/_lib/localize.js"; +import { match } from "./zh-TW/_lib/match.js"; + +/** + * @category Locales + * @summary Chinese Traditional locale. + * @language Chinese Traditional + * @iso-639-2 zho + * @author tonypai [@tpai](https://github.com/tpai) + * @author Jack Hsu [@jackhsu978](https://github.com/jackhsu978) + * @author Terrence Lam [@skyuplam](https://github.com/skyuplam) + */ +export const zhTW = { + code: "zh-TW", + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4, + }, +}; + +// Fallback for modularized imports: +export default zhTW; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatDistance.js b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatDistance.js new file mode 100644 index 00000000..91e3ce72 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatDistance.js @@ -0,0 +1,101 @@ +const formatDistanceLocale = { + lessThanXSeconds: { + one: "少於 1 秒", + other: "少於 {{count}} 秒", + }, + + xSeconds: { + one: "1 秒", + other: "{{count}} 秒", + }, + + halfAMinute: "半分鐘", + + lessThanXMinutes: { + one: "少於 1 分鐘", + other: "少於 {{count}} 分鐘", + }, + + xMinutes: { + one: "1 分鐘", + other: "{{count}} 分鐘", + }, + + xHours: { + one: "1 小時", + other: "{{count}} 小時", + }, + + aboutXHours: { + one: "大約 1 小時", + other: "大約 {{count}} 小時", + }, + + xDays: { + one: "1 天", + other: "{{count}} 天", + }, + + aboutXWeeks: { + one: "大約 1 個星期", + other: "大約 {{count}} 個星期", + }, + + xWeeks: { + one: "1 個星期", + other: "{{count}} 個星期", + }, + + aboutXMonths: { + one: "大約 1 個月", + other: "大約 {{count}} 個月", + }, + + xMonths: { + one: "1 個月", + other: "{{count}} 個月", + }, + + aboutXYears: { + one: "大約 1 年", + other: "大約 {{count}} 年", + }, + + xYears: { + one: "1 年", + other: "{{count}} 年", + }, + + overXYears: { + one: "超過 1 年", + other: "超過 {{count}} 年", + }, + + almostXYears: { + one: "將近 1 年", + other: "將近 {{count}} 年", + }, +}; + +export const formatDistance = (token, count, options) => { + let result; + + const tokenValue = formatDistanceLocale[token]; + if (typeof tokenValue === "string") { + result = tokenValue; + } else if (count === 1) { + result = tokenValue.one; + } else { + result = tokenValue.other.replace("{{count}}", String(count)); + } + + if (options?.addSuffix) { + if (options.comparison && options.comparison > 0) { + return result + "內"; + } else { + return result + "前"; + } + } + + return result; +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatLong.js b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatLong.js new file mode 100644 index 00000000..c42202e4 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatLong.js @@ -0,0 +1,39 @@ +import { buildFormatLongFn } from "../../_lib/buildFormatLongFn.js"; + +const dateFormats = { + full: "y'年'M'月'd'日' EEEE", + long: "y'年'M'月'd'日'", + medium: "yyyy-MM-dd", + short: "yy-MM-dd", +}; + +const timeFormats = { + full: "zzzz a h:mm:ss", + long: "z a h:mm:ss", + medium: "a h:mm:ss", + short: "a h:mm", +}; + +const dateTimeFormats = { + full: "{{date}} {{time}}", + long: "{{date}} {{time}}", + medium: "{{date}} {{time}}", + short: "{{date}} {{time}}", +}; + +export const formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: "full", + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: "full", + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: "full", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatRelative.js b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatRelative.js new file mode 100644 index 00000000..ebdf84ef --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/formatRelative.js @@ -0,0 +1,11 @@ +const formatRelativeLocale = { + lastWeek: "'上個'eeee p", + yesterday: "'昨天' p", + today: "'今天' p", + tomorrow: "'明天' p", + nextWeek: "'下個'eeee p", + other: "P", +}; + +export const formatRelative = (token, _date, _baseDate, _options) => + formatRelativeLocale[token]; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW/_lib/localize.js b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/localize.js new file mode 100644 index 00000000..3e8eecb2 --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/localize.js @@ -0,0 +1,183 @@ +import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js"; + +const eraValues = { + narrow: ["前", "公元"], + abbreviated: ["前", "公元"], + wide: ["公元前", "公元"], +}; + +const quarterValues = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["第一刻", "第二刻", "第三刻", "第四刻"], + wide: ["第一刻鐘", "第二刻鐘", "第三刻鐘", "第四刻鐘"], +}; + +const monthValues = { + narrow: [ + "一", + "二", + "三", + "四", + "五", + "六", + "七", + "八", + "九", + "十", + "十一", + "十二", + ], + + abbreviated: [ + "1月", + "2月", + "3月", + "4月", + "5月", + "6月", + "7月", + "8月", + "9月", + "10月", + "11月", + "12月", + ], + + wide: [ + "一月", + "二月", + "三月", + "四月", + "五月", + "六月", + "七月", + "八月", + "九月", + "十月", + "十一月", + "十二月", + ], +}; + +const dayValues = { + narrow: ["日", "一", "二", "三", "四", "五", "六"], + short: ["日", "一", "二", "三", "四", "五", "六"], + abbreviated: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], + + wide: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], +}; + +const dayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "凌晨", + noon: "午", + morning: "早", + afternoon: "下午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜間", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜間", + }, +}; + +const formattingDayPeriodValues = { + narrow: { + am: "上", + pm: "下", + midnight: "凌晨", + noon: "午", + morning: "早", + afternoon: "下午", + evening: "晚", + night: "夜", + }, + abbreviated: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜間", + }, + wide: { + am: "上午", + pm: "下午", + midnight: "凌晨", + noon: "中午", + morning: "早晨", + afternoon: "中午", + evening: "晚上", + night: "夜間", + }, +}; + +const ordinalNumber = (dirtyNumber, options) => { + const number = Number(dirtyNumber); + + switch (options?.unit) { + case "date": + return number + "日"; + case "hour": + return number + "時"; + case "minute": + return number + "分"; + case "second": + return number + "秒"; + default: + return "第 " + number; + } +}; + +export const localize = { + ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: "wide", + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: "wide", + argumentCallback: (quarter) => quarter - 1, + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: "wide", + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: "wide", + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: "wide", + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: "wide", + }), +}; diff --git a/.output/server/node_modules/date-fns/locale/zh-TW/_lib/match.js b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/match.js new file mode 100644 index 00000000..a33df53d --- /dev/null +++ b/.output/server/node_modules/date-fns/locale/zh-TW/_lib/match.js @@ -0,0 +1,130 @@ +import { buildMatchFn } from "../../_lib/buildMatchFn.js"; +import { buildMatchPatternFn } from "../../_lib/buildMatchPatternFn.js"; + +const matchOrdinalNumberPattern = /^(第\s*)?\d+(日|時|分|秒)?/i; +const parseOrdinalNumberPattern = /\d+/i; + +const matchEraPatterns = { + narrow: /^(前)/i, + abbreviated: /^(前)/i, + wide: /^(公元前|公元)/i, +}; +const parseEraPatterns = { + any: [/^(前)/i, /^(公元)/i], +}; + +const matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^第[一二三四]刻/i, + wide: /^第[一二三四]刻鐘/i, +}; +const parseQuarterPatterns = { + any: [/(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i], +}; + +const matchMonthPatterns = { + narrow: /^(一|二|三|四|五|六|七|八|九|十[二一])/i, + abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i, + wide: /^(一|二|三|四|五|六|七|八|九|十[二一])月/i, +}; +const parseMonthPatterns = { + narrow: [ + /^一/i, + /^二/i, + /^三/i, + /^四/i, + /^五/i, + /^六/i, + /^七/i, + /^八/i, + /^九/i, + /^十(?!(一|二))/i, + /^十一/i, + /^十二/i, + ], + + any: [ + /^一|1/i, + /^二|2/i, + /^三|3/i, + /^四|4/i, + /^五|5/i, + /^六|6/i, + /^七|7/i, + /^八|8/i, + /^九|9/i, + /^十(?!(一|二))|10/i, + /^十一|11/i, + /^十二|12/i, + ], +}; + +const matchDayPatterns = { + narrow: /^[一二三四五六日]/i, + short: /^[一二三四五六日]/i, + abbreviated: /^週[一二三四五六日]/i, + wide: /^星期[一二三四五六日]/i, +}; +const parseDayPatterns = { + any: [/日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i], +}; + +const matchDayPeriodPatterns = { + any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i, +}; +const parseDayPeriodPatterns = { + any: { + am: /^上午?/i, + pm: /^下午?/i, + midnight: /^午夜/i, + noon: /^[中正]午/i, + morning: /^早上/i, + afternoon: /^下午/i, + evening: /^晚上?/i, + night: /^凌晨/i, + }, +}; + +export const match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: (value) => parseInt(value, 10), + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseEraPatterns, + defaultParseWidth: "any", + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseQuarterPatterns, + defaultParseWidth: "any", + valueCallback: (index) => index + 1, + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseMonthPatterns, + defaultParseWidth: "any", + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: "wide", + parsePatterns: parseDayPatterns, + defaultParseWidth: "any", + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: "any", + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: "any", + }), +}; diff --git a/.output/server/node_modules/date-fns/max.js b/.output/server/node_modules/date-fns/max.js new file mode 100644 index 00000000..22360283 --- /dev/null +++ b/.output/server/node_modules/date-fns/max.js @@ -0,0 +1,50 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link max} function options. + */ + +/** + * @name max + * @category Common Helpers + * @summary Return the latest of the given dates. + * + * @description + * Return the latest of the given dates. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param dates - The dates to compare + * + * @returns The latest of the dates + * + * @example + * // Which of these dates is the latest? + * const result = max([ + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ]) + * //=> Sun Jul 02 1995 00:00:00 + */ +export function max(dates, options) { + let result; + let context = options?.in; + + dates.forEach((date) => { + // Use the first date object as the context function + if (!context && typeof date === "object") + context = constructFrom.bind(null, date); + + const date_ = toDate(date, context); + if (!result || result < date_ || isNaN(+date_)) result = date_; + }); + + return constructFrom(context, result || NaN); +} + +// Fallback for modularized imports: +export default max; diff --git a/.output/server/node_modules/date-fns/milliseconds.js b/.output/server/node_modules/date-fns/milliseconds.js new file mode 100644 index 00000000..f5575060 --- /dev/null +++ b/.output/server/node_modules/date-fns/milliseconds.js @@ -0,0 +1,58 @@ +import { daysInYear } from "./constants.js"; + +/** + * @name milliseconds + * @category Millisecond Helpers + * @summary + * Returns the number of milliseconds in the specified, years, months, weeks, days, hours, minutes and seconds. + * + * @description + * Returns the number of milliseconds in the specified, years, months, weeks, days, hours, minutes and seconds. + * + * One years equals 365.2425 days according to the formula: + * + * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400. + * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days + * + * One month is a year divided by 12. + * + * @param duration - The object with years, months, weeks, days, hours, minutes and seconds to be added. + * + * @returns The milliseconds + * + * @example + * // 1 year in milliseconds + * milliseconds({ years: 1 }) + * //=> 31556952000 + * + * // 3 months in milliseconds + * milliseconds({ months: 3 }) + * //=> 7889238000 + */ +export function milliseconds({ + years, + months, + weeks, + days, + hours, + minutes, + seconds, +}) { + let totalDays = 0; + + if (years) totalDays += years * daysInYear; + if (months) totalDays += months * (daysInYear / 12); + if (weeks) totalDays += weeks * 7; + if (days) totalDays += days; + + let totalSeconds = totalDays * 24 * 60 * 60; + + if (hours) totalSeconds += hours * 60 * 60; + if (minutes) totalSeconds += minutes * 60; + if (seconds) totalSeconds += seconds; + + return Math.trunc(totalSeconds * 1000); +} + +// Fallback for modularized imports: +export default milliseconds; diff --git a/.output/server/node_modules/date-fns/millisecondsToHours.js b/.output/server/node_modules/date-fns/millisecondsToHours.js new file mode 100644 index 00000000..609e378c --- /dev/null +++ b/.output/server/node_modules/date-fns/millisecondsToHours.js @@ -0,0 +1,31 @@ +import { millisecondsInHour } from "./constants.js"; + +/** + * @name millisecondsToHours + * @category Conversion Helpers + * @summary Convert milliseconds to hours. + * + * @description + * Convert a number of milliseconds to a full number of hours. + * + * @param milliseconds - The number of milliseconds to be converted + * + * @returns The number of milliseconds converted in hours + * + * @example + * // Convert 7200000 milliseconds to hours: + * const result = millisecondsToHours(7200000) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = millisecondsToHours(7199999) + * //=> 1 + */ +export function millisecondsToHours(milliseconds) { + const hours = milliseconds / millisecondsInHour; + return Math.trunc(hours); +} + +// Fallback for modularized imports: +export default millisecondsToHours; diff --git a/.output/server/node_modules/date-fns/millisecondsToMinutes.js b/.output/server/node_modules/date-fns/millisecondsToMinutes.js new file mode 100644 index 00000000..9900263f --- /dev/null +++ b/.output/server/node_modules/date-fns/millisecondsToMinutes.js @@ -0,0 +1,31 @@ +import { millisecondsInMinute } from "./constants.js"; + +/** + * @name millisecondsToMinutes + * @category Conversion Helpers + * @summary Convert milliseconds to minutes. + * + * @description + * Convert a number of milliseconds to a full number of minutes. + * + * @param milliseconds - The number of milliseconds to be converted + * + * @returns The number of milliseconds converted in minutes + * + * @example + * // Convert 60000 milliseconds to minutes: + * const result = millisecondsToMinutes(60000) + * //=> 1 + * + * @example + * // It uses floor rounding: + * const result = millisecondsToMinutes(119999) + * //=> 1 + */ +export function millisecondsToMinutes(milliseconds) { + const minutes = milliseconds / millisecondsInMinute; + return Math.trunc(minutes); +} + +// Fallback for modularized imports: +export default millisecondsToMinutes; diff --git a/.output/server/node_modules/date-fns/millisecondsToSeconds.js b/.output/server/node_modules/date-fns/millisecondsToSeconds.js new file mode 100644 index 00000000..11dc2b3f --- /dev/null +++ b/.output/server/node_modules/date-fns/millisecondsToSeconds.js @@ -0,0 +1,31 @@ +import { millisecondsInSecond } from "./constants.js"; + +/** + * @name millisecondsToSeconds + * @category Conversion Helpers + * @summary Convert milliseconds to seconds. + * + * @description + * Convert a number of milliseconds to a full number of seconds. + * + * @param milliseconds - The number of milliseconds to be converted + * + * @returns The number of milliseconds converted in seconds + * + * @example + * // Convert 1000 milliseconds to seconds: + * const result = millisecondsToSeconds(1000) + * //=> 1 + * + * @example + * // It uses floor rounding: + * const result = millisecondsToSeconds(1999) + * //=> 1 + */ +export function millisecondsToSeconds(milliseconds) { + const seconds = milliseconds / millisecondsInSecond; + return Math.trunc(seconds); +} + +// Fallback for modularized imports: +export default millisecondsToSeconds; diff --git a/.output/server/node_modules/date-fns/min.js b/.output/server/node_modules/date-fns/min.js new file mode 100644 index 00000000..5e4cc912 --- /dev/null +++ b/.output/server/node_modules/date-fns/min.js @@ -0,0 +1,50 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link min} function options. + */ + +/** + * @name min + * @category Common Helpers + * @summary Returns the earliest of the given dates. + * + * @description + * Returns the earliest of the given dates. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param dates - The dates to compare + * + * @returns The earliest of the dates + * + * @example + * // Which of these dates is the earliest? + * const result = min([ + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ]) + * //=> Wed Feb 11 1987 00:00:00 + */ +export function min(dates, options) { + let result; + let context = options?.in; + + dates.forEach((date) => { + // Use the first date object as the context function + if (!context && typeof date === "object") + context = constructFrom.bind(null, date); + + const date_ = toDate(date, context); + if (!result || result > date_ || isNaN(+date_)) result = date_; + }); + + return constructFrom(context, result || NaN); +} + +// Fallback for modularized imports: +export default min; diff --git a/.output/server/node_modules/date-fns/minutesToHours.js b/.output/server/node_modules/date-fns/minutesToHours.js new file mode 100644 index 00000000..d396be5e --- /dev/null +++ b/.output/server/node_modules/date-fns/minutesToHours.js @@ -0,0 +1,31 @@ +import { minutesInHour } from "./constants.js"; + +/** + * @name minutesToHours + * @category Conversion Helpers + * @summary Convert minutes to hours. + * + * @description + * Convert a number of minutes to a full number of hours. + * + * @param minutes - The number of minutes to be converted + * + * @returns The number of minutes converted in hours + * + * @example + * // Convert 140 minutes to hours: + * const result = minutesToHours(120) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = minutesToHours(179) + * //=> 2 + */ +export function minutesToHours(minutes) { + const hours = minutes / minutesInHour; + return Math.trunc(hours); +} + +// Fallback for modularized imports: +export default minutesToHours; diff --git a/.output/server/node_modules/date-fns/minutesToMilliseconds.js b/.output/server/node_modules/date-fns/minutesToMilliseconds.js new file mode 100644 index 00000000..f55426d4 --- /dev/null +++ b/.output/server/node_modules/date-fns/minutesToMilliseconds.js @@ -0,0 +1,25 @@ +import { millisecondsInMinute } from "./constants.js"; + +/** + * @name minutesToMilliseconds + * @category Conversion Helpers + * @summary Convert minutes to milliseconds. + * + * @description + * Convert a number of minutes to a full number of milliseconds. + * + * @param minutes - The number of minutes to be converted + * + * @returns The number of minutes converted in milliseconds + * + * @example + * // Convert 2 minutes to milliseconds + * const result = minutesToMilliseconds(2) + * //=> 120000 + */ +export function minutesToMilliseconds(minutes) { + return Math.trunc(minutes * millisecondsInMinute); +} + +// Fallback for modularized imports: +export default minutesToMilliseconds; diff --git a/.output/server/node_modules/date-fns/minutesToSeconds.js b/.output/server/node_modules/date-fns/minutesToSeconds.js new file mode 100644 index 00000000..c7352ef7 --- /dev/null +++ b/.output/server/node_modules/date-fns/minutesToSeconds.js @@ -0,0 +1,25 @@ +import { secondsInMinute } from "./constants.js"; + +/** + * @name minutesToSeconds + * @category Conversion Helpers + * @summary Convert minutes to seconds. + * + * @description + * Convert a number of minutes to a full number of seconds. + * + * @param minutes - The number of minutes to be converted + * + * @returns The number of minutes converted in seconds + * + * @example + * // Convert 2 minutes to seconds + * const result = minutesToSeconds(2) + * //=> 120 + */ +export function minutesToSeconds(minutes) { + return Math.trunc(minutes * secondsInMinute); +} + +// Fallback for modularized imports: +export default minutesToSeconds; diff --git a/.output/server/node_modules/date-fns/monthsToQuarters.js b/.output/server/node_modules/date-fns/monthsToQuarters.js new file mode 100644 index 00000000..c8f7732a --- /dev/null +++ b/.output/server/node_modules/date-fns/monthsToQuarters.js @@ -0,0 +1,31 @@ +import { monthsInQuarter } from "./constants.js"; + +/** + * @name monthsToQuarters + * @category Conversion Helpers + * @summary Convert number of months to quarters. + * + * @description + * Convert a number of months to a full number of quarters. + * + * @param months - The number of months to be converted. + * + * @returns The number of months converted in quarters + * + * @example + * // Convert 6 months to quarters: + * const result = monthsToQuarters(6) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = monthsToQuarters(7) + * //=> 2 + */ +export function monthsToQuarters(months) { + const quarters = months / monthsInQuarter; + return Math.trunc(quarters); +} + +// Fallback for modularized imports: +export default monthsToQuarters; diff --git a/.output/server/node_modules/date-fns/monthsToYears.js b/.output/server/node_modules/date-fns/monthsToYears.js new file mode 100644 index 00000000..3b13170c --- /dev/null +++ b/.output/server/node_modules/date-fns/monthsToYears.js @@ -0,0 +1,30 @@ +import { monthsInYear } from "./constants.js"; + +/** + * @name monthsToYears + * @category Conversion Helpers + * @summary Convert number of months to years. + * + * @description + * Convert a number of months to a full number of years. + * + * @param months - The number of months to be converted + * + * @returns The number of months converted in years + * + * @example + * // Convert 36 months to years: + * const result = monthsToYears(36) + * //=> 3 + * + * // It uses floor rounding: + * const result = monthsToYears(40) + * //=> 3 + */ +export function monthsToYears(months) { + const years = months / monthsInYear; + return Math.trunc(years); +} + +// Fallback for modularized imports: +export default monthsToYears; diff --git a/.output/server/node_modules/date-fns/nextDay.js b/.output/server/node_modules/date-fns/nextDay.js new file mode 100644 index 00000000..a710d765 --- /dev/null +++ b/.output/server/node_modules/date-fns/nextDay.js @@ -0,0 +1,40 @@ +import { addDays } from "./addDays.js"; +import { getDay } from "./getDay.js"; + +/** + * The {@link nextDay} function options. + */ + +/** + * @name nextDay + * @category Weekday Helpers + * @summary When is the next day of the week? 0-6 the day of the week, 0 represents Sunday. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to check + * @param day - Day of the week + * @param options - An object with options + * + * @returns The date is the next day of the week + * + * @example + * // When is the next Monday after Mar, 20, 2020? + * const result = nextDay(new Date(2020, 2, 20), 1) + * //=> Mon Mar 23 2020 00:00:00 + * + * @example + * // When is the next Tuesday after Mar, 21, 2020? + * const result = nextDay(new Date(2020, 2, 21), 2) + * //=> Tue Mar 24 2020 00:00:00 + */ +export function nextDay(date, day, options) { + let delta = day - getDay(date, options); + if (delta <= 0) delta += 7; + + return addDays(date, delta, options); +} + +// Fallback for modularized imports: +export default nextDay; diff --git a/.output/server/node_modules/date-fns/nextFriday.js b/.output/server/node_modules/date-fns/nextFriday.js new file mode 100644 index 00000000..0c01846e --- /dev/null +++ b/.output/server/node_modules/date-fns/nextFriday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextFriday} function options. + */ + +/** + * @name nextFriday + * @category Weekday Helpers + * @summary When is the next Friday? + * + * @description + * When is the next Friday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Friday + * + * @example + * // When is the next Friday after Mar, 22, 2020? + * const result = nextFriday(new Date(2020, 2, 22)) + * //=> Fri Mar 27 2020 00:00:00 + */ +export function nextFriday(date, options) { + return nextDay(date, 5, options); +} + +// Fallback for modularized imports: +export default nextFriday; diff --git a/.output/server/node_modules/date-fns/nextMonday.js b/.output/server/node_modules/date-fns/nextMonday.js new file mode 100644 index 00000000..45be1669 --- /dev/null +++ b/.output/server/node_modules/date-fns/nextMonday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextMonday} function options. + */ + +/** + * @name nextMonday + * @category Weekday Helpers + * @summary When is the next Monday? + * + * @description + * When is the next Monday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, returned from the context function if passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Monday + * + * @example + * // When is the next Monday after Mar, 22, 2020? + * const result = nextMonday(new Date(2020, 2, 22)) + * //=> Mon Mar 23 2020 00:00:00 + */ +export function nextMonday(date, options) { + return nextDay(date, 1, options); +} + +// Fallback for modularized imports: +export default nextMonday; diff --git a/.output/server/node_modules/date-fns/nextSaturday.js b/.output/server/node_modules/date-fns/nextSaturday.js new file mode 100644 index 00000000..6c03bffc --- /dev/null +++ b/.output/server/node_modules/date-fns/nextSaturday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextSaturday} function options. + */ + +/** + * @name nextSaturday + * @category Weekday Helpers + * @summary When is the next Saturday? + * + * @description + * When is the next Saturday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Saturday + * + * @example + * // When is the next Saturday after Mar, 22, 2020? + * const result = nextSaturday(new Date(2020, 2, 22)) + * //=> Sat Mar 28 2020 00:00:00 + */ +export function nextSaturday(date, options) { + return nextDay(date, 6, options); +} + +// Fallback for modularized imports: +export default nextSaturday; diff --git a/.output/server/node_modules/date-fns/nextSunday.js b/.output/server/node_modules/date-fns/nextSunday.js new file mode 100644 index 00000000..9c8e701c --- /dev/null +++ b/.output/server/node_modules/date-fns/nextSunday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextSunday} function options. + */ + +/** + * @name nextSunday + * @category Weekday Helpers + * @summary When is the next Sunday? + * + * @description + * When is the next Sunday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned if a context is provided. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Sunday + * + * @example + * // When is the next Sunday after March 22, 2020? + * const result = nextSunday(new Date(2020, 2, 22)) + * //=> Sun Mar 29 2020 00:00:00 + */ +export function nextSunday(date, options) { + return nextDay(date, 0, options); +} + +// Fallback for modularized imports: +export default nextSunday; diff --git a/.output/server/node_modules/date-fns/nextThursday.js b/.output/server/node_modules/date-fns/nextThursday.js new file mode 100644 index 00000000..1ab02b72 --- /dev/null +++ b/.output/server/node_modules/date-fns/nextThursday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextThursday} function options. + */ + +/** + * @name nextThursday + * @category Weekday Helpers + * @summary When is the next Thursday? + * + * @description + * When is the next Thursday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Thursday + * + * @example + * // When is the next Thursday after Mar, 22, 2020? + * const result = nextThursday(new Date(2020, 2, 22)) + * //=> Thur Mar 26 2020 00:00:00 + */ +export function nextThursday(date, options) { + return nextDay(date, 4, options); +} + +// Fallback for modularized imports: +export default nextThursday; diff --git a/.output/server/node_modules/date-fns/nextTuesday.js b/.output/server/node_modules/date-fns/nextTuesday.js new file mode 100644 index 00000000..6884702e --- /dev/null +++ b/.output/server/node_modules/date-fns/nextTuesday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextTuesday} function options. + */ + +/** + * @name nextTuesday + * @category Weekday Helpers + * @summary When is the next Tuesday? + * + * @description + * When is the next Tuesday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Tuesday + * + * @example + * // When is the next Tuesday after Mar, 22, 2020? + * const result = nextTuesday(new Date(2020, 2, 22)) + * //=> Tue Mar 24 2020 00:00:00 + */ +export function nextTuesday(date, options) { + return nextDay(date, 2, options); +} + +// Fallback for modularized imports: +export default nextTuesday; diff --git a/.output/server/node_modules/date-fns/nextWednesday.js b/.output/server/node_modules/date-fns/nextWednesday.js new file mode 100644 index 00000000..ab805df4 --- /dev/null +++ b/.output/server/node_modules/date-fns/nextWednesday.js @@ -0,0 +1,33 @@ +import { nextDay } from "./nextDay.js"; + +/** + * The {@link nextWednesday} function options. + */ + +/** + * @name nextWednesday + * @category Weekday Helpers + * @summary When is the next Wednesday? + * + * @description + * When is the next Wednesday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The next Wednesday + * + * @example + * // When is the next Wednesday after Mar, 22, 2020? + * const result = nextWednesday(new Date(2020, 2, 22)) + * //=> Wed Mar 25 2020 00:00:00 + */ +export function nextWednesday(date, options) { + return nextDay(date, 3, options); +} + +// Fallback for modularized imports: +export default nextWednesday; diff --git a/.output/server/node_modules/date-fns/package.json b/.output/server/node_modules/date-fns/package.json new file mode 100644 index 00000000..7a5ed470 --- /dev/null +++ b/.output/server/node_modules/date-fns/package.json @@ -0,0 +1,7472 @@ +{ + "name": "date-fns", + "version": "4.1.0", + "contributors": [ + "Sasha Koss <koss@nocorp.me>", + "Lesha Koss <regiusprod@gmail.com>" + ], + "license": "MIT", + "description": "Modern JavaScript date utility library", + "repository": "https://github.com/date-fns/date-fns", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + }, + "sideEffects": false, + "browser": "./index", + "type": "module", + "main": "index.cjs", + "module": "index.js", + "jsdelivr": "./cdn.min.js", + "exports": { + "./package.json": "./package.json", + ".": { + "require": { + "types": "./index.d.cts", + "default": "./index.cjs" + }, + "import": { + "types": "./index.d.ts", + "default": "./index.js" + } + }, + "./constants": { + "require": { + "types": "./constants.d.cts", + "default": "./constants.cjs" + }, + "import": { + "types": "./constants.d.ts", + "default": "./constants.js" + } + }, + "./locale": { + "require": { + "types": "./locale.d.cts", + "default": "./locale.cjs" + }, + "import": { + "types": "./locale.d.ts", + "default": "./locale.js" + } + }, + "./fp": { + "require": { + "types": "./fp.d.cts", + "default": "./fp.cjs" + }, + "import": { + "types": "./fp.d.ts", + "default": "./fp.js" + } + }, + "./add": { + "require": { + "types": "./add.d.cts", + "default": "./add.cjs" + }, + "import": { + "types": "./add.d.ts", + "default": "./add.js" + } + }, + "./addBusinessDays": { + "require": { + "types": "./addBusinessDays.d.cts", + "default": "./addBusinessDays.cjs" + }, + "import": { + "types": "./addBusinessDays.d.ts", + "default": "./addBusinessDays.js" + } + }, + "./addDays": { + "require": { + "types": "./addDays.d.cts", + "default": "./addDays.cjs" + }, + "import": { + "types": "./addDays.d.ts", + "default": "./addDays.js" + } + }, + "./addHours": { + "require": { + "types": "./addHours.d.cts", + "default": "./addHours.cjs" + }, + "import": { + "types": "./addHours.d.ts", + "default": "./addHours.js" + } + }, + "./addISOWeekYears": { + "require": { + "types": "./addISOWeekYears.d.cts", + "default": "./addISOWeekYears.cjs" + }, + "import": { + "types": "./addISOWeekYears.d.ts", + "default": "./addISOWeekYears.js" + } + }, + "./addMilliseconds": { + "require": { + "types": "./addMilliseconds.d.cts", + "default": "./addMilliseconds.cjs" + }, + "import": { + "types": "./addMilliseconds.d.ts", + "default": "./addMilliseconds.js" + } + }, + "./addMinutes": { + "require": { + "types": "./addMinutes.d.cts", + "default": "./addMinutes.cjs" + }, + "import": { + "types": "./addMinutes.d.ts", + "default": "./addMinutes.js" + } + }, + "./addMonths": { + "require": { + "types": "./addMonths.d.cts", + "default": "./addMonths.cjs" + }, + "import": { + "types": "./addMonths.d.ts", + "default": "./addMonths.js" + } + }, + "./addQuarters": { + "require": { + "types": "./addQuarters.d.cts", + "default": "./addQuarters.cjs" + }, + "import": { + "types": "./addQuarters.d.ts", + "default": "./addQuarters.js" + } + }, + "./addSeconds": { + "require": { + "types": "./addSeconds.d.cts", + "default": "./addSeconds.cjs" + }, + "import": { + "types": "./addSeconds.d.ts", + "default": "./addSeconds.js" + } + }, + "./addWeeks": { + "require": { + "types": "./addWeeks.d.cts", + "default": "./addWeeks.cjs" + }, + "import": { + "types": "./addWeeks.d.ts", + "default": "./addWeeks.js" + } + }, + "./addYears": { + "require": { + "types": "./addYears.d.cts", + "default": "./addYears.cjs" + }, + "import": { + "types": "./addYears.d.ts", + "default": "./addYears.js" + } + }, + "./areIntervalsOverlapping": { + "require": { + "types": "./areIntervalsOverlapping.d.cts", + "default": "./areIntervalsOverlapping.cjs" + }, + "import": { + "types": "./areIntervalsOverlapping.d.ts", + "default": "./areIntervalsOverlapping.js" + } + }, + "./clamp": { + "require": { + "types": "./clamp.d.cts", + "default": "./clamp.cjs" + }, + "import": { + "types": "./clamp.d.ts", + "default": "./clamp.js" + } + }, + "./closestIndexTo": { + "require": { + "types": "./closestIndexTo.d.cts", + "default": "./closestIndexTo.cjs" + }, + "import": { + "types": "./closestIndexTo.d.ts", + "default": "./closestIndexTo.js" + } + }, + "./closestTo": { + "require": { + "types": "./closestTo.d.cts", + "default": "./closestTo.cjs" + }, + "import": { + "types": "./closestTo.d.ts", + "default": "./closestTo.js" + } + }, + "./compareAsc": { + "require": { + "types": "./compareAsc.d.cts", + "default": "./compareAsc.cjs" + }, + "import": { + "types": "./compareAsc.d.ts", + "default": "./compareAsc.js" + } + }, + "./compareDesc": { + "require": { + "types": "./compareDesc.d.cts", + "default": "./compareDesc.cjs" + }, + "import": { + "types": "./compareDesc.d.ts", + "default": "./compareDesc.js" + } + }, + "./constructFrom": { + "require": { + "types": "./constructFrom.d.cts", + "default": "./constructFrom.cjs" + }, + "import": { + "types": "./constructFrom.d.ts", + "default": "./constructFrom.js" + } + }, + "./constructNow": { + "require": { + "types": "./constructNow.d.cts", + "default": "./constructNow.cjs" + }, + "import": { + "types": "./constructNow.d.ts", + "default": "./constructNow.js" + } + }, + "./daysToWeeks": { + "require": { + "types": "./daysToWeeks.d.cts", + "default": "./daysToWeeks.cjs" + }, + "import": { + "types": "./daysToWeeks.d.ts", + "default": "./daysToWeeks.js" + } + }, + "./differenceInBusinessDays": { + "require": { + "types": "./differenceInBusinessDays.d.cts", + "default": "./differenceInBusinessDays.cjs" + }, + "import": { + "types": "./differenceInBusinessDays.d.ts", + "default": "./differenceInBusinessDays.js" + } + }, + "./differenceInCalendarDays": { + "require": { + "types": "./differenceInCalendarDays.d.cts", + "default": "./differenceInCalendarDays.cjs" + }, + "import": { + "types": "./differenceInCalendarDays.d.ts", + "default": "./differenceInCalendarDays.js" + } + }, + "./differenceInCalendarISOWeekYears": { + "require": { + "types": "./differenceInCalendarISOWeekYears.d.cts", + "default": "./differenceInCalendarISOWeekYears.cjs" + }, + "import": { + "types": "./differenceInCalendarISOWeekYears.d.ts", + "default": "./differenceInCalendarISOWeekYears.js" + } + }, + "./differenceInCalendarISOWeeks": { + "require": { + "types": "./differenceInCalendarISOWeeks.d.cts", + "default": "./differenceInCalendarISOWeeks.cjs" + }, + "import": { + "types": "./differenceInCalendarISOWeeks.d.ts", + "default": "./differenceInCalendarISOWeeks.js" + } + }, + "./differenceInCalendarMonths": { + "require": { + "types": "./differenceInCalendarMonths.d.cts", + "default": "./differenceInCalendarMonths.cjs" + }, + "import": { + "types": "./differenceInCalendarMonths.d.ts", + "default": "./differenceInCalendarMonths.js" + } + }, + "./differenceInCalendarQuarters": { + "require": { + "types": "./differenceInCalendarQuarters.d.cts", + "default": "./differenceInCalendarQuarters.cjs" + }, + "import": { + "types": "./differenceInCalendarQuarters.d.ts", + "default": "./differenceInCalendarQuarters.js" + } + }, + "./differenceInCalendarWeeks": { + "require": { + "types": "./differenceInCalendarWeeks.d.cts", + "default": "./differenceInCalendarWeeks.cjs" + }, + "import": { + "types": "./differenceInCalendarWeeks.d.ts", + "default": "./differenceInCalendarWeeks.js" + } + }, + "./differenceInCalendarYears": { + "require": { + "types": "./differenceInCalendarYears.d.cts", + "default": "./differenceInCalendarYears.cjs" + }, + "import": { + "types": "./differenceInCalendarYears.d.ts", + "default": "./differenceInCalendarYears.js" + } + }, + "./differenceInDays": { + "require": { + "types": "./differenceInDays.d.cts", + "default": "./differenceInDays.cjs" + }, + "import": { + "types": "./differenceInDays.d.ts", + "default": "./differenceInDays.js" + } + }, + "./differenceInHours": { + "require": { + "types": "./differenceInHours.d.cts", + "default": "./differenceInHours.cjs" + }, + "import": { + "types": "./differenceInHours.d.ts", + "default": "./differenceInHours.js" + } + }, + "./differenceInISOWeekYears": { + "require": { + "types": "./differenceInISOWeekYears.d.cts", + "default": "./differenceInISOWeekYears.cjs" + }, + "import": { + "types": "./differenceInISOWeekYears.d.ts", + "default": "./differenceInISOWeekYears.js" + } + }, + "./differenceInMilliseconds": { + "require": { + "types": "./differenceInMilliseconds.d.cts", + "default": "./differenceInMilliseconds.cjs" + }, + "import": { + "types": "./differenceInMilliseconds.d.ts", + "default": "./differenceInMilliseconds.js" + } + }, + "./differenceInMinutes": { + "require": { + "types": "./differenceInMinutes.d.cts", + "default": "./differenceInMinutes.cjs" + }, + "import": { + "types": "./differenceInMinutes.d.ts", + "default": "./differenceInMinutes.js" + } + }, + "./differenceInMonths": { + "require": { + "types": "./differenceInMonths.d.cts", + "default": "./differenceInMonths.cjs" + }, + "import": { + "types": "./differenceInMonths.d.ts", + "default": "./differenceInMonths.js" + } + }, + "./differenceInQuarters": { + "require": { + "types": "./differenceInQuarters.d.cts", + "default": "./differenceInQuarters.cjs" + }, + "import": { + "types": "./differenceInQuarters.d.ts", + "default": "./differenceInQuarters.js" + } + }, + "./differenceInSeconds": { + "require": { + "types": "./differenceInSeconds.d.cts", + "default": "./differenceInSeconds.cjs" + }, + "import": { + "types": "./differenceInSeconds.d.ts", + "default": "./differenceInSeconds.js" + } + }, + "./differenceInWeeks": { + "require": { + "types": "./differenceInWeeks.d.cts", + "default": "./differenceInWeeks.cjs" + }, + "import": { + "types": "./differenceInWeeks.d.ts", + "default": "./differenceInWeeks.js" + } + }, + "./differenceInYears": { + "require": { + "types": "./differenceInYears.d.cts", + "default": "./differenceInYears.cjs" + }, + "import": { + "types": "./differenceInYears.d.ts", + "default": "./differenceInYears.js" + } + }, + "./eachDayOfInterval": { + "require": { + "types": "./eachDayOfInterval.d.cts", + "default": "./eachDayOfInterval.cjs" + }, + "import": { + "types": "./eachDayOfInterval.d.ts", + "default": "./eachDayOfInterval.js" + } + }, + "./eachHourOfInterval": { + "require": { + "types": "./eachHourOfInterval.d.cts", + "default": "./eachHourOfInterval.cjs" + }, + "import": { + "types": "./eachHourOfInterval.d.ts", + "default": "./eachHourOfInterval.js" + } + }, + "./eachMinuteOfInterval": { + "require": { + "types": "./eachMinuteOfInterval.d.cts", + "default": "./eachMinuteOfInterval.cjs" + }, + "import": { + "types": "./eachMinuteOfInterval.d.ts", + "default": "./eachMinuteOfInterval.js" + } + }, + "./eachMonthOfInterval": { + "require": { + "types": "./eachMonthOfInterval.d.cts", + "default": "./eachMonthOfInterval.cjs" + }, + "import": { + "types": "./eachMonthOfInterval.d.ts", + "default": "./eachMonthOfInterval.js" + } + }, + "./eachQuarterOfInterval": { + "require": { + "types": "./eachQuarterOfInterval.d.cts", + "default": "./eachQuarterOfInterval.cjs" + }, + "import": { + "types": "./eachQuarterOfInterval.d.ts", + "default": "./eachQuarterOfInterval.js" + } + }, + "./eachWeekOfInterval": { + "require": { + "types": "./eachWeekOfInterval.d.cts", + "default": "./eachWeekOfInterval.cjs" + }, + "import": { + "types": "./eachWeekOfInterval.d.ts", + "default": "./eachWeekOfInterval.js" + } + }, + "./eachWeekendOfInterval": { + "require": { + "types": "./eachWeekendOfInterval.d.cts", + "default": "./eachWeekendOfInterval.cjs" + }, + "import": { + "types": "./eachWeekendOfInterval.d.ts", + "default": "./eachWeekendOfInterval.js" + } + }, + "./eachWeekendOfMonth": { + "require": { + "types": "./eachWeekendOfMonth.d.cts", + "default": "./eachWeekendOfMonth.cjs" + }, + "import": { + "types": "./eachWeekendOfMonth.d.ts", + "default": "./eachWeekendOfMonth.js" + } + }, + "./eachWeekendOfYear": { + "require": { + "types": "./eachWeekendOfYear.d.cts", + "default": "./eachWeekendOfYear.cjs" + }, + "import": { + "types": "./eachWeekendOfYear.d.ts", + "default": "./eachWeekendOfYear.js" + } + }, + "./eachYearOfInterval": { + "require": { + "types": "./eachYearOfInterval.d.cts", + "default": "./eachYearOfInterval.cjs" + }, + "import": { + "types": "./eachYearOfInterval.d.ts", + "default": "./eachYearOfInterval.js" + } + }, + "./endOfDay": { + "require": { + "types": "./endOfDay.d.cts", + "default": "./endOfDay.cjs" + }, + "import": { + "types": "./endOfDay.d.ts", + "default": "./endOfDay.js" + } + }, + "./endOfDecade": { + "require": { + "types": "./endOfDecade.d.cts", + "default": "./endOfDecade.cjs" + }, + "import": { + "types": "./endOfDecade.d.ts", + "default": "./endOfDecade.js" + } + }, + "./endOfHour": { + "require": { + "types": "./endOfHour.d.cts", + "default": "./endOfHour.cjs" + }, + "import": { + "types": "./endOfHour.d.ts", + "default": "./endOfHour.js" + } + }, + "./endOfISOWeek": { + "require": { + "types": "./endOfISOWeek.d.cts", + "default": "./endOfISOWeek.cjs" + }, + "import": { + "types": "./endOfISOWeek.d.ts", + "default": "./endOfISOWeek.js" + } + }, + "./endOfISOWeekYear": { + "require": { + "types": "./endOfISOWeekYear.d.cts", + "default": "./endOfISOWeekYear.cjs" + }, + "import": { + "types": "./endOfISOWeekYear.d.ts", + "default": "./endOfISOWeekYear.js" + } + }, + "./endOfMinute": { + "require": { + "types": "./endOfMinute.d.cts", + "default": "./endOfMinute.cjs" + }, + "import": { + "types": "./endOfMinute.d.ts", + "default": "./endOfMinute.js" + } + }, + "./endOfMonth": { + "require": { + "types": "./endOfMonth.d.cts", + "default": "./endOfMonth.cjs" + }, + "import": { + "types": "./endOfMonth.d.ts", + "default": "./endOfMonth.js" + } + }, + "./endOfQuarter": { + "require": { + "types": "./endOfQuarter.d.cts", + "default": "./endOfQuarter.cjs" + }, + "import": { + "types": "./endOfQuarter.d.ts", + "default": "./endOfQuarter.js" + } + }, + "./endOfSecond": { + "require": { + "types": "./endOfSecond.d.cts", + "default": "./endOfSecond.cjs" + }, + "import": { + "types": "./endOfSecond.d.ts", + "default": "./endOfSecond.js" + } + }, + "./endOfToday": { + "require": { + "types": "./endOfToday.d.cts", + "default": "./endOfToday.cjs" + }, + "import": { + "types": "./endOfToday.d.ts", + "default": "./endOfToday.js" + } + }, + "./endOfTomorrow": { + "require": { + "types": "./endOfTomorrow.d.cts", + "default": "./endOfTomorrow.cjs" + }, + "import": { + "types": "./endOfTomorrow.d.ts", + "default": "./endOfTomorrow.js" + } + }, + "./endOfWeek": { + "require": { + "types": "./endOfWeek.d.cts", + "default": "./endOfWeek.cjs" + }, + "import": { + "types": "./endOfWeek.d.ts", + "default": "./endOfWeek.js" + } + }, + "./endOfYear": { + "require": { + "types": "./endOfYear.d.cts", + "default": "./endOfYear.cjs" + }, + "import": { + "types": "./endOfYear.d.ts", + "default": "./endOfYear.js" + } + }, + "./endOfYesterday": { + "require": { + "types": "./endOfYesterday.d.cts", + "default": "./endOfYesterday.cjs" + }, + "import": { + "types": "./endOfYesterday.d.ts", + "default": "./endOfYesterday.js" + } + }, + "./format": { + "require": { + "types": "./format.d.cts", + "default": "./format.cjs" + }, + "import": { + "types": "./format.d.ts", + "default": "./format.js" + } + }, + "./formatDistance": { + "require": { + "types": "./formatDistance.d.cts", + "default": "./formatDistance.cjs" + }, + "import": { + "types": "./formatDistance.d.ts", + "default": "./formatDistance.js" + } + }, + "./formatDistanceStrict": { + "require": { + "types": "./formatDistanceStrict.d.cts", + "default": "./formatDistanceStrict.cjs" + }, + "import": { + "types": "./formatDistanceStrict.d.ts", + "default": "./formatDistanceStrict.js" + } + }, + "./formatDistanceToNow": { + "require": { + "types": "./formatDistanceToNow.d.cts", + "default": "./formatDistanceToNow.cjs" + }, + "import": { + "types": "./formatDistanceToNow.d.ts", + "default": "./formatDistanceToNow.js" + } + }, + "./formatDistanceToNowStrict": { + "require": { + "types": "./formatDistanceToNowStrict.d.cts", + "default": "./formatDistanceToNowStrict.cjs" + }, + "import": { + "types": "./formatDistanceToNowStrict.d.ts", + "default": "./formatDistanceToNowStrict.js" + } + }, + "./formatDuration": { + "require": { + "types": "./formatDuration.d.cts", + "default": "./formatDuration.cjs" + }, + "import": { + "types": "./formatDuration.d.ts", + "default": "./formatDuration.js" + } + }, + "./formatISO": { + "require": { + "types": "./formatISO.d.cts", + "default": "./formatISO.cjs" + }, + "import": { + "types": "./formatISO.d.ts", + "default": "./formatISO.js" + } + }, + "./formatISO9075": { + "require": { + "types": "./formatISO9075.d.cts", + "default": "./formatISO9075.cjs" + }, + "import": { + "types": "./formatISO9075.d.ts", + "default": "./formatISO9075.js" + } + }, + "./formatISODuration": { + "require": { + "types": "./formatISODuration.d.cts", + "default": "./formatISODuration.cjs" + }, + "import": { + "types": "./formatISODuration.d.ts", + "default": "./formatISODuration.js" + } + }, + "./formatRFC3339": { + "require": { + "types": "./formatRFC3339.d.cts", + "default": "./formatRFC3339.cjs" + }, + "import": { + "types": "./formatRFC3339.d.ts", + "default": "./formatRFC3339.js" + } + }, + "./formatRFC7231": { + "require": { + "types": "./formatRFC7231.d.cts", + "default": "./formatRFC7231.cjs" + }, + "import": { + "types": "./formatRFC7231.d.ts", + "default": "./formatRFC7231.js" + } + }, + "./formatRelative": { + "require": { + "types": "./formatRelative.d.cts", + "default": "./formatRelative.cjs" + }, + "import": { + "types": "./formatRelative.d.ts", + "default": "./formatRelative.js" + } + }, + "./fromUnixTime": { + "require": { + "types": "./fromUnixTime.d.cts", + "default": "./fromUnixTime.cjs" + }, + "import": { + "types": "./fromUnixTime.d.ts", + "default": "./fromUnixTime.js" + } + }, + "./getDate": { + "require": { + "types": "./getDate.d.cts", + "default": "./getDate.cjs" + }, + "import": { + "types": "./getDate.d.ts", + "default": "./getDate.js" + } + }, + "./getDay": { + "require": { + "types": "./getDay.d.cts", + "default": "./getDay.cjs" + }, + "import": { + "types": "./getDay.d.ts", + "default": "./getDay.js" + } + }, + "./getDayOfYear": { + "require": { + "types": "./getDayOfYear.d.cts", + "default": "./getDayOfYear.cjs" + }, + "import": { + "types": "./getDayOfYear.d.ts", + "default": "./getDayOfYear.js" + } + }, + "./getDaysInMonth": { + "require": { + "types": "./getDaysInMonth.d.cts", + "default": "./getDaysInMonth.cjs" + }, + "import": { + "types": "./getDaysInMonth.d.ts", + "default": "./getDaysInMonth.js" + } + }, + "./getDaysInYear": { + "require": { + "types": "./getDaysInYear.d.cts", + "default": "./getDaysInYear.cjs" + }, + "import": { + "types": "./getDaysInYear.d.ts", + "default": "./getDaysInYear.js" + } + }, + "./getDecade": { + "require": { + "types": "./getDecade.d.cts", + "default": "./getDecade.cjs" + }, + "import": { + "types": "./getDecade.d.ts", + "default": "./getDecade.js" + } + }, + "./getDefaultOptions": { + "require": { + "types": "./getDefaultOptions.d.cts", + "default": "./getDefaultOptions.cjs" + }, + "import": { + "types": "./getDefaultOptions.d.ts", + "default": "./getDefaultOptions.js" + } + }, + "./getHours": { + "require": { + "types": "./getHours.d.cts", + "default": "./getHours.cjs" + }, + "import": { + "types": "./getHours.d.ts", + "default": "./getHours.js" + } + }, + "./getISODay": { + "require": { + "types": "./getISODay.d.cts", + "default": "./getISODay.cjs" + }, + "import": { + "types": "./getISODay.d.ts", + "default": "./getISODay.js" + } + }, + "./getISOWeek": { + "require": { + "types": "./getISOWeek.d.cts", + "default": "./getISOWeek.cjs" + }, + "import": { + "types": "./getISOWeek.d.ts", + "default": "./getISOWeek.js" + } + }, + "./getISOWeekYear": { + "require": { + "types": "./getISOWeekYear.d.cts", + "default": "./getISOWeekYear.cjs" + }, + "import": { + "types": "./getISOWeekYear.d.ts", + "default": "./getISOWeekYear.js" + } + }, + "./getISOWeeksInYear": { + "require": { + "types": "./getISOWeeksInYear.d.cts", + "default": "./getISOWeeksInYear.cjs" + }, + "import": { + "types": "./getISOWeeksInYear.d.ts", + "default": "./getISOWeeksInYear.js" + } + }, + "./getMilliseconds": { + "require": { + "types": "./getMilliseconds.d.cts", + "default": "./getMilliseconds.cjs" + }, + "import": { + "types": "./getMilliseconds.d.ts", + "default": "./getMilliseconds.js" + } + }, + "./getMinutes": { + "require": { + "types": "./getMinutes.d.cts", + "default": "./getMinutes.cjs" + }, + "import": { + "types": "./getMinutes.d.ts", + "default": "./getMinutes.js" + } + }, + "./getMonth": { + "require": { + "types": "./getMonth.d.cts", + "default": "./getMonth.cjs" + }, + "import": { + "types": "./getMonth.d.ts", + "default": "./getMonth.js" + } + }, + "./getOverlappingDaysInIntervals": { + "require": { + "types": "./getOverlappingDaysInIntervals.d.cts", + "default": "./getOverlappingDaysInIntervals.cjs" + }, + "import": { + "types": "./getOverlappingDaysInIntervals.d.ts", + "default": "./getOverlappingDaysInIntervals.js" + } + }, + "./getQuarter": { + "require": { + "types": "./getQuarter.d.cts", + "default": "./getQuarter.cjs" + }, + "import": { + "types": "./getQuarter.d.ts", + "default": "./getQuarter.js" + } + }, + "./getSeconds": { + "require": { + "types": "./getSeconds.d.cts", + "default": "./getSeconds.cjs" + }, + "import": { + "types": "./getSeconds.d.ts", + "default": "./getSeconds.js" + } + }, + "./getTime": { + "require": { + "types": "./getTime.d.cts", + "default": "./getTime.cjs" + }, + "import": { + "types": "./getTime.d.ts", + "default": "./getTime.js" + } + }, + "./getUnixTime": { + "require": { + "types": "./getUnixTime.d.cts", + "default": "./getUnixTime.cjs" + }, + "import": { + "types": "./getUnixTime.d.ts", + "default": "./getUnixTime.js" + } + }, + "./getWeek": { + "require": { + "types": "./getWeek.d.cts", + "default": "./getWeek.cjs" + }, + "import": { + "types": "./getWeek.d.ts", + "default": "./getWeek.js" + } + }, + "./getWeekOfMonth": { + "require": { + "types": "./getWeekOfMonth.d.cts", + "default": "./getWeekOfMonth.cjs" + }, + "import": { + "types": "./getWeekOfMonth.d.ts", + "default": "./getWeekOfMonth.js" + } + }, + "./getWeekYear": { + "require": { + "types": "./getWeekYear.d.cts", + "default": "./getWeekYear.cjs" + }, + "import": { + "types": "./getWeekYear.d.ts", + "default": "./getWeekYear.js" + } + }, + "./getWeeksInMonth": { + "require": { + "types": "./getWeeksInMonth.d.cts", + "default": "./getWeeksInMonth.cjs" + }, + "import": { + "types": "./getWeeksInMonth.d.ts", + "default": "./getWeeksInMonth.js" + } + }, + "./getYear": { + "require": { + "types": "./getYear.d.cts", + "default": "./getYear.cjs" + }, + "import": { + "types": "./getYear.d.ts", + "default": "./getYear.js" + } + }, + "./hoursToMilliseconds": { + "require": { + "types": "./hoursToMilliseconds.d.cts", + "default": "./hoursToMilliseconds.cjs" + }, + "import": { + "types": "./hoursToMilliseconds.d.ts", + "default": "./hoursToMilliseconds.js" + } + }, + "./hoursToMinutes": { + "require": { + "types": "./hoursToMinutes.d.cts", + "default": "./hoursToMinutes.cjs" + }, + "import": { + "types": "./hoursToMinutes.d.ts", + "default": "./hoursToMinutes.js" + } + }, + "./hoursToSeconds": { + "require": { + "types": "./hoursToSeconds.d.cts", + "default": "./hoursToSeconds.cjs" + }, + "import": { + "types": "./hoursToSeconds.d.ts", + "default": "./hoursToSeconds.js" + } + }, + "./interval": { + "require": { + "types": "./interval.d.cts", + "default": "./interval.cjs" + }, + "import": { + "types": "./interval.d.ts", + "default": "./interval.js" + } + }, + "./intervalToDuration": { + "require": { + "types": "./intervalToDuration.d.cts", + "default": "./intervalToDuration.cjs" + }, + "import": { + "types": "./intervalToDuration.d.ts", + "default": "./intervalToDuration.js" + } + }, + "./intlFormat": { + "require": { + "types": "./intlFormat.d.cts", + "default": "./intlFormat.cjs" + }, + "import": { + "types": "./intlFormat.d.ts", + "default": "./intlFormat.js" + } + }, + "./intlFormatDistance": { + "require": { + "types": "./intlFormatDistance.d.cts", + "default": "./intlFormatDistance.cjs" + }, + "import": { + "types": "./intlFormatDistance.d.ts", + "default": "./intlFormatDistance.js" + } + }, + "./isAfter": { + "require": { + "types": "./isAfter.d.cts", + "default": "./isAfter.cjs" + }, + "import": { + "types": "./isAfter.d.ts", + "default": "./isAfter.js" + } + }, + "./isBefore": { + "require": { + "types": "./isBefore.d.cts", + "default": "./isBefore.cjs" + }, + "import": { + "types": "./isBefore.d.ts", + "default": "./isBefore.js" + } + }, + "./isDate": { + "require": { + "types": "./isDate.d.cts", + "default": "./isDate.cjs" + }, + "import": { + "types": "./isDate.d.ts", + "default": "./isDate.js" + } + }, + "./isEqual": { + "require": { + "types": "./isEqual.d.cts", + "default": "./isEqual.cjs" + }, + "import": { + "types": "./isEqual.d.ts", + "default": "./isEqual.js" + } + }, + "./isExists": { + "require": { + "types": "./isExists.d.cts", + "default": "./isExists.cjs" + }, + "import": { + "types": "./isExists.d.ts", + "default": "./isExists.js" + } + }, + "./isFirstDayOfMonth": { + "require": { + "types": "./isFirstDayOfMonth.d.cts", + "default": "./isFirstDayOfMonth.cjs" + }, + "import": { + "types": "./isFirstDayOfMonth.d.ts", + "default": "./isFirstDayOfMonth.js" + } + }, + "./isFriday": { + "require": { + "types": "./isFriday.d.cts", + "default": "./isFriday.cjs" + }, + "import": { + "types": "./isFriday.d.ts", + "default": "./isFriday.js" + } + }, + "./isFuture": { + "require": { + "types": "./isFuture.d.cts", + "default": "./isFuture.cjs" + }, + "import": { + "types": "./isFuture.d.ts", + "default": "./isFuture.js" + } + }, + "./isLastDayOfMonth": { + "require": { + "types": "./isLastDayOfMonth.d.cts", + "default": "./isLastDayOfMonth.cjs" + }, + "import": { + "types": "./isLastDayOfMonth.d.ts", + "default": "./isLastDayOfMonth.js" + } + }, + "./isLeapYear": { + "require": { + "types": "./isLeapYear.d.cts", + "default": "./isLeapYear.cjs" + }, + "import": { + "types": "./isLeapYear.d.ts", + "default": "./isLeapYear.js" + } + }, + "./isMatch": { + "require": { + "types": "./isMatch.d.cts", + "default": "./isMatch.cjs" + }, + "import": { + "types": "./isMatch.d.ts", + "default": "./isMatch.js" + } + }, + "./isMonday": { + "require": { + "types": "./isMonday.d.cts", + "default": "./isMonday.cjs" + }, + "import": { + "types": "./isMonday.d.ts", + "default": "./isMonday.js" + } + }, + "./isPast": { + "require": { + "types": "./isPast.d.cts", + "default": "./isPast.cjs" + }, + "import": { + "types": "./isPast.d.ts", + "default": "./isPast.js" + } + }, + "./isSameDay": { + "require": { + "types": "./isSameDay.d.cts", + "default": "./isSameDay.cjs" + }, + "import": { + "types": "./isSameDay.d.ts", + "default": "./isSameDay.js" + } + }, + "./isSameHour": { + "require": { + "types": "./isSameHour.d.cts", + "default": "./isSameHour.cjs" + }, + "import": { + "types": "./isSameHour.d.ts", + "default": "./isSameHour.js" + } + }, + "./isSameISOWeek": { + "require": { + "types": "./isSameISOWeek.d.cts", + "default": "./isSameISOWeek.cjs" + }, + "import": { + "types": "./isSameISOWeek.d.ts", + "default": "./isSameISOWeek.js" + } + }, + "./isSameISOWeekYear": { + "require": { + "types": "./isSameISOWeekYear.d.cts", + "default": "./isSameISOWeekYear.cjs" + }, + "import": { + "types": "./isSameISOWeekYear.d.ts", + "default": "./isSameISOWeekYear.js" + } + }, + "./isSameMinute": { + "require": { + "types": "./isSameMinute.d.cts", + "default": "./isSameMinute.cjs" + }, + "import": { + "types": "./isSameMinute.d.ts", + "default": "./isSameMinute.js" + } + }, + "./isSameMonth": { + "require": { + "types": "./isSameMonth.d.cts", + "default": "./isSameMonth.cjs" + }, + "import": { + "types": "./isSameMonth.d.ts", + "default": "./isSameMonth.js" + } + }, + "./isSameQuarter": { + "require": { + "types": "./isSameQuarter.d.cts", + "default": "./isSameQuarter.cjs" + }, + "import": { + "types": "./isSameQuarter.d.ts", + "default": "./isSameQuarter.js" + } + }, + "./isSameSecond": { + "require": { + "types": "./isSameSecond.d.cts", + "default": "./isSameSecond.cjs" + }, + "import": { + "types": "./isSameSecond.d.ts", + "default": "./isSameSecond.js" + } + }, + "./isSameWeek": { + "require": { + "types": "./isSameWeek.d.cts", + "default": "./isSameWeek.cjs" + }, + "import": { + "types": "./isSameWeek.d.ts", + "default": "./isSameWeek.js" + } + }, + "./isSameYear": { + "require": { + "types": "./isSameYear.d.cts", + "default": "./isSameYear.cjs" + }, + "import": { + "types": "./isSameYear.d.ts", + "default": "./isSameYear.js" + } + }, + "./isSaturday": { + "require": { + "types": "./isSaturday.d.cts", + "default": "./isSaturday.cjs" + }, + "import": { + "types": "./isSaturday.d.ts", + "default": "./isSaturday.js" + } + }, + "./isSunday": { + "require": { + "types": "./isSunday.d.cts", + "default": "./isSunday.cjs" + }, + "import": { + "types": "./isSunday.d.ts", + "default": "./isSunday.js" + } + }, + "./isThisHour": { + "require": { + "types": "./isThisHour.d.cts", + "default": "./isThisHour.cjs" + }, + "import": { + "types": "./isThisHour.d.ts", + "default": "./isThisHour.js" + } + }, + "./isThisISOWeek": { + "require": { + "types": "./isThisISOWeek.d.cts", + "default": "./isThisISOWeek.cjs" + }, + "import": { + "types": "./isThisISOWeek.d.ts", + "default": "./isThisISOWeek.js" + } + }, + "./isThisMinute": { + "require": { + "types": "./isThisMinute.d.cts", + "default": "./isThisMinute.cjs" + }, + "import": { + "types": "./isThisMinute.d.ts", + "default": "./isThisMinute.js" + } + }, + "./isThisMonth": { + "require": { + "types": "./isThisMonth.d.cts", + "default": "./isThisMonth.cjs" + }, + "import": { + "types": "./isThisMonth.d.ts", + "default": "./isThisMonth.js" + } + }, + "./isThisQuarter": { + "require": { + "types": "./isThisQuarter.d.cts", + "default": "./isThisQuarter.cjs" + }, + "import": { + "types": "./isThisQuarter.d.ts", + "default": "./isThisQuarter.js" + } + }, + "./isThisSecond": { + "require": { + "types": "./isThisSecond.d.cts", + "default": "./isThisSecond.cjs" + }, + "import": { + "types": "./isThisSecond.d.ts", + "default": "./isThisSecond.js" + } + }, + "./isThisWeek": { + "require": { + "types": "./isThisWeek.d.cts", + "default": "./isThisWeek.cjs" + }, + "import": { + "types": "./isThisWeek.d.ts", + "default": "./isThisWeek.js" + } + }, + "./isThisYear": { + "require": { + "types": "./isThisYear.d.cts", + "default": "./isThisYear.cjs" + }, + "import": { + "types": "./isThisYear.d.ts", + "default": "./isThisYear.js" + } + }, + "./isThursday": { + "require": { + "types": "./isThursday.d.cts", + "default": "./isThursday.cjs" + }, + "import": { + "types": "./isThursday.d.ts", + "default": "./isThursday.js" + } + }, + "./isToday": { + "require": { + "types": "./isToday.d.cts", + "default": "./isToday.cjs" + }, + "import": { + "types": "./isToday.d.ts", + "default": "./isToday.js" + } + }, + "./isTomorrow": { + "require": { + "types": "./isTomorrow.d.cts", + "default": "./isTomorrow.cjs" + }, + "import": { + "types": "./isTomorrow.d.ts", + "default": "./isTomorrow.js" + } + }, + "./isTuesday": { + "require": { + "types": "./isTuesday.d.cts", + "default": "./isTuesday.cjs" + }, + "import": { + "types": "./isTuesday.d.ts", + "default": "./isTuesday.js" + } + }, + "./isValid": { + "require": { + "types": "./isValid.d.cts", + "default": "./isValid.cjs" + }, + "import": { + "types": "./isValid.d.ts", + "default": "./isValid.js" + } + }, + "./isWednesday": { + "require": { + "types": "./isWednesday.d.cts", + "default": "./isWednesday.cjs" + }, + "import": { + "types": "./isWednesday.d.ts", + "default": "./isWednesday.js" + } + }, + "./isWeekend": { + "require": { + "types": "./isWeekend.d.cts", + "default": "./isWeekend.cjs" + }, + "import": { + "types": "./isWeekend.d.ts", + "default": "./isWeekend.js" + } + }, + "./isWithinInterval": { + "require": { + "types": "./isWithinInterval.d.cts", + "default": "./isWithinInterval.cjs" + }, + "import": { + "types": "./isWithinInterval.d.ts", + "default": "./isWithinInterval.js" + } + }, + "./isYesterday": { + "require": { + "types": "./isYesterday.d.cts", + "default": "./isYesterday.cjs" + }, + "import": { + "types": "./isYesterday.d.ts", + "default": "./isYesterday.js" + } + }, + "./lastDayOfDecade": { + "require": { + "types": "./lastDayOfDecade.d.cts", + "default": "./lastDayOfDecade.cjs" + }, + "import": { + "types": "./lastDayOfDecade.d.ts", + "default": "./lastDayOfDecade.js" + } + }, + "./lastDayOfISOWeek": { + "require": { + "types": "./lastDayOfISOWeek.d.cts", + "default": "./lastDayOfISOWeek.cjs" + }, + "import": { + "types": "./lastDayOfISOWeek.d.ts", + "default": "./lastDayOfISOWeek.js" + } + }, + "./lastDayOfISOWeekYear": { + "require": { + "types": "./lastDayOfISOWeekYear.d.cts", + "default": "./lastDayOfISOWeekYear.cjs" + }, + "import": { + "types": "./lastDayOfISOWeekYear.d.ts", + "default": "./lastDayOfISOWeekYear.js" + } + }, + "./lastDayOfMonth": { + "require": { + "types": "./lastDayOfMonth.d.cts", + "default": "./lastDayOfMonth.cjs" + }, + "import": { + "types": "./lastDayOfMonth.d.ts", + "default": "./lastDayOfMonth.js" + } + }, + "./lastDayOfQuarter": { + "require": { + "types": "./lastDayOfQuarter.d.cts", + "default": "./lastDayOfQuarter.cjs" + }, + "import": { + "types": "./lastDayOfQuarter.d.ts", + "default": "./lastDayOfQuarter.js" + } + }, + "./lastDayOfWeek": { + "require": { + "types": "./lastDayOfWeek.d.cts", + "default": "./lastDayOfWeek.cjs" + }, + "import": { + "types": "./lastDayOfWeek.d.ts", + "default": "./lastDayOfWeek.js" + } + }, + "./lastDayOfYear": { + "require": { + "types": "./lastDayOfYear.d.cts", + "default": "./lastDayOfYear.cjs" + }, + "import": { + "types": "./lastDayOfYear.d.ts", + "default": "./lastDayOfYear.js" + } + }, + "./lightFormat": { + "require": { + "types": "./lightFormat.d.cts", + "default": "./lightFormat.cjs" + }, + "import": { + "types": "./lightFormat.d.ts", + "default": "./lightFormat.js" + } + }, + "./max": { + "require": { + "types": "./max.d.cts", + "default": "./max.cjs" + }, + "import": { + "types": "./max.d.ts", + "default": "./max.js" + } + }, + "./milliseconds": { + "require": { + "types": "./milliseconds.d.cts", + "default": "./milliseconds.cjs" + }, + "import": { + "types": "./milliseconds.d.ts", + "default": "./milliseconds.js" + } + }, + "./millisecondsToHours": { + "require": { + "types": "./millisecondsToHours.d.cts", + "default": "./millisecondsToHours.cjs" + }, + "import": { + "types": "./millisecondsToHours.d.ts", + "default": "./millisecondsToHours.js" + } + }, + "./millisecondsToMinutes": { + "require": { + "types": "./millisecondsToMinutes.d.cts", + "default": "./millisecondsToMinutes.cjs" + }, + "import": { + "types": "./millisecondsToMinutes.d.ts", + "default": "./millisecondsToMinutes.js" + } + }, + "./millisecondsToSeconds": { + "require": { + "types": "./millisecondsToSeconds.d.cts", + "default": "./millisecondsToSeconds.cjs" + }, + "import": { + "types": "./millisecondsToSeconds.d.ts", + "default": "./millisecondsToSeconds.js" + } + }, + "./min": { + "require": { + "types": "./min.d.cts", + "default": "./min.cjs" + }, + "import": { + "types": "./min.d.ts", + "default": "./min.js" + } + }, + "./minutesToHours": { + "require": { + "types": "./minutesToHours.d.cts", + "default": "./minutesToHours.cjs" + }, + "import": { + "types": "./minutesToHours.d.ts", + "default": "./minutesToHours.js" + } + }, + "./minutesToMilliseconds": { + "require": { + "types": "./minutesToMilliseconds.d.cts", + "default": "./minutesToMilliseconds.cjs" + }, + "import": { + "types": "./minutesToMilliseconds.d.ts", + "default": "./minutesToMilliseconds.js" + } + }, + "./minutesToSeconds": { + "require": { + "types": "./minutesToSeconds.d.cts", + "default": "./minutesToSeconds.cjs" + }, + "import": { + "types": "./minutesToSeconds.d.ts", + "default": "./minutesToSeconds.js" + } + }, + "./monthsToQuarters": { + "require": { + "types": "./monthsToQuarters.d.cts", + "default": "./monthsToQuarters.cjs" + }, + "import": { + "types": "./monthsToQuarters.d.ts", + "default": "./monthsToQuarters.js" + } + }, + "./monthsToYears": { + "require": { + "types": "./monthsToYears.d.cts", + "default": "./monthsToYears.cjs" + }, + "import": { + "types": "./monthsToYears.d.ts", + "default": "./monthsToYears.js" + } + }, + "./nextDay": { + "require": { + "types": "./nextDay.d.cts", + "default": "./nextDay.cjs" + }, + "import": { + "types": "./nextDay.d.ts", + "default": "./nextDay.js" + } + }, + "./nextFriday": { + "require": { + "types": "./nextFriday.d.cts", + "default": "./nextFriday.cjs" + }, + "import": { + "types": "./nextFriday.d.ts", + "default": "./nextFriday.js" + } + }, + "./nextMonday": { + "require": { + "types": "./nextMonday.d.cts", + "default": "./nextMonday.cjs" + }, + "import": { + "types": "./nextMonday.d.ts", + "default": "./nextMonday.js" + } + }, + "./nextSaturday": { + "require": { + "types": "./nextSaturday.d.cts", + "default": "./nextSaturday.cjs" + }, + "import": { + "types": "./nextSaturday.d.ts", + "default": "./nextSaturday.js" + } + }, + "./nextSunday": { + "require": { + "types": "./nextSunday.d.cts", + "default": "./nextSunday.cjs" + }, + "import": { + "types": "./nextSunday.d.ts", + "default": "./nextSunday.js" + } + }, + "./nextThursday": { + "require": { + "types": "./nextThursday.d.cts", + "default": "./nextThursday.cjs" + }, + "import": { + "types": "./nextThursday.d.ts", + "default": "./nextThursday.js" + } + }, + "./nextTuesday": { + "require": { + "types": "./nextTuesday.d.cts", + "default": "./nextTuesday.cjs" + }, + "import": { + "types": "./nextTuesday.d.ts", + "default": "./nextTuesday.js" + } + }, + "./nextWednesday": { + "require": { + "types": "./nextWednesday.d.cts", + "default": "./nextWednesday.cjs" + }, + "import": { + "types": "./nextWednesday.d.ts", + "default": "./nextWednesday.js" + } + }, + "./parse": { + "require": { + "types": "./parse.d.cts", + "default": "./parse.cjs" + }, + "import": { + "types": "./parse.d.ts", + "default": "./parse.js" + } + }, + "./parseISO": { + "require": { + "types": "./parseISO.d.cts", + "default": "./parseISO.cjs" + }, + "import": { + "types": "./parseISO.d.ts", + "default": "./parseISO.js" + } + }, + "./parseJSON": { + "require": { + "types": "./parseJSON.d.cts", + "default": "./parseJSON.cjs" + }, + "import": { + "types": "./parseJSON.d.ts", + "default": "./parseJSON.js" + } + }, + "./previousDay": { + "require": { + "types": "./previousDay.d.cts", + "default": "./previousDay.cjs" + }, + "import": { + "types": "./previousDay.d.ts", + "default": "./previousDay.js" + } + }, + "./previousFriday": { + "require": { + "types": "./previousFriday.d.cts", + "default": "./previousFriday.cjs" + }, + "import": { + "types": "./previousFriday.d.ts", + "default": "./previousFriday.js" + } + }, + "./previousMonday": { + "require": { + "types": "./previousMonday.d.cts", + "default": "./previousMonday.cjs" + }, + "import": { + "types": "./previousMonday.d.ts", + "default": "./previousMonday.js" + } + }, + "./previousSaturday": { + "require": { + "types": "./previousSaturday.d.cts", + "default": "./previousSaturday.cjs" + }, + "import": { + "types": "./previousSaturday.d.ts", + "default": "./previousSaturday.js" + } + }, + "./previousSunday": { + "require": { + "types": "./previousSunday.d.cts", + "default": "./previousSunday.cjs" + }, + "import": { + "types": "./previousSunday.d.ts", + "default": "./previousSunday.js" + } + }, + "./previousThursday": { + "require": { + "types": "./previousThursday.d.cts", + "default": "./previousThursday.cjs" + }, + "import": { + "types": "./previousThursday.d.ts", + "default": "./previousThursday.js" + } + }, + "./previousTuesday": { + "require": { + "types": "./previousTuesday.d.cts", + "default": "./previousTuesday.cjs" + }, + "import": { + "types": "./previousTuesday.d.ts", + "default": "./previousTuesday.js" + } + }, + "./previousWednesday": { + "require": { + "types": "./previousWednesday.d.cts", + "default": "./previousWednesday.cjs" + }, + "import": { + "types": "./previousWednesday.d.ts", + "default": "./previousWednesday.js" + } + }, + "./quartersToMonths": { + "require": { + "types": "./quartersToMonths.d.cts", + "default": "./quartersToMonths.cjs" + }, + "import": { + "types": "./quartersToMonths.d.ts", + "default": "./quartersToMonths.js" + } + }, + "./quartersToYears": { + "require": { + "types": "./quartersToYears.d.cts", + "default": "./quartersToYears.cjs" + }, + "import": { + "types": "./quartersToYears.d.ts", + "default": "./quartersToYears.js" + } + }, + "./roundToNearestHours": { + "require": { + "types": "./roundToNearestHours.d.cts", + "default": "./roundToNearestHours.cjs" + }, + "import": { + "types": "./roundToNearestHours.d.ts", + "default": "./roundToNearestHours.js" + } + }, + "./roundToNearestMinutes": { + "require": { + "types": "./roundToNearestMinutes.d.cts", + "default": "./roundToNearestMinutes.cjs" + }, + "import": { + "types": "./roundToNearestMinutes.d.ts", + "default": "./roundToNearestMinutes.js" + } + }, + "./secondsToHours": { + "require": { + "types": "./secondsToHours.d.cts", + "default": "./secondsToHours.cjs" + }, + "import": { + "types": "./secondsToHours.d.ts", + "default": "./secondsToHours.js" + } + }, + "./secondsToMilliseconds": { + "require": { + "types": "./secondsToMilliseconds.d.cts", + "default": "./secondsToMilliseconds.cjs" + }, + "import": { + "types": "./secondsToMilliseconds.d.ts", + "default": "./secondsToMilliseconds.js" + } + }, + "./secondsToMinutes": { + "require": { + "types": "./secondsToMinutes.d.cts", + "default": "./secondsToMinutes.cjs" + }, + "import": { + "types": "./secondsToMinutes.d.ts", + "default": "./secondsToMinutes.js" + } + }, + "./set": { + "require": { + "types": "./set.d.cts", + "default": "./set.cjs" + }, + "import": { + "types": "./set.d.ts", + "default": "./set.js" + } + }, + "./setDate": { + "require": { + "types": "./setDate.d.cts", + "default": "./setDate.cjs" + }, + "import": { + "types": "./setDate.d.ts", + "default": "./setDate.js" + } + }, + "./setDay": { + "require": { + "types": "./setDay.d.cts", + "default": "./setDay.cjs" + }, + "import": { + "types": "./setDay.d.ts", + "default": "./setDay.js" + } + }, + "./setDayOfYear": { + "require": { + "types": "./setDayOfYear.d.cts", + "default": "./setDayOfYear.cjs" + }, + "import": { + "types": "./setDayOfYear.d.ts", + "default": "./setDayOfYear.js" + } + }, + "./setDefaultOptions": { + "require": { + "types": "./setDefaultOptions.d.cts", + "default": "./setDefaultOptions.cjs" + }, + "import": { + "types": "./setDefaultOptions.d.ts", + "default": "./setDefaultOptions.js" + } + }, + "./setHours": { + "require": { + "types": "./setHours.d.cts", + "default": "./setHours.cjs" + }, + "import": { + "types": "./setHours.d.ts", + "default": "./setHours.js" + } + }, + "./setISODay": { + "require": { + "types": "./setISODay.d.cts", + "default": "./setISODay.cjs" + }, + "import": { + "types": "./setISODay.d.ts", + "default": "./setISODay.js" + } + }, + "./setISOWeek": { + "require": { + "types": "./setISOWeek.d.cts", + "default": "./setISOWeek.cjs" + }, + "import": { + "types": "./setISOWeek.d.ts", + "default": "./setISOWeek.js" + } + }, + "./setISOWeekYear": { + "require": { + "types": "./setISOWeekYear.d.cts", + "default": "./setISOWeekYear.cjs" + }, + "import": { + "types": "./setISOWeekYear.d.ts", + "default": "./setISOWeekYear.js" + } + }, + "./setMilliseconds": { + "require": { + "types": "./setMilliseconds.d.cts", + "default": "./setMilliseconds.cjs" + }, + "import": { + "types": "./setMilliseconds.d.ts", + "default": "./setMilliseconds.js" + } + }, + "./setMinutes": { + "require": { + "types": "./setMinutes.d.cts", + "default": "./setMinutes.cjs" + }, + "import": { + "types": "./setMinutes.d.ts", + "default": "./setMinutes.js" + } + }, + "./setMonth": { + "require": { + "types": "./setMonth.d.cts", + "default": "./setMonth.cjs" + }, + "import": { + "types": "./setMonth.d.ts", + "default": "./setMonth.js" + } + }, + "./setQuarter": { + "require": { + "types": "./setQuarter.d.cts", + "default": "./setQuarter.cjs" + }, + "import": { + "types": "./setQuarter.d.ts", + "default": "./setQuarter.js" + } + }, + "./setSeconds": { + "require": { + "types": "./setSeconds.d.cts", + "default": "./setSeconds.cjs" + }, + "import": { + "types": "./setSeconds.d.ts", + "default": "./setSeconds.js" + } + }, + "./setWeek": { + "require": { + "types": "./setWeek.d.cts", + "default": "./setWeek.cjs" + }, + "import": { + "types": "./setWeek.d.ts", + "default": "./setWeek.js" + } + }, + "./setWeekYear": { + "require": { + "types": "./setWeekYear.d.cts", + "default": "./setWeekYear.cjs" + }, + "import": { + "types": "./setWeekYear.d.ts", + "default": "./setWeekYear.js" + } + }, + "./setYear": { + "require": { + "types": "./setYear.d.cts", + "default": "./setYear.cjs" + }, + "import": { + "types": "./setYear.d.ts", + "default": "./setYear.js" + } + }, + "./startOfDay": { + "require": { + "types": "./startOfDay.d.cts", + "default": "./startOfDay.cjs" + }, + "import": { + "types": "./startOfDay.d.ts", + "default": "./startOfDay.js" + } + }, + "./startOfDecade": { + "require": { + "types": "./startOfDecade.d.cts", + "default": "./startOfDecade.cjs" + }, + "import": { + "types": "./startOfDecade.d.ts", + "default": "./startOfDecade.js" + } + }, + "./startOfHour": { + "require": { + "types": "./startOfHour.d.cts", + "default": "./startOfHour.cjs" + }, + "import": { + "types": "./startOfHour.d.ts", + "default": "./startOfHour.js" + } + }, + "./startOfISOWeek": { + "require": { + "types": "./startOfISOWeek.d.cts", + "default": "./startOfISOWeek.cjs" + }, + "import": { + "types": "./startOfISOWeek.d.ts", + "default": "./startOfISOWeek.js" + } + }, + "./startOfISOWeekYear": { + "require": { + "types": "./startOfISOWeekYear.d.cts", + "default": "./startOfISOWeekYear.cjs" + }, + "import": { + "types": "./startOfISOWeekYear.d.ts", + "default": "./startOfISOWeekYear.js" + } + }, + "./startOfMinute": { + "require": { + "types": "./startOfMinute.d.cts", + "default": "./startOfMinute.cjs" + }, + "import": { + "types": "./startOfMinute.d.ts", + "default": "./startOfMinute.js" + } + }, + "./startOfMonth": { + "require": { + "types": "./startOfMonth.d.cts", + "default": "./startOfMonth.cjs" + }, + "import": { + "types": "./startOfMonth.d.ts", + "default": "./startOfMonth.js" + } + }, + "./startOfQuarter": { + "require": { + "types": "./startOfQuarter.d.cts", + "default": "./startOfQuarter.cjs" + }, + "import": { + "types": "./startOfQuarter.d.ts", + "default": "./startOfQuarter.js" + } + }, + "./startOfSecond": { + "require": { + "types": "./startOfSecond.d.cts", + "default": "./startOfSecond.cjs" + }, + "import": { + "types": "./startOfSecond.d.ts", + "default": "./startOfSecond.js" + } + }, + "./startOfToday": { + "require": { + "types": "./startOfToday.d.cts", + "default": "./startOfToday.cjs" + }, + "import": { + "types": "./startOfToday.d.ts", + "default": "./startOfToday.js" + } + }, + "./startOfTomorrow": { + "require": { + "types": "./startOfTomorrow.d.cts", + "default": "./startOfTomorrow.cjs" + }, + "import": { + "types": "./startOfTomorrow.d.ts", + "default": "./startOfTomorrow.js" + } + }, + "./startOfWeek": { + "require": { + "types": "./startOfWeek.d.cts", + "default": "./startOfWeek.cjs" + }, + "import": { + "types": "./startOfWeek.d.ts", + "default": "./startOfWeek.js" + } + }, + "./startOfWeekYear": { + "require": { + "types": "./startOfWeekYear.d.cts", + "default": "./startOfWeekYear.cjs" + }, + "import": { + "types": "./startOfWeekYear.d.ts", + "default": "./startOfWeekYear.js" + } + }, + "./startOfYear": { + "require": { + "types": "./startOfYear.d.cts", + "default": "./startOfYear.cjs" + }, + "import": { + "types": "./startOfYear.d.ts", + "default": "./startOfYear.js" + } + }, + "./startOfYesterday": { + "require": { + "types": "./startOfYesterday.d.cts", + "default": "./startOfYesterday.cjs" + }, + "import": { + "types": "./startOfYesterday.d.ts", + "default": "./startOfYesterday.js" + } + }, + "./sub": { + "require": { + "types": "./sub.d.cts", + "default": "./sub.cjs" + }, + "import": { + "types": "./sub.d.ts", + "default": "./sub.js" + } + }, + "./subBusinessDays": { + "require": { + "types": "./subBusinessDays.d.cts", + "default": "./subBusinessDays.cjs" + }, + "import": { + "types": "./subBusinessDays.d.ts", + "default": "./subBusinessDays.js" + } + }, + "./subDays": { + "require": { + "types": "./subDays.d.cts", + "default": "./subDays.cjs" + }, + "import": { + "types": "./subDays.d.ts", + "default": "./subDays.js" + } + }, + "./subHours": { + "require": { + "types": "./subHours.d.cts", + "default": "./subHours.cjs" + }, + "import": { + "types": "./subHours.d.ts", + "default": "./subHours.js" + } + }, + "./subISOWeekYears": { + "require": { + "types": "./subISOWeekYears.d.cts", + "default": "./subISOWeekYears.cjs" + }, + "import": { + "types": "./subISOWeekYears.d.ts", + "default": "./subISOWeekYears.js" + } + }, + "./subMilliseconds": { + "require": { + "types": "./subMilliseconds.d.cts", + "default": "./subMilliseconds.cjs" + }, + "import": { + "types": "./subMilliseconds.d.ts", + "default": "./subMilliseconds.js" + } + }, + "./subMinutes": { + "require": { + "types": "./subMinutes.d.cts", + "default": "./subMinutes.cjs" + }, + "import": { + "types": "./subMinutes.d.ts", + "default": "./subMinutes.js" + } + }, + "./subMonths": { + "require": { + "types": "./subMonths.d.cts", + "default": "./subMonths.cjs" + }, + "import": { + "types": "./subMonths.d.ts", + "default": "./subMonths.js" + } + }, + "./subQuarters": { + "require": { + "types": "./subQuarters.d.cts", + "default": "./subQuarters.cjs" + }, + "import": { + "types": "./subQuarters.d.ts", + "default": "./subQuarters.js" + } + }, + "./subSeconds": { + "require": { + "types": "./subSeconds.d.cts", + "default": "./subSeconds.cjs" + }, + "import": { + "types": "./subSeconds.d.ts", + "default": "./subSeconds.js" + } + }, + "./subWeeks": { + "require": { + "types": "./subWeeks.d.cts", + "default": "./subWeeks.cjs" + }, + "import": { + "types": "./subWeeks.d.ts", + "default": "./subWeeks.js" + } + }, + "./subYears": { + "require": { + "types": "./subYears.d.cts", + "default": "./subYears.cjs" + }, + "import": { + "types": "./subYears.d.ts", + "default": "./subYears.js" + } + }, + "./toDate": { + "require": { + "types": "./toDate.d.cts", + "default": "./toDate.cjs" + }, + "import": { + "types": "./toDate.d.ts", + "default": "./toDate.js" + } + }, + "./transpose": { + "require": { + "types": "./transpose.d.cts", + "default": "./transpose.cjs" + }, + "import": { + "types": "./transpose.d.ts", + "default": "./transpose.js" + } + }, + "./weeksToDays": { + "require": { + "types": "./weeksToDays.d.cts", + "default": "./weeksToDays.cjs" + }, + "import": { + "types": "./weeksToDays.d.ts", + "default": "./weeksToDays.js" + } + }, + "./yearsToDays": { + "require": { + "types": "./yearsToDays.d.cts", + "default": "./yearsToDays.cjs" + }, + "import": { + "types": "./yearsToDays.d.ts", + "default": "./yearsToDays.js" + } + }, + "./yearsToMonths": { + "require": { + "types": "./yearsToMonths.d.cts", + "default": "./yearsToMonths.cjs" + }, + "import": { + "types": "./yearsToMonths.d.ts", + "default": "./yearsToMonths.js" + } + }, + "./yearsToQuarters": { + "require": { + "types": "./yearsToQuarters.d.cts", + "default": "./yearsToQuarters.cjs" + }, + "import": { + "types": "./yearsToQuarters.d.ts", + "default": "./yearsToQuarters.js" + } + }, + "./fp/add": { + "require": { + "types": "./fp/add.d.cts", + "default": "./fp/add.cjs" + }, + "import": { + "types": "./fp/add.d.ts", + "default": "./fp/add.js" + } + }, + "./fp/addBusinessDays": { + "require": { + "types": "./fp/addBusinessDays.d.cts", + "default": "./fp/addBusinessDays.cjs" + }, + "import": { + "types": "./fp/addBusinessDays.d.ts", + "default": "./fp/addBusinessDays.js" + } + }, + "./fp/addBusinessDaysWithOptions": { + "require": { + "types": "./fp/addBusinessDaysWithOptions.d.cts", + "default": "./fp/addBusinessDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/addBusinessDaysWithOptions.d.ts", + "default": "./fp/addBusinessDaysWithOptions.js" + } + }, + "./fp/addDays": { + "require": { + "types": "./fp/addDays.d.cts", + "default": "./fp/addDays.cjs" + }, + "import": { + "types": "./fp/addDays.d.ts", + "default": "./fp/addDays.js" + } + }, + "./fp/addDaysWithOptions": { + "require": { + "types": "./fp/addDaysWithOptions.d.cts", + "default": "./fp/addDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/addDaysWithOptions.d.ts", + "default": "./fp/addDaysWithOptions.js" + } + }, + "./fp/addHours": { + "require": { + "types": "./fp/addHours.d.cts", + "default": "./fp/addHours.cjs" + }, + "import": { + "types": "./fp/addHours.d.ts", + "default": "./fp/addHours.js" + } + }, + "./fp/addHoursWithOptions": { + "require": { + "types": "./fp/addHoursWithOptions.d.cts", + "default": "./fp/addHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/addHoursWithOptions.d.ts", + "default": "./fp/addHoursWithOptions.js" + } + }, + "./fp/addISOWeekYears": { + "require": { + "types": "./fp/addISOWeekYears.d.cts", + "default": "./fp/addISOWeekYears.cjs" + }, + "import": { + "types": "./fp/addISOWeekYears.d.ts", + "default": "./fp/addISOWeekYears.js" + } + }, + "./fp/addISOWeekYearsWithOptions": { + "require": { + "types": "./fp/addISOWeekYearsWithOptions.d.cts", + "default": "./fp/addISOWeekYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/addISOWeekYearsWithOptions.d.ts", + "default": "./fp/addISOWeekYearsWithOptions.js" + } + }, + "./fp/addMilliseconds": { + "require": { + "types": "./fp/addMilliseconds.d.cts", + "default": "./fp/addMilliseconds.cjs" + }, + "import": { + "types": "./fp/addMilliseconds.d.ts", + "default": "./fp/addMilliseconds.js" + } + }, + "./fp/addMillisecondsWithOptions": { + "require": { + "types": "./fp/addMillisecondsWithOptions.d.cts", + "default": "./fp/addMillisecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/addMillisecondsWithOptions.d.ts", + "default": "./fp/addMillisecondsWithOptions.js" + } + }, + "./fp/addMinutes": { + "require": { + "types": "./fp/addMinutes.d.cts", + "default": "./fp/addMinutes.cjs" + }, + "import": { + "types": "./fp/addMinutes.d.ts", + "default": "./fp/addMinutes.js" + } + }, + "./fp/addMinutesWithOptions": { + "require": { + "types": "./fp/addMinutesWithOptions.d.cts", + "default": "./fp/addMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/addMinutesWithOptions.d.ts", + "default": "./fp/addMinutesWithOptions.js" + } + }, + "./fp/addMonths": { + "require": { + "types": "./fp/addMonths.d.cts", + "default": "./fp/addMonths.cjs" + }, + "import": { + "types": "./fp/addMonths.d.ts", + "default": "./fp/addMonths.js" + } + }, + "./fp/addMonthsWithOptions": { + "require": { + "types": "./fp/addMonthsWithOptions.d.cts", + "default": "./fp/addMonthsWithOptions.cjs" + }, + "import": { + "types": "./fp/addMonthsWithOptions.d.ts", + "default": "./fp/addMonthsWithOptions.js" + } + }, + "./fp/addQuarters": { + "require": { + "types": "./fp/addQuarters.d.cts", + "default": "./fp/addQuarters.cjs" + }, + "import": { + "types": "./fp/addQuarters.d.ts", + "default": "./fp/addQuarters.js" + } + }, + "./fp/addQuartersWithOptions": { + "require": { + "types": "./fp/addQuartersWithOptions.d.cts", + "default": "./fp/addQuartersWithOptions.cjs" + }, + "import": { + "types": "./fp/addQuartersWithOptions.d.ts", + "default": "./fp/addQuartersWithOptions.js" + } + }, + "./fp/addSeconds": { + "require": { + "types": "./fp/addSeconds.d.cts", + "default": "./fp/addSeconds.cjs" + }, + "import": { + "types": "./fp/addSeconds.d.ts", + "default": "./fp/addSeconds.js" + } + }, + "./fp/addSecondsWithOptions": { + "require": { + "types": "./fp/addSecondsWithOptions.d.cts", + "default": "./fp/addSecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/addSecondsWithOptions.d.ts", + "default": "./fp/addSecondsWithOptions.js" + } + }, + "./fp/addWeeks": { + "require": { + "types": "./fp/addWeeks.d.cts", + "default": "./fp/addWeeks.cjs" + }, + "import": { + "types": "./fp/addWeeks.d.ts", + "default": "./fp/addWeeks.js" + } + }, + "./fp/addWeeksWithOptions": { + "require": { + "types": "./fp/addWeeksWithOptions.d.cts", + "default": "./fp/addWeeksWithOptions.cjs" + }, + "import": { + "types": "./fp/addWeeksWithOptions.d.ts", + "default": "./fp/addWeeksWithOptions.js" + } + }, + "./fp/addWithOptions": { + "require": { + "types": "./fp/addWithOptions.d.cts", + "default": "./fp/addWithOptions.cjs" + }, + "import": { + "types": "./fp/addWithOptions.d.ts", + "default": "./fp/addWithOptions.js" + } + }, + "./fp/addYears": { + "require": { + "types": "./fp/addYears.d.cts", + "default": "./fp/addYears.cjs" + }, + "import": { + "types": "./fp/addYears.d.ts", + "default": "./fp/addYears.js" + } + }, + "./fp/addYearsWithOptions": { + "require": { + "types": "./fp/addYearsWithOptions.d.cts", + "default": "./fp/addYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/addYearsWithOptions.d.ts", + "default": "./fp/addYearsWithOptions.js" + } + }, + "./fp/areIntervalsOverlapping": { + "require": { + "types": "./fp/areIntervalsOverlapping.d.cts", + "default": "./fp/areIntervalsOverlapping.cjs" + }, + "import": { + "types": "./fp/areIntervalsOverlapping.d.ts", + "default": "./fp/areIntervalsOverlapping.js" + } + }, + "./fp/areIntervalsOverlappingWithOptions": { + "require": { + "types": "./fp/areIntervalsOverlappingWithOptions.d.cts", + "default": "./fp/areIntervalsOverlappingWithOptions.cjs" + }, + "import": { + "types": "./fp/areIntervalsOverlappingWithOptions.d.ts", + "default": "./fp/areIntervalsOverlappingWithOptions.js" + } + }, + "./fp/clamp": { + "require": { + "types": "./fp/clamp.d.cts", + "default": "./fp/clamp.cjs" + }, + "import": { + "types": "./fp/clamp.d.ts", + "default": "./fp/clamp.js" + } + }, + "./fp/clampWithOptions": { + "require": { + "types": "./fp/clampWithOptions.d.cts", + "default": "./fp/clampWithOptions.cjs" + }, + "import": { + "types": "./fp/clampWithOptions.d.ts", + "default": "./fp/clampWithOptions.js" + } + }, + "./fp/closestIndexTo": { + "require": { + "types": "./fp/closestIndexTo.d.cts", + "default": "./fp/closestIndexTo.cjs" + }, + "import": { + "types": "./fp/closestIndexTo.d.ts", + "default": "./fp/closestIndexTo.js" + } + }, + "./fp/closestTo": { + "require": { + "types": "./fp/closestTo.d.cts", + "default": "./fp/closestTo.cjs" + }, + "import": { + "types": "./fp/closestTo.d.ts", + "default": "./fp/closestTo.js" + } + }, + "./fp/closestToWithOptions": { + "require": { + "types": "./fp/closestToWithOptions.d.cts", + "default": "./fp/closestToWithOptions.cjs" + }, + "import": { + "types": "./fp/closestToWithOptions.d.ts", + "default": "./fp/closestToWithOptions.js" + } + }, + "./fp/compareAsc": { + "require": { + "types": "./fp/compareAsc.d.cts", + "default": "./fp/compareAsc.cjs" + }, + "import": { + "types": "./fp/compareAsc.d.ts", + "default": "./fp/compareAsc.js" + } + }, + "./fp/compareDesc": { + "require": { + "types": "./fp/compareDesc.d.cts", + "default": "./fp/compareDesc.cjs" + }, + "import": { + "types": "./fp/compareDesc.d.ts", + "default": "./fp/compareDesc.js" + } + }, + "./fp/constructFrom": { + "require": { + "types": "./fp/constructFrom.d.cts", + "default": "./fp/constructFrom.cjs" + }, + "import": { + "types": "./fp/constructFrom.d.ts", + "default": "./fp/constructFrom.js" + } + }, + "./fp/daysToWeeks": { + "require": { + "types": "./fp/daysToWeeks.d.cts", + "default": "./fp/daysToWeeks.cjs" + }, + "import": { + "types": "./fp/daysToWeeks.d.ts", + "default": "./fp/daysToWeeks.js" + } + }, + "./fp/differenceInBusinessDays": { + "require": { + "types": "./fp/differenceInBusinessDays.d.cts", + "default": "./fp/differenceInBusinessDays.cjs" + }, + "import": { + "types": "./fp/differenceInBusinessDays.d.ts", + "default": "./fp/differenceInBusinessDays.js" + } + }, + "./fp/differenceInBusinessDaysWithOptions": { + "require": { + "types": "./fp/differenceInBusinessDaysWithOptions.d.cts", + "default": "./fp/differenceInBusinessDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInBusinessDaysWithOptions.d.ts", + "default": "./fp/differenceInBusinessDaysWithOptions.js" + } + }, + "./fp/differenceInCalendarDays": { + "require": { + "types": "./fp/differenceInCalendarDays.d.cts", + "default": "./fp/differenceInCalendarDays.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarDays.d.ts", + "default": "./fp/differenceInCalendarDays.js" + } + }, + "./fp/differenceInCalendarDaysWithOptions": { + "require": { + "types": "./fp/differenceInCalendarDaysWithOptions.d.cts", + "default": "./fp/differenceInCalendarDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarDaysWithOptions.d.ts", + "default": "./fp/differenceInCalendarDaysWithOptions.js" + } + }, + "./fp/differenceInCalendarISOWeekYears": { + "require": { + "types": "./fp/differenceInCalendarISOWeekYears.d.cts", + "default": "./fp/differenceInCalendarISOWeekYears.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarISOWeekYears.d.ts", + "default": "./fp/differenceInCalendarISOWeekYears.js" + } + }, + "./fp/differenceInCalendarISOWeekYearsWithOptions": { + "require": { + "types": "./fp/differenceInCalendarISOWeekYearsWithOptions.d.cts", + "default": "./fp/differenceInCalendarISOWeekYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarISOWeekYearsWithOptions.d.ts", + "default": "./fp/differenceInCalendarISOWeekYearsWithOptions.js" + } + }, + "./fp/differenceInCalendarISOWeeks": { + "require": { + "types": "./fp/differenceInCalendarISOWeeks.d.cts", + "default": "./fp/differenceInCalendarISOWeeks.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarISOWeeks.d.ts", + "default": "./fp/differenceInCalendarISOWeeks.js" + } + }, + "./fp/differenceInCalendarISOWeeksWithOptions": { + "require": { + "types": "./fp/differenceInCalendarISOWeeksWithOptions.d.cts", + "default": "./fp/differenceInCalendarISOWeeksWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarISOWeeksWithOptions.d.ts", + "default": "./fp/differenceInCalendarISOWeeksWithOptions.js" + } + }, + "./fp/differenceInCalendarMonths": { + "require": { + "types": "./fp/differenceInCalendarMonths.d.cts", + "default": "./fp/differenceInCalendarMonths.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarMonths.d.ts", + "default": "./fp/differenceInCalendarMonths.js" + } + }, + "./fp/differenceInCalendarMonthsWithOptions": { + "require": { + "types": "./fp/differenceInCalendarMonthsWithOptions.d.cts", + "default": "./fp/differenceInCalendarMonthsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarMonthsWithOptions.d.ts", + "default": "./fp/differenceInCalendarMonthsWithOptions.js" + } + }, + "./fp/differenceInCalendarQuarters": { + "require": { + "types": "./fp/differenceInCalendarQuarters.d.cts", + "default": "./fp/differenceInCalendarQuarters.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarQuarters.d.ts", + "default": "./fp/differenceInCalendarQuarters.js" + } + }, + "./fp/differenceInCalendarQuartersWithOptions": { + "require": { + "types": "./fp/differenceInCalendarQuartersWithOptions.d.cts", + "default": "./fp/differenceInCalendarQuartersWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarQuartersWithOptions.d.ts", + "default": "./fp/differenceInCalendarQuartersWithOptions.js" + } + }, + "./fp/differenceInCalendarWeeks": { + "require": { + "types": "./fp/differenceInCalendarWeeks.d.cts", + "default": "./fp/differenceInCalendarWeeks.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarWeeks.d.ts", + "default": "./fp/differenceInCalendarWeeks.js" + } + }, + "./fp/differenceInCalendarWeeksWithOptions": { + "require": { + "types": "./fp/differenceInCalendarWeeksWithOptions.d.cts", + "default": "./fp/differenceInCalendarWeeksWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarWeeksWithOptions.d.ts", + "default": "./fp/differenceInCalendarWeeksWithOptions.js" + } + }, + "./fp/differenceInCalendarYears": { + "require": { + "types": "./fp/differenceInCalendarYears.d.cts", + "default": "./fp/differenceInCalendarYears.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarYears.d.ts", + "default": "./fp/differenceInCalendarYears.js" + } + }, + "./fp/differenceInCalendarYearsWithOptions": { + "require": { + "types": "./fp/differenceInCalendarYearsWithOptions.d.cts", + "default": "./fp/differenceInCalendarYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInCalendarYearsWithOptions.d.ts", + "default": "./fp/differenceInCalendarYearsWithOptions.js" + } + }, + "./fp/differenceInDays": { + "require": { + "types": "./fp/differenceInDays.d.cts", + "default": "./fp/differenceInDays.cjs" + }, + "import": { + "types": "./fp/differenceInDays.d.ts", + "default": "./fp/differenceInDays.js" + } + }, + "./fp/differenceInDaysWithOptions": { + "require": { + "types": "./fp/differenceInDaysWithOptions.d.cts", + "default": "./fp/differenceInDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInDaysWithOptions.d.ts", + "default": "./fp/differenceInDaysWithOptions.js" + } + }, + "./fp/differenceInHours": { + "require": { + "types": "./fp/differenceInHours.d.cts", + "default": "./fp/differenceInHours.cjs" + }, + "import": { + "types": "./fp/differenceInHours.d.ts", + "default": "./fp/differenceInHours.js" + } + }, + "./fp/differenceInHoursWithOptions": { + "require": { + "types": "./fp/differenceInHoursWithOptions.d.cts", + "default": "./fp/differenceInHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInHoursWithOptions.d.ts", + "default": "./fp/differenceInHoursWithOptions.js" + } + }, + "./fp/differenceInISOWeekYears": { + "require": { + "types": "./fp/differenceInISOWeekYears.d.cts", + "default": "./fp/differenceInISOWeekYears.cjs" + }, + "import": { + "types": "./fp/differenceInISOWeekYears.d.ts", + "default": "./fp/differenceInISOWeekYears.js" + } + }, + "./fp/differenceInISOWeekYearsWithOptions": { + "require": { + "types": "./fp/differenceInISOWeekYearsWithOptions.d.cts", + "default": "./fp/differenceInISOWeekYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInISOWeekYearsWithOptions.d.ts", + "default": "./fp/differenceInISOWeekYearsWithOptions.js" + } + }, + "./fp/differenceInMilliseconds": { + "require": { + "types": "./fp/differenceInMilliseconds.d.cts", + "default": "./fp/differenceInMilliseconds.cjs" + }, + "import": { + "types": "./fp/differenceInMilliseconds.d.ts", + "default": "./fp/differenceInMilliseconds.js" + } + }, + "./fp/differenceInMinutes": { + "require": { + "types": "./fp/differenceInMinutes.d.cts", + "default": "./fp/differenceInMinutes.cjs" + }, + "import": { + "types": "./fp/differenceInMinutes.d.ts", + "default": "./fp/differenceInMinutes.js" + } + }, + "./fp/differenceInMinutesWithOptions": { + "require": { + "types": "./fp/differenceInMinutesWithOptions.d.cts", + "default": "./fp/differenceInMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInMinutesWithOptions.d.ts", + "default": "./fp/differenceInMinutesWithOptions.js" + } + }, + "./fp/differenceInMonths": { + "require": { + "types": "./fp/differenceInMonths.d.cts", + "default": "./fp/differenceInMonths.cjs" + }, + "import": { + "types": "./fp/differenceInMonths.d.ts", + "default": "./fp/differenceInMonths.js" + } + }, + "./fp/differenceInMonthsWithOptions": { + "require": { + "types": "./fp/differenceInMonthsWithOptions.d.cts", + "default": "./fp/differenceInMonthsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInMonthsWithOptions.d.ts", + "default": "./fp/differenceInMonthsWithOptions.js" + } + }, + "./fp/differenceInQuarters": { + "require": { + "types": "./fp/differenceInQuarters.d.cts", + "default": "./fp/differenceInQuarters.cjs" + }, + "import": { + "types": "./fp/differenceInQuarters.d.ts", + "default": "./fp/differenceInQuarters.js" + } + }, + "./fp/differenceInQuartersWithOptions": { + "require": { + "types": "./fp/differenceInQuartersWithOptions.d.cts", + "default": "./fp/differenceInQuartersWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInQuartersWithOptions.d.ts", + "default": "./fp/differenceInQuartersWithOptions.js" + } + }, + "./fp/differenceInSeconds": { + "require": { + "types": "./fp/differenceInSeconds.d.cts", + "default": "./fp/differenceInSeconds.cjs" + }, + "import": { + "types": "./fp/differenceInSeconds.d.ts", + "default": "./fp/differenceInSeconds.js" + } + }, + "./fp/differenceInSecondsWithOptions": { + "require": { + "types": "./fp/differenceInSecondsWithOptions.d.cts", + "default": "./fp/differenceInSecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInSecondsWithOptions.d.ts", + "default": "./fp/differenceInSecondsWithOptions.js" + } + }, + "./fp/differenceInWeeks": { + "require": { + "types": "./fp/differenceInWeeks.d.cts", + "default": "./fp/differenceInWeeks.cjs" + }, + "import": { + "types": "./fp/differenceInWeeks.d.ts", + "default": "./fp/differenceInWeeks.js" + } + }, + "./fp/differenceInWeeksWithOptions": { + "require": { + "types": "./fp/differenceInWeeksWithOptions.d.cts", + "default": "./fp/differenceInWeeksWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInWeeksWithOptions.d.ts", + "default": "./fp/differenceInWeeksWithOptions.js" + } + }, + "./fp/differenceInYears": { + "require": { + "types": "./fp/differenceInYears.d.cts", + "default": "./fp/differenceInYears.cjs" + }, + "import": { + "types": "./fp/differenceInYears.d.ts", + "default": "./fp/differenceInYears.js" + } + }, + "./fp/differenceInYearsWithOptions": { + "require": { + "types": "./fp/differenceInYearsWithOptions.d.cts", + "default": "./fp/differenceInYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/differenceInYearsWithOptions.d.ts", + "default": "./fp/differenceInYearsWithOptions.js" + } + }, + "./fp/eachDayOfInterval": { + "require": { + "types": "./fp/eachDayOfInterval.d.cts", + "default": "./fp/eachDayOfInterval.cjs" + }, + "import": { + "types": "./fp/eachDayOfInterval.d.ts", + "default": "./fp/eachDayOfInterval.js" + } + }, + "./fp/eachDayOfIntervalWithOptions": { + "require": { + "types": "./fp/eachDayOfIntervalWithOptions.d.cts", + "default": "./fp/eachDayOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachDayOfIntervalWithOptions.d.ts", + "default": "./fp/eachDayOfIntervalWithOptions.js" + } + }, + "./fp/eachHourOfInterval": { + "require": { + "types": "./fp/eachHourOfInterval.d.cts", + "default": "./fp/eachHourOfInterval.cjs" + }, + "import": { + "types": "./fp/eachHourOfInterval.d.ts", + "default": "./fp/eachHourOfInterval.js" + } + }, + "./fp/eachHourOfIntervalWithOptions": { + "require": { + "types": "./fp/eachHourOfIntervalWithOptions.d.cts", + "default": "./fp/eachHourOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachHourOfIntervalWithOptions.d.ts", + "default": "./fp/eachHourOfIntervalWithOptions.js" + } + }, + "./fp/eachMinuteOfInterval": { + "require": { + "types": "./fp/eachMinuteOfInterval.d.cts", + "default": "./fp/eachMinuteOfInterval.cjs" + }, + "import": { + "types": "./fp/eachMinuteOfInterval.d.ts", + "default": "./fp/eachMinuteOfInterval.js" + } + }, + "./fp/eachMinuteOfIntervalWithOptions": { + "require": { + "types": "./fp/eachMinuteOfIntervalWithOptions.d.cts", + "default": "./fp/eachMinuteOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachMinuteOfIntervalWithOptions.d.ts", + "default": "./fp/eachMinuteOfIntervalWithOptions.js" + } + }, + "./fp/eachMonthOfInterval": { + "require": { + "types": "./fp/eachMonthOfInterval.d.cts", + "default": "./fp/eachMonthOfInterval.cjs" + }, + "import": { + "types": "./fp/eachMonthOfInterval.d.ts", + "default": "./fp/eachMonthOfInterval.js" + } + }, + "./fp/eachMonthOfIntervalWithOptions": { + "require": { + "types": "./fp/eachMonthOfIntervalWithOptions.d.cts", + "default": "./fp/eachMonthOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachMonthOfIntervalWithOptions.d.ts", + "default": "./fp/eachMonthOfIntervalWithOptions.js" + } + }, + "./fp/eachQuarterOfInterval": { + "require": { + "types": "./fp/eachQuarterOfInterval.d.cts", + "default": "./fp/eachQuarterOfInterval.cjs" + }, + "import": { + "types": "./fp/eachQuarterOfInterval.d.ts", + "default": "./fp/eachQuarterOfInterval.js" + } + }, + "./fp/eachQuarterOfIntervalWithOptions": { + "require": { + "types": "./fp/eachQuarterOfIntervalWithOptions.d.cts", + "default": "./fp/eachQuarterOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachQuarterOfIntervalWithOptions.d.ts", + "default": "./fp/eachQuarterOfIntervalWithOptions.js" + } + }, + "./fp/eachWeekOfInterval": { + "require": { + "types": "./fp/eachWeekOfInterval.d.cts", + "default": "./fp/eachWeekOfInterval.cjs" + }, + "import": { + "types": "./fp/eachWeekOfInterval.d.ts", + "default": "./fp/eachWeekOfInterval.js" + } + }, + "./fp/eachWeekOfIntervalWithOptions": { + "require": { + "types": "./fp/eachWeekOfIntervalWithOptions.d.cts", + "default": "./fp/eachWeekOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachWeekOfIntervalWithOptions.d.ts", + "default": "./fp/eachWeekOfIntervalWithOptions.js" + } + }, + "./fp/eachWeekendOfInterval": { + "require": { + "types": "./fp/eachWeekendOfInterval.d.cts", + "default": "./fp/eachWeekendOfInterval.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfInterval.d.ts", + "default": "./fp/eachWeekendOfInterval.js" + } + }, + "./fp/eachWeekendOfIntervalWithOptions": { + "require": { + "types": "./fp/eachWeekendOfIntervalWithOptions.d.cts", + "default": "./fp/eachWeekendOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfIntervalWithOptions.d.ts", + "default": "./fp/eachWeekendOfIntervalWithOptions.js" + } + }, + "./fp/eachWeekendOfMonth": { + "require": { + "types": "./fp/eachWeekendOfMonth.d.cts", + "default": "./fp/eachWeekendOfMonth.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfMonth.d.ts", + "default": "./fp/eachWeekendOfMonth.js" + } + }, + "./fp/eachWeekendOfMonthWithOptions": { + "require": { + "types": "./fp/eachWeekendOfMonthWithOptions.d.cts", + "default": "./fp/eachWeekendOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfMonthWithOptions.d.ts", + "default": "./fp/eachWeekendOfMonthWithOptions.js" + } + }, + "./fp/eachWeekendOfYear": { + "require": { + "types": "./fp/eachWeekendOfYear.d.cts", + "default": "./fp/eachWeekendOfYear.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfYear.d.ts", + "default": "./fp/eachWeekendOfYear.js" + } + }, + "./fp/eachWeekendOfYearWithOptions": { + "require": { + "types": "./fp/eachWeekendOfYearWithOptions.d.cts", + "default": "./fp/eachWeekendOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/eachWeekendOfYearWithOptions.d.ts", + "default": "./fp/eachWeekendOfYearWithOptions.js" + } + }, + "./fp/eachYearOfInterval": { + "require": { + "types": "./fp/eachYearOfInterval.d.cts", + "default": "./fp/eachYearOfInterval.cjs" + }, + "import": { + "types": "./fp/eachYearOfInterval.d.ts", + "default": "./fp/eachYearOfInterval.js" + } + }, + "./fp/eachYearOfIntervalWithOptions": { + "require": { + "types": "./fp/eachYearOfIntervalWithOptions.d.cts", + "default": "./fp/eachYearOfIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/eachYearOfIntervalWithOptions.d.ts", + "default": "./fp/eachYearOfIntervalWithOptions.js" + } + }, + "./fp/endOfDay": { + "require": { + "types": "./fp/endOfDay.d.cts", + "default": "./fp/endOfDay.cjs" + }, + "import": { + "types": "./fp/endOfDay.d.ts", + "default": "./fp/endOfDay.js" + } + }, + "./fp/endOfDayWithOptions": { + "require": { + "types": "./fp/endOfDayWithOptions.d.cts", + "default": "./fp/endOfDayWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfDayWithOptions.d.ts", + "default": "./fp/endOfDayWithOptions.js" + } + }, + "./fp/endOfDecade": { + "require": { + "types": "./fp/endOfDecade.d.cts", + "default": "./fp/endOfDecade.cjs" + }, + "import": { + "types": "./fp/endOfDecade.d.ts", + "default": "./fp/endOfDecade.js" + } + }, + "./fp/endOfDecadeWithOptions": { + "require": { + "types": "./fp/endOfDecadeWithOptions.d.cts", + "default": "./fp/endOfDecadeWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfDecadeWithOptions.d.ts", + "default": "./fp/endOfDecadeWithOptions.js" + } + }, + "./fp/endOfHour": { + "require": { + "types": "./fp/endOfHour.d.cts", + "default": "./fp/endOfHour.cjs" + }, + "import": { + "types": "./fp/endOfHour.d.ts", + "default": "./fp/endOfHour.js" + } + }, + "./fp/endOfHourWithOptions": { + "require": { + "types": "./fp/endOfHourWithOptions.d.cts", + "default": "./fp/endOfHourWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfHourWithOptions.d.ts", + "default": "./fp/endOfHourWithOptions.js" + } + }, + "./fp/endOfISOWeek": { + "require": { + "types": "./fp/endOfISOWeek.d.cts", + "default": "./fp/endOfISOWeek.cjs" + }, + "import": { + "types": "./fp/endOfISOWeek.d.ts", + "default": "./fp/endOfISOWeek.js" + } + }, + "./fp/endOfISOWeekWithOptions": { + "require": { + "types": "./fp/endOfISOWeekWithOptions.d.cts", + "default": "./fp/endOfISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfISOWeekWithOptions.d.ts", + "default": "./fp/endOfISOWeekWithOptions.js" + } + }, + "./fp/endOfISOWeekYear": { + "require": { + "types": "./fp/endOfISOWeekYear.d.cts", + "default": "./fp/endOfISOWeekYear.cjs" + }, + "import": { + "types": "./fp/endOfISOWeekYear.d.ts", + "default": "./fp/endOfISOWeekYear.js" + } + }, + "./fp/endOfISOWeekYearWithOptions": { + "require": { + "types": "./fp/endOfISOWeekYearWithOptions.d.cts", + "default": "./fp/endOfISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfISOWeekYearWithOptions.d.ts", + "default": "./fp/endOfISOWeekYearWithOptions.js" + } + }, + "./fp/endOfMinute": { + "require": { + "types": "./fp/endOfMinute.d.cts", + "default": "./fp/endOfMinute.cjs" + }, + "import": { + "types": "./fp/endOfMinute.d.ts", + "default": "./fp/endOfMinute.js" + } + }, + "./fp/endOfMinuteWithOptions": { + "require": { + "types": "./fp/endOfMinuteWithOptions.d.cts", + "default": "./fp/endOfMinuteWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfMinuteWithOptions.d.ts", + "default": "./fp/endOfMinuteWithOptions.js" + } + }, + "./fp/endOfMonth": { + "require": { + "types": "./fp/endOfMonth.d.cts", + "default": "./fp/endOfMonth.cjs" + }, + "import": { + "types": "./fp/endOfMonth.d.ts", + "default": "./fp/endOfMonth.js" + } + }, + "./fp/endOfMonthWithOptions": { + "require": { + "types": "./fp/endOfMonthWithOptions.d.cts", + "default": "./fp/endOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfMonthWithOptions.d.ts", + "default": "./fp/endOfMonthWithOptions.js" + } + }, + "./fp/endOfQuarter": { + "require": { + "types": "./fp/endOfQuarter.d.cts", + "default": "./fp/endOfQuarter.cjs" + }, + "import": { + "types": "./fp/endOfQuarter.d.ts", + "default": "./fp/endOfQuarter.js" + } + }, + "./fp/endOfQuarterWithOptions": { + "require": { + "types": "./fp/endOfQuarterWithOptions.d.cts", + "default": "./fp/endOfQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfQuarterWithOptions.d.ts", + "default": "./fp/endOfQuarterWithOptions.js" + } + }, + "./fp/endOfSecond": { + "require": { + "types": "./fp/endOfSecond.d.cts", + "default": "./fp/endOfSecond.cjs" + }, + "import": { + "types": "./fp/endOfSecond.d.ts", + "default": "./fp/endOfSecond.js" + } + }, + "./fp/endOfSecondWithOptions": { + "require": { + "types": "./fp/endOfSecondWithOptions.d.cts", + "default": "./fp/endOfSecondWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfSecondWithOptions.d.ts", + "default": "./fp/endOfSecondWithOptions.js" + } + }, + "./fp/endOfWeek": { + "require": { + "types": "./fp/endOfWeek.d.cts", + "default": "./fp/endOfWeek.cjs" + }, + "import": { + "types": "./fp/endOfWeek.d.ts", + "default": "./fp/endOfWeek.js" + } + }, + "./fp/endOfWeekWithOptions": { + "require": { + "types": "./fp/endOfWeekWithOptions.d.cts", + "default": "./fp/endOfWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfWeekWithOptions.d.ts", + "default": "./fp/endOfWeekWithOptions.js" + } + }, + "./fp/endOfYear": { + "require": { + "types": "./fp/endOfYear.d.cts", + "default": "./fp/endOfYear.cjs" + }, + "import": { + "types": "./fp/endOfYear.d.ts", + "default": "./fp/endOfYear.js" + } + }, + "./fp/endOfYearWithOptions": { + "require": { + "types": "./fp/endOfYearWithOptions.d.cts", + "default": "./fp/endOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/endOfYearWithOptions.d.ts", + "default": "./fp/endOfYearWithOptions.js" + } + }, + "./fp/format": { + "require": { + "types": "./fp/format.d.cts", + "default": "./fp/format.cjs" + }, + "import": { + "types": "./fp/format.d.ts", + "default": "./fp/format.js" + } + }, + "./fp/formatDistance": { + "require": { + "types": "./fp/formatDistance.d.cts", + "default": "./fp/formatDistance.cjs" + }, + "import": { + "types": "./fp/formatDistance.d.ts", + "default": "./fp/formatDistance.js" + } + }, + "./fp/formatDistanceStrict": { + "require": { + "types": "./fp/formatDistanceStrict.d.cts", + "default": "./fp/formatDistanceStrict.cjs" + }, + "import": { + "types": "./fp/formatDistanceStrict.d.ts", + "default": "./fp/formatDistanceStrict.js" + } + }, + "./fp/formatDistanceStrictWithOptions": { + "require": { + "types": "./fp/formatDistanceStrictWithOptions.d.cts", + "default": "./fp/formatDistanceStrictWithOptions.cjs" + }, + "import": { + "types": "./fp/formatDistanceStrictWithOptions.d.ts", + "default": "./fp/formatDistanceStrictWithOptions.js" + } + }, + "./fp/formatDistanceWithOptions": { + "require": { + "types": "./fp/formatDistanceWithOptions.d.cts", + "default": "./fp/formatDistanceWithOptions.cjs" + }, + "import": { + "types": "./fp/formatDistanceWithOptions.d.ts", + "default": "./fp/formatDistanceWithOptions.js" + } + }, + "./fp/formatDuration": { + "require": { + "types": "./fp/formatDuration.d.cts", + "default": "./fp/formatDuration.cjs" + }, + "import": { + "types": "./fp/formatDuration.d.ts", + "default": "./fp/formatDuration.js" + } + }, + "./fp/formatDurationWithOptions": { + "require": { + "types": "./fp/formatDurationWithOptions.d.cts", + "default": "./fp/formatDurationWithOptions.cjs" + }, + "import": { + "types": "./fp/formatDurationWithOptions.d.ts", + "default": "./fp/formatDurationWithOptions.js" + } + }, + "./fp/formatISO": { + "require": { + "types": "./fp/formatISO.d.cts", + "default": "./fp/formatISO.cjs" + }, + "import": { + "types": "./fp/formatISO.d.ts", + "default": "./fp/formatISO.js" + } + }, + "./fp/formatISO9075": { + "require": { + "types": "./fp/formatISO9075.d.cts", + "default": "./fp/formatISO9075.cjs" + }, + "import": { + "types": "./fp/formatISO9075.d.ts", + "default": "./fp/formatISO9075.js" + } + }, + "./fp/formatISO9075WithOptions": { + "require": { + "types": "./fp/formatISO9075WithOptions.d.cts", + "default": "./fp/formatISO9075WithOptions.cjs" + }, + "import": { + "types": "./fp/formatISO9075WithOptions.d.ts", + "default": "./fp/formatISO9075WithOptions.js" + } + }, + "./fp/formatISODuration": { + "require": { + "types": "./fp/formatISODuration.d.cts", + "default": "./fp/formatISODuration.cjs" + }, + "import": { + "types": "./fp/formatISODuration.d.ts", + "default": "./fp/formatISODuration.js" + } + }, + "./fp/formatISOWithOptions": { + "require": { + "types": "./fp/formatISOWithOptions.d.cts", + "default": "./fp/formatISOWithOptions.cjs" + }, + "import": { + "types": "./fp/formatISOWithOptions.d.ts", + "default": "./fp/formatISOWithOptions.js" + } + }, + "./fp/formatRFC3339": { + "require": { + "types": "./fp/formatRFC3339.d.cts", + "default": "./fp/formatRFC3339.cjs" + }, + "import": { + "types": "./fp/formatRFC3339.d.ts", + "default": "./fp/formatRFC3339.js" + } + }, + "./fp/formatRFC3339WithOptions": { + "require": { + "types": "./fp/formatRFC3339WithOptions.d.cts", + "default": "./fp/formatRFC3339WithOptions.cjs" + }, + "import": { + "types": "./fp/formatRFC3339WithOptions.d.ts", + "default": "./fp/formatRFC3339WithOptions.js" + } + }, + "./fp/formatRFC7231": { + "require": { + "types": "./fp/formatRFC7231.d.cts", + "default": "./fp/formatRFC7231.cjs" + }, + "import": { + "types": "./fp/formatRFC7231.d.ts", + "default": "./fp/formatRFC7231.js" + } + }, + "./fp/formatRelative": { + "require": { + "types": "./fp/formatRelative.d.cts", + "default": "./fp/formatRelative.cjs" + }, + "import": { + "types": "./fp/formatRelative.d.ts", + "default": "./fp/formatRelative.js" + } + }, + "./fp/formatRelativeWithOptions": { + "require": { + "types": "./fp/formatRelativeWithOptions.d.cts", + "default": "./fp/formatRelativeWithOptions.cjs" + }, + "import": { + "types": "./fp/formatRelativeWithOptions.d.ts", + "default": "./fp/formatRelativeWithOptions.js" + } + }, + "./fp/formatWithOptions": { + "require": { + "types": "./fp/formatWithOptions.d.cts", + "default": "./fp/formatWithOptions.cjs" + }, + "import": { + "types": "./fp/formatWithOptions.d.ts", + "default": "./fp/formatWithOptions.js" + } + }, + "./fp/fromUnixTime": { + "require": { + "types": "./fp/fromUnixTime.d.cts", + "default": "./fp/fromUnixTime.cjs" + }, + "import": { + "types": "./fp/fromUnixTime.d.ts", + "default": "./fp/fromUnixTime.js" + } + }, + "./fp/fromUnixTimeWithOptions": { + "require": { + "types": "./fp/fromUnixTimeWithOptions.d.cts", + "default": "./fp/fromUnixTimeWithOptions.cjs" + }, + "import": { + "types": "./fp/fromUnixTimeWithOptions.d.ts", + "default": "./fp/fromUnixTimeWithOptions.js" + } + }, + "./fp/getDate": { + "require": { + "types": "./fp/getDate.d.cts", + "default": "./fp/getDate.cjs" + }, + "import": { + "types": "./fp/getDate.d.ts", + "default": "./fp/getDate.js" + } + }, + "./fp/getDateWithOptions": { + "require": { + "types": "./fp/getDateWithOptions.d.cts", + "default": "./fp/getDateWithOptions.cjs" + }, + "import": { + "types": "./fp/getDateWithOptions.d.ts", + "default": "./fp/getDateWithOptions.js" + } + }, + "./fp/getDay": { + "require": { + "types": "./fp/getDay.d.cts", + "default": "./fp/getDay.cjs" + }, + "import": { + "types": "./fp/getDay.d.ts", + "default": "./fp/getDay.js" + } + }, + "./fp/getDayOfYear": { + "require": { + "types": "./fp/getDayOfYear.d.cts", + "default": "./fp/getDayOfYear.cjs" + }, + "import": { + "types": "./fp/getDayOfYear.d.ts", + "default": "./fp/getDayOfYear.js" + } + }, + "./fp/getDayOfYearWithOptions": { + "require": { + "types": "./fp/getDayOfYearWithOptions.d.cts", + "default": "./fp/getDayOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getDayOfYearWithOptions.d.ts", + "default": "./fp/getDayOfYearWithOptions.js" + } + }, + "./fp/getDayWithOptions": { + "require": { + "types": "./fp/getDayWithOptions.d.cts", + "default": "./fp/getDayWithOptions.cjs" + }, + "import": { + "types": "./fp/getDayWithOptions.d.ts", + "default": "./fp/getDayWithOptions.js" + } + }, + "./fp/getDaysInMonth": { + "require": { + "types": "./fp/getDaysInMonth.d.cts", + "default": "./fp/getDaysInMonth.cjs" + }, + "import": { + "types": "./fp/getDaysInMonth.d.ts", + "default": "./fp/getDaysInMonth.js" + } + }, + "./fp/getDaysInMonthWithOptions": { + "require": { + "types": "./fp/getDaysInMonthWithOptions.d.cts", + "default": "./fp/getDaysInMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/getDaysInMonthWithOptions.d.ts", + "default": "./fp/getDaysInMonthWithOptions.js" + } + }, + "./fp/getDaysInYear": { + "require": { + "types": "./fp/getDaysInYear.d.cts", + "default": "./fp/getDaysInYear.cjs" + }, + "import": { + "types": "./fp/getDaysInYear.d.ts", + "default": "./fp/getDaysInYear.js" + } + }, + "./fp/getDaysInYearWithOptions": { + "require": { + "types": "./fp/getDaysInYearWithOptions.d.cts", + "default": "./fp/getDaysInYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getDaysInYearWithOptions.d.ts", + "default": "./fp/getDaysInYearWithOptions.js" + } + }, + "./fp/getDecade": { + "require": { + "types": "./fp/getDecade.d.cts", + "default": "./fp/getDecade.cjs" + }, + "import": { + "types": "./fp/getDecade.d.ts", + "default": "./fp/getDecade.js" + } + }, + "./fp/getDecadeWithOptions": { + "require": { + "types": "./fp/getDecadeWithOptions.d.cts", + "default": "./fp/getDecadeWithOptions.cjs" + }, + "import": { + "types": "./fp/getDecadeWithOptions.d.ts", + "default": "./fp/getDecadeWithOptions.js" + } + }, + "./fp/getHours": { + "require": { + "types": "./fp/getHours.d.cts", + "default": "./fp/getHours.cjs" + }, + "import": { + "types": "./fp/getHours.d.ts", + "default": "./fp/getHours.js" + } + }, + "./fp/getHoursWithOptions": { + "require": { + "types": "./fp/getHoursWithOptions.d.cts", + "default": "./fp/getHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/getHoursWithOptions.d.ts", + "default": "./fp/getHoursWithOptions.js" + } + }, + "./fp/getISODay": { + "require": { + "types": "./fp/getISODay.d.cts", + "default": "./fp/getISODay.cjs" + }, + "import": { + "types": "./fp/getISODay.d.ts", + "default": "./fp/getISODay.js" + } + }, + "./fp/getISODayWithOptions": { + "require": { + "types": "./fp/getISODayWithOptions.d.cts", + "default": "./fp/getISODayWithOptions.cjs" + }, + "import": { + "types": "./fp/getISODayWithOptions.d.ts", + "default": "./fp/getISODayWithOptions.js" + } + }, + "./fp/getISOWeek": { + "require": { + "types": "./fp/getISOWeek.d.cts", + "default": "./fp/getISOWeek.cjs" + }, + "import": { + "types": "./fp/getISOWeek.d.ts", + "default": "./fp/getISOWeek.js" + } + }, + "./fp/getISOWeekWithOptions": { + "require": { + "types": "./fp/getISOWeekWithOptions.d.cts", + "default": "./fp/getISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/getISOWeekWithOptions.d.ts", + "default": "./fp/getISOWeekWithOptions.js" + } + }, + "./fp/getISOWeekYear": { + "require": { + "types": "./fp/getISOWeekYear.d.cts", + "default": "./fp/getISOWeekYear.cjs" + }, + "import": { + "types": "./fp/getISOWeekYear.d.ts", + "default": "./fp/getISOWeekYear.js" + } + }, + "./fp/getISOWeekYearWithOptions": { + "require": { + "types": "./fp/getISOWeekYearWithOptions.d.cts", + "default": "./fp/getISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getISOWeekYearWithOptions.d.ts", + "default": "./fp/getISOWeekYearWithOptions.js" + } + }, + "./fp/getISOWeeksInYear": { + "require": { + "types": "./fp/getISOWeeksInYear.d.cts", + "default": "./fp/getISOWeeksInYear.cjs" + }, + "import": { + "types": "./fp/getISOWeeksInYear.d.ts", + "default": "./fp/getISOWeeksInYear.js" + } + }, + "./fp/getISOWeeksInYearWithOptions": { + "require": { + "types": "./fp/getISOWeeksInYearWithOptions.d.cts", + "default": "./fp/getISOWeeksInYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getISOWeeksInYearWithOptions.d.ts", + "default": "./fp/getISOWeeksInYearWithOptions.js" + } + }, + "./fp/getMilliseconds": { + "require": { + "types": "./fp/getMilliseconds.d.cts", + "default": "./fp/getMilliseconds.cjs" + }, + "import": { + "types": "./fp/getMilliseconds.d.ts", + "default": "./fp/getMilliseconds.js" + } + }, + "./fp/getMinutes": { + "require": { + "types": "./fp/getMinutes.d.cts", + "default": "./fp/getMinutes.cjs" + }, + "import": { + "types": "./fp/getMinutes.d.ts", + "default": "./fp/getMinutes.js" + } + }, + "./fp/getMinutesWithOptions": { + "require": { + "types": "./fp/getMinutesWithOptions.d.cts", + "default": "./fp/getMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/getMinutesWithOptions.d.ts", + "default": "./fp/getMinutesWithOptions.js" + } + }, + "./fp/getMonth": { + "require": { + "types": "./fp/getMonth.d.cts", + "default": "./fp/getMonth.cjs" + }, + "import": { + "types": "./fp/getMonth.d.ts", + "default": "./fp/getMonth.js" + } + }, + "./fp/getMonthWithOptions": { + "require": { + "types": "./fp/getMonthWithOptions.d.cts", + "default": "./fp/getMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/getMonthWithOptions.d.ts", + "default": "./fp/getMonthWithOptions.js" + } + }, + "./fp/getOverlappingDaysInIntervals": { + "require": { + "types": "./fp/getOverlappingDaysInIntervals.d.cts", + "default": "./fp/getOverlappingDaysInIntervals.cjs" + }, + "import": { + "types": "./fp/getOverlappingDaysInIntervals.d.ts", + "default": "./fp/getOverlappingDaysInIntervals.js" + } + }, + "./fp/getQuarter": { + "require": { + "types": "./fp/getQuarter.d.cts", + "default": "./fp/getQuarter.cjs" + }, + "import": { + "types": "./fp/getQuarter.d.ts", + "default": "./fp/getQuarter.js" + } + }, + "./fp/getQuarterWithOptions": { + "require": { + "types": "./fp/getQuarterWithOptions.d.cts", + "default": "./fp/getQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/getQuarterWithOptions.d.ts", + "default": "./fp/getQuarterWithOptions.js" + } + }, + "./fp/getSeconds": { + "require": { + "types": "./fp/getSeconds.d.cts", + "default": "./fp/getSeconds.cjs" + }, + "import": { + "types": "./fp/getSeconds.d.ts", + "default": "./fp/getSeconds.js" + } + }, + "./fp/getTime": { + "require": { + "types": "./fp/getTime.d.cts", + "default": "./fp/getTime.cjs" + }, + "import": { + "types": "./fp/getTime.d.ts", + "default": "./fp/getTime.js" + } + }, + "./fp/getUnixTime": { + "require": { + "types": "./fp/getUnixTime.d.cts", + "default": "./fp/getUnixTime.cjs" + }, + "import": { + "types": "./fp/getUnixTime.d.ts", + "default": "./fp/getUnixTime.js" + } + }, + "./fp/getWeek": { + "require": { + "types": "./fp/getWeek.d.cts", + "default": "./fp/getWeek.cjs" + }, + "import": { + "types": "./fp/getWeek.d.ts", + "default": "./fp/getWeek.js" + } + }, + "./fp/getWeekOfMonth": { + "require": { + "types": "./fp/getWeekOfMonth.d.cts", + "default": "./fp/getWeekOfMonth.cjs" + }, + "import": { + "types": "./fp/getWeekOfMonth.d.ts", + "default": "./fp/getWeekOfMonth.js" + } + }, + "./fp/getWeekOfMonthWithOptions": { + "require": { + "types": "./fp/getWeekOfMonthWithOptions.d.cts", + "default": "./fp/getWeekOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/getWeekOfMonthWithOptions.d.ts", + "default": "./fp/getWeekOfMonthWithOptions.js" + } + }, + "./fp/getWeekWithOptions": { + "require": { + "types": "./fp/getWeekWithOptions.d.cts", + "default": "./fp/getWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/getWeekWithOptions.d.ts", + "default": "./fp/getWeekWithOptions.js" + } + }, + "./fp/getWeekYear": { + "require": { + "types": "./fp/getWeekYear.d.cts", + "default": "./fp/getWeekYear.cjs" + }, + "import": { + "types": "./fp/getWeekYear.d.ts", + "default": "./fp/getWeekYear.js" + } + }, + "./fp/getWeekYearWithOptions": { + "require": { + "types": "./fp/getWeekYearWithOptions.d.cts", + "default": "./fp/getWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getWeekYearWithOptions.d.ts", + "default": "./fp/getWeekYearWithOptions.js" + } + }, + "./fp/getWeeksInMonth": { + "require": { + "types": "./fp/getWeeksInMonth.d.cts", + "default": "./fp/getWeeksInMonth.cjs" + }, + "import": { + "types": "./fp/getWeeksInMonth.d.ts", + "default": "./fp/getWeeksInMonth.js" + } + }, + "./fp/getWeeksInMonthWithOptions": { + "require": { + "types": "./fp/getWeeksInMonthWithOptions.d.cts", + "default": "./fp/getWeeksInMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/getWeeksInMonthWithOptions.d.ts", + "default": "./fp/getWeeksInMonthWithOptions.js" + } + }, + "./fp/getYear": { + "require": { + "types": "./fp/getYear.d.cts", + "default": "./fp/getYear.cjs" + }, + "import": { + "types": "./fp/getYear.d.ts", + "default": "./fp/getYear.js" + } + }, + "./fp/getYearWithOptions": { + "require": { + "types": "./fp/getYearWithOptions.d.cts", + "default": "./fp/getYearWithOptions.cjs" + }, + "import": { + "types": "./fp/getYearWithOptions.d.ts", + "default": "./fp/getYearWithOptions.js" + } + }, + "./fp/hoursToMilliseconds": { + "require": { + "types": "./fp/hoursToMilliseconds.d.cts", + "default": "./fp/hoursToMilliseconds.cjs" + }, + "import": { + "types": "./fp/hoursToMilliseconds.d.ts", + "default": "./fp/hoursToMilliseconds.js" + } + }, + "./fp/hoursToMinutes": { + "require": { + "types": "./fp/hoursToMinutes.d.cts", + "default": "./fp/hoursToMinutes.cjs" + }, + "import": { + "types": "./fp/hoursToMinutes.d.ts", + "default": "./fp/hoursToMinutes.js" + } + }, + "./fp/hoursToSeconds": { + "require": { + "types": "./fp/hoursToSeconds.d.cts", + "default": "./fp/hoursToSeconds.cjs" + }, + "import": { + "types": "./fp/hoursToSeconds.d.ts", + "default": "./fp/hoursToSeconds.js" + } + }, + "./fp/interval": { + "require": { + "types": "./fp/interval.d.cts", + "default": "./fp/interval.cjs" + }, + "import": { + "types": "./fp/interval.d.ts", + "default": "./fp/interval.js" + } + }, + "./fp/intervalToDuration": { + "require": { + "types": "./fp/intervalToDuration.d.cts", + "default": "./fp/intervalToDuration.cjs" + }, + "import": { + "types": "./fp/intervalToDuration.d.ts", + "default": "./fp/intervalToDuration.js" + } + }, + "./fp/intervalToDurationWithOptions": { + "require": { + "types": "./fp/intervalToDurationWithOptions.d.cts", + "default": "./fp/intervalToDurationWithOptions.cjs" + }, + "import": { + "types": "./fp/intervalToDurationWithOptions.d.ts", + "default": "./fp/intervalToDurationWithOptions.js" + } + }, + "./fp/intervalWithOptions": { + "require": { + "types": "./fp/intervalWithOptions.d.cts", + "default": "./fp/intervalWithOptions.cjs" + }, + "import": { + "types": "./fp/intervalWithOptions.d.ts", + "default": "./fp/intervalWithOptions.js" + } + }, + "./fp/intlFormat": { + "require": { + "types": "./fp/intlFormat.d.cts", + "default": "./fp/intlFormat.cjs" + }, + "import": { + "types": "./fp/intlFormat.d.ts", + "default": "./fp/intlFormat.js" + } + }, + "./fp/intlFormatDistance": { + "require": { + "types": "./fp/intlFormatDistance.d.cts", + "default": "./fp/intlFormatDistance.cjs" + }, + "import": { + "types": "./fp/intlFormatDistance.d.ts", + "default": "./fp/intlFormatDistance.js" + } + }, + "./fp/intlFormatDistanceWithOptions": { + "require": { + "types": "./fp/intlFormatDistanceWithOptions.d.cts", + "default": "./fp/intlFormatDistanceWithOptions.cjs" + }, + "import": { + "types": "./fp/intlFormatDistanceWithOptions.d.ts", + "default": "./fp/intlFormatDistanceWithOptions.js" + } + }, + "./fp/isAfter": { + "require": { + "types": "./fp/isAfter.d.cts", + "default": "./fp/isAfter.cjs" + }, + "import": { + "types": "./fp/isAfter.d.ts", + "default": "./fp/isAfter.js" + } + }, + "./fp/isBefore": { + "require": { + "types": "./fp/isBefore.d.cts", + "default": "./fp/isBefore.cjs" + }, + "import": { + "types": "./fp/isBefore.d.ts", + "default": "./fp/isBefore.js" + } + }, + "./fp/isDate": { + "require": { + "types": "./fp/isDate.d.cts", + "default": "./fp/isDate.cjs" + }, + "import": { + "types": "./fp/isDate.d.ts", + "default": "./fp/isDate.js" + } + }, + "./fp/isEqual": { + "require": { + "types": "./fp/isEqual.d.cts", + "default": "./fp/isEqual.cjs" + }, + "import": { + "types": "./fp/isEqual.d.ts", + "default": "./fp/isEqual.js" + } + }, + "./fp/isExists": { + "require": { + "types": "./fp/isExists.d.cts", + "default": "./fp/isExists.cjs" + }, + "import": { + "types": "./fp/isExists.d.ts", + "default": "./fp/isExists.js" + } + }, + "./fp/isFirstDayOfMonth": { + "require": { + "types": "./fp/isFirstDayOfMonth.d.cts", + "default": "./fp/isFirstDayOfMonth.cjs" + }, + "import": { + "types": "./fp/isFirstDayOfMonth.d.ts", + "default": "./fp/isFirstDayOfMonth.js" + } + }, + "./fp/isFirstDayOfMonthWithOptions": { + "require": { + "types": "./fp/isFirstDayOfMonthWithOptions.d.cts", + "default": "./fp/isFirstDayOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/isFirstDayOfMonthWithOptions.d.ts", + "default": "./fp/isFirstDayOfMonthWithOptions.js" + } + }, + "./fp/isFriday": { + "require": { + "types": "./fp/isFriday.d.cts", + "default": "./fp/isFriday.cjs" + }, + "import": { + "types": "./fp/isFriday.d.ts", + "default": "./fp/isFriday.js" + } + }, + "./fp/isFridayWithOptions": { + "require": { + "types": "./fp/isFridayWithOptions.d.cts", + "default": "./fp/isFridayWithOptions.cjs" + }, + "import": { + "types": "./fp/isFridayWithOptions.d.ts", + "default": "./fp/isFridayWithOptions.js" + } + }, + "./fp/isLastDayOfMonth": { + "require": { + "types": "./fp/isLastDayOfMonth.d.cts", + "default": "./fp/isLastDayOfMonth.cjs" + }, + "import": { + "types": "./fp/isLastDayOfMonth.d.ts", + "default": "./fp/isLastDayOfMonth.js" + } + }, + "./fp/isLastDayOfMonthWithOptions": { + "require": { + "types": "./fp/isLastDayOfMonthWithOptions.d.cts", + "default": "./fp/isLastDayOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/isLastDayOfMonthWithOptions.d.ts", + "default": "./fp/isLastDayOfMonthWithOptions.js" + } + }, + "./fp/isLeapYear": { + "require": { + "types": "./fp/isLeapYear.d.cts", + "default": "./fp/isLeapYear.cjs" + }, + "import": { + "types": "./fp/isLeapYear.d.ts", + "default": "./fp/isLeapYear.js" + } + }, + "./fp/isLeapYearWithOptions": { + "require": { + "types": "./fp/isLeapYearWithOptions.d.cts", + "default": "./fp/isLeapYearWithOptions.cjs" + }, + "import": { + "types": "./fp/isLeapYearWithOptions.d.ts", + "default": "./fp/isLeapYearWithOptions.js" + } + }, + "./fp/isMatch": { + "require": { + "types": "./fp/isMatch.d.cts", + "default": "./fp/isMatch.cjs" + }, + "import": { + "types": "./fp/isMatch.d.ts", + "default": "./fp/isMatch.js" + } + }, + "./fp/isMatchWithOptions": { + "require": { + "types": "./fp/isMatchWithOptions.d.cts", + "default": "./fp/isMatchWithOptions.cjs" + }, + "import": { + "types": "./fp/isMatchWithOptions.d.ts", + "default": "./fp/isMatchWithOptions.js" + } + }, + "./fp/isMonday": { + "require": { + "types": "./fp/isMonday.d.cts", + "default": "./fp/isMonday.cjs" + }, + "import": { + "types": "./fp/isMonday.d.ts", + "default": "./fp/isMonday.js" + } + }, + "./fp/isMondayWithOptions": { + "require": { + "types": "./fp/isMondayWithOptions.d.cts", + "default": "./fp/isMondayWithOptions.cjs" + }, + "import": { + "types": "./fp/isMondayWithOptions.d.ts", + "default": "./fp/isMondayWithOptions.js" + } + }, + "./fp/isSameDay": { + "require": { + "types": "./fp/isSameDay.d.cts", + "default": "./fp/isSameDay.cjs" + }, + "import": { + "types": "./fp/isSameDay.d.ts", + "default": "./fp/isSameDay.js" + } + }, + "./fp/isSameDayWithOptions": { + "require": { + "types": "./fp/isSameDayWithOptions.d.cts", + "default": "./fp/isSameDayWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameDayWithOptions.d.ts", + "default": "./fp/isSameDayWithOptions.js" + } + }, + "./fp/isSameHour": { + "require": { + "types": "./fp/isSameHour.d.cts", + "default": "./fp/isSameHour.cjs" + }, + "import": { + "types": "./fp/isSameHour.d.ts", + "default": "./fp/isSameHour.js" + } + }, + "./fp/isSameHourWithOptions": { + "require": { + "types": "./fp/isSameHourWithOptions.d.cts", + "default": "./fp/isSameHourWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameHourWithOptions.d.ts", + "default": "./fp/isSameHourWithOptions.js" + } + }, + "./fp/isSameISOWeek": { + "require": { + "types": "./fp/isSameISOWeek.d.cts", + "default": "./fp/isSameISOWeek.cjs" + }, + "import": { + "types": "./fp/isSameISOWeek.d.ts", + "default": "./fp/isSameISOWeek.js" + } + }, + "./fp/isSameISOWeekWithOptions": { + "require": { + "types": "./fp/isSameISOWeekWithOptions.d.cts", + "default": "./fp/isSameISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameISOWeekWithOptions.d.ts", + "default": "./fp/isSameISOWeekWithOptions.js" + } + }, + "./fp/isSameISOWeekYear": { + "require": { + "types": "./fp/isSameISOWeekYear.d.cts", + "default": "./fp/isSameISOWeekYear.cjs" + }, + "import": { + "types": "./fp/isSameISOWeekYear.d.ts", + "default": "./fp/isSameISOWeekYear.js" + } + }, + "./fp/isSameISOWeekYearWithOptions": { + "require": { + "types": "./fp/isSameISOWeekYearWithOptions.d.cts", + "default": "./fp/isSameISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameISOWeekYearWithOptions.d.ts", + "default": "./fp/isSameISOWeekYearWithOptions.js" + } + }, + "./fp/isSameMinute": { + "require": { + "types": "./fp/isSameMinute.d.cts", + "default": "./fp/isSameMinute.cjs" + }, + "import": { + "types": "./fp/isSameMinute.d.ts", + "default": "./fp/isSameMinute.js" + } + }, + "./fp/isSameMonth": { + "require": { + "types": "./fp/isSameMonth.d.cts", + "default": "./fp/isSameMonth.cjs" + }, + "import": { + "types": "./fp/isSameMonth.d.ts", + "default": "./fp/isSameMonth.js" + } + }, + "./fp/isSameMonthWithOptions": { + "require": { + "types": "./fp/isSameMonthWithOptions.d.cts", + "default": "./fp/isSameMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameMonthWithOptions.d.ts", + "default": "./fp/isSameMonthWithOptions.js" + } + }, + "./fp/isSameQuarter": { + "require": { + "types": "./fp/isSameQuarter.d.cts", + "default": "./fp/isSameQuarter.cjs" + }, + "import": { + "types": "./fp/isSameQuarter.d.ts", + "default": "./fp/isSameQuarter.js" + } + }, + "./fp/isSameQuarterWithOptions": { + "require": { + "types": "./fp/isSameQuarterWithOptions.d.cts", + "default": "./fp/isSameQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameQuarterWithOptions.d.ts", + "default": "./fp/isSameQuarterWithOptions.js" + } + }, + "./fp/isSameSecond": { + "require": { + "types": "./fp/isSameSecond.d.cts", + "default": "./fp/isSameSecond.cjs" + }, + "import": { + "types": "./fp/isSameSecond.d.ts", + "default": "./fp/isSameSecond.js" + } + }, + "./fp/isSameWeek": { + "require": { + "types": "./fp/isSameWeek.d.cts", + "default": "./fp/isSameWeek.cjs" + }, + "import": { + "types": "./fp/isSameWeek.d.ts", + "default": "./fp/isSameWeek.js" + } + }, + "./fp/isSameWeekWithOptions": { + "require": { + "types": "./fp/isSameWeekWithOptions.d.cts", + "default": "./fp/isSameWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameWeekWithOptions.d.ts", + "default": "./fp/isSameWeekWithOptions.js" + } + }, + "./fp/isSameYear": { + "require": { + "types": "./fp/isSameYear.d.cts", + "default": "./fp/isSameYear.cjs" + }, + "import": { + "types": "./fp/isSameYear.d.ts", + "default": "./fp/isSameYear.js" + } + }, + "./fp/isSameYearWithOptions": { + "require": { + "types": "./fp/isSameYearWithOptions.d.cts", + "default": "./fp/isSameYearWithOptions.cjs" + }, + "import": { + "types": "./fp/isSameYearWithOptions.d.ts", + "default": "./fp/isSameYearWithOptions.js" + } + }, + "./fp/isSaturday": { + "require": { + "types": "./fp/isSaturday.d.cts", + "default": "./fp/isSaturday.cjs" + }, + "import": { + "types": "./fp/isSaturday.d.ts", + "default": "./fp/isSaturday.js" + } + }, + "./fp/isSaturdayWithOptions": { + "require": { + "types": "./fp/isSaturdayWithOptions.d.cts", + "default": "./fp/isSaturdayWithOptions.cjs" + }, + "import": { + "types": "./fp/isSaturdayWithOptions.d.ts", + "default": "./fp/isSaturdayWithOptions.js" + } + }, + "./fp/isSunday": { + "require": { + "types": "./fp/isSunday.d.cts", + "default": "./fp/isSunday.cjs" + }, + "import": { + "types": "./fp/isSunday.d.ts", + "default": "./fp/isSunday.js" + } + }, + "./fp/isSundayWithOptions": { + "require": { + "types": "./fp/isSundayWithOptions.d.cts", + "default": "./fp/isSundayWithOptions.cjs" + }, + "import": { + "types": "./fp/isSundayWithOptions.d.ts", + "default": "./fp/isSundayWithOptions.js" + } + }, + "./fp/isThursday": { + "require": { + "types": "./fp/isThursday.d.cts", + "default": "./fp/isThursday.cjs" + }, + "import": { + "types": "./fp/isThursday.d.ts", + "default": "./fp/isThursday.js" + } + }, + "./fp/isThursdayWithOptions": { + "require": { + "types": "./fp/isThursdayWithOptions.d.cts", + "default": "./fp/isThursdayWithOptions.cjs" + }, + "import": { + "types": "./fp/isThursdayWithOptions.d.ts", + "default": "./fp/isThursdayWithOptions.js" + } + }, + "./fp/isTuesday": { + "require": { + "types": "./fp/isTuesday.d.cts", + "default": "./fp/isTuesday.cjs" + }, + "import": { + "types": "./fp/isTuesday.d.ts", + "default": "./fp/isTuesday.js" + } + }, + "./fp/isTuesdayWithOptions": { + "require": { + "types": "./fp/isTuesdayWithOptions.d.cts", + "default": "./fp/isTuesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/isTuesdayWithOptions.d.ts", + "default": "./fp/isTuesdayWithOptions.js" + } + }, + "./fp/isValid": { + "require": { + "types": "./fp/isValid.d.cts", + "default": "./fp/isValid.cjs" + }, + "import": { + "types": "./fp/isValid.d.ts", + "default": "./fp/isValid.js" + } + }, + "./fp/isWednesday": { + "require": { + "types": "./fp/isWednesday.d.cts", + "default": "./fp/isWednesday.cjs" + }, + "import": { + "types": "./fp/isWednesday.d.ts", + "default": "./fp/isWednesday.js" + } + }, + "./fp/isWednesdayWithOptions": { + "require": { + "types": "./fp/isWednesdayWithOptions.d.cts", + "default": "./fp/isWednesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/isWednesdayWithOptions.d.ts", + "default": "./fp/isWednesdayWithOptions.js" + } + }, + "./fp/isWeekend": { + "require": { + "types": "./fp/isWeekend.d.cts", + "default": "./fp/isWeekend.cjs" + }, + "import": { + "types": "./fp/isWeekend.d.ts", + "default": "./fp/isWeekend.js" + } + }, + "./fp/isWeekendWithOptions": { + "require": { + "types": "./fp/isWeekendWithOptions.d.cts", + "default": "./fp/isWeekendWithOptions.cjs" + }, + "import": { + "types": "./fp/isWeekendWithOptions.d.ts", + "default": "./fp/isWeekendWithOptions.js" + } + }, + "./fp/isWithinInterval": { + "require": { + "types": "./fp/isWithinInterval.d.cts", + "default": "./fp/isWithinInterval.cjs" + }, + "import": { + "types": "./fp/isWithinInterval.d.ts", + "default": "./fp/isWithinInterval.js" + } + }, + "./fp/isWithinIntervalWithOptions": { + "require": { + "types": "./fp/isWithinIntervalWithOptions.d.cts", + "default": "./fp/isWithinIntervalWithOptions.cjs" + }, + "import": { + "types": "./fp/isWithinIntervalWithOptions.d.ts", + "default": "./fp/isWithinIntervalWithOptions.js" + } + }, + "./fp/lastDayOfDecade": { + "require": { + "types": "./fp/lastDayOfDecade.d.cts", + "default": "./fp/lastDayOfDecade.cjs" + }, + "import": { + "types": "./fp/lastDayOfDecade.d.ts", + "default": "./fp/lastDayOfDecade.js" + } + }, + "./fp/lastDayOfDecadeWithOptions": { + "require": { + "types": "./fp/lastDayOfDecadeWithOptions.d.cts", + "default": "./fp/lastDayOfDecadeWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfDecadeWithOptions.d.ts", + "default": "./fp/lastDayOfDecadeWithOptions.js" + } + }, + "./fp/lastDayOfISOWeek": { + "require": { + "types": "./fp/lastDayOfISOWeek.d.cts", + "default": "./fp/lastDayOfISOWeek.cjs" + }, + "import": { + "types": "./fp/lastDayOfISOWeek.d.ts", + "default": "./fp/lastDayOfISOWeek.js" + } + }, + "./fp/lastDayOfISOWeekWithOptions": { + "require": { + "types": "./fp/lastDayOfISOWeekWithOptions.d.cts", + "default": "./fp/lastDayOfISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfISOWeekWithOptions.d.ts", + "default": "./fp/lastDayOfISOWeekWithOptions.js" + } + }, + "./fp/lastDayOfISOWeekYear": { + "require": { + "types": "./fp/lastDayOfISOWeekYear.d.cts", + "default": "./fp/lastDayOfISOWeekYear.cjs" + }, + "import": { + "types": "./fp/lastDayOfISOWeekYear.d.ts", + "default": "./fp/lastDayOfISOWeekYear.js" + } + }, + "./fp/lastDayOfISOWeekYearWithOptions": { + "require": { + "types": "./fp/lastDayOfISOWeekYearWithOptions.d.cts", + "default": "./fp/lastDayOfISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfISOWeekYearWithOptions.d.ts", + "default": "./fp/lastDayOfISOWeekYearWithOptions.js" + } + }, + "./fp/lastDayOfMonth": { + "require": { + "types": "./fp/lastDayOfMonth.d.cts", + "default": "./fp/lastDayOfMonth.cjs" + }, + "import": { + "types": "./fp/lastDayOfMonth.d.ts", + "default": "./fp/lastDayOfMonth.js" + } + }, + "./fp/lastDayOfMonthWithOptions": { + "require": { + "types": "./fp/lastDayOfMonthWithOptions.d.cts", + "default": "./fp/lastDayOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfMonthWithOptions.d.ts", + "default": "./fp/lastDayOfMonthWithOptions.js" + } + }, + "./fp/lastDayOfQuarter": { + "require": { + "types": "./fp/lastDayOfQuarter.d.cts", + "default": "./fp/lastDayOfQuarter.cjs" + }, + "import": { + "types": "./fp/lastDayOfQuarter.d.ts", + "default": "./fp/lastDayOfQuarter.js" + } + }, + "./fp/lastDayOfQuarterWithOptions": { + "require": { + "types": "./fp/lastDayOfQuarterWithOptions.d.cts", + "default": "./fp/lastDayOfQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfQuarterWithOptions.d.ts", + "default": "./fp/lastDayOfQuarterWithOptions.js" + } + }, + "./fp/lastDayOfWeek": { + "require": { + "types": "./fp/lastDayOfWeek.d.cts", + "default": "./fp/lastDayOfWeek.cjs" + }, + "import": { + "types": "./fp/lastDayOfWeek.d.ts", + "default": "./fp/lastDayOfWeek.js" + } + }, + "./fp/lastDayOfWeekWithOptions": { + "require": { + "types": "./fp/lastDayOfWeekWithOptions.d.cts", + "default": "./fp/lastDayOfWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfWeekWithOptions.d.ts", + "default": "./fp/lastDayOfWeekWithOptions.js" + } + }, + "./fp/lastDayOfYear": { + "require": { + "types": "./fp/lastDayOfYear.d.cts", + "default": "./fp/lastDayOfYear.cjs" + }, + "import": { + "types": "./fp/lastDayOfYear.d.ts", + "default": "./fp/lastDayOfYear.js" + } + }, + "./fp/lastDayOfYearWithOptions": { + "require": { + "types": "./fp/lastDayOfYearWithOptions.d.cts", + "default": "./fp/lastDayOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/lastDayOfYearWithOptions.d.ts", + "default": "./fp/lastDayOfYearWithOptions.js" + } + }, + "./fp/lightFormat": { + "require": { + "types": "./fp/lightFormat.d.cts", + "default": "./fp/lightFormat.cjs" + }, + "import": { + "types": "./fp/lightFormat.d.ts", + "default": "./fp/lightFormat.js" + } + }, + "./fp/max": { + "require": { + "types": "./fp/max.d.cts", + "default": "./fp/max.cjs" + }, + "import": { + "types": "./fp/max.d.ts", + "default": "./fp/max.js" + } + }, + "./fp/maxWithOptions": { + "require": { + "types": "./fp/maxWithOptions.d.cts", + "default": "./fp/maxWithOptions.cjs" + }, + "import": { + "types": "./fp/maxWithOptions.d.ts", + "default": "./fp/maxWithOptions.js" + } + }, + "./fp/milliseconds": { + "require": { + "types": "./fp/milliseconds.d.cts", + "default": "./fp/milliseconds.cjs" + }, + "import": { + "types": "./fp/milliseconds.d.ts", + "default": "./fp/milliseconds.js" + } + }, + "./fp/millisecondsToHours": { + "require": { + "types": "./fp/millisecondsToHours.d.cts", + "default": "./fp/millisecondsToHours.cjs" + }, + "import": { + "types": "./fp/millisecondsToHours.d.ts", + "default": "./fp/millisecondsToHours.js" + } + }, + "./fp/millisecondsToMinutes": { + "require": { + "types": "./fp/millisecondsToMinutes.d.cts", + "default": "./fp/millisecondsToMinutes.cjs" + }, + "import": { + "types": "./fp/millisecondsToMinutes.d.ts", + "default": "./fp/millisecondsToMinutes.js" + } + }, + "./fp/millisecondsToSeconds": { + "require": { + "types": "./fp/millisecondsToSeconds.d.cts", + "default": "./fp/millisecondsToSeconds.cjs" + }, + "import": { + "types": "./fp/millisecondsToSeconds.d.ts", + "default": "./fp/millisecondsToSeconds.js" + } + }, + "./fp/min": { + "require": { + "types": "./fp/min.d.cts", + "default": "./fp/min.cjs" + }, + "import": { + "types": "./fp/min.d.ts", + "default": "./fp/min.js" + } + }, + "./fp/minWithOptions": { + "require": { + "types": "./fp/minWithOptions.d.cts", + "default": "./fp/minWithOptions.cjs" + }, + "import": { + "types": "./fp/minWithOptions.d.ts", + "default": "./fp/minWithOptions.js" + } + }, + "./fp/minutesToHours": { + "require": { + "types": "./fp/minutesToHours.d.cts", + "default": "./fp/minutesToHours.cjs" + }, + "import": { + "types": "./fp/minutesToHours.d.ts", + "default": "./fp/minutesToHours.js" + } + }, + "./fp/minutesToMilliseconds": { + "require": { + "types": "./fp/minutesToMilliseconds.d.cts", + "default": "./fp/minutesToMilliseconds.cjs" + }, + "import": { + "types": "./fp/minutesToMilliseconds.d.ts", + "default": "./fp/minutesToMilliseconds.js" + } + }, + "./fp/minutesToSeconds": { + "require": { + "types": "./fp/minutesToSeconds.d.cts", + "default": "./fp/minutesToSeconds.cjs" + }, + "import": { + "types": "./fp/minutesToSeconds.d.ts", + "default": "./fp/minutesToSeconds.js" + } + }, + "./fp/monthsToQuarters": { + "require": { + "types": "./fp/monthsToQuarters.d.cts", + "default": "./fp/monthsToQuarters.cjs" + }, + "import": { + "types": "./fp/monthsToQuarters.d.ts", + "default": "./fp/monthsToQuarters.js" + } + }, + "./fp/monthsToYears": { + "require": { + "types": "./fp/monthsToYears.d.cts", + "default": "./fp/monthsToYears.cjs" + }, + "import": { + "types": "./fp/monthsToYears.d.ts", + "default": "./fp/monthsToYears.js" + } + }, + "./fp/nextDay": { + "require": { + "types": "./fp/nextDay.d.cts", + "default": "./fp/nextDay.cjs" + }, + "import": { + "types": "./fp/nextDay.d.ts", + "default": "./fp/nextDay.js" + } + }, + "./fp/nextDayWithOptions": { + "require": { + "types": "./fp/nextDayWithOptions.d.cts", + "default": "./fp/nextDayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextDayWithOptions.d.ts", + "default": "./fp/nextDayWithOptions.js" + } + }, + "./fp/nextFriday": { + "require": { + "types": "./fp/nextFriday.d.cts", + "default": "./fp/nextFriday.cjs" + }, + "import": { + "types": "./fp/nextFriday.d.ts", + "default": "./fp/nextFriday.js" + } + }, + "./fp/nextFridayWithOptions": { + "require": { + "types": "./fp/nextFridayWithOptions.d.cts", + "default": "./fp/nextFridayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextFridayWithOptions.d.ts", + "default": "./fp/nextFridayWithOptions.js" + } + }, + "./fp/nextMonday": { + "require": { + "types": "./fp/nextMonday.d.cts", + "default": "./fp/nextMonday.cjs" + }, + "import": { + "types": "./fp/nextMonday.d.ts", + "default": "./fp/nextMonday.js" + } + }, + "./fp/nextMondayWithOptions": { + "require": { + "types": "./fp/nextMondayWithOptions.d.cts", + "default": "./fp/nextMondayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextMondayWithOptions.d.ts", + "default": "./fp/nextMondayWithOptions.js" + } + }, + "./fp/nextSaturday": { + "require": { + "types": "./fp/nextSaturday.d.cts", + "default": "./fp/nextSaturday.cjs" + }, + "import": { + "types": "./fp/nextSaturday.d.ts", + "default": "./fp/nextSaturday.js" + } + }, + "./fp/nextSaturdayWithOptions": { + "require": { + "types": "./fp/nextSaturdayWithOptions.d.cts", + "default": "./fp/nextSaturdayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextSaturdayWithOptions.d.ts", + "default": "./fp/nextSaturdayWithOptions.js" + } + }, + "./fp/nextSunday": { + "require": { + "types": "./fp/nextSunday.d.cts", + "default": "./fp/nextSunday.cjs" + }, + "import": { + "types": "./fp/nextSunday.d.ts", + "default": "./fp/nextSunday.js" + } + }, + "./fp/nextSundayWithOptions": { + "require": { + "types": "./fp/nextSundayWithOptions.d.cts", + "default": "./fp/nextSundayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextSundayWithOptions.d.ts", + "default": "./fp/nextSundayWithOptions.js" + } + }, + "./fp/nextThursday": { + "require": { + "types": "./fp/nextThursday.d.cts", + "default": "./fp/nextThursday.cjs" + }, + "import": { + "types": "./fp/nextThursday.d.ts", + "default": "./fp/nextThursday.js" + } + }, + "./fp/nextThursdayWithOptions": { + "require": { + "types": "./fp/nextThursdayWithOptions.d.cts", + "default": "./fp/nextThursdayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextThursdayWithOptions.d.ts", + "default": "./fp/nextThursdayWithOptions.js" + } + }, + "./fp/nextTuesday": { + "require": { + "types": "./fp/nextTuesday.d.cts", + "default": "./fp/nextTuesday.cjs" + }, + "import": { + "types": "./fp/nextTuesday.d.ts", + "default": "./fp/nextTuesday.js" + } + }, + "./fp/nextTuesdayWithOptions": { + "require": { + "types": "./fp/nextTuesdayWithOptions.d.cts", + "default": "./fp/nextTuesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextTuesdayWithOptions.d.ts", + "default": "./fp/nextTuesdayWithOptions.js" + } + }, + "./fp/nextWednesday": { + "require": { + "types": "./fp/nextWednesday.d.cts", + "default": "./fp/nextWednesday.cjs" + }, + "import": { + "types": "./fp/nextWednesday.d.ts", + "default": "./fp/nextWednesday.js" + } + }, + "./fp/nextWednesdayWithOptions": { + "require": { + "types": "./fp/nextWednesdayWithOptions.d.cts", + "default": "./fp/nextWednesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/nextWednesdayWithOptions.d.ts", + "default": "./fp/nextWednesdayWithOptions.js" + } + }, + "./fp/parse": { + "require": { + "types": "./fp/parse.d.cts", + "default": "./fp/parse.cjs" + }, + "import": { + "types": "./fp/parse.d.ts", + "default": "./fp/parse.js" + } + }, + "./fp/parseISO": { + "require": { + "types": "./fp/parseISO.d.cts", + "default": "./fp/parseISO.cjs" + }, + "import": { + "types": "./fp/parseISO.d.ts", + "default": "./fp/parseISO.js" + } + }, + "./fp/parseISOWithOptions": { + "require": { + "types": "./fp/parseISOWithOptions.d.cts", + "default": "./fp/parseISOWithOptions.cjs" + }, + "import": { + "types": "./fp/parseISOWithOptions.d.ts", + "default": "./fp/parseISOWithOptions.js" + } + }, + "./fp/parseJSON": { + "require": { + "types": "./fp/parseJSON.d.cts", + "default": "./fp/parseJSON.cjs" + }, + "import": { + "types": "./fp/parseJSON.d.ts", + "default": "./fp/parseJSON.js" + } + }, + "./fp/parseJSONWithOptions": { + "require": { + "types": "./fp/parseJSONWithOptions.d.cts", + "default": "./fp/parseJSONWithOptions.cjs" + }, + "import": { + "types": "./fp/parseJSONWithOptions.d.ts", + "default": "./fp/parseJSONWithOptions.js" + } + }, + "./fp/parseWithOptions": { + "require": { + "types": "./fp/parseWithOptions.d.cts", + "default": "./fp/parseWithOptions.cjs" + }, + "import": { + "types": "./fp/parseWithOptions.d.ts", + "default": "./fp/parseWithOptions.js" + } + }, + "./fp/previousDay": { + "require": { + "types": "./fp/previousDay.d.cts", + "default": "./fp/previousDay.cjs" + }, + "import": { + "types": "./fp/previousDay.d.ts", + "default": "./fp/previousDay.js" + } + }, + "./fp/previousDayWithOptions": { + "require": { + "types": "./fp/previousDayWithOptions.d.cts", + "default": "./fp/previousDayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousDayWithOptions.d.ts", + "default": "./fp/previousDayWithOptions.js" + } + }, + "./fp/previousFriday": { + "require": { + "types": "./fp/previousFriday.d.cts", + "default": "./fp/previousFriday.cjs" + }, + "import": { + "types": "./fp/previousFriday.d.ts", + "default": "./fp/previousFriday.js" + } + }, + "./fp/previousFridayWithOptions": { + "require": { + "types": "./fp/previousFridayWithOptions.d.cts", + "default": "./fp/previousFridayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousFridayWithOptions.d.ts", + "default": "./fp/previousFridayWithOptions.js" + } + }, + "./fp/previousMonday": { + "require": { + "types": "./fp/previousMonday.d.cts", + "default": "./fp/previousMonday.cjs" + }, + "import": { + "types": "./fp/previousMonday.d.ts", + "default": "./fp/previousMonday.js" + } + }, + "./fp/previousMondayWithOptions": { + "require": { + "types": "./fp/previousMondayWithOptions.d.cts", + "default": "./fp/previousMondayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousMondayWithOptions.d.ts", + "default": "./fp/previousMondayWithOptions.js" + } + }, + "./fp/previousSaturday": { + "require": { + "types": "./fp/previousSaturday.d.cts", + "default": "./fp/previousSaturday.cjs" + }, + "import": { + "types": "./fp/previousSaturday.d.ts", + "default": "./fp/previousSaturday.js" + } + }, + "./fp/previousSaturdayWithOptions": { + "require": { + "types": "./fp/previousSaturdayWithOptions.d.cts", + "default": "./fp/previousSaturdayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousSaturdayWithOptions.d.ts", + "default": "./fp/previousSaturdayWithOptions.js" + } + }, + "./fp/previousSunday": { + "require": { + "types": "./fp/previousSunday.d.cts", + "default": "./fp/previousSunday.cjs" + }, + "import": { + "types": "./fp/previousSunday.d.ts", + "default": "./fp/previousSunday.js" + } + }, + "./fp/previousSundayWithOptions": { + "require": { + "types": "./fp/previousSundayWithOptions.d.cts", + "default": "./fp/previousSundayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousSundayWithOptions.d.ts", + "default": "./fp/previousSundayWithOptions.js" + } + }, + "./fp/previousThursday": { + "require": { + "types": "./fp/previousThursday.d.cts", + "default": "./fp/previousThursday.cjs" + }, + "import": { + "types": "./fp/previousThursday.d.ts", + "default": "./fp/previousThursday.js" + } + }, + "./fp/previousThursdayWithOptions": { + "require": { + "types": "./fp/previousThursdayWithOptions.d.cts", + "default": "./fp/previousThursdayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousThursdayWithOptions.d.ts", + "default": "./fp/previousThursdayWithOptions.js" + } + }, + "./fp/previousTuesday": { + "require": { + "types": "./fp/previousTuesday.d.cts", + "default": "./fp/previousTuesday.cjs" + }, + "import": { + "types": "./fp/previousTuesday.d.ts", + "default": "./fp/previousTuesday.js" + } + }, + "./fp/previousTuesdayWithOptions": { + "require": { + "types": "./fp/previousTuesdayWithOptions.d.cts", + "default": "./fp/previousTuesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousTuesdayWithOptions.d.ts", + "default": "./fp/previousTuesdayWithOptions.js" + } + }, + "./fp/previousWednesday": { + "require": { + "types": "./fp/previousWednesday.d.cts", + "default": "./fp/previousWednesday.cjs" + }, + "import": { + "types": "./fp/previousWednesday.d.ts", + "default": "./fp/previousWednesday.js" + } + }, + "./fp/previousWednesdayWithOptions": { + "require": { + "types": "./fp/previousWednesdayWithOptions.d.cts", + "default": "./fp/previousWednesdayWithOptions.cjs" + }, + "import": { + "types": "./fp/previousWednesdayWithOptions.d.ts", + "default": "./fp/previousWednesdayWithOptions.js" + } + }, + "./fp/quartersToMonths": { + "require": { + "types": "./fp/quartersToMonths.d.cts", + "default": "./fp/quartersToMonths.cjs" + }, + "import": { + "types": "./fp/quartersToMonths.d.ts", + "default": "./fp/quartersToMonths.js" + } + }, + "./fp/quartersToYears": { + "require": { + "types": "./fp/quartersToYears.d.cts", + "default": "./fp/quartersToYears.cjs" + }, + "import": { + "types": "./fp/quartersToYears.d.ts", + "default": "./fp/quartersToYears.js" + } + }, + "./fp/roundToNearestHours": { + "require": { + "types": "./fp/roundToNearestHours.d.cts", + "default": "./fp/roundToNearestHours.cjs" + }, + "import": { + "types": "./fp/roundToNearestHours.d.ts", + "default": "./fp/roundToNearestHours.js" + } + }, + "./fp/roundToNearestHoursWithOptions": { + "require": { + "types": "./fp/roundToNearestHoursWithOptions.d.cts", + "default": "./fp/roundToNearestHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/roundToNearestHoursWithOptions.d.ts", + "default": "./fp/roundToNearestHoursWithOptions.js" + } + }, + "./fp/roundToNearestMinutes": { + "require": { + "types": "./fp/roundToNearestMinutes.d.cts", + "default": "./fp/roundToNearestMinutes.cjs" + }, + "import": { + "types": "./fp/roundToNearestMinutes.d.ts", + "default": "./fp/roundToNearestMinutes.js" + } + }, + "./fp/roundToNearestMinutesWithOptions": { + "require": { + "types": "./fp/roundToNearestMinutesWithOptions.d.cts", + "default": "./fp/roundToNearestMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/roundToNearestMinutesWithOptions.d.ts", + "default": "./fp/roundToNearestMinutesWithOptions.js" + } + }, + "./fp/secondsToHours": { + "require": { + "types": "./fp/secondsToHours.d.cts", + "default": "./fp/secondsToHours.cjs" + }, + "import": { + "types": "./fp/secondsToHours.d.ts", + "default": "./fp/secondsToHours.js" + } + }, + "./fp/secondsToMilliseconds": { + "require": { + "types": "./fp/secondsToMilliseconds.d.cts", + "default": "./fp/secondsToMilliseconds.cjs" + }, + "import": { + "types": "./fp/secondsToMilliseconds.d.ts", + "default": "./fp/secondsToMilliseconds.js" + } + }, + "./fp/secondsToMinutes": { + "require": { + "types": "./fp/secondsToMinutes.d.cts", + "default": "./fp/secondsToMinutes.cjs" + }, + "import": { + "types": "./fp/secondsToMinutes.d.ts", + "default": "./fp/secondsToMinutes.js" + } + }, + "./fp/set": { + "require": { + "types": "./fp/set.d.cts", + "default": "./fp/set.cjs" + }, + "import": { + "types": "./fp/set.d.ts", + "default": "./fp/set.js" + } + }, + "./fp/setDate": { + "require": { + "types": "./fp/setDate.d.cts", + "default": "./fp/setDate.cjs" + }, + "import": { + "types": "./fp/setDate.d.ts", + "default": "./fp/setDate.js" + } + }, + "./fp/setDateWithOptions": { + "require": { + "types": "./fp/setDateWithOptions.d.cts", + "default": "./fp/setDateWithOptions.cjs" + }, + "import": { + "types": "./fp/setDateWithOptions.d.ts", + "default": "./fp/setDateWithOptions.js" + } + }, + "./fp/setDay": { + "require": { + "types": "./fp/setDay.d.cts", + "default": "./fp/setDay.cjs" + }, + "import": { + "types": "./fp/setDay.d.ts", + "default": "./fp/setDay.js" + } + }, + "./fp/setDayOfYear": { + "require": { + "types": "./fp/setDayOfYear.d.cts", + "default": "./fp/setDayOfYear.cjs" + }, + "import": { + "types": "./fp/setDayOfYear.d.ts", + "default": "./fp/setDayOfYear.js" + } + }, + "./fp/setDayOfYearWithOptions": { + "require": { + "types": "./fp/setDayOfYearWithOptions.d.cts", + "default": "./fp/setDayOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/setDayOfYearWithOptions.d.ts", + "default": "./fp/setDayOfYearWithOptions.js" + } + }, + "./fp/setDayWithOptions": { + "require": { + "types": "./fp/setDayWithOptions.d.cts", + "default": "./fp/setDayWithOptions.cjs" + }, + "import": { + "types": "./fp/setDayWithOptions.d.ts", + "default": "./fp/setDayWithOptions.js" + } + }, + "./fp/setHours": { + "require": { + "types": "./fp/setHours.d.cts", + "default": "./fp/setHours.cjs" + }, + "import": { + "types": "./fp/setHours.d.ts", + "default": "./fp/setHours.js" + } + }, + "./fp/setHoursWithOptions": { + "require": { + "types": "./fp/setHoursWithOptions.d.cts", + "default": "./fp/setHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/setHoursWithOptions.d.ts", + "default": "./fp/setHoursWithOptions.js" + } + }, + "./fp/setISODay": { + "require": { + "types": "./fp/setISODay.d.cts", + "default": "./fp/setISODay.cjs" + }, + "import": { + "types": "./fp/setISODay.d.ts", + "default": "./fp/setISODay.js" + } + }, + "./fp/setISODayWithOptions": { + "require": { + "types": "./fp/setISODayWithOptions.d.cts", + "default": "./fp/setISODayWithOptions.cjs" + }, + "import": { + "types": "./fp/setISODayWithOptions.d.ts", + "default": "./fp/setISODayWithOptions.js" + } + }, + "./fp/setISOWeek": { + "require": { + "types": "./fp/setISOWeek.d.cts", + "default": "./fp/setISOWeek.cjs" + }, + "import": { + "types": "./fp/setISOWeek.d.ts", + "default": "./fp/setISOWeek.js" + } + }, + "./fp/setISOWeekWithOptions": { + "require": { + "types": "./fp/setISOWeekWithOptions.d.cts", + "default": "./fp/setISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/setISOWeekWithOptions.d.ts", + "default": "./fp/setISOWeekWithOptions.js" + } + }, + "./fp/setISOWeekYear": { + "require": { + "types": "./fp/setISOWeekYear.d.cts", + "default": "./fp/setISOWeekYear.cjs" + }, + "import": { + "types": "./fp/setISOWeekYear.d.ts", + "default": "./fp/setISOWeekYear.js" + } + }, + "./fp/setISOWeekYearWithOptions": { + "require": { + "types": "./fp/setISOWeekYearWithOptions.d.cts", + "default": "./fp/setISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/setISOWeekYearWithOptions.d.ts", + "default": "./fp/setISOWeekYearWithOptions.js" + } + }, + "./fp/setMilliseconds": { + "require": { + "types": "./fp/setMilliseconds.d.cts", + "default": "./fp/setMilliseconds.cjs" + }, + "import": { + "types": "./fp/setMilliseconds.d.ts", + "default": "./fp/setMilliseconds.js" + } + }, + "./fp/setMillisecondsWithOptions": { + "require": { + "types": "./fp/setMillisecondsWithOptions.d.cts", + "default": "./fp/setMillisecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/setMillisecondsWithOptions.d.ts", + "default": "./fp/setMillisecondsWithOptions.js" + } + }, + "./fp/setMinutes": { + "require": { + "types": "./fp/setMinutes.d.cts", + "default": "./fp/setMinutes.cjs" + }, + "import": { + "types": "./fp/setMinutes.d.ts", + "default": "./fp/setMinutes.js" + } + }, + "./fp/setMinutesWithOptions": { + "require": { + "types": "./fp/setMinutesWithOptions.d.cts", + "default": "./fp/setMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/setMinutesWithOptions.d.ts", + "default": "./fp/setMinutesWithOptions.js" + } + }, + "./fp/setMonth": { + "require": { + "types": "./fp/setMonth.d.cts", + "default": "./fp/setMonth.cjs" + }, + "import": { + "types": "./fp/setMonth.d.ts", + "default": "./fp/setMonth.js" + } + }, + "./fp/setMonthWithOptions": { + "require": { + "types": "./fp/setMonthWithOptions.d.cts", + "default": "./fp/setMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/setMonthWithOptions.d.ts", + "default": "./fp/setMonthWithOptions.js" + } + }, + "./fp/setQuarter": { + "require": { + "types": "./fp/setQuarter.d.cts", + "default": "./fp/setQuarter.cjs" + }, + "import": { + "types": "./fp/setQuarter.d.ts", + "default": "./fp/setQuarter.js" + } + }, + "./fp/setQuarterWithOptions": { + "require": { + "types": "./fp/setQuarterWithOptions.d.cts", + "default": "./fp/setQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/setQuarterWithOptions.d.ts", + "default": "./fp/setQuarterWithOptions.js" + } + }, + "./fp/setSeconds": { + "require": { + "types": "./fp/setSeconds.d.cts", + "default": "./fp/setSeconds.cjs" + }, + "import": { + "types": "./fp/setSeconds.d.ts", + "default": "./fp/setSeconds.js" + } + }, + "./fp/setSecondsWithOptions": { + "require": { + "types": "./fp/setSecondsWithOptions.d.cts", + "default": "./fp/setSecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/setSecondsWithOptions.d.ts", + "default": "./fp/setSecondsWithOptions.js" + } + }, + "./fp/setWeek": { + "require": { + "types": "./fp/setWeek.d.cts", + "default": "./fp/setWeek.cjs" + }, + "import": { + "types": "./fp/setWeek.d.ts", + "default": "./fp/setWeek.js" + } + }, + "./fp/setWeekWithOptions": { + "require": { + "types": "./fp/setWeekWithOptions.d.cts", + "default": "./fp/setWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/setWeekWithOptions.d.ts", + "default": "./fp/setWeekWithOptions.js" + } + }, + "./fp/setWeekYear": { + "require": { + "types": "./fp/setWeekYear.d.cts", + "default": "./fp/setWeekYear.cjs" + }, + "import": { + "types": "./fp/setWeekYear.d.ts", + "default": "./fp/setWeekYear.js" + } + }, + "./fp/setWeekYearWithOptions": { + "require": { + "types": "./fp/setWeekYearWithOptions.d.cts", + "default": "./fp/setWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/setWeekYearWithOptions.d.ts", + "default": "./fp/setWeekYearWithOptions.js" + } + }, + "./fp/setWithOptions": { + "require": { + "types": "./fp/setWithOptions.d.cts", + "default": "./fp/setWithOptions.cjs" + }, + "import": { + "types": "./fp/setWithOptions.d.ts", + "default": "./fp/setWithOptions.js" + } + }, + "./fp/setYear": { + "require": { + "types": "./fp/setYear.d.cts", + "default": "./fp/setYear.cjs" + }, + "import": { + "types": "./fp/setYear.d.ts", + "default": "./fp/setYear.js" + } + }, + "./fp/setYearWithOptions": { + "require": { + "types": "./fp/setYearWithOptions.d.cts", + "default": "./fp/setYearWithOptions.cjs" + }, + "import": { + "types": "./fp/setYearWithOptions.d.ts", + "default": "./fp/setYearWithOptions.js" + } + }, + "./fp/startOfDay": { + "require": { + "types": "./fp/startOfDay.d.cts", + "default": "./fp/startOfDay.cjs" + }, + "import": { + "types": "./fp/startOfDay.d.ts", + "default": "./fp/startOfDay.js" + } + }, + "./fp/startOfDayWithOptions": { + "require": { + "types": "./fp/startOfDayWithOptions.d.cts", + "default": "./fp/startOfDayWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfDayWithOptions.d.ts", + "default": "./fp/startOfDayWithOptions.js" + } + }, + "./fp/startOfDecade": { + "require": { + "types": "./fp/startOfDecade.d.cts", + "default": "./fp/startOfDecade.cjs" + }, + "import": { + "types": "./fp/startOfDecade.d.ts", + "default": "./fp/startOfDecade.js" + } + }, + "./fp/startOfDecadeWithOptions": { + "require": { + "types": "./fp/startOfDecadeWithOptions.d.cts", + "default": "./fp/startOfDecadeWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfDecadeWithOptions.d.ts", + "default": "./fp/startOfDecadeWithOptions.js" + } + }, + "./fp/startOfHour": { + "require": { + "types": "./fp/startOfHour.d.cts", + "default": "./fp/startOfHour.cjs" + }, + "import": { + "types": "./fp/startOfHour.d.ts", + "default": "./fp/startOfHour.js" + } + }, + "./fp/startOfHourWithOptions": { + "require": { + "types": "./fp/startOfHourWithOptions.d.cts", + "default": "./fp/startOfHourWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfHourWithOptions.d.ts", + "default": "./fp/startOfHourWithOptions.js" + } + }, + "./fp/startOfISOWeek": { + "require": { + "types": "./fp/startOfISOWeek.d.cts", + "default": "./fp/startOfISOWeek.cjs" + }, + "import": { + "types": "./fp/startOfISOWeek.d.ts", + "default": "./fp/startOfISOWeek.js" + } + }, + "./fp/startOfISOWeekWithOptions": { + "require": { + "types": "./fp/startOfISOWeekWithOptions.d.cts", + "default": "./fp/startOfISOWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfISOWeekWithOptions.d.ts", + "default": "./fp/startOfISOWeekWithOptions.js" + } + }, + "./fp/startOfISOWeekYear": { + "require": { + "types": "./fp/startOfISOWeekYear.d.cts", + "default": "./fp/startOfISOWeekYear.cjs" + }, + "import": { + "types": "./fp/startOfISOWeekYear.d.ts", + "default": "./fp/startOfISOWeekYear.js" + } + }, + "./fp/startOfISOWeekYearWithOptions": { + "require": { + "types": "./fp/startOfISOWeekYearWithOptions.d.cts", + "default": "./fp/startOfISOWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfISOWeekYearWithOptions.d.ts", + "default": "./fp/startOfISOWeekYearWithOptions.js" + } + }, + "./fp/startOfMinute": { + "require": { + "types": "./fp/startOfMinute.d.cts", + "default": "./fp/startOfMinute.cjs" + }, + "import": { + "types": "./fp/startOfMinute.d.ts", + "default": "./fp/startOfMinute.js" + } + }, + "./fp/startOfMinuteWithOptions": { + "require": { + "types": "./fp/startOfMinuteWithOptions.d.cts", + "default": "./fp/startOfMinuteWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfMinuteWithOptions.d.ts", + "default": "./fp/startOfMinuteWithOptions.js" + } + }, + "./fp/startOfMonth": { + "require": { + "types": "./fp/startOfMonth.d.cts", + "default": "./fp/startOfMonth.cjs" + }, + "import": { + "types": "./fp/startOfMonth.d.ts", + "default": "./fp/startOfMonth.js" + } + }, + "./fp/startOfMonthWithOptions": { + "require": { + "types": "./fp/startOfMonthWithOptions.d.cts", + "default": "./fp/startOfMonthWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfMonthWithOptions.d.ts", + "default": "./fp/startOfMonthWithOptions.js" + } + }, + "./fp/startOfQuarter": { + "require": { + "types": "./fp/startOfQuarter.d.cts", + "default": "./fp/startOfQuarter.cjs" + }, + "import": { + "types": "./fp/startOfQuarter.d.ts", + "default": "./fp/startOfQuarter.js" + } + }, + "./fp/startOfQuarterWithOptions": { + "require": { + "types": "./fp/startOfQuarterWithOptions.d.cts", + "default": "./fp/startOfQuarterWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfQuarterWithOptions.d.ts", + "default": "./fp/startOfQuarterWithOptions.js" + } + }, + "./fp/startOfSecond": { + "require": { + "types": "./fp/startOfSecond.d.cts", + "default": "./fp/startOfSecond.cjs" + }, + "import": { + "types": "./fp/startOfSecond.d.ts", + "default": "./fp/startOfSecond.js" + } + }, + "./fp/startOfSecondWithOptions": { + "require": { + "types": "./fp/startOfSecondWithOptions.d.cts", + "default": "./fp/startOfSecondWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfSecondWithOptions.d.ts", + "default": "./fp/startOfSecondWithOptions.js" + } + }, + "./fp/startOfWeek": { + "require": { + "types": "./fp/startOfWeek.d.cts", + "default": "./fp/startOfWeek.cjs" + }, + "import": { + "types": "./fp/startOfWeek.d.ts", + "default": "./fp/startOfWeek.js" + } + }, + "./fp/startOfWeekWithOptions": { + "require": { + "types": "./fp/startOfWeekWithOptions.d.cts", + "default": "./fp/startOfWeekWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfWeekWithOptions.d.ts", + "default": "./fp/startOfWeekWithOptions.js" + } + }, + "./fp/startOfWeekYear": { + "require": { + "types": "./fp/startOfWeekYear.d.cts", + "default": "./fp/startOfWeekYear.cjs" + }, + "import": { + "types": "./fp/startOfWeekYear.d.ts", + "default": "./fp/startOfWeekYear.js" + } + }, + "./fp/startOfWeekYearWithOptions": { + "require": { + "types": "./fp/startOfWeekYearWithOptions.d.cts", + "default": "./fp/startOfWeekYearWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfWeekYearWithOptions.d.ts", + "default": "./fp/startOfWeekYearWithOptions.js" + } + }, + "./fp/startOfYear": { + "require": { + "types": "./fp/startOfYear.d.cts", + "default": "./fp/startOfYear.cjs" + }, + "import": { + "types": "./fp/startOfYear.d.ts", + "default": "./fp/startOfYear.js" + } + }, + "./fp/startOfYearWithOptions": { + "require": { + "types": "./fp/startOfYearWithOptions.d.cts", + "default": "./fp/startOfYearWithOptions.cjs" + }, + "import": { + "types": "./fp/startOfYearWithOptions.d.ts", + "default": "./fp/startOfYearWithOptions.js" + } + }, + "./fp/sub": { + "require": { + "types": "./fp/sub.d.cts", + "default": "./fp/sub.cjs" + }, + "import": { + "types": "./fp/sub.d.ts", + "default": "./fp/sub.js" + } + }, + "./fp/subBusinessDays": { + "require": { + "types": "./fp/subBusinessDays.d.cts", + "default": "./fp/subBusinessDays.cjs" + }, + "import": { + "types": "./fp/subBusinessDays.d.ts", + "default": "./fp/subBusinessDays.js" + } + }, + "./fp/subBusinessDaysWithOptions": { + "require": { + "types": "./fp/subBusinessDaysWithOptions.d.cts", + "default": "./fp/subBusinessDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/subBusinessDaysWithOptions.d.ts", + "default": "./fp/subBusinessDaysWithOptions.js" + } + }, + "./fp/subDays": { + "require": { + "types": "./fp/subDays.d.cts", + "default": "./fp/subDays.cjs" + }, + "import": { + "types": "./fp/subDays.d.ts", + "default": "./fp/subDays.js" + } + }, + "./fp/subDaysWithOptions": { + "require": { + "types": "./fp/subDaysWithOptions.d.cts", + "default": "./fp/subDaysWithOptions.cjs" + }, + "import": { + "types": "./fp/subDaysWithOptions.d.ts", + "default": "./fp/subDaysWithOptions.js" + } + }, + "./fp/subHours": { + "require": { + "types": "./fp/subHours.d.cts", + "default": "./fp/subHours.cjs" + }, + "import": { + "types": "./fp/subHours.d.ts", + "default": "./fp/subHours.js" + } + }, + "./fp/subHoursWithOptions": { + "require": { + "types": "./fp/subHoursWithOptions.d.cts", + "default": "./fp/subHoursWithOptions.cjs" + }, + "import": { + "types": "./fp/subHoursWithOptions.d.ts", + "default": "./fp/subHoursWithOptions.js" + } + }, + "./fp/subISOWeekYears": { + "require": { + "types": "./fp/subISOWeekYears.d.cts", + "default": "./fp/subISOWeekYears.cjs" + }, + "import": { + "types": "./fp/subISOWeekYears.d.ts", + "default": "./fp/subISOWeekYears.js" + } + }, + "./fp/subISOWeekYearsWithOptions": { + "require": { + "types": "./fp/subISOWeekYearsWithOptions.d.cts", + "default": "./fp/subISOWeekYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/subISOWeekYearsWithOptions.d.ts", + "default": "./fp/subISOWeekYearsWithOptions.js" + } + }, + "./fp/subMilliseconds": { + "require": { + "types": "./fp/subMilliseconds.d.cts", + "default": "./fp/subMilliseconds.cjs" + }, + "import": { + "types": "./fp/subMilliseconds.d.ts", + "default": "./fp/subMilliseconds.js" + } + }, + "./fp/subMillisecondsWithOptions": { + "require": { + "types": "./fp/subMillisecondsWithOptions.d.cts", + "default": "./fp/subMillisecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/subMillisecondsWithOptions.d.ts", + "default": "./fp/subMillisecondsWithOptions.js" + } + }, + "./fp/subMinutes": { + "require": { + "types": "./fp/subMinutes.d.cts", + "default": "./fp/subMinutes.cjs" + }, + "import": { + "types": "./fp/subMinutes.d.ts", + "default": "./fp/subMinutes.js" + } + }, + "./fp/subMinutesWithOptions": { + "require": { + "types": "./fp/subMinutesWithOptions.d.cts", + "default": "./fp/subMinutesWithOptions.cjs" + }, + "import": { + "types": "./fp/subMinutesWithOptions.d.ts", + "default": "./fp/subMinutesWithOptions.js" + } + }, + "./fp/subMonths": { + "require": { + "types": "./fp/subMonths.d.cts", + "default": "./fp/subMonths.cjs" + }, + "import": { + "types": "./fp/subMonths.d.ts", + "default": "./fp/subMonths.js" + } + }, + "./fp/subMonthsWithOptions": { + "require": { + "types": "./fp/subMonthsWithOptions.d.cts", + "default": "./fp/subMonthsWithOptions.cjs" + }, + "import": { + "types": "./fp/subMonthsWithOptions.d.ts", + "default": "./fp/subMonthsWithOptions.js" + } + }, + "./fp/subQuarters": { + "require": { + "types": "./fp/subQuarters.d.cts", + "default": "./fp/subQuarters.cjs" + }, + "import": { + "types": "./fp/subQuarters.d.ts", + "default": "./fp/subQuarters.js" + } + }, + "./fp/subQuartersWithOptions": { + "require": { + "types": "./fp/subQuartersWithOptions.d.cts", + "default": "./fp/subQuartersWithOptions.cjs" + }, + "import": { + "types": "./fp/subQuartersWithOptions.d.ts", + "default": "./fp/subQuartersWithOptions.js" + } + }, + "./fp/subSeconds": { + "require": { + "types": "./fp/subSeconds.d.cts", + "default": "./fp/subSeconds.cjs" + }, + "import": { + "types": "./fp/subSeconds.d.ts", + "default": "./fp/subSeconds.js" + } + }, + "./fp/subSecondsWithOptions": { + "require": { + "types": "./fp/subSecondsWithOptions.d.cts", + "default": "./fp/subSecondsWithOptions.cjs" + }, + "import": { + "types": "./fp/subSecondsWithOptions.d.ts", + "default": "./fp/subSecondsWithOptions.js" + } + }, + "./fp/subWeeks": { + "require": { + "types": "./fp/subWeeks.d.cts", + "default": "./fp/subWeeks.cjs" + }, + "import": { + "types": "./fp/subWeeks.d.ts", + "default": "./fp/subWeeks.js" + } + }, + "./fp/subWeeksWithOptions": { + "require": { + "types": "./fp/subWeeksWithOptions.d.cts", + "default": "./fp/subWeeksWithOptions.cjs" + }, + "import": { + "types": "./fp/subWeeksWithOptions.d.ts", + "default": "./fp/subWeeksWithOptions.js" + } + }, + "./fp/subWithOptions": { + "require": { + "types": "./fp/subWithOptions.d.cts", + "default": "./fp/subWithOptions.cjs" + }, + "import": { + "types": "./fp/subWithOptions.d.ts", + "default": "./fp/subWithOptions.js" + } + }, + "./fp/subYears": { + "require": { + "types": "./fp/subYears.d.cts", + "default": "./fp/subYears.cjs" + }, + "import": { + "types": "./fp/subYears.d.ts", + "default": "./fp/subYears.js" + } + }, + "./fp/subYearsWithOptions": { + "require": { + "types": "./fp/subYearsWithOptions.d.cts", + "default": "./fp/subYearsWithOptions.cjs" + }, + "import": { + "types": "./fp/subYearsWithOptions.d.ts", + "default": "./fp/subYearsWithOptions.js" + } + }, + "./fp/toDate": { + "require": { + "types": "./fp/toDate.d.cts", + "default": "./fp/toDate.cjs" + }, + "import": { + "types": "./fp/toDate.d.ts", + "default": "./fp/toDate.js" + } + }, + "./fp/transpose": { + "require": { + "types": "./fp/transpose.d.cts", + "default": "./fp/transpose.cjs" + }, + "import": { + "types": "./fp/transpose.d.ts", + "default": "./fp/transpose.js" + } + }, + "./fp/weeksToDays": { + "require": { + "types": "./fp/weeksToDays.d.cts", + "default": "./fp/weeksToDays.cjs" + }, + "import": { + "types": "./fp/weeksToDays.d.ts", + "default": "./fp/weeksToDays.js" + } + }, + "./fp/yearsToDays": { + "require": { + "types": "./fp/yearsToDays.d.cts", + "default": "./fp/yearsToDays.cjs" + }, + "import": { + "types": "./fp/yearsToDays.d.ts", + "default": "./fp/yearsToDays.js" + } + }, + "./fp/yearsToMonths": { + "require": { + "types": "./fp/yearsToMonths.d.cts", + "default": "./fp/yearsToMonths.cjs" + }, + "import": { + "types": "./fp/yearsToMonths.d.ts", + "default": "./fp/yearsToMonths.js" + } + }, + "./fp/yearsToQuarters": { + "require": { + "types": "./fp/yearsToQuarters.d.cts", + "default": "./fp/yearsToQuarters.cjs" + }, + "import": { + "types": "./fp/yearsToQuarters.d.ts", + "default": "./fp/yearsToQuarters.js" + } + }, + "./locale/af": { + "require": { + "types": "./locale/af.d.cts", + "default": "./locale/af.cjs" + }, + "import": { + "types": "./locale/af.d.ts", + "default": "./locale/af.js" + } + }, + "./locale/ar": { + "require": { + "types": "./locale/ar.d.cts", + "default": "./locale/ar.cjs" + }, + "import": { + "types": "./locale/ar.d.ts", + "default": "./locale/ar.js" + } + }, + "./locale/ar-DZ": { + "require": { + "types": "./locale/ar-DZ.d.cts", + "default": "./locale/ar-DZ.cjs" + }, + "import": { + "types": "./locale/ar-DZ.d.ts", + "default": "./locale/ar-DZ.js" + } + }, + "./locale/ar-EG": { + "require": { + "types": "./locale/ar-EG.d.cts", + "default": "./locale/ar-EG.cjs" + }, + "import": { + "types": "./locale/ar-EG.d.ts", + "default": "./locale/ar-EG.js" + } + }, + "./locale/ar-MA": { + "require": { + "types": "./locale/ar-MA.d.cts", + "default": "./locale/ar-MA.cjs" + }, + "import": { + "types": "./locale/ar-MA.d.ts", + "default": "./locale/ar-MA.js" + } + }, + "./locale/ar-SA": { + "require": { + "types": "./locale/ar-SA.d.cts", + "default": "./locale/ar-SA.cjs" + }, + "import": { + "types": "./locale/ar-SA.d.ts", + "default": "./locale/ar-SA.js" + } + }, + "./locale/ar-TN": { + "require": { + "types": "./locale/ar-TN.d.cts", + "default": "./locale/ar-TN.cjs" + }, + "import": { + "types": "./locale/ar-TN.d.ts", + "default": "./locale/ar-TN.js" + } + }, + "./locale/az": { + "require": { + "types": "./locale/az.d.cts", + "default": "./locale/az.cjs" + }, + "import": { + "types": "./locale/az.d.ts", + "default": "./locale/az.js" + } + }, + "./locale/be": { + "require": { + "types": "./locale/be.d.cts", + "default": "./locale/be.cjs" + }, + "import": { + "types": "./locale/be.d.ts", + "default": "./locale/be.js" + } + }, + "./locale/be-tarask": { + "require": { + "types": "./locale/be-tarask.d.cts", + "default": "./locale/be-tarask.cjs" + }, + "import": { + "types": "./locale/be-tarask.d.ts", + "default": "./locale/be-tarask.js" + } + }, + "./locale/bg": { + "require": { + "types": "./locale/bg.d.cts", + "default": "./locale/bg.cjs" + }, + "import": { + "types": "./locale/bg.d.ts", + "default": "./locale/bg.js" + } + }, + "./locale/bn": { + "require": { + "types": "./locale/bn.d.cts", + "default": "./locale/bn.cjs" + }, + "import": { + "types": "./locale/bn.d.ts", + "default": "./locale/bn.js" + } + }, + "./locale/bs": { + "require": { + "types": "./locale/bs.d.cts", + "default": "./locale/bs.cjs" + }, + "import": { + "types": "./locale/bs.d.ts", + "default": "./locale/bs.js" + } + }, + "./locale/ca": { + "require": { + "types": "./locale/ca.d.cts", + "default": "./locale/ca.cjs" + }, + "import": { + "types": "./locale/ca.d.ts", + "default": "./locale/ca.js" + } + }, + "./locale/ckb": { + "require": { + "types": "./locale/ckb.d.cts", + "default": "./locale/ckb.cjs" + }, + "import": { + "types": "./locale/ckb.d.ts", + "default": "./locale/ckb.js" + } + }, + "./locale/cs": { + "require": { + "types": "./locale/cs.d.cts", + "default": "./locale/cs.cjs" + }, + "import": { + "types": "./locale/cs.d.ts", + "default": "./locale/cs.js" + } + }, + "./locale/cy": { + "require": { + "types": "./locale/cy.d.cts", + "default": "./locale/cy.cjs" + }, + "import": { + "types": "./locale/cy.d.ts", + "default": "./locale/cy.js" + } + }, + "./locale/da": { + "require": { + "types": "./locale/da.d.cts", + "default": "./locale/da.cjs" + }, + "import": { + "types": "./locale/da.d.ts", + "default": "./locale/da.js" + } + }, + "./locale/de": { + "require": { + "types": "./locale/de.d.cts", + "default": "./locale/de.cjs" + }, + "import": { + "types": "./locale/de.d.ts", + "default": "./locale/de.js" + } + }, + "./locale/de-AT": { + "require": { + "types": "./locale/de-AT.d.cts", + "default": "./locale/de-AT.cjs" + }, + "import": { + "types": "./locale/de-AT.d.ts", + "default": "./locale/de-AT.js" + } + }, + "./locale/el": { + "require": { + "types": "./locale/el.d.cts", + "default": "./locale/el.cjs" + }, + "import": { + "types": "./locale/el.d.ts", + "default": "./locale/el.js" + } + }, + "./locale/en-AU": { + "require": { + "types": "./locale/en-AU.d.cts", + "default": "./locale/en-AU.cjs" + }, + "import": { + "types": "./locale/en-AU.d.ts", + "default": "./locale/en-AU.js" + } + }, + "./locale/en-CA": { + "require": { + "types": "./locale/en-CA.d.cts", + "default": "./locale/en-CA.cjs" + }, + "import": { + "types": "./locale/en-CA.d.ts", + "default": "./locale/en-CA.js" + } + }, + "./locale/en-GB": { + "require": { + "types": "./locale/en-GB.d.cts", + "default": "./locale/en-GB.cjs" + }, + "import": { + "types": "./locale/en-GB.d.ts", + "default": "./locale/en-GB.js" + } + }, + "./locale/en-IE": { + "require": { + "types": "./locale/en-IE.d.cts", + "default": "./locale/en-IE.cjs" + }, + "import": { + "types": "./locale/en-IE.d.ts", + "default": "./locale/en-IE.js" + } + }, + "./locale/en-IN": { + "require": { + "types": "./locale/en-IN.d.cts", + "default": "./locale/en-IN.cjs" + }, + "import": { + "types": "./locale/en-IN.d.ts", + "default": "./locale/en-IN.js" + } + }, + "./locale/en-NZ": { + "require": { + "types": "./locale/en-NZ.d.cts", + "default": "./locale/en-NZ.cjs" + }, + "import": { + "types": "./locale/en-NZ.d.ts", + "default": "./locale/en-NZ.js" + } + }, + "./locale/en-US": { + "require": { + "types": "./locale/en-US.d.cts", + "default": "./locale/en-US.cjs" + }, + "import": { + "types": "./locale/en-US.d.ts", + "default": "./locale/en-US.js" + } + }, + "./locale/en-ZA": { + "require": { + "types": "./locale/en-ZA.d.cts", + "default": "./locale/en-ZA.cjs" + }, + "import": { + "types": "./locale/en-ZA.d.ts", + "default": "./locale/en-ZA.js" + } + }, + "./locale/eo": { + "require": { + "types": "./locale/eo.d.cts", + "default": "./locale/eo.cjs" + }, + "import": { + "types": "./locale/eo.d.ts", + "default": "./locale/eo.js" + } + }, + "./locale/es": { + "require": { + "types": "./locale/es.d.cts", + "default": "./locale/es.cjs" + }, + "import": { + "types": "./locale/es.d.ts", + "default": "./locale/es.js" + } + }, + "./locale/et": { + "require": { + "types": "./locale/et.d.cts", + "default": "./locale/et.cjs" + }, + "import": { + "types": "./locale/et.d.ts", + "default": "./locale/et.js" + } + }, + "./locale/eu": { + "require": { + "types": "./locale/eu.d.cts", + "default": "./locale/eu.cjs" + }, + "import": { + "types": "./locale/eu.d.ts", + "default": "./locale/eu.js" + } + }, + "./locale/fa-IR": { + "require": { + "types": "./locale/fa-IR.d.cts", + "default": "./locale/fa-IR.cjs" + }, + "import": { + "types": "./locale/fa-IR.d.ts", + "default": "./locale/fa-IR.js" + } + }, + "./locale/fi": { + "require": { + "types": "./locale/fi.d.cts", + "default": "./locale/fi.cjs" + }, + "import": { + "types": "./locale/fi.d.ts", + "default": "./locale/fi.js" + } + }, + "./locale/fr": { + "require": { + "types": "./locale/fr.d.cts", + "default": "./locale/fr.cjs" + }, + "import": { + "types": "./locale/fr.d.ts", + "default": "./locale/fr.js" + } + }, + "./locale/fr-CA": { + "require": { + "types": "./locale/fr-CA.d.cts", + "default": "./locale/fr-CA.cjs" + }, + "import": { + "types": "./locale/fr-CA.d.ts", + "default": "./locale/fr-CA.js" + } + }, + "./locale/fr-CH": { + "require": { + "types": "./locale/fr-CH.d.cts", + "default": "./locale/fr-CH.cjs" + }, + "import": { + "types": "./locale/fr-CH.d.ts", + "default": "./locale/fr-CH.js" + } + }, + "./locale/fy": { + "require": { + "types": "./locale/fy.d.cts", + "default": "./locale/fy.cjs" + }, + "import": { + "types": "./locale/fy.d.ts", + "default": "./locale/fy.js" + } + }, + "./locale/gd": { + "require": { + "types": "./locale/gd.d.cts", + "default": "./locale/gd.cjs" + }, + "import": { + "types": "./locale/gd.d.ts", + "default": "./locale/gd.js" + } + }, + "./locale/gl": { + "require": { + "types": "./locale/gl.d.cts", + "default": "./locale/gl.cjs" + }, + "import": { + "types": "./locale/gl.d.ts", + "default": "./locale/gl.js" + } + }, + "./locale/gu": { + "require": { + "types": "./locale/gu.d.cts", + "default": "./locale/gu.cjs" + }, + "import": { + "types": "./locale/gu.d.ts", + "default": "./locale/gu.js" + } + }, + "./locale/he": { + "require": { + "types": "./locale/he.d.cts", + "default": "./locale/he.cjs" + }, + "import": { + "types": "./locale/he.d.ts", + "default": "./locale/he.js" + } + }, + "./locale/hi": { + "require": { + "types": "./locale/hi.d.cts", + "default": "./locale/hi.cjs" + }, + "import": { + "types": "./locale/hi.d.ts", + "default": "./locale/hi.js" + } + }, + "./locale/hr": { + "require": { + "types": "./locale/hr.d.cts", + "default": "./locale/hr.cjs" + }, + "import": { + "types": "./locale/hr.d.ts", + "default": "./locale/hr.js" + } + }, + "./locale/ht": { + "require": { + "types": "./locale/ht.d.cts", + "default": "./locale/ht.cjs" + }, + "import": { + "types": "./locale/ht.d.ts", + "default": "./locale/ht.js" + } + }, + "./locale/hu": { + "require": { + "types": "./locale/hu.d.cts", + "default": "./locale/hu.cjs" + }, + "import": { + "types": "./locale/hu.d.ts", + "default": "./locale/hu.js" + } + }, + "./locale/hy": { + "require": { + "types": "./locale/hy.d.cts", + "default": "./locale/hy.cjs" + }, + "import": { + "types": "./locale/hy.d.ts", + "default": "./locale/hy.js" + } + }, + "./locale/id": { + "require": { + "types": "./locale/id.d.cts", + "default": "./locale/id.cjs" + }, + "import": { + "types": "./locale/id.d.ts", + "default": "./locale/id.js" + } + }, + "./locale/is": { + "require": { + "types": "./locale/is.d.cts", + "default": "./locale/is.cjs" + }, + "import": { + "types": "./locale/is.d.ts", + "default": "./locale/is.js" + } + }, + "./locale/it": { + "require": { + "types": "./locale/it.d.cts", + "default": "./locale/it.cjs" + }, + "import": { + "types": "./locale/it.d.ts", + "default": "./locale/it.js" + } + }, + "./locale/it-CH": { + "require": { + "types": "./locale/it-CH.d.cts", + "default": "./locale/it-CH.cjs" + }, + "import": { + "types": "./locale/it-CH.d.ts", + "default": "./locale/it-CH.js" + } + }, + "./locale/ja": { + "require": { + "types": "./locale/ja.d.cts", + "default": "./locale/ja.cjs" + }, + "import": { + "types": "./locale/ja.d.ts", + "default": "./locale/ja.js" + } + }, + "./locale/ja-Hira": { + "require": { + "types": "./locale/ja-Hira.d.cts", + "default": "./locale/ja-Hira.cjs" + }, + "import": { + "types": "./locale/ja-Hira.d.ts", + "default": "./locale/ja-Hira.js" + } + }, + "./locale/ka": { + "require": { + "types": "./locale/ka.d.cts", + "default": "./locale/ka.cjs" + }, + "import": { + "types": "./locale/ka.d.ts", + "default": "./locale/ka.js" + } + }, + "./locale/kk": { + "require": { + "types": "./locale/kk.d.cts", + "default": "./locale/kk.cjs" + }, + "import": { + "types": "./locale/kk.d.ts", + "default": "./locale/kk.js" + } + }, + "./locale/km": { + "require": { + "types": "./locale/km.d.cts", + "default": "./locale/km.cjs" + }, + "import": { + "types": "./locale/km.d.ts", + "default": "./locale/km.js" + } + }, + "./locale/kn": { + "require": { + "types": "./locale/kn.d.cts", + "default": "./locale/kn.cjs" + }, + "import": { + "types": "./locale/kn.d.ts", + "default": "./locale/kn.js" + } + }, + "./locale/ko": { + "require": { + "types": "./locale/ko.d.cts", + "default": "./locale/ko.cjs" + }, + "import": { + "types": "./locale/ko.d.ts", + "default": "./locale/ko.js" + } + }, + "./locale/lb": { + "require": { + "types": "./locale/lb.d.cts", + "default": "./locale/lb.cjs" + }, + "import": { + "types": "./locale/lb.d.ts", + "default": "./locale/lb.js" + } + }, + "./locale/lt": { + "require": { + "types": "./locale/lt.d.cts", + "default": "./locale/lt.cjs" + }, + "import": { + "types": "./locale/lt.d.ts", + "default": "./locale/lt.js" + } + }, + "./locale/lv": { + "require": { + "types": "./locale/lv.d.cts", + "default": "./locale/lv.cjs" + }, + "import": { + "types": "./locale/lv.d.ts", + "default": "./locale/lv.js" + } + }, + "./locale/mk": { + "require": { + "types": "./locale/mk.d.cts", + "default": "./locale/mk.cjs" + }, + "import": { + "types": "./locale/mk.d.ts", + "default": "./locale/mk.js" + } + }, + "./locale/mn": { + "require": { + "types": "./locale/mn.d.cts", + "default": "./locale/mn.cjs" + }, + "import": { + "types": "./locale/mn.d.ts", + "default": "./locale/mn.js" + } + }, + "./locale/ms": { + "require": { + "types": "./locale/ms.d.cts", + "default": "./locale/ms.cjs" + }, + "import": { + "types": "./locale/ms.d.ts", + "default": "./locale/ms.js" + } + }, + "./locale/mt": { + "require": { + "types": "./locale/mt.d.cts", + "default": "./locale/mt.cjs" + }, + "import": { + "types": "./locale/mt.d.ts", + "default": "./locale/mt.js" + } + }, + "./locale/nb": { + "require": { + "types": "./locale/nb.d.cts", + "default": "./locale/nb.cjs" + }, + "import": { + "types": "./locale/nb.d.ts", + "default": "./locale/nb.js" + } + }, + "./locale/nl": { + "require": { + "types": "./locale/nl.d.cts", + "default": "./locale/nl.cjs" + }, + "import": { + "types": "./locale/nl.d.ts", + "default": "./locale/nl.js" + } + }, + "./locale/nl-BE": { + "require": { + "types": "./locale/nl-BE.d.cts", + "default": "./locale/nl-BE.cjs" + }, + "import": { + "types": "./locale/nl-BE.d.ts", + "default": "./locale/nl-BE.js" + } + }, + "./locale/nn": { + "require": { + "types": "./locale/nn.d.cts", + "default": "./locale/nn.cjs" + }, + "import": { + "types": "./locale/nn.d.ts", + "default": "./locale/nn.js" + } + }, + "./locale/oc": { + "require": { + "types": "./locale/oc.d.cts", + "default": "./locale/oc.cjs" + }, + "import": { + "types": "./locale/oc.d.ts", + "default": "./locale/oc.js" + } + }, + "./locale/pl": { + "require": { + "types": "./locale/pl.d.cts", + "default": "./locale/pl.cjs" + }, + "import": { + "types": "./locale/pl.d.ts", + "default": "./locale/pl.js" + } + }, + "./locale/pt": { + "require": { + "types": "./locale/pt.d.cts", + "default": "./locale/pt.cjs" + }, + "import": { + "types": "./locale/pt.d.ts", + "default": "./locale/pt.js" + } + }, + "./locale/pt-BR": { + "require": { + "types": "./locale/pt-BR.d.cts", + "default": "./locale/pt-BR.cjs" + }, + "import": { + "types": "./locale/pt-BR.d.ts", + "default": "./locale/pt-BR.js" + } + }, + "./locale/ro": { + "require": { + "types": "./locale/ro.d.cts", + "default": "./locale/ro.cjs" + }, + "import": { + "types": "./locale/ro.d.ts", + "default": "./locale/ro.js" + } + }, + "./locale/ru": { + "require": { + "types": "./locale/ru.d.cts", + "default": "./locale/ru.cjs" + }, + "import": { + "types": "./locale/ru.d.ts", + "default": "./locale/ru.js" + } + }, + "./locale/se": { + "require": { + "types": "./locale/se.d.cts", + "default": "./locale/se.cjs" + }, + "import": { + "types": "./locale/se.d.ts", + "default": "./locale/se.js" + } + }, + "./locale/sk": { + "require": { + "types": "./locale/sk.d.cts", + "default": "./locale/sk.cjs" + }, + "import": { + "types": "./locale/sk.d.ts", + "default": "./locale/sk.js" + } + }, + "./locale/sl": { + "require": { + "types": "./locale/sl.d.cts", + "default": "./locale/sl.cjs" + }, + "import": { + "types": "./locale/sl.d.ts", + "default": "./locale/sl.js" + } + }, + "./locale/sq": { + "require": { + "types": "./locale/sq.d.cts", + "default": "./locale/sq.cjs" + }, + "import": { + "types": "./locale/sq.d.ts", + "default": "./locale/sq.js" + } + }, + "./locale/sr": { + "require": { + "types": "./locale/sr.d.cts", + "default": "./locale/sr.cjs" + }, + "import": { + "types": "./locale/sr.d.ts", + "default": "./locale/sr.js" + } + }, + "./locale/sr-Latn": { + "require": { + "types": "./locale/sr-Latn.d.cts", + "default": "./locale/sr-Latn.cjs" + }, + "import": { + "types": "./locale/sr-Latn.d.ts", + "default": "./locale/sr-Latn.js" + } + }, + "./locale/sv": { + "require": { + "types": "./locale/sv.d.cts", + "default": "./locale/sv.cjs" + }, + "import": { + "types": "./locale/sv.d.ts", + "default": "./locale/sv.js" + } + }, + "./locale/ta": { + "require": { + "types": "./locale/ta.d.cts", + "default": "./locale/ta.cjs" + }, + "import": { + "types": "./locale/ta.d.ts", + "default": "./locale/ta.js" + } + }, + "./locale/te": { + "require": { + "types": "./locale/te.d.cts", + "default": "./locale/te.cjs" + }, + "import": { + "types": "./locale/te.d.ts", + "default": "./locale/te.js" + } + }, + "./locale/th": { + "require": { + "types": "./locale/th.d.cts", + "default": "./locale/th.cjs" + }, + "import": { + "types": "./locale/th.d.ts", + "default": "./locale/th.js" + } + }, + "./locale/tr": { + "require": { + "types": "./locale/tr.d.cts", + "default": "./locale/tr.cjs" + }, + "import": { + "types": "./locale/tr.d.ts", + "default": "./locale/tr.js" + } + }, + "./locale/ug": { + "require": { + "types": "./locale/ug.d.cts", + "default": "./locale/ug.cjs" + }, + "import": { + "types": "./locale/ug.d.ts", + "default": "./locale/ug.js" + } + }, + "./locale/uk": { + "require": { + "types": "./locale/uk.d.cts", + "default": "./locale/uk.cjs" + }, + "import": { + "types": "./locale/uk.d.ts", + "default": "./locale/uk.js" + } + }, + "./locale/uz": { + "require": { + "types": "./locale/uz.d.cts", + "default": "./locale/uz.cjs" + }, + "import": { + "types": "./locale/uz.d.ts", + "default": "./locale/uz.js" + } + }, + "./locale/uz-Cyrl": { + "require": { + "types": "./locale/uz-Cyrl.d.cts", + "default": "./locale/uz-Cyrl.cjs" + }, + "import": { + "types": "./locale/uz-Cyrl.d.ts", + "default": "./locale/uz-Cyrl.js" + } + }, + "./locale/vi": { + "require": { + "types": "./locale/vi.d.cts", + "default": "./locale/vi.cjs" + }, + "import": { + "types": "./locale/vi.d.ts", + "default": "./locale/vi.js" + } + }, + "./locale/zh-CN": { + "require": { + "types": "./locale/zh-CN.d.cts", + "default": "./locale/zh-CN.cjs" + }, + "import": { + "types": "./locale/zh-CN.d.ts", + "default": "./locale/zh-CN.js" + } + }, + "./locale/zh-HK": { + "require": { + "types": "./locale/zh-HK.d.cts", + "default": "./locale/zh-HK.cjs" + }, + "import": { + "types": "./locale/zh-HK.d.ts", + "default": "./locale/zh-HK.js" + } + }, + "./locale/zh-TW": { + "require": { + "types": "./locale/zh-TW.d.cts", + "default": "./locale/zh-TW.cjs" + }, + "import": { + "types": "./locale/zh-TW.d.ts", + "default": "./locale/zh-TW.js" + } + } + }, + "scripts": { + "test": "vitest run", + "lint": "eslint .", + "types": "tsc --noEmit", + "locale-snapshots": "env TZ=utc tsx ./scripts/build/localeSnapshots/index.ts", + "stats": "cloc . --exclude-dir=node_modules,lib,examples,tmp,.git --exclude-ext=yaml,yml,json,svg,xml" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.16.2", + "@babel/cli": "^7.22.10", + "@babel/core": "^7.22.10", + "@babel/preset-env": "^7.22.10", + "@babel/preset-typescript": "^7.22.5", + "@date-fns/docs": "^0.38.0", + "@date-fns/tz": "^1.0.2", + "@date-fns/utc": "^1.2.0", + "@octokit/core": "^3.2.5", + "@size-limit/esbuild": "^11.0.1", + "@size-limit/file": "^11.0.1", + "@types/bun": "^1.1.9", + "@types/lodash": "^4.14.202", + "@types/node": "^20.14.2", + "@types/sinon": "^9.0.6", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "@vitest/browser": "^1.3.1", + "@vitest/coverage-v8": "^1.3.1", + "babel-plugin-replace-import-extension": "^1.1.4", + "bun": "^1.1.27", + "cloc": "^2.2.0", + "coveralls": "^3.1.1", + "eslint": "^9.10.0", + "firebase": "^3.7.1", + "fp-ts": "^2.16.2", + "js-fns": "^2.5.1", + "jscodeshift": "^0.15.2", + "lodash": "^4.17.21", + "playwright": "^1.40.1", + "prettier": "^3.1.0", + "simple-git": "^2.35.2", + "sinon": "^7.4.1", + "size-limit": "^11.0.1", + "tsx": "^4.6.1", + "typedoc": "^0.26.7", + "typedoc-plugin-missing-exports": "^3.0.0", + "typescript": "^5.4.5", + "vitest": "^1.3.1" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/date-fns/parse.js b/.output/server/node_modules/date-fns/parse.js new file mode 100644 index 00000000..099a7cb6 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse.js @@ -0,0 +1,513 @@ +import { defaultLocale } from "./_lib/defaultLocale.js"; +import { longFormatters } from "./_lib/format/longFormatters.js"; +import { + isProtectedDayOfYearToken, + isProtectedWeekYearToken, + warnOrThrowProtectedError, +} from "./_lib/protectedTokens.js"; +import { constructFrom } from "./constructFrom.js"; +import { getDefaultOptions } from "./getDefaultOptions.js"; +import { toDate } from "./toDate.js"; + +import { DateTimezoneSetter } from "./parse/_lib/Setter.js"; +import { parsers } from "./parse/_lib/parsers.js"; + +// Rexports of internal for libraries to use. +// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874 +export { longFormatters, parsers }; + +/** + * The {@link parse} function options. + */ + +// This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +const formattingTokensRegExp = + /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; + +// This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` +const longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; + +const escapedStringRegExp = /^'([^]*?)'?$/; +const doubleQuoteRegExp = /''/g; + +const notWhitespaceRegExp = /\S/; +const unescapedLatinCharacterRegExp = /[a-zA-Z]/; + +/** + * @name parse + * @category Common Helpers + * @summary Parse the date. + * + * @description + * Return the date parsed from string using the given format string. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * The characters in the format string wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * + * Format of the format string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 5 below the table). + * + * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited + * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception: + * + * ```javascript + * parse('23 AM', 'HH a', new Date()) + * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time + * ``` + * + * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true + * + * Accepted format string patterns: + * | Unit |Prior| Pattern | Result examples | Notes | + * |---------------------------------|-----|---------|-----------------------------------|-------| + * | Era | 140 | G..GGG | AD, BC | | + * | | | GGGG | Anno Domini, Before Christ | 2 | + * | | | GGGGG | A, B | | + * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 | + * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | yy | 44, 01, 00, 17 | 4 | + * | | | yyy | 044, 001, 123, 999 | 4 | + * | | | yyyy | 0044, 0001, 1900, 2017 | 4 | + * | | | yyyyy | ... | 2,4 | + * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 | + * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | YY | 44, 01, 00, 17 | 4,6 | + * | | | YYY | 044, 001, 123, 999 | 4 | + * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 | + * | | | YYYYY | ... | 2,4 | + * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 | + * | | | RR | -43, 01, 00, 17 | 4,5 | + * | | | RRR | -043, 001, 123, 999, -999 | 4,5 | + * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 | + * | | | RRRRR | ... | 2,4,5 | + * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 | + * | | | uu | -43, 01, 99, -99 | 4 | + * | | | uuu | -043, 001, 123, 999, -999 | 4 | + * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 | + * | | | uuuuu | ... | 2,4 | + * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | | + * | | | Qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | QQ | 01, 02, 03, 04 | | + * | | | QQQ | Q1, Q2, Q3, Q4 | | + * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | | + * | | | qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | qq | 01, 02, 03, 04 | | + * | | | qqq | Q1, Q2, Q3, Q4 | | + * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | | qqqqq | 1, 2, 3, 4 | 3 | + * | Month (formatting) | 110 | M | 1, 2, ..., 12 | | + * | | | Mo | 1st, 2nd, ..., 12th | 5 | + * | | | MM | 01, 02, ..., 12 | | + * | | | MMM | Jan, Feb, ..., Dec | | + * | | | MMMM | January, February, ..., December | 2 | + * | | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | | + * | | | Lo | 1st, 2nd, ..., 12th | 5 | + * | | | LL | 01, 02, ..., 12 | | + * | | | LLL | Jan, Feb, ..., Dec | | + * | | | LLLL | January, February, ..., December | 2 | + * | | | LLLLL | J, F, ..., D | | + * | Local week of year | 100 | w | 1, 2, ..., 53 | | + * | | | wo | 1st, 2nd, ..., 53th | 5 | + * | | | ww | 01, 02, ..., 53 | | + * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 | + * | | | Io | 1st, 2nd, ..., 53th | 5 | + * | | | II | 01, 02, ..., 53 | 5 | + * | Day of month | 90 | d | 1, 2, ..., 31 | | + * | | | do | 1st, 2nd, ..., 31st | 5 | + * | | | dd | 01, 02, ..., 31 | | + * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 | + * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 | + * | | | DD | 01, 02, ..., 365, 366 | 7 | + * | | | DDD | 001, 002, ..., 365, 366 | | + * | | | DDDD | ... | 2 | + * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | | + * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | | EEEEE | M, T, W, T, F, S, S | | + * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | + * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 | + * | | | io | 1st, 2nd, ..., 7th | 5 | + * | | | ii | 01, 02, ..., 07 | 5 | + * | | | iii | Mon, Tue, Wed, ..., Sun | 5 | + * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 | + * | | | iiiii | M, T, W, T, F, S, S | 5 | + * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 | + * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | | + * | | | eo | 2nd, 3rd, ..., 1st | 5 | + * | | | ee | 02, 03, ..., 01 | | + * | | | eee | Mon, Tue, Wed, ..., Sun | | + * | | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | | eeeee | M, T, W, T, F, S, S | | + * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | + * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | | + * | | | co | 2nd, 3rd, ..., 1st | 5 | + * | | | cc | 02, 03, ..., 01 | | + * | | | ccc | Mon, Tue, Wed, ..., Sun | | + * | | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | | ccccc | M, T, W, T, F, S, S | | + * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | + * | AM, PM | 80 | a..aaa | AM, PM | | + * | | | aaaa | a.m., p.m. | 2 | + * | | | aaaaa | a, p | | + * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | | + * | | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | | bbbbb | a, p, n, mi | | + * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | | + * | | | BBBB | at night, in the morning, ... | 2 | + * | | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | | + * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 | + * | | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | | + * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 | + * | | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | | + * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 | + * | | | KK | 01, 02, ..., 11, 00 | | + * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | | + * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 | + * | | | kk | 24, 01, 02, ..., 23 | | + * | Minute | 60 | m | 0, 1, ..., 59 | | + * | | | mo | 0th, 1st, ..., 59th | 5 | + * | | | mm | 00, 01, ..., 59 | | + * | Second | 50 | s | 0, 1, ..., 59 | | + * | | | so | 0th, 1st, ..., 59th | 5 | + * | | | ss | 00, 01, ..., 59 | | + * | Seconds timestamp | 40 | t | 512969520 | | + * | | | tt | ... | 2 | + * | Fraction of second | 30 | S | 0, 1, ..., 9 | | + * | | | SS | 00, 01, ..., 99 | | + * | | | SSS | 000, 001, ..., 999 | | + * | | | SSSS | ... | 2 | + * | Milliseconds timestamp | 20 | T | 512969520900 | | + * | | | TT | ... | 2 | + * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | | + * | | | XX | -0800, +0530, Z | | + * | | | XXX | -08:00, +05:30, Z | | + * | | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | | + * | | | xx | -0800, +0530, +0000 | | + * | | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | | xxxx | -0800, +0530, +0000, +123456 | | + * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Long localized date | NA | P | 05/29/1453 | 5,8 | + * | | | PP | May 29, 1453 | | + * | | | PPP | May 29th, 1453 | | + * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 | + * | Long localized time | NA | p | 12:00 AM | 5,8 | + * | | | pp | 12:00:00 AM | | + * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | | + * | | | PPpp | May 29, 1453, 12:00:00 AM | | + * | | | PPPpp | May 29th, 1453 at ... | | + * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular. + * In `format` function, they will produce different result: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * `parse` will try to match both formatting and stand-alone units interchangeably. + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table: + * - for numerical units (`yyyyyyyy`) `parse` will try to match a number + * as wide as the sequence + * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit. + * These variations are marked with "2" in the last column of the table. + * + * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 4. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`: + * + * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00` + * + * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00` + * + * while `uu` will just assign the year as is: + * + * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00` + * + * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00` + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear) + * and [setWeekYear](https://date-fns.org/docs/setWeekYear)). + * + * 5. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 7. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based + * on the given locale. + * + * using `en-US` locale: `P` => `MM/dd/yyyy` + * using `en-US` locale: `p` => `hh:mm a` + * using `pt-BR` locale: `P` => `dd/MM/yyyy` + * using `pt-BR` locale: `p` => `HH:mm` + * + * Values will be assigned to the date in the descending order of its unit's priority. + * Units of an equal priority overwrite each other in the order of appearance. + * + * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year), + * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing. + * + * `referenceDate` must be passed for correct work of the function. + * If you're not sure which `referenceDate` to supply, create a new instance of Date: + * `parse('02/11/2014', 'MM/dd/yyyy', new Date())` + * In this case parsing will be done in the context of the current date. + * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`, + * then `Invalid Date` will be returned. + * + * The result may vary by locale. + * + * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned. + * + * If parsing failed, `Invalid Date` will be returned. + * Invalid Date is a Date, whose time value is NaN. + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param dateStr - The string to parse + * @param formatStr - The string of tokens + * @param referenceDate - defines values missing from the parsed dateString + * @param options - An object with options. + * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * + * @returns The parsed date + * + * @throws `options.locale` must contain `match` property + * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md + * @throws format string contains an unescaped latin alphabet character + * + * @example + * // Parse 11 February 2014 from middle-endian format: + * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date()) + * //=> Tue Feb 11 2014 00:00:00 + * + * @example + * // Parse 28th of February in Esperanto locale in the context of 2010 year: + * import eo from 'date-fns/locale/eo' + * var result = parse('28-a de februaro', "do 'de' MMMM", new Date(2010, 0, 1), { + * locale: eo + * }) + * //=> Sun Feb 28 2010 00:00:00 + */ +export function parse(dateStr, formatStr, referenceDate, options) { + const invalidDate = () => constructFrom(options?.in || referenceDate, NaN); + const defaultOptions = getDefaultOptions(); + const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale; + + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + if (!formatStr) + return dateStr ? invalidDate() : toDate(referenceDate, options?.in); + + const subFnOptions = { + firstWeekContainsDate, + weekStartsOn, + locale, + }; + + // If timezone isn't specified, it will try to use the context or + // the reference date and fallback to the system time zone. + const setters = [new DateTimezoneSetter(options?.in, referenceDate)]; + + const tokens = formatStr + .match(longFormattingTokensRegExp) + .map((substring) => { + const firstCharacter = substring[0]; + if (firstCharacter in longFormatters) { + const longFormatter = longFormatters[firstCharacter]; + return longFormatter(substring, locale.formatLong); + } + return substring; + }) + .join("") + .match(formattingTokensRegExp); + + const usedTokens = []; + + for (let token of tokens) { + if ( + !options?.useAdditionalWeekYearTokens && + isProtectedWeekYearToken(token) + ) { + warnOrThrowProtectedError(token, formatStr, dateStr); + } + if ( + !options?.useAdditionalDayOfYearTokens && + isProtectedDayOfYearToken(token) + ) { + warnOrThrowProtectedError(token, formatStr, dateStr); + } + + const firstCharacter = token[0]; + const parser = parsers[firstCharacter]; + if (parser) { + const { incompatibleTokens } = parser; + if (Array.isArray(incompatibleTokens)) { + const incompatibleToken = usedTokens.find( + (usedToken) => + incompatibleTokens.includes(usedToken.token) || + usedToken.token === firstCharacter, + ); + if (incompatibleToken) { + throw new RangeError( + `The format string mustn't contain \`${incompatibleToken.fullToken}\` and \`${token}\` at the same time`, + ); + } + } else if (parser.incompatibleTokens === "*" && usedTokens.length > 0) { + throw new RangeError( + `The format string mustn't contain \`${token}\` and any other token at the same time`, + ); + } + + usedTokens.push({ token: firstCharacter, fullToken: token }); + + const parseResult = parser.run( + dateStr, + token, + locale.match, + subFnOptions, + ); + + if (!parseResult) { + return invalidDate(); + } + + setters.push(parseResult.setter); + + dateStr = parseResult.rest; + } else { + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError( + "Format string contains an unescaped latin alphabet character `" + + firstCharacter + + "`", + ); + } + + // Replace two single quote characters with one single quote character + if (token === "''") { + token = "'"; + } else if (firstCharacter === "'") { + token = cleanEscapedString(token); + } + + // Cut token from string, or, if string doesn't match the token, return Invalid Date + if (dateStr.indexOf(token) === 0) { + dateStr = dateStr.slice(token.length); + } else { + return invalidDate(); + } + } + } + + // Check if the remaining input contains something other than whitespace + if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) { + return invalidDate(); + } + + const uniquePrioritySetters = setters + .map((setter) => setter.priority) + .sort((a, b) => b - a) + .filter((priority, index, array) => array.indexOf(priority) === index) + .map((priority) => + setters + .filter((setter) => setter.priority === priority) + .sort((a, b) => b.subPriority - a.subPriority), + ) + .map((setterArray) => setterArray[0]); + + let date = toDate(referenceDate, options?.in); + + if (isNaN(+date)) return invalidDate(); + + const flags = {}; + for (const setter of uniquePrioritySetters) { + if (!setter.validate(date, subFnOptions)) { + return invalidDate(); + } + + const result = setter.set(date, flags, subFnOptions); + // Result is tuple (date, flags) + if (Array.isArray(result)) { + date = result[0]; + Object.assign(flags, result[1]); + // Result is date + } else { + date = result; + } + } + + return date; +} + +function cleanEscapedString(input) { + return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'"); +} + +// Fallback for modularized imports: +export default parse; diff --git a/.output/server/node_modules/date-fns/parse/_lib/Parser.js b/.output/server/node_modules/date-fns/parse/_lib/Parser.js new file mode 100644 index 00000000..2319a1dd --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/Parser.js @@ -0,0 +1,25 @@ +import { ValueSetter } from "./Setter.js"; + +export class Parser { + run(dateString, token, match, options) { + const result = this.parse(dateString, token, match, options); + if (!result) { + return null; + } + + return { + setter: new ValueSetter( + result.value, + this.validate, + this.set, + this.priority, + this.subPriority, + ), + rest: result.rest, + }; + } + + validate(_utcDate, _value, _options) { + return true; + } +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/Setter.js b/.output/server/node_modules/date-fns/parse/_lib/Setter.js new file mode 100644 index 00000000..f995d524 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/Setter.js @@ -0,0 +1,57 @@ +import { constructFrom } from "../../constructFrom.js"; +import { transpose } from "../../transpose.js"; + +const TIMEZONE_UNIT_PRIORITY = 10; + +export class Setter { + subPriority = 0; + + validate(_utcDate, _options) { + return true; + } +} + +export class ValueSetter extends Setter { + constructor( + value, + + validateValue, + + setValue, + + priority, + subPriority, + ) { + super(); + this.value = value; + this.validateValue = validateValue; + this.setValue = setValue; + this.priority = priority; + if (subPriority) { + this.subPriority = subPriority; + } + } + + validate(date, options) { + return this.validateValue(date, this.value, options); + } + + set(date, flags, options) { + return this.setValue(date, flags, this.value, options); + } +} + +export class DateTimezoneSetter extends Setter { + priority = TIMEZONE_UNIT_PRIORITY; + subPriority = -1; + + constructor(context, reference) { + super(); + this.context = context || ((date) => constructFrom(reference, date)); + } + + set(date, flags) { + if (flags.timestampIsSet) return date; + return constructFrom(date, transpose(date, this.context)); + } +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/constants.js b/.output/server/node_modules/date-fns/parse/_lib/constants.js new file mode 100644 index 00000000..4fbfb67f --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/constants.js @@ -0,0 +1,31 @@ +export const numericPatterns = { + month: /^(1[0-2]|0?\d)/, // 0 to 12 + date: /^(3[0-1]|[0-2]?\d)/, // 0 to 31 + dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, // 0 to 366 + week: /^(5[0-3]|[0-4]?\d)/, // 0 to 53 + hour23h: /^(2[0-3]|[0-1]?\d)/, // 0 to 23 + hour24h: /^(2[0-4]|[0-1]?\d)/, // 0 to 24 + hour11h: /^(1[0-1]|0?\d)/, // 0 to 11 + hour12h: /^(1[0-2]|0?\d)/, // 0 to 12 + minute: /^[0-5]?\d/, // 0 to 59 + second: /^[0-5]?\d/, // 0 to 59 + + singleDigit: /^\d/, // 0 to 9 + twoDigits: /^\d{1,2}/, // 0 to 99 + threeDigits: /^\d{1,3}/, // 0 to 999 + fourDigits: /^\d{1,4}/, // 0 to 9999 + + anyDigitsSigned: /^-?\d+/, + singleDigitSigned: /^-?\d/, // 0 to 9, -0 to -9 + twoDigitsSigned: /^-?\d{1,2}/, // 0 to 99, -0 to -99 + threeDigitsSigned: /^-?\d{1,3}/, // 0 to 999, -0 to -999 + fourDigitsSigned: /^-?\d{1,4}/, // 0 to 9999, -0 to -9999 +}; + +export const timezonePatterns = { + basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/, + basic: /^([+-])(\d{2})(\d{2})|Z/, + basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/, + extended: /^([+-])(\d{2}):(\d{2})|Z/, + extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/, +}; diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers.js b/.output/server/node_modules/date-fns/parse/_lib/parsers.js new file mode 100644 index 00000000..7b2d381d --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers.js @@ -0,0 +1,108 @@ +import { EraParser } from "./parsers/EraParser.js"; +import { YearParser } from "./parsers/YearParser.js"; +import { LocalWeekYearParser } from "./parsers/LocalWeekYearParser.js"; +import { ISOWeekYearParser } from "./parsers/ISOWeekYearParser.js"; +import { ExtendedYearParser } from "./parsers/ExtendedYearParser.js"; +import { QuarterParser } from "./parsers/QuarterParser.js"; +import { StandAloneQuarterParser } from "./parsers/StandAloneQuarterParser.js"; +import { MonthParser } from "./parsers/MonthParser.js"; +import { StandAloneMonthParser } from "./parsers/StandAloneMonthParser.js"; +import { LocalWeekParser } from "./parsers/LocalWeekParser.js"; +import { ISOWeekParser } from "./parsers/ISOWeekParser.js"; +import { DateParser } from "./parsers/DateParser.js"; +import { DayOfYearParser } from "./parsers/DayOfYearParser.js"; +import { DayParser } from "./parsers/DayParser.js"; +import { LocalDayParser } from "./parsers/LocalDayParser.js"; +import { StandAloneLocalDayParser } from "./parsers/StandAloneLocalDayParser.js"; +import { ISODayParser } from "./parsers/ISODayParser.js"; +import { AMPMParser } from "./parsers/AMPMParser.js"; +import { AMPMMidnightParser } from "./parsers/AMPMMidnightParser.js"; +import { DayPeriodParser } from "./parsers/DayPeriodParser.js"; +import { Hour1to12Parser } from "./parsers/Hour1to12Parser.js"; +import { Hour0to23Parser } from "./parsers/Hour0to23Parser.js"; +import { Hour0To11Parser } from "./parsers/Hour0To11Parser.js"; +import { Hour1To24Parser } from "./parsers/Hour1To24Parser.js"; +import { MinuteParser } from "./parsers/MinuteParser.js"; +import { SecondParser } from "./parsers/SecondParser.js"; +import { FractionOfSecondParser } from "./parsers/FractionOfSecondParser.js"; +import { ISOTimezoneWithZParser } from "./parsers/ISOTimezoneWithZParser.js"; +import { ISOTimezoneParser } from "./parsers/ISOTimezoneParser.js"; +import { TimestampSecondsParser } from "./parsers/TimestampSecondsParser.js"; +import { TimestampMillisecondsParser } from "./parsers/TimestampMillisecondsParser.js"; + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | Milliseconds in day | + * | b | AM, PM, noon, midnight | B | Flexible day period | + * | c | Stand-alone local day of week | C* | Localized hour w/ day period | + * | d | Day of month | D | Day of year | + * | e | Local day of week | E | Day of week | + * | f | | F* | Day of week in month | + * | g* | Modified Julian day | G | Era | + * | h | Hour [1-12] | H | Hour [0-23] | + * | i! | ISO day of week | I! | ISO week of year | + * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | + * | k | Hour [1-24] | K | Hour [0-11] | + * | l* | (deprecated) | L | Stand-alone month | + * | m | Minute | M | Month | + * | n | | N | | + * | o! | Ordinal number modifier | O* | Timezone (GMT) | + * | p | | P | | + * | q | Stand-alone quarter | Q | Quarter | + * | r* | Related Gregorian year | R! | ISO week-numbering year | + * | s | Second | S | Fraction of second | + * | t! | Seconds timestamp | T! | Milliseconds timestamp | + * | u | Extended year | U* | Cyclic year | + * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | + * | w | Local week of year | W* | Week of month | + * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | + * | y | Year (abs) | Y | Local week-numbering year | + * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + * + * Letters marked by ! are non-standard, but implemented by date-fns: + * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs) + * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, + * i.e. 7 for Sunday, 1 for Monday, etc. + * - `I` is ISO week of year, as opposed to `w` which is local week of year. + * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. + * `R` is supposed to be used in conjunction with `I` and `i` + * for universal ISO week-numbering date, whereas + * `Y` is supposed to be used in conjunction with `w` and `e` + * for week-numbering date specific to the locale. + */ +export const parsers = { + G: new EraParser(), + y: new YearParser(), + Y: new LocalWeekYearParser(), + R: new ISOWeekYearParser(), + u: new ExtendedYearParser(), + Q: new QuarterParser(), + q: new StandAloneQuarterParser(), + M: new MonthParser(), + L: new StandAloneMonthParser(), + w: new LocalWeekParser(), + I: new ISOWeekParser(), + d: new DateParser(), + D: new DayOfYearParser(), + E: new DayParser(), + e: new LocalDayParser(), + c: new StandAloneLocalDayParser(), + i: new ISODayParser(), + a: new AMPMParser(), + b: new AMPMMidnightParser(), + B: new DayPeriodParser(), + h: new Hour1to12Parser(), + H: new Hour0to23Parser(), + K: new Hour0To11Parser(), + k: new Hour1To24Parser(), + m: new MinuteParser(), + s: new SecondParser(), + S: new FractionOfSecondParser(), + X: new ISOTimezoneWithZParser(), + x: new ISOTimezoneParser(), + t: new TimestampSecondsParser(), + T: new TimestampMillisecondsParser(), +}; diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js new file mode 100644 index 00000000..0cd44aac --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js @@ -0,0 +1,54 @@ +import { Parser } from "../Parser.js"; + +import { dayPeriodEnumToHours } from "../utils.js"; + +export class AMPMMidnightParser extends Parser { + priority = 80; + + parse(dateString, token, match) { + switch (token) { + case "b": + case "bb": + case "bbb": + return ( + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + + case "bbbbb": + return match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }); + case "bbbb": + default: + return ( + match.dayPeriod(dateString, { + width: "wide", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + } + } + + set(date, _flags, value) { + date.setHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + } + + incompatibleTokens = ["a", "B", "H", "k", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js new file mode 100644 index 00000000..c9478c64 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js @@ -0,0 +1,54 @@ +import { Parser } from "../Parser.js"; + +import { dayPeriodEnumToHours } from "../utils.js"; + +export class AMPMParser extends Parser { + priority = 80; + + parse(dateString, token, match) { + switch (token) { + case "a": + case "aa": + case "aaa": + return ( + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + + case "aaaaa": + return match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }); + case "aaaa": + default: + return ( + match.dayPeriod(dateString, { + width: "wide", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + } + } + + set(date, _flags, value) { + date.setHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + } + + incompatibleTokens = ["b", "B", "H", "k", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/DateParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/DateParser.js new file mode 100644 index 00000000..7284002f --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/DateParser.js @@ -0,0 +1,62 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { + isLeapYearIndex, + parseNDigits, + parseNumericPattern, +} from "../utils.js"; + +const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +const DAYS_IN_MONTH_LEAP_YEAR = [ + 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, +]; + +// Day of the month +export class DateParser extends Parser { + priority = 90; + subPriority = 1; + + parse(dateString, token, match) { + switch (token) { + case "d": + return parseNumericPattern(numericPatterns.date, dateString); + case "do": + return match.ordinalNumber(dateString, { unit: "date" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(date, value) { + const year = date.getFullYear(); + const isLeapYear = isLeapYearIndex(year); + const month = date.getMonth(); + if (isLeapYear) { + return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month]; + } else { + return value >= 1 && value <= DAYS_IN_MONTH[month]; + } + } + + set(date, _flags, value) { + date.setDate(value); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "Y", + "R", + "q", + "Q", + "w", + "I", + "D", + "i", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js new file mode 100644 index 00000000..b2aa9dbe --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js @@ -0,0 +1,60 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { + isLeapYearIndex, + parseNDigits, + parseNumericPattern, +} from "../utils.js"; + +export class DayOfYearParser extends Parser { + priority = 90; + + subpriority = 1; + + parse(dateString, token, match) { + switch (token) { + case "D": + case "DD": + return parseNumericPattern(numericPatterns.dayOfYear, dateString); + case "Do": + return match.ordinalNumber(dateString, { unit: "date" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(date, value) { + const year = date.getFullYear(); + const isLeapYear = isLeapYearIndex(year); + if (isLeapYear) { + return value >= 1 && value <= 366; + } else { + return value >= 1 && value <= 365; + } + } + + set(date, _flags, value) { + date.setMonth(0, value); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "Y", + "R", + "q", + "Q", + "M", + "L", + "w", + "I", + "d", + "E", + "i", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/DayParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayParser.js new file mode 100644 index 00000000..aafbf099 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayParser.js @@ -0,0 +1,62 @@ +import { setDay } from "../../../setDay.js"; +import { Parser } from "../Parser.js"; + +// Day of week +export class DayParser extends Parser { + priority = 90; + + parse(dateString, token, match) { + switch (token) { + // Tue + case "E": + case "EE": + case "EEE": + return ( + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + + // T + case "EEEEE": + return match.day(dateString, { + width: "narrow", + context: "formatting", + }); + // Tu + case "EEEEEE": + return ( + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + + // Tuesday + case "EEEE": + default: + return ( + match.day(dateString, { width: "wide", context: "formatting" }) || + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + } + } + + validate(_date, value) { + return value >= 0 && value <= 6; + } + + set(date, _flags, value, options) { + date = setDay(date, value, options); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = ["D", "i", "e", "c", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js new file mode 100644 index 00000000..71bd8ecd --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js @@ -0,0 +1,55 @@ +import { Parser } from "../Parser.js"; + +import { dayPeriodEnumToHours } from "../utils.js"; + +// in the morning, in the afternoon, in the evening, at night +export class DayPeriodParser extends Parser { + priority = 80; + + parse(dateString, token, match) { + switch (token) { + case "B": + case "BB": + case "BBB": + return ( + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + + case "BBBBB": + return match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }); + case "BBBB": + default: + return ( + match.dayPeriod(dateString, { + width: "wide", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.dayPeriod(dateString, { + width: "narrow", + context: "formatting", + }) + ); + } + } + + set(date, _flags, value) { + date.setHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + } + + incompatibleTokens = ["a", "b", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/EraParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/EraParser.js new file mode 100644 index 00000000..7f7f8e87 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/EraParser.js @@ -0,0 +1,39 @@ +import { Parser } from "../Parser.js"; + +export class EraParser extends Parser { + priority = 140; + + parse(dateString, token, match) { + switch (token) { + // AD, BC + case "G": + case "GG": + case "GGG": + return ( + match.era(dateString, { width: "abbreviated" }) || + match.era(dateString, { width: "narrow" }) + ); + + // A, B + case "GGGGG": + return match.era(dateString, { width: "narrow" }); + // Anno Domini, Before Christ + case "GGGG": + default: + return ( + match.era(dateString, { width: "wide" }) || + match.era(dateString, { width: "abbreviated" }) || + match.era(dateString, { width: "narrow" }) + ); + } + } + + set(date, flags, value) { + flags.era = value; + date.setFullYear(value, 0, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = ["R", "u", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js new file mode 100644 index 00000000..ccfb93a1 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js @@ -0,0 +1,23 @@ +import { Parser } from "../Parser.js"; + +import { parseNDigitsSigned } from "../utils.js"; + +export class ExtendedYearParser extends Parser { + priority = 130; + + parse(dateString, token) { + if (token === "u") { + return parseNDigitsSigned(4, dateString); + } + + return parseNDigitsSigned(token.length, dateString); + } + + set(date, _flags, value) { + date.setFullYear(value, 0, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js new file mode 100644 index 00000000..44fabac9 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js @@ -0,0 +1,20 @@ +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits } from "../utils.js"; + +export class FractionOfSecondParser extends Parser { + priority = 30; + + parse(dateString, token) { + const valueCallback = (value) => + Math.trunc(value * Math.pow(10, -token.length + 3)); + return mapValue(parseNDigits(token.length, dateString), valueCallback); + } + + set(date, _flags, value) { + date.setMilliseconds(value); + return date; + } + + incompatibleTokens = ["t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js new file mode 100644 index 00000000..f1f6724c --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js @@ -0,0 +1,35 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class Hour0To11Parser extends Parser { + priority = 70; + + parse(dateString, token, match) { + switch (token) { + case "K": + return parseNumericPattern(numericPatterns.hour11h, dateString); + case "Ko": + return match.ordinalNumber(dateString, { unit: "hour" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 0 && value <= 11; + } + + set(date, _flags, value) { + const isPM = date.getHours() >= 12; + if (isPM && value < 12) { + date.setHours(value + 12, 0, 0, 0); + } else { + date.setHours(value, 0, 0, 0); + } + return date; + } + + incompatibleTokens = ["h", "H", "k", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js new file mode 100644 index 00000000..a687deb5 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js @@ -0,0 +1,30 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class Hour0to23Parser extends Parser { + priority = 70; + + parse(dateString, token, match) { + switch (token) { + case "H": + return parseNumericPattern(numericPatterns.hour23h, dateString); + case "Ho": + return match.ordinalNumber(dateString, { unit: "hour" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 0 && value <= 23; + } + + set(date, _flags, value) { + date.setHours(value, 0, 0, 0); + return date; + } + + incompatibleTokens = ["a", "b", "h", "K", "k", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js new file mode 100644 index 00000000..f3757884 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js @@ -0,0 +1,31 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class Hour1To24Parser extends Parser { + priority = 70; + + parse(dateString, token, match) { + switch (token) { + case "k": + return parseNumericPattern(numericPatterns.hour24h, dateString); + case "ko": + return match.ordinalNumber(dateString, { unit: "hour" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 1 && value <= 24; + } + + set(date, _flags, value) { + const hours = value <= 24 ? value % 24 : value; + date.setHours(hours, 0, 0, 0); + return date; + } + + incompatibleTokens = ["a", "b", "h", "H", "K", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js new file mode 100644 index 00000000..46781bf6 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js @@ -0,0 +1,37 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class Hour1to12Parser extends Parser { + priority = 70; + + parse(dateString, token, match) { + switch (token) { + case "h": + return parseNumericPattern(numericPatterns.hour12h, dateString); + case "ho": + return match.ordinalNumber(dateString, { unit: "hour" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 1 && value <= 12; + } + + set(date, _flags, value) { + const isPM = date.getHours() >= 12; + if (isPM && value < 12) { + date.setHours(value + 12, 0, 0, 0); + } else if (!isPM && value === 12) { + date.setHours(0, 0, 0, 0); + } else { + date.setHours(value, 0, 0, 0); + } + return date; + } + + incompatibleTokens = ["H", "K", "k", "t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js new file mode 100644 index 00000000..e2dcbc89 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js @@ -0,0 +1,117 @@ +import { setISODay } from "../../../setISODay.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits } from "../utils.js"; + +// ISO day of week +export class ISODayParser extends Parser { + priority = 90; + + parse(dateString, token, match) { + const valueCallback = (value) => { + if (value === 0) { + return 7; + } + return value; + }; + + switch (token) { + // 2 + case "i": + case "ii": // 02 + return parseNDigits(token.length, dateString); + // 2nd + case "io": + return match.ordinalNumber(dateString, { unit: "day" }); + // Tue + case "iii": + return mapValue( + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { + width: "short", + context: "formatting", + }) || + match.day(dateString, { + width: "narrow", + context: "formatting", + }), + valueCallback, + ); + // T + case "iiiii": + return mapValue( + match.day(dateString, { + width: "narrow", + context: "formatting", + }), + valueCallback, + ); + // Tu + case "iiiiii": + return mapValue( + match.day(dateString, { + width: "short", + context: "formatting", + }) || + match.day(dateString, { + width: "narrow", + context: "formatting", + }), + valueCallback, + ); + // Tuesday + case "iiii": + default: + return mapValue( + match.day(dateString, { + width: "wide", + context: "formatting", + }) || + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { + width: "short", + context: "formatting", + }) || + match.day(dateString, { + width: "narrow", + context: "formatting", + }), + valueCallback, + ); + } + } + + validate(_date, value) { + return value >= 1 && value <= 7; + } + + set(date, _flags, value) { + date = setISODay(date, value); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "y", + "Y", + "u", + "q", + "Q", + "M", + "L", + "w", + "d", + "D", + "E", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js new file mode 100644 index 00000000..e253c918 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js @@ -0,0 +1,46 @@ +import { constructFrom } from "../../../constructFrom.js"; +import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.js"; +import { timezonePatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseTimezonePattern } from "../utils.js"; + +// Timezone (ISO-8601) +export class ISOTimezoneParser extends Parser { + priority = 10; + + parse(dateString, token) { + switch (token) { + case "x": + return parseTimezonePattern( + timezonePatterns.basicOptionalMinutes, + dateString, + ); + case "xx": + return parseTimezonePattern(timezonePatterns.basic, dateString); + case "xxxx": + return parseTimezonePattern( + timezonePatterns.basicOptionalSeconds, + dateString, + ); + case "xxxxx": + return parseTimezonePattern( + timezonePatterns.extendedOptionalSeconds, + dateString, + ); + case "xxx": + default: + return parseTimezonePattern(timezonePatterns.extended, dateString); + } + } + + set(date, flags, value) { + if (flags.timestampIsSet) return date; + return constructFrom( + date, + date.getTime() - getTimezoneOffsetInMilliseconds(date) - value, + ); + } + + incompatibleTokens = ["t", "T", "X"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js new file mode 100644 index 00000000..97afeef2 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js @@ -0,0 +1,46 @@ +import { constructFrom } from "../../../constructFrom.js"; +import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.js"; +import { timezonePatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseTimezonePattern } from "../utils.js"; + +// Timezone (ISO-8601. +00:00 is `'Z'`) +export class ISOTimezoneWithZParser extends Parser { + priority = 10; + + parse(dateString, token) { + switch (token) { + case "X": + return parseTimezonePattern( + timezonePatterns.basicOptionalMinutes, + dateString, + ); + case "XX": + return parseTimezonePattern(timezonePatterns.basic, dateString); + case "XXXX": + return parseTimezonePattern( + timezonePatterns.basicOptionalSeconds, + dateString, + ); + case "XXXXX": + return parseTimezonePattern( + timezonePatterns.extendedOptionalSeconds, + dateString, + ); + case "XXX": + default: + return parseTimezonePattern(timezonePatterns.extended, dateString); + } + } + + set(date, flags, value) { + if (flags.timestampIsSet) return date; + return constructFrom( + date, + date.getTime() - getTimezoneOffsetInMilliseconds(date) - value, + ); + } + + incompatibleTokens = ["t", "T", "x"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js new file mode 100644 index 00000000..6ccaf24f --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js @@ -0,0 +1,47 @@ +import { setISOWeek } from "../../../setISOWeek.js"; +import { startOfISOWeek } from "../../../startOfISOWeek.js"; +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +// ISO week of year +export class ISOWeekParser extends Parser { + priority = 100; + + parse(dateString, token, match) { + switch (token) { + case "I": + return parseNumericPattern(numericPatterns.week, dateString); + case "Io": + return match.ordinalNumber(dateString, { unit: "week" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 1 && value <= 53; + } + + set(date, _flags, value) { + return startOfISOWeek(setISOWeek(date, value)); + } + + incompatibleTokens = [ + "y", + "Y", + "u", + "q", + "Q", + "M", + "L", + "w", + "d", + "D", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js new file mode 100644 index 00000000..14eb80dc --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js @@ -0,0 +1,43 @@ +import { startOfISOWeek } from "../../../startOfISOWeek.js"; +import { constructFrom } from "../../../constructFrom.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigitsSigned } from "../utils.js"; + +// ISO week-numbering year +export class ISOWeekYearParser extends Parser { + priority = 130; + + parse(dateString, token) { + if (token === "R") { + return parseNDigitsSigned(4, dateString); + } + + return parseNDigitsSigned(token.length, dateString); + } + + set(date, _flags, value) { + const firstWeekOfYear = constructFrom(date, 0); + firstWeekOfYear.setFullYear(value, 0, 4); + firstWeekOfYear.setHours(0, 0, 0, 0); + return startOfISOWeek(firstWeekOfYear); + } + + incompatibleTokens = [ + "G", + "y", + "Y", + "u", + "Q", + "q", + "M", + "L", + "w", + "d", + "D", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js new file mode 100644 index 00000000..d9dfc6c5 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js @@ -0,0 +1,95 @@ +import { setDay } from "../../../setDay.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits } from "../utils.js"; + +// Local day of week +export class LocalDayParser extends Parser { + priority = 90; + parse(dateString, token, match, options) { + const valueCallback = (value) => { + // We want here floor instead of trunc, so we get -7 for value 0 instead of 0 + const wholeWeekDays = Math.floor((value - 1) / 7) * 7; + return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays; + }; + + switch (token) { + // 3 + case "e": + case "ee": // 03 + return mapValue(parseNDigits(token.length, dateString), valueCallback); + // 3rd + case "eo": + return mapValue( + match.ordinalNumber(dateString, { + unit: "day", + }), + valueCallback, + ); + // Tue + case "eee": + return ( + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + + // T + case "eeeee": + return match.day(dateString, { + width: "narrow", + context: "formatting", + }); + // Tu + case "eeeeee": + return ( + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + + // Tuesday + case "eeee": + default: + return ( + match.day(dateString, { width: "wide", context: "formatting" }) || + match.day(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.day(dateString, { width: "short", context: "formatting" }) || + match.day(dateString, { width: "narrow", context: "formatting" }) + ); + } + } + + validate(_date, value) { + return value >= 0 && value <= 6; + } + + set(date, _flags, value, options) { + date = setDay(date, value, options); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "y", + "R", + "u", + "q", + "Q", + "M", + "L", + "I", + "d", + "D", + "E", + "i", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js new file mode 100644 index 00000000..f62942e0 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js @@ -0,0 +1,46 @@ +import { setWeek } from "../../../setWeek.js"; +import { startOfWeek } from "../../../startOfWeek.js"; +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +// Local week of year +export class LocalWeekParser extends Parser { + priority = 100; + + parse(dateString, token, match) { + switch (token) { + case "w": + return parseNumericPattern(numericPatterns.week, dateString); + case "wo": + return match.ordinalNumber(dateString, { unit: "week" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 1 && value <= 53; + } + + set(date, _flags, value, options) { + return startOfWeek(setWeek(date, value, options), options); + } + + incompatibleTokens = [ + "y", + "R", + "u", + "q", + "Q", + "M", + "L", + "I", + "d", + "D", + "i", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js new file mode 100644 index 00000000..764424c1 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js @@ -0,0 +1,76 @@ +import { getWeekYear } from "../../../getWeekYear.js"; + +import { startOfWeek } from "../../../startOfWeek.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, normalizeTwoDigitYear, parseNDigits } from "../utils.js"; + +// Local week-numbering year +export class LocalWeekYearParser extends Parser { + priority = 130; + + parse(dateString, token, match) { + const valueCallback = (year) => ({ + year, + isTwoDigitYear: token === "YY", + }); + + switch (token) { + case "Y": + return mapValue(parseNDigits(4, dateString), valueCallback); + case "Yo": + return mapValue( + match.ordinalNumber(dateString, { + unit: "year", + }), + valueCallback, + ); + default: + return mapValue(parseNDigits(token.length, dateString), valueCallback); + } + } + + validate(_date, value) { + return value.isTwoDigitYear || value.year > 0; + } + + set(date, flags, value, options) { + const currentYear = getWeekYear(date, options); + + if (value.isTwoDigitYear) { + const normalizedTwoDigitYear = normalizeTwoDigitYear( + value.year, + currentYear, + ); + date.setFullYear( + normalizedTwoDigitYear, + 0, + options.firstWeekContainsDate, + ); + date.setHours(0, 0, 0, 0); + return startOfWeek(date, options); + } + + const year = + !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year; + date.setFullYear(year, 0, options.firstWeekContainsDate); + date.setHours(0, 0, 0, 0); + return startOfWeek(date, options); + } + + incompatibleTokens = [ + "y", + "R", + "u", + "Q", + "q", + "M", + "L", + "I", + "d", + "D", + "i", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js new file mode 100644 index 00000000..b2130abe --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js @@ -0,0 +1,30 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class MinuteParser extends Parser { + priority = 60; + + parse(dateString, token, match) { + switch (token) { + case "m": + return parseNumericPattern(numericPatterns.minute, dateString); + case "mo": + return match.ordinalNumber(dateString, { unit: "minute" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 0 && value <= 59; + } + + set(date, _flags, value) { + date.setMinutes(value, 0, 0); + return date; + } + + incompatibleTokens = ["t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/MonthParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/MonthParser.js new file mode 100644 index 00000000..04986454 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/MonthParser.js @@ -0,0 +1,85 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits, parseNumericPattern } from "../utils.js"; + +export class MonthParser extends Parser { + incompatibleTokens = [ + "Y", + "R", + "q", + "Q", + "L", + "w", + "I", + "D", + "i", + "e", + "c", + "t", + "T", + ]; + + priority = 110; + + parse(dateString, token, match) { + const valueCallback = (value) => value - 1; + + switch (token) { + // 1, 2, ..., 12 + case "M": + return mapValue( + parseNumericPattern(numericPatterns.month, dateString), + valueCallback, + ); + // 01, 02, ..., 12 + case "MM": + return mapValue(parseNDigits(2, dateString), valueCallback); + // 1st, 2nd, ..., 12th + case "Mo": + return mapValue( + match.ordinalNumber(dateString, { + unit: "month", + }), + valueCallback, + ); + // Jan, Feb, ..., Dec + case "MMM": + return ( + match.month(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.month(dateString, { width: "narrow", context: "formatting" }) + ); + + // J, F, ..., D + case "MMMMM": + return match.month(dateString, { + width: "narrow", + context: "formatting", + }); + // January, February, ..., December + case "MMMM": + default: + return ( + match.month(dateString, { width: "wide", context: "formatting" }) || + match.month(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.month(dateString, { width: "narrow", context: "formatting" }) + ); + } + } + + validate(_date, value) { + return value >= 0 && value <= 11; + } + + set(date, _flags, value) { + date.setMonth(value, 1); + date.setHours(0, 0, 0, 0); + return date; + } +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js new file mode 100644 index 00000000..90bbdc5f --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js @@ -0,0 +1,82 @@ +import { Parser } from "../Parser.js"; + +import { parseNDigits } from "../utils.js"; + +export class QuarterParser extends Parser { + priority = 120; + + parse(dateString, token, match) { + switch (token) { + // 1, 2, 3, 4 + case "Q": + case "QQ": // 01, 02, 03, 04 + return parseNDigits(token.length, dateString); + // 1st, 2nd, 3rd, 4th + case "Qo": + return match.ordinalNumber(dateString, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "QQQ": + return ( + match.quarter(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.quarter(dateString, { + width: "narrow", + context: "formatting", + }) + ); + + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "QQQQQ": + return match.quarter(dateString, { + width: "narrow", + context: "formatting", + }); + // 1st quarter, 2nd quarter, ... + case "QQQQ": + default: + return ( + match.quarter(dateString, { + width: "wide", + context: "formatting", + }) || + match.quarter(dateString, { + width: "abbreviated", + context: "formatting", + }) || + match.quarter(dateString, { + width: "narrow", + context: "formatting", + }) + ); + } + } + + validate(_date, value) { + return value >= 1 && value <= 4; + } + + set(date, _flags, value) { + date.setMonth((value - 1) * 3, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "Y", + "R", + "q", + "M", + "L", + "w", + "I", + "d", + "D", + "i", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/SecondParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/SecondParser.js new file mode 100644 index 00000000..bb243cac --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/SecondParser.js @@ -0,0 +1,30 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { parseNDigits, parseNumericPattern } from "../utils.js"; + +export class SecondParser extends Parser { + priority = 50; + + parse(dateString, token, match) { + switch (token) { + case "s": + return parseNumericPattern(numericPatterns.second, dateString); + case "so": + return match.ordinalNumber(dateString, { unit: "second" }); + default: + return parseNDigits(token.length, dateString); + } + } + + validate(_date, value) { + return value >= 0 && value <= 59; + } + + set(date, _flags, value) { + date.setSeconds(value, 0); + return date; + } + + incompatibleTokens = ["t", "T"]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js new file mode 100644 index 00000000..0d185451 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js @@ -0,0 +1,96 @@ +import { setDay } from "../../../setDay.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits } from "../utils.js"; + +// Stand-alone local day of week +export class StandAloneLocalDayParser extends Parser { + priority = 90; + + parse(dateString, token, match, options) { + const valueCallback = (value) => { + // We want here floor instead of trunc, so we get -7 for value 0 instead of 0 + const wholeWeekDays = Math.floor((value - 1) / 7) * 7; + return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays; + }; + + switch (token) { + // 3 + case "c": + case "cc": // 03 + return mapValue(parseNDigits(token.length, dateString), valueCallback); + // 3rd + case "co": + return mapValue( + match.ordinalNumber(dateString, { + unit: "day", + }), + valueCallback, + ); + // Tue + case "ccc": + return ( + match.day(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.day(dateString, { width: "short", context: "standalone" }) || + match.day(dateString, { width: "narrow", context: "standalone" }) + ); + + // T + case "ccccc": + return match.day(dateString, { + width: "narrow", + context: "standalone", + }); + // Tu + case "cccccc": + return ( + match.day(dateString, { width: "short", context: "standalone" }) || + match.day(dateString, { width: "narrow", context: "standalone" }) + ); + + // Tuesday + case "cccc": + default: + return ( + match.day(dateString, { width: "wide", context: "standalone" }) || + match.day(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.day(dateString, { width: "short", context: "standalone" }) || + match.day(dateString, { width: "narrow", context: "standalone" }) + ); + } + } + + validate(_date, value) { + return value >= 0 && value <= 6; + } + + set(date, _flags, value, options) { + date = setDay(date, value, options); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "y", + "R", + "u", + "q", + "Q", + "M", + "L", + "I", + "d", + "D", + "E", + "i", + "e", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js new file mode 100644 index 00000000..928810ff --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js @@ -0,0 +1,85 @@ +import { numericPatterns } from "../constants.js"; +import { Parser } from "../Parser.js"; + +import { mapValue, parseNDigits, parseNumericPattern } from "../utils.js"; + +export class StandAloneMonthParser extends Parser { + priority = 110; + + parse(dateString, token, match) { + const valueCallback = (value) => value - 1; + + switch (token) { + // 1, 2, ..., 12 + case "L": + return mapValue( + parseNumericPattern(numericPatterns.month, dateString), + valueCallback, + ); + // 01, 02, ..., 12 + case "LL": + return mapValue(parseNDigits(2, dateString), valueCallback); + // 1st, 2nd, ..., 12th + case "Lo": + return mapValue( + match.ordinalNumber(dateString, { + unit: "month", + }), + valueCallback, + ); + // Jan, Feb, ..., Dec + case "LLL": + return ( + match.month(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.month(dateString, { width: "narrow", context: "standalone" }) + ); + + // J, F, ..., D + case "LLLLL": + return match.month(dateString, { + width: "narrow", + context: "standalone", + }); + // January, February, ..., December + case "LLLL": + default: + return ( + match.month(dateString, { width: "wide", context: "standalone" }) || + match.month(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.month(dateString, { width: "narrow", context: "standalone" }) + ); + } + } + + validate(_date, value) { + return value >= 0 && value <= 11; + } + + set(date, _flags, value) { + date.setMonth(value, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "Y", + "R", + "q", + "Q", + "M", + "w", + "I", + "D", + "i", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js new file mode 100644 index 00000000..398d4212 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js @@ -0,0 +1,82 @@ +import { Parser } from "../Parser.js"; + +import { parseNDigits } from "../utils.js"; + +export class StandAloneQuarterParser extends Parser { + priority = 120; + + parse(dateString, token, match) { + switch (token) { + // 1, 2, 3, 4 + case "q": + case "qq": // 01, 02, 03, 04 + return parseNDigits(token.length, dateString); + // 1st, 2nd, 3rd, 4th + case "qo": + return match.ordinalNumber(dateString, { unit: "quarter" }); + // Q1, Q2, Q3, Q4 + case "qqq": + return ( + match.quarter(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.quarter(dateString, { + width: "narrow", + context: "standalone", + }) + ); + + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + case "qqqqq": + return match.quarter(dateString, { + width: "narrow", + context: "standalone", + }); + // 1st quarter, 2nd quarter, ... + case "qqqq": + default: + return ( + match.quarter(dateString, { + width: "wide", + context: "standalone", + }) || + match.quarter(dateString, { + width: "abbreviated", + context: "standalone", + }) || + match.quarter(dateString, { + width: "narrow", + context: "standalone", + }) + ); + } + } + + validate(_date, value) { + return value >= 1 && value <= 4; + } + + set(date, _flags, value) { + date.setMonth((value - 1) * 3, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + incompatibleTokens = [ + "Y", + "R", + "Q", + "M", + "L", + "w", + "I", + "d", + "D", + "i", + "e", + "c", + "t", + "T", + ]; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js new file mode 100644 index 00000000..91fa0e14 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js @@ -0,0 +1,18 @@ +import { constructFrom } from "../../../constructFrom.js"; +import { Parser } from "../Parser.js"; + +import { parseAnyDigitsSigned } from "../utils.js"; + +export class TimestampMillisecondsParser extends Parser { + priority = 20; + + parse(dateString) { + return parseAnyDigitsSigned(dateString); + } + + set(date, _flags, value) { + return [constructFrom(date, value), { timestampIsSet: true }]; + } + + incompatibleTokens = "*"; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js new file mode 100644 index 00000000..19112ae4 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js @@ -0,0 +1,18 @@ +import { constructFrom } from "../../../constructFrom.js"; +import { Parser } from "../Parser.js"; + +import { parseAnyDigitsSigned } from "../utils.js"; + +export class TimestampSecondsParser extends Parser { + priority = 40; + + parse(dateString) { + return parseAnyDigitsSigned(dateString); + } + + set(date, _flags, value) { + return [constructFrom(date, value * 1000), { timestampIsSet: true }]; + } + + incompatibleTokens = "*"; +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/parsers/YearParser.js b/.output/server/node_modules/date-fns/parse/_lib/parsers/YearParser.js new file mode 100644 index 00000000..40069717 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/parsers/YearParser.js @@ -0,0 +1,61 @@ +import { Parser } from "../Parser.js"; + +import { mapValue, normalizeTwoDigitYear, parseNDigits } from "../utils.js"; + +// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns +// | Year | y | yy | yyy | yyyy | yyyyy | +// |----------|-------|----|-------|-------|-------| +// | AD 1 | 1 | 01 | 001 | 0001 | 00001 | +// | AD 12 | 12 | 12 | 012 | 0012 | 00012 | +// | AD 123 | 123 | 23 | 123 | 0123 | 00123 | +// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | +// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | +export class YearParser extends Parser { + priority = 130; + incompatibleTokens = ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]; + + parse(dateString, token, match) { + const valueCallback = (year) => ({ + year, + isTwoDigitYear: token === "yy", + }); + + switch (token) { + case "y": + return mapValue(parseNDigits(4, dateString), valueCallback); + case "yo": + return mapValue( + match.ordinalNumber(dateString, { + unit: "year", + }), + valueCallback, + ); + default: + return mapValue(parseNDigits(token.length, dateString), valueCallback); + } + } + + validate(_date, value) { + return value.isTwoDigitYear || value.year > 0; + } + + set(date, flags, value) { + const currentYear = date.getFullYear(); + + if (value.isTwoDigitYear) { + const normalizedTwoDigitYear = normalizeTwoDigitYear( + value.year, + currentYear, + ); + date.setFullYear(normalizedTwoDigitYear, 0, 1); + date.setHours(0, 0, 0, 0); + return date; + } + + const year = + !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year; + date.setFullYear(year, 0, 1); + date.setHours(0, 0, 0, 0); + return date; + } +} diff --git a/.output/server/node_modules/date-fns/parse/_lib/utils.js b/.output/server/node_modules/date-fns/parse/_lib/utils.js new file mode 100644 index 00000000..c0c8eb07 --- /dev/null +++ b/.output/server/node_modules/date-fns/parse/_lib/utils.js @@ -0,0 +1,138 @@ +import { + millisecondsInHour, + millisecondsInMinute, + millisecondsInSecond, +} from "../../constants.js"; + +import { numericPatterns } from "./constants.js"; + +export function mapValue(parseFnResult, mapFn) { + if (!parseFnResult) { + return parseFnResult; + } + + return { + value: mapFn(parseFnResult.value), + rest: parseFnResult.rest, + }; +} + +export function parseNumericPattern(pattern, dateString) { + const matchResult = dateString.match(pattern); + + if (!matchResult) { + return null; + } + + return { + value: parseInt(matchResult[0], 10), + rest: dateString.slice(matchResult[0].length), + }; +} + +export function parseTimezonePattern(pattern, dateString) { + const matchResult = dateString.match(pattern); + + if (!matchResult) { + return null; + } + + // Input is 'Z' + if (matchResult[0] === "Z") { + return { + value: 0, + rest: dateString.slice(1), + }; + } + + const sign = matchResult[1] === "+" ? 1 : -1; + const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0; + const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0; + const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0; + + return { + value: + sign * + (hours * millisecondsInHour + + minutes * millisecondsInMinute + + seconds * millisecondsInSecond), + rest: dateString.slice(matchResult[0].length), + }; +} + +export function parseAnyDigitsSigned(dateString) { + return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString); +} + +export function parseNDigits(n, dateString) { + switch (n) { + case 1: + return parseNumericPattern(numericPatterns.singleDigit, dateString); + case 2: + return parseNumericPattern(numericPatterns.twoDigits, dateString); + case 3: + return parseNumericPattern(numericPatterns.threeDigits, dateString); + case 4: + return parseNumericPattern(numericPatterns.fourDigits, dateString); + default: + return parseNumericPattern(new RegExp("^\\d{1," + n + "}"), dateString); + } +} + +export function parseNDigitsSigned(n, dateString) { + switch (n) { + case 1: + return parseNumericPattern(numericPatterns.singleDigitSigned, dateString); + case 2: + return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString); + case 3: + return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString); + case 4: + return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString); + default: + return parseNumericPattern(new RegExp("^-?\\d{1," + n + "}"), dateString); + } +} + +export function dayPeriodEnumToHours(dayPeriod) { + switch (dayPeriod) { + case "morning": + return 4; + case "evening": + return 17; + case "pm": + case "noon": + case "afternoon": + return 12; + case "am": + case "midnight": + case "night": + default: + return 0; + } +} + +export function normalizeTwoDigitYear(twoDigitYear, currentYear) { + const isCommonEra = currentYear > 0; + // Absolute number of the current year: + // 1 -> 1 AC + // 0 -> 1 BC + // -1 -> 2 BC + const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear; + + let result; + if (absCurrentYear <= 50) { + result = twoDigitYear || 100; + } else { + const rangeEnd = absCurrentYear + 50; + const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100; + const isPreviousCentury = twoDigitYear >= rangeEnd % 100; + result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0); + } + + return isCommonEra ? result : 1 - result; +} + +export function isLeapYearIndex(year) { + return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0); +} diff --git a/.output/server/node_modules/date-fns/parseISO.js b/.output/server/node_modules/date-fns/parseISO.js new file mode 100644 index 00000000..396fc6ec --- /dev/null +++ b/.output/server/node_modules/date-fns/parseISO.js @@ -0,0 +1,294 @@ +import { + millisecondsInHour, + millisecondsInMinute, +} from "./constants.js"; +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link parseISO} function options. + */ + +/** + * @name parseISO + * @category Common Helpers + * @summary Parse ISO string + * + * @description + * Parse the given string in ISO 8601 format and return an instance of Date. + * + * Function accepts complete ISO 8601 formats as well as partial implementations. + * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601 + * + * If the argument isn't a string, the function cannot parse the string or + * the values are invalid, it returns Invalid Date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param argument - The value to convert + * @param options - An object with options + * + * @returns The parsed date in the local time zone + * + * @example + * // Convert string '2014-02-11T11:30:30' to date: + * const result = parseISO('2014-02-11T11:30:30') + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert string '+02014101' to date, + * // if the additional number of digits in the extended year format is 1: + * const result = parseISO('+02014101', { additionalDigits: 1 }) + * //=> Fri Apr 11 2014 00:00:00 + */ +export function parseISO(argument, options) { + const invalidDate = () => constructFrom(options?.in, NaN); + + const additionalDigits = options?.additionalDigits ?? 2; + const dateStrings = splitDateString(argument); + + let date; + if (dateStrings.date) { + const parseYearResult = parseYear(dateStrings.date, additionalDigits); + date = parseDate(parseYearResult.restDateString, parseYearResult.year); + } + + if (!date || isNaN(+date)) return invalidDate(); + + const timestamp = +date; + let time = 0; + let offset; + + if (dateStrings.time) { + time = parseTime(dateStrings.time); + if (isNaN(time)) return invalidDate(); + } + + if (dateStrings.timezone) { + offset = parseTimezone(dateStrings.timezone); + if (isNaN(offset)) return invalidDate(); + } else { + const tmpDate = new Date(timestamp + time); + const result = toDate(0, options?.in); + result.setFullYear( + tmpDate.getUTCFullYear(), + tmpDate.getUTCMonth(), + tmpDate.getUTCDate(), + ); + result.setHours( + tmpDate.getUTCHours(), + tmpDate.getUTCMinutes(), + tmpDate.getUTCSeconds(), + tmpDate.getUTCMilliseconds(), + ); + return result; + } + + return toDate(timestamp + time + offset, options?.in); +} + +const patterns = { + dateTimeDelimiter: /[T ]/, + timeZoneDelimiter: /[Z ]/i, + timezone: /([Z+-].*)$/, +}; + +const dateRegex = + /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; +const timeRegex = + /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; +const timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; + +function splitDateString(dateString) { + const dateStrings = {}; + const array = dateString.split(patterns.dateTimeDelimiter); + let timeString; + + // The regex match should only return at maximum two array elements. + // [date], [time], or [date, time]. + if (array.length > 2) { + return dateStrings; + } + + if (/:/.test(array[0])) { + timeString = array[0]; + } else { + dateStrings.date = array[0]; + timeString = array[1]; + if (patterns.timeZoneDelimiter.test(dateStrings.date)) { + dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; + timeString = dateString.substr( + dateStrings.date.length, + dateString.length, + ); + } + } + + if (timeString) { + const token = patterns.timezone.exec(timeString); + if (token) { + dateStrings.time = timeString.replace(token[1], ""); + dateStrings.timezone = token[1]; + } else { + dateStrings.time = timeString; + } + } + + return dateStrings; +} + +function parseYear(dateString, additionalDigits) { + const regex = new RegExp( + "^(?:(\\d{4}|[+-]\\d{" + + (4 + additionalDigits) + + "})|(\\d{2}|[+-]\\d{" + + (2 + additionalDigits) + + "})$)", + ); + + const captures = dateString.match(regex); + // Invalid ISO-formatted year + if (!captures) return { year: NaN, restDateString: "" }; + + const year = captures[1] ? parseInt(captures[1]) : null; + const century = captures[2] ? parseInt(captures[2]) : null; + + // either year or century is null, not both + return { + year: century === null ? year : century * 100, + restDateString: dateString.slice((captures[1] || captures[2]).length), + }; +} + +function parseDate(dateString, year) { + // Invalid ISO-formatted year + if (year === null) return new Date(NaN); + + const captures = dateString.match(dateRegex); + // Invalid ISO-formatted string + if (!captures) return new Date(NaN); + + const isWeekDate = !!captures[4]; + const dayOfYear = parseDateUnit(captures[1]); + const month = parseDateUnit(captures[2]) - 1; + const day = parseDateUnit(captures[3]); + const week = parseDateUnit(captures[4]); + const dayOfWeek = parseDateUnit(captures[5]) - 1; + + if (isWeekDate) { + if (!validateWeekDate(year, week, dayOfWeek)) { + return new Date(NaN); + } + return dayOfISOWeekYear(year, week, dayOfWeek); + } else { + const date = new Date(0); + if ( + !validateDate(year, month, day) || + !validateDayOfYearDate(year, dayOfYear) + ) { + return new Date(NaN); + } + date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); + return date; + } +} + +function parseDateUnit(value) { + return value ? parseInt(value) : 1; +} + +function parseTime(timeString) { + const captures = timeString.match(timeRegex); + if (!captures) return NaN; // Invalid ISO-formatted time + + const hours = parseTimeUnit(captures[1]); + const minutes = parseTimeUnit(captures[2]); + const seconds = parseTimeUnit(captures[3]); + + if (!validateTime(hours, minutes, seconds)) { + return NaN; + } + + return ( + hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000 + ); +} + +function parseTimeUnit(value) { + return (value && parseFloat(value.replace(",", "."))) || 0; +} + +function parseTimezone(timezoneString) { + if (timezoneString === "Z") return 0; + + const captures = timezoneString.match(timezoneRegex); + if (!captures) return 0; + + const sign = captures[1] === "+" ? -1 : 1; + const hours = parseInt(captures[2]); + const minutes = (captures[3] && parseInt(captures[3])) || 0; + + if (!validateTimezone(hours, minutes)) { + return NaN; + } + + return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute); +} + +function dayOfISOWeekYear(isoWeekYear, week, day) { + const date = new Date(0); + date.setUTCFullYear(isoWeekYear, 0, 4); + const fourthOfJanuaryDay = date.getUTCDay() || 7; + const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; + date.setUTCDate(date.getUTCDate() + diff); + return date; +} + +// Validation functions + +// February is null to handle the leap year (using ||) +const daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function isLeapYearIndex(year) { + return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0); +} + +function validateDate(year, month, date) { + return ( + month >= 0 && + month <= 11 && + date >= 1 && + date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28)) + ); +} + +function validateDayOfYearDate(year, dayOfYear) { + return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365); +} + +function validateWeekDate(_year, week, day) { + return week >= 1 && week <= 53 && day >= 0 && day <= 6; +} + +function validateTime(hours, minutes, seconds) { + if (hours === 24) { + return minutes === 0 && seconds === 0; + } + + return ( + seconds >= 0 && + seconds < 60 && + minutes >= 0 && + minutes < 60 && + hours >= 0 && + hours < 25 + ); +} + +function validateTimezone(_hours, minutes) { + return minutes >= 0 && minutes <= 59; +} + +// Fallback for modularized imports: +export default parseISO; diff --git a/.output/server/node_modules/date-fns/parseJSON.js b/.output/server/node_modules/date-fns/parseJSON.js new file mode 100644 index 00000000..cb09e8dd --- /dev/null +++ b/.output/server/node_modules/date-fns/parseJSON.js @@ -0,0 +1,61 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link parseJSON} function options. + */ + +/** + * Converts a complete ISO date string in UTC time, the typical format for transmitting + * a date in JSON, to a JavaScript `Date` instance. + * + * This is a minimal implementation for converting dates retrieved from a JSON API to + * a `Date` instance which can be used with other functions in the `date-fns` library. + * The following formats are supported: + * + * - `2000-03-15T05:20:10.123Z`: The output of `.toISOString()` and `JSON.stringify(new Date())` + * - `2000-03-15T05:20:10Z`: Without milliseconds + * - `2000-03-15T05:20:10+00:00`: With a zero offset, the default JSON encoded format in some other languages + * - `2000-03-15T05:20:10+05:45`: With a positive or negative offset, the default JSON encoded format in some other languages + * - `2000-03-15T05:20:10+0000`: With a zero offset without a colon + * - `2000-03-15T05:20:10`: Without a trailing 'Z' symbol + * - `2000-03-15T05:20:10.1234567`: Up to 7 digits in milliseconds field. Only first 3 are taken into account since JS does not allow fractional milliseconds + * - `2000-03-15 05:20:10`: With a space instead of a 'T' separator for APIs returning a SQL date without reformatting + * + * For convenience and ease of use these other input types are also supported + * via [toDate](https://date-fns.org/docs/toDate): + * + * - A `Date` instance will be cloned + * - A `number` will be treated as a timestamp + * + * Any other input type or invalid date strings will return an `Invalid Date`. + * + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param dateStr - A fully formed ISO8601 date string to convert + * @param options - An object with options + * + * @returns The parsed date in the local time zone + */ +export function parseJSON(dateStr, options) { + const parts = dateStr.match( + /(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/, + ); + + if (!parts) return toDate(NaN, options?.in); + + return toDate( + Date.UTC( + +parts[1], + +parts[2] - 1, + +parts[3], + +parts[4] - (+parts[9] || 0) * (parts[8] == "-" ? -1 : 1), + +parts[5] - (+parts[10] || 0) * (parts[8] == "-" ? -1 : 1), + +parts[6], + +((parts[7] || "0") + "00").substring(0, 3), + ), + options?.in, + ); +} + +// Fallback for modularized imports: +export default parseJSON; diff --git a/.output/server/node_modules/date-fns/previousDay.js b/.output/server/node_modules/date-fns/previousDay.js new file mode 100644 index 00000000..cd11581e --- /dev/null +++ b/.output/server/node_modules/date-fns/previousDay.js @@ -0,0 +1,43 @@ +import { getDay } from "./getDay.js"; +import { subDays } from "./subDays.js"; + +/** + * The {@link previousDay} function options. + */ + +/** + * @name previousDay + * @category Weekday Helpers + * @summary When is the previous day of the week? + * + * @description + * When is the previous day of the week? 0-6 the day of the week, 0 represents Sunday. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to check + * @param day - The day of the week + * @param options - An object with options + * + * @returns The date is the previous day of week + * + * @example + * // When is the previous Monday before Mar, 20, 2020? + * const result = previousDay(new Date(2020, 2, 20), 1) + * //=> Mon Mar 16 2020 00:00:00 + * + * @example + * // When is the previous Tuesday before Mar, 21, 2020? + * const result = previousDay(new Date(2020, 2, 21), 2) + * //=> Tue Mar 17 2020 00:00:00 + */ +export function previousDay(date, day, options) { + let delta = getDay(date, options) - day; + if (delta <= 0) delta += 7; + + return subDays(date, delta, options); +} + +// Fallback for modularized imports: +export default previousDay; diff --git a/.output/server/node_modules/date-fns/previousFriday.js b/.output/server/node_modules/date-fns/previousFriday.js new file mode 100644 index 00000000..aecb178e --- /dev/null +++ b/.output/server/node_modules/date-fns/previousFriday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousFriday} function options. + */ + +/** + * @name previousFriday + * @category Weekday Helpers + * @summary When is the previous Friday? + * + * @description + * When is the previous Friday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [UTCDate](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - The options + * + * @returns The previous Friday + * + * @example + * // When is the previous Friday before Jun, 19, 2021? + * const result = previousFriday(new Date(2021, 5, 19)) + * //=> Fri June 18 2021 00:00:00 + */ +export function previousFriday(date, options) { + return previousDay(date, 5, options); +} + +// Fallback for modularized imports: +export default previousFriday; diff --git a/.output/server/node_modules/date-fns/previousMonday.js b/.output/server/node_modules/date-fns/previousMonday.js new file mode 100644 index 00000000..de032c7c --- /dev/null +++ b/.output/server/node_modules/date-fns/previousMonday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousMonday} function options. + */ + +/** + * @name previousMonday + * @category Weekday Helpers + * @summary When is the previous Monday? + * + * @description + * When is the previous Monday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The previous Monday + * + * @example + * // When is the previous Monday before Jun, 18, 2021? + * const result = previousMonday(new Date(2021, 5, 18)) + * //=> Mon June 14 2021 00:00:00 + */ +export function previousMonday(date, options) { + return previousDay(date, 1, options); +} + +// Fallback for modularized imports: +export default previousMonday; diff --git a/.output/server/node_modules/date-fns/previousSaturday.js b/.output/server/node_modules/date-fns/previousSaturday.js new file mode 100644 index 00000000..a665632c --- /dev/null +++ b/.output/server/node_modules/date-fns/previousSaturday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousSaturday} function options. + */ + +/** + * @name previousSaturday + * @category Weekday Helpers + * @summary When is the previous Saturday? + * + * @description + * When is the previous Saturday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - The options + * + * @returns The previous Saturday + * + * @example + * // When is the previous Saturday before Jun, 20, 2021? + * const result = previousSaturday(new Date(2021, 5, 20)) + * //=> Sat June 19 2021 00:00:00 + */ +export function previousSaturday(date, options) { + return previousDay(date, 6, options); +} + +// Fallback for modularized imports: +export default previousSaturday; diff --git a/.output/server/node_modules/date-fns/previousSunday.js b/.output/server/node_modules/date-fns/previousSunday.js new file mode 100644 index 00000000..4f4836d5 --- /dev/null +++ b/.output/server/node_modules/date-fns/previousSunday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousSunday} function options. + */ + +/** + * @name previousSunday + * @category Weekday Helpers + * @summary When is the previous Sunday? + * + * @description + * When is the previous Sunday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - The options + * + * @returns The previous Sunday + * + * @example + * // When is the previous Sunday before Jun, 21, 2021? + * const result = previousSunday(new Date(2021, 5, 21)) + * //=> Sun June 20 2021 00:00:00 + */ +export function previousSunday(date, options) { + return previousDay(date, 0, options); +} + +// Fallback for modularized imports: +export default previousSunday; diff --git a/.output/server/node_modules/date-fns/previousThursday.js b/.output/server/node_modules/date-fns/previousThursday.js new file mode 100644 index 00000000..ab7fe301 --- /dev/null +++ b/.output/server/node_modules/date-fns/previousThursday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousThursday} function options. + */ + +/** + * @name previousThursday + * @category Weekday Helpers + * @summary When is the previous Thursday? + * + * @description + * When is the previous Thursday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The previous Thursday + * + * @example + * // When is the previous Thursday before Jun, 18, 2021? + * const result = previousThursday(new Date(2021, 5, 18)) + * //=> Thu June 17 2021 00:00:00 + */ +export function previousThursday(date, options) { + return previousDay(date, 4, options); +} + +// Fallback for modularized imports: +export default previousThursday; diff --git a/.output/server/node_modules/date-fns/previousTuesday.js b/.output/server/node_modules/date-fns/previousTuesday.js new file mode 100644 index 00000000..a1fbead4 --- /dev/null +++ b/.output/server/node_modules/date-fns/previousTuesday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousTuesday} function options. + */ + +/** + * @name previousTuesday + * @category Weekday Helpers + * @summary When is the previous Tuesday? + * + * @description + * When is the previous Tuesday? + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The previous Tuesday + * + * @example + * // When is the previous Tuesday before Jun, 18, 2021? + * const result = previousTuesday(new Date(2021, 5, 18)) + * //=> Tue June 15 2021 00:00:00 + */ +export function previousTuesday(date, options) { + return previousDay(date, 2, options); +} + +// Fallback for modularized imports: +export default previousTuesday; diff --git a/.output/server/node_modules/date-fns/previousWednesday.js b/.output/server/node_modules/date-fns/previousWednesday.js new file mode 100644 index 00000000..dde1d9b3 --- /dev/null +++ b/.output/server/node_modules/date-fns/previousWednesday.js @@ -0,0 +1,33 @@ +import { previousDay } from "./previousDay.js"; + +/** + * The {@link previousWednesday} function options. + */ + +/** + * @name previousWednesday + * @category Weekday Helpers + * @summary When is the previous Wednesday? + * + * @description + * When is the previous Wednesday? + * + * @typeParam DateType - The Date type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [UTCDate](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to start counting from + * @param options - An object with options + * + * @returns The previous Wednesday + * + * @example + * // When is the previous Wednesday before Jun, 18, 2021? + * const result = previousWednesday(new Date(2021, 5, 18)) + * //=> Wed June 16 2021 00:00:00 + */ +export function previousWednesday(date, options) { + return previousDay(date, 3, options); +} + +// Fallback for modularized imports: +export default previousWednesday; diff --git a/.output/server/node_modules/date-fns/quartersToMonths.js b/.output/server/node_modules/date-fns/quartersToMonths.js new file mode 100644 index 00000000..60d00c6b --- /dev/null +++ b/.output/server/node_modules/date-fns/quartersToMonths.js @@ -0,0 +1,25 @@ +import { monthsInQuarter } from "./constants.js"; + +/** + * @name quartersToMonths + * @category Conversion Helpers + * @summary Convert number of quarters to months. + * + * @description + * Convert a number of quarters to a full number of months. + * + * @param quarters - The number of quarters to be converted + * + * @returns The number of quarters converted in months + * + * @example + * // Convert 2 quarters to months + * const result = quartersToMonths(2) + * //=> 6 + */ +export function quartersToMonths(quarters) { + return Math.trunc(quarters * monthsInQuarter); +} + +// Fallback for modularized imports: +export default quartersToMonths; diff --git a/.output/server/node_modules/date-fns/quartersToYears.js b/.output/server/node_modules/date-fns/quartersToYears.js new file mode 100644 index 00000000..70b19dc7 --- /dev/null +++ b/.output/server/node_modules/date-fns/quartersToYears.js @@ -0,0 +1,31 @@ +import { quartersInYear } from "./constants.js"; + +/** + * @name quartersToYears + * @category Conversion Helpers + * @summary Convert number of quarters to years. + * + * @description + * Convert a number of quarters to a full number of years. + * + * @param quarters - The number of quarters to be converted + * + * @returns The number of quarters converted in years + * + * @example + * // Convert 8 quarters to years + * const result = quartersToYears(8) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = quartersToYears(11) + * //=> 2 + */ +export function quartersToYears(quarters) { + const years = quarters / quartersInYear; + return Math.trunc(years); +} + +// Fallback for modularized imports: +export default quartersToYears; diff --git a/.output/server/node_modules/date-fns/roundToNearestHours.js b/.output/server/node_modules/date-fns/roundToNearestHours.js new file mode 100644 index 00000000..321f7621 --- /dev/null +++ b/.output/server/node_modules/date-fns/roundToNearestHours.js @@ -0,0 +1,77 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link roundToNearestHours} function options. + */ + +/** + * @name roundToNearestHours + * @category Hour Helpers + * @summary Rounds the given date to the nearest hour + * + * @description + * Rounds the given date to the nearest hour (or number of hours). + * Rounds up when the given date is exactly between the nearest round hours. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to round + * @param options - An object with options. + * + * @returns The new date rounded to the closest hour + * + * @example + * // Round 10 July 2014 12:34:56 to nearest hour: + * const result = roundToNearestHours(new Date(2014, 6, 10, 12, 34, 56)) + * //=> Thu Jul 10 2014 13:00:00 + * + * @example + * // Round 10 July 2014 12:34:56 to nearest half hour: + * const result = roundToNearestHours(new Date(2014, 6, 10, 12, 34, 56), { nearestTo: 6 }) + * //=> Thu Jul 10 2014 12:00:00 + * + * @example + * // Round 10 July 2014 12:34:56 to nearest half hour: + * const result = roundToNearestHours(new Date(2014, 6, 10, 12, 34, 56), { nearestTo: 8 }) + * //=> Thu Jul 10 2014 16:00:00 + * + * @example + * // Floor (rounds down) 10 July 2014 12:34:56 to nearest hour: + * const result = roundToNearestHours(new Date(2014, 6, 10, 1, 23, 45), { roundingMethod: 'ceil' }) + * //=> Thu Jul 10 2014 02:00:00 + * + * @example + * // Ceil (rounds up) 10 July 2014 12:34:56 to nearest quarter hour: + * const result = roundToNearestHours(new Date(2014, 6, 10, 12, 34, 56), { roundingMethod: 'floor', nearestTo: 8 }) + * //=> Thu Jul 10 2014 08:00:00 + */ +export function roundToNearestHours(date, options) { + const nearestTo = options?.nearestTo ?? 1; + + if (nearestTo < 1 || nearestTo > 12) + return constructFrom(options?.in || date, NaN); + + const date_ = toDate(date, options?.in); + const fractionalMinutes = date_.getMinutes() / 60; + const fractionalSeconds = date_.getSeconds() / 60 / 60; + const fractionalMilliseconds = date_.getMilliseconds() / 1000 / 60 / 60; + const hours = + date_.getHours() + + fractionalMinutes + + fractionalSeconds + + fractionalMilliseconds; + + const method = options?.roundingMethod ?? "round"; + const roundingMethod = getRoundingMethod(method); + + const roundedHours = roundingMethod(hours / nearestTo) * nearestTo; + + date_.setHours(roundedHours, 0, 0, 0); + return date_; +} + +// Fallback for modularized imports: +export default roundToNearestHours; diff --git a/.output/server/node_modules/date-fns/roundToNearestMinutes.js b/.output/server/node_modules/date-fns/roundToNearestMinutes.js new file mode 100644 index 00000000..ffc42ff3 --- /dev/null +++ b/.output/server/node_modules/date-fns/roundToNearestMinutes.js @@ -0,0 +1,67 @@ +import { getRoundingMethod } from "./_lib/getRoundingMethod.js"; +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link roundToNearestMinutes} function options. + */ + +/** + * @name roundToNearestMinutes + * @category Minute Helpers + * @summary Rounds the given date to the nearest minute + * + * @description + * Rounds the given date to the nearest minute (or number of minutes). + * Rounds up when the given date is exactly between the nearest round minutes. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to round + * @param options - An object with options. + * + * @returns The new date rounded to the closest minute + * + * @example + * // Round 10 July 2014 12:12:34 to nearest minute: + * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34)) + * //=> Thu Jul 10 2014 12:13:00 + * + * @example + * // Round 10 July 2014 12:12:34 to nearest quarter hour: + * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34), { nearestTo: 15 }) + * //=> Thu Jul 10 2014 12:15:00 + * + * @example + * // Floor (rounds down) 10 July 2014 12:12:34 to nearest minute: + * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34), { roundingMethod: 'floor' }) + * //=> Thu Jul 10 2014 12:12:00 + * + * @example + * // Ceil (rounds up) 10 July 2014 12:12:34 to nearest half hour: + * const result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34), { roundingMethod: 'ceil', nearestTo: 30 }) + * //=> Thu Jul 10 2014 12:30:00 + */ +export function roundToNearestMinutes(date, options) { + const nearestTo = options?.nearestTo ?? 1; + + if (nearestTo < 1 || nearestTo > 30) return constructFrom(date, NaN); + + const date_ = toDate(date, options?.in); + const fractionalSeconds = date_.getSeconds() / 60; + const fractionalMilliseconds = date_.getMilliseconds() / 1000 / 60; + const minutes = + date_.getMinutes() + fractionalSeconds + fractionalMilliseconds; + + const method = options?.roundingMethod ?? "round"; + const roundingMethod = getRoundingMethod(method); + + const roundedMinutes = roundingMethod(minutes / nearestTo) * nearestTo; + + date_.setMinutes(roundedMinutes, 0, 0); + return date_; +} + +// Fallback for modularized imports: +export default roundToNearestMinutes; diff --git a/.output/server/node_modules/date-fns/secondsToHours.js b/.output/server/node_modules/date-fns/secondsToHours.js new file mode 100644 index 00000000..2a9326be --- /dev/null +++ b/.output/server/node_modules/date-fns/secondsToHours.js @@ -0,0 +1,31 @@ +import { secondsInHour } from "./constants.js"; + +/** + * @name secondsToHours + * @category Conversion Helpers + * @summary Convert seconds to hours. + * + * @description + * Convert a number of seconds to a full number of hours. + * + * @param seconds - The number of seconds to be converted + * + * @returns The number of seconds converted in hours + * + * @example + * // Convert 7200 seconds into hours + * const result = secondsToHours(7200) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = secondsToHours(7199) + * //=> 1 + */ +export function secondsToHours(seconds) { + const hours = seconds / secondsInHour; + return Math.trunc(hours); +} + +// Fallback for modularized imports: +export default secondsToHours; diff --git a/.output/server/node_modules/date-fns/secondsToMilliseconds.js b/.output/server/node_modules/date-fns/secondsToMilliseconds.js new file mode 100644 index 00000000..0b587620 --- /dev/null +++ b/.output/server/node_modules/date-fns/secondsToMilliseconds.js @@ -0,0 +1,25 @@ +import { millisecondsInSecond } from "./constants.js"; + +/** + * @name secondsToMilliseconds + * @category Conversion Helpers + * @summary Convert seconds to milliseconds. + * + * @description + * Convert a number of seconds to a full number of milliseconds. + * + * @param seconds - The number of seconds to be converted + * + * @returns The number of seconds converted in milliseconds + * + * @example + * // Convert 2 seconds into milliseconds + * const result = secondsToMilliseconds(2) + * //=> 2000 + */ +export function secondsToMilliseconds(seconds) { + return seconds * millisecondsInSecond; +} + +// Fallback for modularized imports: +export default secondsToMilliseconds; diff --git a/.output/server/node_modules/date-fns/secondsToMinutes.js b/.output/server/node_modules/date-fns/secondsToMinutes.js new file mode 100644 index 00000000..8cf823de --- /dev/null +++ b/.output/server/node_modules/date-fns/secondsToMinutes.js @@ -0,0 +1,31 @@ +import { secondsInMinute } from "./constants.js"; + +/** + * @name secondsToMinutes + * @category Conversion Helpers + * @summary Convert seconds to minutes. + * + * @description + * Convert a number of seconds to a full number of minutes. + * + * @param seconds - The number of seconds to be converted + * + * @returns The number of seconds converted in minutes + * + * @example + * // Convert 120 seconds into minutes + * const result = secondsToMinutes(120) + * //=> 2 + * + * @example + * // It uses floor rounding: + * const result = secondsToMinutes(119) + * //=> 1 + */ +export function secondsToMinutes(seconds) { + const minutes = seconds / secondsInMinute; + return Math.trunc(minutes); +} + +// Fallback for modularized imports: +export default secondsToMinutes; diff --git a/.output/server/node_modules/date-fns/set.js b/.output/server/node_modules/date-fns/set.js new file mode 100644 index 00000000..fc790eb8 --- /dev/null +++ b/.output/server/node_modules/date-fns/set.js @@ -0,0 +1,61 @@ +import { constructFrom } from "./constructFrom.js"; +import { setMonth } from "./setMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link set} function options. + */ + +/** + * @name set + * @category Common Helpers + * @summary Set date values to a given date. + * + * @description + * Set date values to a given date. + * + * Sets time values to date from object `values`. + * A value is not set if it is undefined or null or doesn't exist in `values`. + * + * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts + * to use native `Date#setX` methods. If you use this function, you may not want to include the + * other `setX` functions that date-fns provides if you are concerned about the bundle size. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param values - The date values to be set + * @param options - The options + * + * @returns The new date with options set + * + * @example + * // Transform 1 September 2014 into 20 October 2015 in a single line: + * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 }) + * //=> Tue Oct 20 2015 00:00:00 + * + * @example + * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00: + * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 }) + * //=> Mon Sep 01 2014 12:23:45 + */ +export function set(date, values, options) { + let _date = toDate(date, options?.in); + + // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date + if (isNaN(+_date)) return constructFrom(options?.in || date, NaN); + + if (values.year != null) _date.setFullYear(values.year); + if (values.month != null) _date = setMonth(_date, values.month); + if (values.date != null) _date.setDate(values.date); + if (values.hours != null) _date.setHours(values.hours); + if (values.minutes != null) _date.setMinutes(values.minutes); + if (values.seconds != null) _date.setSeconds(values.seconds); + if (values.milliseconds != null) _date.setMilliseconds(values.milliseconds); + + return _date; +} + +// Fallback for modularized imports: +export default set; diff --git a/.output/server/node_modules/date-fns/setDate.js b/.output/server/node_modules/date-fns/setDate.js new file mode 100644 index 00000000..67bf94a7 --- /dev/null +++ b/.output/server/node_modules/date-fns/setDate.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setDate} function options. + */ + +/** + * @name setDate + * @category Day Helpers + * @summary Set the day of the month to the given date. + * + * @description + * Set the day of the month to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param dayOfMonth - The day of the month of the new date + * @param options - The options + * + * @returns The new date with the day of the month set + * + * @example + * // Set the 30th day of the month to 1 September 2014: + * const result = setDate(new Date(2014, 8, 1), 30) + * //=> Tue Sep 30 2014 00:00:00 + */ +export function setDate(date, dayOfMonth, options) { + const _date = toDate(date, options?.in); + _date.setDate(dayOfMonth); + return _date; +} + +// Fallback for modularized imports: +export default setDate; diff --git a/.output/server/node_modules/date-fns/setDay.js b/.output/server/node_modules/date-fns/setDay.js new file mode 100644 index 00000000..7a5a4f00 --- /dev/null +++ b/.output/server/node_modules/date-fns/setDay.js @@ -0,0 +1,60 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { addDays } from "./addDays.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setDay} function options. + */ + +/** + * @name setDay + * @category Weekday Helpers + * @summary Set the day of the week to the given date. + * + * @description + * Set the day of the week to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param day - The day of the week of the new date + * @param options - An object with options. + * + * @returns The new date with the day of the week set + * + * @example + * // Set week day to Sunday, with the default weekStartsOn of Sunday: + * const result = setDay(new Date(2014, 8, 1), 0) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // Set week day to Sunday, with a weekStartsOn of Monday: + * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 }) + * //=> Sun Sep 07 2014 00:00:00 + */ +export function setDay(date, day, options) { + const defaultOptions = getDefaultOptions(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const date_ = toDate(date, options?.in); + const currentDay = date_.getDay(); + + const remainder = day % 7; + const dayIndex = (remainder + 7) % 7; + + const delta = 7 - weekStartsOn; + const diff = + day < 0 || day > 6 + ? day - ((currentDay + delta) % 7) + : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7); + return addDays(date_, diff, options); +} + +// Fallback for modularized imports: +export default setDay; diff --git a/.output/server/node_modules/date-fns/setDayOfYear.js b/.output/server/node_modules/date-fns/setDayOfYear.js new file mode 100644 index 00000000..4e1b6f0c --- /dev/null +++ b/.output/server/node_modules/date-fns/setDayOfYear.js @@ -0,0 +1,37 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setDayOfYear} function options. + */ + +/** + * @name setDayOfYear + * @category Day Helpers + * @summary Set the day of the year to the given date. + * + * @description + * Set the day of the year to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param dayOfYear - The day of the year of the new date + * @param options - An object with options + * + * @returns The new date with the day of the year set + * + * @example + * // Set the 2nd day of the year to 2 July 2014: + * const result = setDayOfYear(new Date(2014, 6, 2), 2) + * //=> Thu Jan 02 2014 00:00:00 + */ +export function setDayOfYear(date, dayOfYear, options) { + const date_ = toDate(date, options?.in); + date_.setMonth(0); + date_.setDate(dayOfYear); + return date_; +} + +// Fallback for modularized imports: +export default setDayOfYear; diff --git a/.output/server/node_modules/date-fns/setDefaultOptions.js b/.output/server/node_modules/date-fns/setDefaultOptions.js new file mode 100644 index 00000000..6053f3e5 --- /dev/null +++ b/.output/server/node_modules/date-fns/setDefaultOptions.js @@ -0,0 +1,78 @@ +import { + getDefaultOptions, + setDefaultOptions as setInternalDefaultOptions, +} from "./_lib/defaultOptions.js"; + +/** + * @name setDefaultOptions + * @category Common Helpers + * @summary Set default options including locale. + * @pure false + * + * @description + * Sets the defaults for + * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate` + * arguments for all functions. + * + * @param options - An object with options + * + * @example + * // Set global locale: + * import { es } from 'date-fns/locale' + * setDefaultOptions({ locale: es }) + * const result = format(new Date(2014, 8, 2), 'PPPP') + * //=> 'martes, 2 de septiembre de 2014' + * + * @example + * // Start of the week for 2 September 2014: + * const result = startOfWeek(new Date(2014, 8, 2)) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // Start of the week for 2 September 2014, + * // when we set that week starts on Monday by default: + * setDefaultOptions({ weekStartsOn: 1 }) + * const result = startOfWeek(new Date(2014, 8, 2)) + * //=> Mon Sep 01 2014 00:00:00 + * + * @example + * // Manually set options take priority over default options: + * setDefaultOptions({ weekStartsOn: 1 }) + * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 }) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // Remove the option by setting it to `undefined`: + * setDefaultOptions({ weekStartsOn: 1 }) + * setDefaultOptions({ weekStartsOn: undefined }) + * const result = startOfWeek(new Date(2014, 8, 2)) + * //=> Sun Aug 31 2014 00:00:00 + */ +export function setDefaultOptions(options) { + const result = {}; + const defaultOptions = getDefaultOptions(); + + for (const property in defaultOptions) { + if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) { + // [TODO] I challenge you to fix the type + result[property] = defaultOptions[property]; + } + } + + for (const property in options) { + if (Object.prototype.hasOwnProperty.call(options, property)) { + if (options[property] === undefined) { + // [TODO] I challenge you to fix the type + delete result[property]; + } else { + // [TODO] I challenge you to fix the type + result[property] = options[property]; + } + } + } + + setInternalDefaultOptions(result); +} + +// Fallback for modularized imports: +export default setDefaultOptions; diff --git a/.output/server/node_modules/date-fns/setHours.js b/.output/server/node_modules/date-fns/setHours.js new file mode 100644 index 00000000..d933360c --- /dev/null +++ b/.output/server/node_modules/date-fns/setHours.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setHours} function options. + */ + +/** + * @name setHours + * @category Hour Helpers + * @summary Set the hours to the given date. + * + * @description + * Set the hours to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param hours - The hours of the new date + * @param options - An object with options + * + * @returns The new date with the hours set + * + * @example + * // Set 4 hours to 1 September 2014 11:30:00: + * const result = setHours(new Date(2014, 8, 1, 11, 30), 4) + * //=> Mon Sep 01 2014 04:30:00 + */ +export function setHours(date, hours, options) { + const _date = toDate(date, options?.in); + _date.setHours(hours); + return _date; +} + +// Fallback for modularized imports: +export default setHours; diff --git a/.output/server/node_modules/date-fns/setISODay.js b/.output/server/node_modules/date-fns/setISODay.js new file mode 100644 index 00000000..4af614bb --- /dev/null +++ b/.output/server/node_modules/date-fns/setISODay.js @@ -0,0 +1,41 @@ +import { addDays } from "./addDays.js"; +import { getISODay } from "./getISODay.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setISODay} function options. + */ + +/** + * @name setISODay + * @category Weekday Helpers + * @summary Set the day of the ISO week to the given date. + * + * @description + * Set the day of the ISO week to the given date. + * ISO week starts with Monday. + * 7 is the index of Sunday, 1 is the index of Monday, etc. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param day - The day of the ISO week of the new date + * @param options - An object with options + * + * @returns The new date with the day of the ISO week set + * + * @example + * // Set Sunday to 1 September 2014: + * const result = setISODay(new Date(2014, 8, 1), 7) + * //=> Sun Sep 07 2014 00:00:00 + */ +export function setISODay(date, day, options) { + const date_ = toDate(date, options?.in); + const currentDay = getISODay(date_, options); + const diff = day - currentDay; + return addDays(date_, diff, options); +} + +// Fallback for modularized imports: +export default setISODay; diff --git a/.output/server/node_modules/date-fns/setISOWeek.js b/.output/server/node_modules/date-fns/setISOWeek.js new file mode 100644 index 00000000..7f0632ce --- /dev/null +++ b/.output/server/node_modules/date-fns/setISOWeek.js @@ -0,0 +1,40 @@ +import { getISOWeek } from "./getISOWeek.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setISOWeek} function options. + */ + +/** + * @name setISOWeek + * @category ISO Week Helpers + * @summary Set the ISO week to the given date. + * + * @description + * Set the ISO week to the given date, saving the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The `Date` type of the context function. + * + * @param date - The date to be changed + * @param week - The ISO week of the new date + * @param options - An object with options + * + * @returns The new date with the ISO week set + * + * @example + * // Set the 53rd ISO week to 7 August 2004: + * const result = setISOWeek(new Date(2004, 7, 7), 53) + * //=> Sat Jan 01 2005 00:00:00 + */ +export function setISOWeek(date, week, options) { + const _date = toDate(date, options?.in); + const diff = getISOWeek(_date, options) - week; + _date.setDate(_date.getDate() - diff * 7); + return _date; +} + +// Fallback for modularized imports: +export default setISOWeek; diff --git a/.output/server/node_modules/date-fns/setISOWeekYear.js b/.output/server/node_modules/date-fns/setISOWeekYear.js new file mode 100644 index 00000000..7363e4d7 --- /dev/null +++ b/.output/server/node_modules/date-fns/setISOWeekYear.js @@ -0,0 +1,50 @@ +import { constructFrom } from "./constructFrom.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { startOfISOWeekYear } from "./startOfISOWeekYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setISOWeekYear} function options. + */ + +/** + * @name setISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Set the ISO week-numbering year to the given date. + * + * @description + * Set the ISO week-numbering year to the given date, + * saving the week number and the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param weekYear - The ISO week-numbering year of the new date + * @param options - An object with options + * + * @returns The new date with the ISO week-numbering year set + * + * @example + * // Set ISO week-numbering year 2007 to 29 December 2008: + * const result = setISOWeekYear(new Date(2008, 11, 29), 2007) + * //=> Mon Jan 01 2007 00:00:00 + */ +export function setISOWeekYear(date, weekYear, options) { + let _date = toDate(date, options?.in); + const diff = differenceInCalendarDays( + _date, + startOfISOWeekYear(_date, options), + ); + const fourthOfJanuary = constructFrom(options?.in || date, 0); + fourthOfJanuary.setFullYear(weekYear, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + _date = startOfISOWeekYear(fourthOfJanuary); + _date.setDate(_date.getDate() + diff); + return _date; +} + +// Fallback for modularized imports: +export default setISOWeekYear; diff --git a/.output/server/node_modules/date-fns/setMilliseconds.js b/.output/server/node_modules/date-fns/setMilliseconds.js new file mode 100644 index 00000000..4e13bb7e --- /dev/null +++ b/.output/server/node_modules/date-fns/setMilliseconds.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setMilliseconds} function options. + */ + +/** + * @name setMilliseconds + * @category Millisecond Helpers + * @summary Set the milliseconds to the given date. + * + * @description + * Set the milliseconds to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param milliseconds - The milliseconds of the new date + * @param options - The options + * + * @returns The new date with the milliseconds set + * + * @example + * // Set 300 milliseconds to 1 September 2014 11:30:40.500: + * const result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300) + * //=> Mon Sep 01 2014 11:30:40.300 + */ +export function setMilliseconds(date, milliseconds, options) { + const _date = toDate(date, options?.in); + _date.setMilliseconds(milliseconds); + return _date; +} + +// Fallback for modularized imports: +export default setMilliseconds; diff --git a/.output/server/node_modules/date-fns/setMinutes.js b/.output/server/node_modules/date-fns/setMinutes.js new file mode 100644 index 00000000..26d6a521 --- /dev/null +++ b/.output/server/node_modules/date-fns/setMinutes.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setMinutes} function options. + */ + +/** + * @name setMinutes + * @category Minute Helpers + * @summary Set the minutes to the given date. + * + * @description + * Set the minutes to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments. + * + * @param date - The date to be changed + * @param minutes - The minutes of the new date + * @param options - An object with options + * + * @returns The new date with the minutes set + * + * @example + * // Set 45 minutes to 1 September 2014 11:30:40: + * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45) + * //=> Mon Sep 01 2014 11:45:40 + */ +export function setMinutes(date, minutes, options) { + const date_ = toDate(date, options?.in); + date_.setMinutes(minutes); + return date_; +} + +// Fallback for modularized imports: +export default setMinutes; diff --git a/.output/server/node_modules/date-fns/setMonth.js b/.output/server/node_modules/date-fns/setMonth.js new file mode 100644 index 00000000..bcb21d07 --- /dev/null +++ b/.output/server/node_modules/date-fns/setMonth.js @@ -0,0 +1,47 @@ +import { constructFrom } from "./constructFrom.js"; +import { getDaysInMonth } from "./getDaysInMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setMonth} function options. + */ + +/** + * @name setMonth + * @category Month Helpers + * @summary Set the month to the given date. + * + * @description + * Set the month to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param month - The month index to set (0-11) + * @param options - The options + * + * @returns The new date with the month set + * + * @example + * // Set February to 1 September 2014: + * const result = setMonth(new Date(2014, 8, 1), 1) + * //=> Sat Feb 01 2014 00:00:00 + */ +export function setMonth(date, month, options) { + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const day = _date.getDate(); + + const midMonth = constructFrom(options?.in || date, 0); + midMonth.setFullYear(year, month, 15); + midMonth.setHours(0, 0, 0, 0); + const daysInMonth = getDaysInMonth(midMonth); + + // Set the earlier date, allows to wrap Jan 31 to Feb 28 + _date.setMonth(month, Math.min(day, daysInMonth)); + return _date; +} + +// Fallback for modularized imports: +export default setMonth; diff --git a/.output/server/node_modules/date-fns/setQuarter.js b/.output/server/node_modules/date-fns/setQuarter.js new file mode 100644 index 00000000..f55ee3bf --- /dev/null +++ b/.output/server/node_modules/date-fns/setQuarter.js @@ -0,0 +1,38 @@ +import { setMonth } from "./setMonth.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setQuarter} function options. + */ + +/** + * @name setQuarter + * @category Quarter Helpers + * @summary Set the year quarter to the given date. + * + * @description + * Set the year quarter to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param quarter - The quarter of the new date + * @param options - The options + * + * @returns The new date with the quarter set + * + * @example + * // Set the 2nd quarter to 2 July 2014: + * const result = setQuarter(new Date(2014, 6, 2), 2) + * //=> Wed Apr 02 2014 00:00:00 + */ +export function setQuarter(date, quarter, options) { + const date_ = toDate(date, options?.in); + const oldQuarter = Math.trunc(date_.getMonth() / 3) + 1; + const diff = quarter - oldQuarter; + return setMonth(date_, date_.getMonth() + diff * 3); +} + +// Fallback for modularized imports: +export default setQuarter; diff --git a/.output/server/node_modules/date-fns/setSeconds.js b/.output/server/node_modules/date-fns/setSeconds.js new file mode 100644 index 00000000..46037fd3 --- /dev/null +++ b/.output/server/node_modules/date-fns/setSeconds.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link setSeconds} function options. + */ + +/** + * @name setSeconds + * @category Second Helpers + * @summary Set the seconds to the given date, with context support. + * + * @description + * Set the seconds to the given date, with an optional context for time zone specification. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param seconds - The seconds of the new date + * @param options - An object with options + * + * @returns The new date with the seconds set + * + * @example + * // Set 45 seconds to 1 September 2014 11:30:40: + * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45) + * //=> Mon Sep 01 2014 11:30:45 + */ +export function setSeconds(date, seconds, options) { + const _date = toDate(date, options?.in); + _date.setSeconds(seconds); + return _date; +} + +// Fallback for modularized imports: +export default setSeconds; diff --git a/.output/server/node_modules/date-fns/setWeek.js b/.output/server/node_modules/date-fns/setWeek.js new file mode 100644 index 00000000..610efd46 --- /dev/null +++ b/.output/server/node_modules/date-fns/setWeek.js @@ -0,0 +1,54 @@ +import { getWeek } from "./getWeek.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setWeek} function options. + */ + +/** + * @name setWeek + * @category Week Helpers + * @summary Set the local week to the given date. + * + * @description + * Set the local week to the given date, saving the weekday number. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param week - The week of the new date + * @param options - An object with options + * + * @returns The new date with the local week set + * + * @example + * // Set the 1st week to 2 January 2005 with default options: + * const result = setWeek(new Date(2005, 0, 2), 1) + * //=> Sun Dec 26 2004 00:00:00 + * + * @example + * // Set the 1st week to 2 January 2005, + * // if Monday is the first day of the week, + * // and the first week of the year always contains 4 January: + * const result = setWeek(new Date(2005, 0, 2), 1, { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Sun Jan 4 2004 00:00:00 + */ +export function setWeek(date, week, options) { + const date_ = toDate(date, options?.in); + const diff = getWeek(date_, options) - week; + date_.setDate(date_.getDate() - diff * 7); + return toDate(date_, options?.in); +} + +// Fallback for modularized imports: +export default setWeek; diff --git a/.output/server/node_modules/date-fns/setWeekYear.js b/.output/server/node_modules/date-fns/setWeekYear.js new file mode 100644 index 00000000..d48df666 --- /dev/null +++ b/.output/server/node_modules/date-fns/setWeekYear.js @@ -0,0 +1,75 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { constructFrom } from "./constructFrom.js"; +import { differenceInCalendarDays } from "./differenceInCalendarDays.js"; +import { startOfWeekYear } from "./startOfWeekYear.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setWeekYear} function options. + */ + +/** + * @name setWeekYear + * @category Week-Numbering Year Helpers + * @summary Set the local week-numbering year to the given date. + * + * @description + * Set the local week-numbering year to the given date, + * saving the week number and the weekday number. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param weekYear - The local week-numbering year of the new date + * @param options - An object with options + * + * @returns The new date with the local week-numbering year set + * + * @example + * // Set the local week-numbering year 2004 to 2 January 2010 with default options: + * const result = setWeekYear(new Date(2010, 0, 2), 2004) + * //=> Sat Jan 03 2004 00:00:00 + * + * @example + * // Set the local week-numbering year 2004 to 2 January 2010, + * // if Monday is the first day of week + * // and 4 January is always in the first week of the year: + * const result = setWeekYear(new Date(2010, 0, 2), 2004, { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Sat Jan 01 2005 00:00:00 + */ +export function setWeekYear(date, weekYear, options) { + const defaultOptions = getDefaultOptions(); + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const diff = differenceInCalendarDays( + toDate(date, options?.in), + startOfWeekYear(date, options), + options, + ); + + const firstWeek = constructFrom(options?.in || date, 0); + firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate); + firstWeek.setHours(0, 0, 0, 0); + + const date_ = startOfWeekYear(firstWeek, options); + date_.setDate(date_.getDate() + diff); + return date_; +} + +// Fallback for modularized imports: +export default setWeekYear; diff --git a/.output/server/node_modules/date-fns/setYear.js b/.output/server/node_modules/date-fns/setYear.js new file mode 100644 index 00000000..29ce0062 --- /dev/null +++ b/.output/server/node_modules/date-fns/setYear.js @@ -0,0 +1,41 @@ +import { constructFrom } from "./constructFrom.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link setYear} function options. + */ + +/** + * @name setYear + * @category Year Helpers + * @summary Set the year to the given date. + * + * @description + * Set the year to the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param year - The year of the new date + * @param options - An object with options. + * + * @returns The new date with the year set + * + * @example + * // Set year 2013 to 1 September 2014: + * const result = setYear(new Date(2014, 8, 1), 2013) + * //=> Sun Sep 01 2013 00:00:00 + */ +export function setYear(date, year, options) { + const date_ = toDate(date, options?.in); + + // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date + if (isNaN(+date_)) return constructFrom(options?.in || date, NaN); + + date_.setFullYear(year); + return date_; +} + +// Fallback for modularized imports: +export default setYear; diff --git a/.output/server/node_modules/date-fns/startOfDay.js b/.output/server/node_modules/date-fns/startOfDay.js new file mode 100644 index 00000000..0d18851d --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfDay.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfDay} function options. + */ + +/** + * @name startOfDay + * @category Day Helpers + * @summary Return the start of a day for the given date. + * + * @description + * Return the start of a day for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a day + * + * @example + * // The start of a day for 2 September 2014 11:55:00: + * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 02 2014 00:00:00 + */ +export function startOfDay(date, options) { + const _date = toDate(date, options?.in); + _date.setHours(0, 0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfDay; diff --git a/.output/server/node_modules/date-fns/startOfDecade.js b/.output/server/node_modules/date-fns/startOfDecade.js new file mode 100644 index 00000000..4191e797 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfDecade.js @@ -0,0 +1,41 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfDecade} options. + */ + +/** + * @name startOfDecade + * @category Decade Helpers + * @summary Return the start of a decade for the given date. + * + * @description + * Return the start of a decade for the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a decade + * + * @example + * // The start of a decade for 21 October 2015 00:00:00: + * const result = startOfDecade(new Date(2015, 9, 21, 00, 00, 00)) + * //=> Jan 01 2010 00:00:00 + */ +export function startOfDecade(date, options) { + // TODO: Switch to more technical definition in of decades that start with 1 + // end with 0. I.e. 2001-2010 instead of current 2000-2009. It's a breaking + // change, so it can only be done in 4.0. + const _date = toDate(date, options?.in); + const year = _date.getFullYear(); + const decade = Math.floor(year / 10) * 10; + _date.setFullYear(decade, 0, 1); + _date.setHours(0, 0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfDecade; diff --git a/.output/server/node_modules/date-fns/startOfHour.js b/.output/server/node_modules/date-fns/startOfHour.js new file mode 100644 index 00000000..9980f61c --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfHour.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfHour} function options. + */ + +/** + * @name startOfHour + * @category Hour Helpers + * @summary Return the start of an hour for the given date. + * + * @description + * Return the start of an hour for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of an hour + * + * @example + * // The start of an hour for 2 September 2014 11:55:00: + * const result = startOfHour(new Date(2014, 8, 2, 11, 55)) + * //=> Tue Sep 02 2014 11:00:00 + */ +export function startOfHour(date, options) { + const _date = toDate(date, options?.in); + _date.setMinutes(0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfHour; diff --git a/.output/server/node_modules/date-fns/startOfISOWeek.js b/.output/server/node_modules/date-fns/startOfISOWeek.js new file mode 100644 index 00000000..75a83870 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfISOWeek.js @@ -0,0 +1,36 @@ +import { startOfWeek } from "./startOfWeek.js"; + +/** + * The {@link startOfISOWeek} function options. + */ + +/** + * @name startOfISOWeek + * @category ISO Week Helpers + * @summary Return the start of an ISO week for the given date. + * + * @description + * Return the start of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of an ISO week + * + * @example + * // The start of an ISO week for 2 September 2014 11:55:00: + * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +export function startOfISOWeek(date, options) { + return startOfWeek(date, { ...options, weekStartsOn: 1 }); +} + +// Fallback for modularized imports: +export default startOfISOWeek; diff --git a/.output/server/node_modules/date-fns/startOfISOWeekYear.js b/.output/server/node_modules/date-fns/startOfISOWeekYear.js new file mode 100644 index 00000000..c1d1ee8e --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfISOWeekYear.js @@ -0,0 +1,43 @@ +import { constructFrom } from "./constructFrom.js"; +import { getISOWeekYear } from "./getISOWeekYear.js"; +import { startOfISOWeek } from "./startOfISOWeek.js"; + +/** + * The {@link startOfISOWeekYear} function options. + */ + +/** + * @name startOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the start of an ISO week-numbering year for the given date. + * + * @description + * Return the start of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of an ISO week-numbering year + * + * @example + * // The start of an ISO week-numbering year for 2 July 2005: + * const result = startOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Mon Jan 03 2005 00:00:00 + */ +export function startOfISOWeekYear(date, options) { + const year = getISOWeekYear(date, options); + const fourthOfJanuary = constructFrom(options?.in || date, 0); + fourthOfJanuary.setFullYear(year, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + return startOfISOWeek(fourthOfJanuary); +} + +// Fallback for modularized imports: +export default startOfISOWeekYear; diff --git a/.output/server/node_modules/date-fns/startOfMinute.js b/.output/server/node_modules/date-fns/startOfMinute.js new file mode 100644 index 00000000..56c6ac9d --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfMinute.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfMinute} function options. + */ + +/** + * @name startOfMinute + * @category Minute Helpers + * @summary Return the start of a minute for the given date. + * + * @description + * Return the start of a minute for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a minute + * + * @example + * // The start of a minute for 1 December 2014 22:15:45.400: + * const result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:00 + */ +export function startOfMinute(date, options) { + const date_ = toDate(date, options?.in); + date_.setSeconds(0, 0); + return date_; +} + +// Fallback for modularized imports: +export default startOfMinute; diff --git a/.output/server/node_modules/date-fns/startOfMonth.js b/.output/server/node_modules/date-fns/startOfMonth.js new file mode 100644 index 00000000..cd10813d --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfMonth.js @@ -0,0 +1,38 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfMonth} function options. + */ + +/** + * @name startOfMonth + * @category Month Helpers + * @summary Return the start of a month for the given date. + * + * @description + * Return the start of a month for the given date. The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. + * Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, + * or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a month + * + * @example + * // The start of a month for 2 September 2014 11:55:00: + * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +export function startOfMonth(date, options) { + const _date = toDate(date, options?.in); + _date.setDate(1); + _date.setHours(0, 0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfMonth; diff --git a/.output/server/node_modules/date-fns/startOfQuarter.js b/.output/server/node_modules/date-fns/startOfQuarter.js new file mode 100644 index 00000000..887cd33e --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfQuarter.js @@ -0,0 +1,39 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfQuarter} function options. + */ + +/** + * @name startOfQuarter + * @category Quarter Helpers + * @summary Return the start of a year quarter for the given date. + * + * @description + * Return the start of a year quarter for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a quarter + * + * @example + * // The start of a quarter for 2 September 2014 11:55:00: + * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Jul 01 2014 00:00:00 + */ +export function startOfQuarter(date, options) { + const _date = toDate(date, options?.in); + const currentMonth = _date.getMonth(); + const month = currentMonth - (currentMonth % 3); + _date.setMonth(month, 1); + _date.setHours(0, 0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfQuarter; diff --git a/.output/server/node_modules/date-fns/startOfSecond.js b/.output/server/node_modules/date-fns/startOfSecond.js new file mode 100644 index 00000000..c2f441ab --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfSecond.js @@ -0,0 +1,36 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfSecond} function options. + */ + +/** + * @name startOfSecond + * @category Second Helpers + * @summary Return the start of a second for the given date. + * + * @description + * Return the start of a second for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a second + * + * @example + * // The start of a second for 1 December 2014 22:15:45.400: + * const result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.000 + */ +export function startOfSecond(date, options) { + const date_ = toDate(date, options?.in); + date_.setMilliseconds(0); + return date_; +} + +// Fallback for modularized imports: +export default startOfSecond; diff --git a/.output/server/node_modules/date-fns/startOfToday.js b/.output/server/node_modules/date-fns/startOfToday.js new file mode 100644 index 00000000..8eef3bc4 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfToday.js @@ -0,0 +1,32 @@ +import { startOfDay } from "./startOfDay.js"; + +/** + * The {@link startOfToday} function options. + */ + +/** + * @name startOfToday + * @category Day Helpers + * @summary Return the start of today. + * @pure false + * + * @description + * Return the start of today. + * + * @typeParam ContextDate - The `Date` type of the context function. + * + * @param options - An object with options + * + * @returns The start of today + * + * @example + * // If today is 6 October 2014: + * const result = startOfToday() + * //=> Mon Oct 6 2014 00:00:00 + */ +export function startOfToday(options) { + return startOfDay(Date.now(), options); +} + +// Fallback for modularized imports: +export default startOfToday; diff --git a/.output/server/node_modules/date-fns/startOfTomorrow.js b/.output/server/node_modules/date-fns/startOfTomorrow.js new file mode 100644 index 00000000..48f17d18 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfTomorrow.js @@ -0,0 +1,41 @@ +import { constructFrom } from "./constructFrom.js"; +import { constructNow } from "./constructNow.js"; + +/** + * The {@link startOfTomorrow} function options. + */ + +/** + * @name startOfTomorrow + * @category Day Helpers + * @summary Return the start of tomorrow. + * @pure false + * + * @typeParam ContextDate - The `Date` type of the context function. + * + * @param options - An object with options + * + * @returns The start of tomorrow + * + * @description + * Return the start of tomorrow. + * + * @example + * // If today is 6 October 2014: + * const result = startOfTomorrow() + * //=> Tue Oct 7 2014 00:00:00 + */ +export function startOfTomorrow(options) { + const now = constructNow(options?.in); + const year = now.getFullYear(); + const month = now.getMonth(); + const day = now.getDate(); + + const date = constructFrom(options?.in, 0); + date.setFullYear(year, month, day + 1); + date.setHours(0, 0, 0, 0); + return date; +} + +// Fallback for modularized imports: +export default startOfTomorrow; diff --git a/.output/server/node_modules/date-fns/startOfWeek.js b/.output/server/node_modules/date-fns/startOfWeek.js new file mode 100644 index 00000000..54c520e2 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfWeek.js @@ -0,0 +1,54 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfWeek} function options. + */ + +/** + * @name startOfWeek + * @category Week Helpers + * @summary Return the start of a week for the given date. + * + * @description + * Return the start of a week for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a week + * + * @example + * // The start of a week for 2 September 2014 11:55:00: + * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00: + * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Mon Sep 01 2014 00:00:00 + */ +export function startOfWeek(date, options) { + const defaultOptions = getDefaultOptions(); + const weekStartsOn = + options?.weekStartsOn ?? + options?.locale?.options?.weekStartsOn ?? + defaultOptions.weekStartsOn ?? + defaultOptions.locale?.options?.weekStartsOn ?? + 0; + + const _date = toDate(date, options?.in); + const day = _date.getDay(); + const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + + _date.setDate(_date.getDate() - diff); + _date.setHours(0, 0, 0, 0); + return _date; +} + +// Fallback for modularized imports: +export default startOfWeek; diff --git a/.output/server/node_modules/date-fns/startOfWeekYear.js b/.output/server/node_modules/date-fns/startOfWeekYear.js new file mode 100644 index 00000000..ce5d92cd --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfWeekYear.js @@ -0,0 +1,65 @@ +import { getDefaultOptions } from "./_lib/defaultOptions.js"; +import { constructFrom } from "./constructFrom.js"; +import { getWeekYear } from "./getWeekYear.js"; +import { startOfWeek } from "./startOfWeek.js"; + +/** + * The {@link startOfWeekYear} function options. + */ + +/** + * @name startOfWeekYear + * @category Week-Numbering Year Helpers + * @summary Return the start of a local week-numbering year for the given date. + * + * @description + * Return the start of a local week-numbering year. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type. + * + * @param date - The original date + * @param options - An object with options + * + * @returns The start of a week-numbering year + * + * @example + * // The start of an a week-numbering year for 2 July 2005 with default settings: + * const result = startOfWeekYear(new Date(2005, 6, 2)) + * //=> Sun Dec 26 2004 00:00:00 + * + * @example + * // The start of a week-numbering year for 2 July 2005 + * // if Monday is the first day of week + * // and 4 January is always in the first week of the year: + * const result = startOfWeekYear(new Date(2005, 6, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Mon Jan 03 2005 00:00:00 + */ +export function startOfWeekYear(date, options) { + const defaultOptions = getDefaultOptions(); + const firstWeekContainsDate = + options?.firstWeekContainsDate ?? + options?.locale?.options?.firstWeekContainsDate ?? + defaultOptions.firstWeekContainsDate ?? + defaultOptions.locale?.options?.firstWeekContainsDate ?? + 1; + + const year = getWeekYear(date, options); + const firstWeek = constructFrom(options?.in || date, 0); + firstWeek.setFullYear(year, 0, firstWeekContainsDate); + firstWeek.setHours(0, 0, 0, 0); + const _date = startOfWeek(firstWeek, options); + return _date; +} + +// Fallback for modularized imports: +export default startOfWeekYear; diff --git a/.output/server/node_modules/date-fns/startOfYear.js b/.output/server/node_modules/date-fns/startOfYear.js new file mode 100644 index 00000000..e8788a52 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfYear.js @@ -0,0 +1,37 @@ +import { toDate } from "./toDate.js"; + +/** + * The {@link startOfYear} function options. + */ + +/** + * @name startOfYear + * @category Year Helpers + * @summary Return the start of a year for the given date. + * + * @description + * Return the start of a year for the given date. + * The result will be in the local timezone. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The original date + * @param options - The options + * + * @returns The start of a year + * + * @example + * // The start of a year for 2 September 2014 11:55:00: + * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Jan 01 2014 00:00:00 + */ +export function startOfYear(date, options) { + const date_ = toDate(date, options?.in); + date_.setFullYear(date_.getFullYear(), 0, 1); + date_.setHours(0, 0, 0, 0); + return date_; +} + +// Fallback for modularized imports: +export default startOfYear; diff --git a/.output/server/node_modules/date-fns/startOfYesterday.js b/.output/server/node_modules/date-fns/startOfYesterday.js new file mode 100644 index 00000000..ae574e51 --- /dev/null +++ b/.output/server/node_modules/date-fns/startOfYesterday.js @@ -0,0 +1,40 @@ +import { constructNow } from "./constructNow.js"; + +/** + * The {@link startOfYesterday} function options. + */ + +/** + * @name startOfYesterday + * @category Day Helpers + * @summary Return the start of yesterday. + * @pure false + * + * @typeParam ContextDate - The `Date` type of the context function. + * + * @param options - An object with options + * + * @description + * Return the start of yesterday. + * + * @returns The start of yesterday + * + * @example + * // If today is 6 October 2014: + * const result = startOfYesterday() + * //=> Sun Oct 5 2014 00:00:00 + */ +export function startOfYesterday(options) { + const now = constructNow(options?.in); + const year = now.getFullYear(); + const month = now.getMonth(); + const day = now.getDate(); + + const date = constructNow(options?.in); + date.setFullYear(year, month, day - 1); + date.setHours(0, 0, 0, 0); + return date; +} + +// Fallback for modularized imports: +export default startOfYesterday; diff --git a/.output/server/node_modules/date-fns/sub.js b/.output/server/node_modules/date-fns/sub.js new file mode 100644 index 00000000..1fa22fdc --- /dev/null +++ b/.output/server/node_modules/date-fns/sub.js @@ -0,0 +1,73 @@ +import { constructFrom } from "./constructFrom.js"; +import { subDays } from "./subDays.js"; +import { subMonths } from "./subMonths.js"; + +/** + * The {@link sub} function options. + */ + +/** + * @name sub + * @category Common Helpers + * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date. + * + * @description + * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param duration - The object with years, months, weeks, days, hours, minutes and seconds to be subtracted + * @param options - An object with options + * + * | Key | Description | + * |---------|------------------------------------| + * | years | Amount of years to be subtracted | + * | months | Amount of months to be subtracted | + * | weeks | Amount of weeks to be subtracted | + * | days | Amount of days to be subtracted | + * | hours | Amount of hours to be subtracted | + * | minutes | Amount of minutes to be subtracted | + * | seconds | Amount of seconds to be subtracted | + * + * All values default to 0 + * + * @returns The new date with the seconds subtracted + * + * @example + * // Subtract the following duration from 15 June 2017 15:29:20 + * const result = sub(new Date(2017, 5, 15, 15, 29, 20), { + * years: 2, + * months: 9, + * weeks: 1, + * days: 7, + * hours: 5, + * minutes: 9, + * seconds: 30 + * }) + * //=> Mon Sep 1 2014 10:19:50 + */ +export function sub(date, duration, options) { + const { + years = 0, + months = 0, + weeks = 0, + days = 0, + hours = 0, + minutes = 0, + seconds = 0, + } = duration; + + const withoutMonths = subMonths(date, months + years * 12, options); + const withoutDays = subDays(withoutMonths, days + weeks * 7, options); + + const minutesToSub = minutes + hours * 60; + const secondsToSub = seconds + minutesToSub * 60; + const msToSub = secondsToSub * 1000; + + return constructFrom(options?.in || date, +withoutDays - msToSub); +} + +// Fallback for modularized imports: +export default sub; diff --git a/.output/server/node_modules/date-fns/subBusinessDays.js b/.output/server/node_modules/date-fns/subBusinessDays.js new file mode 100644 index 00000000..d4c68508 --- /dev/null +++ b/.output/server/node_modules/date-fns/subBusinessDays.js @@ -0,0 +1,34 @@ +import { addBusinessDays } from "./addBusinessDays.js"; + +/** + * The {@link subBusinessDays} function options. + */ + +/** + * @name subBusinessDays + * @category Day Helpers + * @summary Subtract the specified number of business days (mon - fri) from the given date. + * + * @description + * Subtract the specified number of business days (mon - fri) from the given date, ignoring weekends. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of business days to be subtracted. + * @param options - An object with options + * + * @returns The new date with the business days subtracted + * + * @example + * // Subtract 10 business days from 1 September 2014: + * const result = subBusinessDays(new Date(2014, 8, 1), 10) + * //=> Mon Aug 18 2014 00:00:00 (skipped weekend days) + */ +export function subBusinessDays(date, amount, options) { + return addBusinessDays(date, -amount, options); +} + +// Fallback for modularized imports: +export default subBusinessDays; diff --git a/.output/server/node_modules/date-fns/subDays.js b/.output/server/node_modules/date-fns/subDays.js new file mode 100644 index 00000000..f82b6693 --- /dev/null +++ b/.output/server/node_modules/date-fns/subDays.js @@ -0,0 +1,31 @@ +import { addDays } from "./addDays.js"; + +/** + * The {@link subDays} function options. + */ + +/** + * @name subDays + * @category Day Helpers + * @summary Subtract the specified number of days from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of days to be subtracted. + * @param options - An object with options + * + * @returns The new date with the days subtracted + * + * @example + * // Subtract 10 days from 1 September 2014: + * const result = subDays(new Date(2014, 8, 1), 10) + * //=> Fri Aug 22 2014 00:00:00 + */ +export function subDays(date, amount, options) { + return addDays(date, -amount, options); +} + +// Fallback for modularized imports: +export default subDays; diff --git a/.output/server/node_modules/date-fns/subHours.js b/.output/server/node_modules/date-fns/subHours.js new file mode 100644 index 00000000..38c264ed --- /dev/null +++ b/.output/server/node_modules/date-fns/subHours.js @@ -0,0 +1,34 @@ +import { addHours } from "./addHours.js"; + +/** + * The {@link subHours} function options. + */ + +/** + * @name subHours + * @category Hour Helpers + * @summary Subtract the specified number of hours from the given date. + * + * @description + * Subtract the specified number of hours from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of hours to be subtracted. + * @param options - The options + * + * @returns The new date with the hours subtracted + * + * @example + * // Subtract 2 hours from 11 July 2014 01:00:00: + * const result = subHours(new Date(2014, 6, 11, 1, 0), 2) + * //=> Thu Jul 10 2014 23:00:00 + */ +export function subHours(date, amount, options) { + return addHours(date, -amount, options); +} + +// Fallback for modularized imports: +export default subHours; diff --git a/.output/server/node_modules/date-fns/subISOWeekYears.js b/.output/server/node_modules/date-fns/subISOWeekYears.js new file mode 100644 index 00000000..8b632127 --- /dev/null +++ b/.output/server/node_modules/date-fns/subISOWeekYears.js @@ -0,0 +1,36 @@ +import { addISOWeekYears } from "./addISOWeekYears.js"; + +/** + * The {@link subISOWeekYears} function options. + */ + +/** + * @name subISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Subtract the specified number of ISO week-numbering years from the given date. + * + * @description + * Subtract the specified number of ISO week-numbering years from the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of ISO week-numbering years to be subtracted. + * @param options - The options + * + * @returns The new date with the ISO week-numbering years subtracted + * + * @example + * // Subtract 5 ISO week-numbering years from 1 September 2014: + * const result = subISOWeekYears(new Date(2014, 8, 1), 5) + * //=> Mon Aug 31 2009 00:00:00 + */ +export function subISOWeekYears(date, amount, options) { + return addISOWeekYears(date, -amount, options); +} + +// Fallback for modularized imports: +export default subISOWeekYears; diff --git a/.output/server/node_modules/date-fns/subMilliseconds.js b/.output/server/node_modules/date-fns/subMilliseconds.js new file mode 100644 index 00000000..48c2b15e --- /dev/null +++ b/.output/server/node_modules/date-fns/subMilliseconds.js @@ -0,0 +1,24 @@ +import { addMilliseconds } from "./addMilliseconds.js"; + +/** + * The {@link subMilliseconds} function options. + */ + +/** + * Subtract the specified number of milliseconds from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of milliseconds to be subtracted. + * @param options - An object with options + * + * @returns The new date with the milliseconds subtracted + */ +export function subMilliseconds(date, amount, options) { + return addMilliseconds(date, -amount, options); +} + +// Fallback for modularized imports: +export default subMilliseconds; diff --git a/.output/server/node_modules/date-fns/subMinutes.js b/.output/server/node_modules/date-fns/subMinutes.js new file mode 100644 index 00000000..c3260246 --- /dev/null +++ b/.output/server/node_modules/date-fns/subMinutes.js @@ -0,0 +1,34 @@ +import { addMinutes } from "./addMinutes.js"; + +/** + * The {@link subMinutes} function options. + */ + +/** + * @name subMinutes + * @category Minute Helpers + * @summary Subtract the specified number of minutes from the given date. + * + * @description + * Subtract the specified number of minutes from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of minutes to be subtracted. + * @param options - An object with options + * + * @returns The new date with the minutes subtracted + * + * @example + * // Subtract 30 minutes from 10 July 2014 12:00:00: + * const result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 11:30:00 + */ +export function subMinutes(date, amount, options) { + return addMinutes(date, -amount, options); +} + +// Fallback for modularized imports: +export default subMinutes; diff --git a/.output/server/node_modules/date-fns/subMonths.js b/.output/server/node_modules/date-fns/subMonths.js new file mode 100644 index 00000000..19bee293 --- /dev/null +++ b/.output/server/node_modules/date-fns/subMonths.js @@ -0,0 +1,34 @@ +import { addMonths } from "./addMonths.js"; + +/** + * The subMonths function options. + */ + +/** + * @name subMonths + * @category Month Helpers + * @summary Subtract the specified number of months from the given date. + * + * @description + * Subtract the specified number of months from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of months to be subtracted. + * @param options - An object with options + * + * @returns The new date with the months subtracted + * + * @example + * // Subtract 5 months from 1 February 2015: + * const result = subMonths(new Date(2015, 1, 1), 5) + * //=> Mon Sep 01 2014 00:00:00 + */ +export function subMonths(date, amount, options) { + return addMonths(date, -amount, options); +} + +// Fallback for modularized imports: +export default subMonths; diff --git a/.output/server/node_modules/date-fns/subQuarters.js b/.output/server/node_modules/date-fns/subQuarters.js new file mode 100644 index 00000000..69bc0c9b --- /dev/null +++ b/.output/server/node_modules/date-fns/subQuarters.js @@ -0,0 +1,34 @@ +import { addQuarters } from "./addQuarters.js"; + +/** + * The {@link subQuarters} function options. + */ + +/** + * @name subQuarters + * @category Quarter Helpers + * @summary Subtract the specified number of year quarters from the given date. + * + * @description + * Subtract the specified number of year quarters from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of quarters to be subtracted. + * @param options - An object with options + * + * @returns The new date with the quarters subtracted + * + * @example + * // Subtract 3 quarters from 1 September 2014: + * const result = subQuarters(new Date(2014, 8, 1), 3) + * //=> Sun Dec 01 2013 00:00:00 + */ +export function subQuarters(date, amount, options) { + return addQuarters(date, -amount, options); +} + +// Fallback for modularized imports: +export default subQuarters; diff --git a/.output/server/node_modules/date-fns/subSeconds.js b/.output/server/node_modules/date-fns/subSeconds.js new file mode 100644 index 00000000..cb54329b --- /dev/null +++ b/.output/server/node_modules/date-fns/subSeconds.js @@ -0,0 +1,29 @@ +import { addSeconds } from "./addSeconds.js"; + +/** + * The {@link subSeconds} function options. + */ + +/** + * Subtract the specified number of seconds from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of seconds to be subtracted. + * @param options - The options + * + * @returns The new date with the seconds subtracted + * + * @example + * // Subtract 30 seconds from 10 July 2014 12:45:00: + * const result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:44:30 + */ +export function subSeconds(date, amount, options) { + return addSeconds(date, -amount, options); +} + +// Fallback for modularized imports: +export default subSeconds; diff --git a/.output/server/node_modules/date-fns/subWeeks.js b/.output/server/node_modules/date-fns/subWeeks.js new file mode 100644 index 00000000..c11850cc --- /dev/null +++ b/.output/server/node_modules/date-fns/subWeeks.js @@ -0,0 +1,34 @@ +import { addWeeks } from "./addWeeks.js"; + +/** + * The {@link subWeeks} function options. + */ + +/** + * @name subWeeks + * @category Week Helpers + * @summary Subtract the specified number of weeks from the given date. + * + * @description + * Subtract the specified number of weeks from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of weeks to be subtracted. + * @param options - An object with options + * + * @returns The new date with the weeks subtracted + * + * @example + * // Subtract 4 weeks from 1 September 2014: + * const result = subWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Aug 04 2014 00:00:00 + */ +export function subWeeks(date, amount, options) { + return addWeeks(date, -amount, options); +} + +// Fallback for modularized imports: +export default subWeeks; diff --git a/.output/server/node_modules/date-fns/subYears.js b/.output/server/node_modules/date-fns/subYears.js new file mode 100644 index 00000000..d94505e8 --- /dev/null +++ b/.output/server/node_modules/date-fns/subYears.js @@ -0,0 +1,34 @@ +import { addYears } from "./addYears.js"; + +/** + * The {@link subYears} function options. + */ + +/** + * @name subYears + * @category Year Helpers + * @summary Subtract the specified number of years from the given date. + * + * @description + * Subtract the specified number of years from the given date. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param date - The date to be changed + * @param amount - The amount of years to be subtracted. + * @param options - An object with options + * + * @returns The new date with the years subtracted + * + * @example + * // Subtract 5 years from 1 September 2014: + * const result = subYears(new Date(2014, 8, 1), 5) + * //=> Tue Sep 01 2009 00:00:00 + */ +export function subYears(date, amount, options) { + return addYears(date, -amount, options); +} + +// Fallback for modularized imports: +export default subYears; diff --git a/.output/server/node_modules/date-fns/toDate.js b/.output/server/node_modules/date-fns/toDate.js new file mode 100644 index 00000000..57973106 --- /dev/null +++ b/.output/server/node_modules/date-fns/toDate.js @@ -0,0 +1,47 @@ +import { constructFrom } from "./constructFrom.js"; + +/** + * @name toDate + * @category Common Helpers + * @summary Convert the given argument to an instance of Date. + * + * @description + * Convert the given argument to an instance of Date. + * + * If the argument is an instance of Date, the function returns its clone. + * + * If the argument is a number, it is treated as a timestamp. + * + * If the argument is none of the above, the function returns Invalid Date. + * + * Starting from v3.7.0, it clones a date using `[Symbol.for("constructDateFrom")]` + * enabling to transfer extra properties from the reference date to the new date. + * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) + * that accept a time zone as a constructor argument. + * + * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. + * + * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). + * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. + * + * @param argument - The value to convert + * + * @returns The parsed date in the local time zone + * + * @example + * // Clone the date: + * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert the timestamp to date: + * const result = toDate(1392098430000) + * //=> Tue Feb 11 2014 11:30:30 + */ +export function toDate(argument, context) { + // [TODO] Get rid of `toDate` or `constructFrom`? + return constructFrom(context || argument, argument); +} + +// Fallback for modularized imports: +export default toDate; diff --git a/.output/server/node_modules/date-fns/transpose.js b/.output/server/node_modules/date-fns/transpose.js new file mode 100644 index 00000000..3c5dca0f --- /dev/null +++ b/.output/server/node_modules/date-fns/transpose.js @@ -0,0 +1,53 @@ +import { constructFrom } from "./constructFrom.js"; + +/** + * @name transpose + * @category Generic Helpers + * @summary Transpose the date to the given constructor. + * + * @description + * The function transposes the date to the given constructor. It helps you + * to transpose the date in the system time zone to say `UTCDate` or any other + * date extension. + * + * @typeParam InputDate - The input `Date` type derived from the passed argument. + * @typeParam ResultDate - The result `Date` type derived from the passed constructor. + * + * @param date - The date to use values from + * @param constructor - The date constructor to use + * + * @returns Date transposed to the given constructor + * + * @example + * // Create July 10, 2022 00:00 in locale time zone + * const date = new Date(2022, 6, 10) + * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)' + * + * @example + * // Transpose the date to July 10, 2022 00:00 in UTC + * transpose(date, UTCDate) + * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)' + */ +export function transpose(date, constructor) { + const date_ = isConstructor(constructor) + ? new constructor(0) + : constructFrom(constructor, 0); + date_.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); + date_.setHours( + date.getHours(), + date.getMinutes(), + date.getSeconds(), + date.getMilliseconds(), + ); + return date_; +} + +function isConstructor(constructor) { + return ( + typeof constructor === "function" && + constructor.prototype?.constructor === constructor + ); +} + +// Fallback for modularized imports: +export default transpose; diff --git a/.output/server/node_modules/date-fns/weeksToDays.js b/.output/server/node_modules/date-fns/weeksToDays.js new file mode 100644 index 00000000..4026deb3 --- /dev/null +++ b/.output/server/node_modules/date-fns/weeksToDays.js @@ -0,0 +1,25 @@ +import { daysInWeek } from "./constants.js"; + +/** + * @name weeksToDays + * @category Conversion Helpers + * @summary Convert weeks to days. + * + * @description + * Convert a number of weeks to a full number of days. + * + * @param weeks - The number of weeks to be converted + * + * @returns The number of weeks converted in days + * + * @example + * // Convert 2 weeks into days + * const result = weeksToDays(2) + * //=> 14 + */ +export function weeksToDays(weeks) { + return Math.trunc(weeks * daysInWeek); +} + +// Fallback for modularized imports: +export default weeksToDays; diff --git a/.output/server/node_modules/date-fns/yearsToDays.js b/.output/server/node_modules/date-fns/yearsToDays.js new file mode 100644 index 00000000..4d10c3c9 --- /dev/null +++ b/.output/server/node_modules/date-fns/yearsToDays.js @@ -0,0 +1,25 @@ +import { daysInYear } from "./constants.js"; + +/** + * @name yearsToDays + * @category Conversion Helpers + * @summary Convert years to days. + * + * @description + * Convert a number of years to a full number of days. + * + * @param years - The number of years to be converted + * + * @returns The number of years converted in days + * + * @example + * // Convert 2 years into days + * const result = yearsToDays(2) + * //=> 730 + */ +export function yearsToDays(years) { + return Math.trunc(years * daysInYear); +} + +// Fallback for modularized imports: +export default yearsToDays; diff --git a/.output/server/node_modules/date-fns/yearsToMonths.js b/.output/server/node_modules/date-fns/yearsToMonths.js new file mode 100644 index 00000000..cd526867 --- /dev/null +++ b/.output/server/node_modules/date-fns/yearsToMonths.js @@ -0,0 +1,25 @@ +import { monthsInYear } from "./constants.js"; + +/** + * @name yearsToMonths + * @category Conversion Helpers + * @summary Convert years to months. + * + * @description + * Convert a number of years to a full number of months. + * + * @param years - The number of years to be converted + * + * @returns The number of years converted in months + * + * @example + * // Convert 2 years into months + * const result = yearsToMonths(2) + * //=> 24 + */ +export function yearsToMonths(years) { + return Math.trunc(years * monthsInYear); +} + +// Fallback for modularized imports: +export default yearsToMonths; diff --git a/.output/server/node_modules/date-fns/yearsToQuarters.js b/.output/server/node_modules/date-fns/yearsToQuarters.js new file mode 100644 index 00000000..df9268ef --- /dev/null +++ b/.output/server/node_modules/date-fns/yearsToQuarters.js @@ -0,0 +1,25 @@ +import { quartersInYear } from "./constants.js"; + +/** + * @name yearsToQuarters + * @category Conversion Helpers + * @summary Convert years to quarters. + * + * @description + * Convert a number of years to a full number of quarters. + * + * @param years - The number of years to be converted + * + * @returns The number of years converted in quarters + * + * @example + * // Convert 2 years to quarters + * const result = yearsToQuarters(2) + * //=> 8 + */ +export function yearsToQuarters(years) { + return Math.trunc(years * quartersInYear); +} + +// Fallback for modularized imports: +export default yearsToQuarters; diff --git a/.output/server/node_modules/dayjalali/dist/index.js b/.output/server/node_modules/dayjalali/dist/index.js new file mode 100644 index 00000000..3c391735 --- /dev/null +++ b/.output/server/node_modules/dayjalali/dist/index.js @@ -0,0 +1,346 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +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; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/index.ts +var index_exports = {}; +__export(index_exports, { + default: () => index_default +}); +module.exports = __toCommonJS(index_exports); +var import_fa = __toESM(require("dayjs/locale/fa")); +var import_jalaali_js = require("jalaali-js"); + +// src/constant.ts +var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})[-/]?(\d{0,2})(.*)?$/; +var REGEX_FORMAT = /\[.*?\]|jY{2,4}|jM{1,4}|jD{1,2}|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g; +var DATE = "date"; +var D = "day"; +var M = "month"; +var Y = "year"; +var W = "week"; +var FORMAT_DEFAULT = "YYYY-MM-DDTHH:mm:ssZ"; +var fa = { + jmonths: "\u0641\u0631\u0648\u0631\u062F\u06CC\u0646_\u0627\u0631\u062F\u06CC\u0628\u0647\u0634\u062A_\u062E\u0631\u062F\u0627\u062F_\u062A\u06CC\u0631_\u0645\u0631\u062F\u0627\u062F_\u0634\u0647\u0631\u06CC\u0648\u0631_\u0645\u0647\u0631_\u0622\u0628\u0627\u0646_\u0622\u0630\u0631_\u062F\u06CC_\u0628\u0647\u0645\u0646_\u0627\u0633\u0641\u0646\u062F".split("_") +}; + +// src/index.ts +var plugin = (option, dayjsClass, dayjsFactory) => { + const proto = dayjsClass.prototype; + const factory = dayjsFactory; + const U = proto.$utils(); + const $isJalali = (v) => v.$C === "jalali"; + const $prettyUnit = U.prettyUnit || U.p; + const $isUndefined = U.isUndefined || U.u; + const $padStart = U.padStart || U.s; + const $monthDiff = U.monthDiff || U.m; + const $absFloor = U.absFloor || U.a; + const wrapperOfTruth = (action) => function(...args) { + const unsure = action.bind(this)(...args); + unsure.$C = this.$C; + if (unsure.isJalali()) { + unsure.InitJalali(); + } + return unsure; + }; + proto.startOf = wrapperOfTruth(proto.startOf); + proto.endOf = wrapperOfTruth(proto.endOf); + proto.add = wrapperOfTruth(proto.add); + proto.subtract = wrapperOfTruth(proto.subtract); + proto.set = wrapperOfTruth(proto.set); + const oldParse = proto.parse; + const oldInit = proto.init; + const oldStartOf = proto.startOf; + const old$Set = proto.$set; + const oldAdd = proto.add; + const oldFormat = proto.format; + const oldDiff = proto.diff; + const oldYear = proto.year; + const oldMonth = proto.month; + const oldDate = proto.date; + const oldDaysInMonth = proto.daysInMonth; + const oldToArray = proto.toArray; + factory.$C = "gregory"; + factory.$fdow = 6; + factory.calendar = function(calendar) { + factory.$C = calendar; + return factory; + }; + proto.calendar = function(calendar) { + const that = this.clone(); + that.$C = calendar; + if (that.isJalali()) { + that.InitJalali(); + } + return that; + }; + proto.isJalali = function() { + return $isJalali(this); + }; + factory.en = factory.en || {}; + factory.en.jmonths = "Farvardin_Ordibehesht_Khordaad_Tir_Mordaad_Shahrivar_Mehr_Aabaan_Aazar_Dey_Bahman_Esfand".split("_"); + factory.locale("fa", __spreadValues(__spreadValues({}, import_fa.default), fa), true); + const wrapper = function(date, instance) { + return factory(date, { + locale: instance.$L, + utc: instance.$u, + calendar: instance.$C + }); + }; + proto.init = function(cfg = {}) { + oldInit.bind(this)(cfg); + if (this.isJalali()) { + this.InitJalali(); + } + }; + proto.parse = function(cfg) { + let reg = null; + this.$C = cfg.calendar || this.$C || factory.$C; + if (cfg.jalali && typeof cfg.date === "string" && /.*[^Z]$/i.test(cfg.date)) { + reg = cfg.date.match(REGEX_PARSE); + if (reg) { + const { gy: y, gm: m, gd: d } = (0, import_jalaali_js.toGregorian)( + parseInt(reg[1], 10), + parseInt(reg[2], 10), + parseInt(reg[3] || "1", 10) + ); + cfg.date = `${y}-${m}-${d}${reg[4] || ""}`; + } + } + return oldParse.bind(this)(cfg); + }; + proto.InitJalali = function() { + const { jy, jm, jd } = (0, import_jalaali_js.toJalaali)(this.$y, this.$M + 1, this.$D); + this.$jy = jy; + this.$jM = jm - 1; + this.$jD = jd; + }; + const instanceFactory = ({ d, m, y }, context) => { + const year = y != null ? y : context.$jy; + const { gy, gm, gd } = (0, import_jalaali_js.toGregorian)(year, m + 1, d); + return wrapper(new Date(gy, gm - 1, gd), context); + }; + proto.startOf = function(units, startOf = true) { + const def = () => oldStartOf.bind(this)(units, startOf); + if (!$isJalali(this)) { + return def(); + } + const unit = $prettyUnit(units); + const WModifier = (this.$W + (7 - factory.$fdow)) % 7; + switch (unit) { + case Y: + return startOf ? instanceFactory({ d: 1, m: 0 }, this) : instanceFactory({ d: 0, m: 0, y: (this.$jy || 0) + 1 }, this); + case M: + return startOf ? instanceFactory({ d: 1, m: this.$jM }, this) : instanceFactory({ + d: 0, + m: ((this.$jM || 0) + 1) % 12, + y: (this.$jy || 0) + Math.floor(((this.$jM || 0) + 1) / 12) + }, this); + case W: + return startOf ? instanceFactory({ d: (this.$jD || 0) - WModifier, m: this.$jM }, this) : instanceFactory({ d: (this.$jD || 0) + (6 - WModifier), m: this.$jM }, this); + default: + return def(); + } + }; + proto.$set = function(units, value) { + const def = () => old$Set.bind(this)(units, value); + if (!$isJalali(this)) { + return def(); + } + const unit = $prettyUnit(units); + const d = this.$jD || 1; + const m = this.$jM || 0; + const y = this.$jy || 0; + switch (unit) { + case DATE: + case D: + return instanceFactory({ d: value, m, y }, this); + case M: + return instanceFactory({ d, m: value, y }, this); + case Y: + return instanceFactory({ d, m, y: value }, this); + default: + return def(); + } + }; + proto.add = function(number, units) { + const def = () => oldAdd.bind(this)(number, units); + if (!$isJalali(this)) { + return def(); + } + const num = Number(number); + const defaultUnit = "d"; + const unit = units ? $prettyUnit(units) : defaultUnit; + const addInstanceFactory = (u, n) => { + const date = this.set("date", 1).set(u, n + num); + return date.set("date", Math.min(this.$jD || 0, date.daysInMonth())); + }; + if (["M", "month"].indexOf(unit) > -1) { + const n = (this.$jM || 0) + num; + const y = n < 0 ? -Math.ceil(-n / 12) : Math.floor(n / 12); + const d = this.$jD || 0; + const x = this.set("day", 1).add(y, "year").set("month", n - y * 12); + return x.set("day", Math.min(x.daysInMonth(), d)); + } + if (["y", "year"].indexOf(unit) > -1) { + return addInstanceFactory("year", this.$jy || 0); + } + if (["d", "day"].indexOf(unit) > -1) { + const date = new Date(this.$d); + date.setDate(date.getDate() + num); + return wrapper(date, this); + } + return def(); + }; + proto.format = function(formatStr, localeObject) { + if (!$isJalali(this)) { + return oldFormat.bind(this)(formatStr || ""); + } + const str = formatStr || FORMAT_DEFAULT; + const locale = localeObject || this.$locale(); + const { jmonths } = locale || { jmonths: [] }; + return str.replace(REGEX_FORMAT, (match) => { + var _a; + if (match.indexOf("[") > -1) return match.replace(/\[|\]/g, ""); + const jy = this.$jy || 0; + const jm = this.$jM || 0; + const jd = this.$jD || 0; + switch (match) { + case "YY": + return String(jy).slice(-2); + case "YYYY": + return String(jy); + case "M": + return String(jm + 1); + case "MM": + return $padStart(jm + 1, 2, "0"); + case "MMM": + return ((_a = jmonths[jm]) == null ? void 0 : _a.slice(0, 3)) || ""; + case "MMMM": + return jmonths[jm] || ""; + case "D": + return String(jd); + case "DD": + return $padStart(jd, 2, "0"); + default: + return oldFormat.bind(this)(match); + } + }); + }; + proto.diff = function(input, units, float) { + const def = () => oldDiff.bind(this)(input, units, float); + if (!$isJalali(this)) { + return def(); + } + const unit = units ? $prettyUnit(units) : void 0; + const that = factory(input); + let result = $monthDiff(this, that); + switch (unit) { + case Y: + result /= 12; + break; + case M: + break; + default: + return def(); + } + return float ? result : $absFloor(result); + }; + proto.$g = function(input, get, set) { + if ($isUndefined(input)) return this[get]; + return this.set(set, input); + }; + proto.year = function(input) { + if (!$isJalali(this)) { + return oldYear.bind(this)(input); + } + if (typeof input === "undefined") { + return this.$jy || 0; + } + return this.set("year", input); + }; + proto.month = function(input) { + if (!$isJalali(this)) { + return oldMonth.bind(this)(input); + } + if (typeof input === "undefined") { + return this.$jM || 0; + } + return this.set("month", input); + }; + proto.date = function(input) { + if (!$isJalali(this)) { + return oldDate.bind(this)(input); + } + if (typeof input === "undefined") { + return this.$jD || 0; + } + return this.set("date", input); + }; + proto.daysInMonth = function() { + if (!$isJalali(this)) { + return oldDaysInMonth.bind(this)(); + } + return (0, import_jalaali_js.jalaaliMonthLength)(this.$jy, this.$jM + 1); + }; + if (oldToArray) { + proto.toArray = function() { + if (!$isJalali(this)) { + return oldToArray.bind(this)(); + } + return [ + this.$jy || 0, + this.$jM || 0, + this.$jD || 0, + this.$H || 0, + this.$m || 0, + this.$s || 0, + this.$ms || 0 + ]; + }; + } + proto.clone = function() { + return wrapper(this.toDate(), this); + }; +}; +var index_default = plugin; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/dayjalali/package.json b/.output/server/node_modules/dayjalali/package.json new file mode 100644 index 00000000..df69dfd0 --- /dev/null +++ b/.output/server/node_modules/dayjalali/package.json @@ -0,0 +1,90 @@ +{ + "name": "dayjalali", + "version": "1.0.1", + "description": "Persian (Jalali, Khorshidi) Calendar Plugin for Day.js with TypeScript support", + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "test": "jest", + "lint": "eslint src/* test/* --ext .ts,.js --fix", + "build": "tsup && npm run size", + "release": "npm run prepublish && standard-version $* && git push --follow-tags && npm publish", + "prepublish": "npm run build", + "size": "size-limit" + }, + "size-limit": [ + { + "limit": "3.12 KB", + "path": "dist/index.js", + "ignore": [ + "dayjs", + "jalaali-js" + ] + }, + { + "limit": "3.12 KB", + "path": "dist/index.mjs", + "ignore": [ + "dayjs", + "jalaali-js" + ] + } + ], + "pre-commit": [ + "lint" + ], + "keywords": [ + "dayjs", + "date", + "time", + "typescript", + "immutable", + "moment", + "jalali", + "jalaali-js", + "persian-calendar", + "khorshidi" + ], + "author": "sedmedgh", + "repository": { + "type": "git", + "url": "https://github.com/sedmedgh/dayjalali.git" + }, + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.26.10", + "@babel/preset-env": "^7.26.9", + "@babel/preset-typescript": "^7.27.0", + "@size-limit/preset-small-lib": "^11.2.0", + "@types/jalaali-js": "^1.2.0", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/parser": "^7.16.0", + "babel-jest": "^29.7.0", + "dayjs": "^1.11.13", + "eslint": "^8.57.1", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jest": "^28.11.0", + "jest": "^29.7.0", + "mockdate": "^3.0.5", + "pre-commit": "^1.2.2", + "size-limit": "^11.2.0", + "standard-version": "9.5.0", + "ts-jest": "^29.2.1", + "ts-node": "^10.9.2", + "tsup": "^8.1.0", + "typescript": "5.0.4" + }, + "dependencies": { + "jalaali-js": "^1.2.8" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/dayjs.min.js b/.output/server/node_modules/dayjs/dayjs.min.js new file mode 100644 index 00000000..61916d88 --- /dev/null +++ b/.output/server/node_modules/dayjs/dayjs.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/locale/fa.js b/.output/server/node_modules/dayjs/locale/fa.js new file mode 100644 index 00000000..648bb4eb --- /dev/null +++ b/.output/server/node_modules/dayjs/locale/fa.js @@ -0,0 +1 @@ +!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):(_="undefined"!=typeof globalThis?globalThis:_||self).dayjs_locale_fa=e(_.dayjs)}(this,(function(_){"use strict";function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}var t=e(_),d={name:"fa",weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekStart:6,months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),ordinal:function(_){return _},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"}};return t.default.locale(d,null,!0),d})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/package.json b/.output/server/node_modules/dayjs/package.json new file mode 100644 index 00000000..f45ae585 --- /dev/null +++ b/.output/server/node_modules/dayjs/package.json @@ -0,0 +1,84 @@ +{ + "name": "dayjs", + "version": "1.11.13", + "description": "2KB immutable date time library alternative to Moment.js with the same modern API ", + "main": "dayjs.min.js", + "types": "index.d.ts", + "scripts": { + "test": "TZ=Pacific/Auckland npm run test-tz && TZ=Europe/London npm run test-tz && TZ=America/Whitehorse npm run test-tz && npm run test-tz && jest", + "test-tz": "date && jest test/timezone.test --coverage=false", + "lint": "./node_modules/.bin/eslint src/* test/* build/*", + "prettier": "prettier --write \"docs/**/*.md\"", + "babel": "cross-env BABEL_ENV=build babel src --out-dir esm --copy-files && node build/esm", + "build": "cross-env BABEL_ENV=build node build && npm run size", + "sauce": "npx karma start karma.sauce.conf.js", + "test:sauce": "npm run sauce -- 0 && npm run sauce -- 1 && npm run sauce -- 2 && npm run sauce -- 3", + "size": "size-limit && gzip-size dayjs.min.js" + }, + "pre-commit": [ + "lint" + ], + "size-limit": [ + { + "limit": "2.99 KB", + "path": "dayjs.min.js" + } + ], + "jest": { + "roots": [ + "test" + ], + "testRegex": "test/(.*?/)?.*test.js$", + "testURL": "http://localhost", + "coverageDirectory": "./coverage/", + "collectCoverage": true, + "collectCoverageFrom": [ + "src/**/*" + ] + }, + "keywords": [ + "dayjs", + "date", + "time", + "immutable", + "moment" + ], + "author": "iamkun", + "license": "MIT", + "homepage": "https://day.js.org", + "repository": { + "type": "git", + "url": "https://github.com/iamkun/dayjs.git" + }, + "devDependencies": { + "@babel/cli": "^7.0.0-beta.44", + "@babel/core": "^7.0.0-beta.44", + "@babel/node": "^7.0.0-beta.44", + "@babel/preset-env": "^7.0.0-beta.44", + "babel-core": "^7.0.0-bridge.0", + "babel-jest": "^22.4.3", + "babel-plugin-external-helpers": "^6.22.0", + "cross-env": "^5.1.6", + "eslint": "^4.19.1", + "eslint-config-airbnb-base": "^12.1.0", + "eslint-plugin-import": "^2.10.0", + "eslint-plugin-jest": "^21.15.0", + "gzip-size-cli": "^2.1.0", + "jasmine-core": "^2.99.1", + "jest": "^22.4.3", + "karma": "^2.0.2", + "karma-jasmine": "^1.1.2", + "karma-sauce-launcher": "^1.1.0", + "mockdate": "^2.0.2", + "moment": "2.29.2", + "moment-timezone": "0.5.31", + "ncp": "^2.0.0", + "pre-commit": "^1.2.2", + "prettier": "^1.16.1", + "rollup": "^2.45.1", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-terser": "^7.0.2", + "size-limit": "^0.18.0", + "typescript": "^2.8.3" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/advancedFormat.js b/.output/server/node_modules/dayjs/plugin/advancedFormat.js new file mode 100644 index 00000000..88d62e7c --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/advancedFormat.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){"use strict";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case"Q":return Math.ceil((t.$M+1)/3);case"Do":return r.ordinal(t.$D);case"gggg":return t.weekYear();case"GGGG":return t.isoWeekYear();case"wo":return r.ordinal(t.week(),"W");case"w":case"ww":return s.s(t.week(),"w"===e?1:2,"0");case"W":case"WW":return s.s(t.isoWeek(),"W"===e?1:2,"0");case"k":case"kk":return s.s(String(0===t.$H?24:t.$H),"k"===e?1:2,"0");case"X":return Math.floor(t.$d.getTime()/1e3);case"x":return t.$d.getTime();case"z":return"["+t.offsetName()+"]";case"zzz":return"["+t.offsetName("long")+"]";default:return e}}));return n.bind(this)(a)}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/customParseFormat.js b/.output/server/node_modules/dayjs/plugin/customParseFormat.js new file mode 100644 index 00000000..10a806e7 --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/customParseFormat.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){"use strict";var e={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"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,f("seconds")],ss:[i,f("seconds")],m:[i,f("minutes")],mm:[i,f("minutes")],H:[i,f("hours")],h:[i,f("hours")],HH:[i,f("hours")],hh:[i,f("hours")],D:[i,f("day")],DD:[r,f("day")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],w:[i,f("week")],ww:[r,f("week")],M:[i,f("month")],MM:[r,f("month")],MMM:[o,function(e){var t=u("months"),n=(u("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,f("year")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\d{4}/,f("year")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\[|\]$/g,"")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if("string"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,"")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if("string"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if(["x","X"].indexOf(t)>-1)return new Date(("X"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date("")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(""))}else i.call(this,e)}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/localeData.js b/.output/server/node_modules/dayjs/plugin/localeData.js new file mode 100644 index 00000000..55e01ee7 --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/localeData.js @@ -0,0 +1 @@ +!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){"use strict";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/quarterOfYear.js b/.output/server/node_modules/dayjs/plugin/quarterOfYear.js new file mode 100644 index 00000000..6bfe4c2b --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/quarterOfYear.js @@ -0,0 +1 @@ +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){"use strict";var t="month",n="quarter";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf("day"):this.month(3*o+2).endOf(t).endOf("day")}return u.bind(this)(e,i)}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/weekOfYear.js b/.output/server/node_modules/dayjs/plugin/weekOfYear.js new file mode 100644 index 00000000..7e234c42 --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/weekOfYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){"use strict";var e="week",t="year";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,"millisecond"),o=this.diff(a,e,!0);return o<0?r(this).startOf("week").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/weekYear.js b/.output/server/node_modules/dayjs/plugin/weekYear.js new file mode 100644 index 00000000..d90d137e --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/weekYear.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(function(){"use strict";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}})); \ No newline at end of file diff --git a/.output/server/node_modules/dayjs/plugin/weekday.js b/.output/server/node_modules/dayjs/plugin/weekday.js new file mode 100644 index 00000000..ae2276b8 --- /dev/null +++ b/.output/server/node_modules/dayjs/plugin/weekday.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){"use strict";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,"day").add(e,"day")}}})); \ No newline at end of file diff --git a/.output/server/node_modules/debug/package.json b/.output/server/node_modules/debug/package.json new file mode 100644 index 00000000..15f4ff83 --- /dev/null +++ b/.output/server/node_modules/debug/package.json @@ -0,0 +1,64 @@ +{ + "name": "debug", + "version": "4.4.1", + "repository": { + "type": "git", + "url": "git://github.com/debug-js/debug.git" + }, + "description": "Lightweight debugging utility for Node.js and the browser", + "keywords": [ + "debug", + "log", + "debugger" + ], + "files": [ + "src", + "LICENSE", + "README.md" + ], + "author": "Josh Junon (https://github.com/qix-)", + "contributors": [ + "TJ Holowaychuk <tj@vision-media.ca>", + "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io)", + "Andrew Rhyne <rhyneandrew@gmail.com>" + ], + "license": "MIT", + "scripts": { + "lint": "xo", + "test": "npm run test:node && npm run test:browser && npm run lint", + "test:node": "mocha test.js test.node.js", + "test:browser": "karma start --single-run", + "test:coverage": "cat ./coverage/lcov.info | coveralls" + }, + "dependencies": { + "ms": "^2.1.3" + }, + "devDependencies": { + "brfs": "^2.0.1", + "browserify": "^16.2.3", + "coveralls": "^3.0.2", + "karma": "^3.1.4", + "karma-browserify": "^6.0.0", + "karma-chrome-launcher": "^2.2.0", + "karma-mocha": "^1.3.0", + "mocha": "^5.2.0", + "mocha-lcov-reporter": "^1.2.0", + "sinon": "^14.0.0", + "xo": "^0.23.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + }, + "main": "./src/index.js", + "browser": "./src/browser.js", + "engines": { + "node": ">=6.0" + }, + "xo": { + "rules": { + "import/extensions": "off" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/debug/src/browser.js b/.output/server/node_modules/debug/src/browser.js new file mode 100644 index 00000000..5993451b --- /dev/null +++ b/.output/server/node_modules/debug/src/browser.js @@ -0,0 +1,272 @@ +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + let m; + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + // eslint-disable-next-line no-return-assign + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; diff --git a/.output/server/node_modules/debug/src/common.js b/.output/server/node_modules/debug/src/common.js new file mode 100644 index 00000000..141cb578 --- /dev/null +++ b/.output/server/node_modules/debug/src/common.js @@ -0,0 +1,292 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + const split = (typeof namespaces === 'string' ? namespaces : '') + .trim() + .replace(/\s+/g, ',') + .split(',') + .filter(Boolean); + + for (const ns of split) { + if (ns[0] === '-') { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + + /** + * Checks if the given string matches a namespace template, honoring + * asterisks as wildcards. + * + * @param {String} search + * @param {String} template + * @return {Boolean} + */ + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { + // Match character or proceed with wildcard + if (template[templateIndex] === '*') { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; // Skip the '*' + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition + // Backtrack to the last '*' and try to match more characters + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; // No match + } + } + + // Handle trailing '*' in template + while (templateIndex < template.length && template[templateIndex] === '*') { + templateIndex++; + } + + return templateIndex === template.length; + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; diff --git a/.output/server/node_modules/debug/src/index.js b/.output/server/node_modules/debug/src/index.js new file mode 100644 index 00000000..bf4c57f2 --- /dev/null +++ b/.output/server/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/.output/server/node_modules/debug/src/node.js b/.output/server/node_modules/debug/src/node.js new file mode 100644 index 00000000..715560a4 --- /dev/null +++ b/.output/server/node_modules/debug/src/node.js @@ -0,0 +1,263 @@ +/** + * Module dependencies. + */ + +const tty = require('tty'); +const util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = require('supports-color'); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; diff --git a/.output/server/node_modules/defu/dist/defu.mjs b/.output/server/node_modules/defu/dist/defu.mjs new file mode 100644 index 00000000..889b83a6 --- /dev/null +++ b/.output/server/node_modules/defu/dist/defu.mjs @@ -0,0 +1,69 @@ +function isPlainObject(value) { + if (value === null || typeof value !== "object") { + return false; + } + const prototype = Object.getPrototypeOf(value); + if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) { + return false; + } + if (Symbol.iterator in value) { + return false; + } + if (Symbol.toStringTag in value) { + return Object.prototype.toString.call(value) === "[object Module]"; + } + return true; +} + +function _defu(baseObject, defaults, namespace = ".", merger) { + if (!isPlainObject(defaults)) { + return _defu(baseObject, {}, namespace, merger); + } + const object = Object.assign({}, defaults); + for (const key in baseObject) { + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = baseObject[key]; + if (value === null || value === void 0) { + continue; + } + if (merger && merger(object, key, value, namespace)) { + continue; + } + if (Array.isArray(value) && Array.isArray(object[key])) { + object[key] = [...value, ...object[key]]; + } else if (isPlainObject(value) && isPlainObject(object[key])) { + object[key] = _defu( + value, + object[key], + (namespace ? `${namespace}.` : "") + key.toString(), + merger + ); + } else { + object[key] = value; + } + } + return object; +} +function createDefu(merger) { + return (...arguments_) => ( + // eslint-disable-next-line unicorn/no-array-reduce + arguments_.reduce((p, c) => _defu(p, c, "", merger), {}) + ); +} +const defu = createDefu(); +const defuFn = createDefu((object, key, currentValue) => { + if (object[key] !== void 0 && typeof currentValue === "function") { + object[key] = currentValue(object[key]); + return true; + } +}); +const defuArrayFn = createDefu((object, key, currentValue) => { + if (Array.isArray(object[key]) && typeof currentValue === "function") { + object[key] = currentValue(object[key]); + return true; + } +}); + +export { createDefu, defu as default, defu, defuArrayFn, defuFn }; diff --git a/.output/server/node_modules/defu/package.json b/.output/server/node_modules/defu/package.json new file mode 100644 index 00000000..ce8db253 --- /dev/null +++ b/.output/server/node_modules/defu/package.json @@ -0,0 +1,43 @@ +{ + "name": "defu", + "version": "6.1.4", + "description": "Recursively assign default properties. Lightweight and Fast!", + "repository": "unjs/defu", + "license": "MIT", + "exports": { + ".": { + "types": "./dist/defu.d.ts", + "import": "./dist/defu.mjs", + "require": "./lib/defu.cjs" + } + }, + "main": "./lib/defu.cjs", + "module": "./dist/defu.mjs", + "types": "./dist/defu.d.ts", + "files": [ + "dist", + "lib" + ], + "devDependencies": { + "@types/node": "^20.10.6", + "@vitest/coverage-v8": "^1.1.3", + "changelogen": "^0.5.5", + "eslint": "^8.56.0", + "eslint-config-unjs": "^0.2.1", + "expect-type": "^0.17.3", + "prettier": "^3.1.1", + "typescript": "^5.3.3", + "unbuild": "^2.0.0", + "vitest": "^1.1.3" + }, + "packageManager": "pnpm@8.10.2", + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --ext .ts src && prettier -c src test", + "lint:fix": "eslint --ext .ts src --fix && prettier -w src test", + "release": "pnpm test && changelogen --release && git push --follow-tags && pnpm publish", + "test": "pnpm lint && pnpm vitest run", + "test:types": "tsc --noEmit" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/delayed-stream/lib/delayed_stream.js b/.output/server/node_modules/delayed-stream/lib/delayed_stream.js new file mode 100644 index 00000000..b38fc85f --- /dev/null +++ b/.output/server/node_modules/delayed-stream/lib/delayed_stream.js @@ -0,0 +1,107 @@ +var Stream = require('stream').Stream; +var util = require('util'); + +module.exports = DelayedStream; +function DelayedStream() { + this.source = null; + this.dataSize = 0; + this.maxDataSize = 1024 * 1024; + this.pauseStream = true; + + this._maxDataSizeExceeded = false; + this._released = false; + this._bufferedEvents = []; +} +util.inherits(DelayedStream, Stream); + +DelayedStream.create = function(source, options) { + var delayedStream = new this(); + + options = options || {}; + for (var option in options) { + delayedStream[option] = options[option]; + } + + delayedStream.source = source; + + var realEmit = source.emit; + source.emit = function() { + delayedStream._handleEmit(arguments); + return realEmit.apply(source, arguments); + }; + + source.on('error', function() {}); + if (delayedStream.pauseStream) { + source.pause(); + } + + return delayedStream; +}; + +Object.defineProperty(DelayedStream.prototype, 'readable', { + configurable: true, + enumerable: true, + get: function() { + return this.source.readable; + } +}); + +DelayedStream.prototype.setEncoding = function() { + return this.source.setEncoding.apply(this.source, arguments); +}; + +DelayedStream.prototype.resume = function() { + if (!this._released) { + this.release(); + } + + this.source.resume(); +}; + +DelayedStream.prototype.pause = function() { + this.source.pause(); +}; + +DelayedStream.prototype.release = function() { + this._released = true; + + this._bufferedEvents.forEach(function(args) { + this.emit.apply(this, args); + }.bind(this)); + this._bufferedEvents = []; +}; + +DelayedStream.prototype.pipe = function() { + var r = Stream.prototype.pipe.apply(this, arguments); + this.resume(); + return r; +}; + +DelayedStream.prototype._handleEmit = function(args) { + if (this._released) { + this.emit.apply(this, args); + return; + } + + if (args[0] === 'data') { + this.dataSize += args[1].length; + this._checkIfMaxDataSizeExceeded(); + } + + this._bufferedEvents.push(args); +}; + +DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { + if (this._maxDataSizeExceeded) { + return; + } + + if (this.dataSize <= this.maxDataSize) { + return; + } + + this._maxDataSizeExceeded = true; + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.' + this.emit('error', new Error(message)); +}; diff --git a/.output/server/node_modules/delayed-stream/package.json b/.output/server/node_modules/delayed-stream/package.json new file mode 100644 index 00000000..0f278e8d --- /dev/null +++ b/.output/server/node_modules/delayed-stream/package.json @@ -0,0 +1,27 @@ +{ + "author": "Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)", + "contributors": [ + "Mike Atkins <apeherder@gmail.com>" + ], + "name": "delayed-stream", + "description": "Buffers events from a stream until you are ready to handle them.", + "license": "MIT", + "version": "1.0.0", + "homepage": "https://github.com/felixge/node-delayed-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-delayed-stream.git" + }, + "main": "./lib/delayed_stream", + "engines": { + "node": ">=0.4.0" + }, + "scripts": { + "test": "make test" + }, + "dependencies": {}, + "devDependencies": { + "fake": "0.2.0", + "far": "0.0.1" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/destr/dist/index.mjs b/.output/server/node_modules/destr/dist/index.mjs new file mode 100644 index 00000000..603ddc13 --- /dev/null +++ b/.output/server/node_modules/destr/dist/index.mjs @@ -0,0 +1,72 @@ +const suspectProtoRx = /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/; +const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/; +const JsonSigRx = /^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/; +function jsonParseTransform(key, value) { + if (key === "__proto__" || key === "constructor" && value && typeof value === "object" && "prototype" in value) { + warnKeyDropped(key); + return; + } + return value; +} +function warnKeyDropped(key) { + console.warn(`[destr] Dropping "${key}" key to prevent prototype pollution.`); +} +function destr(value, options = {}) { + if (typeof value !== "string") { + return value; + } + if (value[0] === '"' && value[value.length - 1] === '"' && value.indexOf("\\") === -1) { + return value.slice(1, -1); + } + const _value = value.trim(); + if (_value.length <= 9) { + switch (_value.toLowerCase()) { + case "true": { + return true; + } + case "false": { + return false; + } + case "undefined": { + return void 0; + } + case "null": { + return null; + } + case "nan": { + return Number.NaN; + } + case "infinity": { + return Number.POSITIVE_INFINITY; + } + case "-infinity": { + return Number.NEGATIVE_INFINITY; + } + } + } + if (!JsonSigRx.test(value)) { + if (options.strict) { + throw new SyntaxError("[destr] Invalid JSON"); + } + return value; + } + try { + if (suspectProtoRx.test(value) || suspectConstructorRx.test(value)) { + if (options.strict) { + throw new Error("[destr] Possible prototype pollution"); + } + return JSON.parse(value, jsonParseTransform); + } + return JSON.parse(value); + } catch (error) { + if (options.strict) { + throw error; + } + return value; + } +} +function safeDestr(value, options = {}) { + return destr(value, { ...options, strict: true }); +} + +export { destr as default, destr, safeDestr }; diff --git a/.output/server/node_modules/destr/package.json b/.output/server/node_modules/destr/package.json new file mode 100644 index 00000000..24722178 --- /dev/null +++ b/.output/server/node_modules/destr/package.json @@ -0,0 +1,47 @@ +{ + "name": "destr", + "version": "2.0.5", + "description": "A faster, secure and convenient alternative for JSON.parse", + "repository": "unjs/destr", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./lib/index.cjs" + } + }, + "main": "./lib/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "lib" + ], + "scripts": { + "bench:bun": "pnpm build && bun --bun ./test/bench.mjs", + "bench:node": "pnpm build && node ./test/bench.mjs", + "build": "unbuild", + "dev": "vitest dev", + "lint": "eslint . && prettier -c src test", + "lint:fix": "eslint . --fix && prettier -w src test", + "release": "pnpm test && pnpm build && changelogen --release --push && npm publish", + "test": "pnpm lint && vitest run --coverage" + }, + "devDependencies": { + "@hapi/bourne": "^3.0.0", + "@vitest/coverage-v8": "^3.1.1", + "changelogen": "^0.6.1", + "eslint": "^9.23.0", + "eslint-config-unjs": "^0.4.2", + "mitata": "^1.0.34", + "prettier": "^3.5.3", + "secure-json-parse": "^4.0.0", + "typescript": "^5.8.2", + "unbuild": "~3.4", + "vitest": "^3.1.1" + }, + "packageManager": "pnpm@10.7.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/detect-libc/lib/detect-libc.js b/.output/server/node_modules/detect-libc/lib/detect-libc.js new file mode 100644 index 00000000..fe499870 --- /dev/null +++ b/.output/server/node_modules/detect-libc/lib/detect-libc.js @@ -0,0 +1,267 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const childProcess = require('child_process'); +const { isLinux, getReport } = require('./process'); +const { LDD_PATH, readFile, readFileSync } = require('./filesystem'); + +let cachedFamilyFilesystem; +let cachedVersionFilesystem; + +const command = 'getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true'; +let commandOut = ''; + +const safeCommand = () => { + if (!commandOut) { + return new Promise((resolve) => { + childProcess.exec(command, (err, out) => { + commandOut = err ? ' ' : out; + resolve(commandOut); + }); + }); + } + return commandOut; +}; + +const safeCommandSync = () => { + if (!commandOut) { + try { + commandOut = childProcess.execSync(command, { encoding: 'utf8' }); + } catch (_err) { + commandOut = ' '; + } + } + return commandOut; +}; + +/** + * A String constant containing the value `glibc`. + * @type {string} + * @public + */ +const GLIBC = 'glibc'; + +/** + * A Regexp constant to get the GLIBC Version. + * @type {string} + */ +const RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i; + +/** + * A String constant containing the value `musl`. + * @type {string} + * @public + */ +const MUSL = 'musl'; + +const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-'); + +const familyFromReport = () => { + const report = getReport(); + if (report.header && report.header.glibcVersionRuntime) { + return GLIBC; + } + if (Array.isArray(report.sharedObjects)) { + if (report.sharedObjects.some(isFileMusl)) { + return MUSL; + } + } + return null; +}; + +const familyFromCommand = (out) => { + const [getconf, ldd1] = out.split(/[\r\n]+/); + if (getconf && getconf.includes(GLIBC)) { + return GLIBC; + } + if (ldd1 && ldd1.includes(MUSL)) { + return MUSL; + } + return null; +}; + +const getFamilyFromLddContent = (content) => { + if (content.includes('musl')) { + return MUSL; + } + if (content.includes('GNU C Library')) { + return GLIBC; + } + return null; +}; + +const familyFromFilesystem = async () => { + if (cachedFamilyFilesystem !== undefined) { + return cachedFamilyFilesystem; + } + cachedFamilyFilesystem = null; + try { + const lddContent = await readFile(LDD_PATH); + cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); + } catch (e) {} + return cachedFamilyFilesystem; +}; + +const familyFromFilesystemSync = () => { + if (cachedFamilyFilesystem !== undefined) { + return cachedFamilyFilesystem; + } + cachedFamilyFilesystem = null; + try { + const lddContent = readFileSync(LDD_PATH); + cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); + } catch (e) {} + return cachedFamilyFilesystem; +}; + +/** + * Resolves with the libc family when it can be determined, `null` otherwise. + * @returns {Promise<?string>} + */ +const family = async () => { + let family = null; + if (isLinux()) { + family = await familyFromFilesystem(); + if (!family) { + family = familyFromReport(); + } + if (!family) { + const out = await safeCommand(); + family = familyFromCommand(out); + } + } + return family; +}; + +/** + * Returns the libc family when it can be determined, `null` otherwise. + * @returns {?string} + */ +const familySync = () => { + let family = null; + if (isLinux()) { + family = familyFromFilesystemSync(); + if (!family) { + family = familyFromReport(); + } + if (!family) { + const out = safeCommandSync(); + family = familyFromCommand(out); + } + } + return family; +}; + +/** + * Resolves `true` only when the platform is Linux and the libc family is not `glibc`. + * @returns {Promise<boolean>} + */ +const isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC; + +/** + * Returns `true` only when the platform is Linux and the libc family is not `glibc`. + * @returns {boolean} + */ +const isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC; + +const versionFromFilesystem = async () => { + if (cachedVersionFilesystem !== undefined) { + return cachedVersionFilesystem; + } + cachedVersionFilesystem = null; + try { + const lddContent = await readFile(LDD_PATH); + const versionMatch = lddContent.match(RE_GLIBC_VERSION); + if (versionMatch) { + cachedVersionFilesystem = versionMatch[1]; + } + } catch (e) {} + return cachedVersionFilesystem; +}; + +const versionFromFilesystemSync = () => { + if (cachedVersionFilesystem !== undefined) { + return cachedVersionFilesystem; + } + cachedVersionFilesystem = null; + try { + const lddContent = readFileSync(LDD_PATH); + const versionMatch = lddContent.match(RE_GLIBC_VERSION); + if (versionMatch) { + cachedVersionFilesystem = versionMatch[1]; + } + } catch (e) {} + return cachedVersionFilesystem; +}; + +const versionFromReport = () => { + const report = getReport(); + if (report.header && report.header.glibcVersionRuntime) { + return report.header.glibcVersionRuntime; + } + return null; +}; + +const versionSuffix = (s) => s.trim().split(/\s+/)[1]; + +const versionFromCommand = (out) => { + const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/); + if (getconf && getconf.includes(GLIBC)) { + return versionSuffix(getconf); + } + if (ldd1 && ldd2 && ldd1.includes(MUSL)) { + return versionSuffix(ldd2); + } + return null; +}; + +/** + * Resolves with the libc version when it can be determined, `null` otherwise. + * @returns {Promise<?string>} + */ +const version = async () => { + let version = null; + if (isLinux()) { + version = await versionFromFilesystem(); + if (!version) { + version = versionFromReport(); + } + if (!version) { + const out = await safeCommand(); + version = versionFromCommand(out); + } + } + return version; +}; + +/** + * Returns the libc version when it can be determined, `null` otherwise. + * @returns {?string} + */ +const versionSync = () => { + let version = null; + if (isLinux()) { + version = versionFromFilesystemSync(); + if (!version) { + version = versionFromReport(); + } + if (!version) { + const out = safeCommandSync(); + version = versionFromCommand(out); + } + } + return version; +}; + +module.exports = { + GLIBC, + MUSL, + family, + familySync, + isNonGlibcLinux, + isNonGlibcLinuxSync, + version, + versionSync +}; diff --git a/.output/server/node_modules/detect-libc/lib/filesystem.js b/.output/server/node_modules/detect-libc/lib/filesystem.js new file mode 100644 index 00000000..de7e007e --- /dev/null +++ b/.output/server/node_modules/detect-libc/lib/filesystem.js @@ -0,0 +1,41 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const fs = require('fs'); + +/** + * The path where we can find the ldd + */ +const LDD_PATH = '/usr/bin/ldd'; + +/** + * Read the content of a file synchronous + * + * @param {string} path + * @returns {string} + */ +const readFileSync = (path) => fs.readFileSync(path, 'utf-8'); + +/** + * Read the content of a file + * + * @param {string} path + * @returns {Promise<string>} + */ +const readFile = (path) => new Promise((resolve, reject) => { + fs.readFile(path, 'utf-8', (err, data) => { + if (err) { + reject(err); + } else { + resolve(data); + } + }); +}); + +module.exports = { + LDD_PATH, + readFileSync, + readFile +}; diff --git a/.output/server/node_modules/detect-libc/lib/process.js b/.output/server/node_modules/detect-libc/lib/process.js new file mode 100644 index 00000000..ee78ad26 --- /dev/null +++ b/.output/server/node_modules/detect-libc/lib/process.js @@ -0,0 +1,24 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const isLinux = () => process.platform === 'linux'; + +let report = null; +const getReport = () => { + if (!report) { + /* istanbul ignore next */ + if (isLinux() && process.report) { + const orig = process.report.excludeNetwork; + process.report.excludeNetwork = true; + report = process.report.getReport(); + process.report.excludeNetwork = orig; + } else { + report = {}; + } + } + return report; +}; + +module.exports = { isLinux, getReport }; diff --git a/.output/server/node_modules/detect-libc/package.json b/.output/server/node_modules/detect-libc/package.json new file mode 100644 index 00000000..565395fc --- /dev/null +++ b/.output/server/node_modules/detect-libc/package.json @@ -0,0 +1,41 @@ +{ + "name": "detect-libc", + "version": "2.0.4", + "description": "Node.js module to detect the C standard library (libc) implementation family and version", + "main": "lib/detect-libc.js", + "files": [ + "lib/", + "index.d.ts" + ], + "scripts": { + "test": "semistandard && nyc --reporter=text --check-coverage --branches=100 ava test/unit.js", + "bench": "node benchmark/detect-libc", + "bench:calls": "node benchmark/call-familySync.js && sleep 1 && node benchmark/call-isNonGlibcLinuxSync.js && sleep 1 && node benchmark/call-versionSync.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/lovell/detect-libc" + }, + "keywords": [ + "libc", + "glibc", + "musl" + ], + "author": "Lovell Fuller <npm@lovell.info>", + "contributors": [ + "Niklas Salmoukas <niklas@salmoukas.com>", + "Vinícius Lourenço <vinyygamerlol@gmail.com>" + ], + "license": "Apache-2.0", + "devDependencies": { + "ava": "^2.4.0", + "benchmark": "^2.1.4", + "nyc": "^15.1.0", + "proxyquire": "^2.1.3", + "semistandard": "^14.2.3" + }, + "engines": { + "node": ">=8" + }, + "types": "index.d.ts" +} \ No newline at end of file diff --git a/.output/server/node_modules/devalue/index.js b/.output/server/node_modules/devalue/index.js new file mode 100644 index 00000000..1e8fc6b1 --- /dev/null +++ b/.output/server/node_modules/devalue/index.js @@ -0,0 +1,4 @@ +export { uneval } from './src/uneval.js'; +export { parse, unflatten } from './src/parse.js'; +export { stringify } from './src/stringify.js'; +export { DevalueError } from './src/utils.js'; diff --git a/.output/server/node_modules/devalue/package.json b/.output/server/node_modules/devalue/package.json new file mode 100644 index 00000000..ce465d75 --- /dev/null +++ b/.output/server/node_modules/devalue/package.json @@ -0,0 +1,37 @@ +{ + "name": "devalue", + "description": "Gets the job done when JSON.stringify can't", + "version": "5.6.1", + "repository": "sveltejs/devalue", + "sideEffects": false, + "exports": { + ".": { + "types": "./types/index.d.ts", + "import": "./index.js", + "default": "./index.js" + } + }, + "files": [ + "index.js", + "src", + "types" + ], + "types": "./types/index.d.ts", + "devDependencies": { + "@changesets/cli": "^2.29.6", + "@js-temporal/polyfill": "^0.5.1", + "dts-buddy": "^0.6.2", + "publint": "^0.3.12", + "typescript": "^5.9.2", + "uvu": "^0.5.6" + }, + "license": "MIT", + "type": "module", + "packageManager": "pnpm@8.15.9", + "scripts": { + "changeset:version": "changeset version", + "changeset:publish": "changeset publish", + "build": "dts-buddy", + "test": "uvu test" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/devalue/src/base64.js b/.output/server/node_modules/devalue/src/base64.js new file mode 100644 index 00000000..23bd6b62 --- /dev/null +++ b/.output/server/node_modules/devalue/src/base64.js @@ -0,0 +1,110 @@ +/** + * Base64 Encodes an arraybuffer + * @param {ArrayBuffer} arraybuffer + * @returns {string} + */ +export function encode64(arraybuffer) { + const dv = new DataView(arraybuffer); + let binaryString = ""; + + for (let i = 0; i < arraybuffer.byteLength; i++) { + binaryString += String.fromCharCode(dv.getUint8(i)); + } + + return binaryToAscii(binaryString); +} + +/** + * Decodes a base64 string into an arraybuffer + * @param {string} string + * @returns {ArrayBuffer} + */ +export function decode64(string) { + const binaryString = asciiToBinary(string); + const arraybuffer = new ArrayBuffer(binaryString.length); + const dv = new DataView(arraybuffer); + + for (let i = 0; i < arraybuffer.byteLength; i++) { + dv.setUint8(i, binaryString.charCodeAt(i)); + } + + return arraybuffer; +} + +const KEY_STRING = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +/** + * Substitute for atob since it's deprecated in node. + * Does not do any input validation. + * + * @see https://github.com/jsdom/abab/blob/master/lib/atob.js + * + * @param {string} data + * @returns {string} + */ +function asciiToBinary(data) { + if (data.length % 4 === 0) { + data = data.replace(/==?$/, ""); + } + + let output = ""; + let buffer = 0; + let accumulatedBits = 0; + + for (let i = 0; i < data.length; i++) { + buffer <<= 6; + buffer |= KEY_STRING.indexOf(data[i]); + accumulatedBits += 6; + if (accumulatedBits === 24) { + output += String.fromCharCode((buffer & 0xff0000) >> 16); + output += String.fromCharCode((buffer & 0xff00) >> 8); + output += String.fromCharCode(buffer & 0xff); + buffer = accumulatedBits = 0; + } + } + if (accumulatedBits === 12) { + buffer >>= 4; + output += String.fromCharCode(buffer); + } else if (accumulatedBits === 18) { + buffer >>= 2; + output += String.fromCharCode((buffer & 0xff00) >> 8); + output += String.fromCharCode(buffer & 0xff); + } + return output; +} + +/** + * Substitute for btoa since it's deprecated in node. + * Does not do any input validation. + * + * @see https://github.com/jsdom/abab/blob/master/lib/btoa.js + * + * @param {string} str + * @returns {string} + */ +function binaryToAscii(str) { + let out = ""; + for (let i = 0; i < str.length; i += 3) { + /** @type {[number, number, number, number]} */ + const groupsOfSix = [undefined, undefined, undefined, undefined]; + groupsOfSix[0] = str.charCodeAt(i) >> 2; + groupsOfSix[1] = (str.charCodeAt(i) & 0x03) << 4; + if (str.length > i + 1) { + groupsOfSix[1] |= str.charCodeAt(i + 1) >> 4; + groupsOfSix[2] = (str.charCodeAt(i + 1) & 0x0f) << 2; + } + if (str.length > i + 2) { + groupsOfSix[2] |= str.charCodeAt(i + 2) >> 6; + groupsOfSix[3] = str.charCodeAt(i + 2) & 0x3f; + } + for (let j = 0; j < groupsOfSix.length; j++) { + if (typeof groupsOfSix[j] === "undefined") { + out += "="; + } else { + out += KEY_STRING[groupsOfSix[j]]; + } + } + } + return out; +} diff --git a/.output/server/node_modules/devalue/src/constants.js b/.output/server/node_modules/devalue/src/constants.js new file mode 100644 index 00000000..ea9fda29 --- /dev/null +++ b/.output/server/node_modules/devalue/src/constants.js @@ -0,0 +1,6 @@ +export const UNDEFINED = -1; +export const HOLE = -2; +export const NAN = -3; +export const POSITIVE_INFINITY = -4; +export const NEGATIVE_INFINITY = -5; +export const NEGATIVE_ZERO = -6; diff --git a/.output/server/node_modules/devalue/src/parse.js b/.output/server/node_modules/devalue/src/parse.js new file mode 100644 index 00000000..2a4db418 --- /dev/null +++ b/.output/server/node_modules/devalue/src/parse.js @@ -0,0 +1,205 @@ +import { decode64 } from './base64.js'; +import { + HOLE, + NAN, + NEGATIVE_INFINITY, + NEGATIVE_ZERO, + POSITIVE_INFINITY, + UNDEFINED +} from './constants.js'; + +/** + * Revive a value serialized with `devalue.stringify` + * @param {string} serialized + * @param {Record<string, (value: any) => any>} [revivers] + */ +export function parse(serialized, revivers) { + return unflatten(JSON.parse(serialized), revivers); +} + +/** + * Revive a value flattened with `devalue.stringify` + * @param {number | any[]} parsed + * @param {Record<string, (value: any) => any>} [revivers] + */ +export function unflatten(parsed, revivers) { + if (typeof parsed === 'number') return hydrate(parsed, true); + + if (!Array.isArray(parsed) || parsed.length === 0) { + throw new Error('Invalid input'); + } + + const values = /** @type {any[]} */ (parsed); + + const hydrated = Array(values.length); + + /** + * @param {number} index + * @returns {any} + */ + function hydrate(index, standalone = false) { + if (index === UNDEFINED) return undefined; + if (index === NAN) return NaN; + if (index === POSITIVE_INFINITY) return Infinity; + if (index === NEGATIVE_INFINITY) return -Infinity; + if (index === NEGATIVE_ZERO) return -0; + + if (standalone || typeof index !== 'number') { + throw new Error(`Invalid input`); + } + + if (index in hydrated) return hydrated[index]; + + const value = values[index]; + + if (!value || typeof value !== 'object') { + hydrated[index] = value; + } else if (Array.isArray(value)) { + if (typeof value[0] === 'string') { + const type = value[0]; + + const reviver = + revivers && Object.hasOwn(revivers, type) + ? revivers[type] + : undefined; + + if (reviver) { + let i = value[1]; + if (typeof i !== 'number') { + // if it's not a number, it was serialized by a builtin reviver + // so we need to munge it into the format expected by a custom reviver + i = values.push(value[1]) - 1; + } + return (hydrated[index] = reviver(hydrate(i))); + } + + switch (type) { + case 'Date': + hydrated[index] = new Date(value[1]); + break; + + case 'Set': + const set = new Set(); + hydrated[index] = set; + for (let i = 1; i < value.length; i += 1) { + set.add(hydrate(value[i])); + } + break; + + case 'Map': + const map = new Map(); + hydrated[index] = map; + for (let i = 1; i < value.length; i += 2) { + map.set(hydrate(value[i]), hydrate(value[i + 1])); + } + break; + + case 'RegExp': + hydrated[index] = new RegExp(value[1], value[2]); + break; + + case 'Object': + hydrated[index] = Object(value[1]); + break; + + case 'BigInt': + hydrated[index] = BigInt(value[1]); + break; + + case 'null': + const obj = Object.create(null); + hydrated[index] = obj; + for (let i = 1; i < value.length; i += 2) { + obj[value[i]] = hydrate(value[i + 1]); + } + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': { + const TypedArrayConstructor = globalThis[type]; + const typedArray = new TypedArrayConstructor(hydrate(value[1])); + + hydrated[index] = + value[2] !== undefined + ? typedArray.subarray(value[2], value[3]) + : typedArray; + + break; + } + + case 'ArrayBuffer': { + const base64 = value[1]; + const arraybuffer = decode64(base64); + hydrated[index] = arraybuffer; + break; + } + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': { + const temporalName = type.slice(9); + // @ts-expect-error TS doesn't know about Temporal yet + hydrated[index] = Temporal[temporalName].from(value[1]); + break; + } + + case 'URL': { + const url = new URL(value[1]); + hydrated[index] = url; + break; + } + + case 'URLSearchParams': { + const url = new URLSearchParams(value[1]); + hydrated[index] = url; + break; + } + + default: + throw new Error(`Unknown type ${type}`); + } + } else { + const array = new Array(value.length); + hydrated[index] = array; + + for (let i = 0; i < value.length; i += 1) { + const n = value[i]; + if (n === HOLE) continue; + + array[i] = hydrate(n); + } + } + } else { + /** @type {Record<string, any>} */ + const object = {}; + hydrated[index] = object; + + for (const key in value) { + if (key === '__proto__') { + throw new Error('Cannot parse an object with a `__proto__` property'); + } + + const n = value[key]; + object[key] = hydrate(n); + } + } + + return hydrated[index]; + } + + return hydrate(0); +} diff --git a/.output/server/node_modules/devalue/src/stringify.js b/.output/server/node_modules/devalue/src/stringify.js new file mode 100644 index 00000000..041fc199 --- /dev/null +++ b/.output/server/node_modules/devalue/src/stringify.js @@ -0,0 +1,265 @@ +import { + DevalueError, + enumerable_symbols, + get_type, + is_plain_object, + is_primitive, + stringify_key, + stringify_string +} from './utils.js'; +import { + HOLE, + NAN, + NEGATIVE_INFINITY, + NEGATIVE_ZERO, + POSITIVE_INFINITY, + UNDEFINED +} from './constants.js'; +import { encode64 } from './base64.js'; + +/** + * Turn a value into a JSON string that can be parsed with `devalue.parse` + * @param {any} value + * @param {Record<string, (value: any) => any>} [reducers] + */ +export function stringify(value, reducers) { + /** @type {any[]} */ + const stringified = []; + + /** @type {Map<any, number>} */ + const indexes = new Map(); + + /** @type {Array<{ key: string, fn: (value: any) => any }>} */ + const custom = []; + if (reducers) { + for (const key of Object.getOwnPropertyNames(reducers)) { + custom.push({ key, fn: reducers[key] }); + } + } + + /** @type {string[]} */ + const keys = []; + + let p = 0; + + /** @param {any} thing */ + function flatten(thing) { + if (thing === undefined) return UNDEFINED; + if (Number.isNaN(thing)) return NAN; + if (thing === Infinity) return POSITIVE_INFINITY; + if (thing === -Infinity) return NEGATIVE_INFINITY; + if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO; + + if (indexes.has(thing)) return indexes.get(thing); + + const index = p++; + indexes.set(thing, index); + + for (const { key, fn } of custom) { + const value = fn(thing); + if (value) { + stringified[index] = `["${key}",${flatten(value)}]`; + return index; + } + } + + if (typeof thing === 'function') { + throw new DevalueError(`Cannot stringify a function`, keys, thing, value); + } + + let str = ''; + + if (is_primitive(thing)) { + str = stringify_primitive(thing); + } else { + const type = get_type(thing); + + switch (type) { + case 'Number': + case 'String': + case 'Boolean': + str = `["Object",${stringify_primitive(thing)}]`; + break; + + case 'BigInt': + str = `["BigInt",${thing}]`; + break; + + case 'Date': + const valid = !isNaN(thing.getDate()); + str = `["Date","${valid ? thing.toISOString() : ''}"]`; + break; + + case 'URL': + str = `["URL",${stringify_string(thing.toString())}]`; + break; + + case 'URLSearchParams': + str = `["URLSearchParams",${stringify_string(thing.toString())}]`; + break; + + case 'RegExp': + const { source, flags } = thing; + str = flags + ? `["RegExp",${stringify_string(source)},"${flags}"]` + : `["RegExp",${stringify_string(source)}]`; + break; + + case 'Array': + str = '['; + + for (let i = 0; i < thing.length; i += 1) { + if (i > 0) str += ','; + + if (i in thing) { + keys.push(`[${i}]`); + str += flatten(thing[i]); + keys.pop(); + } else { + str += HOLE; + } + } + + str += ']'; + + break; + + case 'Set': + str = '["Set"'; + + for (const value of thing) { + str += `,${flatten(value)}`; + } + + str += ']'; + break; + + case 'Map': + str = '["Map"'; + + for (const [key, value] of thing) { + keys.push( + `.get(${is_primitive(key) ? stringify_primitive(key) : '...'})` + ); + str += `,${flatten(key)},${flatten(value)}`; + keys.pop(); + } + + str += ']'; + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': { + /** @type {import("./types.js").TypedArray} */ + const typedArray = thing; + str = '["' + type + '",' + flatten(typedArray.buffer); + + const a = thing.byteOffset; + const b = a + thing.byteLength; + + // handle subarrays + if (a > 0 || b !== typedArray.buffer.byteLength) { + const m = +/(\d+)/.exec(type)[1] / 8; + str += `,${a / m},${b / m}`; + } + + str += ']'; + break; + } + + case 'ArrayBuffer': { + /** @type {ArrayBuffer} */ + const arraybuffer = thing; + const base64 = encode64(arraybuffer); + + str = `["ArrayBuffer","${base64}"]`; + break; + } + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + str = `["${type}",${stringify_string(thing.toString())}]`; + break; + + default: + if (!is_plain_object(thing)) { + throw new DevalueError( + `Cannot stringify arbitrary non-POJOs`, + keys, + thing, + value + ); + } + + if (enumerable_symbols(thing).length > 0) { + throw new DevalueError( + `Cannot stringify POJOs with symbolic keys`, + keys, + thing, + value + ); + } + + if (Object.getPrototypeOf(thing) === null) { + str = '["null"'; + for (const key in thing) { + keys.push(stringify_key(key)); + str += `,${stringify_string(key)},${flatten(thing[key])}`; + keys.pop(); + } + str += ']'; + } else { + str = '{'; + let started = false; + for (const key in thing) { + if (started) str += ','; + started = true; + keys.push(stringify_key(key)); + str += `${stringify_string(key)}:${flatten(thing[key])}`; + keys.pop(); + } + str += '}'; + } + } + } + + stringified[index] = str; + return index; + } + + const index = flatten(value); + + // special case — value is represented as a negative index + if (index < 0) return `${index}`; + + return `[${stringified.join(',')}]`; +} + +/** + * @param {any} thing + * @returns {string} + */ +function stringify_primitive(thing) { + const type = typeof thing; + if (type === 'string') return stringify_string(thing); + if (thing instanceof String) return stringify_string(thing.toString()); + if (thing === void 0) return UNDEFINED.toString(); + if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString(); + if (type === 'bigint') return `["BigInt","${thing}"]`; + return String(thing); +} diff --git a/.output/server/node_modules/devalue/src/uneval.js b/.output/server/node_modules/devalue/src/uneval.js new file mode 100644 index 00000000..cf4a5de6 --- /dev/null +++ b/.output/server/node_modules/devalue/src/uneval.js @@ -0,0 +1,407 @@ +import { + DevalueError, + enumerable_symbols, + escaped, + get_type, + is_plain_object, + is_primitive, + stringify_key, + stringify_string +} from './utils.js'; + +const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$'; +const unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g; +const reserved = + /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/; + +/** + * Turn a value into the JavaScript that creates an equivalent value + * @param {any} value + * @param {(value: any, uneval: (value: any) => string) => string | void} [replacer] + */ +export function uneval(value, replacer) { + const counts = new Map(); + + /** @type {string[]} */ + const keys = []; + + const custom = new Map(); + + /** @param {any} thing */ + function walk(thing) { + if (!is_primitive(thing)) { + if (counts.has(thing)) { + counts.set(thing, counts.get(thing) + 1); + return; + } + + counts.set(thing, 1); + + if (replacer) { + const str = replacer(thing, (value) => uneval(value, replacer)); + + if (typeof str === 'string') { + custom.set(thing, str); + return; + } + } + + if (typeof thing === 'function') { + throw new DevalueError(`Cannot stringify a function`, keys, thing, value); + } + + const type = get_type(thing); + + switch (type) { + case 'Number': + case 'BigInt': + case 'String': + case 'Boolean': + case 'Date': + case 'RegExp': + case 'URL': + case 'URLSearchParams': + return; + + case 'Array': + /** @type {any[]} */ (thing).forEach((value, i) => { + keys.push(`[${i}]`); + walk(value); + keys.pop(); + }); + break; + + case 'Set': + Array.from(thing).forEach(walk); + break; + + case 'Map': + for (const [key, value] of thing) { + keys.push( + `.get(${is_primitive(key) ? stringify_primitive(key) : '...'})` + ); + walk(value); + keys.pop(); + } + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + walk(thing.buffer); + return; + + case 'ArrayBuffer': + return; + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + return; + + default: + if (!is_plain_object(thing)) { + throw new DevalueError( + `Cannot stringify arbitrary non-POJOs`, + keys, + thing, + value + ); + } + + if (enumerable_symbols(thing).length > 0) { + throw new DevalueError( + `Cannot stringify POJOs with symbolic keys`, + keys, + thing, + value + ); + } + + for (const key in thing) { + keys.push(stringify_key(key)); + walk(thing[key]); + keys.pop(); + } + } + } + } + + walk(value); + + const names = new Map(); + + Array.from(counts) + .filter((entry) => entry[1] > 1) + .sort((a, b) => b[1] - a[1]) + .forEach((entry, i) => { + names.set(entry[0], get_name(i)); + }); + + /** + * @param {any} thing + * @returns {string} + */ + function stringify(thing) { + if (names.has(thing)) { + return names.get(thing); + } + + if (is_primitive(thing)) { + return stringify_primitive(thing); + } + + if (custom.has(thing)) { + return custom.get(thing); + } + + const type = get_type(thing); + + switch (type) { + case 'Number': + case 'String': + case 'Boolean': + return `Object(${stringify(thing.valueOf())})`; + + case 'RegExp': + return `new RegExp(${stringify_string(thing.source)}, "${ + thing.flags + }")`; + + case 'Date': + return `new Date(${thing.getTime()})`; + + case 'URL': + return `new URL(${stringify_string(thing.toString())})`; + + case 'URLSearchParams': + return `new URLSearchParams(${stringify_string(thing.toString())})`; + + case 'Array': + const members = /** @type {any[]} */ (thing).map((v, i) => + i in thing ? stringify(v) : '' + ); + const tail = thing.length === 0 || thing.length - 1 in thing ? '' : ','; + return `[${members.join(',')}${tail}]`; + + case 'Set': + case 'Map': + return `new ${type}([${Array.from(thing).map(stringify).join(',')}])`; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': { + let str = `new ${type}`; + + if (counts.get(thing.buffer) === 1) { + const array = new thing.constructor(thing.buffer); + str += `([${array}])`; + } else { + str += `([${stringify(thing.buffer)}])`; + } + + const a = thing.byteOffset; + const b = a + thing.byteLength; + + // handle subarrays + if (a > 0 || b !== thing.buffer.byteLength) { + const m = +/(\d+)/.exec(type)[1] / 8; + str += `.subarray(${a / m},${b / m})`; + } + + return str; + } + + case 'ArrayBuffer': { + const ui8 = new Uint8Array(thing); + return `new Uint8Array([${ui8.toString()}]).buffer`; + } + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + return `${type}.from(${stringify_string(thing.toString())})`; + + default: + const keys = Object.keys(thing); + const obj = keys + .map((key) => `${safe_key(key)}:${stringify(thing[key])}`) + .join(','); + const proto = Object.getPrototypeOf(thing); + if (proto === null) { + return keys.length > 0 + ? `{${obj},__proto__:null}` + : `{__proto__:null}`; + } + + return `{${obj}}`; + } + } + + const str = stringify(value); + + if (names.size) { + /** @type {string[]} */ + const params = []; + + /** @type {string[]} */ + const statements = []; + + /** @type {string[]} */ + const values = []; + + names.forEach((name, thing) => { + params.push(name); + + if (custom.has(thing)) { + values.push(/** @type {string} */ (custom.get(thing))); + return; + } + + if (is_primitive(thing)) { + values.push(stringify_primitive(thing)); + return; + } + + const type = get_type(thing); + + switch (type) { + case 'Number': + case 'String': + case 'Boolean': + values.push(`Object(${stringify(thing.valueOf())})`); + break; + + case 'RegExp': + values.push(thing.toString()); + break; + + case 'Date': + values.push(`new Date(${thing.getTime()})`); + break; + + case 'Array': + values.push(`Array(${thing.length})`); + /** @type {any[]} */ (thing).forEach((v, i) => { + statements.push(`${name}[${i}]=${stringify(v)}`); + }); + break; + + case 'Set': + values.push(`new Set`); + statements.push( + `${name}.${Array.from(thing) + .map((v) => `add(${stringify(v)})`) + .join('.')}` + ); + break; + + case 'Map': + values.push(`new Map`); + statements.push( + `${name}.${Array.from(thing) + .map(([k, v]) => `set(${stringify(k)}, ${stringify(v)})`) + .join('.')}` + ); + break; + + case 'ArrayBuffer': + values.push( + `new Uint8Array([${new Uint8Array(thing).join(',')}]).buffer` + ); + break; + + default: + values.push( + Object.getPrototypeOf(thing) === null ? 'Object.create(null)' : '{}' + ); + Object.keys(thing).forEach((key) => { + statements.push( + `${name}${safe_prop(key)}=${stringify(thing[key])}` + ); + }); + } + }); + + statements.push(`return ${str}`); + + return `(function(${params.join(',')}){${statements.join( + ';' + )}}(${values.join(',')}))`; + } else { + return str; + } +} + +/** @param {number} num */ +function get_name(num) { + let name = ''; + + do { + name = chars[num % chars.length] + name; + num = ~~(num / chars.length) - 1; + } while (num >= 0); + + return reserved.test(name) ? `${name}0` : name; +} + +/** @param {string} c */ +function escape_unsafe_char(c) { + return escaped[c] || c; +} + +/** @param {string} str */ +function escape_unsafe_chars(str) { + return str.replace(unsafe_chars, escape_unsafe_char); +} + +/** @param {string} key */ +function safe_key(key) { + return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) + ? key + : escape_unsafe_chars(JSON.stringify(key)); +} + +/** @param {string} key */ +function safe_prop(key) { + return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) + ? `.${key}` + : `[${escape_unsafe_chars(JSON.stringify(key))}]`; +} + +/** @param {any} thing */ +function stringify_primitive(thing) { + if (typeof thing === 'string') return stringify_string(thing); + if (thing === void 0) return 'void 0'; + if (thing === 0 && 1 / thing < 0) return '-0'; + const str = String(thing); + if (typeof thing === 'number') return str.replace(/^(-)?0\./, '$1.'); + if (typeof thing === 'bigint') return thing + 'n'; + return str; +} diff --git a/.output/server/node_modules/devalue/src/utils.js b/.output/server/node_modules/devalue/src/utils.js new file mode 100644 index 00000000..04e67ee3 --- /dev/null +++ b/.output/server/node_modules/devalue/src/utils.js @@ -0,0 +1,118 @@ +/** @type {Record<string, string>} */ +export const escaped = { + '<': '\\u003C', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\u2028': '\\u2028', + '\u2029': '\\u2029' +}; + +export class DevalueError extends Error { + /** + * @param {string} message + * @param {string[]} keys + * @param {any} [value] - The value that failed to be serialized + * @param {any} [root] - The root value being serialized + */ + constructor(message, keys, value, root) { + super(message); + this.name = 'DevalueError'; + this.path = keys.join(''); + this.value = value; + this.root = root; + } +} + +/** @param {any} thing */ +export function is_primitive(thing) { + return Object(thing) !== thing; +} + +const object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames( + Object.prototype +) + .sort() + .join('\0'); + +/** @param {any} thing */ +export function is_plain_object(thing) { + const proto = Object.getPrototypeOf(thing); + + return ( + proto === Object.prototype || + proto === null || + Object.getPrototypeOf(proto) === null || + Object.getOwnPropertyNames(proto).sort().join('\0') === object_proto_names + ); +} + +/** @param {any} thing */ +export function get_type(thing) { + return Object.prototype.toString.call(thing).slice(8, -1); +} + +/** @param {string} char */ +function get_escaped_char(char) { + switch (char) { + case '"': + return '\\"'; + case '<': + return '\\u003C'; + case '\\': + return '\\\\'; + case '\n': + return '\\n'; + case '\r': + return '\\r'; + case '\t': + return '\\t'; + case '\b': + return '\\b'; + case '\f': + return '\\f'; + case '\u2028': + return '\\u2028'; + case '\u2029': + return '\\u2029'; + default: + return char < ' ' + ? `\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}` + : ''; + } +} + +/** @param {string} str */ +export function stringify_string(str) { + let result = ''; + let last_pos = 0; + const len = str.length; + + for (let i = 0; i < len; i += 1) { + const char = str[i]; + const replacement = get_escaped_char(char); + if (replacement) { + result += str.slice(last_pos, i) + replacement; + last_pos = i + 1; + } + } + + return `"${last_pos === 0 ? str : result + str.slice(last_pos)}"`; +} + +/** @param {Record<string | symbol, any>} object */ +export function enumerable_symbols(object) { + return Object.getOwnPropertySymbols(object).filter( + (symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable + ); +} + +const is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/; + +/** @param {string} key */ +export function stringify_key(key) { + return is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']'; +} diff --git a/.output/server/node_modules/dom-align/dist-node/index.js b/.output/server/node_modules/dom-align/dist-node/index.js new file mode 100644 index 00000000..9d91522e --- /dev/null +++ b/.output/server/node_modules/dom-align/dist-node/index.js @@ -0,0 +1,1180 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var vendorPrefix; +var jsCssMap = { + Webkit: '-webkit-', + Moz: '-moz-', + // IE did it wrong again ... + ms: '-ms-', + O: '-o-' +}; +function getVendorPrefix() { + if (vendorPrefix !== undefined) { + return vendorPrefix; + } + vendorPrefix = ''; + var style = document.createElement('p').style; + var testProp = 'Transform'; + for (var key in jsCssMap) { + if (key + testProp in style) { + vendorPrefix = key; + } + } + return vendorPrefix; +} +function getTransitionName() { + return getVendorPrefix() ? "".concat(getVendorPrefix(), "TransitionProperty") : 'transitionProperty'; +} +function getTransformName() { + return getVendorPrefix() ? "".concat(getVendorPrefix(), "Transform") : 'transform'; +} +function setTransitionProperty(node, value) { + var name = getTransitionName(); + if (name) { + node.style[name] = value; + if (name !== 'transitionProperty') { + node.style.transitionProperty = value; + } + } +} +function setTransform(node, value) { + var name = getTransformName(); + if (name) { + node.style[name] = value; + if (name !== 'transform') { + node.style.transform = value; + } + } +} +function getTransitionProperty(node) { + return node.style.transitionProperty || node.style[getTransitionName()]; +} +function getTransformXY(node) { + var style = window.getComputedStyle(node, null); + var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName()); + if (transform && transform !== 'none') { + var matrix = transform.replace(/[^0-9\-.,]/g, '').split(','); + return { + x: parseFloat(matrix[12] || matrix[4], 0), + y: parseFloat(matrix[13] || matrix[5], 0) + }; + } + return { + x: 0, + y: 0 + }; +} +var matrix2d = /matrix\((.*)\)/; +var matrix3d = /matrix3d\((.*)\)/; +function setTransformXY(node, xy) { + var style = window.getComputedStyle(node, null); + var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName()); + if (transform && transform !== 'none') { + var arr; + var match2d = transform.match(matrix2d); + if (match2d) { + match2d = match2d[1]; + arr = match2d.split(',').map(function (item) { + return parseFloat(item, 10); + }); + arr[4] = xy.x; + arr[5] = xy.y; + setTransform(node, "matrix(".concat(arr.join(','), ")")); + } else { + var match3d = transform.match(matrix3d)[1]; + arr = match3d.split(',').map(function (item) { + return parseFloat(item, 10); + }); + arr[12] = xy.x; + arr[13] = xy.y; + setTransform(node, "matrix3d(".concat(arr.join(','), ")")); + } + } else { + setTransform(node, "translateX(".concat(xy.x, "px) translateY(").concat(xy.y, "px) translateZ(0)")); + } +} + +function _typeof(obj) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); +} +var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source; +var getComputedStyleX; + +// https://stackoverflow.com/a/3485654/3040605 +function forceRelayout(elem) { + var originalStyle = elem.style.display; + elem.style.display = 'none'; + elem.offsetHeight; // eslint-disable-line + elem.style.display = originalStyle; +} +function css(el, name, v) { + var value = v; + if (_typeof(name) === 'object') { + for (var i in name) { + if (name.hasOwnProperty(i)) { + css(el, i, name[i]); + } + } + return undefined; + } + if (typeof value !== 'undefined') { + if (typeof value === 'number') { + value = "".concat(value, "px"); + } + el.style[name] = value; + return undefined; + } + return getComputedStyleX(el, name); +} +function getClientPosition(elem) { + var box; + var x; + var y; + var doc = elem.ownerDocument; + var body = doc.body; + var docElem = doc && doc.documentElement; + // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式 + box = elem.getBoundingClientRect(); + + // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop + // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确 + // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin + + x = Math.floor(box.left); + y = Math.floor(box.top); + + // In IE, most of the time, 2 extra pixels are added to the top and left + // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and + // IE6 standards mode, this border can be overridden by setting the + // document element's border to zero -- thus, we cannot rely on the + // offset always being 2 pixels. + + // In quirks mode, the offset can be determined by querying the body's + // clientLeft/clientTop, but in standards mode, it is found by querying + // the document element's clientLeft/clientTop. Since we already called + // getClientBoundingRect we have already forced a reflow, so it is not + // too expensive just to query them all. + + // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的 + // 窗口边框标准是设 documentElement ,quirks 时设置 body + // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去 + // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置 + // 标准 ie 下 docElem.clientTop 就是 border-top + // ie7 html 即窗口边框改变不了。永远为 2 + // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0 + + x -= docElem.clientLeft || body.clientLeft || 0; + y -= docElem.clientTop || body.clientTop || 0; + return { + left: x, + top: y + }; +} +function getScroll(w, top) { + var ret = w["page".concat(top ? 'Y' : 'X', "Offset")]; + var method = "scroll".concat(top ? 'Top' : 'Left'); + if (typeof ret !== 'number') { + var d = w.document; + // ie6,7,8 standard mode + ret = d.documentElement[method]; + if (typeof ret !== 'number') { + // quirks mode + ret = d.body[method]; + } + } + return ret; +} +function getScrollLeft(w) { + return getScroll(w); +} +function getScrollTop(w) { + return getScroll(w, true); +} +function getOffset(el) { + var pos = getClientPosition(el); + var doc = el.ownerDocument; + var w = doc.defaultView || doc.parentWindow; + pos.left += getScrollLeft(w); + pos.top += getScrollTop(w); + return pos; +} + +/** + * A crude way of determining if an object is a window + * @member util + */ +function isWindow(obj) { + // must use == for ie8 + /* eslint eqeqeq:0 */ + return obj !== null && obj !== undefined && obj == obj.window; +} +function getDocument(node) { + if (isWindow(node)) { + return node.document; + } + if (node.nodeType === 9) { + return node; + } + return node.ownerDocument; +} +function _getComputedStyle(elem, name, cs) { + var computedStyle = cs; + var val = ''; + var d = getDocument(elem); + computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); + + // https://github.com/kissyteam/kissy/issues/61 + if (computedStyle) { + val = computedStyle.getPropertyValue(name) || computedStyle[name]; + } + return val; +} +var _RE_NUM_NO_PX = new RegExp("^(".concat(RE_NUM, ")(?!px)[a-z%]+$"), 'i'); +var RE_POS = /^(top|right|bottom|left)$/; +var CURRENT_STYLE = 'currentStyle'; +var RUNTIME_STYLE = 'runtimeStyle'; +var LEFT = 'left'; +var PX = 'px'; +function _getComputedStyleIE(elem, name) { + // currentStyle maybe null + // http://msdn.microsoft.com/en-us/library/ms535231.aspx + var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; + + // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值 + // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19 + // 在 ie 下不对,需要直接用 offset 方式 + // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了 + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // exclude left right for relativity + if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) { + // Remember the original values + var style = elem.style; + var left = style[LEFT]; + var rsLeft = elem[RUNTIME_STYLE][LEFT]; + + // prevent flashing of content + elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; + + // Put in the new values to get a computed value out + style[LEFT] = name === 'fontSize' ? '1em' : ret || 0; + ret = style.pixelLeft + PX; + + // Revert the changed values + style[LEFT] = left; + elem[RUNTIME_STYLE][LEFT] = rsLeft; + } + return ret === '' ? 'auto' : ret; +} +if (typeof window !== 'undefined') { + getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE; +} +function getOffsetDirection(dir, option) { + if (dir === 'left') { + return option.useCssRight ? 'right' : dir; + } + return option.useCssBottom ? 'bottom' : dir; +} +function oppositeOffsetDirection(dir) { + if (dir === 'left') { + return 'right'; + } else if (dir === 'right') { + return 'left'; + } else if (dir === 'top') { + return 'bottom'; + } else if (dir === 'bottom') { + return 'top'; + } +} + +// 设置 elem 相对 elem.ownerDocument 的坐标 +function setLeftTop(elem, offset, option) { + // set position first, in-case top/left are set even on static elem + if (css(elem, 'position') === 'static') { + elem.style.position = 'relative'; + } + var presetH = -999; + var presetV = -999; + var horizontalProperty = getOffsetDirection('left', option); + var verticalProperty = getOffsetDirection('top', option); + var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty); + var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty); + if (horizontalProperty !== 'left') { + presetH = 999; + } + if (verticalProperty !== 'top') { + presetV = 999; + } + var originalTransition = ''; + var originalOffset = getOffset(elem); + if ('left' in offset || 'top' in offset) { + originalTransition = getTransitionProperty(elem) || ''; + setTransitionProperty(elem, 'none'); + } + if ('left' in offset) { + elem.style[oppositeHorizontalProperty] = ''; + elem.style[horizontalProperty] = "".concat(presetH, "px"); + } + if ('top' in offset) { + elem.style[oppositeVerticalProperty] = ''; + elem.style[verticalProperty] = "".concat(presetV, "px"); + } + // force relayout + forceRelayout(elem); + var old = getOffset(elem); + var originalStyle = {}; + for (var key in offset) { + if (offset.hasOwnProperty(key)) { + var dir = getOffsetDirection(key, option); + var preset = key === 'left' ? presetH : presetV; + var off = originalOffset[key] - old[key]; + if (dir === key) { + originalStyle[dir] = preset + off; + } else { + originalStyle[dir] = preset - off; + } + } + } + css(elem, originalStyle); + // force relayout + forceRelayout(elem); + if ('left' in offset || 'top' in offset) { + setTransitionProperty(elem, originalTransition); + } + var ret = {}; + for (var _key in offset) { + if (offset.hasOwnProperty(_key)) { + var _dir = getOffsetDirection(_key, option); + var _off = offset[_key] - originalOffset[_key]; + if (_key === _dir) { + ret[_dir] = originalStyle[_dir] + _off; + } else { + ret[_dir] = originalStyle[_dir] - _off; + } + } + } + css(elem, ret); +} +function setTransform$1(elem, offset) { + var originalOffset = getOffset(elem); + var originalXY = getTransformXY(elem); + var resultXY = { + x: originalXY.x, + y: originalXY.y + }; + if ('left' in offset) { + resultXY.x = originalXY.x + offset.left - originalOffset.left; + } + if ('top' in offset) { + resultXY.y = originalXY.y + offset.top - originalOffset.top; + } + setTransformXY(elem, resultXY); +} +function setOffset(elem, offset, option) { + if (option.ignoreShake) { + var oriOffset = getOffset(elem); + var oLeft = oriOffset.left.toFixed(0); + var oTop = oriOffset.top.toFixed(0); + var tLeft = offset.left.toFixed(0); + var tTop = offset.top.toFixed(0); + if (oLeft === tLeft && oTop === tTop) { + return; + } + } + if (option.useCssRight || option.useCssBottom) { + setLeftTop(elem, offset, option); + } else if (option.useCssTransform && getTransformName() in document.body.style) { + setTransform$1(elem, offset); + } else { + setLeftTop(elem, offset, option); + } +} +function each(arr, fn) { + for (var i = 0; i < arr.length; i++) { + fn(arr[i]); + } +} +function isBorderBoxFn(elem) { + return getComputedStyleX(elem, 'boxSizing') === 'border-box'; +} +var BOX_MODELS = ['margin', 'border', 'padding']; +var CONTENT_INDEX = -1; +var PADDING_INDEX = 2; +var BORDER_INDEX = 1; +var MARGIN_INDEX = 0; +function swap(elem, options, callback) { + var old = {}; + var style = elem.style; + var name; + + // Remember the old values, and insert the new ones + for (name in options) { + if (options.hasOwnProperty(name)) { + old[name] = style[name]; + style[name] = options[name]; + } + } + callback.call(elem); + + // Revert the old values + for (name in options) { + if (options.hasOwnProperty(name)) { + style[name] = old[name]; + } + } +} +function getPBMWidth(elem, props, which) { + var value = 0; + var prop; + var j; + var i; + for (j = 0; j < props.length; j++) { + prop = props[j]; + if (prop) { + for (i = 0; i < which.length; i++) { + var cssProp = void 0; + if (prop === 'border') { + cssProp = "".concat(prop).concat(which[i], "Width"); + } else { + cssProp = prop + which[i]; + } + value += parseFloat(getComputedStyleX(elem, cssProp)) || 0; + } + } + } + return value; +} +var domUtils = { + getParent: function getParent(element) { + var parent = element; + do { + if (parent.nodeType === 11 && parent.host) { + parent = parent.host; + } else { + parent = parent.parentNode; + } + } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9); + return parent; + } +}; +each(['Width', 'Height'], function (name) { + domUtils["doc".concat(name)] = function (refWin) { + var d = refWin.document; + return Math.max( + // firefox chrome documentElement.scrollHeight< body.scrollHeight + // ie standard mode : documentElement.scrollHeight> body.scrollHeight + d.documentElement["scroll".concat(name)], + // quirks : documentElement.scrollHeight 最大等于可视窗口多一点? + d.body["scroll".concat(name)], domUtils["viewport".concat(name)](d)); + }; + domUtils["viewport".concat(name)] = function (win) { + // pc browser includes scrollbar in window.innerWidth + var prop = "client".concat(name); + var doc = win.document; + var body = doc.body; + var documentElement = doc.documentElement; + var documentElementProp = documentElement[prop]; + // 标准模式取 documentElement + // backcompat 取 body + return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp; + }; +}); + +/* + 得到元素的大小信息 + @param elem + @param name + @param {String} [extra] 'padding' : (css width) + padding + 'border' : (css width) + padding + border + 'margin' : (css width) + padding + border + margin + */ +function getWH(elem, name, ex) { + var extra = ex; + if (isWindow(elem)) { + return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem); + } else if (elem.nodeType === 9) { + return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem); + } + var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height); + var isBorderBox = isBorderBoxFn(elem); + var cssBoxValue = 0; + if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) { + borderBoxValue = undefined; + // Fall back to computed then un computed css if necessary + cssBoxValue = getComputedStyleX(elem, name); + if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) { + cssBoxValue = elem.style[name] || 0; + } + // Normalize '', auto, and prepare for extra + cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0; + } + if (extra === undefined) { + extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX; + } + var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox; + var val = borderBoxValue || cssBoxValue; + if (extra === CONTENT_INDEX) { + if (borderBoxValueOrIsBorderBox) { + return val - getPBMWidth(elem, ['border', 'padding'], which); + } + return cssBoxValue; + } else if (borderBoxValueOrIsBorderBox) { + if (extra === BORDER_INDEX) { + return val; + } + return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which)); + } + return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which); +} +var cssShow = { + position: 'absolute', + visibility: 'hidden', + display: 'block' +}; + +// fix #119 : https://github.com/kissyteam/kissy/issues/119 +function getWHIgnoreDisplay() { + for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) { + args[_key2] = arguments[_key2]; + } + var val; + var elem = args[0]; + // in case elem is window + // elem.offsetWidth === undefined + if (elem.offsetWidth !== 0) { + val = getWH.apply(undefined, args); + } else { + swap(elem, cssShow, function () { + val = getWH.apply(undefined, args); + }); + } + return val; +} +each(['width', 'height'], function (name) { + var first = name.charAt(0).toUpperCase() + name.slice(1); + domUtils["outer".concat(first)] = function (el, includeMargin) { + return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX); + }; + var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + domUtils[name] = function (elem, v) { + var val = v; + if (val !== undefined) { + if (elem) { + var isBorderBox = isBorderBoxFn(elem); + if (isBorderBox) { + val += getPBMWidth(elem, ['padding', 'border'], which); + } + return css(elem, name, val); + } + return undefined; + } + return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX); + }; +}); +function mix(to, from) { + for (var i in from) { + if (from.hasOwnProperty(i)) { + to[i] = from[i]; + } + } + return to; +} +var utils = { + getWindow: function getWindow(node) { + if (node && node.document && node.setTimeout) { + return node; + } + var doc = node.ownerDocument || node; + return doc.defaultView || doc.parentWindow; + }, + getDocument: getDocument, + offset: function offset(el, value, option) { + if (typeof value !== 'undefined') { + setOffset(el, value, option || {}); + } else { + return getOffset(el); + } + }, + isWindow: isWindow, + each: each, + css: css, + clone: function clone(obj) { + var i; + var ret = {}; + for (i in obj) { + if (obj.hasOwnProperty(i)) { + ret[i] = obj[i]; + } + } + var overflow = obj.overflow; + if (overflow) { + for (i in obj) { + if (obj.hasOwnProperty(i)) { + ret.overflow[i] = obj.overflow[i]; + } + } + } + return ret; + }, + mix: mix, + getWindowScrollLeft: function getWindowScrollLeft(w) { + return getScrollLeft(w); + }, + getWindowScrollTop: function getWindowScrollTop(w) { + return getScrollTop(w); + }, + merge: function merge() { + var ret = {}; + for (var i = 0; i < arguments.length; i++) { + utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]); + } + return ret; + }, + viewportWidth: 0, + viewportHeight: 0 +}; +mix(utils, domUtils); + +/** + * 得到会导致元素显示不全的祖先元素 + */ +var getParent = utils.getParent; +function getOffsetParent(element) { + if (utils.isWindow(element) || element.nodeType === 9) { + return null; + } + // ie 这个也不是完全可行 + /* + <div style="width: 50px;height: 100px;overflow: hidden"> + <div style="width: 50px;height: 100px;position: relative;" id="d6"> + 元素 6 高 100px 宽 50px<br/> + </div> + </div> + */ + // element.offsetParent does the right thing in ie7 and below. Return parent with layout! + // In other browsers it only includes elements with position absolute, relative or + // fixed, not elements with overflow set to auto or scroll. + // if (UA.ie && ieMode < 8) { + // return element.offsetParent; + // } + // 统一的 offsetParent 方法 + var doc = utils.getDocument(element); + var body = doc.body; + var parent; + var positionStyle = utils.css(element, 'position'); + var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute'; + if (!skipStatic) { + return element.nodeName.toLowerCase() === 'html' ? null : getParent(element); + } + for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) { + positionStyle = utils.css(parent, 'position'); + if (positionStyle !== 'static') { + return parent; + } + } + return null; +} + +var getParent$1 = utils.getParent; +function isAncestorFixed(element) { + if (utils.isWindow(element) || element.nodeType === 9) { + return false; + } + var doc = utils.getDocument(element); + var body = doc.body; + var parent = null; + for (parent = getParent$1(element); + // 修复元素位于 document.documentElement 下导致崩溃问题 + parent && parent !== body && parent !== doc; parent = getParent$1(parent)) { + var positionStyle = utils.css(parent, 'position'); + if (positionStyle === 'fixed') { + return true; + } + } + return false; +} + +/** + * 获得元素的显示部分的区域 + */ +function getVisibleRectForElement(element, alwaysByViewport) { + var visibleRect = { + left: 0, + right: Infinity, + top: 0, + bottom: Infinity + }; + var el = getOffsetParent(element); + var doc = utils.getDocument(element); + var win = doc.defaultView || doc.parentWindow; + var body = doc.body; + var documentElement = doc.documentElement; + + // Determine the size of the visible rect by climbing the dom accounting for + // all scrollable containers. + while (el) { + // clientWidth is zero for inline block elements in ie. + if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && + // body may have overflow set on it, yet we still get the entire + // viewport. In some browsers, el.offsetParent may be + // document.documentElement, so check for that too. + el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') { + var pos = utils.offset(el); + // add border + pos.left += el.clientLeft; + pos.top += el.clientTop; + visibleRect.top = Math.max(visibleRect.top, pos.top); + visibleRect.right = Math.min(visibleRect.right, + // consider area without scrollBar + pos.left + el.clientWidth); + visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight); + visibleRect.left = Math.max(visibleRect.left, pos.left); + } else if (el === body || el === documentElement) { + break; + } + el = getOffsetParent(el); + } + + // Set element position to fixed + // make sure absolute element itself don't affect it's visible area + // https://github.com/ant-design/ant-design/issues/7601 + var originalPosition = null; + if (!utils.isWindow(element) && element.nodeType !== 9) { + originalPosition = element.style.position; + var position = utils.css(element, 'position'); + if (position === 'absolute') { + element.style.position = 'fixed'; + } + } + var scrollX = utils.getWindowScrollLeft(win); + var scrollY = utils.getWindowScrollTop(win); + var viewportWidth = utils.viewportWidth(win); + var viewportHeight = utils.viewportHeight(win); + var documentWidth = documentElement.scrollWidth; + var documentHeight = documentElement.scrollHeight; + + // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX. + // We should cut this ourself. + var bodyStyle = window.getComputedStyle(body); + if (bodyStyle.overflowX === 'hidden') { + documentWidth = win.innerWidth; + } + if (bodyStyle.overflowY === 'hidden') { + documentHeight = win.innerHeight; + } + + // Reset element position after calculate the visible area + if (element.style) { + element.style.position = originalPosition; + } + if (alwaysByViewport || isAncestorFixed(element)) { + // Clip by viewport's size. + visibleRect.left = Math.max(visibleRect.left, scrollX); + visibleRect.top = Math.max(visibleRect.top, scrollY); + visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth); + visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight); + } else { + // Clip by document's size. + var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth); + visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth); + var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight); + visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight); + } + return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null; +} + +function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) { + var pos = utils.clone(elFuturePos); + var size = { + width: elRegion.width, + height: elRegion.height + }; + if (overflow.adjustX && pos.left < visibleRect.left) { + pos.left = visibleRect.left; + } + + // Left edge inside and right edge outside viewport, try to resize it. + if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) { + size.width -= pos.left + size.width - visibleRect.right; + } + + // Right edge outside viewport, try to move it. + if (overflow.adjustX && pos.left + size.width > visibleRect.right) { + // 保证左边界和可视区域左边界对齐 + pos.left = Math.max(visibleRect.right - size.width, visibleRect.left); + } + + // Top edge outside viewport, try to move it. + if (overflow.adjustY && pos.top < visibleRect.top) { + pos.top = visibleRect.top; + } + + // Top edge inside and bottom edge outside viewport, try to resize it. + if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) { + size.height -= pos.top + size.height - visibleRect.bottom; + } + + // Bottom edge outside viewport, try to move it. + if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) { + // 保证上边界和可视区域上边界对齐 + pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top); + } + return utils.mix(pos, size); +} + +function getRegion(node) { + var offset; + var w; + var h; + if (!utils.isWindow(node) && node.nodeType !== 9) { + offset = utils.offset(node); + w = utils.outerWidth(node); + h = utils.outerHeight(node); + } else { + var win = utils.getWindow(node); + offset = { + left: utils.getWindowScrollLeft(win), + top: utils.getWindowScrollTop(win) + }; + w = utils.viewportWidth(win); + h = utils.viewportHeight(win); + } + offset.width = w; + offset.height = h; + return offset; +} + +/** + * 获取 node 上的 align 对齐点 相对于页面的坐标 + */ + +function getAlignOffset(region, align) { + var V = align.charAt(0); + var H = align.charAt(1); + var w = region.width; + var h = region.height; + var x = region.left; + var y = region.top; + if (V === 'c') { + y += h / 2; + } else if (V === 'b') { + y += h; + } + if (H === 'c') { + x += w / 2; + } else if (H === 'r') { + x += w; + } + return { + left: x, + top: y + }; +} + +function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) { + var p1 = getAlignOffset(refNodeRegion, points[1]); + var p2 = getAlignOffset(elRegion, points[0]); + var diff = [p2.left - p1.left, p2.top - p1.top]; + return { + left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]), + top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1]) + }; +} + +/** + * align dom node flexibly + * @author yiminghe@gmail.com + */ + +// http://yiminghe.iteye.com/blog/1124720 + +function isFailX(elFuturePos, elRegion, visibleRect) { + return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right; +} +function isFailY(elFuturePos, elRegion, visibleRect) { + return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom; +} +function isCompleteFailX(elFuturePos, elRegion, visibleRect) { + return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left; +} +function isCompleteFailY(elFuturePos, elRegion, visibleRect) { + return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top; +} +function flip(points, reg, map) { + var ret = []; + utils.each(points, function (p) { + ret.push(p.replace(reg, function (m) { + return map[m]; + })); + }); + return ret; +} +function flipOffset(offset, index) { + offset[index] = -offset[index]; + return offset; +} +function convertOffset(str, offsetLen) { + var n; + if (/%$/.test(str)) { + n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen; + } else { + n = parseInt(str, 10); + } + return n || 0; +} +function normalizeOffset(offset, el) { + offset[0] = convertOffset(offset[0], el.width); + offset[1] = convertOffset(offset[1], el.height); +} + +/** + * @param el + * @param tgtRegion 参照节点所占的区域: { left, top, width, height } + * @param align + */ +function doAlign(el, tgtRegion, align, isTgtRegionVisible) { + var points = align.points; + var offset = align.offset || [0, 0]; + var targetOffset = align.targetOffset || [0, 0]; + var overflow = align.overflow; + var source = align.source || el; + offset = [].concat(offset); + targetOffset = [].concat(targetOffset); + overflow = overflow || {}; + var newOverflowCfg = {}; + var fail = 0; + var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); + // 当前节点可以被放置的显示区域 + var visibleRect = getVisibleRectForElement(source, alwaysByViewport); + // 当前节点所占的区域, left/top/width/height + var elRegion = getRegion(source); + // 将 offset 转换成数值,支持百分比 + normalizeOffset(offset, elRegion); + normalizeOffset(targetOffset, tgtRegion); + // 当前节点将要被放置的位置 + var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); + // 当前节点将要所处的区域 + var newElRegion = utils.merge(elRegion, elFuturePos); + + // 如果可视区域不能完全放置当前节点时允许调整 + if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) { + if (overflow.adjustX) { + // 如果横向不能放下 + if (isFailX(elFuturePos, elRegion, visibleRect)) { + // 对齐位置反下 + var newPoints = flip(points, /[lr]/gi, { + l: 'r', + r: 'l' + }); + // 偏移量也反下 + var newOffset = flipOffset(offset, 0); + var newTargetOffset = flipOffset(targetOffset, 0); + var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset); + if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) { + fail = 1; + points = newPoints; + offset = newOffset; + targetOffset = newTargetOffset; + } + } + } + if (overflow.adjustY) { + // 如果纵向不能放下 + if (isFailY(elFuturePos, elRegion, visibleRect)) { + // 对齐位置反下 + var _newPoints = flip(points, /[tb]/gi, { + t: 'b', + b: 't' + }); + // 偏移量也反下 + var _newOffset = flipOffset(offset, 1); + var _newTargetOffset = flipOffset(targetOffset, 1); + var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset); + if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) { + fail = 1; + points = _newPoints; + offset = _newOffset; + targetOffset = _newTargetOffset; + } + } + } + + // 如果失败,重新计算当前节点将要被放置的位置 + if (fail) { + elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); + utils.mix(newElRegion, elFuturePos); + } + var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect); + var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); + // 检查反下后的位置是否可以放下了,如果仍然放不下: + // 1. 复原修改过的定位参数 + if (isStillFailX || isStillFailY) { + var _newPoints2 = points; + + // 重置对应部分的翻转逻辑 + if (isStillFailX) { + _newPoints2 = flip(points, /[lr]/gi, { + l: 'r', + r: 'l' + }); + } + if (isStillFailY) { + _newPoints2 = flip(points, /[tb]/gi, { + t: 'b', + b: 't' + }); + } + points = _newPoints2; + offset = align.offset || [0, 0]; + targetOffset = align.targetOffset || [0, 0]; + } + // 2. 只有指定了可以调整当前方向才调整 + newOverflowCfg.adjustX = overflow.adjustX && isStillFailX; + newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; + + // 确实要调整,甚至可能会调整高度宽度 + if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) { + newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg); + } + } + + // need judge to in case set fixed with in css on height auto element + if (newElRegion.width !== elRegion.width) { + utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width); + } + if (newElRegion.height !== elRegion.height) { + utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height); + } + + // https://github.com/kissyteam/kissy/issues/190 + // 相对于屏幕位置没变,而 left/top 变了 + // 例如 <div 'relative'><el absolute></div> + utils.offset(source, { + left: newElRegion.left, + top: newElRegion.top + }, { + useCssRight: align.useCssRight, + useCssBottom: align.useCssBottom, + useCssTransform: align.useCssTransform, + ignoreShake: align.ignoreShake + }); + return { + points: points, + offset: offset, + targetOffset: targetOffset, + overflow: newOverflowCfg + }; +} +/** + * 2012-04-26 yiminghe@gmail.com + * - 优化智能对齐算法 + * - 慎用 resizeXX + * + * 2011-07-13 yiminghe@gmail.com note: + * - 增加智能对齐,以及大小调整选项 + **/ + +function isOutOfVisibleRect(target, alwaysByViewport) { + var visibleRect = getVisibleRectForElement(target, alwaysByViewport); + var targetRegion = getRegion(target); + return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom; +} +function alignElement(el, refNode, align) { + var target = align.target || refNode; + var refNodeRegion = getRegion(target); + var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport); + return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible); +} +alignElement.__getOffsetParent = getOffsetParent; +alignElement.__getVisibleRectForElement = getVisibleRectForElement; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + return keys; +} +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + return target; +} +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} + +/** + * `tgtPoint`: { pageX, pageY } or { clientX, clientY }. + * If client position provided, will internal convert to page position. + */ + +function alignPoint(el, tgtPoint, align) { + var pageX; + var pageY; + var doc = utils.getDocument(el); + var win = doc.defaultView || doc.parentWindow; + var scrollX = utils.getWindowScrollLeft(win); + var scrollY = utils.getWindowScrollTop(win); + var viewportWidth = utils.viewportWidth(win); + var viewportHeight = utils.viewportHeight(win); + if ('pageX' in tgtPoint) { + pageX = tgtPoint.pageX; + } else { + pageX = scrollX + tgtPoint.clientX; + } + if ('pageY' in tgtPoint) { + pageY = tgtPoint.pageY; + } else { + pageY = scrollY + tgtPoint.clientY; + } + var tgtRegion = { + left: pageX, + top: pageY, + width: 0, + height: 0 + }; + var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; + + // Provide default target point + var points = [align.points[0], 'cc']; + return doAlign(el, tgtRegion, _objectSpread(_objectSpread({}, align), {}, { + points: points + }), pointInView); +} + +exports.alignElement = alignElement; +exports.alignPoint = alignPoint; +exports.default = alignElement; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/dom-align/package.json b/.output/server/node_modules/dom-align/package.json new file mode 100644 index 00000000..e15ffcbd --- /dev/null +++ b/.output/server/node_modules/dom-align/package.json @@ -0,0 +1,44 @@ +{ + "name": "dom-align", + "description": "Align DOM Node Flexibly ", + "version": "1.12.4", + "license": "MIT", + "pika": true, + "sideEffects": false, + "keywords": [ + "dom", + "align" + ], + "homepage": "http://github.com/yiminghe/dom-align", + "bugs": { + "url": "http://github.com/yiminghe/dom-align/issues" + }, + "repository": { + "type": "git", + "url": "git@github.com:yiminghe/dom-align.git" + }, + "dependencies": {}, + "devDependencies": { + "@pika/pack": "0.5.x", + "@pika/plugin-build-node": "^0.6.0", + "@pika/plugin-build-types": "^0.6.0", + "@pika/plugin-standard-pkg": "^0.6.0", + "@pika/types": "^0.6.0", + "babel-preset-env": "^1.7.0", + "create-react-class": "^15.6.3", + "expect.js": "^0.3.1", + "jquery": "^3.4.1", + "lint-staged": "^9.2.1", + "pika-plugin-build-web-babel": "^0.6.0", + "pika-plugin-clean-dist-src": "^0.1.1", + "pre-commit": "1.x", + "prettier": "^1.18.2", + "rc-test": "6.x", + "rc-tools": "6.x", + "react": "16.x", + "react-dom": "16.x" + }, + "module": "dist-web/index.js", + "main": "dist-node/index.js", + "types": "dist-types/index.d.ts" +} \ No newline at end of file diff --git a/.output/server/node_modules/dom-serializer/lib/foreignNames.js b/.output/server/node_modules/dom-serializer/lib/foreignNames.js new file mode 100644 index 00000000..3b24b75a --- /dev/null +++ b/.output/server/node_modules/dom-serializer/lib/foreignNames.js @@ -0,0 +1,103 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.attributeNames = exports.elementNames = void 0; +exports.elementNames = new Map([ + "altGlyph", + "altGlyphDef", + "altGlyphItem", + "animateColor", + "animateMotion", + "animateTransform", + "clipPath", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "foreignObject", + "glyphRef", + "linearGradient", + "radialGradient", + "textPath", +].map(function (val) { return [val.toLowerCase(), val]; })); +exports.attributeNames = new Map([ + "definitionURL", + "attributeName", + "attributeType", + "baseFrequency", + "baseProfile", + "calcMode", + "clipPathUnits", + "diffuseConstant", + "edgeMode", + "filterUnits", + "glyphRef", + "gradientTransform", + "gradientUnits", + "kernelMatrix", + "kernelUnitLength", + "keyPoints", + "keySplines", + "keyTimes", + "lengthAdjust", + "limitingConeAngle", + "markerHeight", + "markerUnits", + "markerWidth", + "maskContentUnits", + "maskUnits", + "numOctaves", + "pathLength", + "patternContentUnits", + "patternTransform", + "patternUnits", + "pointsAtX", + "pointsAtY", + "pointsAtZ", + "preserveAlpha", + "preserveAspectRatio", + "primitiveUnits", + "refX", + "refY", + "repeatCount", + "repeatDur", + "requiredExtensions", + "requiredFeatures", + "specularConstant", + "specularExponent", + "spreadMethod", + "startOffset", + "stdDeviation", + "stitchTiles", + "surfaceScale", + "systemLanguage", + "tableValues", + "targetX", + "targetY", + "textLength", + "viewBox", + "viewTarget", + "xChannelSelector", + "yChannelSelector", + "zoomAndPan", +].map(function (val) { return [val.toLowerCase(), val]; })); diff --git a/.output/server/node_modules/dom-serializer/lib/index.js b/.output/server/node_modules/dom-serializer/lib/index.js new file mode 100644 index 00000000..af996ff4 --- /dev/null +++ b/.output/server/node_modules/dom-serializer/lib/index.js @@ -0,0 +1,229 @@ +"use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.render = void 0; +/* + * Module dependencies + */ +var ElementType = __importStar(require("domelementtype")); +var entities_1 = require("entities"); +/** + * Mixed-case SVG and MathML tags & attributes + * recognized by the HTML parser. + * + * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign + */ +var foreignNames_js_1 = require("./foreignNames.js"); +var unencodedElements = new Set([ + "style", + "script", + "xmp", + "iframe", + "noembed", + "noframes", + "plaintext", + "noscript", +]); +function replaceQuotes(value) { + return value.replace(/"/g, """); +} +/** + * Format attributes + */ +function formatAttributes(attributes, opts) { + var _a; + if (!attributes) + return; + var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false + ? replaceQuotes + : opts.xmlMode || opts.encodeEntities !== "utf8" + ? entities_1.encodeXML + : entities_1.escapeAttribute; + return Object.keys(attributes) + .map(function (key) { + var _a, _b; + var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : ""; + if (opts.xmlMode === "foreign") { + /* Fix up mixed-case attribute names */ + key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key; + } + if (!opts.emptyAttrs && !opts.xmlMode && value === "") { + return key; + } + return "".concat(key, "=\"").concat(encode(value), "\""); + }) + .join(" "); +} +/** + * Self-enclosing tags + */ +var singleTag = new Set([ + "area", + "base", + "basefont", + "br", + "col", + "command", + "embed", + "frame", + "hr", + "img", + "input", + "isindex", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", +]); +/** + * Renders a DOM node or an array of DOM nodes to a string. + * + * Can be thought of as the equivalent of the `outerHTML` of the passed node(s). + * + * @param node Node to be rendered. + * @param options Changes serialization behavior + */ +function render(node, options) { + if (options === void 0) { options = {}; } + var nodes = "length" in node ? node : [node]; + var output = ""; + for (var i = 0; i < nodes.length; i++) { + output += renderNode(nodes[i], options); + } + return output; +} +exports.render = render; +exports.default = render; +function renderNode(node, options) { + switch (node.type) { + case ElementType.Root: + return render(node.children, options); + // @ts-expect-error We don't use `Doctype` yet + case ElementType.Doctype: + case ElementType.Directive: + return renderDirective(node); + case ElementType.Comment: + return renderComment(node); + case ElementType.CDATA: + return renderCdata(node); + case ElementType.Script: + case ElementType.Style: + case ElementType.Tag: + return renderTag(node, options); + case ElementType.Text: + return renderText(node, options); + } +} +var foreignModeIntegrationPoints = new Set([ + "mi", + "mo", + "mn", + "ms", + "mtext", + "annotation-xml", + "foreignObject", + "desc", + "title", +]); +var foreignElements = new Set(["svg", "math"]); +function renderTag(elem, opts) { + var _a; + // Handle SVG / MathML in HTML + if (opts.xmlMode === "foreign") { + /* Fix up mixed-case element names */ + elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name; + /* Exit foreign mode at integration points */ + if (elem.parent && + foreignModeIntegrationPoints.has(elem.parent.name)) { + opts = __assign(__assign({}, opts), { xmlMode: false }); + } + } + if (!opts.xmlMode && foreignElements.has(elem.name)) { + opts = __assign(__assign({}, opts), { xmlMode: "foreign" }); + } + var tag = "<".concat(elem.name); + var attribs = formatAttributes(elem.attribs, opts); + if (attribs) { + tag += " ".concat(attribs); + } + if (elem.children.length === 0 && + (opts.xmlMode + ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags + opts.selfClosingTags !== false + : // User explicitly asked for self-closing tags, even in HTML mode + opts.selfClosingTags && singleTag.has(elem.name))) { + if (!opts.xmlMode) + tag += " "; + tag += "/>"; + } + else { + tag += ">"; + if (elem.children.length > 0) { + tag += render(elem.children, opts); + } + if (opts.xmlMode || !singleTag.has(elem.name)) { + tag += "</".concat(elem.name, ">"); + } + } + return tag; +} +function renderDirective(elem) { + return "<".concat(elem.data, ">"); +} +function renderText(elem, opts) { + var _a; + var data = elem.data || ""; + // If entities weren't decoded, no need to encode them back + if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false && + !(!opts.xmlMode && + elem.parent && + unencodedElements.has(elem.parent.name))) { + data = + opts.xmlMode || opts.encodeEntities !== "utf8" + ? (0, entities_1.encodeXML)(data) + : (0, entities_1.escapeText)(data); + } + return data; +} +function renderCdata(elem) { + return "<![CDATA[".concat(elem.children[0].data, "]]>"); +} +function renderComment(elem) { + return "<!--".concat(elem.data, "-->"); +} diff --git a/.output/server/node_modules/dom-serializer/node_modules/entities b/.output/server/node_modules/dom-serializer/node_modules/entities new file mode 120000 index 00000000..85510d52 --- /dev/null +++ b/.output/server/node_modules/dom-serializer/node_modules/entities @@ -0,0 +1 @@ +../../.nitro/entities@4.5.0 \ No newline at end of file diff --git a/.output/server/node_modules/dom-serializer/package.json b/.output/server/node_modules/dom-serializer/package.json new file mode 100644 index 00000000..296777b6 --- /dev/null +++ b/.output/server/node_modules/dom-serializer/package.json @@ -0,0 +1,69 @@ +{ + "name": "dom-serializer", + "version": "2.0.0", + "description": "render domhandler DOM nodes to a string", + "author": "Felix Boehm <me@feedic.com>", + "sideEffects": false, + "keywords": [ + "html", + "xml", + "render" + ], + "repository": { + "type": "git", + "url": "git://github.com/cheeriojs/dom-serializer.git" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "files": [ + "lib/**/*" + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "devDependencies": { + "@types/jest": "^27.4.1", + "@types/node": "^17.0.23", + "@typescript-eslint/eslint-plugin": "^5.18.0", + "@typescript-eslint/parser": "^5.18.0", + "cheerio": "^1.0.0-rc.9", + "eslint": "^8.12.0", + "eslint-config-prettier": "^8.5.0", + "htmlparser2": "^7.2.0", + "jest": "^27.5.1", + "prettier": "^2.6.2", + "ts-jest": "^27.1.4", + "typescript": "^4.6.3" + }, + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint --ignore-path .gitignore .", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier \"**/*.{ts,md,json,yml}\" --ignore-path .gitignore", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc", + "build:esm": "tsc --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "prepare": "npm run build" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node", + "moduleNameMapper": { + "^(.*)\\.js$": "$1" + } + }, + "funding": "https://github.com/cheeriojs/dom-serializer?sponsor=1", + "license": "MIT" +} \ No newline at end of file diff --git a/.output/server/node_modules/domelementtype/lib/index.js b/.output/server/node_modules/domelementtype/lib/index.js new file mode 100644 index 00000000..b0ebcb1c --- /dev/null +++ b/.output/server/node_modules/domelementtype/lib/index.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0; +/** Types of elements found in htmlparser2's DOM */ +var ElementType; +(function (ElementType) { + /** Type for the root element of a document */ + ElementType["Root"] = "root"; + /** Type for Text */ + ElementType["Text"] = "text"; + /** Type for <? ... ?> */ + ElementType["Directive"] = "directive"; + /** Type for <!-- ... --> */ + ElementType["Comment"] = "comment"; + /** Type for <script> tags */ + ElementType["Script"] = "script"; + /** Type for <style> tags */ + ElementType["Style"] = "style"; + /** Type for Any tag */ + ElementType["Tag"] = "tag"; + /** Type for <![CDATA[ ... ]]> */ + ElementType["CDATA"] = "cdata"; + /** Type for <!doctype ...> */ + ElementType["Doctype"] = "doctype"; +})(ElementType = exports.ElementType || (exports.ElementType = {})); +/** + * Tests whether an element is a tag or not. + * + * @param elem Element to test + */ +function isTag(elem) { + return (elem.type === ElementType.Tag || + elem.type === ElementType.Script || + elem.type === ElementType.Style); +} +exports.isTag = isTag; +// Exports for backwards compatibility +/** Type for the root element of a document */ +exports.Root = ElementType.Root; +/** Type for Text */ +exports.Text = ElementType.Text; +/** Type for <? ... ?> */ +exports.Directive = ElementType.Directive; +/** Type for <!-- ... --> */ +exports.Comment = ElementType.Comment; +/** Type for <script> tags */ +exports.Script = ElementType.Script; +/** Type for <style> tags */ +exports.Style = ElementType.Style; +/** Type for Any tag */ +exports.Tag = ElementType.Tag; +/** Type for <![CDATA[ ... ]]> */ +exports.CDATA = ElementType.CDATA; +/** Type for <!doctype ...> */ +exports.Doctype = ElementType.Doctype; diff --git a/.output/server/node_modules/domelementtype/package.json b/.output/server/node_modules/domelementtype/package.json new file mode 100644 index 00000000..efb86f5d --- /dev/null +++ b/.output/server/node_modules/domelementtype/package.json @@ -0,0 +1,54 @@ +{ + "name": "domelementtype", + "version": "2.3.0", + "description": "all the types of nodes in htmlparser2's dom", + "author": "Felix Boehm <me@feedic.com>", + "license": "BSD-2-Clause", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "sideEffects": false, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "files": [ + "lib/**/*" + ], + "repository": { + "type": "git", + "url": "git://github.com/fb55/domelementtype.git" + }, + "keywords": [ + "dom", + "element", + "types", + "htmlparser2" + ], + "scripts": { + "test": "npm run lint && prettier --check **/*.{ts,json,md}", + "lint": "eslint src", + "format": "prettier --write **/*.{ts,json,md}", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc", + "build:esm": "tsc --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "prepare": "npm run build" + }, + "prettier": { + "tabWidth": 4 + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.18.0", + "@typescript-eslint/parser": "^5.18.0", + "eslint": "^8.12.0", + "eslint-config-prettier": "^8.5.0", + "prettier": "^2.6.2", + "typescript": "^4.6.3" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/domhandler/lib/index.js b/.output/server/node_modules/domhandler/lib/index.js new file mode 100644 index 00000000..9c4ea0e3 --- /dev/null +++ b/.output/server/node_modules/domhandler/lib/index.js @@ -0,0 +1,165 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DomHandler = void 0; +var domelementtype_1 = require("domelementtype"); +var node_js_1 = require("./node.js"); +__exportStar(require("./node.js"), exports); +// Default options +var defaultOpts = { + withStartIndices: false, + withEndIndices: false, + xmlMode: false, +}; +var DomHandler = /** @class */ (function () { + /** + * @param callback Called once parsing has completed. + * @param options Settings for the handler. + * @param elementCB Callback whenever a tag is closed. + */ + function DomHandler(callback, options, elementCB) { + /** The elements of the DOM */ + this.dom = []; + /** The root element for the DOM */ + this.root = new node_js_1.Document(this.dom); + /** Indicated whether parsing has been completed. */ + this.done = false; + /** Stack of open tags. */ + this.tagStack = [this.root]; + /** A data node that is still being written to. */ + this.lastNode = null; + /** Reference to the parser instance. Used for location information. */ + this.parser = null; + // Make it possible to skip arguments, for backwards-compatibility + if (typeof options === "function") { + elementCB = options; + options = defaultOpts; + } + if (typeof callback === "object") { + options = callback; + callback = undefined; + } + this.callback = callback !== null && callback !== void 0 ? callback : null; + this.options = options !== null && options !== void 0 ? options : defaultOpts; + this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null; + } + DomHandler.prototype.onparserinit = function (parser) { + this.parser = parser; + }; + // Resets the handler back to starting state + DomHandler.prototype.onreset = function () { + this.dom = []; + this.root = new node_js_1.Document(this.dom); + this.done = false; + this.tagStack = [this.root]; + this.lastNode = null; + this.parser = null; + }; + // Signals the handler that parsing is done + DomHandler.prototype.onend = function () { + if (this.done) + return; + this.done = true; + this.parser = null; + this.handleCallback(null); + }; + DomHandler.prototype.onerror = function (error) { + this.handleCallback(error); + }; + DomHandler.prototype.onclosetag = function () { + this.lastNode = null; + var elem = this.tagStack.pop(); + if (this.options.withEndIndices) { + elem.endIndex = this.parser.endIndex; + } + if (this.elementCB) + this.elementCB(elem); + }; + DomHandler.prototype.onopentag = function (name, attribs) { + var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined; + var element = new node_js_1.Element(name, attribs, undefined, type); + this.addNode(element); + this.tagStack.push(element); + }; + DomHandler.prototype.ontext = function (data) { + var lastNode = this.lastNode; + if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) { + lastNode.data += data; + if (this.options.withEndIndices) { + lastNode.endIndex = this.parser.endIndex; + } + } + else { + var node = new node_js_1.Text(data); + this.addNode(node); + this.lastNode = node; + } + }; + DomHandler.prototype.oncomment = function (data) { + if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) { + this.lastNode.data += data; + return; + } + var node = new node_js_1.Comment(data); + this.addNode(node); + this.lastNode = node; + }; + DomHandler.prototype.oncommentend = function () { + this.lastNode = null; + }; + DomHandler.prototype.oncdatastart = function () { + var text = new node_js_1.Text(""); + var node = new node_js_1.CDATA([text]); + this.addNode(node); + text.parent = node; + this.lastNode = text; + }; + DomHandler.prototype.oncdataend = function () { + this.lastNode = null; + }; + DomHandler.prototype.onprocessinginstruction = function (name, data) { + var node = new node_js_1.ProcessingInstruction(name, data); + this.addNode(node); + }; + DomHandler.prototype.handleCallback = function (error) { + if (typeof this.callback === "function") { + this.callback(error, this.dom); + } + else if (error) { + throw error; + } + }; + DomHandler.prototype.addNode = function (node) { + var parent = this.tagStack[this.tagStack.length - 1]; + var previousSibling = parent.children[parent.children.length - 1]; + if (this.options.withStartIndices) { + node.startIndex = this.parser.startIndex; + } + if (this.options.withEndIndices) { + node.endIndex = this.parser.endIndex; + } + parent.children.push(node); + if (previousSibling) { + node.prev = previousSibling; + previousSibling.next = node; + } + node.parent = parent; + this.lastNode = null; + }; + return DomHandler; +}()); +exports.DomHandler = DomHandler; +exports.default = DomHandler; diff --git a/.output/server/node_modules/domhandler/lib/node.js b/.output/server/node_modules/domhandler/lib/node.js new file mode 100644 index 00000000..df08e5bf --- /dev/null +++ b/.output/server/node_modules/domhandler/lib/node.js @@ -0,0 +1,474 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0; +var domelementtype_1 = require("domelementtype"); +/** + * This object will be used as the prototype for Nodes when creating a + * DOM-Level-1-compliant structure. + */ +var Node = /** @class */ (function () { + function Node() { + /** Parent of the node */ + this.parent = null; + /** Previous sibling */ + this.prev = null; + /** Next sibling */ + this.next = null; + /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */ + this.startIndex = null; + /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */ + this.endIndex = null; + } + Object.defineProperty(Node.prototype, "parentNode", { + // Read-write aliases for properties + /** + * Same as {@link parent}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.parent; + }, + set: function (parent) { + this.parent = parent; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Node.prototype, "previousSibling", { + /** + * Same as {@link prev}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.prev; + }, + set: function (prev) { + this.prev = prev; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Node.prototype, "nextSibling", { + /** + * Same as {@link next}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.next; + }, + set: function (next) { + this.next = next; + }, + enumerable: false, + configurable: true + }); + /** + * Clone this node, and optionally its children. + * + * @param recursive Clone child nodes as well. + * @returns A clone of the node. + */ + Node.prototype.cloneNode = function (recursive) { + if (recursive === void 0) { recursive = false; } + return cloneNode(this, recursive); + }; + return Node; +}()); +exports.Node = Node; +/** + * A node that contains some data. + */ +var DataNode = /** @class */ (function (_super) { + __extends(DataNode, _super); + /** + * @param data The content of the data node + */ + function DataNode(data) { + var _this = _super.call(this) || this; + _this.data = data; + return _this; + } + Object.defineProperty(DataNode.prototype, "nodeValue", { + /** + * Same as {@link data}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.data; + }, + set: function (data) { + this.data = data; + }, + enumerable: false, + configurable: true + }); + return DataNode; +}(Node)); +exports.DataNode = DataNode; +/** + * Text within the document. + */ +var Text = /** @class */ (function (_super) { + __extends(Text, _super); + function Text() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.type = domelementtype_1.ElementType.Text; + return _this; + } + Object.defineProperty(Text.prototype, "nodeType", { + get: function () { + return 3; + }, + enumerable: false, + configurable: true + }); + return Text; +}(DataNode)); +exports.Text = Text; +/** + * Comments within the document. + */ +var Comment = /** @class */ (function (_super) { + __extends(Comment, _super); + function Comment() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.type = domelementtype_1.ElementType.Comment; + return _this; + } + Object.defineProperty(Comment.prototype, "nodeType", { + get: function () { + return 8; + }, + enumerable: false, + configurable: true + }); + return Comment; +}(DataNode)); +exports.Comment = Comment; +/** + * Processing instructions, including doc types. + */ +var ProcessingInstruction = /** @class */ (function (_super) { + __extends(ProcessingInstruction, _super); + function ProcessingInstruction(name, data) { + var _this = _super.call(this, data) || this; + _this.name = name; + _this.type = domelementtype_1.ElementType.Directive; + return _this; + } + Object.defineProperty(ProcessingInstruction.prototype, "nodeType", { + get: function () { + return 1; + }, + enumerable: false, + configurable: true + }); + return ProcessingInstruction; +}(DataNode)); +exports.ProcessingInstruction = ProcessingInstruction; +/** + * A `Node` that can have children. + */ +var NodeWithChildren = /** @class */ (function (_super) { + __extends(NodeWithChildren, _super); + /** + * @param children Children of the node. Only certain node types can have children. + */ + function NodeWithChildren(children) { + var _this = _super.call(this) || this; + _this.children = children; + return _this; + } + Object.defineProperty(NodeWithChildren.prototype, "firstChild", { + // Aliases + /** First child of the node. */ + get: function () { + var _a; + return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(NodeWithChildren.prototype, "lastChild", { + /** Last child of the node. */ + get: function () { + return this.children.length > 0 + ? this.children[this.children.length - 1] + : null; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(NodeWithChildren.prototype, "childNodes", { + /** + * Same as {@link children}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.children; + }, + set: function (children) { + this.children = children; + }, + enumerable: false, + configurable: true + }); + return NodeWithChildren; +}(Node)); +exports.NodeWithChildren = NodeWithChildren; +var CDATA = /** @class */ (function (_super) { + __extends(CDATA, _super); + function CDATA() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.type = domelementtype_1.ElementType.CDATA; + return _this; + } + Object.defineProperty(CDATA.prototype, "nodeType", { + get: function () { + return 4; + }, + enumerable: false, + configurable: true + }); + return CDATA; +}(NodeWithChildren)); +exports.CDATA = CDATA; +/** + * The root node of the document. + */ +var Document = /** @class */ (function (_super) { + __extends(Document, _super); + function Document() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.type = domelementtype_1.ElementType.Root; + return _this; + } + Object.defineProperty(Document.prototype, "nodeType", { + get: function () { + return 9; + }, + enumerable: false, + configurable: true + }); + return Document; +}(NodeWithChildren)); +exports.Document = Document; +/** + * An element within the DOM. + */ +var Element = /** @class */ (function (_super) { + __extends(Element, _super); + /** + * @param name Name of the tag, eg. `div`, `span`. + * @param attribs Object mapping attribute names to attribute values. + * @param children Children of the node. + */ + function Element(name, attribs, children, type) { + if (children === void 0) { children = []; } + if (type === void 0) { type = name === "script" + ? domelementtype_1.ElementType.Script + : name === "style" + ? domelementtype_1.ElementType.Style + : domelementtype_1.ElementType.Tag; } + var _this = _super.call(this, children) || this; + _this.name = name; + _this.attribs = attribs; + _this.type = type; + return _this; + } + Object.defineProperty(Element.prototype, "nodeType", { + get: function () { + return 1; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Element.prototype, "tagName", { + // DOM Level 1 aliases + /** + * Same as {@link name}. + * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. + */ + get: function () { + return this.name; + }, + set: function (name) { + this.name = name; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Element.prototype, "attributes", { + get: function () { + var _this = this; + return Object.keys(this.attribs).map(function (name) { + var _a, _b; + return ({ + name: name, + value: _this.attribs[name], + namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name], + prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name], + }); + }); + }, + enumerable: false, + configurable: true + }); + return Element; +}(NodeWithChildren)); +exports.Element = Element; +/** + * @param node Node to check. + * @returns `true` if the node is a `Element`, `false` otherwise. + */ +function isTag(node) { + return (0, domelementtype_1.isTag)(node); +} +exports.isTag = isTag; +/** + * @param node Node to check. + * @returns `true` if the node has the type `CDATA`, `false` otherwise. + */ +function isCDATA(node) { + return node.type === domelementtype_1.ElementType.CDATA; +} +exports.isCDATA = isCDATA; +/** + * @param node Node to check. + * @returns `true` if the node has the type `Text`, `false` otherwise. + */ +function isText(node) { + return node.type === domelementtype_1.ElementType.Text; +} +exports.isText = isText; +/** + * @param node Node to check. + * @returns `true` if the node has the type `Comment`, `false` otherwise. + */ +function isComment(node) { + return node.type === domelementtype_1.ElementType.Comment; +} +exports.isComment = isComment; +/** + * @param node Node to check. + * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. + */ +function isDirective(node) { + return node.type === domelementtype_1.ElementType.Directive; +} +exports.isDirective = isDirective; +/** + * @param node Node to check. + * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. + */ +function isDocument(node) { + return node.type === domelementtype_1.ElementType.Root; +} +exports.isDocument = isDocument; +/** + * @param node Node to check. + * @returns `true` if the node has children, `false` otherwise. + */ +function hasChildren(node) { + return Object.prototype.hasOwnProperty.call(node, "children"); +} +exports.hasChildren = hasChildren; +/** + * Clone a node, and optionally its children. + * + * @param recursive Clone child nodes as well. + * @returns A clone of the node. + */ +function cloneNode(node, recursive) { + if (recursive === void 0) { recursive = false; } + var result; + if (isText(node)) { + result = new Text(node.data); + } + else if (isComment(node)) { + result = new Comment(node.data); + } + else if (isTag(node)) { + var children = recursive ? cloneChildren(node.children) : []; + var clone_1 = new Element(node.name, __assign({}, node.attribs), children); + children.forEach(function (child) { return (child.parent = clone_1); }); + if (node.namespace != null) { + clone_1.namespace = node.namespace; + } + if (node["x-attribsNamespace"]) { + clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]); + } + if (node["x-attribsPrefix"]) { + clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]); + } + result = clone_1; + } + else if (isCDATA(node)) { + var children = recursive ? cloneChildren(node.children) : []; + var clone_2 = new CDATA(children); + children.forEach(function (child) { return (child.parent = clone_2); }); + result = clone_2; + } + else if (isDocument(node)) { + var children = recursive ? cloneChildren(node.children) : []; + var clone_3 = new Document(children); + children.forEach(function (child) { return (child.parent = clone_3); }); + if (node["x-mode"]) { + clone_3["x-mode"] = node["x-mode"]; + } + result = clone_3; + } + else if (isDirective(node)) { + var instruction = new ProcessingInstruction(node.name, node.data); + if (node["x-name"] != null) { + instruction["x-name"] = node["x-name"]; + instruction["x-publicId"] = node["x-publicId"]; + instruction["x-systemId"] = node["x-systemId"]; + } + result = instruction; + } + else { + throw new Error("Not implemented yet: ".concat(node.type)); + } + result.startIndex = node.startIndex; + result.endIndex = node.endIndex; + if (node.sourceCodeLocation != null) { + result.sourceCodeLocation = node.sourceCodeLocation; + } + return result; +} +exports.cloneNode = cloneNode; +function cloneChildren(childs) { + var children = childs.map(function (child) { return cloneNode(child, true); }); + for (var i = 1; i < children.length; i++) { + children[i].prev = children[i - 1]; + children[i - 1].next = children[i]; + } + return children; +} diff --git a/.output/server/node_modules/domhandler/package.json b/.output/server/node_modules/domhandler/package.json new file mode 100644 index 00000000..844c5c69 --- /dev/null +++ b/.output/server/node_modules/domhandler/package.json @@ -0,0 +1,73 @@ +{ + "name": "domhandler", + "version": "5.0.3", + "description": "Handler for htmlparser2 that turns pages into a dom", + "author": "Felix Boehm <me@feedic.com>", + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + }, + "license": "BSD-2-Clause", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "sideEffects": false, + "files": [ + "lib" + ], + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint --ignore-path .gitignore .", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier \"**/*.{ts,md,json,yml}\" --ignore-path .gitignore", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc", + "build:esm": "tsc --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "prepare": "npm run build" + }, + "repository": { + "type": "git", + "url": "git://github.com/fb55/domhandler.git" + }, + "keywords": [ + "dom", + "htmlparser2" + ], + "engines": { + "node": ">= 4" + }, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "devDependencies": { + "@types/jest": "^27.4.1", + "@types/node": "^17.0.30", + "@typescript-eslint/eslint-plugin": "^5.21.0", + "@typescript-eslint/parser": "^5.21.0", + "eslint": "^8.14.0", + "eslint-config-prettier": "^8.5.0", + "htmlparser2": "^8.0.0", + "jest": "^27.5.1", + "prettier": "^2.6.2", + "ts-jest": "^27.1.4", + "typescript": "^4.6.4" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node", + "moduleNameMapper": { + "^(.*)\\.js$": "$1" + } + }, + "prettier": { + "tabWidth": 4 + } +} \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/feeds.js b/.output/server/node_modules/domutils/lib/feeds.js new file mode 100644 index 00000000..62867ec3 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/feeds.js @@ -0,0 +1,190 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getFeed = getFeed; +var stringify_js_1 = require("./stringify.js"); +var legacy_js_1 = require("./legacy.js"); +/** + * Get the feed object from the root of a DOM tree. + * + * @category Feeds + * @param doc - The DOM to to extract the feed from. + * @returns The feed. + */ +function getFeed(doc) { + var feedRoot = getOneElement(isValidFeed, doc); + return !feedRoot + ? null + : feedRoot.name === "feed" + ? getAtomFeed(feedRoot) + : getRssFeed(feedRoot); +} +/** + * Parse an Atom feed. + * + * @param feedRoot The root of the feed. + * @returns The parsed feed. + */ +function getAtomFeed(feedRoot) { + var _a; + var childs = feedRoot.children; + var feed = { + type: "atom", + items: (0, legacy_js_1.getElementsByTagName)("entry", childs).map(function (item) { + var _a; + var children = item.children; + var entry = { media: getMediaElements(children) }; + addConditionally(entry, "id", "id", children); + addConditionally(entry, "title", "title", children); + var href = (_a = getOneElement("link", children)) === null || _a === void 0 ? void 0 : _a.attribs["href"]; + if (href) { + entry.link = href; + } + var description = fetch("summary", children) || fetch("content", children); + if (description) { + entry.description = description; + } + var pubDate = fetch("updated", children); + if (pubDate) { + entry.pubDate = new Date(pubDate); + } + return entry; + }), + }; + addConditionally(feed, "id", "id", childs); + addConditionally(feed, "title", "title", childs); + var href = (_a = getOneElement("link", childs)) === null || _a === void 0 ? void 0 : _a.attribs["href"]; + if (href) { + feed.link = href; + } + addConditionally(feed, "description", "subtitle", childs); + var updated = fetch("updated", childs); + if (updated) { + feed.updated = new Date(updated); + } + addConditionally(feed, "author", "email", childs, true); + return feed; +} +/** + * Parse a RSS feed. + * + * @param feedRoot The root of the feed. + * @returns The parsed feed. + */ +function getRssFeed(feedRoot) { + var _a, _b; + var childs = (_b = (_a = getOneElement("channel", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : []; + var feed = { + type: feedRoot.name.substr(0, 3), + id: "", + items: (0, legacy_js_1.getElementsByTagName)("item", feedRoot.children).map(function (item) { + var children = item.children; + var entry = { media: getMediaElements(children) }; + addConditionally(entry, "id", "guid", children); + addConditionally(entry, "title", "title", children); + addConditionally(entry, "link", "link", children); + addConditionally(entry, "description", "description", children); + var pubDate = fetch("pubDate", children) || fetch("dc:date", children); + if (pubDate) + entry.pubDate = new Date(pubDate); + return entry; + }), + }; + addConditionally(feed, "title", "title", childs); + addConditionally(feed, "link", "link", childs); + addConditionally(feed, "description", "description", childs); + var updated = fetch("lastBuildDate", childs); + if (updated) { + feed.updated = new Date(updated); + } + addConditionally(feed, "author", "managingEditor", childs, true); + return feed; +} +var MEDIA_KEYS_STRING = ["url", "type", "lang"]; +var MEDIA_KEYS_INT = [ + "fileSize", + "bitrate", + "framerate", + "samplingrate", + "channels", + "duration", + "height", + "width", +]; +/** + * Get all media elements of a feed item. + * + * @param where Nodes to search in. + * @returns Media elements. + */ +function getMediaElements(where) { + return (0, legacy_js_1.getElementsByTagName)("media:content", where).map(function (elem) { + var attribs = elem.attribs; + var media = { + medium: attribs["medium"], + isDefault: !!attribs["isDefault"], + }; + for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) { + var attrib = MEDIA_KEYS_STRING_1[_i]; + if (attribs[attrib]) { + media[attrib] = attribs[attrib]; + } + } + for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) { + var attrib = MEDIA_KEYS_INT_1[_a]; + if (attribs[attrib]) { + media[attrib] = parseInt(attribs[attrib], 10); + } + } + if (attribs["expression"]) { + media.expression = attribs["expression"]; + } + return media; + }); +} +/** + * Get one element by tag name. + * + * @param tagName Tag name to look for + * @param node Node to search in + * @returns The element or null + */ +function getOneElement(tagName, node) { + return (0, legacy_js_1.getElementsByTagName)(tagName, node, true, 1)[0]; +} +/** + * Get the text content of an element with a certain tag name. + * + * @param tagName Tag name to look for. + * @param where Node to search in. + * @param recurse Whether to recurse into child nodes. + * @returns The text content of the element. + */ +function fetch(tagName, where, recurse) { + if (recurse === void 0) { recurse = false; } + return (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim(); +} +/** + * Adds a property to an object if it has a value. + * + * @param obj Object to be extended + * @param prop Property name + * @param tagName Tag name that contains the conditionally added property + * @param where Element to search for the property + * @param recurse Whether to recurse into child nodes. + */ +function addConditionally(obj, prop, tagName, where, recurse) { + if (recurse === void 0) { recurse = false; } + var val = fetch(tagName, where, recurse); + if (val) + obj[prop] = val; +} +/** + * Checks if an element is a feed root node. + * + * @param value The name of the element to check. + * @returns Whether an element is a feed root node. + */ +function isValidFeed(value) { + return value === "rss" || value === "feed" || value === "rdf:RDF"; +} +//# sourceMappingURL=feeds.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/helpers.js b/.output/server/node_modules/domutils/lib/helpers.js new file mode 100644 index 00000000..4aec3185 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/helpers.js @@ -0,0 +1,142 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DocumentPosition = void 0; +exports.removeSubsets = removeSubsets; +exports.compareDocumentPosition = compareDocumentPosition; +exports.uniqueSort = uniqueSort; +var domhandler_1 = require("domhandler"); +/** + * Given an array of nodes, remove any member that is contained by another + * member. + * + * @category Helpers + * @param nodes Nodes to filter. + * @returns Remaining nodes that aren't contained by other nodes. + */ +function removeSubsets(nodes) { + var idx = nodes.length; + /* + * Check if each node (or one of its ancestors) is already contained in the + * array. + */ + while (--idx >= 0) { + var node = nodes[idx]; + /* + * Remove the node if it is not unique. + * We are going through the array from the end, so we only + * have to check nodes that preceed the node under consideration in the array. + */ + if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) { + nodes.splice(idx, 1); + continue; + } + for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) { + if (nodes.includes(ancestor)) { + nodes.splice(idx, 1); + break; + } + } + } + return nodes; +} +/** + * @category Helpers + * @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition} + */ +var DocumentPosition; +(function (DocumentPosition) { + DocumentPosition[DocumentPosition["DISCONNECTED"] = 1] = "DISCONNECTED"; + DocumentPosition[DocumentPosition["PRECEDING"] = 2] = "PRECEDING"; + DocumentPosition[DocumentPosition["FOLLOWING"] = 4] = "FOLLOWING"; + DocumentPosition[DocumentPosition["CONTAINS"] = 8] = "CONTAINS"; + DocumentPosition[DocumentPosition["CONTAINED_BY"] = 16] = "CONTAINED_BY"; +})(DocumentPosition || (exports.DocumentPosition = DocumentPosition = {})); +/** + * Compare the position of one node against another node in any other document, + * returning a bitmask with the values from {@link DocumentPosition}. + * + * Document order: + * > There is an ordering, document order, defined on all the nodes in the + * > document corresponding to the order in which the first character of the + * > XML representation of each node occurs in the XML representation of the + * > document after expansion of general entities. Thus, the document element + * > node will be the first node. Element nodes occur before their children. + * > Thus, document order orders element nodes in order of the occurrence of + * > their start-tag in the XML (after expansion of entities). The attribute + * > nodes of an element occur after the element and before its children. The + * > relative order of attribute nodes is implementation-dependent. + * + * Source: + * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order + * + * @category Helpers + * @param nodeA The first node to use in the comparison + * @param nodeB The second node to use in the comparison + * @returns A bitmask describing the input nodes' relative position. + * + * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for + * a description of these values. + */ +function compareDocumentPosition(nodeA, nodeB) { + var aParents = []; + var bParents = []; + if (nodeA === nodeB) { + return 0; + } + var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; + while (current) { + aParents.unshift(current); + current = current.parent; + } + current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; + while (current) { + bParents.unshift(current); + current = current.parent; + } + var maxIdx = Math.min(aParents.length, bParents.length); + var idx = 0; + while (idx < maxIdx && aParents[idx] === bParents[idx]) { + idx++; + } + if (idx === 0) { + return DocumentPosition.DISCONNECTED; + } + var sharedParent = aParents[idx - 1]; + var siblings = sharedParent.children; + var aSibling = aParents[idx]; + var bSibling = bParents[idx]; + if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) { + if (sharedParent === nodeB) { + return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY; + } + return DocumentPosition.FOLLOWING; + } + if (sharedParent === nodeA) { + return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS; + } + return DocumentPosition.PRECEDING; +} +/** + * Sort an array of nodes based on their relative position in the document, + * removing any duplicate nodes. If the array contains nodes that do not belong + * to the same document, sort order is unspecified. + * + * @category Helpers + * @param nodes Array of DOM nodes. + * @returns Collection of unique nodes, sorted in document order. + */ +function uniqueSort(nodes) { + nodes = nodes.filter(function (node, i, arr) { return !arr.includes(node, i + 1); }); + nodes.sort(function (a, b) { + var relative = compareDocumentPosition(a, b); + if (relative & DocumentPosition.PRECEDING) { + return -1; + } + else if (relative & DocumentPosition.FOLLOWING) { + return 1; + } + return 0; + }); + return nodes; +} +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/index.js b/.output/server/node_modules/domutils/lib/index.js new file mode 100644 index 00000000..1eb8e26f --- /dev/null +++ b/.output/server/node_modules/domutils/lib/index.js @@ -0,0 +1,33 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0; +__exportStar(require("./stringify.js"), exports); +__exportStar(require("./traversal.js"), exports); +__exportStar(require("./manipulation.js"), exports); +__exportStar(require("./querying.js"), exports); +__exportStar(require("./legacy.js"), exports); +__exportStar(require("./helpers.js"), exports); +__exportStar(require("./feeds.js"), exports); +/** @deprecated Use these methods from `domhandler` directly. */ +var domhandler_1 = require("domhandler"); +Object.defineProperty(exports, "isTag", { enumerable: true, get: function () { return domhandler_1.isTag; } }); +Object.defineProperty(exports, "isCDATA", { enumerable: true, get: function () { return domhandler_1.isCDATA; } }); +Object.defineProperty(exports, "isText", { enumerable: true, get: function () { return domhandler_1.isText; } }); +Object.defineProperty(exports, "isComment", { enumerable: true, get: function () { return domhandler_1.isComment; } }); +Object.defineProperty(exports, "isDocument", { enumerable: true, get: function () { return domhandler_1.isDocument; } }); +Object.defineProperty(exports, "hasChildren", { enumerable: true, get: function () { return domhandler_1.hasChildren; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/legacy.js b/.output/server/node_modules/domutils/lib/legacy.js new file mode 100644 index 00000000..d1b5c650 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/legacy.js @@ -0,0 +1,168 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.testElement = testElement; +exports.getElements = getElements; +exports.getElementById = getElementById; +exports.getElementsByTagName = getElementsByTagName; +exports.getElementsByClassName = getElementsByClassName; +exports.getElementsByTagType = getElementsByTagType; +var domhandler_1 = require("domhandler"); +var querying_js_1 = require("./querying.js"); +/** + * A map of functions to check nodes against. + */ +var Checks = { + tag_name: function (name) { + if (typeof name === "function") { + return function (elem) { return (0, domhandler_1.isTag)(elem) && name(elem.name); }; + } + else if (name === "*") { + return domhandler_1.isTag; + } + return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.name === name; }; + }, + tag_type: function (type) { + if (typeof type === "function") { + return function (elem) { return type(elem.type); }; + } + return function (elem) { return elem.type === type; }; + }, + tag_contains: function (data) { + if (typeof data === "function") { + return function (elem) { return (0, domhandler_1.isText)(elem) && data(elem.data); }; + } + return function (elem) { return (0, domhandler_1.isText)(elem) && elem.data === data; }; + }, +}; +/** + * Returns a function to check whether a node has an attribute with a particular + * value. + * + * @param attrib Attribute to check. + * @param value Attribute value to look for. + * @returns A function to check whether the a node has an attribute with a + * particular value. + */ +function getAttribCheck(attrib, value) { + if (typeof value === "function") { + return function (elem) { return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); }; + } + return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; }; +} +/** + * Returns a function that returns `true` if either of the input functions + * returns `true` for a node. + * + * @param a First function to combine. + * @param b Second function to combine. + * @returns A function taking a node and returning `true` if either of the input + * functions returns `true` for the node. + */ +function combineFuncs(a, b) { + return function (elem) { return a(elem) || b(elem); }; +} +/** + * Returns a function that executes all checks in `options` and returns `true` + * if any of them match a node. + * + * @param options An object describing nodes to look for. + * @returns A function that executes all checks in `options` and returns `true` + * if any of them match a node. + */ +function compileTest(options) { + var funcs = Object.keys(options).map(function (key) { + var value = options[key]; + return Object.prototype.hasOwnProperty.call(Checks, key) + ? Checks[key](value) + : getAttribCheck(key, value); + }); + return funcs.length === 0 ? null : funcs.reduce(combineFuncs); +} +/** + * Checks whether a node matches the description in `options`. + * + * @category Legacy Query Functions + * @param options An object describing nodes to look for. + * @param node The element to test. + * @returns Whether the element matches the description in `options`. + */ +function testElement(options, node) { + var test = compileTest(options); + return test ? test(node) : true; +} +/** + * Returns all nodes that match `options`. + * + * @category Legacy Query Functions + * @param options An object describing nodes to look for. + * @param nodes Nodes to search through. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes that match `options`. + */ +function getElements(options, nodes, recurse, limit) { + if (limit === void 0) { limit = Infinity; } + var test = compileTest(options); + return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : []; +} +/** + * Returns the node with the supplied ID. + * + * @category Legacy Query Functions + * @param id The unique ID attribute value to look for. + * @param nodes Nodes to search through. + * @param recurse Also consider child nodes. + * @returns The node with the supplied ID. + */ +function getElementById(id, nodes, recurse) { + if (recurse === void 0) { recurse = true; } + if (!Array.isArray(nodes)) + nodes = [nodes]; + return (0, querying_js_1.findOne)(getAttribCheck("id", id), nodes, recurse); +} +/** + * Returns all nodes with the supplied `tagName`. + * + * @category Legacy Query Functions + * @param tagName Tag name to search for. + * @param nodes Nodes to search through. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes with the supplied `tagName`. + */ +function getElementsByTagName(tagName, nodes, recurse, limit) { + if (recurse === void 0) { recurse = true; } + if (limit === void 0) { limit = Infinity; } + return (0, querying_js_1.filter)(Checks["tag_name"](tagName), nodes, recurse, limit); +} +/** + * Returns all nodes with the supplied `className`. + * + * @category Legacy Query Functions + * @param className Class name to search for. + * @param nodes Nodes to search through. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes with the supplied `className`. + */ +function getElementsByClassName(className, nodes, recurse, limit) { + if (recurse === void 0) { recurse = true; } + if (limit === void 0) { limit = Infinity; } + return (0, querying_js_1.filter)(getAttribCheck("class", className), nodes, recurse, limit); +} +/** + * Returns all nodes with the supplied `type`. + * + * @category Legacy Query Functions + * @param type Element type to look for. + * @param nodes Nodes to search through. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes with the supplied `type`. + */ +function getElementsByTagType(type, nodes, recurse, limit) { + if (recurse === void 0) { recurse = true; } + if (limit === void 0) { limit = Infinity; } + return (0, querying_js_1.filter)(Checks["tag_type"](type), nodes, recurse, limit); +} +//# sourceMappingURL=legacy.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/manipulation.js b/.output/server/node_modules/domutils/lib/manipulation.js new file mode 100644 index 00000000..a1bb9e68 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/manipulation.js @@ -0,0 +1,142 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.removeElement = removeElement; +exports.replaceElement = replaceElement; +exports.appendChild = appendChild; +exports.append = append; +exports.prependChild = prependChild; +exports.prepend = prepend; +/** + * Remove an element from the dom + * + * @category Manipulation + * @param elem The element to be removed + */ +function removeElement(elem) { + if (elem.prev) + elem.prev.next = elem.next; + if (elem.next) + elem.next.prev = elem.prev; + if (elem.parent) { + var childs = elem.parent.children; + var childsIndex = childs.lastIndexOf(elem); + if (childsIndex >= 0) { + childs.splice(childsIndex, 1); + } + } + elem.next = null; + elem.prev = null; + elem.parent = null; +} +/** + * Replace an element in the dom + * + * @category Manipulation + * @param elem The element to be replaced + * @param replacement The element to be added + */ +function replaceElement(elem, replacement) { + var prev = (replacement.prev = elem.prev); + if (prev) { + prev.next = replacement; + } + var next = (replacement.next = elem.next); + if (next) { + next.prev = replacement; + } + var parent = (replacement.parent = elem.parent); + if (parent) { + var childs = parent.children; + childs[childs.lastIndexOf(elem)] = replacement; + elem.parent = null; + } +} +/** + * Append a child to an element. + * + * @category Manipulation + * @param parent The element to append to. + * @param child The element to be added as a child. + */ +function appendChild(parent, child) { + removeElement(child); + child.next = null; + child.parent = parent; + if (parent.children.push(child) > 1) { + var sibling = parent.children[parent.children.length - 2]; + sibling.next = child; + child.prev = sibling; + } + else { + child.prev = null; + } +} +/** + * Append an element after another. + * + * @category Manipulation + * @param elem The element to append after. + * @param next The element be added. + */ +function append(elem, next) { + removeElement(next); + var parent = elem.parent; + var currNext = elem.next; + next.next = currNext; + next.prev = elem; + elem.next = next; + next.parent = parent; + if (currNext) { + currNext.prev = next; + if (parent) { + var childs = parent.children; + childs.splice(childs.lastIndexOf(currNext), 0, next); + } + } + else if (parent) { + parent.children.push(next); + } +} +/** + * Prepend a child to an element. + * + * @category Manipulation + * @param parent The element to prepend before. + * @param child The element to be added as a child. + */ +function prependChild(parent, child) { + removeElement(child); + child.parent = parent; + child.prev = null; + if (parent.children.unshift(child) !== 1) { + var sibling = parent.children[1]; + sibling.prev = child; + child.next = sibling; + } + else { + child.next = null; + } +} +/** + * Prepend an element before another. + * + * @category Manipulation + * @param elem The element to prepend before. + * @param prev The element be added. + */ +function prepend(elem, prev) { + removeElement(prev); + var parent = elem.parent; + if (parent) { + var childs = parent.children; + childs.splice(childs.indexOf(elem), 0, prev); + } + if (elem.prev) { + elem.prev.next = prev; + } + prev.parent = parent; + prev.prev = elem.prev; + prev.next = elem; + elem.prev = prev; +} +//# sourceMappingURL=manipulation.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/querying.js b/.output/server/node_modules/domutils/lib/querying.js new file mode 100644 index 00000000..f3e3fa95 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/querying.js @@ -0,0 +1,155 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.filter = filter; +exports.find = find; +exports.findOneChild = findOneChild; +exports.findOne = findOne; +exports.existsOne = existsOne; +exports.findAll = findAll; +var domhandler_1 = require("domhandler"); +/** + * Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one. + * + * @category Querying + * @param test Function to test nodes on. + * @param node Node to search. Will be included in the result set if it matches. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes passing `test`. + */ +function filter(test, node, recurse, limit) { + if (recurse === void 0) { recurse = true; } + if (limit === void 0) { limit = Infinity; } + return find(test, Array.isArray(node) ? node : [node], recurse, limit); +} +/** + * Search an array of nodes and their children for nodes passing a test function. + * + * @category Querying + * @param test Function to test nodes on. + * @param nodes Array of nodes to search. + * @param recurse Also consider child nodes. + * @param limit Maximum number of nodes to return. + * @returns All nodes passing `test`. + */ +function find(test, nodes, recurse, limit) { + var result = []; + /** Stack of the arrays we are looking at. */ + var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]]; + /** Stack of the indices within the arrays. */ + var indexStack = [0]; + for (;;) { + // First, check if the current array has any more elements to look at. + if (indexStack[0] >= nodeStack[0].length) { + // If we have no more arrays to look at, we are done. + if (indexStack.length === 1) { + return result; + } + // Otherwise, remove the current array from the stack. + nodeStack.shift(); + indexStack.shift(); + // Loop back to the start to continue with the next array. + continue; + } + var elem = nodeStack[0][indexStack[0]++]; + if (test(elem)) { + result.push(elem); + if (--limit <= 0) + return result; + } + if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) { + /* + * Add the children to the stack. We are depth-first, so this is + * the next array we look at. + */ + indexStack.unshift(0); + nodeStack.unshift(elem.children); + } + } +} +/** + * Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`. + * + * @category Querying + * @param test Function to test nodes on. + * @param nodes Array of nodes to search. + * @returns The first node in the array that passes `test`. + * @deprecated Use `Array.prototype.find` directly. + */ +function findOneChild(test, nodes) { + return nodes.find(test); +} +/** + * Finds one element in a tree that passes a test. + * + * @category Querying + * @param test Function to test nodes on. + * @param nodes Node or array of nodes to search. + * @param recurse Also consider child nodes. + * @returns The first node that passes `test`. + */ +function findOne(test, nodes, recurse) { + if (recurse === void 0) { recurse = true; } + var searchedNodes = Array.isArray(nodes) ? nodes : [nodes]; + for (var i = 0; i < searchedNodes.length; i++) { + var node = searchedNodes[i]; + if ((0, domhandler_1.isTag)(node) && test(node)) { + return node; + } + if (recurse && (0, domhandler_1.hasChildren)(node) && node.children.length > 0) { + var found = findOne(test, node.children, true); + if (found) + return found; + } + } + return null; +} +/** + * Checks if a tree of nodes contains at least one node passing a test. + * + * @category Querying + * @param test Function to test nodes on. + * @param nodes Array of nodes to search. + * @returns Whether a tree of nodes contains at least one node passing the test. + */ +function existsOne(test, nodes) { + return (Array.isArray(nodes) ? nodes : [nodes]).some(function (node) { + return ((0, domhandler_1.isTag)(node) && test(node)) || + ((0, domhandler_1.hasChildren)(node) && existsOne(test, node.children)); + }); +} +/** + * Search an array of nodes and their children for elements passing a test function. + * + * Same as `find`, but limited to elements and with less options, leading to reduced complexity. + * + * @category Querying + * @param test Function to test nodes on. + * @param nodes Array of nodes to search. + * @returns All nodes passing `test`. + */ +function findAll(test, nodes) { + var result = []; + var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]]; + var indexStack = [0]; + for (;;) { + if (indexStack[0] >= nodeStack[0].length) { + if (nodeStack.length === 1) { + return result; + } + // Otherwise, remove the current array from the stack. + nodeStack.shift(); + indexStack.shift(); + // Loop back to the start to continue with the next array. + continue; + } + var elem = nodeStack[0][indexStack[0]++]; + if ((0, domhandler_1.isTag)(elem) && test(elem)) + result.push(elem); + if ((0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) { + indexStack.unshift(0); + nodeStack.unshift(elem.children); + } + } +} +//# sourceMappingURL=querying.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/stringify.js b/.output/server/node_modules/domutils/lib/stringify.js new file mode 100644 index 00000000..57232546 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/stringify.js @@ -0,0 +1,91 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getOuterHTML = getOuterHTML; +exports.getInnerHTML = getInnerHTML; +exports.getText = getText; +exports.textContent = textContent; +exports.innerText = innerText; +var domhandler_1 = require("domhandler"); +var dom_serializer_1 = __importDefault(require("dom-serializer")); +var domelementtype_1 = require("domelementtype"); +/** + * @category Stringify + * @deprecated Use the `dom-serializer` module directly. + * @param node Node to get the outer HTML of. + * @param options Options for serialization. + * @returns `node`'s outer HTML. + */ +function getOuterHTML(node, options) { + return (0, dom_serializer_1.default)(node, options); +} +/** + * @category Stringify + * @deprecated Use the `dom-serializer` module directly. + * @param node Node to get the inner HTML of. + * @param options Options for serialization. + * @returns `node`'s inner HTML. + */ +function getInnerHTML(node, options) { + return (0, domhandler_1.hasChildren)(node) + ? node.children.map(function (node) { return getOuterHTML(node, options); }).join("") + : ""; +} +/** + * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments. + * + * @category Stringify + * @deprecated Use `textContent` instead. + * @param node Node to get the inner text of. + * @returns `node`'s inner text. + */ +function getText(node) { + if (Array.isArray(node)) + return node.map(getText).join(""); + if ((0, domhandler_1.isTag)(node)) + return node.name === "br" ? "\n" : getText(node.children); + if ((0, domhandler_1.isCDATA)(node)) + return getText(node.children); + if ((0, domhandler_1.isText)(node)) + return node.data; + return ""; +} +/** + * Get a node's text content. Ignores comments. + * + * @category Stringify + * @param node Node to get the text content of. + * @returns `node`'s text content. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent} + */ +function textContent(node) { + if (Array.isArray(node)) + return node.map(textContent).join(""); + if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) { + return textContent(node.children); + } + if ((0, domhandler_1.isText)(node)) + return node.data; + return ""; +} +/** + * Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments. + * + * @category Stringify + * @param node Node to get the inner text of. + * @returns `node`'s inner text. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText} + */ +function innerText(node) { + if (Array.isArray(node)) + return node.map(innerText).join(""); + if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) { + return innerText(node.children); + } + if ((0, domhandler_1.isText)(node)) + return node.data; + return ""; +} +//# sourceMappingURL=stringify.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/lib/traversal.js b/.output/server/node_modules/domutils/lib/traversal.js new file mode 100644 index 00000000..0e14fbe3 --- /dev/null +++ b/.output/server/node_modules/domutils/lib/traversal.js @@ -0,0 +1,125 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getChildren = getChildren; +exports.getParent = getParent; +exports.getSiblings = getSiblings; +exports.getAttributeValue = getAttributeValue; +exports.hasAttrib = hasAttrib; +exports.getName = getName; +exports.nextElementSibling = nextElementSibling; +exports.prevElementSibling = prevElementSibling; +var domhandler_1 = require("domhandler"); +/** + * Get a node's children. + * + * @category Traversal + * @param elem Node to get the children of. + * @returns `elem`'s children, or an empty array. + */ +function getChildren(elem) { + return (0, domhandler_1.hasChildren)(elem) ? elem.children : []; +} +/** + * Get a node's parent. + * + * @category Traversal + * @param elem Node to get the parent of. + * @returns `elem`'s parent node, or `null` if `elem` is a root node. + */ +function getParent(elem) { + return elem.parent || null; +} +/** + * Gets an elements siblings, including the element itself. + * + * Attempts to get the children through the element's parent first. If we don't + * have a parent (the element is a root node), we walk the element's `prev` & + * `next` to get all remaining nodes. + * + * @category Traversal + * @param elem Element to get the siblings of. + * @returns `elem`'s siblings, including `elem`. + */ +function getSiblings(elem) { + var _a, _b; + var parent = getParent(elem); + if (parent != null) + return getChildren(parent); + var siblings = [elem]; + var prev = elem.prev, next = elem.next; + while (prev != null) { + siblings.unshift(prev); + (_a = prev, prev = _a.prev); + } + while (next != null) { + siblings.push(next); + (_b = next, next = _b.next); + } + return siblings; +} +/** + * Gets an attribute from an element. + * + * @category Traversal + * @param elem Element to check. + * @param name Attribute name to retrieve. + * @returns The element's attribute value, or `undefined`. + */ +function getAttributeValue(elem, name) { + var _a; + return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name]; +} +/** + * Checks whether an element has an attribute. + * + * @category Traversal + * @param elem Element to check. + * @param name Attribute name to look for. + * @returns Returns whether `elem` has the attribute `name`. + */ +function hasAttrib(elem, name) { + return (elem.attribs != null && + Object.prototype.hasOwnProperty.call(elem.attribs, name) && + elem.attribs[name] != null); +} +/** + * Get the tag name of an element. + * + * @category Traversal + * @param elem The element to get the name for. + * @returns The tag name of `elem`. + */ +function getName(elem) { + return elem.name; +} +/** + * Returns the next element sibling of a node. + * + * @category Traversal + * @param elem The element to get the next sibling of. + * @returns `elem`'s next sibling that is a tag, or `null` if there is no next + * sibling. + */ +function nextElementSibling(elem) { + var _a; + var next = elem.next; + while (next !== null && !(0, domhandler_1.isTag)(next)) + (_a = next, next = _a.next); + return next; +} +/** + * Returns the previous element sibling of a node. + * + * @category Traversal + * @param elem The element to get the previous sibling of. + * @returns `elem`'s previous sibling that is a tag, or `null` if there is no + * previous sibling. + */ +function prevElementSibling(elem) { + var _a; + var prev = elem.prev; + while (prev !== null && !(0, domhandler_1.isTag)(prev)) + (_a = prev, prev = _a.prev); + return prev; +} +//# sourceMappingURL=traversal.js.map \ No newline at end of file diff --git a/.output/server/node_modules/domutils/package.json b/.output/server/node_modules/domutils/package.json new file mode 100644 index 00000000..d1315551 --- /dev/null +++ b/.output/server/node_modules/domutils/package.json @@ -0,0 +1,79 @@ +{ + "name": "domutils", + "version": "3.2.2", + "description": "Utilities for working with htmlparser2's dom", + "author": "Felix Boehm <me@feedic.com>", + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + }, + "license": "BSD-2-Clause", + "sideEffects": false, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "files": [ + "lib/**/*" + ], + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint --ignore-path .gitignore .", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier \"**/*.{ts,md,json,yml}\" --ignore-path .gitignore", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc --sourceRoot https://raw.githubusercontent.com/fb55/domutils/$(git rev-parse HEAD)/src/", + "build:esm": "npm run build:cjs -- --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "build:docs": "typedoc src", + "prepare": "npm run build" + }, + "repository": { + "type": "git", + "url": "git://github.com/fb55/domutils.git" + }, + "keywords": [ + "dom", + "htmlparser2" + ], + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "devDependencies": { + "@types/jest": "^29.5.14", + "@types/node": "^22.10.5", + "@typescript-eslint/eslint-plugin": "^8.19.0", + "@typescript-eslint/parser": "^8.19.0", + "eslint": "^8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-jsdoc": "^50.6.1", + "htmlparser2": "~9.1.0", + "jest": "^29.7.0", + "prettier": "^3.4.2", + "ts-jest": "^29.2.5", + "typedoc": "^0.27.6", + "typescript": "^5.7.2" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node", + "coverageProvider": "v8", + "moduleNameMapper": { + "^(.*)\\.js$": [ + "$1.js", + "$1" + ] + } + }, + "prettier": { + "tabWidth": 4 + } +} \ No newline at end of file diff --git a/.output/server/node_modules/dunder-proto/get.js b/.output/server/node_modules/dunder-proto/get.js new file mode 100644 index 00000000..45093df9 --- /dev/null +++ b/.output/server/node_modules/dunder-proto/get.js @@ -0,0 +1,30 @@ +'use strict'; + +var callBind = require('call-bind-apply-helpers'); +var gOPD = require('gopd'); + +var hasProtoAccessor; +try { + // eslint-disable-next-line no-extra-parens, no-proto + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype; +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +// eslint-disable-next-line no-extra-parens +var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +var $Object = Object; +var $getPrototypeOf = $Object.getPrototypeOf; + +/** @type {import('./get')} */ +module.exports = desc && typeof desc.get === 'function' + ? callBind([desc.get]) + : typeof $getPrototypeOf === 'function' + ? /** @type {import('./get')} */ function getDunder(value) { + // eslint-disable-next-line eqeqeq + return $getPrototypeOf(value == null ? value : $Object(value)); + } + : false; diff --git a/.output/server/node_modules/dunder-proto/package.json b/.output/server/node_modules/dunder-proto/package.json new file mode 100644 index 00000000..7518035e --- /dev/null +++ b/.output/server/node_modules/dunder-proto/package.json @@ -0,0 +1,76 @@ +{ + "name": "dunder-proto", + "version": "1.0.1", + "description": "If available, the `Object.prototype.__proto__` accessor and mutator, call-bound", + "main": false, + "exports": { + "./get": "./get.js", + "./set": "./set.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/es-shims/dunder-proto.git" + }, + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/es-shims/dunder-proto/issues" + }, + "homepage": "https://github.com/es-shims/dunder-proto#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/tape": "^5.7.0", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "test/index.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/entities b/.output/server/node_modules/entities new file mode 120000 index 00000000..62fbd57b --- /dev/null +++ b/.output/server/node_modules/entities @@ -0,0 +1 @@ +.nitro/entities@7.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/es-define-property/index.js b/.output/server/node_modules/es-define-property/index.js new file mode 100644 index 00000000..e0a29251 --- /dev/null +++ b/.output/server/node_modules/es-define-property/index.js @@ -0,0 +1,14 @@ +'use strict'; + +/** @type {import('.')} */ +var $defineProperty = Object.defineProperty || false; +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = false; + } +} + +module.exports = $defineProperty; diff --git a/.output/server/node_modules/es-define-property/package.json b/.output/server/node_modules/es-define-property/package.json new file mode 100644 index 00000000..bd659825 --- /dev/null +++ b/.output/server/node_modules/es-define-property/package.json @@ -0,0 +1,81 @@ +{ + "name": "es-define-property", + "version": "1.0.1", + "description": "`Object.defineProperty`, but not IE 8's broken one.", + "main": "index.js", + "types": "./index.d.ts", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-define-property.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "define", + "property", + "defineProperty", + "Object.defineProperty" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-define-property/issues" + }, + "homepage": "https://github.com/ljharb/es-define-property#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/gopd": "^1.0.3", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "gopd": "^1.2.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/es-errors/eval.js b/.output/server/node_modules/es-errors/eval.js new file mode 100644 index 00000000..725ccb61 --- /dev/null +++ b/.output/server/node_modules/es-errors/eval.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./eval')} */ +module.exports = EvalError; diff --git a/.output/server/node_modules/es-errors/index.js b/.output/server/node_modules/es-errors/index.js new file mode 100644 index 00000000..cc0c5212 --- /dev/null +++ b/.output/server/node_modules/es-errors/index.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Error; diff --git a/.output/server/node_modules/es-errors/package.json b/.output/server/node_modules/es-errors/package.json new file mode 100644 index 00000000..9f294f66 --- /dev/null +++ b/.output/server/node_modules/es-errors/package.json @@ -0,0 +1,80 @@ +{ + "name": "es-errors", + "version": "1.3.0", + "description": "A simple cache for a few of the JS Error constructors.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./eval": "./eval.js", + "./range": "./range.js", + "./ref": "./ref.js", + "./syntax": "./syntax.js", + "./type": "./type.js", + "./uri": "./uri.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "aud --production", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-errors.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "error", + "typeerror", + "syntaxerror", + "rangeerror" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-errors/issues" + }, + "homepage": "https://github.com/ljharb/es-errors#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eclint": "^2.8.1", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.4", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/es-errors/range.js b/.output/server/node_modules/es-errors/range.js new file mode 100644 index 00000000..2044fe03 --- /dev/null +++ b/.output/server/node_modules/es-errors/range.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./range')} */ +module.exports = RangeError; diff --git a/.output/server/node_modules/es-errors/ref.js b/.output/server/node_modules/es-errors/ref.js new file mode 100644 index 00000000..d7c430fd --- /dev/null +++ b/.output/server/node_modules/es-errors/ref.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./ref')} */ +module.exports = ReferenceError; diff --git a/.output/server/node_modules/es-errors/syntax.js b/.output/server/node_modules/es-errors/syntax.js new file mode 100644 index 00000000..5f5fddee --- /dev/null +++ b/.output/server/node_modules/es-errors/syntax.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./syntax')} */ +module.exports = SyntaxError; diff --git a/.output/server/node_modules/es-errors/type.js b/.output/server/node_modules/es-errors/type.js new file mode 100644 index 00000000..9769e44e --- /dev/null +++ b/.output/server/node_modules/es-errors/type.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./type')} */ +module.exports = TypeError; diff --git a/.output/server/node_modules/es-errors/uri.js b/.output/server/node_modules/es-errors/uri.js new file mode 100644 index 00000000..e9cd1c78 --- /dev/null +++ b/.output/server/node_modules/es-errors/uri.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./uri')} */ +module.exports = URIError; diff --git a/.output/server/node_modules/es-object-atoms/index.js b/.output/server/node_modules/es-object-atoms/index.js new file mode 100644 index 00000000..1d33cef4 --- /dev/null +++ b/.output/server/node_modules/es-object-atoms/index.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Object; diff --git a/.output/server/node_modules/es-object-atoms/package.json b/.output/server/node_modules/es-object-atoms/package.json new file mode 100644 index 00000000..8a7fb9f2 --- /dev/null +++ b/.output/server/node_modules/es-object-atoms/package.json @@ -0,0 +1,80 @@ +{ + "name": "es-object-atoms", + "version": "1.1.1", + "description": "ES Object-related atoms: Object, ToObject, RequireObjectCoercible", + "main": "index.js", + "exports": { + ".": "./index.js", + "./RequireObjectCoercible": "./RequireObjectCoercible.js", + "./isObject": "./isObject.js", + "./ToObject": "./ToObject.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "npx npm@\">= 10.2\" audit --production", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-object-atoms.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "toobject", + "coercible" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-object-atoms/issues" + }, + "homepage": "https://github.com/ljharb/es-object-atoms#readme", + "dependencies": { + "es-errors": "^1.3.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/es-set-tostringtag/index.js b/.output/server/node_modules/es-set-tostringtag/index.js new file mode 100644 index 00000000..6b6b49c7 --- /dev/null +++ b/.output/server/node_modules/es-set-tostringtag/index.js @@ -0,0 +1,35 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); + +var hasToStringTag = require('has-tostringtag/shams')(); +var hasOwn = require('hasown'); +var $TypeError = require('es-errors/type'); + +var toStringTag = hasToStringTag ? Symbol.toStringTag : null; + +/** @type {import('.')} */ +module.exports = function setToStringTag(object, value) { + var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force; + var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable; + if ( + (typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean') + || (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean') + ) { + throw new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans'); + } + if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) { + if ($defineProperty) { + $defineProperty(object, toStringTag, { + configurable: !nonConfigurable, + enumerable: false, + value: value, + writable: false + }); + } else { + object[toStringTag] = value; // eslint-disable-line no-param-reassign + } + } +}; diff --git a/.output/server/node_modules/es-set-tostringtag/package.json b/.output/server/node_modules/es-set-tostringtag/package.json new file mode 100644 index 00000000..fb605f12 --- /dev/null +++ b/.output/server/node_modules/es-set-tostringtag/package.json @@ -0,0 +1,78 @@ +{ + "name": "es-set-tostringtag", + "version": "2.1.0", + "description": "A helper to optimistically set Symbol.toStringTag, when possible.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@\">= 10.2\" audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/es-shims/es-set-tostringtag.git" + }, + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/es-shims/es-set-tostringtag/issues" + }, + "homepage": "https://github.com/es-shims/es-set-tostringtag#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.2", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/get-intrinsic": "^1.2.3", + "@types/has-symbols": "^1.0.2", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "./test/index.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js b/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js new file mode 100644 index 00000000..46fed0f9 --- /dev/null +++ b/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js @@ -0,0 +1,344 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = global || self, factory(global.estreeWalker = {})); +}(this, (function (exports) { 'use strict'; + + // @ts-check + /** @typedef { import('estree').BaseNode} BaseNode */ + + /** @typedef {{ + skip: () => void; + remove: () => void; + replace: (node: BaseNode) => void; + }} WalkerContext */ + + class WalkerBase { + constructor() { + /** @type {boolean} */ + this.should_skip = false; + + /** @type {boolean} */ + this.should_remove = false; + + /** @type {BaseNode | null} */ + this.replacement = null; + + /** @type {WalkerContext} */ + this.context = { + skip: () => (this.should_skip = true), + remove: () => (this.should_remove = true), + replace: (node) => (this.replacement = node) + }; + } + + /** + * + * @param {any} parent + * @param {string} prop + * @param {number} index + * @param {BaseNode} node + */ + replace(parent, prop, index, node) { + if (parent) { + if (index !== null) { + parent[prop][index] = node; + } else { + parent[prop] = node; + } + } + } + + /** + * + * @param {any} parent + * @param {string} prop + * @param {number} index + */ + remove(parent, prop, index) { + if (parent) { + if (index !== null) { + parent[prop].splice(index, 1); + } else { + delete parent[prop]; + } + } + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./walker.js').WalkerContext} WalkerContext */ + + /** @typedef {( + * this: WalkerContext, + * node: BaseNode, + * parent: BaseNode, + * key: string, + * index: number + * ) => void} SyncHandler */ + + class SyncWalker extends WalkerBase { + /** + * + * @param {SyncHandler} enter + * @param {SyncHandler} leave + */ + constructor(enter, leave) { + super(); + + /** @type {SyncHandler} */ + this.enter = enter; + + /** @type {SyncHandler} */ + this.leave = leave; + } + + /** + * + * @param {BaseNode} node + * @param {BaseNode} parent + * @param {string} [prop] + * @param {number} [index] + * @returns {BaseNode} + */ + visit(node, parent, prop, index) { + if (node) { + if (this.enter) { + const _should_skip = this.should_skip; + const _should_remove = this.should_remove; + const _replacement = this.replacement; + this.should_skip = false; + this.should_remove = false; + this.replacement = null; + + this.enter.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const skipped = this.should_skip; + const removed = this.should_remove; + + this.should_skip = _should_skip; + this.should_remove = _should_remove; + this.replacement = _replacement; + + if (skipped) return node; + if (removed) return null; + } + + for (const key in node) { + const value = node[key]; + + if (typeof value !== "object") { + continue; + } else if (Array.isArray(value)) { + for (let i = 0; i < value.length; i += 1) { + if (value[i] !== null && typeof value[i].type === 'string') { + if (!this.visit(value[i], node, key, i)) { + // removed + i--; + } + } + } + } else if (value !== null && typeof value.type === "string") { + this.visit(value, node, key, null); + } + } + + if (this.leave) { + const _replacement = this.replacement; + const _should_remove = this.should_remove; + this.replacement = null; + this.should_remove = false; + + this.leave.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const removed = this.should_remove; + + this.replacement = _replacement; + this.should_remove = _should_remove; + + if (removed) return null; + } + } + + return node; + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./walker').WalkerContext} WalkerContext */ + + /** @typedef {( + * this: WalkerContext, + * node: BaseNode, + * parent: BaseNode, + * key: string, + * index: number + * ) => Promise<void>} AsyncHandler */ + + class AsyncWalker extends WalkerBase { + /** + * + * @param {AsyncHandler} enter + * @param {AsyncHandler} leave + */ + constructor(enter, leave) { + super(); + + /** @type {AsyncHandler} */ + this.enter = enter; + + /** @type {AsyncHandler} */ + this.leave = leave; + } + + /** + * + * @param {BaseNode} node + * @param {BaseNode} parent + * @param {string} [prop] + * @param {number} [index] + * @returns {Promise<BaseNode>} + */ + async visit(node, parent, prop, index) { + if (node) { + if (this.enter) { + const _should_skip = this.should_skip; + const _should_remove = this.should_remove; + const _replacement = this.replacement; + this.should_skip = false; + this.should_remove = false; + this.replacement = null; + + await this.enter.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const skipped = this.should_skip; + const removed = this.should_remove; + + this.should_skip = _should_skip; + this.should_remove = _should_remove; + this.replacement = _replacement; + + if (skipped) return node; + if (removed) return null; + } + + for (const key in node) { + const value = node[key]; + + if (typeof value !== "object") { + continue; + } else if (Array.isArray(value)) { + for (let i = 0; i < value.length; i += 1) { + if (value[i] !== null && typeof value[i].type === 'string') { + if (!(await this.visit(value[i], node, key, i))) { + // removed + i--; + } + } + } + } else if (value !== null && typeof value.type === "string") { + await this.visit(value, node, key, null); + } + } + + if (this.leave) { + const _replacement = this.replacement; + const _should_remove = this.should_remove; + this.replacement = null; + this.should_remove = false; + + await this.leave.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const removed = this.should_remove; + + this.replacement = _replacement; + this.should_remove = _should_remove; + + if (removed) return null; + } + } + + return node; + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./sync.js').SyncHandler} SyncHandler */ + /** @typedef { import('./async.js').AsyncHandler} AsyncHandler */ + + /** + * + * @param {BaseNode} ast + * @param {{ + * enter?: SyncHandler + * leave?: SyncHandler + * }} walker + * @returns {BaseNode} + */ + function walk(ast, { enter, leave }) { + const instance = new SyncWalker(enter, leave); + return instance.visit(ast, null); + } + + /** + * + * @param {BaseNode} ast + * @param {{ + * enter?: AsyncHandler + * leave?: AsyncHandler + * }} walker + * @returns {Promise<BaseNode>} + */ + async function asyncWalk(ast, { enter, leave }) { + const instance = new AsyncWalker(enter, leave); + return await instance.visit(ast, null); + } + + exports.asyncWalk = asyncWalk; + exports.walk = walk; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/.output/server/node_modules/estree-walker/package.json b/.output/server/node_modules/estree-walker/package.json new file mode 100644 index 00000000..08014bb3 --- /dev/null +++ b/.output/server/node_modules/estree-walker/package.json @@ -0,0 +1,37 @@ +{ + "name": "estree-walker", + "description": "Traverse an ESTree-compliant AST", + "version": "2.0.2", + "private": false, + "author": "Rich Harris", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Rich-Harris/estree-walker" + }, + "type": "commonjs", + "main": "./dist/umd/estree-walker.js", + "module": "./dist/esm/estree-walker.js", + "exports": { + "require": "./dist/umd/estree-walker.js", + "import": "./dist/esm/estree-walker.js" + }, + "types": "types/index.d.ts", + "scripts": { + "prepublishOnly": "npm run build && npm test", + "build": "tsc && rollup -c", + "test": "uvu test" + }, + "devDependencies": { + "@types/estree": "0.0.42", + "rollup": "^2.10.9", + "typescript": "^3.7.5", + "uvu": "^0.5.1" + }, + "files": [ + "src", + "dist", + "types", + "README.md" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/etag/index.js b/.output/server/node_modules/etag/index.js new file mode 100644 index 00000000..2a585c91 --- /dev/null +++ b/.output/server/node_modules/etag/index.js @@ -0,0 +1,131 @@ +/*! + * etag + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = etag + +/** + * Module dependencies. + * @private + */ + +var crypto = require('crypto') +var Stats = require('fs').Stats + +/** + * Module variables. + * @private + */ + +var toString = Object.prototype.toString + +/** + * Generate an entity tag. + * + * @param {Buffer|string} entity + * @return {string} + * @private + */ + +function entitytag (entity) { + if (entity.length === 0) { + // fast-path empty + return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"' + } + + // compute hash of entity + var hash = crypto + .createHash('sha1') + .update(entity, 'utf8') + .digest('base64') + .substring(0, 27) + + // compute length of entity + var len = typeof entity === 'string' + ? Buffer.byteLength(entity, 'utf8') + : entity.length + + return '"' + len.toString(16) + '-' + hash + '"' +} + +/** + * Create a simple ETag. + * + * @param {string|Buffer|Stats} entity + * @param {object} [options] + * @param {boolean} [options.weak] + * @return {String} + * @public + */ + +function etag (entity, options) { + if (entity == null) { + throw new TypeError('argument entity is required') + } + + // support fs.Stats object + var isStats = isstats(entity) + var weak = options && typeof options.weak === 'boolean' + ? options.weak + : isStats + + // validate argument + if (!isStats && typeof entity !== 'string' && !Buffer.isBuffer(entity)) { + throw new TypeError('argument entity must be string, Buffer, or fs.Stats') + } + + // generate entity tag + var tag = isStats + ? stattag(entity) + : entitytag(entity) + + return weak + ? 'W/' + tag + : tag +} + +/** + * Determine if object is a Stats object. + * + * @param {object} obj + * @return {boolean} + * @api private + */ + +function isstats (obj) { + // genuine fs.Stats + if (typeof Stats === 'function' && obj instanceof Stats) { + return true + } + + // quack quack + return obj && typeof obj === 'object' && + 'ctime' in obj && toString.call(obj.ctime) === '[object Date]' && + 'mtime' in obj && toString.call(obj.mtime) === '[object Date]' && + 'ino' in obj && typeof obj.ino === 'number' && + 'size' in obj && typeof obj.size === 'number' +} + +/** + * Generate a tag for a stat. + * + * @param {object} stat + * @return {string} + * @private + */ + +function stattag (stat) { + var mtime = stat.mtime.getTime().toString(16) + var size = stat.size.toString(16) + + return '"' + size + '-' + mtime + '"' +} diff --git a/.output/server/node_modules/etag/package.json b/.output/server/node_modules/etag/package.json new file mode 100644 index 00000000..1721a9a1 --- /dev/null +++ b/.output/server/node_modules/etag/package.json @@ -0,0 +1,47 @@ +{ + "name": "etag", + "description": "Create simple HTTP ETags", + "version": "1.8.1", + "contributors": [ + "Douglas Christopher Wilson <doug@somethingdoug.com>", + "David Björklund <david.bjorklund@gmail.com>" + ], + "license": "MIT", + "keywords": [ + "etag", + "http", + "res" + ], + "repository": "jshttp/etag", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5", + "safe-buffer": "5.1.1", + "seedrandom": "2.4.3" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/fast-xml-parser/package.json b/.output/server/node_modules/fast-xml-parser/package.json new file mode 100644 index 00000000..e3963c02 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/package.json @@ -0,0 +1,92 @@ +{ + "name": "fast-xml-parser", + "version": "5.3.3", + "description": "Validate XML, Parse XML, Build XML without C/C++ based libraries", + "main": "./lib/fxp.cjs", + "type": "module", + "sideEffects": false, + "module": "./src/fxp.js", + "types": "./src/fxp.d.ts", + "exports": { + ".": { + "import": { + "types": "./src/fxp.d.ts", + "default": "./src/fxp.js" + }, + "require": { + "types": "./lib/fxp.d.cts", + "default": "./lib/fxp.cjs" + } + } + }, + "scripts": { + "test": "c8 --reporter=lcov --reporter=text jasmine spec/*spec.js", + "test-types": "tsc --noEmit spec/typings/typings-test.ts", + "unit": "jasmine", + "coverage": "nyc report --reporter html --reporter text -t .nyc_output --report-dir .nyc_output/summary", + "perf": "node ./benchmark/perfTest3.js", + "lint": "eslint src/**/*.js spec/**/*.js benchmark/**/*.js", + "bundle": "webpack --config webpack.cjs.config.js", + "prettier": "prettier --write src/**/*.js", + "checkReadiness": "publish-please --dry-run", + "publish-please": "publish-please", + "prepublishOnly": "publish-please guard" + }, + "bin": { + "fxparser": "./src/cli/cli.js" + }, + "files": [ + "lib", + "src", + "CHANGELOG.md" + ], + "repository": { + "type": "git", + "url": "https://github.com/NaturalIntelligence/fast-xml-parser" + }, + "keywords": [ + "fast", + "xml", + "json", + "parser", + "xml2js", + "x2js", + "xml2json", + "js", + "validator", + "validate", + "transformer", + "assert", + "js2xml", + "json2xml", + "html" + ], + "author": "Amit Gupta (https://solothought.com)", + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.13.10", + "@babel/plugin-transform-runtime": "^7.13.10", + "@babel/preset-env": "^7.13.10", + "@babel/register": "^7.13.8", + "@types/node": "20", + "babel-loader": "^8.2.2", + "c8": "^10.1.3", + "eslint": "^8.3.0", + "he": "^1.2.0", + "jasmine": "^5.6.0", + "prettier": "^3.5.1", + "publish-please": "^5.5.2", + "typescript": "5", + "webpack": "^5.64.4", + "webpack-cli": "^4.9.1" + }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^2.1.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/fast-xml-parser/src/fxp.js b/.output/server/node_modules/fast-xml-parser/src/fxp.js new file mode 100644 index 00000000..52d70081 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/fxp.js @@ -0,0 +1,14 @@ +'use strict'; + +import {validate} from './validator.js'; +import XMLParser from './xmlparser/XMLParser.js'; +import XMLBuilder from './xmlbuilder/json2xml.js'; + +const XMLValidator = { + validate: validate +} +export { + XMLParser, + XMLValidator, + XMLBuilder +}; \ No newline at end of file diff --git a/.output/server/node_modules/fast-xml-parser/src/ignoreAttributes.js b/.output/server/node_modules/fast-xml-parser/src/ignoreAttributes.js new file mode 100644 index 00000000..bdec0a61 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/ignoreAttributes.js @@ -0,0 +1,18 @@ +export default function getIgnoreAttributesFn(ignoreAttributes) { + if (typeof ignoreAttributes === 'function') { + return ignoreAttributes + } + if (Array.isArray(ignoreAttributes)) { + return (attrName) => { + for (const pattern of ignoreAttributes) { + if (typeof pattern === 'string' && attrName === pattern) { + return true + } + if (pattern instanceof RegExp && pattern.test(attrName)) { + return true + } + } + } + } + return () => false +} \ No newline at end of file diff --git a/.output/server/node_modules/fast-xml-parser/src/util.js b/.output/server/node_modules/fast-xml-parser/src/util.js new file mode 100644 index 00000000..60fb7aca --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/util.js @@ -0,0 +1,68 @@ +'use strict'; + +const nameStartChar = ':A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; +const nameChar = nameStartChar + '\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040'; +export const nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'; +const regexName = new RegExp('^' + nameRegexp + '$'); + +export function getAllMatches(string, regex) { + const matches = []; + let match = regex.exec(string); + while (match) { + const allmatches = []; + allmatches.startIndex = regex.lastIndex - match[0].length; + const len = match.length; + for (let index = 0; index < len; index++) { + allmatches.push(match[index]); + } + matches.push(allmatches); + match = regex.exec(string); + } + return matches; +} + +export const isName = function(string) { + const match = regexName.exec(string); + return !(match === null || typeof match === 'undefined'); +} + +export function isExist(v) { + return typeof v !== 'undefined'; +} + +export function isEmptyObject(obj) { + return Object.keys(obj).length === 0; +} + +/** + * Copy all the properties of a into b. + * @param {*} target + * @param {*} a + */ +export function merge(target, a, arrayMode) { + if (a) { + const keys = Object.keys(a); // will return an array of own properties + const len = keys.length; //don't make it inline + for (let i = 0; i < len; i++) { + if (arrayMode === 'strict') { + target[keys[i]] = [ a[keys[i]] ]; + } else { + target[keys[i]] = a[keys[i]]; + } + } + } +} +/* exports.merge =function (b,a){ + return Object.assign(b,a); +} */ + +export function getValue(v) { + if (exports.isExist(v)) { + return v; + } else { + return ''; + } +} + +// const fakeCall = function(a) {return a;}; +// const fakeCallNoReturn = function() {}; \ No newline at end of file diff --git a/.output/server/node_modules/fast-xml-parser/src/validator.js b/.output/server/node_modules/fast-xml-parser/src/validator.js new file mode 100644 index 00000000..1037423e --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/validator.js @@ -0,0 +1,425 @@ +'use strict'; + +import {getAllMatches, isName} from './util.js'; + +const defaultOptions = { + allowBooleanAttributes: false, //A tag can have attributes without any value + unpairedTags: [] +}; + +//const tagsPattern = new RegExp("<\\/?([\\w:\\-_\.]+)\\s*\/?>","g"); +export function validate(xmlData, options) { + options = Object.assign({}, defaultOptions, options); + + //xmlData = xmlData.replace(/(\r\n|\n|\r)/gm,"");//make it single line + //xmlData = xmlData.replace(/(^\s*<\?xml.*?\?>)/g,"");//Remove XML starting tag + //xmlData = xmlData.replace(/(<!DOCTYPE[\s\w\"\.\/\-\:]+(\[.*\])*\s*>)/g,"");//Remove DOCTYPE + const tags = []; + let tagFound = false; + + //indicates that the root tag has been closed (aka. depth 0 has been reached) + let reachedRoot = false; + + if (xmlData[0] === '\ufeff') { + // check for byte order mark (BOM) + xmlData = xmlData.substr(1); + } + + for (let i = 0; i < xmlData.length; i++) { + + if (xmlData[i] === '<' && xmlData[i+1] === '?') { + i+=2; + i = readPI(xmlData,i); + if (i.err) return i; + }else if (xmlData[i] === '<') { + //starting of tag + //read until you reach to '>' avoiding any '>' in attribute value + let tagStartPos = i; + i++; + + if (xmlData[i] === '!') { + i = readCommentAndCDATA(xmlData, i); + continue; + } else { + let closingTag = false; + if (xmlData[i] === '/') { + //closing tag + closingTag = true; + i++; + } + //read tagname + let tagName = ''; + for (; i < xmlData.length && + xmlData[i] !== '>' && + xmlData[i] !== ' ' && + xmlData[i] !== '\t' && + xmlData[i] !== '\n' && + xmlData[i] !== '\r'; i++ + ) { + tagName += xmlData[i]; + } + tagName = tagName.trim(); + //console.log(tagName); + + if (tagName[tagName.length - 1] === '/') { + //self closing tag without attributes + tagName = tagName.substring(0, tagName.length - 1); + //continue; + i--; + } + if (!validateTagName(tagName)) { + let msg; + if (tagName.trim().length === 0) { + msg = "Invalid space after '<'."; + } else { + msg = "Tag '"+tagName+"' is an invalid name."; + } + return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i)); + } + + const result = readAttributeStr(xmlData, i); + if (result === false) { + return getErrorObject('InvalidAttr', "Attributes for '"+tagName+"' have open quote.", getLineNumberForPosition(xmlData, i)); + } + let attrStr = result.value; + i = result.index; + + if (attrStr[attrStr.length - 1] === '/') { + //self closing tag + const attrStrStart = i - attrStr.length; + attrStr = attrStr.substring(0, attrStr.length - 1); + const isValid = validateAttributeString(attrStr, options); + if (isValid === true) { + tagFound = true; + //continue; //text may presents after self closing tag + } else { + //the result from the nested function returns the position of the error within the attribute + //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute + //this gives us the absolute index in the entire xml, which we can use to find the line at last + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line)); + } + } else if (closingTag) { + if (!result.tagClosed) { + return getErrorObject('InvalidTag', "Closing tag '"+tagName+"' doesn't have proper closing.", getLineNumberForPosition(xmlData, i)); + } else if (attrStr.trim().length > 0) { + return getErrorObject('InvalidTag', "Closing tag '"+tagName+"' can't have attributes or invalid starting.", getLineNumberForPosition(xmlData, tagStartPos)); + } else if (tags.length === 0) { + return getErrorObject('InvalidTag', "Closing tag '"+tagName+"' has not been opened.", getLineNumberForPosition(xmlData, tagStartPos)); + } else { + const otg = tags.pop(); + if (tagName !== otg.tagName) { + let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos); + return getErrorObject('InvalidTag', + "Expected closing tag '"+otg.tagName+"' (opened in line "+openPos.line+", col "+openPos.col+") instead of closing tag '"+tagName+"'.", + getLineNumberForPosition(xmlData, tagStartPos)); + } + + //when there are no more tags, we reached the root level. + if (tags.length == 0) { + reachedRoot = true; + } + } + } else { + const isValid = validateAttributeString(attrStr, options); + if (isValid !== true) { + //the result from the nested function returns the position of the error within the attribute + //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute + //this gives us the absolute index in the entire xml, which we can use to find the line at last + return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line)); + } + + //if the root level has been reached before ... + if (reachedRoot === true) { + return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i)); + } else if(options.unpairedTags.indexOf(tagName) !== -1){ + //don't push into stack + } else { + tags.push({tagName, tagStartPos}); + } + tagFound = true; + } + + //skip tag text value + //It may include comments and CDATA value + for (i++; i < xmlData.length; i++) { + if (xmlData[i] === '<') { + if (xmlData[i + 1] === '!') { + //comment or CADATA + i++; + i = readCommentAndCDATA(xmlData, i); + continue; + } else if (xmlData[i+1] === '?') { + i = readPI(xmlData, ++i); + if (i.err) return i; + } else{ + break; + } + } else if (xmlData[i] === '&') { + const afterAmp = validateAmpersand(xmlData, i); + if (afterAmp == -1) + return getErrorObject('InvalidChar', "char '&' is not expected.", getLineNumberForPosition(xmlData, i)); + i = afterAmp; + }else{ + if (reachedRoot === true && !isWhiteSpace(xmlData[i])) { + return getErrorObject('InvalidXml', "Extra text at the end", getLineNumberForPosition(xmlData, i)); + } + } + } //end of reading tag text value + if (xmlData[i] === '<') { + i--; + } + } + } else { + if ( isWhiteSpace(xmlData[i])) { + continue; + } + return getErrorObject('InvalidChar', "char '"+xmlData[i]+"' is not expected.", getLineNumberForPosition(xmlData, i)); + } + } + + if (!tagFound) { + return getErrorObject('InvalidXml', 'Start tag expected.', 1); + }else if (tags.length == 1) { + return getErrorObject('InvalidTag', "Unclosed tag '"+tags[0].tagName+"'.", getLineNumberForPosition(xmlData, tags[0].tagStartPos)); + }else if (tags.length > 0) { + return getErrorObject('InvalidXml', "Invalid '"+ + JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\r?\n/g, '')+ + "' found.", {line: 1, col: 1}); + } + + return true; +}; + +function isWhiteSpace(char){ + return char === ' ' || char === '\t' || char === '\n' || char === '\r'; +} +/** + * Read Processing insstructions and skip + * @param {*} xmlData + * @param {*} i + */ +function readPI(xmlData, i) { + const start = i; + for (; i < xmlData.length; i++) { + if (xmlData[i] == '?' || xmlData[i] == ' ') { + //tagname + const tagname = xmlData.substr(start, i - start); + if (i > 5 && tagname === 'xml') { + return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i)); + } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') { + //check if valid attribut string + i++; + break; + } else { + continue; + } + } + } + return i; +} + +function readCommentAndCDATA(xmlData, i) { + if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') { + //comment + for (i += 3; i < xmlData.length; i++) { + if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') { + i += 2; + break; + } + } + } else if ( + xmlData.length > i + 8 && + xmlData[i + 1] === 'D' && + xmlData[i + 2] === 'O' && + xmlData[i + 3] === 'C' && + xmlData[i + 4] === 'T' && + xmlData[i + 5] === 'Y' && + xmlData[i + 6] === 'P' && + xmlData[i + 7] === 'E' + ) { + let angleBracketsCount = 1; + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === '<') { + angleBracketsCount++; + } else if (xmlData[i] === '>') { + angleBracketsCount--; + if (angleBracketsCount === 0) { + break; + } + } + } + } else if ( + xmlData.length > i + 9 && + xmlData[i + 1] === '[' && + xmlData[i + 2] === 'C' && + xmlData[i + 3] === 'D' && + xmlData[i + 4] === 'A' && + xmlData[i + 5] === 'T' && + xmlData[i + 6] === 'A' && + xmlData[i + 7] === '[' + ) { + for (i += 8; i < xmlData.length; i++) { + if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') { + i += 2; + break; + } + } + } + + return i; +} + +const doubleQuote = '"'; +const singleQuote = "'"; + +/** + * Keep reading xmlData until '<' is found outside the attribute value. + * @param {string} xmlData + * @param {number} i + */ +function readAttributeStr(xmlData, i) { + let attrStr = ''; + let startChar = ''; + let tagClosed = false; + for (; i < xmlData.length; i++) { + if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) { + if (startChar === '') { + startChar = xmlData[i]; + } else if (startChar !== xmlData[i]) { + //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa + } else { + startChar = ''; + } + } else if (xmlData[i] === '>') { + if (startChar === '') { + tagClosed = true; + break; + } + } + attrStr += xmlData[i]; + } + if (startChar !== '') { + return false; + } + + return { + value: attrStr, + index: i, + tagClosed: tagClosed + }; +} + +/** + * Select all the attributes whether valid or invalid. + */ +const validAttrStrRegxp = new RegExp('(\\s*)([^\\s=]+)(\\s*=)?(\\s*([\'"])(([\\s\\S])*?)\\5)?', 'g'); + +//attr, ="sd", a="amit's", a="sd"b="saf", ab cd="" + +function validateAttributeString(attrStr, options) { + //console.log("start:"+attrStr+":end"); + + //if(attrStr.trim().length === 0) return true; //empty string + + const matches = getAllMatches(attrStr, validAttrStrRegxp); + const attrNames = {}; + + for (let i = 0; i < matches.length; i++) { + if (matches[i][1].length === 0) { + //nospace before attribute name: a="sd"b="saf" + return getErrorObject('InvalidAttr', "Attribute '"+matches[i][2]+"' has no space in starting.", getPositionFromMatch(matches[i])) + } else if (matches[i][3] !== undefined && matches[i][4] === undefined) { + return getErrorObject('InvalidAttr', "Attribute '"+matches[i][2]+"' is without value.", getPositionFromMatch(matches[i])); + } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) { + //independent attribute: ab + return getErrorObject('InvalidAttr', "boolean attribute '"+matches[i][2]+"' is not allowed.", getPositionFromMatch(matches[i])); + } + /* else if(matches[i][6] === undefined){//attribute without value: ab= + return { err: { code:"InvalidAttr",msg:"attribute " + matches[i][2] + " has no value assigned."}}; + } */ + const attrName = matches[i][2]; + if (!validateAttrName(attrName)) { + return getErrorObject('InvalidAttr', "Attribute '"+attrName+"' is an invalid name.", getPositionFromMatch(matches[i])); + } + if (!attrNames.hasOwnProperty(attrName)) { + //check for duplicate attribute. + attrNames[attrName] = 1; + } else { + return getErrorObject('InvalidAttr', "Attribute '"+attrName+"' is repeated.", getPositionFromMatch(matches[i])); + } + } + + return true; +} + +function validateNumberAmpersand(xmlData, i) { + let re = /\d/; + if (xmlData[i] === 'x') { + i++; + re = /[\da-fA-F]/; + } + for (; i < xmlData.length; i++) { + if (xmlData[i] === ';') + return i; + if (!xmlData[i].match(re)) + break; + } + return -1; +} + +function validateAmpersand(xmlData, i) { + // https://www.w3.org/TR/xml/#dt-charref + i++; + if (xmlData[i] === ';') + return -1; + if (xmlData[i] === '#') { + i++; + return validateNumberAmpersand(xmlData, i); + } + let count = 0; + for (; i < xmlData.length; i++, count++) { + if (xmlData[i].match(/\w/) && count < 20) + continue; + if (xmlData[i] === ';') + break; + return -1; + } + return i; +} + +function getErrorObject(code, message, lineNumber) { + return { + err: { + code: code, + msg: message, + line: lineNumber.line || lineNumber, + col: lineNumber.col, + }, + }; +} + +function validateAttrName(attrName) { + return isName(attrName); +} + +// const startsWithXML = /^xml/i; + +function validateTagName(tagname) { + return isName(tagname) /* && !tagname.match(startsWithXML) */; +} + +//this function returns the line number for the character at the given index +function getLineNumberForPosition(xmlData, index) { + const lines = xmlData.substring(0, index).split(/\r?\n/); + return { + line: lines.length, + + // column number is last line's length + 1, because column numbering starts at 1: + col: lines[lines.length - 1].length + 1 + }; +} + +//this function returns the position of the first character of match within attrStr +function getPositionFromMatch(match) { + return match.startIndex + match[1].length; +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js b/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js new file mode 100644 index 00000000..04c7755c --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js @@ -0,0 +1,285 @@ +'use strict'; +//parse Empty Node as self closing node +import buildFromOrderedJs from './orderedJs2Xml.js'; +import getIgnoreAttributesFn from "../ignoreAttributes.js"; + +const defaultOptions = { + attributeNamePrefix: '@_', + attributesGroupName: false, + textNodeName: '#text', + ignoreAttributes: true, + cdataPropName: false, + format: false, + indentBy: ' ', + suppressEmptyNode: false, + suppressUnpairedNode: true, + suppressBooleanAttributes: true, + tagValueProcessor: function(key, a) { + return a; + }, + attributeValueProcessor: function(attrName, a) { + return a; + }, + preserveOrder: false, + commentPropName: false, + unpairedTags: [], + entities: [ + { regex: new RegExp("&", "g"), val: "&" },//it must be on top + { regex: new RegExp(">", "g"), val: ">" }, + { regex: new RegExp("<", "g"), val: "<" }, + { regex: new RegExp("\'", "g"), val: "'" }, + { regex: new RegExp("\"", "g"), val: """ } + ], + processEntities: true, + stopNodes: [], + // transformTagName: false, + // transformAttributeName: false, + oneListGroup: false +}; + +export default function Builder(options) { + this.options = Object.assign({}, defaultOptions, options); + if (this.options.ignoreAttributes === true || this.options.attributesGroupName) { + this.isAttribute = function(/*a*/) { + return false; + }; + } else { + this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes) + this.attrPrefixLen = this.options.attributeNamePrefix.length; + this.isAttribute = isAttribute; + } + + this.processTextOrObjNode = processTextOrObjNode + + if (this.options.format) { + this.indentate = indentate; + this.tagEndChar = '>\n'; + this.newLine = '\n'; + } else { + this.indentate = function() { + return ''; + }; + this.tagEndChar = '>'; + this.newLine = ''; + } +} + +Builder.prototype.build = function(jObj) { + if(this.options.preserveOrder){ + return buildFromOrderedJs(jObj, this.options); + }else { + if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){ + jObj = { + [this.options.arrayNodeName] : jObj + } + } + return this.j2x(jObj, 0, []).val; + } +}; + +Builder.prototype.j2x = function(jObj, level, ajPath) { + let attrStr = ''; + let val = ''; + const jPath = ajPath.join('.') + for (let key in jObj) { + if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue; + if (typeof jObj[key] === 'undefined') { + // supress undefined node only if it is not an attribute + if (this.isAttribute(key)) { + val += ''; + } + } else if (jObj[key] === null) { + // null attribute should be ignored by the attribute list, but should not cause the tag closing + if (this.isAttribute(key)) { + val += ''; + } else if (key === this.options.cdataPropName) { + val += ''; + } else if (key[0] === '?') { + val += this.indentate(level) + '<' + key + '?' + this.tagEndChar; + } else { + val += this.indentate(level) + '<' + key + '/' + this.tagEndChar; + } + // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar; + } else if (jObj[key] instanceof Date) { + val += this.buildTextValNode(jObj[key], key, '', level); + } else if (typeof jObj[key] !== 'object') { + //premitive type + const attr = this.isAttribute(key); + if (attr && !this.ignoreAttributesFn(attr, jPath)) { + attrStr += this.buildAttrPairStr(attr, '' + jObj[key]); + } else if (!attr) { + //tag value + if (key === this.options.textNodeName) { + let newval = this.options.tagValueProcessor(key, '' + jObj[key]); + val += this.replaceEntitiesValue(newval); + } else { + val += this.buildTextValNode(jObj[key], key, '', level); + } + } + } else if (Array.isArray(jObj[key])) { + //repeated nodes + const arrLen = jObj[key].length; + let listTagVal = ""; + let listTagAttr = ""; + for (let j = 0; j < arrLen; j++) { + const item = jObj[key][j]; + if (typeof item === 'undefined') { + // supress undefined node + } else if (item === null) { + if(key[0] === "?") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar; + else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar; + // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar; + } else if (typeof item === 'object') { + if(this.options.oneListGroup){ + const result = this.j2x(item, level + 1, ajPath.concat(key)); + listTagVal += result.val; + if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) { + listTagAttr += result.attrStr + } + }else{ + listTagVal += this.processTextOrObjNode(item, key, level, ajPath) + } + } else { + if (this.options.oneListGroup) { + let textValue = this.options.tagValueProcessor(key, item); + textValue = this.replaceEntitiesValue(textValue); + listTagVal += textValue; + } else { + listTagVal += this.buildTextValNode(item, key, '', level); + } + } + } + if(this.options.oneListGroup){ + listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level); + } + val += listTagVal; + } else { + //nested node + if (this.options.attributesGroupName && key === this.options.attributesGroupName) { + const Ks = Object.keys(jObj[key]); + const L = Ks.length; + for (let j = 0; j < L; j++) { + attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]); + } + } else { + val += this.processTextOrObjNode(jObj[key], key, level, ajPath) + } + } + } + return {attrStr: attrStr, val: val}; +}; + +Builder.prototype.buildAttrPairStr = function(attrName, val){ + val = this.options.attributeValueProcessor(attrName, '' + val); + val = this.replaceEntitiesValue(val); + if (this.options.suppressBooleanAttributes && val === "true") { + return ' ' + attrName; + } else return ' ' + attrName + '="' + val + '"'; +} + +function processTextOrObjNode (object, key, level, ajPath) { + const result = this.j2x(object, level + 1, ajPath.concat(key)); + if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) { + return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level); + } else { + return this.buildObjectNode(result.val, key, result.attrStr, level); + } +} + +Builder.prototype.buildObjectNode = function(val, key, attrStr, level) { + if(val === ""){ + if(key[0] === "?") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; + else { + return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar; + } + }else{ + + let tagEndExp = '</' + key + this.tagEndChar; + let piClosingChar = ""; + + if(key[0] === "?") { + piClosingChar = "?"; + tagEndExp = ""; + } + + // attrStr is an empty string in case the attribute came as undefined or null + if ((attrStr || attrStr === '') && val.indexOf('<') === -1) { + return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp ); + } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) { + return this.indentate(level) + `<!--${val}-->` + this.newLine; + }else { + return ( + this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar + + val + + this.indentate(level) + tagEndExp ); + } + } +} + +Builder.prototype.closeTag = function(key){ + let closeTag = ""; + if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired + if(!this.options.suppressUnpairedNode) closeTag = "/" + }else if(this.options.suppressEmptyNode){ //empty + closeTag = "/"; + }else{ + closeTag = `></${key}` + } + return closeTag; +} + +function buildEmptyObjNode(val, key, attrStr, level) { + if (val !== '') { + return this.buildObjectNode(val, key, attrStr, level); + } else { + if(key[0] === "?") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; + else { + return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar; + // return this.buildTagStr(level,key, attrStr); + } + } +} + +Builder.prototype.buildTextValNode = function(val, key, attrStr, level) { + if (this.options.cdataPropName !== false && key === this.options.cdataPropName) { + return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine; + }else if (this.options.commentPropName !== false && key === this.options.commentPropName) { + return this.indentate(level) + `<!--${val}-->` + this.newLine; + }else if(key[0] === "?") {//PI tag + return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; + }else{ + let textValue = this.options.tagValueProcessor(key, val); + textValue = this.replaceEntitiesValue(textValue); + + if( textValue === ''){ + return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar; + }else{ + return this.indentate(level) + '<' + key + attrStr + '>' + + textValue + + '</' + key + this.tagEndChar; + } + } +} + +Builder.prototype.replaceEntitiesValue = function(textValue){ + if(textValue && textValue.length > 0 && this.options.processEntities){ + for (let i=0; i<this.options.entities.length; i++) { + const entity = this.options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; +} + +function indentate(level) { + return this.options.indentBy.repeat(level); +} + +function isAttribute(name /*, options*/) { + if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) { + return name.substr(this.attrPrefixLen); + } else { + return false; + } +} + diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js b/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js new file mode 100644 index 00000000..eda2d6e3 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js @@ -0,0 +1,134 @@ +const EOL = "\n"; + +/** + * + * @param {array} jArray + * @param {any} options + * @returns + */ +export default function toXml(jArray, options) { + let indentation = ""; + if (options.format && options.indentBy.length > 0) { + indentation = EOL; + } + return arrToStr(jArray, options, "", indentation); +} + +function arrToStr(arr, options, jPath, indentation) { + let xmlStr = ""; + let isPreviousElementTag = false; + + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const tagName = propName(tagObj); + if(tagName === undefined) continue; + + let newJPath = ""; + if (jPath.length === 0) newJPath = tagName + else newJPath = `${jPath}.${tagName}`; + + if (tagName === options.textNodeName) { + let tagText = tagObj[tagName]; + if (!isStopNode(newJPath, options)) { + tagText = options.tagValueProcessor(tagName, tagText); + tagText = replaceEntitiesValue(tagText, options); + } + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += tagText; + isPreviousElementTag = false; + continue; + } else if (tagName === options.cdataPropName) { + if (isPreviousElementTag) { + xmlStr += indentation; + } + xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`; + isPreviousElementTag = false; + continue; + } else if (tagName === options.commentPropName) { + xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`; + isPreviousElementTag = true; + continue; + } else if (tagName[0] === "?") { + const attStr = attr_to_str(tagObj[":@"], options); + const tempInd = tagName === "?xml" ? "" : indentation; + let piTextNodeName = tagObj[tagName][0][options.textNodeName]; + piTextNodeName = piTextNodeName.length !== 0 ? " " + piTextNodeName : ""; //remove extra spacing + xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`; + isPreviousElementTag = true; + continue; + } + let newIdentation = indentation; + if (newIdentation !== "") { + newIdentation += options.indentBy; + } + const attStr = attr_to_str(tagObj[":@"], options); + const tagStart = indentation + `<${tagName}${attStr}`; + const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation); + if (options.unpairedTags.indexOf(tagName) !== -1) { + if (options.suppressUnpairedNode) xmlStr += tagStart + ">"; + else xmlStr += tagStart + "/>"; + } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) { + xmlStr += tagStart + "/>"; + } else if (tagValue && tagValue.endsWith(">")) { + xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`; + } else { + xmlStr += tagStart + ">"; + if (tagValue && indentation !== "" && (tagValue.includes("/>") || tagValue.includes("</"))) { + xmlStr += indentation + options.indentBy + tagValue + indentation; + } else { + xmlStr += tagValue; + } + xmlStr += `</${tagName}>`; + } + isPreviousElementTag = true; + } + + return xmlStr; +} + +function propName(obj) { + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if(!obj.hasOwnProperty(key)) continue; + if (key !== ":@") return key; + } +} + +function attr_to_str(attrMap, options) { + let attrStr = ""; + if (attrMap && !options.ignoreAttributes) { + for (let attr in attrMap) { + if(!attrMap.hasOwnProperty(attr)) continue; + let attrVal = options.attributeValueProcessor(attr, attrMap[attr]); + attrVal = replaceEntitiesValue(attrVal, options); + if (attrVal === true && options.suppressBooleanAttributes) { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`; + } else { + attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}="${attrVal}"`; + } + } + } + return attrStr; +} + +function isStopNode(jPath, options) { + jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1); + let tagName = jPath.substr(jPath.lastIndexOf(".") + 1); + for (let index in options.stopNodes) { + if (options.stopNodes[index] === jPath || options.stopNodes[index] === "*." + tagName) return true; + } + return false; +} + +function replaceEntitiesValue(textValue, options) { + if (textValue && textValue.length > 0 && options.processEntities) { + for (let i = 0; i < options.entities.length; i++) { + const entity = options.entities[i]; + textValue = textValue.replace(entity.regex, entity.val); + } + } + return textValue; +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js new file mode 100644 index 00000000..b5223cb0 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js @@ -0,0 +1,379 @@ +import {isName} from '../util.js'; + +export default class DocTypeReader{ + constructor(processEntities){ + this.suppressValidationErr = !processEntities; + } + + readDocType(xmlData, i){ + + const entities = {}; + if( xmlData[i + 3] === 'O' && + xmlData[i + 4] === 'C' && + xmlData[i + 5] === 'T' && + xmlData[i + 6] === 'Y' && + xmlData[i + 7] === 'P' && + xmlData[i + 8] === 'E') + { + i = i+9; + let angleBracketsCount = 1; + let hasBody = false, comment = false; + let exp = ""; + for(;i<xmlData.length;i++){ + if (xmlData[i] === '<' && !comment) { //Determine the tag type + if( hasBody && hasSeq(xmlData, "!ENTITY",i)){ + i += 7; + let entityName, val; + [entityName, val,i] = this.readEntityExp(xmlData,i+1,this.suppressValidationErr); + if(val.indexOf("&") === -1) //Parameter entities are not supported + entities[ entityName ] = { + regx : RegExp( `&${entityName};`,"g"), + val: val + }; + } + else if( hasBody && hasSeq(xmlData, "!ELEMENT",i)) { + i += 8;//Not supported + const {index} = this.readElementExp(xmlData,i+1); + i = index; + }else if( hasBody && hasSeq(xmlData, "!ATTLIST",i)){ + i += 8;//Not supported + // const {index} = this.readAttlistExp(xmlData,i+1); + // i = index; + }else if( hasBody && hasSeq(xmlData, "!NOTATION",i)) { + i += 9;//Not supported + const {index} = this.readNotationExp(xmlData,i+1,this.suppressValidationErr); + i = index; + }else if( hasSeq(xmlData, "!--",i) ) comment = true; + else throw new Error(`Invalid DOCTYPE`); + + angleBracketsCount++; + exp = ""; + } else if (xmlData[i] === '>') { //Read tag content + if(comment){ + if( xmlData[i - 1] === "-" && xmlData[i - 2] === "-"){ + comment = false; + angleBracketsCount--; + } + }else{ + angleBracketsCount--; + } + if (angleBracketsCount === 0) { + break; + } + }else if( xmlData[i] === '['){ + hasBody = true; + }else{ + exp += xmlData[i]; + } + } + if(angleBracketsCount !== 0){ + throw new Error(`Unclosed DOCTYPE`); + } + }else{ + throw new Error(`Invalid Tag instead of DOCTYPE`); + } + return {entities, i}; + } + readEntityExp(xmlData, i) { + //External entities are not supported + // <!ENTITY ext SYSTEM "http://normal-website.com" > + + //Parameter entities are not supported + // <!ENTITY entityname "&anotherElement;"> + + //Internal entities are supported + // <!ENTITY entityname "replacement text"> + + // Skip leading whitespace after <!ENTITY + i = skipWhitespace(xmlData, i); + + // Read entity name + let entityName = ""; + while (i < xmlData.length && !/\s/.test(xmlData[i]) && xmlData[i] !== '"' && xmlData[i] !== "'") { + entityName += xmlData[i]; + i++; + } + validateEntityName(entityName); + + // Skip whitespace after entity name + i = skipWhitespace(xmlData, i); + + // Check for unsupported constructs (external entities or parameter entities) + if(!this.suppressValidationErr){ + if (xmlData.substring(i, i + 6).toUpperCase() === "SYSTEM") { + throw new Error("External entities are not supported"); + }else if (xmlData[i] === "%") { + throw new Error("Parameter entities are not supported"); + } + } + + // Read entity value (internal entity) + let entityValue = ""; + [i, entityValue] = this.readIdentifierVal(xmlData, i, "entity"); + i--; + return [entityName, entityValue, i ]; + } + + readNotationExp(xmlData, i) { + // Skip leading whitespace after <!NOTATION + i = skipWhitespace(xmlData, i); + + // Read notation name + let notationName = ""; + while (i < xmlData.length && !/\s/.test(xmlData[i])) { + notationName += xmlData[i]; + i++; + } + !this.suppressValidationErr && validateEntityName(notationName); + + // Skip whitespace after notation name + i = skipWhitespace(xmlData, i); + + // Check identifier type (SYSTEM or PUBLIC) + const identifierType = xmlData.substring(i, i + 6).toUpperCase(); + if (!this.suppressValidationErr && identifierType !== "SYSTEM" && identifierType !== "PUBLIC") { + throw new Error(`Expected SYSTEM or PUBLIC, found "${identifierType}"`); + } + i += identifierType.length; + + // Skip whitespace after identifier type + i = skipWhitespace(xmlData, i); + + // Read public identifier (if PUBLIC) + let publicIdentifier = null; + let systemIdentifier = null; + + if (identifierType === "PUBLIC") { + [i, publicIdentifier ] = this.readIdentifierVal(xmlData, i, "publicIdentifier"); + + // Skip whitespace after public identifier + i = skipWhitespace(xmlData, i); + + // Optionally read system identifier + if (xmlData[i] === '"' || xmlData[i] === "'") { + [i, systemIdentifier ] = this.readIdentifierVal(xmlData, i,"systemIdentifier"); + } + } else if (identifierType === "SYSTEM") { + // Read system identifier (mandatory for SYSTEM) + [i, systemIdentifier ] = this.readIdentifierVal(xmlData, i, "systemIdentifier"); + + if (!this.suppressValidationErr && !systemIdentifier) { + throw new Error("Missing mandatory system identifier for SYSTEM notation"); + } + } + + return {notationName, publicIdentifier, systemIdentifier, index: --i}; + } + + readIdentifierVal(xmlData, i, type) { + let identifierVal = ""; + const startChar = xmlData[i]; + if (startChar !== '"' && startChar !== "'") { + throw new Error(`Expected quoted string, found "${startChar}"`); + } + i++; + + while (i < xmlData.length && xmlData[i] !== startChar) { + identifierVal += xmlData[i]; + i++; + } + + if (xmlData[i] !== startChar) { + throw new Error(`Unterminated ${type} value`); + } + i++; + return [i, identifierVal]; + } + + readElementExp(xmlData, i) { + // <!ELEMENT br EMPTY> + // <!ELEMENT div ANY> + // <!ELEMENT title (#PCDATA)> + // <!ELEMENT book (title, author+)> + // <!ELEMENT name (content-model)> + + // Skip leading whitespace after <!ELEMENT + i = skipWhitespace(xmlData, i); + + // Read element name + let elementName = ""; + while (i < xmlData.length && !/\s/.test(xmlData[i])) { + elementName += xmlData[i]; + i++; + } + + // Validate element name + if (!this.suppressValidationErr && !isName(elementName)) { + throw new Error(`Invalid element name: "${elementName}"`); + } + + // Skip whitespace after element name + i = skipWhitespace(xmlData, i); + let contentModel = ""; + // Expect '(' to start content model + if(xmlData[i] === "E" && hasSeq(xmlData, "MPTY",i)) i+=4; + else if(xmlData[i] === "A" && hasSeq(xmlData, "NY",i)) i+=2; + else if (xmlData[i] === "(") { + i++; // Move past '(' + + // Read content model + while (i < xmlData.length && xmlData[i] !== ")") { + contentModel += xmlData[i]; + i++; + } + if (xmlData[i] !== ")") { + throw new Error("Unterminated content model"); + } + + }else if(!this.suppressValidationErr){ + throw new Error(`Invalid Element Expression, found "${xmlData[i]}"`); + } + + return { + elementName, + contentModel: contentModel.trim(), + index: i + }; + } + + readAttlistExp(xmlData, i) { + // Skip leading whitespace after <!ATTLIST + i = skipWhitespace(xmlData, i); + + // Read element name + let elementName = ""; + while (i < xmlData.length && !/\s/.test(xmlData[i])) { + elementName += xmlData[i]; + i++; + } + + // Validate element name + validateEntityName(elementName) + + // Skip whitespace after element name + i = skipWhitespace(xmlData, i); + + // Read attribute name + let attributeName = ""; + while (i < xmlData.length && !/\s/.test(xmlData[i])) { + attributeName += xmlData[i]; + i++; + } + + // Validate attribute name + if (!validateEntityName(attributeName)) { + throw new Error(`Invalid attribute name: "${attributeName}"`); + } + + // Skip whitespace after attribute name + i = skipWhitespace(xmlData, i); + + // Read attribute type + let attributeType = ""; + if (xmlData.substring(i, i + 8).toUpperCase() === "NOTATION") { + attributeType = "NOTATION"; + i += 8; // Move past "NOTATION" + + // Skip whitespace after "NOTATION" + i = skipWhitespace(xmlData, i); + + // Expect '(' to start the list of notations + if (xmlData[i] !== "(") { + throw new Error(`Expected '(', found "${xmlData[i]}"`); + } + i++; // Move past '(' + + // Read the list of allowed notations + let allowedNotations = []; + while (i < xmlData.length && xmlData[i] !== ")") { + let notation = ""; + while (i < xmlData.length && xmlData[i] !== "|" && xmlData[i] !== ")") { + notation += xmlData[i]; + i++; + } + + // Validate notation name + notation = notation.trim(); + if (!validateEntityName(notation)) { + throw new Error(`Invalid notation name: "${notation}"`); + } + + allowedNotations.push(notation); + + // Skip '|' separator or exit loop + if (xmlData[i] === "|") { + i++; // Move past '|' + i = skipWhitespace(xmlData, i); // Skip optional whitespace after '|' + } + } + + if (xmlData[i] !== ")") { + throw new Error("Unterminated list of notations"); + } + i++; // Move past ')' + + // Store the allowed notations as part of the attribute type + attributeType += " (" + allowedNotations.join("|") + ")"; + } else { + // Handle simple types (e.g., CDATA, ID, IDREF, etc.) + while (i < xmlData.length && !/\s/.test(xmlData[i])) { + attributeType += xmlData[i]; + i++; + } + + // Validate simple attribute type + const validTypes = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"]; + if (!this.suppressValidationErr && !validTypes.includes(attributeType.toUpperCase())) { + throw new Error(`Invalid attribute type: "${attributeType}"`); + } + } + + // Skip whitespace after attribute type + i = skipWhitespace(xmlData, i); + + // Read default value + let defaultValue = ""; + if (xmlData.substring(i, i + 8).toUpperCase() === "#REQUIRED") { + defaultValue = "#REQUIRED"; + i += 8; + } else if (xmlData.substring(i, i + 7).toUpperCase() === "#IMPLIED") { + defaultValue = "#IMPLIED"; + i += 7; + } else { + [i, defaultValue] = this.readIdentifierVal(xmlData, i, "ATTLIST"); + } + + return { + elementName, + attributeName, + attributeType, + defaultValue, + index: i + } + } +} + + + +const skipWhitespace = (data, index) => { + while (index < data.length && /\s/.test(data[index])) { + index++; + } + return index; +}; + + + +function hasSeq(data, seq,i){ + for(let j=0;j<seq.length;j++){ + if(seq[j]!==data[i+j+1]) return false; + } + return true; +} + +function validateEntityName(name){ + if (isName(name)) + return name; + else + throw new Error(`Invalid entity name ${name}`); +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js new file mode 100644 index 00000000..7677255b --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js @@ -0,0 +1,46 @@ + +export const defaultOptions = { + preserveOrder: false, + attributeNamePrefix: '@_', + attributesGroupName: false, + textNodeName: '#text', + ignoreAttributes: true, + removeNSPrefix: false, // remove NS from tag name or attribute name if true + allowBooleanAttributes: false, //a tag can have attributes without any value + //ignoreRootElement : false, + parseTagValue: true, + parseAttributeValue: false, + trimValues: true, //Trim string values of tag and attributes + cdataPropName: false, + numberParseOptions: { + hex: true, + leadingZeros: true, + eNotation: true + }, + tagValueProcessor: function(tagName, val) { + return val; + }, + attributeValueProcessor: function(attrName, val) { + return val; + }, + stopNodes: [], //nested tags will not be parsed even for errors + alwaysCreateTextNode: false, + isArray: () => false, + commentPropName: false, + unpairedTags: [], + processEntities: true, + htmlEntities: false, + ignoreDeclaration: false, + ignorePiTags: false, + transformTagName: false, + transformAttributeName: false, + updateTag: function(tagName, jPath, attrs){ + return tagName + }, + // skipEmptyListItem: false + captureMetaData: false, +}; + +export const buildOptions = function(options) { + return Object.assign({}, defaultOptions, options); +}; diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js new file mode 100644 index 00000000..54bbf6e8 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js @@ -0,0 +1,629 @@ +'use strict'; +///@ts-check + +import {getAllMatches, isExist} from '../util.js'; +import xmlNode from './xmlNode.js'; +import DocTypeReader from './DocTypeReader.js'; +import toNumber from "strnum"; +import getIgnoreAttributesFn from "../ignoreAttributes.js"; + +// const regx = +// '<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)' +// .replace(/NAME/g, util.nameRegexp); + +//const tagsRegx = new RegExp("<(\\/?[\\w:\\-\._]+)([^>]*)>(\\s*"+cdataRegx+")*([^<]+)?","g"); +//const tagsRegx = new RegExp("<(\\/?)((\\w*:)?([\\w:\\-\._]+))([^>]*)>([^<]*)("+cdataRegx+"([^<]*))*([^<]+)?","g"); + +export default class OrderedObjParser{ + constructor(options){ + this.options = options; + this.currentNode = null; + this.tagsNodeStack = []; + this.docTypeEntities = {}; + this.lastEntities = { + "apos" : { regex: /&(apos|#39|#x27);/g, val : "'"}, + "gt" : { regex: /&(gt|#62|#x3E);/g, val : ">"}, + "lt" : { regex: /&(lt|#60|#x3C);/g, val : "<"}, + "quot" : { regex: /&(quot|#34|#x22);/g, val : "\""}, + }; + this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : "&"}; + this.htmlEntities = { + "space": { regex: /&(nbsp|#160);/g, val: " " }, + // "lt" : { regex: /&(lt|#60);/g, val: "<" }, + // "gt" : { regex: /&(gt|#62);/g, val: ">" }, + // "amp" : { regex: /&(amp|#38);/g, val: "&" }, + // "quot" : { regex: /&(quot|#34);/g, val: "\"" }, + // "apos" : { regex: /&(apos|#39);/g, val: "'" }, + "cent" : { regex: /&(cent|#162);/g, val: "¢" }, + "pound" : { regex: /&(pound|#163);/g, val: "£" }, + "yen" : { regex: /&(yen|#165);/g, val: "¥" }, + "euro" : { regex: /&(euro|#8364);/g, val: "€" }, + "copyright" : { regex: /&(copy|#169);/g, val: "©" }, + "reg" : { regex: /&(reg|#174);/g, val: "®" }, + "inr" : { regex: /&(inr|#8377);/g, val: "₹" }, + "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) }, + "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) }, + }; + this.addExternalEntities = addExternalEntities; + this.parseXml = parseXml; + this.parseTextData = parseTextData; + this.resolveNameSpace = resolveNameSpace; + this.buildAttributesMap = buildAttributesMap; + this.isItStopNode = isItStopNode; + this.replaceEntitiesValue = replaceEntitiesValue; + this.readStopNodeData = readStopNodeData; + this.saveTextToParentTag = saveTextToParentTag; + this.addChild = addChild; + this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes) + + if(this.options.stopNodes && this.options.stopNodes.length > 0){ + this.stopNodesExact = new Set(); + this.stopNodesWildcard = new Set(); + for(let i = 0; i < this.options.stopNodes.length; i++){ + const stopNodeExp = this.options.stopNodes[i]; + if(typeof stopNodeExp !== 'string') continue; + if(stopNodeExp.startsWith("*.")){ + this.stopNodesWildcard.add(stopNodeExp.substring(2)); + }else{ + this.stopNodesExact.add(stopNodeExp); + } + } + } + } + +} + +function addExternalEntities(externalEntities){ + const entKeys = Object.keys(externalEntities); + for (let i = 0; i < entKeys.length; i++) { + const ent = entKeys[i]; + this.lastEntities[ent] = { + regex: new RegExp("&"+ent+";","g"), + val : externalEntities[ent] + } + } +} + +/** + * @param {string} val + * @param {string} tagName + * @param {string} jPath + * @param {boolean} dontTrim + * @param {boolean} hasAttributes + * @param {boolean} isLeafNode + * @param {boolean} escapeEntities + */ +function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) { + if (val !== undefined) { + if (this.options.trimValues && !dontTrim) { + val = val.trim(); + } + if(val.length > 0){ + if(!escapeEntities) val = this.replaceEntitiesValue(val); + + const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode); + if(newval === null || newval === undefined){ + //don't parse + return val; + }else if(typeof newval !== typeof val || newval !== val){ + //overwrite + return newval; + }else if(this.options.trimValues){ + return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions); + }else{ + const trimmedVal = val.trim(); + if(trimmedVal === val){ + return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions); + }else{ + return val; + } + } + } + } +} + +function resolveNameSpace(tagname) { + if (this.options.removeNSPrefix) { + const tags = tagname.split(':'); + const prefix = tagname.charAt(0) === '/' ? '/' : ''; + if (tags[0] === 'xmlns') { + return ''; + } + if (tags.length === 2) { + tagname = prefix + tags[1]; + } + } + return tagname; +} + +//TODO: change regex to capture NS +//const attrsRegx = new RegExp("([\\w\\-\\.\\:]+)\\s*=\\s*(['\"])((.|\n)*?)\\2","gm"); +const attrsRegx = new RegExp('([^\\s=]+)\\s*(=\\s*([\'"])([\\s\\S]*?)\\3)?', 'gm'); + +function buildAttributesMap(attrStr, jPath) { + if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') { + // attrStr = attrStr.replace(/\r?\n/g, ' '); + //attrStr = attrStr || attrStr.trim(); + + const matches = getAllMatches(attrStr, attrsRegx); + const len = matches.length; //don't make it inline + const attrs = {}; + for (let i = 0; i < len; i++) { + const attrName = this.resolveNameSpace(matches[i][1]); + if (this.ignoreAttributesFn(attrName, jPath)) { + continue + } + let oldVal = matches[i][4]; + let aName = this.options.attributeNamePrefix + attrName; + if (attrName.length) { + if (this.options.transformAttributeName) { + aName = this.options.transformAttributeName(aName); + } + if(aName === "__proto__") aName = "#__proto__"; + if (oldVal !== undefined) { + if (this.options.trimValues) { + oldVal = oldVal.trim(); + } + oldVal = this.replaceEntitiesValue(oldVal); + const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath); + if(newVal === null || newVal === undefined){ + //don't parse + attrs[aName] = oldVal; + }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){ + //overwrite + attrs[aName] = newVal; + }else{ + //parse + attrs[aName] = parseValue( + oldVal, + this.options.parseAttributeValue, + this.options.numberParseOptions + ); + } + } else if (this.options.allowBooleanAttributes) { + attrs[aName] = true; + } + } + } + if (!Object.keys(attrs).length) { + return; + } + if (this.options.attributesGroupName) { + const attrCollection = {}; + attrCollection[this.options.attributesGroupName] = attrs; + return attrCollection; + } + return attrs + } +} + +const parseXml = function(xmlData) { + xmlData = xmlData.replace(/\r\n?/g, "\n"); //TODO: remove this line + const xmlObj = new xmlNode('!xml'); + let currentNode = xmlObj; + let textData = ""; + let jPath = ""; + const docTypeReader = new DocTypeReader(this.options.processEntities); + for(let i=0; i< xmlData.length; i++){//for each char in XML data + const ch = xmlData[i]; + if(ch === '<'){ + // const nextIndex = i+1; + // const _2ndChar = xmlData[nextIndex]; + if( xmlData[i+1] === '/') {//Closing Tag + const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed.") + let tagName = xmlData.substring(i+2,closeIndex).trim(); + + if(this.options.removeNSPrefix){ + const colonIndex = tagName.indexOf(":"); + if(colonIndex !== -1){ + tagName = tagName.substr(colonIndex+1); + } + } + + if(this.options.transformTagName) { + tagName = this.options.transformTagName(tagName); + } + + if(currentNode){ + textData = this.saveTextToParentTag(textData, currentNode, jPath); + } + + //check if last tag of nested tag was unpaired tag + const lastTagName = jPath.substring(jPath.lastIndexOf(".")+1); + if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){ + throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`); + } + let propIndex = 0 + if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){ + propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1) + this.tagsNodeStack.pop(); + }else{ + propIndex = jPath.lastIndexOf("."); + } + jPath = jPath.substring(0, propIndex); + + currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope + textData = ""; + i = closeIndex; + } else if( xmlData[i+1] === '?') { + + let tagData = readTagExp(xmlData,i, false, "?>"); + if(!tagData) throw new Error("Pi Tag is not closed."); + + textData = this.saveTextToParentTag(textData, currentNode, jPath); + if( (this.options.ignoreDeclaration && tagData.tagName === "?xml") || this.options.ignorePiTags){ + //do nothing + }else{ + + const childNode = new xmlNode(tagData.tagName); + childNode.add(this.options.textNodeName, ""); + + if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){ + childNode[":@"] = this.buildAttributesMap(tagData.tagExp, jPath); + } + this.addChild(currentNode, childNode, jPath, i); + } + + + i = tagData.closeIndex + 1; + } else if(xmlData.substr(i + 1, 3) === '!--') { + const endIndex = findClosingIndex(xmlData, "-->", i+4, "Comment is not closed.") + if(this.options.commentPropName){ + const comment = xmlData.substring(i + 4, endIndex - 2); + + textData = this.saveTextToParentTag(textData, currentNode, jPath); + + currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]); + } + i = endIndex; + } else if( xmlData.substr(i + 1, 2) === '!D') { + const result = docTypeReader.readDocType(xmlData, i); + this.docTypeEntities = result.entities; + i = result.i; + }else if(xmlData.substr(i + 1, 2) === '![') { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2; + const tagExp = xmlData.substring(i + 9,closeIndex); + + textData = this.saveTextToParentTag(textData, currentNode, jPath); + + let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true); + if(val == undefined) val = ""; + + //cdata should be set even if it is 0 length string + if(this.options.cdataPropName){ + currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]); + }else{ + currentNode.add(this.options.textNodeName, val); + } + + i = closeIndex + 2; + }else {//Opening tag + let result = readTagExp(xmlData,i, this.options.removeNSPrefix); + let tagName= result.tagName; + const rawTagName = result.rawTagName; + let tagExp = result.tagExp; + let attrExpPresent = result.attrExpPresent; + let closeIndex = result.closeIndex; + + if (this.options.transformTagName) { + //console.log(tagExp, tagName) + const newTagName = this.options.transformTagName(tagName); + if(tagExp === tagName) { + tagExp = newTagName + } + tagName = newTagName; + } + + //save text as child node + if (currentNode && textData) { + if(currentNode.tagname !== '!xml'){ + //when nested tag is found + textData = this.saveTextToParentTag(textData, currentNode, jPath, false); + } + } + + //check if last tag was unpaired tag + const lastTag = currentNode; + if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){ + currentNode = this.tagsNodeStack.pop(); + jPath = jPath.substring(0, jPath.lastIndexOf(".")); + } + if(tagName !== xmlObj.tagname){ + jPath += jPath ? "." + tagName : tagName; + } + const startIndex = i; + if (this.isItStopNode(this.stopNodesExact, this.stopNodesWildcard, jPath, tagName)) { + let tagContent = ""; + //self-closing tag + if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){ + if(tagName[tagName.length - 1] === "/"){ //remove trailing '/' + tagName = tagName.substr(0, tagName.length - 1); + jPath = jPath.substr(0, jPath.length - 1); + tagExp = tagName; + }else{ + tagExp = tagExp.substr(0, tagExp.length - 1); + } + i = result.closeIndex; + } + //unpaired tag + else if(this.options.unpairedTags.indexOf(tagName) !== -1){ + + i = result.closeIndex; + } + //normal tag + else{ + //read until closing tag is found + const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1); + if(!result) throw new Error(`Unexpected end of ${rawTagName}`); + i = result.i; + tagContent = result.tagContent; + } + + const childNode = new xmlNode(tagName); + + if(tagName !== tagExp && attrExpPresent){ + childNode[":@"] = this.buildAttributesMap(tagExp, jPath + ); + } + if(tagContent) { + tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true); + } + + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + childNode.add(this.options.textNodeName, tagContent); + + this.addChild(currentNode, childNode, jPath, startIndex); + }else{ + //selfClosing tag + if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){ + if(tagName[tagName.length - 1] === "/"){ //remove trailing '/' + tagName = tagName.substr(0, tagName.length - 1); + jPath = jPath.substr(0, jPath.length - 1); + tagExp = tagName; + }else{ + tagExp = tagExp.substr(0, tagExp.length - 1); + } + + if(this.options.transformTagName) { + const newTagName = this.options.transformTagName(tagName); + if(tagExp === tagName) { + tagExp = newTagName + } + tagName = newTagName; + } + + const childNode = new xmlNode(tagName); + if(tagName !== tagExp && attrExpPresent){ + childNode[":@"] = this.buildAttributesMap(tagExp, jPath); + } + this.addChild(currentNode, childNode, jPath, startIndex); + jPath = jPath.substr(0, jPath.lastIndexOf(".")); + } + //opening tag + else{ + const childNode = new xmlNode( tagName); + this.tagsNodeStack.push(currentNode); + + if(tagName !== tagExp && attrExpPresent){ + childNode[":@"] = this.buildAttributesMap(tagExp, jPath); + } + this.addChild(currentNode, childNode, jPath, startIndex); + currentNode = childNode; + } + textData = ""; + i = closeIndex; + } + } + }else{ + textData += xmlData[i]; + } + } + return xmlObj.child; +} + +function addChild(currentNode, childNode, jPath, startIndex){ + // unset startIndex if not requested + if (!this.options.captureMetaData) startIndex = undefined; + const result = this.options.updateTag(childNode.tagname, jPath, childNode[":@"]) + if(result === false){ + //do nothing + } else if(typeof result === "string"){ + childNode.tagname = result + currentNode.addChild(childNode, startIndex); + }else{ + currentNode.addChild(childNode, startIndex); + } +} + +const replaceEntitiesValue = function(val){ + + if(this.options.processEntities){ + for(let entityName in this.docTypeEntities){ + const entity = this.docTypeEntities[entityName]; + val = val.replace( entity.regx, entity.val); + } + for(let entityName in this.lastEntities){ + const entity = this.lastEntities[entityName]; + val = val.replace( entity.regex, entity.val); + } + if(this.options.htmlEntities){ + for(let entityName in this.htmlEntities){ + const entity = this.htmlEntities[entityName]; + val = val.replace( entity.regex, entity.val); + } + } + val = val.replace( this.ampEntity.regex, this.ampEntity.val); + } + return val; +} +function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) { + if (textData) { //store previously collected data as textNode + if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0 + + textData = this.parseTextData(textData, + currentNode.tagname, + jPath, + false, + currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false, + isLeafNode); + + if (textData !== undefined && textData !== "") + currentNode.add(this.options.textNodeName, textData); + textData = ""; + } + return textData; +} + +//TODO: use jPath to simplify the logic +/** + * @param {Set} stopNodesExact + * @param {Set} stopNodesWildcard + * @param {string} jPath + * @param {string} currentTagName + */ +function isItStopNode(stopNodesExact, stopNodesWildcard, jPath, currentTagName){ + if(stopNodesWildcard && stopNodesWildcard.has(currentTagName)) return true; + if(stopNodesExact && stopNodesExact.has(jPath)) return true; + return false; +} + +/** + * Returns the tag Expression and where it is ending handling single-double quotes situation + * @param {string} xmlData + * @param {number} i starting index + * @returns + */ +function tagExpWithClosingIndex(xmlData, i, closingChar = ">"){ + let attrBoundary; + let tagExp = ""; + for (let index = i; index < xmlData.length; index++) { + let ch = xmlData[index]; + if (attrBoundary) { + if (ch === attrBoundary) attrBoundary = "";//reset + } else if (ch === '"' || ch === "'") { + attrBoundary = ch; + } else if (ch === closingChar[0]) { + if(closingChar[1]){ + if(xmlData[index + 1] === closingChar[1]){ + return { + data: tagExp, + index: index + } + } + }else{ + return { + data: tagExp, + index: index + } + } + } else if (ch === '\t') { + ch = " " + } + tagExp += ch; + } +} + +function findClosingIndex(xmlData, str, i, errMsg){ + const closingIndex = xmlData.indexOf(str, i); + if(closingIndex === -1){ + throw new Error(errMsg) + }else{ + return closingIndex + str.length - 1; + } +} + +function readTagExp(xmlData,i, removeNSPrefix, closingChar = ">"){ + const result = tagExpWithClosingIndex(xmlData, i+1, closingChar); + if(!result) return; + let tagExp = result.data; + const closeIndex = result.index; + const separatorIndex = tagExp.search(/\s/); + let tagName = tagExp; + let attrExpPresent = true; + if(separatorIndex !== -1){//separate tag name and attributes expression + tagName = tagExp.substring(0, separatorIndex); + tagExp = tagExp.substring(separatorIndex + 1).trimStart(); + } + + const rawTagName = tagName; + if(removeNSPrefix){ + const colonIndex = tagName.indexOf(":"); + if(colonIndex !== -1){ + tagName = tagName.substr(colonIndex+1); + attrExpPresent = tagName !== result.data.substr(colonIndex + 1); + } + } + + return { + tagName: tagName, + tagExp: tagExp, + closeIndex: closeIndex, + attrExpPresent: attrExpPresent, + rawTagName: rawTagName, + } +} +/** + * find paired tag for a stop node + * @param {string} xmlData + * @param {string} tagName + * @param {number} i + */ +function readStopNodeData(xmlData, tagName, i){ + const startIndex = i; + // Starting at 1 since we already have an open tag + let openTagCount = 1; + + for (; i < xmlData.length; i++) { + if( xmlData[i] === "<"){ + if (xmlData[i+1] === "/") {//close tag + const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`); + let closeTagName = xmlData.substring(i+2,closeIndex).trim(); + if(closeTagName === tagName){ + openTagCount--; + if (openTagCount === 0) { + return { + tagContent: xmlData.substring(startIndex, i), + i : closeIndex + } + } + } + i=closeIndex; + } else if(xmlData[i+1] === '?') { + const closeIndex = findClosingIndex(xmlData, "?>", i+1, "StopNode is not closed.") + i=closeIndex; + } else if(xmlData.substr(i + 1, 3) === '!--') { + const closeIndex = findClosingIndex(xmlData, "-->", i+3, "StopNode is not closed.") + i=closeIndex; + } else if(xmlData.substr(i + 1, 2) === '![') { + const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2; + i=closeIndex; + } else { + const tagData = readTagExp(xmlData, i, '>') + + if (tagData) { + const openTagName = tagData && tagData.tagName; + if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== "/") { + openTagCount++; + } + i=tagData.closeIndex; + } + } + } + }//end for loop +} + +function parseValue(val, shouldParse, options) { + if (shouldParse && typeof val === 'string') { + //console.log(options) + const newval = val.trim(); + if(newval === 'true' ) return true; + else if(newval === 'false' ) return false; + else return toNumber(val, options); + } else { + if (isExist(val)) { + return val; + } else { + return ''; + } + } +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js new file mode 100644 index 00000000..bd03e735 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js @@ -0,0 +1,71 @@ +import { buildOptions} from './OptionsBuilder.js'; +import OrderedObjParser from './OrderedObjParser.js'; +import prettify from './node2json.js'; +import {validate} from "../validator.js"; +import XmlNode from './xmlNode.js'; + +export default class XMLParser{ + + constructor(options){ + this.externalEntities = {}; + this.options = buildOptions(options); + + } + /** + * Parse XML dats to JS object + * @param {string|Uint8Array} xmlData + * @param {boolean|Object} validationOption + */ + parse(xmlData,validationOption){ + if(typeof xmlData !== "string" && xmlData.toString){ + xmlData = xmlData.toString(); + }else if(typeof xmlData !== "string"){ + throw new Error("XML data is accepted in String or Bytes[] form.") + } + + if( validationOption){ + if(validationOption === true) validationOption = {}; //validate with default options + + const result = validate(xmlData, validationOption); + if (result !== true) { + throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` ) + } + } + const orderedObjParser = new OrderedObjParser(this.options); + orderedObjParser.addExternalEntities(this.externalEntities); + const orderedResult = orderedObjParser.parseXml(xmlData); + if(this.options.preserveOrder || orderedResult === undefined) return orderedResult; + else return prettify(orderedResult, this.options); + } + + /** + * Add Entity which is not by default supported by this library + * @param {string} key + * @param {string} value + */ + addEntity(key, value){ + if(value.indexOf("&") !== -1){ + throw new Error("Entity value can't have '&'") + }else if(key.indexOf("&") !== -1 || key.indexOf(";") !== -1){ + throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '") + }else if(value === "&"){ + throw new Error("An entity with value '&' is not permitted"); + }else{ + this.externalEntities[key] = value; + } + } + + /** + * Returns a Symbol that can be used to access the metadata + * property on a node. + * + * If Symbol is not available in the environment, an ordinary property is used + * and the name of the property is here returned. + * + * The XMLMetaData property is only present when `captureMetaData` + * is true in the options. + */ + static getMetaDataSymbol() { + return XmlNode.getMetaDataSymbol(); + } +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/node2json.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/node2json.js new file mode 100644 index 00000000..9be07ff3 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/node2json.js @@ -0,0 +1,119 @@ +'use strict'; + +import XmlNode from './xmlNode.js'; + +const METADATA_SYMBOL = XmlNode.getMetaDataSymbol(); + +/** + * + * @param {array} node + * @param {any} options + * @returns + */ +export default function prettify(node, options){ + return compress( node, options); +} + +/** + * + * @param {array} arr + * @param {object} options + * @param {string} jPath + * @returns object + */ +function compress(arr, options, jPath){ + let text; + const compressedObj = {}; + for (let i = 0; i < arr.length; i++) { + const tagObj = arr[i]; + const property = propName(tagObj); + let newJpath = ""; + if(jPath === undefined) newJpath = property; + else newJpath = jPath + "." + property; + + if(property === options.textNodeName){ + if(text === undefined) text = tagObj[property]; + else text += "" + tagObj[property]; + }else if(property === undefined){ + continue; + }else if(tagObj[property]){ + + let val = compress(tagObj[property], options, newJpath); + const isLeaf = isLeafTag(val, options); + if (tagObj[METADATA_SYMBOL] !== undefined) { + val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata + } + + if(tagObj[":@"]){ + assignAttributes( val, tagObj[":@"], newJpath, options); + }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){ + val = val[options.textNodeName]; + }else if(Object.keys(val).length === 0){ + if(options.alwaysCreateTextNode) val[options.textNodeName] = ""; + else val = ""; + } + + if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) { + if(!Array.isArray(compressedObj[property])) { + compressedObj[property] = [ compressedObj[property] ]; + } + compressedObj[property].push(val); + }else{ + //TODO: if a node is not an array, then check if it should be an array + //also determine if it is a leaf node + if (options.isArray(property, newJpath, isLeaf )) { + compressedObj[property] = [val]; + }else{ + compressedObj[property] = val; + } + } + } + + } + // if(text && text.length > 0) compressedObj[options.textNodeName] = text; + if(typeof text === "string"){ + if(text.length > 0) compressedObj[options.textNodeName] = text; + }else if(text !== undefined) compressedObj[options.textNodeName] = text; + return compressedObj; +} + +function propName(obj){ + const keys = Object.keys(obj); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if(key !== ":@") return key; + } +} + +function assignAttributes(obj, attrMap, jpath, options){ + if (attrMap) { + const keys = Object.keys(attrMap); + const len = keys.length; //don't make it inline + for (let i = 0; i < len; i++) { + const atrrName = keys[i]; + if (options.isArray(atrrName, jpath + "." + atrrName, true, true)) { + obj[atrrName] = [ attrMap[atrrName] ]; + } else { + obj[atrrName] = attrMap[atrrName]; + } + } + } +} + +function isLeafTag(obj, options){ + const { textNodeName } = options; + const propCount = Object.keys(obj).length; + + if (propCount === 0) { + return true; + } + + if ( + propCount === 1 && + (obj[textNodeName] || typeof obj[textNodeName] === "boolean" || obj[textNodeName] === 0) + ) { + return true; + } + + return false; +} diff --git a/.output/server/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js b/.output/server/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js new file mode 100644 index 00000000..9cced8d7 --- /dev/null +++ b/.output/server/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js @@ -0,0 +1,40 @@ +'use strict'; + +let METADATA_SYMBOL; + +if (typeof Symbol !== "function") { + METADATA_SYMBOL = "@@xmlMetadata"; +} else { + METADATA_SYMBOL = Symbol("XML Node Metadata"); +} + +export default class XmlNode{ + constructor(tagname) { + this.tagname = tagname; + this.child = []; //nested tags, text, cdata, comments in order + this[":@"] = {}; //attributes map + } + add(key,val){ + // this.child.push( {name : key, val: val, isCdata: isCdata }); + if(key === "__proto__") key = "#__proto__"; + this.child.push( {[key]: val }); + } + addChild(node, startIndex) { + if(node.tagname === "__proto__") node.tagname = "#__proto__"; + if(node[":@"] && Object.keys(node[":@"]).length > 0){ + this.child.push( { [node.tagname]: node.child, [":@"]: node[":@"] }); + }else{ + this.child.push( { [node.tagname]: node.child }); + } + // if requested, add the startIndex + if (startIndex !== undefined) { + // Note: for now we just overwrite the metadata. If we had more complex metadata, + // we might need to do an object append here: metadata = { ...metadata, startIndex } + this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex }; + } + } + /** symbol used for metadata */ + static getMetaDataSymbol() { + return METADATA_SYMBOL; + } +} diff --git a/.output/server/node_modules/follow-redirects/debug.js b/.output/server/node_modules/follow-redirects/debug.js new file mode 100644 index 00000000..decb77de --- /dev/null +++ b/.output/server/node_modules/follow-redirects/debug.js @@ -0,0 +1,15 @@ +var debug; + +module.exports = function () { + if (!debug) { + try { + /* eslint global-require: off */ + debug = require("debug")("follow-redirects"); + } + catch (error) { /* */ } + if (typeof debug !== "function") { + debug = function () { /* */ }; + } + } + debug.apply(null, arguments); +}; diff --git a/.output/server/node_modules/follow-redirects/index.js b/.output/server/node_modules/follow-redirects/index.js new file mode 100644 index 00000000..a30b32cd --- /dev/null +++ b/.output/server/node_modules/follow-redirects/index.js @@ -0,0 +1,686 @@ +var url = require("url"); +var URL = url.URL; +var http = require("http"); +var https = require("https"); +var Writable = require("stream").Writable; +var assert = require("assert"); +var debug = require("./debug"); + +// Preventive platform detection +// istanbul ignore next +(function detectUnsupportedEnvironment() { + var looksLikeNode = typeof process !== "undefined"; + var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var looksLikeV8 = isFunction(Error.captureStackTrace); + if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { + console.warn("The follow-redirects package should be excluded from browser builds."); + } +}()); + +// Whether to use the native URL object or the legacy url module +var useNativeURL = false; +try { + assert(new URL("")); +} +catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; +} + +// URL fields to preserve in copy operations +var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash", +]; + +// Create handlers that pass events from native requests +var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; +var eventHandlers = Object.create(null); +events.forEach(function (event) { + eventHandlers[event] = function (arg1, arg2, arg3) { + this._redirectable.emit(event, arg1, arg2, arg3); + }; +}); + +// Error types with codes +var InvalidUrlError = createErrorType( + "ERR_INVALID_URL", + "Invalid URL", + TypeError +); +var RedirectionError = createErrorType( + "ERR_FR_REDIRECTION_FAILURE", + "Redirected request failed" +); +var TooManyRedirectsError = createErrorType( + "ERR_FR_TOO_MANY_REDIRECTS", + "Maximum number of redirects exceeded", + RedirectionError +); +var MaxBodyLengthExceededError = createErrorType( + "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", + "Request body larger than maxBodyLength limit" +); +var WriteAfterEndError = createErrorType( + "ERR_STREAM_WRITE_AFTER_END", + "write after end" +); + +// istanbul ignore next +var destroy = Writable.prototype.destroy || noop; + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + this._sanitizeOptions(options); + this._options = options; + this._ended = false; + this._ending = false; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + try { + self._processResponse(response); + } + catch (cause) { + self.emit("error", cause instanceof RedirectionError ? + cause : new RedirectionError({ cause: cause })); + } + }; + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +RedirectableRequest.prototype.abort = function () { + destroyRequest(this._currentRequest); + this._currentRequest.abort(); + this.emit("abort"); +}; + +RedirectableRequest.prototype.destroy = function (error) { + destroyRequest(this._currentRequest, error); + destroy.call(this, error); + return this; +}; + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Writing is not allowed if end has been called + if (this._ending) { + throw new WriteAfterEndError(); + } + + // Validate input and shift parameters if necessary + if (!isString(data) && !isBuffer(data)) { + throw new TypeError("data should be a string, Buffer or Uint8Array"); + } + if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new MaxBodyLengthExceededError()); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (isFunction(data)) { + callback = data; + data = encoding = null; + } + else if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Write data if needed and end + if (!data) { + this._ended = this._ending = true; + this._currentRequest.end(null, null, callback); + } + else { + var self = this; + var currentRequest = this._currentRequest; + this.write(data, encoding, function () { + self._ended = true; + currentRequest.end(null, null, callback); + }); + this._ending = true; + } +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Global timeout for all underlying requests +RedirectableRequest.prototype.setTimeout = function (msecs, callback) { + var self = this; + + // Destroys the socket on timeout + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); + } + + // Sets up a timer to trigger a timeout event + function startTimer(socket) { + if (self._timeout) { + clearTimeout(self._timeout); + } + self._timeout = setTimeout(function () { + self.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); + } + + // Stops a timeout from triggering + function clearTimer() { + // Clear the timeout + if (self._timeout) { + clearTimeout(self._timeout); + self._timeout = null; + } + + // Clean up all attached listeners + self.removeListener("abort", clearTimer); + self.removeListener("error", clearTimer); + self.removeListener("response", clearTimer); + self.removeListener("close", clearTimer); + if (callback) { + self.removeListener("timeout", callback); + } + if (!self.socket) { + self._currentRequest.removeListener("socket", startTimer); + } + } + + // Attach callback if passed + if (callback) { + this.on("timeout", callback); + } + + // Start the timer if or when the socket is opened + if (this.socket) { + startTimer(this.socket); + } + else { + this._currentRequest.once("socket", startTimer); + } + + // Clean up on events + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); + this.on("close", clearTimer); + + return this; +}; + +// Proxy all other public ClientRequest methods +[ + "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +RedirectableRequest.prototype._sanitizeOptions = function (options) { + // Ensure headers are always present + if (!options.headers) { + options.headers = {}; + } + + // Since http.request treats host as an alias of hostname, + // but the url module interprets host as hostname plus port, + // eliminate the host property to avoid confusion. + if (options.host) { + // Use hostname if set, because it has precedence + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; + } + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } +}; + + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + throw new TypeError("Unsupported protocol " + protocol); + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.slice(0, -1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request and set up its event handlers + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + request._redirectable = this; + for (var event of events) { + request.on(event, eventHandlers[event]); + } + + // RFC7230§5.3.1: When making a request directly to an origin server, […] + // a client MUST send only the absolute path […] as the request-target. + this._currentUrl = /^\//.test(this._options.path) ? + url.format(this._options) : + // When making a request to a proxy, […] + // a client MUST send the target URI in absolute-form […]. + this._options.path; + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end + var i = 0; + var self = this; + var buffers = this._requestBodyBuffers; + (function writeNext(error) { + // Only write if this request has not been redirected yet + // istanbul ignore else + if (request === self._currentRequest) { + // Report any write errors + // istanbul ignore if + if (error) { + self.emit("error", error); + } + // Write the next buffer if there are still left + else if (i < buffers.length) { + var buffer = buffers[i++]; + // istanbul ignore else + if (!request.finished) { + request.write(buffer.data, buffer.encoding, writeNext); + } + } + // End the request if `end` has been called on us + else if (self._ended) { + request.end(); + } + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + var statusCode = response.statusCode; + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + + // If the response is not a redirect; return it as-is + var location = response.headers.location; + if (!location || this._options.followRedirects === false || + statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + return; + } + + // The response is a redirect, so abort the current request + destroyRequest(this._currentRequest); + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + throw new TooManyRedirectsError(); + } + + // Store the request headers if applicable + var requestHeaders; + var beforeRedirect = this._options.beforeRedirect; + if (beforeRedirect) { + requestHeaders = Object.assign({ + // The Host header was set by nativeProtocol.request + Host: response.req.getHeader("host"), + }, this._options.headers); + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe, […] + // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change + // the request method from POST to GET for the subsequent request. + var method = this._options.method; + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || + // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); + } + + // Drop the Host header, as the redirect might lead to a different host + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + + // If the redirect is relative, carry over the host of the last request + var currentUrlParts = parseUrl(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : + url.format(Object.assign(currentUrlParts, { host: currentHost })); + + // Create the redirected request + var redirectUrl = resolveUrl(location, currentUrl); + debug("redirecting to", redirectUrl.href); + this._isRedirect = true; + spreadUrlObject(redirectUrl, this._options); + + // Drop confidential headers when redirecting to a less secure protocol + // or to a different domain that is not a superdomain + if (redirectUrl.protocol !== currentUrlParts.protocol && + redirectUrl.protocol !== "https:" || + redirectUrl.host !== currentHost && + !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + } + + // Evaluate the beforeRedirect callback + if (isFunction(beforeRedirect)) { + var responseDetails = { + headers: response.headers, + statusCode: statusCode, + }; + var requestDetails = { + url: currentUrl, + method: method, + headers: requestHeaders, + }; + beforeRedirect(this._options, responseDetails, requestDetails); + this._sanitizeOptions(this._options); + } + + // Perform the redirected request + this._performRequest(); +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + function request(input, options, callback) { + // Parse parameters, ensuring that input is an object + if (isURL(input)) { + input = spreadUrlObject(input); + } + else if (isString(input)) { + input = spreadUrlObject(parseUrl(input)); + } + else { + callback = options; + options = validateUrl(input); + input = { protocol: protocol }; + } + if (isFunction(options)) { + callback = options; + options = null; + } + + // Set defaults + options = Object.assign({ + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, input, options); + options.nativeProtocols = nativeProtocols; + if (!isString(options.host) && !isString(options.hostname)) { + options.hostname = "::1"; + } + + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + } + + // Executes a GET request, following redirects + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; + } + + // Expose the properties on the wrapped protocol + Object.defineProperties(wrappedProtocol, { + request: { value: request, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true }, + }); + }); + return exports; +} + +function noop() { /* empty */ } + +function parseUrl(input) { + var parsed; + // istanbul ignore else + if (useNativeURL) { + parsed = new URL(input); + } + else { + // Ensure the URL is valid and absolute + parsed = validateUrl(url.parse(input)); + if (!isString(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } + } + return parsed; +} + +function resolveUrl(relative, base) { + // istanbul ignore next + return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative)); +} + +function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; +} + +function spreadUrlObject(urlObject, target) { + var spread = target || {}; + for (var key of preservedUrlFields) { + spread[key] = urlObject[key]; + } + + // Fix IPv6 hostname + if (spread.hostname.startsWith("[")) { + spread.hostname = spread.hostname.slice(1, -1); + } + // Ensure port is a number + if (spread.port !== "") { + spread.port = Number(spread.port); + } + // Concatenate path + spread.path = spread.search ? spread.pathname + spread.search : spread.pathname; + + return spread; +} + +function removeMatchingHeaders(regex, headers) { + var lastValue; + for (var header in headers) { + if (regex.test(header)) { + lastValue = headers[header]; + delete headers[header]; + } + } + return (lastValue === null || typeof lastValue === "undefined") ? + undefined : String(lastValue).trim(); +} + +function createErrorType(code, message, baseClass) { + // Create constructor + function CustomError(properties) { + // istanbul ignore else + if (isFunction(Error.captureStackTrace)) { + Error.captureStackTrace(this, this.constructor); + } + Object.assign(this, properties || {}); + this.code = code; + this.message = this.cause ? message + ": " + this.cause.message : message; + } + + // Attach constructor and set default properties + CustomError.prototype = new (baseClass || Error)(); + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false, + }, + name: { + value: "Error [" + code + "]", + enumerable: false, + }, + }); + return CustomError; +} + +function destroyRequest(request, error) { + for (var event of events) { + request.removeListener(event, eventHandlers[event]); + } + request.on("error", noop); + request.destroy(error); +} + +function isSubdomain(subdomain, domain) { + assert(isString(subdomain) && isString(domain)); + var dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); +} + +function isString(value) { + return typeof value === "string" || value instanceof String; +} + +function isFunction(value) { + return typeof value === "function"; +} + +function isBuffer(value) { + return typeof value === "object" && ("length" in value); +} + +function isURL(value) { + return URL && value instanceof URL; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; diff --git a/.output/server/node_modules/follow-redirects/package.json b/.output/server/node_modules/follow-redirects/package.json new file mode 100644 index 00000000..4ed2c535 --- /dev/null +++ b/.output/server/node_modules/follow-redirects/package.json @@ -0,0 +1,58 @@ +{ + "name": "follow-redirects", + "version": "1.15.11", + "description": "HTTP and HTTPS modules that follow redirects.", + "license": "MIT", + "main": "index.js", + "files": [ + "*.js" + ], + "engines": { + "node": ">=4.0" + }, + "scripts": { + "lint": "eslint *.js test", + "test": "nyc mocha" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/follow-redirects/follow-redirects.git" + }, + "homepage": "https://github.com/follow-redirects/follow-redirects", + "bugs": { + "url": "https://github.com/follow-redirects/follow-redirects/issues" + }, + "keywords": [ + "http", + "https", + "url", + "redirect", + "client", + "location", + "utility" + ], + "author": "Ruben Verborgh <ruben@verborgh.org> (https://ruben.verborgh.org/)", + "contributors": [ + "Olivier Lalonde <olalonde@gmail.com> (http://www.syskall.com)", + "James Talmage <james@talmage.io>" + ], + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peerDependenciesMeta": { + "debug": { + "optional": true + } + }, + "devDependencies": { + "concat-stream": "^2.0.0", + "eslint": "^5.16.0", + "express": "^4.16.4", + "lolex": "^3.1.0", + "mocha": "^6.0.2", + "nyc": "^14.1.1" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/form-data/lib/form_data.js b/.output/server/node_modules/form-data/lib/form_data.js new file mode 100644 index 00000000..8f5f4b5d --- /dev/null +++ b/.output/server/node_modules/form-data/lib/form_data.js @@ -0,0 +1,494 @@ +'use strict'; + +var CombinedStream = require('combined-stream'); +var util = require('util'); +var path = require('path'); +var http = require('http'); +var https = require('https'); +var parseUrl = require('url').parse; +var fs = require('fs'); +var Stream = require('stream').Stream; +var crypto = require('crypto'); +var mime = require('mime-types'); +var asynckit = require('asynckit'); +var setToStringTag = require('es-set-tostringtag'); +var hasOwn = require('hasown'); +var populate = require('./populate.js'); + +/** + * Create readable "multipart/form-data" streams. + * Can be used to submit forms + * and file uploads to other web applications. + * + * @constructor + * @param {object} options - Properties to be added/overriden for FormData and CombinedStream + */ +function FormData(options) { + if (!(this instanceof FormData)) { + return new FormData(options); + } + + this._overheadLength = 0; + this._valueLength = 0; + this._valuesToMeasure = []; + + CombinedStream.call(this); + + options = options || {}; // eslint-disable-line no-param-reassign + for (var option in options) { // eslint-disable-line no-restricted-syntax + this[option] = options[option]; + } +} + +// make it a Stream +util.inherits(FormData, CombinedStream); + +FormData.LINE_BREAK = '\r\n'; +FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; + +FormData.prototype.append = function (field, value, options) { + options = options || {}; // eslint-disable-line no-param-reassign + + // allow filename as single option + if (typeof options === 'string') { + options = { filename: options }; // eslint-disable-line no-param-reassign + } + + var append = CombinedStream.prototype.append.bind(this); + + // all that streamy business can't handle numbers + if (typeof value === 'number' || value == null) { + value = String(value); // eslint-disable-line no-param-reassign + } + + // https://github.com/felixge/node-form-data/issues/38 + if (Array.isArray(value)) { + /* + * Please convert your array into string + * the way web server expects it + */ + this._error(new Error('Arrays are not supported.')); + return; + } + + var header = this._multiPartHeader(field, value, options); + var footer = this._multiPartFooter(); + + append(header); + append(value); + append(footer); + + // pass along options.knownLength + this._trackLength(header, value, options); +}; + +FormData.prototype._trackLength = function (header, value, options) { + var valueLength = 0; + + /* + * used w/ getLengthSync(), when length is known. + * e.g. for streaming directly from a remote server, + * w/ a known file a size, and not wanting to wait for + * incoming file to finish to get its size. + */ + if (options.knownLength != null) { + valueLength += Number(options.knownLength); + } else if (Buffer.isBuffer(value)) { + valueLength = value.length; + } else if (typeof value === 'string') { + valueLength = Buffer.byteLength(value); + } + + this._valueLength += valueLength; + + // @check why add CRLF? does this account for custom/multiple CRLFs? + this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length; + + // empty or either doesn't have path or not an http response or not a stream + if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) { + return; + } + + // no need to bother with the length + if (!options.knownLength) { + this._valuesToMeasure.push(value); + } +}; + +FormData.prototype._lengthRetriever = function (value, callback) { + if (hasOwn(value, 'fd')) { + // take read range into a account + // `end` = Infinity –> read file till the end + // + // TODO: Looks like there is bug in Node fs.createReadStream + // it doesn't respect `end` options without `start` options + // Fix it when node fixes it. + // https://github.com/joyent/node/issues/7819 + if (value.end != undefined && value.end != Infinity && value.start != undefined) { + // when end specified + // no need to calculate range + // inclusive, starts with 0 + callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return + + // not that fast snoopy + } else { + // still need to fetch file size from fs + fs.stat(value.path, function (err, stat) { + if (err) { + callback(err); + return; + } + + // update final size based on the range options + var fileSize = stat.size - (value.start ? value.start : 0); + callback(null, fileSize); + }); + } + + // or http response + } else if (hasOwn(value, 'httpVersion')) { + callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return + + // or request stream http://github.com/mikeal/request + } else if (hasOwn(value, 'httpModule')) { + // wait till response come back + value.on('response', function (response) { + value.pause(); + callback(null, Number(response.headers['content-length'])); + }); + value.resume(); + + // something else + } else { + callback('Unknown stream'); // eslint-disable-line callback-return + } +}; + +FormData.prototype._multiPartHeader = function (field, value, options) { + /* + * custom header specified (as string)? + * it becomes responsible for boundary + * (e.g. to handle extra CRLFs on .NET servers) + */ + if (typeof options.header === 'string') { + return options.header; + } + + var contentDisposition = this._getContentDisposition(value, options); + var contentType = this._getContentType(value, options); + + var contents = ''; + var headers = { + // add custom disposition as third element or keep it two elements if not + 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), + // if no content type. allow it to be empty array + 'Content-Type': [].concat(contentType || []) + }; + + // allow custom headers. + if (typeof options.header === 'object') { + populate(headers, options.header); + } + + var header; + for (var prop in headers) { // eslint-disable-line no-restricted-syntax + if (hasOwn(headers, prop)) { + header = headers[prop]; + + // skip nullish headers. + if (header == null) { + continue; // eslint-disable-line no-restricted-syntax, no-continue + } + + // convert all headers to arrays. + if (!Array.isArray(header)) { + header = [header]; + } + + // add non-empty headers. + if (header.length) { + contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; + } + } + } + + return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; +}; + +FormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return + var filename; + + if (typeof options.filepath === 'string') { + // custom filepath for relative paths + filename = path.normalize(options.filepath).replace(/\\/g, '/'); + } else if (options.filename || (value && (value.name || value.path))) { + /* + * custom filename take precedence + * formidable and the browser add a name property + * fs- and request- streams have path property + */ + filename = path.basename(options.filename || (value && (value.name || value.path))); + } else if (value && value.readable && hasOwn(value, 'httpVersion')) { + // or try http response + filename = path.basename(value.client._httpMessage.path || ''); + } + + if (filename) { + return 'filename="' + filename + '"'; + } +}; + +FormData.prototype._getContentType = function (value, options) { + // use custom content-type above all + var contentType = options.contentType; + + // or try `name` from formidable, browser + if (!contentType && value && value.name) { + contentType = mime.lookup(value.name); + } + + // or try `path` from fs-, request- streams + if (!contentType && value && value.path) { + contentType = mime.lookup(value.path); + } + + // or if it's http-reponse + if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) { + contentType = value.headers['content-type']; + } + + // or guess it from the filepath or filename + if (!contentType && (options.filepath || options.filename)) { + contentType = mime.lookup(options.filepath || options.filename); + } + + // fallback to the default content type if `value` is not simple value + if (!contentType && value && typeof value === 'object') { + contentType = FormData.DEFAULT_CONTENT_TYPE; + } + + return contentType; +}; + +FormData.prototype._multiPartFooter = function () { + return function (next) { + var footer = FormData.LINE_BREAK; + + var lastPart = this._streams.length === 0; + if (lastPart) { + footer += this._lastBoundary(); + } + + next(footer); + }.bind(this); +}; + +FormData.prototype._lastBoundary = function () { + return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; +}; + +FormData.prototype.getHeaders = function (userHeaders) { + var header; + var formHeaders = { + 'content-type': 'multipart/form-data; boundary=' + this.getBoundary() + }; + + for (header in userHeaders) { // eslint-disable-line no-restricted-syntax + if (hasOwn(userHeaders, header)) { + formHeaders[header.toLowerCase()] = userHeaders[header]; + } + } + + return formHeaders; +}; + +FormData.prototype.setBoundary = function (boundary) { + if (typeof boundary !== 'string') { + throw new TypeError('FormData boundary must be a string'); + } + this._boundary = boundary; +}; + +FormData.prototype.getBoundary = function () { + if (!this._boundary) { + this._generateBoundary(); + } + + return this._boundary; +}; + +FormData.prototype.getBuffer = function () { + var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap + var boundary = this.getBoundary(); + + // Create the form content. Add Line breaks to the end of data. + for (var i = 0, len = this._streams.length; i < len; i++) { + if (typeof this._streams[i] !== 'function') { + // Add content to the buffer. + if (Buffer.isBuffer(this._streams[i])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); + } else { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); + } + + // Add break after content. + if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]); + } + } + } + + // Add the footer and return the Buffer object. + return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); +}; + +FormData.prototype._generateBoundary = function () { + // This generates a 50 character boundary similar to those used by Firefox. + + // They are optimized for boyer-moore parsing. + this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex'); +}; + +// Note: getLengthSync DOESN'T calculate streams length +// As workaround one can calculate file size manually and add it as knownLength option +FormData.prototype.getLengthSync = function () { + var knownLength = this._overheadLength + this._valueLength; + + // Don't get confused, there are 3 "internal" streams for each keyval pair so it basically checks if there is any value added to the form + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + // https://github.com/form-data/form-data/issues/40 + if (!this.hasKnownLength()) { + /* + * Some async length retrievers are present + * therefore synchronous length calculation is false. + * Please use getLength(callback) to get proper length + */ + this._error(new Error('Cannot calculate proper length in synchronous way.')); + } + + return knownLength; +}; + +// Public API to check if length of added values is known +// https://github.com/form-data/form-data/issues/196 +// https://github.com/form-data/form-data/issues/262 +FormData.prototype.hasKnownLength = function () { + var hasKnownLength = true; + + if (this._valuesToMeasure.length) { + hasKnownLength = false; + } + + return hasKnownLength; +}; + +FormData.prototype.getLength = function (cb) { + var knownLength = this._overheadLength + this._valueLength; + + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + if (!this._valuesToMeasure.length) { + process.nextTick(cb.bind(this, null, knownLength)); + return; + } + + asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) { + if (err) { + cb(err); + return; + } + + values.forEach(function (length) { + knownLength += length; + }); + + cb(null, knownLength); + }); +}; + +FormData.prototype.submit = function (params, cb) { + var request; + var options; + var defaults = { method: 'post' }; + + // parse provided url if it's string or treat it as options object + if (typeof params === 'string') { + params = parseUrl(params); // eslint-disable-line no-param-reassign + /* eslint sort-keys: 0 */ + options = populate({ + port: params.port, + path: params.pathname, + host: params.hostname, + protocol: params.protocol + }, defaults); + } else { // use custom params + options = populate(params, defaults); + // if no port provided use default one + if (!options.port) { + options.port = options.protocol === 'https:' ? 443 : 80; + } + } + + // put that good code in getHeaders to some use + options.headers = this.getHeaders(params.headers); + + // https if specified, fallback to http in any other case + if (options.protocol === 'https:') { + request = https.request(options); + } else { + request = http.request(options); + } + + // get content length and fire away + this.getLength(function (err, length) { + if (err && err !== 'Unknown stream') { + this._error(err); + return; + } + + // add content length + if (length) { + request.setHeader('Content-Length', length); + } + + this.pipe(request); + if (cb) { + var onResponse; + + var callback = function (error, responce) { + request.removeListener('error', callback); + request.removeListener('response', onResponse); + + return cb.call(this, error, responce); // eslint-disable-line no-invalid-this + }; + + onResponse = callback.bind(this, null); + + request.on('error', callback); + request.on('response', onResponse); + } + }.bind(this)); + + return request; +}; + +FormData.prototype._error = function (err) { + if (!this.error) { + this.error = err; + this.pause(); + this.emit('error', err); + } +}; + +FormData.prototype.toString = function () { + return '[object FormData]'; +}; +setToStringTag(FormData, 'FormData'); + +// Public API +module.exports = FormData; diff --git a/.output/server/node_modules/form-data/lib/populate.js b/.output/server/node_modules/form-data/lib/populate.js new file mode 100644 index 00000000..55ac3bb2 --- /dev/null +++ b/.output/server/node_modules/form-data/lib/populate.js @@ -0,0 +1,10 @@ +'use strict'; + +// populates missing values +module.exports = function (dst, src) { + Object.keys(src).forEach(function (prop) { + dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign + }); + + return dst; +}; diff --git a/.output/server/node_modules/form-data/package.json b/.output/server/node_modules/form-data/package.json new file mode 100644 index 00000000..d44769bc --- /dev/null +++ b/.output/server/node_modules/form-data/package.json @@ -0,0 +1,82 @@ +{ + "author": "Felix Geisendörfer <felix@debuggable.com> (http://debuggable.com/)", + "name": "form-data", + "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.", + "version": "4.0.4", + "repository": { + "type": "git", + "url": "git://github.com/form-data/form-data.git" + }, + "main": "./lib/form_data", + "browser": "./lib/browser", + "typings": "./index.d.ts", + "scripts": { + "pretest": "npm run lint", + "pretests-only": "rimraf coverage test/tmp", + "tests-only": "istanbul cover test/run.js", + "posttests-only": "istanbul report lcov text", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "lint": "eslint --ext=js,mjs .", + "report": "istanbul report lcov text", + "ci-lint": "is-node-modern 8 && npm run lint || is-node-not-modern 8", + "ci-test": "npm run tests-only && npm run browser && npm run report", + "predebug": "rimraf coverage test/tmp", + "debug": "verbose=1 ./test/run.js", + "browser": "browserify -t browserify-istanbul test/run-browser.js | obake --coverage", + "check": "istanbul check-coverage coverage/coverage*.json", + "files": "pkgfiles --sort=name", + "get-version": "node -e \"console.log(require('./package.json').version)\"", + "update-readme": "sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md", + "postupdate-readme": "mv README.md.bak READ.ME.md.bak", + "restore-readme": "mv READ.ME.md.bak README.md", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepack": "npm run update-readme", + "postpack": "npm run restore-readme", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "engines": { + "node": ">= 6" + }, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.2.0", + "auto-changelog": "^2.5.0", + "browserify": "^13.3.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^3.1.1", + "cross-spawn": "^6.0.6", + "eslint": "=8.8.0", + "fake": "^0.2.2", + "far": "^0.0.7", + "formidable": "^1.2.6", + "in-publish": "^2.0.1", + "is-node-modern": "^1.0.0", + "istanbul": "^0.4.5", + "obake": "^0.1.2", + "pkgfiles": "^2.3.2", + "pre-commit": "^1.2.2", + "predict-v8-randomness": "^1.0.35", + "puppeteer": "^1.20.0", + "request": "~2.87.0", + "rimraf": "^2.7.1", + "semver": "^6.3.1", + "tape": "^5.9.0" + }, + "license": "MIT", + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/framesync/dist/es/create-render-step.mjs b/.output/server/node_modules/framesync/dist/es/create-render-step.mjs new file mode 100644 index 00000000..a411e9ab --- /dev/null +++ b/.output/server/node_modules/framesync/dist/es/create-render-step.mjs @@ -0,0 +1,56 @@ +function createRenderStep(runNextFrame) { + let toRun = []; + let toRunNextFrame = []; + let numToRun = 0; + let isProcessing = false; + let flushNextFrame = false; + const toKeepAlive = new WeakSet(); + const step = { + schedule: (callback, keepAlive = false, immediate = false) => { + const addToCurrentFrame = immediate && isProcessing; + const buffer = addToCurrentFrame ? toRun : toRunNextFrame; + if (keepAlive) + toKeepAlive.add(callback); + if (buffer.indexOf(callback) === -1) { + buffer.push(callback); + if (addToCurrentFrame && isProcessing) + numToRun = toRun.length; + } + return callback; + }, + cancel: (callback) => { + const index = toRunNextFrame.indexOf(callback); + if (index !== -1) + toRunNextFrame.splice(index, 1); + toKeepAlive.delete(callback); + }, + process: (frameData) => { + if (isProcessing) { + flushNextFrame = true; + return; + } + isProcessing = true; + [toRun, toRunNextFrame] = [toRunNextFrame, toRun]; + toRunNextFrame.length = 0; + numToRun = toRun.length; + if (numToRun) { + for (let i = 0; i < numToRun; i++) { + const callback = toRun[i]; + callback(frameData); + if (toKeepAlive.has(callback)) { + step.schedule(callback); + runNextFrame(); + } + } + } + isProcessing = false; + if (flushNextFrame) { + flushNextFrame = false; + step.process(frameData); + } + }, + }; + return step; +} + +export { createRenderStep }; diff --git a/.output/server/node_modules/framesync/dist/es/index.mjs b/.output/server/node_modules/framesync/dist/es/index.mjs new file mode 100644 index 00000000..d9cfb546 --- /dev/null +++ b/.output/server/node_modules/framesync/dist/es/index.mjs @@ -0,0 +1,64 @@ +import { onNextFrame, defaultTimestep } from './on-next-frame.mjs'; +import { createRenderStep } from './create-render-step.mjs'; + +const maxElapsed = 40; +let useDefaultElapsed = true; +let runNextFrame = false; +let isProcessing = false; +const frame = { + delta: 0, + timestamp: 0, +}; +const stepsOrder = [ + "read", + "update", + "preRender", + "render", + "postRender", +]; +const steps = stepsOrder.reduce((acc, key) => { + acc[key] = createRenderStep(() => (runNextFrame = true)); + return acc; +}, {}); +const sync = stepsOrder.reduce((acc, key) => { + const step = steps[key]; + acc[key] = (process, keepAlive = false, immediate = false) => { + if (!runNextFrame) + startLoop(); + return step.schedule(process, keepAlive, immediate); + }; + return acc; +}, {}); +const cancelSync = stepsOrder.reduce((acc, key) => { + acc[key] = steps[key].cancel; + return acc; +}, {}); +const flushSync = stepsOrder.reduce((acc, key) => { + acc[key] = () => steps[key].process(frame); + return acc; +}, {}); +const processStep = (stepId) => steps[stepId].process(frame); +const processFrame = (timestamp) => { + runNextFrame = false; + frame.delta = useDefaultElapsed + ? defaultTimestep + : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1); + frame.timestamp = timestamp; + isProcessing = true; + stepsOrder.forEach(processStep); + isProcessing = false; + if (runNextFrame) { + useDefaultElapsed = false; + onNextFrame(processFrame); + } +}; +const startLoop = () => { + runNextFrame = true; + useDefaultElapsed = true; + if (!isProcessing) + onNextFrame(processFrame); +}; +const getFrameData = () => frame; + +export default sync; +export { cancelSync, flushSync, getFrameData }; diff --git a/.output/server/node_modules/framesync/dist/es/on-next-frame.mjs b/.output/server/node_modules/framesync/dist/es/on-next-frame.mjs new file mode 100644 index 00000000..db3e6f05 --- /dev/null +++ b/.output/server/node_modules/framesync/dist/es/on-next-frame.mjs @@ -0,0 +1,9 @@ +const defaultTimestep = (1 / 60) * 1000; +const getCurrentTime = typeof performance !== "undefined" + ? () => performance.now() + : () => Date.now(); +const onNextFrame = typeof window !== "undefined" + ? (callback) => window.requestAnimationFrame(callback) + : (callback) => setTimeout(() => callback(getCurrentTime()), defaultTimestep); + +export { defaultTimestep, onNextFrame }; diff --git a/.output/server/node_modules/framesync/package.json b/.output/server/node_modules/framesync/package.json new file mode 100644 index 00000000..7d91c3c4 --- /dev/null +++ b/.output/server/node_modules/framesync/package.json @@ -0,0 +1,65 @@ +{ + "name": "framesync", + "license": "MIT", + "version": "6.1.2", + "description": "A frame-synced render loop for JavaScript", + "author": "Matt Perry", + "homepage": "https://popmotion.io", + "main": "dist/framesync.cjs.js", + "types": "lib/index.d.ts", + "module": "dist/es/index.mjs", + "jsnext:main": "dist/es/index.mjs", + "unpkg": "./dist/framesync.min.js", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "import": "./dist/es/index.mjs", + "require": "./dist/framesync.cjs.js", + "default": "./dist/framesync.cjs.js" + }, + "./package.json": "./package.json" + }, + "scripts": { + "build": "tsc -p . && rollup -c && yarn measure", + "watch": "rollup -c -w", + "lint": "tslint -c tslint.json 'src/**/*.{ts}'", + "test": "jest", + "measure": "gzip -c dist/framesync.min.js | wc -c", + "prepublishOnly": "npm run test && npm run build" + }, + "files": [ + "lib", + "dist" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/Popmotion/popmotion.git" + }, + "keywords": [ + "animation", + "raf" + ], + "bugs": { + "url": "https://github.com/Popmotion/popmotion/issues" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "js" + ], + "transform": { + "\\.(ts)$": "../../../node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "/_tests/.*\\.(ts|js)$", + "rootDir": "src" + }, + "prettier": { + "printWidth": 80, + "tabWidth": 4, + "semi": false, + "trailingComma": "es5" + }, + "dependencies": { + "tslib": "2.4.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/function-bind/implementation.js b/.output/server/node_modules/function-bind/implementation.js new file mode 100644 index 00000000..fd4384cc --- /dev/null +++ b/.output/server/node_modules/function-bind/implementation.js @@ -0,0 +1,84 @@ +'use strict'; + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var toStr = Object.prototype.toString; +var max = Math.max; +var funcType = '[object Function]'; + +var concatty = function concatty(a, b) { + var arr = []; + + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + + return arr; +}; + +var slicy = function slicy(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; +}; + +var joiny = function (arr, joiner) { + var str = ''; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; +}; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + + }; + + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = '$' + i; + } + + bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; diff --git a/.output/server/node_modules/function-bind/index.js b/.output/server/node_modules/function-bind/index.js new file mode 100644 index 00000000..3bb6b960 --- /dev/null +++ b/.output/server/node_modules/function-bind/index.js @@ -0,0 +1,5 @@ +'use strict'; + +var implementation = require('./implementation'); + +module.exports = Function.prototype.bind || implementation; diff --git a/.output/server/node_modules/function-bind/package.json b/.output/server/node_modules/function-bind/package.json new file mode 100644 index 00000000..e7e31a53 --- /dev/null +++ b/.output/server/node_modules/function-bind/package.json @@ -0,0 +1,87 @@ +{ + "name": "function-bind", + "version": "1.1.2", + "description": "Implementation of Function.prototype.bind", + "keywords": [ + "function", + "bind", + "shim", + "es5" + ], + "author": "Raynos <raynos2@gmail.com>", + "repository": { + "type": "git", + "url": "https://github.com/Raynos/function-bind.git" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "main": "index", + "homepage": "https://github.com/Raynos/function-bind", + "contributors": [ + { + "name": "Raynos" + }, + { + "name": "Jordan Harband", + "url": "https://github.com/ljharb" + } + ], + "bugs": { + "url": "https://github.com/Raynos/function-bind/issues", + "email": "raynos2@gmail.com" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "aud": "^2.0.3", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.1" + }, + "license": "MIT", + "scripts": { + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepack": "npmignore --auto --commentLines=autogenerated", + "pretest": "npm run lint", + "test": "npm run tests-only", + "posttest": "aud --production", + "tests-only": "nyc tape 'test/**/*.js'", + "lint": "eslint --ext=js,mjs .", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "ie/8..latest", + "firefox/16..latest", + "firefox/nightly", + "chrome/22..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/get-intrinsic/index.js b/.output/server/node_modules/get-intrinsic/index.js new file mode 100644 index 00000000..bd1d94b7 --- /dev/null +++ b/.output/server/node_modules/get-intrinsic/index.js @@ -0,0 +1,378 @@ +'use strict'; + +var undefined; + +var $Object = require('es-object-atoms'); + +var $Error = require('es-errors'); +var $EvalError = require('es-errors/eval'); +var $RangeError = require('es-errors/range'); +var $ReferenceError = require('es-errors/ref'); +var $SyntaxError = require('es-errors/syntax'); +var $TypeError = require('es-errors/type'); +var $URIError = require('es-errors/uri'); + +var abs = require('math-intrinsics/abs'); +var floor = require('math-intrinsics/floor'); +var max = require('math-intrinsics/max'); +var min = require('math-intrinsics/min'); +var pow = require('math-intrinsics/pow'); +var round = require('math-intrinsics/round'); +var sign = require('math-intrinsics/sign'); + +var $Function = Function; + +// eslint-disable-next-line consistent-return +var getEvalledConstructor = function (expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); + } catch (e) {} +}; + +var $gOPD = require('gopd'); +var $defineProperty = require('es-define-property'); + +var throwTypeError = function () { + throw new $TypeError(); +}; +var ThrowTypeError = $gOPD + ? (function () { + try { + // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties + arguments.callee; // IE 8 does not throw here + return throwTypeError; + } catch (calleeThrows) { + try { + // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') + return $gOPD(arguments, 'callee').get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }()) + : throwTypeError; + +var hasSymbols = require('has-symbols')(); + +var getProto = require('get-proto'); +var $ObjectGPO = require('get-proto/Object.getPrototypeOf'); +var $ReflectGPO = require('get-proto/Reflect.getPrototypeOf'); + +var $apply = require('call-bind-apply-helpers/functionApply'); +var $call = require('call-bind-apply-helpers/functionCall'); + +var needsEval = {}; + +var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array); + +var INTRINSICS = { + __proto__: null, + '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, + '%Array%': Array, + '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, + '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined, + '%AsyncFromSyncIteratorPrototype%': undefined, + '%AsyncFunction%': needsEval, + '%AsyncGenerator%': needsEval, + '%AsyncGeneratorFunction%': needsEval, + '%AsyncIteratorPrototype%': needsEval, + '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, + '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, + '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array, + '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array, + '%Boolean%': Boolean, + '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, + '%Date%': Date, + '%decodeURI%': decodeURI, + '%decodeURIComponent%': decodeURIComponent, + '%encodeURI%': encodeURI, + '%encodeURIComponent%': encodeURIComponent, + '%Error%': $Error, + '%eval%': eval, // eslint-disable-line no-eval + '%EvalError%': $EvalError, + '%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array, + '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, + '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, + '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, + '%Function%': $Function, + '%GeneratorFunction%': needsEval, + '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, + '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, + '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, + '%isFinite%': isFinite, + '%isNaN%': isNaN, + '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined, + '%JSON%': typeof JSON === 'object' ? JSON : undefined, + '%Map%': typeof Map === 'undefined' ? undefined : Map, + '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()), + '%Math%': Math, + '%Number%': Number, + '%Object%': $Object, + '%Object.getOwnPropertyDescriptor%': $gOPD, + '%parseFloat%': parseFloat, + '%parseInt%': parseInt, + '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, + '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, + '%RangeError%': $RangeError, + '%ReferenceError%': $ReferenceError, + '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, + '%RegExp%': RegExp, + '%Set%': typeof Set === 'undefined' ? undefined : Set, + '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()), + '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, + '%String%': String, + '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined, + '%Symbol%': hasSymbols ? Symbol : undefined, + '%SyntaxError%': $SyntaxError, + '%ThrowTypeError%': ThrowTypeError, + '%TypedArray%': TypedArray, + '%TypeError%': $TypeError, + '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, + '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, + '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, + '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, + '%URIError%': $URIError, + '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, + '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, + '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, + + '%Function.prototype.call%': $call, + '%Function.prototype.apply%': $apply, + '%Object.defineProperty%': $defineProperty, + '%Object.getPrototypeOf%': $ObjectGPO, + '%Math.abs%': abs, + '%Math.floor%': floor, + '%Math.max%': max, + '%Math.min%': min, + '%Math.pow%': pow, + '%Math.round%': round, + '%Math.sign%': sign, + '%Reflect.getPrototypeOf%': $ReflectGPO +}; + +if (getProto) { + try { + null.error; // eslint-disable-line no-unused-expressions + } catch (e) { + // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229 + var errorProto = getProto(getProto(e)); + INTRINSICS['%Error.prototype%'] = errorProto; + } +} + +var doEval = function doEval(name) { + var value; + if (name === '%AsyncFunction%') { + value = getEvalledConstructor('async function () {}'); + } else if (name === '%GeneratorFunction%') { + value = getEvalledConstructor('function* () {}'); + } else if (name === '%AsyncGeneratorFunction%') { + value = getEvalledConstructor('async function* () {}'); + } else if (name === '%AsyncGenerator%') { + var fn = doEval('%AsyncGeneratorFunction%'); + if (fn) { + value = fn.prototype; + } + } else if (name === '%AsyncIteratorPrototype%') { + var gen = doEval('%AsyncGenerator%'); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + + INTRINSICS[name] = value; + + return value; +}; + +var LEGACY_ALIASES = { + __proto__: null, + '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], + '%ArrayPrototype%': ['Array', 'prototype'], + '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], + '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], + '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], + '%ArrayProto_values%': ['Array', 'prototype', 'values'], + '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], + '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], + '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], + '%BooleanPrototype%': ['Boolean', 'prototype'], + '%DataViewPrototype%': ['DataView', 'prototype'], + '%DatePrototype%': ['Date', 'prototype'], + '%ErrorPrototype%': ['Error', 'prototype'], + '%EvalErrorPrototype%': ['EvalError', 'prototype'], + '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], + '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], + '%FunctionPrototype%': ['Function', 'prototype'], + '%Generator%': ['GeneratorFunction', 'prototype'], + '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], + '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], + '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], + '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], + '%JSONParse%': ['JSON', 'parse'], + '%JSONStringify%': ['JSON', 'stringify'], + '%MapPrototype%': ['Map', 'prototype'], + '%NumberPrototype%': ['Number', 'prototype'], + '%ObjectPrototype%': ['Object', 'prototype'], + '%ObjProto_toString%': ['Object', 'prototype', 'toString'], + '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], + '%PromisePrototype%': ['Promise', 'prototype'], + '%PromiseProto_then%': ['Promise', 'prototype', 'then'], + '%Promise_all%': ['Promise', 'all'], + '%Promise_reject%': ['Promise', 'reject'], + '%Promise_resolve%': ['Promise', 'resolve'], + '%RangeErrorPrototype%': ['RangeError', 'prototype'], + '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], + '%RegExpPrototype%': ['RegExp', 'prototype'], + '%SetPrototype%': ['Set', 'prototype'], + '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], + '%StringPrototype%': ['String', 'prototype'], + '%SymbolPrototype%': ['Symbol', 'prototype'], + '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], + '%TypedArrayPrototype%': ['TypedArray', 'prototype'], + '%TypeErrorPrototype%': ['TypeError', 'prototype'], + '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], + '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], + '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], + '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], + '%URIErrorPrototype%': ['URIError', 'prototype'], + '%WeakMapPrototype%': ['WeakMap', 'prototype'], + '%WeakSetPrototype%': ['WeakSet', 'prototype'] +}; + +var bind = require('function-bind'); +var hasOwn = require('hasown'); +var $concat = bind.call($call, Array.prototype.concat); +var $spliceApply = bind.call($apply, Array.prototype.splice); +var $replace = bind.call($call, String.prototype.replace); +var $strSlice = bind.call($call, String.prototype.slice); +var $exec = bind.call($call, RegExp.prototype.exec); + +/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ +var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; +var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ +var stringToPath = function stringToPath(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === '%' && last !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); + } else if (last === '%' && first !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); + } + var result = []; + $replace(string, rePropName, function (match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; + }); + return result; +}; +/* end adaptation */ + +var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = '%' + alias[0] + '%'; + } + + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === 'undefined' && !allowMissing) { + throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); + } + + return { + alias: alias, + name: intrinsicName, + value: value + }; + } + + throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); +}; + +module.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== 'string' || name.length === 0) { + throw new $TypeError('intrinsic name must be a non-empty string'); + } + if (arguments.length > 1 && typeof allowMissing !== 'boolean') { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name'); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; + + var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ( + ( + (first === '"' || first === "'" || first === '`') + || (last === '"' || last === "'" || last === '`') + ) + && first !== last + ) { + throw new $SyntaxError('property names with quotes must have matching quotes'); + } + if (part === 'constructor' || !isOwn) { + skipFurtherCaching = true; + } + + intrinsicBaseName += '.' + part; + intrinsicRealName = '%' + intrinsicBaseName + '%'; + + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); + } + return void undefined; + } + if ($gOPD && (i + 1) >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; +}; diff --git a/.output/server/node_modules/get-intrinsic/package.json b/.output/server/node_modules/get-intrinsic/package.json new file mode 100644 index 00000000..9fee0748 --- /dev/null +++ b/.output/server/node_modules/get-intrinsic/package.json @@ -0,0 +1,97 @@ +{ + "name": "get-intrinsic", + "version": "1.3.0", + "description": "Get and robustly cache all JS language-level intrinsics at first require time", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-intrinsic.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "intrinsic", + "getintrinsic", + "es-abstract" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-intrinsic/issues" + }, + "homepage": "https://github.com/ljharb/get-intrinsic#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "auto-changelog": "^2.5.0", + "call-bound": "^1.0.3", + "encoding": "^0.1.13", + "es-abstract": "^1.23.9", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "make-async-function": "^1.0.0", + "make-async-generator-function": "^1.0.0", + "make-generator-function": "^2.0.0", + "mock-property": "^1.1.0", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "test/GetIntrinsic.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/get-proto/Object.getPrototypeOf.js b/.output/server/node_modules/get-proto/Object.getPrototypeOf.js new file mode 100644 index 00000000..c2cbbdfc --- /dev/null +++ b/.output/server/node_modules/get-proto/Object.getPrototypeOf.js @@ -0,0 +1,6 @@ +'use strict'; + +var $Object = require('es-object-atoms'); + +/** @type {import('./Object.getPrototypeOf')} */ +module.exports = $Object.getPrototypeOf || null; diff --git a/.output/server/node_modules/get-proto/Reflect.getPrototypeOf.js b/.output/server/node_modules/get-proto/Reflect.getPrototypeOf.js new file mode 100644 index 00000000..e6c51bee --- /dev/null +++ b/.output/server/node_modules/get-proto/Reflect.getPrototypeOf.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./Reflect.getPrototypeOf')} */ +module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null; diff --git a/.output/server/node_modules/get-proto/index.js b/.output/server/node_modules/get-proto/index.js new file mode 100644 index 00000000..7e5747be --- /dev/null +++ b/.output/server/node_modules/get-proto/index.js @@ -0,0 +1,27 @@ +'use strict'; + +var reflectGetProto = require('./Reflect.getPrototypeOf'); +var originalGetProto = require('./Object.getPrototypeOf'); + +var getDunderProto = require('dunder-proto/get'); + +/** @type {import('.')} */ +module.exports = reflectGetProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return reflectGetProto(O); + } + : originalGetProto + ? function getProto(O) { + if (!O || (typeof O !== 'object' && typeof O !== 'function')) { + throw new TypeError('getProto: not an object'); + } + // @ts-expect-error TS can't narrow inside a closure, for some reason + return originalGetProto(O); + } + : getDunderProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return getDunderProto(O); + } + : null; diff --git a/.output/server/node_modules/get-proto/package.json b/.output/server/node_modules/get-proto/package.json new file mode 100644 index 00000000..0b6f0990 --- /dev/null +++ b/.output/server/node_modules/get-proto/package.json @@ -0,0 +1,81 @@ +{ + "name": "get-proto", + "version": "1.0.1", + "description": "Robustly get the [[Prototype]] of an object", + "main": "index.js", + "exports": { + ".": "./index.js", + "./Reflect.getPrototypeOf": "./Reflect.getPrototypeOf.js", + "./Object.getPrototypeOf": "./Object.getPrototypeOf.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "npx npm@\">=10.2\" audit --production", + "tests-only": "nyc tape 'test/**/*.js'", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-proto.git" + }, + "keywords": [ + "get", + "proto", + "prototype", + "getPrototypeOf", + "[[Prototype]]" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-proto/issues" + }, + "homepage": "https://github.com/ljharb/get-proto#readme", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.2", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "testling": { + "files": "test/index.js" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/gopd/gOPD.js b/.output/server/node_modules/gopd/gOPD.js new file mode 100644 index 00000000..cf9616c4 --- /dev/null +++ b/.output/server/node_modules/gopd/gOPD.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./gOPD')} */ +module.exports = Object.getOwnPropertyDescriptor; diff --git a/.output/server/node_modules/gopd/index.js b/.output/server/node_modules/gopd/index.js new file mode 100644 index 00000000..a4081b01 --- /dev/null +++ b/.output/server/node_modules/gopd/index.js @@ -0,0 +1,15 @@ +'use strict'; + +/** @type {import('.')} */ +var $gOPD = require('./gOPD'); + +if ($gOPD) { + try { + $gOPD([], 'length'); + } catch (e) { + // IE 8 has a broken gOPD + $gOPD = null; + } +} + +module.exports = $gOPD; diff --git a/.output/server/node_modules/gopd/package.json b/.output/server/node_modules/gopd/package.json new file mode 100644 index 00000000..f37d8901 --- /dev/null +++ b/.output/server/node_modules/gopd/package.json @@ -0,0 +1,77 @@ +{ + "name": "gopd", + "version": "1.2.0", + "description": "`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./gOPD": "./gOPD.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "tsc -p . && attw -P", + "lint": "eslint --ext=js,mjs .", + "postlint": "evalmd README.md", + "pretest": "npm run lint", + "tests-only": "tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/gopd.git" + }, + "keywords": [ + "ecmascript", + "javascript", + "getownpropertydescriptor", + "property", + "descriptor" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/gopd/issues" + }, + "homepage": "https://github.com/ljharb/gopd#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.0", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/h3/dist/index.mjs b/.output/server/node_modules/h3/dist/index.mjs new file mode 100644 index 00000000..11845bb2 --- /dev/null +++ b/.output/server/node_modules/h3/dist/index.mjs @@ -0,0 +1,2478 @@ +import { withoutTrailingSlash, withoutBase, getQuery as getQuery$1, decode, decodePath, withLeadingSlash, parseURL, joinURL } from 'ufo'; +import { parse as parse$1, serialize, parseSetCookie } from 'cookie-es'; +import { createRouter as createRouter$1, toRouteMatcher } from 'radix3'; +import destr from 'destr'; +import { defu } from 'defu'; +import crypto from 'uncrypto'; +import { seal, defaults, unseal } from 'iron-webcrypto'; +import { IncomingMessage, ServerResponse } from 'node-mock-http'; + +function useBase(base, handler) { + base = withoutTrailingSlash(base); + if (!base || base === "/") { + return handler; + } + return eventHandler(async (event) => { + event.node.req.originalUrl = event.node.req.originalUrl || event.node.req.url || "/"; + const _path = event._path || event.node.req.url || "/"; + event._path = withoutBase(event.path || "/", base); + event.node.req.url = event._path; + try { + return await handler(event); + } finally { + event._path = event.node.req.url = _path; + } + }); +} + +function hasProp(obj, prop) { + try { + return prop in obj; + } catch { + return false; + } +} + +class H3Error extends Error { + static __h3_error__ = true; + statusCode = 500; + fatal = false; + unhandled = false; + statusMessage; + data; + cause; + constructor(message, opts = {}) { + super(message, opts); + if (opts.cause && !this.cause) { + this.cause = opts.cause; + } + } + toJSON() { + const obj = { + message: this.message, + statusCode: sanitizeStatusCode(this.statusCode, 500) + }; + if (this.statusMessage) { + obj.statusMessage = sanitizeStatusMessage(this.statusMessage); + } + if (this.data !== void 0) { + obj.data = this.data; + } + return obj; + } +} +function createError(input) { + if (typeof input === "string") { + return new H3Error(input); + } + if (isError(input)) { + return input; + } + const err = new H3Error(input.message ?? input.statusMessage ?? "", { + cause: input.cause || input + }); + if (hasProp(input, "stack")) { + try { + Object.defineProperty(err, "stack", { + get() { + return input.stack; + } + }); + } catch { + try { + err.stack = input.stack; + } catch { + } + } + } + if (input.data) { + err.data = input.data; + } + if (input.statusCode) { + err.statusCode = sanitizeStatusCode(input.statusCode, err.statusCode); + } else if (input.status) { + err.statusCode = sanitizeStatusCode(input.status, err.statusCode); + } + if (input.statusMessage) { + err.statusMessage = input.statusMessage; + } else if (input.statusText) { + err.statusMessage = input.statusText; + } + if (err.statusMessage) { + const originalMessage = err.statusMessage; + const sanitizedMessage = sanitizeStatusMessage(err.statusMessage); + if (sanitizedMessage !== originalMessage) { + console.warn( + "[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default." + ); + } + } + if (input.fatal !== void 0) { + err.fatal = input.fatal; + } + if (input.unhandled !== void 0) { + err.unhandled = input.unhandled; + } + return err; +} +function sendError(event, error, debug) { + if (event.handled) { + return; + } + const h3Error = isError(error) ? error : createError(error); + const responseBody = { + statusCode: h3Error.statusCode, + statusMessage: h3Error.statusMessage, + stack: [], + data: h3Error.data + }; + if (debug) { + responseBody.stack = (h3Error.stack || "").split("\n").map((l) => l.trim()); + } + if (event.handled) { + return; + } + const _code = Number.parseInt(h3Error.statusCode); + setResponseStatus(event, _code, h3Error.statusMessage); + event.node.res.setHeader("content-type", MIMES.json); + event.node.res.end(JSON.stringify(responseBody, void 0, 2)); +} +function isError(input) { + return input?.constructor?.__h3_error__ === true; +} + +function parse(multipartBodyBuffer, boundary) { + let lastline = ""; + let state = 0 /* INIT */; + let buffer = []; + const allParts = []; + let currentPartHeaders = []; + for (let i = 0; i < multipartBodyBuffer.length; i++) { + const prevByte = i > 0 ? multipartBodyBuffer[i - 1] : null; + const currByte = multipartBodyBuffer[i]; + const newLineChar = currByte === 10 || currByte === 13; + if (!newLineChar) { + lastline += String.fromCodePoint(currByte); + } + const newLineDetected = currByte === 10 && prevByte === 13; + if (0 /* INIT */ === state && newLineDetected) { + if ("--" + boundary === lastline) { + state = 1 /* READING_HEADERS */; + } + lastline = ""; + } else if (1 /* READING_HEADERS */ === state && newLineDetected) { + if (lastline.length > 0) { + const i2 = lastline.indexOf(":"); + if (i2 > 0) { + const name = lastline.slice(0, i2).toLowerCase(); + const value = lastline.slice(i2 + 1).trim(); + currentPartHeaders.push([name, value]); + } + } else { + state = 2 /* READING_DATA */; + buffer = []; + } + lastline = ""; + } else if (2 /* READING_DATA */ === state) { + if (lastline.length > boundary.length + 4) { + lastline = ""; + } + if ("--" + boundary === lastline) { + const j = buffer.length - lastline.length; + const part = buffer.slice(0, j - 1); + allParts.push(process(part, currentPartHeaders)); + buffer = []; + currentPartHeaders = []; + lastline = ""; + state = 3 /* READING_PART_SEPARATOR */; + } else { + buffer.push(currByte); + } + if (newLineDetected) { + lastline = ""; + } + } else if (3 /* READING_PART_SEPARATOR */ === state && newLineDetected) { + state = 1 /* READING_HEADERS */; + } + } + return allParts; +} +function process(data, headers) { + const dataObj = {}; + const contentDispositionHeader = headers.find((h) => h[0] === "content-disposition")?.[1] || ""; + for (const i of contentDispositionHeader.split(";")) { + const s = i.split("="); + if (s.length !== 2) { + continue; + } + const key = (s[0] || "").trim(); + if (key === "name" || key === "filename") { + const _value = (s[1] || "").trim().replace(/"/g, ""); + dataObj[key] = Buffer.from(_value, "latin1").toString("utf8"); + } + } + const contentType = headers.find((h) => h[0] === "content-type")?.[1] || ""; + if (contentType) { + dataObj.type = contentType; + } + dataObj.data = Buffer.from(data); + return dataObj; +} + +async function validateData(data, fn) { + try { + const res = await fn(data); + if (res === false) { + throw createValidationError(); + } + if (res === true) { + return data; + } + return res ?? data; + } catch (error) { + throw createValidationError(error); + } +} +function createValidationError(validateError) { + throw createError({ + status: 400, + statusMessage: "Validation Error", + message: validateError?.message || "Validation Error", + data: validateError + }); +} + +function getQuery(event) { + return getQuery$1(event.path || ""); +} +function getValidatedQuery(event, validate) { + const query = getQuery(event); + return validateData(query, validate); +} +function getRouterParams(event, opts = {}) { + let params = event.context.params || {}; + if (opts.decode) { + params = { ...params }; + for (const key in params) { + params[key] = decode(params[key]); + } + } + return params; +} +function getValidatedRouterParams(event, validate, opts = {}) { + const routerParams = getRouterParams(event, opts); + return validateData(routerParams, validate); +} +function getRouterParam(event, name, opts = {}) { + const params = getRouterParams(event, opts); + return params[name]; +} +function getMethod(event, defaultMethod = "GET") { + return (event.node.req.method || defaultMethod).toUpperCase(); +} +function isMethod(event, expected, allowHead) { + if (allowHead && event.method === "HEAD") { + return true; + } + if (typeof expected === "string") { + if (event.method === expected) { + return true; + } + } else if (expected.includes(event.method)) { + return true; + } + return false; +} +function assertMethod(event, expected, allowHead) { + if (!isMethod(event, expected, allowHead)) { + throw createError({ + statusCode: 405, + statusMessage: "HTTP method is not allowed." + }); + } +} +function getRequestHeaders(event) { + const _headers = {}; + for (const key in event.node.req.headers) { + const val = event.node.req.headers[key]; + _headers[key] = Array.isArray(val) ? val.filter(Boolean).join(", ") : val; + } + return _headers; +} +const getHeaders = getRequestHeaders; +function getRequestHeader(event, name) { + const headers = getRequestHeaders(event); + const value = headers[name.toLowerCase()]; + return value; +} +const getHeader = getRequestHeader; +function getRequestHost(event, opts = {}) { + if (opts.xForwardedHost) { + const _header = event.node.req.headers["x-forwarded-host"]; + const xForwardedHost = (_header || "").split(",").shift()?.trim(); + if (xForwardedHost) { + return xForwardedHost; + } + } + return event.node.req.headers.host || "localhost"; +} +function getRequestProtocol(event, opts = {}) { + if (opts.xForwardedProto !== false && event.node.req.headers["x-forwarded-proto"] === "https") { + return "https"; + } + return event.node.req.connection?.encrypted ? "https" : "http"; +} +const DOUBLE_SLASH_RE = /[/\\]{2,}/g; +function getRequestPath(event) { + const path = (event.node.req.url || "/").replace(DOUBLE_SLASH_RE, "/"); + return path; +} +function getRequestURL(event, opts = {}) { + const host = getRequestHost(event, opts); + const protocol = getRequestProtocol(event, opts); + const path = (event.node.req.originalUrl || event.path).replace( + /^[/\\]+/g, + "/" + ); + return new URL(path, `${protocol}://${host}`); +} +function toWebRequest(event) { + return event.web?.request || new Request(getRequestURL(event), { + // @ts-ignore Undici option + duplex: "half", + method: event.method, + headers: event.headers, + body: getRequestWebStream(event) + }); +} +function getRequestIP(event, opts = {}) { + if (event.context.clientAddress) { + return event.context.clientAddress; + } + if (opts.xForwardedFor) { + const xForwardedFor = getRequestHeader(event, "x-forwarded-for")?.split(",").shift()?.trim(); + if (xForwardedFor) { + return xForwardedFor; + } + } + if (event.node.req.socket.remoteAddress) { + return event.node.req.socket.remoteAddress; + } +} + +const RawBodySymbol = Symbol.for("h3RawBody"); +const ParsedBodySymbol = Symbol.for("h3ParsedBody"); +const PayloadMethods$1 = ["PATCH", "POST", "PUT", "DELETE"]; +function readRawBody(event, encoding = "utf8") { + assertMethod(event, PayloadMethods$1); + const _rawBody = event._requestBody || event.web?.request?.body || event.node.req[RawBodySymbol] || event.node.req.rawBody || event.node.req.body; + if (_rawBody) { + const promise2 = Promise.resolve(_rawBody).then((_resolved) => { + if (Buffer.isBuffer(_resolved)) { + return _resolved; + } + if (typeof _resolved.pipeTo === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.pipeTo( + new WritableStream({ + write(chunk) { + chunks.push(chunk); + }, + close() { + resolve(Buffer.concat(chunks)); + }, + abort(reason) { + reject(reason); + } + }) + ).catch(reject); + }); + } else if (typeof _resolved.pipe === "function") { + return new Promise((resolve, reject) => { + const chunks = []; + _resolved.on("data", (chunk) => { + chunks.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(chunks)); + }).on("error", reject); + }); + } + if (_resolved.constructor === Object) { + return Buffer.from(JSON.stringify(_resolved)); + } + if (_resolved instanceof URLSearchParams) { + return Buffer.from(_resolved.toString()); + } + if (_resolved instanceof FormData) { + return new Response(_resolved).bytes().then((uint8arr) => Buffer.from(uint8arr)); + } + return Buffer.from(_resolved); + }); + return encoding ? promise2.then((buff) => buff.toString(encoding)) : promise2; + } + if (!Number.parseInt(event.node.req.headers["content-length"] || "") && !String(event.node.req.headers["transfer-encoding"] ?? "").split(",").map((e) => e.trim()).filter(Boolean).includes("chunked")) { + return Promise.resolve(void 0); + } + const promise = event.node.req[RawBodySymbol] = new Promise( + (resolve, reject) => { + const bodyData = []; + event.node.req.on("error", (err) => { + reject(err); + }).on("data", (chunk) => { + bodyData.push(chunk); + }).on("end", () => { + resolve(Buffer.concat(bodyData)); + }); + } + ); + const result = encoding ? promise.then((buff) => buff.toString(encoding)) : promise; + return result; +} +async function readBody(event, options = {}) { + const request = event.node.req; + if (hasProp(request, ParsedBodySymbol)) { + return request[ParsedBodySymbol]; + } + const contentType = request.headers["content-type"] || ""; + const body = await readRawBody(event); + let parsed; + if (contentType === "application/json") { + parsed = _parseJSON(body, options.strict ?? true); + } else if (contentType.startsWith("application/x-www-form-urlencoded")) { + parsed = _parseURLEncodedBody(body); + } else if (contentType.startsWith("text/")) { + parsed = body; + } else { + parsed = _parseJSON(body, options.strict ?? false); + } + request[ParsedBodySymbol] = parsed; + return parsed; +} +async function readValidatedBody(event, validate) { + const _body = await readBody(event, { strict: true }); + return validateData(_body, validate); +} +async function readMultipartFormData(event) { + const contentType = getRequestHeader(event, "content-type"); + if (!contentType || !contentType.startsWith("multipart/form-data")) { + return; + } + const boundary = contentType.match(/boundary=([^;]*)(;|$)/i)?.[1]; + if (!boundary) { + return; + } + const body = await readRawBody(event, false); + if (!body) { + return; + } + return parse(body, boundary); +} +async function readFormData(event) { + return await toWebRequest(event).formData(); +} +function getRequestWebStream(event) { + if (!PayloadMethods$1.includes(event.method)) { + return; + } + const bodyStream = event.web?.request?.body || event._requestBody; + if (bodyStream) { + return bodyStream; + } + const _hasRawBody = RawBodySymbol in event.node.req || "rawBody" in event.node.req || "body" in event.node.req || "__unenv__" in event.node.req; + if (_hasRawBody) { + return new ReadableStream({ + async start(controller) { + const _rawBody = await readRawBody(event, false); + if (_rawBody) { + controller.enqueue(_rawBody); + } + controller.close(); + } + }); + } + return new ReadableStream({ + start: (controller) => { + event.node.req.on("data", (chunk) => { + controller.enqueue(chunk); + }); + event.node.req.on("end", () => { + controller.close(); + }); + event.node.req.on("error", (err) => { + controller.error(err); + }); + } + }); +} +function _parseJSON(body = "", strict) { + if (!body) { + return void 0; + } + try { + return destr(body, { strict }); + } catch { + throw createError({ + statusCode: 400, + statusMessage: "Bad Request", + message: "Invalid JSON body" + }); + } +} +function _parseURLEncodedBody(body) { + const form = new URLSearchParams(body); + const parsedForm = /* @__PURE__ */ Object.create(null); + for (const [key, value] of form.entries()) { + if (hasProp(parsedForm, key)) { + if (!Array.isArray(parsedForm[key])) { + parsedForm[key] = [parsedForm[key]]; + } + parsedForm[key].push(value); + } else { + parsedForm[key] = value; + } + } + return parsedForm; +} + +function handleCacheHeaders(event, opts) { + const cacheControls = ["public", ...opts.cacheControls || []]; + let cacheMatched = false; + if (opts.maxAge !== void 0) { + cacheControls.push(`max-age=${+opts.maxAge}`, `s-maxage=${+opts.maxAge}`); + } + if (opts.modifiedTime) { + const modifiedTime = new Date(opts.modifiedTime); + const ifModifiedSince = event.node.req.headers["if-modified-since"]; + event.node.res.setHeader("last-modified", modifiedTime.toUTCString()); + if (ifModifiedSince && new Date(ifModifiedSince) >= modifiedTime) { + cacheMatched = true; + } + } + if (opts.etag) { + event.node.res.setHeader("etag", opts.etag); + const ifNonMatch = event.node.req.headers["if-none-match"]; + if (ifNonMatch === opts.etag) { + cacheMatched = true; + } + } + event.node.res.setHeader("cache-control", cacheControls.join(", ")); + if (cacheMatched) { + event.node.res.statusCode = 304; + if (!event.handled) { + event.node.res.end(); + } + return true; + } + return false; +} + +const MIMES = { + html: "text/html", + json: "application/json" +}; + +const DISALLOWED_STATUS_CHARS = /[^\u0009\u0020-\u007E]/g; +function sanitizeStatusMessage(statusMessage = "") { + return statusMessage.replace(DISALLOWED_STATUS_CHARS, ""); +} +function sanitizeStatusCode(statusCode, defaultStatusCode = 200) { + if (!statusCode) { + return defaultStatusCode; + } + if (typeof statusCode === "string") { + statusCode = Number.parseInt(statusCode, 10); + } + if (statusCode < 100 || statusCode > 999) { + return defaultStatusCode; + } + return statusCode; +} + +function getDistinctCookieKey(name, opts) { + return [name, opts.domain || "", opts.path || "/"].join(";"); +} + +function parseCookies(event) { + return parse$1(event.node.req.headers.cookie || ""); +} +function getCookie(event, name) { + return parseCookies(event)[name]; +} +function setCookie(event, name, value, serializeOptions = {}) { + if (!serializeOptions.path) { + serializeOptions = { path: "/", ...serializeOptions }; + } + const newCookie = serialize(name, value, serializeOptions); + const currentCookies = splitCookiesString( + event.node.res.getHeader("set-cookie") + ); + if (currentCookies.length === 0) { + event.node.res.setHeader("set-cookie", newCookie); + return; + } + const newCookieKey = getDistinctCookieKey(name, serializeOptions); + event.node.res.removeHeader("set-cookie"); + for (const cookie of currentCookies) { + const parsed = parseSetCookie(cookie); + const key = getDistinctCookieKey(parsed.name, parsed); + if (key === newCookieKey) { + continue; + } + event.node.res.appendHeader("set-cookie", cookie); + } + event.node.res.appendHeader("set-cookie", newCookie); +} +function deleteCookie(event, name, serializeOptions) { + setCookie(event, name, "", { + ...serializeOptions, + maxAge: 0 + }); +} +function splitCookiesString(cookiesString) { + if (Array.isArray(cookiesString)) { + return cookiesString.flatMap((c) => splitCookiesString(c)); + } + if (typeof cookiesString !== "string") { + return []; + } + const cookiesStrings = []; + let pos = 0; + let start; + let ch; + let lastComma; + let nextStart; + let cookiesSeparatorFound; + const skipWhitespace = () => { + while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { + pos += 1; + } + return pos < cookiesString.length; + }; + const notSpecialChar = () => { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + }; + while (pos < cookiesString.length) { + start = pos; + cookiesSeparatorFound = false; + while (skipWhitespace()) { + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while (pos < cookiesString.length && notSpecialChar()) { + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.slice(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.slice(start)); + } + } + return cookiesStrings; +} + +function serializeIterableValue(value) { + switch (typeof value) { + case "string": { + return value; + } + case "boolean": + case "number": + case "bigint": + case "symbol": { + return value.toString(); + } + case "function": + case "undefined": { + return void 0; + } + case "object": { + if (value instanceof Uint8Array) { + return value; + } + return JSON.stringify(value); + } + } +} +function coerceIterable(iterable) { + if (typeof iterable === "function") { + iterable = iterable(); + } + if (Symbol.iterator in iterable) { + return iterable[Symbol.iterator](); + } + if (Symbol.asyncIterator in iterable) { + return iterable[Symbol.asyncIterator](); + } + return iterable; +} + +const defer = typeof setImmediate === "undefined" ? (fn) => fn() : setImmediate; +function send(event, data, type) { + if (type) { + defaultContentType(event, type); + } + return new Promise((resolve) => { + defer(() => { + if (!event.handled) { + event.node.res.end(data); + } + resolve(); + }); + }); +} +function sendNoContent(event, code) { + if (event.handled) { + return; + } + if (!code && event.node.res.statusCode !== 200) { + code = event.node.res.statusCode; + } + const _code = sanitizeStatusCode(code, 204); + if (_code === 204) { + event.node.res.removeHeader("content-length"); + } + event.node.res.writeHead(_code); + event.node.res.end(); +} +function setResponseStatus(event, code, text) { + if (code) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + } + if (text) { + event.node.res.statusMessage = sanitizeStatusMessage(text); + } +} +function getResponseStatus(event) { + return event.node.res.statusCode; +} +function getResponseStatusText(event) { + return event.node.res.statusMessage; +} +function defaultContentType(event, type) { + if (type && event.node.res.statusCode !== 304 && !event.node.res.getHeader("content-type")) { + event.node.res.setHeader("content-type", type); + } +} +function sendRedirect(event, location, code = 302) { + event.node.res.statusCode = sanitizeStatusCode( + code, + event.node.res.statusCode + ); + event.node.res.setHeader("location", location); + const encodedLoc = location.replace(/"/g, "%22"); + const html = `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`; + return send(event, html, MIMES.html); +} +function getResponseHeaders(event) { + return event.node.res.getHeaders(); +} +function getResponseHeader(event, name) { + return event.node.res.getHeader(name); +} +function setResponseHeaders(event, headers) { + for (const [name, value] of Object.entries(headers)) { + event.node.res.setHeader( + name, + value + ); + } +} +const setHeaders = setResponseHeaders; +function setResponseHeader(event, name, value) { + event.node.res.setHeader(name, value); +} +const setHeader = setResponseHeader; +function appendResponseHeaders(event, headers) { + for (const [name, value] of Object.entries(headers)) { + appendResponseHeader(event, name, value); + } +} +const appendHeaders = appendResponseHeaders; +function appendResponseHeader(event, name, value) { + let current = event.node.res.getHeader(name); + if (!current) { + event.node.res.setHeader(name, value); + return; + } + if (!Array.isArray(current)) { + current = [current.toString()]; + } + event.node.res.setHeader(name, [...current, value]); +} +const appendHeader = appendResponseHeader; +function clearResponseHeaders(event, headerNames) { + if (headerNames && headerNames.length > 0) { + for (const name of headerNames) { + removeResponseHeader(event, name); + } + } else { + for (const [name] of Object.entries(getResponseHeaders(event))) { + removeResponseHeader(event, name); + } + } +} +function removeResponseHeader(event, name) { + return event.node.res.removeHeader(name); +} +function isStream(data) { + if (!data || typeof data !== "object") { + return false; + } + if (typeof data.pipe === "function") { + if (typeof data._read === "function") { + return true; + } + if (typeof data.abort === "function") { + return true; + } + } + if (typeof data.pipeTo === "function") { + return true; + } + return false; +} +function isWebResponse(data) { + return typeof Response !== "undefined" && data instanceof Response; +} +function sendStream(event, stream) { + if (!stream || typeof stream !== "object") { + throw new Error("[h3] Invalid stream provided."); + } + event.node.res._data = stream; + if (!event.node.res.socket) { + event._handled = true; + return Promise.resolve(); + } + if (hasProp(stream, "pipeTo") && typeof stream.pipeTo === "function") { + return stream.pipeTo( + new WritableStream({ + write(chunk) { + event.node.res.write(chunk); + } + }) + ).then(() => { + event.node.res.end(); + }); + } + if (hasProp(stream, "pipe") && typeof stream.pipe === "function") { + return new Promise((resolve, reject) => { + stream.pipe(event.node.res); + if (stream.on) { + stream.on("end", () => { + event.node.res.end(); + resolve(); + }); + stream.on("error", (error) => { + reject(error); + }); + } + event.node.res.on("close", () => { + if (stream.abort) { + stream.abort(); + } + }); + }); + } + throw new Error("[h3] Invalid or incompatible stream provided."); +} +const noop = () => { +}; +function writeEarlyHints(event, hints, cb = noop) { + if (!event.node.res.socket) { + cb(); + return; + } + if (typeof hints === "string" || Array.isArray(hints)) { + hints = { link: hints }; + } + if (hints.link) { + hints.link = Array.isArray(hints.link) ? hints.link : hints.link.split(","); + } + const headers = Object.entries(hints).map( + (e) => [e[0].toLowerCase(), e[1]] + ); + if (headers.length === 0) { + cb(); + return; + } + let hint = "HTTP/1.1 103 Early Hints"; + if (hints.link) { + hint += `\r +Link: ${hints.link.join(", ")}`; + } + for (const [header, value] of headers) { + if (header === "link") { + continue; + } + hint += `\r +${header}: ${value}`; + } + if (event.node.res.socket) { + event.node.res.socket.write( + `${hint}\r +\r +`, + "utf8", + cb + ); + } else { + cb(); + } +} +function sendWebResponse(event, response) { + for (const [key, value] of response.headers) { + if (key === "set-cookie") { + event.node.res.appendHeader(key, splitCookiesString(value)); + } else { + event.node.res.setHeader(key, value); + } + } + if (response.status) { + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + } + if (response.statusText) { + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + } + if (response.redirected) { + event.node.res.setHeader("location", response.url); + } + if (!response.body) { + event.node.res.end(); + return; + } + return sendStream(event, response.body); +} +function sendIterable(event, iterable, options) { + const serializer = options?.serializer ?? serializeIterableValue; + const iterator = coerceIterable(iterable); + return sendStream( + event, + new ReadableStream({ + async pull(controller) { + const { value, done } = await iterator.next(); + if (value !== void 0) { + const chunk = serializer(value); + if (chunk !== void 0) { + controller.enqueue(chunk); + } + } + if (done) { + controller.close(); + } + }, + cancel() { + iterator.return?.(); + } + }) + ); +} + +function resolveCorsOptions(options = {}) { + const defaultOptions = { + origin: "*", + methods: "*", + allowHeaders: "*", + exposeHeaders: "*", + credentials: false, + maxAge: false, + preflight: { + statusCode: 204 + } + }; + return defu(options, defaultOptions); +} +function isPreflightRequest(event) { + const origin = getRequestHeader(event, "origin"); + const accessControlRequestMethod = getRequestHeader( + event, + "access-control-request-method" + ); + return event.method === "OPTIONS" && !!origin && !!accessControlRequestMethod; +} +function isCorsOriginAllowed(origin, options) { + const { origin: originOption } = options; + if (!origin || !originOption || originOption === "*" || originOption === "null") { + return true; + } + if (Array.isArray(originOption)) { + return originOption.some((_origin) => { + if (_origin instanceof RegExp) { + return _origin.test(origin); + } + return origin === _origin; + }); + } + return originOption(origin); +} +function createOriginHeaders(event, options) { + const { origin: originOption } = options; + const origin = getRequestHeader(event, "origin"); + if (!origin || !originOption || originOption === "*") { + return { "access-control-allow-origin": "*" }; + } + if (typeof originOption === "string") { + return { "access-control-allow-origin": originOption, vary: "origin" }; + } + return isCorsOriginAllowed(origin, options) ? { "access-control-allow-origin": origin, vary: "origin" } : {}; +} +function createMethodsHeaders(options) { + const { methods } = options; + if (!methods) { + return {}; + } + if (methods === "*") { + return { "access-control-allow-methods": "*" }; + } + return methods.length > 0 ? { "access-control-allow-methods": methods.join(",") } : {}; +} +function createCredentialsHeaders(options) { + const { credentials } = options; + if (credentials) { + return { "access-control-allow-credentials": "true" }; + } + return {}; +} +function createAllowHeaderHeaders(event, options) { + const { allowHeaders } = options; + if (!allowHeaders || allowHeaders === "*" || allowHeaders.length === 0) { + const header = getRequestHeader(event, "access-control-request-headers"); + return header ? { + "access-control-allow-headers": header, + vary: "access-control-request-headers" + } : {}; + } + return { + "access-control-allow-headers": allowHeaders.join(","), + vary: "access-control-request-headers" + }; +} +function createExposeHeaders(options) { + const { exposeHeaders } = options; + if (!exposeHeaders) { + return {}; + } + if (exposeHeaders === "*") { + return { "access-control-expose-headers": exposeHeaders }; + } + return { "access-control-expose-headers": exposeHeaders.join(",") }; +} +function appendCorsPreflightHeaders(event, options) { + appendHeaders(event, createOriginHeaders(event, options)); + appendHeaders(event, createCredentialsHeaders(options)); + appendHeaders(event, createExposeHeaders(options)); + appendHeaders(event, createMethodsHeaders(options)); + appendHeaders(event, createAllowHeaderHeaders(event, options)); +} +function appendCorsHeaders(event, options) { + appendHeaders(event, createOriginHeaders(event, options)); + appendHeaders(event, createCredentialsHeaders(options)); + appendHeaders(event, createExposeHeaders(options)); +} + +function handleCors(event, options) { + const _options = resolveCorsOptions(options); + if (isPreflightRequest(event)) { + appendCorsPreflightHeaders(event, options); + sendNoContent(event, _options.preflight.statusCode); + return true; + } + appendCorsHeaders(event, options); + return false; +} + +async function getRequestFingerprint(event, opts = {}) { + const fingerprint = []; + if (opts.ip !== false) { + fingerprint.push( + getRequestIP(event, { xForwardedFor: opts.xForwardedFor }) + ); + } + if (opts.method === true) { + fingerprint.push(event.method); + } + if (opts.path === true) { + fingerprint.push(event.path); + } + if (opts.userAgent === true) { + fingerprint.push(getRequestHeader(event, "user-agent")); + } + const fingerprintString = fingerprint.filter(Boolean).join("|"); + if (!fingerprintString) { + return null; + } + if (opts.hash === false) { + return fingerprintString; + } + const buffer = await crypto.subtle.digest( + opts.hash || "SHA-1", + new TextEncoder().encode(fingerprintString) + ); + const hash = [...new Uint8Array(buffer)].map((b) => b.toString(16).padStart(2, "0")).join(""); + return hash; +} + +const PayloadMethods = /* @__PURE__ */ new Set(["PATCH", "POST", "PUT", "DELETE"]); +const ignoredHeaders = /* @__PURE__ */ new Set([ + "transfer-encoding", + "accept-encoding", + "connection", + "keep-alive", + "upgrade", + "expect", + "host", + "accept" +]); +async function proxyRequest(event, target, opts = {}) { + let body; + let duplex; + if (PayloadMethods.has(event.method)) { + if (opts.streamRequest) { + body = getRequestWebStream(event); + duplex = "half"; + } else { + body = await readRawBody(event, false).catch(() => void 0); + } + } + const method = opts.fetchOptions?.method || event.method; + const fetchHeaders = mergeHeaders( + getProxyRequestHeaders(event, { host: target.startsWith("/") }), + opts.fetchOptions?.headers, + opts.headers + ); + return sendProxy(event, target, { + ...opts, + fetchOptions: { + method, + body, + duplex, + ...opts.fetchOptions, + headers: fetchHeaders + } + }); +} +async function sendProxy(event, target, opts = {}) { + let response; + try { + response = await _getFetch(opts.fetch)(target, { + headers: opts.headers, + ignoreResponseError: true, + // make $ofetch.raw transparent + ...opts.fetchOptions + }); + } catch (error) { + throw createError({ + status: 502, + statusMessage: "Bad Gateway", + cause: error + }); + } + event.node.res.statusCode = sanitizeStatusCode( + response.status, + event.node.res.statusCode + ); + event.node.res.statusMessage = sanitizeStatusMessage(response.statusText); + const cookies = []; + for (const [key, value] of response.headers.entries()) { + if (key === "content-encoding") { + continue; + } + if (key === "content-length") { + continue; + } + if (key === "set-cookie") { + cookies.push(...splitCookiesString(value)); + continue; + } + event.node.res.setHeader(key, value); + } + if (cookies.length > 0) { + event.node.res.setHeader( + "set-cookie", + cookies.map((cookie) => { + if (opts.cookieDomainRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookieDomainRewrite, + "domain" + ); + } + if (opts.cookiePathRewrite) { + cookie = rewriteCookieProperty( + cookie, + opts.cookiePathRewrite, + "path" + ); + } + return cookie; + }) + ); + } + if (opts.onResponse) { + await opts.onResponse(event, response); + } + if (response._data !== void 0) { + return response._data; + } + if (event.handled) { + return; + } + if (opts.sendStream === false) { + const data = new Uint8Array(await response.arrayBuffer()); + return event.node.res.end(data); + } + if (response.body) { + for await (const chunk of response.body) { + event.node.res.write(chunk); + } + } + return event.node.res.end(); +} +function getProxyRequestHeaders(event, opts) { + const headers = /* @__PURE__ */ Object.create(null); + const reqHeaders = getRequestHeaders(event); + for (const name in reqHeaders) { + if (!ignoredHeaders.has(name) || name === "host" && opts?.host) { + headers[name] = reqHeaders[name]; + } + } + return headers; +} +function fetchWithEvent(event, req, init, options) { + return _getFetch(options?.fetch)(req, { + ...init, + context: init?.context || event.context, + headers: { + ...getProxyRequestHeaders(event, { + host: typeof req === "string" && req.startsWith("/") + }), + ...init?.headers + } + }); +} +function _getFetch(_fetch) { + if (_fetch) { + return _fetch; + } + if (globalThis.fetch) { + return globalThis.fetch; + } + throw new Error( + "fetch is not available. Try importing `node-fetch-native/polyfill` for Node.js." + ); +} +function rewriteCookieProperty(header, map, property) { + const _map = typeof map === "string" ? { "*": map } : map; + return header.replace( + new RegExp(`(;\\s*${property}=)([^;]+)`, "gi"), + (match, prefix, previousValue) => { + let newValue; + if (previousValue in _map) { + newValue = _map[previousValue]; + } else if ("*" in _map) { + newValue = _map["*"]; + } else { + return match; + } + return newValue ? prefix + newValue : ""; + } + ); +} +function mergeHeaders(defaults, ...inputs) { + const _inputs = inputs.filter(Boolean); + if (_inputs.length === 0) { + return defaults; + } + const merged = new Headers(defaults); + for (const input of _inputs) { + const entries = Array.isArray(input) ? input : typeof input.entries === "function" ? input.entries() : Object.entries(input); + for (const [key, value] of entries) { + if (value !== void 0) { + merged.set(key, value); + } + } + } + return merged; +} + +const getSessionPromise = Symbol("getSession"); +const DEFAULT_NAME = "h3"; +const DEFAULT_COOKIE = { + path: "/", + secure: true, + httpOnly: true +}; +async function useSession(event, config) { + const sessionName = config.name || DEFAULT_NAME; + await getSession(event, config); + const sessionManager = { + get id() { + return event.context.sessions?.[sessionName]?.id; + }, + get data() { + return event.context.sessions?.[sessionName]?.data || {}; + }, + update: async (update) => { + if (!isEvent(event)) { + throw new Error("[h3] Cannot update read-only session."); + } + await updateSession(event, config, update); + return sessionManager; + }, + clear: () => { + if (!isEvent(event)) { + throw new Error("[h3] Cannot clear read-only session."); + } + clearSession(event, config); + return Promise.resolve(sessionManager); + } + }; + return sessionManager; +} +async function getSession(event, config) { + const sessionName = config.name || DEFAULT_NAME; + if (!event.context.sessions) { + event.context.sessions = /* @__PURE__ */ Object.create(null); + } + const existingSession = event.context.sessions[sessionName]; + if (existingSession) { + return existingSession[getSessionPromise] || existingSession; + } + const session = { + id: "", + createdAt: 0, + data: /* @__PURE__ */ Object.create(null) + }; + event.context.sessions[sessionName] = session; + let sealedSession; + if (config.sessionHeader !== false) { + const headerName = typeof config.sessionHeader === "string" ? config.sessionHeader.toLowerCase() : `x-${sessionName.toLowerCase()}-session`; + const headerValue = _getReqHeader(event, headerName); + if (typeof headerValue === "string") { + sealedSession = headerValue; + } + } + if (!sealedSession) { + const cookieHeader = _getReqHeader(event, "cookie"); + if (cookieHeader) { + sealedSession = parse$1(cookieHeader + "")[sessionName]; + } + } + if (sealedSession) { + const promise = unsealSession(event, config, sealedSession).catch(() => { + }).then((unsealed) => { + Object.assign(session, unsealed); + delete event.context.sessions[sessionName][getSessionPromise]; + return session; + }); + event.context.sessions[sessionName][getSessionPromise] = promise; + await promise; + } + if (!session.id) { + if (!isEvent(event)) { + throw new Error( + "Cannot initialize a new session. Make sure using `useSession(event)` in main handler." + ); + } + session.id = config.generateId?.() ?? (config.crypto || crypto).randomUUID(); + session.createdAt = Date.now(); + await updateSession(event, config); + } + return session; +} +function _getReqHeader(event, name) { + if (event.node) { + return event.node?.req.headers[name]; + } + if (event.request) { + return event.request.headers?.get(name); + } + if (event.headers) { + return event.headers.get(name); + } +} +async function updateSession(event, config, update) { + const sessionName = config.name || DEFAULT_NAME; + const session = event.context.sessions?.[sessionName] || await getSession(event, config); + if (typeof update === "function") { + update = update(session.data); + } + if (update) { + Object.assign(session.data, update); + } + if (config.cookie !== false) { + const sealed = await sealSession(event, config); + setCookie(event, sessionName, sealed, { + ...DEFAULT_COOKIE, + expires: config.maxAge ? new Date(session.createdAt + config.maxAge * 1e3) : void 0, + ...config.cookie + }); + } + return session; +} +async function sealSession(event, config) { + const sessionName = config.name || DEFAULT_NAME; + const session = event.context.sessions?.[sessionName] || await getSession(event, config); + const sealed = await seal(config.crypto || crypto, session, config.password, { + ...defaults, + ttl: config.maxAge ? config.maxAge * 1e3 : 0, + ...config.seal + }); + return sealed; +} +async function unsealSession(_event, config, sealed) { + const unsealed = await unseal( + config.crypto || crypto, + sealed, + config.password, + { + ...defaults, + ttl: config.maxAge ? config.maxAge * 1e3 : 0, + ...config.seal + } + ); + if (config.maxAge) { + const age = Date.now() - (unsealed.createdAt || Number.NEGATIVE_INFINITY); + if (age > config.maxAge * 1e3) { + throw new Error("Session expired!"); + } + } + return unsealed; +} +function clearSession(event, config) { + const sessionName = config.name || DEFAULT_NAME; + if (event.context.sessions?.[sessionName]) { + delete event.context.sessions[sessionName]; + } + setCookie(event, sessionName, "", { + ...DEFAULT_COOKIE, + ...config.cookie + }); + return Promise.resolve(); +} + +function formatEventStreamMessage(message) { + let result = ""; + if (message.id) { + result += `id: ${message.id} +`; + } + if (message.event) { + result += `event: ${message.event} +`; + } + if (typeof message.retry === "number" && Number.isInteger(message.retry)) { + result += `retry: ${message.retry} +`; + } + result += `data: ${message.data} + +`; + return result; +} +function formatEventStreamMessages(messages) { + let result = ""; + for (const msg of messages) { + result += formatEventStreamMessage(msg); + } + return result; +} +function setEventStreamHeaders(event) { + const headers = { + "Content-Type": "text/event-stream", + "Cache-Control": "private, no-cache, no-store, no-transform, must-revalidate, max-age=0", + "X-Accel-Buffering": "no" + // prevent nginx from buffering the response + }; + if (!isHttp2Request(event)) { + headers.Connection = "keep-alive"; + } + setResponseHeaders(event, headers); +} +function isHttp2Request(event) { + return getHeader(event, ":path") !== void 0 && getHeader(event, ":method") !== void 0; +} + +class EventStream { + _h3Event; + _transformStream = new TransformStream(); + _writer; + _encoder = new TextEncoder(); + _writerIsClosed = false; + _paused = false; + _unsentData; + _disposed = false; + _handled = false; + constructor(event, opts = {}) { + this._h3Event = event; + this._writer = this._transformStream.writable.getWriter(); + this._writer.closed.then(() => { + this._writerIsClosed = true; + }); + if (opts.autoclose !== false) { + this._h3Event.node.req.on("close", () => this.close()); + } + } + async push(message) { + if (typeof message === "string") { + await this._sendEvent({ data: message }); + return; + } + if (Array.isArray(message)) { + if (message.length === 0) { + return; + } + if (typeof message[0] === "string") { + const msgs = []; + for (const item of message) { + msgs.push({ data: item }); + } + await this._sendEvents(msgs); + return; + } + await this._sendEvents(message); + return; + } + await this._sendEvent(message); + } + async _sendEvent(message) { + if (this._writerIsClosed) { + return; + } + if (this._paused && !this._unsentData) { + this._unsentData = formatEventStreamMessage(message); + return; + } + if (this._paused) { + this._unsentData += formatEventStreamMessage(message); + return; + } + await this._writer.write(this._encoder.encode(formatEventStreamMessage(message))).catch(); + } + async _sendEvents(messages) { + if (this._writerIsClosed) { + return; + } + const payload = formatEventStreamMessages(messages); + if (this._paused && !this._unsentData) { + this._unsentData = payload; + return; + } + if (this._paused) { + this._unsentData += payload; + return; + } + await this._writer.write(this._encoder.encode(payload)).catch(); + } + pause() { + this._paused = true; + } + get isPaused() { + return this._paused; + } + async resume() { + this._paused = false; + await this.flush(); + } + async flush() { + if (this._writerIsClosed) { + return; + } + if (this._unsentData?.length) { + await this._writer.write(this._encoder.encode(this._unsentData)); + this._unsentData = void 0; + } + } + /** + * Close the stream and the connection if the stream is being sent to the client + */ + async close() { + if (this._disposed) { + return; + } + if (!this._writerIsClosed) { + try { + await this._writer.close(); + } catch { + } + } + if (this._h3Event._handled && this._handled && !this._h3Event.node.res.closed) { + this._h3Event.node.res.end(); + } + this._disposed = true; + } + /** + * Triggers callback when the writable stream is closed. + * It is also triggered after calling the `close()` method. + */ + onClosed(cb) { + this._writer.closed.then(cb); + } + async send() { + setEventStreamHeaders(this._h3Event); + setResponseStatus(this._h3Event, 200); + this._h3Event._handled = true; + this._handled = true; + await sendStream(this._h3Event, this._transformStream.readable); + } +} + +function createEventStream(event, opts) { + return new EventStream(event, opts); +} + +async function serveStatic(event, options) { + if (event.method !== "GET" && event.method !== "HEAD") { + if (!options.fallthrough) { + throw createError({ + statusMessage: "Method Not Allowed", + statusCode: 405 + }); + } + return false; + } + const originalId = decodePath( + withLeadingSlash(withoutTrailingSlash(parseURL(event.path).pathname)) + ); + const acceptEncodings = parseAcceptEncoding( + getRequestHeader(event, "accept-encoding"), + options.encodings + ); + if (acceptEncodings.length > 1) { + setResponseHeader(event, "vary", "accept-encoding"); + } + let id = originalId; + let meta; + const _ids = idSearchPaths( + originalId, + acceptEncodings, + options.indexNames || ["/index.html"] + ); + for (const _id of _ids) { + const _meta = await options.getMeta(_id); + if (_meta) { + meta = _meta; + id = _id; + break; + } + } + if (!meta) { + if (!options.fallthrough) { + throw createError({ statusCode: 404 }); + } + return false; + } + if (meta.etag && !getResponseHeader(event, "etag")) { + setResponseHeader(event, "etag", meta.etag); + } + const ifNotMatch = meta.etag && getRequestHeader(event, "if-none-match") === meta.etag; + if (ifNotMatch) { + setResponseStatus(event, 304, "Not Modified"); + return send(event, ""); + } + if (meta.mtime) { + const mtimeDate = new Date(meta.mtime); + const ifModifiedSinceH = getRequestHeader(event, "if-modified-since"); + if (ifModifiedSinceH && new Date(ifModifiedSinceH) >= mtimeDate) { + setResponseStatus(event, 304, "Not Modified"); + return send(event, null); + } + if (!getResponseHeader(event, "last-modified")) { + setResponseHeader(event, "last-modified", mtimeDate.toUTCString()); + } + } + if (meta.type && !getResponseHeader(event, "content-type")) { + setResponseHeader(event, "content-type", meta.type); + } + if (meta.encoding && !getResponseHeader(event, "content-encoding")) { + setResponseHeader(event, "content-encoding", meta.encoding); + } + if (meta.size !== void 0 && meta.size > 0 && !getResponseHeader(event, "content-length")) { + setResponseHeader(event, "content-length", meta.size); + } + if (event.method === "HEAD") { + return send(event, null); + } + const contents = await options.getContents(id); + return isStream(contents) ? sendStream(event, contents) : send(event, contents); +} +function parseAcceptEncoding(header, encodingMap) { + if (!encodingMap || !header) { + return []; + } + return String(header || "").split(",").map((e) => encodingMap[e.trim()]).filter(Boolean); +} +function idSearchPaths(id, encodings, indexNames) { + const ids = []; + for (const suffix of ["", ...indexNames]) { + for (const encoding of [...encodings, ""]) { + ids.push(`${id}${suffix}${encoding}`); + } + } + return ids; +} + +function defineWebSocket(hooks) { + return hooks; +} +function defineWebSocketHandler(hooks) { + return defineEventHandler({ + handler() { + throw createError({ + statusCode: 426, + statusMessage: "Upgrade Required" + }); + }, + websocket: hooks + }); +} + +class H3Event { + "__is_event__" = true; + // Context + node; + // Node + web; + // Web + context = {}; + // Shared + // Request + _method; + _path; + _headers; + _requestBody; + // Response + _handled = false; + // Hooks + _onBeforeResponseCalled; + _onAfterResponseCalled; + constructor(req, res) { + this.node = { req, res }; + } + // --- Request --- + get method() { + if (!this._method) { + this._method = (this.node.req.method || "GET").toUpperCase(); + } + return this._method; + } + get path() { + return this._path || this.node.req.url || "/"; + } + get headers() { + if (!this._headers) { + this._headers = _normalizeNodeHeaders(this.node.req.headers); + } + return this._headers; + } + // --- Respoonse --- + get handled() { + return this._handled || this.node.res.writableEnded || this.node.res.headersSent; + } + respondWith(response) { + return Promise.resolve(response).then( + (_response) => sendWebResponse(this, _response) + ); + } + // --- Utils --- + toString() { + return `[${this.method}] ${this.path}`; + } + toJSON() { + return this.toString(); + } + // --- Deprecated --- + /** @deprecated Please use `event.node.req` instead. */ + get req() { + return this.node.req; + } + /** @deprecated Please use `event.node.res` instead. */ + get res() { + return this.node.res; + } +} +function isEvent(input) { + return hasProp(input, "__is_event__"); +} +function createEvent(req, res) { + return new H3Event(req, res); +} +function _normalizeNodeHeaders(nodeHeaders) { + const headers = new Headers(); + for (const [name, value] of Object.entries(nodeHeaders)) { + if (Array.isArray(value)) { + for (const item of value) { + headers.append(name, item); + } + } else if (value) { + headers.set(name, value); + } + } + return headers; +} + +function defineEventHandler(handler) { + if (typeof handler === "function") { + handler.__is_handler__ = true; + return handler; + } + const _hooks = { + onRequest: _normalizeArray(handler.onRequest), + onBeforeResponse: _normalizeArray(handler.onBeforeResponse) + }; + const _handler = (event) => { + return _callHandler(event, handler.handler, _hooks); + }; + _handler.__is_handler__ = true; + _handler.__resolve__ = handler.handler.__resolve__; + _handler.__websocket__ = handler.websocket; + return _handler; +} +function _normalizeArray(input) { + return input ? Array.isArray(input) ? input : [input] : void 0; +} +async function _callHandler(event, handler, hooks) { + if (hooks.onRequest) { + for (const hook of hooks.onRequest) { + await hook(event); + if (event.handled) { + return; + } + } + } + const body = await handler(event); + const response = { body }; + if (hooks.onBeforeResponse) { + for (const hook of hooks.onBeforeResponse) { + await hook(event, response); + } + } + return response.body; +} +const eventHandler = defineEventHandler; +function defineRequestMiddleware(fn) { + return fn; +} +function defineResponseMiddleware(fn) { + return fn; +} +function isEventHandler(input) { + return hasProp(input, "__is_handler__"); +} +function toEventHandler(input, _, _route) { + if (!isEventHandler(input)) { + console.warn( + "[h3] Implicit event handler conversion is deprecated. Use `eventHandler()` or `fromNodeMiddleware()` to define event handlers.", + _route && _route !== "/" ? ` + Route: ${_route}` : "", + ` + Handler: ${input}` + ); + } + return input; +} +function dynamicEventHandler(initial) { + let current = initial; + const wrapper = eventHandler((event) => { + if (current) { + return current(event); + } + }); + wrapper.set = (handler) => { + current = handler; + }; + return wrapper; +} +function defineLazyEventHandler(factory) { + let _promise; + let _resolved; + const resolveHandler = () => { + if (_resolved) { + return Promise.resolve(_resolved); + } + if (!_promise) { + _promise = Promise.resolve(factory()).then((r) => { + const handler2 = r.default || r; + if (typeof handler2 !== "function") { + throw new TypeError( + "Invalid lazy handler result. It should be a function:", + handler2 + ); + } + _resolved = { handler: toEventHandler(r.default || r) }; + return _resolved; + }); + } + return _promise; + }; + const handler = eventHandler((event) => { + if (_resolved) { + return _resolved.handler(event); + } + return resolveHandler().then((r) => r.handler(event)); + }); + handler.__resolve__ = resolveHandler; + return handler; +} +const lazyEventHandler = defineLazyEventHandler; + +const H3Headers = globalThis.Headers; +const H3Response = globalThis.Response; + +function createApp(options = {}) { + const stack = []; + const handler = createAppEventHandler(stack, options); + const resolve = createResolver(stack); + handler.__resolve__ = resolve; + const getWebsocket = cachedFn(() => websocketOptions(resolve, options)); + const app = { + // @ts-expect-error + use: (arg1, arg2, arg3) => use(app, arg1, arg2, arg3), + resolve, + handler, + stack, + options, + get websocket() { + return getWebsocket(); + } + }; + return app; +} +function use(app, arg1, arg2, arg3) { + if (Array.isArray(arg1)) { + for (const i of arg1) { + use(app, i, arg2, arg3); + } + } else if (Array.isArray(arg2)) { + for (const i of arg2) { + use(app, arg1, i, arg3); + } + } else if (typeof arg1 === "string") { + app.stack.push( + normalizeLayer({ ...arg3, route: arg1, handler: arg2 }) + ); + } else if (typeof arg1 === "function") { + app.stack.push(normalizeLayer({ ...arg2, handler: arg1 })); + } else { + app.stack.push(normalizeLayer({ ...arg1 })); + } + return app; +} +function createAppEventHandler(stack, options) { + const spacing = options.debug ? 2 : void 0; + return eventHandler(async (event) => { + event.node.req.originalUrl = event.node.req.originalUrl || event.node.req.url || "/"; + const _reqPath = event._path || event.node.req.url || "/"; + let _layerPath; + if (options.onRequest) { + await options.onRequest(event); + } + for (const layer of stack) { + if (layer.route.length > 1) { + if (!_reqPath.startsWith(layer.route)) { + continue; + } + _layerPath = _reqPath.slice(layer.route.length) || "/"; + } else { + _layerPath = _reqPath; + } + if (layer.match && !layer.match(_layerPath, event)) { + continue; + } + event._path = _layerPath; + event.node.req.url = _layerPath; + const val = await layer.handler(event); + const _body = val === void 0 ? void 0 : await val; + if (_body !== void 0) { + const _response = { body: _body }; + if (options.onBeforeResponse) { + event._onBeforeResponseCalled = true; + await options.onBeforeResponse(event, _response); + } + await handleHandlerResponse(event, _response.body, spacing); + if (options.onAfterResponse) { + event._onAfterResponseCalled = true; + await options.onAfterResponse(event, _response); + } + return; + } + if (event.handled) { + if (options.onAfterResponse) { + event._onAfterResponseCalled = true; + await options.onAfterResponse(event, void 0); + } + return; + } + } + if (!event.handled) { + throw createError({ + statusCode: 404, + statusMessage: `Cannot find any path matching ${event.path || "/"}.` + }); + } + if (options.onAfterResponse) { + event._onAfterResponseCalled = true; + await options.onAfterResponse(event, void 0); + } + }); +} +function createResolver(stack) { + return async (path) => { + let _layerPath; + for (const layer of stack) { + if (layer.route === "/" && !layer.handler.__resolve__) { + continue; + } + if (!path.startsWith(layer.route)) { + continue; + } + _layerPath = path.slice(layer.route.length) || "/"; + if (layer.match && !layer.match(_layerPath, void 0)) { + continue; + } + let res = { route: layer.route, handler: layer.handler }; + if (res.handler.__resolve__) { + const _res = await res.handler.__resolve__(_layerPath); + if (!_res) { + continue; + } + res = { + ...res, + ..._res, + route: joinURL(res.route || "/", _res.route || "/") + }; + } + return res; + } + }; +} +function normalizeLayer(input) { + let handler = input.handler; + if (handler.handler) { + handler = handler.handler; + } + if (input.lazy) { + handler = lazyEventHandler(handler); + } else if (!isEventHandler(handler)) { + handler = toEventHandler(handler, void 0, input.route); + } + return { + route: withoutTrailingSlash(input.route), + match: input.match, + handler + }; +} +function handleHandlerResponse(event, val, jsonSpace) { + if (val === null) { + return sendNoContent(event); + } + if (val) { + if (isWebResponse(val)) { + return sendWebResponse(event, val); + } + if (isStream(val)) { + return sendStream(event, val); + } + if (val.buffer) { + return send(event, val); + } + if (val.arrayBuffer && typeof val.arrayBuffer === "function") { + return val.arrayBuffer().then((arrayBuffer) => { + return send(event, Buffer.from(arrayBuffer), val.type); + }); + } + if (val instanceof Error) { + throw createError(val); + } + if (typeof val.end === "function") { + return true; + } + } + const valType = typeof val; + if (valType === "string") { + return send(event, val, MIMES.html); + } + if (valType === "object" || valType === "boolean" || valType === "number") { + return send(event, JSON.stringify(val, void 0, jsonSpace), MIMES.json); + } + if (valType === "bigint") { + return send(event, val.toString(), MIMES.json); + } + throw createError({ + statusCode: 500, + statusMessage: `[h3] Cannot send ${valType} as response.` + }); +} +function cachedFn(fn) { + let cache; + return () => { + if (!cache) { + cache = fn(); + } + return cache; + }; +} +function websocketOptions(evResolver, appOptions) { + return { + ...appOptions.websocket, + async resolve(info) { + const url = info.request?.url || info.url || "/"; + const { pathname } = typeof url === "string" ? parseURL(url) : url; + const resolved = await evResolver(pathname); + return resolved?.handler?.__websocket__ || {}; + } + }; +} + +const RouterMethods = [ + "connect", + "delete", + "get", + "head", + "options", + "post", + "put", + "trace", + "patch" +]; +function createRouter(opts = {}) { + const _router = createRouter$1({}); + const routes = {}; + let _matcher; + const router = {}; + const addRoute = (path, handler, method) => { + let route = routes[path]; + if (!route) { + routes[path] = route = { path, handlers: {} }; + _router.insert(path, route); + } + if (Array.isArray(method)) { + for (const m of method) { + addRoute(path, handler, m); + } + } else { + route.handlers[method] = toEventHandler(handler, void 0, path); + } + return router; + }; + router.use = router.add = (path, handler, method) => addRoute(path, handler, method || "all"); + for (const method of RouterMethods) { + router[method] = (path, handle) => router.add(path, handle, method); + } + const matchHandler = (path = "/", method = "get") => { + const qIndex = path.indexOf("?"); + if (qIndex !== -1) { + path = path.slice(0, Math.max(0, qIndex)); + } + const matched = _router.lookup(path); + if (!matched || !matched.handlers) { + return { + error: createError({ + statusCode: 404, + name: "Not Found", + statusMessage: `Cannot find any route matching ${path || "/"}.` + }) + }; + } + let handler = matched.handlers[method] || matched.handlers.all; + if (!handler) { + if (!_matcher) { + _matcher = toRouteMatcher(_router); + } + const _matches = _matcher.matchAll(path).reverse(); + for (const _match of _matches) { + if (_match.handlers[method]) { + handler = _match.handlers[method]; + matched.handlers[method] = matched.handlers[method] || handler; + break; + } + if (_match.handlers.all) { + handler = _match.handlers.all; + matched.handlers.all = matched.handlers.all || handler; + break; + } + } + } + if (!handler) { + return { + error: createError({ + statusCode: 405, + name: "Method Not Allowed", + statusMessage: `Method ${method} is not allowed on this route.` + }) + }; + } + return { matched, handler }; + }; + const isPreemptive = opts.preemptive || opts.preemtive; + router.handler = eventHandler((event) => { + const match = matchHandler( + event.path, + event.method.toLowerCase() + ); + if ("error" in match) { + if (isPreemptive) { + throw match.error; + } else { + return; + } + } + event.context.matchedRoute = match.matched; + const params = match.matched.params || {}; + event.context.params = params; + return Promise.resolve(match.handler(event)).then((res) => { + if (res === void 0 && isPreemptive) { + return null; + } + return res; + }); + }); + router.handler.__resolve__ = async (path) => { + path = withLeadingSlash(path); + const match = matchHandler(path); + if ("error" in match) { + return; + } + let res = { + route: match.matched.path, + handler: match.handler + }; + if (match.handler.__resolve__) { + const _res = await match.handler.__resolve__(path); + if (!_res) { + return; + } + res = { ...res, ..._res }; + } + return res; + }; + return router; +} + +const defineNodeListener = (handler) => handler; +const defineNodeMiddleware = (middleware) => middleware; +function fromNodeMiddleware(handler) { + if (isEventHandler(handler)) { + return handler; + } + if (typeof handler !== "function") { + throw new TypeError( + "Invalid handler. It should be a function:", + handler + ); + } + return eventHandler((event) => { + return callNodeListener( + handler, + event.node.req, + event.node.res + ); + }); +} +function toNodeListener(app) { + const toNodeHandle = async function(req, res) { + const event = createEvent(req, res); + try { + await app.handler(event); + } catch (_error) { + const error = createError(_error); + if (!isError(_error)) { + error.unhandled = true; + } + setResponseStatus(event, error.statusCode, error.statusMessage); + if (app.options.onError) { + await app.options.onError(error, event); + } + if (event.handled) { + return; + } + if (error.unhandled || error.fatal) { + console.error("[h3]", error.fatal ? "[fatal]" : "[unhandled]", error); + } + if (app.options.onBeforeResponse && !event._onBeforeResponseCalled) { + await app.options.onBeforeResponse(event, { body: error }); + } + await sendError(event, error, !!app.options.debug); + if (app.options.onAfterResponse && !event._onAfterResponseCalled) { + await app.options.onAfterResponse(event, { body: error }); + } + } + }; + return toNodeHandle; +} +function promisifyNodeListener(handler) { + return function(req, res) { + return callNodeListener(handler, req, res); + }; +} +function callNodeListener(handler, req, res) { + const isMiddleware = handler.length > 2; + return new Promise((resolve, reject) => { + const next = (err) => { + if (isMiddleware) { + res.off("close", next); + res.off("error", next); + } + return err ? reject(createError(err)) : resolve(void 0); + }; + try { + const returned = handler(req, res, next); + if (isMiddleware && returned === void 0) { + res.once("close", next); + res.once("error", next); + } else { + resolve(returned); + } + } catch (error) { + next(error); + } + }); +} + +function toPlainHandler(app) { + const handler = (request) => { + return _handlePlainRequest(app, request); + }; + return handler; +} +function fromPlainHandler(handler) { + return eventHandler(async (event) => { + const res = await handler({ + method: event.method, + path: event.path, + headers: Object.fromEntries(event.headers.entries()), + body: getRequestWebStream(event), + context: event.context + }); + setResponseStatus(event, res.status, res.statusText); + for (const [key, value] of res.headers) { + setResponseHeader(event, key, value); + } + return res.body; + }); +} +async function _handlePlainRequest(app, request) { + const path = request.path; + const method = (request.method || "GET").toUpperCase(); + const headers = new Headers(request.headers); + const nodeReq = new IncomingMessage(); + const nodeRes = new ServerResponse(nodeReq); + nodeReq.method = method; + nodeReq.url = path; + nodeReq.headers = Object.fromEntries(headers.entries()); + const event = createEvent(nodeReq, nodeRes); + event._method = method; + event._path = path; + event._headers = headers; + if (request.body) { + event._requestBody = request.body; + } + if (request._eventOverrides) { + Object.assign(event, request._eventOverrides); + } + if (request.context) { + Object.assign(event.context, request.context); + } + try { + await app.handler(event); + } catch (_error) { + const error = createError(_error); + if (!isError(_error)) { + error.unhandled = true; + } + if (app.options.onError) { + await app.options.onError(error, event); + } + if (!event.handled) { + if (error.unhandled || error.fatal) { + console.error("[h3]", error.fatal ? "[fatal]" : "[unhandled]", error); + } + await sendError(event, error, !!app.options.debug); + } + } + return { + status: nodeRes.statusCode, + statusText: nodeRes.statusMessage, + headers: _normalizeUnenvHeaders(nodeRes._headers), + body: nodeRes._data + }; +} +function _normalizeUnenvHeaders(input) { + const headers = []; + const cookies = []; + for (const _key in input) { + const key = _key.toLowerCase(); + if (key === "set-cookie") { + cookies.push( + ...splitCookiesString(input["set-cookie"]) + ); + continue; + } + const value = input[key]; + if (Array.isArray(value)) { + for (const _value of value) { + headers.push([key, _value]); + } + } else if (value !== void 0) { + headers.push([key, String(value)]); + } + } + if (cookies.length > 0) { + for (const cookie of cookies) { + headers.push(["set-cookie", cookie]); + } + } + return headers; +} + +function toWebHandler(app) { + const webHandler = (request, context) => { + return _handleWebRequest(app, request, context); + }; + return webHandler; +} +function fromWebHandler(handler) { + return eventHandler((event) => handler(toWebRequest(event), event.context)); +} +const nullBodyResponses = /* @__PURE__ */ new Set([101, 204, 205, 304]); +async function _handleWebRequest(app, request, context) { + const url = new URL(request.url); + const res = await _handlePlainRequest(app, { + _eventOverrides: { + web: { request, url } + }, + context, + method: request.method, + path: url.pathname + url.search, + headers: request.headers, + body: request.body + }); + const body = nullBodyResponses.has(res.status) || request.method === "HEAD" ? null : res.body; + return new Response(body, { + status: res.status, + statusText: res.statusText, + headers: res.headers + }); +} + +export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints }; diff --git a/.output/server/node_modules/h3/package.json b/.output/server/node_modules/h3/package.json new file mode 100644 index 00000000..ad1d1844 --- /dev/null +++ b/.output/server/node_modules/h3/package.json @@ -0,0 +1,75 @@ +{ + "name": "h3", + "version": "1.15.4", + "description": "Minimal H(TTP) framework built for high performance and portability.", + "repository": "h3js/h3", + "license": "MIT", + "sideEffects": false, + "exports": { + "./package.json": "./package.json", + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --cache . && prettier -c src test playground examples docs", + "lint:fix": "eslint --cache . --fix && prettier -c src test playground examples docs -w", + "play": "listhen -w ./playground/app.ts", + "profile": "0x -o -D .profile -P 'autocannon -c 100 -p 10 -d 40 http://localhost:$PORT' ./playground/server.cjs", + "release": "pnpm test && pnpm build && changelogen --release --publish --publishTag latest && git push --follow-tags", + "test": "pnpm lint && vitest --run --coverage" + }, + "resolutions": { + "h3": "^1.14.0" + }, + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.2", + "radix3": "^1.1.2", + "ufo": "^1.6.1", + "uncrypto": "^0.1.3" + }, + "devDependencies": { + "0x": "^6.0.0", + "@types/express": "^5.0.3", + "@types/node": "^24.1.0", + "@types/supertest": "^6.0.3", + "@vitest/coverage-v8": "^3.2.4", + "autocannon": "^8.0.0", + "automd": "^0.4.0", + "changelogen": "^0.6.2", + "connect": "^3.7.0", + "eslint": "^9.32.0", + "eslint-config-unjs": "^0.5.0", + "express": "^5.1.0", + "get-port": "^7.1.0", + "h3": "^1.15.3", + "jiti": "^2.5.1", + "listhen": "^1.9.0", + "node-fetch-native": "^1.6.6", + "prettier": "^3.6.2", + "react": "^19.1.1", + "react-dom": "^19.1.1", + "supertest": "^7.1.4", + "typescript": "^5.8.3", + "unbuild": "^3.6.0", + "undici": "^7.12.0", + "vitest": "^3.2.4", + "zod": "^4.0.14" + }, + "packageManager": "pnpm@10.2.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/has-symbols/index.js b/.output/server/node_modules/has-symbols/index.js new file mode 100644 index 00000000..fa65265a --- /dev/null +++ b/.output/server/node_modules/has-symbols/index.js @@ -0,0 +1,14 @@ +'use strict'; + +var origSymbol = typeof Symbol !== 'undefined' && Symbol; +var hasSymbolSham = require('./shams'); + +/** @type {import('.')} */ +module.exports = function hasNativeSymbols() { + if (typeof origSymbol !== 'function') { return false; } + if (typeof Symbol !== 'function') { return false; } + if (typeof origSymbol('foo') !== 'symbol') { return false; } + if (typeof Symbol('bar') !== 'symbol') { return false; } + + return hasSymbolSham(); +}; diff --git a/.output/server/node_modules/has-symbols/package.json b/.output/server/node_modules/has-symbols/package.json new file mode 100644 index 00000000..a734d77b --- /dev/null +++ b/.output/server/node_modules/has-symbols/package.json @@ -0,0 +1,111 @@ +{ + "name": "has-symbols", + "version": "1.1.0", + "description": "Determine if the JS environment has Symbol support. Supports spec, or shams.", + "main": "index.js", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "tests-only": "npm run test:stock && npm run test:shams", + "test:stock": "nyc node test", + "test:staging": "nyc node --harmony --es-staging test", + "test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs", + "test:shams:corejs": "nyc node test/shams/core-js.js", + "test:shams:getownpropertysymbols": "nyc node test/shams/get-own-property-symbols.js", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git://github.com/inspect-js/has-symbols.git" + }, + "keywords": [ + "Symbol", + "symbols", + "typeof", + "sham", + "polyfill", + "native", + "core-js", + "ES6" + ], + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + }, + "contributors": [ + { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + } + ], + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/has-symbols/issues" + }, + "homepage": "https://github.com/ljharb/has-symbols#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.0", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.0", + "@types/core-js": "^2.5.8", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "core-js": "^2.6.12", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "get-own-property-symbols": "^0.9.5", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "iexplore/6.0..latest", + "firefox/3.0..6.0", + "firefox/15.0..latest", + "firefox/nightly", + "chrome/4.0..10.0", + "chrome/20.0..latest", + "chrome/canary", + "opera/10.0..latest", + "opera/next", + "safari/4.0..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2" + ] + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows", + "types" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/has-symbols/shams.js b/.output/server/node_modules/has-symbols/shams.js new file mode 100644 index 00000000..f97b4741 --- /dev/null +++ b/.output/server/node_modules/has-symbols/shams.js @@ -0,0 +1,45 @@ +'use strict'; + +/** @type {import('./shams')} */ +/* eslint complexity: [2, 18], max-statements: [2, 33] */ +module.exports = function hasSymbols() { + if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } + if (typeof Symbol.iterator === 'symbol') { return true; } + + /** @type {{ [k in symbol]?: unknown }} */ + var obj = {}; + var sym = Symbol('test'); + var symObj = Object(sym); + if (typeof sym === 'string') { return false; } + + if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } + if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } + + // temp disabled per https://github.com/ljharb/object.assign/issues/17 + // if (sym instanceof Symbol) { return false; } + // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 + // if (!(symObj instanceof Symbol)) { return false; } + + // if (typeof Symbol.prototype.toString !== 'function') { return false; } + // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } + + var symVal = 42; + obj[sym] = symVal; + for (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop + if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } + + if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } + + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { return false; } + + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } + + if (typeof Object.getOwnPropertyDescriptor === 'function') { + // eslint-disable-next-line no-extra-parens + var descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym)); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } + } + + return true; +}; diff --git a/.output/server/node_modules/has-tostringtag/package.json b/.output/server/node_modules/has-tostringtag/package.json new file mode 100644 index 00000000..e0d2fb67 --- /dev/null +++ b/.output/server/node_modules/has-tostringtag/package.json @@ -0,0 +1,108 @@ +{ + "name": "has-tostringtag", + "version": "1.0.2", + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "contributors": [ + { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + } + ], + "description": "Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams.", + "license": "MIT", + "main": "index.js", + "types": "./index.d.ts", + "exports": { + ".": [ + { + "types": "./index.d.ts", + "default": "./index.js" + }, + "./index.js" + ], + "./shams": [ + { + "types": "./shams.d.ts", + "default": "./shams.js" + }, + "./shams.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "aud --production", + "tests-only": "npm run test:stock && npm run test:shams", + "test:stock": "nyc node test", + "test:staging": "nyc node --harmony --es-staging test", + "test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs", + "test:shams:corejs": "nyc node test/shams/core-js.js", + "test:shams:getownpropertysymbols": "nyc node test/shams/get-own-property-symbols.js", + "lint": "eslint --ext=js,mjs .", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-tostringtag.git" + }, + "bugs": { + "url": "https://github.com/inspect-js/has-tostringtag/issues" + }, + "homepage": "https://github.com/inspect-js/has-tostringtag#readme", + "keywords": [ + "javascript", + "ecmascript", + "symbol", + "symbols", + "tostringtag", + "Symbol.toStringTag" + ], + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "@types/has-symbols": "^1.0.2", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "core-js": "^2.6.12", + "eslint": "=8.8.0", + "get-own-property-symbols": "^0.9.5", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.4", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "dependencies": { + "has-symbols": "^1.0.3" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/has-tostringtag/shams.js b/.output/server/node_modules/has-tostringtag/shams.js new file mode 100644 index 00000000..809580db --- /dev/null +++ b/.output/server/node_modules/has-tostringtag/shams.js @@ -0,0 +1,8 @@ +'use strict'; + +var hasSymbols = require('has-symbols/shams'); + +/** @type {import('.')} */ +module.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; +}; diff --git a/.output/server/node_modules/hasown/index.js b/.output/server/node_modules/hasown/index.js new file mode 100644 index 00000000..34e60591 --- /dev/null +++ b/.output/server/node_modules/hasown/index.js @@ -0,0 +1,8 @@ +'use strict'; + +var call = Function.prototype.call; +var $hasOwn = Object.prototype.hasOwnProperty; +var bind = require('function-bind'); + +/** @type {import('.')} */ +module.exports = bind.call(call, $hasOwn); diff --git a/.output/server/node_modules/hasown/package.json b/.output/server/node_modules/hasown/package.json new file mode 100644 index 00000000..7d719ca2 --- /dev/null +++ b/.output/server/node_modules/hasown/package.json @@ -0,0 +1,92 @@ +{ + "name": "hasown", + "version": "2.0.2", + "description": "A robust, ES3 compatible, \"has own property\" predicate.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "index.d.ts", + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "npm run tsc", + "pretest": "npm run lint", + "tsc": "tsc -p .", + "posttsc": "attw -P", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/hasOwn.git" + }, + "keywords": [ + "has", + "hasOwnProperty", + "hasOwn", + "has-own", + "own", + "has", + "property", + "in", + "javascript", + "ecmascript" + ], + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/hasOwn/issues" + }, + "homepage": "https://github.com/inspect-js/hasOwn#readme", + "dependencies": { + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.15.1", + "@ljharb/eslint-config": "^21.1.0", + "@ljharb/tsconfig": "^0.2.0", + "@types/function-bind": "^1.1.10", + "@types/mock-property": "^1.0.2", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "mock-property": "^1.0.3", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.5", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows", + "test" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/hey-listen/dist/index.js b/.output/server/node_modules/hey-listen/dist/index.js new file mode 100644 index 00000000..4e7d3c4b --- /dev/null +++ b/.output/server/node_modules/hey-listen/dist/index.js @@ -0,0 +1,18 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +exports.warning = function () { }; +exports.invariant = function () { }; +if (process.env.NODE_ENV !== 'production') { + exports.warning = function (check, message) { + if (!check && typeof console !== 'undefined') { + console.warn(message); + } + }; + exports.invariant = function (check, message) { + if (!check) { + throw new Error(message); + } + }; +} diff --git a/.output/server/node_modules/hey-listen/package.json b/.output/server/node_modules/hey-listen/package.json new file mode 100644 index 00000000..b484a1c7 --- /dev/null +++ b/.output/server/node_modules/hey-listen/package.json @@ -0,0 +1,55 @@ +{ + "name": "hey-listen", + "version": "1.0.8", + "description": "Warning and invariant dev-ex messaging.", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "module": "dist/hey-listen.es.js", + "jsnext:main": "dist/hey-listen.es.js", + "scripts": { + "test": "jest", + "build": "rollup -c", + "watch": "rollup -c -w", + "prepublishOnly": "npm run test && npm run build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Popmotion/hey-listen.git" + }, + "keywords": [ + "warning", + "invariant" + ], + "author": "Matt Perry", + "license": "MIT", + "bugs": { + "url": "https://github.com/Popmotion/hey-listen/issues" + }, + "homepage": "https://github.com/Popmotion/hey-listen#readme", + "devDependencies": { + "@types/jest": "^22.2.3", + "@types/node": "^10.0.6", + "jest": "^24.7.1", + "rollup": "^1.9.2", + "rollup-plugin-typescript2": "^0.14.0", + "rollup-plugin-uglify": "^3.0.0", + "ts-jest": "^22.4.5", + "typescript": "^2.8.3" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "js", + "json", + "node" + ], + "transform": { + "\\.(ts)$": "../node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "/_tests/.*\\.(ts|js)$", + "rootDir": "src" + }, + "prettier": { + "singleQuote": true + } +} \ No newline at end of file diff --git a/.output/server/node_modules/hookable/dist/index.cjs b/.output/server/node_modules/hookable/dist/index.cjs new file mode 100644 index 00000000..ba1e7ed4 --- /dev/null +++ b/.output/server/node_modules/hookable/dist/index.cjs @@ -0,0 +1,299 @@ +'use strict'; + +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) { + flatHooks(subHook, hooks, name); + } else if (typeof subHook === "function") { + hooks[name] = subHook; + } + } + return hooks; +} +function mergeHooks(...hooks) { + const finalHooks = {}; + for (const hook of hooks) { + const flatenHook = flatHooks(hook); + for (const key in flatenHook) { + if (finalHooks[key]) { + finalHooks[key].push(flatenHook[key]); + } else { + finalHooks[key] = [flatenHook[key]]; + } + } + } + for (const key in finalHooks) { + if (finalHooks[key].length > 1) { + const array = finalHooks[key]; + finalHooks[key] = (...arguments_) => serial(array, (function_) => function_(...arguments_)); + } else { + finalHooks[key] = finalHooks[key][0]; + } + } + return finalHooks; +} +function serial(tasks, function_) { + return tasks.reduce( + (promise, task) => promise.then(() => function_(task)), + Promise.resolve() + ); +} +const defaultTask = { run: (function_) => function_() }; +const _createTask = () => defaultTask; +const createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; +function serialTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return hooks.reduce( + (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), + Promise.resolve() + ); +} +function parallelTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); +} +function serialCaller(hooks, arguments_) { + return hooks.reduce( + (promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])), + Promise.resolve() + ); +} +function parallelCaller(hooks, args) { + return Promise.all(hooks.map((hook) => hook(...args || []))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) { + callback(arg0); + } +} + +class Hookable { + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") { + return () => { + }; + } + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) { + message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + } + if (!this._deprecatedMessages) { + this._deprecatedMessages = /* @__PURE__ */ new Set(); + } + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) { + try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch { + } + } + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") { + _unreg(); + } + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + if (this._hooks[name]) { + const index = this._hooks[name].indexOf(function_); + if (index !== -1) { + this._hooks[name].splice(index, 1); + } + if (this._hooks[name].length === 0) { + delete this._hooks[name]; + } + } + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + delete this._hooks[name]; + for (const hook of _hooks) { + this.hook(name, hook); + } + } + deprecateHooks(deprecatedHooks) { + Object.assign(this._deprecatedHooks, deprecatedHooks); + for (const name in deprecatedHooks) { + this.deprecateHook(name, deprecatedHooks[name]); + } + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map( + (key) => this.hook(key, hooks[key]) + ); + return () => { + for (const unreg of removeFns.splice(0, removeFns.length)) { + unreg(); + } + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) { + this.removeHook(key, hooks[key]); + } + } + removeAllHooks() { + for (const key in this._hooks) { + delete this._hooks[key]; + } + } + callHook(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(serialTaskCaller, name, ...arguments_); + } + callHookParallel(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(parallelTaskCaller, name, ...arguments_); + } + callHookWith(caller, name, ...arguments_) { + const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0; + if (this._before) { + callEachWith(this._before, event); + } + const result = caller( + name in this._hooks ? [...this._hooks[name]] : [], + arguments_ + ); + if (result instanceof Promise) { + return result.finally(() => { + if (this._after && event) { + callEachWith(this._after, event); + } + }); + } + if (this._after && event) { + callEachWith(this._after, event); + } + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) { + this._before.splice(index, 1); + } + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) { + this._after.splice(index, 1); + } + } + }; + } +} +function createHooks() { + return new Hookable(); +} + +const isBrowser = typeof window !== "undefined"; +function createDebugger(hooks, _options = {}) { + const options = { + inspect: isBrowser, + group: isBrowser, + filter: () => true, + ..._options + }; + const _filter = options.filter; + const filter = typeof _filter === "string" ? (name) => name.startsWith(_filter) : _filter; + const _tag = options.tag ? `[${options.tag}] ` : ""; + const logPrefix = (event) => _tag + event.name + "".padEnd(event._id, "\0"); + const _idCtr = {}; + const unsubscribeBefore = hooks.beforeEach((event) => { + if (filter !== void 0 && !filter(event.name)) { + return; + } + _idCtr[event.name] = _idCtr[event.name] || 0; + event._id = _idCtr[event.name]++; + console.time(logPrefix(event)); + }); + const unsubscribeAfter = hooks.afterEach((event) => { + if (filter !== void 0 && !filter(event.name)) { + return; + } + if (options.group) { + console.groupCollapsed(event.name); + } + if (options.inspect) { + console.timeLog(logPrefix(event), event.args); + } else { + console.timeEnd(logPrefix(event)); + } + if (options.group) { + console.groupEnd(); + } + _idCtr[event.name]--; + }); + return { + /** Stop debugging and remove listeners */ + close: () => { + unsubscribeBefore(); + unsubscribeAfter(); + } + }; +} + +exports.Hookable = Hookable; +exports.createDebugger = createDebugger; +exports.createHooks = createHooks; +exports.flatHooks = flatHooks; +exports.mergeHooks = mergeHooks; +exports.parallelCaller = parallelCaller; +exports.serial = serial; +exports.serialCaller = serialCaller; diff --git a/.output/server/node_modules/hookable/dist/index.mjs b/.output/server/node_modules/hookable/dist/index.mjs new file mode 100644 index 00000000..6695406a --- /dev/null +++ b/.output/server/node_modules/hookable/dist/index.mjs @@ -0,0 +1,290 @@ +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) { + flatHooks(subHook, hooks, name); + } else if (typeof subHook === "function") { + hooks[name] = subHook; + } + } + return hooks; +} +function mergeHooks(...hooks) { + const finalHooks = {}; + for (const hook of hooks) { + const flatenHook = flatHooks(hook); + for (const key in flatenHook) { + if (finalHooks[key]) { + finalHooks[key].push(flatenHook[key]); + } else { + finalHooks[key] = [flatenHook[key]]; + } + } + } + for (const key in finalHooks) { + if (finalHooks[key].length > 1) { + const array = finalHooks[key]; + finalHooks[key] = (...arguments_) => serial(array, (function_) => function_(...arguments_)); + } else { + finalHooks[key] = finalHooks[key][0]; + } + } + return finalHooks; +} +function serial(tasks, function_) { + return tasks.reduce( + (promise, task) => promise.then(() => function_(task)), + Promise.resolve() + ); +} +const defaultTask = { run: (function_) => function_() }; +const _createTask = () => defaultTask; +const createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask; +function serialTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return hooks.reduce( + (promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))), + Promise.resolve() + ); +} +function parallelTaskCaller(hooks, args) { + const name = args.shift(); + const task = createTask(name); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); +} +function serialCaller(hooks, arguments_) { + return hooks.reduce( + (promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])), + Promise.resolve() + ); +} +function parallelCaller(hooks, args) { + return Promise.all(hooks.map((hook) => hook(...args || []))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) { + callback(arg0); + } +} + +class Hookable { + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") { + return () => { + }; + } + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) { + message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + } + if (!this._deprecatedMessages) { + this._deprecatedMessages = /* @__PURE__ */ new Set(); + } + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) { + try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch { + } + } + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") { + _unreg(); + } + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + if (this._hooks[name]) { + const index = this._hooks[name].indexOf(function_); + if (index !== -1) { + this._hooks[name].splice(index, 1); + } + if (this._hooks[name].length === 0) { + delete this._hooks[name]; + } + } + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + delete this._hooks[name]; + for (const hook of _hooks) { + this.hook(name, hook); + } + } + deprecateHooks(deprecatedHooks) { + Object.assign(this._deprecatedHooks, deprecatedHooks); + for (const name in deprecatedHooks) { + this.deprecateHook(name, deprecatedHooks[name]); + } + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map( + (key) => this.hook(key, hooks[key]) + ); + return () => { + for (const unreg of removeFns.splice(0, removeFns.length)) { + unreg(); + } + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) { + this.removeHook(key, hooks[key]); + } + } + removeAllHooks() { + for (const key in this._hooks) { + delete this._hooks[key]; + } + } + callHook(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(serialTaskCaller, name, ...arguments_); + } + callHookParallel(name, ...arguments_) { + arguments_.unshift(name); + return this.callHookWith(parallelTaskCaller, name, ...arguments_); + } + callHookWith(caller, name, ...arguments_) { + const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0; + if (this._before) { + callEachWith(this._before, event); + } + const result = caller( + name in this._hooks ? [...this._hooks[name]] : [], + arguments_ + ); + if (result instanceof Promise) { + return result.finally(() => { + if (this._after && event) { + callEachWith(this._after, event); + } + }); + } + if (this._after && event) { + callEachWith(this._after, event); + } + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) { + this._before.splice(index, 1); + } + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) { + this._after.splice(index, 1); + } + } + }; + } +} +function createHooks() { + return new Hookable(); +} + +const isBrowser = typeof window !== "undefined"; +function createDebugger(hooks, _options = {}) { + const options = { + inspect: isBrowser, + group: isBrowser, + filter: () => true, + ..._options + }; + const _filter = options.filter; + const filter = typeof _filter === "string" ? (name) => name.startsWith(_filter) : _filter; + const _tag = options.tag ? `[${options.tag}] ` : ""; + const logPrefix = (event) => _tag + event.name + "".padEnd(event._id, "\0"); + const _idCtr = {}; + const unsubscribeBefore = hooks.beforeEach((event) => { + if (filter !== void 0 && !filter(event.name)) { + return; + } + _idCtr[event.name] = _idCtr[event.name] || 0; + event._id = _idCtr[event.name]++; + console.time(logPrefix(event)); + }); + const unsubscribeAfter = hooks.afterEach((event) => { + if (filter !== void 0 && !filter(event.name)) { + return; + } + if (options.group) { + console.groupCollapsed(event.name); + } + if (options.inspect) { + console.timeLog(logPrefix(event), event.args); + } else { + console.timeEnd(logPrefix(event)); + } + if (options.group) { + console.groupEnd(); + } + _idCtr[event.name]--; + }); + return { + /** Stop debugging and remove listeners */ + close: () => { + unsubscribeBefore(); + unsubscribeAfter(); + } + }; +} + +export { Hookable, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller }; diff --git a/.output/server/node_modules/hookable/package.json b/.output/server/node_modules/hookable/package.json new file mode 100644 index 00000000..6dd38835 --- /dev/null +++ b/.output/server/node_modules/hookable/package.json @@ -0,0 +1,49 @@ +{ + "name": "hookable", + "version": "5.5.3", + "description": "Awaitable hook system", + "keywords": [ + "hook", + "hookable", + "plugin", + "tapable", + "tappable" + ], + "repository": "unjs/hookable", + "license": "MIT", + "exports": { + "import": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "require": "./dist/index.cjs" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "devDependencies": { + "@types/node": "^18.15.11", + "@vitest/coverage-c8": "^0.29.8", + "changelogen": "^0.5.2", + "eslint": "^8.37.0", + "eslint-config-unjs": "^0.1.0", + "expect-type": "^0.15.0", + "prettier": "^2.8.7", + "typescript": "^5.0.2", + "unbuild": "^1.1.2", + "vite": "^4.2.1", + "vitest": "^0.29.8" + }, + "packageManager": "pnpm@8.0.0", + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test", + "lint:fix": "eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w", + "prepublish": "pnpm build", + "release": "pnpm test && pnpm build && changelogen --release --push && pnpm publish", + "test": "pnpm lint && vitest run --coverage", + "test:types": "tsc --noEmit" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/image-meta/dist/index.mjs b/.output/server/node_modules/image-meta/dist/index.mjs new file mode 100644 index 00000000..5a932b5a --- /dev/null +++ b/.output/server/node_modules/image-meta/dist/index.mjs @@ -0,0 +1,785 @@ +const decoder = new TextDecoder(); +const toUTF8String = (input, start = 0, end = input.length) => decoder.decode(input.slice(start, end)); +const toHexString = (input, start = 0, end = input.length) => input.slice(start, end).reduce((memo, i) => memo + ("0" + i.toString(16)).slice(-2), ""); +const readInt16LE = (input, offset = 0) => { + const val = input[offset] + input[offset + 1] * 2 ** 8; + return val | (val & 2 ** 15) * 131070; +}; +const readUInt16BE = (input, offset = 0) => input[offset] * 2 ** 8 + input[offset + 1]; +const readUInt16LE = (input, offset = 0) => input[offset] + input[offset + 1] * 2 ** 8; +const readUInt24LE = (input, offset = 0) => input[offset] + input[offset + 1] * 2 ** 8 + input[offset + 2] * 2 ** 16; +const readInt32LE = (input, offset = 0) => input[offset] + input[offset + 1] * 2 ** 8 + input[offset + 2] * 2 ** 16 + (input[offset + 3] << 24); +const readUInt32BE = (input, offset = 0) => input[offset] * 2 ** 24 + input[offset + 1] * 2 ** 16 + input[offset + 2] * 2 ** 8 + input[offset + 3]; +const readUInt32LE = (input, offset = 0) => input[offset] + input[offset + 1] * 2 ** 8 + input[offset + 2] * 2 ** 16 + input[offset + 3] * 2 ** 24; +const methods = { + readUInt16BE, + readUInt16LE, + readUInt32BE, + readUInt32LE +}; +function readUInt(input, bits, offset, isBigEndian) { + offset = offset || 0; + const endian = isBigEndian ? "BE" : "LE"; + const methodName = "readUInt" + bits + endian; + return methods[methodName](input, offset); +} + +const BMP = { + validate: (input) => toUTF8String(input, 0, 2) === "BM", + calculate: (input) => ({ + height: Math.abs(readInt32LE(input, 22)), + width: readUInt32LE(input, 18) + }) +}; + +const TYPE_ICON = 1; +const SIZE_HEADER$1 = 2 + 2 + 2; +const SIZE_IMAGE_ENTRY = 1 + 1 + 1 + 1 + 2 + 2 + 4 + 4; +function getSizeFromOffset(input, offset) { + const value = input[offset]; + return value === 0 ? 256 : value; +} +function getImageSize$1(input, imageIndex) { + const offset = SIZE_HEADER$1 + imageIndex * SIZE_IMAGE_ENTRY; + return { + height: getSizeFromOffset(input, offset + 1), + width: getSizeFromOffset(input, offset) + }; +} +const ICO = { + validate(input) { + const reserved = readUInt16LE(input, 0); + const imageCount = readUInt16LE(input, 4); + if (reserved !== 0 || imageCount === 0) { + return false; + } + const imageType = readUInt16LE(input, 2); + return imageType === TYPE_ICON; + }, + calculate(input) { + const nbImages = readUInt16LE(input, 4); + const imageSize = getImageSize$1(input, 0); + if (nbImages === 1) { + return imageSize; + } + const imgs = [imageSize]; + for (let imageIndex = 1; imageIndex < nbImages; imageIndex += 1) { + imgs.push(getImageSize$1(input, imageIndex)); + } + return { + height: imageSize.height, + images: imgs, + width: imageSize.width + }; + } +}; + +const TYPE_CURSOR = 2; +const CUR = { + validate(input) { + const reserved = readUInt16LE(input, 0); + const imageCount = readUInt16LE(input, 4); + if (reserved !== 0 || imageCount === 0) { + return false; + } + const imageType = readUInt16LE(input, 2); + return imageType === TYPE_CURSOR; + }, + calculate: (input) => ICO.calculate(input) +}; + +const DDS = { + validate: (input) => readUInt32LE(input, 0) === 542327876, + calculate: (input) => ({ + height: readUInt32LE(input, 12), + width: readUInt32LE(input, 16) + }) +}; + +const gifRegexp = /^GIF8[79]a/; +const GIF = { + validate: (input) => gifRegexp.test(toUTF8String(input, 0, 6)), + calculate: (input) => ({ + height: readUInt16LE(input, 8), + width: readUInt16LE(input, 6) + }) +}; + +const SIZE_HEADER = 4 + 4; +const FILE_LENGTH_OFFSET = 4; +const ENTRY_LENGTH_OFFSET = 4; +const ICON_TYPE_SIZE = { + ICON: 32, + "ICN#": 32, + // m => 16 x 16 + "icm#": 16, + icm4: 16, + icm8: 16, + // s => 16 x 16 + "ics#": 16, + ics4: 16, + ics8: 16, + is32: 16, + s8mk: 16, + icp4: 16, + // l => 32 x 32 + icl4: 32, + icl8: 32, + il32: 32, + l8mk: 32, + icp5: 32, + ic11: 32, + // h => 48 x 48 + ich4: 48, + ich8: 48, + ih32: 48, + h8mk: 48, + // . => 64 x 64 + icp6: 64, + ic12: 32, + // t => 128 x 128 + it32: 128, + t8mk: 128, + ic07: 128, + // . => 256 x 256 + ic08: 256, + ic13: 256, + // . => 512 x 512 + ic09: 512, + ic14: 512, + // . => 1024 x 1024 + ic10: 1024 +}; +function readImageHeader(input, imageOffset) { + const imageLengthOffset = imageOffset + ENTRY_LENGTH_OFFSET; + return [ + toUTF8String(input, imageOffset, imageLengthOffset), + readUInt32BE(input, imageLengthOffset) + ]; +} +function getImageSize(type) { + const size = ICON_TYPE_SIZE[type]; + return { width: size, height: size, type }; +} +const ICNS = { + validate: (input) => toUTF8String(input, 0, 4) === "icns", + calculate(input) { + const inputLength = input.length; + const fileLength = readUInt32BE(input, FILE_LENGTH_OFFSET); + let imageOffset = SIZE_HEADER; + let imageHeader = readImageHeader(input, imageOffset); + let imageSize = getImageSize(imageHeader[0]); + imageOffset += imageHeader[1]; + if (imageOffset === fileLength) { + return imageSize; + } + const result = { + height: imageSize.height, + images: [imageSize], + width: imageSize.width + }; + while (imageOffset < fileLength && imageOffset < inputLength) { + imageHeader = readImageHeader(input, imageOffset); + imageSize = getImageSize(imageHeader[0]); + imageOffset += imageHeader[1]; + result.images.push(imageSize); + } + return result; + } +}; + +const J2C = { + // TODO: this doesn't seem right. SIZ marker doesn't have to be right after the SOC + validate: (input) => toHexString(input, 0, 4) === "ff4fff51", + calculate: (input) => ({ + height: readUInt32BE(input, 12), + width: readUInt32BE(input, 8) + }) +}; + +const BoxTypes = { + ftyp: "66747970", + ihdr: "69686472", + jp2h: "6a703268", + jp__: "6a502020", + rreq: "72726571", + xml_: "786d6c20" +}; +const calculateRREQLength = (box) => { + const unit = box[0]; + let offset = 1 + 2 * unit; + const numStdFlags = readUInt16BE(box, offset); + const flagsLength = numStdFlags * (2 + unit); + offset = offset + 2 + flagsLength; + const numVendorFeatures = readUInt16BE(box, offset); + const featuresLength = numVendorFeatures * (16 + unit); + return offset + 2 + featuresLength; +}; +const parseIHDR = (box) => { + return { + height: readUInt32BE(box, 4), + width: readUInt32BE(box, 8) + }; +}; +const JP2 = { + validate(input) { + const signature = toHexString(input, 4, 8); + const signatureLength = readUInt32BE(input, 0); + if (signature !== BoxTypes.jp__ || signatureLength < 1) { + return false; + } + const ftypeBoxStart = signatureLength + 4; + const ftypBoxLength = readUInt32BE(input, signatureLength); + const ftypBox = input.slice(ftypeBoxStart, ftypeBoxStart + ftypBoxLength); + return toHexString(ftypBox, 0, 4) === BoxTypes.ftyp; + }, + calculate(input) { + const signatureLength = readUInt32BE(input, 0); + const ftypBoxLength = readUInt16BE(input, signatureLength + 2); + let offset = signatureLength + 4 + ftypBoxLength; + const nextBoxType = toHexString(input, offset, offset + 4); + switch (nextBoxType) { + case BoxTypes.rreq: { + const MAGIC = 4; + offset = offset + 4 + MAGIC + calculateRREQLength(input.slice(offset + 4)); + return parseIHDR(input.slice(offset + 8, offset + 24)); + } + case BoxTypes.jp2h: { + return parseIHDR(input.slice(offset + 8, offset + 24)); + } + default: { + throw new TypeError( + "Unsupported header found: " + toUTF8String(input, offset, offset + 4) + ); + } + } + } +}; + +const EXIF_MARKER = "45786966"; +const APP1_DATA_SIZE_BYTES = 2; +const EXIF_HEADER_BYTES = 6; +const TIFF_BYTE_ALIGN_BYTES = 2; +const BIG_ENDIAN_BYTE_ALIGN = "4d4d"; +const LITTLE_ENDIAN_BYTE_ALIGN = "4949"; +const IDF_ENTRY_BYTES = 12; +const NUM_DIRECTORY_ENTRIES_BYTES = 2; +function isEXIF(input) { + return toHexString(input, 2, 6) === EXIF_MARKER; +} +function extractSize(input, index) { + return { + height: readUInt16BE(input, index), + width: readUInt16BE(input, index + 2) + }; +} +function extractOrientation(exifBlock, isBigEndian) { + const idfOffset = 8; + const offset = EXIF_HEADER_BYTES + idfOffset; + const idfDirectoryEntries = readUInt(exifBlock, 16, offset, isBigEndian); + for (let directoryEntryNumber = 0; directoryEntryNumber < idfDirectoryEntries; directoryEntryNumber++) { + const start = offset + NUM_DIRECTORY_ENTRIES_BYTES + directoryEntryNumber * IDF_ENTRY_BYTES; + const end = start + IDF_ENTRY_BYTES; + if (start > exifBlock.length) { + return; + } + const block = exifBlock.slice(start, end); + const tagNumber = readUInt(block, 16, 0, isBigEndian); + if (tagNumber === 274) { + const dataFormat = readUInt(block, 16, 2, isBigEndian); + if (dataFormat !== 3) { + return; + } + const numberOfComponents = readUInt(block, 32, 4, isBigEndian); + if (numberOfComponents !== 1) { + return; + } + return readUInt(block, 16, 8, isBigEndian); + } + } +} +function validateExifBlock(input, index) { + const exifBlock = input.slice(APP1_DATA_SIZE_BYTES, index); + const byteAlign = toHexString( + exifBlock, + EXIF_HEADER_BYTES, + EXIF_HEADER_BYTES + TIFF_BYTE_ALIGN_BYTES + ); + const isBigEndian = byteAlign === BIG_ENDIAN_BYTE_ALIGN; + const isLittleEndian = byteAlign === LITTLE_ENDIAN_BYTE_ALIGN; + if (isBigEndian || isLittleEndian) { + return extractOrientation(exifBlock, isBigEndian); + } +} +function validateInput(input, index) { + if (index > input.length) { + throw new TypeError("Corrupt JPG, exceeded buffer limits"); + } + if (input[index] !== 255) { + throw new TypeError("Invalid JPG, marker table corrupted"); + } +} +const JPG = { + validate: (input) => toHexString(input, 0, 2) === "ffd8", + calculate(input) { + input = input.slice(4); + let orientation; + let next; + while (input.length > 0) { + const i = readUInt16BE(input, 0); + if (isEXIF(input)) { + orientation = validateExifBlock(input, i); + } + validateInput(input, i); + next = input[i + 1]; + if (next === 192 || next === 193 || next === 194) { + const size = extractSize(input, i + 5); + if (!orientation) { + return size; + } + return { + height: size.height, + orientation, + width: size.width + }; + } + input = input.slice(i + 2); + } + throw new TypeError("Invalid JPG, no size found"); + } +}; + +const KTX = { + validate: (input) => toUTF8String(input, 1, 7) === "KTX 11", + calculate: (input) => ({ + height: readUInt32LE(input, 40), + width: readUInt32LE(input, 36) + }) +}; + +const pngSignature = "PNG\r\n\n"; +const pngImageHeaderChunkName = "IHDR"; +const pngFriedChunkName = "CgBI"; +const PNG = { + validate(input) { + if (pngSignature === toUTF8String(input, 1, 8)) { + let chunkName = toUTF8String(input, 12, 16); + if (chunkName === pngFriedChunkName) { + chunkName = toUTF8String(input, 28, 32); + } + if (chunkName !== pngImageHeaderChunkName) { + throw new TypeError("Invalid PNG"); + } + return true; + } + return false; + }, + calculate(input) { + if (toUTF8String(input, 12, 16) === pngFriedChunkName) { + return { + height: readUInt32BE(input, 36), + width: readUInt32BE(input, 32) + }; + } + return { + height: readUInt32BE(input, 20), + width: readUInt32BE(input, 16) + }; + } +}; + +const PNMTypes = { + P1: "pbm/ascii", + P2: "pgm/ascii", + P3: "ppm/ascii", + P4: "pbm", + P5: "pgm", + P6: "ppm", + P7: "pam", + PF: "pfm" +}; +const handlers = { + default: (lines) => { + let dimensions = []; + while (lines.length > 0) { + const line = lines.shift(); + if (line[0] === "#") { + continue; + } + dimensions = line.split(" "); + break; + } + if (dimensions.length === 2) { + return { + height: Number.parseInt(dimensions[1], 10), + width: Number.parseInt(dimensions[0], 10) + }; + } else { + throw new TypeError("Invalid PNM"); + } + }, + pam: (lines) => { + const size = {}; + while (lines.length > 0) { + const line = lines.shift(); + if (line.length > 16 || (line.codePointAt(0) || 0) > 128) { + continue; + } + const [key, value] = line.split(" "); + if (key && value) { + size[key.toLowerCase()] = Number.parseInt(value, 10); + } + if (size.height && size.width) { + break; + } + } + if (size.height && size.width) { + return { + height: size.height, + width: size.width + }; + } else { + throw new TypeError("Invalid PAM"); + } + } +}; +const PNM = { + validate: (input) => toUTF8String(input, 0, 2) in PNMTypes, + calculate(input) { + const signature = toUTF8String(input, 0, 2); + const type = PNMTypes[signature]; + const lines = toUTF8String(input, 3).split(/[\n\r]+/); + const handler = handlers[type] || handlers.default; + return handler(lines); + } +}; + +const PSD = { + validate: (input) => toUTF8String(input, 0, 4) === "8BPS", + calculate: (input) => ({ + height: readUInt32BE(input, 14), + width: readUInt32BE(input, 18) + }) +}; + +const svgReg = /<svg\s([^"'>]|"[^"]*"|'[^']*')*>/; +const extractorRegExps = { + height: /\sheight=(["'])([^%]+?)\1/, + root: svgReg, + viewbox: /\sviewbox=(["'])(.+?)\1/i, + width: /\swidth=(["'])([^%]+?)\1/ +}; +const INCH_CM = 2.54; +const units = { + in: 96, + cm: 96 / INCH_CM, + em: 16, + ex: 8, + m: 96 / INCH_CM * 100, + mm: 96 / INCH_CM / 10, + pc: 96 / 72 / 12, + pt: 96 / 72, + px: 1 +}; +const unitsReg = new RegExp( + `^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join("|")})?$` +); +function parseLength(len) { + const m = unitsReg.exec(len); + if (!m) { + return void 0; + } + return Math.round(Number(m[1]) * (units[m[2]] || 1)); +} +function parseViewbox(viewbox) { + const bounds = viewbox.split(" "); + return { + height: parseLength(bounds[3]), + width: parseLength(bounds[2]) + }; +} +function parseAttributes(root) { + const width = root.match(extractorRegExps.width); + const height = root.match(extractorRegExps.height); + const viewbox = root.match(extractorRegExps.viewbox); + return { + height: height && parseLength(height[2]), + viewbox: viewbox && parseViewbox(viewbox[2]), + width: width && parseLength(width[2]) + }; +} +function calculateByDimensions(attrs) { + return { + height: attrs.height, + width: attrs.width + }; +} +function calculateByViewbox(attrs, viewbox) { + const ratio = viewbox.width / viewbox.height; + if (attrs.width) { + return { + height: Math.floor(attrs.width / ratio), + width: attrs.width + }; + } + if (attrs.height) { + return { + height: attrs.height, + width: Math.floor(attrs.height * ratio) + }; + } + return { + height: viewbox.height, + width: viewbox.width + }; +} +const SVG = { + // Scan only the first kilo-byte to speed up the check on larger files + validate: (input) => svgReg.test(toUTF8String(input, 0, 1e3)), + calculate(input) { + const root = toUTF8String(input).match(extractorRegExps.root); + if (root) { + const attrs = parseAttributes(root[0]); + if (attrs.width && attrs.height) { + return calculateByDimensions(attrs); + } + if (attrs.viewbox) { + return calculateByViewbox(attrs, attrs.viewbox); + } + } + throw new TypeError("Invalid SVG"); + } +}; + +const TGA = { + validate(input) { + return readUInt16LE(input, 0) === 0 && readUInt16LE(input, 4) === 0; + }, + calculate(input) { + return { + height: readUInt16LE(input, 14), + width: readUInt16LE(input, 12) + }; + } +}; + +function readIFD(buffer, isBigEndian) { + const ifdOffset = readUInt(buffer, 32, 4, isBigEndian); + let bufferSize = 1024; + const fileSize = buffer.length; + if (ifdOffset + bufferSize > fileSize) { + bufferSize = fileSize - ifdOffset - 10; + } + return buffer.slice(ifdOffset + 2, ifdOffset + 2 + bufferSize); +} +function readValue(buffer, isBigEndian) { + const low = readUInt(buffer, 16, 8, isBigEndian); + const high = readUInt(buffer, 16, 10, isBigEndian); + return (high << 16) + low; +} +function nextTag(buffer) { + if (buffer.length > 24) { + return buffer.slice(12); + } +} +function extractTags(buffer, isBigEndian) { + const tags = {}; + let temp = buffer; + while (temp && temp.length > 0) { + const code = readUInt(temp, 16, 0, isBigEndian); + const type = readUInt(temp, 16, 2, isBigEndian); + const length = readUInt(temp, 32, 4, isBigEndian); + if (code === 0) { + break; + } else { + if (length === 1 && (type === 3 || type === 4)) { + tags[code] = readValue(temp, isBigEndian); + } + temp = nextTag(temp); + } + } + return tags; +} +function determineEndianness(input) { + const signature = toUTF8String(input, 0, 2); + if (signature === "II") { + return "LE"; + } else if (signature === "MM") { + return "BE"; + } +} +const signatures = /* @__PURE__ */ new Set([ + // '492049', // currently not supported + "49492a00", + // Little endian + "4d4d002a" + // Big Endian + // '4d4d002a', // BigTIFF > 4GB. currently not supported +]); +const TIFF = { + validate: (input) => signatures.has(toHexString(input, 0, 4)), + calculate(input) { + const isBigEndian = determineEndianness(input) === "BE"; + const ifdBuffer = readIFD(input, isBigEndian); + const tags = extractTags(ifdBuffer, isBigEndian); + const width = tags[256]; + const height = tags[257]; + if (!width || !height) { + throw new TypeError("Invalid Tiff. Missing tags"); + } + return { height, width }; + } +}; + +function calculateExtended(input) { + return { + height: 1 + readUInt24LE(input, 7), + width: 1 + readUInt24LE(input, 4) + }; +} +function calculateLossless(input) { + return { + height: 1 + ((input[4] & 15) << 10 | input[3] << 2 | (input[2] & 192) >> 6), + width: 1 + ((input[2] & 63) << 8 | input[1]) + }; +} +function calculateLossy(input) { + return { + height: readInt16LE(input, 8) & 16383, + width: readInt16LE(input, 6) & 16383 + }; +} +const WEBP = { + validate(input) { + const riffHeader = toUTF8String(input, 0, 4) === "RIFF"; + const webpHeader = toUTF8String(input, 8, 12) === "WEBP"; + const vp8Header = toUTF8String(input, 12, 15) === "VP8"; + return riffHeader && webpHeader && vp8Header; + }, + calculate(input) { + const chunkHeader = toUTF8String(input, 12, 16); + input = input.slice(20, 30); + if (chunkHeader === "VP8X") { + const extendedHeader = input[0]; + const validStart = (extendedHeader & 192) === 0; + const validEnd = (extendedHeader & 1) === 0; + if (validStart && validEnd) { + return calculateExtended(input); + } else { + throw new TypeError("Invalid WebP"); + } + } + if (chunkHeader === "VP8 " && input[0] !== 47) { + return calculateLossy(input); + } + const signature = toHexString(input, 3, 6); + if (chunkHeader === "VP8L" && signature !== "9d012a") { + return calculateLossless(input); + } + throw new TypeError("Invalid WebP"); + } +}; + +const AVIF = { + validate: (input) => toUTF8String(input, 8, 12) === "avif", + calculate: (input) => { + const metaBox = findBox(input, "meta"); + const iprpBox = findBox( + input, + "iprp", + metaBox.offset + 12, + metaBox.offset + metaBox.size + ); + const ipcoBox = findBox( + input, + "ipco", + iprpBox.offset + 8, + iprpBox.offset + iprpBox.size + ); + const ispeBox = findBox( + input, + "ispe", + ipcoBox.offset + 8, + ipcoBox.offset + ipcoBox.size + ); + const width = readUInt32BE(input, ispeBox.offset + 12); + const height = readUInt32BE(input, ispeBox.offset + 16); + return { width, height }; + } +}; +function findBox(input, type, startOffset = 0, endOffset = input.length) { + for (let offset = startOffset; offset < endOffset; ) { + const size = readUInt32BE(input, offset); + const boxType = toUTF8String(input, offset + 4, offset + 8); + if (boxType === type) { + return { offset, size }; + } + if (size <= 0 || offset + size > endOffset) { + break; + } + offset += size; + } + throw new Error(`${type} box not found`); +} + +const typeHandlers = { + bmp: BMP, + cur: CUR, + dds: DDS, + gif: GIF, + icns: ICNS, + ico: ICO, + j2c: J2C, + jp2: JP2, + jpg: JPG, + ktx: KTX, + png: PNG, + pnm: PNM, + psd: PSD, + svg: SVG, + tga: TGA, + tiff: TIFF, + webp: WEBP, + avif: AVIF +}; + +const keys = Object.keys(typeHandlers); +const firstBytes = { + 56: "psd", + 66: "bmp", + 68: "dds", + 71: "gif", + 73: "tiff", + 77: "tiff", + 82: "webp", + 105: "icns", + 137: "png", + 255: "jpg" +}; +function detector(input) { + const byte = input[0]; + if (byte in firstBytes) { + const type = firstBytes[byte]; + if (type && typeHandlers[type].validate(input)) { + return type; + } + } + return keys.find((key) => typeHandlers[key].validate(input)); +} + +function imageMeta(input) { + if (!(input instanceof Uint8Array)) { + throw new TypeError("Input should be a Uint8Array"); + } + const type = detector(input); + if (type !== void 0 && type in typeHandlers) { + const size = typeHandlers[type].calculate(input); + if (size !== void 0) { + size.type = type; + return size; + } + } + throw new TypeError(`Unsupported file type: ${type}`); +} + +export { imageMeta }; diff --git a/.output/server/node_modules/image-meta/package.json b/.output/server/node_modules/image-meta/package.json new file mode 100644 index 00000000..1d3c9cfa --- /dev/null +++ b/.output/server/node_modules/image-meta/package.json @@ -0,0 +1,46 @@ +{ + "name": "image-meta", + "version": "0.2.1", + "description": "Detect image type and size using pure javascript", + "repository": "unjs/image-meta", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest dev", + "play": "jiti playground", + "lint": "eslint --cache . && prettier -c src test", + "lint:fix": "eslint --cache . --fix && prettier -c src test -w", + "prepack": "pnpm run build", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && pnpm test:types && vitest run --coverage", + "test:types": "tsc --noEmit --skipLibCheck" + }, + "devDependencies": { + "@types/node": "^20.14.9", + "@vitest/coverage-v8": "^1.6.0", + "changelogen": "^0.5.5", + "eslint": "^9.6.0", + "eslint-config-unjs": "^0.3.2", + "jiti": "^1.21.6", + "prettier": "^3.3.2", + "typescript": "^5.5.3", + "unbuild": "^2.0.0", + "vitest": "^1.6.0" + }, + "packageManager": "pnpm@9.4.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/ipx/dist/index.mjs b/.output/server/node_modules/ipx/dist/index.mjs new file mode 100644 index 00000000..d8f8409e --- /dev/null +++ b/.output/server/node_modules/ipx/dist/index.mjs @@ -0,0 +1,52 @@ +export { c as createIPX, b as createIPXH3App, a as createIPXH3Handler, e as createIPXNodeServer, f as createIPXPlainServer, d as createIPXWebServer, g as ipxFSStorage, i as ipxHttpStorage } from './shared/ipx.e4d5b25d.mjs'; +import { createError } from 'h3'; +import 'defu'; +import 'ufo'; +import 'image-meta'; +import 'destr'; +import '@fastify/accept-negotiator'; +import 'etag'; +import 'ofetch'; +import 'pathe'; + +function unstorageToIPXStorage(storage, _options = {}) { + const options = typeof _options === "string" ? { prefix: _options } : _options; + const resolveKey = (id) => options.prefix ? `${options.prefix}:${id}` : id; + return { + name: "ipx:" + (storage.name || "unstorage"), + async getMeta(id, opts = {}) { + if (!storage.getMeta) { + return; + } + const storageKey = resolveKey(id); + const meta = await storage.getMeta(storageKey, opts); + return meta; + }, + async getData(id, opts = {}) { + if (!storage.getItemRaw) { + return; + } + const storageKey = resolveKey(id); + let data = await storage.getItemRaw(storageKey, opts); + if (!data) { + return; + } + if (data instanceof Blob) { + data = await data.arrayBuffer(); + } + try { + return Buffer.from(data); + } catch (error) { + throw createError({ + statusCode: 500, + statusText: `IPX_STORAGE_ERROR`, + message: `Failed to parse storage data to Buffer: +${error.message}`, + cause: error + }); + } + } + }; +} + +export { unstorageToIPXStorage }; diff --git a/.output/server/node_modules/ipx/dist/shared/ipx.e4d5b25d.mjs b/.output/server/node_modules/ipx/dist/shared/ipx.e4d5b25d.mjs new file mode 100644 index 00000000..027f7292 --- /dev/null +++ b/.output/server/node_modules/ipx/dist/shared/ipx.e4d5b25d.mjs @@ -0,0 +1,761 @@ +import { defu } from 'defu'; +import { withLeadingSlash, hasProtocol, joinURL, decode } from 'ufo'; +import { createError, defineEventHandler, setResponseStatus, createApp, toWebHandler, toNodeListener, toPlainHandler, getRequestHeader, appendResponseHeader, send, getResponseHeader, setResponseHeader } from 'h3'; +import { imageMeta } from 'image-meta'; +import destr from 'destr'; +import { negotiate } from '@fastify/accept-negotiator'; +import getEtag from 'etag'; +import { ofetch } from 'ofetch'; +import { resolve, join, parse } from 'pathe'; + +const Handlers = { + __proto__: null, + get b () { return b; }, + get background () { return background; }, + get blur () { return blur; }, + get crop () { return crop; }, + get enlarge () { return enlarge; }, + get extend () { return extend; }, + get extract () { return extract; }, + get fit () { return fit; }, + get flatten () { return flatten; }, + get flip () { return flip; }, + get flop () { return flop; }, + get gamma () { return gamma; }, + get grayscale () { return grayscale; }, + get h () { return h; }, + get height () { return height; }, + get kernel () { return kernel; }, + get median () { return median; }, + get modulate () { return modulate; }, + get negate () { return negate; }, + get normalize () { return normalize; }, + get pos () { return pos; }, + get position () { return position; }, + get q () { return q; }, + get quality () { return quality; }, + get resize () { return resize; }, + get rotate () { return rotate; }, + get s () { return s; }, + get sharpen () { return sharpen; }, + get threshold () { return threshold; }, + get tint () { return tint; }, + get trim () { return trim; }, + get w () { return w; }, + get width () { return width; } +}; + +function VArg(argument) { + return destr(argument); +} +function parseArgs(arguments_, mappers) { + const vargs = arguments_.split("_"); + return mappers.map((v, index) => v(vargs[index])); +} +function getHandler(key) { + return Handlers[key]; +} +function applyHandler(context, pipe, handler, argumentsString) { + const arguments_ = handler.args ? parseArgs(argumentsString, handler.args) : []; + return handler.apply(context, pipe, ...arguments_); +} +function clampDimensionsPreservingAspectRatio(sourceDimensions, desiredDimensions) { + const desiredAspectRatio = desiredDimensions.width / desiredDimensions.height; + let { width, height } = desiredDimensions; + if (sourceDimensions.width && width > sourceDimensions.width) { + width = sourceDimensions.width; + height = Math.round(sourceDimensions.width / desiredAspectRatio); + } + if (sourceDimensions.height && height > sourceDimensions.height) { + height = sourceDimensions.height; + width = Math.round(sourceDimensions.height * desiredAspectRatio); + } + return { width, height }; +} + +const quality = { + args: [VArg], + order: -1, + apply: (context, _pipe, quality2) => { + context.quality = quality2; + } +}; +const fit = { + args: [VArg], + order: -1, + apply: (context, _pipe, fit2) => { + context.fit = fit2; + } +}; +const position = { + args: [VArg], + order: -1, + apply: (context, _pipe, position2) => { + context.position = position2; + } +}; +const HEX_RE = /^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i; +const SHORTHEX_RE = /^([\da-f])([\da-f])([\da-f])$/i; +const background = { + args: [VArg], + order: -1, + apply: (context, _pipe, background2) => { + background2 = String(background2); + if (!background2.startsWith("#") && (HEX_RE.test(background2) || SHORTHEX_RE.test(background2))) { + background2 = "#" + background2; + } + context.background = background2; + } +}; +const enlarge = { + args: [], + apply: (context) => { + context.enlarge = true; + } +}; +const kernel = { + args: [VArg], + apply: (context, _pipe, kernel2) => { + context.kernel = kernel2; + } +}; +const width = { + args: [VArg], + apply: (context, pipe, width2) => { + return pipe.resize(width2, void 0, { + withoutEnlargement: !context.enlarge + }); + } +}; +const height = { + args: [VArg], + apply: (context, pipe, height2) => { + return pipe.resize(void 0, height2, { + withoutEnlargement: !context.enlarge + }); + } +}; +const resize = { + args: [VArg, VArg, VArg], + apply: (context, pipe, size) => { + let [width2, height2] = String(size).split("x").map(Number); + if (!width2) { + return; + } + if (!height2) { + height2 = width2; + } + if (!context.enlarge) { + const clamped = clampDimensionsPreservingAspectRatio(context.meta, { + width: width2, + height: height2 + }); + width2 = clamped.width; + height2 = clamped.height; + } + return pipe.resize(width2, height2, { + fit: context.fit, + position: context.position, + background: context.background, + kernel: context.kernel + }); + } +}; +const trim = { + args: [VArg], + apply: (_context, pipe, threshold2) => { + return pipe.trim(threshold2); + } +}; +const extend = { + args: [VArg, VArg, VArg, VArg], + apply: (context, pipe, top, right, bottom, left) => { + return pipe.extend({ + top, + left, + bottom, + right, + background: context.background + }); + } +}; +const extract = { + args: [VArg, VArg, VArg, VArg], + apply: (_context, pipe, left, top, width2, height2) => { + return pipe.extract({ + left, + top, + width: width2, + height: height2 + }); + } +}; +const rotate = { + args: [VArg], + apply: (context, pipe, angel) => { + return pipe.rotate(angel, { + background: context.background + }); + } +}; +const flip = { + args: [], + apply: (_context, pipe) => { + return pipe.flip(); + } +}; +const flop = { + args: [], + apply: (_context, pipe) => { + return pipe.flop(); + } +}; +const sharpen = { + args: [VArg, VArg, VArg], + apply: (_context, pipe, sigma, flat, jagged) => { + return pipe.sharpen(sigma, flat, jagged); + } +}; +const median = { + args: [VArg, VArg, VArg], + apply: (_context, pipe, size) => { + return pipe.median(size); + } +}; +const blur = { + args: [VArg, VArg, VArg], + apply: (_context, pipe, sigma) => { + return pipe.blur(sigma); + } +}; +const flatten = { + args: [VArg, VArg, VArg], + apply: (context, pipe) => { + return pipe.flatten({ + background: context.background + }); + } +}; +const gamma = { + args: [VArg, VArg, VArg], + apply: (_context, pipe, gamma2, gammaOut) => { + return pipe.gamma(gamma2, gammaOut); + } +}; +const negate = { + args: [VArg, VArg, VArg], + apply: (_context, pipe) => { + return pipe.negate(); + } +}; +const normalize = { + args: [VArg, VArg, VArg], + apply: (_context, pipe) => { + return pipe.normalize(); + } +}; +const threshold = { + args: [VArg], + apply: (_context, pipe, threshold2) => { + return pipe.threshold(threshold2); + } +}; +const modulate = { + args: [VArg], + apply: (_context, pipe, brightness, saturation, hue) => { + return pipe.modulate({ + brightness, + saturation, + hue + }); + } +}; +const tint = { + args: [VArg], + apply: (_context, pipe, rgb) => { + return pipe.tint(rgb); + } +}; +const grayscale = { + args: [VArg], + apply: (_context, pipe) => { + return pipe.grayscale(); + } +}; +const crop = extract; +const q = quality; +const b = background; +const w = width; +const h = height; +const s = resize; +const pos = position; + +function getEnv(name) { + return name in process.env ? destr(process.env[name]) : void 0; +} +function cachedPromise(function_) { + let p; + return (...arguments_) => { + if (p) { + return p; + } + p = Promise.resolve(function_(...arguments_)); + return p; + }; +} + +const SUPPORTED_FORMATS = /* @__PURE__ */ new Set([ + "jpeg", + "png", + "webp", + "avif", + "tiff", + "heif", + "gif", + "heic" +]); +function createIPX(userOptions) { + const options = defu(userOptions, { + alias: getEnv("IPX_ALIAS") || {}, + maxAge: getEnv("IPX_MAX_AGE") ?? 60, + sharpOptions: { + jpegProgressive: true + } + }); + options.alias = Object.fromEntries( + Object.entries(options.alias || {}).map((e) => [ + withLeadingSlash(e[0]), + e[1] + ]) + ); + const getSharp = cachedPromise(async () => { + return await import('sharp').then( + (r) => r.default || r + ); + }); + const getSVGO = cachedPromise(async () => { + const { optimize } = await import('svgo'); + return { optimize }; + }); + return function ipx(id, modifiers = {}, opts = {}) { + if (!id) { + throw createError({ + statusCode: 400, + statusText: `IPX_MISSING_ID`, + message: `Resource id is missing` + }); + } + id = hasProtocol(id) ? id : withLeadingSlash(id); + for (const base in options.alias) { + if (id.startsWith(base)) { + id = joinURL(options.alias[base], id.slice(base.length)); + } + } + const storage = hasProtocol(id) ? options.httpStorage || options.storage : options.storage || options.httpStorage; + if (!storage) { + throw createError({ + statusCode: 500, + statusText: `IPX_NO_STORAGE`, + message: "No storage configured!" + }); + } + const getSourceMeta = cachedPromise(async () => { + const sourceMeta = await storage.getMeta(id, opts); + if (!sourceMeta) { + throw createError({ + statusCode: 404, + statusText: `IPX_RESOURCE_NOT_FOUND`, + message: `Resource not found: ${id}` + }); + } + const _maxAge = sourceMeta.maxAge ?? options.maxAge; + return { + maxAge: typeof _maxAge === "string" ? Number.parseInt(_maxAge) : _maxAge, + mtime: sourceMeta.mtime ? new Date(sourceMeta.mtime) : void 0 + }; + }); + const getSourceData = cachedPromise(async () => { + const sourceData = await storage.getData(id, opts); + if (!sourceData) { + throw createError({ + statusCode: 404, + statusText: `IPX_RESOURCE_NOT_FOUND`, + message: `Resource not found: ${id}` + }); + } + return Buffer.from(sourceData); + }); + const process = cachedPromise(async () => { + const sourceData = await getSourceData(); + let imageMeta$1; + try { + imageMeta$1 = imageMeta(sourceData); + } catch { + throw createError({ + statusCode: 400, + statusText: `IPX_INVALID_IMAGE`, + message: `Cannot parse image metadata: ${id}` + }); + } + let mFormat = modifiers.f || modifiers.format; + if (mFormat === "jpg") { + mFormat = "jpeg"; + } + const format = mFormat && SUPPORTED_FORMATS.has(mFormat) ? mFormat : SUPPORTED_FORMATS.has(imageMeta$1.type || "") ? imageMeta$1.type : "jpeg"; + if (imageMeta$1.type === "svg" && !mFormat) { + if (options.svgo === false) { + return { + data: sourceData, + format: "svg+xml", + meta: imageMeta$1 + }; + } else { + const { optimize } = await getSVGO(); + const svg = optimize(sourceData.toString("utf8"), { + ...options.svgo, + plugins: ["removeScriptElement", ...options.svgo?.plugins || []] + }).data; + return { + data: svg, + format: "svg+xml", + meta: imageMeta$1 + }; + } + } + const animated = modifiers.animated !== void 0 || modifiers.a !== void 0 || format === "gif"; + const Sharp = await getSharp(); + let sharp = Sharp(sourceData, { animated, ...options.sharpOptions }); + Object.assign( + sharp.options, + options.sharpOptions + ); + const handlers = Object.entries(modifiers).map(([name, arguments_]) => ({ + handler: getHandler(name), + name, + args: arguments_ + })).filter((h) => h.handler).sort((a, b) => { + const aKey = (a.handler.order || a.name || "").toString(); + const bKey = (b.handler.order || b.name || "").toString(); + return aKey.localeCompare(bKey); + }); + const handlerContext = { meta: imageMeta$1 }; + for (const h of handlers) { + sharp = applyHandler(handlerContext, sharp, h.handler, h.args) || sharp; + } + if (SUPPORTED_FORMATS.has(format || "")) { + sharp = sharp.toFormat(format, { + quality: handlerContext.quality + }); + } + const processedImage = await sharp.toBuffer(); + return { + data: processedImage, + format, + meta: imageMeta$1 + }; + }); + return { + getSourceMeta, + process + }; + }; +} + +const MODIFIER_SEP = /[&,]/g; +const MODIFIER_VAL_SEP = /[:=_]/; +function createIPXH3Handler(ipx) { + const _handler = async (event) => { + const [modifiersString = "", ...idSegments] = event.path.slice( + 1 + /* leading slash */ + ).split("/"); + const id = safeString(decode(idSegments.join("/"))); + if (!modifiersString) { + throw createError({ + statusCode: 400, + statusText: `IPX_MISSING_MODIFIERS`, + message: `Modifiers are missing: ${id}` + }); + } + if (!id || id === "/") { + throw createError({ + statusCode: 400, + statusText: `IPX_MISSING_ID`, + message: `Resource id is missing: ${event.path}` + }); + } + const modifiers = /* @__PURE__ */ Object.create(null); + if (modifiersString !== "_") { + for (const p of modifiersString.split(MODIFIER_SEP)) { + const [key, ...values] = p.split(MODIFIER_VAL_SEP); + modifiers[safeString(key)] = values.map((v) => safeString(decode(v))).join("_"); + } + } + const mFormat = modifiers.f || modifiers.format; + if (mFormat === "auto") { + const acceptHeader = getRequestHeader(event, "accept") || ""; + const autoFormat = autoDetectFormat( + acceptHeader, + !!(modifiers.a || modifiers.animated) + ); + delete modifiers.f; + delete modifiers.format; + if (autoFormat) { + modifiers.format = autoFormat; + appendResponseHeader(event, "vary", "Accept"); + } + } + const img = ipx(id, modifiers); + const sourceMeta = await img.getSourceMeta(); + sendResponseHeaderIfNotSet( + event, + "content-security-policy", + "default-src 'none'" + ); + if (sourceMeta.mtime) { + sendResponseHeaderIfNotSet( + event, + "last-modified", + sourceMeta.mtime.toUTCString() + ); + const _ifModifiedSince = getRequestHeader(event, "if-modified-since"); + if (_ifModifiedSince && new Date(_ifModifiedSince) >= sourceMeta.mtime) { + setResponseStatus(event, 304); + return send(event); + } + } + const { data, format } = await img.process(); + if (typeof sourceMeta.maxAge === "number") { + sendResponseHeaderIfNotSet( + event, + "cache-control", + `max-age=${+sourceMeta.maxAge}, public, s-maxage=${+sourceMeta.maxAge}` + ); + } + const etag = getEtag(data); + sendResponseHeaderIfNotSet(event, "etag", etag); + if (etag && getRequestHeader(event, "if-none-match") === etag) { + setResponseStatus(event, 304); + return send(event); + } + if (format) { + sendResponseHeaderIfNotSet(event, "content-type", `image/${format}`); + } + return data; + }; + return defineEventHandler(async (event) => { + try { + return await _handler(event); + } catch (_error) { + const error = createError(_error); + setResponseStatus(event, error.statusCode, error.statusMessage); + return { + error: { + message: `[${error.statusCode}] [${error.statusMessage || "IPX_ERROR"}] ${error.message}` + } + }; + } + }); +} +function createIPXH3App(ipx) { + const app = createApp({ debug: true }); + app.use(createIPXH3Handler(ipx)); + return app; +} +function createIPXWebServer(ipx) { + return toWebHandler(createIPXH3App(ipx)); +} +function createIPXNodeServer(ipx) { + return toNodeListener(createIPXH3App(ipx)); +} +function createIPXPlainServer(ipx) { + return toPlainHandler(createIPXH3App(ipx)); +} +function sendResponseHeaderIfNotSet(event, name, value) { + if (!getResponseHeader(event, name)) { + setResponseHeader(event, name, value); + } +} +function autoDetectFormat(acceptHeader, animated) { + if (animated) { + const acceptMime2 = negotiate(acceptHeader, ["image/webp", "image/gif"]); + return acceptMime2?.split("/")[1] || "gif"; + } + const acceptMime = negotiate(acceptHeader, [ + "image/avif", + "image/webp", + "image/jpeg", + "image/png", + "image/tiff", + "image/heif", + "image/gif" + ]); + return acceptMime?.split("/")[1] || "jpeg"; +} +function safeString(input) { + return JSON.stringify(input).replace(/^"|"$/g, "").replace(/\\+/g, "\\").replace(/\\"/g, '"'); +} + +const HTTP_RE = /^https?:\/\//; +function ipxHttpStorage(_options = {}) { + const allowAllDomains = _options.allowAllDomains ?? getEnv("IPX_HTTP_ALLOW_ALL_DOMAINS") ?? false; + let _domains = _options.domains || getEnv("IPX_HTTP_DOMAINS") || []; + const defaultMaxAge = _options.maxAge || getEnv("IPX_HTTP_MAX_AGE") || 300; + const fetchOptions = _options.fetchOptions || getEnv("IPX_HTTP_FETCH_OPTIONS") || {}; + if (typeof _domains === "string") { + _domains = _domains.split(",").map((s) => s.trim()); + } + const domains = new Set( + _domains.map((d) => { + if (!HTTP_RE.test(d)) { + d = "http://" + d; + } + return new URL(d).hostname; + }).filter(Boolean) + ); + function validateId(id) { + const url = new URL(decodeURIComponent(id)); + if (!url.hostname) { + throw createError({ + statusCode: 403, + statusText: `IPX_MISSING_HOSTNAME`, + message: `Hostname is missing: ${id}` + }); + } + if (!allowAllDomains && !domains.has(url.hostname)) { + throw createError({ + statusCode: 403, + statusText: `IPX_FORBIDDEN_HOST`, + message: `Forbidden host: ${url.hostname}` + }); + } + return url.toString(); + } + function parseResponse(response) { + let maxAge = defaultMaxAge; + if (_options.ignoreCacheControl) { + const _cacheControl = response.headers.get("cache-control"); + if (_cacheControl) { + const m = _cacheControl.match(/max-age=(\d+)/); + if (m && m[1]) { + maxAge = Number.parseInt(m[1]); + } + } + } + let mtime; + const _lastModified = response.headers.get("last-modified"); + if (_lastModified) { + mtime = new Date(_lastModified); + } + return { maxAge, mtime }; + } + return { + name: "ipx:http", + async getMeta(id) { + const url = validateId(id); + try { + const response = await ofetch.raw(url, { + ...fetchOptions, + method: "HEAD" + }); + const { maxAge, mtime } = parseResponse(response); + return { mtime, maxAge }; + } catch { + return {}; + } + }, + async getData(id) { + const url = validateId(id); + const response = await ofetch(url, { + ...fetchOptions, + method: "GET", + responseType: "arrayBuffer" + }); + return response; + } + }; +} + +function ipxFSStorage(_options = {}) { + const dirs = resolveDirs(_options.dir); + const maxAge = _options.maxAge || getEnv("IPX_FS_MAX_AGE"); + const _getFS = cachedPromise( + () => import('node:fs/promises').catch(() => { + throw createError({ + statusCode: 500, + statusText: `IPX_FILESYSTEM_ERROR`, + message: `Failed to resolve filesystem module` + }); + }) + ); + const resolveFile = async (id) => { + const fs = await _getFS(); + for (const dir of dirs) { + const filePath = join(dir, id); + if (!isValidPath(filePath) || !filePath.startsWith(dir + "/")) { + throw createError({ + statusCode: 403, + statusText: `IPX_FORBIDDEN_PATH`, + message: `Forbidden path: ${id}` + }); + } + try { + const stats = await fs.stat(filePath); + if (!stats.isFile()) { + continue; + } + return { + stats, + read: () => fs.readFile(filePath) + }; + } catch (error) { + if (error.code === "ENOENT") { + continue; + } + throw createError({ + statusCode: 403, + statusText: `IPX_FORBIDDEN_FILE`, + message: `Cannot access file: ${id}` + }); + } + } + throw createError({ + statusCode: 404, + statusText: `IPX_FILE_NOT_FOUND`, + message: `File not found: ${id}` + }); + }; + return { + name: "ipx:node-fs", + async getMeta(id) { + const { stats } = await resolveFile(id); + return { + mtime: stats.mtime, + maxAge + }; + }, + async getData(id) { + const { read } = await resolveFile(id); + return read(); + } + }; +} +const isWindows = process.platform === "win32"; +function isValidPath(fp) { + if (isWindows) { + fp = fp.slice(parse(fp).root.length); + } + if (/["*:<>?|]/.test(fp)) { + return false; + } + return true; +} +function resolveDirs(dirs) { + if (!dirs || !Array.isArray(dirs)) { + const dir = resolve(dirs || getEnv("IPX_FS_DIR") || "."); + return [dir]; + } + return dirs.map((dirs2) => resolve(dirs2)); +} + +export { createIPXH3Handler as a, createIPXH3App as b, createIPX as c, createIPXWebServer as d, createIPXNodeServer as e, createIPXPlainServer as f, ipxFSStorage as g, ipxHttpStorage as i }; diff --git a/.output/server/node_modules/ipx/package.json b/.output/server/node_modules/ipx/package.json new file mode 100644 index 00000000..554a76d8 --- /dev/null +++ b/.output/server/node_modules/ipx/package.json @@ -0,0 +1,72 @@ +{ + "name": "ipx", + "version": "2.1.1", + "repository": "unjs/ipx", + "description": "High performance, secure and easy-to-use image optimizer.", + "license": "MIT", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "bin": "./bin/ipx.mjs", + "files": [ + "dist", + "bin" + ], + "scripts": { + "build": "unbuild", + "dev": "listhen -w playground", + "ipx": "jiti ./src/cli.ts", + "lint": "eslint --ext .ts . && prettier -c src test", + "lint:fix": "eslint --ext .ts . --fix && prettier -w src test", + "prepack": "pnpm build", + "release": "pnpm test && changelogen --release --push && npm publish", + "prerelease": "pnpm test && pnpm build && changelogen --release --prerelease --push --publish --publishTag next-2", + "start": "node bin/ipx.js", + "test": "pnpm lint && vitest run --coverage" + }, + "dependencies": { + "@fastify/accept-negotiator": "^1.1.0", + "citty": "^0.1.5", + "consola": "^3.2.3", + "defu": "^6.1.4", + "destr": "^2.0.2", + "etag": "^1.8.1", + "h3": "^1.10.0", + "image-meta": "^0.2.0", + "listhen": "^1.5.6", + "ofetch": "^1.3.3", + "pathe": "^1.1.2", + "sharp": "^0.32.6", + "svgo": "^3.2.0", + "ufo": "^1.3.2", + "unstorage": "^1.10.1", + "xss": "^1.0.14" + }, + "devDependencies": { + "@types/etag": "^1.8.3", + "@types/is-valid-path": "^0.1.2", + "@vitest/coverage-v8": "^1.1.3", + "changelogen": "^0.5.5", + "eslint": "^8.56.0", + "eslint-config-unjs": "^0.2.1", + "jiti": "^1.21.0", + "prettier": "^3.1.1", + "serve-handler": "^6.1.5", + "typescript": "^5.3.3", + "unbuild": "^2.0.0", + "vitest": "^1.1.3" + }, + "packageManager": "pnpm@8.10.5" +} \ No newline at end of file diff --git a/.output/server/node_modules/iron-webcrypto/dist/index.js b/.output/server/node_modules/iron-webcrypto/dist/index.js new file mode 100644 index 00000000..031a23e8 --- /dev/null +++ b/.output/server/node_modules/iron-webcrypto/dist/index.js @@ -0,0 +1,298 @@ +// src/utils.ts +var alphabetByEncoding = {}; +var alphabetByValue = Array.from({ length: 64 }); +for (let i = 0, start = "A".charCodeAt(0), limit = "Z".charCodeAt(0); i + start <= limit; i++) { + const char = String.fromCharCode(i + start); + alphabetByEncoding[char] = i; + alphabetByValue[i] = char; +} +for (let i = 0, start = "a".charCodeAt(0), limit = "z".charCodeAt(0); i + start <= limit; i++) { + const char = String.fromCharCode(i + start); + const index = i + 26; + alphabetByEncoding[char] = index; + alphabetByValue[index] = char; +} +for (let i = 0; i < 10; i++) { + alphabetByEncoding[i.toString(10)] = i + 52; + const char = i.toString(10); + const index = i + 52; + alphabetByEncoding[char] = index; + alphabetByValue[index] = char; +} +alphabetByEncoding["-"] = 62; +alphabetByValue[62] = "-"; +alphabetByEncoding["_"] = 63; +alphabetByValue[63] = "_"; +var bitsPerLetter = 6; +var bitsPerByte = 8; +var maxLetterValue = 63; +var stringToBuffer = (value) => { + return new TextEncoder().encode(value); +}; +var bufferToString = (value) => { + return new TextDecoder().decode(value); +}; +var base64urlDecode = (_input) => { + const input = _input + "=".repeat((4 - _input.length % 4) % 4); + let totalByteLength = input.length / 4 * 3; + if (input.endsWith("==")) { + totalByteLength -= 2; + } else if (input.endsWith("=")) { + totalByteLength--; + } + const out = new ArrayBuffer(totalByteLength); + const dataView = new DataView(out); + for (let i = 0; i < input.length; i += 4) { + let bits = 0; + let bitLength = 0; + for (let j = i, limit = i + 3; j <= limit; j++) { + if (input[j] === "=") { + bits >>= bitsPerLetter; + } else { + if (!(input[j] in alphabetByEncoding)) { + throw new TypeError(`Invalid character ${input[j]} in base64 string.`); + } + bits |= alphabetByEncoding[input[j]] << (limit - j) * bitsPerLetter; + bitLength += bitsPerLetter; + } + } + const chunkOffset = i / 4 * 3; + bits >>= bitLength % bitsPerByte; + const byteLength = Math.floor(bitLength / bitsPerByte); + for (let k = 0; k < byteLength; k++) { + const offset = (byteLength - k - 1) * bitsPerByte; + dataView.setUint8(chunkOffset + k, (bits & 255 << offset) >> offset); + } + } + return new Uint8Array(out); +}; +var base64urlEncode = (_input) => { + const input = typeof _input === "string" ? stringToBuffer(_input) : _input; + let str = ""; + for (let i = 0; i < input.length; i += 3) { + let bits = 0; + let bitLength = 0; + for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) { + bits |= input[j] << (limit - j - 1) * bitsPerByte; + bitLength += bitsPerByte; + } + const bitClusterCount = Math.ceil(bitLength / bitsPerLetter); + bits <<= bitClusterCount * bitsPerLetter - bitLength; + for (let k = 1; k <= bitClusterCount; k++) { + const offset = (bitClusterCount - k) * bitsPerLetter; + str += alphabetByValue[(bits & maxLetterValue << offset) >> offset]; + } + } + return str; +}; + +// src/index.ts +var defaults = { + encryption: { saltBits: 256, algorithm: "aes-256-cbc", iterations: 1, minPasswordlength: 32 }, + integrity: { saltBits: 256, algorithm: "sha256", iterations: 1, minPasswordlength: 32 }, + ttl: 0, + timestampSkewSec: 60, + localtimeOffsetMsec: 0 +}; +var clone = (options) => ({ + ...options, + encryption: { ...options.encryption }, + integrity: { ...options.integrity } +}); +var algorithms = { + "aes-128-ctr": { keyBits: 128, ivBits: 128, name: "AES-CTR" }, + "aes-256-cbc": { keyBits: 256, ivBits: 128, name: "AES-CBC" }, + sha256: { keyBits: 256, name: "SHA-256" } +}; +var macFormatVersion = "2"; +var macPrefix = "Fe26.2"; +var randomBytes = (_crypto, size) => { + const bytes = new Uint8Array(size); + _crypto.getRandomValues(bytes); + return bytes; +}; +var randomBits = (_crypto, bits) => { + if (bits < 1) + throw new Error("Invalid random bits count"); + const bytes = Math.ceil(bits / 8); + return randomBytes(_crypto, bytes); +}; +var pbkdf2 = async (_crypto, password, salt, iterations, keyLength, hash) => { + const passwordBuffer = stringToBuffer(password); + const importedKey = await _crypto.subtle.importKey( + "raw", + passwordBuffer, + { name: "PBKDF2" }, + false, + ["deriveBits"] + ); + const saltBuffer = stringToBuffer(salt); + const params = { name: "PBKDF2", hash, salt: saltBuffer, iterations }; + const derivation = await _crypto.subtle.deriveBits(params, importedKey, keyLength * 8); + return derivation; +}; +var generateKey = async (_crypto, password, options) => { + var _a; + if (!(password == null ? void 0 : password.length)) + throw new Error("Empty password"); + if (options == null || typeof options !== "object") + throw new Error("Bad options"); + if (!(options.algorithm in algorithms)) + throw new Error(`Unknown algorithm: ${options.algorithm}`); + const algorithm = algorithms[options.algorithm]; + const result = {}; + const hmac = (_a = options.hmac) != null ? _a : false; + const id = hmac ? { name: "HMAC", hash: algorithm.name } : { name: algorithm.name }; + const usage = hmac ? ["sign", "verify"] : ["encrypt", "decrypt"]; + if (typeof password === "string") { + if (password.length < options.minPasswordlength) + throw new Error( + `Password string too short (min ${options.minPasswordlength} characters required)` + ); + let { salt = "" } = options; + if (!salt) { + const { saltBits = 0 } = options; + if (!saltBits) + throw new Error("Missing salt and saltBits options"); + const randomSalt = randomBits(_crypto, saltBits); + salt = [...new Uint8Array(randomSalt)].map((x) => x.toString(16).padStart(2, "0")).join(""); + } + const derivedKey = await pbkdf2( + _crypto, + password, + salt, + options.iterations, + algorithm.keyBits / 8, + "SHA-1" + ); + const importedEncryptionKey = await _crypto.subtle.importKey( + "raw", + derivedKey, + id, + false, + usage + ); + result.key = importedEncryptionKey; + result.salt = salt; + } else { + if (password.length < algorithm.keyBits / 8) + throw new Error("Key buffer (password) too small"); + result.key = await _crypto.subtle.importKey("raw", password, id, false, usage); + result.salt = ""; + } + if (options.iv) + result.iv = options.iv; + else if ("ivBits" in algorithm) + result.iv = randomBits(_crypto, algorithm.ivBits); + return result; +}; +var getEncryptParams = (algorithm, key, data) => { + return [ + algorithm === "aes-128-ctr" ? { name: "AES-CTR", counter: key.iv, length: 128 } : { name: "AES-CBC", iv: key.iv }, + key.key, + typeof data === "string" ? stringToBuffer(data) : data + ]; +}; +var encrypt = async (_crypto, password, options, data) => { + const key = await generateKey(_crypto, password, options); + const encrypted = await _crypto.subtle.encrypt(...getEncryptParams(options.algorithm, key, data)); + return { encrypted: new Uint8Array(encrypted), key }; +}; +var decrypt = async (_crypto, password, options, data) => { + const key = await generateKey(_crypto, password, options); + const decrypted = await _crypto.subtle.decrypt(...getEncryptParams(options.algorithm, key, data)); + return bufferToString(new Uint8Array(decrypted)); +}; +var hmacWithPassword = async (_crypto, password, options, data) => { + const key = await generateKey(_crypto, password, { ...options, hmac: true }); + const textBuffer = stringToBuffer(data); + const signed = await _crypto.subtle.sign({ name: "HMAC" }, key.key, textBuffer); + const digest = base64urlEncode(new Uint8Array(signed)); + return { digest, salt: key.salt }; +}; +var normalizePassword = (password) => { + if (typeof password === "string" || password instanceof Uint8Array) + return { encryption: password, integrity: password }; + if ("secret" in password) + return { id: password.id, encryption: password.secret, integrity: password.secret }; + return { id: password.id, encryption: password.encryption, integrity: password.integrity }; +}; +var seal = async (_crypto, object, password, options) => { + if (!password) + throw new Error("Empty password"); + const opts = clone(options); + const now = Date.now() + (opts.localtimeOffsetMsec || 0); + const objectString = JSON.stringify(object); + const pass = normalizePassword(password); + const { id = "", encryption, integrity } = pass; + if (id && !/^\w+$/.test(id)) + throw new Error("Invalid password id"); + const { encrypted, key } = await encrypt(_crypto, encryption, opts.encryption, objectString); + const encryptedB64 = base64urlEncode(new Uint8Array(encrypted)); + const iv = base64urlEncode(key.iv); + const expiration = opts.ttl ? now + opts.ttl : ""; + const macBaseString = `${macPrefix}*${id}*${key.salt}*${iv}*${encryptedB64}*${expiration}`; + const mac = await hmacWithPassword(_crypto, integrity, opts.integrity, macBaseString); + const sealed = `${macBaseString}*${mac.salt}*${mac.digest}`; + return sealed; +}; +var fixedTimeComparison = (a, b) => { + let mismatch = a.length === b.length ? 0 : 1; + if (mismatch) + b = a; + for (let i = 0; i < a.length; i += 1) + mismatch |= a.charCodeAt(i) ^ b.charCodeAt(i); + return mismatch === 0; +}; +var unseal = async (_crypto, sealed, password, options) => { + if (!password) + throw new Error("Empty password"); + const opts = clone(options); + const now = Date.now() + (opts.localtimeOffsetMsec || 0); + const parts = sealed.split("*"); + if (parts.length !== 8) + throw new Error("Incorrect number of sealed components"); + const prefix = parts[0]; + let passwordId = parts[1]; + const encryptionSalt = parts[2]; + const encryptionIv = parts[3]; + const encryptedB64 = parts[4]; + const expiration = parts[5]; + const hmacSalt = parts[6]; + const hmac = parts[7]; + const macBaseString = `${prefix}*${passwordId}*${encryptionSalt}*${encryptionIv}*${encryptedB64}*${expiration}`; + if (macPrefix !== prefix) + throw new Error("Wrong mac prefix"); + if (expiration) { + if (!/^\d+$/.test(expiration)) + throw new Error("Invalid expiration"); + const exp = Number.parseInt(expiration, 10); + if (exp <= now - opts.timestampSkewSec * 1e3) + throw new Error("Expired seal"); + } + let pass = ""; + passwordId = passwordId || "default"; + if (typeof password === "string" || password instanceof Uint8Array) + pass = password; + else if (passwordId in password) { + pass = password[passwordId]; + } else { + throw new Error(`Cannot find password: ${passwordId}`); + } + pass = normalizePassword(pass); + const macOptions = opts.integrity; + macOptions.salt = hmacSalt; + const mac = await hmacWithPassword(_crypto, pass.integrity, macOptions, macBaseString); + if (!fixedTimeComparison(mac.digest, hmac)) + throw new Error("Bad hmac value"); + const encrypted = base64urlDecode(encryptedB64); + const decryptOptions = opts.encryption; + decryptOptions.salt = encryptionSalt; + decryptOptions.iv = base64urlDecode(encryptionIv); + const decrypted = await decrypt(_crypto, pass.encryption, decryptOptions, encrypted); + if (decrypted) + return JSON.parse(decrypted); + return null; +}; + +export { algorithms, base64urlDecode, base64urlEncode, bufferToString, clone, decrypt, defaults, encrypt, generateKey, hmacWithPassword, macFormatVersion, macPrefix, randomBits, seal, stringToBuffer, unseal }; diff --git a/.output/server/node_modules/iron-webcrypto/package.json b/.output/server/node_modules/iron-webcrypto/package.json new file mode 100644 index 00000000..19db7ad0 --- /dev/null +++ b/.output/server/node_modules/iron-webcrypto/package.json @@ -0,0 +1,72 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "name": "iron-webcrypto", + "version": "1.2.1", + "description": "a cryptographic utility for sealing-unsealing a JSON object using symmetric key encryption with message integrity verification", + "keywords": [ + "authentication", + "data integrity", + "encryption", + "webcrypto" + ], + "bugs": { + "url": "https://github.com/brc-dd/iron-webcrypto", + "email": "brc-dd@hotmail.com" + }, + "repository": "github:brc-dd/iron-webcrypto", + "funding": "https://github.com/sponsors/brc-dd", + "license": "MIT", + "author": "Divyansh Singh <brc-dd@hotmail.com> (https://github.com/brc-dd)", + "sideEffects": false, + "type": "module", + "exports": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "main": "dist/index.cjs", + "files": [ + "dist/*" + ], + "scripts": { + "build": "pnpm i && tsup && git add -f dist", + "lint": "pnpm build && pnpm lint:only", + "lint:only": "lefthook run pre-commit && publint && attw --pack", + "test": "pnpm test:node && pnpm test:deno && pnpm test:bun", + "test:bun": "bun --cwd=tests/bun test", + "test:deno": "deno test tests/deno/index.test.ts --parallel --no-check", + "test:node": "tsx --test tests/node/index.test.ts" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.15.3", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", + "@eslint-community/eslint-plugin-eslint-comments": "^4.3.0", + "@release-it/conventional-changelog": "^8.0.1", + "@types/bun": "^1.1.1", + "@types/node": "^20.12.11", + "@typescript-eslint/eslint-plugin": "^7.8.0", + "@typescript-eslint/parser": "^7.8.0", + "eslint": "^8.57.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^18.0.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-security": "^3.0.0", + "eslint-plugin-unicorn": "^52.0.0", + "jsr": "^0.12.4", + "lefthook": "^1.6.10", + "prettier": "^3.2.5", + "prettier-plugin-packagejson": "^2.5.0", + "publint": "^0.2.7", + "release-it": "^17.2.1", + "replace": "^1.2.2", + "tsup": "^8.0.2", + "tsx": "^4.9.3", + "typescript": "^5.4.5" + }, + "packageManager": "pnpm@9.1.0", + "runkitExampleFilename": "dist/example.js" +} \ No newline at end of file diff --git a/.output/server/node_modules/is-arrayish/index.js b/.output/server/node_modules/is-arrayish/index.js new file mode 100644 index 00000000..729ca40c --- /dev/null +++ b/.output/server/node_modules/is-arrayish/index.js @@ -0,0 +1,9 @@ +module.exports = function isArrayish(obj) { + if (!obj || typeof obj === 'string') { + return false; + } + + return obj instanceof Array || Array.isArray(obj) || + (obj.length >= 0 && (obj.splice instanceof Function || + (Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String'))); +}; diff --git a/.output/server/node_modules/is-arrayish/package.json b/.output/server/node_modules/is-arrayish/package.json new file mode 100644 index 00000000..4072803e --- /dev/null +++ b/.output/server/node_modules/is-arrayish/package.json @@ -0,0 +1,45 @@ +{ + "name": "is-arrayish", + "description": "Determines if an object can be used as an array", + "version": "0.3.2", + "author": "Qix (http://github.com/qix-)", + "keywords": [ + "is", + "array", + "duck", + "type", + "arrayish", + "similar", + "proto", + "prototype", + "type" + ], + "license": "MIT", + "scripts": { + "test": "mocha --require coffeescript/register ./test/**/*.coffee", + "lint": "zeit-eslint --ext .jsx,.js .", + "lint-staged": "git diff --diff-filter=ACMRT --cached --name-only '*.js' '*.jsx' | xargs zeit-eslint" + }, + "repository": { + "type": "git", + "url": "https://github.com/qix-/node-is-arrayish.git" + }, + "devDependencies": { + "@zeit/eslint-config-node": "^0.3.0", + "@zeit/git-hooks": "^0.1.4", + "coffeescript": "^2.3.1", + "coveralls": "^3.0.1", + "eslint": "^4.19.1", + "istanbul": "^0.4.5", + "mocha": "^5.2.0", + "should": "^13.2.1" + }, + "eslintConfig": { + "extends": [ + "@zeit/eslint-config-node" + ] + }, + "git": { + "pre-commit": "lint-staged" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/jalaali-js/index.js b/.output/server/node_modules/jalaali-js/index.js new file mode 100644 index 00000000..d8732d03 --- /dev/null +++ b/.output/server/node_modules/jalaali-js/index.js @@ -0,0 +1,353 @@ +/* + Expose functions. +*/ +module.exports = + { toJalaali: toJalaali + , toGregorian: toGregorian + , isValidJalaaliDate: isValidJalaaliDate + , isLeapJalaaliYear: isLeapJalaaliYear + , jalaaliMonthLength: jalaaliMonthLength + , jalCal: jalCal + , j2d: j2d + , d2j: d2j + , g2d: g2d + , d2g: d2g + , jalaaliToDateObject: jalaaliToDateObject + , jalaaliWeek: jalaaliWeek + } + +/* + Jalaali years starting the 33-year rule. +*/ +var breaks = [ -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210 + , 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178 + ] + +/* + Converts a Gregorian date to Jalaali. +*/ +function toJalaali(gy, gm, gd) { + if (Object.prototype.toString.call(gy) === '[object Date]') { + gd = gy.getDate() + gm = gy.getMonth() + 1 + gy = gy.getFullYear() + } + return d2j(g2d(gy, gm, gd)) +} + +/* + Converts a Jalaali date to Gregorian. +*/ +function toGregorian(jy, jm, jd) { + return d2g(j2d(jy, jm, jd)) +} + +/* + Checks whether a Jalaali date is valid or not. +*/ +function isValidJalaaliDate(jy, jm, jd) { + return jy >= -61 && jy <= 3177 && + jm >= 1 && jm <= 12 && + jd >= 1 && jd <= jalaaliMonthLength(jy, jm) +} + +/* + Is this a leap year or not? +*/ +function isLeapJalaaliYear(jy) { + return jalCalLeap(jy) === 0 +} + +/* + Number of days in a given month in a Jalaali year. +*/ +function jalaaliMonthLength(jy, jm) { + if (jm <= 6) return 31 + if (jm <= 11) return 30 + if (isLeapJalaaliYear(jy)) return 30 + return 29 +} + +/* + This function determines if the Jalaali (Persian) year is + leap (366-day long) or is the common year (365 days) + + @param jy Jalaali calendar year (-61 to 3177) + @returns number of years since the last leap year (0 to 4) + */ +function jalCalLeap(jy) { + var bl = breaks.length + , jp = breaks[0] + , jm + , jump + , leap + , n + , i + + if (jy < jp || jy >= breaks[bl - 1]) + throw new Error('Invalid Jalaali year ' + jy) + + for (i = 1; i < bl; i += 1) { + jm = breaks[i] + jump = jm - jp + if (jy < jm) + break + jp = jm + } + n = jy - jp + + if (jump - n < 6) + n = n - jump + div(jump + 4, 33) * 33 + leap = mod(mod(n + 1, 33) - 1, 4) + if (leap === -1) { + leap = 4 + } + + return leap +} + +/* + This function determines if the Jalaali (Persian) year is + leap (366-day long) or is the common year (365 days), and + finds the day in March (Gregorian calendar) of the first + day of the Jalaali year (jy). + + @param jy Jalaali calendar year (-61 to 3177) + @param withoutLeap when don't need leap (true or false) default is false + @return + leap: number of years since the last leap year (0 to 4) + gy: Gregorian year of the beginning of Jalaali year + march: the March day of Farvardin the 1st (1st day of jy) + @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm + @see: http://www.fourmilab.ch/documents/calendar/ +*/ +function jalCal(jy, withoutLeap) { + var bl = breaks.length + , gy = jy + 621 + , leapJ = -14 + , jp = breaks[0] + , jm + , jump + , leap + , leapG + , march + , n + , i + + if (jy < jp || jy >= breaks[bl - 1]) + throw new Error('Invalid Jalaali year ' + jy) + + // Find the limiting years for the Jalaali year jy. + for (i = 1; i < bl; i += 1) { + jm = breaks[i] + jump = jm - jp + if (jy < jm) + break + leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4) + jp = jm + } + n = jy - jp + + // Find the number of leap years from AD 621 to the beginning + // of the current Jalaali year in the Persian calendar. + leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4) + if (mod(jump, 33) === 4 && jump - n === 4) + leapJ += 1 + + // And the same in the Gregorian calendar (until the year gy). + leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150 + + // Determine the Gregorian date of Farvardin the 1st. + march = 20 + leapJ - leapG + + // return with gy and march when we don't need leap + if (withoutLeap) return { gy: gy, march: march }; + + + // Find how many years have passed since the last leap year. + if (jump - n < 6) + n = n - jump + div(jump + 4, 33) * 33 + leap = mod(mod(n + 1, 33) - 1, 4) + if (leap === -1) { + leap = 4 + } + + return { leap: leap + , gy: gy + , march: march + } +} + +/* + Converts a date of the Jalaali calendar to the Julian Day number. + + @param jy Jalaali year (1 to 3100) + @param jm Jalaali month (1 to 12) + @param jd Jalaali day (1 to 29/31) + @return Julian Day number +*/ +function j2d(jy, jm, jd) { + var r = jalCal(jy, true) + return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1 +} + +/* + Converts the Julian Day number to a date in the Jalaali calendar. + + @param jdn Julian Day number + @return + jy: Jalaali year (1 to 3100) + jm: Jalaali month (1 to 12) + jd: Jalaali day (1 to 29/31) +*/ +function d2j(jdn) { + var gy = d2g(jdn).gy // Calculate Gregorian year (gy). + , jy = gy - 621 + , r = jalCal(jy, false) + , jdn1f = g2d(gy, 3, r.march) + , jd + , jm + , k + + // Find number of days that passed since 1 Farvardin. + k = jdn - jdn1f + if (k >= 0) { + if (k <= 185) { + // The first 6 months. + jm = 1 + div(k, 31) + jd = mod(k, 31) + 1 + return { jy: jy + , jm: jm + , jd: jd + } + } else { + // The remaining months. + k -= 186 + } + } else { + // Previous Jalaali year. + jy -= 1 + k += 179 + if (r.leap === 1) + k += 1 + } + jm = 7 + div(k, 30) + jd = mod(k, 30) + 1 + return { jy: jy + , jm: jm + , jd: jd + } +} + +/* + Calculates the Julian Day number from Gregorian or Julian + calendar dates. This integer number corresponds to the noon of + the date (i.e. 12 hours of Universal Time). + The procedure was tested to be good since 1 March, -100100 (of both + calendars) up to a few million years into the future. + + @param gy Calendar year (years BC numbered 0, -1, -2, ...) + @param gm Calendar month (1 to 12) + @param gd Calendar day of the month (1 to 28/29/30/31) + @return Julian Day number +*/ +function g2d(gy, gm, gd) { + var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + + div(153 * mod(gm + 9, 12) + 2, 5) + + gd - 34840408 + d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752 + return d +} + +/* + Calculates Gregorian and Julian calendar dates from the Julian Day number + (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both + calendars) to some millions years ahead of the present. + + @param jdn Julian Day number + @return + gy: Calendar year (years BC numbered 0, -1, -2, ...) + gm: Calendar month (1 to 12) + gd: Calendar day of the month M (1 to 28/29/30/31) +*/ +function d2g(jdn) { + var j + , i + , gd + , gm + , gy + j = 4 * jdn + 139361631 + j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908 + i = div(mod(j, 1461), 4) * 5 + 308 + gd = div(mod(i, 153), 5) + 1 + gm = mod(div(i, 153), 12) + 1 + gy = div(j, 1461) - 100100 + div(8 - gm, 6) + return { gy: gy + , gm: gm + , gd: gd + } +} + +/** + * Return Saturday and Friday day of current week(week start in Saturday) + * @param {number} jy jalaali year + * @param {number} jm jalaali month + * @param {number} jd jalaali day + * @returns Saturday and Friday of current week + */ +function jalaaliWeek(jy, jm, jd) { + var dayOfWeek = jalaaliToDateObject(jy, jm, jd).getDay(); + + var startDayDifference = dayOfWeek == 6 ? 0 : -(dayOfWeek+1); + var endDayDifference = 6+startDayDifference; + + return { + saturday: d2j(j2d(jy, jm, jd+startDayDifference)), + friday: d2j(j2d(jy, jm, jd+endDayDifference)) + } +} + +/** + * Convert Jalaali calendar dates to javascript Date object + * @param {number} jy jalaali year + * @param {number} jm jalaali month + * @param {number} jd jalaali day + * @param {number} [h] hours + * @param {number} [m] minutes + * @param {number} [s] seconds + * @param {number} [ms] milliseconds + * @returns Date object of the jalaali calendar dates + */ +function jalaaliToDateObject( + jy, + jm, + jd, + h, + m, + s, + ms +) { + var gregorianCalenderDate = toGregorian(jy, jm, jd); + + return new Date( + gregorianCalenderDate.gy, + gregorianCalenderDate.gm - 1, + gregorianCalenderDate.gd, + h || 0, + m || 0, + s || 0, + ms || 0 + ); +} + +/* + Utility helper functions. +*/ + +function div(a, b) { + return ~~(a / b) +} + +function mod(a, b) { + return a - ~~(a / b) * b +} diff --git a/.output/server/node_modules/jalaali-js/package.json b/.output/server/node_modules/jalaali-js/package.json new file mode 100644 index 00000000..1dbd0b0e --- /dev/null +++ b/.output/server/node_modules/jalaali-js/package.json @@ -0,0 +1,36 @@ +{ + "name": "jalaali-js", + "version": "1.2.8", + "description": "Converts Gregorian and Jalaali calendars to each other", + "main": "index.js", + "repository": { + "type": "git", + "url": "https://github.com/jalaali/jalaali-js" + }, + "keywords": [ + "jalaali", + "jalali", + "persian", + "khorshidi", + "shamsi", + "calendar", + "date" + ], + "author": "Behrang Noruzi Niya", + "license": "MIT", + "bugs": { + "url": "https://github.com/jalaali/jalaali-js/issues" + }, + "homepage": "https://github.com/jalaali/jalaali-js", + "devDependencies": { + "browserify": "^17.0.1", + "mocha": "^11.1.0", + "should": "^13.2.3", + "terser": "^5.39.0" + }, + "scripts": { + "prepare": "node build-umd.js", + "bench": "node bench.js", + "test": "mocha test.js" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/lodash-es/_DataView.js b/.output/server/node_modules/lodash-es/_DataView.js new file mode 100644 index 00000000..1bbaaa19 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_DataView.js @@ -0,0 +1,7 @@ +import getNative from './_getNative.js'; +import root from './_root.js'; + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +export default DataView; diff --git a/.output/server/node_modules/lodash-es/_Hash.js b/.output/server/node_modules/lodash-es/_Hash.js new file mode 100644 index 00000000..8ecacb00 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Hash.js @@ -0,0 +1,32 @@ +import hashClear from './_hashClear.js'; +import hashDelete from './_hashDelete.js'; +import hashGet from './_hashGet.js'; +import hashHas from './_hashHas.js'; +import hashSet from './_hashSet.js'; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +export default Hash; diff --git a/.output/server/node_modules/lodash-es/_LazyWrapper.js b/.output/server/node_modules/lodash-es/_LazyWrapper.js new file mode 100644 index 00000000..be64bf79 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_LazyWrapper.js @@ -0,0 +1,28 @@ +import baseCreate from './_baseCreate.js'; +import baseLodash from './_baseLodash.js'; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ +function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; +} + +// Ensure `LazyWrapper` is an instance of `baseLodash`. +LazyWrapper.prototype = baseCreate(baseLodash.prototype); +LazyWrapper.prototype.constructor = LazyWrapper; + +export default LazyWrapper; diff --git a/.output/server/node_modules/lodash-es/_ListCache.js b/.output/server/node_modules/lodash-es/_ListCache.js new file mode 100644 index 00000000..bafa2afc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_ListCache.js @@ -0,0 +1,32 @@ +import listCacheClear from './_listCacheClear.js'; +import listCacheDelete from './_listCacheDelete.js'; +import listCacheGet from './_listCacheGet.js'; +import listCacheHas from './_listCacheHas.js'; +import listCacheSet from './_listCacheSet.js'; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +export default ListCache; diff --git a/.output/server/node_modules/lodash-es/_LodashWrapper.js b/.output/server/node_modules/lodash-es/_LodashWrapper.js new file mode 100644 index 00000000..3f10ef00 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_LodashWrapper.js @@ -0,0 +1,22 @@ +import baseCreate from './_baseCreate.js'; +import baseLodash from './_baseLodash.js'; + +/** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ +function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; +} + +LodashWrapper.prototype = baseCreate(baseLodash.prototype); +LodashWrapper.prototype.constructor = LodashWrapper; + +export default LodashWrapper; diff --git a/.output/server/node_modules/lodash-es/_Map.js b/.output/server/node_modules/lodash-es/_Map.js new file mode 100644 index 00000000..20558504 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Map.js @@ -0,0 +1,7 @@ +import getNative from './_getNative.js'; +import root from './_root.js'; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +export default Map; diff --git a/.output/server/node_modules/lodash-es/_MapCache.js b/.output/server/node_modules/lodash-es/_MapCache.js new file mode 100644 index 00000000..deef22ed --- /dev/null +++ b/.output/server/node_modules/lodash-es/_MapCache.js @@ -0,0 +1,32 @@ +import mapCacheClear from './_mapCacheClear.js'; +import mapCacheDelete from './_mapCacheDelete.js'; +import mapCacheGet from './_mapCacheGet.js'; +import mapCacheHas from './_mapCacheHas.js'; +import mapCacheSet from './_mapCacheSet.js'; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +export default MapCache; diff --git a/.output/server/node_modules/lodash-es/_Promise.js b/.output/server/node_modules/lodash-es/_Promise.js new file mode 100644 index 00000000..ce54b581 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Promise.js @@ -0,0 +1,7 @@ +import getNative from './_getNative.js'; +import root from './_root.js'; + +/* Built-in method references that are verified to be native. */ +var Promise = getNative(root, 'Promise'); + +export default Promise; diff --git a/.output/server/node_modules/lodash-es/_Set.js b/.output/server/node_modules/lodash-es/_Set.js new file mode 100644 index 00000000..2f952099 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Set.js @@ -0,0 +1,7 @@ +import getNative from './_getNative.js'; +import root from './_root.js'; + +/* Built-in method references that are verified to be native. */ +var Set = getNative(root, 'Set'); + +export default Set; diff --git a/.output/server/node_modules/lodash-es/_SetCache.js b/.output/server/node_modules/lodash-es/_SetCache.js new file mode 100644 index 00000000..12455ff4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_SetCache.js @@ -0,0 +1,27 @@ +import MapCache from './_MapCache.js'; +import setCacheAdd from './_setCacheAdd.js'; +import setCacheHas from './_setCacheHas.js'; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +export default SetCache; diff --git a/.output/server/node_modules/lodash-es/_Stack.js b/.output/server/node_modules/lodash-es/_Stack.js new file mode 100644 index 00000000..77c3cf31 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Stack.js @@ -0,0 +1,27 @@ +import ListCache from './_ListCache.js'; +import stackClear from './_stackClear.js'; +import stackDelete from './_stackDelete.js'; +import stackGet from './_stackGet.js'; +import stackHas from './_stackHas.js'; +import stackSet from './_stackSet.js'; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +export default Stack; diff --git a/.output/server/node_modules/lodash-es/_Symbol.js b/.output/server/node_modules/lodash-es/_Symbol.js new file mode 100644 index 00000000..2b9341c3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Symbol.js @@ -0,0 +1,6 @@ +import root from './_root.js'; + +/** Built-in value references. */ +var Symbol = root.Symbol; + +export default Symbol; diff --git a/.output/server/node_modules/lodash-es/_Uint8Array.js b/.output/server/node_modules/lodash-es/_Uint8Array.js new file mode 100644 index 00000000..f463674d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_Uint8Array.js @@ -0,0 +1,6 @@ +import root from './_root.js'; + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +export default Uint8Array; diff --git a/.output/server/node_modules/lodash-es/_WeakMap.js b/.output/server/node_modules/lodash-es/_WeakMap.js new file mode 100644 index 00000000..6f97de58 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_WeakMap.js @@ -0,0 +1,7 @@ +import getNative from './_getNative.js'; +import root from './_root.js'; + +/* Built-in method references that are verified to be native. */ +var WeakMap = getNative(root, 'WeakMap'); + +export default WeakMap; diff --git a/.output/server/node_modules/lodash-es/_apply.js b/.output/server/node_modules/lodash-es/_apply.js new file mode 100644 index 00000000..a92f5a88 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_apply.js @@ -0,0 +1,21 @@ +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +export default apply; diff --git a/.output/server/node_modules/lodash-es/_arrayAggregator.js b/.output/server/node_modules/lodash-es/_arrayAggregator.js new file mode 100644 index 00000000..d4518792 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayAggregator.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} + +export default arrayAggregator; diff --git a/.output/server/node_modules/lodash-es/_arrayEach.js b/.output/server/node_modules/lodash-es/_arrayEach.js new file mode 100644 index 00000000..2a570bf7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayEach.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +export default arrayEach; diff --git a/.output/server/node_modules/lodash-es/_arrayEachRight.js b/.output/server/node_modules/lodash-es/_arrayEachRight.js new file mode 100644 index 00000000..ce87d1ac --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayEachRight.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; +} + +export default arrayEachRight; diff --git a/.output/server/node_modules/lodash-es/_arrayEvery.js b/.output/server/node_modules/lodash-es/_arrayEvery.js new file mode 100644 index 00000000..93f30a9b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayEvery.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ +function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; +} + +export default arrayEvery; diff --git a/.output/server/node_modules/lodash-es/_arrayFilter.js b/.output/server/node_modules/lodash-es/_arrayFilter.js new file mode 100644 index 00000000..20d37699 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayFilter.js @@ -0,0 +1,25 @@ +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +export default arrayFilter; diff --git a/.output/server/node_modules/lodash-es/_arrayIncludes.js b/.output/server/node_modules/lodash-es/_arrayIncludes.js new file mode 100644 index 00000000..d515af90 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayIncludes.js @@ -0,0 +1,17 @@ +import baseIndexOf from './_baseIndexOf.js'; + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +export default arrayIncludes; diff --git a/.output/server/node_modules/lodash-es/_arrayIncludesWith.js b/.output/server/node_modules/lodash-es/_arrayIncludesWith.js new file mode 100644 index 00000000..9dedaa25 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayIncludesWith.js @@ -0,0 +1,22 @@ +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +export default arrayIncludesWith; diff --git a/.output/server/node_modules/lodash-es/_arrayLikeKeys.js b/.output/server/node_modules/lodash-es/_arrayLikeKeys.js new file mode 100644 index 00000000..de5d5515 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayLikeKeys.js @@ -0,0 +1,49 @@ +import baseTimes from './_baseTimes.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; +import isBuffer from './isBuffer.js'; +import isIndex from './_isIndex.js'; +import isTypedArray from './isTypedArray.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +export default arrayLikeKeys; diff --git a/.output/server/node_modules/lodash-es/_arrayMap.js b/.output/server/node_modules/lodash-es/_arrayMap.js new file mode 100644 index 00000000..8d32a4e6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayMap.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +export default arrayMap; diff --git a/.output/server/node_modules/lodash-es/_arrayPush.js b/.output/server/node_modules/lodash-es/_arrayPush.js new file mode 100644 index 00000000..3660a7db --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayPush.js @@ -0,0 +1,20 @@ +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +export default arrayPush; diff --git a/.output/server/node_modules/lodash-es/_arrayReduce.js b/.output/server/node_modules/lodash-es/_arrayReduce.js new file mode 100644 index 00000000..58e1df31 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayReduce.js @@ -0,0 +1,26 @@ +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +export default arrayReduce; diff --git a/.output/server/node_modules/lodash-es/_arrayReduceRight.js b/.output/server/node_modules/lodash-es/_arrayReduceRight.js new file mode 100644 index 00000000..c185bebe --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayReduceRight.js @@ -0,0 +1,24 @@ +/** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; +} + +export default arrayReduceRight; diff --git a/.output/server/node_modules/lodash-es/_arraySample.js b/.output/server/node_modules/lodash-es/_arraySample.js new file mode 100644 index 00000000..008596fc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arraySample.js @@ -0,0 +1,15 @@ +import baseRandom from './_baseRandom.js'; + +/** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ +function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; +} + +export default arraySample; diff --git a/.output/server/node_modules/lodash-es/_arraySampleSize.js b/.output/server/node_modules/lodash-es/_arraySampleSize.js new file mode 100644 index 00000000..d5c9474b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arraySampleSize.js @@ -0,0 +1,17 @@ +import baseClamp from './_baseClamp.js'; +import copyArray from './_copyArray.js'; +import shuffleSelf from './_shuffleSelf.js'; + +/** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); +} + +export default arraySampleSize; diff --git a/.output/server/node_modules/lodash-es/_arrayShuffle.js b/.output/server/node_modules/lodash-es/_arrayShuffle.js new file mode 100644 index 00000000..493e65b5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arrayShuffle.js @@ -0,0 +1,15 @@ +import copyArray from './_copyArray.js'; +import shuffleSelf from './_shuffleSelf.js'; + +/** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); +} + +export default arrayShuffle; diff --git a/.output/server/node_modules/lodash-es/_arraySome.js b/.output/server/node_modules/lodash-es/_arraySome.js new file mode 100644 index 00000000..d66f4c32 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_arraySome.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +export default arraySome; diff --git a/.output/server/node_modules/lodash-es/_asciiSize.js b/.output/server/node_modules/lodash-es/_asciiSize.js new file mode 100644 index 00000000..bbf4df43 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_asciiSize.js @@ -0,0 +1,12 @@ +import baseProperty from './_baseProperty.js'; + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = baseProperty('length'); + +export default asciiSize; diff --git a/.output/server/node_modules/lodash-es/_asciiToArray.js b/.output/server/node_modules/lodash-es/_asciiToArray.js new file mode 100644 index 00000000..1ab7be69 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_asciiToArray.js @@ -0,0 +1,12 @@ +/** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function asciiToArray(string) { + return string.split(''); +} + +export default asciiToArray; diff --git a/.output/server/node_modules/lodash-es/_asciiWords.js b/.output/server/node_modules/lodash-es/_asciiWords.js new file mode 100644 index 00000000..7840636b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_asciiWords.js @@ -0,0 +1,15 @@ +/** Used to match words composed of alphanumeric characters. */ +var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + +/** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function asciiWords(string) { + return string.match(reAsciiWord) || []; +} + +export default asciiWords; diff --git a/.output/server/node_modules/lodash-es/_assignMergeValue.js b/.output/server/node_modules/lodash-es/_assignMergeValue.js new file mode 100644 index 00000000..92d09163 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_assignMergeValue.js @@ -0,0 +1,20 @@ +import baseAssignValue from './_baseAssignValue.js'; +import eq from './eq.js'; + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +export default assignMergeValue; diff --git a/.output/server/node_modules/lodash-es/_assignValue.js b/.output/server/node_modules/lodash-es/_assignValue.js new file mode 100644 index 00000000..c858e92e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_assignValue.js @@ -0,0 +1,28 @@ +import baseAssignValue from './_baseAssignValue.js'; +import eq from './eq.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +export default assignValue; diff --git a/.output/server/node_modules/lodash-es/_assocIndexOf.js b/.output/server/node_modules/lodash-es/_assocIndexOf.js new file mode 100644 index 00000000..88afb397 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_assocIndexOf.js @@ -0,0 +1,21 @@ +import eq from './eq.js'; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +export default assocIndexOf; diff --git a/.output/server/node_modules/lodash-es/_baseAggregator.js b/.output/server/node_modules/lodash-es/_baseAggregator.js new file mode 100644 index 00000000..5bf1fddd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseAggregator.js @@ -0,0 +1,21 @@ +import baseEach from './_baseEach.js'; + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +export default baseAggregator; diff --git a/.output/server/node_modules/lodash-es/_baseAssign.js b/.output/server/node_modules/lodash-es/_baseAssign.js new file mode 100644 index 00000000..81ae5a5b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseAssign.js @@ -0,0 +1,17 @@ +import copyObject from './_copyObject.js'; +import keys from './keys.js'; + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} + +export default baseAssign; diff --git a/.output/server/node_modules/lodash-es/_baseAssignIn.js b/.output/server/node_modules/lodash-es/_baseAssignIn.js new file mode 100644 index 00000000..83c6e83e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseAssignIn.js @@ -0,0 +1,17 @@ +import copyObject from './_copyObject.js'; +import keysIn from './keysIn.js'; + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); +} + +export default baseAssignIn; diff --git a/.output/server/node_modules/lodash-es/_baseAssignValue.js b/.output/server/node_modules/lodash-es/_baseAssignValue.js new file mode 100644 index 00000000..8d559965 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseAssignValue.js @@ -0,0 +1,25 @@ +import defineProperty from './_defineProperty.js'; + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +export default baseAssignValue; diff --git a/.output/server/node_modules/lodash-es/_baseAt.js b/.output/server/node_modules/lodash-es/_baseAt.js new file mode 100644 index 00000000..39473891 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseAt.js @@ -0,0 +1,23 @@ +import get from './get.js'; + +/** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ +function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; +} + +export default baseAt; diff --git a/.output/server/node_modules/lodash-es/_baseClamp.js b/.output/server/node_modules/lodash-es/_baseClamp.js new file mode 100644 index 00000000..bf9a927c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseClamp.js @@ -0,0 +1,22 @@ +/** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ +function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; +} + +export default baseClamp; diff --git a/.output/server/node_modules/lodash-es/_baseClone.js b/.output/server/node_modules/lodash-es/_baseClone.js new file mode 100644 index 00000000..1584780a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseClone.js @@ -0,0 +1,166 @@ +import Stack from './_Stack.js'; +import arrayEach from './_arrayEach.js'; +import assignValue from './_assignValue.js'; +import baseAssign from './_baseAssign.js'; +import baseAssignIn from './_baseAssignIn.js'; +import cloneBuffer from './_cloneBuffer.js'; +import copyArray from './_copyArray.js'; +import copySymbols from './_copySymbols.js'; +import copySymbolsIn from './_copySymbolsIn.js'; +import getAllKeys from './_getAllKeys.js'; +import getAllKeysIn from './_getAllKeysIn.js'; +import getTag from './_getTag.js'; +import initCloneArray from './_initCloneArray.js'; +import initCloneByTag from './_initCloneByTag.js'; +import initCloneObject from './_initCloneObject.js'; +import isArray from './isArray.js'; +import isBuffer from './isBuffer.js'; +import isMap from './isMap.js'; +import isObject from './isObject.js'; +import isSet from './isSet.js'; +import keys from './keys.js'; +import keysIn from './keysIn.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = +cloneableTags[boolTag] = cloneableTags[dateTag] = +cloneableTags[float32Tag] = cloneableTags[float64Tag] = +cloneableTags[int8Tag] = cloneableTags[int16Tag] = +cloneableTags[int32Tag] = cloneableTags[mapTag] = +cloneableTags[numberTag] = cloneableTags[objectTag] = +cloneableTags[regexpTag] = cloneableTags[setTag] = +cloneableTags[stringTag] = cloneableTags[symbolTag] = +cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = +cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +export default baseClone; diff --git a/.output/server/node_modules/lodash-es/_baseConforms.js b/.output/server/node_modules/lodash-es/_baseConforms.js new file mode 100644 index 00000000..d7633c13 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseConforms.js @@ -0,0 +1,18 @@ +import baseConformsTo from './_baseConformsTo.js'; +import keys from './keys.js'; + +/** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ +function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; +} + +export default baseConforms; diff --git a/.output/server/node_modules/lodash-es/_baseConformsTo.js b/.output/server/node_modules/lodash-es/_baseConformsTo.js new file mode 100644 index 00000000..3406ec5d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseConformsTo.js @@ -0,0 +1,27 @@ +/** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ +function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; +} + +export default baseConformsTo; diff --git a/.output/server/node_modules/lodash-es/_baseCreate.js b/.output/server/node_modules/lodash-es/_baseCreate.js new file mode 100644 index 00000000..ad1da382 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseCreate.js @@ -0,0 +1,30 @@ +import isObject from './isObject.js'; + +/** Built-in value references. */ +var objectCreate = Object.create; + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +export default baseCreate; diff --git a/.output/server/node_modules/lodash-es/_baseDelay.js b/.output/server/node_modules/lodash-es/_baseDelay.js new file mode 100644 index 00000000..8cc5e27a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseDelay.js @@ -0,0 +1,21 @@ +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ +function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); +} + +export default baseDelay; diff --git a/.output/server/node_modules/lodash-es/_baseDifference.js b/.output/server/node_modules/lodash-es/_baseDifference.js new file mode 100644 index 00000000..9916db72 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseDifference.js @@ -0,0 +1,67 @@ +import SetCache from './_SetCache.js'; +import arrayIncludes from './_arrayIncludes.js'; +import arrayIncludesWith from './_arrayIncludesWith.js'; +import arrayMap from './_arrayMap.js'; +import baseUnary from './_baseUnary.js'; +import cacheHas from './_cacheHas.js'; + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ +function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; +} + +export default baseDifference; diff --git a/.output/server/node_modules/lodash-es/_baseEach.js b/.output/server/node_modules/lodash-es/_baseEach.js new file mode 100644 index 00000000..038e9366 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseEach.js @@ -0,0 +1,14 @@ +import baseForOwn from './_baseForOwn.js'; +import createBaseEach from './_createBaseEach.js'; + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +export default baseEach; diff --git a/.output/server/node_modules/lodash-es/_baseEachRight.js b/.output/server/node_modules/lodash-es/_baseEachRight.js new file mode 100644 index 00000000..0e4b053d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseEachRight.js @@ -0,0 +1,14 @@ +import baseForOwnRight from './_baseForOwnRight.js'; +import createBaseEach from './_createBaseEach.js'; + +/** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEachRight = createBaseEach(baseForOwnRight, true); + +export default baseEachRight; diff --git a/.output/server/node_modules/lodash-es/_baseEvery.js b/.output/server/node_modules/lodash-es/_baseEvery.js new file mode 100644 index 00000000..2154b470 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseEvery.js @@ -0,0 +1,21 @@ +import baseEach from './_baseEach.js'; + +/** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ +function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; +} + +export default baseEvery; diff --git a/.output/server/node_modules/lodash-es/_baseExtremum.js b/.output/server/node_modules/lodash-es/_baseExtremum.js new file mode 100644 index 00000000..d154c612 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseExtremum.js @@ -0,0 +1,32 @@ +import isSymbol from './isSymbol.js'; + +/** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; +} + +export default baseExtremum; diff --git a/.output/server/node_modules/lodash-es/_baseFill.js b/.output/server/node_modules/lodash-es/_baseFill.js new file mode 100644 index 00000000..c7ef26e7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFill.js @@ -0,0 +1,32 @@ +import toInteger from './toInteger.js'; +import toLength from './toLength.js'; + +/** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ +function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; +} + +export default baseFill; diff --git a/.output/server/node_modules/lodash-es/_baseFilter.js b/.output/server/node_modules/lodash-es/_baseFilter.js new file mode 100644 index 00000000..4840ed60 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFilter.js @@ -0,0 +1,21 @@ +import baseEach from './_baseEach.js'; + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +export default baseFilter; diff --git a/.output/server/node_modules/lodash-es/_baseFindIndex.js b/.output/server/node_modules/lodash-es/_baseFindIndex.js new file mode 100644 index 00000000..860636ee --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFindIndex.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +export default baseFindIndex; diff --git a/.output/server/node_modules/lodash-es/_baseFindKey.js b/.output/server/node_modules/lodash-es/_baseFindKey.js new file mode 100644 index 00000000..6d1932ee --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFindKey.js @@ -0,0 +1,23 @@ +/** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ +function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; +} + +export default baseFindKey; diff --git a/.output/server/node_modules/lodash-es/_baseFlatten.js b/.output/server/node_modules/lodash-es/_baseFlatten.js new file mode 100644 index 00000000..b42dee6b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFlatten.js @@ -0,0 +1,38 @@ +import arrayPush from './_arrayPush.js'; +import isFlattenable from './_isFlattenable.js'; + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +export default baseFlatten; diff --git a/.output/server/node_modules/lodash-es/_baseFor.js b/.output/server/node_modules/lodash-es/_baseFor.js new file mode 100644 index 00000000..debbcf8c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFor.js @@ -0,0 +1,16 @@ +import createBaseFor from './_createBaseFor.js'; + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +export default baseFor; diff --git a/.output/server/node_modules/lodash-es/_baseForOwn.js b/.output/server/node_modules/lodash-es/_baseForOwn.js new file mode 100644 index 00000000..2293e9a6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseForOwn.js @@ -0,0 +1,16 @@ +import baseFor from './_baseFor.js'; +import keys from './keys.js'; + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +export default baseForOwn; diff --git a/.output/server/node_modules/lodash-es/_baseForOwnRight.js b/.output/server/node_modules/lodash-es/_baseForOwnRight.js new file mode 100644 index 00000000..06871b4b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseForOwnRight.js @@ -0,0 +1,16 @@ +import baseForRight from './_baseForRight.js'; +import keys from './keys.js'; + +/** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); +} + +export default baseForOwnRight; diff --git a/.output/server/node_modules/lodash-es/_baseForRight.js b/.output/server/node_modules/lodash-es/_baseForRight.js new file mode 100644 index 00000000..85596da2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseForRight.js @@ -0,0 +1,15 @@ +import createBaseFor from './_createBaseFor.js'; + +/** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseForRight = createBaseFor(true); + +export default baseForRight; diff --git a/.output/server/node_modules/lodash-es/_baseFunctions.js b/.output/server/node_modules/lodash-es/_baseFunctions.js new file mode 100644 index 00000000..35a875e9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseFunctions.js @@ -0,0 +1,19 @@ +import arrayFilter from './_arrayFilter.js'; +import isFunction from './isFunction.js'; + +/** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ +function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); +} + +export default baseFunctions; diff --git a/.output/server/node_modules/lodash-es/_baseGet.js b/.output/server/node_modules/lodash-es/_baseGet.js new file mode 100644 index 00000000..16a2912a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseGet.js @@ -0,0 +1,24 @@ +import castPath from './_castPath.js'; +import toKey from './_toKey.js'; + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +export default baseGet; diff --git a/.output/server/node_modules/lodash-es/_baseGetAllKeys.js b/.output/server/node_modules/lodash-es/_baseGetAllKeys.js new file mode 100644 index 00000000..af5533b0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseGetAllKeys.js @@ -0,0 +1,20 @@ +import arrayPush from './_arrayPush.js'; +import isArray from './isArray.js'; + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +export default baseGetAllKeys; diff --git a/.output/server/node_modules/lodash-es/_baseGetTag.js b/.output/server/node_modules/lodash-es/_baseGetTag.js new file mode 100644 index 00000000..61b440a0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseGetTag.js @@ -0,0 +1,28 @@ +import Symbol from './_Symbol.js'; +import getRawTag from './_getRawTag.js'; +import objectToString from './_objectToString.js'; + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +export default baseGetTag; diff --git a/.output/server/node_modules/lodash-es/_baseGt.js b/.output/server/node_modules/lodash-es/_baseGt.js new file mode 100644 index 00000000..998cf158 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseGt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ +function baseGt(value, other) { + return value > other; +} + +export default baseGt; diff --git a/.output/server/node_modules/lodash-es/_baseHas.js b/.output/server/node_modules/lodash-es/_baseHas.js new file mode 100644 index 00000000..edbbe5fe --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseHas.js @@ -0,0 +1,19 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); +} + +export default baseHas; diff --git a/.output/server/node_modules/lodash-es/_baseHasIn.js b/.output/server/node_modules/lodash-es/_baseHasIn.js new file mode 100644 index 00000000..ee48bc13 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseHasIn.js @@ -0,0 +1,13 @@ +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +export default baseHasIn; diff --git a/.output/server/node_modules/lodash-es/_baseInRange.js b/.output/server/node_modules/lodash-es/_baseInRange.js new file mode 100644 index 00000000..4b249a55 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseInRange.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ +function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); +} + +export default baseInRange; diff --git a/.output/server/node_modules/lodash-es/_baseIndexOf.js b/.output/server/node_modules/lodash-es/_baseIndexOf.js new file mode 100644 index 00000000..027e11df --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIndexOf.js @@ -0,0 +1,20 @@ +import baseFindIndex from './_baseFindIndex.js'; +import baseIsNaN from './_baseIsNaN.js'; +import strictIndexOf from './_strictIndexOf.js'; + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +export default baseIndexOf; diff --git a/.output/server/node_modules/lodash-es/_baseIndexOfWith.js b/.output/server/node_modules/lodash-es/_baseIndexOfWith.js new file mode 100644 index 00000000..38831b26 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIndexOfWith.js @@ -0,0 +1,23 @@ +/** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; +} + +export default baseIndexOfWith; diff --git a/.output/server/node_modules/lodash-es/_baseIntersection.js b/.output/server/node_modules/lodash-es/_baseIntersection.js new file mode 100644 index 00000000..dede6966 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIntersection.js @@ -0,0 +1,74 @@ +import SetCache from './_SetCache.js'; +import arrayIncludes from './_arrayIncludes.js'; +import arrayIncludesWith from './_arrayIncludesWith.js'; +import arrayMap from './_arrayMap.js'; +import baseUnary from './_baseUnary.js'; +import cacheHas from './_cacheHas.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ +function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +export default baseIntersection; diff --git a/.output/server/node_modules/lodash-es/_baseInverter.js b/.output/server/node_modules/lodash-es/_baseInverter.js new file mode 100644 index 00000000..5cb3800c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseInverter.js @@ -0,0 +1,21 @@ +import baseForOwn from './_baseForOwn.js'; + +/** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ +function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; +} + +export default baseInverter; diff --git a/.output/server/node_modules/lodash-es/_baseInvoke.js b/.output/server/node_modules/lodash-es/_baseInvoke.js new file mode 100644 index 00000000..e465d846 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseInvoke.js @@ -0,0 +1,24 @@ +import apply from './_apply.js'; +import castPath from './_castPath.js'; +import last from './last.js'; +import parent from './_parent.js'; +import toKey from './_toKey.js'; + +/** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ +function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); +} + +export default baseInvoke; diff --git a/.output/server/node_modules/lodash-es/_baseIsArguments.js b/.output/server/node_modules/lodash-es/_baseIsArguments.js new file mode 100644 index 00000000..cbf4ca68 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsArguments.js @@ -0,0 +1,18 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +export default baseIsArguments; diff --git a/.output/server/node_modules/lodash-es/_baseIsArrayBuffer.js b/.output/server/node_modules/lodash-es/_baseIsArrayBuffer.js new file mode 100644 index 00000000..7a25a8f6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsArrayBuffer.js @@ -0,0 +1,17 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +var arrayBufferTag = '[object ArrayBuffer]'; + +/** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ +function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; +} + +export default baseIsArrayBuffer; diff --git a/.output/server/node_modules/lodash-es/_baseIsDate.js b/.output/server/node_modules/lodash-es/_baseIsDate.js new file mode 100644 index 00000000..5487cb51 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsDate.js @@ -0,0 +1,18 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var dateTag = '[object Date]'; + +/** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ +function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; +} + +export default baseIsDate; diff --git a/.output/server/node_modules/lodash-es/_baseIsEqual.js b/.output/server/node_modules/lodash-es/_baseIsEqual.js new file mode 100644 index 00000000..3b5aba81 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsEqual.js @@ -0,0 +1,28 @@ +import baseIsEqualDeep from './_baseIsEqualDeep.js'; +import isObjectLike from './isObjectLike.js'; + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +export default baseIsEqual; diff --git a/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js b/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js new file mode 100644 index 00000000..d8c8bf07 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js @@ -0,0 +1,83 @@ +import Stack from './_Stack.js'; +import equalArrays from './_equalArrays.js'; +import equalByTag from './_equalByTag.js'; +import equalObjects from './_equalObjects.js'; +import getTag from './_getTag.js'; +import isArray from './isArray.js'; +import isBuffer from './isBuffer.js'; +import isTypedArray from './isTypedArray.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +export default baseIsEqualDeep; diff --git a/.output/server/node_modules/lodash-es/_baseIsMap.js b/.output/server/node_modules/lodash-es/_baseIsMap.js new file mode 100644 index 00000000..6438d2b0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsMap.js @@ -0,0 +1,18 @@ +import getTag from './_getTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; +} + +export default baseIsMap; diff --git a/.output/server/node_modules/lodash-es/_baseIsMatch.js b/.output/server/node_modules/lodash-es/_baseIsMatch.js new file mode 100644 index 00000000..926e03fe --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsMatch.js @@ -0,0 +1,62 @@ +import Stack from './_Stack.js'; +import baseIsEqual from './_baseIsEqual.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +export default baseIsMatch; diff --git a/.output/server/node_modules/lodash-es/_baseIsNaN.js b/.output/server/node_modules/lodash-es/_baseIsNaN.js new file mode 100644 index 00000000..7a36d0ee --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsNaN.js @@ -0,0 +1,12 @@ +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +export default baseIsNaN; diff --git a/.output/server/node_modules/lodash-es/_baseIsNative.js b/.output/server/node_modules/lodash-es/_baseIsNative.js new file mode 100644 index 00000000..04c18543 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsNative.js @@ -0,0 +1,47 @@ +import isFunction from './isFunction.js'; +import isMasked from './_isMasked.js'; +import isObject from './isObject.js'; +import toSource from './_toSource.js'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +export default baseIsNative; diff --git a/.output/server/node_modules/lodash-es/_baseIsRegExp.js b/.output/server/node_modules/lodash-es/_baseIsRegExp.js new file mode 100644 index 00000000..e73971b3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsRegExp.js @@ -0,0 +1,18 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var regexpTag = '[object RegExp]'; + +/** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ +function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; +} + +export default baseIsRegExp; diff --git a/.output/server/node_modules/lodash-es/_baseIsSet.js b/.output/server/node_modules/lodash-es/_baseIsSet.js new file mode 100644 index 00000000..bee4a8e4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsSet.js @@ -0,0 +1,18 @@ +import getTag from './_getTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; +} + +export default baseIsSet; diff --git a/.output/server/node_modules/lodash-es/_baseIsTypedArray.js b/.output/server/node_modules/lodash-es/_baseIsTypedArray.js new file mode 100644 index 00000000..0a18d1c1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIsTypedArray.js @@ -0,0 +1,60 @@ +import baseGetTag from './_baseGetTag.js'; +import isLength from './isLength.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +export default baseIsTypedArray; diff --git a/.output/server/node_modules/lodash-es/_baseIteratee.js b/.output/server/node_modules/lodash-es/_baseIteratee.js new file mode 100644 index 00000000..af052002 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseIteratee.js @@ -0,0 +1,31 @@ +import baseMatches from './_baseMatches.js'; +import baseMatchesProperty from './_baseMatchesProperty.js'; +import identity from './identity.js'; +import isArray from './isArray.js'; +import property from './property.js'; + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +export default baseIteratee; diff --git a/.output/server/node_modules/lodash-es/_baseKeys.js b/.output/server/node_modules/lodash-es/_baseKeys.js new file mode 100644 index 00000000..5a762249 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseKeys.js @@ -0,0 +1,30 @@ +import isPrototype from './_isPrototype.js'; +import nativeKeys from './_nativeKeys.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +export default baseKeys; diff --git a/.output/server/node_modules/lodash-es/_baseKeysIn.js b/.output/server/node_modules/lodash-es/_baseKeysIn.js new file mode 100644 index 00000000..84c1395c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseKeysIn.js @@ -0,0 +1,33 @@ +import isObject from './isObject.js'; +import isPrototype from './_isPrototype.js'; +import nativeKeysIn from './_nativeKeysIn.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +export default baseKeysIn; diff --git a/.output/server/node_modules/lodash-es/_baseLodash.js b/.output/server/node_modules/lodash-es/_baseLodash.js new file mode 100644 index 00000000..10aed084 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseLodash.js @@ -0,0 +1,10 @@ +/** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ +function baseLodash() { + // No operation performed. +} + +export default baseLodash; diff --git a/.output/server/node_modules/lodash-es/_baseLt.js b/.output/server/node_modules/lodash-es/_baseLt.js new file mode 100644 index 00000000..e70ad2d5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseLt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ +function baseLt(value, other) { + return value < other; +} + +export default baseLt; diff --git a/.output/server/node_modules/lodash-es/_baseMap.js b/.output/server/node_modules/lodash-es/_baseMap.js new file mode 100644 index 00000000..c607c019 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMap.js @@ -0,0 +1,22 @@ +import baseEach from './_baseEach.js'; +import isArrayLike from './isArrayLike.js'; + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +export default baseMap; diff --git a/.output/server/node_modules/lodash-es/_baseMatches.js b/.output/server/node_modules/lodash-es/_baseMatches.js new file mode 100644 index 00000000..74e9971f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMatches.js @@ -0,0 +1,22 @@ +import baseIsMatch from './_baseIsMatch.js'; +import getMatchData from './_getMatchData.js'; +import matchesStrictComparable from './_matchesStrictComparable.js'; + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +export default baseMatches; diff --git a/.output/server/node_modules/lodash-es/_baseMatchesProperty.js b/.output/server/node_modules/lodash-es/_baseMatchesProperty.js new file mode 100644 index 00000000..f92d6808 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMatchesProperty.js @@ -0,0 +1,33 @@ +import baseIsEqual from './_baseIsEqual.js'; +import get from './get.js'; +import hasIn from './hasIn.js'; +import isKey from './_isKey.js'; +import isStrictComparable from './_isStrictComparable.js'; +import matchesStrictComparable from './_matchesStrictComparable.js'; +import toKey from './_toKey.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +export default baseMatchesProperty; diff --git a/.output/server/node_modules/lodash-es/_baseMean.js b/.output/server/node_modules/lodash-es/_baseMean.js new file mode 100644 index 00000000..f2f1c57f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMean.js @@ -0,0 +1,20 @@ +import baseSum from './_baseSum.js'; + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ +function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; +} + +export default baseMean; diff --git a/.output/server/node_modules/lodash-es/_baseMerge.js b/.output/server/node_modules/lodash-es/_baseMerge.js new file mode 100644 index 00000000..d0051a7f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMerge.js @@ -0,0 +1,42 @@ +import Stack from './_Stack.js'; +import assignMergeValue from './_assignMergeValue.js'; +import baseFor from './_baseFor.js'; +import baseMergeDeep from './_baseMergeDeep.js'; +import isObject from './isObject.js'; +import keysIn from './keysIn.js'; +import safeGet from './_safeGet.js'; + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); +} + +export default baseMerge; diff --git a/.output/server/node_modules/lodash-es/_baseMergeDeep.js b/.output/server/node_modules/lodash-es/_baseMergeDeep.js new file mode 100644 index 00000000..756d6334 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseMergeDeep.js @@ -0,0 +1,94 @@ +import assignMergeValue from './_assignMergeValue.js'; +import cloneBuffer from './_cloneBuffer.js'; +import cloneTypedArray from './_cloneTypedArray.js'; +import copyArray from './_copyArray.js'; +import initCloneObject from './_initCloneObject.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import isBuffer from './isBuffer.js'; +import isFunction from './isFunction.js'; +import isObject from './isObject.js'; +import isPlainObject from './isPlainObject.js'; +import isTypedArray from './isTypedArray.js'; +import safeGet from './_safeGet.js'; +import toPlainObject from './toPlainObject.js'; + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +export default baseMergeDeep; diff --git a/.output/server/node_modules/lodash-es/_baseNth.js b/.output/server/node_modules/lodash-es/_baseNth.js new file mode 100644 index 00000000..0a6e9998 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseNth.js @@ -0,0 +1,20 @@ +import isIndex from './_isIndex.js'; + +/** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ +function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; +} + +export default baseNth; diff --git a/.output/server/node_modules/lodash-es/_baseOrderBy.js b/.output/server/node_modules/lodash-es/_baseOrderBy.js new file mode 100644 index 00000000..7ec555eb --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseOrderBy.js @@ -0,0 +1,49 @@ +import arrayMap from './_arrayMap.js'; +import baseGet from './_baseGet.js'; +import baseIteratee from './_baseIteratee.js'; +import baseMap from './_baseMap.js'; +import baseSortBy from './_baseSortBy.js'; +import baseUnary from './_baseUnary.js'; +import compareMultiple from './_compareMultiple.js'; +import identity from './identity.js'; +import isArray from './isArray.js'; + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +export default baseOrderBy; diff --git a/.output/server/node_modules/lodash-es/_basePick.js b/.output/server/node_modules/lodash-es/_basePick.js new file mode 100644 index 00000000..bf80ff0f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePick.js @@ -0,0 +1,19 @@ +import basePickBy from './_basePickBy.js'; +import hasIn from './hasIn.js'; + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); +} + +export default basePick; diff --git a/.output/server/node_modules/lodash-es/_basePickBy.js b/.output/server/node_modules/lodash-es/_basePickBy.js new file mode 100644 index 00000000..f2610c59 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePickBy.js @@ -0,0 +1,30 @@ +import baseGet from './_baseGet.js'; +import baseSet from './_baseSet.js'; +import castPath from './_castPath.js'; + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; +} + +export default basePickBy; diff --git a/.output/server/node_modules/lodash-es/_baseProperty.js b/.output/server/node_modules/lodash-es/_baseProperty.js new file mode 100644 index 00000000..90f03292 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseProperty.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +export default baseProperty; diff --git a/.output/server/node_modules/lodash-es/_basePropertyDeep.js b/.output/server/node_modules/lodash-es/_basePropertyDeep.js new file mode 100644 index 00000000..2f779ab7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePropertyDeep.js @@ -0,0 +1,16 @@ +import baseGet from './_baseGet.js'; + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +export default basePropertyDeep; diff --git a/.output/server/node_modules/lodash-es/_basePropertyOf.js b/.output/server/node_modules/lodash-es/_basePropertyOf.js new file mode 100644 index 00000000..e0ec2b86 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePropertyOf.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; +} + +export default basePropertyOf; diff --git a/.output/server/node_modules/lodash-es/_basePullAll.js b/.output/server/node_modules/lodash-es/_basePullAll.js new file mode 100644 index 00000000..e69c1003 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePullAll.js @@ -0,0 +1,51 @@ +import arrayMap from './_arrayMap.js'; +import baseIndexOf from './_baseIndexOf.js'; +import baseIndexOfWith from './_baseIndexOfWith.js'; +import baseUnary from './_baseUnary.js'; +import copyArray from './_copyArray.js'; + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ +function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; +} + +export default basePullAll; diff --git a/.output/server/node_modules/lodash-es/_basePullAt.js b/.output/server/node_modules/lodash-es/_basePullAt.js new file mode 100644 index 00000000..9305613e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_basePullAt.js @@ -0,0 +1,37 @@ +import baseUnset from './_baseUnset.js'; +import isIndex from './_isIndex.js'; + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ +function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; +} + +export default basePullAt; diff --git a/.output/server/node_modules/lodash-es/_baseRandom.js b/.output/server/node_modules/lodash-es/_baseRandom.js new file mode 100644 index 00000000..0e6cf030 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseRandom.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeRandom = Math.random; + +/** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ +function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); +} + +export default baseRandom; diff --git a/.output/server/node_modules/lodash-es/_baseRange.js b/.output/server/node_modules/lodash-es/_baseRange.js new file mode 100644 index 00000000..12e48b03 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseRange.js @@ -0,0 +1,28 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ +function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; +} + +export default baseRange; diff --git a/.output/server/node_modules/lodash-es/_baseReduce.js b/.output/server/node_modules/lodash-es/_baseReduce.js new file mode 100644 index 00000000..069fed50 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseReduce.js @@ -0,0 +1,23 @@ +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +export default baseReduce; diff --git a/.output/server/node_modules/lodash-es/_baseRepeat.js b/.output/server/node_modules/lodash-es/_baseRepeat.js new file mode 100644 index 00000000..594539a7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseRepeat.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor; + +/** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ +function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; +} + +export default baseRepeat; diff --git a/.output/server/node_modules/lodash-es/_baseRest.js b/.output/server/node_modules/lodash-es/_baseRest.js new file mode 100644 index 00000000..a3153710 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseRest.js @@ -0,0 +1,17 @@ +import identity from './identity.js'; +import overRest from './_overRest.js'; +import setToString from './_setToString.js'; + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +export default baseRest; diff --git a/.output/server/node_modules/lodash-es/_baseSample.js b/.output/server/node_modules/lodash-es/_baseSample.js new file mode 100644 index 00000000..7b96c062 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSample.js @@ -0,0 +1,15 @@ +import arraySample from './_arraySample.js'; +import values from './values.js'; + +/** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ +function baseSample(collection) { + return arraySample(values(collection)); +} + +export default baseSample; diff --git a/.output/server/node_modules/lodash-es/_baseSampleSize.js b/.output/server/node_modules/lodash-es/_baseSampleSize.js new file mode 100644 index 00000000..04877a16 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSampleSize.js @@ -0,0 +1,18 @@ +import baseClamp from './_baseClamp.js'; +import shuffleSelf from './_shuffleSelf.js'; +import values from './values.js'; + +/** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); +} + +export default baseSampleSize; diff --git a/.output/server/node_modules/lodash-es/_baseSet.js b/.output/server/node_modules/lodash-es/_baseSet.js new file mode 100644 index 00000000..e17dd670 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSet.js @@ -0,0 +1,51 @@ +import assignValue from './_assignValue.js'; +import castPath from './_castPath.js'; +import isIndex from './_isIndex.js'; +import isObject from './isObject.js'; +import toKey from './_toKey.js'; + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +export default baseSet; diff --git a/.output/server/node_modules/lodash-es/_baseSetData.js b/.output/server/node_modules/lodash-es/_baseSetData.js new file mode 100644 index 00000000..8d57b0b3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSetData.js @@ -0,0 +1,17 @@ +import identity from './identity.js'; +import metaMap from './_metaMap.js'; + +/** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; +}; + +export default baseSetData; diff --git a/.output/server/node_modules/lodash-es/_baseSetToString.js b/.output/server/node_modules/lodash-es/_baseSetToString.js new file mode 100644 index 00000000..e712c11a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSetToString.js @@ -0,0 +1,22 @@ +import constant from './constant.js'; +import defineProperty from './_defineProperty.js'; +import identity from './identity.js'; + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +export default baseSetToString; diff --git a/.output/server/node_modules/lodash-es/_baseShuffle.js b/.output/server/node_modules/lodash-es/_baseShuffle.js new file mode 100644 index 00000000..f5617bbd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseShuffle.js @@ -0,0 +1,15 @@ +import shuffleSelf from './_shuffleSelf.js'; +import values from './values.js'; + +/** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function baseShuffle(collection) { + return shuffleSelf(values(collection)); +} + +export default baseShuffle; diff --git a/.output/server/node_modules/lodash-es/_baseSlice.js b/.output/server/node_modules/lodash-es/_baseSlice.js new file mode 100644 index 00000000..bd9c69b7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSlice.js @@ -0,0 +1,31 @@ +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +export default baseSlice; diff --git a/.output/server/node_modules/lodash-es/_baseSome.js b/.output/server/node_modules/lodash-es/_baseSome.js new file mode 100644 index 00000000..f2647c23 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSome.js @@ -0,0 +1,22 @@ +import baseEach from './_baseEach.js'; + +/** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; +} + +export default baseSome; diff --git a/.output/server/node_modules/lodash-es/_baseSortBy.js b/.output/server/node_modules/lodash-es/_baseSortBy.js new file mode 100644 index 00000000..e2041cd6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSortBy.js @@ -0,0 +1,21 @@ +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +export default baseSortBy; diff --git a/.output/server/node_modules/lodash-es/_baseSortedIndex.js b/.output/server/node_modules/lodash-es/_baseSortedIndex.js new file mode 100644 index 00000000..c1925059 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSortedIndex.js @@ -0,0 +1,42 @@ +import baseSortedIndexBy from './_baseSortedIndexBy.js'; +import identity from './identity.js'; +import isSymbol from './isSymbol.js'; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + +/** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); +} + +export default baseSortedIndex; diff --git a/.output/server/node_modules/lodash-es/_baseSortedIndexBy.js b/.output/server/node_modules/lodash-es/_baseSortedIndexBy.js new file mode 100644 index 00000000..6ab15653 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSortedIndexBy.js @@ -0,0 +1,67 @@ +import isSymbol from './isSymbol.js'; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeMin = Math.min; + +/** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); +} + +export default baseSortedIndexBy; diff --git a/.output/server/node_modules/lodash-es/_baseSortedUniq.js b/.output/server/node_modules/lodash-es/_baseSortedUniq.js new file mode 100644 index 00000000..cb44abc1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSortedUniq.js @@ -0,0 +1,30 @@ +import eq from './eq.js'; + +/** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; +} + +export default baseSortedUniq; diff --git a/.output/server/node_modules/lodash-es/_baseSum.js b/.output/server/node_modules/lodash-es/_baseSum.js new file mode 100644 index 00000000..61b3da44 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseSum.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ +function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; +} + +export default baseSum; diff --git a/.output/server/node_modules/lodash-es/_baseTimes.js b/.output/server/node_modules/lodash-es/_baseTimes.js new file mode 100644 index 00000000..d5d0e274 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseTimes.js @@ -0,0 +1,20 @@ +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +export default baseTimes; diff --git a/.output/server/node_modules/lodash-es/_baseToNumber.js b/.output/server/node_modules/lodash-es/_baseToNumber.js new file mode 100644 index 00000000..3552d1a2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseToNumber.js @@ -0,0 +1,24 @@ +import isSymbol from './isSymbol.js'; + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ +function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; +} + +export default baseToNumber; diff --git a/.output/server/node_modules/lodash-es/_baseToPairs.js b/.output/server/node_modules/lodash-es/_baseToPairs.js new file mode 100644 index 00000000..c1e3f9f8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseToPairs.js @@ -0,0 +1,18 @@ +import arrayMap from './_arrayMap.js'; + +/** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ +function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); +} + +export default baseToPairs; diff --git a/.output/server/node_modules/lodash-es/_baseToString.js b/.output/server/node_modules/lodash-es/_baseToString.js new file mode 100644 index 00000000..7b5b35c5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseToString.js @@ -0,0 +1,37 @@ +import Symbol from './_Symbol.js'; +import arrayMap from './_arrayMap.js'; +import isArray from './isArray.js'; +import isSymbol from './isSymbol.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +export default baseToString; diff --git a/.output/server/node_modules/lodash-es/_baseTrim.js b/.output/server/node_modules/lodash-es/_baseTrim.js new file mode 100644 index 00000000..669f793a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseTrim.js @@ -0,0 +1,19 @@ +import trimmedEndIndex from './_trimmedEndIndex.js'; + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +export default baseTrim; diff --git a/.output/server/node_modules/lodash-es/_baseUnary.js b/.output/server/node_modules/lodash-es/_baseUnary.js new file mode 100644 index 00000000..e756a322 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseUnary.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +export default baseUnary; diff --git a/.output/server/node_modules/lodash-es/_baseUniq.js b/.output/server/node_modules/lodash-es/_baseUniq.js new file mode 100644 index 00000000..4ca0bcde --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseUniq.js @@ -0,0 +1,72 @@ +import SetCache from './_SetCache.js'; +import arrayIncludes from './_arrayIncludes.js'; +import arrayIncludesWith from './_arrayIncludesWith.js'; +import cacheHas from './_cacheHas.js'; +import createSet from './_createSet.js'; +import setToArray from './_setToArray.js'; + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +export default baseUniq; diff --git a/.output/server/node_modules/lodash-es/_baseUnset.js b/.output/server/node_modules/lodash-es/_baseUnset.js new file mode 100644 index 00000000..64b7b9cb --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseUnset.js @@ -0,0 +1,20 @@ +import castPath from './_castPath.js'; +import last from './last.js'; +import parent from './_parent.js'; +import toKey from './_toKey.js'; + +/** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ +function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; +} + +export default baseUnset; diff --git a/.output/server/node_modules/lodash-es/_baseUpdate.js b/.output/server/node_modules/lodash-es/_baseUpdate.js new file mode 100644 index 00000000..70dd150f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseUpdate.js @@ -0,0 +1,18 @@ +import baseGet from './_baseGet.js'; +import baseSet from './_baseSet.js'; + +/** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); +} + +export default baseUpdate; diff --git a/.output/server/node_modules/lodash-es/_baseValues.js b/.output/server/node_modules/lodash-es/_baseValues.js new file mode 100644 index 00000000..f3a38d2d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseValues.js @@ -0,0 +1,19 @@ +import arrayMap from './_arrayMap.js'; + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); +} + +export default baseValues; diff --git a/.output/server/node_modules/lodash-es/_baseWhile.js b/.output/server/node_modules/lodash-es/_baseWhile.js new file mode 100644 index 00000000..5536ea6e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseWhile.js @@ -0,0 +1,26 @@ +import baseSlice from './_baseSlice.js'; + +/** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ +function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); +} + +export default baseWhile; diff --git a/.output/server/node_modules/lodash-es/_baseWrapperValue.js b/.output/server/node_modules/lodash-es/_baseWrapperValue.js new file mode 100644 index 00000000..0b6807ee --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseWrapperValue.js @@ -0,0 +1,25 @@ +import LazyWrapper from './_LazyWrapper.js'; +import arrayPush from './_arrayPush.js'; +import arrayReduce from './_arrayReduce.js'; + +/** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ +function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); +} + +export default baseWrapperValue; diff --git a/.output/server/node_modules/lodash-es/_baseXor.js b/.output/server/node_modules/lodash-es/_baseXor.js new file mode 100644 index 00000000..9cebe674 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseXor.js @@ -0,0 +1,36 @@ +import baseDifference from './_baseDifference.js'; +import baseFlatten from './_baseFlatten.js'; +import baseUniq from './_baseUniq.js'; + +/** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ +function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); +} + +export default baseXor; diff --git a/.output/server/node_modules/lodash-es/_baseZipObject.js b/.output/server/node_modules/lodash-es/_baseZipObject.js new file mode 100644 index 00000000..f6f4a3cc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_baseZipObject.js @@ -0,0 +1,23 @@ +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; +} + +export default baseZipObject; diff --git a/.output/server/node_modules/lodash-es/_cacheHas.js b/.output/server/node_modules/lodash-es/_cacheHas.js new file mode 100644 index 00000000..374a8865 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cacheHas.js @@ -0,0 +1,13 @@ +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +export default cacheHas; diff --git a/.output/server/node_modules/lodash-es/_castArrayLikeObject.js b/.output/server/node_modules/lodash-es/_castArrayLikeObject.js new file mode 100644 index 00000000..040d3e5e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_castArrayLikeObject.js @@ -0,0 +1,14 @@ +import isArrayLikeObject from './isArrayLikeObject.js'; + +/** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ +function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; +} + +export default castArrayLikeObject; diff --git a/.output/server/node_modules/lodash-es/_castFunction.js b/.output/server/node_modules/lodash-es/_castFunction.js new file mode 100644 index 00000000..03a2e991 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_castFunction.js @@ -0,0 +1,14 @@ +import identity from './identity.js'; + +/** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ +function castFunction(value) { + return typeof value == 'function' ? value : identity; +} + +export default castFunction; diff --git a/.output/server/node_modules/lodash-es/_castPath.js b/.output/server/node_modules/lodash-es/_castPath.js new file mode 100644 index 00000000..89aae955 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_castPath.js @@ -0,0 +1,21 @@ +import isArray from './isArray.js'; +import isKey from './_isKey.js'; +import stringToPath from './_stringToPath.js'; +import toString from './toString.js'; + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +export default castPath; diff --git a/.output/server/node_modules/lodash-es/_castRest.js b/.output/server/node_modules/lodash-es/_castRest.js new file mode 100644 index 00000000..6f43d021 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_castRest.js @@ -0,0 +1,14 @@ +import baseRest from './_baseRest.js'; + +/** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +var castRest = baseRest; + +export default castRest; diff --git a/.output/server/node_modules/lodash-es/_castSlice.js b/.output/server/node_modules/lodash-es/_castSlice.js new file mode 100644 index 00000000..011bbe4e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_castSlice.js @@ -0,0 +1,18 @@ +import baseSlice from './_baseSlice.js'; + +/** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ +function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); +} + +export default castSlice; diff --git a/.output/server/node_modules/lodash-es/_charsEndIndex.js b/.output/server/node_modules/lodash-es/_charsEndIndex.js new file mode 100644 index 00000000..af9926e7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_charsEndIndex.js @@ -0,0 +1,19 @@ +import baseIndexOf from './_baseIndexOf.js'; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ +function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +export default charsEndIndex; diff --git a/.output/server/node_modules/lodash-es/_charsStartIndex.js b/.output/server/node_modules/lodash-es/_charsStartIndex.js new file mode 100644 index 00000000..7406b19f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_charsStartIndex.js @@ -0,0 +1,20 @@ +import baseIndexOf from './_baseIndexOf.js'; + +/** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ +function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +export default charsStartIndex; diff --git a/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js b/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js new file mode 100644 index 00000000..9f33e7a7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js @@ -0,0 +1,16 @@ +import Uint8Array from './_Uint8Array.js'; + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +export default cloneArrayBuffer; diff --git a/.output/server/node_modules/lodash-es/_cloneBuffer.js b/.output/server/node_modules/lodash-es/_cloneBuffer.js new file mode 100644 index 00000000..21b192e9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneBuffer.js @@ -0,0 +1,35 @@ +import root from './_root.js'; + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +export default cloneBuffer; diff --git a/.output/server/node_modules/lodash-es/_cloneDataView.js b/.output/server/node_modules/lodash-es/_cloneDataView.js new file mode 100644 index 00000000..f9b9a6f0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneDataView.js @@ -0,0 +1,16 @@ +import cloneArrayBuffer from './_cloneArrayBuffer.js'; + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +export default cloneDataView; diff --git a/.output/server/node_modules/lodash-es/_cloneRegExp.js b/.output/server/node_modules/lodash-es/_cloneRegExp.js new file mode 100644 index 00000000..0ddb49b4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneRegExp.js @@ -0,0 +1,17 @@ +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +export default cloneRegExp; diff --git a/.output/server/node_modules/lodash-es/_cloneSymbol.js b/.output/server/node_modules/lodash-es/_cloneSymbol.js new file mode 100644 index 00000000..357b155f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneSymbol.js @@ -0,0 +1,18 @@ +import Symbol from './_Symbol.js'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +export default cloneSymbol; diff --git a/.output/server/node_modules/lodash-es/_cloneTypedArray.js b/.output/server/node_modules/lodash-es/_cloneTypedArray.js new file mode 100644 index 00000000..2fa9b8a6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_cloneTypedArray.js @@ -0,0 +1,16 @@ +import cloneArrayBuffer from './_cloneArrayBuffer.js'; + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +export default cloneTypedArray; diff --git a/.output/server/node_modules/lodash-es/_compareAscending.js b/.output/server/node_modules/lodash-es/_compareAscending.js new file mode 100644 index 00000000..f4451931 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_compareAscending.js @@ -0,0 +1,41 @@ +import isSymbol from './isSymbol.js'; + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +export default compareAscending; diff --git a/.output/server/node_modules/lodash-es/_compareMultiple.js b/.output/server/node_modules/lodash-es/_compareMultiple.js new file mode 100644 index 00000000..06e75573 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_compareMultiple.js @@ -0,0 +1,44 @@ +import compareAscending from './_compareAscending.js'; + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +export default compareMultiple; diff --git a/.output/server/node_modules/lodash-es/_composeArgs.js b/.output/server/node_modules/lodash-es/_composeArgs.js new file mode 100644 index 00000000..82643bdf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_composeArgs.js @@ -0,0 +1,39 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; +} + +export default composeArgs; diff --git a/.output/server/node_modules/lodash-es/_composeArgsRight.js b/.output/server/node_modules/lodash-es/_composeArgsRight.js new file mode 100644 index 00000000..9540e39c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_composeArgsRight.js @@ -0,0 +1,41 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; +} + +export default composeArgsRight; diff --git a/.output/server/node_modules/lodash-es/_copyArray.js b/.output/server/node_modules/lodash-es/_copyArray.js new file mode 100644 index 00000000..b29b71e9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_copyArray.js @@ -0,0 +1,20 @@ +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +export default copyArray; diff --git a/.output/server/node_modules/lodash-es/_copyObject.js b/.output/server/node_modules/lodash-es/_copyObject.js new file mode 100644 index 00000000..4e247555 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_copyObject.js @@ -0,0 +1,40 @@ +import assignValue from './_assignValue.js'; +import baseAssignValue from './_baseAssignValue.js'; + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +export default copyObject; diff --git a/.output/server/node_modules/lodash-es/_copySymbols.js b/.output/server/node_modules/lodash-es/_copySymbols.js new file mode 100644 index 00000000..002d8b76 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_copySymbols.js @@ -0,0 +1,16 @@ +import copyObject from './_copyObject.js'; +import getSymbols from './_getSymbols.js'; + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); +} + +export default copySymbols; diff --git a/.output/server/node_modules/lodash-es/_copySymbolsIn.js b/.output/server/node_modules/lodash-es/_copySymbolsIn.js new file mode 100644 index 00000000..12268d27 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_copySymbolsIn.js @@ -0,0 +1,16 @@ +import copyObject from './_copyObject.js'; +import getSymbolsIn from './_getSymbolsIn.js'; + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); +} + +export default copySymbolsIn; diff --git a/.output/server/node_modules/lodash-es/_coreJsData.js b/.output/server/node_modules/lodash-es/_coreJsData.js new file mode 100644 index 00000000..2ad4fc14 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_coreJsData.js @@ -0,0 +1,6 @@ +import root from './_root.js'; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +export default coreJsData; diff --git a/.output/server/node_modules/lodash-es/_countHolders.js b/.output/server/node_modules/lodash-es/_countHolders.js new file mode 100644 index 00000000..0767946d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_countHolders.js @@ -0,0 +1,21 @@ +/** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ +function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; +} + +export default countHolders; diff --git a/.output/server/node_modules/lodash-es/_createAggregator.js b/.output/server/node_modules/lodash-es/_createAggregator.js new file mode 100644 index 00000000..578c0ae7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createAggregator.js @@ -0,0 +1,23 @@ +import arrayAggregator from './_arrayAggregator.js'; +import baseAggregator from './_baseAggregator.js'; +import baseIteratee from './_baseIteratee.js'; +import isArray from './isArray.js'; + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, baseIteratee(iteratee, 2), accumulator); + }; +} + +export default createAggregator; diff --git a/.output/server/node_modules/lodash-es/_createAssigner.js b/.output/server/node_modules/lodash-es/_createAssigner.js new file mode 100644 index 00000000..67dc499b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createAssigner.js @@ -0,0 +1,37 @@ +import baseRest from './_baseRest.js'; +import isIterateeCall from './_isIterateeCall.js'; + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +export default createAssigner; diff --git a/.output/server/node_modules/lodash-es/_createBaseEach.js b/.output/server/node_modules/lodash-es/_createBaseEach.js new file mode 100644 index 00000000..2c3181ba --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createBaseEach.js @@ -0,0 +1,32 @@ +import isArrayLike from './isArrayLike.js'; + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +export default createBaseEach; diff --git a/.output/server/node_modules/lodash-es/_createBaseFor.js b/.output/server/node_modules/lodash-es/_createBaseFor.js new file mode 100644 index 00000000..ac15c59a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createBaseFor.js @@ -0,0 +1,25 @@ +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +export default createBaseFor; diff --git a/.output/server/node_modules/lodash-es/_createBind.js b/.output/server/node_modules/lodash-es/_createBind.js new file mode 100644 index 00000000..3083ae49 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createBind.js @@ -0,0 +1,28 @@ +import createCtor from './_createCtor.js'; +import root from './_root.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; +} + +export default createBind; diff --git a/.output/server/node_modules/lodash-es/_createCaseFirst.js b/.output/server/node_modules/lodash-es/_createCaseFirst.js new file mode 100644 index 00000000..333c7c4c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createCaseFirst.js @@ -0,0 +1,33 @@ +import castSlice from './_castSlice.js'; +import hasUnicode from './_hasUnicode.js'; +import stringToArray from './_stringToArray.js'; +import toString from './toString.js'; + +/** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ +function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; +} + +export default createCaseFirst; diff --git a/.output/server/node_modules/lodash-es/_createCompounder.js b/.output/server/node_modules/lodash-es/_createCompounder.js new file mode 100644 index 00000000..f3503fb0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createCompounder.js @@ -0,0 +1,24 @@ +import arrayReduce from './_arrayReduce.js'; +import deburr from './deburr.js'; +import words from './words.js'; + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]"; + +/** Used to match apostrophes. */ +var reApos = RegExp(rsApos, 'g'); + +/** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ +function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; +} + +export default createCompounder; diff --git a/.output/server/node_modules/lodash-es/_createCtor.js b/.output/server/node_modules/lodash-es/_createCtor.js new file mode 100644 index 00000000..57f32b15 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createCtor.js @@ -0,0 +1,37 @@ +import baseCreate from './_baseCreate.js'; +import isObject from './isObject.js'; + +/** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ +function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; +} + +export default createCtor; diff --git a/.output/server/node_modules/lodash-es/_createCurry.js b/.output/server/node_modules/lodash-es/_createCurry.js new file mode 100644 index 00000000..cae7f934 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createCurry.js @@ -0,0 +1,46 @@ +import apply from './_apply.js'; +import createCtor from './_createCtor.js'; +import createHybrid from './_createHybrid.js'; +import createRecurry from './_createRecurry.js'; +import getHolder from './_getHolder.js'; +import replaceHolders from './_replaceHolders.js'; +import root from './_root.js'; + +/** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; +} + +export default createCurry; diff --git a/.output/server/node_modules/lodash-es/_createFind.js b/.output/server/node_modules/lodash-es/_createFind.js new file mode 100644 index 00000000..d3f8bd55 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createFind.js @@ -0,0 +1,25 @@ +import baseIteratee from './_baseIteratee.js'; +import isArrayLike from './isArrayLike.js'; +import keys from './keys.js'; + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +export default createFind; diff --git a/.output/server/node_modules/lodash-es/_createFlow.js b/.output/server/node_modules/lodash-es/_createFlow.js new file mode 100644 index 00000000..8e970846 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createFlow.js @@ -0,0 +1,78 @@ +import LodashWrapper from './_LodashWrapper.js'; +import flatRest from './_flatRest.js'; +import getData from './_getData.js'; +import getFuncName from './_getFuncName.js'; +import isArray from './isArray.js'; +import isLaziable from './_isLaziable.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ +function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); +} + +export default createFlow; diff --git a/.output/server/node_modules/lodash-es/_createHybrid.js b/.output/server/node_modules/lodash-es/_createHybrid.js new file mode 100644 index 00000000..300f66b1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createHybrid.js @@ -0,0 +1,92 @@ +import composeArgs from './_composeArgs.js'; +import composeArgsRight from './_composeArgsRight.js'; +import countHolders from './_countHolders.js'; +import createCtor from './_createCtor.js'; +import createRecurry from './_createRecurry.js'; +import getHolder from './_getHolder.js'; +import reorder from './_reorder.js'; +import replaceHolders from './_replaceHolders.js'; +import root from './_root.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_ARY_FLAG = 128, + WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; +} + +export default createHybrid; diff --git a/.output/server/node_modules/lodash-es/_createInverter.js b/.output/server/node_modules/lodash-es/_createInverter.js new file mode 100644 index 00000000..3db3f12d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createInverter.js @@ -0,0 +1,17 @@ +import baseInverter from './_baseInverter.js'; + +/** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ +function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; +} + +export default createInverter; diff --git a/.output/server/node_modules/lodash-es/_createMathOperation.js b/.output/server/node_modules/lodash-es/_createMathOperation.js new file mode 100644 index 00000000..cffe75d8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createMathOperation.js @@ -0,0 +1,38 @@ +import baseToNumber from './_baseToNumber.js'; +import baseToString from './_baseToString.js'; + +/** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ +function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; +} + +export default createMathOperation; diff --git a/.output/server/node_modules/lodash-es/_createOver.js b/.output/server/node_modules/lodash-es/_createOver.js new file mode 100644 index 00000000..a79f3738 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createOver.js @@ -0,0 +1,27 @@ +import apply from './_apply.js'; +import arrayMap from './_arrayMap.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import baseUnary from './_baseUnary.js'; +import flatRest from './_flatRest.js'; + +/** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ +function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); +} + +export default createOver; diff --git a/.output/server/node_modules/lodash-es/_createPadding.js b/.output/server/node_modules/lodash-es/_createPadding.js new file mode 100644 index 00000000..1e35cd82 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createPadding.js @@ -0,0 +1,33 @@ +import baseRepeat from './_baseRepeat.js'; +import baseToString from './_baseToString.js'; +import castSlice from './_castSlice.js'; +import hasUnicode from './_hasUnicode.js'; +import stringSize from './_stringSize.js'; +import stringToArray from './_stringToArray.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil; + +/** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ +function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); +} + +export default createPadding; diff --git a/.output/server/node_modules/lodash-es/_createPartial.js b/.output/server/node_modules/lodash-es/_createPartial.js new file mode 100644 index 00000000..851a3b6b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createPartial.js @@ -0,0 +1,43 @@ +import apply from './_apply.js'; +import createCtor from './_createCtor.js'; +import root from './_root.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ +function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; +} + +export default createPartial; diff --git a/.output/server/node_modules/lodash-es/_createRange.js b/.output/server/node_modules/lodash-es/_createRange.js new file mode 100644 index 00000000..51b427e6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createRange.js @@ -0,0 +1,30 @@ +import baseRange from './_baseRange.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toFinite from './toFinite.js'; + +/** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ +function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; +} + +export default createRange; diff --git a/.output/server/node_modules/lodash-es/_createRecurry.js b/.output/server/node_modules/lodash-es/_createRecurry.js new file mode 100644 index 00000000..d4bd5888 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createRecurry.js @@ -0,0 +1,56 @@ +import isLaziable from './_isLaziable.js'; +import setData from './_setData.js'; +import setWrapToString from './_setWrapToString.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); +} + +export default createRecurry; diff --git a/.output/server/node_modules/lodash-es/_createRelationalOperation.js b/.output/server/node_modules/lodash-es/_createRelationalOperation.js new file mode 100644 index 00000000..ea208c6a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createRelationalOperation.js @@ -0,0 +1,20 @@ +import toNumber from './toNumber.js'; + +/** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ +function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; +} + +export default createRelationalOperation; diff --git a/.output/server/node_modules/lodash-es/_createRound.js b/.output/server/node_modules/lodash-es/_createRound.js new file mode 100644 index 00000000..19cdceaa --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createRound.js @@ -0,0 +1,35 @@ +import root from './_root.js'; +import toInteger from './toInteger.js'; +import toNumber from './toNumber.js'; +import toString from './toString.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite, + nativeMin = Math.min; + +/** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ +function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; +} + +export default createRound; diff --git a/.output/server/node_modules/lodash-es/_createSet.js b/.output/server/node_modules/lodash-es/_createSet.js new file mode 100644 index 00000000..ead1dd70 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createSet.js @@ -0,0 +1,19 @@ +import Set from './_Set.js'; +import noop from './noop.js'; +import setToArray from './_setToArray.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); +}; + +export default createSet; diff --git a/.output/server/node_modules/lodash-es/_createToPairs.js b/.output/server/node_modules/lodash-es/_createToPairs.js new file mode 100644 index 00000000..433d654b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createToPairs.js @@ -0,0 +1,30 @@ +import baseToPairs from './_baseToPairs.js'; +import getTag from './_getTag.js'; +import mapToArray from './_mapToArray.js'; +import setToPairs from './_setToPairs.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ +function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; +} + +export default createToPairs; diff --git a/.output/server/node_modules/lodash-es/_createWrap.js b/.output/server/node_modules/lodash-es/_createWrap.js new file mode 100644 index 00000000..6b05382b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_createWrap.js @@ -0,0 +1,106 @@ +import baseSetData from './_baseSetData.js'; +import createBind from './_createBind.js'; +import createCurry from './_createCurry.js'; +import createHybrid from './_createHybrid.js'; +import createPartial from './_createPartial.js'; +import getData from './_getData.js'; +import mergeData from './_mergeData.js'; +import setData from './_setData.js'; +import setWrapToString from './_setWrapToString.js'; +import toInteger from './toInteger.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); +} + +export default createWrap; diff --git a/.output/server/node_modules/lodash-es/_customDefaultsAssignIn.js b/.output/server/node_modules/lodash-es/_customDefaultsAssignIn.js new file mode 100644 index 00000000..0de9339b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_customDefaultsAssignIn.js @@ -0,0 +1,29 @@ +import eq from './eq.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ +function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; +} + +export default customDefaultsAssignIn; diff --git a/.output/server/node_modules/lodash-es/_customDefaultsMerge.js b/.output/server/node_modules/lodash-es/_customDefaultsMerge.js new file mode 100644 index 00000000..63c21c88 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_customDefaultsMerge.js @@ -0,0 +1,28 @@ +import baseMerge from './_baseMerge.js'; +import isObject from './isObject.js'; + +/** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ +function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; +} + +export default customDefaultsMerge; diff --git a/.output/server/node_modules/lodash-es/_customOmitClone.js b/.output/server/node_modules/lodash-es/_customOmitClone.js new file mode 100644 index 00000000..00ca4412 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_customOmitClone.js @@ -0,0 +1,16 @@ +import isPlainObject from './isPlainObject.js'; + +/** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ +function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; +} + +export default customOmitClone; diff --git a/.output/server/node_modules/lodash-es/_deburrLetter.js b/.output/server/node_modules/lodash-es/_deburrLetter.js new file mode 100644 index 00000000..88a7b99d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_deburrLetter.js @@ -0,0 +1,71 @@ +import basePropertyOf from './_basePropertyOf.js'; + +/** Used to map Latin Unicode letters to basic Latin letters. */ +var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' +}; + +/** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ +var deburrLetter = basePropertyOf(deburredLetters); + +export default deburrLetter; diff --git a/.output/server/node_modules/lodash-es/_defineProperty.js b/.output/server/node_modules/lodash-es/_defineProperty.js new file mode 100644 index 00000000..826fc1dc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_defineProperty.js @@ -0,0 +1,11 @@ +import getNative from './_getNative.js'; + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +export default defineProperty; diff --git a/.output/server/node_modules/lodash-es/_equalArrays.js b/.output/server/node_modules/lodash-es/_equalArrays.js new file mode 100644 index 00000000..cf599255 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_equalArrays.js @@ -0,0 +1,84 @@ +import SetCache from './_SetCache.js'; +import arraySome from './_arraySome.js'; +import cacheHas from './_cacheHas.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +export default equalArrays; diff --git a/.output/server/node_modules/lodash-es/_equalByTag.js b/.output/server/node_modules/lodash-es/_equalByTag.js new file mode 100644 index 00000000..a7090ffe --- /dev/null +++ b/.output/server/node_modules/lodash-es/_equalByTag.js @@ -0,0 +1,112 @@ +import Symbol from './_Symbol.js'; +import Uint8Array from './_Uint8Array.js'; +import eq from './eq.js'; +import equalArrays from './_equalArrays.js'; +import mapToArray from './_mapToArray.js'; +import setToArray from './_setToArray.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +export default equalByTag; diff --git a/.output/server/node_modules/lodash-es/_equalObjects.js b/.output/server/node_modules/lodash-es/_equalObjects.js new file mode 100644 index 00000000..91795616 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_equalObjects.js @@ -0,0 +1,90 @@ +import getAllKeys from './_getAllKeys.js'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +export default equalObjects; diff --git a/.output/server/node_modules/lodash-es/_escapeHtmlChar.js b/.output/server/node_modules/lodash-es/_escapeHtmlChar.js new file mode 100644 index 00000000..53624033 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_escapeHtmlChar.js @@ -0,0 +1,21 @@ +import basePropertyOf from './_basePropertyOf.js'; + +/** Used to map characters to HTML entities. */ +var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; + +/** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +var escapeHtmlChar = basePropertyOf(htmlEscapes); + +export default escapeHtmlChar; diff --git a/.output/server/node_modules/lodash-es/_escapeStringChar.js b/.output/server/node_modules/lodash-es/_escapeStringChar.js new file mode 100644 index 00000000..bec22499 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_escapeStringChar.js @@ -0,0 +1,22 @@ +/** Used to escape characters for inclusion in compiled string literals. */ +var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +/** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; +} + +export default escapeStringChar; diff --git a/.output/server/node_modules/lodash-es/_flatRest.js b/.output/server/node_modules/lodash-es/_flatRest.js new file mode 100644 index 00000000..45dc4390 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_flatRest.js @@ -0,0 +1,16 @@ +import flatten from './flatten.js'; +import overRest from './_overRest.js'; +import setToString from './_setToString.js'; + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +export default flatRest; diff --git a/.output/server/node_modules/lodash-es/_freeGlobal.js b/.output/server/node_modules/lodash-es/_freeGlobal.js new file mode 100644 index 00000000..5e383a14 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_freeGlobal.js @@ -0,0 +1,4 @@ +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +export default freeGlobal; diff --git a/.output/server/node_modules/lodash-es/_getAllKeys.js b/.output/server/node_modules/lodash-es/_getAllKeys.js new file mode 100644 index 00000000..e9a6772e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getAllKeys.js @@ -0,0 +1,16 @@ +import baseGetAllKeys from './_baseGetAllKeys.js'; +import getSymbols from './_getSymbols.js'; +import keys from './keys.js'; + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +export default getAllKeys; diff --git a/.output/server/node_modules/lodash-es/_getAllKeysIn.js b/.output/server/node_modules/lodash-es/_getAllKeysIn.js new file mode 100644 index 00000000..d7fac96f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getAllKeysIn.js @@ -0,0 +1,17 @@ +import baseGetAllKeys from './_baseGetAllKeys.js'; +import getSymbolsIn from './_getSymbolsIn.js'; +import keysIn from './keysIn.js'; + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); +} + +export default getAllKeysIn; diff --git a/.output/server/node_modules/lodash-es/_getData.js b/.output/server/node_modules/lodash-es/_getData.js new file mode 100644 index 00000000..36265ebd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getData.js @@ -0,0 +1,15 @@ +import metaMap from './_metaMap.js'; +import noop from './noop.js'; + +/** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ +var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); +}; + +export default getData; diff --git a/.output/server/node_modules/lodash-es/_getFuncName.js b/.output/server/node_modules/lodash-es/_getFuncName.js new file mode 100644 index 00000000..06e2a3d9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getFuncName.js @@ -0,0 +1,31 @@ +import realNames from './_realNames.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ +function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; +} + +export default getFuncName; diff --git a/.output/server/node_modules/lodash-es/_getHolder.js b/.output/server/node_modules/lodash-es/_getHolder.js new file mode 100644 index 00000000..9f76b190 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getHolder.js @@ -0,0 +1,13 @@ +/** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ +function getHolder(func) { + var object = func; + return object.placeholder; +} + +export default getHolder; diff --git a/.output/server/node_modules/lodash-es/_getMapData.js b/.output/server/node_modules/lodash-es/_getMapData.js new file mode 100644 index 00000000..6f55f4f7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getMapData.js @@ -0,0 +1,18 @@ +import isKeyable from './_isKeyable.js'; + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +export default getMapData; diff --git a/.output/server/node_modules/lodash-es/_getMatchData.js b/.output/server/node_modules/lodash-es/_getMatchData.js new file mode 100644 index 00000000..545d3e89 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getMatchData.js @@ -0,0 +1,24 @@ +import isStrictComparable from './_isStrictComparable.js'; +import keys from './keys.js'; + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +export default getMatchData; diff --git a/.output/server/node_modules/lodash-es/_getNative.js b/.output/server/node_modules/lodash-es/_getNative.js new file mode 100644 index 00000000..d2cb4386 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getNative.js @@ -0,0 +1,17 @@ +import baseIsNative from './_baseIsNative.js'; +import getValue from './_getValue.js'; + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +export default getNative; diff --git a/.output/server/node_modules/lodash-es/_getPrototype.js b/.output/server/node_modules/lodash-es/_getPrototype.js new file mode 100644 index 00000000..ce92d488 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getPrototype.js @@ -0,0 +1,6 @@ +import overArg from './_overArg.js'; + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +export default getPrototype; diff --git a/.output/server/node_modules/lodash-es/_getRawTag.js b/.output/server/node_modules/lodash-es/_getRawTag.js new file mode 100644 index 00000000..a89a35b1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getRawTag.js @@ -0,0 +1,46 @@ +import Symbol from './_Symbol.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +export default getRawTag; diff --git a/.output/server/node_modules/lodash-es/_getSymbols.js b/.output/server/node_modules/lodash-es/_getSymbols.js new file mode 100644 index 00000000..474442ab --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getSymbols.js @@ -0,0 +1,30 @@ +import arrayFilter from './_arrayFilter.js'; +import stubArray from './stubArray.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +export default getSymbols; diff --git a/.output/server/node_modules/lodash-es/_getSymbolsIn.js b/.output/server/node_modules/lodash-es/_getSymbolsIn.js new file mode 100644 index 00000000..5f33b71e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getSymbolsIn.js @@ -0,0 +1,25 @@ +import arrayPush from './_arrayPush.js'; +import getPrototype from './_getPrototype.js'; +import getSymbols from './_getSymbols.js'; +import stubArray from './stubArray.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; +}; + +export default getSymbolsIn; diff --git a/.output/server/node_modules/lodash-es/_getTag.js b/.output/server/node_modules/lodash-es/_getTag.js new file mode 100644 index 00000000..0c86db0f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getTag.js @@ -0,0 +1,58 @@ +import DataView from './_DataView.js'; +import Map from './_Map.js'; +import Promise from './_Promise.js'; +import Set from './_Set.js'; +import WeakMap from './_WeakMap.js'; +import baseGetTag from './_baseGetTag.js'; +import toSource from './_toSource.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + +var dataViewTag = '[object DataView]'; + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +export default getTag; diff --git a/.output/server/node_modules/lodash-es/_getValue.js b/.output/server/node_modules/lodash-es/_getValue.js new file mode 100644 index 00000000..cbdd538d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getValue.js @@ -0,0 +1,13 @@ +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +export default getValue; diff --git a/.output/server/node_modules/lodash-es/_getView.js b/.output/server/node_modules/lodash-es/_getView.js new file mode 100644 index 00000000..14fbba4d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getView.js @@ -0,0 +1,33 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ +function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; +} + +export default getView; diff --git a/.output/server/node_modules/lodash-es/_getWrapDetails.js b/.output/server/node_modules/lodash-es/_getWrapDetails.js new file mode 100644 index 00000000..1de838d8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_getWrapDetails.js @@ -0,0 +1,17 @@ +/** Used to match wrap detail comments. */ +var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + +/** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ +function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; +} + +export default getWrapDetails; diff --git a/.output/server/node_modules/lodash-es/_hasPath.js b/.output/server/node_modules/lodash-es/_hasPath.js new file mode 100644 index 00000000..7decc6c0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hasPath.js @@ -0,0 +1,39 @@ +import castPath from './_castPath.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; +import isIndex from './_isIndex.js'; +import isLength from './isLength.js'; +import toKey from './_toKey.js'; + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +export default hasPath; diff --git a/.output/server/node_modules/lodash-es/_hasUnicode.js b/.output/server/node_modules/lodash-es/_hasUnicode.js new file mode 100644 index 00000000..c0808981 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hasUnicode.js @@ -0,0 +1,26 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsZWJ = '\\u200d'; + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +export default hasUnicode; diff --git a/.output/server/node_modules/lodash-es/_hasUnicodeWord.js b/.output/server/node_modules/lodash-es/_hasUnicodeWord.js new file mode 100644 index 00000000..eecc5ddf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hasUnicodeWord.js @@ -0,0 +1,15 @@ +/** Used to detect strings that need a more robust regexp to match words. */ +var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + +/** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ +function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); +} + +export default hasUnicodeWord; diff --git a/.output/server/node_modules/lodash-es/_hashClear.js b/.output/server/node_modules/lodash-es/_hashClear.js new file mode 100644 index 00000000..5b7cc2d0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hashClear.js @@ -0,0 +1,15 @@ +import nativeCreate from './_nativeCreate.js'; + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +export default hashClear; diff --git a/.output/server/node_modules/lodash-es/_hashDelete.js b/.output/server/node_modules/lodash-es/_hashDelete.js new file mode 100644 index 00000000..509839f5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hashDelete.js @@ -0,0 +1,17 @@ +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +export default hashDelete; diff --git a/.output/server/node_modules/lodash-es/_hashGet.js b/.output/server/node_modules/lodash-es/_hashGet.js new file mode 100644 index 00000000..4a3f43b2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hashGet.js @@ -0,0 +1,30 @@ +import nativeCreate from './_nativeCreate.js'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +export default hashGet; diff --git a/.output/server/node_modules/lodash-es/_hashHas.js b/.output/server/node_modules/lodash-es/_hashHas.js new file mode 100644 index 00000000..6db025d8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hashHas.js @@ -0,0 +1,23 @@ +import nativeCreate from './_nativeCreate.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +export default hashHas; diff --git a/.output/server/node_modules/lodash-es/_hashSet.js b/.output/server/node_modules/lodash-es/_hashSet.js new file mode 100644 index 00000000..63a0115b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_hashSet.js @@ -0,0 +1,23 @@ +import nativeCreate from './_nativeCreate.js'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +export default hashSet; diff --git a/.output/server/node_modules/lodash-es/_initCloneArray.js b/.output/server/node_modules/lodash-es/_initCloneArray.js new file mode 100644 index 00000000..67478a80 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_initCloneArray.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +export default initCloneArray; diff --git a/.output/server/node_modules/lodash-es/_initCloneByTag.js b/.output/server/node_modules/lodash-es/_initCloneByTag.js new file mode 100644 index 00000000..0b03f8d0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_initCloneByTag.js @@ -0,0 +1,77 @@ +import cloneArrayBuffer from './_cloneArrayBuffer.js'; +import cloneDataView from './_cloneDataView.js'; +import cloneRegExp from './_cloneRegExp.js'; +import cloneSymbol from './_cloneSymbol.js'; +import cloneTypedArray from './_cloneTypedArray.js'; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } +} + +export default initCloneByTag; diff --git a/.output/server/node_modules/lodash-es/_initCloneObject.js b/.output/server/node_modules/lodash-es/_initCloneObject.js new file mode 100644 index 00000000..bdcf19b0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_initCloneObject.js @@ -0,0 +1,18 @@ +import baseCreate from './_baseCreate.js'; +import getPrototype from './_getPrototype.js'; +import isPrototype from './_isPrototype.js'; + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +export default initCloneObject; diff --git a/.output/server/node_modules/lodash-es/_insertWrapDetails.js b/.output/server/node_modules/lodash-es/_insertWrapDetails.js new file mode 100644 index 00000000..5191b7ab --- /dev/null +++ b/.output/server/node_modules/lodash-es/_insertWrapDetails.js @@ -0,0 +1,23 @@ +/** Used to match wrap detail comments. */ +var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; + +/** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ +function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); +} + +export default insertWrapDetails; diff --git a/.output/server/node_modules/lodash-es/_isFlattenable.js b/.output/server/node_modules/lodash-es/_isFlattenable.js new file mode 100644 index 00000000..3bdef965 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isFlattenable.js @@ -0,0 +1,20 @@ +import Symbol from './_Symbol.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +export default isFlattenable; diff --git a/.output/server/node_modules/lodash-es/_isIndex.js b/.output/server/node_modules/lodash-es/_isIndex.js new file mode 100644 index 00000000..b6cb47f3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isIndex.js @@ -0,0 +1,25 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +export default isIndex; diff --git a/.output/server/node_modules/lodash-es/_isIterateeCall.js b/.output/server/node_modules/lodash-es/_isIterateeCall.js new file mode 100644 index 00000000..1fb6dc93 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isIterateeCall.js @@ -0,0 +1,30 @@ +import eq from './eq.js'; +import isArrayLike from './isArrayLike.js'; +import isIndex from './_isIndex.js'; +import isObject from './isObject.js'; + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +export default isIterateeCall; diff --git a/.output/server/node_modules/lodash-es/_isKey.js b/.output/server/node_modules/lodash-es/_isKey.js new file mode 100644 index 00000000..3e36bce8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isKey.js @@ -0,0 +1,29 @@ +import isArray from './isArray.js'; +import isSymbol from './isSymbol.js'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +export default isKey; diff --git a/.output/server/node_modules/lodash-es/_isKeyable.js b/.output/server/node_modules/lodash-es/_isKeyable.js new file mode 100644 index 00000000..22715962 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isKeyable.js @@ -0,0 +1,15 @@ +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +export default isKeyable; diff --git a/.output/server/node_modules/lodash-es/_isLaziable.js b/.output/server/node_modules/lodash-es/_isLaziable.js new file mode 100644 index 00000000..45a8b1fc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isLaziable.js @@ -0,0 +1,28 @@ +import LazyWrapper from './_LazyWrapper.js'; +import getData from './_getData.js'; +import getFuncName from './_getFuncName.js'; +import lodash from './wrapperLodash.js'; + +/** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ +function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; +} + +export default isLaziable; diff --git a/.output/server/node_modules/lodash-es/_isMaskable.js b/.output/server/node_modules/lodash-es/_isMaskable.js new file mode 100644 index 00000000..4c17c1c0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isMaskable.js @@ -0,0 +1,14 @@ +import coreJsData from './_coreJsData.js'; +import isFunction from './isFunction.js'; +import stubFalse from './stubFalse.js'; + +/** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ +var isMaskable = coreJsData ? isFunction : stubFalse; + +export default isMaskable; diff --git a/.output/server/node_modules/lodash-es/_isMasked.js b/.output/server/node_modules/lodash-es/_isMasked.js new file mode 100644 index 00000000..e3f9d6f4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isMasked.js @@ -0,0 +1,20 @@ +import coreJsData from './_coreJsData.js'; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +export default isMasked; diff --git a/.output/server/node_modules/lodash-es/_isPrototype.js b/.output/server/node_modules/lodash-es/_isPrototype.js new file mode 100644 index 00000000..f6c7660d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isPrototype.js @@ -0,0 +1,18 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +export default isPrototype; diff --git a/.output/server/node_modules/lodash-es/_isStrictComparable.js b/.output/server/node_modules/lodash-es/_isStrictComparable.js new file mode 100644 index 00000000..087efddb --- /dev/null +++ b/.output/server/node_modules/lodash-es/_isStrictComparable.js @@ -0,0 +1,15 @@ +import isObject from './isObject.js'; + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +export default isStrictComparable; diff --git a/.output/server/node_modules/lodash-es/_iteratorToArray.js b/.output/server/node_modules/lodash-es/_iteratorToArray.js new file mode 100644 index 00000000..315bf2bf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_iteratorToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ +function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; +} + +export default iteratorToArray; diff --git a/.output/server/node_modules/lodash-es/_lazyClone.js b/.output/server/node_modules/lodash-es/_lazyClone.js new file mode 100644 index 00000000..d2f16290 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_lazyClone.js @@ -0,0 +1,23 @@ +import LazyWrapper from './_LazyWrapper.js'; +import copyArray from './_copyArray.js'; + +/** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ +function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; +} + +export default lazyClone; diff --git a/.output/server/node_modules/lodash-es/_lazyReverse.js b/.output/server/node_modules/lodash-es/_lazyReverse.js new file mode 100644 index 00000000..e79a9bc8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_lazyReverse.js @@ -0,0 +1,23 @@ +import LazyWrapper from './_LazyWrapper.js'; + +/** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ +function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; +} + +export default lazyReverse; diff --git a/.output/server/node_modules/lodash-es/_lazyValue.js b/.output/server/node_modules/lodash-es/_lazyValue.js new file mode 100644 index 00000000..ca2e011d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_lazyValue.js @@ -0,0 +1,69 @@ +import baseWrapperValue from './_baseWrapperValue.js'; +import getView from './_getView.js'; +import isArray from './isArray.js'; + +/** Used to indicate the type of lazy iteratees. */ +var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ +function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; +} + +export default lazyValue; diff --git a/.output/server/node_modules/lodash-es/_listCacheClear.js b/.output/server/node_modules/lodash-es/_listCacheClear.js new file mode 100644 index 00000000..8cfa1843 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_listCacheClear.js @@ -0,0 +1,13 @@ +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +export default listCacheClear; diff --git a/.output/server/node_modules/lodash-es/_listCacheDelete.js b/.output/server/node_modules/lodash-es/_listCacheDelete.js new file mode 100644 index 00000000..b08c834a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_listCacheDelete.js @@ -0,0 +1,35 @@ +import assocIndexOf from './_assocIndexOf.js'; + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +export default listCacheDelete; diff --git a/.output/server/node_modules/lodash-es/_listCacheGet.js b/.output/server/node_modules/lodash-es/_listCacheGet.js new file mode 100644 index 00000000..53ce0017 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_listCacheGet.js @@ -0,0 +1,19 @@ +import assocIndexOf from './_assocIndexOf.js'; + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +export default listCacheGet; diff --git a/.output/server/node_modules/lodash-es/_listCacheHas.js b/.output/server/node_modules/lodash-es/_listCacheHas.js new file mode 100644 index 00000000..8701cae2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_listCacheHas.js @@ -0,0 +1,16 @@ +import assocIndexOf from './_assocIndexOf.js'; + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +export default listCacheHas; diff --git a/.output/server/node_modules/lodash-es/_listCacheSet.js b/.output/server/node_modules/lodash-es/_listCacheSet.js new file mode 100644 index 00000000..8c5a1980 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_listCacheSet.js @@ -0,0 +1,26 @@ +import assocIndexOf from './_assocIndexOf.js'; + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +export default listCacheSet; diff --git a/.output/server/node_modules/lodash-es/_mapCacheClear.js b/.output/server/node_modules/lodash-es/_mapCacheClear.js new file mode 100644 index 00000000..e6b3d9c2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapCacheClear.js @@ -0,0 +1,21 @@ +import Hash from './_Hash.js'; +import ListCache from './_ListCache.js'; +import Map from './_Map.js'; + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +export default mapCacheClear; diff --git a/.output/server/node_modules/lodash-es/_mapCacheDelete.js b/.output/server/node_modules/lodash-es/_mapCacheDelete.js new file mode 100644 index 00000000..1afc18fe --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapCacheDelete.js @@ -0,0 +1,18 @@ +import getMapData from './_getMapData.js'; + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +export default mapCacheDelete; diff --git a/.output/server/node_modules/lodash-es/_mapCacheGet.js b/.output/server/node_modules/lodash-es/_mapCacheGet.js new file mode 100644 index 00000000..3b481e0f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapCacheGet.js @@ -0,0 +1,16 @@ +import getMapData from './_getMapData.js'; + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +export default mapCacheGet; diff --git a/.output/server/node_modules/lodash-es/_mapCacheHas.js b/.output/server/node_modules/lodash-es/_mapCacheHas.js new file mode 100644 index 00000000..9de3e7f6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapCacheHas.js @@ -0,0 +1,16 @@ +import getMapData from './_getMapData.js'; + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +export default mapCacheHas; diff --git a/.output/server/node_modules/lodash-es/_mapCacheSet.js b/.output/server/node_modules/lodash-es/_mapCacheSet.js new file mode 100644 index 00000000..e757c360 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapCacheSet.js @@ -0,0 +1,22 @@ +import getMapData from './_getMapData.js'; + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +export default mapCacheSet; diff --git a/.output/server/node_modules/lodash-es/_mapToArray.js b/.output/server/node_modules/lodash-es/_mapToArray.js new file mode 100644 index 00000000..82346d50 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mapToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +export default mapToArray; diff --git a/.output/server/node_modules/lodash-es/_matchesStrictComparable.js b/.output/server/node_modules/lodash-es/_matchesStrictComparable.js new file mode 100644 index 00000000..531ffb3d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_matchesStrictComparable.js @@ -0,0 +1,20 @@ +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +export default matchesStrictComparable; diff --git a/.output/server/node_modules/lodash-es/_memoizeCapped.js b/.output/server/node_modules/lodash-es/_memoizeCapped.js new file mode 100644 index 00000000..d2b93994 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_memoizeCapped.js @@ -0,0 +1,26 @@ +import memoize from './memoize.js'; + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +export default memoizeCapped; diff --git a/.output/server/node_modules/lodash-es/_mergeData.js b/.output/server/node_modules/lodash-es/_mergeData.js new file mode 100644 index 00000000..9222069f --- /dev/null +++ b/.output/server/node_modules/lodash-es/_mergeData.js @@ -0,0 +1,90 @@ +import composeArgs from './_composeArgs.js'; +import composeArgsRight from './_composeArgsRight.js'; +import replaceHolders from './_replaceHolders.js'; + +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ +function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; +} + +export default mergeData; diff --git a/.output/server/node_modules/lodash-es/_metaMap.js b/.output/server/node_modules/lodash-es/_metaMap.js new file mode 100644 index 00000000..d7e5b951 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_metaMap.js @@ -0,0 +1,6 @@ +import WeakMap from './_WeakMap.js'; + +/** Used to store function metadata. */ +var metaMap = WeakMap && new WeakMap; + +export default metaMap; diff --git a/.output/server/node_modules/lodash-es/_nativeCreate.js b/.output/server/node_modules/lodash-es/_nativeCreate.js new file mode 100644 index 00000000..27b476bc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_nativeCreate.js @@ -0,0 +1,6 @@ +import getNative from './_getNative.js'; + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +export default nativeCreate; diff --git a/.output/server/node_modules/lodash-es/_nativeKeys.js b/.output/server/node_modules/lodash-es/_nativeKeys.js new file mode 100644 index 00000000..2ec8ec6b --- /dev/null +++ b/.output/server/node_modules/lodash-es/_nativeKeys.js @@ -0,0 +1,6 @@ +import overArg from './_overArg.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +export default nativeKeys; diff --git a/.output/server/node_modules/lodash-es/_nativeKeysIn.js b/.output/server/node_modules/lodash-es/_nativeKeysIn.js new file mode 100644 index 00000000..94eda99e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_nativeKeysIn.js @@ -0,0 +1,20 @@ +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +export default nativeKeysIn; diff --git a/.output/server/node_modules/lodash-es/_nodeUtil.js b/.output/server/node_modules/lodash-es/_nodeUtil.js new file mode 100644 index 00000000..553c4d99 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_nodeUtil.js @@ -0,0 +1,30 @@ +import freeGlobal from './_freeGlobal.js'; + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +export default nodeUtil; diff --git a/.output/server/node_modules/lodash-es/_objectToString.js b/.output/server/node_modules/lodash-es/_objectToString.js new file mode 100644 index 00000000..749a5f9c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_objectToString.js @@ -0,0 +1,22 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +export default objectToString; diff --git a/.output/server/node_modules/lodash-es/_overArg.js b/.output/server/node_modules/lodash-es/_overArg.js new file mode 100644 index 00000000..93bafe39 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_overArg.js @@ -0,0 +1,15 @@ +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +export default overArg; diff --git a/.output/server/node_modules/lodash-es/_overRest.js b/.output/server/node_modules/lodash-es/_overRest.js new file mode 100644 index 00000000..f4f79cb6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_overRest.js @@ -0,0 +1,36 @@ +import apply from './_apply.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +export default overRest; diff --git a/.output/server/node_modules/lodash-es/_parent.js b/.output/server/node_modules/lodash-es/_parent.js new file mode 100644 index 00000000..ef6f8b45 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_parent.js @@ -0,0 +1,16 @@ +import baseGet from './_baseGet.js'; +import baseSlice from './_baseSlice.js'; + +/** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ +function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); +} + +export default parent; diff --git a/.output/server/node_modules/lodash-es/_reEscape.js b/.output/server/node_modules/lodash-es/_reEscape.js new file mode 100644 index 00000000..cd3729b1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_reEscape.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEscape = /<%-([\s\S]+?)%>/g; + +export default reEscape; diff --git a/.output/server/node_modules/lodash-es/_reEvaluate.js b/.output/server/node_modules/lodash-es/_reEvaluate.js new file mode 100644 index 00000000..563964bf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_reEvaluate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEvaluate = /<%([\s\S]+?)%>/g; + +export default reEvaluate; diff --git a/.output/server/node_modules/lodash-es/_reInterpolate.js b/.output/server/node_modules/lodash-es/_reInterpolate.js new file mode 100644 index 00000000..a3cdb20e --- /dev/null +++ b/.output/server/node_modules/lodash-es/_reInterpolate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reInterpolate = /<%=([\s\S]+?)%>/g; + +export default reInterpolate; diff --git a/.output/server/node_modules/lodash-es/_realNames.js b/.output/server/node_modules/lodash-es/_realNames.js new file mode 100644 index 00000000..df195edd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_realNames.js @@ -0,0 +1,4 @@ +/** Used to lookup unminified function names. */ +var realNames = {}; + +export default realNames; diff --git a/.output/server/node_modules/lodash-es/_reorder.js b/.output/server/node_modules/lodash-es/_reorder.js new file mode 100644 index 00000000..b7ade47a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_reorder.js @@ -0,0 +1,29 @@ +import copyArray from './_copyArray.js'; +import isIndex from './_isIndex.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ +function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; +} + +export default reorder; diff --git a/.output/server/node_modules/lodash-es/_replaceHolders.js b/.output/server/node_modules/lodash-es/_replaceHolders.js new file mode 100644 index 00000000..e6360541 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_replaceHolders.js @@ -0,0 +1,29 @@ +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ +function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; +} + +export default replaceHolders; diff --git a/.output/server/node_modules/lodash-es/_root.js b/.output/server/node_modules/lodash-es/_root.js new file mode 100644 index 00000000..281f8128 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_root.js @@ -0,0 +1,9 @@ +import freeGlobal from './_freeGlobal.js'; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +export default root; diff --git a/.output/server/node_modules/lodash-es/_safeGet.js b/.output/server/node_modules/lodash-es/_safeGet.js new file mode 100644 index 00000000..2e5420dd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_safeGet.js @@ -0,0 +1,21 @@ +/** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; +} + +export default safeGet; diff --git a/.output/server/node_modules/lodash-es/_setCacheAdd.js b/.output/server/node_modules/lodash-es/_setCacheAdd.js new file mode 100644 index 00000000..d3a42d36 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setCacheAdd.js @@ -0,0 +1,19 @@ +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +export default setCacheAdd; diff --git a/.output/server/node_modules/lodash-es/_setCacheHas.js b/.output/server/node_modules/lodash-es/_setCacheHas.js new file mode 100644 index 00000000..67f4c8ae --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setCacheHas.js @@ -0,0 +1,14 @@ +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +export default setCacheHas; diff --git a/.output/server/node_modules/lodash-es/_setData.js b/.output/server/node_modules/lodash-es/_setData.js new file mode 100644 index 00000000..8b6bac9a --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setData.js @@ -0,0 +1,20 @@ +import baseSetData from './_baseSetData.js'; +import shortOut from './_shortOut.js'; + +/** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var setData = shortOut(baseSetData); + +export default setData; diff --git a/.output/server/node_modules/lodash-es/_setToArray.js b/.output/server/node_modules/lodash-es/_setToArray.js new file mode 100644 index 00000000..fdf823cc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +export default setToArray; diff --git a/.output/server/node_modules/lodash-es/_setToPairs.js b/.output/server/node_modules/lodash-es/_setToPairs.js new file mode 100644 index 00000000..f0d123bf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setToPairs.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ +function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; +} + +export default setToPairs; diff --git a/.output/server/node_modules/lodash-es/_setToString.js b/.output/server/node_modules/lodash-es/_setToString.js new file mode 100644 index 00000000..db2dd26c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setToString.js @@ -0,0 +1,14 @@ +import baseSetToString from './_baseSetToString.js'; +import shortOut from './_shortOut.js'; + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +export default setToString; diff --git a/.output/server/node_modules/lodash-es/_setWrapToString.js b/.output/server/node_modules/lodash-es/_setWrapToString.js new file mode 100644 index 00000000..16b08fdd --- /dev/null +++ b/.output/server/node_modules/lodash-es/_setWrapToString.js @@ -0,0 +1,21 @@ +import getWrapDetails from './_getWrapDetails.js'; +import insertWrapDetails from './_insertWrapDetails.js'; +import setToString from './_setToString.js'; +import updateWrapDetails from './_updateWrapDetails.js'; + +/** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ +function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); +} + +export default setWrapToString; diff --git a/.output/server/node_modules/lodash-es/_shortOut.js b/.output/server/node_modules/lodash-es/_shortOut.js new file mode 100644 index 00000000..78fadcd4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_shortOut.js @@ -0,0 +1,37 @@ +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +export default shortOut; diff --git a/.output/server/node_modules/lodash-es/_shuffleSelf.js b/.output/server/node_modules/lodash-es/_shuffleSelf.js new file mode 100644 index 00000000..a04ebea1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_shuffleSelf.js @@ -0,0 +1,28 @@ +import baseRandom from './_baseRandom.js'; + +/** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ +function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; +} + +export default shuffleSelf; diff --git a/.output/server/node_modules/lodash-es/_stackClear.js b/.output/server/node_modules/lodash-es/_stackClear.js new file mode 100644 index 00000000..d4b10b0d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stackClear.js @@ -0,0 +1,15 @@ +import ListCache from './_ListCache.js'; + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +export default stackClear; diff --git a/.output/server/node_modules/lodash-es/_stackDelete.js b/.output/server/node_modules/lodash-es/_stackDelete.js new file mode 100644 index 00000000..c3df897c --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stackDelete.js @@ -0,0 +1,18 @@ +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +export default stackDelete; diff --git a/.output/server/node_modules/lodash-es/_stackGet.js b/.output/server/node_modules/lodash-es/_stackGet.js new file mode 100644 index 00000000..139b9acc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stackGet.js @@ -0,0 +1,14 @@ +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +export default stackGet; diff --git a/.output/server/node_modules/lodash-es/_stackHas.js b/.output/server/node_modules/lodash-es/_stackHas.js new file mode 100644 index 00000000..bc25f5a7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stackHas.js @@ -0,0 +1,14 @@ +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +export default stackHas; diff --git a/.output/server/node_modules/lodash-es/_stackSet.js b/.output/server/node_modules/lodash-es/_stackSet.js new file mode 100644 index 00000000..a85af6cf --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stackSet.js @@ -0,0 +1,34 @@ +import ListCache from './_ListCache.js'; +import Map from './_Map.js'; +import MapCache from './_MapCache.js'; + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +export default stackSet; diff --git a/.output/server/node_modules/lodash-es/_strictIndexOf.js b/.output/server/node_modules/lodash-es/_strictIndexOf.js new file mode 100644 index 00000000..0dfad1ec --- /dev/null +++ b/.output/server/node_modules/lodash-es/_strictIndexOf.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +export default strictIndexOf; diff --git a/.output/server/node_modules/lodash-es/_strictLastIndexOf.js b/.output/server/node_modules/lodash-es/_strictLastIndexOf.js new file mode 100644 index 00000000..6ddf04cc --- /dev/null +++ b/.output/server/node_modules/lodash-es/_strictLastIndexOf.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; +} + +export default strictLastIndexOf; diff --git a/.output/server/node_modules/lodash-es/_stringSize.js b/.output/server/node_modules/lodash-es/_stringSize.js new file mode 100644 index 00000000..17443a8d --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stringSize.js @@ -0,0 +1,18 @@ +import asciiSize from './_asciiSize.js'; +import hasUnicode from './_hasUnicode.js'; +import unicodeSize from './_unicodeSize.js'; + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); +} + +export default stringSize; diff --git a/.output/server/node_modules/lodash-es/_stringToArray.js b/.output/server/node_modules/lodash-es/_stringToArray.js new file mode 100644 index 00000000..1ce84fd4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stringToArray.js @@ -0,0 +1,18 @@ +import asciiToArray from './_asciiToArray.js'; +import hasUnicode from './_hasUnicode.js'; +import unicodeToArray from './_unicodeToArray.js'; + +/** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); +} + +export default stringToArray; diff --git a/.output/server/node_modules/lodash-es/_stringToPath.js b/.output/server/node_modules/lodash-es/_stringToPath.js new file mode 100644 index 00000000..acf73e02 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_stringToPath.js @@ -0,0 +1,27 @@ +import memoizeCapped from './_memoizeCapped.js'; + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +export default stringToPath; diff --git a/.output/server/node_modules/lodash-es/_toKey.js b/.output/server/node_modules/lodash-es/_toKey.js new file mode 100644 index 00000000..295277f6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_toKey.js @@ -0,0 +1,21 @@ +import isSymbol from './isSymbol.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +export default toKey; diff --git a/.output/server/node_modules/lodash-es/_toSource.js b/.output/server/node_modules/lodash-es/_toSource.js new file mode 100644 index 00000000..2696f7af --- /dev/null +++ b/.output/server/node_modules/lodash-es/_toSource.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +export default toSource; diff --git a/.output/server/node_modules/lodash-es/_trimmedEndIndex.js b/.output/server/node_modules/lodash-es/_trimmedEndIndex.js new file mode 100644 index 00000000..5f92fbe7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_trimmedEndIndex.js @@ -0,0 +1,19 @@ +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +export default trimmedEndIndex; diff --git a/.output/server/node_modules/lodash-es/_unescapeHtmlChar.js b/.output/server/node_modules/lodash-es/_unescapeHtmlChar.js new file mode 100644 index 00000000..e1876cc0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_unescapeHtmlChar.js @@ -0,0 +1,21 @@ +import basePropertyOf from './_basePropertyOf.js'; + +/** Used to map HTML entities to characters. */ +var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" +}; + +/** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ +var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + +export default unescapeHtmlChar; diff --git a/.output/server/node_modules/lodash-es/_unicodeSize.js b/.output/server/node_modules/lodash-es/_unicodeSize.js new file mode 100644 index 00000000..8c031754 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_unicodeSize.js @@ -0,0 +1,44 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; +} + +export default unicodeSize; diff --git a/.output/server/node_modules/lodash-es/_unicodeToArray.js b/.output/server/node_modules/lodash-es/_unicodeToArray.js new file mode 100644 index 00000000..ea497620 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_unicodeToArray.js @@ -0,0 +1,40 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function unicodeToArray(string) { + return string.match(reUnicode) || []; +} + +export default unicodeToArray; diff --git a/.output/server/node_modules/lodash-es/_unicodeWords.js b/.output/server/node_modules/lodash-es/_unicodeWords.js new file mode 100644 index 00000000..97b92ab7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_unicodeWords.js @@ -0,0 +1,69 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]", + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; + +/** Used to match complex or compound words. */ +var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji +].join('|'), 'g'); + +/** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function unicodeWords(string) { + return string.match(reUnicodeWord) || []; +} + +export default unicodeWords; diff --git a/.output/server/node_modules/lodash-es/_updateWrapDetails.js b/.output/server/node_modules/lodash-es/_updateWrapDetails.js new file mode 100644 index 00000000..69ecc1ec --- /dev/null +++ b/.output/server/node_modules/lodash-es/_updateWrapDetails.js @@ -0,0 +1,46 @@ +import arrayEach from './_arrayEach.js'; +import arrayIncludes from './_arrayIncludes.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + +/** Used to associate wrap methods with their bit flags. */ +var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] +]; + +/** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ +function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); +} + +export default updateWrapDetails; diff --git a/.output/server/node_modules/lodash-es/_wrapperClone.js b/.output/server/node_modules/lodash-es/_wrapperClone.js new file mode 100644 index 00000000..8d0d7303 --- /dev/null +++ b/.output/server/node_modules/lodash-es/_wrapperClone.js @@ -0,0 +1,23 @@ +import LazyWrapper from './_LazyWrapper.js'; +import LodashWrapper from './_LodashWrapper.js'; +import copyArray from './_copyArray.js'; + +/** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ +function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; +} + +export default wrapperClone; diff --git a/.output/server/node_modules/lodash-es/add.js b/.output/server/node_modules/lodash-es/add.js new file mode 100644 index 00000000..b17f1077 --- /dev/null +++ b/.output/server/node_modules/lodash-es/add.js @@ -0,0 +1,22 @@ +import createMathOperation from './_createMathOperation.js'; + +/** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ +var add = createMathOperation(function(augend, addend) { + return augend + addend; +}, 0); + +export default add; diff --git a/.output/server/node_modules/lodash-es/after.js b/.output/server/node_modules/lodash-es/after.js new file mode 100644 index 00000000..f05a32d3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/after.js @@ -0,0 +1,42 @@ +import toInteger from './toInteger.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ +function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; +} + +export default after; diff --git a/.output/server/node_modules/lodash-es/array.default.js b/.output/server/node_modules/lodash-es/array.default.js new file mode 100644 index 00000000..13c07975 --- /dev/null +++ b/.output/server/node_modules/lodash-es/array.default.js @@ -0,0 +1,81 @@ +import chunk from './chunk.js'; +import compact from './compact.js'; +import concat from './concat.js'; +import difference from './difference.js'; +import differenceBy from './differenceBy.js'; +import differenceWith from './differenceWith.js'; +import drop from './drop.js'; +import dropRight from './dropRight.js'; +import dropRightWhile from './dropRightWhile.js'; +import dropWhile from './dropWhile.js'; +import fill from './fill.js'; +import findIndex from './findIndex.js'; +import findLastIndex from './findLastIndex.js'; +import first from './first.js'; +import flatten from './flatten.js'; +import flattenDeep from './flattenDeep.js'; +import flattenDepth from './flattenDepth.js'; +import fromPairs from './fromPairs.js'; +import head from './head.js'; +import indexOf from './indexOf.js'; +import initial from './initial.js'; +import intersection from './intersection.js'; +import intersectionBy from './intersectionBy.js'; +import intersectionWith from './intersectionWith.js'; +import join from './join.js'; +import last from './last.js'; +import lastIndexOf from './lastIndexOf.js'; +import nth from './nth.js'; +import pull from './pull.js'; +import pullAll from './pullAll.js'; +import pullAllBy from './pullAllBy.js'; +import pullAllWith from './pullAllWith.js'; +import pullAt from './pullAt.js'; +import remove from './remove.js'; +import reverse from './reverse.js'; +import slice from './slice.js'; +import sortedIndex from './sortedIndex.js'; +import sortedIndexBy from './sortedIndexBy.js'; +import sortedIndexOf from './sortedIndexOf.js'; +import sortedLastIndex from './sortedLastIndex.js'; +import sortedLastIndexBy from './sortedLastIndexBy.js'; +import sortedLastIndexOf from './sortedLastIndexOf.js'; +import sortedUniq from './sortedUniq.js'; +import sortedUniqBy from './sortedUniqBy.js'; +import tail from './tail.js'; +import take from './take.js'; +import takeRight from './takeRight.js'; +import takeRightWhile from './takeRightWhile.js'; +import takeWhile from './takeWhile.js'; +import union from './union.js'; +import unionBy from './unionBy.js'; +import unionWith from './unionWith.js'; +import uniq from './uniq.js'; +import uniqBy from './uniqBy.js'; +import uniqWith from './uniqWith.js'; +import unzip from './unzip.js'; +import unzipWith from './unzipWith.js'; +import without from './without.js'; +import xor from './xor.js'; +import xorBy from './xorBy.js'; +import xorWith from './xorWith.js'; +import zip from './zip.js'; +import zipObject from './zipObject.js'; +import zipObjectDeep from './zipObjectDeep.js'; +import zipWith from './zipWith.js'; + +export default { + chunk, compact, concat, difference, differenceBy, + differenceWith, drop, dropRight, dropRightWhile, dropWhile, + fill, findIndex, findLastIndex, first, flatten, + flattenDeep, flattenDepth, fromPairs, head, indexOf, + initial, intersection, intersectionBy, intersectionWith, join, + last, lastIndexOf, nth, pull, pullAll, + pullAllBy, pullAllWith, pullAt, remove, reverse, + slice, sortedIndex, sortedIndexBy, sortedIndexOf, sortedLastIndex, + sortedLastIndexBy, sortedLastIndexOf, sortedUniq, sortedUniqBy, tail, + take, takeRight, takeRightWhile, takeWhile, union, + unionBy, unionWith, uniq, uniqBy, uniqWith, + unzip, unzipWith, without, xor, xorBy, + xorWith, zip, zipObject, zipObjectDeep, zipWith +}; diff --git a/.output/server/node_modules/lodash-es/array.js b/.output/server/node_modules/lodash-es/array.js new file mode 100644 index 00000000..b579b5c9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/array.js @@ -0,0 +1,66 @@ +export { default as chunk } from './chunk.js'; +export { default as compact } from './compact.js'; +export { default as concat } from './concat.js'; +export { default as difference } from './difference.js'; +export { default as differenceBy } from './differenceBy.js'; +export { default as differenceWith } from './differenceWith.js'; +export { default as drop } from './drop.js'; +export { default as dropRight } from './dropRight.js'; +export { default as dropRightWhile } from './dropRightWhile.js'; +export { default as dropWhile } from './dropWhile.js'; +export { default as fill } from './fill.js'; +export { default as findIndex } from './findIndex.js'; +export { default as findLastIndex } from './findLastIndex.js'; +export { default as first } from './first.js'; +export { default as flatten } from './flatten.js'; +export { default as flattenDeep } from './flattenDeep.js'; +export { default as flattenDepth } from './flattenDepth.js'; +export { default as fromPairs } from './fromPairs.js'; +export { default as head } from './head.js'; +export { default as indexOf } from './indexOf.js'; +export { default as initial } from './initial.js'; +export { default as intersection } from './intersection.js'; +export { default as intersectionBy } from './intersectionBy.js'; +export { default as intersectionWith } from './intersectionWith.js'; +export { default as join } from './join.js'; +export { default as last } from './last.js'; +export { default as lastIndexOf } from './lastIndexOf.js'; +export { default as nth } from './nth.js'; +export { default as pull } from './pull.js'; +export { default as pullAll } from './pullAll.js'; +export { default as pullAllBy } from './pullAllBy.js'; +export { default as pullAllWith } from './pullAllWith.js'; +export { default as pullAt } from './pullAt.js'; +export { default as remove } from './remove.js'; +export { default as reverse } from './reverse.js'; +export { default as slice } from './slice.js'; +export { default as sortedIndex } from './sortedIndex.js'; +export { default as sortedIndexBy } from './sortedIndexBy.js'; +export { default as sortedIndexOf } from './sortedIndexOf.js'; +export { default as sortedLastIndex } from './sortedLastIndex.js'; +export { default as sortedLastIndexBy } from './sortedLastIndexBy.js'; +export { default as sortedLastIndexOf } from './sortedLastIndexOf.js'; +export { default as sortedUniq } from './sortedUniq.js'; +export { default as sortedUniqBy } from './sortedUniqBy.js'; +export { default as tail } from './tail.js'; +export { default as take } from './take.js'; +export { default as takeRight } from './takeRight.js'; +export { default as takeRightWhile } from './takeRightWhile.js'; +export { default as takeWhile } from './takeWhile.js'; +export { default as union } from './union.js'; +export { default as unionBy } from './unionBy.js'; +export { default as unionWith } from './unionWith.js'; +export { default as uniq } from './uniq.js'; +export { default as uniqBy } from './uniqBy.js'; +export { default as uniqWith } from './uniqWith.js'; +export { default as unzip } from './unzip.js'; +export { default as unzipWith } from './unzipWith.js'; +export { default as without } from './without.js'; +export { default as xor } from './xor.js'; +export { default as xorBy } from './xorBy.js'; +export { default as xorWith } from './xorWith.js'; +export { default as zip } from './zip.js'; +export { default as zipObject } from './zipObject.js'; +export { default as zipObjectDeep } from './zipObjectDeep.js'; +export { default as zipWith } from './zipWith.js'; +export { default } from './array.default.js'; diff --git a/.output/server/node_modules/lodash-es/ary.js b/.output/server/node_modules/lodash-es/ary.js new file mode 100644 index 00000000..eb64a45a --- /dev/null +++ b/.output/server/node_modules/lodash-es/ary.js @@ -0,0 +1,29 @@ +import createWrap from './_createWrap.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_ARY_FLAG = 128; + +/** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ +function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); +} + +export default ary; diff --git a/.output/server/node_modules/lodash-es/assign.js b/.output/server/node_modules/lodash-es/assign.js new file mode 100644 index 00000000..ed9329f0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/assign.js @@ -0,0 +1,58 @@ +import assignValue from './_assignValue.js'; +import copyObject from './_copyObject.js'; +import createAssigner from './_createAssigner.js'; +import isArrayLike from './isArrayLike.js'; +import isPrototype from './_isPrototype.js'; +import keys from './keys.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ +var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } +}); + +export default assign; diff --git a/.output/server/node_modules/lodash-es/assignIn.js b/.output/server/node_modules/lodash-es/assignIn.js new file mode 100644 index 00000000..8aab0e09 --- /dev/null +++ b/.output/server/node_modules/lodash-es/assignIn.js @@ -0,0 +1,40 @@ +import copyObject from './_copyObject.js'; +import createAssigner from './_createAssigner.js'; +import keysIn from './keysIn.js'; + +/** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ +var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); +}); + +export default assignIn; diff --git a/.output/server/node_modules/lodash-es/assignInWith.js b/.output/server/node_modules/lodash-es/assignInWith.js new file mode 100644 index 00000000..c7864a19 --- /dev/null +++ b/.output/server/node_modules/lodash-es/assignInWith.js @@ -0,0 +1,38 @@ +import copyObject from './_copyObject.js'; +import createAssigner from './_createAssigner.js'; +import keysIn from './keysIn.js'; + +/** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); +}); + +export default assignInWith; diff --git a/.output/server/node_modules/lodash-es/assignWith.js b/.output/server/node_modules/lodash-es/assignWith.js new file mode 100644 index 00000000..f19d7c5b --- /dev/null +++ b/.output/server/node_modules/lodash-es/assignWith.js @@ -0,0 +1,37 @@ +import copyObject from './_copyObject.js'; +import createAssigner from './_createAssigner.js'; +import keys from './keys.js'; + +/** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); +}); + +export default assignWith; diff --git a/.output/server/node_modules/lodash-es/at.js b/.output/server/node_modules/lodash-es/at.js new file mode 100644 index 00000000..6475c67f --- /dev/null +++ b/.output/server/node_modules/lodash-es/at.js @@ -0,0 +1,23 @@ +import baseAt from './_baseAt.js'; +import flatRest from './_flatRest.js'; + +/** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ +var at = flatRest(baseAt); + +export default at; diff --git a/.output/server/node_modules/lodash-es/attempt.js b/.output/server/node_modules/lodash-es/attempt.js new file mode 100644 index 00000000..ff4df281 --- /dev/null +++ b/.output/server/node_modules/lodash-es/attempt.js @@ -0,0 +1,35 @@ +import apply from './_apply.js'; +import baseRest from './_baseRest.js'; +import isError from './isError.js'; + +/** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ +var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } +}); + +export default attempt; diff --git a/.output/server/node_modules/lodash-es/before.js b/.output/server/node_modules/lodash-es/before.js new file mode 100644 index 00000000..15a670b1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/before.js @@ -0,0 +1,40 @@ +import toInteger from './toInteger.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ +function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; +} + +export default before; diff --git a/.output/server/node_modules/lodash-es/bind.js b/.output/server/node_modules/lodash-es/bind.js new file mode 100644 index 00000000..4bc03b32 --- /dev/null +++ b/.output/server/node_modules/lodash-es/bind.js @@ -0,0 +1,57 @@ +import baseRest from './_baseRest.js'; +import createWrap from './_createWrap.js'; +import getHolder from './_getHolder.js'; +import replaceHolders from './_replaceHolders.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ +var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); +}); + +// Assign default placeholders. +bind.placeholder = {}; + +export default bind; diff --git a/.output/server/node_modules/lodash-es/bindAll.js b/.output/server/node_modules/lodash-es/bindAll.js new file mode 100644 index 00000000..37ae093a --- /dev/null +++ b/.output/server/node_modules/lodash-es/bindAll.js @@ -0,0 +1,41 @@ +import arrayEach from './_arrayEach.js'; +import baseAssignValue from './_baseAssignValue.js'; +import bind from './bind.js'; +import flatRest from './_flatRest.js'; +import toKey from './_toKey.js'; + +/** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ +var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; +}); + +export default bindAll; diff --git a/.output/server/node_modules/lodash-es/bindKey.js b/.output/server/node_modules/lodash-es/bindKey.js new file mode 100644 index 00000000..fbbfa298 --- /dev/null +++ b/.output/server/node_modules/lodash-es/bindKey.js @@ -0,0 +1,68 @@ +import baseRest from './_baseRest.js'; +import createWrap from './_createWrap.js'; +import getHolder from './_getHolder.js'; +import replaceHolders from './_replaceHolders.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ +var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); +}); + +// Assign default placeholders. +bindKey.placeholder = {}; + +export default bindKey; diff --git a/.output/server/node_modules/lodash-es/camelCase.js b/.output/server/node_modules/lodash-es/camelCase.js new file mode 100644 index 00000000..cc5ee939 --- /dev/null +++ b/.output/server/node_modules/lodash-es/camelCase.js @@ -0,0 +1,29 @@ +import capitalize from './capitalize.js'; +import createCompounder from './_createCompounder.js'; + +/** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ +var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); +}); + +export default camelCase; diff --git a/.output/server/node_modules/lodash-es/capitalize.js b/.output/server/node_modules/lodash-es/capitalize.js new file mode 100644 index 00000000..557673b7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/capitalize.js @@ -0,0 +1,23 @@ +import toString from './toString.js'; +import upperFirst from './upperFirst.js'; + +/** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ +function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); +} + +export default capitalize; diff --git a/.output/server/node_modules/lodash-es/castArray.js b/.output/server/node_modules/lodash-es/castArray.js new file mode 100644 index 00000000..1ec560a2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/castArray.js @@ -0,0 +1,44 @@ +import isArray from './isArray.js'; + +/** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ +function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; +} + +export default castArray; diff --git a/.output/server/node_modules/lodash-es/ceil.js b/.output/server/node_modules/lodash-es/ceil.js new file mode 100644 index 00000000..e86212a4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/ceil.js @@ -0,0 +1,26 @@ +import createRound from './_createRound.js'; + +/** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ +var ceil = createRound('ceil'); + +export default ceil; diff --git a/.output/server/node_modules/lodash-es/chain.js b/.output/server/node_modules/lodash-es/chain.js new file mode 100644 index 00000000..6556af12 --- /dev/null +++ b/.output/server/node_modules/lodash-es/chain.js @@ -0,0 +1,38 @@ +import lodash from './wrapperLodash.js'; + +/** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ +function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; +} + +export default chain; diff --git a/.output/server/node_modules/lodash-es/chunk.js b/.output/server/node_modules/lodash-es/chunk.js new file mode 100644 index 00000000..70dd9833 --- /dev/null +++ b/.output/server/node_modules/lodash-es/chunk.js @@ -0,0 +1,50 @@ +import baseSlice from './_baseSlice.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toInteger from './toInteger.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ +function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; +} + +export default chunk; diff --git a/.output/server/node_modules/lodash-es/clamp.js b/.output/server/node_modules/lodash-es/clamp.js new file mode 100644 index 00000000..fbb51164 --- /dev/null +++ b/.output/server/node_modules/lodash-es/clamp.js @@ -0,0 +1,39 @@ +import baseClamp from './_baseClamp.js'; +import toNumber from './toNumber.js'; + +/** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ +function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); +} + +export default clamp; diff --git a/.output/server/node_modules/lodash-es/clone.js b/.output/server/node_modules/lodash-es/clone.js new file mode 100644 index 00000000..b1470121 --- /dev/null +++ b/.output/server/node_modules/lodash-es/clone.js @@ -0,0 +1,36 @@ +import baseClone from './_baseClone.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ +function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); +} + +export default clone; diff --git a/.output/server/node_modules/lodash-es/cloneDeep.js b/.output/server/node_modules/lodash-es/cloneDeep.js new file mode 100644 index 00000000..44d403d7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/cloneDeep.js @@ -0,0 +1,29 @@ +import baseClone from './_baseClone.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +export default cloneDeep; diff --git a/.output/server/node_modules/lodash-es/cloneDeepWith.js b/.output/server/node_modules/lodash-es/cloneDeepWith.js new file mode 100644 index 00000000..8cd78858 --- /dev/null +++ b/.output/server/node_modules/lodash-es/cloneDeepWith.js @@ -0,0 +1,40 @@ +import baseClone from './_baseClone.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ +function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); +} + +export default cloneDeepWith; diff --git a/.output/server/node_modules/lodash-es/cloneWith.js b/.output/server/node_modules/lodash-es/cloneWith.js new file mode 100644 index 00000000..c900df14 --- /dev/null +++ b/.output/server/node_modules/lodash-es/cloneWith.js @@ -0,0 +1,42 @@ +import baseClone from './_baseClone.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ +function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); +} + +export default cloneWith; diff --git a/.output/server/node_modules/lodash-es/collection.default.js b/.output/server/node_modules/lodash-es/collection.default.js new file mode 100644 index 00000000..2f262bfd --- /dev/null +++ b/.output/server/node_modules/lodash-es/collection.default.js @@ -0,0 +1,37 @@ +import countBy from './countBy.js'; +import each from './each.js'; +import eachRight from './eachRight.js'; +import every from './every.js'; +import filter from './filter.js'; +import find from './find.js'; +import findLast from './findLast.js'; +import flatMap from './flatMap.js'; +import flatMapDeep from './flatMapDeep.js'; +import flatMapDepth from './flatMapDepth.js'; +import forEach from './forEach.js'; +import forEachRight from './forEachRight.js'; +import groupBy from './groupBy.js'; +import includes from './includes.js'; +import invokeMap from './invokeMap.js'; +import keyBy from './keyBy.js'; +import map from './map.js'; +import orderBy from './orderBy.js'; +import partition from './partition.js'; +import reduce from './reduce.js'; +import reduceRight from './reduceRight.js'; +import reject from './reject.js'; +import sample from './sample.js'; +import sampleSize from './sampleSize.js'; +import shuffle from './shuffle.js'; +import size from './size.js'; +import some from './some.js'; +import sortBy from './sortBy.js'; + +export default { + countBy, each, eachRight, every, filter, + find, findLast, flatMap, flatMapDeep, flatMapDepth, + forEach, forEachRight, groupBy, includes, invokeMap, + keyBy, map, orderBy, partition, reduce, + reduceRight, reject, sample, sampleSize, shuffle, + size, some, sortBy +}; diff --git a/.output/server/node_modules/lodash-es/collection.js b/.output/server/node_modules/lodash-es/collection.js new file mode 100644 index 00000000..2c9fab97 --- /dev/null +++ b/.output/server/node_modules/lodash-es/collection.js @@ -0,0 +1,29 @@ +export { default as countBy } from './countBy.js'; +export { default as each } from './each.js'; +export { default as eachRight } from './eachRight.js'; +export { default as every } from './every.js'; +export { default as filter } from './filter.js'; +export { default as find } from './find.js'; +export { default as findLast } from './findLast.js'; +export { default as flatMap } from './flatMap.js'; +export { default as flatMapDeep } from './flatMapDeep.js'; +export { default as flatMapDepth } from './flatMapDepth.js'; +export { default as forEach } from './forEach.js'; +export { default as forEachRight } from './forEachRight.js'; +export { default as groupBy } from './groupBy.js'; +export { default as includes } from './includes.js'; +export { default as invokeMap } from './invokeMap.js'; +export { default as keyBy } from './keyBy.js'; +export { default as map } from './map.js'; +export { default as orderBy } from './orderBy.js'; +export { default as partition } from './partition.js'; +export { default as reduce } from './reduce.js'; +export { default as reduceRight } from './reduceRight.js'; +export { default as reject } from './reject.js'; +export { default as sample } from './sample.js'; +export { default as sampleSize } from './sampleSize.js'; +export { default as shuffle } from './shuffle.js'; +export { default as size } from './size.js'; +export { default as some } from './some.js'; +export { default as sortBy } from './sortBy.js'; +export { default } from './collection.default.js'; diff --git a/.output/server/node_modules/lodash-es/commit.js b/.output/server/node_modules/lodash-es/commit.js new file mode 100644 index 00000000..e449abec --- /dev/null +++ b/.output/server/node_modules/lodash-es/commit.js @@ -0,0 +1,33 @@ +import LodashWrapper from './_LodashWrapper.js'; + +/** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ +function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); +} + +export default wrapperCommit; diff --git a/.output/server/node_modules/lodash-es/compact.js b/.output/server/node_modules/lodash-es/compact.js new file mode 100644 index 00000000..b644f280 --- /dev/null +++ b/.output/server/node_modules/lodash-es/compact.js @@ -0,0 +1,31 @@ +/** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ +function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; +} + +export default compact; diff --git a/.output/server/node_modules/lodash-es/concat.js b/.output/server/node_modules/lodash-es/concat.js new file mode 100644 index 00000000..4f598c34 --- /dev/null +++ b/.output/server/node_modules/lodash-es/concat.js @@ -0,0 +1,43 @@ +import arrayPush from './_arrayPush.js'; +import baseFlatten from './_baseFlatten.js'; +import copyArray from './_copyArray.js'; +import isArray from './isArray.js'; + +/** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ +function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); +} + +export default concat; diff --git a/.output/server/node_modules/lodash-es/cond.js b/.output/server/node_modules/lodash-es/cond.js new file mode 100644 index 00000000..21eec130 --- /dev/null +++ b/.output/server/node_modules/lodash-es/cond.js @@ -0,0 +1,60 @@ +import apply from './_apply.js'; +import arrayMap from './_arrayMap.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ +function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = baseIteratee; + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); +} + +export default cond; diff --git a/.output/server/node_modules/lodash-es/conforms.js b/.output/server/node_modules/lodash-es/conforms.js new file mode 100644 index 00000000..2fb1ebe9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/conforms.js @@ -0,0 +1,35 @@ +import baseClone from './_baseClone.js'; +import baseConforms from './_baseConforms.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ +function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); +} + +export default conforms; diff --git a/.output/server/node_modules/lodash-es/conformsTo.js b/.output/server/node_modules/lodash-es/conformsTo.js new file mode 100644 index 00000000..6f011ba9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/conformsTo.js @@ -0,0 +1,32 @@ +import baseConformsTo from './_baseConformsTo.js'; +import keys from './keys.js'; + +/** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ +function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); +} + +export default conformsTo; diff --git a/.output/server/node_modules/lodash-es/constant.js b/.output/server/node_modules/lodash-es/constant.js new file mode 100644 index 00000000..c8dac98c --- /dev/null +++ b/.output/server/node_modules/lodash-es/constant.js @@ -0,0 +1,26 @@ +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +export default constant; diff --git a/.output/server/node_modules/lodash-es/countBy.js b/.output/server/node_modules/lodash-es/countBy.js new file mode 100644 index 00000000..2d012130 --- /dev/null +++ b/.output/server/node_modules/lodash-es/countBy.js @@ -0,0 +1,40 @@ +import baseAssignValue from './_baseAssignValue.js'; +import createAggregator from './_createAggregator.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ +var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } +}); + +export default countBy; diff --git a/.output/server/node_modules/lodash-es/create.js b/.output/server/node_modules/lodash-es/create.js new file mode 100644 index 00000000..5a9aa370 --- /dev/null +++ b/.output/server/node_modules/lodash-es/create.js @@ -0,0 +1,43 @@ +import baseAssign from './_baseAssign.js'; +import baseCreate from './_baseCreate.js'; + +/** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ +function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); +} + +export default create; diff --git a/.output/server/node_modules/lodash-es/curry.js b/.output/server/node_modules/lodash-es/curry.js new file mode 100644 index 00000000..953102f6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/curry.js @@ -0,0 +1,57 @@ +import createWrap from './_createWrap.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8; + +/** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ +function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; +} + +// Assign default placeholders. +curry.placeholder = {}; + +export default curry; diff --git a/.output/server/node_modules/lodash-es/curryRight.js b/.output/server/node_modules/lodash-es/curryRight.js new file mode 100644 index 00000000..5cc33aac --- /dev/null +++ b/.output/server/node_modules/lodash-es/curryRight.js @@ -0,0 +1,54 @@ +import createWrap from './_createWrap.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_RIGHT_FLAG = 16; + +/** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ +function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; +} + +// Assign default placeholders. +curryRight.placeholder = {}; + +export default curryRight; diff --git a/.output/server/node_modules/lodash-es/date.default.js b/.output/server/node_modules/lodash-es/date.default.js new file mode 100644 index 00000000..9f1ee494 --- /dev/null +++ b/.output/server/node_modules/lodash-es/date.default.js @@ -0,0 +1,5 @@ +import now from './now.js'; + +export default { + now +}; diff --git a/.output/server/node_modules/lodash-es/date.js b/.output/server/node_modules/lodash-es/date.js new file mode 100644 index 00000000..bea18b62 --- /dev/null +++ b/.output/server/node_modules/lodash-es/date.js @@ -0,0 +1,2 @@ +export { default as now } from './now.js'; +export { default } from './date.default.js'; diff --git a/.output/server/node_modules/lodash-es/debounce.js b/.output/server/node_modules/lodash-es/debounce.js new file mode 100644 index 00000000..b88f6a8f --- /dev/null +++ b/.output/server/node_modules/lodash-es/debounce.js @@ -0,0 +1,191 @@ +import isObject from './isObject.js'; +import now from './now.js'; +import toNumber from './toNumber.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ +function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} + +export default debounce; diff --git a/.output/server/node_modules/lodash-es/deburr.js b/.output/server/node_modules/lodash-es/deburr.js new file mode 100644 index 00000000..73dc9b37 --- /dev/null +++ b/.output/server/node_modules/lodash-es/deburr.js @@ -0,0 +1,45 @@ +import deburrLetter from './_deburrLetter.js'; +import toString from './toString.js'; + +/** Used to match Latin Unicode letters (excluding mathematical operators). */ +var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + +/** Used to compose unicode character classes. */ +var rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; + +/** Used to compose unicode capture groups. */ +var rsCombo = '[' + rsComboRange + ']'; + +/** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ +var reComboMark = RegExp(rsCombo, 'g'); + +/** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ +function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); +} + +export default deburr; diff --git a/.output/server/node_modules/lodash-es/defaultTo.js b/.output/server/node_modules/lodash-es/defaultTo.js new file mode 100644 index 00000000..2fafeacb --- /dev/null +++ b/.output/server/node_modules/lodash-es/defaultTo.js @@ -0,0 +1,25 @@ +/** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ +function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; +} + +export default defaultTo; diff --git a/.output/server/node_modules/lodash-es/defaults.js b/.output/server/node_modules/lodash-es/defaults.js new file mode 100644 index 00000000..122908a4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/defaults.js @@ -0,0 +1,64 @@ +import baseRest from './_baseRest.js'; +import eq from './eq.js'; +import isIterateeCall from './_isIterateeCall.js'; +import keysIn from './keysIn.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; +}); + +export default defaults; diff --git a/.output/server/node_modules/lodash-es/defaultsDeep.js b/.output/server/node_modules/lodash-es/defaultsDeep.js new file mode 100644 index 00000000..409383e8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/defaultsDeep.js @@ -0,0 +1,30 @@ +import apply from './_apply.js'; +import baseRest from './_baseRest.js'; +import customDefaultsMerge from './_customDefaultsMerge.js'; +import mergeWith from './mergeWith.js'; + +/** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ +var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); +}); + +export default defaultsDeep; diff --git a/.output/server/node_modules/lodash-es/defer.js b/.output/server/node_modules/lodash-es/defer.js new file mode 100644 index 00000000..7c4c2841 --- /dev/null +++ b/.output/server/node_modules/lodash-es/defer.js @@ -0,0 +1,26 @@ +import baseDelay from './_baseDelay.js'; +import baseRest from './_baseRest.js'; + +/** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ +var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); +}); + +export default defer; diff --git a/.output/server/node_modules/lodash-es/delay.js b/.output/server/node_modules/lodash-es/delay.js new file mode 100644 index 00000000..d9b5eb46 --- /dev/null +++ b/.output/server/node_modules/lodash-es/delay.js @@ -0,0 +1,28 @@ +import baseDelay from './_baseDelay.js'; +import baseRest from './_baseRest.js'; +import toNumber from './toNumber.js'; + +/** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ +var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); +}); + +export default delay; diff --git a/.output/server/node_modules/lodash-es/difference.js b/.output/server/node_modules/lodash-es/difference.js new file mode 100644 index 00000000..ddc1db57 --- /dev/null +++ b/.output/server/node_modules/lodash-es/difference.js @@ -0,0 +1,33 @@ +import baseDifference from './_baseDifference.js'; +import baseFlatten from './_baseFlatten.js'; +import baseRest from './_baseRest.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; + +/** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ +var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; +}); + +export default difference; diff --git a/.output/server/node_modules/lodash-es/differenceBy.js b/.output/server/node_modules/lodash-es/differenceBy.js new file mode 100644 index 00000000..983cc54f --- /dev/null +++ b/.output/server/node_modules/lodash-es/differenceBy.js @@ -0,0 +1,44 @@ +import baseDifference from './_baseDifference.js'; +import baseFlatten from './_baseFlatten.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ +var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)) + : []; +}); + +export default differenceBy; diff --git a/.output/server/node_modules/lodash-es/differenceWith.js b/.output/server/node_modules/lodash-es/differenceWith.js new file mode 100644 index 00000000..980a68cf --- /dev/null +++ b/.output/server/node_modules/lodash-es/differenceWith.js @@ -0,0 +1,40 @@ +import baseDifference from './_baseDifference.js'; +import baseFlatten from './_baseFlatten.js'; +import baseRest from './_baseRest.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ +var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; +}); + +export default differenceWith; diff --git a/.output/server/node_modules/lodash-es/divide.js b/.output/server/node_modules/lodash-es/divide.js new file mode 100644 index 00000000..f281786e --- /dev/null +++ b/.output/server/node_modules/lodash-es/divide.js @@ -0,0 +1,22 @@ +import createMathOperation from './_createMathOperation.js'; + +/** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ +var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; +}, 1); + +export default divide; diff --git a/.output/server/node_modules/lodash-es/drop.js b/.output/server/node_modules/lodash-es/drop.js new file mode 100644 index 00000000..03e59a92 --- /dev/null +++ b/.output/server/node_modules/lodash-es/drop.js @@ -0,0 +1,38 @@ +import baseSlice from './_baseSlice.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); +} + +export default drop; diff --git a/.output/server/node_modules/lodash-es/dropRight.js b/.output/server/node_modules/lodash-es/dropRight.js new file mode 100644 index 00000000..642f241b --- /dev/null +++ b/.output/server/node_modules/lodash-es/dropRight.js @@ -0,0 +1,39 @@ +import baseSlice from './_baseSlice.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); +} + +export default dropRight; diff --git a/.output/server/node_modules/lodash-es/dropRightWhile.js b/.output/server/node_modules/lodash-es/dropRightWhile.js new file mode 100644 index 00000000..c5cdbc6c --- /dev/null +++ b/.output/server/node_modules/lodash-es/dropRightWhile.js @@ -0,0 +1,45 @@ +import baseIteratee from './_baseIteratee.js'; +import baseWhile from './_baseWhile.js'; + +/** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true, true) + : []; +} + +export default dropRightWhile; diff --git a/.output/server/node_modules/lodash-es/dropWhile.js b/.output/server/node_modules/lodash-es/dropWhile.js new file mode 100644 index 00000000..688c4dcc --- /dev/null +++ b/.output/server/node_modules/lodash-es/dropWhile.js @@ -0,0 +1,45 @@ +import baseIteratee from './_baseIteratee.js'; +import baseWhile from './_baseWhile.js'; + +/** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true) + : []; +} + +export default dropWhile; diff --git a/.output/server/node_modules/lodash-es/each.js b/.output/server/node_modules/lodash-es/each.js new file mode 100644 index 00000000..d2fd2ffb --- /dev/null +++ b/.output/server/node_modules/lodash-es/each.js @@ -0,0 +1 @@ +export { default } from './forEach.js' diff --git a/.output/server/node_modules/lodash-es/eachRight.js b/.output/server/node_modules/lodash-es/eachRight.js new file mode 100644 index 00000000..b08d8f5e --- /dev/null +++ b/.output/server/node_modules/lodash-es/eachRight.js @@ -0,0 +1 @@ +export { default } from './forEachRight.js' diff --git a/.output/server/node_modules/lodash-es/endsWith.js b/.output/server/node_modules/lodash-es/endsWith.js new file mode 100644 index 00000000..1554a6e4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/endsWith.js @@ -0,0 +1,43 @@ +import baseClamp from './_baseClamp.js'; +import baseToString from './_baseToString.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ +function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; +} + +export default endsWith; diff --git a/.output/server/node_modules/lodash-es/entries.js b/.output/server/node_modules/lodash-es/entries.js new file mode 100644 index 00000000..d532bf90 --- /dev/null +++ b/.output/server/node_modules/lodash-es/entries.js @@ -0,0 +1 @@ +export { default } from './toPairs.js' diff --git a/.output/server/node_modules/lodash-es/entriesIn.js b/.output/server/node_modules/lodash-es/entriesIn.js new file mode 100644 index 00000000..74db25d2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/entriesIn.js @@ -0,0 +1 @@ +export { default } from './toPairsIn.js' diff --git a/.output/server/node_modules/lodash-es/eq.js b/.output/server/node_modules/lodash-es/eq.js new file mode 100644 index 00000000..c3206c68 --- /dev/null +++ b/.output/server/node_modules/lodash-es/eq.js @@ -0,0 +1,37 @@ +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +export default eq; diff --git a/.output/server/node_modules/lodash-es/escape.js b/.output/server/node_modules/lodash-es/escape.js new file mode 100644 index 00000000..6c720aee --- /dev/null +++ b/.output/server/node_modules/lodash-es/escape.js @@ -0,0 +1,43 @@ +import escapeHtmlChar from './_escapeHtmlChar.js'; +import toString from './toString.js'; + +/** Used to match HTML entities and HTML characters. */ +var reUnescapedHtml = /[&<>"']/g, + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + +/** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ +function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; +} + +export default escape; diff --git a/.output/server/node_modules/lodash-es/escapeRegExp.js b/.output/server/node_modules/lodash-es/escapeRegExp.js new file mode 100644 index 00000000..0b904ca4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/escapeRegExp.js @@ -0,0 +1,32 @@ +import toString from './toString.js'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + +/** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ +function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; +} + +export default escapeRegExp; diff --git a/.output/server/node_modules/lodash-es/every.js b/.output/server/node_modules/lodash-es/every.js new file mode 100644 index 00000000..f44d02cf --- /dev/null +++ b/.output/server/node_modules/lodash-es/every.js @@ -0,0 +1,56 @@ +import arrayEvery from './_arrayEvery.js'; +import baseEvery from './_baseEvery.js'; +import baseIteratee from './_baseIteratee.js'; +import isArray from './isArray.js'; +import isIterateeCall from './_isIterateeCall.js'; + +/** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ +function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); +} + +export default every; diff --git a/.output/server/node_modules/lodash-es/extend.js b/.output/server/node_modules/lodash-es/extend.js new file mode 100644 index 00000000..2feb9d19 --- /dev/null +++ b/.output/server/node_modules/lodash-es/extend.js @@ -0,0 +1 @@ +export { default } from './assignIn.js' diff --git a/.output/server/node_modules/lodash-es/extendWith.js b/.output/server/node_modules/lodash-es/extendWith.js new file mode 100644 index 00000000..106469d9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/extendWith.js @@ -0,0 +1 @@ +export { default } from './assignInWith.js' diff --git a/.output/server/node_modules/lodash-es/fill.js b/.output/server/node_modules/lodash-es/fill.js new file mode 100644 index 00000000..42c2ba79 --- /dev/null +++ b/.output/server/node_modules/lodash-es/fill.js @@ -0,0 +1,45 @@ +import baseFill from './_baseFill.js'; +import isIterateeCall from './_isIterateeCall.js'; + +/** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ +function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); +} + +export default fill; diff --git a/.output/server/node_modules/lodash-es/filter.js b/.output/server/node_modules/lodash-es/filter.js new file mode 100644 index 00000000..ef6ac611 --- /dev/null +++ b/.output/server/node_modules/lodash-es/filter.js @@ -0,0 +1,52 @@ +import arrayFilter from './_arrayFilter.js'; +import baseFilter from './_baseFilter.js'; +import baseIteratee from './_baseIteratee.js'; +import isArray from './isArray.js'; + +/** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ +function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, baseIteratee(predicate, 3)); +} + +export default filter; diff --git a/.output/server/node_modules/lodash-es/find.js b/.output/server/node_modules/lodash-es/find.js new file mode 100644 index 00000000..fd8de527 --- /dev/null +++ b/.output/server/node_modules/lodash-es/find.js @@ -0,0 +1,42 @@ +import createFind from './_createFind.js'; +import findIndex from './findIndex.js'; + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +export default find; diff --git a/.output/server/node_modules/lodash-es/findIndex.js b/.output/server/node_modules/lodash-es/findIndex.js new file mode 100644 index 00000000..c1cd7cdb --- /dev/null +++ b/.output/server/node_modules/lodash-es/findIndex.js @@ -0,0 +1,55 @@ +import baseFindIndex from './_baseFindIndex.js'; +import baseIteratee from './_baseIteratee.js'; +import toInteger from './toInteger.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +export default findIndex; diff --git a/.output/server/node_modules/lodash-es/findKey.js b/.output/server/node_modules/lodash-es/findKey.js new file mode 100644 index 00000000..a578ede4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/findKey.js @@ -0,0 +1,44 @@ +import baseFindKey from './_baseFindKey.js'; +import baseForOwn from './_baseForOwn.js'; +import baseIteratee from './_baseIteratee.js'; + +/** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ +function findKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn); +} + +export default findKey; diff --git a/.output/server/node_modules/lodash-es/findLast.js b/.output/server/node_modules/lodash-es/findLast.js new file mode 100644 index 00000000..02373864 --- /dev/null +++ b/.output/server/node_modules/lodash-es/findLast.js @@ -0,0 +1,25 @@ +import createFind from './_createFind.js'; +import findLastIndex from './findLastIndex.js'; + +/** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ +var findLast = createFind(findLastIndex); + +export default findLast; diff --git a/.output/server/node_modules/lodash-es/findLastIndex.js b/.output/server/node_modules/lodash-es/findLastIndex.js new file mode 100644 index 00000000..c2bb6dc1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/findLastIndex.js @@ -0,0 +1,59 @@ +import baseFindIndex from './_baseFindIndex.js'; +import baseIteratee from './_baseIteratee.js'; +import toInteger from './toInteger.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ +function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index, true); +} + +export default findLastIndex; diff --git a/.output/server/node_modules/lodash-es/findLastKey.js b/.output/server/node_modules/lodash-es/findLastKey.js new file mode 100644 index 00000000..6b391dc0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/findLastKey.js @@ -0,0 +1,44 @@ +import baseFindKey from './_baseFindKey.js'; +import baseForOwnRight from './_baseForOwnRight.js'; +import baseIteratee from './_baseIteratee.js'; + +/** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ +function findLastKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight); +} + +export default findLastKey; diff --git a/.output/server/node_modules/lodash-es/first.js b/.output/server/node_modules/lodash-es/first.js new file mode 100644 index 00000000..db707ff9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/first.js @@ -0,0 +1 @@ +export { default } from './head.js' diff --git a/.output/server/node_modules/lodash-es/flatMap.js b/.output/server/node_modules/lodash-es/flatMap.js new file mode 100644 index 00000000..52a6a7ae --- /dev/null +++ b/.output/server/node_modules/lodash-es/flatMap.js @@ -0,0 +1,29 @@ +import baseFlatten from './_baseFlatten.js'; +import map from './map.js'; + +/** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); +} + +export default flatMap; diff --git a/.output/server/node_modules/lodash-es/flatMapDeep.js b/.output/server/node_modules/lodash-es/flatMapDeep.js new file mode 100644 index 00000000..d33d219e --- /dev/null +++ b/.output/server/node_modules/lodash-es/flatMapDeep.js @@ -0,0 +1,31 @@ +import baseFlatten from './_baseFlatten.js'; +import map from './map.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); +} + +export default flatMapDeep; diff --git a/.output/server/node_modules/lodash-es/flatMapDepth.js b/.output/server/node_modules/lodash-es/flatMapDepth.js new file mode 100644 index 00000000..4be00964 --- /dev/null +++ b/.output/server/node_modules/lodash-es/flatMapDepth.js @@ -0,0 +1,31 @@ +import baseFlatten from './_baseFlatten.js'; +import map from './map.js'; +import toInteger from './toInteger.js'; + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ +function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); +} + +export default flatMapDepth; diff --git a/.output/server/node_modules/lodash-es/flatten.js b/.output/server/node_modules/lodash-es/flatten.js new file mode 100644 index 00000000..399b2a76 --- /dev/null +++ b/.output/server/node_modules/lodash-es/flatten.js @@ -0,0 +1,22 @@ +import baseFlatten from './_baseFlatten.js'; + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +export default flatten; diff --git a/.output/server/node_modules/lodash-es/flattenDeep.js b/.output/server/node_modules/lodash-es/flattenDeep.js new file mode 100644 index 00000000..4a7a9a98 --- /dev/null +++ b/.output/server/node_modules/lodash-es/flattenDeep.js @@ -0,0 +1,25 @@ +import baseFlatten from './_baseFlatten.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ +function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; +} + +export default flattenDeep; diff --git a/.output/server/node_modules/lodash-es/flattenDepth.js b/.output/server/node_modules/lodash-es/flattenDepth.js new file mode 100644 index 00000000..101dc3f0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/flattenDepth.js @@ -0,0 +1,33 @@ +import baseFlatten from './_baseFlatten.js'; +import toInteger from './toInteger.js'; + +/** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ +function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); +} + +export default flattenDepth; diff --git a/.output/server/node_modules/lodash-es/flip.js b/.output/server/node_modules/lodash-es/flip.js new file mode 100644 index 00000000..787324c9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/flip.js @@ -0,0 +1,28 @@ +import createWrap from './_createWrap.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ +function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); +} + +export default flip; diff --git a/.output/server/node_modules/lodash-es/floor.js b/.output/server/node_modules/lodash-es/floor.js new file mode 100644 index 00000000..7ea5394f --- /dev/null +++ b/.output/server/node_modules/lodash-es/floor.js @@ -0,0 +1,26 @@ +import createRound from './_createRound.js'; + +/** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ +var floor = createRound('floor'); + +export default floor; diff --git a/.output/server/node_modules/lodash-es/flow.js b/.output/server/node_modules/lodash-es/flow.js new file mode 100644 index 00000000..0a3e633e --- /dev/null +++ b/.output/server/node_modules/lodash-es/flow.js @@ -0,0 +1,27 @@ +import createFlow from './_createFlow.js'; + +/** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ +var flow = createFlow(); + +export default flow; diff --git a/.output/server/node_modules/lodash-es/flowRight.js b/.output/server/node_modules/lodash-es/flowRight.js new file mode 100644 index 00000000..cec0b80e --- /dev/null +++ b/.output/server/node_modules/lodash-es/flowRight.js @@ -0,0 +1,26 @@ +import createFlow from './_createFlow.js'; + +/** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ +var flowRight = createFlow(true); + +export default flowRight; diff --git a/.output/server/node_modules/lodash-es/forEach.js b/.output/server/node_modules/lodash-es/forEach.js new file mode 100644 index 00000000..ac1310ce --- /dev/null +++ b/.output/server/node_modules/lodash-es/forEach.js @@ -0,0 +1,41 @@ +import arrayEach from './_arrayEach.js'; +import baseEach from './_baseEach.js'; +import castFunction from './_castFunction.js'; +import isArray from './isArray.js'; + +/** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, castFunction(iteratee)); +} + +export default forEach; diff --git a/.output/server/node_modules/lodash-es/forEachRight.js b/.output/server/node_modules/lodash-es/forEachRight.js new file mode 100644 index 00000000..924548eb --- /dev/null +++ b/.output/server/node_modules/lodash-es/forEachRight.js @@ -0,0 +1,31 @@ +import arrayEachRight from './_arrayEachRight.js'; +import baseEachRight from './_baseEachRight.js'; +import castFunction from './_castFunction.js'; +import isArray from './isArray.js'; + +/** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ +function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, castFunction(iteratee)); +} + +export default forEachRight; diff --git a/.output/server/node_modules/lodash-es/forIn.js b/.output/server/node_modules/lodash-es/forIn.js new file mode 100644 index 00000000..436f319d --- /dev/null +++ b/.output/server/node_modules/lodash-es/forIn.js @@ -0,0 +1,39 @@ +import baseFor from './_baseFor.js'; +import castFunction from './_castFunction.js'; +import keysIn from './keysIn.js'; + +/** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ +function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, castFunction(iteratee), keysIn); +} + +export default forIn; diff --git a/.output/server/node_modules/lodash-es/forInRight.js b/.output/server/node_modules/lodash-es/forInRight.js new file mode 100644 index 00000000..cc92970f --- /dev/null +++ b/.output/server/node_modules/lodash-es/forInRight.js @@ -0,0 +1,37 @@ +import baseForRight from './_baseForRight.js'; +import castFunction from './_castFunction.js'; +import keysIn from './keysIn.js'; + +/** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ +function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, castFunction(iteratee), keysIn); +} + +export default forInRight; diff --git a/.output/server/node_modules/lodash-es/forOwn.js b/.output/server/node_modules/lodash-es/forOwn.js new file mode 100644 index 00000000..fe661690 --- /dev/null +++ b/.output/server/node_modules/lodash-es/forOwn.js @@ -0,0 +1,36 @@ +import baseForOwn from './_baseForOwn.js'; +import castFunction from './_castFunction.js'; + +/** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forOwn(object, iteratee) { + return object && baseForOwn(object, castFunction(iteratee)); +} + +export default forOwn; diff --git a/.output/server/node_modules/lodash-es/forOwnRight.js b/.output/server/node_modules/lodash-es/forOwnRight.js new file mode 100644 index 00000000..fe2dd281 --- /dev/null +++ b/.output/server/node_modules/lodash-es/forOwnRight.js @@ -0,0 +1,34 @@ +import baseForOwnRight from './_baseForOwnRight.js'; +import castFunction from './_castFunction.js'; + +/** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ +function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, castFunction(iteratee)); +} + +export default forOwnRight; diff --git a/.output/server/node_modules/lodash-es/fromPairs.js b/.output/server/node_modules/lodash-es/fromPairs.js new file mode 100644 index 00000000..4267cfbd --- /dev/null +++ b/.output/server/node_modules/lodash-es/fromPairs.js @@ -0,0 +1,28 @@ +/** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ +function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; +} + +export default fromPairs; diff --git a/.output/server/node_modules/lodash-es/function.default.js b/.output/server/node_modules/lodash-es/function.default.js new file mode 100644 index 00000000..a92f4dfd --- /dev/null +++ b/.output/server/node_modules/lodash-es/function.default.js @@ -0,0 +1,31 @@ +import after from './after.js'; +import ary from './ary.js'; +import before from './before.js'; +import bind from './bind.js'; +import bindKey from './bindKey.js'; +import curry from './curry.js'; +import curryRight from './curryRight.js'; +import debounce from './debounce.js'; +import defer from './defer.js'; +import delay from './delay.js'; +import flip from './flip.js'; +import memoize from './memoize.js'; +import negate from './negate.js'; +import once from './once.js'; +import overArgs from './overArgs.js'; +import partial from './partial.js'; +import partialRight from './partialRight.js'; +import rearg from './rearg.js'; +import rest from './rest.js'; +import spread from './spread.js'; +import throttle from './throttle.js'; +import unary from './unary.js'; +import wrap from './wrap.js'; + +export default { + after, ary, before, bind, bindKey, + curry, curryRight, debounce, defer, delay, + flip, memoize, negate, once, overArgs, + partial, partialRight, rearg, rest, spread, + throttle, unary, wrap +}; diff --git a/.output/server/node_modules/lodash-es/function.js b/.output/server/node_modules/lodash-es/function.js new file mode 100644 index 00000000..7c1dddfb --- /dev/null +++ b/.output/server/node_modules/lodash-es/function.js @@ -0,0 +1,24 @@ +export { default as after } from './after.js'; +export { default as ary } from './ary.js'; +export { default as before } from './before.js'; +export { default as bind } from './bind.js'; +export { default as bindKey } from './bindKey.js'; +export { default as curry } from './curry.js'; +export { default as curryRight } from './curryRight.js'; +export { default as debounce } from './debounce.js'; +export { default as defer } from './defer.js'; +export { default as delay } from './delay.js'; +export { default as flip } from './flip.js'; +export { default as memoize } from './memoize.js'; +export { default as negate } from './negate.js'; +export { default as once } from './once.js'; +export { default as overArgs } from './overArgs.js'; +export { default as partial } from './partial.js'; +export { default as partialRight } from './partialRight.js'; +export { default as rearg } from './rearg.js'; +export { default as rest } from './rest.js'; +export { default as spread } from './spread.js'; +export { default as throttle } from './throttle.js'; +export { default as unary } from './unary.js'; +export { default as wrap } from './wrap.js'; +export { default } from './function.default.js'; diff --git a/.output/server/node_modules/lodash-es/functions.js b/.output/server/node_modules/lodash-es/functions.js new file mode 100644 index 00000000..b9ea4de0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/functions.js @@ -0,0 +1,31 @@ +import baseFunctions from './_baseFunctions.js'; +import keys from './keys.js'; + +/** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ +function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); +} + +export default functions; diff --git a/.output/server/node_modules/lodash-es/functionsIn.js b/.output/server/node_modules/lodash-es/functionsIn.js new file mode 100644 index 00000000..fb727f17 --- /dev/null +++ b/.output/server/node_modules/lodash-es/functionsIn.js @@ -0,0 +1,31 @@ +import baseFunctions from './_baseFunctions.js'; +import keysIn from './keysIn.js'; + +/** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ +function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); +} + +export default functionsIn; diff --git a/.output/server/node_modules/lodash-es/get.js b/.output/server/node_modules/lodash-es/get.js new file mode 100644 index 00000000..55178350 --- /dev/null +++ b/.output/server/node_modules/lodash-es/get.js @@ -0,0 +1,33 @@ +import baseGet from './_baseGet.js'; + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +export default get; diff --git a/.output/server/node_modules/lodash-es/groupBy.js b/.output/server/node_modules/lodash-es/groupBy.js new file mode 100644 index 00000000..ba83631c --- /dev/null +++ b/.output/server/node_modules/lodash-es/groupBy.js @@ -0,0 +1,41 @@ +import baseAssignValue from './_baseAssignValue.js'; +import createAggregator from './_createAggregator.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ +var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } +}); + +export default groupBy; diff --git a/.output/server/node_modules/lodash-es/gt.js b/.output/server/node_modules/lodash-es/gt.js new file mode 100644 index 00000000..6a7227f6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/gt.js @@ -0,0 +1,29 @@ +import baseGt from './_baseGt.js'; +import createRelationalOperation from './_createRelationalOperation.js'; + +/** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ +var gt = createRelationalOperation(baseGt); + +export default gt; diff --git a/.output/server/node_modules/lodash-es/gte.js b/.output/server/node_modules/lodash-es/gte.js new file mode 100644 index 00000000..22c72b21 --- /dev/null +++ b/.output/server/node_modules/lodash-es/gte.js @@ -0,0 +1,30 @@ +import createRelationalOperation from './_createRelationalOperation.js'; + +/** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ +var gte = createRelationalOperation(function(value, other) { + return value >= other; +}); + +export default gte; diff --git a/.output/server/node_modules/lodash-es/has.js b/.output/server/node_modules/lodash-es/has.js new file mode 100644 index 00000000..83c8e49d --- /dev/null +++ b/.output/server/node_modules/lodash-es/has.js @@ -0,0 +1,35 @@ +import baseHas from './_baseHas.js'; +import hasPath from './_hasPath.js'; + +/** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ +function has(object, path) { + return object != null && hasPath(object, path, baseHas); +} + +export default has; diff --git a/.output/server/node_modules/lodash-es/hasIn.js b/.output/server/node_modules/lodash-es/hasIn.js new file mode 100644 index 00000000..c02eb1f4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/hasIn.js @@ -0,0 +1,34 @@ +import baseHasIn from './_baseHasIn.js'; +import hasPath from './_hasPath.js'; + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +export default hasIn; diff --git a/.output/server/node_modules/lodash-es/head.js b/.output/server/node_modules/lodash-es/head.js new file mode 100644 index 00000000..0a62691c --- /dev/null +++ b/.output/server/node_modules/lodash-es/head.js @@ -0,0 +1,23 @@ +/** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ +function head(array) { + return (array && array.length) ? array[0] : undefined; +} + +export default head; diff --git a/.output/server/node_modules/lodash-es/identity.js b/.output/server/node_modules/lodash-es/identity.js new file mode 100644 index 00000000..ed074d8c --- /dev/null +++ b/.output/server/node_modules/lodash-es/identity.js @@ -0,0 +1,21 @@ +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +export default identity; diff --git a/.output/server/node_modules/lodash-es/inRange.js b/.output/server/node_modules/lodash-es/inRange.js new file mode 100644 index 00000000..0e130ab9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/inRange.js @@ -0,0 +1,55 @@ +import baseInRange from './_baseInRange.js'; +import toFinite from './toFinite.js'; +import toNumber from './toNumber.js'; + +/** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ +function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); +} + +export default inRange; diff --git a/.output/server/node_modules/lodash-es/includes.js b/.output/server/node_modules/lodash-es/includes.js new file mode 100644 index 00000000..7bb37938 --- /dev/null +++ b/.output/server/node_modules/lodash-es/includes.js @@ -0,0 +1,53 @@ +import baseIndexOf from './_baseIndexOf.js'; +import isArrayLike from './isArrayLike.js'; +import isString from './isString.js'; +import toInteger from './toInteger.js'; +import values from './values.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ +function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); +} + +export default includes; diff --git a/.output/server/node_modules/lodash-es/indexOf.js b/.output/server/node_modules/lodash-es/indexOf.js new file mode 100644 index 00000000..ea3f9596 --- /dev/null +++ b/.output/server/node_modules/lodash-es/indexOf.js @@ -0,0 +1,42 @@ +import baseIndexOf from './_baseIndexOf.js'; +import toInteger from './toInteger.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ +function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); +} + +export default indexOf; diff --git a/.output/server/node_modules/lodash-es/initial.js b/.output/server/node_modules/lodash-es/initial.js new file mode 100644 index 00000000..908e5608 --- /dev/null +++ b/.output/server/node_modules/lodash-es/initial.js @@ -0,0 +1,22 @@ +import baseSlice from './_baseSlice.js'; + +/** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ +function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; +} + +export default initial; diff --git a/.output/server/node_modules/lodash-es/intersection.js b/.output/server/node_modules/lodash-es/intersection.js new file mode 100644 index 00000000..9d4ef19e --- /dev/null +++ b/.output/server/node_modules/lodash-es/intersection.js @@ -0,0 +1,30 @@ +import arrayMap from './_arrayMap.js'; +import baseIntersection from './_baseIntersection.js'; +import baseRest from './_baseRest.js'; +import castArrayLikeObject from './_castArrayLikeObject.js'; + +/** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ +var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; +}); + +export default intersection; diff --git a/.output/server/node_modules/lodash-es/intersectionBy.js b/.output/server/node_modules/lodash-es/intersectionBy.js new file mode 100644 index 00000000..6886f908 --- /dev/null +++ b/.output/server/node_modules/lodash-es/intersectionBy.js @@ -0,0 +1,45 @@ +import arrayMap from './_arrayMap.js'; +import baseIntersection from './_baseIntersection.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import castArrayLikeObject from './_castArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ +var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, baseIteratee(iteratee, 2)) + : []; +}); + +export default intersectionBy; diff --git a/.output/server/node_modules/lodash-es/intersectionWith.js b/.output/server/node_modules/lodash-es/intersectionWith.js new file mode 100644 index 00000000..79e9424a --- /dev/null +++ b/.output/server/node_modules/lodash-es/intersectionWith.js @@ -0,0 +1,41 @@ +import arrayMap from './_arrayMap.js'; +import baseIntersection from './_baseIntersection.js'; +import baseRest from './_baseRest.js'; +import castArrayLikeObject from './_castArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ +var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; +}); + +export default intersectionWith; diff --git a/.output/server/node_modules/lodash-es/invert.js b/.output/server/node_modules/lodash-es/invert.js new file mode 100644 index 00000000..4e938019 --- /dev/null +++ b/.output/server/node_modules/lodash-es/invert.js @@ -0,0 +1,42 @@ +import constant from './constant.js'; +import createInverter from './_createInverter.js'; +import identity from './identity.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ +var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; +}, constant(identity)); + +export default invert; diff --git a/.output/server/node_modules/lodash-es/invertBy.js b/.output/server/node_modules/lodash-es/invertBy.js new file mode 100644 index 00000000..facffc5e --- /dev/null +++ b/.output/server/node_modules/lodash-es/invertBy.js @@ -0,0 +1,56 @@ +import baseIteratee from './_baseIteratee.js'; +import createInverter from './_createInverter.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ +var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } +}, baseIteratee); + +export default invertBy; diff --git a/.output/server/node_modules/lodash-es/invoke.js b/.output/server/node_modules/lodash-es/invoke.js new file mode 100644 index 00000000..a21208bd --- /dev/null +++ b/.output/server/node_modules/lodash-es/invoke.js @@ -0,0 +1,24 @@ +import baseInvoke from './_baseInvoke.js'; +import baseRest from './_baseRest.js'; + +/** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ +var invoke = baseRest(baseInvoke); + +export default invoke; diff --git a/.output/server/node_modules/lodash-es/invokeMap.js b/.output/server/node_modules/lodash-es/invokeMap.js new file mode 100644 index 00000000..bab33832 --- /dev/null +++ b/.output/server/node_modules/lodash-es/invokeMap.js @@ -0,0 +1,41 @@ +import apply from './_apply.js'; +import baseEach from './_baseEach.js'; +import baseInvoke from './_baseInvoke.js'; +import baseRest from './_baseRest.js'; +import isArrayLike from './isArrayLike.js'; + +/** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ +var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; +}); + +export default invokeMap; diff --git a/.output/server/node_modules/lodash-es/isArguments.js b/.output/server/node_modules/lodash-es/isArguments.js new file mode 100644 index 00000000..6c49fe57 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isArguments.js @@ -0,0 +1,36 @@ +import baseIsArguments from './_baseIsArguments.js'; +import isObjectLike from './isObjectLike.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +export default isArguments; diff --git a/.output/server/node_modules/lodash-es/isArray.js b/.output/server/node_modules/lodash-es/isArray.js new file mode 100644 index 00000000..5643c198 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isArray.js @@ -0,0 +1,26 @@ +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +export default isArray; diff --git a/.output/server/node_modules/lodash-es/isArrayBuffer.js b/.output/server/node_modules/lodash-es/isArrayBuffer.js new file mode 100644 index 00000000..32f91ac5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isArrayBuffer.js @@ -0,0 +1,27 @@ +import baseIsArrayBuffer from './_baseIsArrayBuffer.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer; + +/** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ +var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + +export default isArrayBuffer; diff --git a/.output/server/node_modules/lodash-es/isArrayLike.js b/.output/server/node_modules/lodash-es/isArrayLike.js new file mode 100644 index 00000000..f763abd3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isArrayLike.js @@ -0,0 +1,33 @@ +import isFunction from './isFunction.js'; +import isLength from './isLength.js'; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +export default isArrayLike; diff --git a/.output/server/node_modules/lodash-es/isArrayLikeObject.js b/.output/server/node_modules/lodash-es/isArrayLikeObject.js new file mode 100644 index 00000000..0332da45 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isArrayLikeObject.js @@ -0,0 +1,33 @@ +import isArrayLike from './isArrayLike.js'; +import isObjectLike from './isObjectLike.js'; + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +export default isArrayLikeObject; diff --git a/.output/server/node_modules/lodash-es/isBoolean.js b/.output/server/node_modules/lodash-es/isBoolean.js new file mode 100644 index 00000000..883cee97 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isBoolean.js @@ -0,0 +1,29 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]'; + +/** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ +function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); +} + +export default isBoolean; diff --git a/.output/server/node_modules/lodash-es/isBuffer.js b/.output/server/node_modules/lodash-es/isBuffer.js new file mode 100644 index 00000000..d7ba0788 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isBuffer.js @@ -0,0 +1,38 @@ +import root from './_root.js'; +import stubFalse from './stubFalse.js'; + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +export default isBuffer; diff --git a/.output/server/node_modules/lodash-es/isDate.js b/.output/server/node_modules/lodash-es/isDate.js new file mode 100644 index 00000000..d586c512 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isDate.js @@ -0,0 +1,27 @@ +import baseIsDate from './_baseIsDate.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsDate = nodeUtil && nodeUtil.isDate; + +/** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ +var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + +export default isDate; diff --git a/.output/server/node_modules/lodash-es/isElement.js b/.output/server/node_modules/lodash-es/isElement.js new file mode 100644 index 00000000..c79ba5b0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isElement.js @@ -0,0 +1,25 @@ +import isObjectLike from './isObjectLike.js'; +import isPlainObject from './isPlainObject.js'; + +/** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement('<body>'); + * // => false + */ +function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); +} + +export default isElement; diff --git a/.output/server/node_modules/lodash-es/isEmpty.js b/.output/server/node_modules/lodash-es/isEmpty.js new file mode 100644 index 00000000..c2e55f8e --- /dev/null +++ b/.output/server/node_modules/lodash-es/isEmpty.js @@ -0,0 +1,77 @@ +import baseKeys from './_baseKeys.js'; +import getTag from './_getTag.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; +import isArrayLike from './isArrayLike.js'; +import isBuffer from './isBuffer.js'; +import isPrototype from './_isPrototype.js'; +import isTypedArray from './isTypedArray.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ +function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; +} + +export default isEmpty; diff --git a/.output/server/node_modules/lodash-es/isEqual.js b/.output/server/node_modules/lodash-es/isEqual.js new file mode 100644 index 00000000..8be0e2ce --- /dev/null +++ b/.output/server/node_modules/lodash-es/isEqual.js @@ -0,0 +1,35 @@ +import baseIsEqual from './_baseIsEqual.js'; + +/** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ +function isEqual(value, other) { + return baseIsEqual(value, other); +} + +export default isEqual; diff --git a/.output/server/node_modules/lodash-es/isEqualWith.js b/.output/server/node_modules/lodash-es/isEqualWith.js new file mode 100644 index 00000000..c16f2056 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isEqualWith.js @@ -0,0 +1,41 @@ +import baseIsEqual from './_baseIsEqual.js'; + +/** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ +function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; +} + +export default isEqualWith; diff --git a/.output/server/node_modules/lodash-es/isError.js b/.output/server/node_modules/lodash-es/isError.js new file mode 100644 index 00000000..c57a38bf --- /dev/null +++ b/.output/server/node_modules/lodash-es/isError.js @@ -0,0 +1,36 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; +import isPlainObject from './isPlainObject.js'; + +/** `Object#toString` result references. */ +var domExcTag = '[object DOMException]', + errorTag = '[object Error]'; + +/** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ +function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); +} + +export default isError; diff --git a/.output/server/node_modules/lodash-es/isFinite.js b/.output/server/node_modules/lodash-es/isFinite.js new file mode 100644 index 00000000..1c6a5066 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isFinite.js @@ -0,0 +1,36 @@ +import root from './_root.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite; + +/** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ +function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); +} + +export default isFinite; diff --git a/.output/server/node_modules/lodash-es/isFunction.js b/.output/server/node_modules/lodash-es/isFunction.js new file mode 100644 index 00000000..57c133d9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isFunction.js @@ -0,0 +1,37 @@ +import baseGetTag from './_baseGetTag.js'; +import isObject from './isObject.js'; + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +export default isFunction; diff --git a/.output/server/node_modules/lodash-es/isInteger.js b/.output/server/node_modules/lodash-es/isInteger.js new file mode 100644 index 00000000..8284ac0b --- /dev/null +++ b/.output/server/node_modules/lodash-es/isInteger.js @@ -0,0 +1,33 @@ +import toInteger from './toInteger.js'; + +/** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ +function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); +} + +export default isInteger; diff --git a/.output/server/node_modules/lodash-es/isLength.js b/.output/server/node_modules/lodash-es/isLength.js new file mode 100644 index 00000000..2acf24e8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isLength.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +export default isLength; diff --git a/.output/server/node_modules/lodash-es/isMap.js b/.output/server/node_modules/lodash-es/isMap.js new file mode 100644 index 00000000..d867dfa8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isMap.js @@ -0,0 +1,27 @@ +import baseIsMap from './_baseIsMap.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsMap = nodeUtil && nodeUtil.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + +export default isMap; diff --git a/.output/server/node_modules/lodash-es/isMatch.js b/.output/server/node_modules/lodash-es/isMatch.js new file mode 100644 index 00000000..4872ebfc --- /dev/null +++ b/.output/server/node_modules/lodash-es/isMatch.js @@ -0,0 +1,36 @@ +import baseIsMatch from './_baseIsMatch.js'; +import getMatchData from './_getMatchData.js'; + +/** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ +function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); +} + +export default isMatch; diff --git a/.output/server/node_modules/lodash-es/isMatchWith.js b/.output/server/node_modules/lodash-es/isMatchWith.js new file mode 100644 index 00000000..aeec8f57 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isMatchWith.js @@ -0,0 +1,41 @@ +import baseIsMatch from './_baseIsMatch.js'; +import getMatchData from './_getMatchData.js'; + +/** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ +function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); +} + +export default isMatchWith; diff --git a/.output/server/node_modules/lodash-es/isNaN.js b/.output/server/node_modules/lodash-es/isNaN.js new file mode 100644 index 00000000..c1747b36 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isNaN.js @@ -0,0 +1,38 @@ +import isNumber from './isNumber.js'; + +/** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ +function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; +} + +export default isNaN; diff --git a/.output/server/node_modules/lodash-es/isNative.js b/.output/server/node_modules/lodash-es/isNative.js new file mode 100644 index 00000000..f1d2c327 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isNative.js @@ -0,0 +1,40 @@ +import baseIsNative from './_baseIsNative.js'; +import isMaskable from './_isMaskable.js'; + +/** Error message constants. */ +var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'; + +/** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ +function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); +} + +export default isNative; diff --git a/.output/server/node_modules/lodash-es/isNil.js b/.output/server/node_modules/lodash-es/isNil.js new file mode 100644 index 00000000..9c4a93c6 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isNil.js @@ -0,0 +1,25 @@ +/** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ +function isNil(value) { + return value == null; +} + +export default isNil; diff --git a/.output/server/node_modules/lodash-es/isNull.js b/.output/server/node_modules/lodash-es/isNull.js new file mode 100644 index 00000000..5d885981 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isNull.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ +function isNull(value) { + return value === null; +} + +export default isNull; diff --git a/.output/server/node_modules/lodash-es/isNumber.js b/.output/server/node_modules/lodash-es/isNumber.js new file mode 100644 index 00000000..8cbdaa6e --- /dev/null +++ b/.output/server/node_modules/lodash-es/isNumber.js @@ -0,0 +1,38 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var numberTag = '[object Number]'; + +/** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ +function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); +} + +export default isNumber; diff --git a/.output/server/node_modules/lodash-es/isObject.js b/.output/server/node_modules/lodash-es/isObject.js new file mode 100644 index 00000000..ddfebd5b --- /dev/null +++ b/.output/server/node_modules/lodash-es/isObject.js @@ -0,0 +1,31 @@ +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +export default isObject; diff --git a/.output/server/node_modules/lodash-es/isObjectLike.js b/.output/server/node_modules/lodash-es/isObjectLike.js new file mode 100644 index 00000000..0e931b17 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isObjectLike.js @@ -0,0 +1,29 @@ +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +export default isObjectLike; diff --git a/.output/server/node_modules/lodash-es/isPlainObject.js b/.output/server/node_modules/lodash-es/isPlainObject.js new file mode 100644 index 00000000..45ec39f2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isPlainObject.js @@ -0,0 +1,62 @@ +import baseGetTag from './_baseGetTag.js'; +import getPrototype from './_getPrototype.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +export default isPlainObject; diff --git a/.output/server/node_modules/lodash-es/isRegExp.js b/.output/server/node_modules/lodash-es/isRegExp.js new file mode 100644 index 00000000..19580dbb --- /dev/null +++ b/.output/server/node_modules/lodash-es/isRegExp.js @@ -0,0 +1,27 @@ +import baseIsRegExp from './_baseIsRegExp.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; + +/** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ +var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + +export default isRegExp; diff --git a/.output/server/node_modules/lodash-es/isSafeInteger.js b/.output/server/node_modules/lodash-es/isSafeInteger.js new file mode 100644 index 00000000..beda9119 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isSafeInteger.js @@ -0,0 +1,37 @@ +import isInteger from './isInteger.js'; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ +function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; +} + +export default isSafeInteger; diff --git a/.output/server/node_modules/lodash-es/isSet.js b/.output/server/node_modules/lodash-es/isSet.js new file mode 100644 index 00000000..78c8198e --- /dev/null +++ b/.output/server/node_modules/lodash-es/isSet.js @@ -0,0 +1,27 @@ +import baseIsSet from './_baseIsSet.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsSet = nodeUtil && nodeUtil.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + +export default isSet; diff --git a/.output/server/node_modules/lodash-es/isString.js b/.output/server/node_modules/lodash-es/isString.js new file mode 100644 index 00000000..a4229548 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isString.js @@ -0,0 +1,30 @@ +import baseGetTag from './_baseGetTag.js'; +import isArray from './isArray.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); +} + +export default isString; diff --git a/.output/server/node_modules/lodash-es/isSymbol.js b/.output/server/node_modules/lodash-es/isSymbol.js new file mode 100644 index 00000000..61702c6e --- /dev/null +++ b/.output/server/node_modules/lodash-es/isSymbol.js @@ -0,0 +1,29 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +export default isSymbol; diff --git a/.output/server/node_modules/lodash-es/isTypedArray.js b/.output/server/node_modules/lodash-es/isTypedArray.js new file mode 100644 index 00000000..8cffbef9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isTypedArray.js @@ -0,0 +1,27 @@ +import baseIsTypedArray from './_baseIsTypedArray.js'; +import baseUnary from './_baseUnary.js'; +import nodeUtil from './_nodeUtil.js'; + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +export default isTypedArray; diff --git a/.output/server/node_modules/lodash-es/isUndefined.js b/.output/server/node_modules/lodash-es/isUndefined.js new file mode 100644 index 00000000..d4f97d5e --- /dev/null +++ b/.output/server/node_modules/lodash-es/isUndefined.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ +function isUndefined(value) { + return value === undefined; +} + +export default isUndefined; diff --git a/.output/server/node_modules/lodash-es/isWeakMap.js b/.output/server/node_modules/lodash-es/isWeakMap.js new file mode 100644 index 00000000..a85307f0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isWeakMap.js @@ -0,0 +1,28 @@ +import getTag from './_getTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var weakMapTag = '[object WeakMap]'; + +/** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ +function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; +} + +export default isWeakMap; diff --git a/.output/server/node_modules/lodash-es/isWeakSet.js b/.output/server/node_modules/lodash-es/isWeakSet.js new file mode 100644 index 00000000..69ad22e5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/isWeakSet.js @@ -0,0 +1,28 @@ +import baseGetTag from './_baseGetTag.js'; +import isObjectLike from './isObjectLike.js'; + +/** `Object#toString` result references. */ +var weakSetTag = '[object WeakSet]'; + +/** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ +function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; +} + +export default isWeakSet; diff --git a/.output/server/node_modules/lodash-es/iteratee.js b/.output/server/node_modules/lodash-es/iteratee.js new file mode 100644 index 00000000..a2a4af2e --- /dev/null +++ b/.output/server/node_modules/lodash-es/iteratee.js @@ -0,0 +1,53 @@ +import baseClone from './_baseClone.js'; +import baseIteratee from './_baseIteratee.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ +function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); +} + +export default iteratee; diff --git a/.output/server/node_modules/lodash-es/join.js b/.output/server/node_modules/lodash-es/join.js new file mode 100644 index 00000000..61dd65b2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/join.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeJoin = arrayProto.join; + +/** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ +function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); +} + +export default join; diff --git a/.output/server/node_modules/lodash-es/kebabCase.js b/.output/server/node_modules/lodash-es/kebabCase.js new file mode 100644 index 00000000..1df34db9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/kebabCase.js @@ -0,0 +1,28 @@ +import createCompounder from './_createCompounder.js'; + +/** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ +var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); +}); + +export default kebabCase; diff --git a/.output/server/node_modules/lodash-es/keyBy.js b/.output/server/node_modules/lodash-es/keyBy.js new file mode 100644 index 00000000..33495221 --- /dev/null +++ b/.output/server/node_modules/lodash-es/keyBy.js @@ -0,0 +1,36 @@ +import baseAssignValue from './_baseAssignValue.js'; +import createAggregator from './_createAggregator.js'; + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ +var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); +}); + +export default keyBy; diff --git a/.output/server/node_modules/lodash-es/keys.js b/.output/server/node_modules/lodash-es/keys.js new file mode 100644 index 00000000..fd7089b4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/keys.js @@ -0,0 +1,37 @@ +import arrayLikeKeys from './_arrayLikeKeys.js'; +import baseKeys from './_baseKeys.js'; +import isArrayLike from './isArrayLike.js'; + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +export default keys; diff --git a/.output/server/node_modules/lodash-es/keysIn.js b/.output/server/node_modules/lodash-es/keysIn.js new file mode 100644 index 00000000..a77147a3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/keysIn.js @@ -0,0 +1,32 @@ +import arrayLikeKeys from './_arrayLikeKeys.js'; +import baseKeysIn from './_baseKeysIn.js'; +import isArrayLike from './isArrayLike.js'; + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +export default keysIn; diff --git a/.output/server/node_modules/lodash-es/lang.default.js b/.output/server/node_modules/lodash-es/lang.default.js new file mode 100644 index 00000000..8fd434d1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/lang.default.js @@ -0,0 +1,71 @@ +import castArray from './castArray.js'; +import clone from './clone.js'; +import cloneDeep from './cloneDeep.js'; +import cloneDeepWith from './cloneDeepWith.js'; +import cloneWith from './cloneWith.js'; +import conformsTo from './conformsTo.js'; +import eq from './eq.js'; +import gt from './gt.js'; +import gte from './gte.js'; +import isArguments from './isArguments.js'; +import isArray from './isArray.js'; +import isArrayBuffer from './isArrayBuffer.js'; +import isArrayLike from './isArrayLike.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import isBoolean from './isBoolean.js'; +import isBuffer from './isBuffer.js'; +import isDate from './isDate.js'; +import isElement from './isElement.js'; +import isEmpty from './isEmpty.js'; +import isEqual from './isEqual.js'; +import isEqualWith from './isEqualWith.js'; +import isError from './isError.js'; +import isFinite from './isFinite.js'; +import isFunction from './isFunction.js'; +import isInteger from './isInteger.js'; +import isLength from './isLength.js'; +import isMap from './isMap.js'; +import isMatch from './isMatch.js'; +import isMatchWith from './isMatchWith.js'; +import isNaN from './isNaN.js'; +import isNative from './isNative.js'; +import isNil from './isNil.js'; +import isNull from './isNull.js'; +import isNumber from './isNumber.js'; +import isObject from './isObject.js'; +import isObjectLike from './isObjectLike.js'; +import isPlainObject from './isPlainObject.js'; +import isRegExp from './isRegExp.js'; +import isSafeInteger from './isSafeInteger.js'; +import isSet from './isSet.js'; +import isString from './isString.js'; +import isSymbol from './isSymbol.js'; +import isTypedArray from './isTypedArray.js'; +import isUndefined from './isUndefined.js'; +import isWeakMap from './isWeakMap.js'; +import isWeakSet from './isWeakSet.js'; +import lt from './lt.js'; +import lte from './lte.js'; +import toArray from './toArray.js'; +import toFinite from './toFinite.js'; +import toInteger from './toInteger.js'; +import toLength from './toLength.js'; +import toNumber from './toNumber.js'; +import toPlainObject from './toPlainObject.js'; +import toSafeInteger from './toSafeInteger.js'; +import toString from './toString.js'; + +export default { + castArray, clone, cloneDeep, cloneDeepWith, cloneWith, + conformsTo, eq, gt, gte, isArguments, + isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, + isBuffer, isDate, isElement, isEmpty, isEqual, + isEqualWith, isError, isFinite, isFunction, isInteger, + isLength, isMap, isMatch, isMatchWith, isNaN, + isNative, isNil, isNull, isNumber, isObject, + isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, + isString, isSymbol, isTypedArray, isUndefined, isWeakMap, + isWeakSet, lt, lte, toArray, toFinite, + toInteger, toLength, toNumber, toPlainObject, toSafeInteger, + toString +}; diff --git a/.output/server/node_modules/lodash-es/lang.js b/.output/server/node_modules/lodash-es/lang.js new file mode 100644 index 00000000..eb837d9b --- /dev/null +++ b/.output/server/node_modules/lodash-es/lang.js @@ -0,0 +1,57 @@ +export { default as castArray } from './castArray.js'; +export { default as clone } from './clone.js'; +export { default as cloneDeep } from './cloneDeep.js'; +export { default as cloneDeepWith } from './cloneDeepWith.js'; +export { default as cloneWith } from './cloneWith.js'; +export { default as conformsTo } from './conformsTo.js'; +export { default as eq } from './eq.js'; +export { default as gt } from './gt.js'; +export { default as gte } from './gte.js'; +export { default as isArguments } from './isArguments.js'; +export { default as isArray } from './isArray.js'; +export { default as isArrayBuffer } from './isArrayBuffer.js'; +export { default as isArrayLike } from './isArrayLike.js'; +export { default as isArrayLikeObject } from './isArrayLikeObject.js'; +export { default as isBoolean } from './isBoolean.js'; +export { default as isBuffer } from './isBuffer.js'; +export { default as isDate } from './isDate.js'; +export { default as isElement } from './isElement.js'; +export { default as isEmpty } from './isEmpty.js'; +export { default as isEqual } from './isEqual.js'; +export { default as isEqualWith } from './isEqualWith.js'; +export { default as isError } from './isError.js'; +export { default as isFinite } from './isFinite.js'; +export { default as isFunction } from './isFunction.js'; +export { default as isInteger } from './isInteger.js'; +export { default as isLength } from './isLength.js'; +export { default as isMap } from './isMap.js'; +export { default as isMatch } from './isMatch.js'; +export { default as isMatchWith } from './isMatchWith.js'; +export { default as isNaN } from './isNaN.js'; +export { default as isNative } from './isNative.js'; +export { default as isNil } from './isNil.js'; +export { default as isNull } from './isNull.js'; +export { default as isNumber } from './isNumber.js'; +export { default as isObject } from './isObject.js'; +export { default as isObjectLike } from './isObjectLike.js'; +export { default as isPlainObject } from './isPlainObject.js'; +export { default as isRegExp } from './isRegExp.js'; +export { default as isSafeInteger } from './isSafeInteger.js'; +export { default as isSet } from './isSet.js'; +export { default as isString } from './isString.js'; +export { default as isSymbol } from './isSymbol.js'; +export { default as isTypedArray } from './isTypedArray.js'; +export { default as isUndefined } from './isUndefined.js'; +export { default as isWeakMap } from './isWeakMap.js'; +export { default as isWeakSet } from './isWeakSet.js'; +export { default as lt } from './lt.js'; +export { default as lte } from './lte.js'; +export { default as toArray } from './toArray.js'; +export { default as toFinite } from './toFinite.js'; +export { default as toInteger } from './toInteger.js'; +export { default as toLength } from './toLength.js'; +export { default as toNumber } from './toNumber.js'; +export { default as toPlainObject } from './toPlainObject.js'; +export { default as toSafeInteger } from './toSafeInteger.js'; +export { default as toString } from './toString.js'; +export { default } from './lang.default.js'; diff --git a/.output/server/node_modules/lodash-es/last.js b/.output/server/node_modules/lodash-es/last.js new file mode 100644 index 00000000..b4135f70 --- /dev/null +++ b/.output/server/node_modules/lodash-es/last.js @@ -0,0 +1,20 @@ +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +export default last; diff --git a/.output/server/node_modules/lodash-es/lastIndexOf.js b/.output/server/node_modules/lodash-es/lastIndexOf.js new file mode 100644 index 00000000..bf6eac8c --- /dev/null +++ b/.output/server/node_modules/lodash-es/lastIndexOf.js @@ -0,0 +1,46 @@ +import baseFindIndex from './_baseFindIndex.js'; +import baseIsNaN from './_baseIsNaN.js'; +import strictLastIndexOf from './_strictLastIndexOf.js'; +import toInteger from './toInteger.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ +function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); +} + +export default lastIndexOf; diff --git a/.output/server/node_modules/lodash-es/lodash.default.js b/.output/server/node_modules/lodash-es/lodash.default.js new file mode 100644 index 00000000..0e2529d8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/lodash.default.js @@ -0,0 +1,643 @@ +/** + * @license + * Lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +import array from './array.js'; +import collection from './collection.js'; +import date from './date.js'; +import func from './function.js'; +import lang from './lang.js'; +import math from './math.js'; +import number from './number.js'; +import object from './object.js'; +import seq from './seq.js'; +import string from './string.js'; +import util from './util.js'; +import LazyWrapper from './_LazyWrapper.js'; +import LodashWrapper from './_LodashWrapper.js'; +import Symbol from './_Symbol.js'; +import arrayEach from './_arrayEach.js'; +import arrayPush from './_arrayPush.js'; +import baseForOwn from './_baseForOwn.js'; +import baseFunctions from './_baseFunctions.js'; +import baseInvoke from './_baseInvoke.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import createHybrid from './_createHybrid.js'; +import identity from './identity.js'; +import isArray from './isArray.js'; +import isObject from './isObject.js'; +import keys from './keys.js'; +import last from './last.js'; +import lazyClone from './_lazyClone.js'; +import lazyReverse from './_lazyReverse.js'; +import lazyValue from './_lazyValue.js'; +import _mixin from './mixin.js'; +import negate from './negate.js'; +import realNames from './_realNames.js'; +import thru from './thru.js'; +import toInteger from './toInteger.js'; +import lodash from './wrapperLodash.js'; + +/** Used as the semantic version number. */ +var VERSION = '4.17.21'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_KEY_FLAG = 2; + +/** Used to indicate the type of lazy iteratees. */ +var LAZY_FILTER_FLAG = 1, + LAZY_WHILE_FLAG = 3; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var symIterator = Symbol ? Symbol.iterator : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +// wrap `_.mixin` so it works when provided only one argument +var mixin = (function(func) { + return function(object, source, options) { + if (options == null) { + var isObj = isObject(source), + props = isObj && keys(source), + methodNames = props && props.length && baseFunctions(source, props); + + if (!(methodNames ? methodNames.length : isObj)) { + options = source; + source = object; + object = this; + } + } + return func(object, source, options); + }; +}(_mixin)); + +// Add methods that return wrapped values in chain sequences. +lodash.after = func.after; +lodash.ary = func.ary; +lodash.assign = object.assign; +lodash.assignIn = object.assignIn; +lodash.assignInWith = object.assignInWith; +lodash.assignWith = object.assignWith; +lodash.at = object.at; +lodash.before = func.before; +lodash.bind = func.bind; +lodash.bindAll = util.bindAll; +lodash.bindKey = func.bindKey; +lodash.castArray = lang.castArray; +lodash.chain = seq.chain; +lodash.chunk = array.chunk; +lodash.compact = array.compact; +lodash.concat = array.concat; +lodash.cond = util.cond; +lodash.conforms = util.conforms; +lodash.constant = util.constant; +lodash.countBy = collection.countBy; +lodash.create = object.create; +lodash.curry = func.curry; +lodash.curryRight = func.curryRight; +lodash.debounce = func.debounce; +lodash.defaults = object.defaults; +lodash.defaultsDeep = object.defaultsDeep; +lodash.defer = func.defer; +lodash.delay = func.delay; +lodash.difference = array.difference; +lodash.differenceBy = array.differenceBy; +lodash.differenceWith = array.differenceWith; +lodash.drop = array.drop; +lodash.dropRight = array.dropRight; +lodash.dropRightWhile = array.dropRightWhile; +lodash.dropWhile = array.dropWhile; +lodash.fill = array.fill; +lodash.filter = collection.filter; +lodash.flatMap = collection.flatMap; +lodash.flatMapDeep = collection.flatMapDeep; +lodash.flatMapDepth = collection.flatMapDepth; +lodash.flatten = array.flatten; +lodash.flattenDeep = array.flattenDeep; +lodash.flattenDepth = array.flattenDepth; +lodash.flip = func.flip; +lodash.flow = util.flow; +lodash.flowRight = util.flowRight; +lodash.fromPairs = array.fromPairs; +lodash.functions = object.functions; +lodash.functionsIn = object.functionsIn; +lodash.groupBy = collection.groupBy; +lodash.initial = array.initial; +lodash.intersection = array.intersection; +lodash.intersectionBy = array.intersectionBy; +lodash.intersectionWith = array.intersectionWith; +lodash.invert = object.invert; +lodash.invertBy = object.invertBy; +lodash.invokeMap = collection.invokeMap; +lodash.iteratee = util.iteratee; +lodash.keyBy = collection.keyBy; +lodash.keys = keys; +lodash.keysIn = object.keysIn; +lodash.map = collection.map; +lodash.mapKeys = object.mapKeys; +lodash.mapValues = object.mapValues; +lodash.matches = util.matches; +lodash.matchesProperty = util.matchesProperty; +lodash.memoize = func.memoize; +lodash.merge = object.merge; +lodash.mergeWith = object.mergeWith; +lodash.method = util.method; +lodash.methodOf = util.methodOf; +lodash.mixin = mixin; +lodash.negate = negate; +lodash.nthArg = util.nthArg; +lodash.omit = object.omit; +lodash.omitBy = object.omitBy; +lodash.once = func.once; +lodash.orderBy = collection.orderBy; +lodash.over = util.over; +lodash.overArgs = func.overArgs; +lodash.overEvery = util.overEvery; +lodash.overSome = util.overSome; +lodash.partial = func.partial; +lodash.partialRight = func.partialRight; +lodash.partition = collection.partition; +lodash.pick = object.pick; +lodash.pickBy = object.pickBy; +lodash.property = util.property; +lodash.propertyOf = util.propertyOf; +lodash.pull = array.pull; +lodash.pullAll = array.pullAll; +lodash.pullAllBy = array.pullAllBy; +lodash.pullAllWith = array.pullAllWith; +lodash.pullAt = array.pullAt; +lodash.range = util.range; +lodash.rangeRight = util.rangeRight; +lodash.rearg = func.rearg; +lodash.reject = collection.reject; +lodash.remove = array.remove; +lodash.rest = func.rest; +lodash.reverse = array.reverse; +lodash.sampleSize = collection.sampleSize; +lodash.set = object.set; +lodash.setWith = object.setWith; +lodash.shuffle = collection.shuffle; +lodash.slice = array.slice; +lodash.sortBy = collection.sortBy; +lodash.sortedUniq = array.sortedUniq; +lodash.sortedUniqBy = array.sortedUniqBy; +lodash.split = string.split; +lodash.spread = func.spread; +lodash.tail = array.tail; +lodash.take = array.take; +lodash.takeRight = array.takeRight; +lodash.takeRightWhile = array.takeRightWhile; +lodash.takeWhile = array.takeWhile; +lodash.tap = seq.tap; +lodash.throttle = func.throttle; +lodash.thru = thru; +lodash.toArray = lang.toArray; +lodash.toPairs = object.toPairs; +lodash.toPairsIn = object.toPairsIn; +lodash.toPath = util.toPath; +lodash.toPlainObject = lang.toPlainObject; +lodash.transform = object.transform; +lodash.unary = func.unary; +lodash.union = array.union; +lodash.unionBy = array.unionBy; +lodash.unionWith = array.unionWith; +lodash.uniq = array.uniq; +lodash.uniqBy = array.uniqBy; +lodash.uniqWith = array.uniqWith; +lodash.unset = object.unset; +lodash.unzip = array.unzip; +lodash.unzipWith = array.unzipWith; +lodash.update = object.update; +lodash.updateWith = object.updateWith; +lodash.values = object.values; +lodash.valuesIn = object.valuesIn; +lodash.without = array.without; +lodash.words = string.words; +lodash.wrap = func.wrap; +lodash.xor = array.xor; +lodash.xorBy = array.xorBy; +lodash.xorWith = array.xorWith; +lodash.zip = array.zip; +lodash.zipObject = array.zipObject; +lodash.zipObjectDeep = array.zipObjectDeep; +lodash.zipWith = array.zipWith; + +// Add aliases. +lodash.entries = object.toPairs; +lodash.entriesIn = object.toPairsIn; +lodash.extend = object.assignIn; +lodash.extendWith = object.assignInWith; + +// Add methods to `lodash.prototype`. +mixin(lodash, lodash); + +// Add methods that return unwrapped values in chain sequences. +lodash.add = math.add; +lodash.attempt = util.attempt; +lodash.camelCase = string.camelCase; +lodash.capitalize = string.capitalize; +lodash.ceil = math.ceil; +lodash.clamp = number.clamp; +lodash.clone = lang.clone; +lodash.cloneDeep = lang.cloneDeep; +lodash.cloneDeepWith = lang.cloneDeepWith; +lodash.cloneWith = lang.cloneWith; +lodash.conformsTo = lang.conformsTo; +lodash.deburr = string.deburr; +lodash.defaultTo = util.defaultTo; +lodash.divide = math.divide; +lodash.endsWith = string.endsWith; +lodash.eq = lang.eq; +lodash.escape = string.escape; +lodash.escapeRegExp = string.escapeRegExp; +lodash.every = collection.every; +lodash.find = collection.find; +lodash.findIndex = array.findIndex; +lodash.findKey = object.findKey; +lodash.findLast = collection.findLast; +lodash.findLastIndex = array.findLastIndex; +lodash.findLastKey = object.findLastKey; +lodash.floor = math.floor; +lodash.forEach = collection.forEach; +lodash.forEachRight = collection.forEachRight; +lodash.forIn = object.forIn; +lodash.forInRight = object.forInRight; +lodash.forOwn = object.forOwn; +lodash.forOwnRight = object.forOwnRight; +lodash.get = object.get; +lodash.gt = lang.gt; +lodash.gte = lang.gte; +lodash.has = object.has; +lodash.hasIn = object.hasIn; +lodash.head = array.head; +lodash.identity = identity; +lodash.includes = collection.includes; +lodash.indexOf = array.indexOf; +lodash.inRange = number.inRange; +lodash.invoke = object.invoke; +lodash.isArguments = lang.isArguments; +lodash.isArray = isArray; +lodash.isArrayBuffer = lang.isArrayBuffer; +lodash.isArrayLike = lang.isArrayLike; +lodash.isArrayLikeObject = lang.isArrayLikeObject; +lodash.isBoolean = lang.isBoolean; +lodash.isBuffer = lang.isBuffer; +lodash.isDate = lang.isDate; +lodash.isElement = lang.isElement; +lodash.isEmpty = lang.isEmpty; +lodash.isEqual = lang.isEqual; +lodash.isEqualWith = lang.isEqualWith; +lodash.isError = lang.isError; +lodash.isFinite = lang.isFinite; +lodash.isFunction = lang.isFunction; +lodash.isInteger = lang.isInteger; +lodash.isLength = lang.isLength; +lodash.isMap = lang.isMap; +lodash.isMatch = lang.isMatch; +lodash.isMatchWith = lang.isMatchWith; +lodash.isNaN = lang.isNaN; +lodash.isNative = lang.isNative; +lodash.isNil = lang.isNil; +lodash.isNull = lang.isNull; +lodash.isNumber = lang.isNumber; +lodash.isObject = isObject; +lodash.isObjectLike = lang.isObjectLike; +lodash.isPlainObject = lang.isPlainObject; +lodash.isRegExp = lang.isRegExp; +lodash.isSafeInteger = lang.isSafeInteger; +lodash.isSet = lang.isSet; +lodash.isString = lang.isString; +lodash.isSymbol = lang.isSymbol; +lodash.isTypedArray = lang.isTypedArray; +lodash.isUndefined = lang.isUndefined; +lodash.isWeakMap = lang.isWeakMap; +lodash.isWeakSet = lang.isWeakSet; +lodash.join = array.join; +lodash.kebabCase = string.kebabCase; +lodash.last = last; +lodash.lastIndexOf = array.lastIndexOf; +lodash.lowerCase = string.lowerCase; +lodash.lowerFirst = string.lowerFirst; +lodash.lt = lang.lt; +lodash.lte = lang.lte; +lodash.max = math.max; +lodash.maxBy = math.maxBy; +lodash.mean = math.mean; +lodash.meanBy = math.meanBy; +lodash.min = math.min; +lodash.minBy = math.minBy; +lodash.stubArray = util.stubArray; +lodash.stubFalse = util.stubFalse; +lodash.stubObject = util.stubObject; +lodash.stubString = util.stubString; +lodash.stubTrue = util.stubTrue; +lodash.multiply = math.multiply; +lodash.nth = array.nth; +lodash.noop = util.noop; +lodash.now = date.now; +lodash.pad = string.pad; +lodash.padEnd = string.padEnd; +lodash.padStart = string.padStart; +lodash.parseInt = string.parseInt; +lodash.random = number.random; +lodash.reduce = collection.reduce; +lodash.reduceRight = collection.reduceRight; +lodash.repeat = string.repeat; +lodash.replace = string.replace; +lodash.result = object.result; +lodash.round = math.round; +lodash.sample = collection.sample; +lodash.size = collection.size; +lodash.snakeCase = string.snakeCase; +lodash.some = collection.some; +lodash.sortedIndex = array.sortedIndex; +lodash.sortedIndexBy = array.sortedIndexBy; +lodash.sortedIndexOf = array.sortedIndexOf; +lodash.sortedLastIndex = array.sortedLastIndex; +lodash.sortedLastIndexBy = array.sortedLastIndexBy; +lodash.sortedLastIndexOf = array.sortedLastIndexOf; +lodash.startCase = string.startCase; +lodash.startsWith = string.startsWith; +lodash.subtract = math.subtract; +lodash.sum = math.sum; +lodash.sumBy = math.sumBy; +lodash.template = string.template; +lodash.times = util.times; +lodash.toFinite = lang.toFinite; +lodash.toInteger = toInteger; +lodash.toLength = lang.toLength; +lodash.toLower = string.toLower; +lodash.toNumber = lang.toNumber; +lodash.toSafeInteger = lang.toSafeInteger; +lodash.toString = lang.toString; +lodash.toUpper = string.toUpper; +lodash.trim = string.trim; +lodash.trimEnd = string.trimEnd; +lodash.trimStart = string.trimStart; +lodash.truncate = string.truncate; +lodash.unescape = string.unescape; +lodash.uniqueId = util.uniqueId; +lodash.upperCase = string.upperCase; +lodash.upperFirst = string.upperFirst; + +// Add aliases. +lodash.each = collection.forEach; +lodash.eachRight = collection.forEachRight; +lodash.first = array.head; + +mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; +}()), { 'chain': false }); + +/** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ +lodash.VERSION = VERSION; +(lodash.templateSettings = string.templateSettings).imports._ = lodash; + +// Assign default placeholders. +arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) { + lodash[methodName].placeholder = lodash; +}); + +// Add `LazyWrapper` methods for `_.drop` and `_.take` variants. +arrayEach(['drop', 'take'], function(methodName, index) { + LazyWrapper.prototype[methodName] = function(n) { + n = n === undefined ? 1 : nativeMax(toInteger(n), 0); + + var result = (this.__filtered__ && !index) + ? new LazyWrapper(this) + : this.clone(); + + if (result.__filtered__) { + result.__takeCount__ = nativeMin(n, result.__takeCount__); + } else { + result.__views__.push({ + 'size': nativeMin(n, MAX_ARRAY_LENGTH), + 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') + }); + } + return result; + }; + + LazyWrapper.prototype[methodName + 'Right'] = function(n) { + return this.reverse()[methodName](n).reverse(); + }; +}); + +// Add `LazyWrapper` methods that accept an `iteratee` value. +arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) { + var type = index + 1, + isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; + + LazyWrapper.prototype[methodName] = function(iteratee) { + var result = this.clone(); + result.__iteratees__.push({ + 'iteratee': baseIteratee(iteratee, 3), + 'type': type + }); + result.__filtered__ = result.__filtered__ || isFilter; + return result; + }; +}); + +// Add `LazyWrapper` methods for `_.head` and `_.last`. +arrayEach(['head', 'last'], function(methodName, index) { + var takeName = 'take' + (index ? 'Right' : ''); + + LazyWrapper.prototype[methodName] = function() { + return this[takeName](1).value()[0]; + }; +}); + +// Add `LazyWrapper` methods for `_.initial` and `_.tail`. +arrayEach(['initial', 'tail'], function(methodName, index) { + var dropName = 'drop' + (index ? '' : 'Right'); + + LazyWrapper.prototype[methodName] = function() { + return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); + }; +}); + +LazyWrapper.prototype.compact = function() { + return this.filter(identity); +}; + +LazyWrapper.prototype.find = function(predicate) { + return this.filter(predicate).head(); +}; + +LazyWrapper.prototype.findLast = function(predicate) { + return this.reverse().find(predicate); +}; + +LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { + if (typeof path == 'function') { + return new LazyWrapper(this); + } + return this.map(function(value) { + return baseInvoke(value, path, args); + }); +}); + +LazyWrapper.prototype.reject = function(predicate) { + return this.filter(negate(baseIteratee(predicate))); +}; + +LazyWrapper.prototype.slice = function(start, end) { + start = toInteger(start); + + var result = this; + if (result.__filtered__ && (start > 0 || end < 0)) { + return new LazyWrapper(result); + } + if (start < 0) { + result = result.takeRight(-start); + } else if (start) { + result = result.drop(start); + } + if (end !== undefined) { + end = toInteger(end); + result = end < 0 ? result.dropRight(-end) : result.take(end - start); + } + return result; +}; + +LazyWrapper.prototype.takeRightWhile = function(predicate) { + return this.reverse().takeWhile(predicate).reverse(); +}; + +LazyWrapper.prototype.toArray = function() { + return this.take(MAX_ARRAY_LENGTH); +}; + +// Add `LazyWrapper` methods to `lodash.prototype`. +baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), + isTaker = /^(?:head|last)$/.test(methodName), + lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], + retUnwrapped = isTaker || /^find/.test(methodName); + + if (!lodashFunc) { + return; + } + lodash.prototype[methodName] = function() { + var value = this.__wrapped__, + args = isTaker ? [1] : arguments, + isLazy = value instanceof LazyWrapper, + iteratee = args[0], + useLazy = isLazy || isArray(value); + + var interceptor = function(value) { + var result = lodashFunc.apply(lodash, arrayPush([value], args)); + return (isTaker && chainAll) ? result[0] : result; + }; + + if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { + // Avoid lazy use if the iteratee has a "length" value other than `1`. + isLazy = useLazy = false; + } + var chainAll = this.__chain__, + isHybrid = !!this.__actions__.length, + isUnwrapped = retUnwrapped && !chainAll, + onlyLazy = isLazy && !isHybrid; + + if (!retUnwrapped && useLazy) { + value = onlyLazy ? value : new LazyWrapper(this); + var result = func.apply(value, args); + result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); + return new LodashWrapper(result, chainAll); + } + if (isUnwrapped && onlyLazy) { + return func.apply(this, args); + } + result = this.thru(interceptor); + return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; + }; +}); + +// Add `Array` methods to `lodash.prototype`. +arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = arrayProto[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; +}); + +// Map minified method names to their real names. +baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var lodashFunc = lodash[methodName]; + if (lodashFunc) { + var key = lodashFunc.name + ''; + if (!hasOwnProperty.call(realNames, key)) { + realNames[key] = []; + } + realNames[key].push({ 'name': methodName, 'func': lodashFunc }); + } +}); + +realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ + 'name': 'wrapper', + 'func': undefined +}]; + +// Add methods to `LazyWrapper`. +LazyWrapper.prototype.clone = lazyClone; +LazyWrapper.prototype.reverse = lazyReverse; +LazyWrapper.prototype.value = lazyValue; + +// Add chain sequence methods to the `lodash` wrapper. +lodash.prototype.at = seq.at; +lodash.prototype.chain = seq.wrapperChain; +lodash.prototype.commit = seq.commit; +lodash.prototype.next = seq.next; +lodash.prototype.plant = seq.plant; +lodash.prototype.reverse = seq.reverse; +lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = seq.value; + +// Add lazy aliases. +lodash.prototype.first = lodash.prototype.head; + +if (symIterator) { + lodash.prototype[symIterator] = seq.toIterator; +} + +export default lodash; diff --git a/.output/server/node_modules/lodash-es/lodash.js b/.output/server/node_modules/lodash-es/lodash.js new file mode 100644 index 00000000..25b790ec --- /dev/null +++ b/.output/server/node_modules/lodash-es/lodash.js @@ -0,0 +1,331 @@ +/** + * @license + * Lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +export { default as add } from './add.js'; +export { default as after } from './after.js'; +export { default as ary } from './ary.js'; +export { default as assign } from './assign.js'; +export { default as assignIn } from './assignIn.js'; +export { default as assignInWith } from './assignInWith.js'; +export { default as assignWith } from './assignWith.js'; +export { default as at } from './at.js'; +export { default as attempt } from './attempt.js'; +export { default as before } from './before.js'; +export { default as bind } from './bind.js'; +export { default as bindAll } from './bindAll.js'; +export { default as bindKey } from './bindKey.js'; +export { default as camelCase } from './camelCase.js'; +export { default as capitalize } from './capitalize.js'; +export { default as castArray } from './castArray.js'; +export { default as ceil } from './ceil.js'; +export { default as chain } from './chain.js'; +export { default as chunk } from './chunk.js'; +export { default as clamp } from './clamp.js'; +export { default as clone } from './clone.js'; +export { default as cloneDeep } from './cloneDeep.js'; +export { default as cloneDeepWith } from './cloneDeepWith.js'; +export { default as cloneWith } from './cloneWith.js'; +export { default as commit } from './commit.js'; +export { default as compact } from './compact.js'; +export { default as concat } from './concat.js'; +export { default as cond } from './cond.js'; +export { default as conforms } from './conforms.js'; +export { default as conformsTo } from './conformsTo.js'; +export { default as constant } from './constant.js'; +export { default as countBy } from './countBy.js'; +export { default as create } from './create.js'; +export { default as curry } from './curry.js'; +export { default as curryRight } from './curryRight.js'; +export { default as debounce } from './debounce.js'; +export { default as deburr } from './deburr.js'; +export { default as defaultTo } from './defaultTo.js'; +export { default as defaults } from './defaults.js'; +export { default as defaultsDeep } from './defaultsDeep.js'; +export { default as defer } from './defer.js'; +export { default as delay } from './delay.js'; +export { default as difference } from './difference.js'; +export { default as differenceBy } from './differenceBy.js'; +export { default as differenceWith } from './differenceWith.js'; +export { default as divide } from './divide.js'; +export { default as drop } from './drop.js'; +export { default as dropRight } from './dropRight.js'; +export { default as dropRightWhile } from './dropRightWhile.js'; +export { default as dropWhile } from './dropWhile.js'; +export { default as each } from './each.js'; +export { default as eachRight } from './eachRight.js'; +export { default as endsWith } from './endsWith.js'; +export { default as entries } from './entries.js'; +export { default as entriesIn } from './entriesIn.js'; +export { default as eq } from './eq.js'; +export { default as escape } from './escape.js'; +export { default as escapeRegExp } from './escapeRegExp.js'; +export { default as every } from './every.js'; +export { default as extend } from './extend.js'; +export { default as extendWith } from './extendWith.js'; +export { default as fill } from './fill.js'; +export { default as filter } from './filter.js'; +export { default as find } from './find.js'; +export { default as findIndex } from './findIndex.js'; +export { default as findKey } from './findKey.js'; +export { default as findLast } from './findLast.js'; +export { default as findLastIndex } from './findLastIndex.js'; +export { default as findLastKey } from './findLastKey.js'; +export { default as first } from './first.js'; +export { default as flatMap } from './flatMap.js'; +export { default as flatMapDeep } from './flatMapDeep.js'; +export { default as flatMapDepth } from './flatMapDepth.js'; +export { default as flatten } from './flatten.js'; +export { default as flattenDeep } from './flattenDeep.js'; +export { default as flattenDepth } from './flattenDepth.js'; +export { default as flip } from './flip.js'; +export { default as floor } from './floor.js'; +export { default as flow } from './flow.js'; +export { default as flowRight } from './flowRight.js'; +export { default as forEach } from './forEach.js'; +export { default as forEachRight } from './forEachRight.js'; +export { default as forIn } from './forIn.js'; +export { default as forInRight } from './forInRight.js'; +export { default as forOwn } from './forOwn.js'; +export { default as forOwnRight } from './forOwnRight.js'; +export { default as fromPairs } from './fromPairs.js'; +export { default as functions } from './functions.js'; +export { default as functionsIn } from './functionsIn.js'; +export { default as get } from './get.js'; +export { default as groupBy } from './groupBy.js'; +export { default as gt } from './gt.js'; +export { default as gte } from './gte.js'; +export { default as has } from './has.js'; +export { default as hasIn } from './hasIn.js'; +export { default as head } from './head.js'; +export { default as identity } from './identity.js'; +export { default as inRange } from './inRange.js'; +export { default as includes } from './includes.js'; +export { default as indexOf } from './indexOf.js'; +export { default as initial } from './initial.js'; +export { default as intersection } from './intersection.js'; +export { default as intersectionBy } from './intersectionBy.js'; +export { default as intersectionWith } from './intersectionWith.js'; +export { default as invert } from './invert.js'; +export { default as invertBy } from './invertBy.js'; +export { default as invoke } from './invoke.js'; +export { default as invokeMap } from './invokeMap.js'; +export { default as isArguments } from './isArguments.js'; +export { default as isArray } from './isArray.js'; +export { default as isArrayBuffer } from './isArrayBuffer.js'; +export { default as isArrayLike } from './isArrayLike.js'; +export { default as isArrayLikeObject } from './isArrayLikeObject.js'; +export { default as isBoolean } from './isBoolean.js'; +export { default as isBuffer } from './isBuffer.js'; +export { default as isDate } from './isDate.js'; +export { default as isElement } from './isElement.js'; +export { default as isEmpty } from './isEmpty.js'; +export { default as isEqual } from './isEqual.js'; +export { default as isEqualWith } from './isEqualWith.js'; +export { default as isError } from './isError.js'; +export { default as isFinite } from './isFinite.js'; +export { default as isFunction } from './isFunction.js'; +export { default as isInteger } from './isInteger.js'; +export { default as isLength } from './isLength.js'; +export { default as isMap } from './isMap.js'; +export { default as isMatch } from './isMatch.js'; +export { default as isMatchWith } from './isMatchWith.js'; +export { default as isNaN } from './isNaN.js'; +export { default as isNative } from './isNative.js'; +export { default as isNil } from './isNil.js'; +export { default as isNull } from './isNull.js'; +export { default as isNumber } from './isNumber.js'; +export { default as isObject } from './isObject.js'; +export { default as isObjectLike } from './isObjectLike.js'; +export { default as isPlainObject } from './isPlainObject.js'; +export { default as isRegExp } from './isRegExp.js'; +export { default as isSafeInteger } from './isSafeInteger.js'; +export { default as isSet } from './isSet.js'; +export { default as isString } from './isString.js'; +export { default as isSymbol } from './isSymbol.js'; +export { default as isTypedArray } from './isTypedArray.js'; +export { default as isUndefined } from './isUndefined.js'; +export { default as isWeakMap } from './isWeakMap.js'; +export { default as isWeakSet } from './isWeakSet.js'; +export { default as iteratee } from './iteratee.js'; +export { default as join } from './join.js'; +export { default as kebabCase } from './kebabCase.js'; +export { default as keyBy } from './keyBy.js'; +export { default as keys } from './keys.js'; +export { default as keysIn } from './keysIn.js'; +export { default as last } from './last.js'; +export { default as lastIndexOf } from './lastIndexOf.js'; +export { default as lodash } from './wrapperLodash.js'; +export { default as lowerCase } from './lowerCase.js'; +export { default as lowerFirst } from './lowerFirst.js'; +export { default as lt } from './lt.js'; +export { default as lte } from './lte.js'; +export { default as map } from './map.js'; +export { default as mapKeys } from './mapKeys.js'; +export { default as mapValues } from './mapValues.js'; +export { default as matches } from './matches.js'; +export { default as matchesProperty } from './matchesProperty.js'; +export { default as max } from './max.js'; +export { default as maxBy } from './maxBy.js'; +export { default as mean } from './mean.js'; +export { default as meanBy } from './meanBy.js'; +export { default as memoize } from './memoize.js'; +export { default as merge } from './merge.js'; +export { default as mergeWith } from './mergeWith.js'; +export { default as method } from './method.js'; +export { default as methodOf } from './methodOf.js'; +export { default as min } from './min.js'; +export { default as minBy } from './minBy.js'; +export { default as mixin } from './mixin.js'; +export { default as multiply } from './multiply.js'; +export { default as negate } from './negate.js'; +export { default as next } from './next.js'; +export { default as noop } from './noop.js'; +export { default as now } from './now.js'; +export { default as nth } from './nth.js'; +export { default as nthArg } from './nthArg.js'; +export { default as omit } from './omit.js'; +export { default as omitBy } from './omitBy.js'; +export { default as once } from './once.js'; +export { default as orderBy } from './orderBy.js'; +export { default as over } from './over.js'; +export { default as overArgs } from './overArgs.js'; +export { default as overEvery } from './overEvery.js'; +export { default as overSome } from './overSome.js'; +export { default as pad } from './pad.js'; +export { default as padEnd } from './padEnd.js'; +export { default as padStart } from './padStart.js'; +export { default as parseInt } from './parseInt.js'; +export { default as partial } from './partial.js'; +export { default as partialRight } from './partialRight.js'; +export { default as partition } from './partition.js'; +export { default as pick } from './pick.js'; +export { default as pickBy } from './pickBy.js'; +export { default as plant } from './plant.js'; +export { default as property } from './property.js'; +export { default as propertyOf } from './propertyOf.js'; +export { default as pull } from './pull.js'; +export { default as pullAll } from './pullAll.js'; +export { default as pullAllBy } from './pullAllBy.js'; +export { default as pullAllWith } from './pullAllWith.js'; +export { default as pullAt } from './pullAt.js'; +export { default as random } from './random.js'; +export { default as range } from './range.js'; +export { default as rangeRight } from './rangeRight.js'; +export { default as rearg } from './rearg.js'; +export { default as reduce } from './reduce.js'; +export { default as reduceRight } from './reduceRight.js'; +export { default as reject } from './reject.js'; +export { default as remove } from './remove.js'; +export { default as repeat } from './repeat.js'; +export { default as replace } from './replace.js'; +export { default as rest } from './rest.js'; +export { default as result } from './result.js'; +export { default as reverse } from './reverse.js'; +export { default as round } from './round.js'; +export { default as sample } from './sample.js'; +export { default as sampleSize } from './sampleSize.js'; +export { default as set } from './set.js'; +export { default as setWith } from './setWith.js'; +export { default as shuffle } from './shuffle.js'; +export { default as size } from './size.js'; +export { default as slice } from './slice.js'; +export { default as snakeCase } from './snakeCase.js'; +export { default as some } from './some.js'; +export { default as sortBy } from './sortBy.js'; +export { default as sortedIndex } from './sortedIndex.js'; +export { default as sortedIndexBy } from './sortedIndexBy.js'; +export { default as sortedIndexOf } from './sortedIndexOf.js'; +export { default as sortedLastIndex } from './sortedLastIndex.js'; +export { default as sortedLastIndexBy } from './sortedLastIndexBy.js'; +export { default as sortedLastIndexOf } from './sortedLastIndexOf.js'; +export { default as sortedUniq } from './sortedUniq.js'; +export { default as sortedUniqBy } from './sortedUniqBy.js'; +export { default as split } from './split.js'; +export { default as spread } from './spread.js'; +export { default as startCase } from './startCase.js'; +export { default as startsWith } from './startsWith.js'; +export { default as stubArray } from './stubArray.js'; +export { default as stubFalse } from './stubFalse.js'; +export { default as stubObject } from './stubObject.js'; +export { default as stubString } from './stubString.js'; +export { default as stubTrue } from './stubTrue.js'; +export { default as subtract } from './subtract.js'; +export { default as sum } from './sum.js'; +export { default as sumBy } from './sumBy.js'; +export { default as tail } from './tail.js'; +export { default as take } from './take.js'; +export { default as takeRight } from './takeRight.js'; +export { default as takeRightWhile } from './takeRightWhile.js'; +export { default as takeWhile } from './takeWhile.js'; +export { default as tap } from './tap.js'; +export { default as template } from './template.js'; +export { default as templateSettings } from './templateSettings.js'; +export { default as throttle } from './throttle.js'; +export { default as thru } from './thru.js'; +export { default as times } from './times.js'; +export { default as toArray } from './toArray.js'; +export { default as toFinite } from './toFinite.js'; +export { default as toInteger } from './toInteger.js'; +export { default as toIterator } from './toIterator.js'; +export { default as toJSON } from './toJSON.js'; +export { default as toLength } from './toLength.js'; +export { default as toLower } from './toLower.js'; +export { default as toNumber } from './toNumber.js'; +export { default as toPairs } from './toPairs.js'; +export { default as toPairsIn } from './toPairsIn.js'; +export { default as toPath } from './toPath.js'; +export { default as toPlainObject } from './toPlainObject.js'; +export { default as toSafeInteger } from './toSafeInteger.js'; +export { default as toString } from './toString.js'; +export { default as toUpper } from './toUpper.js'; +export { default as transform } from './transform.js'; +export { default as trim } from './trim.js'; +export { default as trimEnd } from './trimEnd.js'; +export { default as trimStart } from './trimStart.js'; +export { default as truncate } from './truncate.js'; +export { default as unary } from './unary.js'; +export { default as unescape } from './unescape.js'; +export { default as union } from './union.js'; +export { default as unionBy } from './unionBy.js'; +export { default as unionWith } from './unionWith.js'; +export { default as uniq } from './uniq.js'; +export { default as uniqBy } from './uniqBy.js'; +export { default as uniqWith } from './uniqWith.js'; +export { default as uniqueId } from './uniqueId.js'; +export { default as unset } from './unset.js'; +export { default as unzip } from './unzip.js'; +export { default as unzipWith } from './unzipWith.js'; +export { default as update } from './update.js'; +export { default as updateWith } from './updateWith.js'; +export { default as upperCase } from './upperCase.js'; +export { default as upperFirst } from './upperFirst.js'; +export { default as value } from './value.js'; +export { default as valueOf } from './valueOf.js'; +export { default as values } from './values.js'; +export { default as valuesIn } from './valuesIn.js'; +export { default as without } from './without.js'; +export { default as words } from './words.js'; +export { default as wrap } from './wrap.js'; +export { default as wrapperAt } from './wrapperAt.js'; +export { default as wrapperChain } from './wrapperChain.js'; +export { default as wrapperCommit } from './commit.js'; +export { default as wrapperLodash } from './wrapperLodash.js'; +export { default as wrapperNext } from './next.js'; +export { default as wrapperPlant } from './plant.js'; +export { default as wrapperReverse } from './wrapperReverse.js'; +export { default as wrapperToIterator } from './toIterator.js'; +export { default as wrapperValue } from './wrapperValue.js'; +export { default as xor } from './xor.js'; +export { default as xorBy } from './xorBy.js'; +export { default as xorWith } from './xorWith.js'; +export { default as zip } from './zip.js'; +export { default as zipObject } from './zipObject.js'; +export { default as zipObjectDeep } from './zipObjectDeep.js'; +export { default as zipWith } from './zipWith.js'; +export { default } from './lodash.default.js'; diff --git a/.output/server/node_modules/lodash-es/lowerCase.js b/.output/server/node_modules/lodash-es/lowerCase.js new file mode 100644 index 00000000..570d3b60 --- /dev/null +++ b/.output/server/node_modules/lodash-es/lowerCase.js @@ -0,0 +1,27 @@ +import createCompounder from './_createCompounder.js'; + +/** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ +var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); +}); + +export default lowerCase; diff --git a/.output/server/node_modules/lodash-es/lowerFirst.js b/.output/server/node_modules/lodash-es/lowerFirst.js new file mode 100644 index 00000000..d7cb4b01 --- /dev/null +++ b/.output/server/node_modules/lodash-es/lowerFirst.js @@ -0,0 +1,22 @@ +import createCaseFirst from './_createCaseFirst.js'; + +/** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ +var lowerFirst = createCaseFirst('toLowerCase'); + +export default lowerFirst; diff --git a/.output/server/node_modules/lodash-es/lt.js b/.output/server/node_modules/lodash-es/lt.js new file mode 100644 index 00000000..84181139 --- /dev/null +++ b/.output/server/node_modules/lodash-es/lt.js @@ -0,0 +1,29 @@ +import baseLt from './_baseLt.js'; +import createRelationalOperation from './_createRelationalOperation.js'; + +/** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ +var lt = createRelationalOperation(baseLt); + +export default lt; diff --git a/.output/server/node_modules/lodash-es/lte.js b/.output/server/node_modules/lodash-es/lte.js new file mode 100644 index 00000000..50c90a9c --- /dev/null +++ b/.output/server/node_modules/lodash-es/lte.js @@ -0,0 +1,30 @@ +import createRelationalOperation from './_createRelationalOperation.js'; + +/** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ +var lte = createRelationalOperation(function(value, other) { + return value <= other; +}); + +export default lte; diff --git a/.output/server/node_modules/lodash-es/map.js b/.output/server/node_modules/lodash-es/map.js new file mode 100644 index 00000000..36139f96 --- /dev/null +++ b/.output/server/node_modules/lodash-es/map.js @@ -0,0 +1,53 @@ +import arrayMap from './_arrayMap.js'; +import baseIteratee from './_baseIteratee.js'; +import baseMap from './_baseMap.js'; +import isArray from './isArray.js'; + +/** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ +function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, baseIteratee(iteratee, 3)); +} + +export default map; diff --git a/.output/server/node_modules/lodash-es/mapKeys.js b/.output/server/node_modules/lodash-es/mapKeys.js new file mode 100644 index 00000000..24fc6899 --- /dev/null +++ b/.output/server/node_modules/lodash-es/mapKeys.js @@ -0,0 +1,36 @@ +import baseAssignValue from './_baseAssignValue.js'; +import baseForOwn from './_baseForOwn.js'; +import baseIteratee from './_baseIteratee.js'; + +/** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ +function mapKeys(object, iteratee) { + var result = {}; + iteratee = baseIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; +} + +export default mapKeys; diff --git a/.output/server/node_modules/lodash-es/mapValues.js b/.output/server/node_modules/lodash-es/mapValues.js new file mode 100644 index 00000000..bcc48e07 --- /dev/null +++ b/.output/server/node_modules/lodash-es/mapValues.js @@ -0,0 +1,43 @@ +import baseAssignValue from './_baseAssignValue.js'; +import baseForOwn from './_baseForOwn.js'; +import baseIteratee from './_baseIteratee.js'; + +/** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ +function mapValues(object, iteratee) { + var result = {}; + iteratee = baseIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; +} + +export default mapValues; diff --git a/.output/server/node_modules/lodash-es/matches.js b/.output/server/node_modules/lodash-es/matches.js new file mode 100644 index 00000000..fd3ed49e --- /dev/null +++ b/.output/server/node_modules/lodash-es/matches.js @@ -0,0 +1,46 @@ +import baseClone from './_baseClone.js'; +import baseMatches from './_baseMatches.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ +function matches(source) { + return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); +} + +export default matches; diff --git a/.output/server/node_modules/lodash-es/matchesProperty.js b/.output/server/node_modules/lodash-es/matchesProperty.js new file mode 100644 index 00000000..4dea7fd3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/matchesProperty.js @@ -0,0 +1,44 @@ +import baseClone from './_baseClone.js'; +import baseMatchesProperty from './_baseMatchesProperty.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that performs a partial deep comparison between the + * value at `path` of a given object to `srcValue`, returning `true` if the + * object value is equivalent, else `false`. + * + * **Note:** Partial comparisons will match empty array and empty object + * `srcValue` values against any array or object value, respectively. See + * `_.isEqual` for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.find(objects, _.matchesProperty('a', 4)); + * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ +function matchesProperty(path, srcValue) { + return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); +} + +export default matchesProperty; diff --git a/.output/server/node_modules/lodash-es/math.default.js b/.output/server/node_modules/lodash-es/math.default.js new file mode 100644 index 00000000..3705ee5a --- /dev/null +++ b/.output/server/node_modules/lodash-es/math.default.js @@ -0,0 +1,21 @@ +import add from './add.js'; +import ceil from './ceil.js'; +import divide from './divide.js'; +import floor from './floor.js'; +import max from './max.js'; +import maxBy from './maxBy.js'; +import mean from './mean.js'; +import meanBy from './meanBy.js'; +import min from './min.js'; +import minBy from './minBy.js'; +import multiply from './multiply.js'; +import round from './round.js'; +import subtract from './subtract.js'; +import sum from './sum.js'; +import sumBy from './sumBy.js'; + +export default { + add, ceil, divide, floor, max, + maxBy, mean, meanBy, min, minBy, + multiply, round, subtract, sum, sumBy +}; diff --git a/.output/server/node_modules/lodash-es/math.js b/.output/server/node_modules/lodash-es/math.js new file mode 100644 index 00000000..8be0338f --- /dev/null +++ b/.output/server/node_modules/lodash-es/math.js @@ -0,0 +1,16 @@ +export { default as add } from './add.js'; +export { default as ceil } from './ceil.js'; +export { default as divide } from './divide.js'; +export { default as floor } from './floor.js'; +export { default as max } from './max.js'; +export { default as maxBy } from './maxBy.js'; +export { default as mean } from './mean.js'; +export { default as meanBy } from './meanBy.js'; +export { default as min } from './min.js'; +export { default as minBy } from './minBy.js'; +export { default as multiply } from './multiply.js'; +export { default as round } from './round.js'; +export { default as subtract } from './subtract.js'; +export { default as sum } from './sum.js'; +export { default as sumBy } from './sumBy.js'; +export { default } from './math.default.js'; diff --git a/.output/server/node_modules/lodash-es/max.js b/.output/server/node_modules/lodash-es/max.js new file mode 100644 index 00000000..33949694 --- /dev/null +++ b/.output/server/node_modules/lodash-es/max.js @@ -0,0 +1,29 @@ +import baseExtremum from './_baseExtremum.js'; +import baseGt from './_baseGt.js'; +import identity from './identity.js'; + +/** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ +function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; +} + +export default max; diff --git a/.output/server/node_modules/lodash-es/maxBy.js b/.output/server/node_modules/lodash-es/maxBy.js new file mode 100644 index 00000000..6cbd1cee --- /dev/null +++ b/.output/server/node_modules/lodash-es/maxBy.js @@ -0,0 +1,34 @@ +import baseExtremum from './_baseExtremum.js'; +import baseGt from './_baseGt.js'; +import baseIteratee from './_baseIteratee.js'; + +/** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.n; }); + * // => { 'n': 2 } + * + * // The `_.property` iteratee shorthand. + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ +function maxBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt) + : undefined; +} + +export default maxBy; diff --git a/.output/server/node_modules/lodash-es/mean.js b/.output/server/node_modules/lodash-es/mean.js new file mode 100644 index 00000000..2323aefc --- /dev/null +++ b/.output/server/node_modules/lodash-es/mean.js @@ -0,0 +1,22 @@ +import baseMean from './_baseMean.js'; +import identity from './identity.js'; + +/** + * Computes the mean of the values in `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ +function mean(array) { + return baseMean(array, identity); +} + +export default mean; diff --git a/.output/server/node_modules/lodash-es/meanBy.js b/.output/server/node_modules/lodash-es/meanBy.js new file mode 100644 index 00000000..4a29ebdc --- /dev/null +++ b/.output/server/node_modules/lodash-es/meanBy.js @@ -0,0 +1,31 @@ +import baseIteratee from './_baseIteratee.js'; +import baseMean from './_baseMean.js'; + +/** + * This method is like `_.mean` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be averaged. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the mean. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.meanBy(objects, function(o) { return o.n; }); + * // => 5 + * + * // The `_.property` iteratee shorthand. + * _.meanBy(objects, 'n'); + * // => 5 + */ +function meanBy(array, iteratee) { + return baseMean(array, baseIteratee(iteratee, 2)); +} + +export default meanBy; diff --git a/.output/server/node_modules/lodash-es/memoize.js b/.output/server/node_modules/lodash-es/memoize.js new file mode 100644 index 00000000..41a1615a --- /dev/null +++ b/.output/server/node_modules/lodash-es/memoize.js @@ -0,0 +1,73 @@ +import MapCache from './_MapCache.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +export default memoize; diff --git a/.output/server/node_modules/lodash-es/merge.js b/.output/server/node_modules/lodash-es/merge.js new file mode 100644 index 00000000..9aab6283 --- /dev/null +++ b/.output/server/node_modules/lodash-es/merge.js @@ -0,0 +1,39 @@ +import baseMerge from './_baseMerge.js'; +import createAssigner from './_createAssigner.js'; + +/** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ +var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); +}); + +export default merge; diff --git a/.output/server/node_modules/lodash-es/mergeWith.js b/.output/server/node_modules/lodash-es/mergeWith.js new file mode 100644 index 00000000..6b7e0982 --- /dev/null +++ b/.output/server/node_modules/lodash-es/mergeWith.js @@ -0,0 +1,39 @@ +import baseMerge from './_baseMerge.js'; +import createAssigner from './_createAssigner.js'; + +/** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ +var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); +}); + +export default mergeWith; diff --git a/.output/server/node_modules/lodash-es/method.js b/.output/server/node_modules/lodash-es/method.js new file mode 100644 index 00000000..9daed788 --- /dev/null +++ b/.output/server/node_modules/lodash-es/method.js @@ -0,0 +1,34 @@ +import baseInvoke from './_baseInvoke.js'; +import baseRest from './_baseRest.js'; + +/** + * Creates a function that invokes the method at `path` of a given object. + * Any additional arguments are provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var objects = [ + * { 'a': { 'b': _.constant(2) } }, + * { 'a': { 'b': _.constant(1) } } + * ]; + * + * _.map(objects, _.method('a.b')); + * // => [2, 1] + * + * _.map(objects, _.method(['a', 'b'])); + * // => [2, 1] + */ +var method = baseRest(function(path, args) { + return function(object) { + return baseInvoke(object, path, args); + }; +}); + +export default method; diff --git a/.output/server/node_modules/lodash-es/methodOf.js b/.output/server/node_modules/lodash-es/methodOf.js new file mode 100644 index 00000000..1a4d98de --- /dev/null +++ b/.output/server/node_modules/lodash-es/methodOf.js @@ -0,0 +1,33 @@ +import baseInvoke from './_baseInvoke.js'; +import baseRest from './_baseRest.js'; + +/** + * The opposite of `_.method`; this method creates a function that invokes + * the method at a given path of `object`. Any additional arguments are + * provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Object} object The object to query. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var array = _.times(3, _.constant), + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.methodOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); + * // => [2, 0] + */ +var methodOf = baseRest(function(object, args) { + return function(path) { + return baseInvoke(object, path, args); + }; +}); + +export default methodOf; diff --git a/.output/server/node_modules/lodash-es/min.js b/.output/server/node_modules/lodash-es/min.js new file mode 100644 index 00000000..c411e51a --- /dev/null +++ b/.output/server/node_modules/lodash-es/min.js @@ -0,0 +1,29 @@ +import baseExtremum from './_baseExtremum.js'; +import baseLt from './_baseLt.js'; +import identity from './identity.js'; + +/** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ +function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; +} + +export default min; diff --git a/.output/server/node_modules/lodash-es/minBy.js b/.output/server/node_modules/lodash-es/minBy.js new file mode 100644 index 00000000..2d810a84 --- /dev/null +++ b/.output/server/node_modules/lodash-es/minBy.js @@ -0,0 +1,34 @@ +import baseExtremum from './_baseExtremum.js'; +import baseIteratee from './_baseIteratee.js'; +import baseLt from './_baseLt.js'; + +/** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ +function minBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt) + : undefined; +} + +export default minBy; diff --git a/.output/server/node_modules/lodash-es/mixin.js b/.output/server/node_modules/lodash-es/mixin.js new file mode 100644 index 00000000..7d33a25b --- /dev/null +++ b/.output/server/node_modules/lodash-es/mixin.js @@ -0,0 +1,74 @@ +import arrayEach from './_arrayEach.js'; +import arrayPush from './_arrayPush.js'; +import baseFunctions from './_baseFunctions.js'; +import copyArray from './_copyArray.js'; +import isFunction from './isFunction.js'; +import isObject from './isObject.js'; +import keys from './keys.js'; + +/** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ +function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + arrayEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; +} + +export default mixin; diff --git a/.output/server/node_modules/lodash-es/multiply.js b/.output/server/node_modules/lodash-es/multiply.js new file mode 100644 index 00000000..19aba725 --- /dev/null +++ b/.output/server/node_modules/lodash-es/multiply.js @@ -0,0 +1,22 @@ +import createMathOperation from './_createMathOperation.js'; + +/** + * Multiply two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} multiplier The first number in a multiplication. + * @param {number} multiplicand The second number in a multiplication. + * @returns {number} Returns the product. + * @example + * + * _.multiply(6, 4); + * // => 24 + */ +var multiply = createMathOperation(function(multiplier, multiplicand) { + return multiplier * multiplicand; +}, 1); + +export default multiply; diff --git a/.output/server/node_modules/lodash-es/negate.js b/.output/server/node_modules/lodash-es/negate.js new file mode 100644 index 00000000..9c23aa8a --- /dev/null +++ b/.output/server/node_modules/lodash-es/negate.js @@ -0,0 +1,40 @@ +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ +function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; +} + +export default negate; diff --git a/.output/server/node_modules/lodash-es/next.js b/.output/server/node_modules/lodash-es/next.js new file mode 100644 index 00000000..bb7117b7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/next.js @@ -0,0 +1,35 @@ +import toArray from './toArray.js'; + +/** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ +function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; +} + +export default wrapperNext; diff --git a/.output/server/node_modules/lodash-es/noop.js b/.output/server/node_modules/lodash-es/noop.js new file mode 100644 index 00000000..6b4847c1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/noop.js @@ -0,0 +1,17 @@ +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop() { + // No operation performed. +} + +export default noop; diff --git a/.output/server/node_modules/lodash-es/now.js b/.output/server/node_modules/lodash-es/now.js new file mode 100644 index 00000000..096807b0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/now.js @@ -0,0 +1,23 @@ +import root from './_root.js'; + +/** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ +var now = function() { + return root.Date.now(); +}; + +export default now; diff --git a/.output/server/node_modules/lodash-es/nth.js b/.output/server/node_modules/lodash-es/nth.js new file mode 100644 index 00000000..8ebf9498 --- /dev/null +++ b/.output/server/node_modules/lodash-es/nth.js @@ -0,0 +1,29 @@ +import baseNth from './_baseNth.js'; +import toInteger from './toInteger.js'; + +/** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ +function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; +} + +export default nth; diff --git a/.output/server/node_modules/lodash-es/nthArg.js b/.output/server/node_modules/lodash-es/nthArg.js new file mode 100644 index 00000000..be3a4ccc --- /dev/null +++ b/.output/server/node_modules/lodash-es/nthArg.js @@ -0,0 +1,32 @@ +import baseNth from './_baseNth.js'; +import baseRest from './_baseRest.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a function that gets the argument at index `n`. If `n` is negative, + * the nth argument from the end is returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [n=0] The index of the argument to return. + * @returns {Function} Returns the new pass-thru function. + * @example + * + * var func = _.nthArg(1); + * func('a', 'b', 'c', 'd'); + * // => 'b' + * + * var func = _.nthArg(-2); + * func('a', 'b', 'c', 'd'); + * // => 'c' + */ +function nthArg(n) { + n = toInteger(n); + return baseRest(function(args) { + return baseNth(args, n); + }); +} + +export default nthArg; diff --git a/.output/server/node_modules/lodash-es/number.default.js b/.output/server/node_modules/lodash-es/number.default.js new file mode 100644 index 00000000..5eef3377 --- /dev/null +++ b/.output/server/node_modules/lodash-es/number.default.js @@ -0,0 +1,7 @@ +import clamp from './clamp.js'; +import inRange from './inRange.js'; +import random from './random.js'; + +export default { + clamp, inRange, random +}; diff --git a/.output/server/node_modules/lodash-es/number.js b/.output/server/node_modules/lodash-es/number.js new file mode 100644 index 00000000..2ff09e35 --- /dev/null +++ b/.output/server/node_modules/lodash-es/number.js @@ -0,0 +1,4 @@ +export { default as clamp } from './clamp.js'; +export { default as inRange } from './inRange.js'; +export { default as random } from './random.js'; +export { default } from './number.default.js'; diff --git a/.output/server/node_modules/lodash-es/object.default.js b/.output/server/node_modules/lodash-es/object.default.js new file mode 100644 index 00000000..931ac0e3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/object.default.js @@ -0,0 +1,60 @@ +import assign from './assign.js'; +import assignIn from './assignIn.js'; +import assignInWith from './assignInWith.js'; +import assignWith from './assignWith.js'; +import at from './at.js'; +import create from './create.js'; +import defaults from './defaults.js'; +import defaultsDeep from './defaultsDeep.js'; +import entries from './entries.js'; +import entriesIn from './entriesIn.js'; +import extend from './extend.js'; +import extendWith from './extendWith.js'; +import findKey from './findKey.js'; +import findLastKey from './findLastKey.js'; +import forIn from './forIn.js'; +import forInRight from './forInRight.js'; +import forOwn from './forOwn.js'; +import forOwnRight from './forOwnRight.js'; +import functions from './functions.js'; +import functionsIn from './functionsIn.js'; +import get from './get.js'; +import has from './has.js'; +import hasIn from './hasIn.js'; +import invert from './invert.js'; +import invertBy from './invertBy.js'; +import invoke from './invoke.js'; +import keys from './keys.js'; +import keysIn from './keysIn.js'; +import mapKeys from './mapKeys.js'; +import mapValues from './mapValues.js'; +import merge from './merge.js'; +import mergeWith from './mergeWith.js'; +import omit from './omit.js'; +import omitBy from './omitBy.js'; +import pick from './pick.js'; +import pickBy from './pickBy.js'; +import result from './result.js'; +import set from './set.js'; +import setWith from './setWith.js'; +import toPairs from './toPairs.js'; +import toPairsIn from './toPairsIn.js'; +import transform from './transform.js'; +import unset from './unset.js'; +import update from './update.js'; +import updateWith from './updateWith.js'; +import values from './values.js'; +import valuesIn from './valuesIn.js'; + +export default { + assign, assignIn, assignInWith, assignWith, at, + create, defaults, defaultsDeep, entries, entriesIn, + extend, extendWith, findKey, findLastKey, forIn, + forInRight, forOwn, forOwnRight, functions, functionsIn, + get, has, hasIn, invert, invertBy, + invoke, keys, keysIn, mapKeys, mapValues, + merge, mergeWith, omit, omitBy, pick, + pickBy, result, set, setWith, toPairs, + toPairsIn, transform, unset, update, updateWith, + values, valuesIn +}; diff --git a/.output/server/node_modules/lodash-es/object.js b/.output/server/node_modules/lodash-es/object.js new file mode 100644 index 00000000..aa7ce3d1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/object.js @@ -0,0 +1,48 @@ +export { default as assign } from './assign.js'; +export { default as assignIn } from './assignIn.js'; +export { default as assignInWith } from './assignInWith.js'; +export { default as assignWith } from './assignWith.js'; +export { default as at } from './at.js'; +export { default as create } from './create.js'; +export { default as defaults } from './defaults.js'; +export { default as defaultsDeep } from './defaultsDeep.js'; +export { default as entries } from './entries.js'; +export { default as entriesIn } from './entriesIn.js'; +export { default as extend } from './extend.js'; +export { default as extendWith } from './extendWith.js'; +export { default as findKey } from './findKey.js'; +export { default as findLastKey } from './findLastKey.js'; +export { default as forIn } from './forIn.js'; +export { default as forInRight } from './forInRight.js'; +export { default as forOwn } from './forOwn.js'; +export { default as forOwnRight } from './forOwnRight.js'; +export { default as functions } from './functions.js'; +export { default as functionsIn } from './functionsIn.js'; +export { default as get } from './get.js'; +export { default as has } from './has.js'; +export { default as hasIn } from './hasIn.js'; +export { default as invert } from './invert.js'; +export { default as invertBy } from './invertBy.js'; +export { default as invoke } from './invoke.js'; +export { default as keys } from './keys.js'; +export { default as keysIn } from './keysIn.js'; +export { default as mapKeys } from './mapKeys.js'; +export { default as mapValues } from './mapValues.js'; +export { default as merge } from './merge.js'; +export { default as mergeWith } from './mergeWith.js'; +export { default as omit } from './omit.js'; +export { default as omitBy } from './omitBy.js'; +export { default as pick } from './pick.js'; +export { default as pickBy } from './pickBy.js'; +export { default as result } from './result.js'; +export { default as set } from './set.js'; +export { default as setWith } from './setWith.js'; +export { default as toPairs } from './toPairs.js'; +export { default as toPairsIn } from './toPairsIn.js'; +export { default as transform } from './transform.js'; +export { default as unset } from './unset.js'; +export { default as update } from './update.js'; +export { default as updateWith } from './updateWith.js'; +export { default as values } from './values.js'; +export { default as valuesIn } from './valuesIn.js'; +export { default } from './object.default.js'; diff --git a/.output/server/node_modules/lodash-es/omit.js b/.output/server/node_modules/lodash-es/omit.js new file mode 100644 index 00000000..4657d0c3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/omit.js @@ -0,0 +1,57 @@ +import arrayMap from './_arrayMap.js'; +import baseClone from './_baseClone.js'; +import baseUnset from './_baseUnset.js'; +import castPath from './_castPath.js'; +import copyObject from './_copyObject.js'; +import customOmitClone from './_customOmitClone.js'; +import flatRest from './_flatRest.js'; +import getAllKeysIn from './_getAllKeysIn.js'; + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ +var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; +}); + +export default omit; diff --git a/.output/server/node_modules/lodash-es/omitBy.js b/.output/server/node_modules/lodash-es/omitBy.js new file mode 100644 index 00000000..cab01bdb --- /dev/null +++ b/.output/server/node_modules/lodash-es/omitBy.js @@ -0,0 +1,29 @@ +import baseIteratee from './_baseIteratee.js'; +import negate from './negate.js'; +import pickBy from './pickBy.js'; + +/** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ +function omitBy(object, predicate) { + return pickBy(object, negate(baseIteratee(predicate))); +} + +export default omitBy; diff --git a/.output/server/node_modules/lodash-es/once.js b/.output/server/node_modules/lodash-es/once.js new file mode 100644 index 00000000..603c73ee --- /dev/null +++ b/.output/server/node_modules/lodash-es/once.js @@ -0,0 +1,25 @@ +import before from './before.js'; + +/** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ +function once(func) { + return before(2, func); +} + +export default once; diff --git a/.output/server/node_modules/lodash-es/orderBy.js b/.output/server/node_modules/lodash-es/orderBy.js new file mode 100644 index 00000000..2f9e00e4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/orderBy.js @@ -0,0 +1,47 @@ +import baseOrderBy from './_baseOrderBy.js'; +import isArray from './isArray.js'; + +/** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ +function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); +} + +export default orderBy; diff --git a/.output/server/node_modules/lodash-es/over.js b/.output/server/node_modules/lodash-es/over.js new file mode 100644 index 00000000..51b6339d --- /dev/null +++ b/.output/server/node_modules/lodash-es/over.js @@ -0,0 +1,24 @@ +import arrayMap from './_arrayMap.js'; +import createOver from './_createOver.js'; + +/** + * Creates a function that invokes `iteratees` with the arguments it receives + * and returns their results. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to invoke. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.over([Math.max, Math.min]); + * + * func(1, 2, 3, 4); + * // => [4, 1] + */ +var over = createOver(arrayMap); + +export default over; diff --git a/.output/server/node_modules/lodash-es/overArgs.js b/.output/server/node_modules/lodash-es/overArgs.js new file mode 100644 index 00000000..c9409f40 --- /dev/null +++ b/.output/server/node_modules/lodash-es/overArgs.js @@ -0,0 +1,61 @@ +import apply from './_apply.js'; +import arrayMap from './_arrayMap.js'; +import baseFlatten from './_baseFlatten.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import baseUnary from './_baseUnary.js'; +import castRest from './_castRest.js'; +import isArray from './isArray.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ +var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(baseIteratee)) + : arrayMap(baseFlatten(transforms, 1), baseUnary(baseIteratee)); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); +}); + +export default overArgs; diff --git a/.output/server/node_modules/lodash-es/overEvery.js b/.output/server/node_modules/lodash-es/overEvery.js new file mode 100644 index 00000000..a71e1b3a --- /dev/null +++ b/.output/server/node_modules/lodash-es/overEvery.js @@ -0,0 +1,34 @@ +import arrayEvery from './_arrayEvery.js'; +import createOver from './_createOver.js'; + +/** + * Creates a function that checks if **all** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overEvery([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => false + * + * func(NaN); + * // => false + */ +var overEvery = createOver(arrayEvery); + +export default overEvery; diff --git a/.output/server/node_modules/lodash-es/overSome.js b/.output/server/node_modules/lodash-es/overSome.js new file mode 100644 index 00000000..e3af9a08 --- /dev/null +++ b/.output/server/node_modules/lodash-es/overSome.js @@ -0,0 +1,37 @@ +import arraySome from './_arraySome.js'; +import createOver from './_createOver.js'; + +/** + * Creates a function that checks if **any** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overSome([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => true + * + * func(NaN); + * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) + */ +var overSome = createOver(arraySome); + +export default overSome; diff --git a/.output/server/node_modules/lodash-es/package.json b/.output/server/node_modules/lodash-es/package.json new file mode 100644 index 00000000..b5f8b08b --- /dev/null +++ b/.output/server/node_modules/lodash-es/package.json @@ -0,0 +1,23 @@ +{ + "name": "lodash-es", + "version": "4.17.21", + "description": "Lodash exported as ES modules.", + "keywords": "es6, modules, stdlib, util", + "homepage": "https://lodash.com/custom-builds", + "bugs": "https://github.com/lodash/lodash-cli/issues", + "repository": "lodash/lodash", + "license": "MIT", + "type": "module", + "jsnext:main": "lodash.js", + "main": "lodash.js", + "module": "lodash.js", + "sideEffects": false, + "author": "John-David Dalton <john.david.dalton@gmail.com>", + "contributors": [ + "John-David Dalton <john.david.dalton@gmail.com>", + "Mathias Bynens <mathias@qiwi.be>" + ], + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\"" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/lodash-es/pad.js b/.output/server/node_modules/lodash-es/pad.js new file mode 100644 index 00000000..b74a0972 --- /dev/null +++ b/.output/server/node_modules/lodash-es/pad.js @@ -0,0 +1,49 @@ +import createPadding from './_createPadding.js'; +import stringSize from './_stringSize.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeFloor = Math.floor; + +/** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ +function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); +} + +export default pad; diff --git a/.output/server/node_modules/lodash-es/padEnd.js b/.output/server/node_modules/lodash-es/padEnd.js new file mode 100644 index 00000000..c7df21b8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/padEnd.js @@ -0,0 +1,39 @@ +import createPadding from './_createPadding.js'; +import stringSize from './_stringSize.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ +function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; +} + +export default padEnd; diff --git a/.output/server/node_modules/lodash-es/padStart.js b/.output/server/node_modules/lodash-es/padStart.js new file mode 100644 index 00000000..c61644ac --- /dev/null +++ b/.output/server/node_modules/lodash-es/padStart.js @@ -0,0 +1,39 @@ +import createPadding from './_createPadding.js'; +import stringSize from './_stringSize.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ +function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; +} + +export default padStart; diff --git a/.output/server/node_modules/lodash-es/parseInt.js b/.output/server/node_modules/lodash-es/parseInt.js new file mode 100644 index 00000000..d7a8ec1b --- /dev/null +++ b/.output/server/node_modules/lodash-es/parseInt.js @@ -0,0 +1,43 @@ +import root from './_root.js'; +import toString from './toString.js'; + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeParseInt = root.parseInt; + +/** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ +function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); +} + +export default parseInt; diff --git a/.output/server/node_modules/lodash-es/partial.js b/.output/server/node_modules/lodash-es/partial.js new file mode 100644 index 00000000..eaf6c435 --- /dev/null +++ b/.output/server/node_modules/lodash-es/partial.js @@ -0,0 +1,50 @@ +import baseRest from './_baseRest.js'; +import createWrap from './_createWrap.js'; +import getHolder from './_getHolder.js'; +import replaceHolders from './_replaceHolders.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ +var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); +}); + +// Assign default placeholders. +partial.placeholder = {}; + +export default partial; diff --git a/.output/server/node_modules/lodash-es/partialRight.js b/.output/server/node_modules/lodash-es/partialRight.js new file mode 100644 index 00000000..8ffe3ebc --- /dev/null +++ b/.output/server/node_modules/lodash-es/partialRight.js @@ -0,0 +1,49 @@ +import baseRest from './_baseRest.js'; +import createWrap from './_createWrap.js'; +import getHolder from './_getHolder.js'; +import replaceHolders from './_replaceHolders.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_PARTIAL_RIGHT_FLAG = 64; + +/** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ +var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); +}); + +// Assign default placeholders. +partialRight.placeholder = {}; + +export default partialRight; diff --git a/.output/server/node_modules/lodash-es/partition.js b/.output/server/node_modules/lodash-es/partition.js new file mode 100644 index 00000000..a58b6de4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/partition.js @@ -0,0 +1,43 @@ +import createAggregator from './_createAggregator.js'; + +/** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ +var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); +}, function() { return [[], []]; }); + +export default partition; diff --git a/.output/server/node_modules/lodash-es/pick.js b/.output/server/node_modules/lodash-es/pick.js new file mode 100644 index 00000000..fb849922 --- /dev/null +++ b/.output/server/node_modules/lodash-es/pick.js @@ -0,0 +1,25 @@ +import basePick from './_basePick.js'; +import flatRest from './_flatRest.js'; + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ +var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); +}); + +export default pick; diff --git a/.output/server/node_modules/lodash-es/pickBy.js b/.output/server/node_modules/lodash-es/pickBy.js new file mode 100644 index 00000000..4ff3598f --- /dev/null +++ b/.output/server/node_modules/lodash-es/pickBy.js @@ -0,0 +1,37 @@ +import arrayMap from './_arrayMap.js'; +import baseIteratee from './_baseIteratee.js'; +import basePickBy from './_basePickBy.js'; +import getAllKeysIn from './_getAllKeysIn.js'; + +/** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ +function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = baseIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); +} + +export default pickBy; diff --git a/.output/server/node_modules/lodash-es/plant.js b/.output/server/node_modules/lodash-es/plant.js new file mode 100644 index 00000000..c165ea5e --- /dev/null +++ b/.output/server/node_modules/lodash-es/plant.js @@ -0,0 +1,48 @@ +import baseLodash from './_baseLodash.js'; +import wrapperClone from './_wrapperClone.js'; + +/** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ +function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; +} + +export default wrapperPlant; diff --git a/.output/server/node_modules/lodash-es/property.js b/.output/server/node_modules/lodash-es/property.js new file mode 100644 index 00000000..45152aa4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/property.js @@ -0,0 +1,32 @@ +import baseProperty from './_baseProperty.js'; +import basePropertyDeep from './_basePropertyDeep.js'; +import isKey from './_isKey.js'; +import toKey from './_toKey.js'; + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +export default property; diff --git a/.output/server/node_modules/lodash-es/propertyOf.js b/.output/server/node_modules/lodash-es/propertyOf.js new file mode 100644 index 00000000..457c7591 --- /dev/null +++ b/.output/server/node_modules/lodash-es/propertyOf.js @@ -0,0 +1,30 @@ +import baseGet from './_baseGet.js'; + +/** + * The opposite of `_.property`; this method creates a function that returns + * the value at a given path of `object`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + * @example + * + * var array = [0, 1, 2], + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.propertyOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); + * // => [2, 0] + */ +function propertyOf(object) { + return function(path) { + return object == null ? undefined : baseGet(object, path); + }; +} + +export default propertyOf; diff --git a/.output/server/node_modules/lodash-es/pull.js b/.output/server/node_modules/lodash-es/pull.js new file mode 100644 index 00000000..10872f25 --- /dev/null +++ b/.output/server/node_modules/lodash-es/pull.js @@ -0,0 +1,29 @@ +import baseRest from './_baseRest.js'; +import pullAll from './pullAll.js'; + +/** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ +var pull = baseRest(pullAll); + +export default pull; diff --git a/.output/server/node_modules/lodash-es/pullAll.js b/.output/server/node_modules/lodash-es/pullAll.js new file mode 100644 index 00000000..fe3a2b5a --- /dev/null +++ b/.output/server/node_modules/lodash-es/pullAll.js @@ -0,0 +1,29 @@ +import basePullAll from './_basePullAll.js'; + +/** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ +function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; +} + +export default pullAll; diff --git a/.output/server/node_modules/lodash-es/pullAllBy.js b/.output/server/node_modules/lodash-es/pullAllBy.js new file mode 100644 index 00000000..2f9e4157 --- /dev/null +++ b/.output/server/node_modules/lodash-es/pullAllBy.js @@ -0,0 +1,33 @@ +import baseIteratee from './_baseIteratee.js'; +import basePullAll from './_basePullAll.js'; + +/** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ +function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, baseIteratee(iteratee, 2)) + : array; +} + +export default pullAllBy; diff --git a/.output/server/node_modules/lodash-es/pullAllWith.js b/.output/server/node_modules/lodash-es/pullAllWith.js new file mode 100644 index 00000000..f60530dd --- /dev/null +++ b/.output/server/node_modules/lodash-es/pullAllWith.js @@ -0,0 +1,32 @@ +import basePullAll from './_basePullAll.js'; + +/** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ +function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; +} + +export default pullAllWith; diff --git a/.output/server/node_modules/lodash-es/pullAt.js b/.output/server/node_modules/lodash-es/pullAt.js new file mode 100644 index 00000000..23213c73 --- /dev/null +++ b/.output/server/node_modules/lodash-es/pullAt.js @@ -0,0 +1,43 @@ +import arrayMap from './_arrayMap.js'; +import baseAt from './_baseAt.js'; +import basePullAt from './_basePullAt.js'; +import compareAscending from './_compareAscending.js'; +import flatRest from './_flatRest.js'; +import isIndex from './_isIndex.js'; + +/** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ +var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; +}); + +export default pullAt; diff --git a/.output/server/node_modules/lodash-es/random.js b/.output/server/node_modules/lodash-es/random.js new file mode 100644 index 00000000..b97563db --- /dev/null +++ b/.output/server/node_modules/lodash-es/random.js @@ -0,0 +1,82 @@ +import baseRandom from './_baseRandom.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toFinite from './toFinite.js'; + +/** Built-in method references without a dependency on `root`. */ +var freeParseFloat = parseFloat; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min, + nativeRandom = Math.random; + +/** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ +function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); +} + +export default random; diff --git a/.output/server/node_modules/lodash-es/range.js b/.output/server/node_modules/lodash-es/range.js new file mode 100644 index 00000000..71f26da8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/range.js @@ -0,0 +1,46 @@ +import createRange from './_createRange.js'; + +/** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ +var range = createRange(); + +export default range; diff --git a/.output/server/node_modules/lodash-es/rangeRight.js b/.output/server/node_modules/lodash-es/rangeRight.js new file mode 100644 index 00000000..3472513d --- /dev/null +++ b/.output/server/node_modules/lodash-es/rangeRight.js @@ -0,0 +1,41 @@ +import createRange from './_createRange.js'; + +/** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.range + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ +var rangeRight = createRange(true); + +export default rangeRight; diff --git a/.output/server/node_modules/lodash-es/rearg.js b/.output/server/node_modules/lodash-es/rearg.js new file mode 100644 index 00000000..6bdda0ce --- /dev/null +++ b/.output/server/node_modules/lodash-es/rearg.js @@ -0,0 +1,33 @@ +import createWrap from './_createWrap.js'; +import flatRest from './_flatRest.js'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_REARG_FLAG = 256; + +/** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ +var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); +}); + +export default rearg; diff --git a/.output/server/node_modules/lodash-es/reduce.js b/.output/server/node_modules/lodash-es/reduce.js new file mode 100644 index 00000000..5dc6c122 --- /dev/null +++ b/.output/server/node_modules/lodash-es/reduce.js @@ -0,0 +1,51 @@ +import arrayReduce from './_arrayReduce.js'; +import baseEach from './_baseEach.js'; +import baseIteratee from './_baseIteratee.js'; +import baseReduce from './_baseReduce.js'; +import isArray from './isArray.js'; + +/** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ +function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); +} + +export default reduce; diff --git a/.output/server/node_modules/lodash-es/reduceRight.js b/.output/server/node_modules/lodash-es/reduceRight.js new file mode 100644 index 00000000..b0f5d82d --- /dev/null +++ b/.output/server/node_modules/lodash-es/reduceRight.js @@ -0,0 +1,36 @@ +import arrayReduceRight from './_arrayReduceRight.js'; +import baseEachRight from './_baseEachRight.js'; +import baseIteratee from './_baseIteratee.js'; +import baseReduce from './_baseReduce.js'; +import isArray from './isArray.js'; + +/** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ +function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); +} + +export default reduceRight; diff --git a/.output/server/node_modules/lodash-es/reject.js b/.output/server/node_modules/lodash-es/reject.js new file mode 100644 index 00000000..f3a1c55d --- /dev/null +++ b/.output/server/node_modules/lodash-es/reject.js @@ -0,0 +1,46 @@ +import arrayFilter from './_arrayFilter.js'; +import baseFilter from './_baseFilter.js'; +import baseIteratee from './_baseIteratee.js'; +import isArray from './isArray.js'; +import negate from './negate.js'; + +/** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ +function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(baseIteratee(predicate, 3))); +} + +export default reject; diff --git a/.output/server/node_modules/lodash-es/remove.js b/.output/server/node_modules/lodash-es/remove.js new file mode 100644 index 00000000..c1e775f1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/remove.js @@ -0,0 +1,53 @@ +import baseIteratee from './_baseIteratee.js'; +import basePullAt from './_basePullAt.js'; + +/** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ +function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = baseIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; +} + +export default remove; diff --git a/.output/server/node_modules/lodash-es/repeat.js b/.output/server/node_modules/lodash-es/repeat.js new file mode 100644 index 00000000..353e98cc --- /dev/null +++ b/.output/server/node_modules/lodash-es/repeat.js @@ -0,0 +1,37 @@ +import baseRepeat from './_baseRepeat.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ +function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); +} + +export default repeat; diff --git a/.output/server/node_modules/lodash-es/replace.js b/.output/server/node_modules/lodash-es/replace.js new file mode 100644 index 00000000..c14a1698 --- /dev/null +++ b/.output/server/node_modules/lodash-es/replace.js @@ -0,0 +1,29 @@ +import toString from './toString.js'; + +/** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ +function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); +} + +export default replace; diff --git a/.output/server/node_modules/lodash-es/rest.js b/.output/server/node_modules/lodash-es/rest.js new file mode 100644 index 00000000..c4604254 --- /dev/null +++ b/.output/server/node_modules/lodash-es/rest.js @@ -0,0 +1,40 @@ +import baseRest from './_baseRest.js'; +import toInteger from './toInteger.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ +function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); +} + +export default rest; diff --git a/.output/server/node_modules/lodash-es/result.js b/.output/server/node_modules/lodash-es/result.js new file mode 100644 index 00000000..fe519c81 --- /dev/null +++ b/.output/server/node_modules/lodash-es/result.js @@ -0,0 +1,56 @@ +import castPath from './_castPath.js'; +import isFunction from './isFunction.js'; +import toKey from './_toKey.js'; + +/** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ +function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; +} + +export default result; diff --git a/.output/server/node_modules/lodash-es/reverse.js b/.output/server/node_modules/lodash-es/reverse.js new file mode 100644 index 00000000..33156a23 --- /dev/null +++ b/.output/server/node_modules/lodash-es/reverse.js @@ -0,0 +1,34 @@ +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeReverse = arrayProto.reverse; + +/** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ +function reverse(array) { + return array == null ? array : nativeReverse.call(array); +} + +export default reverse; diff --git a/.output/server/node_modules/lodash-es/round.js b/.output/server/node_modules/lodash-es/round.js new file mode 100644 index 00000000..f4616dc2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/round.js @@ -0,0 +1,26 @@ +import createRound from './_createRound.js'; + +/** + * Computes `number` rounded to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round. + * @param {number} [precision=0] The precision to round to. + * @returns {number} Returns the rounded number. + * @example + * + * _.round(4.006); + * // => 4 + * + * _.round(4.006, 2); + * // => 4.01 + * + * _.round(4060, -2); + * // => 4100 + */ +var round = createRound('round'); + +export default round; diff --git a/.output/server/node_modules/lodash-es/sample.js b/.output/server/node_modules/lodash-es/sample.js new file mode 100644 index 00000000..bebe5699 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sample.js @@ -0,0 +1,24 @@ +import arraySample from './_arraySample.js'; +import baseSample from './_baseSample.js'; +import isArray from './isArray.js'; + +/** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ +function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); +} + +export default sample; diff --git a/.output/server/node_modules/lodash-es/sampleSize.js b/.output/server/node_modules/lodash-es/sampleSize.js new file mode 100644 index 00000000..152bedb8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sampleSize.js @@ -0,0 +1,37 @@ +import arraySampleSize from './_arraySampleSize.js'; +import baseSampleSize from './_baseSampleSize.js'; +import isArray from './isArray.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toInteger from './toInteger.js'; + +/** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ +function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); +} + +export default sampleSize; diff --git a/.output/server/node_modules/lodash-es/seq.default.js b/.output/server/node_modules/lodash-es/seq.default.js new file mode 100644 index 00000000..c7c32071 --- /dev/null +++ b/.output/server/node_modules/lodash-es/seq.default.js @@ -0,0 +1,20 @@ +import at from './wrapperAt.js'; +import chain from './chain.js'; +import commit from './commit.js'; +import lodash from './wrapperLodash.js'; +import next from './next.js'; +import plant from './plant.js'; +import reverse from './wrapperReverse.js'; +import tap from './tap.js'; +import thru from './thru.js'; +import toIterator from './toIterator.js'; +import toJSON from './toJSON.js'; +import value from './wrapperValue.js'; +import valueOf from './valueOf.js'; +import wrapperChain from './wrapperChain.js'; + +export default { + at, chain, commit, lodash, next, + plant, reverse, tap, thru, toIterator, + toJSON, value, valueOf, wrapperChain +}; diff --git a/.output/server/node_modules/lodash-es/seq.js b/.output/server/node_modules/lodash-es/seq.js new file mode 100644 index 00000000..f679d305 --- /dev/null +++ b/.output/server/node_modules/lodash-es/seq.js @@ -0,0 +1,15 @@ +export { default as at } from './wrapperAt.js'; +export { default as chain } from './chain.js'; +export { default as commit } from './commit.js'; +export { default as lodash } from './wrapperLodash.js'; +export { default as next } from './next.js'; +export { default as plant } from './plant.js'; +export { default as reverse } from './wrapperReverse.js'; +export { default as tap } from './tap.js'; +export { default as thru } from './thru.js'; +export { default as toIterator } from './toIterator.js'; +export { default as toJSON } from './toJSON.js'; +export { default as value } from './wrapperValue.js'; +export { default as valueOf } from './valueOf.js'; +export { default as wrapperChain } from './wrapperChain.js'; +export { default } from './seq.default.js'; diff --git a/.output/server/node_modules/lodash-es/set.js b/.output/server/node_modules/lodash-es/set.js new file mode 100644 index 00000000..15ed46e3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/set.js @@ -0,0 +1,35 @@ +import baseSet from './_baseSet.js'; + +/** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ +function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); +} + +export default set; diff --git a/.output/server/node_modules/lodash-es/setWith.js b/.output/server/node_modules/lodash-es/setWith.js new file mode 100644 index 00000000..963fcd80 --- /dev/null +++ b/.output/server/node_modules/lodash-es/setWith.js @@ -0,0 +1,32 @@ +import baseSet from './_baseSet.js'; + +/** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ +function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); +} + +export default setWith; diff --git a/.output/server/node_modules/lodash-es/shuffle.js b/.output/server/node_modules/lodash-es/shuffle.js new file mode 100644 index 00000000..69076999 --- /dev/null +++ b/.output/server/node_modules/lodash-es/shuffle.js @@ -0,0 +1,25 @@ +import arrayShuffle from './_arrayShuffle.js'; +import baseShuffle from './_baseShuffle.js'; +import isArray from './isArray.js'; + +/** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ +function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); +} + +export default shuffle; diff --git a/.output/server/node_modules/lodash-es/size.js b/.output/server/node_modules/lodash-es/size.js new file mode 100644 index 00000000..b808aaac --- /dev/null +++ b/.output/server/node_modules/lodash-es/size.js @@ -0,0 +1,46 @@ +import baseKeys from './_baseKeys.js'; +import getTag from './_getTag.js'; +import isArrayLike from './isArrayLike.js'; +import isString from './isString.js'; +import stringSize from './_stringSize.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ +function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; +} + +export default size; diff --git a/.output/server/node_modules/lodash-es/slice.js b/.output/server/node_modules/lodash-es/slice.js new file mode 100644 index 00000000..02d03d7e --- /dev/null +++ b/.output/server/node_modules/lodash-es/slice.js @@ -0,0 +1,37 @@ +import baseSlice from './_baseSlice.js'; +import isIterateeCall from './_isIterateeCall.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); +} + +export default slice; diff --git a/.output/server/node_modules/lodash-es/snakeCase.js b/.output/server/node_modules/lodash-es/snakeCase.js new file mode 100644 index 00000000..83f16350 --- /dev/null +++ b/.output/server/node_modules/lodash-es/snakeCase.js @@ -0,0 +1,28 @@ +import createCompounder from './_createCompounder.js'; + +/** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ +var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); +}); + +export default snakeCase; diff --git a/.output/server/node_modules/lodash-es/some.js b/.output/server/node_modules/lodash-es/some.js new file mode 100644 index 00000000..27f1996e --- /dev/null +++ b/.output/server/node_modules/lodash-es/some.js @@ -0,0 +1,51 @@ +import arraySome from './_arraySome.js'; +import baseIteratee from './_baseIteratee.js'; +import baseSome from './_baseSome.js'; +import isArray from './isArray.js'; +import isIterateeCall from './_isIterateeCall.js'; + +/** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ +function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); +} + +export default some; diff --git a/.output/server/node_modules/lodash-es/sortBy.js b/.output/server/node_modules/lodash-es/sortBy.js new file mode 100644 index 00000000..45dfdace --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortBy.js @@ -0,0 +1,48 @@ +import baseFlatten from './_baseFlatten.js'; +import baseOrderBy from './_baseOrderBy.js'; +import baseRest from './_baseRest.js'; +import isIterateeCall from './_isIterateeCall.js'; + +/** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ +var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); +}); + +export default sortBy; diff --git a/.output/server/node_modules/lodash-es/sortedIndex.js b/.output/server/node_modules/lodash-es/sortedIndex.js new file mode 100644 index 00000000..5104d8dd --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedIndex.js @@ -0,0 +1,24 @@ +import baseSortedIndex from './_baseSortedIndex.js'; + +/** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ +function sortedIndex(array, value) { + return baseSortedIndex(array, value); +} + +export default sortedIndex; diff --git a/.output/server/node_modules/lodash-es/sortedIndexBy.js b/.output/server/node_modules/lodash-es/sortedIndexBy.js new file mode 100644 index 00000000..b5ee6db8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedIndexBy.js @@ -0,0 +1,33 @@ +import baseIteratee from './_baseIteratee.js'; +import baseSortedIndexBy from './_baseSortedIndexBy.js'; + +/** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ +function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, baseIteratee(iteratee, 2)); +} + +export default sortedIndexBy; diff --git a/.output/server/node_modules/lodash-es/sortedIndexOf.js b/.output/server/node_modules/lodash-es/sortedIndexOf.js new file mode 100644 index 00000000..f9410d79 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedIndexOf.js @@ -0,0 +1,31 @@ +import baseSortedIndex from './_baseSortedIndex.js'; +import eq from './eq.js'; + +/** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ +function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; +} + +export default sortedIndexOf; diff --git a/.output/server/node_modules/lodash-es/sortedLastIndex.js b/.output/server/node_modules/lodash-es/sortedLastIndex.js new file mode 100644 index 00000000..a9cdeee8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedLastIndex.js @@ -0,0 +1,25 @@ +import baseSortedIndex from './_baseSortedIndex.js'; + +/** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ +function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); +} + +export default sortedLastIndex; diff --git a/.output/server/node_modules/lodash-es/sortedLastIndexBy.js b/.output/server/node_modules/lodash-es/sortedLastIndexBy.js new file mode 100644 index 00000000..bb84f81b --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedLastIndexBy.js @@ -0,0 +1,33 @@ +import baseIteratee from './_baseIteratee.js'; +import baseSortedIndexBy from './_baseSortedIndexBy.js'; + +/** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ +function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, baseIteratee(iteratee, 2), true); +} + +export default sortedLastIndexBy; diff --git a/.output/server/node_modules/lodash-es/sortedLastIndexOf.js b/.output/server/node_modules/lodash-es/sortedLastIndexOf.js new file mode 100644 index 00000000..802ebe4f --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedLastIndexOf.js @@ -0,0 +1,31 @@ +import baseSortedIndex from './_baseSortedIndex.js'; +import eq from './eq.js'; + +/** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ +function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; +} + +export default sortedLastIndexOf; diff --git a/.output/server/node_modules/lodash-es/sortedUniq.js b/.output/server/node_modules/lodash-es/sortedUniq.js new file mode 100644 index 00000000..f0d1c569 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedUniq.js @@ -0,0 +1,24 @@ +import baseSortedUniq from './_baseSortedUniq.js'; + +/** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ +function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; +} + +export default sortedUniq; diff --git a/.output/server/node_modules/lodash-es/sortedUniqBy.js b/.output/server/node_modules/lodash-es/sortedUniqBy.js new file mode 100644 index 00000000..48894fe5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/sortedUniqBy.js @@ -0,0 +1,26 @@ +import baseIteratee from './_baseIteratee.js'; +import baseSortedUniq from './_baseSortedUniq.js'; + +/** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ +function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, baseIteratee(iteratee, 2)) + : []; +} + +export default sortedUniqBy; diff --git a/.output/server/node_modules/lodash-es/split.js b/.output/server/node_modules/lodash-es/split.js new file mode 100644 index 00000000..ad368121 --- /dev/null +++ b/.output/server/node_modules/lodash-es/split.js @@ -0,0 +1,52 @@ +import baseToString from './_baseToString.js'; +import castSlice from './_castSlice.js'; +import hasUnicode from './_hasUnicode.js'; +import isIterateeCall from './_isIterateeCall.js'; +import isRegExp from './isRegExp.js'; +import stringToArray from './_stringToArray.js'; +import toString from './toString.js'; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ +function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); +} + +export default split; diff --git a/.output/server/node_modules/lodash-es/spread.js b/.output/server/node_modules/lodash-es/spread.js new file mode 100644 index 00000000..3fb8b238 --- /dev/null +++ b/.output/server/node_modules/lodash-es/spread.js @@ -0,0 +1,63 @@ +import apply from './_apply.js'; +import arrayPush from './_arrayPush.js'; +import baseRest from './_baseRest.js'; +import castSlice from './_castSlice.js'; +import toInteger from './toInteger.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ +function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); +} + +export default spread; diff --git a/.output/server/node_modules/lodash-es/startCase.js b/.output/server/node_modules/lodash-es/startCase.js new file mode 100644 index 00000000..17f9cde3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/startCase.js @@ -0,0 +1,29 @@ +import createCompounder from './_createCompounder.js'; +import upperFirst from './upperFirst.js'; + +/** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ +var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); +}); + +export default startCase; diff --git a/.output/server/node_modules/lodash-es/startsWith.js b/.output/server/node_modules/lodash-es/startsWith.js new file mode 100644 index 00000000..19ca033f --- /dev/null +++ b/.output/server/node_modules/lodash-es/startsWith.js @@ -0,0 +1,39 @@ +import baseClamp from './_baseClamp.js'; +import baseToString from './_baseToString.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ +function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; +} + +export default startsWith; diff --git a/.output/server/node_modules/lodash-es/string.default.js b/.output/server/node_modules/lodash-es/string.default.js new file mode 100644 index 00000000..7a23a643 --- /dev/null +++ b/.output/server/node_modules/lodash-es/string.default.js @@ -0,0 +1,41 @@ +import camelCase from './camelCase.js'; +import capitalize from './capitalize.js'; +import deburr from './deburr.js'; +import endsWith from './endsWith.js'; +import escape from './escape.js'; +import escapeRegExp from './escapeRegExp.js'; +import kebabCase from './kebabCase.js'; +import lowerCase from './lowerCase.js'; +import lowerFirst from './lowerFirst.js'; +import pad from './pad.js'; +import padEnd from './padEnd.js'; +import padStart from './padStart.js'; +import parseInt from './parseInt.js'; +import repeat from './repeat.js'; +import replace from './replace.js'; +import snakeCase from './snakeCase.js'; +import split from './split.js'; +import startCase from './startCase.js'; +import startsWith from './startsWith.js'; +import template from './template.js'; +import templateSettings from './templateSettings.js'; +import toLower from './toLower.js'; +import toUpper from './toUpper.js'; +import trim from './trim.js'; +import trimEnd from './trimEnd.js'; +import trimStart from './trimStart.js'; +import truncate from './truncate.js'; +import unescape from './unescape.js'; +import upperCase from './upperCase.js'; +import upperFirst from './upperFirst.js'; +import words from './words.js'; + +export default { + camelCase, capitalize, deburr, endsWith, escape, + escapeRegExp, kebabCase, lowerCase, lowerFirst, pad, + padEnd, padStart, parseInt, repeat, replace, + snakeCase, split, startCase, startsWith, template, + templateSettings, toLower, toUpper, trim, trimEnd, + trimStart, truncate, unescape, upperCase, upperFirst, + words +}; diff --git a/.output/server/node_modules/lodash-es/string.js b/.output/server/node_modules/lodash-es/string.js new file mode 100644 index 00000000..2534e7c7 --- /dev/null +++ b/.output/server/node_modules/lodash-es/string.js @@ -0,0 +1,32 @@ +export { default as camelCase } from './camelCase.js'; +export { default as capitalize } from './capitalize.js'; +export { default as deburr } from './deburr.js'; +export { default as endsWith } from './endsWith.js'; +export { default as escape } from './escape.js'; +export { default as escapeRegExp } from './escapeRegExp.js'; +export { default as kebabCase } from './kebabCase.js'; +export { default as lowerCase } from './lowerCase.js'; +export { default as lowerFirst } from './lowerFirst.js'; +export { default as pad } from './pad.js'; +export { default as padEnd } from './padEnd.js'; +export { default as padStart } from './padStart.js'; +export { default as parseInt } from './parseInt.js'; +export { default as repeat } from './repeat.js'; +export { default as replace } from './replace.js'; +export { default as snakeCase } from './snakeCase.js'; +export { default as split } from './split.js'; +export { default as startCase } from './startCase.js'; +export { default as startsWith } from './startsWith.js'; +export { default as template } from './template.js'; +export { default as templateSettings } from './templateSettings.js'; +export { default as toLower } from './toLower.js'; +export { default as toUpper } from './toUpper.js'; +export { default as trim } from './trim.js'; +export { default as trimEnd } from './trimEnd.js'; +export { default as trimStart } from './trimStart.js'; +export { default as truncate } from './truncate.js'; +export { default as unescape } from './unescape.js'; +export { default as upperCase } from './upperCase.js'; +export { default as upperFirst } from './upperFirst.js'; +export { default as words } from './words.js'; +export { default } from './string.default.js'; diff --git a/.output/server/node_modules/lodash-es/stubArray.js b/.output/server/node_modules/lodash-es/stubArray.js new file mode 100644 index 00000000..b2b5503c --- /dev/null +++ b/.output/server/node_modules/lodash-es/stubArray.js @@ -0,0 +1,23 @@ +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +export default stubArray; diff --git a/.output/server/node_modules/lodash-es/stubFalse.js b/.output/server/node_modules/lodash-es/stubFalse.js new file mode 100644 index 00000000..c569c25d --- /dev/null +++ b/.output/server/node_modules/lodash-es/stubFalse.js @@ -0,0 +1,18 @@ +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +export default stubFalse; diff --git a/.output/server/node_modules/lodash-es/stubObject.js b/.output/server/node_modules/lodash-es/stubObject.js new file mode 100644 index 00000000..f634824d --- /dev/null +++ b/.output/server/node_modules/lodash-es/stubObject.js @@ -0,0 +1,23 @@ +/** + * This method returns a new empty object. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Object} Returns the new empty object. + * @example + * + * var objects = _.times(2, _.stubObject); + * + * console.log(objects); + * // => [{}, {}] + * + * console.log(objects[0] === objects[1]); + * // => false + */ +function stubObject() { + return {}; +} + +export default stubObject; diff --git a/.output/server/node_modules/lodash-es/stubString.js b/.output/server/node_modules/lodash-es/stubString.js new file mode 100644 index 00000000..783b57c1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/stubString.js @@ -0,0 +1,18 @@ +/** + * This method returns an empty string. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {string} Returns the empty string. + * @example + * + * _.times(2, _.stubString); + * // => ['', ''] + */ +function stubString() { + return ''; +} + +export default stubString; diff --git a/.output/server/node_modules/lodash-es/stubTrue.js b/.output/server/node_modules/lodash-es/stubTrue.js new file mode 100644 index 00000000..405a29da --- /dev/null +++ b/.output/server/node_modules/lodash-es/stubTrue.js @@ -0,0 +1,18 @@ +/** + * This method returns `true`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `true`. + * @example + * + * _.times(2, _.stubTrue); + * // => [true, true] + */ +function stubTrue() { + return true; +} + +export default stubTrue; diff --git a/.output/server/node_modules/lodash-es/subtract.js b/.output/server/node_modules/lodash-es/subtract.js new file mode 100644 index 00000000..c2ca6912 --- /dev/null +++ b/.output/server/node_modules/lodash-es/subtract.js @@ -0,0 +1,22 @@ +import createMathOperation from './_createMathOperation.js'; + +/** + * Subtract two numbers. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {number} minuend The first number in a subtraction. + * @param {number} subtrahend The second number in a subtraction. + * @returns {number} Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ +var subtract = createMathOperation(function(minuend, subtrahend) { + return minuend - subtrahend; +}, 0); + +export default subtract; diff --git a/.output/server/node_modules/lodash-es/sum.js b/.output/server/node_modules/lodash-es/sum.js new file mode 100644 index 00000000..708254bb --- /dev/null +++ b/.output/server/node_modules/lodash-es/sum.js @@ -0,0 +1,24 @@ +import baseSum from './_baseSum.js'; +import identity from './identity.js'; + +/** + * Computes the sum of the values in `array`. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ +function sum(array) { + return (array && array.length) + ? baseSum(array, identity) + : 0; +} + +export default sum; diff --git a/.output/server/node_modules/lodash-es/sumBy.js b/.output/server/node_modules/lodash-es/sumBy.js new file mode 100644 index 00000000..6828c16b --- /dev/null +++ b/.output/server/node_modules/lodash-es/sumBy.js @@ -0,0 +1,33 @@ +import baseIteratee from './_baseIteratee.js'; +import baseSum from './_baseSum.js'; + +/** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // The `_.property` iteratee shorthand. + * _.sumBy(objects, 'n'); + * // => 20 + */ +function sumBy(array, iteratee) { + return (array && array.length) + ? baseSum(array, baseIteratee(iteratee, 2)) + : 0; +} + +export default sumBy; diff --git a/.output/server/node_modules/lodash-es/tail.js b/.output/server/node_modules/lodash-es/tail.js new file mode 100644 index 00000000..d8b97961 --- /dev/null +++ b/.output/server/node_modules/lodash-es/tail.js @@ -0,0 +1,22 @@ +import baseSlice from './_baseSlice.js'; + +/** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ +function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; +} + +export default tail; diff --git a/.output/server/node_modules/lodash-es/take.js b/.output/server/node_modules/lodash-es/take.js new file mode 100644 index 00000000..f8fef310 --- /dev/null +++ b/.output/server/node_modules/lodash-es/take.js @@ -0,0 +1,37 @@ +import baseSlice from './_baseSlice.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ +function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); +} + +export default take; diff --git a/.output/server/node_modules/lodash-es/takeRight.js b/.output/server/node_modules/lodash-es/takeRight.js new file mode 100644 index 00000000..36399de8 --- /dev/null +++ b/.output/server/node_modules/lodash-es/takeRight.js @@ -0,0 +1,39 @@ +import baseSlice from './_baseSlice.js'; +import toInteger from './toInteger.js'; + +/** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ +function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); +} + +export default takeRight; diff --git a/.output/server/node_modules/lodash-es/takeRightWhile.js b/.output/server/node_modules/lodash-es/takeRightWhile.js new file mode 100644 index 00000000..64245433 --- /dev/null +++ b/.output/server/node_modules/lodash-es/takeRightWhile.js @@ -0,0 +1,45 @@ +import baseIteratee from './_baseIteratee.js'; +import baseWhile from './_baseWhile.js'; + +/** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ +function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), false, true) + : []; +} + +export default takeRightWhile; diff --git a/.output/server/node_modules/lodash-es/takeWhile.js b/.output/server/node_modules/lodash-es/takeWhile.js new file mode 100644 index 00000000..f220a6e5 --- /dev/null +++ b/.output/server/node_modules/lodash-es/takeWhile.js @@ -0,0 +1,45 @@ +import baseIteratee from './_baseIteratee.js'; +import baseWhile from './_baseWhile.js'; + +/** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ +function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3)) + : []; +} + +export default takeWhile; diff --git a/.output/server/node_modules/lodash-es/tap.js b/.output/server/node_modules/lodash-es/tap.js new file mode 100644 index 00000000..464367c3 --- /dev/null +++ b/.output/server/node_modules/lodash-es/tap.js @@ -0,0 +1,29 @@ +/** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ +function tap(value, interceptor) { + interceptor(value); + return value; +} + +export default tap; diff --git a/.output/server/node_modules/lodash-es/template.js b/.output/server/node_modules/lodash-es/template.js new file mode 100644 index 00000000..769e1b30 --- /dev/null +++ b/.output/server/node_modules/lodash-es/template.js @@ -0,0 +1,272 @@ +import assignInWith from './assignInWith.js'; +import attempt from './attempt.js'; +import baseValues from './_baseValues.js'; +import customDefaultsAssignIn from './_customDefaultsAssignIn.js'; +import escapeStringChar from './_escapeStringChar.js'; +import isError from './isError.js'; +import isIterateeCall from './_isIterateeCall.js'; +import keys from './keys.js'; +import reInterpolate from './_reInterpolate.js'; +import templateSettings from './templateSettings.js'; +import toString from './toString.js'; + +/** Error message constants. */ +var INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + +/** Used to match empty string literals in compiled template source. */ +var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + +/** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ +var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + +/** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ +var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + +/** Used to ensure capturing order of template delimiters. */ +var reNoMatch = /($^)/; + +/** Used to match unescaped characters in compiled string literals. */ +var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<b><%- value %></b>'); + * compiled({ 'value': '<script>' }); + * // => '<b><script></b>' + * + * // Use the "evaluate" delimiter to execute JavaScript and generate HTML. + * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the internal `print` function in "evaluate" delimiters. + * var compiled = _.template('<% print("hello " + user); %>!'); + * compiled({ 'user': 'barney' }); + * // => 'hello barney!' + * + * // Use the ES template literal delimiter as an "interpolate" delimiter. + * // Disable support by replacing the "interpolate" delimiter. + * var compiled = _.template('hello ${ user }!'); + * compiled({ 'user': 'pebbles' }); + * // => 'hello pebbles!' + * + * // Use backslashes to treat delimiters as plain text. + * var compiled = _.template('<%= "\\<%- value %\\>" %>'); + * compiled({ 'value': 'ignored' }); + * // => '<%- value %>' + * + * // Use the `imports` option to import `jQuery` as `jq`. + * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>'; + * var compiled = _.template(text, { 'imports': { 'jq': jQuery } }); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the `sourceURL` option to specify a custom sourceURL for the template. + * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' }); + * compiled(data); + * // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector. + * + * // Use the `variable` option to ensure a with-statement isn't used in the compiled template. + * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' }); + * compiled.source; + * // => function(data) { + * // var __t, __p = ''; + * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!'; + * // return __p; + * // } + * + * // Use custom template delimiters. + * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; + * var compiled = _.template('hello {{ user }}!'); + * compiled({ 'user': 'mustache' }); + * // => 'hello mustache!' + * + * // Use the `source` property to inline compiled templates for meaningful + * // line numbers in error messages and stack traces. + * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ + * var JST = {\ + * "main": ' + _.template(mainText).source + '\ + * };\ + * '); + */ +function template(string, options, guard) { + // Based on John Resig's `tmpl` implementation + // (http://ejohn.org/blog/javascript-micro-templating/) + // and Laura Doktorova's doT.js (https://github.com/olado/doT). + var settings = templateSettings.imports._.templateSettings || templateSettings; + + if (guard && isIterateeCall(string, options, guard)) { + options = undefined; + } + string = toString(string); + options = assignInWith({}, options, settings, customDefaultsAssignIn); + + var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), + importsKeys = keys(imports), + importsValues = baseValues(imports, importsKeys); + + var isEscaping, + isEvaluating, + index = 0, + interpolate = options.interpolate || reNoMatch, + source = "__p += '"; + + // Compile the regexp to match each delimiter. + var reDelimiters = RegExp( + (options.escape || reNoMatch).source + '|' + + interpolate.source + '|' + + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + + (options.evaluate || reNoMatch).source + '|$' + , 'g'); + + // Use a sourceURL for easier debugging. + // The sourceURL gets injected into the source that's eval-ed, so be careful + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. + var sourceURL = hasOwnProperty.call(options, 'sourceURL') + ? ('//# sourceURL=' + + (options.sourceURL + '').replace(/\s/g, ' ') + + '\n') + : ''; + + string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { + interpolateValue || (interpolateValue = esTemplateValue); + + // Escape characters that can't be included in string literals. + source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); + + // Replace delimiters with snippets. + if (escapeValue) { + isEscaping = true; + source += "' +\n__e(" + escapeValue + ") +\n'"; + } + if (evaluateValue) { + isEvaluating = true; + source += "';\n" + evaluateValue + ";\n__p += '"; + } + if (interpolateValue) { + source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; + } + index = offset + match.length; + + // The JS engine embedded in Adobe products needs `match` returned in + // order to produce the correct `offset` value. + return match; + }); + + source += "';\n"; + + // If `variable` is not specified wrap a with-statement around the generated + // code to add the data object to the top of the scope chain. + var variable = hasOwnProperty.call(options, 'variable') && options.variable; + if (!variable) { + source = 'with (obj) {\n' + source + '\n}\n'; + } + // Throw an error if a forbidden character was found in `variable`, to prevent + // potential command injection attacks. + else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); + } + + // Cleanup code by stripping empty strings. + source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) + .replace(reEmptyStringMiddle, '$1') + .replace(reEmptyStringTrailing, '$1;'); + + // Frame code as the function body. + source = 'function(' + (variable || 'obj') + ') {\n' + + (variable + ? '' + : 'obj || (obj = {});\n' + ) + + "var __t, __p = ''" + + (isEscaping + ? ', __e = _.escape' + : '' + ) + + (isEvaluating + ? ', __j = Array.prototype.join;\n' + + "function print() { __p += __j.call(arguments, '') }\n" + : ';\n' + ) + + source + + 'return __p\n}'; + + var result = attempt(function() { + return Function(importsKeys, sourceURL + 'return ' + source) + .apply(undefined, importsValues); + }); + + // Provide the compiled function's source by its `toString` method or + // the `source` property as a convenience for inlining compiled templates. + result.source = source; + if (isError(result)) { + throw result; + } + return result; +} + +export default template; diff --git a/.output/server/node_modules/lodash-es/templateSettings.js b/.output/server/node_modules/lodash-es/templateSettings.js new file mode 100644 index 00000000..5fe73e97 --- /dev/null +++ b/.output/server/node_modules/lodash-es/templateSettings.js @@ -0,0 +1,67 @@ +import escape from './escape.js'; +import reEscape from './_reEscape.js'; +import reEvaluate from './_reEvaluate.js'; +import reInterpolate from './_reInterpolate.js'; + +/** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ +var templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': { 'escape': escape } + } +}; + +export default templateSettings; diff --git a/.output/server/node_modules/lodash-es/throttle.js b/.output/server/node_modules/lodash-es/throttle.js new file mode 100644 index 00000000..f3cf43f1 --- /dev/null +++ b/.output/server/node_modules/lodash-es/throttle.js @@ -0,0 +1,69 @@ +import debounce from './debounce.js'; +import isObject from './isObject.js'; + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ +function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); +} + +export default throttle; diff --git a/.output/server/node_modules/lodash-es/thru.js b/.output/server/node_modules/lodash-es/thru.js new file mode 100644 index 00000000..22847e18 --- /dev/null +++ b/.output/server/node_modules/lodash-es/thru.js @@ -0,0 +1,28 @@ +/** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ +function thru(value, interceptor) { + return interceptor(value); +} + +export default thru; diff --git a/.output/server/node_modules/lodash-es/times.js b/.output/server/node_modules/lodash-es/times.js new file mode 100644 index 00000000..910c9264 --- /dev/null +++ b/.output/server/node_modules/lodash-es/times.js @@ -0,0 +1,51 @@ +import baseTimes from './_baseTimes.js'; +import castFunction from './_castFunction.js'; +import toInteger from './toInteger.js'; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Invokes the iteratee `n` times, returning an array of the results of + * each invocation. The iteratee is invoked with one argument; (index). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of results. + * @example + * + * _.times(3, String); + * // => ['0', '1', '2'] + * + * _.times(4, _.constant(0)); + * // => [0, 0, 0, 0] + */ +function times(n, iteratee) { + n = toInteger(n); + if (n < 1 || n > MAX_SAFE_INTEGER) { + return []; + } + var index = MAX_ARRAY_LENGTH, + length = nativeMin(n, MAX_ARRAY_LENGTH); + + iteratee = castFunction(iteratee); + n -= MAX_ARRAY_LENGTH; + + var result = baseTimes(length, iteratee); + while (++index < n) { + iteratee(index); + } + return result; +} + +export default times; diff --git a/.output/server/node_modules/lodash-es/toArray.js b/.output/server/node_modules/lodash-es/toArray.js new file mode 100644 index 00000000..5afa0285 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toArray.js @@ -0,0 +1,58 @@ +import Symbol from './_Symbol.js'; +import copyArray from './_copyArray.js'; +import getTag from './_getTag.js'; +import isArrayLike from './isArrayLike.js'; +import isString from './isString.js'; +import iteratorToArray from './_iteratorToArray.js'; +import mapToArray from './_mapToArray.js'; +import setToArray from './_setToArray.js'; +import stringToArray from './_stringToArray.js'; +import values from './values.js'; + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** Built-in value references. */ +var symIterator = Symbol ? Symbol.iterator : undefined; + +/** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ +function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); +} + +export default toArray; diff --git a/.output/server/node_modules/lodash-es/toFinite.js b/.output/server/node_modules/lodash-es/toFinite.js new file mode 100644 index 00000000..ac06b7c9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toFinite.js @@ -0,0 +1,42 @@ +import toNumber from './toNumber.js'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +export default toFinite; diff --git a/.output/server/node_modules/lodash-es/toInteger.js b/.output/server/node_modules/lodash-es/toInteger.js new file mode 100644 index 00000000..6d6118c9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toInteger.js @@ -0,0 +1,36 @@ +import toFinite from './toFinite.js'; + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +export default toInteger; diff --git a/.output/server/node_modules/lodash-es/toIterator.js b/.output/server/node_modules/lodash-es/toIterator.js new file mode 100644 index 00000000..54dacf95 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toIterator.js @@ -0,0 +1,23 @@ +/** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ +function wrapperToIterator() { + return this; +} + +export default wrapperToIterator; diff --git a/.output/server/node_modules/lodash-es/toJSON.js b/.output/server/node_modules/lodash-es/toJSON.js new file mode 100644 index 00000000..089af926 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toJSON.js @@ -0,0 +1 @@ +export { default } from './wrapperValue.js' diff --git a/.output/server/node_modules/lodash-es/toLength.js b/.output/server/node_modules/lodash-es/toLength.js new file mode 100644 index 00000000..71104556 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toLength.js @@ -0,0 +1,38 @@ +import baseClamp from './_baseClamp.js'; +import toInteger from './toInteger.js'; + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ +function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; +} + +export default toLength; diff --git a/.output/server/node_modules/lodash-es/toLower.js b/.output/server/node_modules/lodash-es/toLower.js new file mode 100644 index 00000000..d7c75cdf --- /dev/null +++ b/.output/server/node_modules/lodash-es/toLower.js @@ -0,0 +1,28 @@ +import toString from './toString.js'; + +/** + * Converts `string`, as a whole, to lower case just like + * [String#toLowerCase](https://mdn.io/toLowerCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.toLower('--Foo-Bar--'); + * // => '--foo-bar--' + * + * _.toLower('fooBar'); + * // => 'foobar' + * + * _.toLower('__FOO_BAR__'); + * // => '__foo_bar__' + */ +function toLower(value) { + return toString(value).toLowerCase(); +} + +export default toLower; diff --git a/.output/server/node_modules/lodash-es/toNumber.js b/.output/server/node_modules/lodash-es/toNumber.js new file mode 100644 index 00000000..8e59f78c --- /dev/null +++ b/.output/server/node_modules/lodash-es/toNumber.js @@ -0,0 +1,64 @@ +import baseTrim from './_baseTrim.js'; +import isObject from './isObject.js'; +import isSymbol from './isSymbol.js'; + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +export default toNumber; diff --git a/.output/server/node_modules/lodash-es/toPairs.js b/.output/server/node_modules/lodash-es/toPairs.js new file mode 100644 index 00000000..d3e0a2ef --- /dev/null +++ b/.output/server/node_modules/lodash-es/toPairs.js @@ -0,0 +1,30 @@ +import createToPairs from './_createToPairs.js'; +import keys from './keys.js'; + +/** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ +var toPairs = createToPairs(keys); + +export default toPairs; diff --git a/.output/server/node_modules/lodash-es/toPairsIn.js b/.output/server/node_modules/lodash-es/toPairsIn.js new file mode 100644 index 00000000..0d46b45f --- /dev/null +++ b/.output/server/node_modules/lodash-es/toPairsIn.js @@ -0,0 +1,30 @@ +import createToPairs from './_createToPairs.js'; +import keysIn from './keysIn.js'; + +/** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ +var toPairsIn = createToPairs(keysIn); + +export default toPairsIn; diff --git a/.output/server/node_modules/lodash-es/toPath.js b/.output/server/node_modules/lodash-es/toPath.js new file mode 100644 index 00000000..e9f4d16c --- /dev/null +++ b/.output/server/node_modules/lodash-es/toPath.js @@ -0,0 +1,33 @@ +import arrayMap from './_arrayMap.js'; +import copyArray from './_copyArray.js'; +import isArray from './isArray.js'; +import isSymbol from './isSymbol.js'; +import stringToPath from './_stringToPath.js'; +import toKey from './_toKey.js'; +import toString from './toString.js'; + +/** + * Converts `value` to a property path array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {*} value The value to convert. + * @returns {Array} Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + */ +function toPath(value) { + if (isArray(value)) { + return arrayMap(value, toKey); + } + return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); +} + +export default toPath; diff --git a/.output/server/node_modules/lodash-es/toPlainObject.js b/.output/server/node_modules/lodash-es/toPlainObject.js new file mode 100644 index 00000000..b4e9129a --- /dev/null +++ b/.output/server/node_modules/lodash-es/toPlainObject.js @@ -0,0 +1,32 @@ +import copyObject from './_copyObject.js'; +import keysIn from './keysIn.js'; + +/** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ +function toPlainObject(value) { + return copyObject(value, keysIn(value)); +} + +export default toPlainObject; diff --git a/.output/server/node_modules/lodash-es/toSafeInteger.js b/.output/server/node_modules/lodash-es/toSafeInteger.js new file mode 100644 index 00000000..6aecc0ab --- /dev/null +++ b/.output/server/node_modules/lodash-es/toSafeInteger.js @@ -0,0 +1,37 @@ +import baseClamp from './_baseClamp.js'; +import toInteger from './toInteger.js'; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ +function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); +} + +export default toSafeInteger; diff --git a/.output/server/node_modules/lodash-es/toString.js b/.output/server/node_modules/lodash-es/toString.js new file mode 100644 index 00000000..ecf9e502 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toString.js @@ -0,0 +1,28 @@ +import baseToString from './_baseToString.js'; + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +export default toString; diff --git a/.output/server/node_modules/lodash-es/toUpper.js b/.output/server/node_modules/lodash-es/toUpper.js new file mode 100644 index 00000000..6ec73fb0 --- /dev/null +++ b/.output/server/node_modules/lodash-es/toUpper.js @@ -0,0 +1,28 @@ +import toString from './toString.js'; + +/** + * Converts `string`, as a whole, to upper case just like + * [String#toUpperCase](https://mdn.io/toUpperCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.toUpper('--foo-bar--'); + * // => '--FOO-BAR--' + * + * _.toUpper('fooBar'); + * // => 'FOOBAR' + * + * _.toUpper('__foo_bar__'); + * // => '__FOO_BAR__' + */ +function toUpper(value) { + return toString(value).toUpperCase(); +} + +export default toUpper; diff --git a/.output/server/node_modules/lodash-es/transform.js b/.output/server/node_modules/lodash-es/transform.js new file mode 100644 index 00000000..d6f9456c --- /dev/null +++ b/.output/server/node_modules/lodash-es/transform.js @@ -0,0 +1,65 @@ +import arrayEach from './_arrayEach.js'; +import baseCreate from './_baseCreate.js'; +import baseForOwn from './_baseForOwn.js'; +import baseIteratee from './_baseIteratee.js'; +import getPrototype from './_getPrototype.js'; +import isArray from './isArray.js'; +import isBuffer from './isBuffer.js'; +import isFunction from './isFunction.js'; +import isObject from './isObject.js'; +import isTypedArray from './isTypedArray.js'; + +/** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ +function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = baseIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; +} + +export default transform; diff --git a/.output/server/node_modules/lodash-es/trim.js b/.output/server/node_modules/lodash-es/trim.js new file mode 100644 index 00000000..55202ffb --- /dev/null +++ b/.output/server/node_modules/lodash-es/trim.js @@ -0,0 +1,47 @@ +import baseToString from './_baseToString.js'; +import baseTrim from './_baseTrim.js'; +import castSlice from './_castSlice.js'; +import charsEndIndex from './_charsEndIndex.js'; +import charsStartIndex from './_charsStartIndex.js'; +import stringToArray from './_stringToArray.js'; +import toString from './toString.js'; + +/** + * Removes leading and trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trim(' abc '); + * // => 'abc' + * + * _.trim('-_-abc-_-', '_-'); + * // => 'abc' + * + * _.map([' foo ', ' bar '], _.trim); + * // => ['foo', 'bar'] + */ +function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return baseTrim(string); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; + + return castSlice(strSymbols, start, end).join(''); +} + +export default trim; diff --git a/.output/server/node_modules/lodash-es/trimEnd.js b/.output/server/node_modules/lodash-es/trimEnd.js new file mode 100644 index 00000000..a2579182 --- /dev/null +++ b/.output/server/node_modules/lodash-es/trimEnd.js @@ -0,0 +1,41 @@ +import baseToString from './_baseToString.js'; +import castSlice from './_castSlice.js'; +import charsEndIndex from './_charsEndIndex.js'; +import stringToArray from './_stringToArray.js'; +import toString from './toString.js'; +import trimmedEndIndex from './_trimmedEndIndex.js'; + +/** + * Removes trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimEnd(' abc '); + * // => ' abc' + * + * _.trimEnd('-_-abc-_-', '_-'); + * // => '-_-abc' + */ +function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); +} + +export default trimEnd; diff --git a/.output/server/node_modules/lodash-es/trimStart.js b/.output/server/node_modules/lodash-es/trimStart.js new file mode 100644 index 00000000..4fe1cae2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/trimStart.js @@ -0,0 +1,43 @@ +import baseToString from './_baseToString.js'; +import castSlice from './_castSlice.js'; +import charsStartIndex from './_charsStartIndex.js'; +import stringToArray from './_stringToArray.js'; +import toString from './toString.js'; + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * Removes leading whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimStart(' abc '); + * // => 'abc ' + * + * _.trimStart('-_-abc-_-', '_-'); + * // => 'abc-_-' + */ +function trimStart(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.replace(reTrimStart, ''); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); +} + +export default trimStart; diff --git a/.output/server/node_modules/lodash-es/truncate.js b/.output/server/node_modules/lodash-es/truncate.js new file mode 100644 index 00000000..fe415617 --- /dev/null +++ b/.output/server/node_modules/lodash-es/truncate.js @@ -0,0 +1,111 @@ +import baseToString from './_baseToString.js'; +import castSlice from './_castSlice.js'; +import hasUnicode from './_hasUnicode.js'; +import isObject from './isObject.js'; +import isRegExp from './isRegExp.js'; +import stringSize from './_stringSize.js'; +import stringToArray from './_stringToArray.js'; +import toInteger from './toInteger.js'; +import toString from './toString.js'; + +/** Used as default options for `_.truncate`. */ +var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Truncates `string` if it's longer than the given maximum string length. + * The last characters of the truncated string are replaced with the omission + * string which defaults to "...". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to truncate. + * @param {Object} [options={}] The options object. + * @param {number} [options.length=30] The maximum string length. + * @param {string} [options.omission='...'] The string to indicate text is omitted. + * @param {RegExp|string} [options.separator] The separator pattern to truncate to. + * @returns {string} Returns the truncated string. + * @example + * + * _.truncate('hi-diddly-ho there, neighborino'); + * // => 'hi-diddly-ho there, neighbo...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': ' ' + * }); + * // => 'hi-diddly-ho there,...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': /,? +/ + * }); + * // => 'hi-diddly-ho there...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'omission': ' [...]' + * }); + * // => 'hi-diddly-ho there, neig [...]' + */ +function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, + omission = DEFAULT_TRUNC_OMISSION; + + if (isObject(options)) { + var separator = 'separator' in options ? options.separator : separator; + length = 'length' in options ? toInteger(options.length) : length; + omission = 'omission' in options ? baseToString(options.omission) : omission; + } + string = toString(string); + + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result = strSymbols + ? castSlice(strSymbols, 0, end).join('') + : string.slice(0, end); + + if (separator === undefined) { + return result + omission; + } + if (strSymbols) { + end += (result.length - end); + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, + substring = result; + + if (!separator.global) { + separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); + } + separator.lastIndex = 0; + while ((match = separator.exec(substring))) { + var newEnd = match.index; + } + result = result.slice(0, newEnd === undefined ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result.lastIndexOf(separator); + if (index > -1) { + result = result.slice(0, index); + } + } + return result + omission; +} + +export default truncate; diff --git a/.output/server/node_modules/lodash-es/unary.js b/.output/server/node_modules/lodash-es/unary.js new file mode 100644 index 00000000..cdb59ffb --- /dev/null +++ b/.output/server/node_modules/lodash-es/unary.js @@ -0,0 +1,22 @@ +import ary from './ary.js'; + +/** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ +function unary(func) { + return ary(func, 1); +} + +export default unary; diff --git a/.output/server/node_modules/lodash-es/unescape.js b/.output/server/node_modules/lodash-es/unescape.js new file mode 100644 index 00000000..86a85e49 --- /dev/null +++ b/.output/server/node_modules/lodash-es/unescape.js @@ -0,0 +1,34 @@ +import toString from './toString.js'; +import unescapeHtmlChar from './_unescapeHtmlChar.js'; + +/** Used to match HTML entities and HTML characters. */ +var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source); + +/** + * The inverse of `_.escape`; this method converts the HTML entities + * `&`, `<`, `>`, `"`, and `'` in `string` to + * their corresponding characters. + * + * **Note:** No other HTML entities are unescaped. To unescape additional + * HTML entities use a third-party library like [_he_](https://mths.be/he). + * + * @static + * @memberOf _ + * @since 0.6.0 + * @category String + * @param {string} [string=''] The string to unescape. + * @returns {string} Returns the unescaped string. + * @example + * + * _.unescape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ +function unescape(string) { + string = toString(string); + return (string && reHasEscapedHtml.test(string)) + ? string.replace(reEscapedHtml, unescapeHtmlChar) + : string; +} + +export default unescape; diff --git a/.output/server/node_modules/lodash-es/union.js b/.output/server/node_modules/lodash-es/union.js new file mode 100644 index 00000000..eb5979e9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/union.js @@ -0,0 +1,26 @@ +import baseFlatten from './_baseFlatten.js'; +import baseRest from './_baseRest.js'; +import baseUniq from './_baseUniq.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; + +/** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ +var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); +}); + +export default union; diff --git a/.output/server/node_modules/lodash-es/unionBy.js b/.output/server/node_modules/lodash-es/unionBy.js new file mode 100644 index 00000000..53651b1e --- /dev/null +++ b/.output/server/node_modules/lodash-es/unionBy.js @@ -0,0 +1,39 @@ +import baseFlatten from './_baseFlatten.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import baseUniq from './_baseUniq.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ +var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)); +}); + +export default unionBy; diff --git a/.output/server/node_modules/lodash-es/unionWith.js b/.output/server/node_modules/lodash-es/unionWith.js new file mode 100644 index 00000000..54cafe1c --- /dev/null +++ b/.output/server/node_modules/lodash-es/unionWith.js @@ -0,0 +1,34 @@ +import baseFlatten from './_baseFlatten.js'; +import baseRest from './_baseRest.js'; +import baseUniq from './_baseUniq.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ +var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); +}); + +export default unionWith; diff --git a/.output/server/node_modules/lodash-es/uniq.js b/.output/server/node_modules/lodash-es/uniq.js new file mode 100644 index 00000000..28f56e68 --- /dev/null +++ b/.output/server/node_modules/lodash-es/uniq.js @@ -0,0 +1,25 @@ +import baseUniq from './_baseUniq.js'; + +/** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ +function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; +} + +export default uniq; diff --git a/.output/server/node_modules/lodash-es/uniqBy.js b/.output/server/node_modules/lodash-es/uniqBy.js new file mode 100644 index 00000000..e08603d2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/uniqBy.js @@ -0,0 +1,31 @@ +import baseIteratee from './_baseIteratee.js'; +import baseUniq from './_baseUniq.js'; + +/** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ +function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : []; +} + +export default uniqBy; diff --git a/.output/server/node_modules/lodash-es/uniqWith.js b/.output/server/node_modules/lodash-es/uniqWith.js new file mode 100644 index 00000000..4b508a38 --- /dev/null +++ b/.output/server/node_modules/lodash-es/uniqWith.js @@ -0,0 +1,28 @@ +import baseUniq from './_baseUniq.js'; + +/** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ +function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; +} + +export default uniqWith; diff --git a/.output/server/node_modules/lodash-es/uniqueId.js b/.output/server/node_modules/lodash-es/uniqueId.js new file mode 100644 index 00000000..d775c7e4 --- /dev/null +++ b/.output/server/node_modules/lodash-es/uniqueId.js @@ -0,0 +1,28 @@ +import toString from './toString.js'; + +/** Used to generate unique IDs. */ +var idCounter = 0; + +/** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ +function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; +} + +export default uniqueId; diff --git a/.output/server/node_modules/lodash-es/unset.js b/.output/server/node_modules/lodash-es/unset.js new file mode 100644 index 00000000..627feefa --- /dev/null +++ b/.output/server/node_modules/lodash-es/unset.js @@ -0,0 +1,34 @@ +import baseUnset from './_baseUnset.js'; + +/** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ +function unset(object, path) { + return object == null ? true : baseUnset(object, path); +} + +export default unset; diff --git a/.output/server/node_modules/lodash-es/unzip.js b/.output/server/node_modules/lodash-es/unzip.js new file mode 100644 index 00000000..e3f7a604 --- /dev/null +++ b/.output/server/node_modules/lodash-es/unzip.js @@ -0,0 +1,45 @@ +import arrayFilter from './_arrayFilter.js'; +import arrayMap from './_arrayMap.js'; +import baseProperty from './_baseProperty.js'; +import baseTimes from './_baseTimes.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ +function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); +} + +export default unzip; diff --git a/.output/server/node_modules/lodash-es/unzipWith.js b/.output/server/node_modules/lodash-es/unzipWith.js new file mode 100644 index 00000000..c588d08b --- /dev/null +++ b/.output/server/node_modules/lodash-es/unzipWith.js @@ -0,0 +1,39 @@ +import apply from './_apply.js'; +import arrayMap from './_arrayMap.js'; +import unzip from './unzip.js'; + +/** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ +function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); +} + +export default unzipWith; diff --git a/.output/server/node_modules/lodash-es/update.js b/.output/server/node_modules/lodash-es/update.js new file mode 100644 index 00000000..c4b10036 --- /dev/null +++ b/.output/server/node_modules/lodash-es/update.js @@ -0,0 +1,35 @@ +import baseUpdate from './_baseUpdate.js'; +import castFunction from './_castFunction.js'; + +/** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ +function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); +} + +export default update; diff --git a/.output/server/node_modules/lodash-es/updateWith.js b/.output/server/node_modules/lodash-es/updateWith.js new file mode 100644 index 00000000..190b092b --- /dev/null +++ b/.output/server/node_modules/lodash-es/updateWith.js @@ -0,0 +1,33 @@ +import baseUpdate from './_baseUpdate.js'; +import castFunction from './_castFunction.js'; + +/** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ +function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); +} + +export default updateWith; diff --git a/.output/server/node_modules/lodash-es/upperCase.js b/.output/server/node_modules/lodash-es/upperCase.js new file mode 100644 index 00000000..b5cf8578 --- /dev/null +++ b/.output/server/node_modules/lodash-es/upperCase.js @@ -0,0 +1,27 @@ +import createCompounder from './_createCompounder.js'; + +/** + * Converts `string`, as space separated words, to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.upperCase('--foo-bar'); + * // => 'FOO BAR' + * + * _.upperCase('fooBar'); + * // => 'FOO BAR' + * + * _.upperCase('__foo_bar__'); + * // => 'FOO BAR' + */ +var upperCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toUpperCase(); +}); + +export default upperCase; diff --git a/.output/server/node_modules/lodash-es/upperFirst.js b/.output/server/node_modules/lodash-es/upperFirst.js new file mode 100644 index 00000000..cb288a54 --- /dev/null +++ b/.output/server/node_modules/lodash-es/upperFirst.js @@ -0,0 +1,22 @@ +import createCaseFirst from './_createCaseFirst.js'; + +/** + * Converts the first character of `string` to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.upperFirst('fred'); + * // => 'Fred' + * + * _.upperFirst('FRED'); + * // => 'FRED' + */ +var upperFirst = createCaseFirst('toUpperCase'); + +export default upperFirst; diff --git a/.output/server/node_modules/lodash-es/util.default.js b/.output/server/node_modules/lodash-es/util.default.js new file mode 100644 index 00000000..c0795946 --- /dev/null +++ b/.output/server/node_modules/lodash-es/util.default.js @@ -0,0 +1,42 @@ +import attempt from './attempt.js'; +import bindAll from './bindAll.js'; +import cond from './cond.js'; +import conforms from './conforms.js'; +import constant from './constant.js'; +import defaultTo from './defaultTo.js'; +import flow from './flow.js'; +import flowRight from './flowRight.js'; +import identity from './identity.js'; +import iteratee from './iteratee.js'; +import matches from './matches.js'; +import matchesProperty from './matchesProperty.js'; +import method from './method.js'; +import methodOf from './methodOf.js'; +import mixin from './mixin.js'; +import noop from './noop.js'; +import nthArg from './nthArg.js'; +import over from './over.js'; +import overEvery from './overEvery.js'; +import overSome from './overSome.js'; +import property from './property.js'; +import propertyOf from './propertyOf.js'; +import range from './range.js'; +import rangeRight from './rangeRight.js'; +import stubArray from './stubArray.js'; +import stubFalse from './stubFalse.js'; +import stubObject from './stubObject.js'; +import stubString from './stubString.js'; +import stubTrue from './stubTrue.js'; +import times from './times.js'; +import toPath from './toPath.js'; +import uniqueId from './uniqueId.js'; + +export default { + attempt, bindAll, cond, conforms, constant, + defaultTo, flow, flowRight, identity, iteratee, + matches, matchesProperty, method, methodOf, mixin, + noop, nthArg, over, overEvery, overSome, + property, propertyOf, range, rangeRight, stubArray, + stubFalse, stubObject, stubString, stubTrue, times, + toPath, uniqueId +}; diff --git a/.output/server/node_modules/lodash-es/util.js b/.output/server/node_modules/lodash-es/util.js new file mode 100644 index 00000000..d0388588 --- /dev/null +++ b/.output/server/node_modules/lodash-es/util.js @@ -0,0 +1,33 @@ +export { default as attempt } from './attempt.js'; +export { default as bindAll } from './bindAll.js'; +export { default as cond } from './cond.js'; +export { default as conforms } from './conforms.js'; +export { default as constant } from './constant.js'; +export { default as defaultTo } from './defaultTo.js'; +export { default as flow } from './flow.js'; +export { default as flowRight } from './flowRight.js'; +export { default as identity } from './identity.js'; +export { default as iteratee } from './iteratee.js'; +export { default as matches } from './matches.js'; +export { default as matchesProperty } from './matchesProperty.js'; +export { default as method } from './method.js'; +export { default as methodOf } from './methodOf.js'; +export { default as mixin } from './mixin.js'; +export { default as noop } from './noop.js'; +export { default as nthArg } from './nthArg.js'; +export { default as over } from './over.js'; +export { default as overEvery } from './overEvery.js'; +export { default as overSome } from './overSome.js'; +export { default as property } from './property.js'; +export { default as propertyOf } from './propertyOf.js'; +export { default as range } from './range.js'; +export { default as rangeRight } from './rangeRight.js'; +export { default as stubArray } from './stubArray.js'; +export { default as stubFalse } from './stubFalse.js'; +export { default as stubObject } from './stubObject.js'; +export { default as stubString } from './stubString.js'; +export { default as stubTrue } from './stubTrue.js'; +export { default as times } from './times.js'; +export { default as toPath } from './toPath.js'; +export { default as uniqueId } from './uniqueId.js'; +export { default } from './util.default.js'; diff --git a/.output/server/node_modules/lodash-es/value.js b/.output/server/node_modules/lodash-es/value.js new file mode 100644 index 00000000..089af926 --- /dev/null +++ b/.output/server/node_modules/lodash-es/value.js @@ -0,0 +1 @@ +export { default } from './wrapperValue.js' diff --git a/.output/server/node_modules/lodash-es/valueOf.js b/.output/server/node_modules/lodash-es/valueOf.js new file mode 100644 index 00000000..089af926 --- /dev/null +++ b/.output/server/node_modules/lodash-es/valueOf.js @@ -0,0 +1 @@ +export { default } from './wrapperValue.js' diff --git a/.output/server/node_modules/lodash-es/values.js b/.output/server/node_modules/lodash-es/values.js new file mode 100644 index 00000000..b247b368 --- /dev/null +++ b/.output/server/node_modules/lodash-es/values.js @@ -0,0 +1,34 @@ +import baseValues from './_baseValues.js'; +import keys from './keys.js'; + +/** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ +function values(object) { + return object == null ? [] : baseValues(object, keys(object)); +} + +export default values; diff --git a/.output/server/node_modules/lodash-es/valuesIn.js b/.output/server/node_modules/lodash-es/valuesIn.js new file mode 100644 index 00000000..1988fdda --- /dev/null +++ b/.output/server/node_modules/lodash-es/valuesIn.js @@ -0,0 +1,32 @@ +import baseValues from './_baseValues.js'; +import keysIn from './keysIn.js'; + +/** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ +function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); +} + +export default valuesIn; diff --git a/.output/server/node_modules/lodash-es/without.js b/.output/server/node_modules/lodash-es/without.js new file mode 100644 index 00000000..5d994231 --- /dev/null +++ b/.output/server/node_modules/lodash-es/without.js @@ -0,0 +1,31 @@ +import baseDifference from './_baseDifference.js'; +import baseRest from './_baseRest.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; + +/** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ +var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; +}); + +export default without; diff --git a/.output/server/node_modules/lodash-es/words.js b/.output/server/node_modules/lodash-es/words.js new file mode 100644 index 00000000..c6d10c20 --- /dev/null +++ b/.output/server/node_modules/lodash-es/words.js @@ -0,0 +1,35 @@ +import asciiWords from './_asciiWords.js'; +import hasUnicodeWord from './_hasUnicodeWord.js'; +import toString from './toString.js'; +import unicodeWords from './_unicodeWords.js'; + +/** + * Splits `string` into an array of its words. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {RegExp|string} [pattern] The pattern to match words. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the words of `string`. + * @example + * + * _.words('fred, barney, & pebbles'); + * // => ['fred', 'barney', 'pebbles'] + * + * _.words('fred, barney, & pebbles', /[^, ]+/g); + * // => ['fred', 'barney', '&', 'pebbles'] + */ +function words(string, pattern, guard) { + string = toString(string); + pattern = guard ? undefined : pattern; + + if (pattern === undefined) { + return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); + } + return string.match(pattern) || []; +} + +export default words; diff --git a/.output/server/node_modules/lodash-es/wrap.js b/.output/server/node_modules/lodash-es/wrap.js new file mode 100644 index 00000000..5faa210d --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrap.js @@ -0,0 +1,30 @@ +import castFunction from './_castFunction.js'; +import partial from './partial.js'; + +/** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '<p>' + func(text) + '</p>'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '<p>fred, barney, & pebbles</p>' + */ +function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); +} + +export default wrap; diff --git a/.output/server/node_modules/lodash-es/wrapperAt.js b/.output/server/node_modules/lodash-es/wrapperAt.js new file mode 100644 index 00000000..62eb611d --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrapperAt.js @@ -0,0 +1,48 @@ +import LazyWrapper from './_LazyWrapper.js'; +import LodashWrapper from './_LodashWrapper.js'; +import baseAt from './_baseAt.js'; +import flatRest from './_flatRest.js'; +import isIndex from './_isIndex.js'; +import thru from './thru.js'; + +/** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ +var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); +}); + +export default wrapperAt; diff --git a/.output/server/node_modules/lodash-es/wrapperChain.js b/.output/server/node_modules/lodash-es/wrapperChain.js new file mode 100644 index 00000000..2bba4396 --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrapperChain.js @@ -0,0 +1,34 @@ +import chain from './chain.js'; + +/** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ +function wrapperChain() { + return chain(this); +} + +export default wrapperChain; diff --git a/.output/server/node_modules/lodash-es/wrapperLodash.js b/.output/server/node_modules/lodash-es/wrapperLodash.js new file mode 100644 index 00000000..afc37d30 --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrapperLodash.js @@ -0,0 +1,147 @@ +import LazyWrapper from './_LazyWrapper.js'; +import LodashWrapper from './_LodashWrapper.js'; +import baseLodash from './_baseLodash.js'; +import isArray from './isArray.js'; +import isObjectLike from './isObjectLike.js'; +import wrapperClone from './_wrapperClone.js'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ +function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); +} + +// Ensure wrappers are instances of `baseLodash`. +lodash.prototype = baseLodash.prototype; +lodash.prototype.constructor = lodash; + +export default lodash; diff --git a/.output/server/node_modules/lodash-es/wrapperReverse.js b/.output/server/node_modules/lodash-es/wrapperReverse.js new file mode 100644 index 00000000..0cc82426 --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrapperReverse.js @@ -0,0 +1,44 @@ +import LazyWrapper from './_LazyWrapper.js'; +import LodashWrapper from './_LodashWrapper.js'; +import reverse from './reverse.js'; +import thru from './thru.js'; + +/** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ +function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); +} + +export default wrapperReverse; diff --git a/.output/server/node_modules/lodash-es/wrapperValue.js b/.output/server/node_modules/lodash-es/wrapperValue.js new file mode 100644 index 00000000..b7002303 --- /dev/null +++ b/.output/server/node_modules/lodash-es/wrapperValue.js @@ -0,0 +1,21 @@ +import baseWrapperValue from './_baseWrapperValue.js'; + +/** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ +function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); +} + +export default wrapperValue; diff --git a/.output/server/node_modules/lodash-es/xor.js b/.output/server/node_modules/lodash-es/xor.js new file mode 100644 index 00000000..c406c48e --- /dev/null +++ b/.output/server/node_modules/lodash-es/xor.js @@ -0,0 +1,28 @@ +import arrayFilter from './_arrayFilter.js'; +import baseRest from './_baseRest.js'; +import baseXor from './_baseXor.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; + +/** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ +var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); +}); + +export default xor; diff --git a/.output/server/node_modules/lodash-es/xorBy.js b/.output/server/node_modules/lodash-es/xorBy.js new file mode 100644 index 00000000..f21d8ad9 --- /dev/null +++ b/.output/server/node_modules/lodash-es/xorBy.js @@ -0,0 +1,39 @@ +import arrayFilter from './_arrayFilter.js'; +import baseIteratee from './_baseIteratee.js'; +import baseRest from './_baseRest.js'; +import baseXor from './_baseXor.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ +var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), baseIteratee(iteratee, 2)); +}); + +export default xorBy; diff --git a/.output/server/node_modules/lodash-es/xorWith.js b/.output/server/node_modules/lodash-es/xorWith.js new file mode 100644 index 00000000..b24e98b2 --- /dev/null +++ b/.output/server/node_modules/lodash-es/xorWith.js @@ -0,0 +1,34 @@ +import arrayFilter from './_arrayFilter.js'; +import baseRest from './_baseRest.js'; +import baseXor from './_baseXor.js'; +import isArrayLikeObject from './isArrayLikeObject.js'; +import last from './last.js'; + +/** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ +var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); +}); + +export default xorWith; diff --git a/.output/server/node_modules/lodash-es/zip.js b/.output/server/node_modules/lodash-es/zip.js new file mode 100644 index 00000000..c9105282 --- /dev/null +++ b/.output/server/node_modules/lodash-es/zip.js @@ -0,0 +1,22 @@ +import baseRest from './_baseRest.js'; +import unzip from './unzip.js'; + +/** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ +var zip = baseRest(unzip); + +export default zip; diff --git a/.output/server/node_modules/lodash-es/zipObject.js b/.output/server/node_modules/lodash-es/zipObject.js new file mode 100644 index 00000000..ac7c9f92 --- /dev/null +++ b/.output/server/node_modules/lodash-es/zipObject.js @@ -0,0 +1,24 @@ +import assignValue from './_assignValue.js'; +import baseZipObject from './_baseZipObject.js'; + +/** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ +function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); +} + +export default zipObject; diff --git a/.output/server/node_modules/lodash-es/zipObjectDeep.js b/.output/server/node_modules/lodash-es/zipObjectDeep.js new file mode 100644 index 00000000..a44e6c22 --- /dev/null +++ b/.output/server/node_modules/lodash-es/zipObjectDeep.js @@ -0,0 +1,23 @@ +import baseSet from './_baseSet.js'; +import baseZipObject from './_baseZipObject.js'; + +/** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ +function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); +} + +export default zipObjectDeep; diff --git a/.output/server/node_modules/lodash-es/zipWith.js b/.output/server/node_modules/lodash-es/zipWith.js new file mode 100644 index 00000000..fe9d7a2e --- /dev/null +++ b/.output/server/node_modules/lodash-es/zipWith.js @@ -0,0 +1,32 @@ +import baseRest from './_baseRest.js'; +import unzipWith from './unzipWith.js'; + +/** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ +var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); +}); + +export default zipWith; diff --git a/.output/server/node_modules/lodash/_DataView.js b/.output/server/node_modules/lodash/_DataView.js new file mode 100644 index 00000000..ac2d57ca --- /dev/null +++ b/.output/server/node_modules/lodash/_DataView.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +module.exports = DataView; diff --git a/.output/server/node_modules/lodash/_Hash.js b/.output/server/node_modules/lodash/_Hash.js new file mode 100644 index 00000000..b504fe34 --- /dev/null +++ b/.output/server/node_modules/lodash/_Hash.js @@ -0,0 +1,32 @@ +var hashClear = require('./_hashClear'), + hashDelete = require('./_hashDelete'), + hashGet = require('./_hashGet'), + hashHas = require('./_hashHas'), + hashSet = require('./_hashSet'); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; diff --git a/.output/server/node_modules/lodash/_ListCache.js b/.output/server/node_modules/lodash/_ListCache.js new file mode 100644 index 00000000..26895c3a --- /dev/null +++ b/.output/server/node_modules/lodash/_ListCache.js @@ -0,0 +1,32 @@ +var listCacheClear = require('./_listCacheClear'), + listCacheDelete = require('./_listCacheDelete'), + listCacheGet = require('./_listCacheGet'), + listCacheHas = require('./_listCacheHas'), + listCacheSet = require('./_listCacheSet'); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; diff --git a/.output/server/node_modules/lodash/_Map.js b/.output/server/node_modules/lodash/_Map.js new file mode 100644 index 00000000..b73f29a0 --- /dev/null +++ b/.output/server/node_modules/lodash/_Map.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +module.exports = Map; diff --git a/.output/server/node_modules/lodash/_MapCache.js b/.output/server/node_modules/lodash/_MapCache.js new file mode 100644 index 00000000..4a4eea7b --- /dev/null +++ b/.output/server/node_modules/lodash/_MapCache.js @@ -0,0 +1,32 @@ +var mapCacheClear = require('./_mapCacheClear'), + mapCacheDelete = require('./_mapCacheDelete'), + mapCacheGet = require('./_mapCacheGet'), + mapCacheHas = require('./_mapCacheHas'), + mapCacheSet = require('./_mapCacheSet'); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; diff --git a/.output/server/node_modules/lodash/_Promise.js b/.output/server/node_modules/lodash/_Promise.js new file mode 100644 index 00000000..247b9e1b --- /dev/null +++ b/.output/server/node_modules/lodash/_Promise.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Promise = getNative(root, 'Promise'); + +module.exports = Promise; diff --git a/.output/server/node_modules/lodash/_Set.js b/.output/server/node_modules/lodash/_Set.js new file mode 100644 index 00000000..b3c8dcbf --- /dev/null +++ b/.output/server/node_modules/lodash/_Set.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Set = getNative(root, 'Set'); + +module.exports = Set; diff --git a/.output/server/node_modules/lodash/_SetCache.js b/.output/server/node_modules/lodash/_SetCache.js new file mode 100644 index 00000000..6468b064 --- /dev/null +++ b/.output/server/node_modules/lodash/_SetCache.js @@ -0,0 +1,27 @@ +var MapCache = require('./_MapCache'), + setCacheAdd = require('./_setCacheAdd'), + setCacheHas = require('./_setCacheHas'); + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +module.exports = SetCache; diff --git a/.output/server/node_modules/lodash/_Stack.js b/.output/server/node_modules/lodash/_Stack.js new file mode 100644 index 00000000..80b2cf1b --- /dev/null +++ b/.output/server/node_modules/lodash/_Stack.js @@ -0,0 +1,27 @@ +var ListCache = require('./_ListCache'), + stackClear = require('./_stackClear'), + stackDelete = require('./_stackDelete'), + stackGet = require('./_stackGet'), + stackHas = require('./_stackHas'), + stackSet = require('./_stackSet'); + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +module.exports = Stack; diff --git a/.output/server/node_modules/lodash/_Symbol.js b/.output/server/node_modules/lodash/_Symbol.js new file mode 100644 index 00000000..a013f7c5 --- /dev/null +++ b/.output/server/node_modules/lodash/_Symbol.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Symbol = root.Symbol; + +module.exports = Symbol; diff --git a/.output/server/node_modules/lodash/_Uint8Array.js b/.output/server/node_modules/lodash/_Uint8Array.js new file mode 100644 index 00000000..2fb30e15 --- /dev/null +++ b/.output/server/node_modules/lodash/_Uint8Array.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +module.exports = Uint8Array; diff --git a/.output/server/node_modules/lodash/_WeakMap.js b/.output/server/node_modules/lodash/_WeakMap.js new file mode 100644 index 00000000..567f86c6 --- /dev/null +++ b/.output/server/node_modules/lodash/_WeakMap.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var WeakMap = getNative(root, 'WeakMap'); + +module.exports = WeakMap; diff --git a/.output/server/node_modules/lodash/_apply.js b/.output/server/node_modules/lodash/_apply.js new file mode 100644 index 00000000..36436dda --- /dev/null +++ b/.output/server/node_modules/lodash/_apply.js @@ -0,0 +1,21 @@ +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +module.exports = apply; diff --git a/.output/server/node_modules/lodash/_arrayAggregator.js b/.output/server/node_modules/lodash/_arrayAggregator.js new file mode 100644 index 00000000..d96c3ca4 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayAggregator.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} + +module.exports = arrayAggregator; diff --git a/.output/server/node_modules/lodash/_arrayEach.js b/.output/server/node_modules/lodash/_arrayEach.js new file mode 100644 index 00000000..2c5f5796 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayEach.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEach; diff --git a/.output/server/node_modules/lodash/_arrayFilter.js b/.output/server/node_modules/lodash/_arrayFilter.js new file mode 100644 index 00000000..75ea2544 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayFilter.js @@ -0,0 +1,25 @@ +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = arrayFilter; diff --git a/.output/server/node_modules/lodash/_arrayIncludes.js b/.output/server/node_modules/lodash/_arrayIncludes.js new file mode 100644 index 00000000..3737a6d9 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayIncludes.js @@ -0,0 +1,17 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +module.exports = arrayIncludes; diff --git a/.output/server/node_modules/lodash/_arrayIncludesWith.js b/.output/server/node_modules/lodash/_arrayIncludesWith.js new file mode 100644 index 00000000..235fd975 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayIncludesWith.js @@ -0,0 +1,22 @@ +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +module.exports = arrayIncludesWith; diff --git a/.output/server/node_modules/lodash/_arrayLikeKeys.js b/.output/server/node_modules/lodash/_arrayLikeKeys.js new file mode 100644 index 00000000..b2ec9ce7 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayLikeKeys.js @@ -0,0 +1,49 @@ +var baseTimes = require('./_baseTimes'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isIndex = require('./_isIndex'), + isTypedArray = require('./isTypedArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +module.exports = arrayLikeKeys; diff --git a/.output/server/node_modules/lodash/_arrayMap.js b/.output/server/node_modules/lodash/_arrayMap.js new file mode 100644 index 00000000..22b22464 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayMap.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; diff --git a/.output/server/node_modules/lodash/_arrayPush.js b/.output/server/node_modules/lodash/_arrayPush.js new file mode 100644 index 00000000..7d742b38 --- /dev/null +++ b/.output/server/node_modules/lodash/_arrayPush.js @@ -0,0 +1,20 @@ +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; diff --git a/.output/server/node_modules/lodash/_arraySome.js b/.output/server/node_modules/lodash/_arraySome.js new file mode 100644 index 00000000..6fd02fd4 --- /dev/null +++ b/.output/server/node_modules/lodash/_arraySome.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +module.exports = arraySome; diff --git a/.output/server/node_modules/lodash/_assignValue.js b/.output/server/node_modules/lodash/_assignValue.js new file mode 100644 index 00000000..40839575 --- /dev/null +++ b/.output/server/node_modules/lodash/_assignValue.js @@ -0,0 +1,28 @@ +var baseAssignValue = require('./_baseAssignValue'), + eq = require('./eq'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignValue; diff --git a/.output/server/node_modules/lodash/_assocIndexOf.js b/.output/server/node_modules/lodash/_assocIndexOf.js new file mode 100644 index 00000000..5b77a2bd --- /dev/null +++ b/.output/server/node_modules/lodash/_assocIndexOf.js @@ -0,0 +1,21 @@ +var eq = require('./eq'); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; diff --git a/.output/server/node_modules/lodash/_baseAggregator.js b/.output/server/node_modules/lodash/_baseAggregator.js new file mode 100644 index 00000000..4bc9e91f --- /dev/null +++ b/.output/server/node_modules/lodash/_baseAggregator.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +module.exports = baseAggregator; diff --git a/.output/server/node_modules/lodash/_baseAssign.js b/.output/server/node_modules/lodash/_baseAssign.js new file mode 100644 index 00000000..e5c4a1a5 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseAssign.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keys = require('./keys'); + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} + +module.exports = baseAssign; diff --git a/.output/server/node_modules/lodash/_baseAssignIn.js b/.output/server/node_modules/lodash/_baseAssignIn.js new file mode 100644 index 00000000..6624f900 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseAssignIn.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keysIn = require('./keysIn'); + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); +} + +module.exports = baseAssignIn; diff --git a/.output/server/node_modules/lodash/_baseAssignValue.js b/.output/server/node_modules/lodash/_baseAssignValue.js new file mode 100644 index 00000000..d6f66ef3 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseAssignValue.js @@ -0,0 +1,25 @@ +var defineProperty = require('./_defineProperty'); + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +module.exports = baseAssignValue; diff --git a/.output/server/node_modules/lodash/_baseClone.js b/.output/server/node_modules/lodash/_baseClone.js new file mode 100644 index 00000000..69f87054 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseClone.js @@ -0,0 +1,166 @@ +var Stack = require('./_Stack'), + arrayEach = require('./_arrayEach'), + assignValue = require('./_assignValue'), + baseAssign = require('./_baseAssign'), + baseAssignIn = require('./_baseAssignIn'), + cloneBuffer = require('./_cloneBuffer'), + copyArray = require('./_copyArray'), + copySymbols = require('./_copySymbols'), + copySymbolsIn = require('./_copySymbolsIn'), + getAllKeys = require('./_getAllKeys'), + getAllKeysIn = require('./_getAllKeysIn'), + getTag = require('./_getTag'), + initCloneArray = require('./_initCloneArray'), + initCloneByTag = require('./_initCloneByTag'), + initCloneObject = require('./_initCloneObject'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isMap = require('./isMap'), + isObject = require('./isObject'), + isSet = require('./isSet'), + keys = require('./keys'), + keysIn = require('./keysIn'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = +cloneableTags[boolTag] = cloneableTags[dateTag] = +cloneableTags[float32Tag] = cloneableTags[float64Tag] = +cloneableTags[int8Tag] = cloneableTags[int16Tag] = +cloneableTags[int32Tag] = cloneableTags[mapTag] = +cloneableTags[numberTag] = cloneableTags[objectTag] = +cloneableTags[regexpTag] = cloneableTags[setTag] = +cloneableTags[stringTag] = cloneableTags[symbolTag] = +cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = +cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +module.exports = baseClone; diff --git a/.output/server/node_modules/lodash/_baseCreate.js b/.output/server/node_modules/lodash/_baseCreate.js new file mode 100644 index 00000000..ffa6a52a --- /dev/null +++ b/.output/server/node_modules/lodash/_baseCreate.js @@ -0,0 +1,30 @@ +var isObject = require('./isObject'); + +/** Built-in value references. */ +var objectCreate = Object.create; + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +module.exports = baseCreate; diff --git a/.output/server/node_modules/lodash/_baseEach.js b/.output/server/node_modules/lodash/_baseEach.js new file mode 100644 index 00000000..512c0676 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseEach.js @@ -0,0 +1,14 @@ +var baseForOwn = require('./_baseForOwn'), + createBaseEach = require('./_createBaseEach'); + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +module.exports = baseEach; diff --git a/.output/server/node_modules/lodash/_baseFindIndex.js b/.output/server/node_modules/lodash/_baseFindIndex.js new file mode 100644 index 00000000..e3f5d8aa --- /dev/null +++ b/.output/server/node_modules/lodash/_baseFindIndex.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +module.exports = baseFindIndex; diff --git a/.output/server/node_modules/lodash/_baseFlatten.js b/.output/server/node_modules/lodash/_baseFlatten.js new file mode 100644 index 00000000..4b1e009b --- /dev/null +++ b/.output/server/node_modules/lodash/_baseFlatten.js @@ -0,0 +1,38 @@ +var arrayPush = require('./_arrayPush'), + isFlattenable = require('./_isFlattenable'); + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; diff --git a/.output/server/node_modules/lodash/_baseFor.js b/.output/server/node_modules/lodash/_baseFor.js new file mode 100644 index 00000000..d946590f --- /dev/null +++ b/.output/server/node_modules/lodash/_baseFor.js @@ -0,0 +1,16 @@ +var createBaseFor = require('./_createBaseFor'); + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +module.exports = baseFor; diff --git a/.output/server/node_modules/lodash/_baseForOwn.js b/.output/server/node_modules/lodash/_baseForOwn.js new file mode 100644 index 00000000..503d5234 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseForOwn.js @@ -0,0 +1,16 @@ +var baseFor = require('./_baseFor'), + keys = require('./keys'); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +module.exports = baseForOwn; diff --git a/.output/server/node_modules/lodash/_baseGet.js b/.output/server/node_modules/lodash/_baseGet.js new file mode 100644 index 00000000..a194913d --- /dev/null +++ b/.output/server/node_modules/lodash/_baseGet.js @@ -0,0 +1,24 @@ +var castPath = require('./_castPath'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; diff --git a/.output/server/node_modules/lodash/_baseGetAllKeys.js b/.output/server/node_modules/lodash/_baseGetAllKeys.js new file mode 100644 index 00000000..8ad204ea --- /dev/null +++ b/.output/server/node_modules/lodash/_baseGetAllKeys.js @@ -0,0 +1,20 @@ +var arrayPush = require('./_arrayPush'), + isArray = require('./isArray'); + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +module.exports = baseGetAllKeys; diff --git a/.output/server/node_modules/lodash/_baseGetTag.js b/.output/server/node_modules/lodash/_baseGetTag.js new file mode 100644 index 00000000..b927ccc1 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseGetTag.js @@ -0,0 +1,28 @@ +var Symbol = require('./_Symbol'), + getRawTag = require('./_getRawTag'), + objectToString = require('./_objectToString'); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; diff --git a/.output/server/node_modules/lodash/_baseHasIn.js b/.output/server/node_modules/lodash/_baseHasIn.js new file mode 100644 index 00000000..2e0d0426 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseHasIn.js @@ -0,0 +1,13 @@ +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +module.exports = baseHasIn; diff --git a/.output/server/node_modules/lodash/_baseIndexOf.js b/.output/server/node_modules/lodash/_baseIndexOf.js new file mode 100644 index 00000000..167e706e --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIndexOf.js @@ -0,0 +1,20 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIsNaN = require('./_baseIsNaN'), + strictIndexOf = require('./_strictIndexOf'); + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +module.exports = baseIndexOf; diff --git a/.output/server/node_modules/lodash/_baseIntersection.js b/.output/server/node_modules/lodash/_baseIntersection.js new file mode 100644 index 00000000..c1d250c2 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIntersection.js @@ -0,0 +1,74 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + arrayMap = require('./_arrayMap'), + baseUnary = require('./_baseUnary'), + cacheHas = require('./_cacheHas'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ +function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseIntersection; diff --git a/.output/server/node_modules/lodash/_baseIsArguments.js b/.output/server/node_modules/lodash/_baseIsArguments.js new file mode 100644 index 00000000..b3562cca --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsArguments.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +module.exports = baseIsArguments; diff --git a/.output/server/node_modules/lodash/_baseIsEqual.js b/.output/server/node_modules/lodash/_baseIsEqual.js new file mode 100644 index 00000000..00a68a4f --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsEqual.js @@ -0,0 +1,28 @@ +var baseIsEqualDeep = require('./_baseIsEqualDeep'), + isObjectLike = require('./isObjectLike'); + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +module.exports = baseIsEqual; diff --git a/.output/server/node_modules/lodash/_baseIsEqualDeep.js b/.output/server/node_modules/lodash/_baseIsEqualDeep.js new file mode 100644 index 00000000..e3cfd6a8 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsEqualDeep.js @@ -0,0 +1,83 @@ +var Stack = require('./_Stack'), + equalArrays = require('./_equalArrays'), + equalByTag = require('./_equalByTag'), + equalObjects = require('./_equalObjects'), + getTag = require('./_getTag'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isTypedArray = require('./isTypedArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +module.exports = baseIsEqualDeep; diff --git a/.output/server/node_modules/lodash/_baseIsMap.js b/.output/server/node_modules/lodash/_baseIsMap.js new file mode 100644 index 00000000..02a4021c --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsMap.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; +} + +module.exports = baseIsMap; diff --git a/.output/server/node_modules/lodash/_baseIsMatch.js b/.output/server/node_modules/lodash/_baseIsMatch.js new file mode 100644 index 00000000..72494bed --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsMatch.js @@ -0,0 +1,62 @@ +var Stack = require('./_Stack'), + baseIsEqual = require('./_baseIsEqual'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +module.exports = baseIsMatch; diff --git a/.output/server/node_modules/lodash/_baseIsNaN.js b/.output/server/node_modules/lodash/_baseIsNaN.js new file mode 100644 index 00000000..316f1eb1 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsNaN.js @@ -0,0 +1,12 @@ +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +module.exports = baseIsNaN; diff --git a/.output/server/node_modules/lodash/_baseIsNative.js b/.output/server/node_modules/lodash/_baseIsNative.js new file mode 100644 index 00000000..87023304 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsNative.js @@ -0,0 +1,47 @@ +var isFunction = require('./isFunction'), + isMasked = require('./_isMasked'), + isObject = require('./isObject'), + toSource = require('./_toSource'); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; diff --git a/.output/server/node_modules/lodash/_baseIsSet.js b/.output/server/node_modules/lodash/_baseIsSet.js new file mode 100644 index 00000000..6dee3671 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsSet.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; +} + +module.exports = baseIsSet; diff --git a/.output/server/node_modules/lodash/_baseIsTypedArray.js b/.output/server/node_modules/lodash/_baseIsTypedArray.js new file mode 100644 index 00000000..1edb32ff --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIsTypedArray.js @@ -0,0 +1,60 @@ +var baseGetTag = require('./_baseGetTag'), + isLength = require('./isLength'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +module.exports = baseIsTypedArray; diff --git a/.output/server/node_modules/lodash/_baseIteratee.js b/.output/server/node_modules/lodash/_baseIteratee.js new file mode 100644 index 00000000..995c2575 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseIteratee.js @@ -0,0 +1,31 @@ +var baseMatches = require('./_baseMatches'), + baseMatchesProperty = require('./_baseMatchesProperty'), + identity = require('./identity'), + isArray = require('./isArray'), + property = require('./property'); + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +module.exports = baseIteratee; diff --git a/.output/server/node_modules/lodash/_baseKeys.js b/.output/server/node_modules/lodash/_baseKeys.js new file mode 100644 index 00000000..45e9e6f3 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseKeys.js @@ -0,0 +1,30 @@ +var isPrototype = require('./_isPrototype'), + nativeKeys = require('./_nativeKeys'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +module.exports = baseKeys; diff --git a/.output/server/node_modules/lodash/_baseKeysIn.js b/.output/server/node_modules/lodash/_baseKeysIn.js new file mode 100644 index 00000000..ea8a0a17 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseKeysIn.js @@ -0,0 +1,33 @@ +var isObject = require('./isObject'), + isPrototype = require('./_isPrototype'), + nativeKeysIn = require('./_nativeKeysIn'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +module.exports = baseKeysIn; diff --git a/.output/server/node_modules/lodash/_baseMatches.js b/.output/server/node_modules/lodash/_baseMatches.js new file mode 100644 index 00000000..e56582ad --- /dev/null +++ b/.output/server/node_modules/lodash/_baseMatches.js @@ -0,0 +1,22 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'), + matchesStrictComparable = require('./_matchesStrictComparable'); + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +module.exports = baseMatches; diff --git a/.output/server/node_modules/lodash/_baseMatchesProperty.js b/.output/server/node_modules/lodash/_baseMatchesProperty.js new file mode 100644 index 00000000..24afd893 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseMatchesProperty.js @@ -0,0 +1,33 @@ +var baseIsEqual = require('./_baseIsEqual'), + get = require('./get'), + hasIn = require('./hasIn'), + isKey = require('./_isKey'), + isStrictComparable = require('./_isStrictComparable'), + matchesStrictComparable = require('./_matchesStrictComparable'), + toKey = require('./_toKey'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +module.exports = baseMatchesProperty; diff --git a/.output/server/node_modules/lodash/_basePick.js b/.output/server/node_modules/lodash/_basePick.js new file mode 100644 index 00000000..09b458a6 --- /dev/null +++ b/.output/server/node_modules/lodash/_basePick.js @@ -0,0 +1,19 @@ +var basePickBy = require('./_basePickBy'), + hasIn = require('./hasIn'); + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); +} + +module.exports = basePick; diff --git a/.output/server/node_modules/lodash/_basePickBy.js b/.output/server/node_modules/lodash/_basePickBy.js new file mode 100644 index 00000000..85be68c8 --- /dev/null +++ b/.output/server/node_modules/lodash/_basePickBy.js @@ -0,0 +1,30 @@ +var baseGet = require('./_baseGet'), + baseSet = require('./_baseSet'), + castPath = require('./_castPath'); + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; +} + +module.exports = basePickBy; diff --git a/.output/server/node_modules/lodash/_baseProperty.js b/.output/server/node_modules/lodash/_baseProperty.js new file mode 100644 index 00000000..496281ec --- /dev/null +++ b/.output/server/node_modules/lodash/_baseProperty.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = baseProperty; diff --git a/.output/server/node_modules/lodash/_basePropertyDeep.js b/.output/server/node_modules/lodash/_basePropertyDeep.js new file mode 100644 index 00000000..1e5aae50 --- /dev/null +++ b/.output/server/node_modules/lodash/_basePropertyDeep.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'); + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +module.exports = basePropertyDeep; diff --git a/.output/server/node_modules/lodash/_baseRest.js b/.output/server/node_modules/lodash/_baseRest.js new file mode 100644 index 00000000..d0dc4bdd --- /dev/null +++ b/.output/server/node_modules/lodash/_baseRest.js @@ -0,0 +1,17 @@ +var identity = require('./identity'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +module.exports = baseRest; diff --git a/.output/server/node_modules/lodash/_baseSet.js b/.output/server/node_modules/lodash/_baseSet.js new file mode 100644 index 00000000..99f4fbf9 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseSet.js @@ -0,0 +1,51 @@ +var assignValue = require('./_assignValue'), + castPath = require('./_castPath'), + isIndex = require('./_isIndex'), + isObject = require('./isObject'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +module.exports = baseSet; diff --git a/.output/server/node_modules/lodash/_baseSetToString.js b/.output/server/node_modules/lodash/_baseSetToString.js new file mode 100644 index 00000000..89eaca38 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseSetToString.js @@ -0,0 +1,22 @@ +var constant = require('./constant'), + defineProperty = require('./_defineProperty'), + identity = require('./identity'); + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +module.exports = baseSetToString; diff --git a/.output/server/node_modules/lodash/_baseSlice.js b/.output/server/node_modules/lodash/_baseSlice.js new file mode 100644 index 00000000..786f6c99 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseSlice.js @@ -0,0 +1,31 @@ +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +module.exports = baseSlice; diff --git a/.output/server/node_modules/lodash/_baseTimes.js b/.output/server/node_modules/lodash/_baseTimes.js new file mode 100644 index 00000000..0603fc37 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseTimes.js @@ -0,0 +1,20 @@ +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +module.exports = baseTimes; diff --git a/.output/server/node_modules/lodash/_baseToString.js b/.output/server/node_modules/lodash/_baseToString.js new file mode 100644 index 00000000..ada6ad29 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseToString.js @@ -0,0 +1,37 @@ +var Symbol = require('./_Symbol'), + arrayMap = require('./_arrayMap'), + isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; diff --git a/.output/server/node_modules/lodash/_baseTrim.js b/.output/server/node_modules/lodash/_baseTrim.js new file mode 100644 index 00000000..3e2797d9 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseTrim.js @@ -0,0 +1,19 @@ +var trimmedEndIndex = require('./_trimmedEndIndex'); + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +module.exports = baseTrim; diff --git a/.output/server/node_modules/lodash/_baseUnary.js b/.output/server/node_modules/lodash/_baseUnary.js new file mode 100644 index 00000000..98639e92 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseUnary.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +module.exports = baseUnary; diff --git a/.output/server/node_modules/lodash/_baseUniq.js b/.output/server/node_modules/lodash/_baseUniq.js new file mode 100644 index 00000000..aea459dc --- /dev/null +++ b/.output/server/node_modules/lodash/_baseUniq.js @@ -0,0 +1,72 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + cacheHas = require('./_cacheHas'), + createSet = require('./_createSet'), + setToArray = require('./_setToArray'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseUniq; diff --git a/.output/server/node_modules/lodash/_baseUnset.js b/.output/server/node_modules/lodash/_baseUnset.js new file mode 100644 index 00000000..eefc6e37 --- /dev/null +++ b/.output/server/node_modules/lodash/_baseUnset.js @@ -0,0 +1,20 @@ +var castPath = require('./_castPath'), + last = require('./last'), + parent = require('./_parent'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ +function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; +} + +module.exports = baseUnset; diff --git a/.output/server/node_modules/lodash/_cacheHas.js b/.output/server/node_modules/lodash/_cacheHas.js new file mode 100644 index 00000000..2dec8926 --- /dev/null +++ b/.output/server/node_modules/lodash/_cacheHas.js @@ -0,0 +1,13 @@ +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +module.exports = cacheHas; diff --git a/.output/server/node_modules/lodash/_castArrayLikeObject.js b/.output/server/node_modules/lodash/_castArrayLikeObject.js new file mode 100644 index 00000000..92c75fa1 --- /dev/null +++ b/.output/server/node_modules/lodash/_castArrayLikeObject.js @@ -0,0 +1,14 @@ +var isArrayLikeObject = require('./isArrayLikeObject'); + +/** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ +function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; +} + +module.exports = castArrayLikeObject; diff --git a/.output/server/node_modules/lodash/_castPath.js b/.output/server/node_modules/lodash/_castPath.js new file mode 100644 index 00000000..017e4c1b --- /dev/null +++ b/.output/server/node_modules/lodash/_castPath.js @@ -0,0 +1,21 @@ +var isArray = require('./isArray'), + isKey = require('./_isKey'), + stringToPath = require('./_stringToPath'), + toString = require('./toString'); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; diff --git a/.output/server/node_modules/lodash/_cloneArrayBuffer.js b/.output/server/node_modules/lodash/_cloneArrayBuffer.js new file mode 100644 index 00000000..c3d8f6e3 --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneArrayBuffer.js @@ -0,0 +1,16 @@ +var Uint8Array = require('./_Uint8Array'); + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +module.exports = cloneArrayBuffer; diff --git a/.output/server/node_modules/lodash/_cloneBuffer.js b/.output/server/node_modules/lodash/_cloneBuffer.js new file mode 100644 index 00000000..27c48109 --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneBuffer.js @@ -0,0 +1,35 @@ +var root = require('./_root'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +module.exports = cloneBuffer; diff --git a/.output/server/node_modules/lodash/_cloneDataView.js b/.output/server/node_modules/lodash/_cloneDataView.js new file mode 100644 index 00000000..9c9b7b05 --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneDataView.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +module.exports = cloneDataView; diff --git a/.output/server/node_modules/lodash/_cloneRegExp.js b/.output/server/node_modules/lodash/_cloneRegExp.js new file mode 100644 index 00000000..64a30dfb --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneRegExp.js @@ -0,0 +1,17 @@ +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +module.exports = cloneRegExp; diff --git a/.output/server/node_modules/lodash/_cloneSymbol.js b/.output/server/node_modules/lodash/_cloneSymbol.js new file mode 100644 index 00000000..bede39f5 --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneSymbol.js @@ -0,0 +1,18 @@ +var Symbol = require('./_Symbol'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +module.exports = cloneSymbol; diff --git a/.output/server/node_modules/lodash/_cloneTypedArray.js b/.output/server/node_modules/lodash/_cloneTypedArray.js new file mode 100644 index 00000000..7aad84d4 --- /dev/null +++ b/.output/server/node_modules/lodash/_cloneTypedArray.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +module.exports = cloneTypedArray; diff --git a/.output/server/node_modules/lodash/_copyArray.js b/.output/server/node_modules/lodash/_copyArray.js new file mode 100644 index 00000000..cd94d5d0 --- /dev/null +++ b/.output/server/node_modules/lodash/_copyArray.js @@ -0,0 +1,20 @@ +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +module.exports = copyArray; diff --git a/.output/server/node_modules/lodash/_copyObject.js b/.output/server/node_modules/lodash/_copyObject.js new file mode 100644 index 00000000..2f2a5c23 --- /dev/null +++ b/.output/server/node_modules/lodash/_copyObject.js @@ -0,0 +1,40 @@ +var assignValue = require('./_assignValue'), + baseAssignValue = require('./_baseAssignValue'); + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +module.exports = copyObject; diff --git a/.output/server/node_modules/lodash/_copySymbols.js b/.output/server/node_modules/lodash/_copySymbols.js new file mode 100644 index 00000000..c35944ab --- /dev/null +++ b/.output/server/node_modules/lodash/_copySymbols.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbols = require('./_getSymbols'); + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); +} + +module.exports = copySymbols; diff --git a/.output/server/node_modules/lodash/_copySymbolsIn.js b/.output/server/node_modules/lodash/_copySymbolsIn.js new file mode 100644 index 00000000..fdf20a73 --- /dev/null +++ b/.output/server/node_modules/lodash/_copySymbolsIn.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbolsIn = require('./_getSymbolsIn'); + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); +} + +module.exports = copySymbolsIn; diff --git a/.output/server/node_modules/lodash/_coreJsData.js b/.output/server/node_modules/lodash/_coreJsData.js new file mode 100644 index 00000000..f8e5b4e3 --- /dev/null +++ b/.output/server/node_modules/lodash/_coreJsData.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; diff --git a/.output/server/node_modules/lodash/_createAggregator.js b/.output/server/node_modules/lodash/_createAggregator.js new file mode 100644 index 00000000..0be42c41 --- /dev/null +++ b/.output/server/node_modules/lodash/_createAggregator.js @@ -0,0 +1,23 @@ +var arrayAggregator = require('./_arrayAggregator'), + baseAggregator = require('./_baseAggregator'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'); + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, baseIteratee(iteratee, 2), accumulator); + }; +} + +module.exports = createAggregator; diff --git a/.output/server/node_modules/lodash/_createBaseEach.js b/.output/server/node_modules/lodash/_createBaseEach.js new file mode 100644 index 00000000..d24fdd1b --- /dev/null +++ b/.output/server/node_modules/lodash/_createBaseEach.js @@ -0,0 +1,32 @@ +var isArrayLike = require('./isArrayLike'); + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +module.exports = createBaseEach; diff --git a/.output/server/node_modules/lodash/_createBaseFor.js b/.output/server/node_modules/lodash/_createBaseFor.js new file mode 100644 index 00000000..94cbf297 --- /dev/null +++ b/.output/server/node_modules/lodash/_createBaseFor.js @@ -0,0 +1,25 @@ +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +module.exports = createBaseFor; diff --git a/.output/server/node_modules/lodash/_createFind.js b/.output/server/node_modules/lodash/_createFind.js new file mode 100644 index 00000000..8859ff89 --- /dev/null +++ b/.output/server/node_modules/lodash/_createFind.js @@ -0,0 +1,25 @@ +var baseIteratee = require('./_baseIteratee'), + isArrayLike = require('./isArrayLike'), + keys = require('./keys'); + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +module.exports = createFind; diff --git a/.output/server/node_modules/lodash/_createSet.js b/.output/server/node_modules/lodash/_createSet.js new file mode 100644 index 00000000..0f644eea --- /dev/null +++ b/.output/server/node_modules/lodash/_createSet.js @@ -0,0 +1,19 @@ +var Set = require('./_Set'), + noop = require('./noop'), + setToArray = require('./_setToArray'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); +}; + +module.exports = createSet; diff --git a/.output/server/node_modules/lodash/_customOmitClone.js b/.output/server/node_modules/lodash/_customOmitClone.js new file mode 100644 index 00000000..968db2ef --- /dev/null +++ b/.output/server/node_modules/lodash/_customOmitClone.js @@ -0,0 +1,16 @@ +var isPlainObject = require('./isPlainObject'); + +/** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ +function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; +} + +module.exports = customOmitClone; diff --git a/.output/server/node_modules/lodash/_defineProperty.js b/.output/server/node_modules/lodash/_defineProperty.js new file mode 100644 index 00000000..b6116d92 --- /dev/null +++ b/.output/server/node_modules/lodash/_defineProperty.js @@ -0,0 +1,11 @@ +var getNative = require('./_getNative'); + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +module.exports = defineProperty; diff --git a/.output/server/node_modules/lodash/_equalArrays.js b/.output/server/node_modules/lodash/_equalArrays.js new file mode 100644 index 00000000..824228c7 --- /dev/null +++ b/.output/server/node_modules/lodash/_equalArrays.js @@ -0,0 +1,84 @@ +var SetCache = require('./_SetCache'), + arraySome = require('./_arraySome'), + cacheHas = require('./_cacheHas'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +module.exports = equalArrays; diff --git a/.output/server/node_modules/lodash/_equalByTag.js b/.output/server/node_modules/lodash/_equalByTag.js new file mode 100644 index 00000000..71919e86 --- /dev/null +++ b/.output/server/node_modules/lodash/_equalByTag.js @@ -0,0 +1,112 @@ +var Symbol = require('./_Symbol'), + Uint8Array = require('./_Uint8Array'), + eq = require('./eq'), + equalArrays = require('./_equalArrays'), + mapToArray = require('./_mapToArray'), + setToArray = require('./_setToArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +module.exports = equalByTag; diff --git a/.output/server/node_modules/lodash/_equalObjects.js b/.output/server/node_modules/lodash/_equalObjects.js new file mode 100644 index 00000000..cdaacd2d --- /dev/null +++ b/.output/server/node_modules/lodash/_equalObjects.js @@ -0,0 +1,90 @@ +var getAllKeys = require('./_getAllKeys'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +module.exports = equalObjects; diff --git a/.output/server/node_modules/lodash/_flatRest.js b/.output/server/node_modules/lodash/_flatRest.js new file mode 100644 index 00000000..94ab6cca --- /dev/null +++ b/.output/server/node_modules/lodash/_flatRest.js @@ -0,0 +1,16 @@ +var flatten = require('./flatten'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +module.exports = flatRest; diff --git a/.output/server/node_modules/lodash/_freeGlobal.js b/.output/server/node_modules/lodash/_freeGlobal.js new file mode 100644 index 00000000..bbec998f --- /dev/null +++ b/.output/server/node_modules/lodash/_freeGlobal.js @@ -0,0 +1,4 @@ +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +module.exports = freeGlobal; diff --git a/.output/server/node_modules/lodash/_getAllKeys.js b/.output/server/node_modules/lodash/_getAllKeys.js new file mode 100644 index 00000000..a9ce6995 --- /dev/null +++ b/.output/server/node_modules/lodash/_getAllKeys.js @@ -0,0 +1,16 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbols = require('./_getSymbols'), + keys = require('./keys'); + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +module.exports = getAllKeys; diff --git a/.output/server/node_modules/lodash/_getAllKeysIn.js b/.output/server/node_modules/lodash/_getAllKeysIn.js new file mode 100644 index 00000000..1b466784 --- /dev/null +++ b/.output/server/node_modules/lodash/_getAllKeysIn.js @@ -0,0 +1,17 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbolsIn = require('./_getSymbolsIn'), + keysIn = require('./keysIn'); + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); +} + +module.exports = getAllKeysIn; diff --git a/.output/server/node_modules/lodash/_getMapData.js b/.output/server/node_modules/lodash/_getMapData.js new file mode 100644 index 00000000..17f63032 --- /dev/null +++ b/.output/server/node_modules/lodash/_getMapData.js @@ -0,0 +1,18 @@ +var isKeyable = require('./_isKeyable'); + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +module.exports = getMapData; diff --git a/.output/server/node_modules/lodash/_getMatchData.js b/.output/server/node_modules/lodash/_getMatchData.js new file mode 100644 index 00000000..2cc70f91 --- /dev/null +++ b/.output/server/node_modules/lodash/_getMatchData.js @@ -0,0 +1,24 @@ +var isStrictComparable = require('./_isStrictComparable'), + keys = require('./keys'); + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +module.exports = getMatchData; diff --git a/.output/server/node_modules/lodash/_getNative.js b/.output/server/node_modules/lodash/_getNative.js new file mode 100644 index 00000000..97a622b8 --- /dev/null +++ b/.output/server/node_modules/lodash/_getNative.js @@ -0,0 +1,17 @@ +var baseIsNative = require('./_baseIsNative'), + getValue = require('./_getValue'); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +module.exports = getNative; diff --git a/.output/server/node_modules/lodash/_getPrototype.js b/.output/server/node_modules/lodash/_getPrototype.js new file mode 100644 index 00000000..e8086121 --- /dev/null +++ b/.output/server/node_modules/lodash/_getPrototype.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +module.exports = getPrototype; diff --git a/.output/server/node_modules/lodash/_getRawTag.js b/.output/server/node_modules/lodash/_getRawTag.js new file mode 100644 index 00000000..49a95c9c --- /dev/null +++ b/.output/server/node_modules/lodash/_getRawTag.js @@ -0,0 +1,46 @@ +var Symbol = require('./_Symbol'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; diff --git a/.output/server/node_modules/lodash/_getSymbols.js b/.output/server/node_modules/lodash/_getSymbols.js new file mode 100644 index 00000000..7d6eafeb --- /dev/null +++ b/.output/server/node_modules/lodash/_getSymbols.js @@ -0,0 +1,30 @@ +var arrayFilter = require('./_arrayFilter'), + stubArray = require('./stubArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +module.exports = getSymbols; diff --git a/.output/server/node_modules/lodash/_getSymbolsIn.js b/.output/server/node_modules/lodash/_getSymbolsIn.js new file mode 100644 index 00000000..cec0855a --- /dev/null +++ b/.output/server/node_modules/lodash/_getSymbolsIn.js @@ -0,0 +1,25 @@ +var arrayPush = require('./_arrayPush'), + getPrototype = require('./_getPrototype'), + getSymbols = require('./_getSymbols'), + stubArray = require('./stubArray'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; +}; + +module.exports = getSymbolsIn; diff --git a/.output/server/node_modules/lodash/_getTag.js b/.output/server/node_modules/lodash/_getTag.js new file mode 100644 index 00000000..deaf89d5 --- /dev/null +++ b/.output/server/node_modules/lodash/_getTag.js @@ -0,0 +1,58 @@ +var DataView = require('./_DataView'), + Map = require('./_Map'), + Promise = require('./_Promise'), + Set = require('./_Set'), + WeakMap = require('./_WeakMap'), + baseGetTag = require('./_baseGetTag'), + toSource = require('./_toSource'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + +var dataViewTag = '[object DataView]'; + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +module.exports = getTag; diff --git a/.output/server/node_modules/lodash/_getValue.js b/.output/server/node_modules/lodash/_getValue.js new file mode 100644 index 00000000..5f7d7736 --- /dev/null +++ b/.output/server/node_modules/lodash/_getValue.js @@ -0,0 +1,13 @@ +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; diff --git a/.output/server/node_modules/lodash/_hasPath.js b/.output/server/node_modules/lodash/_hasPath.js new file mode 100644 index 00000000..93dbde15 --- /dev/null +++ b/.output/server/node_modules/lodash/_hasPath.js @@ -0,0 +1,39 @@ +var castPath = require('./_castPath'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isIndex = require('./_isIndex'), + isLength = require('./isLength'), + toKey = require('./_toKey'); + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +module.exports = hasPath; diff --git a/.output/server/node_modules/lodash/_hashClear.js b/.output/server/node_modules/lodash/_hashClear.js new file mode 100644 index 00000000..5d4b70cc --- /dev/null +++ b/.output/server/node_modules/lodash/_hashClear.js @@ -0,0 +1,15 @@ +var nativeCreate = require('./_nativeCreate'); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; diff --git a/.output/server/node_modules/lodash/_hashDelete.js b/.output/server/node_modules/lodash/_hashDelete.js new file mode 100644 index 00000000..ea9dabf1 --- /dev/null +++ b/.output/server/node_modules/lodash/_hashDelete.js @@ -0,0 +1,17 @@ +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; diff --git a/.output/server/node_modules/lodash/_hashGet.js b/.output/server/node_modules/lodash/_hashGet.js new file mode 100644 index 00000000..1fc2f34b --- /dev/null +++ b/.output/server/node_modules/lodash/_hashGet.js @@ -0,0 +1,30 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; diff --git a/.output/server/node_modules/lodash/_hashHas.js b/.output/server/node_modules/lodash/_hashHas.js new file mode 100644 index 00000000..281a5517 --- /dev/null +++ b/.output/server/node_modules/lodash/_hashHas.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; diff --git a/.output/server/node_modules/lodash/_hashSet.js b/.output/server/node_modules/lodash/_hashSet.js new file mode 100644 index 00000000..e1055283 --- /dev/null +++ b/.output/server/node_modules/lodash/_hashSet.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; diff --git a/.output/server/node_modules/lodash/_initCloneArray.js b/.output/server/node_modules/lodash/_initCloneArray.js new file mode 100644 index 00000000..078c15af --- /dev/null +++ b/.output/server/node_modules/lodash/_initCloneArray.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +module.exports = initCloneArray; diff --git a/.output/server/node_modules/lodash/_initCloneByTag.js b/.output/server/node_modules/lodash/_initCloneByTag.js new file mode 100644 index 00000000..f69a008c --- /dev/null +++ b/.output/server/node_modules/lodash/_initCloneByTag.js @@ -0,0 +1,77 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'), + cloneDataView = require('./_cloneDataView'), + cloneRegExp = require('./_cloneRegExp'), + cloneSymbol = require('./_cloneSymbol'), + cloneTypedArray = require('./_cloneTypedArray'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } +} + +module.exports = initCloneByTag; diff --git a/.output/server/node_modules/lodash/_initCloneObject.js b/.output/server/node_modules/lodash/_initCloneObject.js new file mode 100644 index 00000000..5a13e64a --- /dev/null +++ b/.output/server/node_modules/lodash/_initCloneObject.js @@ -0,0 +1,18 @@ +var baseCreate = require('./_baseCreate'), + getPrototype = require('./_getPrototype'), + isPrototype = require('./_isPrototype'); + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +module.exports = initCloneObject; diff --git a/.output/server/node_modules/lodash/_isFlattenable.js b/.output/server/node_modules/lodash/_isFlattenable.js new file mode 100644 index 00000000..4cc2c249 --- /dev/null +++ b/.output/server/node_modules/lodash/_isFlattenable.js @@ -0,0 +1,20 @@ +var Symbol = require('./_Symbol'), + isArguments = require('./isArguments'), + isArray = require('./isArray'); + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +module.exports = isFlattenable; diff --git a/.output/server/node_modules/lodash/_isIndex.js b/.output/server/node_modules/lodash/_isIndex.js new file mode 100644 index 00000000..061cd390 --- /dev/null +++ b/.output/server/node_modules/lodash/_isIndex.js @@ -0,0 +1,25 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +module.exports = isIndex; diff --git a/.output/server/node_modules/lodash/_isKey.js b/.output/server/node_modules/lodash/_isKey.js new file mode 100644 index 00000000..ff08b068 --- /dev/null +++ b/.output/server/node_modules/lodash/_isKey.js @@ -0,0 +1,29 @@ +var isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; diff --git a/.output/server/node_modules/lodash/_isKeyable.js b/.output/server/node_modules/lodash/_isKeyable.js new file mode 100644 index 00000000..39f1828d --- /dev/null +++ b/.output/server/node_modules/lodash/_isKeyable.js @@ -0,0 +1,15 @@ +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; diff --git a/.output/server/node_modules/lodash/_isMasked.js b/.output/server/node_modules/lodash/_isMasked.js new file mode 100644 index 00000000..4b0f21ba --- /dev/null +++ b/.output/server/node_modules/lodash/_isMasked.js @@ -0,0 +1,20 @@ +var coreJsData = require('./_coreJsData'); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; diff --git a/.output/server/node_modules/lodash/_isPrototype.js b/.output/server/node_modules/lodash/_isPrototype.js new file mode 100644 index 00000000..0f29498d --- /dev/null +++ b/.output/server/node_modules/lodash/_isPrototype.js @@ -0,0 +1,18 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +module.exports = isPrototype; diff --git a/.output/server/node_modules/lodash/_isStrictComparable.js b/.output/server/node_modules/lodash/_isStrictComparable.js new file mode 100644 index 00000000..b59f40b8 --- /dev/null +++ b/.output/server/node_modules/lodash/_isStrictComparable.js @@ -0,0 +1,15 @@ +var isObject = require('./isObject'); + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +module.exports = isStrictComparable; diff --git a/.output/server/node_modules/lodash/_listCacheClear.js b/.output/server/node_modules/lodash/_listCacheClear.js new file mode 100644 index 00000000..acbe39a5 --- /dev/null +++ b/.output/server/node_modules/lodash/_listCacheClear.js @@ -0,0 +1,13 @@ +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; diff --git a/.output/server/node_modules/lodash/_listCacheDelete.js b/.output/server/node_modules/lodash/_listCacheDelete.js new file mode 100644 index 00000000..b1384ade --- /dev/null +++ b/.output/server/node_modules/lodash/_listCacheDelete.js @@ -0,0 +1,35 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; diff --git a/.output/server/node_modules/lodash/_listCacheGet.js b/.output/server/node_modules/lodash/_listCacheGet.js new file mode 100644 index 00000000..f8192fc3 --- /dev/null +++ b/.output/server/node_modules/lodash/_listCacheGet.js @@ -0,0 +1,19 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; diff --git a/.output/server/node_modules/lodash/_listCacheHas.js b/.output/server/node_modules/lodash/_listCacheHas.js new file mode 100644 index 00000000..2adf6714 --- /dev/null +++ b/.output/server/node_modules/lodash/_listCacheHas.js @@ -0,0 +1,16 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; diff --git a/.output/server/node_modules/lodash/_listCacheSet.js b/.output/server/node_modules/lodash/_listCacheSet.js new file mode 100644 index 00000000..5855c95e --- /dev/null +++ b/.output/server/node_modules/lodash/_listCacheSet.js @@ -0,0 +1,26 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; diff --git a/.output/server/node_modules/lodash/_mapCacheClear.js b/.output/server/node_modules/lodash/_mapCacheClear.js new file mode 100644 index 00000000..bc9ca204 --- /dev/null +++ b/.output/server/node_modules/lodash/_mapCacheClear.js @@ -0,0 +1,21 @@ +var Hash = require('./_Hash'), + ListCache = require('./_ListCache'), + Map = require('./_Map'); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; diff --git a/.output/server/node_modules/lodash/_mapCacheDelete.js b/.output/server/node_modules/lodash/_mapCacheDelete.js new file mode 100644 index 00000000..946ca3c9 --- /dev/null +++ b/.output/server/node_modules/lodash/_mapCacheDelete.js @@ -0,0 +1,18 @@ +var getMapData = require('./_getMapData'); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; diff --git a/.output/server/node_modules/lodash/_mapCacheGet.js b/.output/server/node_modules/lodash/_mapCacheGet.js new file mode 100644 index 00000000..f29f55cf --- /dev/null +++ b/.output/server/node_modules/lodash/_mapCacheGet.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; diff --git a/.output/server/node_modules/lodash/_mapCacheHas.js b/.output/server/node_modules/lodash/_mapCacheHas.js new file mode 100644 index 00000000..a1214c02 --- /dev/null +++ b/.output/server/node_modules/lodash/_mapCacheHas.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; diff --git a/.output/server/node_modules/lodash/_mapCacheSet.js b/.output/server/node_modules/lodash/_mapCacheSet.js new file mode 100644 index 00000000..73468492 --- /dev/null +++ b/.output/server/node_modules/lodash/_mapCacheSet.js @@ -0,0 +1,22 @@ +var getMapData = require('./_getMapData'); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; diff --git a/.output/server/node_modules/lodash/_mapToArray.js b/.output/server/node_modules/lodash/_mapToArray.js new file mode 100644 index 00000000..fe3dd531 --- /dev/null +++ b/.output/server/node_modules/lodash/_mapToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +module.exports = mapToArray; diff --git a/.output/server/node_modules/lodash/_matchesStrictComparable.js b/.output/server/node_modules/lodash/_matchesStrictComparable.js new file mode 100644 index 00000000..f608af9e --- /dev/null +++ b/.output/server/node_modules/lodash/_matchesStrictComparable.js @@ -0,0 +1,20 @@ +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +module.exports = matchesStrictComparable; diff --git a/.output/server/node_modules/lodash/_memoizeCapped.js b/.output/server/node_modules/lodash/_memoizeCapped.js new file mode 100644 index 00000000..7f71c8fb --- /dev/null +++ b/.output/server/node_modules/lodash/_memoizeCapped.js @@ -0,0 +1,26 @@ +var memoize = require('./memoize'); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; diff --git a/.output/server/node_modules/lodash/_nativeCreate.js b/.output/server/node_modules/lodash/_nativeCreate.js new file mode 100644 index 00000000..c7aede85 --- /dev/null +++ b/.output/server/node_modules/lodash/_nativeCreate.js @@ -0,0 +1,6 @@ +var getNative = require('./_getNative'); + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +module.exports = nativeCreate; diff --git a/.output/server/node_modules/lodash/_nativeKeys.js b/.output/server/node_modules/lodash/_nativeKeys.js new file mode 100644 index 00000000..479a104a --- /dev/null +++ b/.output/server/node_modules/lodash/_nativeKeys.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +module.exports = nativeKeys; diff --git a/.output/server/node_modules/lodash/_nativeKeysIn.js b/.output/server/node_modules/lodash/_nativeKeysIn.js new file mode 100644 index 00000000..00ee5059 --- /dev/null +++ b/.output/server/node_modules/lodash/_nativeKeysIn.js @@ -0,0 +1,20 @@ +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +module.exports = nativeKeysIn; diff --git a/.output/server/node_modules/lodash/_nodeUtil.js b/.output/server/node_modules/lodash/_nodeUtil.js new file mode 100644 index 00000000..983d78f7 --- /dev/null +++ b/.output/server/node_modules/lodash/_nodeUtil.js @@ -0,0 +1,30 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +module.exports = nodeUtil; diff --git a/.output/server/node_modules/lodash/_objectToString.js b/.output/server/node_modules/lodash/_objectToString.js new file mode 100644 index 00000000..c614ec09 --- /dev/null +++ b/.output/server/node_modules/lodash/_objectToString.js @@ -0,0 +1,22 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; diff --git a/.output/server/node_modules/lodash/_overArg.js b/.output/server/node_modules/lodash/_overArg.js new file mode 100644 index 00000000..651c5c55 --- /dev/null +++ b/.output/server/node_modules/lodash/_overArg.js @@ -0,0 +1,15 @@ +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +module.exports = overArg; diff --git a/.output/server/node_modules/lodash/_overRest.js b/.output/server/node_modules/lodash/_overRest.js new file mode 100644 index 00000000..c7cdef33 --- /dev/null +++ b/.output/server/node_modules/lodash/_overRest.js @@ -0,0 +1,36 @@ +var apply = require('./_apply'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +module.exports = overRest; diff --git a/.output/server/node_modules/lodash/_parent.js b/.output/server/node_modules/lodash/_parent.js new file mode 100644 index 00000000..f174328f --- /dev/null +++ b/.output/server/node_modules/lodash/_parent.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'), + baseSlice = require('./_baseSlice'); + +/** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ +function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); +} + +module.exports = parent; diff --git a/.output/server/node_modules/lodash/_root.js b/.output/server/node_modules/lodash/_root.js new file mode 100644 index 00000000..d2852bed --- /dev/null +++ b/.output/server/node_modules/lodash/_root.js @@ -0,0 +1,9 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +module.exports = root; diff --git a/.output/server/node_modules/lodash/_setCacheAdd.js b/.output/server/node_modules/lodash/_setCacheAdd.js new file mode 100644 index 00000000..1081a744 --- /dev/null +++ b/.output/server/node_modules/lodash/_setCacheAdd.js @@ -0,0 +1,19 @@ +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +module.exports = setCacheAdd; diff --git a/.output/server/node_modules/lodash/_setCacheHas.js b/.output/server/node_modules/lodash/_setCacheHas.js new file mode 100644 index 00000000..9a492556 --- /dev/null +++ b/.output/server/node_modules/lodash/_setCacheHas.js @@ -0,0 +1,14 @@ +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +module.exports = setCacheHas; diff --git a/.output/server/node_modules/lodash/_setToArray.js b/.output/server/node_modules/lodash/_setToArray.js new file mode 100644 index 00000000..b87f0741 --- /dev/null +++ b/.output/server/node_modules/lodash/_setToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +module.exports = setToArray; diff --git a/.output/server/node_modules/lodash/_setToString.js b/.output/server/node_modules/lodash/_setToString.js new file mode 100644 index 00000000..6ca84196 --- /dev/null +++ b/.output/server/node_modules/lodash/_setToString.js @@ -0,0 +1,14 @@ +var baseSetToString = require('./_baseSetToString'), + shortOut = require('./_shortOut'); + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +module.exports = setToString; diff --git a/.output/server/node_modules/lodash/_shortOut.js b/.output/server/node_modules/lodash/_shortOut.js new file mode 100644 index 00000000..3300a079 --- /dev/null +++ b/.output/server/node_modules/lodash/_shortOut.js @@ -0,0 +1,37 @@ +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +module.exports = shortOut; diff --git a/.output/server/node_modules/lodash/_stackClear.js b/.output/server/node_modules/lodash/_stackClear.js new file mode 100644 index 00000000..ce8e5a92 --- /dev/null +++ b/.output/server/node_modules/lodash/_stackClear.js @@ -0,0 +1,15 @@ +var ListCache = require('./_ListCache'); + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +module.exports = stackClear; diff --git a/.output/server/node_modules/lodash/_stackDelete.js b/.output/server/node_modules/lodash/_stackDelete.js new file mode 100644 index 00000000..ff9887ab --- /dev/null +++ b/.output/server/node_modules/lodash/_stackDelete.js @@ -0,0 +1,18 @@ +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +module.exports = stackDelete; diff --git a/.output/server/node_modules/lodash/_stackGet.js b/.output/server/node_modules/lodash/_stackGet.js new file mode 100644 index 00000000..1cdf0040 --- /dev/null +++ b/.output/server/node_modules/lodash/_stackGet.js @@ -0,0 +1,14 @@ +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +module.exports = stackGet; diff --git a/.output/server/node_modules/lodash/_stackHas.js b/.output/server/node_modules/lodash/_stackHas.js new file mode 100644 index 00000000..16a3ad11 --- /dev/null +++ b/.output/server/node_modules/lodash/_stackHas.js @@ -0,0 +1,14 @@ +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +module.exports = stackHas; diff --git a/.output/server/node_modules/lodash/_stackSet.js b/.output/server/node_modules/lodash/_stackSet.js new file mode 100644 index 00000000..b790ac5f --- /dev/null +++ b/.output/server/node_modules/lodash/_stackSet.js @@ -0,0 +1,34 @@ +var ListCache = require('./_ListCache'), + Map = require('./_Map'), + MapCache = require('./_MapCache'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +module.exports = stackSet; diff --git a/.output/server/node_modules/lodash/_strictIndexOf.js b/.output/server/node_modules/lodash/_strictIndexOf.js new file mode 100644 index 00000000..0486a495 --- /dev/null +++ b/.output/server/node_modules/lodash/_strictIndexOf.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +module.exports = strictIndexOf; diff --git a/.output/server/node_modules/lodash/_stringToPath.js b/.output/server/node_modules/lodash/_stringToPath.js new file mode 100644 index 00000000..8f39f8a2 --- /dev/null +++ b/.output/server/node_modules/lodash/_stringToPath.js @@ -0,0 +1,27 @@ +var memoizeCapped = require('./_memoizeCapped'); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; diff --git a/.output/server/node_modules/lodash/_toKey.js b/.output/server/node_modules/lodash/_toKey.js new file mode 100644 index 00000000..c6d645c4 --- /dev/null +++ b/.output/server/node_modules/lodash/_toKey.js @@ -0,0 +1,21 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = toKey; diff --git a/.output/server/node_modules/lodash/_toSource.js b/.output/server/node_modules/lodash/_toSource.js new file mode 100644 index 00000000..a020b386 --- /dev/null +++ b/.output/server/node_modules/lodash/_toSource.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; diff --git a/.output/server/node_modules/lodash/_trimmedEndIndex.js b/.output/server/node_modules/lodash/_trimmedEndIndex.js new file mode 100644 index 00000000..139439ad --- /dev/null +++ b/.output/server/node_modules/lodash/_trimmedEndIndex.js @@ -0,0 +1,19 @@ +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +module.exports = trimmedEndIndex; diff --git a/.output/server/node_modules/lodash/cloneDeep.js b/.output/server/node_modules/lodash/cloneDeep.js new file mode 100644 index 00000000..4425fbe8 --- /dev/null +++ b/.output/server/node_modules/lodash/cloneDeep.js @@ -0,0 +1,29 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +module.exports = cloneDeep; diff --git a/.output/server/node_modules/lodash/constant.js b/.output/server/node_modules/lodash/constant.js new file mode 100644 index 00000000..655ece3f --- /dev/null +++ b/.output/server/node_modules/lodash/constant.js @@ -0,0 +1,26 @@ +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; diff --git a/.output/server/node_modules/lodash/debounce.js b/.output/server/node_modules/lodash/debounce.js new file mode 100644 index 00000000..8f751d53 --- /dev/null +++ b/.output/server/node_modules/lodash/debounce.js @@ -0,0 +1,191 @@ +var isObject = require('./isObject'), + now = require('./now'), + toNumber = require('./toNumber'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ +function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} + +module.exports = debounce; diff --git a/.output/server/node_modules/lodash/eq.js b/.output/server/node_modules/lodash/eq.js new file mode 100644 index 00000000..a9406880 --- /dev/null +++ b/.output/server/node_modules/lodash/eq.js @@ -0,0 +1,37 @@ +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; diff --git a/.output/server/node_modules/lodash/find.js b/.output/server/node_modules/lodash/find.js new file mode 100644 index 00000000..de732ccb --- /dev/null +++ b/.output/server/node_modules/lodash/find.js @@ -0,0 +1,42 @@ +var createFind = require('./_createFind'), + findIndex = require('./findIndex'); + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +module.exports = find; diff --git a/.output/server/node_modules/lodash/findIndex.js b/.output/server/node_modules/lodash/findIndex.js new file mode 100644 index 00000000..4689069f --- /dev/null +++ b/.output/server/node_modules/lodash/findIndex.js @@ -0,0 +1,55 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIteratee = require('./_baseIteratee'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +module.exports = findIndex; diff --git a/.output/server/node_modules/lodash/flatten.js b/.output/server/node_modules/lodash/flatten.js new file mode 100644 index 00000000..3f09f7f7 --- /dev/null +++ b/.output/server/node_modules/lodash/flatten.js @@ -0,0 +1,22 @@ +var baseFlatten = require('./_baseFlatten'); + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +module.exports = flatten; diff --git a/.output/server/node_modules/lodash/fromPairs.js b/.output/server/node_modules/lodash/fromPairs.js new file mode 100644 index 00000000..ee7940d2 --- /dev/null +++ b/.output/server/node_modules/lodash/fromPairs.js @@ -0,0 +1,28 @@ +/** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ +function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; +} + +module.exports = fromPairs; diff --git a/.output/server/node_modules/lodash/get.js b/.output/server/node_modules/lodash/get.js new file mode 100644 index 00000000..8805ff92 --- /dev/null +++ b/.output/server/node_modules/lodash/get.js @@ -0,0 +1,33 @@ +var baseGet = require('./_baseGet'); + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; diff --git a/.output/server/node_modules/lodash/hasIn.js b/.output/server/node_modules/lodash/hasIn.js new file mode 100644 index 00000000..06a36865 --- /dev/null +++ b/.output/server/node_modules/lodash/hasIn.js @@ -0,0 +1,34 @@ +var baseHasIn = require('./_baseHasIn'), + hasPath = require('./_hasPath'); + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +module.exports = hasIn; diff --git a/.output/server/node_modules/lodash/identity.js b/.output/server/node_modules/lodash/identity.js new file mode 100644 index 00000000..2d5d963c --- /dev/null +++ b/.output/server/node_modules/lodash/identity.js @@ -0,0 +1,21 @@ +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +module.exports = identity; diff --git a/.output/server/node_modules/lodash/intersection.js b/.output/server/node_modules/lodash/intersection.js new file mode 100644 index 00000000..a94c1351 --- /dev/null +++ b/.output/server/node_modules/lodash/intersection.js @@ -0,0 +1,30 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'); + +/** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ +var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; +}); + +module.exports = intersection; diff --git a/.output/server/node_modules/lodash/isArguments.js b/.output/server/node_modules/lodash/isArguments.js new file mode 100644 index 00000000..8b9ed66c --- /dev/null +++ b/.output/server/node_modules/lodash/isArguments.js @@ -0,0 +1,36 @@ +var baseIsArguments = require('./_baseIsArguments'), + isObjectLike = require('./isObjectLike'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +module.exports = isArguments; diff --git a/.output/server/node_modules/lodash/isArray.js b/.output/server/node_modules/lodash/isArray.js new file mode 100644 index 00000000..88ab55fd --- /dev/null +++ b/.output/server/node_modules/lodash/isArray.js @@ -0,0 +1,26 @@ +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; diff --git a/.output/server/node_modules/lodash/isArrayLike.js b/.output/server/node_modules/lodash/isArrayLike.js new file mode 100644 index 00000000..0f966805 --- /dev/null +++ b/.output/server/node_modules/lodash/isArrayLike.js @@ -0,0 +1,33 @@ +var isFunction = require('./isFunction'), + isLength = require('./isLength'); + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +module.exports = isArrayLike; diff --git a/.output/server/node_modules/lodash/isArrayLikeObject.js b/.output/server/node_modules/lodash/isArrayLikeObject.js new file mode 100644 index 00000000..6c4812a8 --- /dev/null +++ b/.output/server/node_modules/lodash/isArrayLikeObject.js @@ -0,0 +1,33 @@ +var isArrayLike = require('./isArrayLike'), + isObjectLike = require('./isObjectLike'); + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +module.exports = isArrayLikeObject; diff --git a/.output/server/node_modules/lodash/isBuffer.js b/.output/server/node_modules/lodash/isBuffer.js new file mode 100644 index 00000000..c103cc74 --- /dev/null +++ b/.output/server/node_modules/lodash/isBuffer.js @@ -0,0 +1,38 @@ +var root = require('./_root'), + stubFalse = require('./stubFalse'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +module.exports = isBuffer; diff --git a/.output/server/node_modules/lodash/isEqual.js b/.output/server/node_modules/lodash/isEqual.js new file mode 100644 index 00000000..5e23e76c --- /dev/null +++ b/.output/server/node_modules/lodash/isEqual.js @@ -0,0 +1,35 @@ +var baseIsEqual = require('./_baseIsEqual'); + +/** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ +function isEqual(value, other) { + return baseIsEqual(value, other); +} + +module.exports = isEqual; diff --git a/.output/server/node_modules/lodash/isFunction.js b/.output/server/node_modules/lodash/isFunction.js new file mode 100644 index 00000000..907a8cd8 --- /dev/null +++ b/.output/server/node_modules/lodash/isFunction.js @@ -0,0 +1,37 @@ +var baseGetTag = require('./_baseGetTag'), + isObject = require('./isObject'); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; diff --git a/.output/server/node_modules/lodash/isLength.js b/.output/server/node_modules/lodash/isLength.js new file mode 100644 index 00000000..3a95caa9 --- /dev/null +++ b/.output/server/node_modules/lodash/isLength.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; diff --git a/.output/server/node_modules/lodash/isMap.js b/.output/server/node_modules/lodash/isMap.js new file mode 100644 index 00000000..44f8517e --- /dev/null +++ b/.output/server/node_modules/lodash/isMap.js @@ -0,0 +1,27 @@ +var baseIsMap = require('./_baseIsMap'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsMap = nodeUtil && nodeUtil.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + +module.exports = isMap; diff --git a/.output/server/node_modules/lodash/isNumber.js b/.output/server/node_modules/lodash/isNumber.js new file mode 100644 index 00000000..cd34ee46 --- /dev/null +++ b/.output/server/node_modules/lodash/isNumber.js @@ -0,0 +1,38 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var numberTag = '[object Number]'; + +/** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ +function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); +} + +module.exports = isNumber; diff --git a/.output/server/node_modules/lodash/isObject.js b/.output/server/node_modules/lodash/isObject.js new file mode 100644 index 00000000..1dc89391 --- /dev/null +++ b/.output/server/node_modules/lodash/isObject.js @@ -0,0 +1,31 @@ +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; diff --git a/.output/server/node_modules/lodash/isObjectLike.js b/.output/server/node_modules/lodash/isObjectLike.js new file mode 100644 index 00000000..301716b5 --- /dev/null +++ b/.output/server/node_modules/lodash/isObjectLike.js @@ -0,0 +1,29 @@ +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; diff --git a/.output/server/node_modules/lodash/isPlainObject.js b/.output/server/node_modules/lodash/isPlainObject.js new file mode 100644 index 00000000..23873731 --- /dev/null +++ b/.output/server/node_modules/lodash/isPlainObject.js @@ -0,0 +1,62 @@ +var baseGetTag = require('./_baseGetTag'), + getPrototype = require('./_getPrototype'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +module.exports = isPlainObject; diff --git a/.output/server/node_modules/lodash/isSet.js b/.output/server/node_modules/lodash/isSet.js new file mode 100644 index 00000000..ab88bdf8 --- /dev/null +++ b/.output/server/node_modules/lodash/isSet.js @@ -0,0 +1,27 @@ +var baseIsSet = require('./_baseIsSet'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsSet = nodeUtil && nodeUtil.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + +module.exports = isSet; diff --git a/.output/server/node_modules/lodash/isSymbol.js b/.output/server/node_modules/lodash/isSymbol.js new file mode 100644 index 00000000..dfb60b97 --- /dev/null +++ b/.output/server/node_modules/lodash/isSymbol.js @@ -0,0 +1,29 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; diff --git a/.output/server/node_modules/lodash/isTypedArray.js b/.output/server/node_modules/lodash/isTypedArray.js new file mode 100644 index 00000000..da3f8dd1 --- /dev/null +++ b/.output/server/node_modules/lodash/isTypedArray.js @@ -0,0 +1,27 @@ +var baseIsTypedArray = require('./_baseIsTypedArray'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +module.exports = isTypedArray; diff --git a/.output/server/node_modules/lodash/keys.js b/.output/server/node_modules/lodash/keys.js new file mode 100644 index 00000000..d143c718 --- /dev/null +++ b/.output/server/node_modules/lodash/keys.js @@ -0,0 +1,37 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeys = require('./_baseKeys'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +module.exports = keys; diff --git a/.output/server/node_modules/lodash/keysIn.js b/.output/server/node_modules/lodash/keysIn.js new file mode 100644 index 00000000..a62308f2 --- /dev/null +++ b/.output/server/node_modules/lodash/keysIn.js @@ -0,0 +1,32 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeysIn = require('./_baseKeysIn'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +module.exports = keysIn; diff --git a/.output/server/node_modules/lodash/last.js b/.output/server/node_modules/lodash/last.js new file mode 100644 index 00000000..cad1eafa --- /dev/null +++ b/.output/server/node_modules/lodash/last.js @@ -0,0 +1,20 @@ +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +module.exports = last; diff --git a/.output/server/node_modules/lodash/lodash.js b/.output/server/node_modules/lodash/lodash.js new file mode 100644 index 00000000..4131e936 --- /dev/null +++ b/.output/server/node_modules/lodash/lodash.js @@ -0,0 +1,17209 @@ +/** + * @license + * Lodash <https://lodash.com/> + * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '<p>' + func(text) + '</p>'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '<p>fred, barney, & pebbles</p>' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement('<body>'); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<b><%- value %></b>'); + * compiled({ 'value': '<script>' }); + * // => '<b><script></b>' + * + * // Use the "evaluate" delimiter to execute JavaScript and generate HTML. + * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the internal `print` function in "evaluate" delimiters. + * var compiled = _.template('<% print("hello " + user); %>!'); + * compiled({ 'user': 'barney' }); + * // => 'hello barney!' + * + * // Use the ES template literal delimiter as an "interpolate" delimiter. + * // Disable support by replacing the "interpolate" delimiter. + * var compiled = _.template('hello ${ user }!'); + * compiled({ 'user': 'pebbles' }); + * // => 'hello pebbles!' + * + * // Use backslashes to treat delimiters as plain text. + * var compiled = _.template('<%= "\\<%- value %\\>" %>'); + * compiled({ 'value': 'ignored' }); + * // => '<%- value %>' + * + * // Use the `imports` option to import `jQuery` as `jq`. + * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>'; + * var compiled = _.template(text, { 'imports': { 'jq': jQuery } }); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the `sourceURL` option to specify a custom sourceURL for the template. + * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' }); + * compiled(data); + * // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector. + * + * // Use the `variable` option to ensure a with-statement isn't used in the compiled template. + * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' }); + * compiled.source; + * // => function(data) { + * // var __t, __p = ''; + * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!'; + * // return __p; + * // } + * + * // Use custom template delimiters. + * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; + * var compiled = _.template('hello {{ user }}!'); + * compiled({ 'user': 'mustache' }); + * // => 'hello mustache!' + * + * // Use the `source` property to inline compiled templates for meaningful + * // line numbers in error messages and stack traces. + * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ + * var JST = {\ + * "main": ' + _.template(mainText).source + '\ + * };\ + * '); + */ + function template(string, options, guard) { + // Based on John Resig's `tmpl` implementation + // (http://ejohn.org/blog/javascript-micro-templating/) + // and Laura Doktorova's doT.js (https://github.com/olado/doT). + var settings = lodash.templateSettings; + + if (guard && isIterateeCall(string, options, guard)) { + options = undefined; + } + string = toString(string); + options = assignInWith({}, options, settings, customDefaultsAssignIn); + + var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), + importsKeys = keys(imports), + importsValues = baseValues(imports, importsKeys); + + var isEscaping, + isEvaluating, + index = 0, + interpolate = options.interpolate || reNoMatch, + source = "__p += '"; + + // Compile the regexp to match each delimiter. + var reDelimiters = RegExp( + (options.escape || reNoMatch).source + '|' + + interpolate.source + '|' + + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + + (options.evaluate || reNoMatch).source + '|$' + , 'g'); + + // Use a sourceURL for easier debugging. + // The sourceURL gets injected into the source that's eval-ed, so be careful + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. + var sourceURL = '//# sourceURL=' + + (hasOwnProperty.call(options, 'sourceURL') + ? (options.sourceURL + '').replace(/\s/g, ' ') + : ('lodash.templateSources[' + (++templateCounter) + ']') + ) + '\n'; + + string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { + interpolateValue || (interpolateValue = esTemplateValue); + + // Escape characters that can't be included in string literals. + source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); + + // Replace delimiters with snippets. + if (escapeValue) { + isEscaping = true; + source += "' +\n__e(" + escapeValue + ") +\n'"; + } + if (evaluateValue) { + isEvaluating = true; + source += "';\n" + evaluateValue + ";\n__p += '"; + } + if (interpolateValue) { + source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; + } + index = offset + match.length; + + // The JS engine embedded in Adobe products needs `match` returned in + // order to produce the correct `offset` value. + return match; + }); + + source += "';\n"; + + // If `variable` is not specified wrap a with-statement around the generated + // code to add the data object to the top of the scope chain. + var variable = hasOwnProperty.call(options, 'variable') && options.variable; + if (!variable) { + source = 'with (obj) {\n' + source + '\n}\n'; + } + // Throw an error if a forbidden character was found in `variable`, to prevent + // potential command injection attacks. + else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); + } + + // Cleanup code by stripping empty strings. + source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) + .replace(reEmptyStringMiddle, '$1') + .replace(reEmptyStringTrailing, '$1;'); + + // Frame code as the function body. + source = 'function(' + (variable || 'obj') + ') {\n' + + (variable + ? '' + : 'obj || (obj = {});\n' + ) + + "var __t, __p = ''" + + (isEscaping + ? ', __e = _.escape' + : '' + ) + + (isEvaluating + ? ', __j = Array.prototype.join;\n' + + "function print() { __p += __j.call(arguments, '') }\n" + : ';\n' + ) + + source + + 'return __p\n}'; + + var result = attempt(function() { + return Function(importsKeys, sourceURL + 'return ' + source) + .apply(undefined, importsValues); + }); + + // Provide the compiled function's source by its `toString` method or + // the `source` property as a convenience for inlining compiled templates. + result.source = source; + if (isError(result)) { + throw result; + } + return result; + } + + /** + * Converts `string`, as a whole, to lower case just like + * [String#toLowerCase](https://mdn.io/toLowerCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.toLower('--Foo-Bar--'); + * // => '--foo-bar--' + * + * _.toLower('fooBar'); + * // => 'foobar' + * + * _.toLower('__FOO_BAR__'); + * // => '__foo_bar__' + */ + function toLower(value) { + return toString(value).toLowerCase(); + } + + /** + * Converts `string`, as a whole, to upper case just like + * [String#toUpperCase](https://mdn.io/toUpperCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.toUpper('--foo-bar--'); + * // => '--FOO-BAR--' + * + * _.toUpper('fooBar'); + * // => 'FOOBAR' + * + * _.toUpper('__foo_bar__'); + * // => '__FOO_BAR__' + */ + function toUpper(value) { + return toString(value).toUpperCase(); + } + + /** + * Removes leading and trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trim(' abc '); + * // => 'abc' + * + * _.trim('-_-abc-_-', '_-'); + * // => 'abc' + * + * _.map([' foo ', ' bar '], _.trim); + * // => ['foo', 'bar'] + */ + function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return baseTrim(string); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; + + return castSlice(strSymbols, start, end).join(''); + } + + /** + * Removes trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimEnd(' abc '); + * // => ' abc' + * + * _.trimEnd('-_-abc-_-', '_-'); + * // => '-_-abc' + */ + function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); + } + + /** + * Removes leading whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimStart(' abc '); + * // => 'abc ' + * + * _.trimStart('-_-abc-_-', '_-'); + * // => 'abc-_-' + */ + function trimStart(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.replace(reTrimStart, ''); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); + } + + /** + * Truncates `string` if it's longer than the given maximum string length. + * The last characters of the truncated string are replaced with the omission + * string which defaults to "...". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to truncate. + * @param {Object} [options={}] The options object. + * @param {number} [options.length=30] The maximum string length. + * @param {string} [options.omission='...'] The string to indicate text is omitted. + * @param {RegExp|string} [options.separator] The separator pattern to truncate to. + * @returns {string} Returns the truncated string. + * @example + * + * _.truncate('hi-diddly-ho there, neighborino'); + * // => 'hi-diddly-ho there, neighbo...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': ' ' + * }); + * // => 'hi-diddly-ho there,...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': /,? +/ + * }); + * // => 'hi-diddly-ho there...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'omission': ' [...]' + * }); + * // => 'hi-diddly-ho there, neig [...]' + */ + function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, + omission = DEFAULT_TRUNC_OMISSION; + + if (isObject(options)) { + var separator = 'separator' in options ? options.separator : separator; + length = 'length' in options ? toInteger(options.length) : length; + omission = 'omission' in options ? baseToString(options.omission) : omission; + } + string = toString(string); + + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result = strSymbols + ? castSlice(strSymbols, 0, end).join('') + : string.slice(0, end); + + if (separator === undefined) { + return result + omission; + } + if (strSymbols) { + end += (result.length - end); + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, + substring = result; + + if (!separator.global) { + separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); + } + separator.lastIndex = 0; + while ((match = separator.exec(substring))) { + var newEnd = match.index; + } + result = result.slice(0, newEnd === undefined ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result.lastIndexOf(separator); + if (index > -1) { + result = result.slice(0, index); + } + } + return result + omission; + } + + /** + * The inverse of `_.escape`; this method converts the HTML entities + * `&`, `<`, `>`, `"`, and `'` in `string` to + * their corresponding characters. + * + * **Note:** No other HTML entities are unescaped. To unescape additional + * HTML entities use a third-party library like [_he_](https://mths.be/he). + * + * @static + * @memberOf _ + * @since 0.6.0 + * @category String + * @param {string} [string=''] The string to unescape. + * @returns {string} Returns the unescaped string. + * @example + * + * _.unescape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function unescape(string) { + string = toString(string); + return (string && reHasEscapedHtml.test(string)) + ? string.replace(reEscapedHtml, unescapeHtmlChar) + : string; + } + + /** + * Converts `string`, as space separated words, to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.upperCase('--foo-bar'); + * // => 'FOO BAR' + * + * _.upperCase('fooBar'); + * // => 'FOO BAR' + * + * _.upperCase('__foo_bar__'); + * // => 'FOO BAR' + */ + var upperCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toUpperCase(); + }); + + /** + * Converts the first character of `string` to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.upperFirst('fred'); + * // => 'Fred' + * + * _.upperFirst('FRED'); + * // => 'FRED' + */ + var upperFirst = createCaseFirst('toUpperCase'); + + /** + * Splits `string` into an array of its words. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {RegExp|string} [pattern] The pattern to match words. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the words of `string`. + * @example + * + * _.words('fred, barney, & pebbles'); + * // => ['fred', 'barney', 'pebbles'] + * + * _.words('fred, barney, & pebbles', /[^, ]+/g); + * // => ['fred', 'barney', '&', 'pebbles'] + */ + function words(string, pattern, guard) { + string = toString(string); + pattern = guard ? undefined : pattern; + + if (pattern === undefined) { + return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); + } + return string.match(pattern) || []; + } + + /*------------------------------------------------------------------------*/ + + /** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ + var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } + }); + + /** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ + var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; + }); + + /** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ + function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = getIteratee(); + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); + } + + /** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ + function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ + function constant(value) { + return function() { + return value; + }; + } + + /** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ + function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; + } + + /** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ + var flow = createFlow(); + + /** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ + var flowRight = createFlow(true); + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ + function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matches(source) { + return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between the + * value at `path` of a given object to `srcValue`, returning `true` if the + * object value is equivalent, else `false`. + * + * **Note:** Partial comparisons will match empty array and empty object + * `srcValue` values against any array or object value, respectively. See + * `_.isEqual` for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.find(objects, _.matchesProperty('a', 4)); + * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matchesProperty(path, srcValue) { + return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that invokes the method at `path` of a given object. + * Any additional arguments are provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var objects = [ + * { 'a': { 'b': _.constant(2) } }, + * { 'a': { 'b': _.constant(1) } } + * ]; + * + * _.map(objects, _.method('a.b')); + * // => [2, 1] + * + * _.map(objects, _.method(['a', 'b'])); + * // => [2, 1] + */ + var method = baseRest(function(path, args) { + return function(object) { + return baseInvoke(object, path, args); + }; + }); + + /** + * The opposite of `_.method`; this method creates a function that invokes + * the method at a given path of `object`. Any additional arguments are + * provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Object} object The object to query. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var array = _.times(3, _.constant), + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.methodOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); + * // => [2, 0] + */ + var methodOf = baseRest(function(object, args) { + return function(path) { + return baseInvoke(object, path, args); + }; + }); + + /** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ + function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + if (options == null && + !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + arrayEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; + } + + /** + * Reverts the `_` variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } + + /** + * Creates a function that gets the argument at index `n`. If `n` is negative, + * the nth argument from the end is returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [n=0] The index of the argument to return. + * @returns {Function} Returns the new pass-thru function. + * @example + * + * var func = _.nthArg(1); + * func('a', 'b', 'c', 'd'); + * // => 'b' + * + * var func = _.nthArg(-2); + * func('a', 'b', 'c', 'd'); + * // => 'c' + */ + function nthArg(n) { + n = toInteger(n); + return baseRest(function(args) { + return baseNth(args, n); + }); + } + + /** + * Creates a function that invokes `iteratees` with the arguments it receives + * and returns their results. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to invoke. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.over([Math.max, Math.min]); + * + * func(1, 2, 3, 4); + * // => [4, 1] + */ + var over = createOver(arrayMap); + + /** + * Creates a function that checks if **all** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overEvery([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => false + * + * func(NaN); + * // => false + */ + var overEvery = createOver(arrayEvery); + + /** + * Creates a function that checks if **any** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overSome([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => true + * + * func(NaN); + * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) + */ + var overSome = createOver(arraySome); + + /** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ + function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); + } + + /** + * The opposite of `_.property`; this method creates a function that returns + * the value at a given path of `object`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + * @example + * + * var array = [0, 1, 2], + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.propertyOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); + * // => [2, 0] + */ + function propertyOf(object) { + return function(path) { + return object == null ? undefined : baseGet(object, path); + }; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ + var range = createRange(); + + /** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.range + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ + var rangeRight = createRange(true); + + /** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ + function stubArray() { + return []; + } + + /** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ + function stubFalse() { + return false; + } + + /** + * This method returns a new empty object. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Object} Returns the new empty object. + * @example + * + * var objects = _.times(2, _.stubObject); + * + * console.log(objects); + * // => [{}, {}] + * + * console.log(objects[0] === objects[1]); + * // => false + */ + function stubObject() { + return {}; + } + + /** + * This method returns an empty string. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {string} Returns the empty string. + * @example + * + * _.times(2, _.stubString); + * // => ['', ''] + */ + function stubString() { + return ''; + } + + /** + * This method returns `true`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `true`. + * @example + * + * _.times(2, _.stubTrue); + * // => [true, true] + */ + function stubTrue() { + return true; + } + + /** + * Invokes the iteratee `n` times, returning an array of the results of + * each invocation. The iteratee is invoked with one argument; (index). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of results. + * @example + * + * _.times(3, String); + * // => ['0', '1', '2'] + * + * _.times(4, _.constant(0)); + * // => [0, 0, 0, 0] + */ + function times(n, iteratee) { + n = toInteger(n); + if (n < 1 || n > MAX_SAFE_INTEGER) { + return []; + } + var index = MAX_ARRAY_LENGTH, + length = nativeMin(n, MAX_ARRAY_LENGTH); + + iteratee = getIteratee(iteratee); + n -= MAX_ARRAY_LENGTH; + + var result = baseTimes(length, iteratee); + while (++index < n) { + iteratee(index); + } + return result; + } + + /** + * Converts `value` to a property path array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {*} value The value to convert. + * @returns {Array} Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + */ + function toPath(value) { + if (isArray(value)) { + return arrayMap(value, toKey); + } + return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); + } + + /** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + + /*------------------------------------------------------------------------*/ + + /** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ + var add = createMathOperation(function(augend, addend) { + return augend + addend; + }, 0); + + /** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ + var ceil = createRound('ceil'); + + /** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ + var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; + }, 1); + + /** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ + var floor = createRound('floor'); + + /** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ + function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; + } + + /** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.n; }); + * // => { 'n': 2 } + * + * // The `_.property` iteratee shorthand. + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ + function maxBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) + : undefined; + } + + /** + * Computes the mean of the values in `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ + function mean(array) { + return baseMean(array, identity); + } + + /** + * This method is like `_.mean` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be averaged. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the mean. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.meanBy(objects, function(o) { return o.n; }); + * // => 5 + * + * // The `_.property` iteratee shorthand. + * _.meanBy(objects, 'n'); + * // => 5 + */ + function meanBy(array, iteratee) { + return baseMean(array, getIteratee(iteratee, 2)); + } + + /** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ + function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; + } + + /** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ + function minBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) + : undefined; + } + + /** + * Multiply two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} multiplier The first number in a multiplication. + * @param {number} multiplicand The second number in a multiplication. + * @returns {number} Returns the product. + * @example + * + * _.multiply(6, 4); + * // => 24 + */ + var multiply = createMathOperation(function(multiplier, multiplicand) { + return multiplier * multiplicand; + }, 1); + + /** + * Computes `number` rounded to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round. + * @param {number} [precision=0] The precision to round to. + * @returns {number} Returns the rounded number. + * @example + * + * _.round(4.006); + * // => 4 + * + * _.round(4.006, 2); + * // => 4.01 + * + * _.round(4060, -2); + * // => 4100 + */ + var round = createRound('round'); + + /** + * Subtract two numbers. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {number} minuend The first number in a subtraction. + * @param {number} subtrahend The second number in a subtraction. + * @returns {number} Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ + var subtract = createMathOperation(function(minuend, subtrahend) { + return minuend - subtrahend; + }, 0); + + /** + * Computes the sum of the values in `array`. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ + function sum(array) { + return (array && array.length) + ? baseSum(array, identity) + : 0; + } + + /** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // The `_.property` iteratee shorthand. + * _.sumBy(objects, 'n'); + * // => 20 + */ + function sumBy(array, iteratee) { + return (array && array.length) + ? baseSum(array, getIteratee(iteratee, 2)) + : 0; + } + + /*------------------------------------------------------------------------*/ + + // Add methods that return wrapped values in chain sequences. + lodash.after = after; + lodash.ary = ary; + lodash.assign = assign; + lodash.assignIn = assignIn; + lodash.assignInWith = assignInWith; + lodash.assignWith = assignWith; + lodash.at = at; + lodash.before = before; + lodash.bind = bind; + lodash.bindAll = bindAll; + lodash.bindKey = bindKey; + lodash.castArray = castArray; + lodash.chain = chain; + lodash.chunk = chunk; + lodash.compact = compact; + lodash.concat = concat; + lodash.cond = cond; + lodash.conforms = conforms; + lodash.constant = constant; + lodash.countBy = countBy; + lodash.create = create; + lodash.curry = curry; + lodash.curryRight = curryRight; + lodash.debounce = debounce; + lodash.defaults = defaults; + lodash.defaultsDeep = defaultsDeep; + lodash.defer = defer; + lodash.delay = delay; + lodash.difference = difference; + lodash.differenceBy = differenceBy; + lodash.differenceWith = differenceWith; + lodash.drop = drop; + lodash.dropRight = dropRight; + lodash.dropRightWhile = dropRightWhile; + lodash.dropWhile = dropWhile; + lodash.fill = fill; + lodash.filter = filter; + lodash.flatMap = flatMap; + lodash.flatMapDeep = flatMapDeep; + lodash.flatMapDepth = flatMapDepth; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.flattenDepth = flattenDepth; + lodash.flip = flip; + lodash.flow = flow; + lodash.flowRight = flowRight; + lodash.fromPairs = fromPairs; + lodash.functions = functions; + lodash.functionsIn = functionsIn; + lodash.groupBy = groupBy; + lodash.initial = initial; + lodash.intersection = intersection; + lodash.intersectionBy = intersectionBy; + lodash.intersectionWith = intersectionWith; + lodash.invert = invert; + lodash.invertBy = invertBy; + lodash.invokeMap = invokeMap; + lodash.iteratee = iteratee; + lodash.keyBy = keyBy; + lodash.keys = keys; + lodash.keysIn = keysIn; + lodash.map = map; + lodash.mapKeys = mapKeys; + lodash.mapValues = mapValues; + lodash.matches = matches; + lodash.matchesProperty = matchesProperty; + lodash.memoize = memoize; + lodash.merge = merge; + lodash.mergeWith = mergeWith; + lodash.method = method; + lodash.methodOf = methodOf; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.nthArg = nthArg; + lodash.omit = omit; + lodash.omitBy = omitBy; + lodash.once = once; + lodash.orderBy = orderBy; + lodash.over = over; + lodash.overArgs = overArgs; + lodash.overEvery = overEvery; + lodash.overSome = overSome; + lodash.partial = partial; + lodash.partialRight = partialRight; + lodash.partition = partition; + lodash.pick = pick; + lodash.pickBy = pickBy; + lodash.property = property; + lodash.propertyOf = propertyOf; + lodash.pull = pull; + lodash.pullAll = pullAll; + lodash.pullAllBy = pullAllBy; + lodash.pullAllWith = pullAllWith; + lodash.pullAt = pullAt; + lodash.range = range; + lodash.rangeRight = rangeRight; + lodash.rearg = rearg; + lodash.reject = reject; + lodash.remove = remove; + lodash.rest = rest; + lodash.reverse = reverse; + lodash.sampleSize = sampleSize; + lodash.set = set; + lodash.setWith = setWith; + lodash.shuffle = shuffle; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.sortedUniq = sortedUniq; + lodash.sortedUniqBy = sortedUniqBy; + lodash.split = split; + lodash.spread = spread; + lodash.tail = tail; + lodash.take = take; + lodash.takeRight = takeRight; + lodash.takeRightWhile = takeRightWhile; + lodash.takeWhile = takeWhile; + lodash.tap = tap; + lodash.throttle = throttle; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.toPairs = toPairs; + lodash.toPairsIn = toPairsIn; + lodash.toPath = toPath; + lodash.toPlainObject = toPlainObject; + lodash.transform = transform; + lodash.unary = unary; + lodash.union = union; + lodash.unionBy = unionBy; + lodash.unionWith = unionWith; + lodash.uniq = uniq; + lodash.uniqBy = uniqBy; + lodash.uniqWith = uniqWith; + lodash.unset = unset; + lodash.unzip = unzip; + lodash.unzipWith = unzipWith; + lodash.update = update; + lodash.updateWith = updateWith; + lodash.values = values; + lodash.valuesIn = valuesIn; + lodash.without = without; + lodash.words = words; + lodash.wrap = wrap; + lodash.xor = xor; + lodash.xorBy = xorBy; + lodash.xorWith = xorWith; + lodash.zip = zip; + lodash.zipObject = zipObject; + lodash.zipObjectDeep = zipObjectDeep; + lodash.zipWith = zipWith; + + // Add aliases. + lodash.entries = toPairs; + lodash.entriesIn = toPairsIn; + lodash.extend = assignIn; + lodash.extendWith = assignInWith; + + // Add methods to `lodash.prototype`. + mixin(lodash, lodash); + + /*------------------------------------------------------------------------*/ + + // Add methods that return unwrapped values in chain sequences. + lodash.add = add; + lodash.attempt = attempt; + lodash.camelCase = camelCase; + lodash.capitalize = capitalize; + lodash.ceil = ceil; + lodash.clamp = clamp; + lodash.clone = clone; + lodash.cloneDeep = cloneDeep; + lodash.cloneDeepWith = cloneDeepWith; + lodash.cloneWith = cloneWith; + lodash.conformsTo = conformsTo; + lodash.deburr = deburr; + lodash.defaultTo = defaultTo; + lodash.divide = divide; + lodash.endsWith = endsWith; + lodash.eq = eq; + lodash.escape = escape; + lodash.escapeRegExp = escapeRegExp; + lodash.every = every; + lodash.find = find; + lodash.findIndex = findIndex; + lodash.findKey = findKey; + lodash.findLast = findLast; + lodash.findLastIndex = findLastIndex; + lodash.findLastKey = findLastKey; + lodash.floor = floor; + lodash.forEach = forEach; + lodash.forEachRight = forEachRight; + lodash.forIn = forIn; + lodash.forInRight = forInRight; + lodash.forOwn = forOwn; + lodash.forOwnRight = forOwnRight; + lodash.get = get; + lodash.gt = gt; + lodash.gte = gte; + lodash.has = has; + lodash.hasIn = hasIn; + lodash.head = head; + lodash.identity = identity; + lodash.includes = includes; + lodash.indexOf = indexOf; + lodash.inRange = inRange; + lodash.invoke = invoke; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isArrayBuffer = isArrayBuffer; + lodash.isArrayLike = isArrayLike; + lodash.isArrayLikeObject = isArrayLikeObject; + lodash.isBoolean = isBoolean; + lodash.isBuffer = isBuffer; + lodash.isDate = isDate; + lodash.isElement = isElement; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isEqualWith = isEqualWith; + lodash.isError = isError; + lodash.isFinite = isFinite; + lodash.isFunction = isFunction; + lodash.isInteger = isInteger; + lodash.isLength = isLength; + lodash.isMap = isMap; + lodash.isMatch = isMatch; + lodash.isMatchWith = isMatchWith; + lodash.isNaN = isNaN; + lodash.isNative = isNative; + lodash.isNil = isNil; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isObjectLike = isObjectLike; + lodash.isPlainObject = isPlainObject; + lodash.isRegExp = isRegExp; + lodash.isSafeInteger = isSafeInteger; + lodash.isSet = isSet; + lodash.isString = isString; + lodash.isSymbol = isSymbol; + lodash.isTypedArray = isTypedArray; + lodash.isUndefined = isUndefined; + lodash.isWeakMap = isWeakMap; + lodash.isWeakSet = isWeakSet; + lodash.join = join; + lodash.kebabCase = kebabCase; + lodash.last = last; + lodash.lastIndexOf = lastIndexOf; + lodash.lowerCase = lowerCase; + lodash.lowerFirst = lowerFirst; + lodash.lt = lt; + lodash.lte = lte; + lodash.max = max; + lodash.maxBy = maxBy; + lodash.mean = mean; + lodash.meanBy = meanBy; + lodash.min = min; + lodash.minBy = minBy; + lodash.stubArray = stubArray; + lodash.stubFalse = stubFalse; + lodash.stubObject = stubObject; + lodash.stubString = stubString; + lodash.stubTrue = stubTrue; + lodash.multiply = multiply; + lodash.nth = nth; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.now = now; + lodash.pad = pad; + lodash.padEnd = padEnd; + lodash.padStart = padStart; + lodash.parseInt = parseInt; + lodash.random = random; + lodash.reduce = reduce; + lodash.reduceRight = reduceRight; + lodash.repeat = repeat; + lodash.replace = replace; + lodash.result = result; + lodash.round = round; + lodash.runInContext = runInContext; + lodash.sample = sample; + lodash.size = size; + lodash.snakeCase = snakeCase; + lodash.some = some; + lodash.sortedIndex = sortedIndex; + lodash.sortedIndexBy = sortedIndexBy; + lodash.sortedIndexOf = sortedIndexOf; + lodash.sortedLastIndex = sortedLastIndex; + lodash.sortedLastIndexBy = sortedLastIndexBy; + lodash.sortedLastIndexOf = sortedLastIndexOf; + lodash.startCase = startCase; + lodash.startsWith = startsWith; + lodash.subtract = subtract; + lodash.sum = sum; + lodash.sumBy = sumBy; + lodash.template = template; + lodash.times = times; + lodash.toFinite = toFinite; + lodash.toInteger = toInteger; + lodash.toLength = toLength; + lodash.toLower = toLower; + lodash.toNumber = toNumber; + lodash.toSafeInteger = toSafeInteger; + lodash.toString = toString; + lodash.toUpper = toUpper; + lodash.trim = trim; + lodash.trimEnd = trimEnd; + lodash.trimStart = trimStart; + lodash.truncate = truncate; + lodash.unescape = unescape; + lodash.uniqueId = uniqueId; + lodash.upperCase = upperCase; + lodash.upperFirst = upperFirst; + + // Add aliases. + lodash.each = forEach; + lodash.eachRight = forEachRight; + lodash.first = head; + + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + }()), { 'chain': false }); + + /*------------------------------------------------------------------------*/ + + /** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ + lodash.VERSION = VERSION; + + // Assign default placeholders. + arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) { + lodash[methodName].placeholder = lodash; + }); + + // Add `LazyWrapper` methods for `_.drop` and `_.take` variants. + arrayEach(['drop', 'take'], function(methodName, index) { + LazyWrapper.prototype[methodName] = function(n) { + n = n === undefined ? 1 : nativeMax(toInteger(n), 0); + + var result = (this.__filtered__ && !index) + ? new LazyWrapper(this) + : this.clone(); + + if (result.__filtered__) { + result.__takeCount__ = nativeMin(n, result.__takeCount__); + } else { + result.__views__.push({ + 'size': nativeMin(n, MAX_ARRAY_LENGTH), + 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') + }); + } + return result; + }; + + LazyWrapper.prototype[methodName + 'Right'] = function(n) { + return this.reverse()[methodName](n).reverse(); + }; + }); + + // Add `LazyWrapper` methods that accept an `iteratee` value. + arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) { + var type = index + 1, + isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; + + LazyWrapper.prototype[methodName] = function(iteratee) { + var result = this.clone(); + result.__iteratees__.push({ + 'iteratee': getIteratee(iteratee, 3), + 'type': type + }); + result.__filtered__ = result.__filtered__ || isFilter; + return result; + }; + }); + + // Add `LazyWrapper` methods for `_.head` and `_.last`. + arrayEach(['head', 'last'], function(methodName, index) { + var takeName = 'take' + (index ? 'Right' : ''); + + LazyWrapper.prototype[methodName] = function() { + return this[takeName](1).value()[0]; + }; + }); + + // Add `LazyWrapper` methods for `_.initial` and `_.tail`. + arrayEach(['initial', 'tail'], function(methodName, index) { + var dropName = 'drop' + (index ? '' : 'Right'); + + LazyWrapper.prototype[methodName] = function() { + return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); + }; + }); + + LazyWrapper.prototype.compact = function() { + return this.filter(identity); + }; + + LazyWrapper.prototype.find = function(predicate) { + return this.filter(predicate).head(); + }; + + LazyWrapper.prototype.findLast = function(predicate) { + return this.reverse().find(predicate); + }; + + LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { + if (typeof path == 'function') { + return new LazyWrapper(this); + } + return this.map(function(value) { + return baseInvoke(value, path, args); + }); + }); + + LazyWrapper.prototype.reject = function(predicate) { + return this.filter(negate(getIteratee(predicate))); + }; + + LazyWrapper.prototype.slice = function(start, end) { + start = toInteger(start); + + var result = this; + if (result.__filtered__ && (start > 0 || end < 0)) { + return new LazyWrapper(result); + } + if (start < 0) { + result = result.takeRight(-start); + } else if (start) { + result = result.drop(start); + } + if (end !== undefined) { + end = toInteger(end); + result = end < 0 ? result.dropRight(-end) : result.take(end - start); + } + return result; + }; + + LazyWrapper.prototype.takeRightWhile = function(predicate) { + return this.reverse().takeWhile(predicate).reverse(); + }; + + LazyWrapper.prototype.toArray = function() { + return this.take(MAX_ARRAY_LENGTH); + }; + + // Add `LazyWrapper` methods to `lodash.prototype`. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), + isTaker = /^(?:head|last)$/.test(methodName), + lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], + retUnwrapped = isTaker || /^find/.test(methodName); + + if (!lodashFunc) { + return; + } + lodash.prototype[methodName] = function() { + var value = this.__wrapped__, + args = isTaker ? [1] : arguments, + isLazy = value instanceof LazyWrapper, + iteratee = args[0], + useLazy = isLazy || isArray(value); + + var interceptor = function(value) { + var result = lodashFunc.apply(lodash, arrayPush([value], args)); + return (isTaker && chainAll) ? result[0] : result; + }; + + if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { + // Avoid lazy use if the iteratee has a "length" value other than `1`. + isLazy = useLazy = false; + } + var chainAll = this.__chain__, + isHybrid = !!this.__actions__.length, + isUnwrapped = retUnwrapped && !chainAll, + onlyLazy = isLazy && !isHybrid; + + if (!retUnwrapped && useLazy) { + value = onlyLazy ? value : new LazyWrapper(this); + var result = func.apply(value, args); + result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); + return new LodashWrapper(result, chainAll); + } + if (isUnwrapped && onlyLazy) { + return func.apply(this, args); + } + result = this.thru(interceptor); + return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; + }; + }); + + // Add `Array` methods to `lodash.prototype`. + arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = arrayProto[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; + }); + + // Map minified method names to their real names. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var lodashFunc = lodash[methodName]; + if (lodashFunc) { + var key = lodashFunc.name + ''; + if (!hasOwnProperty.call(realNames, key)) { + realNames[key] = []; + } + realNames[key].push({ 'name': methodName, 'func': lodashFunc }); + } + }); + + realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ + 'name': 'wrapper', + 'func': undefined + }]; + + // Add methods to `LazyWrapper`. + LazyWrapper.prototype.clone = lazyClone; + LazyWrapper.prototype.reverse = lazyReverse; + LazyWrapper.prototype.value = lazyValue; + + // Add chain sequence methods to the `lodash` wrapper. + lodash.prototype.at = wrapperAt; + lodash.prototype.chain = wrapperChain; + lodash.prototype.commit = wrapperCommit; + lodash.prototype.next = wrapperNext; + lodash.prototype.plant = wrapperPlant; + lodash.prototype.reverse = wrapperReverse; + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + + // Add lazy aliases. + lodash.prototype.first = lodash.prototype.head; + + if (symIterator) { + lodash.prototype[symIterator] = wrapperToIterator; + } + return lodash; + }); + + /*--------------------------------------------------------------------------*/ + + // Export lodash. + var _ = runInContext(); + + // Some AMD build optimizers, like r.js, check for condition patterns like: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Expose Lodash on the global object to prevent errors when Lodash is + // loaded by a script tag in the presence of an AMD loader. + // See http://requirejs.org/docs/errors.html#mismatch for more details. + // Use `_.noConflict` to remove Lodash from the global object. + root._ = _; + + // Define as an anonymous module so, through path mapping, it can be + // referenced as the "underscore" module. + define(function() { + return _; + }); + } + // Check for `exports` after `define` in case a build optimizer adds it. + else if (freeModule) { + // Export for Node.js. + (freeModule.exports = _)._ = _; + // Export for CommonJS support. + freeExports._ = _; + } + else { + // Export to the global object. + root._ = _; + } +}.call(this)); diff --git a/.output/server/node_modules/lodash/memoize.js b/.output/server/node_modules/lodash/memoize.js new file mode 100644 index 00000000..d6035af1 --- /dev/null +++ b/.output/server/node_modules/lodash/memoize.js @@ -0,0 +1,73 @@ +var MapCache = require('./_MapCache'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +module.exports = memoize; diff --git a/.output/server/node_modules/lodash/noop.js b/.output/server/node_modules/lodash/noop.js new file mode 100644 index 00000000..3c0862ee --- /dev/null +++ b/.output/server/node_modules/lodash/noop.js @@ -0,0 +1,17 @@ +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop() { + // No operation performed. +} + +module.exports = noop; diff --git a/.output/server/node_modules/lodash/now.js b/.output/server/node_modules/lodash/now.js new file mode 100644 index 00000000..44a05623 --- /dev/null +++ b/.output/server/node_modules/lodash/now.js @@ -0,0 +1,23 @@ +var root = require('./_root'); + +/** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ +var now = function() { + return root.Date.now(); +}; + +module.exports = now; diff --git a/.output/server/node_modules/lodash/omit.js b/.output/server/node_modules/lodash/omit.js new file mode 100644 index 00000000..97f5f546 --- /dev/null +++ b/.output/server/node_modules/lodash/omit.js @@ -0,0 +1,57 @@ +var arrayMap = require('./_arrayMap'), + baseClone = require('./_baseClone'), + baseUnset = require('./_baseUnset'), + castPath = require('./_castPath'), + copyObject = require('./_copyObject'), + customOmitClone = require('./_customOmitClone'), + flatRest = require('./_flatRest'), + getAllKeysIn = require('./_getAllKeysIn'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ +var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; +}); + +module.exports = omit; diff --git a/.output/server/node_modules/lodash/package.json b/.output/server/node_modules/lodash/package.json new file mode 100644 index 00000000..f7f9d6d1 --- /dev/null +++ b/.output/server/node_modules/lodash/package.json @@ -0,0 +1,19 @@ +{ + "name": "lodash", + "version": "4.17.21", + "description": "Lodash modular utilities.", + "keywords": "modules, stdlib, util", + "homepage": "https://lodash.com/", + "repository": "lodash/lodash", + "icon": "https://lodash.com/icon.svg", + "license": "MIT", + "main": "lodash.js", + "author": "John-David Dalton <john.david.dalton@gmail.com>", + "contributors": [ + "John-David Dalton <john.david.dalton@gmail.com>", + "Mathias Bynens <mathias@qiwi.be>" + ], + "scripts": { + "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\"" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/lodash/partition.js b/.output/server/node_modules/lodash/partition.js new file mode 100644 index 00000000..6b814a9f --- /dev/null +++ b/.output/server/node_modules/lodash/partition.js @@ -0,0 +1,43 @@ +var createAggregator = require('./_createAggregator'); + +/** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ +var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); +}, function() { return [[], []]; }); + +module.exports = partition; diff --git a/.output/server/node_modules/lodash/pick.js b/.output/server/node_modules/lodash/pick.js new file mode 100644 index 00000000..3160199f --- /dev/null +++ b/.output/server/node_modules/lodash/pick.js @@ -0,0 +1,25 @@ +var basePick = require('./_basePick'), + flatRest = require('./_flatRest'); + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ +var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); +}); + +module.exports = pick; diff --git a/.output/server/node_modules/lodash/property.js b/.output/server/node_modules/lodash/property.js new file mode 100644 index 00000000..ca8202ff --- /dev/null +++ b/.output/server/node_modules/lodash/property.js @@ -0,0 +1,32 @@ +var baseProperty = require('./_baseProperty'), + basePropertyDeep = require('./_basePropertyDeep'), + isKey = require('./_isKey'), + toKey = require('./_toKey'); + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = property; diff --git a/.output/server/node_modules/lodash/stubArray.js b/.output/server/node_modules/lodash/stubArray.js new file mode 100644 index 00000000..f460c15e --- /dev/null +++ b/.output/server/node_modules/lodash/stubArray.js @@ -0,0 +1,23 @@ +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +module.exports = stubArray; diff --git a/.output/server/node_modules/lodash/stubFalse.js b/.output/server/node_modules/lodash/stubFalse.js new file mode 100644 index 00000000..9b346fce --- /dev/null +++ b/.output/server/node_modules/lodash/stubFalse.js @@ -0,0 +1,18 @@ +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = stubFalse; diff --git a/.output/server/node_modules/lodash/toFinite.js b/.output/server/node_modules/lodash/toFinite.js new file mode 100644 index 00000000..3b5bba6b --- /dev/null +++ b/.output/server/node_modules/lodash/toFinite.js @@ -0,0 +1,42 @@ +var toNumber = require('./toNumber'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +module.exports = toFinite; diff --git a/.output/server/node_modules/lodash/toInteger.js b/.output/server/node_modules/lodash/toInteger.js new file mode 100644 index 00000000..c6aadf8f --- /dev/null +++ b/.output/server/node_modules/lodash/toInteger.js @@ -0,0 +1,36 @@ +var toFinite = require('./toFinite'); + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +module.exports = toInteger; diff --git a/.output/server/node_modules/lodash/toNumber.js b/.output/server/node_modules/lodash/toNumber.js new file mode 100644 index 00000000..cf46f10d --- /dev/null +++ b/.output/server/node_modules/lodash/toNumber.js @@ -0,0 +1,64 @@ +var baseTrim = require('./_baseTrim'), + isObject = require('./isObject'), + isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +module.exports = toNumber; diff --git a/.output/server/node_modules/lodash/toString.js b/.output/server/node_modules/lodash/toString.js new file mode 100644 index 00000000..daaf681c --- /dev/null +++ b/.output/server/node_modules/lodash/toString.js @@ -0,0 +1,28 @@ +var baseToString = require('./_baseToString'); + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +module.exports = toString; diff --git a/.output/server/node_modules/lodash/uniq.js b/.output/server/node_modules/lodash/uniq.js new file mode 100644 index 00000000..157d1cd3 --- /dev/null +++ b/.output/server/node_modules/lodash/uniq.js @@ -0,0 +1,25 @@ +var baseUniq = require('./_baseUniq'); + +/** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ +function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; +} + +module.exports = uniq; diff --git a/.output/server/node_modules/math-intrinsics/abs.js b/.output/server/node_modules/math-intrinsics/abs.js new file mode 100644 index 00000000..a751424c --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/abs.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./abs')} */ +module.exports = Math.abs; diff --git a/.output/server/node_modules/math-intrinsics/floor.js b/.output/server/node_modules/math-intrinsics/floor.js new file mode 100644 index 00000000..ab0e5d7d --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/floor.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./floor')} */ +module.exports = Math.floor; diff --git a/.output/server/node_modules/math-intrinsics/isNaN.js b/.output/server/node_modules/math-intrinsics/isNaN.js new file mode 100644 index 00000000..e36475cf --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/isNaN.js @@ -0,0 +1,6 @@ +'use strict'; + +/** @type {import('./isNaN')} */ +module.exports = Number.isNaN || function isNaN(a) { + return a !== a; +}; diff --git a/.output/server/node_modules/math-intrinsics/max.js b/.output/server/node_modules/math-intrinsics/max.js new file mode 100644 index 00000000..edb55dfb --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/max.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./max')} */ +module.exports = Math.max; diff --git a/.output/server/node_modules/math-intrinsics/min.js b/.output/server/node_modules/math-intrinsics/min.js new file mode 100644 index 00000000..5a4a7c71 --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/min.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./min')} */ +module.exports = Math.min; diff --git a/.output/server/node_modules/math-intrinsics/package.json b/.output/server/node_modules/math-intrinsics/package.json new file mode 100644 index 00000000..0f254471 --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/package.json @@ -0,0 +1,86 @@ +{ + "name": "math-intrinsics", + "version": "1.1.0", + "description": "ES Math-related intrinsics and helpers, robustly cached.", + "main": false, + "exports": { + "./abs": "./abs.js", + "./floor": "./floor.js", + "./isFinite": "./isFinite.js", + "./isInteger": "./isInteger.js", + "./isNaN": "./isNaN.js", + "./isNegativeZero": "./isNegativeZero.js", + "./max": "./max.js", + "./min": "./min.js", + "./mod": "./mod.js", + "./pow": "./pow.js", + "./sign": "./sign.js", + "./round": "./round.js", + "./constants/maxArrayLength": "./constants/maxArrayLength.js", + "./constants/maxSafeInteger": "./constants/maxSafeInteger.js", + "./constants/maxValue": "./constants/maxValue.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "npx npm@'>= 10.2' audit --production", + "prelint": "evalmd README.md && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/es-shims/math-intrinsics.git" + }, + "author": "Jordan Harband <ljharb@gmail.com>", + "license": "MIT", + "bugs": { + "url": "https://github.com/es-shims/math-intrinsics/issues" + }, + "homepage": "https://github.com/es-shims/math-intrinsics#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/for-each": "^0.3.3", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "es-value-fixtures": "^1.5.0", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.3", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.3", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/math-intrinsics/pow.js b/.output/server/node_modules/math-intrinsics/pow.js new file mode 100644 index 00000000..c0a41038 --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/pow.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./pow')} */ +module.exports = Math.pow; diff --git a/.output/server/node_modules/math-intrinsics/round.js b/.output/server/node_modules/math-intrinsics/round.js new file mode 100644 index 00000000..b7921566 --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/round.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./round')} */ +module.exports = Math.round; diff --git a/.output/server/node_modules/math-intrinsics/sign.js b/.output/server/node_modules/math-intrinsics/sign.js new file mode 100644 index 00000000..9e5173c8 --- /dev/null +++ b/.output/server/node_modules/math-intrinsics/sign.js @@ -0,0 +1,11 @@ +'use strict'; + +var $isNaN = require('./isNaN'); + +/** @type {import('./sign')} */ +module.exports = function sign(number) { + if ($isNaN(number) || number === 0) { + return number; + } + return number < 0 ? -1 : +1; +}; diff --git a/.output/server/node_modules/mdn-data b/.output/server/node_modules/mdn-data new file mode 120000 index 00000000..6648f37e --- /dev/null +++ b/.output/server/node_modules/mdn-data @@ -0,0 +1 @@ +.nitro/mdn-data@2.0.30 \ No newline at end of file diff --git a/.output/server/node_modules/mime-db/db.json b/.output/server/node_modules/mime-db/db.json new file mode 100644 index 00000000..eb9c42c4 --- /dev/null +++ b/.output/server/node_modules/mime-db/db.json @@ -0,0 +1,8519 @@ +{ + "application/1d-interleaved-parityfec": { + "source": "iana" + }, + "application/3gpdash-qoe-report+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/3gpp-ims+xml": { + "source": "iana", + "compressible": true + }, + "application/3gpphal+json": { + "source": "iana", + "compressible": true + }, + "application/3gpphalforms+json": { + "source": "iana", + "compressible": true + }, + "application/a2l": { + "source": "iana" + }, + "application/ace+cbor": { + "source": "iana" + }, + "application/activemessage": { + "source": "iana" + }, + "application/activity+json": { + "source": "iana", + "compressible": true + }, + "application/alto-costmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-costmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-directory+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcost+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcostparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointprop+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointpropparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-error+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-updatestreamcontrol+json": { + "source": "iana", + "compressible": true + }, + "application/alto-updatestreamparams+json": { + "source": "iana", + "compressible": true + }, + "application/aml": { + "source": "iana" + }, + "application/andrew-inset": { + "source": "iana", + "extensions": ["ez"] + }, + "application/applefile": { + "source": "iana" + }, + "application/applixware": { + "source": "apache", + "extensions": ["aw"] + }, + "application/at+jwt": { + "source": "iana" + }, + "application/atf": { + "source": "iana" + }, + "application/atfx": { + "source": "iana" + }, + "application/atom+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atom"] + }, + "application/atomcat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomcat"] + }, + "application/atomdeleted+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomdeleted"] + }, + "application/atomicmail": { + "source": "iana" + }, + "application/atomsvc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomsvc"] + }, + "application/atsc-dwd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dwd"] + }, + "application/atsc-dynamic-event-message": { + "source": "iana" + }, + "application/atsc-held+xml": { + "source": "iana", + "compressible": true, + "extensions": ["held"] + }, + "application/atsc-rdt+json": { + "source": "iana", + "compressible": true + }, + "application/atsc-rsat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsat"] + }, + "application/atxml": { + "source": "iana" + }, + "application/auth-policy+xml": { + "source": "iana", + "compressible": true + }, + "application/bacnet-xdd+zip": { + "source": "iana", + "compressible": false + }, + "application/batch-smtp": { + "source": "iana" + }, + "application/bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/beep+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/calendar+json": { + "source": "iana", + "compressible": true + }, + "application/calendar+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xcs"] + }, + "application/call-completion": { + "source": "iana" + }, + "application/cals-1840": { + "source": "iana" + }, + "application/captive+json": { + "source": "iana", + "compressible": true + }, + "application/cbor": { + "source": "iana" + }, + "application/cbor-seq": { + "source": "iana" + }, + "application/cccex": { + "source": "iana" + }, + "application/ccmp+xml": { + "source": "iana", + "compressible": true + }, + "application/ccxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ccxml"] + }, + "application/cdfx+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdfx"] + }, + "application/cdmi-capability": { + "source": "iana", + "extensions": ["cdmia"] + }, + "application/cdmi-container": { + "source": "iana", + "extensions": ["cdmic"] + }, + "application/cdmi-domain": { + "source": "iana", + "extensions": ["cdmid"] + }, + "application/cdmi-object": { + "source": "iana", + "extensions": ["cdmio"] + }, + "application/cdmi-queue": { + "source": "iana", + "extensions": ["cdmiq"] + }, + "application/cdni": { + "source": "iana" + }, + "application/cea": { + "source": "iana" + }, + "application/cea-2018+xml": { + "source": "iana", + "compressible": true + }, + "application/cellml+xml": { + "source": "iana", + "compressible": true + }, + "application/cfw": { + "source": "iana" + }, + "application/city+json": { + "source": "iana", + "compressible": true + }, + "application/clr": { + "source": "iana" + }, + "application/clue+xml": { + "source": "iana", + "compressible": true + }, + "application/clue_info+xml": { + "source": "iana", + "compressible": true + }, + "application/cms": { + "source": "iana" + }, + "application/cnrp+xml": { + "source": "iana", + "compressible": true + }, + "application/coap-group+json": { + "source": "iana", + "compressible": true + }, + "application/coap-payload": { + "source": "iana" + }, + "application/commonground": { + "source": "iana" + }, + "application/conference-info+xml": { + "source": "iana", + "compressible": true + }, + "application/cose": { + "source": "iana" + }, + "application/cose-key": { + "source": "iana" + }, + "application/cose-key-set": { + "source": "iana" + }, + "application/cpl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cpl"] + }, + "application/csrattrs": { + "source": "iana" + }, + "application/csta+xml": { + "source": "iana", + "compressible": true + }, + "application/cstadata+xml": { + "source": "iana", + "compressible": true + }, + "application/csvm+json": { + "source": "iana", + "compressible": true + }, + "application/cu-seeme": { + "source": "apache", + "extensions": ["cu"] + }, + "application/cwt": { + "source": "iana" + }, + "application/cybercash": { + "source": "iana" + }, + "application/dart": { + "compressible": true + }, + "application/dash+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpd"] + }, + "application/dash-patch+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpp"] + }, + "application/dashdelta": { + "source": "iana" + }, + "application/davmount+xml": { + "source": "iana", + "compressible": true, + "extensions": ["davmount"] + }, + "application/dca-rft": { + "source": "iana" + }, + "application/dcd": { + "source": "iana" + }, + "application/dec-dx": { + "source": "iana" + }, + "application/dialog-info+xml": { + "source": "iana", + "compressible": true + }, + "application/dicom": { + "source": "iana" + }, + "application/dicom+json": { + "source": "iana", + "compressible": true + }, + "application/dicom+xml": { + "source": "iana", + "compressible": true + }, + "application/dii": { + "source": "iana" + }, + "application/dit": { + "source": "iana" + }, + "application/dns": { + "source": "iana" + }, + "application/dns+json": { + "source": "iana", + "compressible": true + }, + "application/dns-message": { + "source": "iana" + }, + "application/docbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dbk"] + }, + "application/dots+cbor": { + "source": "iana" + }, + "application/dskpp+xml": { + "source": "iana", + "compressible": true + }, + "application/dssc+der": { + "source": "iana", + "extensions": ["dssc"] + }, + "application/dssc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdssc"] + }, + "application/dvcs": { + "source": "iana" + }, + "application/ecmascript": { + "source": "iana", + "compressible": true, + "extensions": ["es","ecma"] + }, + "application/edi-consent": { + "source": "iana" + }, + "application/edi-x12": { + "source": "iana", + "compressible": false + }, + "application/edifact": { + "source": "iana", + "compressible": false + }, + "application/efi": { + "source": "iana" + }, + "application/elm+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/elm+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.cap+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/emergencycalldata.comment+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.control+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.deviceinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.ecall.msd": { + "source": "iana" + }, + "application/emergencycalldata.providerinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.serviceinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.subscriberinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.veds+xml": { + "source": "iana", + "compressible": true + }, + "application/emma+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emma"] + }, + "application/emotionml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emotionml"] + }, + "application/encaprtp": { + "source": "iana" + }, + "application/epp+xml": { + "source": "iana", + "compressible": true + }, + "application/epub+zip": { + "source": "iana", + "compressible": false, + "extensions": ["epub"] + }, + "application/eshop": { + "source": "iana" + }, + "application/exi": { + "source": "iana", + "extensions": ["exi"] + }, + "application/expect-ct-report+json": { + "source": "iana", + "compressible": true + }, + "application/express": { + "source": "iana", + "extensions": ["exp"] + }, + "application/fastinfoset": { + "source": "iana" + }, + "application/fastsoap": { + "source": "iana" + }, + "application/fdt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fdt"] + }, + "application/fhir+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/fhir+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/fido.trusted-apps+json": { + "compressible": true + }, + "application/fits": { + "source": "iana" + }, + "application/flexfec": { + "source": "iana" + }, + "application/font-sfnt": { + "source": "iana" + }, + "application/font-tdpfr": { + "source": "iana", + "extensions": ["pfr"] + }, + "application/font-woff": { + "source": "iana", + "compressible": false + }, + "application/framework-attributes+xml": { + "source": "iana", + "compressible": true + }, + "application/geo+json": { + "source": "iana", + "compressible": true, + "extensions": ["geojson"] + }, + "application/geo+json-seq": { + "source": "iana" + }, + "application/geopackage+sqlite3": { + "source": "iana" + }, + "application/geoxacml+xml": { + "source": "iana", + "compressible": true + }, + "application/gltf-buffer": { + "source": "iana" + }, + "application/gml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["gml"] + }, + "application/gpx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["gpx"] + }, + "application/gxf": { + "source": "apache", + "extensions": ["gxf"] + }, + "application/gzip": { + "source": "iana", + "compressible": false, + "extensions": ["gz"] + }, + "application/h224": { + "source": "iana" + }, + "application/held+xml": { + "source": "iana", + "compressible": true + }, + "application/hjson": { + "extensions": ["hjson"] + }, + "application/http": { + "source": "iana" + }, + "application/hyperstudio": { + "source": "iana", + "extensions": ["stk"] + }, + "application/ibe-key-request+xml": { + "source": "iana", + "compressible": true + }, + "application/ibe-pkg-reply+xml": { + "source": "iana", + "compressible": true + }, + "application/ibe-pp-data": { + "source": "iana" + }, + "application/iges": { + "source": "iana" + }, + "application/im-iscomposing+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/index": { + "source": "iana" + }, + "application/index.cmd": { + "source": "iana" + }, + "application/index.obj": { + "source": "iana" + }, + "application/index.response": { + "source": "iana" + }, + "application/index.vnd": { + "source": "iana" + }, + "application/inkml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ink","inkml"] + }, + "application/iotp": { + "source": "iana" + }, + "application/ipfix": { + "source": "iana", + "extensions": ["ipfix"] + }, + "application/ipp": { + "source": "iana" + }, + "application/isup": { + "source": "iana" + }, + "application/its+xml": { + "source": "iana", + "compressible": true, + "extensions": ["its"] + }, + "application/java-archive": { + "source": "apache", + "compressible": false, + "extensions": ["jar","war","ear"] + }, + "application/java-serialized-object": { + "source": "apache", + "compressible": false, + "extensions": ["ser"] + }, + "application/java-vm": { + "source": "apache", + "compressible": false, + "extensions": ["class"] + }, + "application/javascript": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js","mjs"] + }, + "application/jf2feed+json": { + "source": "iana", + "compressible": true + }, + "application/jose": { + "source": "iana" + }, + "application/jose+json": { + "source": "iana", + "compressible": true + }, + "application/jrd+json": { + "source": "iana", + "compressible": true + }, + "application/jscalendar+json": { + "source": "iana", + "compressible": true + }, + "application/json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["json","map"] + }, + "application/json-patch+json": { + "source": "iana", + "compressible": true + }, + "application/json-seq": { + "source": "iana" + }, + "application/json5": { + "extensions": ["json5"] + }, + "application/jsonml+json": { + "source": "apache", + "compressible": true, + "extensions": ["jsonml"] + }, + "application/jwk+json": { + "source": "iana", + "compressible": true + }, + "application/jwk-set+json": { + "source": "iana", + "compressible": true + }, + "application/jwt": { + "source": "iana" + }, + "application/kpml-request+xml": { + "source": "iana", + "compressible": true + }, + "application/kpml-response+xml": { + "source": "iana", + "compressible": true + }, + "application/ld+json": { + "source": "iana", + "compressible": true, + "extensions": ["jsonld"] + }, + "application/lgr+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lgr"] + }, + "application/link-format": { + "source": "iana" + }, + "application/load-control+xml": { + "source": "iana", + "compressible": true + }, + "application/lost+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lostxml"] + }, + "application/lostsync+xml": { + "source": "iana", + "compressible": true + }, + "application/lpf+zip": { + "source": "iana", + "compressible": false + }, + "application/lxf": { + "source": "iana" + }, + "application/mac-binhex40": { + "source": "iana", + "extensions": ["hqx"] + }, + "application/mac-compactpro": { + "source": "apache", + "extensions": ["cpt"] + }, + "application/macwriteii": { + "source": "iana" + }, + "application/mads+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mads"] + }, + "application/manifest+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["webmanifest"] + }, + "application/marc": { + "source": "iana", + "extensions": ["mrc"] + }, + "application/marcxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mrcx"] + }, + "application/mathematica": { + "source": "iana", + "extensions": ["ma","nb","mb"] + }, + "application/mathml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mathml"] + }, + "application/mathml-content+xml": { + "source": "iana", + "compressible": true + }, + "application/mathml-presentation+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-associated-procedure-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-deregister+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-envelope+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-msk+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-msk-response+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-protection-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-reception-report+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-register+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-register-response+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-schedule+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-user-service-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbox": { + "source": "iana", + "extensions": ["mbox"] + }, + "application/media-policy-dataset+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpf"] + }, + "application/media_control+xml": { + "source": "iana", + "compressible": true + }, + "application/mediaservercontrol+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mscml"] + }, + "application/merge-patch+json": { + "source": "iana", + "compressible": true + }, + "application/metalink+xml": { + "source": "apache", + "compressible": true, + "extensions": ["metalink"] + }, + "application/metalink4+xml": { + "source": "iana", + "compressible": true, + "extensions": ["meta4"] + }, + "application/mets+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mets"] + }, + "application/mf4": { + "source": "iana" + }, + "application/mikey": { + "source": "iana" + }, + "application/mipc": { + "source": "iana" + }, + "application/missing-blocks+cbor-seq": { + "source": "iana" + }, + "application/mmt-aei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["maei"] + }, + "application/mmt-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musd"] + }, + "application/mods+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mods"] + }, + "application/moss-keys": { + "source": "iana" + }, + "application/moss-signature": { + "source": "iana" + }, + "application/mosskey-data": { + "source": "iana" + }, + "application/mosskey-request": { + "source": "iana" + }, + "application/mp21": { + "source": "iana", + "extensions": ["m21","mp21"] + }, + "application/mp4": { + "source": "iana", + "extensions": ["mp4s","m4p"] + }, + "application/mpeg4-generic": { + "source": "iana" + }, + "application/mpeg4-iod": { + "source": "iana" + }, + "application/mpeg4-iod-xmt": { + "source": "iana" + }, + "application/mrb-consumer+xml": { + "source": "iana", + "compressible": true + }, + "application/mrb-publish+xml": { + "source": "iana", + "compressible": true + }, + "application/msc-ivr+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/msc-mixer+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/msword": { + "source": "iana", + "compressible": false, + "extensions": ["doc","dot"] + }, + "application/mud+json": { + "source": "iana", + "compressible": true + }, + "application/multipart-core": { + "source": "iana" + }, + "application/mxf": { + "source": "iana", + "extensions": ["mxf"] + }, + "application/n-quads": { + "source": "iana", + "extensions": ["nq"] + }, + "application/n-triples": { + "source": "iana", + "extensions": ["nt"] + }, + "application/nasdata": { + "source": "iana" + }, + "application/news-checkgroups": { + "source": "iana", + "charset": "US-ASCII" + }, + "application/news-groupinfo": { + "source": "iana", + "charset": "US-ASCII" + }, + "application/news-transmission": { + "source": "iana" + }, + "application/nlsml+xml": { + "source": "iana", + "compressible": true + }, + "application/node": { + "source": "iana", + "extensions": ["cjs"] + }, + "application/nss": { + "source": "iana" + }, + "application/oauth-authz-req+jwt": { + "source": "iana" + }, + "application/oblivious-dns-message": { + "source": "iana" + }, + "application/ocsp-request": { + "source": "iana" + }, + "application/ocsp-response": { + "source": "iana" + }, + "application/octet-stream": { + "source": "iana", + "compressible": false, + "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"] + }, + "application/oda": { + "source": "iana", + "extensions": ["oda"] + }, + "application/odm+xml": { + "source": "iana", + "compressible": true + }, + "application/odx": { + "source": "iana" + }, + "application/oebps-package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["opf"] + }, + "application/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogx"] + }, + "application/omdoc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["omdoc"] + }, + "application/onenote": { + "source": "apache", + "extensions": ["onetoc","onetoc2","onetmp","onepkg"] + }, + "application/opc-nodeset+xml": { + "source": "iana", + "compressible": true + }, + "application/oscore": { + "source": "iana" + }, + "application/oxps": { + "source": "iana", + "extensions": ["oxps"] + }, + "application/p21": { + "source": "iana" + }, + "application/p21+zip": { + "source": "iana", + "compressible": false + }, + "application/p2p-overlay+xml": { + "source": "iana", + "compressible": true, + "extensions": ["relo"] + }, + "application/parityfec": { + "source": "iana" + }, + "application/passport": { + "source": "iana" + }, + "application/patch-ops-error+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xer"] + }, + "application/pdf": { + "source": "iana", + "compressible": false, + "extensions": ["pdf"] + }, + "application/pdx": { + "source": "iana" + }, + "application/pem-certificate-chain": { + "source": "iana" + }, + "application/pgp-encrypted": { + "source": "iana", + "compressible": false, + "extensions": ["pgp"] + }, + "application/pgp-keys": { + "source": "iana", + "extensions": ["asc"] + }, + "application/pgp-signature": { + "source": "iana", + "extensions": ["asc","sig"] + }, + "application/pics-rules": { + "source": "apache", + "extensions": ["prf"] + }, + "application/pidf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/pidf-diff+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/pkcs10": { + "source": "iana", + "extensions": ["p10"] + }, + "application/pkcs12": { + "source": "iana" + }, + "application/pkcs7-mime": { + "source": "iana", + "extensions": ["p7m","p7c"] + }, + "application/pkcs7-signature": { + "source": "iana", + "extensions": ["p7s"] + }, + "application/pkcs8": { + "source": "iana", + "extensions": ["p8"] + }, + "application/pkcs8-encrypted": { + "source": "iana" + }, + "application/pkix-attr-cert": { + "source": "iana", + "extensions": ["ac"] + }, + "application/pkix-cert": { + "source": "iana", + "extensions": ["cer"] + }, + "application/pkix-crl": { + "source": "iana", + "extensions": ["crl"] + }, + "application/pkix-pkipath": { + "source": "iana", + "extensions": ["pkipath"] + }, + "application/pkixcmp": { + "source": "iana", + "extensions": ["pki"] + }, + "application/pls+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pls"] + }, + "application/poc-settings+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/postscript": { + "source": "iana", + "compressible": true, + "extensions": ["ai","eps","ps"] + }, + "application/ppsp-tracker+json": { + "source": "iana", + "compressible": true + }, + "application/problem+json": { + "source": "iana", + "compressible": true + }, + "application/problem+xml": { + "source": "iana", + "compressible": true + }, + "application/provenance+xml": { + "source": "iana", + "compressible": true, + "extensions": ["provx"] + }, + "application/prs.alvestrand.titrax-sheet": { + "source": "iana" + }, + "application/prs.cww": { + "source": "iana", + "extensions": ["cww"] + }, + "application/prs.cyn": { + "source": "iana", + "charset": "7-BIT" + }, + "application/prs.hpub+zip": { + "source": "iana", + "compressible": false + }, + "application/prs.nprend": { + "source": "iana" + }, + "application/prs.plucker": { + "source": "iana" + }, + "application/prs.rdf-xml-crypt": { + "source": "iana" + }, + "application/prs.xsf+xml": { + "source": "iana", + "compressible": true + }, + "application/pskc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pskcxml"] + }, + "application/pvd+json": { + "source": "iana", + "compressible": true + }, + "application/qsig": { + "source": "iana" + }, + "application/raml+yaml": { + "compressible": true, + "extensions": ["raml"] + }, + "application/raptorfec": { + "source": "iana" + }, + "application/rdap+json": { + "source": "iana", + "compressible": true + }, + "application/rdf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rdf","owl"] + }, + "application/reginfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rif"] + }, + "application/relax-ng-compact-syntax": { + "source": "iana", + "extensions": ["rnc"] + }, + "application/remote-printing": { + "source": "iana" + }, + "application/reputon+json": { + "source": "iana", + "compressible": true + }, + "application/resource-lists+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rl"] + }, + "application/resource-lists-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rld"] + }, + "application/rfc+xml": { + "source": "iana", + "compressible": true + }, + "application/riscos": { + "source": "iana" + }, + "application/rlmi+xml": { + "source": "iana", + "compressible": true + }, + "application/rls-services+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rs"] + }, + "application/route-apd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rapd"] + }, + "application/route-s-tsid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sls"] + }, + "application/route-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rusd"] + }, + "application/rpki-ghostbusters": { + "source": "iana", + "extensions": ["gbr"] + }, + "application/rpki-manifest": { + "source": "iana", + "extensions": ["mft"] + }, + "application/rpki-publication": { + "source": "iana" + }, + "application/rpki-roa": { + "source": "iana", + "extensions": ["roa"] + }, + "application/rpki-updown": { + "source": "iana" + }, + "application/rsd+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rsd"] + }, + "application/rss+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rss"] + }, + "application/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "application/rtploopback": { + "source": "iana" + }, + "application/rtx": { + "source": "iana" + }, + "application/samlassertion+xml": { + "source": "iana", + "compressible": true + }, + "application/samlmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/sarif+json": { + "source": "iana", + "compressible": true + }, + "application/sarif-external-properties+json": { + "source": "iana", + "compressible": true + }, + "application/sbe": { + "source": "iana" + }, + "application/sbml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sbml"] + }, + "application/scaip+xml": { + "source": "iana", + "compressible": true + }, + "application/scim+json": { + "source": "iana", + "compressible": true + }, + "application/scvp-cv-request": { + "source": "iana", + "extensions": ["scq"] + }, + "application/scvp-cv-response": { + "source": "iana", + "extensions": ["scs"] + }, + "application/scvp-vp-request": { + "source": "iana", + "extensions": ["spq"] + }, + "application/scvp-vp-response": { + "source": "iana", + "extensions": ["spp"] + }, + "application/sdp": { + "source": "iana", + "extensions": ["sdp"] + }, + "application/secevent+jwt": { + "source": "iana" + }, + "application/senml+cbor": { + "source": "iana" + }, + "application/senml+json": { + "source": "iana", + "compressible": true + }, + "application/senml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["senmlx"] + }, + "application/senml-etch+cbor": { + "source": "iana" + }, + "application/senml-etch+json": { + "source": "iana", + "compressible": true + }, + "application/senml-exi": { + "source": "iana" + }, + "application/sensml+cbor": { + "source": "iana" + }, + "application/sensml+json": { + "source": "iana", + "compressible": true + }, + "application/sensml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sensmlx"] + }, + "application/sensml-exi": { + "source": "iana" + }, + "application/sep+xml": { + "source": "iana", + "compressible": true + }, + "application/sep-exi": { + "source": "iana" + }, + "application/session-info": { + "source": "iana" + }, + "application/set-payment": { + "source": "iana" + }, + "application/set-payment-initiation": { + "source": "iana", + "extensions": ["setpay"] + }, + "application/set-registration": { + "source": "iana" + }, + "application/set-registration-initiation": { + "source": "iana", + "extensions": ["setreg"] + }, + "application/sgml": { + "source": "iana" + }, + "application/sgml-open-catalog": { + "source": "iana" + }, + "application/shf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["shf"] + }, + "application/sieve": { + "source": "iana", + "extensions": ["siv","sieve"] + }, + "application/simple-filter+xml": { + "source": "iana", + "compressible": true + }, + "application/simple-message-summary": { + "source": "iana" + }, + "application/simplesymbolcontainer": { + "source": "iana" + }, + "application/sipc": { + "source": "iana" + }, + "application/slate": { + "source": "iana" + }, + "application/smil": { + "source": "iana" + }, + "application/smil+xml": { + "source": "iana", + "compressible": true, + "extensions": ["smi","smil"] + }, + "application/smpte336m": { + "source": "iana" + }, + "application/soap+fastinfoset": { + "source": "iana" + }, + "application/soap+xml": { + "source": "iana", + "compressible": true + }, + "application/sparql-query": { + "source": "iana", + "extensions": ["rq"] + }, + "application/sparql-results+xml": { + "source": "iana", + "compressible": true, + "extensions": ["srx"] + }, + "application/spdx+json": { + "source": "iana", + "compressible": true + }, + "application/spirits-event+xml": { + "source": "iana", + "compressible": true + }, + "application/sql": { + "source": "iana" + }, + "application/srgs": { + "source": "iana", + "extensions": ["gram"] + }, + "application/srgs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["grxml"] + }, + "application/sru+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sru"] + }, + "application/ssdl+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ssdl"] + }, + "application/ssml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ssml"] + }, + "application/stix+json": { + "source": "iana", + "compressible": true + }, + "application/swid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["swidtag"] + }, + "application/tamp-apex-update": { + "source": "iana" + }, + "application/tamp-apex-update-confirm": { + "source": "iana" + }, + "application/tamp-community-update": { + "source": "iana" + }, + "application/tamp-community-update-confirm": { + "source": "iana" + }, + "application/tamp-error": { + "source": "iana" + }, + "application/tamp-sequence-adjust": { + "source": "iana" + }, + "application/tamp-sequence-adjust-confirm": { + "source": "iana" + }, + "application/tamp-status-query": { + "source": "iana" + }, + "application/tamp-status-response": { + "source": "iana" + }, + "application/tamp-update": { + "source": "iana" + }, + "application/tamp-update-confirm": { + "source": "iana" + }, + "application/tar": { + "compressible": true + }, + "application/taxii+json": { + "source": "iana", + "compressible": true + }, + "application/td+json": { + "source": "iana", + "compressible": true + }, + "application/tei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tei","teicorpus"] + }, + "application/tetra_isi": { + "source": "iana" + }, + "application/thraud+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tfi"] + }, + "application/timestamp-query": { + "source": "iana" + }, + "application/timestamp-reply": { + "source": "iana" + }, + "application/timestamped-data": { + "source": "iana", + "extensions": ["tsd"] + }, + "application/tlsrpt+gzip": { + "source": "iana" + }, + "application/tlsrpt+json": { + "source": "iana", + "compressible": true + }, + "application/tnauthlist": { + "source": "iana" + }, + "application/token-introspection+jwt": { + "source": "iana" + }, + "application/toml": { + "compressible": true, + "extensions": ["toml"] + }, + "application/trickle-ice-sdpfrag": { + "source": "iana" + }, + "application/trig": { + "source": "iana", + "extensions": ["trig"] + }, + "application/ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ttml"] + }, + "application/tve-trigger": { + "source": "iana" + }, + "application/tzif": { + "source": "iana" + }, + "application/tzif-leap": { + "source": "iana" + }, + "application/ubjson": { + "compressible": false, + "extensions": ["ubj"] + }, + "application/ulpfec": { + "source": "iana" + }, + "application/urc-grpsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/urc-ressheet+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsheet"] + }, + "application/urc-targetdesc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["td"] + }, + "application/urc-uisocketdesc+xml": { + "source": "iana", + "compressible": true + }, + "application/vcard+json": { + "source": "iana", + "compressible": true + }, + "application/vcard+xml": { + "source": "iana", + "compressible": true + }, + "application/vemmi": { + "source": "iana" + }, + "application/vividence.scriptfile": { + "source": "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + "source": "iana", + "compressible": true, + "extensions": ["1km"] + }, + "application/vnd.3gpp-prose+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-v2x-local-service-information": { + "source": "iana" + }, + "application/vnd.3gpp.5gnas": { + "source": "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.bsf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.gmop+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.gtpc": { + "source": "iana" + }, + "application/vnd.3gpp.interworking-data": { + "source": "iana" + }, + "application/vnd.3gpp.lpp": { + "source": "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-payload": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-signalling": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-affiliation-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mid-call+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.ngap": { + "source": "iana" + }, + "application/vnd.3gpp.pfcp": { + "source": "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + "source": "iana", + "extensions": ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + "source": "iana", + "extensions": ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + "source": "iana", + "extensions": ["pvb"] + }, + "application/vnd.3gpp.s1ap": { + "source": "iana" + }, + "application/vnd.3gpp.sms": { + "source": "iana" + }, + "application/vnd.3gpp.sms+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.srvcc-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.ussd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp2.sms": { + "source": "iana" + }, + "application/vnd.3gpp2.tcap": { + "source": "iana", + "extensions": ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + "source": "iana" + }, + "application/vnd.3m.post-it-notes": { + "source": "iana", + "extensions": ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + "source": "iana", + "extensions": ["aso"] + }, + "application/vnd.accpac.simply.imp": { + "source": "iana", + "extensions": ["imp"] + }, + "application/vnd.acucobol": { + "source": "iana", + "extensions": ["acu"] + }, + "application/vnd.acucorp": { + "source": "iana", + "extensions": ["atc","acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + "source": "apache", + "compressible": false, + "extensions": ["air"] + }, + "application/vnd.adobe.flash.movie": { + "source": "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + "source": "iana", + "extensions": ["fcdt"] + }, + "application/vnd.adobe.fxp": { + "source": "iana", + "extensions": ["fxp","fxpl"] + }, + "application/vnd.adobe.partial-upload": { + "source": "iana" + }, + "application/vnd.adobe.xdp+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdp"] + }, + "application/vnd.adobe.xfdf": { + "source": "iana", + "extensions": ["xfdf"] + }, + "application/vnd.aether.imp": { + "source": "iana" + }, + "application/vnd.afpc.afplinedata": { + "source": "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + "source": "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + "source": "iana" + }, + "application/vnd.afpc.foca-charset": { + "source": "iana" + }, + "application/vnd.afpc.foca-codedfont": { + "source": "iana" + }, + "application/vnd.afpc.foca-codepage": { + "source": "iana" + }, + "application/vnd.afpc.modca": { + "source": "iana" + }, + "application/vnd.afpc.modca-cmtable": { + "source": "iana" + }, + "application/vnd.afpc.modca-formdef": { + "source": "iana" + }, + "application/vnd.afpc.modca-mediummap": { + "source": "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + "source": "iana" + }, + "application/vnd.afpc.modca-overlay": { + "source": "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + "source": "iana" + }, + "application/vnd.age": { + "source": "iana", + "extensions": ["age"] + }, + "application/vnd.ah-barcode": { + "source": "iana" + }, + "application/vnd.ahead.space": { + "source": "iana", + "extensions": ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + "source": "iana", + "extensions": ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + "source": "iana", + "extensions": ["azs"] + }, + "application/vnd.amadeus+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.amazon.ebook": { + "source": "apache", + "extensions": ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + "source": "iana" + }, + "application/vnd.americandynamics.acc": { + "source": "iana", + "extensions": ["acc"] + }, + "application/vnd.amiga.ami": { + "source": "iana", + "extensions": ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.android.ota": { + "source": "iana" + }, + "application/vnd.android.package-archive": { + "source": "apache", + "compressible": false, + "extensions": ["apk"] + }, + "application/vnd.anki": { + "source": "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + "source": "iana", + "extensions": ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + "source": "apache", + "extensions": ["fti"] + }, + "application/vnd.antix.game-component": { + "source": "iana", + "extensions": ["atx"] + }, + "application/vnd.apache.arrow.file": { + "source": "iana" + }, + "application/vnd.apache.arrow.stream": { + "source": "iana" + }, + "application/vnd.apache.thrift.binary": { + "source": "iana" + }, + "application/vnd.apache.thrift.compact": { + "source": "iana" + }, + "application/vnd.apache.thrift.json": { + "source": "iana" + }, + "application/vnd.api+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.aplextor.warrp+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apothekende.reservation+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apple.installer+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpkg"] + }, + "application/vnd.apple.keynote": { + "source": "iana", + "extensions": ["key"] + }, + "application/vnd.apple.mpegurl": { + "source": "iana", + "extensions": ["m3u8"] + }, + "application/vnd.apple.numbers": { + "source": "iana", + "extensions": ["numbers"] + }, + "application/vnd.apple.pages": { + "source": "iana", + "extensions": ["pages"] + }, + "application/vnd.apple.pkpass": { + "compressible": false, + "extensions": ["pkpass"] + }, + "application/vnd.arastra.swi": { + "source": "iana" + }, + "application/vnd.aristanetworks.swi": { + "source": "iana", + "extensions": ["swi"] + }, + "application/vnd.artisan+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.artsquare": { + "source": "iana" + }, + "application/vnd.astraea-software.iota": { + "source": "iana", + "extensions": ["iota"] + }, + "application/vnd.audiograph": { + "source": "iana", + "extensions": ["aep"] + }, + "application/vnd.autopackage": { + "source": "iana" + }, + "application/vnd.avalon+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.avistar+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.balsamiq.bmml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + "source": "iana" + }, + "application/vnd.banana-accounting": { + "source": "iana" + }, + "application/vnd.bbf.usp.error": { + "source": "iana" + }, + "application/vnd.bbf.usp.msg": { + "source": "iana" + }, + "application/vnd.bbf.usp.msg+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.bekitzur-stech+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.bint.med-content": { + "source": "iana" + }, + "application/vnd.biopax.rdf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.blink-idb-value-wrapper": { + "source": "iana" + }, + "application/vnd.blueice.multipass": { + "source": "iana", + "extensions": ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + "source": "iana" + }, + "application/vnd.bluetooth.le.oob": { + "source": "iana" + }, + "application/vnd.bmi": { + "source": "iana", + "extensions": ["bmi"] + }, + "application/vnd.bpf": { + "source": "iana" + }, + "application/vnd.bpf3": { + "source": "iana" + }, + "application/vnd.businessobjects": { + "source": "iana", + "extensions": ["rep"] + }, + "application/vnd.byu.uapi+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cab-jscript": { + "source": "iana" + }, + "application/vnd.canon-cpdl": { + "source": "iana" + }, + "application/vnd.canon-lips": { + "source": "iana" + }, + "application/vnd.capasystems-pg+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cendio.thinlinc.clientconf": { + "source": "iana" + }, + "application/vnd.century-systems.tcp_stream": { + "source": "iana" + }, + "application/vnd.chemdraw+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdxml"] + }, + "application/vnd.chess-pgn": { + "source": "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + "source": "iana", + "extensions": ["mmd"] + }, + "application/vnd.ciedi": { + "source": "iana" + }, + "application/vnd.cinderella": { + "source": "iana", + "extensions": ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + "source": "iana" + }, + "application/vnd.citationstyles.style+xml": { + "source": "iana", + "compressible": true, + "extensions": ["csl"] + }, + "application/vnd.claymore": { + "source": "iana", + "extensions": ["cla"] + }, + "application/vnd.cloanto.rp9": { + "source": "iana", + "extensions": ["rp9"] + }, + "application/vnd.clonk.c4group": { + "source": "iana", + "extensions": ["c4g","c4d","c4f","c4p","c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + "source": "iana", + "extensions": ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + "source": "iana", + "extensions": ["c11amz"] + }, + "application/vnd.coffeescript": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.document": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + "source": "iana" + }, + "application/vnd.collection+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.doc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.next+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.comicbook+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.comicbook-rar": { + "source": "iana" + }, + "application/vnd.commerce-battelle": { + "source": "iana" + }, + "application/vnd.commonspace": { + "source": "iana", + "extensions": ["csp"] + }, + "application/vnd.contact.cmsg": { + "source": "iana", + "extensions": ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cosmocaller": { + "source": "iana", + "extensions": ["cmc"] + }, + "application/vnd.crick.clicker": { + "source": "iana", + "extensions": ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + "source": "iana", + "extensions": ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + "source": "iana", + "extensions": ["clkp"] + }, + "application/vnd.crick.clicker.template": { + "source": "iana", + "extensions": ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + "source": "iana", + "extensions": ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.crypto-shade-file": { + "source": "iana" + }, + "application/vnd.cryptomator.encrypted": { + "source": "iana" + }, + "application/vnd.cryptomator.vault": { + "source": "iana" + }, + "application/vnd.ctc-posml": { + "source": "iana", + "extensions": ["pml"] + }, + "application/vnd.ctct.ws+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.cups-pdf": { + "source": "iana" + }, + "application/vnd.cups-postscript": { + "source": "iana" + }, + "application/vnd.cups-ppd": { + "source": "iana", + "extensions": ["ppd"] + }, + "application/vnd.cups-raster": { + "source": "iana" + }, + "application/vnd.cups-raw": { + "source": "iana" + }, + "application/vnd.curl": { + "source": "iana" + }, + "application/vnd.curl.car": { + "source": "apache", + "extensions": ["car"] + }, + "application/vnd.curl.pcurl": { + "source": "apache", + "extensions": ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.cybank": { + "source": "iana" + }, + "application/vnd.cyclonedx+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cyclonedx+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.d3m-dataset": { + "source": "iana" + }, + "application/vnd.d3m-problem": { + "source": "iana" + }, + "application/vnd.dart": { + "source": "iana", + "compressible": true, + "extensions": ["dart"] + }, + "application/vnd.data-vision.rdz": { + "source": "iana", + "extensions": ["rdz"] + }, + "application/vnd.datapackage+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dataresource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dbf": { + "source": "iana", + "extensions": ["dbf"] + }, + "application/vnd.debian.binary-package": { + "source": "iana" + }, + "application/vnd.dece.data": { + "source": "iana", + "extensions": ["uvf","uvvf","uvd","uvvd"] + }, + "application/vnd.dece.ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uvt","uvvt"] + }, + "application/vnd.dece.unspecified": { + "source": "iana", + "extensions": ["uvx","uvvx"] + }, + "application/vnd.dece.zip": { + "source": "iana", + "extensions": ["uvz","uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + "source": "iana", + "extensions": ["fe_launch"] + }, + "application/vnd.desmume.movie": { + "source": "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + "source": "iana" + }, + "application/vnd.dm.delegation+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dna": { + "source": "iana", + "extensions": ["dna"] + }, + "application/vnd.document+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dolby.mlp": { + "source": "apache", + "extensions": ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + "source": "iana" + }, + "application/vnd.dolby.mobile.2": { + "source": "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + "source": "iana" + }, + "application/vnd.dpgraph": { + "source": "iana", + "extensions": ["dpg"] + }, + "application/vnd.dreamfactory": { + "source": "iana", + "extensions": ["dfac"] + }, + "application/vnd.drive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ds-keypoint": { + "source": "apache", + "extensions": ["kpxx"] + }, + "application/vnd.dtg.local": { + "source": "iana" + }, + "application/vnd.dtg.local.flash": { + "source": "iana" + }, + "application/vnd.dtg.local.html": { + "source": "iana" + }, + "application/vnd.dvb.ait": { + "source": "iana", + "extensions": ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.dvbj": { + "source": "iana" + }, + "application/vnd.dvb.esgcontainer": { + "source": "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + "source": "iana" + }, + "application/vnd.dvb.ipdcroaming": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + "source": "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-container+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-generic+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-init+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.pfr": { + "source": "iana" + }, + "application/vnd.dvb.service": { + "source": "iana", + "extensions": ["svc"] + }, + "application/vnd.dxr": { + "source": "iana" + }, + "application/vnd.dynageo": { + "source": "iana", + "extensions": ["geo"] + }, + "application/vnd.dzr": { + "source": "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + "source": "iana" + }, + "application/vnd.ecdis-update": { + "source": "iana" + }, + "application/vnd.ecip.rlp": { + "source": "iana" + }, + "application/vnd.eclipse.ditto+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ecowin.chart": { + "source": "iana", + "extensions": ["mag"] + }, + "application/vnd.ecowin.filerequest": { + "source": "iana" + }, + "application/vnd.ecowin.fileupdate": { + "source": "iana" + }, + "application/vnd.ecowin.series": { + "source": "iana" + }, + "application/vnd.ecowin.seriesrequest": { + "source": "iana" + }, + "application/vnd.ecowin.seriesupdate": { + "source": "iana" + }, + "application/vnd.efi.img": { + "source": "iana" + }, + "application/vnd.efi.iso": { + "source": "iana" + }, + "application/vnd.emclient.accessrequest+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.enliven": { + "source": "iana", + "extensions": ["nml"] + }, + "application/vnd.enphase.envoy": { + "source": "iana" + }, + "application/vnd.eprints.data+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.epson.esf": { + "source": "iana", + "extensions": ["esf"] + }, + "application/vnd.epson.msf": { + "source": "iana", + "extensions": ["msf"] + }, + "application/vnd.epson.quickanime": { + "source": "iana", + "extensions": ["qam"] + }, + "application/vnd.epson.salt": { + "source": "iana", + "extensions": ["slt"] + }, + "application/vnd.epson.ssf": { + "source": "iana", + "extensions": ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + "source": "iana" + }, + "application/vnd.espass-espass+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.eszigno3+xml": { + "source": "iana", + "compressible": true, + "extensions": ["es3","et3"] + }, + "application/vnd.etsi.aoc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.asic-e+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.etsi.asic-s+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.etsi.cug+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvcommand+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvservice+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsync+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvueprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.mcid+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.mheg5": { + "source": "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.pstn+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.sci+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.simservs+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.timestamp-token": { + "source": "iana" + }, + "application/vnd.etsi.tsl+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.tsl.der": { + "source": "iana" + }, + "application/vnd.eu.kasparian.car+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.eudora.data": { + "source": "iana" + }, + "application/vnd.evolv.ecig.profile": { + "source": "iana" + }, + "application/vnd.evolv.ecig.settings": { + "source": "iana" + }, + "application/vnd.evolv.ecig.theme": { + "source": "iana" + }, + "application/vnd.exstream-empower+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.exstream-package": { + "source": "iana" + }, + "application/vnd.ezpix-album": { + "source": "iana", + "extensions": ["ez2"] + }, + "application/vnd.ezpix-package": { + "source": "iana", + "extensions": ["ez3"] + }, + "application/vnd.f-secure.mobile": { + "source": "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.fastcopy-disk-image": { + "source": "iana" + }, + "application/vnd.fdf": { + "source": "iana", + "extensions": ["fdf"] + }, + "application/vnd.fdsn.mseed": { + "source": "iana", + "extensions": ["mseed"] + }, + "application/vnd.fdsn.seed": { + "source": "iana", + "extensions": ["seed","dataless"] + }, + "application/vnd.ffsns": { + "source": "iana" + }, + "application/vnd.ficlab.flb+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.filmit.zfc": { + "source": "iana" + }, + "application/vnd.fints": { + "source": "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + "source": "iana" + }, + "application/vnd.flographit": { + "source": "iana", + "extensions": ["gph"] + }, + "application/vnd.fluxtime.clip": { + "source": "iana", + "extensions": ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + "source": "iana" + }, + "application/vnd.framemaker": { + "source": "iana", + "extensions": ["fm","frame","maker","book"] + }, + "application/vnd.frogans.fnc": { + "source": "iana", + "extensions": ["fnc"] + }, + "application/vnd.frogans.ltf": { + "source": "iana", + "extensions": ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + "source": "iana", + "extensions": ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.fujitsu.oasys": { + "source": "iana", + "extensions": ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + "source": "iana", + "extensions": ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + "source": "iana", + "extensions": ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + "source": "iana", + "extensions": ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + "source": "iana", + "extensions": ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + "source": "iana" + }, + "application/vnd.fujixerox.art4": { + "source": "iana" + }, + "application/vnd.fujixerox.ddd": { + "source": "iana", + "extensions": ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + "source": "iana", + "extensions": ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + "source": "iana", + "extensions": ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujixerox.hbpl": { + "source": "iana" + }, + "application/vnd.fut-misnet": { + "source": "iana" + }, + "application/vnd.futoin+cbor": { + "source": "iana" + }, + "application/vnd.futoin+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.fuzzysheet": { + "source": "iana", + "extensions": ["fzs"] + }, + "application/vnd.genomatix.tuxedo": { + "source": "iana", + "extensions": ["txd"] + }, + "application/vnd.gentics.grd+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.geo+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.geocube+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.geogebra.file": { + "source": "iana", + "extensions": ["ggb"] + }, + "application/vnd.geogebra.slides": { + "source": "iana" + }, + "application/vnd.geogebra.tool": { + "source": "iana", + "extensions": ["ggt"] + }, + "application/vnd.geometry-explorer": { + "source": "iana", + "extensions": ["gex","gre"] + }, + "application/vnd.geonext": { + "source": "iana", + "extensions": ["gxt"] + }, + "application/vnd.geoplan": { + "source": "iana", + "extensions": ["g2w"] + }, + "application/vnd.geospace": { + "source": "iana", + "extensions": ["g3w"] + }, + "application/vnd.gerber": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + "source": "iana" + }, + "application/vnd.gmx": { + "source": "iana", + "extensions": ["gmx"] + }, + "application/vnd.google-apps.document": { + "compressible": false, + "extensions": ["gdoc"] + }, + "application/vnd.google-apps.presentation": { + "compressible": false, + "extensions": ["gslides"] + }, + "application/vnd.google-apps.spreadsheet": { + "compressible": false, + "extensions": ["gsheet"] + }, + "application/vnd.google-earth.kml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["kml"] + }, + "application/vnd.google-earth.kmz": { + "source": "iana", + "compressible": false, + "extensions": ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.gov.sk.e-form+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.grafeq": { + "source": "iana", + "extensions": ["gqf","gqs"] + }, + "application/vnd.gridmp": { + "source": "iana" + }, + "application/vnd.groove-account": { + "source": "iana", + "extensions": ["gac"] + }, + "application/vnd.groove-help": { + "source": "iana", + "extensions": ["ghf"] + }, + "application/vnd.groove-identity-message": { + "source": "iana", + "extensions": ["gim"] + }, + "application/vnd.groove-injector": { + "source": "iana", + "extensions": ["grv"] + }, + "application/vnd.groove-tool-message": { + "source": "iana", + "extensions": ["gtm"] + }, + "application/vnd.groove-tool-template": { + "source": "iana", + "extensions": ["tpl"] + }, + "application/vnd.groove-vcard": { + "source": "iana", + "extensions": ["vcg"] + }, + "application/vnd.hal+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hal+xml": { + "source": "iana", + "compressible": true, + "extensions": ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zmm"] + }, + "application/vnd.hbci": { + "source": "iana", + "extensions": ["hbci"] + }, + "application/vnd.hc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hcl-bireports": { + "source": "iana" + }, + "application/vnd.hdt": { + "source": "iana" + }, + "application/vnd.heroku+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hhe.lesson-player": { + "source": "iana", + "extensions": ["les"] + }, + "application/vnd.hl7cda+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.hl7v2+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.hp-hpgl": { + "source": "iana", + "extensions": ["hpgl"] + }, + "application/vnd.hp-hpid": { + "source": "iana", + "extensions": ["hpid"] + }, + "application/vnd.hp-hps": { + "source": "iana", + "extensions": ["hps"] + }, + "application/vnd.hp-jlyt": { + "source": "iana", + "extensions": ["jlt"] + }, + "application/vnd.hp-pcl": { + "source": "iana", + "extensions": ["pcl"] + }, + "application/vnd.hp-pclxl": { + "source": "iana", + "extensions": ["pclxl"] + }, + "application/vnd.httphone": { + "source": "iana" + }, + "application/vnd.hydrostatix.sof-data": { + "source": "iana", + "extensions": ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hyper-item+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hyperdrive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hzn-3d-crossword": { + "source": "iana" + }, + "application/vnd.ibm.afplinedata": { + "source": "iana" + }, + "application/vnd.ibm.electronic-media": { + "source": "iana" + }, + "application/vnd.ibm.minipay": { + "source": "iana", + "extensions": ["mpy"] + }, + "application/vnd.ibm.modcap": { + "source": "iana", + "extensions": ["afp","listafp","list3820"] + }, + "application/vnd.ibm.rights-management": { + "source": "iana", + "extensions": ["irm"] + }, + "application/vnd.ibm.secure-container": { + "source": "iana", + "extensions": ["sc"] + }, + "application/vnd.iccprofile": { + "source": "iana", + "extensions": ["icc","icm"] + }, + "application/vnd.ieee.1905": { + "source": "iana" + }, + "application/vnd.igloader": { + "source": "iana", + "extensions": ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.imagemeter.image+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.immervision-ivp": { + "source": "iana", + "extensions": ["ivp"] + }, + "application/vnd.immervision-ivu": { + "source": "iana", + "extensions": ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p2": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p3": { + "source": "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.informedcontrol.rms+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.informix-visionary": { + "source": "iana" + }, + "application/vnd.infotech.project": { + "source": "iana" + }, + "application/vnd.infotech.project+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.innopath.wamp.notification": { + "source": "iana" + }, + "application/vnd.insors.igm": { + "source": "iana", + "extensions": ["igm"] + }, + "application/vnd.intercon.formnet": { + "source": "iana", + "extensions": ["xpw","xpx"] + }, + "application/vnd.intergeo": { + "source": "iana", + "extensions": ["i2g"] + }, + "application/vnd.intertrust.digibox": { + "source": "iana" + }, + "application/vnd.intertrust.nncp": { + "source": "iana" + }, + "application/vnd.intu.qbo": { + "source": "iana", + "extensions": ["qbo"] + }, + "application/vnd.intu.qfx": { + "source": "iana", + "extensions": ["qfx"] + }, + "application/vnd.iptc.g2.catalogitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.newsitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.packageitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.planningitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ipunplugged.rcprofile": { + "source": "iana", + "extensions": ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["irp"] + }, + "application/vnd.is-xpr": { + "source": "iana", + "extensions": ["xpr"] + }, + "application/vnd.isac.fcs": { + "source": "iana", + "extensions": ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.jam": { + "source": "iana", + "extensions": ["jam"] + }, + "application/vnd.japannet-directory-service": { + "source": "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-payment-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-registration": { + "source": "iana" + }, + "application/vnd.japannet-registration-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-verification": { + "source": "iana" + }, + "application/vnd.japannet-verification-wakeup": { + "source": "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + "source": "iana", + "extensions": ["rms"] + }, + "application/vnd.jisp": { + "source": "iana", + "extensions": ["jisp"] + }, + "application/vnd.joost.joda-archive": { + "source": "iana", + "extensions": ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + "source": "iana" + }, + "application/vnd.kahootz": { + "source": "iana", + "extensions": ["ktz","ktr"] + }, + "application/vnd.kde.karbon": { + "source": "iana", + "extensions": ["karbon"] + }, + "application/vnd.kde.kchart": { + "source": "iana", + "extensions": ["chrt"] + }, + "application/vnd.kde.kformula": { + "source": "iana", + "extensions": ["kfo"] + }, + "application/vnd.kde.kivio": { + "source": "iana", + "extensions": ["flw"] + }, + "application/vnd.kde.kontour": { + "source": "iana", + "extensions": ["kon"] + }, + "application/vnd.kde.kpresenter": { + "source": "iana", + "extensions": ["kpr","kpt"] + }, + "application/vnd.kde.kspread": { + "source": "iana", + "extensions": ["ksp"] + }, + "application/vnd.kde.kword": { + "source": "iana", + "extensions": ["kwd","kwt"] + }, + "application/vnd.kenameaapp": { + "source": "iana", + "extensions": ["htke"] + }, + "application/vnd.kidspiration": { + "source": "iana", + "extensions": ["kia"] + }, + "application/vnd.kinar": { + "source": "iana", + "extensions": ["kne","knp"] + }, + "application/vnd.koan": { + "source": "iana", + "extensions": ["skp","skd","skt","skm"] + }, + "application/vnd.kodak-descriptor": { + "source": "iana", + "extensions": ["sse"] + }, + "application/vnd.las": { + "source": "iana" + }, + "application/vnd.las.las+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.las.las+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lasxml"] + }, + "application/vnd.laszip": { + "source": "iana" + }, + "application/vnd.leap+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.liberty-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + "source": "iana", + "extensions": ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.loom": { + "source": "iana" + }, + "application/vnd.lotus-1-2-3": { + "source": "iana", + "extensions": ["123"] + }, + "application/vnd.lotus-approach": { + "source": "iana", + "extensions": ["apr"] + }, + "application/vnd.lotus-freelance": { + "source": "iana", + "extensions": ["pre"] + }, + "application/vnd.lotus-notes": { + "source": "iana", + "extensions": ["nsf"] + }, + "application/vnd.lotus-organizer": { + "source": "iana", + "extensions": ["org"] + }, + "application/vnd.lotus-screencam": { + "source": "iana", + "extensions": ["scm"] + }, + "application/vnd.lotus-wordpro": { + "source": "iana", + "extensions": ["lwp"] + }, + "application/vnd.macports.portpkg": { + "source": "iana", + "extensions": ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + "source": "iana", + "extensions": ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.conftoken+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.license+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.mdcf": { + "source": "iana" + }, + "application/vnd.mason+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.maxar.archive.3tz+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.maxmind.maxmind-db": { + "source": "iana" + }, + "application/vnd.mcd": { + "source": "iana", + "extensions": ["mcd"] + }, + "application/vnd.medcalcdata": { + "source": "iana", + "extensions": ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + "source": "iana", + "extensions": ["cdkey"] + }, + "application/vnd.meridian-slingshot": { + "source": "iana" + }, + "application/vnd.mfer": { + "source": "iana", + "extensions": ["mwf"] + }, + "application/vnd.mfmp": { + "source": "iana", + "extensions": ["mfm"] + }, + "application/vnd.micro+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.micrografx.flo": { + "source": "iana", + "extensions": ["flo"] + }, + "application/vnd.micrografx.igx": { + "source": "iana", + "extensions": ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + "source": "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + "source": "iana" + }, + "application/vnd.miele+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.mif": { + "source": "iana", + "extensions": ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + "source": "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + "source": "iana" + }, + "application/vnd.mobius.daf": { + "source": "iana", + "extensions": ["daf"] + }, + "application/vnd.mobius.dis": { + "source": "iana", + "extensions": ["dis"] + }, + "application/vnd.mobius.mbk": { + "source": "iana", + "extensions": ["mbk"] + }, + "application/vnd.mobius.mqy": { + "source": "iana", + "extensions": ["mqy"] + }, + "application/vnd.mobius.msl": { + "source": "iana", + "extensions": ["msl"] + }, + "application/vnd.mobius.plc": { + "source": "iana", + "extensions": ["plc"] + }, + "application/vnd.mobius.txf": { + "source": "iana", + "extensions": ["txf"] + }, + "application/vnd.mophun.application": { + "source": "iana", + "extensions": ["mpn"] + }, + "application/vnd.mophun.certificate": { + "source": "iana", + "extensions": ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + "source": "iana" + }, + "application/vnd.motorola.iprm": { + "source": "iana" + }, + "application/vnd.mozilla.xul+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xul"] + }, + "application/vnd.ms-3mfdocument": { + "source": "iana" + }, + "application/vnd.ms-artgalry": { + "source": "iana", + "extensions": ["cil"] + }, + "application/vnd.ms-asf": { + "source": "iana" + }, + "application/vnd.ms-cab-compressed": { + "source": "iana", + "extensions": ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + "source": "apache" + }, + "application/vnd.ms-excel": { + "source": "iana", + "compressible": false, + "extensions": ["xls","xlm","xla","xlc","xlt","xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + "source": "iana", + "extensions": ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + "source": "iana", + "extensions": ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + "source": "iana", + "extensions": ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + "source": "iana", + "extensions": ["xltm"] + }, + "application/vnd.ms-fontobject": { + "source": "iana", + "compressible": true, + "extensions": ["eot"] + }, + "application/vnd.ms-htmlhelp": { + "source": "iana", + "extensions": ["chm"] + }, + "application/vnd.ms-ims": { + "source": "iana", + "extensions": ["ims"] + }, + "application/vnd.ms-lrm": { + "source": "iana", + "extensions": ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-officetheme": { + "source": "iana", + "extensions": ["thmx"] + }, + "application/vnd.ms-opentype": { + "source": "apache", + "compressible": true + }, + "application/vnd.ms-outlook": { + "compressible": false, + "extensions": ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + "source": "apache" + }, + "application/vnd.ms-pki.seccat": { + "source": "apache", + "extensions": ["cat"] + }, + "application/vnd.ms-pki.stl": { + "source": "apache", + "extensions": ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-powerpoint": { + "source": "iana", + "compressible": false, + "extensions": ["ppt","pps","pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + "source": "iana", + "extensions": ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + "source": "iana", + "extensions": ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + "source": "iana", + "extensions": ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + "source": "iana", + "extensions": ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + "source": "iana", + "extensions": ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-printing.printticket+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.ms-printschematicket+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-project": { + "source": "iana", + "extensions": ["mpp","mpt"] + }, + "application/vnd.ms-tnef": { + "source": "iana" + }, + "application/vnd.ms-windows.devicepairing": { + "source": "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + "source": "iana" + }, + "application/vnd.ms-windows.printerpairing": { + "source": "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + "source": "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + "source": "iana", + "extensions": ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + "source": "iana", + "extensions": ["dotm"] + }, + "application/vnd.ms-works": { + "source": "iana", + "extensions": ["wps","wks","wcm","wdb"] + }, + "application/vnd.ms-wpl": { + "source": "iana", + "extensions": ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + "source": "iana", + "compressible": false, + "extensions": ["xps"] + }, + "application/vnd.msa-disk-image": { + "source": "iana" + }, + "application/vnd.mseq": { + "source": "iana", + "extensions": ["mseq"] + }, + "application/vnd.msign": { + "source": "iana" + }, + "application/vnd.multiad.creator": { + "source": "iana" + }, + "application/vnd.multiad.creator.cif": { + "source": "iana" + }, + "application/vnd.music-niff": { + "source": "iana" + }, + "application/vnd.musician": { + "source": "iana", + "extensions": ["mus"] + }, + "application/vnd.muvee.style": { + "source": "iana", + "extensions": ["msty"] + }, + "application/vnd.mynfc": { + "source": "iana", + "extensions": ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ncd.control": { + "source": "iana" + }, + "application/vnd.ncd.reference": { + "source": "iana" + }, + "application/vnd.nearst.inv+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.nebumind.line": { + "source": "iana" + }, + "application/vnd.nervana": { + "source": "iana" + }, + "application/vnd.netfpx": { + "source": "iana" + }, + "application/vnd.neurolanguage.nlu": { + "source": "iana", + "extensions": ["nlu"] + }, + "application/vnd.nimn": { + "source": "iana" + }, + "application/vnd.nintendo.nitro.rom": { + "source": "iana" + }, + "application/vnd.nintendo.snes.rom": { + "source": "iana" + }, + "application/vnd.nitf": { + "source": "iana", + "extensions": ["ntf","nitf"] + }, + "application/vnd.noblenet-directory": { + "source": "iana", + "extensions": ["nnd"] + }, + "application/vnd.noblenet-sealer": { + "source": "iana", + "extensions": ["nns"] + }, + "application/vnd.noblenet-web": { + "source": "iana", + "extensions": ["nnw"] + }, + "application/vnd.nokia.catalogs": { + "source": "iana" + }, + "application/vnd.nokia.conml+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.conml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.iptv.config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.isds-radio-presets": { + "source": "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.landmark+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.landmarkcollection+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.n-gage.ac+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + "source": "iana", + "extensions": ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + "source": "iana", + "extensions": ["n-gage"] + }, + "application/vnd.nokia.ncd": { + "source": "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.pcd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.radio-preset": { + "source": "iana", + "extensions": ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + "source": "iana", + "extensions": ["rpss"] + }, + "application/vnd.novadigm.edm": { + "source": "iana", + "extensions": ["edm"] + }, + "application/vnd.novadigm.edx": { + "source": "iana", + "extensions": ["edx"] + }, + "application/vnd.novadigm.ext": { + "source": "iana", + "extensions": ["ext"] + }, + "application/vnd.ntt-local.content-share": { + "source": "iana" + }, + "application/vnd.ntt-local.file-transfer": { + "source": "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + "source": "iana" + }, + "application/vnd.oasis.opendocument.chart": { + "source": "iana", + "extensions": ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + "source": "iana", + "extensions": ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + "source": "iana", + "extensions": ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + "source": "iana", + "extensions": ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + "source": "iana", + "extensions": ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + "source": "iana", + "compressible": false, + "extensions": ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + "source": "iana", + "extensions": ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + "source": "iana", + "extensions": ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + "source": "iana", + "extensions": ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + "source": "iana", + "extensions": ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + "source": "iana", + "compressible": false, + "extensions": ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + "source": "iana", + "extensions": ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + "source": "iana", + "compressible": false, + "extensions": ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + "source": "iana", + "extensions": ["odm"] + }, + "application/vnd.oasis.opendocument.text-template": { + "source": "iana", + "extensions": ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + "source": "iana", + "extensions": ["oth"] + }, + "application/vnd.obn": { + "source": "iana" + }, + "application/vnd.ocf+cbor": { + "source": "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oftn.l10n+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.cspg-hexbinary": { + "source": "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.dae.xhtml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.pae.gem": { + "source": "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.spdlist+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.ueprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.userprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.olpc-sugar": { + "source": "iana", + "extensions": ["xo"] + }, + "application/vnd.oma-scws-config": { + "source": "iana" + }, + "application/vnd.oma-scws-http-request": { + "source": "iana" + }, + "application/vnd.oma-scws-http-response": { + "source": "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.imd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.ltkm": { + "source": "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgboot": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.sgdu": { + "source": "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + "source": "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.sprov+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.stkm": { + "source": "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-feature-handler+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-pcc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-subs-invite+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-user-prefs+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.dcd": { + "source": "iana" + }, + "application/vnd.oma.dcdc": { + "source": "iana" + }, + "application/vnd.oma.dd2+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.group-usage-list+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.lwm2m+cbor": { + "source": "iana" + }, + "application/vnd.oma.lwm2m+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.lwm2m+tlv": { + "source": "iana" + }, + "application/vnd.oma.pal+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.final-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.groups+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.push": { + "source": "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.xcap-directory+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.omads-email+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omads-file+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omads-folder+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omaloc-supl-init": { + "source": "iana" + }, + "application/vnd.onepager": { + "source": "iana" + }, + "application/vnd.onepagertamp": { + "source": "iana" + }, + "application/vnd.onepagertamx": { + "source": "iana" + }, + "application/vnd.onepagertat": { + "source": "iana" + }, + "application/vnd.onepagertatp": { + "source": "iana" + }, + "application/vnd.onepagertatx": { + "source": "iana" + }, + "application/vnd.openblox.game+xml": { + "source": "iana", + "compressible": true, + "extensions": ["obgx"] + }, + "application/vnd.openblox.game-binary": { + "source": "iana" + }, + "application/vnd.openeye.oeb": { + "source": "iana" + }, + "application/vnd.openofficeorg.extension": { + "source": "apache", + "extensions": ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osm"] + }, + "application/vnd.opentimestamps.ots": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + "source": "iana", + "extensions": ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + "source": "iana", + "extensions": ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + "source": "iana", + "extensions": ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "source": "iana", + "compressible": false, + "extensions": ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + "source": "iana", + "extensions": ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + "source": "iana", + "compressible": false, + "extensions": ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + "source": "iana", + "extensions": ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oracle.resource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.orange.indata": { + "source": "iana" + }, + "application/vnd.osa.netdeploy": { + "source": "iana" + }, + "application/vnd.osgeo.mapguide.package": { + "source": "iana", + "extensions": ["mgp"] + }, + "application/vnd.osgi.bundle": { + "source": "iana" + }, + "application/vnd.osgi.dp": { + "source": "iana", + "extensions": ["dp"] + }, + "application/vnd.osgi.subsystem": { + "source": "iana", + "extensions": ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oxli.countgraph": { + "source": "iana" + }, + "application/vnd.pagerduty+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.palm": { + "source": "iana", + "extensions": ["pdb","pqa","oprc"] + }, + "application/vnd.panoply": { + "source": "iana" + }, + "application/vnd.paos.xml": { + "source": "iana" + }, + "application/vnd.patentdive": { + "source": "iana" + }, + "application/vnd.patientecommsdoc": { + "source": "iana" + }, + "application/vnd.pawaafile": { + "source": "iana", + "extensions": ["paw"] + }, + "application/vnd.pcos": { + "source": "iana" + }, + "application/vnd.pg.format": { + "source": "iana", + "extensions": ["str"] + }, + "application/vnd.pg.osasli": { + "source": "iana", + "extensions": ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + "source": "iana" + }, + "application/vnd.picsel": { + "source": "iana", + "extensions": ["efif"] + }, + "application/vnd.pmi.widget": { + "source": "iana", + "extensions": ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.pocketlearn": { + "source": "iana", + "extensions": ["plf"] + }, + "application/vnd.powerbuilder6": { + "source": "iana", + "extensions": ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + "source": "iana" + }, + "application/vnd.powerbuilder7": { + "source": "iana" + }, + "application/vnd.powerbuilder7-s": { + "source": "iana" + }, + "application/vnd.powerbuilder75": { + "source": "iana" + }, + "application/vnd.powerbuilder75-s": { + "source": "iana" + }, + "application/vnd.preminet": { + "source": "iana" + }, + "application/vnd.previewsystems.box": { + "source": "iana", + "extensions": ["box"] + }, + "application/vnd.proteus.magazine": { + "source": "iana", + "extensions": ["mgz"] + }, + "application/vnd.psfs": { + "source": "iana" + }, + "application/vnd.publishare-delta-tree": { + "source": "iana", + "extensions": ["qps"] + }, + "application/vnd.pvi.ptid1": { + "source": "iana", + "extensions": ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + "source": "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.qualcomm.brew-app-res": { + "source": "iana" + }, + "application/vnd.quarantainenet": { + "source": "iana" + }, + "application/vnd.quark.quarkxpress": { + "source": "iana", + "extensions": ["qxd","qxt","qwd","qwt","qxl","qxb"] + }, + "application/vnd.quobject-quoxdocument": { + "source": "iana" + }, + "application/vnd.radisys.moml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-conf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.rainstor.data": { + "source": "iana" + }, + "application/vnd.rapid": { + "source": "iana" + }, + "application/vnd.rar": { + "source": "iana", + "extensions": ["rar"] + }, + "application/vnd.realvnc.bed": { + "source": "iana", + "extensions": ["bed"] + }, + "application/vnd.recordare.musicxml": { + "source": "iana", + "extensions": ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musicxml"] + }, + "application/vnd.renlearn.rlprint": { + "source": "iana" + }, + "application/vnd.resilient.logic": { + "source": "iana" + }, + "application/vnd.restful+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.rig.cryptonote": { + "source": "iana", + "extensions": ["cryptonote"] + }, + "application/vnd.rim.cod": { + "source": "apache", + "extensions": ["cod"] + }, + "application/vnd.rn-realmedia": { + "source": "apache", + "extensions": ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + "source": "apache", + "extensions": ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + "source": "iana", + "compressible": true, + "extensions": ["link66"] + }, + "application/vnd.rs-274x": { + "source": "iana" + }, + "application/vnd.ruckus.download": { + "source": "iana" + }, + "application/vnd.s3sms": { + "source": "iana" + }, + "application/vnd.sailingtracker.track": { + "source": "iana", + "extensions": ["st"] + }, + "application/vnd.sar": { + "source": "iana" + }, + "application/vnd.sbm.cid": { + "source": "iana" + }, + "application/vnd.sbm.mid2": { + "source": "iana" + }, + "application/vnd.scribus": { + "source": "iana" + }, + "application/vnd.sealed.3df": { + "source": "iana" + }, + "application/vnd.sealed.csf": { + "source": "iana" + }, + "application/vnd.sealed.doc": { + "source": "iana" + }, + "application/vnd.sealed.eml": { + "source": "iana" + }, + "application/vnd.sealed.mht": { + "source": "iana" + }, + "application/vnd.sealed.net": { + "source": "iana" + }, + "application/vnd.sealed.ppt": { + "source": "iana" + }, + "application/vnd.sealed.tiff": { + "source": "iana" + }, + "application/vnd.sealed.xls": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + "source": "iana" + }, + "application/vnd.seemail": { + "source": "iana", + "extensions": ["see"] + }, + "application/vnd.seis+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.sema": { + "source": "iana", + "extensions": ["sema"] + }, + "application/vnd.semd": { + "source": "iana", + "extensions": ["semd"] + }, + "application/vnd.semf": { + "source": "iana", + "extensions": ["semf"] + }, + "application/vnd.shade-save-file": { + "source": "iana" + }, + "application/vnd.shana.informed.formdata": { + "source": "iana", + "extensions": ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + "source": "iana", + "extensions": ["itp"] + }, + "application/vnd.shana.informed.interchange": { + "source": "iana", + "extensions": ["iif"] + }, + "application/vnd.shana.informed.package": { + "source": "iana", + "extensions": ["ipk"] + }, + "application/vnd.shootproof+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.shopkick+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.shp": { + "source": "iana" + }, + "application/vnd.shx": { + "source": "iana" + }, + "application/vnd.sigrok.session": { + "source": "iana" + }, + "application/vnd.simtech-mindmapper": { + "source": "iana", + "extensions": ["twd","twds"] + }, + "application/vnd.siren+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.smaf": { + "source": "iana", + "extensions": ["mmf"] + }, + "application/vnd.smart.notebook": { + "source": "iana" + }, + "application/vnd.smart.teacher": { + "source": "iana", + "extensions": ["teacher"] + }, + "application/vnd.snesdev-page-table": { + "source": "iana" + }, + "application/vnd.software602.filler.form+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + "source": "iana" + }, + "application/vnd.solent.sdkm+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sdkm","sdkd"] + }, + "application/vnd.spotfire.dxp": { + "source": "iana", + "extensions": ["dxp"] + }, + "application/vnd.spotfire.sfs": { + "source": "iana", + "extensions": ["sfs"] + }, + "application/vnd.sqlite3": { + "source": "iana" + }, + "application/vnd.sss-cod": { + "source": "iana" + }, + "application/vnd.sss-dtf": { + "source": "iana" + }, + "application/vnd.sss-ntf": { + "source": "iana" + }, + "application/vnd.stardivision.calc": { + "source": "apache", + "extensions": ["sdc"] + }, + "application/vnd.stardivision.draw": { + "source": "apache", + "extensions": ["sda"] + }, + "application/vnd.stardivision.impress": { + "source": "apache", + "extensions": ["sdd"] + }, + "application/vnd.stardivision.math": { + "source": "apache", + "extensions": ["smf"] + }, + "application/vnd.stardivision.writer": { + "source": "apache", + "extensions": ["sdw","vor"] + }, + "application/vnd.stardivision.writer-global": { + "source": "apache", + "extensions": ["sgl"] + }, + "application/vnd.stepmania.package": { + "source": "iana", + "extensions": ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + "source": "iana", + "extensions": ["sm"] + }, + "application/vnd.street-stream": { + "source": "iana" + }, + "application/vnd.sun.wadl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wadl"] + }, + "application/vnd.sun.xml.calc": { + "source": "apache", + "extensions": ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + "source": "apache", + "extensions": ["stc"] + }, + "application/vnd.sun.xml.draw": { + "source": "apache", + "extensions": ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + "source": "apache", + "extensions": ["std"] + }, + "application/vnd.sun.xml.impress": { + "source": "apache", + "extensions": ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + "source": "apache", + "extensions": ["sti"] + }, + "application/vnd.sun.xml.math": { + "source": "apache", + "extensions": ["sxm"] + }, + "application/vnd.sun.xml.writer": { + "source": "apache", + "extensions": ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + "source": "apache", + "extensions": ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + "source": "apache", + "extensions": ["stw"] + }, + "application/vnd.sus-calendar": { + "source": "iana", + "extensions": ["sus","susp"] + }, + "application/vnd.svd": { + "source": "iana", + "extensions": ["svd"] + }, + "application/vnd.swiftview-ics": { + "source": "iana" + }, + "application/vnd.sycle+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.syft+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.symbian.install": { + "source": "apache", + "extensions": ["sis","sisx"] + }, + "application/vnd.syncml+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.syncml.ds.notification": { + "source": "iana" + }, + "application/vnd.tableschema+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.tao.intent-module-archive": { + "source": "iana", + "extensions": ["tao"] + }, + "application/vnd.tcpdump.pcap": { + "source": "iana", + "extensions": ["pcap","cap","dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.tmd.mediaflex.api+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.tml": { + "source": "iana" + }, + "application/vnd.tmobile-livetv": { + "source": "iana", + "extensions": ["tmo"] + }, + "application/vnd.tri.onesource": { + "source": "iana" + }, + "application/vnd.trid.tpt": { + "source": "iana", + "extensions": ["tpt"] + }, + "application/vnd.triscape.mxs": { + "source": "iana", + "extensions": ["mxs"] + }, + "application/vnd.trueapp": { + "source": "iana", + "extensions": ["tra"] + }, + "application/vnd.truedoc": { + "source": "iana" + }, + "application/vnd.ubisoft.webplayer": { + "source": "iana" + }, + "application/vnd.ufdl": { + "source": "iana", + "extensions": ["ufd","ufdl"] + }, + "application/vnd.uiq.theme": { + "source": "iana", + "extensions": ["utz"] + }, + "application/vnd.umajin": { + "source": "iana", + "extensions": ["umj"] + }, + "application/vnd.unity": { + "source": "iana", + "extensions": ["unityweb"] + }, + "application/vnd.uoml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uoml"] + }, + "application/vnd.uplanet.alert": { + "source": "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.channel": { + "source": "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.list": { + "source": "iana" + }, + "application/vnd.uplanet.list-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.signal": { + "source": "iana" + }, + "application/vnd.uri-map": { + "source": "iana" + }, + "application/vnd.valve.source.material": { + "source": "iana" + }, + "application/vnd.vcx": { + "source": "iana", + "extensions": ["vcx"] + }, + "application/vnd.vd-study": { + "source": "iana" + }, + "application/vnd.vectorworks": { + "source": "iana" + }, + "application/vnd.vel+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.verimatrix.vcas": { + "source": "iana" + }, + "application/vnd.veritone.aion+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.veryant.thin": { + "source": "iana" + }, + "application/vnd.ves.encrypted": { + "source": "iana" + }, + "application/vnd.vidsoft.vidconference": { + "source": "iana" + }, + "application/vnd.visio": { + "source": "iana", + "extensions": ["vsd","vst","vss","vsw"] + }, + "application/vnd.visionary": { + "source": "iana", + "extensions": ["vis"] + }, + "application/vnd.vividence.scriptfile": { + "source": "iana" + }, + "application/vnd.vsf": { + "source": "iana", + "extensions": ["vsf"] + }, + "application/vnd.wap.sic": { + "source": "iana" + }, + "application/vnd.wap.slc": { + "source": "iana" + }, + "application/vnd.wap.wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["wbxml"] + }, + "application/vnd.wap.wmlc": { + "source": "iana", + "extensions": ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + "source": "iana", + "extensions": ["wmlsc"] + }, + "application/vnd.webturbo": { + "source": "iana", + "extensions": ["wtb"] + }, + "application/vnd.wfa.dpp": { + "source": "iana" + }, + "application/vnd.wfa.p2p": { + "source": "iana" + }, + "application/vnd.wfa.wsc": { + "source": "iana" + }, + "application/vnd.windows.devicepairing": { + "source": "iana" + }, + "application/vnd.wmc": { + "source": "iana" + }, + "application/vnd.wmf.bootstrap": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica.package": { + "source": "iana" + }, + "application/vnd.wolfram.player": { + "source": "iana", + "extensions": ["nbp"] + }, + "application/vnd.wordperfect": { + "source": "iana", + "extensions": ["wpd"] + }, + "application/vnd.wqd": { + "source": "iana", + "extensions": ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + "source": "iana" + }, + "application/vnd.wt.stf": { + "source": "iana", + "extensions": ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + "source": "iana" + }, + "application/vnd.wv.csp+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.wv.ssp+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.xacml+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.xara": { + "source": "iana", + "extensions": ["xar"] + }, + "application/vnd.xfdl": { + "source": "iana", + "extensions": ["xfdl"] + }, + "application/vnd.xfdl.webform": { + "source": "iana" + }, + "application/vnd.xmi+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.xmpie.cpkg": { + "source": "iana" + }, + "application/vnd.xmpie.dpkg": { + "source": "iana" + }, + "application/vnd.xmpie.plan": { + "source": "iana" + }, + "application/vnd.xmpie.ppkg": { + "source": "iana" + }, + "application/vnd.xmpie.xlim": { + "source": "iana" + }, + "application/vnd.yamaha.hv-dic": { + "source": "iana", + "extensions": ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + "source": "iana", + "extensions": ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + "source": "iana", + "extensions": ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + "source": "iana", + "extensions": ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + "source": "iana" + }, + "application/vnd.yamaha.smaf-audio": { + "source": "iana", + "extensions": ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + "source": "iana", + "extensions": ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + "source": "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + "source": "iana" + }, + "application/vnd.yaoweme": { + "source": "iana" + }, + "application/vnd.yellowriver-custom-menu": { + "source": "iana", + "extensions": ["cmp"] + }, + "application/vnd.youtube.yt": { + "source": "iana" + }, + "application/vnd.zul": { + "source": "iana", + "extensions": ["zir","zirz"] + }, + "application/vnd.zzazz.deck+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zaz"] + }, + "application/voicexml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["vxml"] + }, + "application/voucher-cms+json": { + "source": "iana", + "compressible": true + }, + "application/vq-rtcpxr": { + "source": "iana" + }, + "application/wasm": { + "source": "iana", + "compressible": true, + "extensions": ["wasm"] + }, + "application/watcherinfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wif"] + }, + "application/webpush-options+json": { + "source": "iana", + "compressible": true + }, + "application/whoispp-query": { + "source": "iana" + }, + "application/whoispp-response": { + "source": "iana" + }, + "application/widget": { + "source": "iana", + "extensions": ["wgt"] + }, + "application/winhlp": { + "source": "apache", + "extensions": ["hlp"] + }, + "application/wita": { + "source": "iana" + }, + "application/wordperfect5.1": { + "source": "iana" + }, + "application/wsdl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wsdl"] + }, + "application/wspolicy+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wspolicy"] + }, + "application/x-7z-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["7z"] + }, + "application/x-abiword": { + "source": "apache", + "extensions": ["abw"] + }, + "application/x-ace-compressed": { + "source": "apache", + "extensions": ["ace"] + }, + "application/x-amf": { + "source": "apache" + }, + "application/x-apple-diskimage": { + "source": "apache", + "extensions": ["dmg"] + }, + "application/x-arj": { + "compressible": false, + "extensions": ["arj"] + }, + "application/x-authorware-bin": { + "source": "apache", + "extensions": ["aab","x32","u32","vox"] + }, + "application/x-authorware-map": { + "source": "apache", + "extensions": ["aam"] + }, + "application/x-authorware-seg": { + "source": "apache", + "extensions": ["aas"] + }, + "application/x-bcpio": { + "source": "apache", + "extensions": ["bcpio"] + }, + "application/x-bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/x-bittorrent": { + "source": "apache", + "extensions": ["torrent"] + }, + "application/x-blorb": { + "source": "apache", + "extensions": ["blb","blorb"] + }, + "application/x-bzip": { + "source": "apache", + "compressible": false, + "extensions": ["bz"] + }, + "application/x-bzip2": { + "source": "apache", + "compressible": false, + "extensions": ["bz2","boz"] + }, + "application/x-cbr": { + "source": "apache", + "extensions": ["cbr","cba","cbt","cbz","cb7"] + }, + "application/x-cdlink": { + "source": "apache", + "extensions": ["vcd"] + }, + "application/x-cfs-compressed": { + "source": "apache", + "extensions": ["cfs"] + }, + "application/x-chat": { + "source": "apache", + "extensions": ["chat"] + }, + "application/x-chess-pgn": { + "source": "apache", + "extensions": ["pgn"] + }, + "application/x-chrome-extension": { + "extensions": ["crx"] + }, + "application/x-cocoa": { + "source": "nginx", + "extensions": ["cco"] + }, + "application/x-compress": { + "source": "apache" + }, + "application/x-conference": { + "source": "apache", + "extensions": ["nsc"] + }, + "application/x-cpio": { + "source": "apache", + "extensions": ["cpio"] + }, + "application/x-csh": { + "source": "apache", + "extensions": ["csh"] + }, + "application/x-deb": { + "compressible": false + }, + "application/x-debian-package": { + "source": "apache", + "extensions": ["deb","udeb"] + }, + "application/x-dgc-compressed": { + "source": "apache", + "extensions": ["dgc"] + }, + "application/x-director": { + "source": "apache", + "extensions": ["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"] + }, + "application/x-doom": { + "source": "apache", + "extensions": ["wad"] + }, + "application/x-dtbncx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ncx"] + }, + "application/x-dtbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dtb"] + }, + "application/x-dtbresource+xml": { + "source": "apache", + "compressible": true, + "extensions": ["res"] + }, + "application/x-dvi": { + "source": "apache", + "compressible": false, + "extensions": ["dvi"] + }, + "application/x-envoy": { + "source": "apache", + "extensions": ["evy"] + }, + "application/x-eva": { + "source": "apache", + "extensions": ["eva"] + }, + "application/x-font-bdf": { + "source": "apache", + "extensions": ["bdf"] + }, + "application/x-font-dos": { + "source": "apache" + }, + "application/x-font-framemaker": { + "source": "apache" + }, + "application/x-font-ghostscript": { + "source": "apache", + "extensions": ["gsf"] + }, + "application/x-font-libgrx": { + "source": "apache" + }, + "application/x-font-linux-psf": { + "source": "apache", + "extensions": ["psf"] + }, + "application/x-font-pcf": { + "source": "apache", + "extensions": ["pcf"] + }, + "application/x-font-snf": { + "source": "apache", + "extensions": ["snf"] + }, + "application/x-font-speedo": { + "source": "apache" + }, + "application/x-font-sunos-news": { + "source": "apache" + }, + "application/x-font-type1": { + "source": "apache", + "extensions": ["pfa","pfb","pfm","afm"] + }, + "application/x-font-vfont": { + "source": "apache" + }, + "application/x-freearc": { + "source": "apache", + "extensions": ["arc"] + }, + "application/x-futuresplash": { + "source": "apache", + "extensions": ["spl"] + }, + "application/x-gca-compressed": { + "source": "apache", + "extensions": ["gca"] + }, + "application/x-glulx": { + "source": "apache", + "extensions": ["ulx"] + }, + "application/x-gnumeric": { + "source": "apache", + "extensions": ["gnumeric"] + }, + "application/x-gramps-xml": { + "source": "apache", + "extensions": ["gramps"] + }, + "application/x-gtar": { + "source": "apache", + "extensions": ["gtar"] + }, + "application/x-gzip": { + "source": "apache" + }, + "application/x-hdf": { + "source": "apache", + "extensions": ["hdf"] + }, + "application/x-httpd-php": { + "compressible": true, + "extensions": ["php"] + }, + "application/x-install-instructions": { + "source": "apache", + "extensions": ["install"] + }, + "application/x-iso9660-image": { + "source": "apache", + "extensions": ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + "extensions": ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + "extensions": ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + "extensions": ["pages"] + }, + "application/x-java-archive-diff": { + "source": "nginx", + "extensions": ["jardiff"] + }, + "application/x-java-jnlp-file": { + "source": "apache", + "compressible": false, + "extensions": ["jnlp"] + }, + "application/x-javascript": { + "compressible": true + }, + "application/x-keepass2": { + "extensions": ["kdbx"] + }, + "application/x-latex": { + "source": "apache", + "compressible": false, + "extensions": ["latex"] + }, + "application/x-lua-bytecode": { + "extensions": ["luac"] + }, + "application/x-lzh-compressed": { + "source": "apache", + "extensions": ["lzh","lha"] + }, + "application/x-makeself": { + "source": "nginx", + "extensions": ["run"] + }, + "application/x-mie": { + "source": "apache", + "extensions": ["mie"] + }, + "application/x-mobipocket-ebook": { + "source": "apache", + "extensions": ["prc","mobi"] + }, + "application/x-mpegurl": { + "compressible": false + }, + "application/x-ms-application": { + "source": "apache", + "extensions": ["application"] + }, + "application/x-ms-shortcut": { + "source": "apache", + "extensions": ["lnk"] + }, + "application/x-ms-wmd": { + "source": "apache", + "extensions": ["wmd"] + }, + "application/x-ms-wmz": { + "source": "apache", + "extensions": ["wmz"] + }, + "application/x-ms-xbap": { + "source": "apache", + "extensions": ["xbap"] + }, + "application/x-msaccess": { + "source": "apache", + "extensions": ["mdb"] + }, + "application/x-msbinder": { + "source": "apache", + "extensions": ["obd"] + }, + "application/x-mscardfile": { + "source": "apache", + "extensions": ["crd"] + }, + "application/x-msclip": { + "source": "apache", + "extensions": ["clp"] + }, + "application/x-msdos-program": { + "extensions": ["exe"] + }, + "application/x-msdownload": { + "source": "apache", + "extensions": ["exe","dll","com","bat","msi"] + }, + "application/x-msmediaview": { + "source": "apache", + "extensions": ["mvb","m13","m14"] + }, + "application/x-msmetafile": { + "source": "apache", + "extensions": ["wmf","wmz","emf","emz"] + }, + "application/x-msmoney": { + "source": "apache", + "extensions": ["mny"] + }, + "application/x-mspublisher": { + "source": "apache", + "extensions": ["pub"] + }, + "application/x-msschedule": { + "source": "apache", + "extensions": ["scd"] + }, + "application/x-msterminal": { + "source": "apache", + "extensions": ["trm"] + }, + "application/x-mswrite": { + "source": "apache", + "extensions": ["wri"] + }, + "application/x-netcdf": { + "source": "apache", + "extensions": ["nc","cdf"] + }, + "application/x-ns-proxy-autoconfig": { + "compressible": true, + "extensions": ["pac"] + }, + "application/x-nzb": { + "source": "apache", + "extensions": ["nzb"] + }, + "application/x-perl": { + "source": "nginx", + "extensions": ["pl","pm"] + }, + "application/x-pilot": { + "source": "nginx", + "extensions": ["prc","pdb"] + }, + "application/x-pkcs12": { + "source": "apache", + "compressible": false, + "extensions": ["p12","pfx"] + }, + "application/x-pkcs7-certificates": { + "source": "apache", + "extensions": ["p7b","spc"] + }, + "application/x-pkcs7-certreqresp": { + "source": "apache", + "extensions": ["p7r"] + }, + "application/x-pki-message": { + "source": "iana" + }, + "application/x-rar-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["rar"] + }, + "application/x-redhat-package-manager": { + "source": "nginx", + "extensions": ["rpm"] + }, + "application/x-research-info-systems": { + "source": "apache", + "extensions": ["ris"] + }, + "application/x-sea": { + "source": "nginx", + "extensions": ["sea"] + }, + "application/x-sh": { + "source": "apache", + "compressible": true, + "extensions": ["sh"] + }, + "application/x-shar": { + "source": "apache", + "extensions": ["shar"] + }, + "application/x-shockwave-flash": { + "source": "apache", + "compressible": false, + "extensions": ["swf"] + }, + "application/x-silverlight-app": { + "source": "apache", + "extensions": ["xap"] + }, + "application/x-sql": { + "source": "apache", + "extensions": ["sql"] + }, + "application/x-stuffit": { + "source": "apache", + "compressible": false, + "extensions": ["sit"] + }, + "application/x-stuffitx": { + "source": "apache", + "extensions": ["sitx"] + }, + "application/x-subrip": { + "source": "apache", + "extensions": ["srt"] + }, + "application/x-sv4cpio": { + "source": "apache", + "extensions": ["sv4cpio"] + }, + "application/x-sv4crc": { + "source": "apache", + "extensions": ["sv4crc"] + }, + "application/x-t3vm-image": { + "source": "apache", + "extensions": ["t3"] + }, + "application/x-tads": { + "source": "apache", + "extensions": ["gam"] + }, + "application/x-tar": { + "source": "apache", + "compressible": true, + "extensions": ["tar"] + }, + "application/x-tcl": { + "source": "apache", + "extensions": ["tcl","tk"] + }, + "application/x-tex": { + "source": "apache", + "extensions": ["tex"] + }, + "application/x-tex-tfm": { + "source": "apache", + "extensions": ["tfm"] + }, + "application/x-texinfo": { + "source": "apache", + "extensions": ["texinfo","texi"] + }, + "application/x-tgif": { + "source": "apache", + "extensions": ["obj"] + }, + "application/x-ustar": { + "source": "apache", + "extensions": ["ustar"] + }, + "application/x-virtualbox-hdd": { + "compressible": true, + "extensions": ["hdd"] + }, + "application/x-virtualbox-ova": { + "compressible": true, + "extensions": ["ova"] + }, + "application/x-virtualbox-ovf": { + "compressible": true, + "extensions": ["ovf"] + }, + "application/x-virtualbox-vbox": { + "compressible": true, + "extensions": ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + "compressible": false, + "extensions": ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + "compressible": true, + "extensions": ["vdi"] + }, + "application/x-virtualbox-vhd": { + "compressible": true, + "extensions": ["vhd"] + }, + "application/x-virtualbox-vmdk": { + "compressible": true, + "extensions": ["vmdk"] + }, + "application/x-wais-source": { + "source": "apache", + "extensions": ["src"] + }, + "application/x-web-app-manifest+json": { + "compressible": true, + "extensions": ["webapp"] + }, + "application/x-www-form-urlencoded": { + "source": "iana", + "compressible": true + }, + "application/x-x509-ca-cert": { + "source": "iana", + "extensions": ["der","crt","pem"] + }, + "application/x-x509-ca-ra-cert": { + "source": "iana" + }, + "application/x-x509-next-ca-cert": { + "source": "iana" + }, + "application/x-xfig": { + "source": "apache", + "extensions": ["fig"] + }, + "application/x-xliff+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xlf"] + }, + "application/x-xpinstall": { + "source": "apache", + "compressible": false, + "extensions": ["xpi"] + }, + "application/x-xz": { + "source": "apache", + "extensions": ["xz"] + }, + "application/x-zmachine": { + "source": "apache", + "extensions": ["z1","z2","z3","z4","z5","z6","z7","z8"] + }, + "application/x400-bp": { + "source": "iana" + }, + "application/xacml+xml": { + "source": "iana", + "compressible": true + }, + "application/xaml+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xaml"] + }, + "application/xcap-att+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xav"] + }, + "application/xcap-caps+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xca"] + }, + "application/xcap-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdf"] + }, + "application/xcap-el+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xel"] + }, + "application/xcap-error+xml": { + "source": "iana", + "compressible": true + }, + "application/xcap-ns+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xns"] + }, + "application/xcon-conference-info+xml": { + "source": "iana", + "compressible": true + }, + "application/xcon-conference-info-diff+xml": { + "source": "iana", + "compressible": true + }, + "application/xenc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xenc"] + }, + "application/xhtml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtml","xht"] + }, + "application/xhtml-voice+xml": { + "source": "apache", + "compressible": true + }, + "application/xliff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xlf"] + }, + "application/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml","xsl","xsd","rng"] + }, + "application/xml-dtd": { + "source": "iana", + "compressible": true, + "extensions": ["dtd"] + }, + "application/xml-external-parsed-entity": { + "source": "iana" + }, + "application/xml-patch+xml": { + "source": "iana", + "compressible": true + }, + "application/xmpp+xml": { + "source": "iana", + "compressible": true + }, + "application/xop+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xop"] + }, + "application/xproc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xpl"] + }, + "application/xslt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xsl","xslt"] + }, + "application/xspf+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xspf"] + }, + "application/xv+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mxml","xhvml","xvml","xvm"] + }, + "application/yang": { + "source": "iana", + "extensions": ["yang"] + }, + "application/yang-data+json": { + "source": "iana", + "compressible": true + }, + "application/yang-data+xml": { + "source": "iana", + "compressible": true + }, + "application/yang-patch+json": { + "source": "iana", + "compressible": true + }, + "application/yang-patch+xml": { + "source": "iana", + "compressible": true + }, + "application/yin+xml": { + "source": "iana", + "compressible": true, + "extensions": ["yin"] + }, + "application/zip": { + "source": "iana", + "compressible": false, + "extensions": ["zip"] + }, + "application/zlib": { + "source": "iana" + }, + "application/zstd": { + "source": "iana" + }, + "audio/1d-interleaved-parityfec": { + "source": "iana" + }, + "audio/32kadpcm": { + "source": "iana" + }, + "audio/3gpp": { + "source": "iana", + "compressible": false, + "extensions": ["3gpp"] + }, + "audio/3gpp2": { + "source": "iana" + }, + "audio/aac": { + "source": "iana" + }, + "audio/ac3": { + "source": "iana" + }, + "audio/adpcm": { + "source": "apache", + "extensions": ["adp"] + }, + "audio/amr": { + "source": "iana", + "extensions": ["amr"] + }, + "audio/amr-wb": { + "source": "iana" + }, + "audio/amr-wb+": { + "source": "iana" + }, + "audio/aptx": { + "source": "iana" + }, + "audio/asc": { + "source": "iana" + }, + "audio/atrac-advanced-lossless": { + "source": "iana" + }, + "audio/atrac-x": { + "source": "iana" + }, + "audio/atrac3": { + "source": "iana" + }, + "audio/basic": { + "source": "iana", + "compressible": false, + "extensions": ["au","snd"] + }, + "audio/bv16": { + "source": "iana" + }, + "audio/bv32": { + "source": "iana" + }, + "audio/clearmode": { + "source": "iana" + }, + "audio/cn": { + "source": "iana" + }, + "audio/dat12": { + "source": "iana" + }, + "audio/dls": { + "source": "iana" + }, + "audio/dsr-es201108": { + "source": "iana" + }, + "audio/dsr-es202050": { + "source": "iana" + }, + "audio/dsr-es202211": { + "source": "iana" + }, + "audio/dsr-es202212": { + "source": "iana" + }, + "audio/dv": { + "source": "iana" + }, + "audio/dvi4": { + "source": "iana" + }, + "audio/eac3": { + "source": "iana" + }, + "audio/encaprtp": { + "source": "iana" + }, + "audio/evrc": { + "source": "iana" + }, + "audio/evrc-qcp": { + "source": "iana" + }, + "audio/evrc0": { + "source": "iana" + }, + "audio/evrc1": { + "source": "iana" + }, + "audio/evrcb": { + "source": "iana" + }, + "audio/evrcb0": { + "source": "iana" + }, + "audio/evrcb1": { + "source": "iana" + }, + "audio/evrcnw": { + "source": "iana" + }, + "audio/evrcnw0": { + "source": "iana" + }, + "audio/evrcnw1": { + "source": "iana" + }, + "audio/evrcwb": { + "source": "iana" + }, + "audio/evrcwb0": { + "source": "iana" + }, + "audio/evrcwb1": { + "source": "iana" + }, + "audio/evs": { + "source": "iana" + }, + "audio/flexfec": { + "source": "iana" + }, + "audio/fwdred": { + "source": "iana" + }, + "audio/g711-0": { + "source": "iana" + }, + "audio/g719": { + "source": "iana" + }, + "audio/g722": { + "source": "iana" + }, + "audio/g7221": { + "source": "iana" + }, + "audio/g723": { + "source": "iana" + }, + "audio/g726-16": { + "source": "iana" + }, + "audio/g726-24": { + "source": "iana" + }, + "audio/g726-32": { + "source": "iana" + }, + "audio/g726-40": { + "source": "iana" + }, + "audio/g728": { + "source": "iana" + }, + "audio/g729": { + "source": "iana" + }, + "audio/g7291": { + "source": "iana" + }, + "audio/g729d": { + "source": "iana" + }, + "audio/g729e": { + "source": "iana" + }, + "audio/gsm": { + "source": "iana" + }, + "audio/gsm-efr": { + "source": "iana" + }, + "audio/gsm-hr-08": { + "source": "iana" + }, + "audio/ilbc": { + "source": "iana" + }, + "audio/ip-mr_v2.5": { + "source": "iana" + }, + "audio/isac": { + "source": "apache" + }, + "audio/l16": { + "source": "iana" + }, + "audio/l20": { + "source": "iana" + }, + "audio/l24": { + "source": "iana", + "compressible": false + }, + "audio/l8": { + "source": "iana" + }, + "audio/lpc": { + "source": "iana" + }, + "audio/melp": { + "source": "iana" + }, + "audio/melp1200": { + "source": "iana" + }, + "audio/melp2400": { + "source": "iana" + }, + "audio/melp600": { + "source": "iana" + }, + "audio/mhas": { + "source": "iana" + }, + "audio/midi": { + "source": "apache", + "extensions": ["mid","midi","kar","rmi"] + }, + "audio/mobile-xmf": { + "source": "iana", + "extensions": ["mxmf"] + }, + "audio/mp3": { + "compressible": false, + "extensions": ["mp3"] + }, + "audio/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["m4a","mp4a"] + }, + "audio/mp4a-latm": { + "source": "iana" + }, + "audio/mpa": { + "source": "iana" + }, + "audio/mpa-robust": { + "source": "iana" + }, + "audio/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpga","mp2","mp2a","mp3","m2a","m3a"] + }, + "audio/mpeg4-generic": { + "source": "iana" + }, + "audio/musepack": { + "source": "apache" + }, + "audio/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["oga","ogg","spx","opus"] + }, + "audio/opus": { + "source": "iana" + }, + "audio/parityfec": { + "source": "iana" + }, + "audio/pcma": { + "source": "iana" + }, + "audio/pcma-wb": { + "source": "iana" + }, + "audio/pcmu": { + "source": "iana" + }, + "audio/pcmu-wb": { + "source": "iana" + }, + "audio/prs.sid": { + "source": "iana" + }, + "audio/qcelp": { + "source": "iana" + }, + "audio/raptorfec": { + "source": "iana" + }, + "audio/red": { + "source": "iana" + }, + "audio/rtp-enc-aescm128": { + "source": "iana" + }, + "audio/rtp-midi": { + "source": "iana" + }, + "audio/rtploopback": { + "source": "iana" + }, + "audio/rtx": { + "source": "iana" + }, + "audio/s3m": { + "source": "apache", + "extensions": ["s3m"] + }, + "audio/scip": { + "source": "iana" + }, + "audio/silk": { + "source": "apache", + "extensions": ["sil"] + }, + "audio/smv": { + "source": "iana" + }, + "audio/smv-qcp": { + "source": "iana" + }, + "audio/smv0": { + "source": "iana" + }, + "audio/sofa": { + "source": "iana" + }, + "audio/sp-midi": { + "source": "iana" + }, + "audio/speex": { + "source": "iana" + }, + "audio/t140c": { + "source": "iana" + }, + "audio/t38": { + "source": "iana" + }, + "audio/telephone-event": { + "source": "iana" + }, + "audio/tetra_acelp": { + "source": "iana" + }, + "audio/tetra_acelp_bb": { + "source": "iana" + }, + "audio/tone": { + "source": "iana" + }, + "audio/tsvcis": { + "source": "iana" + }, + "audio/uemclip": { + "source": "iana" + }, + "audio/ulpfec": { + "source": "iana" + }, + "audio/usac": { + "source": "iana" + }, + "audio/vdvi": { + "source": "iana" + }, + "audio/vmr-wb": { + "source": "iana" + }, + "audio/vnd.3gpp.iufp": { + "source": "iana" + }, + "audio/vnd.4sb": { + "source": "iana" + }, + "audio/vnd.audiokoz": { + "source": "iana" + }, + "audio/vnd.celp": { + "source": "iana" + }, + "audio/vnd.cisco.nse": { + "source": "iana" + }, + "audio/vnd.cmles.radio-events": { + "source": "iana" + }, + "audio/vnd.cns.anp1": { + "source": "iana" + }, + "audio/vnd.cns.inf1": { + "source": "iana" + }, + "audio/vnd.dece.audio": { + "source": "iana", + "extensions": ["uva","uvva"] + }, + "audio/vnd.digital-winds": { + "source": "iana", + "extensions": ["eol"] + }, + "audio/vnd.dlna.adts": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.1": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.2": { + "source": "iana" + }, + "audio/vnd.dolby.mlp": { + "source": "iana" + }, + "audio/vnd.dolby.mps": { + "source": "iana" + }, + "audio/vnd.dolby.pl2": { + "source": "iana" + }, + "audio/vnd.dolby.pl2x": { + "source": "iana" + }, + "audio/vnd.dolby.pl2z": { + "source": "iana" + }, + "audio/vnd.dolby.pulse.1": { + "source": "iana" + }, + "audio/vnd.dra": { + "source": "iana", + "extensions": ["dra"] + }, + "audio/vnd.dts": { + "source": "iana", + "extensions": ["dts"] + }, + "audio/vnd.dts.hd": { + "source": "iana", + "extensions": ["dtshd"] + }, + "audio/vnd.dts.uhd": { + "source": "iana" + }, + "audio/vnd.dvb.file": { + "source": "iana" + }, + "audio/vnd.everad.plj": { + "source": "iana" + }, + "audio/vnd.hns.audio": { + "source": "iana" + }, + "audio/vnd.lucent.voice": { + "source": "iana", + "extensions": ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + "source": "iana", + "extensions": ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + "source": "iana" + }, + "audio/vnd.nortel.vbk": { + "source": "iana" + }, + "audio/vnd.nuera.ecelp4800": { + "source": "iana", + "extensions": ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + "source": "iana", + "extensions": ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + "source": "iana", + "extensions": ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + "source": "iana" + }, + "audio/vnd.presonus.multitrack": { + "source": "iana" + }, + "audio/vnd.qcelp": { + "source": "iana" + }, + "audio/vnd.rhetorex.32kadpcm": { + "source": "iana" + }, + "audio/vnd.rip": { + "source": "iana", + "extensions": ["rip"] + }, + "audio/vnd.rn-realaudio": { + "compressible": false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + "source": "iana" + }, + "audio/vnd.vmx.cvsd": { + "source": "iana" + }, + "audio/vnd.wave": { + "compressible": false + }, + "audio/vorbis": { + "source": "iana", + "compressible": false + }, + "audio/vorbis-config": { + "source": "iana" + }, + "audio/wav": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/wave": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/webm": { + "source": "apache", + "compressible": false, + "extensions": ["weba"] + }, + "audio/x-aac": { + "source": "apache", + "compressible": false, + "extensions": ["aac"] + }, + "audio/x-aiff": { + "source": "apache", + "extensions": ["aif","aiff","aifc"] + }, + "audio/x-caf": { + "source": "apache", + "compressible": false, + "extensions": ["caf"] + }, + "audio/x-flac": { + "source": "apache", + "extensions": ["flac"] + }, + "audio/x-m4a": { + "source": "nginx", + "extensions": ["m4a"] + }, + "audio/x-matroska": { + "source": "apache", + "extensions": ["mka"] + }, + "audio/x-mpegurl": { + "source": "apache", + "extensions": ["m3u"] + }, + "audio/x-ms-wax": { + "source": "apache", + "extensions": ["wax"] + }, + "audio/x-ms-wma": { + "source": "apache", + "extensions": ["wma"] + }, + "audio/x-pn-realaudio": { + "source": "apache", + "extensions": ["ram","ra"] + }, + "audio/x-pn-realaudio-plugin": { + "source": "apache", + "extensions": ["rmp"] + }, + "audio/x-realaudio": { + "source": "nginx", + "extensions": ["ra"] + }, + "audio/x-tta": { + "source": "apache" + }, + "audio/x-wav": { + "source": "apache", + "extensions": ["wav"] + }, + "audio/xm": { + "source": "apache", + "extensions": ["xm"] + }, + "chemical/x-cdx": { + "source": "apache", + "extensions": ["cdx"] + }, + "chemical/x-cif": { + "source": "apache", + "extensions": ["cif"] + }, + "chemical/x-cmdf": { + "source": "apache", + "extensions": ["cmdf"] + }, + "chemical/x-cml": { + "source": "apache", + "extensions": ["cml"] + }, + "chemical/x-csml": { + "source": "apache", + "extensions": ["csml"] + }, + "chemical/x-pdb": { + "source": "apache" + }, + "chemical/x-xyz": { + "source": "apache", + "extensions": ["xyz"] + }, + "font/collection": { + "source": "iana", + "extensions": ["ttc"] + }, + "font/otf": { + "source": "iana", + "compressible": true, + "extensions": ["otf"] + }, + "font/sfnt": { + "source": "iana" + }, + "font/ttf": { + "source": "iana", + "compressible": true, + "extensions": ["ttf"] + }, + "font/woff": { + "source": "iana", + "extensions": ["woff"] + }, + "font/woff2": { + "source": "iana", + "extensions": ["woff2"] + }, + "image/aces": { + "source": "iana", + "extensions": ["exr"] + }, + "image/apng": { + "compressible": false, + "extensions": ["apng"] + }, + "image/avci": { + "source": "iana", + "extensions": ["avci"] + }, + "image/avcs": { + "source": "iana", + "extensions": ["avcs"] + }, + "image/avif": { + "source": "iana", + "compressible": false, + "extensions": ["avif"] + }, + "image/bmp": { + "source": "iana", + "compressible": true, + "extensions": ["bmp"] + }, + "image/cgm": { + "source": "iana", + "extensions": ["cgm"] + }, + "image/dicom-rle": { + "source": "iana", + "extensions": ["drle"] + }, + "image/emf": { + "source": "iana", + "extensions": ["emf"] + }, + "image/fits": { + "source": "iana", + "extensions": ["fits"] + }, + "image/g3fax": { + "source": "iana", + "extensions": ["g3"] + }, + "image/gif": { + "source": "iana", + "compressible": false, + "extensions": ["gif"] + }, + "image/heic": { + "source": "iana", + "extensions": ["heic"] + }, + "image/heic-sequence": { + "source": "iana", + "extensions": ["heics"] + }, + "image/heif": { + "source": "iana", + "extensions": ["heif"] + }, + "image/heif-sequence": { + "source": "iana", + "extensions": ["heifs"] + }, + "image/hej2k": { + "source": "iana", + "extensions": ["hej2"] + }, + "image/hsj2": { + "source": "iana", + "extensions": ["hsj2"] + }, + "image/ief": { + "source": "iana", + "extensions": ["ief"] + }, + "image/jls": { + "source": "iana", + "extensions": ["jls"] + }, + "image/jp2": { + "source": "iana", + "compressible": false, + "extensions": ["jp2","jpg2"] + }, + "image/jpeg": { + "source": "iana", + "compressible": false, + "extensions": ["jpeg","jpg","jpe"] + }, + "image/jph": { + "source": "iana", + "extensions": ["jph"] + }, + "image/jphc": { + "source": "iana", + "extensions": ["jhc"] + }, + "image/jpm": { + "source": "iana", + "compressible": false, + "extensions": ["jpm"] + }, + "image/jpx": { + "source": "iana", + "compressible": false, + "extensions": ["jpx","jpf"] + }, + "image/jxr": { + "source": "iana", + "extensions": ["jxr"] + }, + "image/jxra": { + "source": "iana", + "extensions": ["jxra"] + }, + "image/jxrs": { + "source": "iana", + "extensions": ["jxrs"] + }, + "image/jxs": { + "source": "iana", + "extensions": ["jxs"] + }, + "image/jxsc": { + "source": "iana", + "extensions": ["jxsc"] + }, + "image/jxsi": { + "source": "iana", + "extensions": ["jxsi"] + }, + "image/jxss": { + "source": "iana", + "extensions": ["jxss"] + }, + "image/ktx": { + "source": "iana", + "extensions": ["ktx"] + }, + "image/ktx2": { + "source": "iana", + "extensions": ["ktx2"] + }, + "image/naplps": { + "source": "iana" + }, + "image/pjpeg": { + "compressible": false + }, + "image/png": { + "source": "iana", + "compressible": false, + "extensions": ["png"] + }, + "image/prs.btif": { + "source": "iana", + "extensions": ["btif"] + }, + "image/prs.pti": { + "source": "iana", + "extensions": ["pti"] + }, + "image/pwg-raster": { + "source": "iana" + }, + "image/sgi": { + "source": "apache", + "extensions": ["sgi"] + }, + "image/svg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["svg","svgz"] + }, + "image/t38": { + "source": "iana", + "extensions": ["t38"] + }, + "image/tiff": { + "source": "iana", + "compressible": false, + "extensions": ["tif","tiff"] + }, + "image/tiff-fx": { + "source": "iana", + "extensions": ["tfx"] + }, + "image/vnd.adobe.photoshop": { + "source": "iana", + "compressible": true, + "extensions": ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + "source": "iana", + "extensions": ["azv"] + }, + "image/vnd.cns.inf2": { + "source": "iana" + }, + "image/vnd.dece.graphic": { + "source": "iana", + "extensions": ["uvi","uvvi","uvg","uvvg"] + }, + "image/vnd.djvu": { + "source": "iana", + "extensions": ["djvu","djv"] + }, + "image/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "image/vnd.dwg": { + "source": "iana", + "extensions": ["dwg"] + }, + "image/vnd.dxf": { + "source": "iana", + "extensions": ["dxf"] + }, + "image/vnd.fastbidsheet": { + "source": "iana", + "extensions": ["fbs"] + }, + "image/vnd.fpx": { + "source": "iana", + "extensions": ["fpx"] + }, + "image/vnd.fst": { + "source": "iana", + "extensions": ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + "source": "iana", + "extensions": ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + "source": "iana", + "extensions": ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + "source": "iana" + }, + "image/vnd.microsoft.icon": { + "source": "iana", + "compressible": true, + "extensions": ["ico"] + }, + "image/vnd.mix": { + "source": "iana" + }, + "image/vnd.mozilla.apng": { + "source": "iana" + }, + "image/vnd.ms-dds": { + "compressible": true, + "extensions": ["dds"] + }, + "image/vnd.ms-modi": { + "source": "iana", + "extensions": ["mdi"] + }, + "image/vnd.ms-photo": { + "source": "apache", + "extensions": ["wdp"] + }, + "image/vnd.net-fpx": { + "source": "iana", + "extensions": ["npx"] + }, + "image/vnd.pco.b16": { + "source": "iana", + "extensions": ["b16"] + }, + "image/vnd.radiance": { + "source": "iana" + }, + "image/vnd.sealed.png": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + "source": "iana" + }, + "image/vnd.svf": { + "source": "iana" + }, + "image/vnd.tencent.tap": { + "source": "iana", + "extensions": ["tap"] + }, + "image/vnd.valve.source.texture": { + "source": "iana", + "extensions": ["vtf"] + }, + "image/vnd.wap.wbmp": { + "source": "iana", + "extensions": ["wbmp"] + }, + "image/vnd.xiff": { + "source": "iana", + "extensions": ["xif"] + }, + "image/vnd.zbrush.pcx": { + "source": "iana", + "extensions": ["pcx"] + }, + "image/webp": { + "source": "apache", + "extensions": ["webp"] + }, + "image/wmf": { + "source": "iana", + "extensions": ["wmf"] + }, + "image/x-3ds": { + "source": "apache", + "extensions": ["3ds"] + }, + "image/x-cmu-raster": { + "source": "apache", + "extensions": ["ras"] + }, + "image/x-cmx": { + "source": "apache", + "extensions": ["cmx"] + }, + "image/x-freehand": { + "source": "apache", + "extensions": ["fh","fhc","fh4","fh5","fh7"] + }, + "image/x-icon": { + "source": "apache", + "compressible": true, + "extensions": ["ico"] + }, + "image/x-jng": { + "source": "nginx", + "extensions": ["jng"] + }, + "image/x-mrsid-image": { + "source": "apache", + "extensions": ["sid"] + }, + "image/x-ms-bmp": { + "source": "nginx", + "compressible": true, + "extensions": ["bmp"] + }, + "image/x-pcx": { + "source": "apache", + "extensions": ["pcx"] + }, + "image/x-pict": { + "source": "apache", + "extensions": ["pic","pct"] + }, + "image/x-portable-anymap": { + "source": "apache", + "extensions": ["pnm"] + }, + "image/x-portable-bitmap": { + "source": "apache", + "extensions": ["pbm"] + }, + "image/x-portable-graymap": { + "source": "apache", + "extensions": ["pgm"] + }, + "image/x-portable-pixmap": { + "source": "apache", + "extensions": ["ppm"] + }, + "image/x-rgb": { + "source": "apache", + "extensions": ["rgb"] + }, + "image/x-tga": { + "source": "apache", + "extensions": ["tga"] + }, + "image/x-xbitmap": { + "source": "apache", + "extensions": ["xbm"] + }, + "image/x-xcf": { + "compressible": false + }, + "image/x-xpixmap": { + "source": "apache", + "extensions": ["xpm"] + }, + "image/x-xwindowdump": { + "source": "apache", + "extensions": ["xwd"] + }, + "message/cpim": { + "source": "iana" + }, + "message/delivery-status": { + "source": "iana" + }, + "message/disposition-notification": { + "source": "iana", + "extensions": [ + "disposition-notification" + ] + }, + "message/external-body": { + "source": "iana" + }, + "message/feedback-report": { + "source": "iana" + }, + "message/global": { + "source": "iana", + "extensions": ["u8msg"] + }, + "message/global-delivery-status": { + "source": "iana", + "extensions": ["u8dsn"] + }, + "message/global-disposition-notification": { + "source": "iana", + "extensions": ["u8mdn"] + }, + "message/global-headers": { + "source": "iana", + "extensions": ["u8hdr"] + }, + "message/http": { + "source": "iana", + "compressible": false + }, + "message/imdn+xml": { + "source": "iana", + "compressible": true + }, + "message/news": { + "source": "iana" + }, + "message/partial": { + "source": "iana", + "compressible": false + }, + "message/rfc822": { + "source": "iana", + "compressible": true, + "extensions": ["eml","mime"] + }, + "message/s-http": { + "source": "iana" + }, + "message/sip": { + "source": "iana" + }, + "message/sipfrag": { + "source": "iana" + }, + "message/tracking-status": { + "source": "iana" + }, + "message/vnd.si.simp": { + "source": "iana" + }, + "message/vnd.wfa.wsc": { + "source": "iana", + "extensions": ["wsc"] + }, + "model/3mf": { + "source": "iana", + "extensions": ["3mf"] + }, + "model/e57": { + "source": "iana" + }, + "model/gltf+json": { + "source": "iana", + "compressible": true, + "extensions": ["gltf"] + }, + "model/gltf-binary": { + "source": "iana", + "compressible": true, + "extensions": ["glb"] + }, + "model/iges": { + "source": "iana", + "compressible": false, + "extensions": ["igs","iges"] + }, + "model/mesh": { + "source": "iana", + "compressible": false, + "extensions": ["msh","mesh","silo"] + }, + "model/mtl": { + "source": "iana", + "extensions": ["mtl"] + }, + "model/obj": { + "source": "iana", + "extensions": ["obj"] + }, + "model/step": { + "source": "iana" + }, + "model/step+xml": { + "source": "iana", + "compressible": true, + "extensions": ["stpx"] + }, + "model/step+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpz"] + }, + "model/step-xml+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpxz"] + }, + "model/stl": { + "source": "iana", + "extensions": ["stl"] + }, + "model/vnd.collada+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dae"] + }, + "model/vnd.dwf": { + "source": "iana", + "extensions": ["dwf"] + }, + "model/vnd.flatland.3dml": { + "source": "iana" + }, + "model/vnd.gdl": { + "source": "iana", + "extensions": ["gdl"] + }, + "model/vnd.gs-gdl": { + "source": "apache" + }, + "model/vnd.gs.gdl": { + "source": "iana" + }, + "model/vnd.gtw": { + "source": "iana", + "extensions": ["gtw"] + }, + "model/vnd.moml+xml": { + "source": "iana", + "compressible": true + }, + "model/vnd.mts": { + "source": "iana", + "extensions": ["mts"] + }, + "model/vnd.opengex": { + "source": "iana", + "extensions": ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + "source": "iana", + "extensions": ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + "source": "iana", + "extensions": ["x_t"] + }, + "model/vnd.pytha.pyox": { + "source": "iana" + }, + "model/vnd.rosette.annotated-data-model": { + "source": "iana" + }, + "model/vnd.sap.vds": { + "source": "iana", + "extensions": ["vds"] + }, + "model/vnd.usdz+zip": { + "source": "iana", + "compressible": false, + "extensions": ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + "source": "iana", + "extensions": ["bsp"] + }, + "model/vnd.vtu": { + "source": "iana", + "extensions": ["vtu"] + }, + "model/vrml": { + "source": "iana", + "compressible": false, + "extensions": ["wrl","vrml"] + }, + "model/x3d+binary": { + "source": "apache", + "compressible": false, + "extensions": ["x3db","x3dbz"] + }, + "model/x3d+fastinfoset": { + "source": "iana", + "extensions": ["x3db"] + }, + "model/x3d+vrml": { + "source": "apache", + "compressible": false, + "extensions": ["x3dv","x3dvz"] + }, + "model/x3d+xml": { + "source": "iana", + "compressible": true, + "extensions": ["x3d","x3dz"] + }, + "model/x3d-vrml": { + "source": "iana", + "extensions": ["x3dv"] + }, + "multipart/alternative": { + "source": "iana", + "compressible": false + }, + "multipart/appledouble": { + "source": "iana" + }, + "multipart/byteranges": { + "source": "iana" + }, + "multipart/digest": { + "source": "iana" + }, + "multipart/encrypted": { + "source": "iana", + "compressible": false + }, + "multipart/form-data": { + "source": "iana", + "compressible": false + }, + "multipart/header-set": { + "source": "iana" + }, + "multipart/mixed": { + "source": "iana" + }, + "multipart/multilingual": { + "source": "iana" + }, + "multipart/parallel": { + "source": "iana" + }, + "multipart/related": { + "source": "iana", + "compressible": false + }, + "multipart/report": { + "source": "iana" + }, + "multipart/signed": { + "source": "iana", + "compressible": false + }, + "multipart/vnd.bint.med-plus": { + "source": "iana" + }, + "multipart/voice-message": { + "source": "iana" + }, + "multipart/x-mixed-replace": { + "source": "iana" + }, + "text/1d-interleaved-parityfec": { + "source": "iana" + }, + "text/cache-manifest": { + "source": "iana", + "compressible": true, + "extensions": ["appcache","manifest"] + }, + "text/calendar": { + "source": "iana", + "extensions": ["ics","ifb"] + }, + "text/calender": { + "compressible": true + }, + "text/cmd": { + "compressible": true + }, + "text/coffeescript": { + "extensions": ["coffee","litcoffee"] + }, + "text/cql": { + "source": "iana" + }, + "text/cql-expression": { + "source": "iana" + }, + "text/cql-identifier": { + "source": "iana" + }, + "text/css": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["css"] + }, + "text/csv": { + "source": "iana", + "compressible": true, + "extensions": ["csv"] + }, + "text/csv-schema": { + "source": "iana" + }, + "text/directory": { + "source": "iana" + }, + "text/dns": { + "source": "iana" + }, + "text/ecmascript": { + "source": "iana" + }, + "text/encaprtp": { + "source": "iana" + }, + "text/enriched": { + "source": "iana" + }, + "text/fhirpath": { + "source": "iana" + }, + "text/flexfec": { + "source": "iana" + }, + "text/fwdred": { + "source": "iana" + }, + "text/gff3": { + "source": "iana" + }, + "text/grammar-ref-list": { + "source": "iana" + }, + "text/html": { + "source": "iana", + "compressible": true, + "extensions": ["html","htm","shtml"] + }, + "text/jade": { + "extensions": ["jade"] + }, + "text/javascript": { + "source": "iana", + "compressible": true + }, + "text/jcr-cnd": { + "source": "iana" + }, + "text/jsx": { + "compressible": true, + "extensions": ["jsx"] + }, + "text/less": { + "compressible": true, + "extensions": ["less"] + }, + "text/markdown": { + "source": "iana", + "compressible": true, + "extensions": ["markdown","md"] + }, + "text/mathml": { + "source": "nginx", + "extensions": ["mml"] + }, + "text/mdx": { + "compressible": true, + "extensions": ["mdx"] + }, + "text/mizar": { + "source": "iana" + }, + "text/n3": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["n3"] + }, + "text/parameters": { + "source": "iana", + "charset": "UTF-8" + }, + "text/parityfec": { + "source": "iana" + }, + "text/plain": { + "source": "iana", + "compressible": true, + "extensions": ["txt","text","conf","def","list","log","in","ini"] + }, + "text/provenance-notation": { + "source": "iana", + "charset": "UTF-8" + }, + "text/prs.fallenstein.rst": { + "source": "iana" + }, + "text/prs.lines.tag": { + "source": "iana", + "extensions": ["dsc"] + }, + "text/prs.prop.logic": { + "source": "iana" + }, + "text/raptorfec": { + "source": "iana" + }, + "text/red": { + "source": "iana" + }, + "text/rfc822-headers": { + "source": "iana" + }, + "text/richtext": { + "source": "iana", + "compressible": true, + "extensions": ["rtx"] + }, + "text/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "text/rtp-enc-aescm128": { + "source": "iana" + }, + "text/rtploopback": { + "source": "iana" + }, + "text/rtx": { + "source": "iana" + }, + "text/sgml": { + "source": "iana", + "extensions": ["sgml","sgm"] + }, + "text/shaclc": { + "source": "iana" + }, + "text/shex": { + "source": "iana", + "extensions": ["shex"] + }, + "text/slim": { + "extensions": ["slim","slm"] + }, + "text/spdx": { + "source": "iana", + "extensions": ["spdx"] + }, + "text/strings": { + "source": "iana" + }, + "text/stylus": { + "extensions": ["stylus","styl"] + }, + "text/t140": { + "source": "iana" + }, + "text/tab-separated-values": { + "source": "iana", + "compressible": true, + "extensions": ["tsv"] + }, + "text/troff": { + "source": "iana", + "extensions": ["t","tr","roff","man","me","ms"] + }, + "text/turtle": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["ttl"] + }, + "text/ulpfec": { + "source": "iana" + }, + "text/uri-list": { + "source": "iana", + "compressible": true, + "extensions": ["uri","uris","urls"] + }, + "text/vcard": { + "source": "iana", + "compressible": true, + "extensions": ["vcard"] + }, + "text/vnd.a": { + "source": "iana" + }, + "text/vnd.abc": { + "source": "iana" + }, + "text/vnd.ascii-art": { + "source": "iana" + }, + "text/vnd.curl": { + "source": "iana", + "extensions": ["curl"] + }, + "text/vnd.curl.dcurl": { + "source": "apache", + "extensions": ["dcurl"] + }, + "text/vnd.curl.mcurl": { + "source": "apache", + "extensions": ["mcurl"] + }, + "text/vnd.curl.scurl": { + "source": "apache", + "extensions": ["scurl"] + }, + "text/vnd.debian.copyright": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.dmclientscript": { + "source": "iana" + }, + "text/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.familysearch.gedcom": { + "source": "iana", + "extensions": ["ged"] + }, + "text/vnd.ficlab.flt": { + "source": "iana" + }, + "text/vnd.fly": { + "source": "iana", + "extensions": ["fly"] + }, + "text/vnd.fmi.flexstor": { + "source": "iana", + "extensions": ["flx"] + }, + "text/vnd.gml": { + "source": "iana" + }, + "text/vnd.graphviz": { + "source": "iana", + "extensions": ["gv"] + }, + "text/vnd.hans": { + "source": "iana" + }, + "text/vnd.hgl": { + "source": "iana" + }, + "text/vnd.in3d.3dml": { + "source": "iana", + "extensions": ["3dml"] + }, + "text/vnd.in3d.spot": { + "source": "iana", + "extensions": ["spot"] + }, + "text/vnd.iptc.newsml": { + "source": "iana" + }, + "text/vnd.iptc.nitf": { + "source": "iana" + }, + "text/vnd.latex-z": { + "source": "iana" + }, + "text/vnd.motorola.reflex": { + "source": "iana" + }, + "text/vnd.ms-mediapackage": { + "source": "iana" + }, + "text/vnd.net2phone.commcenter.command": { + "source": "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + "source": "iana" + }, + "text/vnd.senx.warpscript": { + "source": "iana" + }, + "text/vnd.si.uricatalogue": { + "source": "iana" + }, + "text/vnd.sosi": { + "source": "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["jad"] + }, + "text/vnd.trolltech.linguist": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.wap.si": { + "source": "iana" + }, + "text/vnd.wap.sl": { + "source": "iana" + }, + "text/vnd.wap.wml": { + "source": "iana", + "extensions": ["wml"] + }, + "text/vnd.wap.wmlscript": { + "source": "iana", + "extensions": ["wmls"] + }, + "text/vtt": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["vtt"] + }, + "text/x-asm": { + "source": "apache", + "extensions": ["s","asm"] + }, + "text/x-c": { + "source": "apache", + "extensions": ["c","cc","cxx","cpp","h","hh","dic"] + }, + "text/x-component": { + "source": "nginx", + "extensions": ["htc"] + }, + "text/x-fortran": { + "source": "apache", + "extensions": ["f","for","f77","f90"] + }, + "text/x-gwt-rpc": { + "compressible": true + }, + "text/x-handlebars-template": { + "extensions": ["hbs"] + }, + "text/x-java-source": { + "source": "apache", + "extensions": ["java"] + }, + "text/x-jquery-tmpl": { + "compressible": true + }, + "text/x-lua": { + "extensions": ["lua"] + }, + "text/x-markdown": { + "compressible": true, + "extensions": ["mkd"] + }, + "text/x-nfo": { + "source": "apache", + "extensions": ["nfo"] + }, + "text/x-opml": { + "source": "apache", + "extensions": ["opml"] + }, + "text/x-org": { + "compressible": true, + "extensions": ["org"] + }, + "text/x-pascal": { + "source": "apache", + "extensions": ["p","pas"] + }, + "text/x-processing": { + "compressible": true, + "extensions": ["pde"] + }, + "text/x-sass": { + "extensions": ["sass"] + }, + "text/x-scss": { + "extensions": ["scss"] + }, + "text/x-setext": { + "source": "apache", + "extensions": ["etx"] + }, + "text/x-sfv": { + "source": "apache", + "extensions": ["sfv"] + }, + "text/x-suse-ymp": { + "compressible": true, + "extensions": ["ymp"] + }, + "text/x-uuencode": { + "source": "apache", + "extensions": ["uu"] + }, + "text/x-vcalendar": { + "source": "apache", + "extensions": ["vcs"] + }, + "text/x-vcard": { + "source": "apache", + "extensions": ["vcf"] + }, + "text/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml"] + }, + "text/xml-external-parsed-entity": { + "source": "iana" + }, + "text/yaml": { + "compressible": true, + "extensions": ["yaml","yml"] + }, + "video/1d-interleaved-parityfec": { + "source": "iana" + }, + "video/3gpp": { + "source": "iana", + "extensions": ["3gp","3gpp"] + }, + "video/3gpp-tt": { + "source": "iana" + }, + "video/3gpp2": { + "source": "iana", + "extensions": ["3g2"] + }, + "video/av1": { + "source": "iana" + }, + "video/bmpeg": { + "source": "iana" + }, + "video/bt656": { + "source": "iana" + }, + "video/celb": { + "source": "iana" + }, + "video/dv": { + "source": "iana" + }, + "video/encaprtp": { + "source": "iana" + }, + "video/ffv1": { + "source": "iana" + }, + "video/flexfec": { + "source": "iana" + }, + "video/h261": { + "source": "iana", + "extensions": ["h261"] + }, + "video/h263": { + "source": "iana", + "extensions": ["h263"] + }, + "video/h263-1998": { + "source": "iana" + }, + "video/h263-2000": { + "source": "iana" + }, + "video/h264": { + "source": "iana", + "extensions": ["h264"] + }, + "video/h264-rcdo": { + "source": "iana" + }, + "video/h264-svc": { + "source": "iana" + }, + "video/h265": { + "source": "iana" + }, + "video/iso.segment": { + "source": "iana", + "extensions": ["m4s"] + }, + "video/jpeg": { + "source": "iana", + "extensions": ["jpgv"] + }, + "video/jpeg2000": { + "source": "iana" + }, + "video/jpm": { + "source": "apache", + "extensions": ["jpm","jpgm"] + }, + "video/jxsv": { + "source": "iana" + }, + "video/mj2": { + "source": "iana", + "extensions": ["mj2","mjp2"] + }, + "video/mp1s": { + "source": "iana" + }, + "video/mp2p": { + "source": "iana" + }, + "video/mp2t": { + "source": "iana", + "extensions": ["ts"] + }, + "video/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["mp4","mp4v","mpg4"] + }, + "video/mp4v-es": { + "source": "iana" + }, + "video/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpeg","mpg","mpe","m1v","m2v"] + }, + "video/mpeg4-generic": { + "source": "iana" + }, + "video/mpv": { + "source": "iana" + }, + "video/nv": { + "source": "iana" + }, + "video/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogv"] + }, + "video/parityfec": { + "source": "iana" + }, + "video/pointer": { + "source": "iana" + }, + "video/quicktime": { + "source": "iana", + "compressible": false, + "extensions": ["qt","mov"] + }, + "video/raptorfec": { + "source": "iana" + }, + "video/raw": { + "source": "iana" + }, + "video/rtp-enc-aescm128": { + "source": "iana" + }, + "video/rtploopback": { + "source": "iana" + }, + "video/rtx": { + "source": "iana" + }, + "video/scip": { + "source": "iana" + }, + "video/smpte291": { + "source": "iana" + }, + "video/smpte292m": { + "source": "iana" + }, + "video/ulpfec": { + "source": "iana" + }, + "video/vc1": { + "source": "iana" + }, + "video/vc2": { + "source": "iana" + }, + "video/vnd.cctv": { + "source": "iana" + }, + "video/vnd.dece.hd": { + "source": "iana", + "extensions": ["uvh","uvvh"] + }, + "video/vnd.dece.mobile": { + "source": "iana", + "extensions": ["uvm","uvvm"] + }, + "video/vnd.dece.mp4": { + "source": "iana" + }, + "video/vnd.dece.pd": { + "source": "iana", + "extensions": ["uvp","uvvp"] + }, + "video/vnd.dece.sd": { + "source": "iana", + "extensions": ["uvs","uvvs"] + }, + "video/vnd.dece.video": { + "source": "iana", + "extensions": ["uvv","uvvv"] + }, + "video/vnd.directv.mpeg": { + "source": "iana" + }, + "video/vnd.directv.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dlna.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dvb.file": { + "source": "iana", + "extensions": ["dvb"] + }, + "video/vnd.fvt": { + "source": "iana", + "extensions": ["fvt"] + }, + "video/vnd.hns.video": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsavc": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + "source": "iana" + }, + "video/vnd.motorola.video": { + "source": "iana" + }, + "video/vnd.motorola.videop": { + "source": "iana" + }, + "video/vnd.mpegurl": { + "source": "iana", + "extensions": ["mxu","m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + "source": "iana", + "extensions": ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + "source": "iana" + }, + "video/vnd.nokia.mp4vr": { + "source": "iana" + }, + "video/vnd.nokia.videovoip": { + "source": "iana" + }, + "video/vnd.objectvideo": { + "source": "iana" + }, + "video/vnd.radgamettools.bink": { + "source": "iana" + }, + "video/vnd.radgamettools.smacker": { + "source": "iana" + }, + "video/vnd.sealed.mpeg1": { + "source": "iana" + }, + "video/vnd.sealed.mpeg4": { + "source": "iana" + }, + "video/vnd.sealed.swf": { + "source": "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + "source": "iana" + }, + "video/vnd.uvvu.mp4": { + "source": "iana", + "extensions": ["uvu","uvvu"] + }, + "video/vnd.vivo": { + "source": "iana", + "extensions": ["viv"] + }, + "video/vnd.youtube.yt": { + "source": "iana" + }, + "video/vp8": { + "source": "iana" + }, + "video/vp9": { + "source": "iana" + }, + "video/webm": { + "source": "apache", + "compressible": false, + "extensions": ["webm"] + }, + "video/x-f4v": { + "source": "apache", + "extensions": ["f4v"] + }, + "video/x-fli": { + "source": "apache", + "extensions": ["fli"] + }, + "video/x-flv": { + "source": "apache", + "compressible": false, + "extensions": ["flv"] + }, + "video/x-m4v": { + "source": "apache", + "extensions": ["m4v"] + }, + "video/x-matroska": { + "source": "apache", + "compressible": false, + "extensions": ["mkv","mk3d","mks"] + }, + "video/x-mng": { + "source": "apache", + "extensions": ["mng"] + }, + "video/x-ms-asf": { + "source": "apache", + "extensions": ["asf","asx"] + }, + "video/x-ms-vob": { + "source": "apache", + "extensions": ["vob"] + }, + "video/x-ms-wm": { + "source": "apache", + "extensions": ["wm"] + }, + "video/x-ms-wmv": { + "source": "apache", + "compressible": false, + "extensions": ["wmv"] + }, + "video/x-ms-wmx": { + "source": "apache", + "extensions": ["wmx"] + }, + "video/x-ms-wvx": { + "source": "apache", + "extensions": ["wvx"] + }, + "video/x-msvideo": { + "source": "apache", + "extensions": ["avi"] + }, + "video/x-sgi-movie": { + "source": "apache", + "extensions": ["movie"] + }, + "video/x-smv": { + "source": "apache", + "extensions": ["smv"] + }, + "x-conference/x-cooltalk": { + "source": "apache", + "extensions": ["ice"] + }, + "x-shader/x-fragment": { + "compressible": true + }, + "x-shader/x-vertex": { + "compressible": true + } +} diff --git a/.output/server/node_modules/mime-db/index.js b/.output/server/node_modules/mime-db/index.js new file mode 100644 index 00000000..ec2be30d --- /dev/null +++ b/.output/server/node_modules/mime-db/index.js @@ -0,0 +1,12 @@ +/*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module exports. + */ + +module.exports = require('./db.json') diff --git a/.output/server/node_modules/mime-db/package.json b/.output/server/node_modules/mime-db/package.json new file mode 100644 index 00000000..b9d57860 --- /dev/null +++ b/.output/server/node_modules/mime-db/package.json @@ -0,0 +1,60 @@ +{ + "name": "mime-db", + "description": "Media Type Database", + "version": "1.52.0", + "contributors": [ + "Douglas Christopher Wilson <doug@somethingdoug.com>", + "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)", + "Robert Kieffer <robert@broofa.com> (http://github.com/broofa)" + ], + "license": "MIT", + "keywords": [ + "mime", + "db", + "type", + "types", + "database", + "charset", + "charsets" + ], + "repository": "jshttp/mime-db", + "devDependencies": { + "bluebird": "3.7.2", + "co": "4.6.0", + "cogent": "1.0.1", + "csv-parse": "4.16.3", + "eslint": "7.32.0", + "eslint-config-standard": "15.0.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.1.1", + "eslint-plugin-standard": "4.1.0", + "gnode": "0.1.2", + "media-typer": "1.1.0", + "mocha": "9.2.1", + "nyc": "15.1.0", + "raw-body": "2.5.0", + "stream-to-array": "2.3.0" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "db.json", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "build": "node scripts/build", + "fetch": "node scripts/fetch-apache && gnode scripts/fetch-iana && node scripts/fetch-nginx", + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "update": "npm run fetch && npm run build", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/mime-types/index.js b/.output/server/node_modules/mime-types/index.js new file mode 100644 index 00000000..b9f34d59 --- /dev/null +++ b/.output/server/node_modules/mime-types/index.js @@ -0,0 +1,188 @@ +/*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var db = require('mime-db') +var extname = require('path').extname + +/** + * Module variables. + * @private + */ + +var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/ +var TEXT_TYPE_REGEXP = /^text\//i + +/** + * Module exports. + * @public + */ + +exports.charset = charset +exports.charsets = { lookup: charset } +exports.contentType = contentType +exports.extension = extension +exports.extensions = Object.create(null) +exports.lookup = lookup +exports.types = Object.create(null) + +// Populate the extensions/types maps +populateMaps(exports.extensions, exports.types) + +/** + * Get the default charset for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function charset (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + var mime = match && db[match[1].toLowerCase()] + + if (mime && mime.charset) { + return mime.charset + } + + // default text/* to utf-8 + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return 'UTF-8' + } + + return false +} + +/** + * Create a full Content-Type header given a MIME type or extension. + * + * @param {string} str + * @return {boolean|string} + */ + +function contentType (str) { + // TODO: should this even be in this module? + if (!str || typeof str !== 'string') { + return false + } + + var mime = str.indexOf('/') === -1 + ? exports.lookup(str) + : str + + if (!mime) { + return false + } + + // TODO: use content-type or other module + if (mime.indexOf('charset') === -1) { + var charset = exports.charset(mime) + if (charset) mime += '; charset=' + charset.toLowerCase() + } + + return mime +} + +/** + * Get the default extension for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function extension (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + + // get extensions + var exts = match && exports.extensions[match[1].toLowerCase()] + + if (!exts || !exts.length) { + return false + } + + return exts[0] +} + +/** + * Lookup the MIME type for a file path/extension. + * + * @param {string} path + * @return {boolean|string} + */ + +function lookup (path) { + if (!path || typeof path !== 'string') { + return false + } + + // get the extension ("ext" or ".ext" or full path) + var extension = extname('x.' + path) + .toLowerCase() + .substr(1) + + if (!extension) { + return false + } + + return exports.types[extension] || false +} + +/** + * Populate the extensions and types maps. + * @private + */ + +function populateMaps (extensions, types) { + // source preference (least -> most) + var preference = ['nginx', 'apache', undefined, 'iana'] + + Object.keys(db).forEach(function forEachMimeType (type) { + var mime = db[type] + var exts = mime.extensions + + if (!exts || !exts.length) { + return + } + + // mime -> extensions + extensions[type] = exts + + // extension -> mime + for (var i = 0; i < exts.length; i++) { + var extension = exts[i] + + if (types[extension]) { + var from = preference.indexOf(db[types[extension]].source) + var to = preference.indexOf(mime.source) + + if (types[extension] !== 'application/octet-stream' && + (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) { + // skip the remapping + continue + } + } + + // set the extension -> mime + types[extension] = type + } + }) +} diff --git a/.output/server/node_modules/mime-types/package.json b/.output/server/node_modules/mime-types/package.json new file mode 100644 index 00000000..70409da7 --- /dev/null +++ b/.output/server/node_modules/mime-types/package.json @@ -0,0 +1,44 @@ +{ + "name": "mime-types", + "description": "The ultimate javascript content-type utility.", + "version": "2.1.35", + "contributors": [ + "Douglas Christopher Wilson <doug@somethingdoug.com>", + "Jeremiah Senkpiel <fishrock123@rocketmail.com> (https://searchbeam.jit.su)", + "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)" + ], + "license": "MIT", + "keywords": [ + "mime", + "types" + ], + "repository": "jshttp/mime-types", + "dependencies": { + "mime-db": "1.52.0" + }, + "devDependencies": { + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.2.2", + "nyc": "15.1.0" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec test/test.js", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/moment-jalaali/index.js b/.output/server/node_modules/moment-jalaali/index.js new file mode 100644 index 00000000..99648e2a --- /dev/null +++ b/.output/server/node_modules/moment-jalaali/index.js @@ -0,0 +1,1107 @@ + +module.exports = jMoment + +var moment = require('moment/moment') + , jalaali = require('jalaali-js') + +/************************************ + Constants +************************************/ + +var formattingTokens = /(\[[^\[]*\])|(\\)?j(Mo|MM?M?M?|Do|DDDo|DD?D?D?|w[o|w]?|YYYYY|YYYY|YY|gg(ggg?)?|)|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g + , localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS?|LL?L?L?|l{1,4})/g + + , parseTokenOneOrTwoDigits = /\d\d?/ + , parseTokenOneToThreeDigits = /\d{1,3}/ + , parseTokenThreeDigits = /\d{3}/ + , parseTokenFourDigits = /\d{1,4}/ + , parseTokenSixDigits = /[+\-]?\d{1,6}/ + , parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i + , parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i + , parseTokenT = /T/i + , parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/ + , symbolMap = { + '1': '۱', + '2': '۲', + '3': '۳', + '4': '۴', + '5': '۵', + '6': '۶', + '7': '۷', + '8': '۸', + '9': '۹', + '0': '۰' + } + , numberMap = { + '۱': '1', + '۲': '2', + '۳': '3', + '۴': '4', + '۵': '5', + '۶': '6', + '۷': '7', + '۸': '8', + '۹': '9', + '۰': '0' + } + + + , unitAliases = + { jm: 'jmonth' + , jmonths: 'jmonth' + , jy: 'jyear' + , jyears: 'jyear' + } + + , formatFunctions = {} + + , ordinalizeTokens = 'DDD w M D'.split(' ') + , paddedTokens = 'M D w'.split(' ') + + , formatTokenFunctions = + { jM: function () { + return this.jMonth() + 1 + } + , jMMM: function (format) { + return this.localeData().jMonthsShort(this, format) + } + , jMMMM: function (format) { + return this.localeData().jMonths(this, format) + } + , jD: function () { + return this.jDate() + } + , jDDD: function () { + return this.jDayOfYear() + } + , jw: function () { + return this.jWeek() + } + , jYY: function () { + return leftZeroFill(this.jYear() % 100, 2) + } + , jYYYY: function () { + return leftZeroFill(this.jYear(), 4) + } + , jYYYYY: function () { + return leftZeroFill(this.jYear(), 5) + } + , jgg: function () { + return leftZeroFill(this.jWeekYear() % 100, 2) + } + , jgggg: function () { + return this.jWeekYear() + } + , jggggg: function () { + return leftZeroFill(this.jWeekYear(), 5) + } + } + +function padToken(func, count) { + return function (a) { + return leftZeroFill(func.call(this, a), count) + } +} +function ordinalizeToken(func, period) { + return function (a) { + return this.localeData().ordinal(func.call(this, a), period) + } +} + +(function () { + var i + while (ordinalizeTokens.length) { + i = ordinalizeTokens.pop() + formatTokenFunctions['j' + i + 'o'] = ordinalizeToken(formatTokenFunctions['j' + i], i) + } + while (paddedTokens.length) { + i = paddedTokens.pop() + formatTokenFunctions['j' + i + i] = padToken(formatTokenFunctions['j' + i], 2) + } + formatTokenFunctions.jDDDD = padToken(formatTokenFunctions.jDDD, 3) +}()) + +/************************************ + Helpers +************************************/ + +function extend(a, b) { + var key + for (key in b) + if (b.hasOwnProperty(key)) + a[key] = b[key] + return a +} + +function leftZeroFill(number, targetLength) { + var output = number + '' + while (output.length < targetLength) + output = '0' + output + return output +} + +function isArray(input) { + return Object.prototype.toString.call(input) === '[object Array]' +} + +// function compareArrays(array1, array2) { +// var len = Math.min(array1.length, array2.length) +// , lengthDiff = Math.abs(array1.length - array2.length) +// , diffs = 0 +// , i +// for (i = 0; i < len; i += 1) +// if (~~array1[i] !== ~~array2[i]) +// diffs += 1 +// return diffs + lengthDiff +// } + +function normalizeUnits(units) { + if (units) { + var lowered = units.toLowerCase() + units = unitAliases[lowered] || lowered + } + return units +} + +function setDate(m, year, month, date) { + var d = m._d + if (isNaN(year)) { + m._isValid = false + } + if (m._isUTC) { + /*eslint-disable new-cap*/ + m._d = new Date(Date.UTC(year, month, date, + d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds())) + /*eslint-enable new-cap*/ + } else { + m._d = new Date(year, month, date, + d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()) + } +} + +function objectCreate(parent) { + function F() {} + F.prototype = parent + return new F() +} + +function getPrototypeOf(object) { + if (Object.getPrototypeOf) + return Object.getPrototypeOf(object) + else if (''.__proto__) + return object.__proto__ + else + return object.constructor.prototype +} + +/************************************ + Languages +************************************/ +extend(getPrototypeOf(moment.localeData()), + { _jMonths: [ 'Farvardin' + , 'Ordibehesht' + , 'Khordaad' + , 'Tir' + , 'Amordaad' + , 'Shahrivar' + , 'Mehr' + , 'Aabaan' + , 'Aazar' + , 'Dey' + , 'Bahman' + , 'Esfand' + ] + , jMonths: function (m) { + return this._jMonths[m.jMonth()] + } + + , _jMonthsShort: [ 'Far' + , 'Ord' + , 'Kho' + , 'Tir' + , 'Amo' + , 'Sha' + , 'Meh' + , 'Aab' + , 'Aaz' + , 'Dey' + , 'Bah' + , 'Esf' + ] + , jMonthsShort: function (m) { + return this._jMonthsShort[m.jMonth()] + } + + , jMonthsParse: function (monthName) { + var i + , mom + , regex + if (!this._jMonthsParse) + this._jMonthsParse = [] + for (i = 0; i < 12; i += 1) { + // Make the regex if we don't have it already. + if (!this._jMonthsParse[i]) { + mom = jMoment([2000, (2 + i) % 12, 25]) + regex = '^' + this.jMonths(mom, '') + '|^' + this.jMonthsShort(mom, '') + this._jMonthsParse[i] = new RegExp(regex.replace('.', ''), 'i') + } + // Test the regex. + if (this._jMonthsParse[i].test(monthName)) + return i + } + } + } +) + +/************************************ + Formatting +************************************/ + +function makeFormatFunction(format) { + var array = format.match(formattingTokens) + , length = array.length + , i + + for (i = 0; i < length; i += 1) + if (formatTokenFunctions[array[i]]) + array[i] = formatTokenFunctions[array[i]] + + return function (mom) { + var output = '' + for (i = 0; i < length; i += 1) + output += array[i] instanceof Function ? '[' + array[i].call(mom, format) + ']' : array[i] + return output + } +} + +/************************************ + Parsing +************************************/ + +function getParseRegexForToken(token, config) { + switch (token) { + case 'jDDDD': + return parseTokenThreeDigits + case 'jYYYY': + return parseTokenFourDigits + case 'jYYYYY': + return parseTokenSixDigits + case 'jDDD': + return parseTokenOneToThreeDigits + case 'jMMM': + case 'jMMMM': + return parseTokenWord + case 'jMM': + case 'jDD': + case 'jYY': + case 'jM': + case 'jD': + return parseTokenOneOrTwoDigits + case 'DDDD': + return parseTokenThreeDigits + case 'YYYY': + return parseTokenFourDigits + case 'YYYYY': + return parseTokenSixDigits + case 'S': + case 'SS': + case 'SSS': + case 'DDD': + return parseTokenOneToThreeDigits + case 'MMM': + case 'MMMM': + case 'dd': + case 'ddd': + case 'dddd': + return parseTokenWord + case 'a': + case 'A': + return moment.localeData(config._l)._meridiemParse + case 'X': + return parseTokenTimestampMs + case 'Z': + case 'ZZ': + return parseTokenTimezone + case 'T': + return parseTokenT + case 'MM': + case 'DD': + case 'YY': + case 'HH': + case 'hh': + case 'mm': + case 'ss': + case 'M': + case 'D': + case 'd': + case 'H': + case 'h': + case 'm': + case 's': + return parseTokenOneOrTwoDigits + default: + return new RegExp(token.replace('\\', '')) + } +} + +function addTimeToArrayFromToken(token, input, config) { + var a + , datePartArray = config._a + + switch (token) { + case 'jM': + case 'jMM': + datePartArray[1] = input == null ? 0 : ~~input - 1 + break + case 'jMMM': + case 'jMMMM': + a = moment.localeData(config._l).jMonthsParse(input) + if (a != null) + datePartArray[1] = a + else + config._isValid = false + break + case 'jD': + case 'jDD': + case 'jDDD': + case 'jDDDD': + if (input != null) + datePartArray[2] = ~~input + break + case 'jYY': + datePartArray[0] = ~~input + (~~input > 47 ? 1300 : 1400) + break + case 'jYYYY': + case 'jYYYYY': + datePartArray[0] = ~~input + } + if (input == null) + config._isValid = false +} + +function dateFromArray(config) { + var g + , j + , jy = config._a[0] + , jm = config._a[1] + , jd = config._a[2] + + if ((jy == null) && (jm == null) && (jd == null)) + return [0, 0, 1] + jy = jy != null ? jy : 0 + jm = jm != null ? jm : 0 + jd = jd != null ? jd : 1 + if (jd < 1 || jd > jMoment.jDaysInMonth(jy, jm) || jm < 0 || jm > 11) + config._isValid = false + g = toGregorian(jy, jm, jd) + j = toJalaali(g.gy, g.gm, g.gd) + if (isNaN(g.gy)) + config._isValid = false + config._jDiff = 0 + if (~~j.jy !== jy) + config._jDiff += 1 + if (~~j.jm !== jm) + config._jDiff += 1 + if (~~j.jd !== jd) + config._jDiff += 1 + return [g.gy, g.gm, g.gd] +} + +function makeDateFromStringAndFormat(config) { + var tokens = config._f.match(formattingTokens) + , string = config._i + '' + , len = tokens.length + , i + , token + , parsedInput + + config._a = [] + + for (i = 0; i < len; i += 1) { + token = tokens[i] + parsedInput = (getParseRegexForToken(token, config).exec(string) || [])[0] + if (parsedInput) + string = string.slice(string.indexOf(parsedInput) + parsedInput.length) + if (formatTokenFunctions[token]) + addTimeToArrayFromToken(token, parsedInput, config) + } + if (string) + config._il = string + return dateFromArray(config) +} + +function makeDateFromStringAndArray(config, utc) { + var len = config._f.length + , i + , format + , tempMoment + , bestMoment + , currentScore + , scoreToBeat + + if (len === 0) { + return makeMoment(new Date(NaN)) + } + + for (i = 0; i < len; i += 1) { + format = config._f[i] + currentScore = 0 + tempMoment = makeMoment(config._i, format, config._l, config._strict, utc) + + if (!tempMoment.isValid()) continue + + // currentScore = compareArrays(tempMoment._a, tempMoment.toArray()) + currentScore += tempMoment._jDiff + if (tempMoment._il) + currentScore += tempMoment._il.length + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore + bestMoment = tempMoment + } + } + + return bestMoment +} + +function removeParsedTokens(config) { + var string = config._i + '' + , input = '' + , format = '' + , array = config._f.match(formattingTokens) + , len = array.length + , i + , match + , parsed + + for (i = 0; i < len; i += 1) { + match = array[i] + parsed = (getParseRegexForToken(match, config).exec(string) || [])[0] + if (parsed) + string = string.slice(string.indexOf(parsed) + parsed.length) + if (!(formatTokenFunctions[match] instanceof Function)) { + format += match + if (parsed) + input += parsed + } + } + config._i = input + config._f = format +} + +/************************************ + Week of Year +************************************/ + +function jWeekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) { + var end = firstDayOfWeekOfYear - firstDayOfWeek + , daysToDayOfWeek = firstDayOfWeekOfYear - mom.day() + , adjustedMoment + + if (daysToDayOfWeek > end) { + daysToDayOfWeek -= 7 + } + if (daysToDayOfWeek < end - 7) { + daysToDayOfWeek += 7 + } + adjustedMoment = jMoment(mom).add(daysToDayOfWeek, 'd') + return { week: Math.ceil(adjustedMoment.jDayOfYear() / 7) + , year: adjustedMoment.jYear() + } +} + +/************************************ + Top Level Functions +************************************/ +var maxTimestamp = 57724432199999 + +function makeMoment(input, format, lang, strict, utc) { + if (typeof lang === 'boolean') { + strict = lang + lang = undefined + } + + if (format && typeof format === 'string') + format = fixFormat(format, moment) + + var config = + { _i: input + , _f: format + , _l: lang + , _strict: strict + , _isUTC: utc + } + , date + , m + , jm + , origInput = input + , origFormat = format + if (format) { + if (isArray(format)) { + return makeDateFromStringAndArray(config, utc) + } else { + date = makeDateFromStringAndFormat(config) + removeParsedTokens(config) + format = 'YYYY-MM-DD-' + config._f + input = leftZeroFill(date[0], 4) + '-' + + leftZeroFill(date[1] + 1, 2) + '-' + + leftZeroFill(date[2], 2) + '-' + + config._i + } + } + if (utc) + m = moment.utc(input, format, lang, strict) + else + m = moment(input, format, lang, strict) + if (config._isValid === false) + m._isValid = false + m._jDiff = config._jDiff || 0 + jm = objectCreate(jMoment.fn) + extend(jm, m) + if (strict && format && jm.isValid()) { + jm._isValid = jm.format(origFormat) === origInput + } + if (m._d.getTime() > maxTimestamp) { + jm._isValid = false + } + return jm +} + +function jMoment(input, format, lang, strict) { + return makeMoment(input, format, lang, strict, false) +} + +extend(jMoment, moment) +jMoment.fn = objectCreate(moment.fn) + +jMoment.utc = function (input, format, lang, strict) { + return makeMoment(input, format, lang, strict, true) +} + +jMoment.unix = function (input) { + return makeMoment(input * 1000) +} + +/************************************ + jMoment Prototype +************************************/ + +function fixFormat(format, _moment) { + var i = 5 + var replace = function (input) { + return _moment.localeData().longDateFormat(input) || input + } + while (i > 0 && localFormattingTokens.test(format)) { + i -= 1 + format = format.replace(localFormattingTokens, replace) + } + return format +} + +jMoment.fn.format = function (format) { + + if (format) { + format = fixFormat(format, this) + + if (!formatFunctions[format]) { + formatFunctions[format] = makeFormatFunction(format) + } + format = formatFunctions[format](this) + } + return moment.fn.format.call(this, format) +} + +jMoment.fn.jYear = function (input) { + var lastDay + , j + , g + if (typeof input === 'number') { + j = toJalaali(this.year(), this.month(), this.date()) + lastDay = Math.min(j.jd, jMoment.jDaysInMonth(input, j.jm)) + g = toGregorian(input, j.jm, lastDay) + setDate(this, g.gy, g.gm, g.gd) + moment.updateOffset(this) + return this + } else { + return toJalaali(this.year(), this.month(), this.date()).jy + } +} + +jMoment.fn.jMonth = function (input) { + var lastDay + , j + , g + if (input != null) { + if (typeof input === 'string') { + input = this.localeData().jMonthsParse(input) + if (typeof input !== 'number') + return this + } + j = toJalaali(this.year(), this.month(), this.date()) + lastDay = Math.min(j.jd, jMoment.jDaysInMonth(j.jy, input)) + this.jYear(j.jy + div(input, 12)) + input = mod(input, 12) + if (input < 0) { + input += 12 + this.jYear(this.jYear() - 1) + } + g = toGregorian(this.jYear(), input, lastDay) + setDate(this, g.gy, g.gm, g.gd) + moment.updateOffset(this) + return this + } else { + return toJalaali(this.year(), this.month(), this.date()).jm + } +} + +jMoment.fn.jDate = function (input) { + var j + , g + if (typeof input === 'number') { + j = toJalaali(this.year(), this.month(), this.date()) + g = toGregorian(j.jy, j.jm, input) + setDate(this, g.gy, g.gm, g.gd) + moment.updateOffset(this) + return this + } else { + return toJalaali(this.year(), this.month(), this.date()).jd + } +} + +jMoment.fn.jDayOfYear = function (input) { + var dayOfYear = Math.round((jMoment(this).startOf('day') - jMoment(this).startOf('jYear')) / 864e5) + 1 + return input == null ? dayOfYear : this.add(input - dayOfYear, 'd') +} + +jMoment.fn.jWeek = function (input) { + var week = jWeekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).week + return input == null ? week : this.add((input - week) * 7, 'd') +} + +jMoment.fn.jWeekYear = function (input) { + var year = jWeekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year + return input == null ? year : this.add(input - year, 'y') +} + +jMoment.fn.add = function (val, units) { + var temp + if (units !== null && !isNaN(+units)) { + temp = val + val = units + units = temp + } + units = normalizeUnits(units) + if (units === 'jyear') { + this.jYear(this.jYear() + val) + } else if (units === 'jmonth') { + this.jMonth(this.jMonth() + val) + } else { + moment.fn.add.call(this, val, units) + if (isNaN(this.jYear())) { + this._isValid = false + } + } + return this +} + +jMoment.fn.subtract = function (val, units) { + var temp + if (units !== null && !isNaN(+units)) { + temp = val + val = units + units = temp + } + units = normalizeUnits(units) + if (units === 'jyear') { + this.jYear(this.jYear() - val) + } else if (units === 'jmonth') { + this.jMonth(this.jMonth() - val) + } else { + moment.fn.subtract.call(this, val, units) + } + return this +} + +jMoment.fn.startOf = function (units) { + units = normalizeUnits(units) + if (units === 'jyear' || units === 'jmonth') { + if (units === 'jyear') { + this.jMonth(0) + } + this.jDate(1) + this.hours(0) + this.minutes(0) + this.seconds(0) + this.milliseconds(0) + return this + } else { + return moment.fn.startOf.call(this, units) + } +} + +jMoment.fn.endOf = function (units) { + units = normalizeUnits(units) + if (units === undefined || units === 'milisecond') { + return this + } + return this.startOf(units).add(1, (units === 'isoweek' ? 'week' : units)).subtract(1, 'ms') +} + +jMoment.fn.isSame = function (other, units) { + units = normalizeUnits(units) + if (units === 'jyear' || units === 'jmonth') { + return moment.fn.isSame.call(this.startOf(units), other.startOf(units)) + } + return moment.fn.isSame.call(this, other, units) +} + +jMoment.fn.clone = function () { + return jMoment(this) +} + +jMoment.fn.jYears = jMoment.fn.jYear +jMoment.fn.jMonths = jMoment.fn.jMonth +jMoment.fn.jDates = jMoment.fn.jDate +jMoment.fn.jWeeks = jMoment.fn.jWeek + +/************************************ + jMoment Statics +************************************/ + +jMoment.jDaysInMonth = function (year, month) { + year += div(month, 12) + month = mod(month, 12) + if (month < 0) { + month += 12 + year -= 1 + } + if (month < 6) { + return 31 + } else if (month < 11) { + return 30 + } else if (jMoment.jIsLeapYear(year)) { + return 30 + } else { + return 29 + } +} + +jMoment.jIsLeapYear = jalaali.isLeapJalaaliYear + +jMoment.loadPersian = function (args) { + var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false + var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'persian' + moment.locale('fa') + moment.updateLocale('fa' + , { months: ('ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر').split('_') + , monthsShort: ('ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر').split('_') + , weekdays: + { + 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysShort: + { + 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysMin: + { + 'persian': 'ی_د_س_چ_پ_آ_ش'.split('_'), + 'persian-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') + }[dialect] + , longDateFormat: + { LT: 'HH:mm' + , L: 'jYYYY/jMM/jDD' + , LL: 'jD jMMMM jYYYY' + , LLL: 'jD jMMMM jYYYY LT' + , LLLL: 'dddd، jD jMMMM jYYYY LT' + } + , calendar: + { sameDay: '[امروز ساعت] LT' + , nextDay: '[فردا ساعت] LT' + , nextWeek: 'dddd [ساعت] LT' + , lastDay: '[دیروز ساعت] LT' + , lastWeek: 'dddd [ی پیش ساعت] LT' + , sameElse: 'L' + } + , relativeTime: + { future: 'در %s' + , past: '%s پیش' + , s: 'چند ثانیه' + , m: '1 دقیقه' + , mm: '%d دقیقه' + , h: '1 ساعت' + , hh: '%d ساعت' + , d: '1 روز' + , dd: '%d روز' + , M: '1 ماه' + , MM: '%d ماه' + , y: '1 سال' + , yy: '%d سال' + } + , preparse: function (string) { + if (usePersianDigits) { + return string.replace(/[۰-۹]/g, function (match) { + return numberMap[match] + }).replace(/،/g, ',') + } + return string + } + , postformat: function (string) { + if (usePersianDigits) { + return string.replace(/\d/g, function (match) { + return symbolMap[match] + }).replace(/,/g, '،') + } + return string + } + , ordinal: '%dم' + , week: + { dow: 6 // Saturday is the first day of the week. + , doy: 12 // The week that contains Jan 1st is the first week of the year. + } + , meridiem: function (hour) { + return hour < 12 ? 'ق.ظ' : 'ب.ظ' + } + , jMonths: + { + 'persian': ('فروردین_اردیبهشت_خرداد_تیر_امرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند').split('_'), + 'persian-modern': ('فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند').split('_') + }[dialect] + , jMonthsShort: + { + 'persian': 'فرو_ارد_خرد_تیر_امر_شهر_مهر_آبا_آذر_دی_بهم_اسف'.split('_'), + 'persian-modern': 'فرو_ارد_خرد_تیر_مرد_شهر_مهر_آبا_آذر_دی_بهم_اسف'.split('_') + }[dialect] + } + ) +} + + +jMoment.loadPersian_dari = function (args) { + var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false + var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'persian-dari' + moment.locale('fa-af') + moment.updateLocale('fa-af' + , { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') + , monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') + , weekdays: + { + 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysShort: + { + 'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysMin: + { + 'persian': 'ی_د_س_چ_پ_آ_ش'.split('_'), + 'persian-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') + }[dialect] + , longDateFormat: + { LT: 'HH:mm' + , L: 'jYYYY/jMM/jDD' + , LL: 'jD jMMMM jYYYY' + , LLL: 'jD jMMMM jYYYY LT' + , LLLL: 'dddd، jD jMMMM jYYYY LT' + } + , calendar: + { sameDay: '[امروز ساعت] LT' + , nextDay: '[فردا ساعت] LT' + , nextWeek: 'dddd [ساعت] LT' + , lastDay: '[دیروز ساعت] LT' + , lastWeek: 'dddd [ی پیش ساعت] LT' + , sameElse: 'L' + } + , relativeTime: + { future: 'در %s' + , past: '%s پیش' + , s: 'چند ثانیه' + , m: '1 دقیقه' + , mm: '%d دقیقه' + , h: '1 ساعت' + , hh: '%d ساعت' + , d: '1 روز' + , dd: '%d روز' + , M: '1 ماه' + , MM: '%d ماه' + , y: '1 سال' + , yy: '%d سال' + } + , preparse: function (string) { + if (usePersianDigits) { + return string.replace(/[۰-۹]/g, function (match) { + return numberMap[match] + }).replace(/،/g, ',') + } + return string + } + , postformat: function (string) { + if (usePersianDigits) { + return string.replace(/\d/g, function (match) { + return symbolMap[match] + }).replace(/,/g, '،') + } + return string + } + , ordinal: '%dم' + , week: + { dow: 6 // Saturday is the first day of the week. + , doy: 12 // The week that contains Jan 1st is the first week of the year. + } + , meridiem: function (hour) { + return hour < 12 ? 'ق.ظ' : 'ب.ظ' + } + , jMonths: + { + 'persian-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_'), + 'persian-modern-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_') + }[dialect] + , jMonthsShort: + { + 'persian-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_'), + 'persian-modern-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_') + }[dialect] + } + ) +} + +jMoment.loadPashto = function (args) { + var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false + var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'pashto' + moment.locale('ps-af') + moment.updateLocale('ps-af' + , { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') + , monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') + , weekdays: + { + 'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysShort: + { + 'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), + 'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') + }[dialect] + , weekdaysMin: + { + 'pashto': 'ی_د_س_چ_پ_آ_ش'.split('_'), + 'pashto-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') + }[dialect] + , longDateFormat: + { LT: 'HH:mm' + , L: 'jYYYY/jMM/jDD' + , LL: 'jD jMMMM jYYYY' + , LLL: 'jD jMMMM jYYYY LT' + , LLLL: 'dddd، jD jMMMM jYYYY LT' + } + , calendar: + { sameDay: '[امروز ساعت] LT' + , nextDay: '[فردا ساعت] LT' + , nextWeek: 'dddd [ساعت] LT' + , lastDay: '[دیروز ساعت] LT' + , lastWeek: 'dddd [ی پیش ساعت] LT' + , sameElse: 'L' + } + , relativeTime: + { future: 'در %s' + , past: '%s پیش' + , s: 'چند ثانیه' + , m: '1 دقیقه' + , mm: '%d دقیقه' + , h: '1 ساعت' + , hh: '%d ساعت' + , d: '1 روز' + , dd: '%d روز' + , M: '1 ماه' + , MM: '%d ماه' + , y: '1 سال' + , yy: '%d سال' + } + , preparse: function (string) { + if (usePersianDigits) { + return string.replace(/[۰-۹]/g, function (match) { + return numberMap[match] + }).replace(/،/g, ',') + } + return string + } + , postformat: function (string) { + if (usePersianDigits) { + return string.replace(/\d/g, function (match) { + return symbolMap[match] + }).replace(/,/g, '،') + } + return string + } + , ordinal: '%dم' + , week: + { dow: 6 // Saturday is the first day of the week. + , doy: 12 // The week that contains Jan 1st is the first week of the year. + } + , meridiem: function (hour) { + return hour < 12 ? 'ق.ظ' : 'ب.ظ' + } + , jMonths: + { + 'pashto': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_'), + 'pashto-modern': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_') + }[dialect] + , jMonthsShort: + { + 'pashto': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_'), + 'pashto-modern': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_') + }[dialect] + } + ) +} + +jMoment.jConvert = { toJalaali: toJalaali + , toGregorian: toGregorian + } + +/************************************ + Jalaali Conversion +************************************/ + +function toJalaali(gy, gm, gd) { + try { + var j = jalaali.toJalaali(gy, gm + 1, gd) + j.jm -= 1 + return j + } catch (e) { + return { + jy: NaN + , jm: NaN + , jd: NaN + } + } +} + +function toGregorian(jy, jm, jd) { + try { + var g = jalaali.toGregorian(jy, jm + 1, jd) + g.gm -= 1 + return g + } catch (e) { + return { + gy: NaN + , gm: NaN + , gd: NaN + } + } +} + +/* + Utility helper functions. +*/ + +function div(a, b) { + return ~~(a / b) +} + +function mod(a, b) { + return a - ~~(a / b) * b +} diff --git a/.output/server/node_modules/moment-jalaali/package.json b/.output/server/node_modules/moment-jalaali/package.json new file mode 100644 index 00000000..cf964784 --- /dev/null +++ b/.output/server/node_modules/moment-jalaali/package.json @@ -0,0 +1,48 @@ +{ + "name": "moment-jalaali", + "version": "0.10.4", + "description": "Jalaali (Jalali, Persian, Khorshidi, Shamsi) calendar system plugin for moment.js.", + "author": { + "name": "Behrang Noruzi Niya", + "email": "behrangn@gmail.com" + }, + "license": "MIT", + "keywords": [ + "jalaali", + "jalali", + "persian", + "khorshidi", + "shamsi", + "date", + "calendar", + "conversion", + "convert" + ], + "main": "index.js", + "scripts": { + "test": "mocha --reporter spec --ui bdd --colors --check-leaks test.js", + "lint": "eslint index.js && eslint --env mocha --rule 'no-unused-expressions: 0' test.js", + "build": "node umd-build.js", + "prepublishOnly": "npm run build", + "clean": "rimraf build" + }, + "homepage": "https://github.com/behrang/moment-jalaali", + "bugs": { + "url": "https://github.com/behrang/moment-jalaali/issues" + }, + "repository": { + "type": "git", + "url": "git://github.com/behrang/moment-jalaali.git" + }, + "devDependencies": { + "chai": "^4.5.0", + "eslint": "^8.13.0", + "mocha": "^10.8.2", + "rimraf": "^6.0.1" + }, + "dependencies": { + "jalaali-js": "^1.2.7", + "moment": "^2.29.4", + "moment-timezone": "^0.5.46" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/moment-timezone/data/packed/latest.json b/.output/server/node_modules/moment-timezone/data/packed/latest.json new file mode 100644 index 00000000..3015ab92 --- /dev/null +++ b/.output/server/node_modules/moment-timezone/data/packed/latest.json @@ -0,0 +1,853 @@ +{ + "version": "2025b", + "zones": [ + "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5", + "Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5", + "Africa/Algiers|LMT PMT WET WEST CET CEST|-c.c -9.l 0 -10 -10 -20|01232323232323232454542423234542324|-3bQ0c.c MDA2.P cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5", + "Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6", + "Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4", + "Africa/Maputo|LMT CAT|-2a.i -20|01|-2sw2a.i|26e5", + "Africa/Cairo|LMT EET EEST|-25.9 -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBC5.9 1AQM5.9 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0 kSp0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0|15e6", + "Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5", + "Africa/Ceuta|LMT WET WEST CET CEST|l.g 0 -10 -10 -20|0121212121212121212121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2M0M0 GdX0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|85e3", + "Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|20e4", + "Africa/Johannesburg|LMT SAST SAST SAST|-1Q -1u -20 -30|0123232|-39EpQ qTcm 1Ajdu 1cL0 1cN0 1cL0|84e5", + "Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|", + "Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5", + "Africa/Monrovia|LMT MMT MMT GMT|H.8 H.8 I.u 0|0123|-3ygng.Q 1usM0 28G01.m|11e5", + "Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5", + "Africa/Sao_Tome|LMT LMT GMT WAT|-q.U A.J 0 -10|01232|-3tooq.U 18aoq.U 4i6N0 2q00|", + "Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5", + "Africa/Tunis|LMT PMT CET CEST|-E.I -9.l -10 -20|01232323232323232323232323232323232|-3zO0E.I 1cBAv.n 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5", + "Africa/Windhoek|LMT +0130 SAST SAST CAT WAT|-18.o -1u -20 -30 -20 -10|012324545454545454545454545454545454545454545454545454|-39Ep8.o qTbC.o 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4", + "America/Adak|LMT LMT NST NWT NPT BST BDT AHST HST HDT|-cd.m bK.C b0 a0 a0 b0 a0 a0 a0 90|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVzf.p 1EX1d.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326", + "America/Anchorage|LMT LMT AST AWT APT AHST AHDT YST AKST AKDT|-e0.o 9X.A a0 90 90 a0 90 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVxs.n 1EX20.o 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4", + "America/Puerto_Rico|LMT AST AWT APT|4o.p 40 30 30|01231|-2Qi7z.z 1IUbz.z 7XT0 iu0|24e5", + "America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4", + "America/Argentina/Buenos_Aires|LMT CMT -04 -03 -02|3R.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343434343|-331U6.c 125cn pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|", + "America/Argentina/Catamarca|LMT CMT -04 -03 -02|4n.8 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243432343|-331TA.Q 125bR.E pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", + "America/Argentina/Cordoba|LMT CMT -04 -03 -02|4g.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243434343|-331TH.c 125c0 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|", + "America/Argentina/Jujuy|LMT CMT -04 -03 -02|4l.c 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232434343|-331TC.M 125bT.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|", + "America/Argentina/La_Rioja|LMT CMT -04 -03 -02|4r.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tw.A 125bN.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", + "America/Argentina/Mendoza|LMT CMT -04 -03 -02|4z.g 4g.M 40 30 20|012323232323232323232323232323232323232323234343423232432343|-331To.I 125bF.w pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|", + "America/Argentina/Rio_Gallegos|LMT CMT -04 -03 -02|4A.Q 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tn.8 125bD.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", + "America/Argentina/Salta|LMT CMT -04 -03 -02|4l.E 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342434343|-331TC.k 125bT.8 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|", + "America/Argentina/San_Juan|LMT CMT -04 -03 -02|4y.4 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tp.U 125bG.I pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|", + "America/Argentina/San_Luis|LMT CMT -04 -03 -02|4p.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232323432323|-331Ty.A 125bP.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|", + "America/Argentina/Tucuman|LMT CMT -04 -03 -02|4k.Q 4g.M 40 30 20|01232323232323232323232323232323232323232323434343424343234343|-331TD.8 125bT.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|", + "America/Argentina/Ushuaia|LMT CMT -04 -03 -02|4x.c 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tq.M 125bH.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|", + "America/Asuncion|LMT AMT -04 -03|3O.E 3O.E 40 30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-3eLw9.k 1FGo0 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0|28e5", + "America/Panama|LMT CMT EST|5i.8 5j.A 50|012|-3eLuF.Q Iy01.s|15e5", + "America/Bahia_Banderas|LMT MST CST MDT CDT|71 70 60 60 50|01213121313131313131313131313131313142424242424242424242424242|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 otX0 2bmP0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|84e3", + "America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5", + "America/Barbados|LMT AST ADT -0330|3W.t 40 30 3u|0121213121212121|-2m4k1.v 1eAN1.v RB0 1Bz0 Op0 1rb0 11d0 1jJc0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4", + "America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5", + "America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3", + "America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2", + "America/Bogota|LMT BMT -05 -04|4U.g 4U.g 50 40|01232|-3sTv3.I 1eIo0 38yo3.I 1PX0|90e5", + "America/Boise|LMT PST PDT MST MWT MPT MDT|7I.N 80 70 70 60 60 60|01212134536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-3tFE0 1nEe0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4", + "America/Cambridge_Bay|-00 MST MWT MPT MDT CST CDT EST|0 70 60 60 60 60 50 50|012314141414141414141414141414141414141414141414141414141414567541414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-21Jc0 RO90 8x20 ix0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2", + "America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4", + "America/Cancun|LMT CST EST CDT EDT|5L.4 60 50 50 40|01213132431313131313131313131313131313131312|-1UQG0 2q3C0 2tx0 wgP0 1lb0 14p0 1lb0 14o0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4", + "America/Caracas|LMT CMT -0430 -04|4r.I 4r.E 4u 40|012323|-3eLvw.g ROnX.U 28KM2.k 1IwOu kqo0|29e5", + "America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3", + "America/Chicago|LMT CST CDT EST CWT CPT|5O.A 60 50 50 50 50|012121212121212121212121212121212121213121212121214512121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5", + "America/Chihuahua|LMT MST CST MDT CDT|74.k 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4", + "America/Ciudad_Juarez|LMT MST CST MDT CDT|75.U 70 60 60 50|01213124242313131313131313131313131313131313131313131313131321313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Costa_Rica|LMT SJMT CST CDT|5A.d 5A.d 60 50|01232323232|-3eLun.L 1fyo0 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5", + "America/Coyhaique|LMT SMT -05 -04 -03|4M.g 4G.J 50 40 30|012131323232323232323434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvb.I MJbS.t fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0|", + "America/Phoenix|LMT MST MDT MWT|7s.i 70 60 60|012121313121|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5", + "America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4", + "America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8", + "America/Dawson_Creek|LMT PST PDT PWT PPT MST|80.U 80 70 70 70 70|01213412121212121212121212121212121212121212121212121212125|-3tofX.4 1nspX.4 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3", + "America/Dawson|LMT YST YDT YWT YPT YDDT PST PDT MST|9h.E 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeG.k GWpG.k 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2", + "America/Denver|LMT MST MDT MWT MPT|6X.U 70 60 60 60|012121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFF0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5", + "America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5", + "America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5", + "America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3", + "America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5", + "America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 4Q00 8mp0 8lz0 SN0 1cL0 pHB0 83r0 AU0 5MN0 1Rz0 38N0 Wn0 1qP0 11z0 1o10 11z0 3NA0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5", + "America/Fort_Nelson|LMT PST PDT PWT PPT MST|8a.L 80 70 70 70 70|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121215|-3tofN.d 1nspN.d 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2", + "America/Fort_Wayne|LMT CST CDT CWT CPT EST EDT|5I.C 60 50 50 50 50 40|0121212134121212121212121212151565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5", + "America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3", + "America/Godthab|LMT -03 -02 -01|3q.U 30 20 10|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3", + "America/Goose_Bay|LMT NST NDT NST NDT NWT NPT AST ADT ADDT|41.E 3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|0121343434343434356343434343434343434343434343434343434343437878787878787878787878787878787878787878787879787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-3tojW.k 1nspt.c 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2", + "America/Grand_Turk|LMT KMT EST EDT AST|4I.w 57.a 50 40 40|01232323232323232323232323232323232323232323232323232323232323232323232323243232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLvf.s RK0m.C 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2", + "America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5", + "America/Guayaquil|LMT QMT -05 -04|5j.k 5e 50 40|01232|-3eLuE.E 1DNzS.E 2uILK rz0|27e5", + "America/Guyana|LMT -04 -0345 -03|3Q.D 40 3J 30|01231|-2mf87.l 8Hc7.l 2r7bJ Ey0f|80e4", + "America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4", + "America/Havana|LMT HMT CST CDT|5t.s 5t.A 50 40|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLuu.w 1qx00.8 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5", + "America/Hermosillo|LMT MST CST MDT|7n.Q 70 60 60|01213121313131|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 otX0 2bmP0 1lb0 14p0 1lb0 14p0 1lb0|64e4", + "America/Indiana/Knox|LMT CST CDT CWT CPT EST|5K.u 60 50 50 50 50|01212134121212121212121212121212121212151212121212121212121212121212121212121212121212121252121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Marengo|LMT CST CDT CWT CPT EST EDT|5J.n 60 50 50 50 50 40|01212134121212121212121215656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Petersburg|LMT CST CDT CWT CPT EST EDT|5N.7 60 50 50 50 50 40|012121341212121212121212121215121212121212121212121252125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Tell_City|LMT CST CDT CWT CPT EST EDT|5L.3 60 50 50 50 50 40|012121341212121212121212121512165652121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Vevay|LMT CST CDT CWT CPT EST EDT|5E.g 60 50 50 50 50 40|0121213415656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Vincennes|LMT CST CDT CWT CPT EST EDT|5O.7 60 50 50 50 50 40|012121341212121212121212121212121565652125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Indiana/Winamac|LMT CST CDT CWT CPT EST EDT|5K.p 60 50 50 50 50 40|012121341212121212121212121212121212121565652165656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Inuvik|-00 PST PDT MDT MST|0 80 70 60 70|01212121212121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-FnA0 L3K0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2", + "America/Iqaluit|-00 EWT EPT EST EDT CST CDT|0 40 40 50 40 60 50|0123434343434343434343434343434343434343434343434343434343456343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-16K00 7nX0 iv0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2", + "America/Jamaica|LMT KMT EST EDT|57.a 57.a 50 40|01232323232323232323232|-3eLuQ.O RK00 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4", + "America/Juneau|LMT LMT PST PWT PPT PDT YDT YST AKST AKDT|-f2.j 8V.F 80 70 70 70 80 90 90 80|0123425252525252525252525252625252578989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVwq.s 1EX12.j 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3", + "America/Kentucky/Louisville|LMT CST CDT CWT CPT EST EDT|5H.2 60 50 50 50 50 40|01212121213412121212121212121212121212565656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Kentucky/Monticello|LMT CST CDT CWT CPT EST EDT|5D.o 60 50 50 50 50 40|01212134121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/La_Paz|LMT CMT BST -04|4w.A 4w.A 3w.A 40|0123|-3eLvr.o 1FIo0 13b0|19e5", + "America/Lima|LMT LMT -05 -04|58.c 58.A 50 40|01232323232323232|-3eLuP.M JcM0.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6", + "America/Los_Angeles|LMT PST PDT PWT PPT|7Q.W 80 70 70 70|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFE0 1nEe0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6", + "America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4", + "America/Managua|LMT MMT CST EST CDT|5J.8 5J.c 60 50 50|01232424232324242|-3eLue.Q 1Mhc0.4 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5", + "America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5", + "America/Martinique|LMT FFMT AST ADT|44.k 44.k 40 30|01232|-3eLvT.E PTA0 2LPbT.E 19X0|39e4", + "America/Matamoros|LMT CST CDT|6u 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4", + "America/Mazatlan|LMT MST CST MDT|75.E 70 60 60|01213121313131313131313131313131313131313131313131313131313131|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 otX0 2bmP0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4", + "America/Menominee|LMT CST CDT CWT CPT EST|5O.r 60 50 50 50 50|012121341212152121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3pdG9.x 1jce9.x 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2", + "America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131|-1UQG0 2q3C0 24n0 wG10 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|11e5", + "America/Metlakatla|LMT LMT PST PWT PPT PDT AKST AKDT|-fd.G 8K.i 80 70 70 70 90 80|0123425252525252525252525252525252526767672676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwf.5 1EX1d.G 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2", + "America/Mexico_City|LMT MST CST MDT CDT CWT|6A.A 70 60 60 50 50|012131242425242424242424242424242424242424242424242424242424242424242|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6", + "America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mxUf.k 2LHcf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2", + "America/Moncton|LMT EST AST ADT AWT APT|4j.8 50 40 30 30 30|0123232323232323232323245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3txvE.Q J4ME.Q CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3", + "America/Monterrey|LMT MST CST MDT CDT|6F.g 70 60 60 50|012131242424242424242424242424242424242424242424242424242424242|-1UQG0 dep0 8lz0 16p0 11z0 1dd0 2gmp0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|41e5", + "America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5", + "America/Toronto|LMT EST EDT EWT EPT|5h.w 50 40 40 40|012121212121212121212121212121212121212121212123412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B6G.s UFdG.s 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1qL0 11B0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5", + "America/New_York|LMT EST EDT EWT EPT|4U.2 50 40 40 40|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFH0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6", + "America/Nome|LMT LMT NST NWT NPT BST BDT YST AKST AKDT|-cW.m b1.C b0 a0 a0 b0 a0 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVyu.p 1EX1W.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2", + "America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2", + "America/North_Dakota/Beulah|LMT MST MDT MWT MPT CST CDT|6L.7 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/North_Dakota/Center|LMT MST MDT MWT MPT CST CDT|6J.c 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/North_Dakota/New_Salem|LMT MST MDT MWT MPT CST CDT|6J.D 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", + "America/Ojinaga|LMT MST CST MDT CDT|6V.E 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-1UQF0 deo0 8lz0 16p0 11z0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3", + "America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4", + "America/Port-au-Prince|LMT PPMT EST EDT|4N.k 4N 50 40|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLva.E 15RLX.E 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5", + "America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4", + "America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4", + "America/Punta_Arenas|LMT SMT -05 -04 -03|4H.E 4G.J 50 40 30|01213132323232323232343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvg.k MJbX.5 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|", + "America/Winnipeg|LMT CST CDT CWT CPT|6s.A 60 50 50 50|0121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3kLtv.o 1a3bv.o WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4", + "America/Rankin_Inlet|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-vDc0 Bjk0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2", + "America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5", + "America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4", + "America/Resolute|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-SnA0 103I0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229", + "America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4", + "America/Santiago|LMT SMT -05 -04 -03|4G.J 4G.J 50 40 30|0121313232323232323432343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvh.f MJc0 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 hX0 1q10 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5", + "America/Santo_Domingo|LMT SDMT EST EDT -0430 AST|4D.A 4E 50 40 4u 40|012324242424242525|-3eLvk.o 1Jic0.o 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5", + "America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6", + "America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|012132323232323232323232323232323232323232323232323232323232323232323232323232323232323232121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 2pA0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|452", + "America/Sitka|LMT LMT PST PWT PPT PDT YST AKST AKDT|-eW.L 91.d 80 70 70 70 90 90 80|0123425252525252525252525252525252567878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-48Pzs.L 1jVwu 1EX0W.L 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2", + "America/St_Johns|LMT NST NDT NST NDT NWT NPT NDDT|3u.Q 3u.Q 2u.Q 3u 2u 2u 2u 1u|012121212121212121212121212121212121213434343434343435634343434343434343434343434343434343434343434343434343434343434343434343434343434343437343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tokt.8 1l020 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4", + "America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3", + "America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5", + "America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656", + "America/Vancouver|LMT PST PDT PWT PPT|8c.s 80 70 70 70|01213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tofL.w 1nspL.w 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5", + "America/Whitehorse|LMT YST YDT YWT YPT YDDT PST PDT MST|90.c 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeX.M GWpX.M 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 LA0 ytd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3", + "America/Yakutat|LMT LMT YST YWT YPT YDT AKST AKDT|-eF.5 9i.T 90 80 80 80 90 80|0123425252525252525252525252525252526767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwL.G 1EX1F.5 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642", + "Antarctica/Casey|-00 +08 +11|0 -80 -b0|012121212121212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01 14kX 1lf1 14kX 1lf1 13bX|10", + "Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70", + "Pacific/Port_Moresby|LMT PMMT +10|-9M.E -9M.w -a0|012|-3D8VM.E AvA0.8|25e4", + "Antarctica/Macquarie|-00 AEST AEDT|0 -a0 -b0|0121012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2OPc0 Fb40 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|1", + "Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60", + "Pacific/Auckland|LMT NZMT NZST NZST NZDT|-bD.4 -bu -cu -c0 -d0|012131313131313131313131313134343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-46jLD.4 2nEO9.4 Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5", + "Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40", + "Antarctica/Rothera|-00 -03|0 30|01|gOo0|130", + "Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5", + "Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40", + "Antarctica/Vostok|-00 +07 +05|0 -70 -50|01012|-tjA0 1rWh0 1Nj0 1aTv0|25", + "Europe/Berlin|LMT CET CEST CEMT|-R.s -10 -20 -30|012121212121212321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36RcR.s UbWR.s 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e5", + "Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|0123232323232323232323212323232323232323232323232321|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 L4m0|15e5", + "Asia/Amman|LMT EET EEST +03|-2n.I -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5", + "Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3", + "Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4", + "Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4", + "Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4", + "Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|", + "Asia/Baghdad|LMT BMT +03 +04|-2V.E -2V.A -30 -40|0123232323232323232323232323232323232323232323232323232|-3eLCV.E 18ao0.4 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5", + "Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4", + "Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5", + "Asia/Bangkok|LMT BMT +07|-6G.4 -6G.4 -70|012|-3D8SG.4 1C000|15e6", + "Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|", + "Asia/Beirut|LMT EET EEST|-2m -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3D8Om 1BWom 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5", + "Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4", + "Asia/Brunei|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|42e4", + "Asia/Kolkata|LMT HMT MMT IST +0630|-5R.s -5R.k -5l.a -5u -6u|01234343|-4Fg5R.s BKo0.8 1rDcw.a 1r2LP.a 1un0 HB0 7zX0|15e6", + "Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4", + "Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5", + "Asia/Shanghai|LMT CST CDT|-85.H -80 -90|012121212121212121212121212121|-2M0U5.H Iuo5.H 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6", + "Asia/Colombo|LMT MMT +0530 +06 +0630|-5j.o -5j.w -5u -60 -6u|012342432|-3D8Rj.o 13inX.Q 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5", + "Asia/Dhaka|LMT HMT +0630 +0530 +06 +07|-61.E -5R.k -6u -5u -60 -70|01232454|-3eLG1.E 26008.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6", + "Asia/Damascus|LMT EET EEST +03|-2p.c -20 -30 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5", + "Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le80 1dnX0 1nfA0 Xld0|19e4", + "Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5", + "Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4", + "Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|", + "Asia/Gaza|LMT EET EEST IST IDT|-2h.Q -20 -30 -20 -30|0121212121212121212121212121212121234343434343434343434343434343431212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCh.Q 1Azeh.Q MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 1a10 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 1fB0 14n0 jB0 2L0 11B0 WL0 gN0 8n0 11B0 TX0 gN0 bb0 11B0 On0 jB0 dX0 11B0 Lz0 gN0 mn0 WN0 IL0 gN0 pb0 WN0 Db0 jB0 rX0 11B0 xz0 gN0 xz0 11B0 rX0 jB0 An0 11B0 pb0 gN0 IL0 WN0 mn0 gN0 Lz0 WN0 gL0 jB0 On0 11B0 bb0 gN0 TX0 11B0 5z0 jB0 WL0 11B0 2L0 jB0 11z0 1ip0 19X0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 gN0 2L0 WN0 14n0 gN0 5z0 WN0 WL0 jB0 8n0 11B0 Rb0 gN0 dX0 11B0 Lz0 jB0 gL0 11B0 IL0 jB0 mn0 WN0 FX0 gN0 rX0 WN0 An0 jB0 uL0 11B0 uL0 gN0 An0 11B0 rX0 gN0 Db0 11B0 mn0 jB0 FX0 11B0 jz0 gN0 On0 WN0 dX0 jB0 Rb0 WN0 bb0 jB0 TX0 11B0 5z0 gN0 11z0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|18e5", + "Asia/Hebron|LMT EET EEST IST IDT|-2k.n -20 -30 -20 -30|012121212121212121212121212121212123434343434343434343434343434343121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCk.n 1Azek.n MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 1a10 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 1fB0 14n0 jB0 2L0 11B0 WL0 gN0 8n0 11B0 TX0 gN0 bb0 11B0 On0 jB0 dX0 11B0 Lz0 gN0 mn0 WN0 IL0 gN0 pb0 WN0 Db0 jB0 rX0 11B0 xz0 gN0 xz0 11B0 rX0 jB0 An0 11B0 pb0 gN0 IL0 WN0 mn0 gN0 Lz0 WN0 gL0 jB0 On0 11B0 bb0 gN0 TX0 11B0 5z0 jB0 WL0 11B0 2L0 jB0 11z0 1ip0 19X0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 gN0 2L0 WN0 14n0 gN0 5z0 WN0 WL0 jB0 8n0 11B0 Rb0 gN0 dX0 11B0 Lz0 jB0 gL0 11B0 IL0 jB0 mn0 WN0 FX0 gN0 rX0 WN0 An0 jB0 uL0 11B0 uL0 gN0 An0 11B0 rX0 gN0 Db0 11B0 mn0 jB0 FX0 11B0 jz0 gN0 On0 WN0 dX0 jB0 Rb0 WN0 bb0 jB0 TX0 11B0 5z0 gN0 11z0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|25e4", + "Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.u -76.u -70 -80 -90|0123423232|-2yC76.u bK00 1h7b6.u 5lz0 18o0 3Oq0 k5c0 aVX0 BAM0|90e5", + "Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5", + "Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3", + "Asia/Irkutsk|LMT IMT +07 +08 +09|-6V.5 -6V.5 -70 -80 -90|012343434343434343434343234343434343434343434343434343434343434343|-3D8SV.5 1Bxc0 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4", + "Europe/Istanbul|LMT IMT EET EEST +03 +04|-1T.Q -1U.U -20 -30 -30 -40|01232323232323232323232323232323232323232323232345423232323232323232323232323232323232323232323232323232323232323234|-3D8NT.Q 1ePXW.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6", + "Asia/Jakarta|LMT BMT +0720 +0730 +09 +08 WIB|-77.c -77.c -7k -7u -90 -80 -70|012343536|-49jH7.c 2hiLL.c luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6", + "Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4", + "Asia/Jerusalem|LMT JMT IST IDT IDDT|-2k.S -2k.E -20 -30 -40|012323232323232432323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8Ok.S 1wvA0.e SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4", + "Asia/Kabul|LMT +04 +0430|-4A.M -40 -4u|012|-3eLEA.M 2dTcA.M|46e5", + "Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4", + "Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6", + "Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5", + "Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5", + "Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2", + "Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5", + "Asia/Kuala_Lumpur|LMT SMT +07 +0720 +0730 +09 +08|-6T.p -6T.p -70 -7k -7u -90 -80|01234546|-2M0ST.p aIM0 17anT.p l5XE 17bO 8Fyu 1so10|71e5", + "Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4", + "Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3", + "Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5", + "Asia/Manila|LMT LMT PST PDT JST|fU.8 -83.Q -80 -90 -90|012323432323232|-54m83.Q 2d8A3.Q 1urM0 un0 bW10 nb0 7qo0 1MM0 klB0 lz0 TwN0 1bb0 uNB0 rz0|24e6", + "Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|32e4", + "Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4", + "Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5", + "Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5", + "Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4", + "Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4", + "Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5", + "Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 Mv90|", + "Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4", + "Asia/Rangoon|LMT RMT +0630 +09|-6o.L -6o.L -6u -90|01232|-3D8So.L 1BnA0 SmnS.L 7j9u|48e5", + "Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4", + "Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4", + "Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6", + "Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2", + "Asia/Taipei|LMT CST JST CDT|-86 -80 -90 -90|012131313131313131313131313131313131313131|-30bk6 1FDc6 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5", + "Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5", + "Asia/Tbilisi|LMT TBMT +03 +04 +05|-2X.b -2X.b -30 -40 -50|01234343434343434343434323232343434343434343434323|-3D8OX.b 1LUM0 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5", + "Asia/Tehran|LMT TMT +0330 +0430 +04 +05|-3p.I -3p.I -3u -4u -40 -50|012345423232323232323232323232323232323232323232323232323232323232323232|-2btDp.I Llc0 1FHaT.I 1pc0 120u Rc0 Dc0 1iMu JX0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6", + "Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3", + "Asia/Tokyo|LMT JST JDT|-9i.X -90 -a0|0121212121|-3jE90 2qSo0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6", + "Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5", + "Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2", + "Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4", + "Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4", + "Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5", + "Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5", + "Atlantic/Azores|LMT HMT -02 -01 +00 WET WEST|1G.E 1S.w 20 10 0 0 -10|012323232323232323232323232323232323232323232343234323432343232323232323232323232323232323232323232323434343434343434343434356434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tomh.k 18aoh.k aPX0 Sp0 M00 1vb0 SN0 1vb0 SN0 1vb0 Td0 1vb0 SN0 1vb0 6600 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1uo0 1c00 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 CT90 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 Ap0 An0 wo0 Eo0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4", + "Atlantic/Bermuda|LMT BMT BST AST ADT|4j.i 4j.i 3j.i 40 30|0121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3eLvE.G 16mo0 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3", + "Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4", + "Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4", + "Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|49e3", + "Atlantic/Madeira|LMT FMT -01 +00 +01 WET WEST|17.A 17.A 10 0 -10 0 -10|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232356565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tomQ.o 18anQ.o aPX0 Sp0 M00 1vb0 SN0 1vb0 SN0 1vb0 Td0 1vb0 SN0 1vb0 6600 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1uo0 1c00 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 BJ90 1a00 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e4", + "Atlantic/South_Georgia|LMT -02|2q.8 20|01|-3eLxx.Q|30", + "Atlantic/Stanley|LMT SMT -04 -03 -02|3P.o 3P.o 40 30 20|0123232323232323434323232323232323232323232323232323232323232323232323|-3eLw8.A S200 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2", + "Australia/Sydney|LMT AEST AEDT|-a4.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oW4.Q RlC4.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5", + "Australia/Adelaide|LMT ACST ACST ACDT|-9e.k -90 -9u -au|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-32oVe.k ak0e.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5", + "Australia/Brisbane|LMT AEST AEDT|-ac.8 -a0 -b0|012121212121212121|-32Bmc.8 Ry2c.8 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5", + "Australia/Broken_Hill|LMT AEST ACST ACST ACDT|-9p.M -a0 -90 -9u -au|0123434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-32oVp.M 3Lzp.M 6wp0 H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|18e3", + "Australia/Hobart|LMT AEST AEDT|-9N.g -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-3109N.g Pk1N.g 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|21e4", + "Australia/Darwin|LMT ACST ACST ACDT|-8H.k -90 -9u -au|01232323232|-32oUH.k ajXH.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4", + "Australia/Eucla|LMT +0845 +0945|-8z.s -8J -9J|01212121212121212121|-30nIz.s PkpO.s xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368", + "Australia/Lord_Howe|LMT AEST +1030 +1130 +11|-aA.k -a0 -au -bu -b0|01232323232424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424|-32oWA.k 3tzAA.k 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347", + "Australia/Lindeman|LMT AEST AEDT|-9T.U -a0 -b0|0121212121212121212121|-32BlT.U Ry1T.U xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10", + "Australia/Melbourne|LMT AEST AEDT|-9D.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oVD.Q RlBD.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|39e5", + "Australia/Perth|LMT AWST AWDT|-7H.o -80 -90|01212121212121212121|-30nHH.o PkpH.o xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5", + "Europe/Brussels|LMT BMT WET CET CEST WEST|-h.u -h.u 0 -10 -20 -10|012343434325252525252525252525252525252525252525252525434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8Mh.u u1Ah.u SO00 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|21e5", + "Pacific/Easter|LMT EMT -07 -06 -05|7h.s 7h.s 70 60 50|0123232323232323232323232323234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLsG.w 1HRc0 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2", + "Europe/Athens|LMT AMT EET EEST CEST CET|-1y.Q -1y.Q -20 -30 -20 -10|0123234545232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-30SNy.Q OMM1 CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5", + "Europe/Dublin|LMT DMT IST GMT BST IST|p.l p.l -y.D 0 -10 -10|012343434343435353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353|-3BHby.D 1ra20 Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5", + "Etc/GMT-0|GMT|0|0||", + "Etc/GMT-1|+01|-10|0||", + "Etc/GMT-10|+10|-a0|0||", + "Etc/GMT-11|+11|-b0|0||", + "Etc/GMT-12|+12|-c0|0||", + "Etc/GMT-13|+13|-d0|0||", + "Etc/GMT-14|+14|-e0|0||", + "Etc/GMT-2|+02|-20|0||", + "Etc/GMT-3|+03|-30|0||", + "Etc/GMT-4|+04|-40|0||", + "Etc/GMT-5|+05|-50|0||", + "Etc/GMT-6|+06|-60|0||", + "Etc/GMT-7|+07|-70|0||", + "Etc/GMT-8|+08|-80|0||", + "Etc/GMT-9|+09|-90|0||", + "Etc/GMT+1|-01|10|0||", + "Etc/GMT+10|-10|a0|0||", + "Etc/GMT+11|-11|b0|0||", + "Etc/GMT+12|-12|c0|0||", + "Etc/GMT+2|-02|20|0||", + "Etc/GMT+3|-03|30|0||", + "Etc/GMT+4|-04|40|0||", + "Etc/GMT+5|-05|50|0||", + "Etc/GMT+6|-06|60|0||", + "Etc/GMT+7|-07|70|0||", + "Etc/GMT+8|-08|80|0||", + "Etc/GMT+9|-09|90|0||", + "Etc/UTC|UTC|0|0||", + "Europe/Andorra|LMT WET CET CEST|-6.4 0 -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2M0M6.4 1Pnc6.4 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|79e3", + "Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5", + "Europe/London|LMT GMT BST BDST|1.f 0 -10 -20|01212121212121212121212121212121212121212121212121232323232321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-4VgnW.J 2KHdW.J Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6", + "Europe/Belgrade|LMT CET CEST|-1m -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3topm 2juLm 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5", + "Europe/Prague|LMT PMT CET CEST GMT|-V.I -V.I -10 -20 0|0123232323232323232423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4QbAV.I 1FDc0 XPaV.I 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|13e5", + "Europe/Bucharest|LMT BMT EET EEST|-1I.o -1I.o -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3awpI.o 1AU00 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|19e5", + "Europe/Budapest|LMT CET CEST|-1g.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3cK1g.k 124Lg.k 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5", + "Europe/Zurich|LMT BMT CET CEST|-y.8 -t.K -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4HyMy.8 1Dw04.m 1SfAt.K 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|38e4", + "Europe/Chisinau|LMT CMT BMT EET EEST CEST CET MSK MSD|-1T.k -1T -1I.o -20 -30 -20 -10 -30 -40|0123434343434343434345656578787878787878787878434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8NT.k 1wNA0.k wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4", + "Europe/Gibraltar|LMT GMT BST BDST CET CEST|l.o 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123232323232121232121212121212121212145454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-3BHbC.A 1ra1C.A Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|30e3", + "Europe/Helsinki|LMT HMT EET EEST|-1D.N -1D.N -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3H0ND.N 1Iu00 OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5", + "Europe/Kaliningrad|LMT CET CEST EET EEST MSK MSD +03|-1m -10 -20 -20 -30 -30 -40 -30|012121212121212343565656565656565654343434343434343434343434343434343434343434373|-36Rdm UbXm 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4", + "Europe/Kiev|LMT KMT EET MSK CEST CET MSD EEST|-22.4 -22.4 -20 -30 -20 -10 -40 -30|01234545363636363636363636367272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-3D8O2.4 1LUM0 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|34e5", + "Europe/Kirov|LMT +03 +04 +05 MSD MSK MSK|-3i.M -30 -40 -50 -40 -30 -40|0123232323232323232454524545454545454545454545454545454545454565|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4", + "Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212124121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 M00 1vb0 SN0 1vb0 SN0 1vb0 Td0 1vb0 SN0 1vb0 6600 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1uo0 1c00 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 oiK0 1cM0 1cM0 1fB0 1cM0 1cM0 1cM0 1fA0 1a00 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5", + "Europe/Madrid|LMT WET WEST WEMT CET CEST|e.I 0 -10 -20 -10 -20|0121212121212121212321454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2M0M0 G5z0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|62e5", + "Europe/Malta|LMT CET CEST|-W.4 -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-35rcW.4 SXzW.4 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4", + "Europe/Minsk|LMT MMT EET MSK CEST CET MSD EEST +03|-1O.g -1O -20 -30 -20 -10 -40 -30 -30|012345454363636363636363636372727272727272727272727272727272727272728|-3D8NO.g 1LUM0.g eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5", + "Europe/Paris|LMT PMT WET WEST CEST CET WEMT|-9.l -9.l 0 -10 -20 -10 -20|01232323232323232323232323232323232323232323232323234545463654545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-3bQ09.l MDA0 cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6", + "Europe/Moscow|LMT MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|01232434565756865656565656565656565698656565656565656565656565656565656565656a6|-3D8Ou.h 1sQM0 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6", + "Europe/Riga|LMT RMT LST EET MSK CEST CET MSD EEST|-1A.y -1A.y -2A.y -20 -30 -20 -10 -40 -30|0121213456565647474747474747474838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383|-3D8NA.y 1xde0 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|64e4", + "Europe/Rome|LMT RMT CET CEST|-N.U -N.U -10 -20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4aU0N.U 15snN.U T000 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|39e5", + "Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5", + "Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|", + "Europe/Simferopol|LMT SMT EET MSK CEST CET MSD EEST MSK|-2g.o -2g -20 -30 -20 -10 -40 -30 -40|0123454543636363636363636363272727636363727272727272727272727272727272727283|-3D8Og.o 1LUM0.o eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eN0 1cM0 1cM0 1cM0 1cM0 dV0 WO0 1cM0 1cM0 1fy0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4", + "Europe/Sofia|LMT IMT EET CET CEST EEST|-1x.g -1U.U -20 -10 -20 -30|0123434325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-3D8Nx.g AiLA.k 1UFeU.U WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5", + "Europe/Tallinn|LMT TMT CET CEST EET MSK MSD EEST|-1D -1D -10 -20 -20 -30 -40 -30|0123214532323565656565656565657474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474|-3D8ND 1wI00 teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e4", + "Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4", + "Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5", + "Europe/Vienna|LMT CET CEST|-15.l -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36Rd5.l UbX5.l 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|18e5", + "Europe/Vilnius|LMT WMT KMT CET EET MSK CEST MSD EEST|-1F.g -1o -1z.A -10 -20 -30 -20 -40 -30|0123435636365757575757575757584848484848484848463648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484|-3D8NF.g 1u5Ah.g 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4", + "Europe/Volgograd|LMT +03 +04 +05 MSD MSK MSK|-2V.E -30 -40 -50 -40 -30 -40|012323232323232324545452454545454545454545454545454545454545456525|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5", + "Europe/Warsaw|LMT WMT CET CEST EET EEST|-1o -1o -10 -20 -20 -30|0123232345423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8No 1qDA0 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5", + "Pacific/Honolulu|LMT HST HDT HWT HPT HST|av.q au 9u 9u 9u a0|01213415|-3061s.y 1uMdW.y 8x0 lef0 8wWu iAu 46p0|37e4", + "Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2", + "Indian/Maldives|LMT MMT +05|-4S -4S -50|012|-3D8QS 3eLA0|35e4", + "Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4", + "Pacific/Kwajalein|LMT +11 +10 +09 -12 +12|-b9.k -b0 -a0 -90 c0 -c0|0123145|-2M0X9.k 1rDA9.k akp0 6Up0 12ry0 Wan0|14e3", + "Pacific/Chatham|LMT +1215 +1245 +1345|-cd.M -cf -cJ -dJ|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-46jMd.M 37RbW.M 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|600", + "Pacific/Apia|LMT LMT -1130 -11 -10 +14 +13|-cx.4 bq.U bu b0 a0 -e0 -d0|012343456565656565656565656|-38Fox.4 J1A0 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3", + "Pacific/Bougainville|LMT PMMT +10 +09 +11|-am.g -9M.w -a0 -90 -b0|012324|-3D8Wm.g AvAx.I 1TCLM.w 7CN0 2MQp0|18e4", + "Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3", + "Pacific/Enderbury|-00 -12 -11 +13|0 c0 b0 -d0|0123|-1iIo0 1GsA0 B7X0|1", + "Pacific/Fakaofo|LMT -11 +13|bo.U b0 -d0|012|-2M0Az.4 4ufXz.4|483", + "Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|012121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0|88e4", + "Pacific/Tarawa|LMT +12|-bw.4 -c0|01|-2M0Xw.4|29e3", + "Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3", + "Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125", + "Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4", + "Pacific/Guam|LMT LMT GST +09 GDT ChST|el -9D -a0 -90 -b0 -a0|0123242424242424242425|-54m9D 2glc0 1DFbD 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4", + "Pacific/Kiritimati|LMT -1040 -10 +14|at.k aE a0 -e0|0123|-2M0Bu.E 3bIMa.E B7Xk|51e2", + "Pacific/Kosrae|LMT LMT +11 +09 +10 +12|d8.4 -aP.U -b0 -90 -a0 -c0|0123243252|-54maP.U 2glc0 xsnP.U axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2", + "Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2", + "Pacific/Pago_Pago|LMT LMT SST|-cB.c bm.M b0|012|-38FoB.c J1A0|37e2", + "Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3", + "Pacific/Niue|LMT -1120 -11|bj.E bk b0|012|-FScE.k suo0.k|12e2", + "Pacific/Norfolk|LMT +1112 +1130 +1230 +11 +12|-bb.Q -bc -bu -cu -b0 -c0|0123245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2M0Xb.Q 21ILX.Q W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4", + "Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3", + "Pacific/Palau|LMT LMT +09|f2.4 -8V.U -90|012|-54m8V.U 2glc0|21e3", + "Pacific/Pitcairn|LMT -0830 -08|8E.k 8u 80|012|-2M0Dj.E 3UVXN.E|56", + "Pacific/Rarotonga|LMT LMT -1030 -0930 -10|-dk.U aD.4 au 9u a0|01234343434343434343434343434|-2Otpk.U 28zc0 13tbO.U IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3", + "Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4", + "Pacific/Tongatapu|LMT +1220 +13 +14|-cj.c -ck -d0 -e0|01232323232|-XbMj.c BgLX.c 1yndk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3" + ], + "links": [ + "Africa/Abidjan|Africa/Accra", + "Africa/Abidjan|Africa/Bamako", + "Africa/Abidjan|Africa/Banjul", + "Africa/Abidjan|Africa/Conakry", + "Africa/Abidjan|Africa/Dakar", + "Africa/Abidjan|Africa/Freetown", + "Africa/Abidjan|Africa/Lome", + "Africa/Abidjan|Africa/Nouakchott", + "Africa/Abidjan|Africa/Ouagadougou", + "Africa/Abidjan|Africa/Timbuktu", + "Africa/Abidjan|Atlantic/Reykjavik", + "Africa/Abidjan|Atlantic/St_Helena", + "Africa/Abidjan|Iceland", + "Africa/Cairo|Egypt", + "Africa/Johannesburg|Africa/Maseru", + "Africa/Johannesburg|Africa/Mbabane", + "Africa/Lagos|Africa/Bangui", + "Africa/Lagos|Africa/Brazzaville", + "Africa/Lagos|Africa/Douala", + "Africa/Lagos|Africa/Kinshasa", + "Africa/Lagos|Africa/Libreville", + "Africa/Lagos|Africa/Luanda", + "Africa/Lagos|Africa/Malabo", + "Africa/Lagos|Africa/Niamey", + "Africa/Lagos|Africa/Porto-Novo", + "Africa/Maputo|Africa/Blantyre", + "Africa/Maputo|Africa/Bujumbura", + "Africa/Maputo|Africa/Gaborone", + "Africa/Maputo|Africa/Harare", + "Africa/Maputo|Africa/Kigali", + "Africa/Maputo|Africa/Lubumbashi", + "Africa/Maputo|Africa/Lusaka", + "Africa/Nairobi|Africa/Addis_Ababa", + "Africa/Nairobi|Africa/Asmara", + "Africa/Nairobi|Africa/Asmera", + "Africa/Nairobi|Africa/Dar_es_Salaam", + "Africa/Nairobi|Africa/Djibouti", + "Africa/Nairobi|Africa/Kampala", + "Africa/Nairobi|Africa/Mogadishu", + "Africa/Nairobi|Indian/Antananarivo", + "Africa/Nairobi|Indian/Comoro", + "Africa/Nairobi|Indian/Mayotte", + "Africa/Tripoli|Libya", + "America/Adak|America/Atka", + "America/Adak|US/Aleutian", + "America/Anchorage|US/Alaska", + "America/Argentina/Buenos_Aires|America/Buenos_Aires", + "America/Argentina/Catamarca|America/Argentina/ComodRivadavia", + "America/Argentina/Catamarca|America/Catamarca", + "America/Argentina/Cordoba|America/Cordoba", + "America/Argentina/Cordoba|America/Rosario", + "America/Argentina/Jujuy|America/Jujuy", + "America/Argentina/Mendoza|America/Mendoza", + "America/Chicago|CST6CDT", + "America/Chicago|US/Central", + "America/Denver|America/Shiprock", + "America/Denver|MST7MDT", + "America/Denver|Navajo", + "America/Denver|US/Mountain", + "America/Detroit|US/Michigan", + "America/Edmonton|America/Yellowknife", + "America/Edmonton|Canada/Mountain", + "America/Fort_Wayne|America/Indiana/Indianapolis", + "America/Fort_Wayne|America/Indianapolis", + "America/Fort_Wayne|US/East-Indiana", + "America/Godthab|America/Nuuk", + "America/Halifax|Canada/Atlantic", + "America/Havana|Cuba", + "America/Indiana/Knox|America/Knox_IN", + "America/Indiana/Knox|US/Indiana-Starke", + "America/Iqaluit|America/Pangnirtung", + "America/Jamaica|Jamaica", + "America/Kentucky/Louisville|America/Louisville", + "America/Los_Angeles|PST8PDT", + "America/Los_Angeles|US/Pacific", + "America/Manaus|Brazil/West", + "America/Mazatlan|Mexico/BajaSur", + "America/Mexico_City|Mexico/General", + "America/New_York|EST5EDT", + "America/New_York|US/Eastern", + "America/Noronha|Brazil/DeNoronha", + "America/Panama|America/Atikokan", + "America/Panama|America/Cayman", + "America/Panama|America/Coral_Harbour", + "America/Panama|EST", + "America/Phoenix|America/Creston", + "America/Phoenix|MST", + "America/Phoenix|US/Arizona", + "America/Puerto_Rico|America/Anguilla", + "America/Puerto_Rico|America/Antigua", + "America/Puerto_Rico|America/Aruba", + "America/Puerto_Rico|America/Blanc-Sablon", + "America/Puerto_Rico|America/Curacao", + "America/Puerto_Rico|America/Dominica", + "America/Puerto_Rico|America/Grenada", + "America/Puerto_Rico|America/Guadeloupe", + "America/Puerto_Rico|America/Kralendijk", + "America/Puerto_Rico|America/Lower_Princes", + "America/Puerto_Rico|America/Marigot", + "America/Puerto_Rico|America/Montserrat", + "America/Puerto_Rico|America/Port_of_Spain", + "America/Puerto_Rico|America/St_Barthelemy", + "America/Puerto_Rico|America/St_Kitts", + "America/Puerto_Rico|America/St_Lucia", + "America/Puerto_Rico|America/St_Thomas", + "America/Puerto_Rico|America/St_Vincent", + "America/Puerto_Rico|America/Tortola", + "America/Puerto_Rico|America/Virgin", + "America/Regina|Canada/Saskatchewan", + "America/Rio_Branco|America/Porto_Acre", + "America/Rio_Branco|Brazil/Acre", + "America/Santiago|Chile/Continental", + "America/Sao_Paulo|Brazil/East", + "America/St_Johns|Canada/Newfoundland", + "America/Tijuana|America/Ensenada", + "America/Tijuana|America/Santa_Isabel", + "America/Tijuana|Mexico/BajaNorte", + "America/Toronto|America/Montreal", + "America/Toronto|America/Nassau", + "America/Toronto|America/Nipigon", + "America/Toronto|America/Thunder_Bay", + "America/Toronto|Canada/Eastern", + "America/Vancouver|Canada/Pacific", + "America/Whitehorse|Canada/Yukon", + "America/Winnipeg|America/Rainy_River", + "America/Winnipeg|Canada/Central", + "Asia/Ashgabat|Asia/Ashkhabad", + "Asia/Bangkok|Asia/Phnom_Penh", + "Asia/Bangkok|Asia/Vientiane", + "Asia/Bangkok|Indian/Christmas", + "Asia/Brunei|Asia/Kuching", + "Asia/Dhaka|Asia/Dacca", + "Asia/Dubai|Asia/Muscat", + "Asia/Dubai|Indian/Mahe", + "Asia/Dubai|Indian/Reunion", + "Asia/Ho_Chi_Minh|Asia/Saigon", + "Asia/Hong_Kong|Hongkong", + "Asia/Jerusalem|Asia/Tel_Aviv", + "Asia/Jerusalem|Israel", + "Asia/Kathmandu|Asia/Katmandu", + "Asia/Kolkata|Asia/Calcutta", + "Asia/Kuala_Lumpur|Asia/Singapore", + "Asia/Kuala_Lumpur|Singapore", + "Asia/Macau|Asia/Macao", + "Asia/Makassar|Asia/Ujung_Pandang", + "Asia/Nicosia|Europe/Nicosia", + "Asia/Qatar|Asia/Bahrain", + "Asia/Rangoon|Asia/Yangon", + "Asia/Rangoon|Indian/Cocos", + "Asia/Riyadh|Antarctica/Syowa", + "Asia/Riyadh|Asia/Aden", + "Asia/Riyadh|Asia/Kuwait", + "Asia/Seoul|ROK", + "Asia/Shanghai|Asia/Chongqing", + "Asia/Shanghai|Asia/Chungking", + "Asia/Shanghai|Asia/Harbin", + "Asia/Shanghai|PRC", + "Asia/Taipei|ROC", + "Asia/Tehran|Iran", + "Asia/Thimphu|Asia/Thimbu", + "Asia/Tokyo|Japan", + "Asia/Ulaanbaatar|Asia/Choibalsan", + "Asia/Ulaanbaatar|Asia/Ulan_Bator", + "Asia/Urumqi|Asia/Kashgar", + "Atlantic/Faroe|Atlantic/Faeroe", + "Australia/Adelaide|Australia/South", + "Australia/Brisbane|Australia/Queensland", + "Australia/Broken_Hill|Australia/Yancowinna", + "Australia/Darwin|Australia/North", + "Australia/Hobart|Australia/Currie", + "Australia/Hobart|Australia/Tasmania", + "Australia/Lord_Howe|Australia/LHI", + "Australia/Melbourne|Australia/Victoria", + "Australia/Perth|Australia/West", + "Australia/Sydney|Australia/ACT", + "Australia/Sydney|Australia/Canberra", + "Australia/Sydney|Australia/NSW", + "Etc/GMT-0|Etc/GMT", + "Etc/GMT-0|Etc/GMT+0", + "Etc/GMT-0|Etc/GMT0", + "Etc/GMT-0|Etc/Greenwich", + "Etc/GMT-0|GMT", + "Etc/GMT-0|GMT+0", + "Etc/GMT-0|GMT-0", + "Etc/GMT-0|GMT0", + "Etc/GMT-0|Greenwich", + "Etc/UTC|Etc/UCT", + "Etc/UTC|Etc/Universal", + "Etc/UTC|Etc/Zulu", + "Etc/UTC|UCT", + "Etc/UTC|UTC", + "Etc/UTC|Universal", + "Etc/UTC|Zulu", + "Europe/Athens|EET", + "Europe/Belgrade|Europe/Ljubljana", + "Europe/Belgrade|Europe/Podgorica", + "Europe/Belgrade|Europe/Sarajevo", + "Europe/Belgrade|Europe/Skopje", + "Europe/Belgrade|Europe/Zagreb", + "Europe/Berlin|Arctic/Longyearbyen", + "Europe/Berlin|Atlantic/Jan_Mayen", + "Europe/Berlin|Europe/Copenhagen", + "Europe/Berlin|Europe/Oslo", + "Europe/Berlin|Europe/Stockholm", + "Europe/Brussels|CET", + "Europe/Brussels|Europe/Amsterdam", + "Europe/Brussels|Europe/Luxembourg", + "Europe/Brussels|MET", + "Europe/Chisinau|Europe/Tiraspol", + "Europe/Dublin|Eire", + "Europe/Helsinki|Europe/Mariehamn", + "Europe/Istanbul|Asia/Istanbul", + "Europe/Istanbul|Turkey", + "Europe/Kiev|Europe/Kyiv", + "Europe/Kiev|Europe/Uzhgorod", + "Europe/Kiev|Europe/Zaporozhye", + "Europe/Lisbon|Portugal", + "Europe/Lisbon|WET", + "Europe/London|Europe/Belfast", + "Europe/London|Europe/Guernsey", + "Europe/London|Europe/Isle_of_Man", + "Europe/London|Europe/Jersey", + "Europe/London|GB", + "Europe/London|GB-Eire", + "Europe/Moscow|W-SU", + "Europe/Paris|Europe/Monaco", + "Europe/Prague|Europe/Bratislava", + "Europe/Rome|Europe/San_Marino", + "Europe/Rome|Europe/Vatican", + "Europe/Warsaw|Poland", + "Europe/Zurich|Europe/Busingen", + "Europe/Zurich|Europe/Vaduz", + "Indian/Maldives|Indian/Kerguelen", + "Pacific/Auckland|Antarctica/McMurdo", + "Pacific/Auckland|Antarctica/South_Pole", + "Pacific/Auckland|NZ", + "Pacific/Chatham|NZ-CHAT", + "Pacific/Easter|Chile/EasterIsland", + "Pacific/Enderbury|Pacific/Kanton", + "Pacific/Guadalcanal|Pacific/Pohnpei", + "Pacific/Guadalcanal|Pacific/Ponape", + "Pacific/Guam|Pacific/Saipan", + "Pacific/Honolulu|HST", + "Pacific/Honolulu|Pacific/Johnston", + "Pacific/Honolulu|US/Hawaii", + "Pacific/Kwajalein|Kwajalein", + "Pacific/Pago_Pago|Pacific/Midway", + "Pacific/Pago_Pago|Pacific/Samoa", + "Pacific/Pago_Pago|US/Samoa", + "Pacific/Port_Moresby|Antarctica/DumontDUrville", + "Pacific/Port_Moresby|Pacific/Chuuk", + "Pacific/Port_Moresby|Pacific/Truk", + "Pacific/Port_Moresby|Pacific/Yap", + "Pacific/Tarawa|Pacific/Funafuti", + "Pacific/Tarawa|Pacific/Majuro", + "Pacific/Tarawa|Pacific/Wake", + "Pacific/Tarawa|Pacific/Wallis" + ], + "countries": [ + "AD|Europe/Andorra", + "AE|Asia/Dubai", + "AF|Asia/Kabul", + "AG|America/Puerto_Rico America/Antigua", + "AI|America/Puerto_Rico America/Anguilla", + "AL|Europe/Tirane", + "AM|Asia/Yerevan", + "AO|Africa/Lagos Africa/Luanda", + "AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Antarctica/Vostok Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Asia/Singapore Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa", + "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia", + "AS|Pacific/Pago_Pago", + "AT|Europe/Vienna", + "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla Asia/Tokyo", + "AW|America/Puerto_Rico America/Aruba", + "AX|Europe/Helsinki Europe/Mariehamn", + "AZ|Asia/Baku", + "BA|Europe/Belgrade Europe/Sarajevo", + "BB|America/Barbados", + "BD|Asia/Dhaka", + "BE|Europe/Brussels", + "BF|Africa/Abidjan Africa/Ouagadougou", + "BG|Europe/Sofia", + "BH|Asia/Qatar Asia/Bahrain", + "BI|Africa/Maputo Africa/Bujumbura", + "BJ|Africa/Lagos Africa/Porto-Novo", + "BL|America/Puerto_Rico America/St_Barthelemy", + "BM|Atlantic/Bermuda", + "BN|Asia/Kuching Asia/Brunei", + "BO|America/La_Paz", + "BQ|America/Puerto_Rico America/Kralendijk", + "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco", + "BS|America/Toronto America/Nassau", + "BT|Asia/Thimphu", + "BW|Africa/Maputo Africa/Gaborone", + "BY|Europe/Minsk", + "BZ|America/Belize", + "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston", + "CC|Asia/Yangon Indian/Cocos", + "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi", + "CF|Africa/Lagos Africa/Bangui", + "CG|Africa/Lagos Africa/Brazzaville", + "CH|Europe/Zurich", + "CI|Africa/Abidjan", + "CK|Pacific/Rarotonga", + "CL|America/Santiago America/Coyhaique America/Punta_Arenas Pacific/Easter", + "CM|Africa/Lagos Africa/Douala", + "CN|Asia/Shanghai Asia/Urumqi", + "CO|America/Bogota", + "CR|America/Costa_Rica", + "CU|America/Havana", + "CV|Atlantic/Cape_Verde", + "CW|America/Puerto_Rico America/Curacao", + "CX|Asia/Bangkok Indian/Christmas", + "CY|Asia/Nicosia Asia/Famagusta", + "CZ|Europe/Prague", + "DE|Europe/Zurich Europe/Berlin Europe/Busingen", + "DJ|Africa/Nairobi Africa/Djibouti", + "DK|Europe/Berlin Europe/Copenhagen", + "DM|America/Puerto_Rico America/Dominica", + "DO|America/Santo_Domingo", + "DZ|Africa/Algiers", + "EC|America/Guayaquil Pacific/Galapagos", + "EE|Europe/Tallinn", + "EG|Africa/Cairo", + "EH|Africa/El_Aaiun", + "ER|Africa/Nairobi Africa/Asmara", + "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary", + "ET|Africa/Nairobi Africa/Addis_Ababa", + "FI|Europe/Helsinki", + "FJ|Pacific/Fiji", + "FK|Atlantic/Stanley", + "FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei", + "FO|Atlantic/Faroe", + "FR|Europe/Paris", + "GA|Africa/Lagos Africa/Libreville", + "GB|Europe/London", + "GD|America/Puerto_Rico America/Grenada", + "GE|Asia/Tbilisi", + "GF|America/Cayenne", + "GG|Europe/London Europe/Guernsey", + "GH|Africa/Abidjan Africa/Accra", + "GI|Europe/Gibraltar", + "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule", + "GM|Africa/Abidjan Africa/Banjul", + "GN|Africa/Abidjan Africa/Conakry", + "GP|America/Puerto_Rico America/Guadeloupe", + "GQ|Africa/Lagos Africa/Malabo", + "GR|Europe/Athens", + "GS|Atlantic/South_Georgia", + "GT|America/Guatemala", + "GU|Pacific/Guam", + "GW|Africa/Bissau", + "GY|America/Guyana", + "HK|Asia/Hong_Kong", + "HN|America/Tegucigalpa", + "HR|Europe/Belgrade Europe/Zagreb", + "HT|America/Port-au-Prince", + "HU|Europe/Budapest", + "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura", + "IE|Europe/Dublin", + "IL|Asia/Jerusalem", + "IM|Europe/London Europe/Isle_of_Man", + "IN|Asia/Kolkata", + "IO|Indian/Chagos", + "IQ|Asia/Baghdad", + "IR|Asia/Tehran", + "IS|Africa/Abidjan Atlantic/Reykjavik", + "IT|Europe/Rome", + "JE|Europe/London Europe/Jersey", + "JM|America/Jamaica", + "JO|Asia/Amman", + "JP|Asia/Tokyo", + "KE|Africa/Nairobi", + "KG|Asia/Bishkek", + "KH|Asia/Bangkok Asia/Phnom_Penh", + "KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati", + "KM|Africa/Nairobi Indian/Comoro", + "KN|America/Puerto_Rico America/St_Kitts", + "KP|Asia/Pyongyang", + "KR|Asia/Seoul", + "KW|Asia/Riyadh Asia/Kuwait", + "KY|America/Panama America/Cayman", + "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral", + "LA|Asia/Bangkok Asia/Vientiane", + "LB|Asia/Beirut", + "LC|America/Puerto_Rico America/St_Lucia", + "LI|Europe/Zurich Europe/Vaduz", + "LK|Asia/Colombo", + "LR|Africa/Monrovia", + "LS|Africa/Johannesburg Africa/Maseru", + "LT|Europe/Vilnius", + "LU|Europe/Brussels Europe/Luxembourg", + "LV|Europe/Riga", + "LY|Africa/Tripoli", + "MA|Africa/Casablanca", + "MC|Europe/Paris Europe/Monaco", + "MD|Europe/Chisinau", + "ME|Europe/Belgrade Europe/Podgorica", + "MF|America/Puerto_Rico America/Marigot", + "MG|Africa/Nairobi Indian/Antananarivo", + "MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro", + "MK|Europe/Belgrade Europe/Skopje", + "ML|Africa/Abidjan Africa/Bamako", + "MM|Asia/Yangon", + "MN|Asia/Ulaanbaatar Asia/Hovd", + "MO|Asia/Macau", + "MP|Pacific/Guam Pacific/Saipan", + "MQ|America/Martinique", + "MR|Africa/Abidjan Africa/Nouakchott", + "MS|America/Puerto_Rico America/Montserrat", + "MT|Europe/Malta", + "MU|Indian/Mauritius", + "MV|Indian/Maldives", + "MW|Africa/Maputo Africa/Blantyre", + "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana", + "MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur", + "MZ|Africa/Maputo", + "NA|Africa/Windhoek", + "NC|Pacific/Noumea", + "NE|Africa/Lagos Africa/Niamey", + "NF|Pacific/Norfolk", + "NG|Africa/Lagos", + "NI|America/Managua", + "NL|Europe/Brussels Europe/Amsterdam", + "NO|Europe/Berlin Europe/Oslo", + "NP|Asia/Kathmandu", + "NR|Pacific/Nauru", + "NU|Pacific/Niue", + "NZ|Pacific/Auckland Pacific/Chatham", + "OM|Asia/Dubai Asia/Muscat", + "PA|America/Panama", + "PE|America/Lima", + "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier", + "PG|Pacific/Port_Moresby Pacific/Bougainville", + "PH|Asia/Manila", + "PK|Asia/Karachi", + "PL|Europe/Warsaw", + "PM|America/Miquelon", + "PN|Pacific/Pitcairn", + "PR|America/Puerto_Rico", + "PS|Asia/Gaza Asia/Hebron", + "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores", + "PW|Pacific/Palau", + "PY|America/Asuncion", + "QA|Asia/Qatar", + "RE|Asia/Dubai Indian/Reunion", + "RO|Europe/Bucharest", + "RS|Europe/Belgrade", + "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr", + "RW|Africa/Maputo Africa/Kigali", + "SA|Asia/Riyadh", + "SB|Pacific/Guadalcanal", + "SC|Asia/Dubai Indian/Mahe", + "SD|Africa/Khartoum", + "SE|Europe/Berlin Europe/Stockholm", + "SG|Asia/Singapore", + "SH|Africa/Abidjan Atlantic/St_Helena", + "SI|Europe/Belgrade Europe/Ljubljana", + "SJ|Europe/Berlin Arctic/Longyearbyen", + "SK|Europe/Prague Europe/Bratislava", + "SL|Africa/Abidjan Africa/Freetown", + "SM|Europe/Rome Europe/San_Marino", + "SN|Africa/Abidjan Africa/Dakar", + "SO|Africa/Nairobi Africa/Mogadishu", + "SR|America/Paramaribo", + "SS|Africa/Juba", + "ST|Africa/Sao_Tome", + "SV|America/El_Salvador", + "SX|America/Puerto_Rico America/Lower_Princes", + "SY|Asia/Damascus", + "SZ|Africa/Johannesburg Africa/Mbabane", + "TC|America/Grand_Turk", + "TD|Africa/Ndjamena", + "TF|Asia/Dubai Indian/Maldives Indian/Kerguelen", + "TG|Africa/Abidjan Africa/Lome", + "TH|Asia/Bangkok", + "TJ|Asia/Dushanbe", + "TK|Pacific/Fakaofo", + "TL|Asia/Dili", + "TM|Asia/Ashgabat", + "TN|Africa/Tunis", + "TO|Pacific/Tongatapu", + "TR|Europe/Istanbul", + "TT|America/Puerto_Rico America/Port_of_Spain", + "TV|Pacific/Tarawa Pacific/Funafuti", + "TW|Asia/Taipei", + "TZ|Africa/Nairobi Africa/Dar_es_Salaam", + "UA|Europe/Simferopol Europe/Kyiv", + "UG|Africa/Nairobi Africa/Kampala", + "UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake", + "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu", + "UY|America/Montevideo", + "UZ|Asia/Samarkand Asia/Tashkent", + "VA|Europe/Rome Europe/Vatican", + "VC|America/Puerto_Rico America/St_Vincent", + "VE|America/Caracas", + "VG|America/Puerto_Rico America/Tortola", + "VI|America/Puerto_Rico America/St_Thomas", + "VN|Asia/Bangkok Asia/Ho_Chi_Minh", + "VU|Pacific/Efate", + "WF|Pacific/Tarawa Pacific/Wallis", + "WS|Pacific/Apia", + "YE|Asia/Riyadh Asia/Aden", + "YT|Africa/Nairobi Indian/Mayotte", + "ZA|Africa/Johannesburg", + "ZM|Africa/Maputo Africa/Lusaka", + "ZW|Africa/Maputo Africa/Harare" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/moment-timezone/index.js b/.output/server/node_modules/moment-timezone/index.js new file mode 100644 index 00000000..61a6dccc --- /dev/null +++ b/.output/server/node_modules/moment-timezone/index.js @@ -0,0 +1,2 @@ +var moment = module.exports = require("./moment-timezone"); +moment.tz.load(require('./data/packed/latest.json')); diff --git a/.output/server/node_modules/moment-timezone/moment-timezone.js b/.output/server/node_modules/moment-timezone/moment-timezone.js new file mode 100644 index 00000000..cfa30239 --- /dev/null +++ b/.output/server/node_modules/moment-timezone/moment-timezone.js @@ -0,0 +1,729 @@ +//! moment-timezone.js +//! version : 0.5.48 +//! Copyright (c) JS Foundation and other contributors +//! license : MIT +//! github.com/moment/moment-timezone + +(function (root, factory) { + "use strict"; + + /*global define*/ + if (typeof module === 'object' && module.exports) { + module.exports = factory(require('moment')); // Node + } else if (typeof define === 'function' && define.amd) { + define(['moment'], factory); // AMD + } else { + factory(root.moment); // Browser + } +}(this, function (moment) { + "use strict"; + + // Resolves es6 module loading issue + if (moment.version === undefined && moment.default) { + moment = moment.default; + } + + // Do not load moment-timezone a second time. + // if (moment.tz !== undefined) { + // logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion); + // return moment; + // } + + var VERSION = "0.5.48", + zones = {}, + links = {}, + countries = {}, + names = {}, + guesses = {}, + cachedGuess; + + if (!moment || typeof moment.version !== 'string') { + logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/'); + } + + var momentVersion = moment.version.split('.'), + major = +momentVersion[0], + minor = +momentVersion[1]; + + // Moment.js version check + if (major < 2 || (major === 2 && minor < 6)) { + logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com'); + } + + /************************************ + Unpacking + ************************************/ + + function charCodeToInt(charCode) { + if (charCode > 96) { + return charCode - 87; + } else if (charCode > 64) { + return charCode - 29; + } + return charCode - 48; + } + + function unpackBase60(string) { + var i = 0, + parts = string.split('.'), + whole = parts[0], + fractional = parts[1] || '', + multiplier = 1, + num, + out = 0, + sign = 1; + + // handle negative numbers + if (string.charCodeAt(0) === 45) { + i = 1; + sign = -1; + } + + // handle digits before the decimal + for (i; i < whole.length; i++) { + num = charCodeToInt(whole.charCodeAt(i)); + out = 60 * out + num; + } + + // handle digits after the decimal + for (i = 0; i < fractional.length; i++) { + multiplier = multiplier / 60; + num = charCodeToInt(fractional.charCodeAt(i)); + out += num * multiplier; + } + + return out * sign; + } + + function arrayToInt (array) { + for (var i = 0; i < array.length; i++) { + array[i] = unpackBase60(array[i]); + } + } + + function intToUntil (array, length) { + for (var i = 0; i < length; i++) { + array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds + } + + array[length - 1] = Infinity; + } + + function mapIndices (source, indices) { + var out = [], i; + + for (i = 0; i < indices.length; i++) { + out[i] = source[indices[i]]; + } + + return out; + } + + function unpack (string) { + var data = string.split('|'), + offsets = data[2].split(' '), + indices = data[3].split(''), + untils = data[4].split(' '); + + arrayToInt(offsets); + arrayToInt(indices); + arrayToInt(untils); + + intToUntil(untils, indices.length); + + return { + name : data[0], + abbrs : mapIndices(data[1].split(' '), indices), + offsets : mapIndices(offsets, indices), + untils : untils, + population : data[5] | 0 + }; + } + + /************************************ + Zone object + ************************************/ + + function Zone (packedString) { + if (packedString) { + this._set(unpack(packedString)); + } + } + + function closest (num, arr) { + var len = arr.length; + if (num < arr[0]) { + return 0; + } else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) { + return len - 1; + } else if (num >= arr[len - 1]) { + return -1; + } + + var mid; + var lo = 0; + var hi = len - 1; + while (hi - lo > 1) { + mid = Math.floor((lo + hi) / 2); + if (arr[mid] <= num) { + lo = mid; + } else { + hi = mid; + } + } + return hi; + } + + Zone.prototype = { + _set : function (unpacked) { + this.name = unpacked.name; + this.abbrs = unpacked.abbrs; + this.untils = unpacked.untils; + this.offsets = unpacked.offsets; + this.population = unpacked.population; + }, + + _index : function (timestamp) { + var target = +timestamp, + untils = this.untils, + i; + + i = closest(target, untils); + if (i >= 0) { + return i; + } + }, + + countries : function () { + var zone_name = this.name; + return Object.keys(countries).filter(function (country_code) { + return countries[country_code].zones.indexOf(zone_name) !== -1; + }); + }, + + parse : function (timestamp) { + var target = +timestamp, + offsets = this.offsets, + untils = this.untils, + max = untils.length - 1, + offset, offsetNext, offsetPrev, i; + + for (i = 0; i < max; i++) { + offset = offsets[i]; + offsetNext = offsets[i + 1]; + offsetPrev = offsets[i ? i - 1 : i]; + + if (offset < offsetNext && tz.moveAmbiguousForward) { + offset = offsetNext; + } else if (offset > offsetPrev && tz.moveInvalidForward) { + offset = offsetPrev; + } + + if (target < untils[i] - (offset * 60000)) { + return offsets[i]; + } + } + + return offsets[max]; + }, + + abbr : function (mom) { + return this.abbrs[this._index(mom)]; + }, + + offset : function (mom) { + logError("zone.offset has been deprecated in favor of zone.utcOffset"); + return this.offsets[this._index(mom)]; + }, + + utcOffset : function (mom) { + return this.offsets[this._index(mom)]; + } + }; + + /************************************ + Country object + ************************************/ + + function Country (country_name, zone_names) { + this.name = country_name; + this.zones = zone_names; + } + + /************************************ + Current Timezone + ************************************/ + + function OffsetAt(at) { + var timeString = at.toTimeString(); + var abbr = timeString.match(/\([a-z ]+\)/i); + if (abbr && abbr[0]) { + // 17:56:31 GMT-0600 (CST) + // 17:56:31 GMT-0600 (Central Standard Time) + abbr = abbr[0].match(/[A-Z]/g); + abbr = abbr ? abbr.join('') : undefined; + } else { + // 17:56:31 CST + // 17:56:31 GMT+0800 (台北標準時間) + abbr = timeString.match(/[A-Z]{3,5}/g); + abbr = abbr ? abbr[0] : undefined; + } + + if (abbr === 'GMT') { + abbr = undefined; + } + + this.at = +at; + this.abbr = abbr; + this.offset = at.getTimezoneOffset(); + } + + function ZoneScore(zone) { + this.zone = zone; + this.offsetScore = 0; + this.abbrScore = 0; + } + + ZoneScore.prototype.scoreOffsetAt = function (offsetAt) { + this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset); + if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) { + this.abbrScore++; + } + }; + + function findChange(low, high) { + var mid, diff; + + while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) { + mid = new OffsetAt(new Date(low.at + diff)); + if (mid.offset === low.offset) { + low = mid; + } else { + high = mid; + } + } + + return low; + } + + function userOffsets() { + var startYear = new Date().getFullYear() - 2, + last = new OffsetAt(new Date(startYear, 0, 1)), + lastOffset = last.offset, + offsets = [last], + change, next, nextOffset, i; + + for (i = 1; i < 48; i++) { + nextOffset = new Date(startYear, i, 1).getTimezoneOffset(); + if (nextOffset !== lastOffset) { + // Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets + next = new OffsetAt(new Date(startYear, i, 1)); + change = findChange(last, next); + offsets.push(change); + offsets.push(new OffsetAt(new Date(change.at + 6e4))); + last = next; + lastOffset = nextOffset; + } + } + + for (i = 0; i < 4; i++) { + offsets.push(new OffsetAt(new Date(startYear + i, 0, 1))); + offsets.push(new OffsetAt(new Date(startYear + i, 6, 1))); + } + + return offsets; + } + + function sortZoneScores (a, b) { + if (a.offsetScore !== b.offsetScore) { + return a.offsetScore - b.offsetScore; + } + if (a.abbrScore !== b.abbrScore) { + return a.abbrScore - b.abbrScore; + } + if (a.zone.population !== b.zone.population) { + return b.zone.population - a.zone.population; + } + return b.zone.name.localeCompare(a.zone.name); + } + + function addToGuesses (name, offsets) { + var i, offset; + arrayToInt(offsets); + for (i = 0; i < offsets.length; i++) { + offset = offsets[i]; + guesses[offset] = guesses[offset] || {}; + guesses[offset][name] = true; + } + } + + function guessesForUserOffsets (offsets) { + var offsetsLength = offsets.length, + filteredGuesses = {}, + out = [], + checkedOffsets = {}, + i, j, offset, guessesOffset; + + for (i = 0; i < offsetsLength; i++) { + offset = offsets[i].offset; + if (checkedOffsets.hasOwnProperty(offset)) { + continue; + } + guessesOffset = guesses[offset] || {}; + for (j in guessesOffset) { + if (guessesOffset.hasOwnProperty(j)) { + filteredGuesses[j] = true; + } + } + checkedOffsets[offset] = true; + } + + for (i in filteredGuesses) { + if (filteredGuesses.hasOwnProperty(i)) { + out.push(names[i]); + } + } + + return out; + } + + function rebuildGuess () { + + // use Intl API when available and returning valid time zone + try { + var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone; + if (intlName && intlName.length > 3) { + var name = names[normalizeName(intlName)]; + if (name) { + return name; + } + logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded."); + } + } catch (e) { + // Intl unavailable, fall back to manual guessing. + } + + var offsets = userOffsets(), + offsetsLength = offsets.length, + guesses = guessesForUserOffsets(offsets), + zoneScores = [], + zoneScore, i, j; + + for (i = 0; i < guesses.length; i++) { + zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength); + for (j = 0; j < offsetsLength; j++) { + zoneScore.scoreOffsetAt(offsets[j]); + } + zoneScores.push(zoneScore); + } + + zoneScores.sort(sortZoneScores); + + return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined; + } + + function guess (ignoreCache) { + if (!cachedGuess || ignoreCache) { + cachedGuess = rebuildGuess(); + } + return cachedGuess; + } + + /************************************ + Global Methods + ************************************/ + + function normalizeName (name) { + return (name || '').toLowerCase().replace(/\//g, '_'); + } + + function addZone (packed) { + var i, name, split, normalized; + + if (typeof packed === "string") { + packed = [packed]; + } + + for (i = 0; i < packed.length; i++) { + split = packed[i].split('|'); + name = split[0]; + normalized = normalizeName(name); + zones[normalized] = packed[i]; + names[normalized] = name; + addToGuesses(normalized, split[2].split(' ')); + } + } + + function getZone (name, caller) { + + name = normalizeName(name); + + var zone = zones[name]; + var link; + + if (zone instanceof Zone) { + return zone; + } + + if (typeof zone === 'string') { + zone = new Zone(zone); + zones[name] = zone; + return zone; + } + + // Pass getZone to prevent recursion more than 1 level deep + if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) { + zone = zones[name] = new Zone(); + zone._set(link); + zone.name = names[name]; + return zone; + } + + return null; + } + + function getNames () { + var i, out = []; + + for (i in names) { + if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) { + out.push(names[i]); + } + } + + return out.sort(); + } + + function getCountryNames () { + return Object.keys(countries); + } + + function addLink (aliases) { + var i, alias, normal0, normal1; + + if (typeof aliases === "string") { + aliases = [aliases]; + } + + for (i = 0; i < aliases.length; i++) { + alias = aliases[i].split('|'); + + normal0 = normalizeName(alias[0]); + normal1 = normalizeName(alias[1]); + + links[normal0] = normal1; + names[normal0] = alias[0]; + + links[normal1] = normal0; + names[normal1] = alias[1]; + } + } + + function addCountries (data) { + var i, country_code, country_zones, split; + if (!data || !data.length) return; + for (i = 0; i < data.length; i++) { + split = data[i].split('|'); + country_code = split[0].toUpperCase(); + country_zones = split[1].split(' '); + countries[country_code] = new Country( + country_code, + country_zones + ); + } + } + + function getCountry (name) { + name = name.toUpperCase(); + return countries[name] || null; + } + + function zonesForCountry(country, with_offset) { + country = getCountry(country); + + if (!country) return null; + + var zones = country.zones.sort(); + + if (with_offset) { + return zones.map(function (zone_name) { + var zone = getZone(zone_name); + return { + name: zone_name, + offset: zone.utcOffset(new Date()) + }; + }); + } + + return zones; + } + + function loadData (data) { + addZone(data.zones); + addLink(data.links); + addCountries(data.countries); + tz.dataVersion = data.version; + } + + function zoneExists (name) { + if (!zoneExists.didShowError) { + zoneExists.didShowError = true; + logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')"); + } + return !!getZone(name); + } + + function needsOffset (m) { + var isUnixTimestamp = (m._f === 'X' || m._f === 'x'); + return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp); + } + + function logError (message) { + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(message); + } + } + + /************************************ + moment.tz namespace + ************************************/ + + function tz (input) { + var args = Array.prototype.slice.call(arguments, 0, -1), + name = arguments[arguments.length - 1], + out = moment.utc.apply(null, args), + zone; + + if (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) { + out.add(zone.parse(out), 'minutes'); + } + + out.tz(name); + + return out; + } + + tz.version = VERSION; + tz.dataVersion = ''; + tz._zones = zones; + tz._links = links; + tz._names = names; + tz._countries = countries; + tz.add = addZone; + tz.link = addLink; + tz.load = loadData; + tz.zone = getZone; + tz.zoneExists = zoneExists; // deprecated in 0.1.0 + tz.guess = guess; + tz.names = getNames; + tz.Zone = Zone; + tz.unpack = unpack; + tz.unpackBase60 = unpackBase60; + tz.needsOffset = needsOffset; + tz.moveInvalidForward = true; + tz.moveAmbiguousForward = false; + tz.countries = getCountryNames; + tz.zonesForCountry = zonesForCountry; + + /************************************ + Interface with Moment.js + ************************************/ + + var fn = moment.fn; + + moment.tz = tz; + + moment.defaultZone = null; + + moment.updateOffset = function (mom, keepTime) { + var zone = moment.defaultZone, + offset; + + if (mom._z === undefined) { + if (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) { + mom._d = moment.utc(mom._a)._d; + mom.utc().add(zone.parse(mom), 'minutes'); + } + mom._z = zone; + } + if (mom._z) { + offset = mom._z.utcOffset(mom); + if (Math.abs(offset) < 16) { + offset = offset / 60; + } + if (mom.utcOffset !== undefined) { + var z = mom._z; + mom.utcOffset(-offset, keepTime); + mom._z = z; + } else { + mom.zone(offset, keepTime); + } + } + }; + + fn.tz = function (name, keepTime) { + if (name) { + if (typeof name !== 'string') { + throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']'); + } + this._z = getZone(name); + if (this._z) { + moment.updateOffset(this, keepTime); + } else { + logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/."); + } + return this; + } + if (this._z) { return this._z.name; } + }; + + function abbrWrap (old) { + return function () { + if (this._z) { return this._z.abbr(this); } + return old.call(this); + }; + } + + function resetZoneWrap (old) { + return function () { + this._z = null; + return old.apply(this, arguments); + }; + } + + function resetZoneWrap2 (old) { + return function () { + if (arguments.length > 0) this._z = null; + return old.apply(this, arguments); + }; + } + + fn.zoneName = abbrWrap(fn.zoneName); + fn.zoneAbbr = abbrWrap(fn.zoneAbbr); + fn.utc = resetZoneWrap(fn.utc); + fn.local = resetZoneWrap(fn.local); + fn.utcOffset = resetZoneWrap2(fn.utcOffset); + + moment.tz.setDefault = function(name) { + if (major < 2 || (major === 2 && minor < 9)) { + logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.'); + } + moment.defaultZone = name ? getZone(name) : null; + return moment; + }; + + // Cloning a moment should include the _z property. + var momentProperties = moment.momentProperties; + if (Object.prototype.toString.call(momentProperties) === '[object Array]') { + // moment 2.8.1+ + momentProperties.push('_z'); + momentProperties.push('_a'); + } else if (momentProperties) { + // moment 2.7.0 + momentProperties._z = null; + } + + // INJECT DATA + + return moment; +})); diff --git a/.output/server/node_modules/moment-timezone/package.json b/.output/server/node_modules/moment-timezone/package.json new file mode 100644 index 00000000..44425fbd --- /dev/null +++ b/.output/server/node_modules/moment-timezone/package.json @@ -0,0 +1,55 @@ +{ + "name": "moment-timezone", + "version": "0.5.48", + "description": "Parse and display moments in any timezone.", + "homepage": "http://momentjs.com/timezone/", + "author": "Tim Wood <washwithcare@gmail.com> (http://timwoodcreates.com/)", + "keywords": [ + "moment", + "date", + "time", + "timezone", + "olson", + "iana", + "zone", + "tz" + ], + "main": "./index.js", + "typings": "./index.d.ts", + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "https://github.com/moment/moment-timezone.git" + }, + "bugs": { + "url": "https://github.com/moment/moment-timezone/issues" + }, + "license": "MIT", + "dependencies": { + "moment": "^2.29.4" + }, + "devDependencies": { + "grunt": "^1.5.3", + "grunt-contrib-clean": "^2.0.1", + "grunt-contrib-jshint": "^3.2.0", + "grunt-contrib-nodeunit": "^5.0.0", + "grunt-contrib-uglify": "^5.2.2", + "grunt-exec": "^3.0.0", + "typescript": "^3.5.1" + }, + "jspm": { + "main": "builds/moment-timezone-with-data", + "shim": { + "moment-timezone": { + "deps": [ + "moment" + ] + } + } + }, + "scripts": { + "test": "grunt" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/moment/moment.js b/.output/server/node_modules/moment/moment.js new file mode 100644 index 00000000..480b9fb3 --- /dev/null +++ b/.output/server/node_modules/moment/moment.js @@ -0,0 +1,5688 @@ +//! moment.js +//! version : 2.30.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks() { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback(callback) { + hookCallback = callback; + } + + function isArray(input) { + return ( + input instanceof Array || + Object.prototype.toString.call(input) === '[object Array]' + ); + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + 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, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + 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) { + var flags = null, + parsedParts = false, + isNowValid = m._d && !isNaN(m._d.getTime()); + if (isNowValid) { + flags = getParsingFlags(m); + parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + isNowValid = + 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 === undefined; + } + } + 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; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = (hooks.momentProperties = []), + updateInProgress = false; + + function copyConfig(to, from) { + var i, + prop, + val, + momentPropertiesLen = momentProperties.length; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + // Moment prototype object + 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); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + 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); // Remove trailing comma and space + } 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; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + 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]) + ) { + // make sure changes to properties don't modify parent config + 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, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (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 = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.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 = '', + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + 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 format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + 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(diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = { + D: 'date', + dates: 'date', + date: 'date', + d: 'day', + days: 'day', + day: 'day', + e: 'weekday', + weekdays: 'weekday', + weekday: 'weekday', + E: 'isoWeekday', + isoweekdays: 'isoWeekday', + isoweekday: 'isoWeekday', + DDD: 'dayOfYear', + dayofyears: 'dayOfYear', + dayofyear: 'dayOfYear', + h: 'hour', + hours: 'hour', + hour: 'hour', + ms: 'millisecond', + milliseconds: 'millisecond', + millisecond: 'millisecond', + m: 'minute', + minutes: 'minute', + minute: 'minute', + M: 'month', + months: 'month', + month: 'month', + Q: 'quarter', + quarters: 'quarter', + quarter: 'quarter', + s: 'second', + seconds: 'second', + second: 'second', + gg: 'weekYear', + weekyears: 'weekYear', + weekyear: 'weekYear', + GG: 'isoWeekYear', + isoweekyears: 'isoWeekYear', + isoweekyear: 'isoWeekYear', + w: 'week', + weeks: 'week', + week: 'week', + W: 'isoWeek', + isoweeks: 'isoWeek', + isoweek: 'isoWeek', + y: 'year', + years: 'year', + year: 'year', + }; + + function normalizeUnits(units) { + return typeof units === 'string' + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + 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 = { + date: 9, + day: 11, + weekday: 11, + isoWeekday: 11, + dayOfYear: 4, + hour: 13, + millisecond: 16, + minute: 14, + month: 8, + quarter: 7, + second: 15, + weekYear: 1, + isoWeekYear: 1, + week: 5, + isoWeek: 5, + year: 1, + }; + + function 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; + } + + var match1 = /\d/, // 0 - 9 + match2 = /\d\d/, // 00 - 99 + match3 = /\d{3}/, // 000 - 999 + match4 = /\d{4}/, // 0000 - 9999 + match6 = /[+-]?\d{6}/, // -999999 - 999999 + match1to2 = /\d\d?/, // 0 - 99 + match3to4 = /\d\d\d\d?/, // 999 - 9999 + match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 + match1to3 = /\d{1,3}/, // 0 - 999 + match1to4 = /\d{1,4}/, // 0 - 9999 + match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 + matchUnsigned = /\d+/, // 0 - inf + matchSigned = /[+-]?\d+/, // -inf - inf + matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z + matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + 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, + match1to2NoLeadingZero = /^[1-9]\d?/, // 1-99 + match1to2HasZero = /^([1-9]\d|\d)/, // 0-99 + regexes; + + regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function (isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + 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, '\\$&'); + } + + function absFloor(number) { + if (number < 0) { + // -0 -> 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; + } + + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback, + tokenLen; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token.length; + for (i = 0; i < tokenLen; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + var YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + WEEK = 7, + WEEKDAY = 8; + + // FORMATTING + + 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'); + + // PARSING + + 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); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + 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) { + if (!mom.isValid()) { + return NaN; + } + + var d = mom._d, + isUTC = mom._isUTC; + + switch (unit) { + case 'Milliseconds': + return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds(); + case 'Seconds': + return isUTC ? d.getUTCSeconds() : d.getSeconds(); + case 'Minutes': + return isUTC ? d.getUTCMinutes() : d.getMinutes(); + case 'Hours': + return isUTC ? d.getUTCHours() : d.getHours(); + case 'Date': + return isUTC ? d.getUTCDate() : d.getDate(); + case 'Day': + return isUTC ? d.getUTCDay() : d.getDay(); + case 'Month': + return isUTC ? d.getUTCMonth() : d.getMonth(); + case 'FullYear': + return isUTC ? d.getUTCFullYear() : d.getFullYear(); + default: + return NaN; // Just in case + } + } + + function set$1(mom, unit, value) { + var d, isUTC, year, month, date; + + if (!mom.isValid() || isNaN(value)) { + return; + } + + d = mom._d; + isUTC = mom._isUTC; + + switch (unit) { + case 'Milliseconds': + return void (isUTC + ? d.setUTCMilliseconds(value) + : d.setMilliseconds(value)); + case 'Seconds': + return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value)); + case 'Minutes': + return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value)); + case 'Hours': + return void (isUTC ? d.setUTCHours(value) : d.setHours(value)); + case 'Date': + return void (isUTC ? d.setUTCDate(value) : d.setDate(value)); + // case 'Day': // Not real + // return void (isUTC ? d.setUTCDay(value) : d.setDay(value)); + // case 'Month': // Not used because we need to pass two variables + // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value)); + case 'FullYear': + break; // See below ... + default: + return; // Just in case + } + + year = value; + month = mom.month(); + date = mom.date(); + date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date; + void (isUTC + ? d.setUTCFullYear(year, month, date) + : d.setFullYear(year, month, date)); + } + + // MOMENTS + + 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; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + 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); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // PARSING + + addRegexToken('M', match1to2, match1to2NoLeadingZero); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + 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, format) { + 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(format) + ? 'format' + : 'standalone' + ][m.month()]; + } + + function localeMonthsShort(m, format) { + 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(format) ? 'format' : 'standalone' + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + '' + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === '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 (format === '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, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 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'); + } + // test the regex + if ( + strict && + format === 'MMMM' && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === 'MMM' && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth(mom, value) { + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + var month = value, + date = mom.date(); + + date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month)); + void (mom._isUTC + ? mom._d.setUTCMonth(month, date) + : mom._d.setMonth(month, date)); + 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, + shortP, + longP; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortP = regexEscape(this.monthsShort(mom, '')); + longP = regexEscape(this.months(mom, '')); + shortPieces.push(shortP); + longPieces.push(longP); + mixedPieces.push(longP); + mixedPieces.push(shortP); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + + 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' + ); + } + + function createDate(y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + 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; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + 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; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + 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; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // PARSING + + addRegexToken('w', match1to2, match1to2NoLeadingZero); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2, match1to2NoLeadingZero); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken( + ['w', 'ww', 'W', 'WW'], + function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + } + ); + + // HELPERS + + // LOCALES + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + // MOMENTS + + 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'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + 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, format) { + var weekdays = isArray(this._weekdays) + ? this._weekdays + : this._weekdays[ + m && m !== true && this._weekdays.isFormat.test(format) + ? '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, format, 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([2000, 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 (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === '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 (format === '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 (format === '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, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 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'); + } + // test the regex + if ( + strict && + format === 'dddd' && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'ddd' && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'dd' && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + var day = get(this, 'Day'); + 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; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + 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++) { + // make the regex if we don't have it already + mom = createUTC([2000, 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); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + 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' + ); + } + + // FORMATTING + + 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(token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // PARSING + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2, match1to2HasZero); + addRegexToken('h', match1to2, match1to2NoLeadingZero); + addRegexToken('k', match1to2, match1to2NoLeadingZero); + 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)); + }); + + // LOCALES + + function localeIsPM(input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return (input + '').toLowerCase().charAt(0) === 'p'; + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + getSetHour = makeGetSet('Hours', true); + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 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, + }; + + // internal storage for locale config files + 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; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + 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) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + commonPrefix(split, next) >= j - 1 + ) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function isLocaleNameSane(name) { + // Prevent names that look like filesystem paths, i.e contain '/' or '\' + // Ensure name is available and function returns boolean + return !!(name && name.match('^[^/\\\\]*$')); + } + + function loadLocale(name) { + var oldLocale = null, + aliasedRequire; + // TODO: Find a better way to register and load all the locales in Node + if ( + locales[name] === undefined && + typeof module !== 'undefined' && + module && + module.exports && + isLocaleNameSane(name) + ) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + // mark as not found to avoid repeating expensive file require call causing high CPU + // when trying to find en-US, en_US, en-us for every format call + locales[name] = null; // null means not found + } + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } else { + if (typeof console !== 'undefined' && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn( + 'Locale ' + key + ' not found. Did you forget to load it?' + ); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var locale, + 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 { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config, + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + + if (locales[name] != null && locales[name].parentLocale != null) { + // Update existing child locale in-place to avoid memory-leaks + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + // updateLocale is called for creating a new locale + // Set abbr so it will have a name (getters return + // undefined otherwise). + config.abbr = name; + } + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + } + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + 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]; + } + + // returns locale data + function getLocale(key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + 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; + } + + // iso 8601 regex + // 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) + 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], + ], + // iso time formats and regexes + 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, + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + 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, + }; + + // date from iso format + 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])) { + // match[2] should be 'T' or space + 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 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^()]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an independent day-of-week check. + 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) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10), + m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + 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; + } + } + + // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict + 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 { + // Final attempt, use Input Fallback + 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' : '')); + } + ); + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate(), + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + expectedWeekday, + yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + 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(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + 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(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + 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; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + 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); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + 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; + } + } + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0, + era, + tokenLen; + + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens.length; + for (i = 0; i < tokenLen; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, 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; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + + // handle era + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + 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; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + 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 === undefined ? 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) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && 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(format)) { + configFromStringAndArray(config); + } else if (format) { + 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)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + + if (format === true || format === false) { + strict = format; + format = undefined; + } + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, 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(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + 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; + } + + // TODO: Use [].sort instead? + 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; // only allow non-integers for smallest unit + } + 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), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = + +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + quarters * 3 + years * 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); + } + } + + // compare two arrays, return the number of differences + 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; + } + + // FORMATTING + + function offset(token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(), + sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher), + chunk, + parts, + minutes; + + if (matches === null) { + return null; + } + + chunk = matches[matches.length - 1] || []; + parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset()); + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = 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 (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, 'm'), + 1, + false + ); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : 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; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + 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, + // matching against regexp is expensive, do it on demand + match = null, + sign, + 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))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match + }; + } else if ((match = isoRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign), + }; + } else if (duration == null) { + // checks for null or undefined + 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, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + 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; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + 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 milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'), + subtract = createAdder(-1, 'subtract'); + + function isString(input) { + return typeof input === 'string' || input instanceof String; + } + + // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + function isMomentInput(input) { + return ( + isMoment(input) || + isDate(input) || + isString(input) || + isNumber(input) || + isNumberOrStringArray(input) || + isMomentInputObject(input) || + input === null || + input === undefined + ); + } + + 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, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 + ? 'sameElse' + : diff < -1 + ? 'lastWeek' + : diff < 0 + ? 'lastDay' + : diff < 1 + ? 'sameDay' + : diff < 2 + ? 'nextDay' + : diff < 7 + ? 'nextWeek' + : 'sameElse'; + } + + function calendar$1(time, formats) { + // Support for single parameter, formats only overload to the calendar function + if (arguments.length === 1) { + if (!arguments[0]) { + time = undefined; + formats = undefined; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = undefined; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = undefined; + } + } + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse', + output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + 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(from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + 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; // 1000 + case 'minute': + output = (this - that) / 6e4; + break; // 1000 * 60 + case 'hour': + output = (this - that) / 36e5; + break; // 1000 * 60 * 60 + case 'day': + output = (this - that - zoneDelta) / 864e5; + break; // 1000 * 60 * 60 * 24, negate dst + case 'week': + output = (this - that - zoneDelta) / 6048e5; + break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: + output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + if (a.date() < b.date()) { + // end-of-month calculations work correct when the start month has more + // days than the end month. + return -monthDiff(b, a); + } + // difference in months + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, + adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + 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)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) + .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' + ); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + 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); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale(key) { + var newLocaleData; + + if (key === undefined) { + 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 === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + var MS_PER_SECOND = 1000, + 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; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return ((dividend % divisor) + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + 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 === undefined || 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 === undefined || 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) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + 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() { + // new Date(NaN).toJSON() === null + 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, token) { + var era = config._locale.erasParse(input, token, 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, token) { + 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, format) { + 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': + // truncate time + 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': + // truncate time + date = hooks(eras[i].until).startOf('day').valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; + } + + function localeErasParse(eraName, format, 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 (format) { + 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 === undefined) { + 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) { + // truncate time + 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) { + // truncate time + 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) { + // truncate time + 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; + + // truncate time + 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, locale) { + return locale.erasAbbrRegex(isStrict); + } + + function matchEraName(isStrict, locale) { + return locale.erasNameRegex(isStrict); + } + + function matchEraNarrow(isStrict, locale) { + return locale.erasNarrowRegex(isStrict); + } + + function matchEraYearOrdinal(isStrict, locale) { + return locale._eraYearOrdinalRegex || matchUnsigned; + } + + function computeErasParse() { + var abbrPieces = [], + namePieces = [], + narrowPieces = [], + mixedPieces = [], + i, + l, + erasName, + erasAbbr, + erasNarrow, + eras = this.eras(); + + for (i = 0, l = eras.length; i < l; ++i) { + erasName = regexEscape(eras[i].name); + erasAbbr = regexEscape(eras[i].abbr); + erasNarrow = regexEscape(eras[i].narrow); + + namePieces.push(erasName); + abbrPieces.push(erasAbbr); + narrowPieces.push(erasNarrow); + mixedPieces.push(erasName); + mixedPieces.push(erasAbbr); + mixedPieces.push(erasNarrow); + } + + 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' + ); + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + // PARSING + + 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, token) { + week[token.substr(0, 2)] = toInt(input); + } + ); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday() + this.localeData()._week.dow, + 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; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // PARSING + + addRegexToken('D', match1to2, match1to2NoLeadingZero); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + 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'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // PARSING + + addRegexToken('m', match1to2, match1to2HasZero); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // PARSING + + addRegexToken('s', match1to2, match1to2HasZero); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + 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() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + // PARSING + + 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) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + + getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + 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 * 1000); + } + + 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(format, index, field, setter) { + var locale = getLocale(), + utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i, + out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0, + i, + out = []; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, 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; + }, + }); + + // Side effect imports + + 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(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + 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 milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, + minutes, + hours, + years, + monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths(days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + // the reverse of daysToMonths + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days, + months, + milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': + return months; + case 'quarter': + return months / 3; + case 'year': + return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week': + return days / 7 + milliseconds / 6048e5; + case 'day': + return days + milliseconds / 864e5; + case 'hour': + return days * 24 + milliseconds / 36e5; + case 'minute': + return days * 1440 + milliseconds / 6e4; + case 'second': + return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error('Unknown unit ' + units); + } + } + } + + 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'), + valueOf$1 = asMilliseconds; + + 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, // a few seconds to seconds + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month/week + w: null, // weeks to month + M: 11, // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { + var duration = createDuration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + weeks = round(duration.as('w')), + years = round(duration.as('y')), + a = + (seconds <= thresholds.ss && ['s', seconds]) || + (seconds < thresholds.s && ['ss', seconds]) || + (minutes <= 1 && ['m']) || + (minutes < thresholds.m && ['mm', minutes]) || + (hours <= 1 && ['h']) || + (hours < thresholds.h && ['hh', hours]) || + (days <= 1 && ['d']) || + (days < thresholds.d && ['dd', days]); + + if (thresholds.w != null) { + a = + a || + (weeks <= 1 && ['w']) || + (weeks < thresholds.w && ['ww', weeks]); + } + a = a || + (months <= 1 && ['M']) || + (months < thresholds.M && ['MM', months]) || + (years <= 1 && ['y']) || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + 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, + locale, + 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; + } + } + + locale = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000, + days = abs$1(this._days), + months = abs$1(this._months), + minutes, + hours, + years, + s, + total = this.asSeconds(), + totalSign, + ymSign, + daysSign, + hmsSign; + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + s = seconds ? seconds.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' + + (years ? ymSign + years + 'Y' : '') + + (months ? ymSign + months + 'M' : '') + + (days ? daysSign + days + 'D' : '') + + (hours || minutes || seconds ? 'T' : '') + + (hours ? hmsSign + hours + 'H' : '') + + (minutes ? hmsSign + minutes + 'M' : '') + + (seconds ? 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; + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + //! moment.js + + hooks.version = '2.30.1'; + + 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; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> + DATE: 'YYYY-MM-DD', // <input type="date" /> + TIME: 'HH:mm', // <input type="time" /> + TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> + TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> + WEEK: 'GGGG-[W]WW', // <input type="week" /> + MONTH: 'YYYY-MM', // <input type="month" /> + }; + + return hooks; + +}))); diff --git a/.output/server/node_modules/moment/package.json b/.output/server/node_modules/moment/package.json new file mode 100644 index 00000000..1510e853 --- /dev/null +++ b/.output/server/node_modules/moment/package.json @@ -0,0 +1,116 @@ +{ + "name": "moment", + "version": "2.30.1", + "description": "Parse, validate, manipulate, and display dates", + "homepage": "https://momentjs.com", + "author": "Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)", + "contributors": [ + "Tim Wood <washwithcare@gmail.com> (http://timwoodcreates.com/)", + "Rocky Meza (http://rockymeza.com)", + "Matt Johnson <mj1856@hotmail.com> (http://codeofmatt.com)", + "Isaac Cambron <isaac@isaaccambron.com> (http://isaaccambron.com)", + "Andre Polykanine <andre@oire.org> (https://github.com/oire)" + ], + "keywords": [ + "moment", + "date", + "time", + "parse", + "format", + "validate", + "i18n", + "l10n", + "ender" + ], + "main": "./moment.js", + "jsnext:main": "./dist/moment.js", + "typings": "./moment.d.ts", + "typesVersions": { + ">=3.1": { + "*": [ + "ts3.1-typings/*" + ], + "min/moment-with-locales": [ + "ts3.1-typings/moment.d.ts" + ] + } + }, + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "https://github.com/moment/moment.git" + }, + "bugs": { + "url": "https://github.com/moment/moment/issues" + }, + "license": "MIT", + "devDependencies": { + "benchmark": "latest", + "coveralls": "latest", + "cross-env": "^6.0.3", + "es6-promise": "latest", + "eslint": "latest", + "grunt": "latest", + "grunt-benchmark": "latest", + "grunt-cli": "latest", + "grunt-contrib-clean": "latest", + "grunt-contrib-concat": "latest", + "grunt-contrib-copy": "latest", + "grunt-contrib-uglify": "latest", + "grunt-contrib-watch": "latest", + "grunt-env": "latest", + "grunt-exec": "latest", + "grunt-karma": "latest", + "grunt-nuget": "latest", + "grunt-string-replace": "latest", + "karma": "latest", + "karma-chrome-launcher": "latest", + "karma-firefox-launcher": "latest", + "karma-qunit": "latest", + "karma-sauce-launcher": "4.1.4", + "load-grunt-tasks": "latest", + "lodash": ">=4.17.19", + "node-qunit": "latest", + "nyc": "latest", + "prettier": "latest", + "qunit": "^2.10.0", + "rollup": "2.17.1", + "typescript": "^1.8.10", + "typescript3": "npm:typescript@^3.1.6", + "uglify-js": "latest", + "@types/node": "17.0.21" + }, + "ender": "./ender.js", + "dojoBuild": "package.js", + "jspm": { + "files": [ + "moment.js", + "moment.d.ts", + "locale" + ], + "map": { + "moment": "./moment" + }, + "buildConfig": { + "uglify": true + } + }, + "scripts": { + "ts3.1-typescript-test": "cross-env node_modules/typescript3/bin/tsc --project ts3.1-typing-tests", + "typescript-test": "cross-env node_modules/typescript/bin/tsc --project typing-tests", + "test": "grunt test", + "eslint": "eslint Gruntfile.js tasks src", + "prettier-check": "prettier --check Gruntfile.js tasks src", + "prettier-fmt": "prettier --write Gruntfile.js tasks src", + "coverage": "nyc npm test && nyc report", + "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls" + }, + "spm": { + "main": "moment.js", + "output": [ + "locale/*.js" + ] + } +} \ No newline at end of file diff --git a/.output/server/node_modules/ms/index.js b/.output/server/node_modules/ms/index.js new file mode 100644 index 00000000..ea734fb7 --- /dev/null +++ b/.output/server/node_modules/ms/index.js @@ -0,0 +1,162 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function (val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} diff --git a/.output/server/node_modules/ms/package.json b/.output/server/node_modules/ms/package.json new file mode 100644 index 00000000..93f6b8d8 --- /dev/null +++ b/.output/server/node_modules/ms/package.json @@ -0,0 +1,38 @@ +{ + "name": "ms", + "version": "2.1.3", + "description": "Tiny millisecond conversion utility", + "repository": "vercel/ms", + "main": "./index", + "files": [ + "index.js" + ], + "scripts": { + "precommit": "lint-staged", + "lint": "eslint lib/* bin/*", + "test": "mocha tests.js" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "license": "MIT", + "devDependencies": { + "eslint": "4.18.2", + "expect.js": "0.3.1", + "husky": "0.14.3", + "lint-staged": "5.0.0", + "mocha": "4.0.1", + "prettier": "2.0.5" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs b/.output/server/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs new file mode 100644 index 00000000..715b4721 --- /dev/null +++ b/.output/server/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs @@ -0,0 +1,2 @@ +var B=Object.defineProperty;var E=(u,a)=>B(u,"name",{value:a,configurable:!0});import{FormData as V,File as Y}from"../node.mjs";import"node:http";import"node:https";import"node:zlib";import"node:stream";import"node:buffer";import"node:util";import"../shared/node-fetch-native.DfbY2q-x.mjs";import"node:url";import"node:net";import"node:fs";import"node:path";let D=0;const t={START_BOUNDARY:D++,HEADER_FIELD_START:D++,HEADER_FIELD:D++,HEADER_VALUE_START:D++,HEADER_VALUE:D++,HEADER_VALUE_ALMOST_DONE:D++,HEADERS_ALMOST_DONE:D++,PART_DATA_START:D++,PART_DATA:D++,END:D++};let w=1;const R={PART_BOUNDARY:w,LAST_BOUNDARY:w*=2},g=10,N=13,x=32,P=45,C=58,I=97,M=122,$=E(u=>u|32,"lower"),m=E(()=>{},"noop"),F=class F{constructor(a){this.index=0,this.flags=0,this.onHeaderEnd=m,this.onHeaderField=m,this.onHeadersEnd=m,this.onHeaderValue=m,this.onPartBegin=m,this.onPartData=m,this.onPartEnd=m,this.boundaryChars={},a=`\r +--`+a;const n=new Uint8Array(a.length);for(let r=0;r<a.length;r++)n[r]=a.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=t.START_BOUNDARY}write(a){let n=0;const r=a.length;let d=this.index,{lookbehind:l,boundary:c,boundaryChars:p,index:e,state:i,flags:A}=this;const H=this.boundary.length,O=H-1,y=a.length;let o,L;const f=E(h=>{this[h+"Mark"]=n},"mark"),s=E(h=>{delete this[h+"Mark"]},"clear"),T=E((h,S,_,U)=>{(S===void 0||S!==_)&&this[h](U&&U.subarray(S,_))},"callback"),b=E((h,S)=>{const _=h+"Mark";_ in this&&(S?(T(h,this[_],n,a),delete this[_]):(T(h,this[_],a.length,a),this[_]=0))},"dataCallback");for(n=0;n<r;n++)switch(o=a[n],i){case t.START_BOUNDARY:if(e===c.length-2){if(o===P)A|=R.LAST_BOUNDARY;else if(o!==N)return;e++;break}else if(e-1===c.length-2){if(A&R.LAST_BOUNDARY&&o===P)i=t.END,A=0;else if(!(A&R.LAST_BOUNDARY)&&o===g)e=0,T("onPartBegin"),i=t.HEADER_FIELD_START;else return;break}o!==c[e+2]&&(e=-2),o===c[e+2]&&e++;break;case t.HEADER_FIELD_START:i=t.HEADER_FIELD,f("onHeaderField"),e=0;case t.HEADER_FIELD:if(o===N){s("onHeaderField"),i=t.HEADERS_ALMOST_DONE;break}if(e++,o===P)break;if(o===C){if(e===1)return;b("onHeaderField",!0),i=t.HEADER_VALUE_START;break}if(L=$(o),L<I||L>M)return;break;case t.HEADER_VALUE_START:if(o===x)break;f("onHeaderValue"),i=t.HEADER_VALUE;case t.HEADER_VALUE:o===N&&(b("onHeaderValue",!0),T("onHeaderEnd"),i=t.HEADER_VALUE_ALMOST_DONE);break;case t.HEADER_VALUE_ALMOST_DONE:if(o!==g)return;i=t.HEADER_FIELD_START;break;case t.HEADERS_ALMOST_DONE:if(o!==g)return;T("onHeadersEnd"),i=t.PART_DATA_START;break;case t.PART_DATA_START:i=t.PART_DATA,f("onPartData");case t.PART_DATA:if(d=e,e===0){for(n+=O;n<y&&!(a[n]in p);)n+=H;n-=O,o=a[n]}if(e<c.length)c[e]===o?(e===0&&b("onPartData",!0),e++):e=0;else if(e===c.length)e++,o===N?A|=R.PART_BOUNDARY:o===P?A|=R.LAST_BOUNDARY:e=0;else if(e-1===c.length)if(A&R.PART_BOUNDARY){if(e=0,o===g){A&=~R.PART_BOUNDARY,T("onPartEnd"),T("onPartBegin"),i=t.HEADER_FIELD_START;break}}else A&R.LAST_BOUNDARY&&o===P?(T("onPartEnd"),i=t.END,A=0):e=0;if(e>0)l[e-1]=o;else if(d>0){const h=new Uint8Array(l.buffer,l.byteOffset,l.byteLength);T("onPartData",0,d,h),d=0,f("onPartData"),n--}break;case t.END:break;default:throw new Error(`Unexpected state entered: ${i}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=e,this.state=i,this.flags=A}end(){if(this.state===t.HEADER_FIELD_START&&this.index===0||this.state===t.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==t.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};E(F,"MultipartParser");let k=F;function v(u){const a=u.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!a)return;const n=a[2]||a[3]||"";let r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(d,l)=>String.fromCharCode(l)),r}E(v,"_fileName");async function Z(u,a){if(!/multipart/i.test(a))throw new TypeError("Failed to fetch");const n=a.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");const r=new k(n[1]||n[2]);let d,l,c,p,e,i;const A=[],H=new V,O=E(s=>{c+=f.decode(s,{stream:!0})},"onPartData"),y=E(s=>{A.push(s)},"appendToFile"),o=E(()=>{const s=new Y(A,i,{type:e});H.append(p,s)},"appendFileToFormData"),L=E(()=>{H.append(p,c)},"appendEntryToFormData"),f=new TextDecoder("utf-8");f.decode(),r.onPartBegin=function(){r.onPartData=O,r.onPartEnd=L,d="",l="",c="",p="",e="",i=null,A.length=0},r.onHeaderField=function(s){d+=f.decode(s,{stream:!0})},r.onHeaderValue=function(s){l+=f.decode(s,{stream:!0})},r.onHeaderEnd=function(){if(l+=f.decode(),d=d.toLowerCase(),d==="content-disposition"){const s=l.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);s&&(p=s[2]||s[3]||""),i=v(l),i&&(r.onPartData=y,r.onPartEnd=o)}else d==="content-type"&&(e=l);l="",d=""};for await(const s of u)r.write(s);return r.end(),H}E(Z,"toFormData");export{Z as toFormData}; diff --git a/.output/server/node_modules/node-fetch-native/dist/index.mjs b/.output/server/node_modules/node-fetch-native/dist/index.mjs new file mode 100644 index 00000000..2ca3923f --- /dev/null +++ b/.output/server/node_modules/node-fetch-native/dist/index.mjs @@ -0,0 +1 @@ +import{fetch as e,Blob as t,File as s,FormData as l,Headers as a,Request as i,Response as b,AbortController as m}from"./node.mjs";export{AbortError,FetchError,blobFrom,blobFromSync,fileFrom,fileFromSync,isRedirect}from"./node.mjs";import"node:http";import"node:https";import"node:zlib";import"node:stream";import"node:buffer";import"node:util";import"./shared/node-fetch-native.DfbY2q-x.mjs";import"node:url";import"node:net";import"node:fs";import"node:path";const o=!!globalThis.process?.env?.FORCE_NODE_FETCH,r=!o&&globalThis.fetch||e,p=!o&&globalThis.Blob||t,F=!o&&globalThis.File||s,h=!o&&globalThis.FormData||l,n=!o&&globalThis.Headers||a,c=!o&&globalThis.Request||i,R=!o&&globalThis.Response||b,T=!o&&globalThis.AbortController||m;export{T as AbortController,p as Blob,F as File,h as FormData,n as Headers,c as Request,R as Response,r as default,r as fetch}; diff --git a/.output/server/node_modules/node-fetch-native/dist/node.mjs b/.output/server/node_modules/node-fetch-native/dist/node.mjs new file mode 100644 index 00000000..4fbe817e --- /dev/null +++ b/.output/server/node_modules/node-fetch-native/dist/node.mjs @@ -0,0 +1,19 @@ +var Os=Object.defineProperty;var fi=i=>{throw TypeError(i)};var n=(i,o)=>Os(i,"name",{value:o,configurable:!0});var ci=(i,o,a)=>o.has(i)||fi("Cannot "+a);var O=(i,o,a)=>(ci(i,o,"read from private field"),a?a.call(i):o.get(i)),be=(i,o,a)=>o.has(i)?fi("Cannot add the same private member more than once"):o instanceof WeakSet?o.add(i):o.set(i,a),X=(i,o,a,f)=>(ci(i,o,"write to private field"),f?f.call(i,a):o.set(i,a),a);var ve,zt,bt,Cr,ze,It,Ft,mt,ee,yt,He,Ve,gt;import Bt from"node:http";import zs from"node:https";import st from"node:zlib";import me,{PassThrough as dr,pipeline as lt}from"node:stream";import{Buffer as M}from"node:buffer";import{types as hr,deprecate as pr,promisify as Is}from"node:util";import{c as di,g as Fs}from"./shared/node-fetch-native.DfbY2q-x.mjs";import{format as js}from"node:url";import{isIP as Ls}from"node:net";import{promises as $s,statSync as hi,createReadStream as Ds}from"node:fs";import{basename as Ms}from"node:path";function Us(i){if(!/^data:/i.test(i))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');i=i.replace(/\r?\n/g,"");const o=i.indexOf(",");if(o===-1||o<=4)throw new TypeError("malformed data: URI");const a=i.substring(5,o).split(";");let f="",l=!1;const p=a[0]||"text/plain";let h=p;for(let A=1;A<a.length;A++)a[A]==="base64"?l=!0:a[A]&&(h+=`;${a[A]}`,a[A].indexOf("charset=")===0&&(f=a[A].substring(8)));!a[0]&&!f.length&&(h+=";charset=US-ASCII",f="US-ASCII");const S=l?"base64":"ascii",v=unescape(i.substring(o+1)),w=Buffer.from(v,S);return w.type=p,w.typeFull=h,w.charset=f,w}n(Us,"dataUriToBuffer");var pi={},kt={exports:{}};/** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + */var xs=kt.exports,bi;function Ns(){return bi||(bi=1,function(i,o){(function(a,f){f(o)})(xs,function(a){function f(){}n(f,"noop");function l(e){return typeof e=="object"&&e!==null||typeof e=="function"}n(l,"typeIsObject");const p=f;function h(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}n(h,"setFunctionName");const S=Promise,v=Promise.prototype.then,w=Promise.reject.bind(S);function A(e){return new S(e)}n(A,"newPromise");function T(e){return A(t=>t(e))}n(T,"promiseResolvedWith");function b(e){return w(e)}n(b,"promiseRejectedWith");function q(e,t,r){return v.call(e,t,r)}n(q,"PerformPromiseThen");function g(e,t,r){q(q(e,t,r),void 0,p)}n(g,"uponPromise");function V(e,t){g(e,t)}n(V,"uponFulfillment");function I(e,t){g(e,void 0,t)}n(I,"uponRejection");function F(e,t,r){return q(e,t,r)}n(F,"transformPromiseWith");function Q(e){q(e,void 0,p)}n(Q,"setPromiseIsHandledToTrue");let ge=n(e=>{if(typeof queueMicrotask=="function")ge=queueMicrotask;else{const t=T(void 0);ge=n(r=>q(t,r),"_queueMicrotask")}return ge(e)},"_queueMicrotask");function z(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}n(z,"reflectCall");function j(e,t,r){try{return T(z(e,t,r))}catch(s){return b(s)}}n(j,"promiseCall");const U=16384,bn=class bn{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){const r=this._back;let s=r;r._elements.length===U-1&&(s={_elements:[],_next:void 0}),r._elements.push(t),s!==r&&(this._back=s,r._next=s),++this._size}shift(){const t=this._front;let r=t;const s=this._cursor;let u=s+1;const c=t._elements,d=c[s];return u===U&&(r=t._next,u=0),--this._size,this._cursor=u,t!==r&&(this._front=r),c[s]=void 0,d}forEach(t){let r=this._cursor,s=this._front,u=s._elements;for(;(r!==u.length||s._next!==void 0)&&!(r===u.length&&(s=s._next,u=s._elements,r=0,u.length===0));)t(u[r]),++r}peek(){const t=this._front,r=this._cursor;return t._elements[r]}};n(bn,"SimpleQueue");let D=bn;const jt=Symbol("[[AbortSteps]]"),Qn=Symbol("[[ErrorSteps]]"),Ar=Symbol("[[CancelSteps]]"),Br=Symbol("[[PullSteps]]"),kr=Symbol("[[ReleaseSteps]]");function Yn(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?qr(e):t._state==="closed"?xi(e):Gn(e,t._storedError)}n(Yn,"ReadableStreamReaderGenericInitialize");function Wr(e,t){const r=e._ownerReadableStream;return ie(r,t)}n(Wr,"ReadableStreamReaderGenericCancel");function _e(e){const t=e._ownerReadableStream;t._state==="readable"?Or(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Ni(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[kr](),t._reader=void 0,e._ownerReadableStream=void 0}n(_e,"ReadableStreamReaderGenericRelease");function Lt(e){return new TypeError("Cannot "+e+" a stream using a released reader")}n(Lt,"readerLockException");function qr(e){e._closedPromise=A((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}n(qr,"defaultReaderClosedPromiseInitialize");function Gn(e,t){qr(e),Or(e,t)}n(Gn,"defaultReaderClosedPromiseInitializeAsRejected");function xi(e){qr(e),Zn(e)}n(xi,"defaultReaderClosedPromiseInitializeAsResolved");function Or(e,t){e._closedPromise_reject!==void 0&&(Q(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}n(Or,"defaultReaderClosedPromiseReject");function Ni(e,t){Gn(e,t)}n(Ni,"defaultReaderClosedPromiseResetToRejected");function Zn(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}n(Zn,"defaultReaderClosedPromiseResolve");const Kn=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},Hi=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Vi(e){return typeof e=="object"||typeof e=="function"}n(Vi,"isDictionary");function ue(e,t){if(e!==void 0&&!Vi(e))throw new TypeError(`${t} is not an object.`)}n(ue,"assertDictionary");function Z(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}n(Z,"assertFunction");function Qi(e){return typeof e=="object"&&e!==null||typeof e=="function"}n(Qi,"isObject");function Jn(e,t){if(!Qi(e))throw new TypeError(`${t} is not an object.`)}n(Jn,"assertObject");function Se(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}n(Se,"assertRequiredArgument");function zr(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}n(zr,"assertRequiredField");function Ir(e){return Number(e)}n(Ir,"convertUnrestrictedDouble");function Xn(e){return e===0?0:e}n(Xn,"censorNegativeZero");function Yi(e){return Xn(Hi(e))}n(Yi,"integerPart");function Fr(e,t){const s=Number.MAX_SAFE_INTEGER;let u=Number(e);if(u=Xn(u),!Kn(u))throw new TypeError(`${t} is not a finite number`);if(u=Yi(u),u<0||u>s)throw new TypeError(`${t} is outside the accepted range of 0 to ${s}, inclusive`);return!Kn(u)||u===0?0:u}n(Fr,"convertUnsignedLongLongWithEnforceRange");function jr(e,t){if(!We(e))throw new TypeError(`${t} is not a ReadableStream.`)}n(jr,"assertReadableStream");function Qe(e){return new fe(e)}n(Qe,"AcquireReadableStreamDefaultReader");function eo(e,t){e._reader._readRequests.push(t)}n(eo,"ReadableStreamAddReadRequest");function Lr(e,t,r){const u=e._reader._readRequests.shift();r?u._closeSteps():u._chunkSteps(t)}n(Lr,"ReadableStreamFulfillReadRequest");function $t(e){return e._reader._readRequests.length}n($t,"ReadableStreamGetNumReadRequests");function to(e){const t=e._reader;return!(t===void 0||!Ee(t))}n(to,"ReadableStreamHasDefaultReader");const mn=class mn{constructor(t){if(Se(t,1,"ReadableStreamDefaultReader"),jr(t,"First parameter"),qe(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Yn(this,t),this._readRequests=new D}get closed(){return Ee(this)?this._closedPromise:b(Dt("closed"))}cancel(t=void 0){return Ee(this)?this._ownerReadableStream===void 0?b(Lt("cancel")):Wr(this,t):b(Dt("cancel"))}read(){if(!Ee(this))return b(Dt("read"));if(this._ownerReadableStream===void 0)return b(Lt("read from"));let t,r;const s=A((c,d)=>{t=c,r=d});return _t(this,{_chunkSteps:n(c=>t({value:c,done:!1}),"_chunkSteps"),_closeSteps:n(()=>t({value:void 0,done:!0}),"_closeSteps"),_errorSteps:n(c=>r(c),"_errorSteps")}),s}releaseLock(){if(!Ee(this))throw Dt("releaseLock");this._ownerReadableStream!==void 0&&Gi(this)}};n(mn,"ReadableStreamDefaultReader");let fe=mn;Object.defineProperties(fe.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),h(fe.prototype.cancel,"cancel"),h(fe.prototype.read,"read"),h(fe.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fe.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Ee(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readRequests")?!1:e instanceof fe}n(Ee,"IsReadableStreamDefaultReader");function _t(e,t){const r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[Br](t)}n(_t,"ReadableStreamDefaultReaderRead");function Gi(e){_e(e);const t=new TypeError("Reader was released");ro(e,t)}n(Gi,"ReadableStreamDefaultReaderRelease");function ro(e,t){const r=e._readRequests;e._readRequests=new D,r.forEach(s=>{s._errorSteps(t)})}n(ro,"ReadableStreamDefaultReaderErrorReadRequests");function Dt(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}n(Dt,"defaultReaderBrandCheckException");const Zi=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),yn=class yn{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){const t=n(()=>this._nextSteps(),"nextSteps");return this._ongoingPromise=this._ongoingPromise?F(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){const r=n(()=>this._returnSteps(t),"returnSteps");return this._ongoingPromise?F(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const t=this._reader;let r,s;const u=A((d,m)=>{r=d,s=m});return _t(t,{_chunkSteps:n(d=>{this._ongoingPromise=void 0,ge(()=>r({value:d,done:!1}))},"_chunkSteps"),_closeSteps:n(()=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(t),r({value:void 0,done:!0})},"_closeSteps"),_errorSteps:n(d=>{this._ongoingPromise=void 0,this._isFinished=!0,_e(t),s(d)},"_errorSteps")}),u}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;const r=this._reader;if(!this._preventCancel){const s=Wr(r,t);return _e(r),F(s,()=>({value:t,done:!0}))}return _e(r),T({value:t,done:!0})}};n(yn,"ReadableStreamAsyncIteratorImpl");let Mt=yn;const no={next(){return oo(this)?this._asyncIteratorImpl.next():b(io("next"))},return(e){return oo(this)?this._asyncIteratorImpl.return(e):b(io("return"))}};Object.setPrototypeOf(no,Zi);function Ki(e,t){const r=Qe(e),s=new Mt(r,t),u=Object.create(no);return u._asyncIteratorImpl=s,u}n(Ki,"AcquireReadableStreamAsyncIterator");function oo(e){if(!l(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Mt}catch{return!1}}n(oo,"IsReadableStreamAsyncIterator");function io(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}n(io,"streamAsyncIteratorBrandCheckException");const ao=Number.isNaN||function(e){return e!==e};var $r,Dr,Mr;function St(e){return e.slice()}n(St,"CreateArrayFromList");function so(e,t,r,s,u){new Uint8Array(e).set(new Uint8Array(r,s,u),t)}n(so,"CopyDataBlockBytes");let we=n(e=>(typeof e.transfer=="function"?we=n(t=>t.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?we=n(t=>structuredClone(t,{transfer:[t]}),"TransferArrayBuffer"):we=n(t=>t,"TransferArrayBuffer"),we(e)),"TransferArrayBuffer"),Ae=n(e=>(typeof e.detached=="boolean"?Ae=n(t=>t.detached,"IsDetachedBuffer"):Ae=n(t=>t.byteLength===0,"IsDetachedBuffer"),Ae(e)),"IsDetachedBuffer");function lo(e,t,r){if(e.slice)return e.slice(t,r);const s=r-t,u=new ArrayBuffer(s);return so(u,0,e,t,s),u}n(lo,"ArrayBufferSlice");function Ut(e,t){const r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}n(Ut,"GetMethod");function Ji(e){const t={[Symbol.iterator]:()=>e.iterator},r=async function*(){return yield*t}(),s=r.next;return{iterator:r,nextMethod:s,done:!1}}n(Ji,"CreateAsyncFromSyncIterator");const Ur=(Mr=($r=Symbol.asyncIterator)!==null&&$r!==void 0?$r:(Dr=Symbol.for)===null||Dr===void 0?void 0:Dr.call(Symbol,"Symbol.asyncIterator"))!==null&&Mr!==void 0?Mr:"@@asyncIterator";function uo(e,t="sync",r){if(r===void 0)if(t==="async"){if(r=Ut(e,Ur),r===void 0){const c=Ut(e,Symbol.iterator),d=uo(e,"sync",c);return Ji(d)}}else r=Ut(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");const s=z(r,e,[]);if(!l(s))throw new TypeError("The iterator method must return an object");const u=s.next;return{iterator:s,nextMethod:u,done:!1}}n(uo,"GetIterator");function Xi(e){const t=z(e.nextMethod,e.iterator,[]);if(!l(t))throw new TypeError("The iterator.next() method must return an object");return t}n(Xi,"IteratorNext");function ea(e){return!!e.done}n(ea,"IteratorComplete");function ta(e){return e.value}n(ta,"IteratorValue");function ra(e){return!(typeof e!="number"||ao(e)||e<0)}n(ra,"IsNonNegativeNumber");function fo(e){const t=lo(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}n(fo,"CloneAsUint8Array");function xr(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}n(xr,"DequeueValue");function Nr(e,t,r){if(!ra(r)||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}n(Nr,"EnqueueValueWithSize");function na(e){return e._queue.peek().value}n(na,"PeekQueueValue");function Be(e){e._queue=new D,e._queueTotalSize=0}n(Be,"ResetQueue");function co(e){return e===DataView}n(co,"isDataViewConstructor");function oa(e){return co(e.constructor)}n(oa,"isDataView");function ia(e){return co(e)?1:e.BYTES_PER_ELEMENT}n(ia,"arrayBufferViewElementSize");const gn=class gn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Hr(this))throw Zr("view");return this._view}respond(t){if(!Hr(this))throw Zr("respond");if(Se(t,1,"respond"),t=Fr(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Ae(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Vt(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!Hr(this))throw Zr("respondWithNewView");if(Se(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Ae(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Qt(this._associatedReadableByteStreamController,t)}};n(gn,"ReadableStreamBYOBRequest");let Re=gn;Object.defineProperties(Re.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),h(Re.prototype.respond,"respond"),h(Re.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Re.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});const _n=class _n{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Ie(this))throw Rt("byobRequest");return Gr(this)}get desiredSize(){if(!Ie(this))throw Rt("desiredSize");return Ro(this)}close(){if(!Ie(this))throw Rt("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);wt(this)}enqueue(t){if(!Ie(this))throw Rt("enqueue");if(Se(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Ht(this,t)}error(t=void 0){if(!Ie(this))throw Rt("error");K(this,t)}[Ar](t){ho(this),Be(this);const r=this._cancelAlgorithm(t);return Nt(this),r}[Br](t){const r=this._controlledReadableByteStream;if(this._queueTotalSize>0){wo(this,t);return}const s=this._autoAllocateChunkSize;if(s!==void 0){let u;try{u=new ArrayBuffer(s)}catch(d){t._errorSteps(d);return}const c={buffer:u,bufferByteLength:s,byteOffset:0,byteLength:s,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(c)}eo(r,t),Fe(this)}[kr](){if(this._pendingPullIntos.length>0){const t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(t)}}};n(_n,"ReadableByteStreamController");let te=_n;Object.defineProperties(te.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),h(te.prototype.close,"close"),h(te.prototype.enqueue,"enqueue"),h(te.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(te.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Ie(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")?!1:e instanceof te}n(Ie,"IsReadableByteStreamController");function Hr(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")?!1:e instanceof Re}n(Hr,"IsReadableStreamBYOBRequest");function Fe(e){if(!fa(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;const r=e._pullAlgorithm();g(r,()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Fe(e)),null),s=>(K(e,s),null))}n(Fe,"ReadableByteStreamControllerCallPullIfNeeded");function ho(e){Qr(e),e._pendingPullIntos=new D}n(ho,"ReadableByteStreamControllerClearPendingPullIntos");function Vr(e,t){let r=!1;e._state==="closed"&&(r=!0);const s=po(t);t.readerType==="default"?Lr(e,s,r):ma(e,s,r)}n(Vr,"ReadableByteStreamControllerCommitPullIntoDescriptor");function po(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}n(po,"ReadableByteStreamControllerConvertPullIntoDescriptor");function xt(e,t,r,s){e._queue.push({buffer:t,byteOffset:r,byteLength:s}),e._queueTotalSize+=s}n(xt,"ReadableByteStreamControllerEnqueueChunkToQueue");function bo(e,t,r,s){let u;try{u=lo(t,r,r+s)}catch(c){throw K(e,c),c}xt(e,u,0,s)}n(bo,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function mo(e,t){t.bytesFilled>0&&bo(e,t.buffer,t.byteOffset,t.bytesFilled),Ye(e)}n(mo,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function yo(e,t){const r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),s=t.bytesFilled+r;let u=r,c=!1;const d=s%t.elementSize,m=s-d;m>=t.minimumFill&&(u=m-t.bytesFilled,c=!0);const R=e._queue;for(;u>0;){const y=R.peek(),C=Math.min(u,y.byteLength),P=t.byteOffset+t.bytesFilled;so(t.buffer,P,y.buffer,y.byteOffset,C),y.byteLength===C?R.shift():(y.byteOffset+=C,y.byteLength-=C),e._queueTotalSize-=C,go(e,C,t),u-=C}return c}n(yo,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function go(e,t,r){r.bytesFilled+=t}n(go,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function _o(e){e._queueTotalSize===0&&e._closeRequested?(Nt(e),At(e._controlledReadableByteStream)):Fe(e)}n(_o,"ReadableByteStreamControllerHandleQueueDrain");function Qr(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}n(Qr,"ReadableByteStreamControllerInvalidateBYOBRequest");function Yr(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;const t=e._pendingPullIntos.peek();yo(e,t)&&(Ye(e),Vr(e._controlledReadableByteStream,t))}}n(Yr,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function aa(e){const t=e._controlledReadableByteStream._reader;for(;t._readRequests.length>0;){if(e._queueTotalSize===0)return;const r=t._readRequests.shift();wo(e,r)}}n(aa,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function sa(e,t,r,s){const u=e._controlledReadableByteStream,c=t.constructor,d=ia(c),{byteOffset:m,byteLength:R}=t,y=r*d;let C;try{C=we(t.buffer)}catch(B){s._errorSteps(B);return}const P={buffer:C,bufferByteLength:C.byteLength,byteOffset:m,byteLength:R,bytesFilled:0,minimumFill:y,elementSize:d,viewConstructor:c,readerType:"byob"};if(e._pendingPullIntos.length>0){e._pendingPullIntos.push(P),Po(u,s);return}if(u._state==="closed"){const B=new c(P.buffer,P.byteOffset,0);s._closeSteps(B);return}if(e._queueTotalSize>0){if(yo(e,P)){const B=po(P);_o(e),s._chunkSteps(B);return}if(e._closeRequested){const B=new TypeError("Insufficient bytes to fill elements in the given buffer");K(e,B),s._errorSteps(B);return}}e._pendingPullIntos.push(P),Po(u,s),Fe(e)}n(sa,"ReadableByteStreamControllerPullInto");function la(e,t){t.readerType==="none"&&Ye(e);const r=e._controlledReadableByteStream;if(Kr(r))for(;vo(r)>0;){const s=Ye(e);Vr(r,s)}}n(la,"ReadableByteStreamControllerRespondInClosedState");function ua(e,t,r){if(go(e,t,r),r.readerType==="none"){mo(e,r),Yr(e);return}if(r.bytesFilled<r.minimumFill)return;Ye(e);const s=r.bytesFilled%r.elementSize;if(s>0){const u=r.byteOffset+r.bytesFilled;bo(e,r.buffer,u-s,s)}r.bytesFilled-=s,Vr(e._controlledReadableByteStream,r),Yr(e)}n(ua,"ReadableByteStreamControllerRespondInReadableState");function So(e,t){const r=e._pendingPullIntos.peek();Qr(e),e._controlledReadableByteStream._state==="closed"?la(e,r):ua(e,t,r),Fe(e)}n(So,"ReadableByteStreamControllerRespondInternal");function Ye(e){return e._pendingPullIntos.shift()}n(Ye,"ReadableByteStreamControllerShiftPendingPullInto");function fa(e){const t=e._controlledReadableByteStream;return t._state!=="readable"||e._closeRequested||!e._started?!1:!!(to(t)&&$t(t)>0||Kr(t)&&vo(t)>0||Ro(e)>0)}n(fa,"ReadableByteStreamControllerShouldCallPull");function Nt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}n(Nt,"ReadableByteStreamControllerClearAlgorithms");function wt(e){const t=e._controlledReadableByteStream;if(!(e._closeRequested||t._state!=="readable")){if(e._queueTotalSize>0){e._closeRequested=!0;return}if(e._pendingPullIntos.length>0){const r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!==0){const s=new TypeError("Insufficient bytes to fill elements in the given buffer");throw K(e,s),s}}Nt(e),At(t)}}n(wt,"ReadableByteStreamControllerClose");function Ht(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;const{buffer:s,byteOffset:u,byteLength:c}=t;if(Ae(s))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");const d=we(s);if(e._pendingPullIntos.length>0){const m=e._pendingPullIntos.peek();if(Ae(m.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Qr(e),m.buffer=we(m.buffer),m.readerType==="none"&&mo(e,m)}if(to(r))if(aa(e),$t(r)===0)xt(e,d,u,c);else{e._pendingPullIntos.length>0&&Ye(e);const m=new Uint8Array(d,u,c);Lr(r,m,!1)}else Kr(r)?(xt(e,d,u,c),Yr(e)):xt(e,d,u,c);Fe(e)}n(Ht,"ReadableByteStreamControllerEnqueue");function K(e,t){const r=e._controlledReadableByteStream;r._state==="readable"&&(ho(e),Be(e),Nt(e),Zo(r,t))}n(K,"ReadableByteStreamControllerError");function wo(e,t){const r=e._queue.shift();e._queueTotalSize-=r.byteLength,_o(e);const s=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(s)}n(wo,"ReadableByteStreamControllerFillReadRequestFromQueue");function Gr(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){const t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),s=Object.create(Re.prototype);da(s,e,r),e._byobRequest=s}return e._byobRequest}n(Gr,"ReadableByteStreamControllerGetBYOBRequest");function Ro(e){const t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}n(Ro,"ReadableByteStreamControllerGetDesiredSize");function Vt(e,t){const r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=we(r.buffer),So(e,t)}n(Vt,"ReadableByteStreamControllerRespond");function Qt(e,t){const r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");const u=t.byteLength;r.buffer=we(t.buffer),So(e,u)}n(Qt,"ReadableByteStreamControllerRespondWithNewView");function To(e,t,r,s,u,c,d){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,Be(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=c,t._pullAlgorithm=s,t._cancelAlgorithm=u,t._autoAllocateChunkSize=d,t._pendingPullIntos=new D,e._readableStreamController=t;const m=r();g(T(m),()=>(t._started=!0,Fe(t),null),R=>(K(t,R),null))}n(To,"SetUpReadableByteStreamController");function ca(e,t,r){const s=Object.create(te.prototype);let u,c,d;t.start!==void 0?u=n(()=>t.start(s),"startAlgorithm"):u=n(()=>{},"startAlgorithm"),t.pull!==void 0?c=n(()=>t.pull(s),"pullAlgorithm"):c=n(()=>T(void 0),"pullAlgorithm"),t.cancel!==void 0?d=n(R=>t.cancel(R),"cancelAlgorithm"):d=n(()=>T(void 0),"cancelAlgorithm");const m=t.autoAllocateChunkSize;if(m===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");To(e,s,u,c,d,r,m)}n(ca,"SetUpReadableByteStreamControllerFromUnderlyingSource");function da(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}n(da,"SetUpReadableStreamBYOBRequest");function Zr(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}n(Zr,"byobRequestBrandCheckException");function Rt(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}n(Rt,"byteStreamControllerBrandCheckException");function ha(e,t){ue(e,t);const r=e?.mode;return{mode:r===void 0?void 0:pa(r,`${t} has member 'mode' that`)}}n(ha,"convertReaderOptions");function pa(e,t){if(e=`${e}`,e!=="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}n(pa,"convertReadableStreamReaderMode");function ba(e,t){var r;ue(e,t);const s=(r=e?.min)!==null&&r!==void 0?r:1;return{min:Fr(s,`${t} has member 'min' that`)}}n(ba,"convertByobReadOptions");function Co(e){return new ce(e)}n(Co,"AcquireReadableStreamBYOBReader");function Po(e,t){e._reader._readIntoRequests.push(t)}n(Po,"ReadableStreamAddReadIntoRequest");function ma(e,t,r){const u=e._reader._readIntoRequests.shift();r?u._closeSteps(t):u._chunkSteps(t)}n(ma,"ReadableStreamFulfillReadIntoRequest");function vo(e){return e._reader._readIntoRequests.length}n(vo,"ReadableStreamGetNumReadIntoRequests");function Kr(e){const t=e._reader;return!(t===void 0||!je(t))}n(Kr,"ReadableStreamHasBYOBReader");const Sn=class Sn{constructor(t){if(Se(t,1,"ReadableStreamBYOBReader"),jr(t,"First parameter"),qe(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Ie(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Yn(this,t),this._readIntoRequests=new D}get closed(){return je(this)?this._closedPromise:b(Yt("closed"))}cancel(t=void 0){return je(this)?this._ownerReadableStream===void 0?b(Lt("cancel")):Wr(this,t):b(Yt("cancel"))}read(t,r={}){if(!je(this))return b(Yt("read"));if(!ArrayBuffer.isView(t))return b(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return b(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return b(new TypeError("view's buffer must have non-zero byteLength"));if(Ae(t.buffer))return b(new TypeError("view's buffer has been detached"));let s;try{s=ba(r,"options")}catch(y){return b(y)}const u=s.min;if(u===0)return b(new TypeError("options.min must be greater than 0"));if(oa(t)){if(u>t.byteLength)return b(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(u>t.length)return b(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return b(Lt("read from"));let c,d;const m=A((y,C)=>{c=y,d=C});return Eo(this,t,u,{_chunkSteps:n(y=>c({value:y,done:!1}),"_chunkSteps"),_closeSteps:n(y=>c({value:y,done:!0}),"_closeSteps"),_errorSteps:n(y=>d(y),"_errorSteps")}),m}releaseLock(){if(!je(this))throw Yt("releaseLock");this._ownerReadableStream!==void 0&&ya(this)}};n(Sn,"ReadableStreamBYOBReader");let ce=Sn;Object.defineProperties(ce.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),h(ce.prototype.cancel,"cancel"),h(ce.prototype.read,"read"),h(ce.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ce.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function je(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")?!1:e instanceof ce}n(je,"IsReadableStreamBYOBReader");function Eo(e,t,r,s){const u=e._ownerReadableStream;u._disturbed=!0,u._state==="errored"?s._errorSteps(u._storedError):sa(u._readableStreamController,t,r,s)}n(Eo,"ReadableStreamBYOBReaderRead");function ya(e){_e(e);const t=new TypeError("Reader was released");Ao(e,t)}n(ya,"ReadableStreamBYOBReaderRelease");function Ao(e,t){const r=e._readIntoRequests;e._readIntoRequests=new D,r.forEach(s=>{s._errorSteps(t)})}n(Ao,"ReadableStreamBYOBReaderErrorReadIntoRequests");function Yt(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}n(Yt,"byobReaderBrandCheckException");function Tt(e,t){const{highWaterMark:r}=e;if(r===void 0)return t;if(ao(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}n(Tt,"ExtractHighWaterMark");function Gt(e){const{size:t}=e;return t||(()=>1)}n(Gt,"ExtractSizeAlgorithm");function Zt(e,t){ue(e,t);const r=e?.highWaterMark,s=e?.size;return{highWaterMark:r===void 0?void 0:Ir(r),size:s===void 0?void 0:ga(s,`${t} has member 'size' that`)}}n(Zt,"convertQueuingStrategy");function ga(e,t){return Z(e,t),r=>Ir(e(r))}n(ga,"convertQueuingStrategySize");function _a(e,t){ue(e,t);const r=e?.abort,s=e?.close,u=e?.start,c=e?.type,d=e?.write;return{abort:r===void 0?void 0:Sa(r,e,`${t} has member 'abort' that`),close:s===void 0?void 0:wa(s,e,`${t} has member 'close' that`),start:u===void 0?void 0:Ra(u,e,`${t} has member 'start' that`),write:d===void 0?void 0:Ta(d,e,`${t} has member 'write' that`),type:c}}n(_a,"convertUnderlyingSink");function Sa(e,t,r){return Z(e,r),s=>j(e,t,[s])}n(Sa,"convertUnderlyingSinkAbortCallback");function wa(e,t,r){return Z(e,r),()=>j(e,t,[])}n(wa,"convertUnderlyingSinkCloseCallback");function Ra(e,t,r){return Z(e,r),s=>z(e,t,[s])}n(Ra,"convertUnderlyingSinkStartCallback");function Ta(e,t,r){return Z(e,r),(s,u)=>j(e,t,[s,u])}n(Ta,"convertUnderlyingSinkWriteCallback");function Bo(e,t){if(!Ge(e))throw new TypeError(`${t} is not a WritableStream.`)}n(Bo,"assertWritableStream");function Ca(e){if(typeof e!="object"||e===null)return!1;try{return typeof e.aborted=="boolean"}catch{return!1}}n(Ca,"isAbortSignal");const Pa=typeof AbortController=="function";function va(){if(Pa)return new AbortController}n(va,"createAbortController");const wn=class wn{constructor(t={},r={}){t===void 0?t=null:Jn(t,"First parameter");const s=Zt(r,"Second parameter"),u=_a(t,"First parameter");if(Wo(this),u.type!==void 0)throw new RangeError("Invalid type is specified");const d=Gt(s),m=Tt(s,1);Da(this,u,m,d)}get locked(){if(!Ge(this))throw tr("locked");return Ze(this)}abort(t=void 0){return Ge(this)?Ze(this)?b(new TypeError("Cannot abort a stream that already has a writer")):Kt(this,t):b(tr("abort"))}close(){return Ge(this)?Ze(this)?b(new TypeError("Cannot close a stream that already has a writer")):he(this)?b(new TypeError("Cannot close an already-closing stream")):qo(this):b(tr("close"))}getWriter(){if(!Ge(this))throw tr("getWriter");return ko(this)}};n(wn,"WritableStream");let de=wn;Object.defineProperties(de.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),h(de.prototype.abort,"abort"),h(de.prototype.close,"close"),h(de.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(de.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function ko(e){return new re(e)}n(ko,"AcquireWritableStreamDefaultWriter");function Ea(e,t,r,s,u=1,c=()=>1){const d=Object.create(de.prototype);Wo(d);const m=Object.create(ke.prototype);return Lo(d,m,e,t,r,s,u,c),d}n(Ea,"CreateWritableStream");function Wo(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new D,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}n(Wo,"InitializeWritableStream");function Ge(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")?!1:e instanceof de}n(Ge,"IsWritableStream");function Ze(e){return e._writer!==void 0}n(Ze,"IsWritableStreamLocked");function Kt(e,t){var r;if(e._state==="closed"||e._state==="errored")return T(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);const s=e._state;if(s==="closed"||s==="errored")return T(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let u=!1;s==="erroring"&&(u=!0,t=void 0);const c=A((d,m)=>{e._pendingAbortRequest={_promise:void 0,_resolve:d,_reject:m,_reason:t,_wasAlreadyErroring:u}});return e._pendingAbortRequest._promise=c,u||Xr(e,t),c}n(Kt,"WritableStreamAbort");function qo(e){const t=e._state;if(t==="closed"||t==="errored")return b(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=A((u,c)=>{const d={_resolve:u,_reject:c};e._closeRequest=d}),s=e._writer;return s!==void 0&&e._backpressure&&t==="writable"&&ln(s),Ma(e._writableStreamController),r}n(qo,"WritableStreamClose");function Aa(e){return A((r,s)=>{const u={_resolve:r,_reject:s};e._writeRequests.push(u)})}n(Aa,"WritableStreamAddWriteRequest");function Jr(e,t){if(e._state==="writable"){Xr(e,t);return}en(e)}n(Jr,"WritableStreamDealWithRejection");function Xr(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const s=e._writer;s!==void 0&&zo(s,t),!Oa(e)&&r._started&&en(e)}n(Xr,"WritableStreamStartErroring");function en(e){e._state="errored",e._writableStreamController[Qn]();const t=e._storedError;if(e._writeRequests.forEach(u=>{u._reject(t)}),e._writeRequests=new D,e._pendingAbortRequest===void 0){Jt(e);return}const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring){r._reject(t),Jt(e);return}const s=e._writableStreamController[jt](r._reason);g(s,()=>(r._resolve(),Jt(e),null),u=>(r._reject(u),Jt(e),null))}n(en,"WritableStreamFinishErroring");function Ba(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}n(Ba,"WritableStreamFinishInFlightWrite");function ka(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Jr(e,t)}n(ka,"WritableStreamFinishInFlightWriteWithError");function Wa(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,e._state==="erroring"&&(e._storedError=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const r=e._writer;r!==void 0&&Uo(r)}n(Wa,"WritableStreamFinishInFlightClose");function qa(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),Jr(e,t)}n(qa,"WritableStreamFinishInFlightCloseWithError");function he(e){return!(e._closeRequest===void 0&&e._inFlightCloseRequest===void 0)}n(he,"WritableStreamCloseQueuedOrInFlight");function Oa(e){return!(e._inFlightWriteRequest===void 0&&e._inFlightCloseRequest===void 0)}n(Oa,"WritableStreamHasOperationMarkedInFlight");function za(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}n(za,"WritableStreamMarkCloseRequestInFlight");function Ia(e){e._inFlightWriteRequest=e._writeRequests.shift()}n(Ia,"WritableStreamMarkFirstWriteRequestInFlight");function Jt(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;t!==void 0&&an(t,e._storedError)}n(Jt,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function tn(e,t){const r=e._writer;r!==void 0&&t!==e._backpressure&&(t?Ya(r):ln(r)),e._backpressure=t}n(tn,"WritableStreamUpdateBackpressure");const Rn=class Rn{constructor(t){if(Se(t,1,"WritableStreamDefaultWriter"),Bo(t,"First parameter"),Ze(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;const r=t._state;if(r==="writable")!he(t)&&t._backpressure?nr(this):xo(this),rr(this);else if(r==="erroring")sn(this,t._storedError),rr(this);else if(r==="closed")xo(this),Va(this);else{const s=t._storedError;sn(this,s),Mo(this,s)}}get closed(){return Le(this)?this._closedPromise:b($e("closed"))}get desiredSize(){if(!Le(this))throw $e("desiredSize");if(this._ownerWritableStream===void 0)throw Pt("desiredSize");return $a(this)}get ready(){return Le(this)?this._readyPromise:b($e("ready"))}abort(t=void 0){return Le(this)?this._ownerWritableStream===void 0?b(Pt("abort")):Fa(this,t):b($e("abort"))}close(){if(!Le(this))return b($e("close"));const t=this._ownerWritableStream;return t===void 0?b(Pt("close")):he(t)?b(new TypeError("Cannot close an already-closing stream")):Oo(this)}releaseLock(){if(!Le(this))throw $e("releaseLock");this._ownerWritableStream!==void 0&&Io(this)}write(t=void 0){return Le(this)?this._ownerWritableStream===void 0?b(Pt("write to")):Fo(this,t):b($e("write"))}};n(Rn,"WritableStreamDefaultWriter");let re=Rn;Object.defineProperties(re.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),h(re.prototype.abort,"abort"),h(re.prototype.close,"close"),h(re.prototype.releaseLock,"releaseLock"),h(re.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(re.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function Le(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")?!1:e instanceof re}n(Le,"IsWritableStreamDefaultWriter");function Fa(e,t){const r=e._ownerWritableStream;return Kt(r,t)}n(Fa,"WritableStreamDefaultWriterAbort");function Oo(e){const t=e._ownerWritableStream;return qo(t)}n(Oo,"WritableStreamDefaultWriterClose");function ja(e){const t=e._ownerWritableStream,r=t._state;return he(t)||r==="closed"?T(void 0):r==="errored"?b(t._storedError):Oo(e)}n(ja,"WritableStreamDefaultWriterCloseWithErrorPropagation");function La(e,t){e._closedPromiseState==="pending"?an(e,t):Qa(e,t)}n(La,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function zo(e,t){e._readyPromiseState==="pending"?No(e,t):Ga(e,t)}n(zo,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function $a(e){const t=e._ownerWritableStream,r=t._state;return r==="errored"||r==="erroring"?null:r==="closed"?0:$o(t._writableStreamController)}n($a,"WritableStreamDefaultWriterGetDesiredSize");function Io(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");zo(e,r),La(e,r),t._writer=void 0,e._ownerWritableStream=void 0}n(Io,"WritableStreamDefaultWriterRelease");function Fo(e,t){const r=e._ownerWritableStream,s=r._writableStreamController,u=Ua(s,t);if(r!==e._ownerWritableStream)return b(Pt("write to"));const c=r._state;if(c==="errored")return b(r._storedError);if(he(r)||c==="closed")return b(new TypeError("The stream is closing or closed and cannot be written to"));if(c==="erroring")return b(r._storedError);const d=Aa(r);return xa(s,t,u),d}n(Fo,"WritableStreamDefaultWriterWrite");const jo={},Tn=class Tn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!rn(this))throw on("abortReason");return this._abortReason}get signal(){if(!rn(this))throw on("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!rn(this))throw on("error");this._controlledWritableStream._state==="writable"&&Do(this,t)}[jt](t){const r=this._abortAlgorithm(t);return Xt(this),r}[Qn](){Be(this)}};n(Tn,"WritableStreamDefaultController");let ke=Tn;Object.defineProperties(ke.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ke.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function rn(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")?!1:e instanceof ke}n(rn,"IsWritableStreamDefaultController");function Lo(e,t,r,s,u,c,d,m){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,Be(t),t._abortReason=void 0,t._abortController=va(),t._started=!1,t._strategySizeAlgorithm=m,t._strategyHWM=d,t._writeAlgorithm=s,t._closeAlgorithm=u,t._abortAlgorithm=c;const R=nn(t);tn(e,R);const y=r(),C=T(y);g(C,()=>(t._started=!0,er(t),null),P=>(t._started=!0,Jr(e,P),null))}n(Lo,"SetUpWritableStreamDefaultController");function Da(e,t,r,s){const u=Object.create(ke.prototype);let c,d,m,R;t.start!==void 0?c=n(()=>t.start(u),"startAlgorithm"):c=n(()=>{},"startAlgorithm"),t.write!==void 0?d=n(y=>t.write(y,u),"writeAlgorithm"):d=n(()=>T(void 0),"writeAlgorithm"),t.close!==void 0?m=n(()=>t.close(),"closeAlgorithm"):m=n(()=>T(void 0),"closeAlgorithm"),t.abort!==void 0?R=n(y=>t.abort(y),"abortAlgorithm"):R=n(()=>T(void 0),"abortAlgorithm"),Lo(e,u,c,d,m,R,r,s)}n(Da,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function Xt(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}n(Xt,"WritableStreamDefaultControllerClearAlgorithms");function Ma(e){Nr(e,jo,0),er(e)}n(Ma,"WritableStreamDefaultControllerClose");function Ua(e,t){try{return e._strategySizeAlgorithm(t)}catch(r){return Ct(e,r),1}}n(Ua,"WritableStreamDefaultControllerGetChunkSize");function $o(e){return e._strategyHWM-e._queueTotalSize}n($o,"WritableStreamDefaultControllerGetDesiredSize");function xa(e,t,r){try{Nr(e,t,r)}catch(u){Ct(e,u);return}const s=e._controlledWritableStream;if(!he(s)&&s._state==="writable"){const u=nn(e);tn(s,u)}er(e)}n(xa,"WritableStreamDefaultControllerWrite");function er(e){const t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring"){en(t);return}if(e._queue.length===0)return;const s=na(e);s===jo?Na(e):Ha(e,s)}n(er,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function Ct(e,t){e._controlledWritableStream._state==="writable"&&Do(e,t)}n(Ct,"WritableStreamDefaultControllerErrorIfNeeded");function Na(e){const t=e._controlledWritableStream;za(t),xr(e);const r=e._closeAlgorithm();Xt(e),g(r,()=>(Wa(t),null),s=>(qa(t,s),null))}n(Na,"WritableStreamDefaultControllerProcessClose");function Ha(e,t){const r=e._controlledWritableStream;Ia(r);const s=e._writeAlgorithm(t);g(s,()=>{Ba(r);const u=r._state;if(xr(e),!he(r)&&u==="writable"){const c=nn(e);tn(r,c)}return er(e),null},u=>(r._state==="writable"&&Xt(e),ka(r,u),null))}n(Ha,"WritableStreamDefaultControllerProcessWrite");function nn(e){return $o(e)<=0}n(nn,"WritableStreamDefaultControllerGetBackpressure");function Do(e,t){const r=e._controlledWritableStream;Xt(e),Xr(r,t)}n(Do,"WritableStreamDefaultControllerError");function tr(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}n(tr,"streamBrandCheckException$2");function on(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}n(on,"defaultControllerBrandCheckException$2");function $e(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}n($e,"defaultWriterBrandCheckException");function Pt(e){return new TypeError("Cannot "+e+" a stream using a released writer")}n(Pt,"defaultWriterLockException");function rr(e){e._closedPromise=A((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}n(rr,"defaultWriterClosedPromiseInitialize");function Mo(e,t){rr(e),an(e,t)}n(Mo,"defaultWriterClosedPromiseInitializeAsRejected");function Va(e){rr(e),Uo(e)}n(Va,"defaultWriterClosedPromiseInitializeAsResolved");function an(e,t){e._closedPromise_reject!==void 0&&(Q(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}n(an,"defaultWriterClosedPromiseReject");function Qa(e,t){Mo(e,t)}n(Qa,"defaultWriterClosedPromiseResetToRejected");function Uo(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}n(Uo,"defaultWriterClosedPromiseResolve");function nr(e){e._readyPromise=A((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}n(nr,"defaultWriterReadyPromiseInitialize");function sn(e,t){nr(e),No(e,t)}n(sn,"defaultWriterReadyPromiseInitializeAsRejected");function xo(e){nr(e),ln(e)}n(xo,"defaultWriterReadyPromiseInitializeAsResolved");function No(e,t){e._readyPromise_reject!==void 0&&(Q(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}n(No,"defaultWriterReadyPromiseReject");function Ya(e){nr(e)}n(Ya,"defaultWriterReadyPromiseReset");function Ga(e,t){sn(e,t)}n(Ga,"defaultWriterReadyPromiseResetToRejected");function ln(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}n(ln,"defaultWriterReadyPromiseResolve");function Za(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof di<"u")return di}n(Za,"getGlobals");const un=Za();function Ka(e){if(!(typeof e=="function"||typeof e=="object")||e.name!=="DOMException")return!1;try{return new e,!0}catch{return!1}}n(Ka,"isDOMExceptionConstructor");function Ja(){const e=un?.DOMException;return Ka(e)?e:void 0}n(Ja,"getFromGlobal");function Xa(){const e=n(function(r,s){this.message=r||"",this.name=s||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)},"DOMException");return h(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}n(Xa,"createPolyfill");const es=Ja()||Xa();function Ho(e,t,r,s,u,c){const d=Qe(e),m=ko(t);e._disturbed=!0;let R=!1,y=T(void 0);return A((C,P)=>{let B;if(c!==void 0){if(B=n(()=>{const _=c.reason!==void 0?c.reason:new es("Aborted","AbortError"),E=[];s||E.push(()=>t._state==="writable"?Kt(t,_):T(void 0)),u||E.push(()=>e._state==="readable"?ie(e,_):T(void 0)),N(()=>Promise.all(E.map(k=>k())),!0,_)},"abortAlgorithm"),c.aborted){B();return}c.addEventListener("abort",B)}function ae(){return A((_,E)=>{function k(Y){Y?_():q(nt(),k,E)}n(k,"next"),k(!1)})}n(ae,"pipeLoop");function nt(){return R?T(!0):q(m._readyPromise,()=>A((_,E)=>{_t(d,{_chunkSteps:n(k=>{y=q(Fo(m,k),void 0,f),_(!1)},"_chunkSteps"),_closeSteps:n(()=>_(!0),"_closeSteps"),_errorSteps:E})}))}if(n(nt,"pipeStep"),Te(e,d._closedPromise,_=>(s?J(!0,_):N(()=>Kt(t,_),!0,_),null)),Te(t,m._closedPromise,_=>(u?J(!0,_):N(()=>ie(e,_),!0,_),null)),x(e,d._closedPromise,()=>(r?J():N(()=>ja(m)),null)),he(t)||t._state==="closed"){const _=new TypeError("the destination writable stream closed before all data could be piped to it");u?J(!0,_):N(()=>ie(e,_),!0,_)}Q(ae());function Oe(){const _=y;return q(y,()=>_!==y?Oe():void 0)}n(Oe,"waitForWritesToFinish");function Te(_,E,k){_._state==="errored"?k(_._storedError):I(E,k)}n(Te,"isOrBecomesErrored");function x(_,E,k){_._state==="closed"?k():V(E,k)}n(x,"isOrBecomesClosed");function N(_,E,k){if(R)return;R=!0,t._state==="writable"&&!he(t)?V(Oe(),Y):Y();function Y(){return g(_(),()=>Ce(E,k),ot=>Ce(!0,ot)),null}n(Y,"doTheRest")}n(N,"shutdownWithAction");function J(_,E){R||(R=!0,t._state==="writable"&&!he(t)?V(Oe(),()=>Ce(_,E)):Ce(_,E))}n(J,"shutdown");function Ce(_,E){return Io(m),_e(d),c!==void 0&&c.removeEventListener("abort",B),_?P(E):C(void 0),null}n(Ce,"finalize")})}n(Ho,"ReadableStreamPipeTo");const Cn=class Cn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!or(this))throw ar("desiredSize");return fn(this)}close(){if(!or(this))throw ar("close");if(!Je(this))throw new TypeError("The stream is not in a state that permits close");De(this)}enqueue(t=void 0){if(!or(this))throw ar("enqueue");if(!Je(this))throw new TypeError("The stream is not in a state that permits enqueue");return Ke(this,t)}error(t=void 0){if(!or(this))throw ar("error");oe(this,t)}[Ar](t){Be(this);const r=this._cancelAlgorithm(t);return ir(this),r}[Br](t){const r=this._controlledReadableStream;if(this._queue.length>0){const s=xr(this);this._closeRequested&&this._queue.length===0?(ir(this),At(r)):vt(this),t._chunkSteps(s)}else eo(r,t),vt(this)}[kr](){}};n(Cn,"ReadableStreamDefaultController");let ne=Cn;Object.defineProperties(ne.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),h(ne.prototype.close,"close"),h(ne.prototype.enqueue,"enqueue"),h(ne.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ne.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function or(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")?!1:e instanceof ne}n(or,"IsReadableStreamDefaultController");function vt(e){if(!Vo(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;const r=e._pullAlgorithm();g(r,()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,vt(e)),null),s=>(oe(e,s),null))}n(vt,"ReadableStreamDefaultControllerCallPullIfNeeded");function Vo(e){const t=e._controlledReadableStream;return!Je(e)||!e._started?!1:!!(qe(t)&&$t(t)>0||fn(e)>0)}n(Vo,"ReadableStreamDefaultControllerShouldCallPull");function ir(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}n(ir,"ReadableStreamDefaultControllerClearAlgorithms");function De(e){if(!Je(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(ir(e),At(t))}n(De,"ReadableStreamDefaultControllerClose");function Ke(e,t){if(!Je(e))return;const r=e._controlledReadableStream;if(qe(r)&&$t(r)>0)Lr(r,t,!1);else{let s;try{s=e._strategySizeAlgorithm(t)}catch(u){throw oe(e,u),u}try{Nr(e,t,s)}catch(u){throw oe(e,u),u}}vt(e)}n(Ke,"ReadableStreamDefaultControllerEnqueue");function oe(e,t){const r=e._controlledReadableStream;r._state==="readable"&&(Be(e),ir(e),Zo(r,t))}n(oe,"ReadableStreamDefaultControllerError");function fn(e){const t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}n(fn,"ReadableStreamDefaultControllerGetDesiredSize");function ts(e){return!Vo(e)}n(ts,"ReadableStreamDefaultControllerHasBackpressure");function Je(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}n(Je,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function Qo(e,t,r,s,u,c,d){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Be(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=d,t._strategyHWM=c,t._pullAlgorithm=s,t._cancelAlgorithm=u,e._readableStreamController=t;const m=r();g(T(m),()=>(t._started=!0,vt(t),null),R=>(oe(t,R),null))}n(Qo,"SetUpReadableStreamDefaultController");function rs(e,t,r,s){const u=Object.create(ne.prototype);let c,d,m;t.start!==void 0?c=n(()=>t.start(u),"startAlgorithm"):c=n(()=>{},"startAlgorithm"),t.pull!==void 0?d=n(()=>t.pull(u),"pullAlgorithm"):d=n(()=>T(void 0),"pullAlgorithm"),t.cancel!==void 0?m=n(R=>t.cancel(R),"cancelAlgorithm"):m=n(()=>T(void 0),"cancelAlgorithm"),Qo(e,u,c,d,m,r,s)}n(rs,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function ar(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}n(ar,"defaultControllerBrandCheckException$1");function ns(e,t){return Ie(e._readableStreamController)?is(e):os(e)}n(ns,"ReadableStreamTee");function os(e,t){const r=Qe(e);let s=!1,u=!1,c=!1,d=!1,m,R,y,C,P;const B=A(x=>{P=x});function ae(){return s?(u=!0,T(void 0)):(s=!0,_t(r,{_chunkSteps:n(N=>{ge(()=>{u=!1;const J=N,Ce=N;c||Ke(y._readableStreamController,J),d||Ke(C._readableStreamController,Ce),s=!1,u&&ae()})},"_chunkSteps"),_closeSteps:n(()=>{s=!1,c||De(y._readableStreamController),d||De(C._readableStreamController),(!c||!d)&&P(void 0)},"_closeSteps"),_errorSteps:n(()=>{s=!1},"_errorSteps")}),T(void 0))}n(ae,"pullAlgorithm");function nt(x){if(c=!0,m=x,d){const N=St([m,R]),J=ie(e,N);P(J)}return B}n(nt,"cancel1Algorithm");function Oe(x){if(d=!0,R=x,c){const N=St([m,R]),J=ie(e,N);P(J)}return B}n(Oe,"cancel2Algorithm");function Te(){}return n(Te,"startAlgorithm"),y=Et(Te,ae,nt),C=Et(Te,ae,Oe),I(r._closedPromise,x=>(oe(y._readableStreamController,x),oe(C._readableStreamController,x),(!c||!d)&&P(void 0),null)),[y,C]}n(os,"ReadableStreamDefaultTee");function is(e){let t=Qe(e),r=!1,s=!1,u=!1,c=!1,d=!1,m,R,y,C,P;const B=A(_=>{P=_});function ae(_){I(_._closedPromise,E=>(_!==t||(K(y._readableStreamController,E),K(C._readableStreamController,E),(!c||!d)&&P(void 0)),null))}n(ae,"forwardReaderError");function nt(){je(t)&&(_e(t),t=Qe(e),ae(t)),_t(t,{_chunkSteps:n(E=>{ge(()=>{s=!1,u=!1;const k=E;let Y=E;if(!c&&!d)try{Y=fo(E)}catch(ot){K(y._readableStreamController,ot),K(C._readableStreamController,ot),P(ie(e,ot));return}c||Ht(y._readableStreamController,k),d||Ht(C._readableStreamController,Y),r=!1,s?Te():u&&x()})},"_chunkSteps"),_closeSteps:n(()=>{r=!1,c||wt(y._readableStreamController),d||wt(C._readableStreamController),y._readableStreamController._pendingPullIntos.length>0&&Vt(y._readableStreamController,0),C._readableStreamController._pendingPullIntos.length>0&&Vt(C._readableStreamController,0),(!c||!d)&&P(void 0)},"_closeSteps"),_errorSteps:n(()=>{r=!1},"_errorSteps")})}n(nt,"pullWithDefaultReader");function Oe(_,E){Ee(t)&&(_e(t),t=Co(e),ae(t));const k=E?C:y,Y=E?y:C;Eo(t,_,1,{_chunkSteps:n(it=>{ge(()=>{s=!1,u=!1;const at=E?d:c;if(E?c:d)at||Qt(k._readableStreamController,it);else{let ui;try{ui=fo(it)}catch(kn){K(k._readableStreamController,kn),K(Y._readableStreamController,kn),P(ie(e,kn));return}at||Qt(k._readableStreamController,it),Ht(Y._readableStreamController,ui)}r=!1,s?Te():u&&x()})},"_chunkSteps"),_closeSteps:n(it=>{r=!1;const at=E?d:c,cr=E?c:d;at||wt(k._readableStreamController),cr||wt(Y._readableStreamController),it!==void 0&&(at||Qt(k._readableStreamController,it),!cr&&Y._readableStreamController._pendingPullIntos.length>0&&Vt(Y._readableStreamController,0)),(!at||!cr)&&P(void 0)},"_closeSteps"),_errorSteps:n(()=>{r=!1},"_errorSteps")})}n(Oe,"pullWithBYOBReader");function Te(){if(r)return s=!0,T(void 0);r=!0;const _=Gr(y._readableStreamController);return _===null?nt():Oe(_._view,!1),T(void 0)}n(Te,"pull1Algorithm");function x(){if(r)return u=!0,T(void 0);r=!0;const _=Gr(C._readableStreamController);return _===null?nt():Oe(_._view,!0),T(void 0)}n(x,"pull2Algorithm");function N(_){if(c=!0,m=_,d){const E=St([m,R]),k=ie(e,E);P(k)}return B}n(N,"cancel1Algorithm");function J(_){if(d=!0,R=_,c){const E=St([m,R]),k=ie(e,E);P(k)}return B}n(J,"cancel2Algorithm");function Ce(){}return n(Ce,"startAlgorithm"),y=Go(Ce,Te,N),C=Go(Ce,x,J),ae(t),[y,C]}n(is,"ReadableByteStreamTee");function as(e){return l(e)&&typeof e.getReader<"u"}n(as,"isReadableStreamLike");function ss(e){return as(e)?us(e.getReader()):ls(e)}n(ss,"ReadableStreamFrom");function ls(e){let t;const r=uo(e,"async"),s=f;function u(){let d;try{d=Xi(r)}catch(R){return b(R)}const m=T(d);return F(m,R=>{if(!l(R))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(ea(R))De(t._readableStreamController);else{const C=ta(R);Ke(t._readableStreamController,C)}})}n(u,"pullAlgorithm");function c(d){const m=r.iterator;let R;try{R=Ut(m,"return")}catch(P){return b(P)}if(R===void 0)return T(void 0);let y;try{y=z(R,m,[d])}catch(P){return b(P)}const C=T(y);return F(C,P=>{if(!l(P))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return n(c,"cancelAlgorithm"),t=Et(s,u,c,0),t}n(ls,"ReadableStreamFromIterable");function us(e){let t;const r=f;function s(){let c;try{c=e.read()}catch(d){return b(d)}return F(c,d=>{if(!l(d))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(d.done)De(t._readableStreamController);else{const m=d.value;Ke(t._readableStreamController,m)}})}n(s,"pullAlgorithm");function u(c){try{return T(e.cancel(c))}catch(d){return b(d)}}return n(u,"cancelAlgorithm"),t=Et(r,s,u,0),t}n(us,"ReadableStreamFromDefaultReader");function fs(e,t){ue(e,t);const r=e,s=r?.autoAllocateChunkSize,u=r?.cancel,c=r?.pull,d=r?.start,m=r?.type;return{autoAllocateChunkSize:s===void 0?void 0:Fr(s,`${t} has member 'autoAllocateChunkSize' that`),cancel:u===void 0?void 0:cs(u,r,`${t} has member 'cancel' that`),pull:c===void 0?void 0:ds(c,r,`${t} has member 'pull' that`),start:d===void 0?void 0:hs(d,r,`${t} has member 'start' that`),type:m===void 0?void 0:ps(m,`${t} has member 'type' that`)}}n(fs,"convertUnderlyingDefaultOrByteSource");function cs(e,t,r){return Z(e,r),s=>j(e,t,[s])}n(cs,"convertUnderlyingSourceCancelCallback");function ds(e,t,r){return Z(e,r),s=>j(e,t,[s])}n(ds,"convertUnderlyingSourcePullCallback");function hs(e,t,r){return Z(e,r),s=>z(e,t,[s])}n(hs,"convertUnderlyingSourceStartCallback");function ps(e,t){if(e=`${e}`,e!=="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}n(ps,"convertReadableStreamType");function bs(e,t){return ue(e,t),{preventCancel:!!e?.preventCancel}}n(bs,"convertIteratorOptions");function Yo(e,t){ue(e,t);const r=e?.preventAbort,s=e?.preventCancel,u=e?.preventClose,c=e?.signal;return c!==void 0&&ms(c,`${t} has member 'signal' that`),{preventAbort:!!r,preventCancel:!!s,preventClose:!!u,signal:c}}n(Yo,"convertPipeOptions");function ms(e,t){if(!Ca(e))throw new TypeError(`${t} is not an AbortSignal.`)}n(ms,"assertAbortSignal");function ys(e,t){ue(e,t);const r=e?.readable;zr(r,"readable","ReadableWritablePair"),jr(r,`${t} has member 'readable' that`);const s=e?.writable;return zr(s,"writable","ReadableWritablePair"),Bo(s,`${t} has member 'writable' that`),{readable:r,writable:s}}n(ys,"convertReadableWritablePair");const Pn=class Pn{constructor(t={},r={}){t===void 0?t=null:Jn(t,"First parameter");const s=Zt(r,"Second parameter"),u=fs(t,"First parameter");if(cn(this),u.type==="bytes"){if(s.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");const c=Tt(s,0);ca(this,u,c)}else{const c=Gt(s),d=Tt(s,1);rs(this,u,d,c)}}get locked(){if(!We(this))throw Me("locked");return qe(this)}cancel(t=void 0){return We(this)?qe(this)?b(new TypeError("Cannot cancel a stream that already has a reader")):ie(this,t):b(Me("cancel"))}getReader(t=void 0){if(!We(this))throw Me("getReader");return ha(t,"First parameter").mode===void 0?Qe(this):Co(this)}pipeThrough(t,r={}){if(!We(this))throw Me("pipeThrough");Se(t,1,"pipeThrough");const s=ys(t,"First parameter"),u=Yo(r,"Second parameter");if(qe(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Ze(s.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");const c=Ho(this,s.writable,u.preventClose,u.preventAbort,u.preventCancel,u.signal);return Q(c),s.readable}pipeTo(t,r={}){if(!We(this))return b(Me("pipeTo"));if(t===void 0)return b("Parameter 1 is required in 'pipeTo'.");if(!Ge(t))return b(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let s;try{s=Yo(r,"Second parameter")}catch(u){return b(u)}return qe(this)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Ze(t)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Ho(this,t,s.preventClose,s.preventAbort,s.preventCancel,s.signal)}tee(){if(!We(this))throw Me("tee");const t=ns(this);return St(t)}values(t=void 0){if(!We(this))throw Me("values");const r=bs(t,"First parameter");return Ki(this,r.preventCancel)}[Ur](t){return this.values(t)}static from(t){return ss(t)}};n(Pn,"ReadableStream");let L=Pn;Object.defineProperties(L,{from:{enumerable:!0}}),Object.defineProperties(L.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),h(L.from,"from"),h(L.prototype.cancel,"cancel"),h(L.prototype.getReader,"getReader"),h(L.prototype.pipeThrough,"pipeThrough"),h(L.prototype.pipeTo,"pipeTo"),h(L.prototype.tee,"tee"),h(L.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(L.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(L.prototype,Ur,{value:L.prototype.values,writable:!0,configurable:!0});function Et(e,t,r,s=1,u=()=>1){const c=Object.create(L.prototype);cn(c);const d=Object.create(ne.prototype);return Qo(c,d,e,t,r,s,u),c}n(Et,"CreateReadableStream");function Go(e,t,r){const s=Object.create(L.prototype);cn(s);const u=Object.create(te.prototype);return To(s,u,e,t,r,0,void 0),s}n(Go,"CreateReadableByteStream");function cn(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}n(cn,"InitializeReadableStream");function We(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")?!1:e instanceof L}n(We,"IsReadableStream");function qe(e){return e._reader!==void 0}n(qe,"IsReadableStreamLocked");function ie(e,t){if(e._disturbed=!0,e._state==="closed")return T(void 0);if(e._state==="errored")return b(e._storedError);At(e);const r=e._reader;if(r!==void 0&&je(r)){const u=r._readIntoRequests;r._readIntoRequests=new D,u.forEach(c=>{c._closeSteps(void 0)})}const s=e._readableStreamController[Ar](t);return F(s,f)}n(ie,"ReadableStreamCancel");function At(e){e._state="closed";const t=e._reader;if(t!==void 0&&(Zn(t),Ee(t))){const r=t._readRequests;t._readRequests=new D,r.forEach(s=>{s._closeSteps()})}}n(At,"ReadableStreamClose");function Zo(e,t){e._state="errored",e._storedError=t;const r=e._reader;r!==void 0&&(Or(r,t),Ee(r)?ro(r,t):Ao(r,t))}n(Zo,"ReadableStreamError");function Me(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}n(Me,"streamBrandCheckException$1");function Ko(e,t){ue(e,t);const r=e?.highWaterMark;return zr(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:Ir(r)}}n(Ko,"convertQueuingStrategyInit");const Jo=n(e=>e.byteLength,"byteLengthSizeFunction");h(Jo,"size");const vn=class vn{constructor(t){Se(t,1,"ByteLengthQueuingStrategy"),t=Ko(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!ei(this))throw Xo("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!ei(this))throw Xo("size");return Jo}};n(vn,"ByteLengthQueuingStrategy");let Xe=vn;Object.defineProperties(Xe.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xe.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Xo(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}n(Xo,"byteLengthBrandCheckException");function ei(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")?!1:e instanceof Xe}n(ei,"IsByteLengthQueuingStrategy");const ti=n(()=>1,"countSizeFunction");h(ti,"size");const En=class En{constructor(t){Se(t,1,"CountQueuingStrategy"),t=Ko(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!ni(this))throw ri("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!ni(this))throw ri("size");return ti}};n(En,"CountQueuingStrategy");let et=En;Object.defineProperties(et.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(et.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function ri(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}n(ri,"countBrandCheckException");function ni(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")?!1:e instanceof et}n(ni,"IsCountQueuingStrategy");function gs(e,t){ue(e,t);const r=e?.cancel,s=e?.flush,u=e?.readableType,c=e?.start,d=e?.transform,m=e?.writableType;return{cancel:r===void 0?void 0:Rs(r,e,`${t} has member 'cancel' that`),flush:s===void 0?void 0:_s(s,e,`${t} has member 'flush' that`),readableType:u,start:c===void 0?void 0:Ss(c,e,`${t} has member 'start' that`),transform:d===void 0?void 0:ws(d,e,`${t} has member 'transform' that`),writableType:m}}n(gs,"convertTransformer");function _s(e,t,r){return Z(e,r),s=>j(e,t,[s])}n(_s,"convertTransformerFlushCallback");function Ss(e,t,r){return Z(e,r),s=>z(e,t,[s])}n(Ss,"convertTransformerStartCallback");function ws(e,t,r){return Z(e,r),(s,u)=>j(e,t,[s,u])}n(ws,"convertTransformerTransformCallback");function Rs(e,t,r){return Z(e,r),s=>j(e,t,[s])}n(Rs,"convertTransformerCancelCallback");const An=class An{constructor(t={},r={},s={}){t===void 0&&(t=null);const u=Zt(r,"Second parameter"),c=Zt(s,"Third parameter"),d=gs(t,"First parameter");if(d.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(d.writableType!==void 0)throw new RangeError("Invalid writableType specified");const m=Tt(c,0),R=Gt(c),y=Tt(u,1),C=Gt(u);let P;const B=A(ae=>{P=ae});Ts(this,B,y,C,m,R),Ps(this,d),d.start!==void 0?P(d.start(this._transformStreamController)):P(void 0)}get readable(){if(!oi(this))throw li("readable");return this._readable}get writable(){if(!oi(this))throw li("writable");return this._writable}};n(An,"TransformStream");let tt=An;Object.defineProperties(tt.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tt.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Ts(e,t,r,s,u,c){function d(){return t}n(d,"startAlgorithm");function m(B){return As(e,B)}n(m,"writeAlgorithm");function R(B){return Bs(e,B)}n(R,"abortAlgorithm");function y(){return ks(e)}n(y,"closeAlgorithm"),e._writable=Ea(d,m,y,R,r,s);function C(){return Ws(e)}n(C,"pullAlgorithm");function P(B){return qs(e,B)}n(P,"cancelAlgorithm"),e._readable=Et(d,C,P,u,c),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,sr(e,!0),e._transformStreamController=void 0}n(Ts,"InitializeTransformStream");function oi(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")?!1:e instanceof tt}n(oi,"IsTransformStream");function ii(e,t){oe(e._readable._readableStreamController,t),dn(e,t)}n(ii,"TransformStreamError");function dn(e,t){ur(e._transformStreamController),Ct(e._writable._writableStreamController,t),hn(e)}n(dn,"TransformStreamErrorWritableAndUnblockWrite");function hn(e){e._backpressure&&sr(e,!1)}n(hn,"TransformStreamUnblockWrite");function sr(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=A(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}n(sr,"TransformStreamSetBackpressure");const Bn=class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!lr(this))throw fr("desiredSize");const t=this._controlledTransformStream._readable._readableStreamController;return fn(t)}enqueue(t=void 0){if(!lr(this))throw fr("enqueue");ai(this,t)}error(t=void 0){if(!lr(this))throw fr("error");vs(this,t)}terminate(){if(!lr(this))throw fr("terminate");Es(this)}};n(Bn,"TransformStreamDefaultController");let pe=Bn;Object.defineProperties(pe.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),h(pe.prototype.enqueue,"enqueue"),h(pe.prototype.error,"error"),h(pe.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pe.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function lr(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")?!1:e instanceof pe}n(lr,"IsTransformStreamDefaultController");function Cs(e,t,r,s,u){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=s,t._cancelAlgorithm=u,t._finishPromise=void 0,t._finishPromise_resolve=void 0,t._finishPromise_reject=void 0}n(Cs,"SetUpTransformStreamDefaultController");function Ps(e,t){const r=Object.create(pe.prototype);let s,u,c;t.transform!==void 0?s=n(d=>t.transform(d,r),"transformAlgorithm"):s=n(d=>{try{return ai(r,d),T(void 0)}catch(m){return b(m)}},"transformAlgorithm"),t.flush!==void 0?u=n(()=>t.flush(r),"flushAlgorithm"):u=n(()=>T(void 0),"flushAlgorithm"),t.cancel!==void 0?c=n(d=>t.cancel(d),"cancelAlgorithm"):c=n(()=>T(void 0),"cancelAlgorithm"),Cs(e,r,s,u,c)}n(Ps,"SetUpTransformStreamDefaultControllerFromTransformer");function ur(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}n(ur,"TransformStreamDefaultControllerClearAlgorithms");function ai(e,t){const r=e._controlledTransformStream,s=r._readable._readableStreamController;if(!Je(s))throw new TypeError("Readable side is not in a state that permits enqueue");try{Ke(s,t)}catch(c){throw dn(r,c),r._readable._storedError}ts(s)!==r._backpressure&&sr(r,!0)}n(ai,"TransformStreamDefaultControllerEnqueue");function vs(e,t){ii(e._controlledTransformStream,t)}n(vs,"TransformStreamDefaultControllerError");function si(e,t){const r=e._transformAlgorithm(t);return F(r,void 0,s=>{throw ii(e._controlledTransformStream,s),s})}n(si,"TransformStreamDefaultControllerPerformTransform");function Es(e){const t=e._controlledTransformStream,r=t._readable._readableStreamController;De(r);const s=new TypeError("TransformStream terminated");dn(t,s)}n(Es,"TransformStreamDefaultControllerTerminate");function As(e,t){const r=e._transformStreamController;if(e._backpressure){const s=e._backpressureChangePromise;return F(s,()=>{const u=e._writable;if(u._state==="erroring")throw u._storedError;return si(r,t)})}return si(r,t)}n(As,"TransformStreamDefaultSinkWriteAlgorithm");function Bs(e,t){const r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;const s=e._readable;r._finishPromise=A((c,d)=>{r._finishPromise_resolve=c,r._finishPromise_reject=d});const u=r._cancelAlgorithm(t);return ur(r),g(u,()=>(s._state==="errored"?rt(r,s._storedError):(oe(s._readableStreamController,t),pn(r)),null),c=>(oe(s._readableStreamController,c),rt(r,c),null)),r._finishPromise}n(Bs,"TransformStreamDefaultSinkAbortAlgorithm");function ks(e){const t=e._transformStreamController;if(t._finishPromise!==void 0)return t._finishPromise;const r=e._readable;t._finishPromise=A((u,c)=>{t._finishPromise_resolve=u,t._finishPromise_reject=c});const s=t._flushAlgorithm();return ur(t),g(s,()=>(r._state==="errored"?rt(t,r._storedError):(De(r._readableStreamController),pn(t)),null),u=>(oe(r._readableStreamController,u),rt(t,u),null)),t._finishPromise}n(ks,"TransformStreamDefaultSinkCloseAlgorithm");function Ws(e){return sr(e,!1),e._backpressureChangePromise}n(Ws,"TransformStreamDefaultSourcePullAlgorithm");function qs(e,t){const r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;const s=e._writable;r._finishPromise=A((c,d)=>{r._finishPromise_resolve=c,r._finishPromise_reject=d});const u=r._cancelAlgorithm(t);return ur(r),g(u,()=>(s._state==="errored"?rt(r,s._storedError):(Ct(s._writableStreamController,t),hn(e),pn(r)),null),c=>(Ct(s._writableStreamController,c),hn(e),rt(r,c),null)),r._finishPromise}n(qs,"TransformStreamDefaultSourceCancelAlgorithm");function fr(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}n(fr,"defaultControllerBrandCheckException");function pn(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}n(pn,"defaultControllerFinishPromiseResolve");function rt(e,t){e._finishPromise_reject!==void 0&&(Q(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}n(rt,"defaultControllerFinishPromiseReject");function li(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}n(li,"streamBrandCheckException"),a.ByteLengthQueuingStrategy=Xe,a.CountQueuingStrategy=et,a.ReadableByteStreamController=te,a.ReadableStream=L,a.ReadableStreamBYOBReader=ce,a.ReadableStreamBYOBRequest=Re,a.ReadableStreamDefaultController=ne,a.ReadableStreamDefaultReader=fe,a.TransformStream=tt,a.TransformStreamDefaultController=pe,a.WritableStream=de,a.WritableStreamDefaultController=ke,a.WritableStreamDefaultWriter=re})}(kt,kt.exports)),kt.exports}n(Ns,"requirePonyfill_es2018");var mi;function Hs(){if(mi)return pi;mi=1;const i=65536;if(!globalThis.ReadableStream)try{const o=require("node:process"),{emitWarning:a}=o;try{o.emitWarning=()=>{},Object.assign(globalThis,require("node:stream/web")),o.emitWarning=a}catch(f){throw o.emitWarning=a,f}}catch{Object.assign(globalThis,Ns())}try{const{Blob:o}=require("buffer");o&&!o.prototype.stream&&(o.prototype.stream=n(function(f){let l=0;const p=this;return new ReadableStream({type:"bytes",async pull(h){const v=await p.slice(l,Math.min(p.size,l+i)).arrayBuffer();l+=v.byteLength,h.enqueue(new Uint8Array(v)),l===p.size&&h.close()}})},"name"))}catch{}return pi}n(Hs,"requireStreams"),Hs();/*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */const yi=65536;async function*Wn(i,o=!0){for(const a of i)if("stream"in a)yield*a.stream();else if(ArrayBuffer.isView(a))if(o){let f=a.byteOffset;const l=a.byteOffset+a.byteLength;for(;f!==l;){const p=Math.min(l-f,yi),h=a.buffer.slice(f,f+p);f+=h.byteLength,yield new Uint8Array(h)}}else yield a;else{let f=0,l=a;for(;f!==l.size;){const h=await l.slice(f,Math.min(l.size,f+yi)).arrayBuffer();f+=h.byteLength,yield new Uint8Array(h)}}}n(Wn,"toIterator");const gi=(ze=class{constructor(o=[],a={}){be(this,ve,[]);be(this,zt,"");be(this,bt,0);be(this,Cr,"transparent");if(typeof o!="object"||o===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof o[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof a!="object"&&typeof a!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");a===null&&(a={});const f=new TextEncoder;for(const p of o){let h;ArrayBuffer.isView(p)?h=new Uint8Array(p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength)):p instanceof ArrayBuffer?h=new Uint8Array(p.slice(0)):p instanceof ze?h=p:h=f.encode(`${p}`),X(this,bt,O(this,bt)+(ArrayBuffer.isView(h)?h.byteLength:h.size)),O(this,ve).push(h)}X(this,Cr,`${a.endings===void 0?"transparent":a.endings}`);const l=a.type===void 0?"":String(a.type);X(this,zt,/^[\x20-\x7E]*$/.test(l)?l:"")}get size(){return O(this,bt)}get type(){return O(this,zt)}async text(){const o=new TextDecoder;let a="";for await(const f of Wn(O(this,ve),!1))a+=o.decode(f,{stream:!0});return a+=o.decode(),a}async arrayBuffer(){const o=new Uint8Array(this.size);let a=0;for await(const f of Wn(O(this,ve),!1))o.set(f,a),a+=f.length;return o.buffer}stream(){const o=Wn(O(this,ve),!0);return new globalThis.ReadableStream({type:"bytes",async pull(a){const f=await o.next();f.done?a.close():a.enqueue(f.value)},async cancel(){await o.return()}})}slice(o=0,a=this.size,f=""){const{size:l}=this;let p=o<0?Math.max(l+o,0):Math.min(o,l),h=a<0?Math.max(l+a,0):Math.min(a,l);const S=Math.max(h-p,0),v=O(this,ve),w=[];let A=0;for(const b of v){if(A>=S)break;const q=ArrayBuffer.isView(b)?b.byteLength:b.size;if(p&&q<=p)p-=q,h-=q;else{let g;ArrayBuffer.isView(b)?(g=b.subarray(p,Math.min(q,h)),A+=g.byteLength):(g=b.slice(p,Math.min(q,h)),A+=g.size),h-=q,w.push(g),p=0}}const T=new ze([],{type:String(f).toLowerCase()});return X(T,bt,S),X(T,ve,w),T}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](o){return o&&typeof o=="object"&&typeof o.constructor=="function"&&(typeof o.stream=="function"||typeof o.arrayBuffer=="function")&&/^(Blob|File)$/.test(o[Symbol.toStringTag])}},ve=new WeakMap,zt=new WeakMap,bt=new WeakMap,Cr=new WeakMap,n(ze,"Blob"),ze);Object.defineProperties(gi.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});const ut=gi,Vs=(mt=class extends ut{constructor(a,f,l={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(a,l);be(this,It,0);be(this,Ft,"");l===null&&(l={});const p=l.lastModified===void 0?Date.now():Number(l.lastModified);Number.isNaN(p)||X(this,It,p),X(this,Ft,String(f))}get name(){return O(this,Ft)}get lastModified(){return O(this,It)}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](a){return!!a&&a instanceof ut&&/^(File)$/.test(a[Symbol.toStringTag])}},It=new WeakMap,Ft=new WeakMap,n(mt,"File"),mt),qn=Vs;/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */var{toStringTag:Wt,iterator:Qs,hasInstance:Ys}=Symbol,_i=Math.random,Gs="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Si=n((i,o,a)=>(i+="",/^(Blob|File)$/.test(o&&o[Wt])?[(a=a!==void 0?a+"":o[Wt]=="File"?o.name:"blob",i),o.name!==a||o[Wt]=="blob"?new qn([o],a,o):o]:[i,o+""]),"f"),On=n((i,o)=>(o?i:i.replace(/\r?\n|\r/g,`\r +`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"e$1"),Ue=n((i,o,a)=>{if(o.length<a)throw new TypeError(`Failed to execute '${i}' on 'FormData': ${a} arguments required, but only ${o.length} present.`)},"x");const br=(yt=class{constructor(...o){be(this,ee,[]);if(o.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Wt](){return"FormData"}[Qs](){return this.entries()}static[Ys](o){return o&&typeof o=="object"&&o[Wt]==="FormData"&&!Gs.some(a=>typeof o[a]!="function")}append(...o){Ue("append",arguments,2),O(this,ee).push(Si(...o))}delete(o){Ue("delete",arguments,1),o+="",X(this,ee,O(this,ee).filter(([a])=>a!==o))}get(o){Ue("get",arguments,1),o+="";for(var a=O(this,ee),f=a.length,l=0;l<f;l++)if(a[l][0]===o)return a[l][1];return null}getAll(o,a){return Ue("getAll",arguments,1),a=[],o+="",O(this,ee).forEach(f=>f[0]===o&&a.push(f[1])),a}has(o){return Ue("has",arguments,1),o+="",O(this,ee).some(a=>a[0]===o)}forEach(o,a){Ue("forEach",arguments,1);for(var[f,l]of this)o.call(a,l,f,this)}set(...o){Ue("set",arguments,2);var a=[],f=!0;o=Si(...o),O(this,ee).forEach(l=>{l[0]===o[0]?f&&(f=!a.push(o)):a.push(l)}),f&&a.push(o),X(this,ee,a)}*entries(){yield*O(this,ee)}*keys(){for(var[o]of this)yield o}*values(){for(var[,o]of this)yield o}},ee=new WeakMap,n(yt,"FormData"),yt);function Zs(i,o=ut){var a=`${_i()}${_i()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),f=[],l=`--${a}\r +Content-Disposition: form-data; name="`;return i.forEach((p,h)=>typeof p=="string"?f.push(l+On(h)+`"\r +\r +${p.replace(/\r(?!\n)|(?<!\r)\n/g,`\r +`)}\r +`):f.push(l+On(h)+`"; filename="${On(p.name,1)}"\r +Content-Type: ${p.type||"application/octet-stream"}\r +\r +`,p,`\r +`)),f.push(`--${a}--`),new o(f,{type:"multipart/form-data; boundary="+a})}n(Zs,"formDataToBlob");const Un=class Un extends Error{constructor(o,a){super(o),Error.captureStackTrace(this,this.constructor),this.type=a}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};n(Un,"FetchBaseError");let ft=Un;const xn=class xn extends ft{constructor(o,a,f){super(o,a),f&&(this.code=this.errno=f.code,this.erroredSysCall=f.syscall)}};n(xn,"FetchError");let G=xn;const mr=Symbol.toStringTag,wi=n(i=>typeof i=="object"&&typeof i.append=="function"&&typeof i.delete=="function"&&typeof i.get=="function"&&typeof i.getAll=="function"&&typeof i.has=="function"&&typeof i.set=="function"&&typeof i.sort=="function"&&i[mr]==="URLSearchParams","isURLSearchParameters"),yr=n(i=>i&&typeof i=="object"&&typeof i.arrayBuffer=="function"&&typeof i.type=="string"&&typeof i.stream=="function"&&typeof i.constructor=="function"&&/^(Blob|File)$/.test(i[mr]),"isBlob"),Ks=n(i=>typeof i=="object"&&(i[mr]==="AbortSignal"||i[mr]==="EventTarget"),"isAbortSignal"),Js=n((i,o)=>{const a=new URL(o).hostname,f=new URL(i).hostname;return a===f||a.endsWith(`.${f}`)},"isDomainOrSubdomain"),Xs=n((i,o)=>{const a=new URL(o).protocol,f=new URL(i).protocol;return a===f},"isSameProtocol"),el=Is(me.pipeline),H=Symbol("Body internals"),Nn=class Nn{constructor(o,{size:a=0}={}){let f=null;o===null?o=null:wi(o)?o=M.from(o.toString()):yr(o)||M.isBuffer(o)||(hr.isAnyArrayBuffer(o)?o=M.from(o):ArrayBuffer.isView(o)?o=M.from(o.buffer,o.byteOffset,o.byteLength):o instanceof me||(o instanceof br?(o=Zs(o),f=o.type.split("=")[1]):o=M.from(String(o))));let l=o;M.isBuffer(o)?l=me.Readable.from(o):yr(o)&&(l=me.Readable.from(o.stream())),this[H]={body:o,stream:l,boundary:f,disturbed:!1,error:null},this.size=a,o instanceof me&&o.on("error",p=>{const h=p instanceof ft?p:new G(`Invalid response body while trying to fetch ${this.url}: ${p.message}`,"system",p);this[H].error=h})}get body(){return this[H].stream}get bodyUsed(){return this[H].disturbed}async arrayBuffer(){const{buffer:o,byteOffset:a,byteLength:f}=await zn(this);return o.slice(a,a+f)}async formData(){const o=this.headers.get("content-type");if(o.startsWith("application/x-www-form-urlencoded")){const f=new br,l=new URLSearchParams(await this.text());for(const[p,h]of l)f.append(p,h);return f}const{toFormData:a}=await import("./chunks/multipart-parser.mjs");return a(this.body,o)}async blob(){const o=this.headers&&this.headers.get("content-type")||this[H].body&&this[H].body.type||"",a=await this.arrayBuffer();return new ut([a],{type:o})}async json(){const o=await this.text();return JSON.parse(o)}async text(){const o=await zn(this);return new TextDecoder().decode(o)}buffer(){return zn(this)}};n(Nn,"Body");let xe=Nn;xe.prototype.buffer=pr(xe.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(xe.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:pr(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});async function zn(i){if(i[H].disturbed)throw new TypeError(`body used already for: ${i.url}`);if(i[H].disturbed=!0,i[H].error)throw i[H].error;const{body:o}=i;if(o===null)return M.alloc(0);if(!(o instanceof me))return M.alloc(0);const a=[];let f=0;try{for await(const l of o){if(i.size>0&&f+l.length>i.size){const p=new G(`content size at ${i.url} over limit: ${i.size}`,"max-size");throw o.destroy(p),p}f+=l.length,a.push(l)}}catch(l){throw l instanceof ft?l:new G(`Invalid response body while trying to fetch ${i.url}: ${l.message}`,"system",l)}if(o.readableEnded===!0||o._readableState.ended===!0)try{return a.every(l=>typeof l=="string")?M.from(a.join("")):M.concat(a,f)}catch(l){throw new G(`Could not create Buffer from response body for ${i.url}: ${l.message}`,"system",l)}else throw new G(`Premature close of server response while trying to fetch ${i.url}`)}n(zn,"consumeBody");const In=n((i,o)=>{let a,f,{body:l}=i[H];if(i.bodyUsed)throw new Error("cannot clone body after it is used");return l instanceof me&&typeof l.getBoundary!="function"&&(a=new dr({highWaterMark:o}),f=new dr({highWaterMark:o}),l.pipe(a),l.pipe(f),i[H].stream=a,l=f),l},"clone"),tl=pr(i=>i.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Ri=n((i,o)=>i===null?null:typeof i=="string"?"text/plain;charset=UTF-8":wi(i)?"application/x-www-form-urlencoded;charset=UTF-8":yr(i)?i.type||null:M.isBuffer(i)||hr.isAnyArrayBuffer(i)||ArrayBuffer.isView(i)?null:i instanceof br?`multipart/form-data; boundary=${o[H].boundary}`:i&&typeof i.getBoundary=="function"?`multipart/form-data;boundary=${tl(i)}`:i instanceof me?null:"text/plain;charset=UTF-8","extractContentType"),rl=n(i=>{const{body:o}=i[H];return o===null?0:yr(o)?o.size:M.isBuffer(o)?o.length:o&&typeof o.getLengthSync=="function"&&o.hasKnownLength&&o.hasKnownLength()?o.getLengthSync():null},"getTotalBytes"),nl=n(async(i,{body:o})=>{o===null?i.end():await el(o,i)},"writeToStream"),gr=typeof Bt.validateHeaderName=="function"?Bt.validateHeaderName:i=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(i)){const o=new TypeError(`Header name must be a valid HTTP token [${i}]`);throw Object.defineProperty(o,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),o}},Fn=typeof Bt.validateHeaderValue=="function"?Bt.validateHeaderValue:(i,o)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(o)){const a=new TypeError(`Invalid character in header content ["${i}"]`);throw Object.defineProperty(a,"code",{value:"ERR_INVALID_CHAR"}),a}},Pr=class Pr extends URLSearchParams{constructor(o){let a=[];if(o instanceof Pr){const f=o.raw();for(const[l,p]of Object.entries(f))a.push(...p.map(h=>[l,h]))}else if(o!=null)if(typeof o=="object"&&!hr.isBoxedPrimitive(o)){const f=o[Symbol.iterator];if(f==null)a.push(...Object.entries(o));else{if(typeof f!="function")throw new TypeError("Header pairs must be iterable");a=[...o].map(l=>{if(typeof l!="object"||hr.isBoxedPrimitive(l))throw new TypeError("Each header pair must be an iterable object");return[...l]}).map(l=>{if(l.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...l]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return a=a.length>0?a.map(([f,l])=>(gr(f),Fn(f,String(l)),[String(f).toLowerCase(),String(l)])):void 0,super(a),new Proxy(this,{get(f,l,p){switch(l){case"append":case"set":return(h,S)=>(gr(h),Fn(h,String(S)),URLSearchParams.prototype[l].call(f,String(h).toLowerCase(),String(S)));case"delete":case"has":case"getAll":return h=>(gr(h),URLSearchParams.prototype[l].call(f,String(h).toLowerCase()));case"keys":return()=>(f.sort(),new Set(URLSearchParams.prototype.keys.call(f)).keys());default:return Reflect.get(f,l,p)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(o){const a=this.getAll(o);if(a.length===0)return null;let f=a.join(", ");return/^content-encoding$/i.test(o)&&(f=f.toLowerCase()),f}forEach(o,a=void 0){for(const f of this.keys())Reflect.apply(o,a,[this.get(f),f,this])}*values(){for(const o of this.keys())yield this.get(o)}*entries(){for(const o of this.keys())yield[o,this.get(o)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((o,a)=>(o[a]=this.getAll(a),o),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((o,a)=>{const f=this.getAll(a);return a==="host"?o[a]=f[0]:o[a]=f.length>1?f:f[0],o},{})}};n(Pr,"Headers");let ye=Pr;Object.defineProperties(ye.prototype,["get","entries","forEach","values"].reduce((i,o)=>(i[o]={enumerable:!0},i),{}));function ol(i=[]){return new ye(i.reduce((o,a,f,l)=>(f%2===0&&o.push(l.slice(f,f+2)),o),[]).filter(([o,a])=>{try{return gr(o),Fn(o,String(a)),!0}catch{return!1}}))}n(ol,"fromRawHeaders");const il=new Set([301,302,303,307,308]),jn=n(i=>il.has(i),"isRedirect"),se=Symbol("Response internals"),Ne=class Ne extends xe{constructor(o=null,a={}){super(o,a);const f=a.status!=null?a.status:200,l=new ye(a.headers);if(o!==null&&!l.has("Content-Type")){const p=Ri(o,this);p&&l.append("Content-Type",p)}this[se]={type:"default",url:a.url,status:f,statusText:a.statusText||"",headers:l,counter:a.counter,highWaterMark:a.highWaterMark}}get type(){return this[se].type}get url(){return this[se].url||""}get status(){return this[se].status}get ok(){return this[se].status>=200&&this[se].status<300}get redirected(){return this[se].counter>0}get statusText(){return this[se].statusText}get headers(){return this[se].headers}get highWaterMark(){return this[se].highWaterMark}clone(){return new Ne(In(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(o,a=302){if(!jn(a))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new Ne(null,{headers:{location:new URL(o).toString()},status:a})}static error(){const o=new Ne(null,{status:0,statusText:""});return o[se].type="error",o}static json(o=void 0,a={}){const f=JSON.stringify(o);if(f===void 0)throw new TypeError("data is not JSON serializable");const l=new ye(a&&a.headers);return l.has("content-type")||l.set("content-type","application/json"),new Ne(f,{...a,headers:l})}get[Symbol.toStringTag](){return"Response"}};n(Ne,"Response");let le=Ne;Object.defineProperties(le.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});const al=n(i=>{if(i.search)return i.search;const o=i.href.length-1,a=i.hash||(i.href[o]==="#"?"#":"");return i.href[o-a.length]==="?"?"?":""},"getSearch");function Ti(i,o=!1){return i==null||(i=new URL(i),/^(about|blob|data):$/.test(i.protocol))?"no-referrer":(i.username="",i.password="",i.hash="",o&&(i.pathname="",i.search=""),i)}n(Ti,"stripURLForUseAsAReferrer");const Ci=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),sl="strict-origin-when-cross-origin";function ll(i){if(!Ci.has(i))throw new TypeError(`Invalid referrerPolicy: ${i}`);return i}n(ll,"validateReferrerPolicy");function ul(i){if(/^(http|ws)s:$/.test(i.protocol))return!0;const o=i.host.replace(/(^\[)|(]$)/g,""),a=Ls(o);return a===4&&/^127\./.test(o)||a===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(o)?!0:i.host==="localhost"||i.host.endsWith(".localhost")?!1:i.protocol==="file:"}n(ul,"isOriginPotentiallyTrustworthy");function ct(i){return/^about:(blank|srcdoc)$/.test(i)||i.protocol==="data:"||/^(blob|filesystem):$/.test(i.protocol)?!0:ul(i)}n(ct,"isUrlPotentiallyTrustworthy");function fl(i,{referrerURLCallback:o,referrerOriginCallback:a}={}){if(i.referrer==="no-referrer"||i.referrerPolicy==="")return null;const f=i.referrerPolicy;if(i.referrer==="about:client")return"no-referrer";const l=i.referrer;let p=Ti(l),h=Ti(l,!0);p.toString().length>4096&&(p=h),o&&(p=o(p)),a&&(h=a(h));const S=new URL(i.url);switch(f){case"no-referrer":return"no-referrer";case"origin":return h;case"unsafe-url":return p;case"strict-origin":return ct(p)&&!ct(S)?"no-referrer":h.toString();case"strict-origin-when-cross-origin":return p.origin===S.origin?p:ct(p)&&!ct(S)?"no-referrer":h;case"same-origin":return p.origin===S.origin?p:"no-referrer";case"origin-when-cross-origin":return p.origin===S.origin?p:h;case"no-referrer-when-downgrade":return ct(p)&&!ct(S)?"no-referrer":p;default:throw new TypeError(`Invalid referrerPolicy: ${f}`)}}n(fl,"determineRequestsReferrer");function cl(i){const o=(i.get("referrer-policy")||"").split(/[,\s]+/);let a="";for(const f of o)f&&Ci.has(f)&&(a=f);return a}n(cl,"parseReferrerPolicyFromHeader");const $=Symbol("Request internals"),qt=n(i=>typeof i=="object"&&typeof i[$]=="object","isRequest"),dl=pr(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),vr=class vr extends xe{constructor(o,a={}){let f;if(qt(o)?f=new URL(o.url):(f=new URL(o),o={}),f.username!==""||f.password!=="")throw new TypeError(`${f} is an url with embedded credentials.`);let l=a.method||o.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(l)&&(l=l.toUpperCase()),!qt(a)&&"data"in a&&dl(),(a.body!=null||qt(o)&&o.body!==null)&&(l==="GET"||l==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");const p=a.body?a.body:qt(o)&&o.body!==null?In(o):null;super(p,{size:a.size||o.size||0});const h=new ye(a.headers||o.headers||{});if(p!==null&&!h.has("Content-Type")){const w=Ri(p,this);w&&h.set("Content-Type",w)}let S=qt(o)?o.signal:null;if("signal"in a&&(S=a.signal),S!=null&&!Ks(S))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let v=a.referrer==null?o.referrer:a.referrer;if(v==="")v="no-referrer";else if(v){const w=new URL(v);v=/^about:(\/\/)?client$/.test(w)?"client":w}else v=void 0;this[$]={method:l,redirect:a.redirect||o.redirect||"follow",headers:h,parsedURL:f,signal:S,referrer:v},this.follow=a.follow===void 0?o.follow===void 0?20:o.follow:a.follow,this.compress=a.compress===void 0?o.compress===void 0?!0:o.compress:a.compress,this.counter=a.counter||o.counter||0,this.agent=a.agent||o.agent,this.highWaterMark=a.highWaterMark||o.highWaterMark||16384,this.insecureHTTPParser=a.insecureHTTPParser||o.insecureHTTPParser||!1,this.referrerPolicy=a.referrerPolicy||o.referrerPolicy||""}get method(){return this[$].method}get url(){return js(this[$].parsedURL)}get headers(){return this[$].headers}get redirect(){return this[$].redirect}get signal(){return this[$].signal}get referrer(){if(this[$].referrer==="no-referrer")return"";if(this[$].referrer==="client")return"about:client";if(this[$].referrer)return this[$].referrer.toString()}get referrerPolicy(){return this[$].referrerPolicy}set referrerPolicy(o){this[$].referrerPolicy=ll(o)}clone(){return new vr(this)}get[Symbol.toStringTag](){return"Request"}};n(vr,"Request");let dt=vr;Object.defineProperties(dt.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});const hl=n(i=>{const{parsedURL:o}=i[$],a=new ye(i[$].headers);a.has("Accept")||a.set("Accept","*/*");let f=null;if(i.body===null&&/^(post|put)$/i.test(i.method)&&(f="0"),i.body!==null){const S=rl(i);typeof S=="number"&&!Number.isNaN(S)&&(f=String(S))}f&&a.set("Content-Length",f),i.referrerPolicy===""&&(i.referrerPolicy=sl),i.referrer&&i.referrer!=="no-referrer"?i[$].referrer=fl(i):i[$].referrer="no-referrer",i[$].referrer instanceof URL&&a.set("Referer",i.referrer),a.has("User-Agent")||a.set("User-Agent","node-fetch"),i.compress&&!a.has("Accept-Encoding")&&a.set("Accept-Encoding","gzip, deflate, br");let{agent:l}=i;typeof l=="function"&&(l=l(o));const p=al(o),h={path:o.pathname+p,method:i.method,headers:a[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:i.insecureHTTPParser,agent:l};return{parsedURL:o,options:h}},"getNodeRequestOptions"),Hn=class Hn extends ft{constructor(o,a="aborted"){super(o,a)}};n(Hn,"AbortError");let _r=Hn;/*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */var Ln,Pi;function pl(){if(Pi)return Ln;if(Pi=1,!globalThis.DOMException)try{const{MessageChannel:i}=require("worker_threads"),o=new i().port1,a=new ArrayBuffer;o.postMessage(a,[a,a])}catch(i){i.constructor.name==="DOMException"&&(globalThis.DOMException=i.constructor)}return Ln=globalThis.DOMException,Ln}n(pl,"requireNodeDomexception");var bl=pl();const ml=Fs(bl),{stat:$n}=$s,yl=n((i,o)=>vi(hi(i),i,o),"blobFromSync"),gl=n((i,o)=>$n(i).then(a=>vi(a,i,o)),"blobFrom"),_l=n((i,o)=>$n(i).then(a=>Ei(a,i,o)),"fileFrom"),Sl=n((i,o)=>Ei(hi(i),i,o),"fileFromSync"),vi=n((i,o,a="")=>new ut([new Sr({path:o,size:i.size,lastModified:i.mtimeMs,start:0})],{type:a}),"fromBlob"),Ei=n((i,o,a="")=>new qn([new Sr({path:o,size:i.size,lastModified:i.mtimeMs,start:0})],Ms(o),{type:a,lastModified:i.mtimeMs}),"fromFile"),Er=class Er{constructor(o){be(this,He);be(this,Ve);X(this,He,o.path),X(this,Ve,o.start),this.size=o.size,this.lastModified=o.lastModified}slice(o,a){return new Er({path:O(this,He),lastModified:this.lastModified,size:a-o,start:O(this,Ve)+o})}async*stream(){const{mtimeMs:o}=await $n(O(this,He));if(o>this.lastModified)throw new ml("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*Ds(O(this,He),{start:O(this,Ve),end:O(this,Ve)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};He=new WeakMap,Ve=new WeakMap,n(Er,"BlobDataItem");let Sr=Er;const wl=new Set(["data:","http:","https:"]);async function Ai(i,o){return new Promise((a,f)=>{const l=new dt(i,o),{parsedURL:p,options:h}=hl(l);if(!wl.has(p.protocol))throw new TypeError(`node-fetch cannot load ${i}. URL scheme "${p.protocol.replace(/:$/,"")}" is not supported.`);if(p.protocol==="data:"){const g=Us(l.url),V=new le(g,{headers:{"Content-Type":g.typeFull}});a(V);return}const S=(p.protocol==="https:"?zs:Bt).request,{signal:v}=l;let w=null;const A=n(()=>{const g=new _r("The operation was aborted.");f(g),l.body&&l.body instanceof me.Readable&&l.body.destroy(g),!(!w||!w.body)&&w.body.emit("error",g)},"abort");if(v&&v.aborted){A();return}const T=n(()=>{A(),q()},"abortAndFinalize"),b=S(p.toString(),h);v&&v.addEventListener("abort",T);const q=n(()=>{b.abort(),v&&v.removeEventListener("abort",T)},"finalize");b.on("error",g=>{f(new G(`request to ${l.url} failed, reason: ${g.message}`,"system",g)),q()}),Rl(b,g=>{w&&w.body&&w.body.destroy(g)}),process.version<"v14"&&b.on("socket",g=>{let V;g.prependListener("end",()=>{V=g._eventsCount}),g.prependListener("close",I=>{if(w&&V<g._eventsCount&&!I){const F=new Error("Premature close");F.code="ERR_STREAM_PREMATURE_CLOSE",w.body.emit("error",F)}})}),b.on("response",g=>{b.setTimeout(0);const V=ol(g.rawHeaders);if(jn(g.statusCode)){const z=V.get("Location");let j=null;try{j=z===null?null:new URL(z,l.url)}catch{if(l.redirect!=="manual"){f(new G(`uri requested responds with an invalid redirect URL: ${z}`,"invalid-redirect")),q();return}}switch(l.redirect){case"error":f(new G(`uri requested responds with a redirect, redirect mode is set to error: ${l.url}`,"no-redirect")),q();return;case"manual":break;case"follow":{if(j===null)break;if(l.counter>=l.follow){f(new G(`maximum redirect reached at: ${l.url}`,"max-redirect")),q();return}const U={headers:new ye(l.headers),follow:l.follow,counter:l.counter+1,agent:l.agent,compress:l.compress,method:l.method,body:In(l),signal:l.signal,size:l.size,referrer:l.referrer,referrerPolicy:l.referrerPolicy};if(!Js(l.url,j)||!Xs(l.url,j))for(const jt of["authorization","www-authenticate","cookie","cookie2"])U.headers.delete(jt);if(g.statusCode!==303&&l.body&&o.body instanceof me.Readable){f(new G("Cannot follow redirect with body being a readable stream","unsupported-redirect")),q();return}(g.statusCode===303||(g.statusCode===301||g.statusCode===302)&&l.method==="POST")&&(U.method="GET",U.body=void 0,U.headers.delete("content-length"));const D=cl(V);D&&(U.referrerPolicy=D),a(Ai(new dt(j,U))),q();return}default:return f(new TypeError(`Redirect option '${l.redirect}' is not a valid value of RequestRedirect`))}}v&&g.once("end",()=>{v.removeEventListener("abort",T)});let I=lt(g,new dr,z=>{z&&f(z)});process.version<"v12.10"&&g.on("aborted",T);const F={url:l.url,status:g.statusCode,statusText:g.statusMessage,headers:V,size:l.size,counter:l.counter,highWaterMark:l.highWaterMark},Q=V.get("Content-Encoding");if(!l.compress||l.method==="HEAD"||Q===null||g.statusCode===204||g.statusCode===304){w=new le(I,F),a(w);return}const ge={flush:st.Z_SYNC_FLUSH,finishFlush:st.Z_SYNC_FLUSH};if(Q==="gzip"||Q==="x-gzip"){I=lt(I,st.createGunzip(ge),z=>{z&&f(z)}),w=new le(I,F),a(w);return}if(Q==="deflate"||Q==="x-deflate"){const z=lt(g,new dr,j=>{j&&f(j)});z.once("data",j=>{(j[0]&15)===8?I=lt(I,st.createInflate(),U=>{U&&f(U)}):I=lt(I,st.createInflateRaw(),U=>{U&&f(U)}),w=new le(I,F),a(w)}),z.once("end",()=>{w||(w=new le(I,F),a(w))});return}if(Q==="br"){I=lt(I,st.createBrotliDecompress(),z=>{z&&f(z)}),w=new le(I,F),a(w);return}w=new le(I,F),a(w)}),nl(b,l).catch(f)})}n(Ai,"fetch$1");function Rl(i,o){const a=M.from(`0\r +\r +`);let f=!1,l=!1,p;i.on("response",h=>{const{headers:S}=h;f=S["transfer-encoding"]==="chunked"&&!S["content-length"]}),i.on("socket",h=>{const S=n(()=>{if(f&&!l){const w=new Error("Premature close");w.code="ERR_STREAM_PREMATURE_CLOSE",o(w)}},"onSocketClose"),v=n(w=>{l=M.compare(w.slice(-5),a)===0,!l&&p&&(l=M.compare(p.slice(-3),a.slice(0,3))===0&&M.compare(w.slice(-2),a.slice(3))===0),p=w},"onData");h.prependListener("close",S),h.on("data",v),i.on("close",()=>{h.removeListener("close",S),h.removeListener("data",v)})})}n(Rl,"fixResponseChunkedTransferBadEnding");const Bi=new WeakMap,Dn=new WeakMap;function W(i){const o=Bi.get(i);return console.assert(o!=null,"'this' is expected an Event object, but got",i),o}n(W,"pd");function ki(i){if(i.passiveListener!=null){typeof console<"u"&&typeof console.error=="function"&&console.error("Unable to preventDefault inside passive event listener invocation.",i.passiveListener);return}i.event.cancelable&&(i.canceled=!0,typeof i.event.preventDefault=="function"&&i.event.preventDefault())}n(ki,"setCancelFlag");function ht(i,o){Bi.set(this,{eventTarget:i,event:o,eventPhase:2,currentTarget:i,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:o.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});const a=Object.keys(o);for(let f=0;f<a.length;++f){const l=a[f];l in this||Object.defineProperty(this,l,Wi(l))}}n(ht,"Event"),ht.prototype={get type(){return W(this).event.type},get target(){return W(this).eventTarget},get currentTarget(){return W(this).currentTarget},composedPath(){const i=W(this).currentTarget;return i==null?[]:[i]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return W(this).eventPhase},stopPropagation(){const i=W(this);i.stopped=!0,typeof i.event.stopPropagation=="function"&&i.event.stopPropagation()},stopImmediatePropagation(){const i=W(this);i.stopped=!0,i.immediateStopped=!0,typeof i.event.stopImmediatePropagation=="function"&&i.event.stopImmediatePropagation()},get bubbles(){return!!W(this).event.bubbles},get cancelable(){return!!W(this).event.cancelable},preventDefault(){ki(W(this))},get defaultPrevented(){return W(this).canceled},get composed(){return!!W(this).event.composed},get timeStamp(){return W(this).timeStamp},get srcElement(){return W(this).eventTarget},get cancelBubble(){return W(this).stopped},set cancelBubble(i){if(!i)return;const o=W(this);o.stopped=!0,typeof o.event.cancelBubble=="boolean"&&(o.event.cancelBubble=!0)},get returnValue(){return!W(this).canceled},set returnValue(i){i||ki(W(this))},initEvent(){}},Object.defineProperty(ht.prototype,"constructor",{value:ht,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(ht.prototype,window.Event.prototype),Dn.set(window.Event.prototype,ht));function Wi(i){return{get(){return W(this).event[i]},set(o){W(this).event[i]=o},configurable:!0,enumerable:!0}}n(Wi,"defineRedirectDescriptor");function Tl(i){return{value(){const o=W(this).event;return o[i].apply(o,arguments)},configurable:!0,enumerable:!0}}n(Tl,"defineCallDescriptor");function Cl(i,o){const a=Object.keys(o);if(a.length===0)return i;function f(l,p){i.call(this,l,p)}n(f,"CustomEvent"),f.prototype=Object.create(i.prototype,{constructor:{value:f,configurable:!0,writable:!0}});for(let l=0;l<a.length;++l){const p=a[l];if(!(p in i.prototype)){const S=typeof Object.getOwnPropertyDescriptor(o,p).value=="function";Object.defineProperty(f.prototype,p,S?Tl(p):Wi(p))}}return f}n(Cl,"defineWrapper");function qi(i){if(i==null||i===Object.prototype)return ht;let o=Dn.get(i);return o==null&&(o=Cl(qi(Object.getPrototypeOf(i)),i),Dn.set(i,o)),o}n(qi,"getWrapper");function Pl(i,o){const a=qi(Object.getPrototypeOf(o));return new a(i,o)}n(Pl,"wrapEvent");function vl(i){return W(i).immediateStopped}n(vl,"isStopped");function El(i,o){W(i).eventPhase=o}n(El,"setEventPhase");function Al(i,o){W(i).currentTarget=o}n(Al,"setCurrentTarget");function Oi(i,o){W(i).passiveListener=o}n(Oi,"setPassiveListener");const zi=new WeakMap,Ii=1,Fi=2,wr=3;function Rr(i){return i!==null&&typeof i=="object"}n(Rr,"isObject");function Ot(i){const o=zi.get(i);if(o==null)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return o}n(Ot,"getListeners");function Bl(i){return{get(){let a=Ot(this).get(i);for(;a!=null;){if(a.listenerType===wr)return a.listener;a=a.next}return null},set(o){typeof o!="function"&&!Rr(o)&&(o=null);const a=Ot(this);let f=null,l=a.get(i);for(;l!=null;)l.listenerType===wr?f!==null?f.next=l.next:l.next!==null?a.set(i,l.next):a.delete(i):f=l,l=l.next;if(o!==null){const p={listener:o,listenerType:wr,passive:!1,once:!1,next:null};f===null?a.set(i,p):f.next=p}},configurable:!0,enumerable:!0}}n(Bl,"defineEventAttributeDescriptor");function ji(i,o){Object.defineProperty(i,`on${o}`,Bl(o))}n(ji,"defineEventAttribute");function Li(i){function o(){Pe.call(this)}n(o,"CustomEventTarget"),o.prototype=Object.create(Pe.prototype,{constructor:{value:o,configurable:!0,writable:!0}});for(let a=0;a<i.length;++a)ji(o.prototype,i[a]);return o}n(Li,"defineCustomEventTarget");function Pe(){if(this instanceof Pe){zi.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return Li(arguments[0]);if(arguments.length>0){const i=new Array(arguments.length);for(let o=0;o<arguments.length;++o)i[o]=arguments[o];return Li(i)}throw new TypeError("Cannot call a class as a function")}n(Pe,"EventTarget"),Pe.prototype={addEventListener(i,o,a){if(o==null)return;if(typeof o!="function"&&!Rr(o))throw new TypeError("'listener' should be a function or an object.");const f=Ot(this),l=Rr(a),h=(l?!!a.capture:!!a)?Ii:Fi,S={listener:o,listenerType:h,passive:l&&!!a.passive,once:l&&!!a.once,next:null};let v=f.get(i);if(v===void 0){f.set(i,S);return}let w=null;for(;v!=null;){if(v.listener===o&&v.listenerType===h)return;w=v,v=v.next}w.next=S},removeEventListener(i,o,a){if(o==null)return;const f=Ot(this),p=(Rr(a)?!!a.capture:!!a)?Ii:Fi;let h=null,S=f.get(i);for(;S!=null;){if(S.listener===o&&S.listenerType===p){h!==null?h.next=S.next:S.next!==null?f.set(i,S.next):f.delete(i);return}h=S,S=S.next}},dispatchEvent(i){if(i==null||typeof i.type!="string")throw new TypeError('"event.type" should be a string.');const o=Ot(this),a=i.type;let f=o.get(a);if(f==null)return!0;const l=Pl(this,i);let p=null;for(;f!=null;){if(f.once?p!==null?p.next=f.next:f.next!==null?o.set(a,f.next):o.delete(a):p=f,Oi(l,f.passive?f.listener:null),typeof f.listener=="function")try{f.listener.call(this,l)}catch(h){typeof console<"u"&&typeof console.error=="function"&&console.error(h)}else f.listenerType!==wr&&typeof f.listener.handleEvent=="function"&&f.listener.handleEvent(l);if(vl(l))break;f=f.next}return Oi(l,null),El(l,0),Al(l,null),!l.defaultPrevented}},Object.defineProperty(Pe.prototype,"constructor",{value:Pe,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(Pe.prototype,window.EventTarget.prototype);const Vn=class Vn extends Pe{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){const o=Tr.get(this);if(typeof o!="boolean")throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return o}};n(Vn,"AbortSignal");let pt=Vn;ji(pt.prototype,"abort");function kl(){const i=Object.create(pt.prototype);return Pe.call(i),Tr.set(i,!1),i}n(kl,"createAbortSignal");function Wl(i){Tr.get(i)===!1&&(Tr.set(i,!0),i.dispatchEvent({type:"abort"}))}n(Wl,"abortSignal");const Tr=new WeakMap;Object.defineProperties(pt.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pt.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});let Mn=(gt=class{constructor(){$i.set(this,kl())}get signal(){return Di(this)}abort(){Wl(Di(this))}},n(gt,"AbortController"),gt);const $i=new WeakMap;function Di(i){const o=$i.get(i);if(o==null)throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${i===null?"null":typeof i}`);return o}n(Di,"getSignal"),Object.defineProperties(Mn.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mn.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});var ql=Object.defineProperty,Ol=n((i,o)=>ql(i,"name",{value:o,configurable:!0}),"e");const Mi=Ai;Ui();function Ui(){!globalThis.process?.versions?.node&&!globalThis.process?.env?.DISABLE_NODE_FETCH_NATIVE_WARN&&console.warn("[node-fetch-native] Node.js compatible build of `node-fetch-native` is being used in a non-Node.js environment. Please make sure you are using proper export conditions or report this issue to https://github.com/unjs/node-fetch-native. You can set `process.env.DISABLE_NODE_FETCH_NATIVE_WARN` to disable this warning.")}n(Ui,"s"),Ol(Ui,"checkNodeEnvironment");export{Mn as AbortController,_r as AbortError,ut as Blob,G as FetchError,qn as File,br as FormData,ye as Headers,dt as Request,le as Response,gl as blobFrom,yl as blobFromSync,Mi as default,Mi as fetch,_l as fileFrom,Sl as fileFromSync,jn as isRedirect}; diff --git a/.output/server/node_modules/node-fetch-native/dist/shared/node-fetch-native.DfbY2q-x.mjs b/.output/server/node_modules/node-fetch-native/dist/shared/node-fetch-native.DfbY2q-x.mjs new file mode 100644 index 00000000..e1e9530b --- /dev/null +++ b/.output/server/node_modules/node-fetch-native/dist/shared/node-fetch-native.DfbY2q-x.mjs @@ -0,0 +1 @@ +var t=Object.defineProperty;var o=(e,l)=>t(e,"name",{value:l,configurable:!0});var n=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function f(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}o(f,"getDefaultExportFromCjs");export{n as c,f as g}; diff --git a/.output/server/node_modules/node-fetch-native/package.json b/.output/server/node_modules/node-fetch-native/package.json new file mode 100644 index 00000000..dab67275 --- /dev/null +++ b/.output/server/node_modules/node-fetch-native/package.json @@ -0,0 +1,138 @@ +{ + "name": "node-fetch-native", + "version": "1.6.7", + "description": "better fetch for Node.js. Works on any JavaScript runtime!", + "repository": "unjs/node-fetch-native", + "license": "MIT", + "type": "module", + "exports": { + ".": { + "browser": "./dist/native.mjs", + "bun": "./dist/native.mjs", + "deno": "./dist/native.mjs", + "edge-light": "./dist/native.mjs", + "edge-routine": "./dist/native.mjs", + "lagon": "./dist/native.mjs", + "netlify": "./dist/native.mjs", + "react-native": "./dist/native.mjs", + "wintercg": "./dist/native.mjs", + "worker": "./dist/native.mjs", + "workerd": "./dist/native.mjs", + "node": { + "import": { + "types": "./lib/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./lib/index.d.cts", + "default": "./lib/index.cjs" + } + }, + "types": "./lib/index.d.mts", + "import": "./dist/native.mjs", + "require": "./dist/native.cjs", + "default": "./dist/native.mjs" + }, + "./polyfill": { + "node": { + "import": { + "types": "./lib/polyfill.d.mts", + "default": "./dist/polyfill.mjs" + }, + "require": { + "types": "./lib/polyfill.d.cts", + "default": "./dist/polyfill.cjs" + } + }, + "types": "./lib/polyfill.d.mts", + "import": "./lib/empty.mjs", + "require": "./lib/empty.cjs", + "default": "./lib/empty.mjs" + }, + "./node": { + "import": { + "types": "./lib/index.d.mts", + "default": "./dist/node.mjs" + }, + "require": { + "types": "./lib/index.d.cts", + "default": "./dist/node.cjs" + } + }, + "./native": { + "import": { + "types": "./lib/index.d.mts", + "default": "./dist/native.mjs" + }, + "require": { + "types": "./lib/index.d.cts", + "default": "./lib/native.cjs" + } + }, + "./src/index.js": { + "import": { + "types": "./lib/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./lib/index.d.cts", + "default": "./lib/index.cjs" + } + }, + "./proxy": { + "node": { + "types": "./lib/proxy.d.ts", + "default": "./dist/proxy.cjs" + }, + "default": { + "import": { + "types": "./lib/proxy.d.ts", + "default": "./dist/proxy-stub.mjs" + }, + "require": { + "types": "./lib/proxy.d.ts", + "default": "./dist/proxy-stub.cjs" + } + } + } + }, + "main": "./lib/index.cjs", + "module": "./dist/index.mjs", + "react-native": "./dist/native.mjs", + "types": "./lib/index.d.mts", + "files": [ + "dist", + "lib", + "index.d.ts", + "node.d.ts", + "polyfill.d.ts", + "proxy.d.ts" + ], + "scripts": { + "build": "unbuild", + "lint": "eslint . && prettier -c src test lib", + "lint:fix": "eslint --fix . && prettier -w src test lib", + "prepack": "unbuild", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && pnpm build && vitest run --coverage" + }, + "devDependencies": { + "@types/node": "^24.1.0", + "@vitest/coverage-v8": "^3.2.4", + "abort-controller": "^3.0.0", + "agent-base": "^7.1.4", + "changelogen": "^0.6.2", + "eslint": "^9.32.0", + "eslint-config-unjs": "^0.5.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "node-fetch": "^3.3.2", + "prettier": "^3.6.2", + "proxy-agent": "^6.5.0", + "typescript": "^5.9.2", + "unbuild": "^3.6.0", + "undici": "^6.21.3", + "vitest": "^3.2.4" + }, + "packageManager": "pnpm@10.14.0" +} \ No newline at end of file diff --git a/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs b/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs new file mode 100644 index 00000000..a914c59f --- /dev/null +++ b/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs @@ -0,0 +1 @@ +export{Buffer}from"node:buffer"; diff --git a/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs b/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs new file mode 100644 index 00000000..f3e37cae --- /dev/null +++ b/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs @@ -0,0 +1 @@ +export{EventEmitter}from"node:events"; diff --git a/.output/server/node_modules/node-mock-http/dist/index.mjs b/.output/server/node_modules/node-mock-http/dist/index.mjs new file mode 100644 index 00000000..b01b9435 --- /dev/null +++ b/.output/server/node_modules/node-mock-http/dist/index.mjs @@ -0,0 +1 @@ +import{EventEmitter as f}from"node-mock-http/_polyfill/events";import{Buffer as h}from"node-mock-http/_polyfill/buffer";function o(n){throw new Error(`${n} is not implemented yet!`)}class i extends f{__unenv__={};readableEncoding=null;readableEnded=!0;readableFlowing=!1;readableHighWaterMark=0;readableLength=0;readableObjectMode=!1;readableAborted=!1;readableDidRead=!1;closed=!1;errored=null;readable=!1;destroyed=!1;static from(e,t){return new i(t)}constructor(e){super()}_read(e){}read(e){}setEncoding(e){return this}pause(){return this}resume(){return this}isPaused(){return!0}unpipe(e){return this}unshift(e,t){}wrap(e){return this}push(e,t){return!1}_destroy(e,t){this.removeAllListeners()}destroy(e){return this.destroyed=!0,this._destroy(e),this}pipe(e,t){return{}}compose(e,t){throw new Error("Method not implemented.")}[Symbol.asyncDispose](){return this.destroy(),Promise.resolve()}async*[Symbol.asyncIterator](){throw o("Readable.asyncIterator")}iterator(e){throw o("Readable.iterator")}map(e,t){throw o("Readable.map")}filter(e,t){throw o("Readable.filter")}forEach(e,t){throw o("Readable.forEach")}reduce(e,t,r){throw o("Readable.reduce")}find(e,t){throw o("Readable.find")}findIndex(e,t){throw o("Readable.findIndex")}some(e,t){throw o("Readable.some")}toArray(e){throw o("Readable.toArray")}every(e,t){throw o("Readable.every")}flatMap(e,t){throw o("Readable.flatMap")}drop(e,t){throw o("Readable.drop")}take(e,t){throw o("Readable.take")}asIndexedPairs(e){throw o("Readable.asIndexedPairs")}}class l extends f{__unenv__={};writable=!0;writableEnded=!1;writableFinished=!1;writableHighWaterMark=0;writableLength=0;writableObjectMode=!1;writableCorked=0;closed=!1;errored=null;writableNeedDrain=!1;writableAborted=!1;destroyed=!1;_data;_encoding="utf8";constructor(e){super()}pipe(e,t){return{}}_write(e,t,r){if(this.writableEnded){r&&r();return}if(this._data===void 0)this._data=e;else{const s=typeof this._data=="string"?h.from(this._data,this._encoding||t||"utf8"):this._data,a=typeof e=="string"?h.from(e,t||this._encoding||"utf8"):e;this._data=h.concat([s,a])}this._encoding=t,r&&r()}_writev(e,t){}_destroy(e,t){}_final(e){}write(e,t,r){const s=typeof t=="string"?this._encoding:"utf8",a=typeof t=="function"?t:typeof r=="function"?r:void 0;return this._write(e,s,a),!0}setDefaultEncoding(e){return this}end(e,t,r){const s=typeof e=="function"?e:typeof t=="function"?t:typeof r=="function"?r:void 0;if(this.writableEnded)return s&&s(),this;const a=e===s?void 0:e;if(a){const u=t===s?void 0:t;this.write(a,u,s)}return this.writableEnded=!0,this.writableFinished=!0,this.emit("close"),this.emit("finish"),this}cork(){}uncork(){}destroy(e){return this.destroyed=!0,delete this._data,this.removeAllListeners(),this}compose(e,t){throw new Error("Method not implemented.")}[Symbol.asyncDispose](){return Promise.resolve()}}const c=class{allowHalfOpen=!0;_destroy;constructor(e=new i,t=new l){Object.assign(this,e),Object.assign(this,t),this._destroy=m(e._destroy,t._destroy)}};function _(){return Object.assign(c.prototype,i.prototype),Object.assign(c.prototype,l.prototype),c}function m(...n){return function(...e){for(const t of n)t(...e)}}const g=_();class A extends g{__unenv__={};bufferSize=0;bytesRead=0;bytesWritten=0;connecting=!1;destroyed=!1;pending=!1;localAddress="";localPort=0;remoteAddress="";remoteFamily="";remotePort=0;autoSelectFamilyAttemptedAddresses=[];readyState="readOnly";constructor(e){super()}write(e,t,r){return!1}connect(e,t,r){return this}end(e,t,r){return this}setEncoding(e){return this}pause(){return this}resume(){return this}setTimeout(e,t){return this}setNoDelay(e){return this}setKeepAlive(e,t){return this}address(){return{}}unref(){return this}ref(){return this}destroySoon(){this.destroy()}resetAndDestroy(){const e=new Error("ERR_SOCKET_CLOSED");return e.code="ERR_SOCKET_CLOSED",this.destroy(e),this}}class y extends i{aborted=!1;httpVersion="1.1";httpVersionMajor=1;httpVersionMinor=1;complete=!0;connection;socket;headers={};trailers={};method="GET";url="/";statusCode=200;statusMessage="";closed=!1;errored=null;readable=!1;constructor(e){super(),this.socket=this.connection=e||new A}get rawHeaders(){const e=this.headers,t=[];for(const r in e)if(Array.isArray(e[r]))for(const s of e[r])t.push(r,s);else t.push(r,e[r]);return t}get rawTrailers(){return[]}setTimeout(e,t){return this}get headersDistinct(){return p(this.headers)}get trailersDistinct(){return p(this.trailers)}}function p(n){const e={};for(const[t,r]of Object.entries(n))t&&(e[t]=(Array.isArray(r)?r:[r]).filter(Boolean));return e}class w extends l{statusCode=200;statusMessage="";upgrading=!1;chunkedEncoding=!1;shouldKeepAlive=!1;useChunkedEncodingByDefault=!1;sendDate=!1;finished=!1;headersSent=!1;strictContentLength=!1;connection=null;socket=null;req;_headers={};constructor(e){super(),this.req=e}assignSocket(e){e._httpMessage=this,this.socket=e,this.connection=e,this.emit("socket",e),this._flush()}_flush(){this.flushHeaders()}detachSocket(e){}writeContinue(e){}writeHead(e,t,r){e&&(this.statusCode=e),typeof t=="string"&&(this.statusMessage=t,t=void 0);const s=r||t;if(s&&!Array.isArray(s))for(const a in s)this.setHeader(a,s[a]);return this.headersSent=!0,this}writeProcessing(){}setTimeout(e,t){return this}appendHeader(e,t){e=e.toLowerCase();const r=this._headers[e],s=[...Array.isArray(r)?r:[r],...Array.isArray(t)?t:[t]].filter(Boolean);return this._headers[e]=s.length>1?s:s[0],this}setHeader(e,t){return this._headers[e.toLowerCase()]=t,this}setHeaders(e){for(const[t,r]of Object.entries(e))this.setHeader(t,r);return this}getHeader(e){return this._headers[e.toLowerCase()]}getHeaders(){return this._headers}getHeaderNames(){return Object.keys(this._headers)}hasHeader(e){return e.toLowerCase()in this._headers}removeHeader(e){delete this._headers[e.toLowerCase()]}addTrailers(e){}flushHeaders(){}writeEarlyHints(e,t){typeof t=="function"&&t()}}const E=(()=>{const n=function(){};return n.prototype=Object.create(null),n})();function R(n={}){const e=new E,t=Array.isArray(n)||H(n)?n:Object.entries(n);for(const[r,s]of t)if(s){if(e[r]===void 0){e[r]=s;continue}e[r]=[...Array.isArray(e[r])?e[r]:[e[r]],...Array.isArray(s)?s:[s]]}return e}function H(n){return typeof n?.entries=="function"}function v(n={}){if(n instanceof Headers)return n;const e=new Headers;for(const[t,r]of Object.entries(n))if(r!==void 0){if(Array.isArray(r)){for(const s of r)e.append(t,String(s));continue}e.set(t,String(r))}return e}const S=new Set([101,204,205,304]);async function b(n,e){const t=new y,r=new w(t);t.url=e.url?.toString()||"/";let s;if(!t.url.startsWith("/")){const d=new URL(t.url);s=d.host,t.url=d.pathname+d.search+d.hash}t.method=e.method||"GET",t.headers=R(e.headers||{}),t.headers.host||(t.headers.host=e.host||s||"localhost"),t.connection.encrypted=t.connection.encrypted||e.protocol==="https",t.body=e.body||null,t.__unenv__=e.context,await n(t,r);let a=r._data;(S.has(r.statusCode)||t.method.toUpperCase()==="HEAD")&&(a=null,delete r._headers["content-length"]);const u={status:r.statusCode,statusText:r.statusMessage,headers:r._headers,body:a};return t.destroy(),r.destroy(),u}async function C(n,e,t={}){try{const r=await b(n,{url:e,...t});return new Response(r.body,{status:r.status,statusText:r.statusText,headers:v(r.headers)})}catch(r){return new Response(r.toString(),{status:Number.parseInt(r.statusCode||r.code)||500,statusText:r.statusText})}}export{y as IncomingMessage,w as ServerResponse,b as callNodeRequestHandler,C as fetchNodeRequestHandler}; diff --git a/.output/server/node_modules/node-mock-http/package.json b/.output/server/node_modules/node-mock-http/package.json new file mode 100644 index 00000000..212544d4 --- /dev/null +++ b/.output/server/node_modules/node-mock-http/package.json @@ -0,0 +1,63 @@ +{ + "name": "node-mock-http", + "version": "1.0.3", + "description": "", + "repository": "unjs/node-mock-http", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./_polyfill/buffer": { + "import": { + "node": "./dist/_polyfill/buffer/node.mjs", + "default": "./dist/_polyfill/buffer/nodeless.mjs" + }, + "require": { + "node": "./dist/_polyfill/buffer/node.cjs", + "default": "./dist/_polyfill/buffer/nodeless.cjs" + } + }, + "./_polyfill/events": { + "import": { + "node": "./dist/_polyfill/events/node.mjs", + "default": "./dist/_polyfill/events/nodeless.mjs" + }, + "require": { + "node": "./dist/_polyfill/events/node.cjs", + "default": "./dist/_polyfill/events/nodeless.cjs" + } + } + }, + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild --minify", + "dev": "vitest dev --coverage", + "lint": "eslint . && prettier -c .", + "lint:fix": "automd && eslint . --fix && prettier -w .", + "prepack": "pnpm build", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && pnpm test:types && vitest run --coverage", + "test:types": "tsc --noEmit --skipLibCheck" + }, + "devDependencies": { + "@types/node": "^24.3.1", + "@vitest/coverage-v8": "^3.2.4", + "automd": "^0.4.0", + "changelogen": "^0.6.2", + "eslint": "^9.34.0", + "eslint-config-unjs": "^0.5.0", + "jiti": "^2.5.1", + "prettier": "^3.6.2", + "typescript": "^5.9.2", + "unbuild": "^3.6.1", + "vitest": "^3.2.4" + }, + "packageManager": "pnpm@10.15.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/nth-check/lib/compile.js b/.output/server/node_modules/nth-check/lib/compile.js new file mode 100644 index 00000000..cef1af44 --- /dev/null +++ b/.output/server/node_modules/nth-check/lib/compile.js @@ -0,0 +1,121 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.generate = exports.compile = void 0; +var boolbase_1 = __importDefault(require("boolbase")); +/** + * Returns a function that checks if an elements index matches the given rule + * highly optimized to return the fastest solution. + * + * @param parsed A tuple [a, b], as returned by `parse`. + * @returns A highly optimized function that returns whether an index matches the nth-check. + * @example + * + * ```js + * const check = nthCheck.compile([2, 3]); + * + * check(0); // `false` + * check(1); // `false` + * check(2); // `true` + * check(3); // `false` + * check(4); // `true` + * check(5); // `false` + * check(6); // `true` + * ``` + */ +function compile(parsed) { + var a = parsed[0]; + // Subtract 1 from `b`, to convert from one- to zero-indexed. + var b = parsed[1] - 1; + /* + * When `b <= 0`, `a * n` won't be lead to any matches for `a < 0`. + * Besides, the specification states that no elements are + * matched when `a` and `b` are 0. + * + * `b < 0` here as we subtracted 1 from `b` above. + */ + if (b < 0 && a <= 0) + return boolbase_1.default.falseFunc; + // When `a` is in the range -1..1, it matches any element (so only `b` is checked). + if (a === -1) + return function (index) { return index <= b; }; + if (a === 0) + return function (index) { return index === b; }; + // When `b <= 0` and `a === 1`, they match any element. + if (a === 1) + return b < 0 ? boolbase_1.default.trueFunc : function (index) { return index >= b; }; + /* + * Otherwise, modulo can be used to check if there is a match. + * + * Modulo doesn't care about the sign, so let's use `a`s absolute value. + */ + var absA = Math.abs(a); + // Get `b mod a`, + a if this is negative. + var bMod = ((b % absA) + absA) % absA; + return a > 1 + ? function (index) { return index >= b && index % absA === bMod; } + : function (index) { return index <= b && index % absA === bMod; }; +} +exports.compile = compile; +/** + * Returns a function that produces a monotonously increasing sequence of indices. + * + * If the sequence has an end, the returned function will return `null` after + * the last index in the sequence. + * + * @param parsed A tuple [a, b], as returned by `parse`. + * @returns A function that produces a sequence of indices. + * @example <caption>Always increasing (2n+3)</caption> + * + * ```js + * const gen = nthCheck.generate([2, 3]) + * + * gen() // `1` + * gen() // `3` + * gen() // `5` + * gen() // `8` + * gen() // `11` + * ``` + * + * @example <caption>With end value (-2n+10)</caption> + * + * ```js + * + * const gen = nthCheck.generate([-2, 5]); + * + * gen() // 0 + * gen() // 2 + * gen() // 4 + * gen() // null + * ``` + */ +function generate(parsed) { + var a = parsed[0]; + // Subtract 1 from `b`, to convert from one- to zero-indexed. + var b = parsed[1] - 1; + var n = 0; + // Make sure to always return an increasing sequence + if (a < 0) { + var aPos_1 = -a; + // Get `b mod a` + var minValue_1 = ((b % aPos_1) + aPos_1) % aPos_1; + return function () { + var val = minValue_1 + aPos_1 * n++; + return val > b ? null : val; + }; + } + if (a === 0) + return b < 0 + ? // There are no result — always return `null` + function () { return null; } + : // Return `b` exactly once + function () { return (n++ === 0 ? b : null); }; + if (b < 0) { + b += a * Math.ceil(-b / a); + } + return function () { return a * n++ + b; }; +} +exports.generate = generate; +//# sourceMappingURL=compile.js.map \ No newline at end of file diff --git a/.output/server/node_modules/nth-check/lib/index.js b/.output/server/node_modules/nth-check/lib/index.js new file mode 100644 index 00000000..30a7e29c --- /dev/null +++ b/.output/server/node_modules/nth-check/lib/index.js @@ -0,0 +1,70 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sequence = exports.generate = exports.compile = exports.parse = void 0; +var parse_js_1 = require("./parse.js"); +Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_js_1.parse; } }); +var compile_js_1 = require("./compile.js"); +Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return compile_js_1.compile; } }); +Object.defineProperty(exports, "generate", { enumerable: true, get: function () { return compile_js_1.generate; } }); +/** + * Parses and compiles a formula to a highly optimized function. + * Combination of {@link parse} and {@link compile}. + * + * If the formula doesn't match any elements, + * it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`. + * Otherwise, a function accepting an _index_ is returned, which returns + * whether or not the passed _index_ matches the formula. + * + * Note: The nth-rule starts counting at `1`, the returned function at `0`. + * + * @param formula The formula to compile. + * @example + * const check = nthCheck("2n+3"); + * + * check(0); // `false` + * check(1); // `false` + * check(2); // `true` + * check(3); // `false` + * check(4); // `true` + * check(5); // `false` + * check(6); // `true` + */ +function nthCheck(formula) { + return (0, compile_js_1.compile)((0, parse_js_1.parse)(formula)); +} +exports.default = nthCheck; +/** + * Parses and compiles a formula to a generator that produces a sequence of indices. + * Combination of {@link parse} and {@link generate}. + * + * @param formula The formula to compile. + * @returns A function that produces a sequence of indices. + * @example <caption>Always increasing</caption> + * + * ```js + * const gen = nthCheck.sequence('2n+3') + * + * gen() // `1` + * gen() // `3` + * gen() // `5` + * gen() // `8` + * gen() // `11` + * ``` + * + * @example <caption>With end value</caption> + * + * ```js + * + * const gen = nthCheck.sequence('-2n+5'); + * + * gen() // 0 + * gen() // 2 + * gen() // 4 + * gen() // null + * ``` + */ +function sequence(formula) { + return (0, compile_js_1.generate)((0, parse_js_1.parse)(formula)); +} +exports.sequence = sequence; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/.output/server/node_modules/nth-check/lib/parse.js b/.output/server/node_modules/nth-check/lib/parse.js new file mode 100644 index 00000000..904244c4 --- /dev/null +++ b/.output/server/node_modules/nth-check/lib/parse.js @@ -0,0 +1,77 @@ +"use strict"; +// Following http://www.w3.org/TR/css3-selectors/#nth-child-pseudo +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parse = void 0; +// Whitespace as per https://www.w3.org/TR/selectors-3/#lex is " \t\r\n\f" +var whitespace = new Set([9, 10, 12, 13, 32]); +var ZERO = "0".charCodeAt(0); +var NINE = "9".charCodeAt(0); +/** + * Parses an expression. + * + * @throws An `Error` if parsing fails. + * @returns An array containing the integer step size and the integer offset of the nth rule. + * @example nthCheck.parse("2n+3"); // returns [2, 3] + */ +function parse(formula) { + formula = formula.trim().toLowerCase(); + if (formula === "even") { + return [2, 0]; + } + else if (formula === "odd") { + return [2, 1]; + } + // Parse [ ['-'|'+']? INTEGER? {N} [ S* ['-'|'+'] S* INTEGER ]? + var idx = 0; + var a = 0; + var sign = readSign(); + var number = readNumber(); + if (idx < formula.length && formula.charAt(idx) === "n") { + idx++; + a = sign * (number !== null && number !== void 0 ? number : 1); + skipWhitespace(); + if (idx < formula.length) { + sign = readSign(); + skipWhitespace(); + number = readNumber(); + } + else { + sign = number = 0; + } + } + // Throw if there is anything else + if (number === null || idx < formula.length) { + throw new Error("n-th rule couldn't be parsed ('".concat(formula, "')")); + } + return [a, sign * number]; + function readSign() { + if (formula.charAt(idx) === "-") { + idx++; + return -1; + } + if (formula.charAt(idx) === "+") { + idx++; + } + return 1; + } + function readNumber() { + var start = idx; + var value = 0; + while (idx < formula.length && + formula.charCodeAt(idx) >= ZERO && + formula.charCodeAt(idx) <= NINE) { + value = value * 10 + (formula.charCodeAt(idx) - ZERO); + idx++; + } + // Return `null` if we didn't read anything. + return idx === start ? null : value; + } + function skipWhitespace() { + while (idx < formula.length && + whitespace.has(formula.charCodeAt(idx))) { + idx++; + } + } +} +exports.parse = parse; +//# sourceMappingURL=parse.js.map \ No newline at end of file diff --git a/.output/server/node_modules/nth-check/package.json b/.output/server/node_modules/nth-check/package.json new file mode 100644 index 00000000..bf1c1d3f --- /dev/null +++ b/.output/server/node_modules/nth-check/package.json @@ -0,0 +1,78 @@ +{ + "name": "nth-check", + "version": "2.1.1", + "description": "Parses and compiles CSS nth-checks to highly optimized functions.", + "author": "Felix Boehm <me@feedic.com>", + "license": "BSD-2-Clause", + "sideEffects": false, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + }, + "directories": { + "lib": "lib/" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "module": "lib/esm/index.js", + "exports": { + "require": "./lib/index.js", + "import": "./lib/esm/index.js" + }, + "files": [ + "lib/**/*" + ], + "scripts": { + "test": "npm run test:jest && npm run lint", + "test:jest": "jest", + "lint": "npm run lint:es && npm run lint:prettier", + "lint:es": "eslint .", + "lint:prettier": "npm run prettier -- --check", + "format": "npm run format:es && npm run format:prettier", + "format:es": "npm run lint:es -- --fix", + "format:prettier": "npm run prettier -- --write", + "prettier": "prettier '**/*.{ts,md,json,yml}'", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc --sourceRoot https://raw.githubusercontent.com/fb55/nth-check/$(git rev-parse HEAD)/src/", + "build:esm": "npm run build:cjs -- --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json", + "prepare": "npm run build" + }, + "repository": { + "type": "git", + "url": "https://github.com/fb55/nth-check" + }, + "keywords": [ + "nth-child", + "nth", + "css" + ], + "bugs": { + "url": "https://github.com/fb55/nth-check/issues" + }, + "homepage": "https://github.com/fb55/nth-check", + "dependencies": { + "boolbase": "^1.0.0" + }, + "devDependencies": { + "@types/boolbase": "^1.0.1", + "@types/jest": "^27.5.0", + "@types/node": "^17.0.35", + "@typescript-eslint/eslint-plugin": "^5.25.0", + "@typescript-eslint/parser": "^5.25.0", + "eslint": "^8.15.0", + "eslint-config-prettier": "^8.5.0", + "jest": "^27.5.1", + "prettier": "^2.6.2", + "ts-jest": "^27.1.4", + "typescript": "^4.6.4" + }, + "jest": { + "preset": "ts-jest", + "testEnvironment": "node", + "moduleNameMapper": { + "^(.*)\\.js$": "$1" + } + }, + "prettier": { + "tabWidth": 4 + } +} \ No newline at end of file diff --git a/.output/server/node_modules/numbro/dist/numbro.min.js b/.output/server/node_modules/numbro/dist/numbro.min.js new file mode 100644 index 00000000..b5f60600 --- /dev/null +++ b/.output/server/node_modules/numbro/dist/numbro.min.js @@ -0,0 +1,194 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).numbro=t()}(this,(function(){"use strict";var e,t,r,n,i,a,o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */function s(){return t?e:(t=1,e={languageTag:"en-US",delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},spaceSeparated:!1,ordinal:function(e){let t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},bytes:{binarySuffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],decimalSuffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},currency:{symbol:"$",position:"prefix",code:"USD"},currencyFormat:{thousandSeparated:!0,totalLength:4,spaceSeparated:!0,spaceSeparatedCurrency:!0},formats:{fourDigits:{totalLength:4,spaceSeparated:!0},fullWithTwoDecimals:{output:"currency",thousandSeparated:!0,mantissa:2},fullWithTwoDecimalsNoCurrency:{thousandSeparated:!0,mantissa:2},fullWithNoDecimals:{output:"currency",thousandSeparated:!0,mantissa:0}}})} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */function l(){if(n)return r;n=1;const e=[{key:"ZiB",factor:Math.pow(1024,7)},{key:"ZB",factor:Math.pow(1e3,7)},{key:"YiB",factor:Math.pow(1024,8)},{key:"YB",factor:Math.pow(1e3,8)},{key:"TiB",factor:Math.pow(1024,4)},{key:"TB",factor:Math.pow(1e3,4)},{key:"PiB",factor:Math.pow(1024,5)},{key:"PB",factor:Math.pow(1e3,5)},{key:"MiB",factor:Math.pow(1024,2)},{key:"MB",factor:Math.pow(1e3,2)},{key:"KiB",factor:Math.pow(1024,1)},{key:"KB",factor:Math.pow(1e3,1)},{key:"GiB",factor:Math.pow(1024,3)},{key:"GB",factor:Math.pow(1e3,3)},{key:"EiB",factor:Math.pow(1024,6)},{key:"EB",factor:Math.pow(1e3,6)},{key:"B",factor:1}];function t(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function i(r,n,a,o,u,s,l){if(!isNaN(+r))return+r;let c="",f=r.replace(/(^[^(]*)\((.*)\)([^)]*$)/,"$1$2$3");if(f!==r)return-1*i(f,n,a,o,u,s);for(let t=0;t<e.length;t++){let l=e[t];if(c=r.replace(RegExp(`([0-9 ])(${l.key})$`),"$1"),c!==r)return i(c,n,a,o,u,s)*l.factor}if(c=r.replace("%",""),c!==r)return i(c,n,a,o,u,s)/100;let p=parseFloat(r);if(isNaN(p))return;let g=o(p);if(g&&"."!==g&&(c=r.replace(new RegExp(`${t(g)}$`),""),c!==r))return i(c,n,a,o,u,s);let h={};Object.keys(s).forEach((e=>{h[s[e]]=e}));let d=Object.keys(h).sort().reverse(),m=d.length;for(let e=0;e<m;e++){let t=d[e],l=h[t];if(c=r.replace(t,""),c!==r){let e;switch(l){case"thousand":e=Math.pow(10,3);break;case"million":e=Math.pow(10,6);break;case"billion":e=Math.pow(10,9);break;case"trillion":e=Math.pow(10,12)}return i(c,n,a,o,u,s)*e}}}function a(e,r,n="",a,o,u,s){if(""===e)return;if(e===o)return 0;let l=function(e,r,n){let i=e.replace(n,"");return i=i.replace(new RegExp(`([0-9])${t(r.thousands)}([0-9])`,"g"),"$1$2"),i=i.replace(r.decimal,"."),i}(e,r,n);return i(l,r,n,a,o,u)}return r={unformat:function(e,t){const r=h();let n,i=r.currentDelimiters(),o=r.currentCurrency().symbol,u=r.currentOrdinal(),s=r.getZeroFormat(),l=r.currentAbbreviations();if("string"==typeof e)n=function(e,t){if(!e.indexOf(":")||":"===t.thousands)return!1;let r=e.split(":");if(3!==r.length)return!1;let n=+r[0],i=+r[1],a=+r[2];return!isNaN(n)&&!isNaN(i)&&!isNaN(a)}(e,i)?function(e){let t=e.split(":"),r=+t[0],n=+t[1];return+t[2]+60*n+3600*r}(e):a(e,i,o,u,s,l);else{if("number"!=typeof e)return;n=e}if(void 0!==n)return n}},r} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */function c(){if(a)return i;a=1;let e=l();const t=/^[a-z]{2,3}(-[a-zA-Z]{4})?(-([A-Z]{2}|[0-9]{3}))?$/,r={output:{type:"string",validValues:["currency","percent","byte","time","ordinal","number"]},base:{type:"string",validValues:["decimal","binary","general"],restriction:(e,t)=>"byte"===t.output,message:"`base` must be provided only when the output is `byte`",mandatory:e=>"byte"===e.output},characteristic:{type:"number",restriction:e=>e>=0,message:"value must be positive"},prefix:"string",postfix:"string",forceAverage:{type:"string",validValues:["trillion","billion","million","thousand"]},average:"boolean",lowPrecision:{type:"boolean",restriction:(e,t)=>!0===t.average,message:"`lowPrecision` must be provided only when the option `average` is set"},currencyPosition:{type:"string",validValues:["prefix","infix","postfix"]},currencySymbol:"string",totalLength:{type:"number",restrictions:[{restriction:e=>e>=0,message:"value must be positive"},{restriction:(e,t)=>!t.exponential,message:"`totalLength` is incompatible with `exponential`"}]},mantissa:{type:"number",restriction:e=>e>=0,message:"value must be positive"},optionalMantissa:"boolean",trimMantissa:"boolean",roundingFunction:"function",optionalCharacteristic:"boolean",thousandSeparated:"boolean",spaceSeparated:"boolean",spaceSeparatedCurrency:"boolean",spaceSeparatedAbbreviation:"boolean",abbreviations:{type:"object",children:{thousand:"string",million:"string",billion:"string",trillion:"string"}},negative:{type:"string",validValues:["sign","parenthesis"]},forceSign:"boolean",exponential:{type:"boolean"},prefixSymbol:{type:"boolean",restriction:(e,t)=>"percent"===t.output,message:"`prefixSymbol` can be provided only when the output is `percent`"}},n={languageTag:{type:"string",mandatory:!0,restriction:e=>e.match(t),message:"the language tag must follow the BCP 47 specification (see https://tools.ieft.org/html/bcp47)"},delimiters:{type:"object",children:{thousands:"string",decimal:"string",thousandsSize:"number"},mandatory:!0},abbreviations:{type:"object",children:{thousand:{type:"string",mandatory:!0},million:{type:"string",mandatory:!0},billion:{type:"string",mandatory:!0},trillion:{type:"string",mandatory:!0}},mandatory:!0},spaceSeparated:"boolean",spaceSeparatedCurrency:"boolean",ordinal:{type:"function",mandatory:!0},bytes:{type:"object",children:{binarySuffixes:"object",decimalSuffixes:"object"}},currency:{type:"object",children:{symbol:"string",position:"string",code:"string"},mandatory:!0},defaults:"format",ordinalFormat:"format",byteFormat:"format",percentageFormat:"format",currencyFormat:"format",timeDefaults:"format",formats:{type:"object",children:{fourDigits:{type:"format",mandatory:!0},fullWithTwoDecimals:{type:"format",mandatory:!0},fullWithTwoDecimalsNoCurrency:{type:"format",mandatory:!0},fullWithNoDecimals:{type:"format",mandatory:!0}}}};function o(t){return void 0!==e.unformat(t)}function u(e,t,n,i=!1){let a=Object.keys(e).map((i=>{if(!t[i])return console.error(`${n} Invalid key: ${i}`),!1;let a=e[i],o=t[i];if("string"==typeof o&&(o={type:o}),"format"===o.type){if(!u(a,r,`[Validate ${i}]`,!0))return!1}else if(typeof a!==o.type)return console.error(`${n} ${i} type mismatched: "${o.type}" expected, "${typeof a}" provided`),!1;if(o.restrictions&&o.restrictions.length){let t=o.restrictions.length;for(let r=0;r<t;r++){let{restriction:t,message:u}=o.restrictions[r];if(!t(a,e))return console.error(`${n} ${i} invalid value: ${u}`),!1}}if(o.restriction&&!o.restriction(a,e))return console.error(`${n} ${i} invalid value: ${o.message}`),!1;if(o.validValues&&-1===o.validValues.indexOf(a))return console.error(`${n} ${i} invalid value: must be among ${JSON.stringify(o.validValues)}, "${a}" provided`),!1;if(o.children){if(!u(a,o.children,`[Validate ${i}]`))return!1}return!0}));return i||a.push(...Object.keys(t).map((r=>{let i=t[r];if("string"==typeof i&&(i={type:i}),i.mandatory){let t=i.mandatory;if("function"==typeof t&&(t=t(e)),t&&void 0===e[r])return console.error(`${n} Missing mandatory key "${r}"`),!1}return!0}))),a.reduce(((e,t)=>e&&t),!0)}function s(e){return u(e,r,"[Validate format]")}return i={validate:function(e,t){let r=o(e),n=s(t);return r&&n},validateFormat:s,validateInput:o,validateLanguage:function(e){return u(e,n,"[Validate language]")}},i} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */var f,p,g={parseFormat:function(e,t={}){return"string"!=typeof e?e:(function(e,t){if(-1===e.indexOf("$")){if(-1===e.indexOf("%"))return-1!==e.indexOf("bd")?(t.output="byte",void(t.base="general")):-1!==e.indexOf("b")?(t.output="byte",void(t.base="binary")):-1!==e.indexOf("d")?(t.output="byte",void(t.base="decimal")):void(-1===e.indexOf(":")?-1!==e.indexOf("o")&&(t.output="ordinal"):t.output="time");t.output="percent"}else t.output="currency"}(e=function(e,t){let r=e.match(/{([^}]*)}$/);return r?(t.postfix=r[1],e.slice(0,-r[0].length)):e}(e=function(e,t){let r=e.match(/^{([^}]*)}/);return r?(t.prefix=r[1],e.slice(r[0].length)):e}(e,t),t),t),function(e,t){let r=e.match(/[1-9]+[0-9]*/);r&&(t.totalLength=+r[0])}(e,t),function(e,t){let r=e.split(".")[0].match(/0+/);r&&(t.characteristic=r[0].length)}(e,t),function(e,t){if(-1!==e.indexOf(".")){let r=e.split(".")[0];t.optionalCharacteristic=-1===r.indexOf("0")}}(e,t),function(e,t){-1!==e.indexOf("a")&&(t.average=!0)}(e,t),function(e,t){-1!==e.indexOf("K")?t.forceAverage="thousand":-1!==e.indexOf("M")?t.forceAverage="million":-1!==e.indexOf("B")?t.forceAverage="billion":-1!==e.indexOf("T")&&(t.forceAverage="trillion")}(e,t),function(e,t){let r=e.split(".")[1];if(r){let e=r.match(/0+/);e&&(t.mantissa=e[0].length)}}(e,t),function(e,t){e.match(/\[\.]/)?t.optionalMantissa=!0:e.match(/\./)&&(t.optionalMantissa=!1)}(e,t),function(e,t){const r=e.split(".")[1];r&&(t.trimMantissa=-1!==r.indexOf("["))}(e,t),function(e,t){-1!==e.indexOf(",")&&(t.thousandSeparated=!0)}(e,t),function(e,t){-1!==e.indexOf(" ")&&(t.spaceSeparated=!0,t.spaceSeparatedCurrency=!0,(t.average||t.forceAverage)&&(t.spaceSeparatedAbbreviation=!0))}(e,t),function(e,t){e.match(/^\+?\([^)]*\)$/)&&(t.negative="parenthesis"),e.match(/^\+?-/)&&(t.negative="sign")}(e,t),function(e,t){e.match(/^\+/)&&(t.forceSign=!0)}(e,t),t)}}; +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */function h(){if(p)return f;p=1;const e=s(),t=c(),r=g;let n,i={},a={},o=null,u={};function l(e){n=e}function h(){return a[n]}return i.languages=()=>Object.assign({},a),i.currentLanguage=()=>n,i.currentBytes=()=>h().bytes||{},i.currentCurrency=()=>h().currency,i.currentAbbreviations=()=>h().abbreviations,i.currentDelimiters=()=>h().delimiters,i.currentOrdinal=()=>h().ordinal,i.currentDefaults=()=>Object.assign({},h().defaults,u),i.currentOrdinalDefaultFormat=()=>Object.assign({},i.currentDefaults(),h().ordinalFormat),i.currentByteDefaultFormat=()=>Object.assign({},i.currentDefaults(),h().byteFormat),i.currentPercentageDefaultFormat=()=>Object.assign({},i.currentDefaults(),h().percentageFormat),i.currentCurrencyDefaultFormat=()=>Object.assign({},i.currentDefaults(),h().currencyFormat),i.currentTimeDefaultFormat=()=>Object.assign({},i.currentDefaults(),h().timeFormat),i.setDefaults=e=>{e=r.parseFormat(e),t.validateFormat(e)&&(u=e)},i.getZeroFormat=()=>o,i.setZeroFormat=e=>o="string"==typeof e?e:null,i.hasZeroFormat=()=>null!==o,i.languageData=e=>{if(e){if(a[e])return a[e];throw new Error(`Unknown tag "${e}"`)}return h()},i.registerLanguage=(e,r=!1)=>{if(!t.validateLanguage(e))throw new Error("Invalid language data");a[e.languageTag]=e,r&&l(e.languageTag)},i.setLanguage=(t,r=e.languageTag)=>{if(!a[t]){let e=t.split("-")[0],n=Object.keys(a).find((t=>t.split("-")[0]===e));return a[n]?void l(n):void l(r)}l(t)},i.registerLanguage(e),n=e.languageTag,f=i} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +function d(e,t){e.forEach((e=>{let r;try{r=function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(`../languages/${e}`)}catch(t){console.error(`Unable to load "${e}". No matching language file found.`)}r&&t.registerLanguage(r)}))}var m={exports:{}};!function(e){!function(t){var r,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,i=Math.ceil,a=Math.floor,o="[BigNumber Error] ",u=o+"Number primitive has more than 15 significant digits: ",s=1e14,l=14,c=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function h(e){var t=0|e;return e>0||e===t?t:t-1}function d(e){for(var t,r,n=1,i=e.length,a=e[0]+"";n<i;){for(t=e[n++]+"",r=l-t.length;r--;t="0"+t);a+=t}for(i=a.length;48===a.charCodeAt(--i););return a.slice(0,i+1||1)}function m(e,t){var r,n,i=e.c,a=t.c,o=e.s,u=t.s,s=e.e,l=t.e;if(!o||!u)return null;if(r=i&&!i[0],n=a&&!a[0],r||n)return r?n?0:-u:o;if(o!=u)return o;if(r=o<0,n=s==l,!i||!a)return n?0:!i^r?1:-1;if(!n)return s>l^r?1:-1;for(u=(s=i.length)<(l=a.length)?s:l,o=0;o<u;o++)if(i[o]!=a[o])return i[o]>a[o]^r?1:-1;return s==l?0:s>l^r?1:-1}function y(e,t,r,n){if(e<t||e>r||e!==a(e))throw Error(o+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function b(e){var t=e.c.length-1;return h(e.e/l)==t&&e.c[t]%2!=0}function v(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function w(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}r=function e(t){var r,O,x,S,N,$,B,M,D,F,E=q.prototype={constructor:q,toString:null,valueOf:null},A=new q(1),_=20,k=4,L=-7,P=21,T=-1e7,C=1e7,j=!1,U=1,R=0,I={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},G="0123456789abcdefghijklmnopqrstuvwxyz",V=!0;function q(e,t){var r,i,o,s,f,p,g,h,d=this;if(!(d instanceof q))return new q(e,t);if(null==t){if(e&&!0===e._isBigNumber)return d.s=e.s,void(!e.c||e.e>C?d.c=d.e=null:e.e<T?d.c=[d.e=0]:(d.e=e.e,d.c=e.c.slice()));if((p="number"==typeof e)&&0*e==0){if(d.s=1/e<0?(e=-e,-1):1,e===~~e){for(s=0,f=e;f>=10;f/=10,s++);return void(s>C?d.c=d.e=null:(d.e=s,d.c=[e]))}h=String(e)}else{if(!n.test(h=String(e)))return x(d,h,p);d.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(s=h.indexOf("."))>-1&&(h=h.replace(".","")),(f=h.search(/e/i))>0?(s<0&&(s=f),s+=+h.slice(f+1),h=h.substring(0,f)):s<0&&(s=h.length)}else{if(y(t,2,G.length,"Base"),10==t&&V)return H(d=new q(e),_+d.e+1,k);if(h=String(e),p="number"==typeof e){if(0*e!=0)return x(d,h,p,t);if(d.s=1/e<0?(h=h.slice(1),-1):1,q.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(u+e)}else d.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(r=G.slice(0,t),s=f=0,g=h.length;f<g;f++)if(r.indexOf(i=h.charAt(f))<0){if("."==i){if(f>s){s=g;continue}}else if(!o&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){o=!0,f=-1,s=0;continue}return x(d,String(e),p,t)}p=!1,(s=(h=O(h,t,10,d.s)).indexOf("."))>-1?h=h.replace(".",""):s=h.length}for(f=0;48===h.charCodeAt(f);f++);for(g=h.length;48===h.charCodeAt(--g););if(h=h.slice(f,++g)){if(g-=f,p&&q.DEBUG&&g>15&&(e>c||e!==a(e)))throw Error(u+d.s*e);if((s=s-f-1)>C)d.c=d.e=null;else if(s<T)d.c=[d.e=0];else{if(d.e=s,d.c=[],f=(s+1)%l,s<0&&(f+=l),f<g){for(f&&d.c.push(+h.slice(0,f)),g-=l;f<g;)d.c.push(+h.slice(f,f+=l));f=l-(h=h.slice(f)).length}else f-=g;for(;f--;h+="0");d.c.push(+h)}}else d.c=[d.e=0]}function Z(e,t,r,n){var i,a,o,u,s;if(null==r?r=k:y(r,0,8),!e.c)return e.toString();if(i=e.c[0],o=e.e,null==t)s=d(e.c),s=1==n||2==n&&(o<=L||o>=P)?v(s,o):w(s,o,"0");else if(a=(e=H(new q(e),t,r)).e,u=(s=d(e.c)).length,1==n||2==n&&(t<=a||a<=L)){for(;u<t;s+="0",u++);s=v(s,a)}else if(t-=o,s=w(s,a,"0"),a+1>u){if(--t>0)for(s+=".";t--;s+="0");}else if((t+=a-u)>0)for(a+1==u&&(s+=".");t--;s+="0");return e.s<0&&i?"-"+s:s}function z(e,t){for(var r,n,i=1,a=new q(e[0]);i<e.length;i++)(!(n=new q(e[i])).s||(r=m(a,n))===t||0===r&&a.s===t)&&(a=n);return a}function W(e,t,r){for(var n=1,i=t.length;!t[--i];t.pop());for(i=t[0];i>=10;i/=10,n++);return(r=n+r*l-1)>C?e.c=e.e=null:r<T?e.c=[e.e=0]:(e.e=r,e.c=t),e}function H(e,t,r,n){var o,u,c,p,g,h,d,m=e.c,y=f;if(m){e:{for(o=1,p=m[0];p>=10;p/=10,o++);if((u=t-o)<0)u+=l,c=t,g=m[h=0],d=a(g/y[o-c-1]%10);else if((h=i((u+1)/l))>=m.length){if(!n)break e;for(;m.length<=h;m.push(0));g=d=0,o=1,c=(u%=l)-l+1}else{for(g=p=m[h],o=1;p>=10;p/=10,o++);d=(c=(u%=l)-l+o)<0?0:a(g/y[o-c-1]%10)}if(n=n||t<0||null!=m[h+1]||(c<0?g:g%y[o-c-1]),n=r<4?(d||n)&&(0==r||r==(e.s<0?3:2)):d>5||5==d&&(4==r||n||6==r&&(u>0?c>0?g/y[o-c]:0:m[h-1])%10&1||r==(e.s<0?8:7)),t<1||!m[0])return m.length=0,n?(t-=e.e+1,m[0]=y[(l-t%l)%l],e.e=-t||0):m[0]=e.e=0,e;if(0==u?(m.length=h,p=1,h--):(m.length=h+1,p=y[l-u],m[h]=c>0?a(g/y[o-c]%y[c])*p:0),n)for(;;){if(0==h){for(u=1,c=m[0];c>=10;c/=10,u++);for(c=m[0]+=p,p=1;c>=10;c/=10,p++);u!=p&&(e.e++,m[0]==s&&(m[0]=1));break}if(m[h]+=p,m[h]!=s)break;m[h--]=0,p=1}for(u=m.length;0===m[--u];m.pop());}e.e>C?e.c=e.e=null:e.e<T&&(e.c=[e.e=0])}return e}function Y(e){var t,r=e.e;return null===r?e.toString():(t=d(e.c),t=r<=L||r>=P?v(t,r):w(t,r,"0"),e.s<0?"-"+t:t)}return q.clone=e,q.ROUND_UP=0,q.ROUND_DOWN=1,q.ROUND_CEIL=2,q.ROUND_FLOOR=3,q.ROUND_HALF_UP=4,q.ROUND_HALF_DOWN=5,q.ROUND_HALF_EVEN=6,q.ROUND_HALF_CEIL=7,q.ROUND_HALF_FLOOR=8,q.EUCLID=9,q.config=q.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(o+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(y(r=e[t],0,g,t),_=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(y(r=e[t],0,8,t),k=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(y(r[0],-g,0,t),y(r[1],0,g,t),L=r[0],P=r[1]):(y(r,-g,g,t),L=-(P=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)y(r[0],-g,-1,t),y(r[1],1,g,t),T=r[0],C=r[1];else{if(y(r,-g,g,t),!r)throw Error(o+t+" cannot be zero: "+r);T=-(C=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(o+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw j=!r,Error(o+"crypto unavailable");j=r}else j=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(y(r=e[t],0,9,t),U=r),e.hasOwnProperty(t="POW_PRECISION")&&(y(r=e[t],0,g,t),R=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(o+t+" not an object: "+r);I=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(o+t+" invalid: "+r);V="0123456789"==r.slice(0,10),G=r}}return{DECIMAL_PLACES:_,ROUNDING_MODE:k,EXPONENTIAL_AT:[L,P],RANGE:[T,C],CRYPTO:j,MODULO_MODE:U,POW_PRECISION:R,FORMAT:I,ALPHABET:G}},q.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!q.DEBUG)return!0;var t,r,n=e.c,i=e.e,u=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===u||-1===u)&&i>=-g&&i<=g&&i===a(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%l)<1&&(t+=l),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=s||r!==a(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===u||1===u||-1===u))return!0;throw Error(o+"Invalid BigNumber: "+e)},q.maximum=q.max=function(){return z(arguments,-1)},q.minimum=q.min=function(){return z(arguments,1)},q.random=(S=9007199254740992,N=Math.random()*S&2097151?function(){return a(Math.random()*S)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,u,s,c=0,p=[],h=new q(A);if(null==e?e=_:y(e,0,g),u=i(e/l),j)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(u*=2));c<u;)(s=131072*t[c]+(t[c+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[c]=r[0],t[c+1]=r[1]):(p.push(s%1e14),c+=2);c=u/2}else{if(!crypto.randomBytes)throw j=!1,Error(o+"crypto unavailable");for(t=crypto.randomBytes(u*=7);c<u;)(s=281474976710656*(31&t[c])+1099511627776*t[c+1]+4294967296*t[c+2]+16777216*t[c+3]+(t[c+4]<<16)+(t[c+5]<<8)+t[c+6])>=9e15?crypto.randomBytes(7).copy(t,c):(p.push(s%1e14),c+=7);c=u/7}if(!j)for(;c<u;)(s=N())<9e15&&(p[c++]=s%1e14);for(u=p[--c],e%=l,u&&e&&(s=f[l-e],p[c]=a(u/s)*s);0===p[c];p.pop(),c--);if(c<0)p=[n=0];else{for(n=-1;0===p[0];p.splice(0,1),n-=l);for(c=1,s=p[0];s>=10;s/=10,c++);c<l&&(n-=l-c)}return h.e=n,h.c=p,h}),q.sum=function(){for(var e=1,t=arguments,r=new q(t[0]);e<t.length;)r=r.plus(t[e++]);return r},O=function(){var e="0123456789";function t(e,t,r,n){for(var i,a,o=[0],u=0,s=e.length;u<s;){for(a=o.length;a--;o[a]*=t);for(o[0]+=n.indexOf(e.charAt(u++)),i=0;i<o.length;i++)o[i]>r-1&&(null==o[i+1]&&(o[i+1]=0),o[i+1]+=o[i]/r|0,o[i]%=r)}return o.reverse()}return function(n,i,a,o,u){var s,l,c,f,p,g,h,m,y=n.indexOf("."),b=_,v=k;for(y>=0&&(f=R,R=0,n=n.replace(".",""),g=(m=new q(i)).pow(n.length-y),R=f,m.c=t(w(d(g.c),g.e,"0"),10,a,e),m.e=m.c.length),c=f=(h=t(n,i,a,u?(s=G,e):(s=e,G))).length;0==h[--f];h.pop());if(!h[0])return s.charAt(0);if(y<0?--c:(g.c=h,g.e=c,g.s=o,h=(g=r(g,m,b,v,a)).c,p=g.r,c=g.e),y=h[l=c+b+1],f=a/2,p=p||l<0||null!=h[l+1],p=v<4?(null!=y||p)&&(0==v||v==(g.s<0?3:2)):y>f||y==f&&(4==v||p||6==v&&1&h[l-1]||v==(g.s<0?8:7)),l<1||!h[0])n=p?w(s.charAt(1),-b,s.charAt(0)):s.charAt(0);else{if(h.length=l,p)for(--a;++h[--l]>a;)h[l]=0,l||(++c,h=[1].concat(h));for(f=h.length;!h[--f];);for(y=0,n="";y<=f;n+=s.charAt(h[y++]));n=w(n,c,s.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,i,a,o,u=0,s=e.length,l=t%p,c=t/p|0;for(e=e.slice();s--;)u=((i=l*(a=e[s]%p)+(n=c*a+(o=e[s]/p|0)*l)%p*p+u)/r|0)+(n/p|0)+c*o,e[s]=i%r;return u&&(e=[u].concat(e)),e}function t(e,t,r,n){var i,a;if(r!=n)a=r>n?1:-1;else for(i=a=0;i<r;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,i,o,u,c){var f,p,g,d,m,y,b,v,w,O,x,S,N,$,B,M,D,F=n.s==i.s?1:-1,E=n.c,A=i.c;if(!(E&&E[0]&&A&&A[0]))return new q(n.s&&i.s&&(E?!A||E[0]!=A[0]:A)?E&&0==E[0]||!A?0*F:F/0:NaN);for(w=(v=new q(F)).c=[],F=o+(p=n.e-i.e)+1,c||(c=s,p=h(n.e/l)-h(i.e/l),F=F/l|0),g=0;A[g]==(E[g]||0);g++);if(A[g]>(E[g]||0)&&p--,F<0)w.push(1),d=!0;else{for($=E.length,M=A.length,g=0,F+=2,(m=a(c/(A[0]+1)))>1&&(A=e(A,m,c),E=e(E,m,c),M=A.length,$=E.length),N=M,x=(O=E.slice(0,M)).length;x<M;O[x++]=0);D=A.slice(),D=[0].concat(D),B=A[0],A[1]>=c/2&&B++;do{if(m=0,(f=t(A,O,M,x))<0){if(S=O[0],M!=x&&(S=S*c+(O[1]||0)),(m=a(S/B))>1)for(m>=c&&(m=c-1),b=(y=e(A,m,c)).length,x=O.length;1==t(y,O,b,x);)m--,r(y,M<b?D:A,b,c),b=y.length,f=1;else 0==m&&(f=m=1),b=(y=A.slice()).length;if(b<x&&(y=[0].concat(y)),r(O,y,x,c),x=O.length,-1==f)for(;t(A,O,M,x)<1;)m++,r(O,M<x?D:A,x,c),x=O.length}else 0===f&&(m++,O=[0]);w[g++]=m,O[0]?O[x++]=E[N]||0:(O=[E[N]],x=1)}while((N++<$||null!=O[0])&&F--);d=null!=O[0],w[0]||w.splice(0,1)}if(c==s){for(g=1,F=w[0];F>=10;F/=10,g++);H(v,o+(v.e=g+p*l-1)+1,u,d)}else v.e=p,v.r=+d;return v}}(),$=/^(-?)0([xbo])(?=\w[\w.]*$)/i,B=/^([^.]+)\.$/,M=/^\.([^.]+)$/,D=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g,x=function(e,t,r,n){var i,a=r?t:t.replace(F,"");if(D.test(a))e.s=isNaN(a)?null:a<0?-1:1;else{if(!r&&(a=a.replace($,(function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t})),n&&(i=n,a=a.replace(B,"$1").replace(M,"0.$1")),t!=a))return new q(a,i);if(q.DEBUG)throw Error(o+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},E.absoluteValue=E.abs=function(){var e=new q(this);return e.s<0&&(e.s=1),e},E.comparedTo=function(e,t){return m(this,new q(e,t))},E.decimalPlaces=E.dp=function(e,t){var r,n,i,a=this;if(null!=e)return y(e,0,g),null==t?t=k:y(t,0,8),H(new q(a),e+a.e+1,t);if(!(r=a.c))return null;if(n=((i=r.length-1)-h(this.e/l))*l,i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},E.dividedBy=E.div=function(e,t){return r(this,new q(e,t),_,k)},E.dividedToIntegerBy=E.idiv=function(e,t){return r(this,new q(e,t),0,1)},E.exponentiatedBy=E.pow=function(e,t){var r,n,u,s,c,f,p,g,h=this;if((e=new q(e)).c&&!e.isInteger())throw Error(o+"Exponent not an integer: "+Y(e));if(null!=t&&(t=new q(t)),c=e.e>14,!h.c||!h.c[0]||1==h.c[0]&&!h.e&&1==h.c.length||!e.c||!e.c[0])return g=new q(Math.pow(+Y(h),c?e.s*(2-b(e)):+Y(e))),t?g.mod(t):g;if(f=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new q(NaN);(n=!f&&h.isInteger()&&t.isInteger())&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(0==h.e?h.c[0]>1||c&&h.c[1]>=24e7:h.c[0]<8e13||c&&h.c[0]<=9999975e7)))return s=h.s<0&&b(e)?-0:0,h.e>-1&&(s=1/s),new q(f?1/s:s);R&&(s=i(R/l+2))}for(c?(r=new q(.5),f&&(e.s=1),p=b(e)):p=(u=Math.abs(+Y(e)))%2,g=new q(A);;){if(p){if(!(g=g.times(h)).c)break;s?g.c.length>s&&(g.c.length=s):n&&(g=g.mod(t))}if(u){if(0===(u=a(u/2)))break;p=u%2}else if(H(e=e.times(r),e.e+1,1),e.e>14)p=b(e);else{if(0===(u=+Y(e)))break;p=u%2}h=h.times(h),s?h.c&&h.c.length>s&&(h.c.length=s):n&&(h=h.mod(t))}return n?g:(f&&(g=A.div(g)),t?g.mod(t):s?H(g,R,k,undefined):g)},E.integerValue=function(e){var t=new q(this);return null==e?e=k:y(e,0,8),H(t,t.e+1,e)},E.isEqualTo=E.eq=function(e,t){return 0===m(this,new q(e,t))},E.isFinite=function(){return!!this.c},E.isGreaterThan=E.gt=function(e,t){return m(this,new q(e,t))>0},E.isGreaterThanOrEqualTo=E.gte=function(e,t){return 1===(t=m(this,new q(e,t)))||0===t},E.isInteger=function(){return!!this.c&&h(this.e/l)>this.c.length-2},E.isLessThan=E.lt=function(e,t){return m(this,new q(e,t))<0},E.isLessThanOrEqualTo=E.lte=function(e,t){return-1===(t=m(this,new q(e,t)))||0===t},E.isNaN=function(){return!this.s},E.isNegative=function(){return this.s<0},E.isPositive=function(){return this.s>0},E.isZero=function(){return!!this.c&&0==this.c[0]},E.minus=function(e,t){var r,n,i,a,o=this,u=o.s;if(t=(e=new q(e,t)).s,!u||!t)return new q(NaN);if(u!=t)return e.s=-t,o.plus(e);var c=o.e/l,f=e.e/l,p=o.c,g=e.c;if(!c||!f){if(!p||!g)return p?(e.s=-t,e):new q(g?o:NaN);if(!p[0]||!g[0])return g[0]?(e.s=-t,e):new q(p[0]?o:3==k?-0:0)}if(c=h(c),f=h(f),p=p.slice(),u=c-f){for((a=u<0)?(u=-u,i=p):(f=c,i=g),i.reverse(),t=u;t--;i.push(0));i.reverse()}else for(n=(a=(u=p.length)<(t=g.length))?u:t,u=t=0;t<n;t++)if(p[t]!=g[t]){a=p[t]<g[t];break}if(a&&(i=p,p=g,g=i,e.s=-e.s),(t=(n=g.length)-(r=p.length))>0)for(;t--;p[r++]=0);for(t=s-1;n>u;){if(p[--n]<g[n]){for(r=n;r&&!p[--r];p[r]=t);--p[r],p[n]+=s}p[n]-=g[n]}for(;0==p[0];p.splice(0,1),--f);return p[0]?W(e,p,f):(e.s=3==k?-1:1,e.c=[e.e=0],e)},E.modulo=E.mod=function(e,t){var n,i,a=this;return e=new q(e,t),!a.c||!e.s||e.c&&!e.c[0]?new q(NaN):!e.c||a.c&&!a.c[0]?new q(a):(9==U?(i=e.s,e.s=1,n=r(a,e,0,3),e.s=i,n.s*=i):n=r(a,e,0,U),(e=a.minus(n.times(e))).c[0]||1!=U||(e.s=a.s),e)},E.multipliedBy=E.times=function(e,t){var r,n,i,a,o,u,c,f,g,d,m,y,b,v,w,O=this,x=O.c,S=(e=new q(e,t)).c;if(!(x&&S&&x[0]&&S[0]))return!O.s||!e.s||x&&!x[0]&&!S||S&&!S[0]&&!x?e.c=e.e=e.s=null:(e.s*=O.s,x&&S?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=h(O.e/l)+h(e.e/l),e.s*=O.s,(c=x.length)<(d=S.length)&&(b=x,x=S,S=b,i=c,c=d,d=i),i=c+d,b=[];i--;b.push(0));for(v=s,w=p,i=d;--i>=0;){for(r=0,m=S[i]%w,y=S[i]/w|0,a=i+(o=c);a>i;)r=((f=m*(f=x[--o]%w)+(u=y*f+(g=x[o]/w|0)*m)%w*w+b[a]+r)/v|0)+(u/w|0)+y*g,b[a--]=f%v;b[a]=r}return r?++n:b.splice(0,1),W(e,b,n)},E.negated=function(){var e=new q(this);return e.s=-e.s||null,e},E.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new q(e,t)).s,!i||!t)return new q(NaN);if(i!=t)return e.s=-t,n.minus(e);var a=n.e/l,o=e.e/l,u=n.c,c=e.c;if(!a||!o){if(!u||!c)return new q(i/0);if(!u[0]||!c[0])return c[0]?e:new q(u[0]?n:0*i)}if(a=h(a),o=h(o),u=u.slice(),i=a-o){for(i>0?(o=a,r=c):(i=-i,r=u),r.reverse();i--;r.push(0));r.reverse()}for((i=u.length)-(t=c.length)<0&&(r=c,c=u,u=r,t=i),i=0;t;)i=(u[--t]=u[t]+c[t]+i)/s|0,u[t]=s===u[t]?0:u[t]%s;return i&&(u=[i].concat(u),++o),W(e,u,o)},E.precision=E.sd=function(e,t){var r,n,i,a=this;if(null!=e&&e!==!!e)return y(e,1,g),null==t?t=k:y(t,0,8),H(new q(a),e,t);if(!(r=a.c))return null;if(n=(i=r.length-1)*l+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&a.e+1>n&&(n=a.e+1),n},E.shiftedBy=function(e){return y(e,-9007199254740991,c),this.times("1e"+e)},E.squareRoot=E.sqrt=function(){var e,t,n,i,a,o=this,u=o.c,s=o.s,l=o.e,c=_+4,f=new q("0.5");if(1!==s||!u||!u[0])return new q(!s||s<0&&(!u||u[0])?NaN:u?o:1/0);if(0==(s=Math.sqrt(+Y(o)))||s==1/0?(((t=d(u)).length+l)%2==0&&(t+="0"),s=Math.sqrt(+t),l=h((l+1)/2)-(l<0||l%2),n=new q(t=s==1/0?"5e"+l:(t=s.toExponential()).slice(0,t.indexOf("e")+1)+l)):n=new q(s+""),n.c[0])for((s=(l=n.e)+c)<3&&(s=0);;)if(a=n,n=f.times(a.plus(r(o,a,c,1))),d(a.c).slice(0,s)===(t=d(n.c)).slice(0,s)){if(n.e<l&&--s,"9999"!=(t=t.slice(s-3,s+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(H(n,n.e+_+2,1),e=!n.times(n).eq(o));break}if(!i&&(H(a,a.e+_+2,0),a.times(a).eq(o))){n=a;break}c+=4,s+=4,i=1}return H(n,n.e+_+1,k,e)},E.toExponential=function(e,t){return null!=e&&(y(e,0,g),e++),Z(this,e,t,1)},E.toFixed=function(e,t){return null!=e&&(y(e,0,g),e=e+this.e+1),Z(this,e,t)},E.toFormat=function(e,t,r){var n,i=this;if(null==r)null!=e&&t&&"object"==typeof t?(r=t,t=null):e&&"object"==typeof e?(r=e,e=t=null):r=I;else if("object"!=typeof r)throw Error(o+"Argument not an object: "+r);if(n=i.toFixed(e,t),i.c){var a,u=n.split("."),s=+r.groupSize,l=+r.secondaryGroupSize,c=r.groupSeparator||"",f=u[0],p=u[1],g=i.s<0,h=g?f.slice(1):f,d=h.length;if(l&&(a=s,s=l,l=a,d-=a),s>0&&d>0){for(a=d%s||s,f=h.substr(0,a);a<d;a+=s)f+=c+h.substr(a,s);l>0&&(f+=c+h.slice(a)),g&&(f="-"+f)}n=p?f+(r.decimalSeparator||"")+((l=+r.fractionGroupSize)?p.replace(new RegExp("\\d{"+l+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):p):f}return(r.prefix||"")+n+(r.suffix||"")},E.toFraction=function(e){var t,n,i,a,u,s,c,p,g,h,m,y,b=this,v=b.c;if(null!=e&&(!(c=new q(e)).isInteger()&&(c.c||1!==c.s)||c.lt(A)))throw Error(o+"Argument "+(c.isInteger()?"out of range: ":"not an integer: ")+Y(c));if(!v)return new q(b);for(t=new q(A),g=n=new q(A),i=p=new q(A),y=d(v),u=t.e=y.length-b.e-1,t.c[0]=f[(s=u%l)<0?l+s:s],e=!e||c.comparedTo(t)>0?u>0?t:g:c,s=C,C=1/0,c=new q(y),p.c[0]=0;h=r(c,t,0,1),1!=(a=n.plus(h.times(i))).comparedTo(e);)n=i,i=a,g=p.plus(h.times(a=g)),p=a,t=c.minus(h.times(a=t)),c=a;return a=r(e.minus(n),i,0,1),p=p.plus(a.times(g)),n=n.plus(a.times(i)),p.s=g.s=b.s,m=r(g,i,u*=2,k).minus(b).abs().comparedTo(r(p,n,u,k).minus(b).abs())<1?[g,i]:[p,n],C=s,m},E.toNumber=function(){return+Y(this)},E.toPrecision=function(e,t){return null!=e&&y(e,1,g),Z(this,e,t,2)},E.toString=function(e){var t,r=this,n=r.s,i=r.e;return null===i?n?(t="Infinity",n<0&&(t="-"+t)):t="NaN":(null==e?t=i<=L||i>=P?v(d(r.c),i):w(d(r.c),i,"0"):10===e&&V?t=w(d((r=H(new q(r),_+i+1,k)).c),r.e,"0"):(y(e,2,G.length,"Base"),t=O(w(d(r.c),i,"0"),10,e,n,!0)),n<0&&r.c[0]&&(t="-"+t)),t},E.valueOf=E.toJSON=function(){return Y(this)},E._isBigNumber=!0,null!=t&&q.set(t),q}(),r.default=r.BigNumber=r,e.exports?e.exports=r:(t||(t="undefined"!=typeof self&&self?self:window),t.BigNumber=r)}(o)}(m);var y=m.exports; +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */const b=h(),v=c(),w=g,O=y,x={trillion:Math.pow(10,12),billion:Math.pow(10,9),million:Math.pow(10,6),thousand:Math.pow(10,3)},S={totalLength:0,characteristic:0,forceAverage:!1,average:!1,mantissa:-1,optionalMantissa:!0,thousandSeparated:!1,spaceSeparated:!1,negative:"sign",forceSign:!1,roundingFunction:Math.round,spaceSeparatedAbbreviation:!1},{binarySuffixes:N,decimalSuffixes:$}=b.currentBytes(),B={general:{scale:1024,suffixes:$,marker:"bd"},binary:{scale:1024,suffixes:N,marker:"b"},decimal:{scale:1e3,suffixes:$,marker:"d"}};function M(e,t={},r){if("string"==typeof t&&(t=w.parseFormat(t)),!v.validateFormat(t))return"ERROR: invalid format";let n=t.prefix||"",i=t.postfix||"",a=function(e,t,r){switch(t.output){case"currency":return function(e,t,r){const n=r.currentCurrency();let i,a=Object.assign({},t),o=Object.assign({},S,a),u="",s=!!o.totalLength||!!o.forceAverage||o.average,l=a.currencyPosition||n.position,c=a.currencySymbol||n.symbol;const f=void 0!==o.spaceSeparatedCurrency?o.spaceSeparatedCurrency:o.spaceSeparated;void 0===a.lowPrecision&&(a.lowPrecision=!1);f&&(u=" ");"infix"===l&&(i=u+c+u);let p=A({instance:e,providedFormat:a,state:r,decimalSeparator:i});"prefix"===l&&(p=e._value<0&&"sign"===o.negative?`-${u}${c}${p.slice(1)}`:e._value>0&&o.forceSign?`+${u}${c}${p.slice(1)}`:c+u+p);l&&"postfix"!==l||(u=!o.spaceSeparatedAbbreviation&&s?"":u,p=p+u+c);return p}(e,t=_(t,b.currentCurrencyDefaultFormat()),b);case"percent":return function(e,t,r,n){let i=t.prefixSymbol,a=A({instance:n(100*e._value),providedFormat:t,state:r}),o=Object.assign({},S,t);if(i)return`%${o.spaceSeparated?" ":""}${a}`;return`${a}${o.spaceSeparated?" ":""}%`}(e,t=_(t,b.currentPercentageDefaultFormat()),b,r);case"byte":return function(e,t,r,n){let i=t.base||"binary",a=Object.assign({},S,t);const{binarySuffixes:o,decimalSuffixes:u}=r.currentBytes();let s={general:{scale:1024,suffixes:u||$,marker:"bd"},binary:{scale:1024,suffixes:o||N,marker:"b"},decimal:{scale:1e3,suffixes:u||$,marker:"d"}}[i],{value:l,suffix:c}=D(e._value,s.suffixes,s.scale),f=A({instance:n(l),providedFormat:t,state:r,defaults:r.currentByteDefaultFormat()});return`${f}${a.spaceSeparated?" ":""}${c}`}(e,t=_(t,b.currentByteDefaultFormat()),b,r);case"time":return t=_(t,b.currentTimeDefaultFormat()),function(e){let t=Math.floor(e._value/60/60),r=Math.floor((e._value-60*t*60)/60),n=Math.round(e._value-60*t*60-60*r);return`${t}:${r<10?"0":""}${r}:${n<10?"0":""}${n}`}(e);case"ordinal":return function(e,t,r){let n=r.currentOrdinal(),i=Object.assign({},S,t),a=A({instance:e,providedFormat:t,state:r}),o=n(e._value);return`${a}${i.spaceSeparated?" ":""}${o}`}(e,t=_(t,b.currentOrdinalDefaultFormat()),b);default:return A({instance:e,providedFormat:t,numbro:r})}}(e,t,r);return a=function(e,t){return t+e}(a,n),a=function(e,t){return e+t}(a,i),a}function D(e,t,r){let n=t[0],i=Math.abs(e);if(i>=r){for(let a=1;a<t.length;++a){let o=Math.pow(r,a),u=Math.pow(r,a+1);if(i>=o&&i<u){n=t[a],e/=o;break}}n===t[0]&&(e/=Math.pow(r,t.length-1),n=t[t.length-1])}return{value:e,suffix:n}}function F(e){let t="";for(let r=0;r<e;r++)t+="0";return t}function E(e,t,r=Math.round){if(-1!==e.toString().indexOf("e"))return function(e,t){let r=e.toString(),[n,i]=r.split("e"),[a,o=""]=n.split(".");if(+i>0)r=a+o+F(i-o.length);else{let e=".";e=+a<0?`-0${e}`:`0${e}`;let n=(F(-i-1)+Math.abs(a)+o).substr(0,t);n.length<t&&(n+=F(t-n.length)),r=e+n}return+i>0&&t>0&&(r+=`.${F(t)}`),r}(e,t);return new O(r(+`${e}e+${t}`)/Math.pow(10,t)).toFixed(t)}function A({instance:e,providedFormat:t,state:r=b,decimalSeparator:n,defaults:i=r.currentDefaults()}){let a=e._value;if(0===a&&r.hasZeroFormat())return r.getZeroFormat();if(!isFinite(a))return a.toString();let o=Object.assign({},S,i,t),u=o.totalLength,s=u?0:o.characteristic,l=o.optionalCharacteristic,c=o.forceAverage,f=o.lowPrecision,p=!!u||!!c||o.average,g=u?-1:p&&void 0===t.mantissa?0:o.mantissa,h=!u&&(void 0===t.optionalMantissa?-1===g:o.optionalMantissa),d=o.trimMantissa,m=o.thousandSeparated,y=o.spaceSeparated,v=o.negative,w=o.forceSign,O=o.exponential,N=o.roundingFunction,$="";if(p){let e=function({value:e,forceAverage:t,lowPrecision:r=!0,abbreviations:n,spaceSeparated:i=!1,totalLength:a=0,roundingFunction:o=Math.round}){let u="",s=Math.abs(e),l=-1;if(t&&n[t]&&x[t]?(u=n[t],e/=x[t]):s>=x.trillion||r&&1===o(s/x.trillion)?(u=n.trillion,e/=x.trillion):s<x.trillion&&s>=x.billion||r&&1===o(s/x.billion)?(u=n.billion,e/=x.billion):s<x.billion&&s>=x.million||r&&1===o(s/x.million)?(u=n.million,e/=x.million):(s<x.million&&s>=x.thousand||r&&1===o(s/x.thousand))&&(u=n.thousand,e/=x.thousand),u&&(u=(i?" ":"")+u),a){let t=e<0,r=e.toString().split(".")[0],n=t?r.length-1:r.length;l=Math.max(a-n,0)}return{value:e,abbreviation:u,mantissaPrecision:l}}({value:a,forceAverage:c,lowPrecision:f,abbreviations:r.currentAbbreviations(),spaceSeparated:y,roundingFunction:N,totalLength:u});a=e.value,$+=e.abbreviation,u&&(g=e.mantissaPrecision)}if(O){let e=function({value:e,characteristicPrecision:t}){let[r,n]=e.toExponential().split("e"),i=+r;return t?(1<t&&(i*=Math.pow(10,t-1),n=+n-(t-1),n=n>=0?`+${n}`:n),{value:i,abbreviation:`e${n}`}):{value:i,abbreviation:`e${n}`}}({value:a,characteristicPrecision:s});a=e.value,$=e.abbreviation+$}let B=function(e,t,r,n,i,a){if(-1===n)return e;let o=E(t,n,a),[u,s=""]=o.toString().split(".");if(s.match(/^0+$/)&&(r||i))return u;let l=s.match(/0+$/);return i&&l?`${u}.${s.toString().slice(0,l.index)}`:o.toString()}(a.toString(),a,h,g,d,N);return B=function(e,t,r,n){let i=e,[a,o]=i.toString().split(".");if(a.match(/^-?0$/)&&r)return o?`${a.replace("0","")}.${o}`:a.replace("0","");const u=t<0&&0===a.indexOf("-");if(u&&(a=a.slice(1),i=i.slice(1)),a.length<n){let e=n-a.length;for(let t=0;t<e;t++)i=`0${i}`}return u&&(i=`-${i}`),i.toString()}(B,a,l,s),B=function(e,t,r,n,i){let a=n.currentDelimiters(),o=a.thousands;i=i||a.decimal;let u=a.thousandsSize||3,s=e.toString(),l=s.split(".")[0],c=s.split(".")[1];const f=t<0&&0===l.indexOf("-");if(r){f&&(l=l.slice(1));let e=function(e,t){let r=[],n=0;for(let i=e;i>0;i--)n===t&&(r.unshift(i),n=0),n++;return r}(l.length,u);e.forEach(((e,t)=>{l=l.slice(0,e+t)+o+l.slice(e+t)})),f&&(l=`-${l}`)}return s=c?l+i+c:l,s}(B,a,m,r,n),(p||O)&&(B=function(e,t){return e+t}(B,$)),(w||a<0)&&(B=function(e,t,r){return 0===t?e:0==+e?e.replace("-",""):t>0?`+${e}`:"sign"===r?e:`(${e.replace("-","")})`}(B,a,v)),B}function _(e,t){if(!e)return t;let r=Object.keys(e);return 1===r.length&&"output"===r[0]?t:e} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +const k=y;function L(e,t,r){let n=new k(e._value),i=t;return r.isNumbro(t)&&(i=t._value),i=new k(i),e._value=n.minus(i).toNumber(),e} +/*! + * Copyright (c) 2017 Benjamin Van Ryseghem<benjamin@vanryseghem.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +const P=h(),T=c(),C=(e=>({loadLanguagesInNode:t=>d(t,e)}))(q),j=l();let U=(e=>({format:(...t)=>M(...t,e),getByteUnit:(...t)=>function(e){let t=B.general;return D(e._value,t.suffixes,t.scale).suffix}(...t,e),getBinaryByteUnit:(...t)=>function(e){let t=B.binary;return D(e._value,t.suffixes,t.scale).suffix}(...t,e),getDecimalByteUnit:(...t)=>function(e){let t=B.decimal;return D(e._value,t.suffixes,t.scale).suffix}(...t,e),formatOrDefault:_}))(q),R=(e=>({add:(t,r)=>function(e,t,r){let n=new k(e._value),i=t;return r.isNumbro(t)&&(i=t._value),i=new k(i),e._value=n.plus(i).toNumber(),e}(t,r,e),subtract:(t,r)=>L(t,r,e),multiply:(t,r)=>function(e,t,r){let n=new k(e._value),i=t;return r.isNumbro(t)&&(i=t._value),i=new k(i),e._value=n.times(i).toNumber(),e}(t,r,e),divide:(t,r)=>function(e,t,r){let n=new k(e._value),i=t;return r.isNumbro(t)&&(i=t._value),i=new k(i),e._value=n.dividedBy(i).toNumber(),e}(t,r,e),set:(t,r)=>function(e,t,r){let n=t;return r.isNumbro(t)&&(n=t._value),e._value=n,e}(t,r,e),difference:(t,r)=>function(e,t,r){let n=r(e._value);return L(n,t,r),Math.abs(n._value)}(t,r,e),BigNumber:k}))(q);const I=g;class G{constructor(e){this._value=e}clone(){return q(this._value)}format(e={}){return U.format(this,e)}formatCurrency(e){return"string"==typeof e&&(e=I.parseFormat(e)),(e=U.formatOrDefault(e,P.currentCurrencyDefaultFormat())).output="currency",U.format(this,e)}formatTime(e={}){return e.output="time",U.format(this,e)}binaryByteUnits(){return U.getBinaryByteUnit(this)}decimalByteUnits(){return U.getDecimalByteUnit(this)}byteUnits(){return U.getByteUnit(this)}difference(e){return R.difference(this,e)}add(e){return R.add(this,e)}subtract(e){return R.subtract(this,e)}multiply(e){return R.multiply(this,e)}divide(e){return R.divide(this,e)}set(e){return R.set(this,V(e))}value(){return this._value}valueOf(){return this._value}}function V(e){let t=e;return q.isNumbro(e)?t=e._value:"string"==typeof e?t=q.unformat(e):isNaN(e)&&(t=NaN),t}function q(e){return new G(V(e))}return q.version="2.5.0",q.isNumbro=function(e){return e instanceof G},q.language=P.currentLanguage,q.registerLanguage=P.registerLanguage,q.setLanguage=P.setLanguage,q.languages=P.languages,q.languageData=P.languageData,q.zeroFormat=P.setZeroFormat,q.defaultFormat=P.currentDefaults,q.setDefaults=P.setDefaults,q.defaultCurrencyFormat=P.currentCurrencyDefaultFormat,q.validate=T.validate,q.loadLanguagesInNode=C.loadLanguagesInNode,q.unformat=j.unformat,q.BigNumber=R.BigNumber,u(q)})); +//# sourceMappingURL=numbro.min.js.map diff --git a/.output/server/node_modules/numbro/package.json b/.output/server/node_modules/numbro/package.json new file mode 100644 index 00000000..b376d263 --- /dev/null +++ b/.output/server/node_modules/numbro/package.json @@ -0,0 +1,83 @@ +{ + "name": "numbro", + "version": "2.5.0", + "description": "Format and manipulate numbers.", + "homepage": "http://numbrojs.com", + "author": { + "name": "Benjamin Van Ryseghem", + "email": "benjamin@vanryseghem.com", + "url": "https://benjamin.vanryseghem.com" + }, + "keywords": [ + "numeral", + "numbro", + "number", + "format", + "time", + "money", + "percentage" + ], + "main": "./dist/numbro.min.js", + "browser": "./dist/es/numbro.js", + "typings": "./numbro.d.ts", + "engines": { + "node": "*" + }, + "repository": { + "type": "git", + "url": "https://github.com/BenjaminVanRyseghem/numbro" + }, + "bugs": { + "url": "https://github.com/BenjaminVanRyseghem/numbro/issues" + }, + "license": "MIT", + "devDependencies": { + "@rollup/plugin-commonjs": "^25.0.4", + "@rollup/plugin-node-resolve": "^15.2.1", + "@rollup/plugin-terser": "^0.4.3", + "all-contributors-cli": "^6.18.0", + "auto-load": "^3.0.4", + "bump-regex": "^4.1.0", + "eslint": "^8.48.0", + "eslint-plugin-jasmine": "^4.1.3", + "glob": "^10.3.4", + "jasmine": "^5.1.0", + "jasmine-core": "^5.1.1", + "minimatch": "^9.0.3", + "nyc": "^15.1.0", + "rewire": "^7.0.0", + "rimraf": "^5.0.1", + "rollup": "^3.28.1", + "rollup-plugin-license": "^3.0.1", + "rollup-plugin-sourcemaps": "^0.6.3" + }, + "scripts": { + "prepublishOnly": "echo \"Are you sure you want to publish a new release with version ${npm_package_version}? (y/n)?\" && read choice && case \"$choice\" in y|Y ) npm run build;; * ) echo \"Abort!\" && exit 1;; esac", + "postpublish": "git tag -as ${npm_package_version} -m \"Release version ${npm_package_version}\" && git push && git push --tags", + "preversion": "echo \"Use `bump:xxx` instead\" && exit 1", + "lint": "npx eslint --report-unused-disable-directives --rulesdir ./eslint_rules ./src/**/*.js ./tests/**/*.js ./languages/**/*.js", + "test:unit": "npx jasmine", + "test:integration": "npx jasmine ./integrationTests/node/numbro.js", + "test": "npm run test:unit && npm run test:integration", + "bump:major": "node ./toolchain/bump.js major", + "bump:minor": "node ./toolchain/bump.js minor", + "bump:patch": "node ./toolchain/bump.js patch", + "build": "NODE_ENV=production rollup -c", + "build:clean": "npx rimraf dist", + "coverage:instrument": "nyc --all --silent jasmine", + "coverage:report": "nyc report --reporter=lcov", + "coverage:check": "nyc check-coverage --lines 100 --branches 100 --statements 100 --functions 100" + }, + "files": [ + "LICENSE", + "LICENSE-Numeraljs", + "CHANGELOG", + "CHANGELOG-Numeraljs.md", + "numbro.d.ts", + "languages", + "dist" + ], + "dependencies": { + "bignumber.js": "^8 || ^9" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/ofetch/dist/node.mjs b/.output/server/node_modules/ofetch/dist/node.mjs new file mode 100644 index 00000000..4a491f31 --- /dev/null +++ b/.output/server/node_modules/ofetch/dist/node.mjs @@ -0,0 +1,32 @@ +import http from 'node:http'; +import https from 'node:https'; +import nodeFetch, { Headers as Headers$1, AbortController as AbortController$1 } from 'node-fetch-native'; +import { c as createFetch } from './shared/ofetch.03887fc3.mjs'; +export { F as FetchError, a as createFetchError } from './shared/ofetch.03887fc3.mjs'; +import 'destr'; +import 'ufo'; + +function createNodeFetch() { + const useKeepAlive = JSON.parse(process.env.FETCH_KEEP_ALIVE || "false"); + if (!useKeepAlive) { + return nodeFetch; + } + const agentOptions = { keepAlive: true }; + const httpAgent = new http.Agent(agentOptions); + const httpsAgent = new https.Agent(agentOptions); + const nodeFetchOptions = { + agent(parsedURL) { + return parsedURL.protocol === "http:" ? httpAgent : httpsAgent; + } + }; + return function nodeFetchWithKeepAlive(input, init) { + return nodeFetch(input, { ...nodeFetchOptions, ...init }); + }; +} +const fetch = globalThis.fetch ? (...args) => globalThis.fetch(...args) : createNodeFetch(); +const Headers = globalThis.Headers || Headers$1; +const AbortController = globalThis.AbortController || AbortController$1; +const ofetch = createFetch({ fetch, Headers, AbortController }); +const $fetch = ofetch; + +export { $fetch, AbortController, Headers, createFetch, createNodeFetch, fetch, ofetch }; diff --git a/.output/server/node_modules/ofetch/dist/shared/ofetch.03887fc3.mjs b/.output/server/node_modules/ofetch/dist/shared/ofetch.03887fc3.mjs new file mode 100644 index 00000000..c1ee8ecb --- /dev/null +++ b/.output/server/node_modules/ofetch/dist/shared/ofetch.03887fc3.mjs @@ -0,0 +1,333 @@ +import destr from 'destr'; +import { withBase, withQuery } from 'ufo'; + +class FetchError extends Error { + constructor(message, opts) { + super(message, opts); + this.name = "FetchError"; + if (opts?.cause && !this.cause) { + this.cause = opts.cause; + } + } +} +function createFetchError(ctx) { + const errorMessage = ctx.error?.message || ctx.error?.toString() || ""; + const method = ctx.request?.method || ctx.options?.method || "GET"; + const url = ctx.request?.url || String(ctx.request) || "/"; + const requestStr = `[${method}] ${JSON.stringify(url)}`; + const statusStr = ctx.response ? `${ctx.response.status} ${ctx.response.statusText}` : "<no response>"; + const message = `${requestStr}: ${statusStr}${errorMessage ? ` ${errorMessage}` : ""}`; + const fetchError = new FetchError( + message, + ctx.error ? { cause: ctx.error } : void 0 + ); + for (const key of ["request", "options", "response"]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx[key]; + } + }); + } + for (const [key, refKey] of [ + ["data", "_data"], + ["status", "status"], + ["statusCode", "status"], + ["statusText", "statusText"], + ["statusMessage", "statusText"] + ]) { + Object.defineProperty(fetchError, key, { + get() { + return ctx.response && ctx.response[refKey]; + } + }); + } + return fetchError; +} + +const payloadMethods = new Set( + Object.freeze(["PATCH", "POST", "PUT", "DELETE"]) +); +function isPayloadMethod(method = "GET") { + return payloadMethods.has(method.toUpperCase()); +} +function isJSONSerializable(value) { + if (value === void 0) { + return false; + } + const t = typeof value; + if (t === "string" || t === "number" || t === "boolean" || t === null) { + return true; + } + if (t !== "object") { + return false; + } + if (Array.isArray(value)) { + return true; + } + if (value.buffer) { + return false; + } + return value.constructor && value.constructor.name === "Object" || typeof value.toJSON === "function"; +} +const textTypes = /* @__PURE__ */ new Set([ + "image/svg", + "application/xml", + "application/xhtml", + "application/html" +]); +const JSON_RE = /^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i; +function detectResponseType(_contentType = "") { + if (!_contentType) { + return "json"; + } + const contentType = _contentType.split(";").shift() || ""; + if (JSON_RE.test(contentType)) { + return "json"; + } + if (textTypes.has(contentType) || contentType.startsWith("text/")) { + return "text"; + } + return "blob"; +} +function resolveFetchOptions(request, input, defaults, Headers) { + const headers = mergeHeaders( + input?.headers ?? request?.headers, + defaults?.headers, + Headers + ); + let query; + if (defaults?.query || defaults?.params || input?.params || input?.query) { + query = { + ...defaults?.params, + ...defaults?.query, + ...input?.params, + ...input?.query + }; + } + return { + ...defaults, + ...input, + query, + params: query, + headers + }; +} +function mergeHeaders(input, defaults, Headers) { + if (!defaults) { + return new Headers(input); + } + const headers = new Headers(defaults); + if (input) { + for (const [key, value] of Symbol.iterator in input || Array.isArray(input) ? input : new Headers(input)) { + headers.set(key, value); + } + } + return headers; +} +async function callHooks(context, hooks) { + if (hooks) { + if (Array.isArray(hooks)) { + for (const hook of hooks) { + await hook(context); + } + } else { + await hooks(context); + } + } +} + +const retryStatusCodes = /* @__PURE__ */ new Set([ + 408, + // Request Timeout + 409, + // Conflict + 425, + // Too Early (Experimental) + 429, + // Too Many Requests + 500, + // Internal Server Error + 502, + // Bad Gateway + 503, + // Service Unavailable + 504 + // Gateway Timeout +]); +const nullBodyResponses = /* @__PURE__ */ new Set([101, 204, 205, 304]); +function createFetch(globalOptions = {}) { + const { + fetch = globalThis.fetch, + Headers = globalThis.Headers, + AbortController = globalThis.AbortController + } = globalOptions; + async function onError(context) { + const isAbort = context.error && context.error.name === "AbortError" && !context.options.timeout || false; + if (context.options.retry !== false && !isAbort) { + let retries; + if (typeof context.options.retry === "number") { + retries = context.options.retry; + } else { + retries = isPayloadMethod(context.options.method) ? 0 : 1; + } + const responseCode = context.response && context.response.status || 500; + if (retries > 0 && (Array.isArray(context.options.retryStatusCodes) ? context.options.retryStatusCodes.includes(responseCode) : retryStatusCodes.has(responseCode))) { + const retryDelay = typeof context.options.retryDelay === "function" ? context.options.retryDelay(context) : context.options.retryDelay || 0; + if (retryDelay > 0) { + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + } + return $fetchRaw(context.request, { + ...context.options, + retry: retries - 1 + }); + } + } + const error = createFetchError(context); + if (Error.captureStackTrace) { + Error.captureStackTrace(error, $fetchRaw); + } + throw error; + } + const $fetchRaw = async function $fetchRaw2(_request, _options = {}) { + const context = { + request: _request, + options: resolveFetchOptions( + _request, + _options, + globalOptions.defaults, + Headers + ), + response: void 0, + error: void 0 + }; + if (context.options.method) { + context.options.method = context.options.method.toUpperCase(); + } + if (context.options.onRequest) { + await callHooks(context, context.options.onRequest); + } + if (typeof context.request === "string") { + if (context.options.baseURL) { + context.request = withBase(context.request, context.options.baseURL); + } + if (context.options.query) { + context.request = withQuery(context.request, context.options.query); + delete context.options.query; + } + if ("query" in context.options) { + delete context.options.query; + } + if ("params" in context.options) { + delete context.options.params; + } + } + if (context.options.body && isPayloadMethod(context.options.method)) { + if (isJSONSerializable(context.options.body)) { + context.options.body = typeof context.options.body === "string" ? context.options.body : JSON.stringify(context.options.body); + context.options.headers = new Headers(context.options.headers || {}); + if (!context.options.headers.has("content-type")) { + context.options.headers.set("content-type", "application/json"); + } + if (!context.options.headers.has("accept")) { + context.options.headers.set("accept", "application/json"); + } + } else if ( + // ReadableStream Body + "pipeTo" in context.options.body && typeof context.options.body.pipeTo === "function" || // Node.js Stream Body + typeof context.options.body.pipe === "function" + ) { + if (!("duplex" in context.options)) { + context.options.duplex = "half"; + } + } + } + let abortTimeout; + if (!context.options.signal && context.options.timeout) { + const controller = new AbortController(); + abortTimeout = setTimeout(() => { + const error = new Error( + "[TimeoutError]: The operation was aborted due to timeout" + ); + error.name = "TimeoutError"; + error.code = 23; + controller.abort(error); + }, context.options.timeout); + context.options.signal = controller.signal; + } + try { + context.response = await fetch( + context.request, + context.options + ); + } catch (error) { + context.error = error; + if (context.options.onRequestError) { + await callHooks( + context, + context.options.onRequestError + ); + } + return await onError(context); + } finally { + if (abortTimeout) { + clearTimeout(abortTimeout); + } + } + const hasBody = (context.response.body || // https://github.com/unjs/ofetch/issues/324 + // https://github.com/unjs/ofetch/issues/294 + // https://github.com/JakeChampion/fetch/issues/1454 + context.response._bodyInit) && !nullBodyResponses.has(context.response.status) && context.options.method !== "HEAD"; + if (hasBody) { + const responseType = (context.options.parseResponse ? "json" : context.options.responseType) || detectResponseType(context.response.headers.get("content-type") || ""); + switch (responseType) { + case "json": { + const data = await context.response.text(); + const parseFunction = context.options.parseResponse || destr; + context.response._data = parseFunction(data); + break; + } + case "stream": { + context.response._data = context.response.body || context.response._bodyInit; + break; + } + default: { + context.response._data = await context.response[responseType](); + } + } + } + if (context.options.onResponse) { + await callHooks( + context, + context.options.onResponse + ); + } + if (!context.options.ignoreResponseError && context.response.status >= 400 && context.response.status < 600) { + if (context.options.onResponseError) { + await callHooks( + context, + context.options.onResponseError + ); + } + return await onError(context); + } + return context.response; + }; + const $fetch = async function $fetch2(request, options) { + const r = await $fetchRaw(request, options); + return r._data; + }; + $fetch.raw = $fetchRaw; + $fetch.native = (...args) => fetch(...args); + $fetch.create = (defaultOptions = {}, customGlobalOptions = {}) => createFetch({ + ...globalOptions, + ...customGlobalOptions, + defaults: { + ...globalOptions.defaults, + ...customGlobalOptions.defaults, + ...defaultOptions + } + }); + return $fetch; +} + +export { FetchError as F, createFetchError as a, createFetch as c }; diff --git a/.output/server/node_modules/ofetch/package.json b/.output/server/node_modules/ofetch/package.json new file mode 100644 index 00000000..3f209ba4 --- /dev/null +++ b/.output/server/node_modules/ofetch/package.json @@ -0,0 +1,96 @@ +{ + "name": "ofetch", + "version": "1.4.1", + "description": "A better fetch API. Works on node, browser and workers.", + "repository": "unjs/ofetch", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + "./package.json": "./package.json", + ".": { + "browser": "./dist/index.mjs", + "bun": "./dist/index.mjs", + "deno": "./dist/index.mjs", + "edge-light": "./dist/index.mjs", + "edge-routine": "./dist/index.mjs", + "netlify": "./dist/index.mjs", + "react-native": "./dist/index.mjs", + "wintercg": "./dist/index.mjs", + "worker": "./dist/index.mjs", + "workerd": "./dist/index.mjs", + "node": { + "import": { + "types": "./dist/node.d.mts", + "default": "./dist/node.mjs" + }, + "require": { + "types": "./dist/node.d.cts", + "default": "./dist/node.cjs" + } + }, + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/node.d.cts", + "default": "./dist/node.cjs" + }, + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "./node": { + "import": { + "types": "./dist/node.d.mts", + "default": "./dist/node.mjs" + }, + "require": { + "types": "./dist/node.d.cts", + "default": "./dist/node.cjs" + } + } + }, + "main": "./dist/node.cjs", + "module": "./dist/index.mjs", + "react-native": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "node.d.ts" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint . && prettier -c src test playground examples", + "lint:fix": "eslint --fix . && prettier -w src test playground examples", + "prepack": "pnpm build", + "play": "jiti playground/index.ts", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --coverage" + }, + "dependencies": { + "destr": "^2.0.3", + "node-fetch-native": "^1.6.4", + "ufo": "^1.5.4" + }, + "devDependencies": { + "@types/node": "^22.7.5", + "@vitest/coverage-v8": "^2.1.2", + "changelogen": "^0.5.7", + "eslint": "^9.12.0", + "eslint-config-unjs": "^0.4.1", + "fetch-blob": "^4.0.0", + "formdata-polyfill": "^4.0.10", + "h3": "^1.13.0", + "jiti": "^2.3.3", + "listhen": "^1.9.0", + "prettier": "^3.3.3", + "std-env": "^3.7.0", + "typescript": "^5.6.2", + "unbuild": "^2.0.0", + "undici": "^6.19.8", + "vitest": "^2.1.2" + }, + "packageManager": "pnpm@9.12.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/pathe/dist/index.mjs b/.output/server/node_modules/pathe/dist/index.mjs new file mode 100644 index 00000000..ecd6cd01 --- /dev/null +++ b/.output/server/node_modules/pathe/dist/index.mjs @@ -0,0 +1 @@ +export { h as basename, p as default, d as delimiter, f as dirname, e as extname, g as format, i as isAbsolute, j as join, a as normalize, b as normalizeString, k as parse, c as relative, r as resolve, s as sep, t as toNamespacedPath } from './shared/pathe.ff20891b.mjs'; diff --git a/.output/server/node_modules/pathe/dist/shared/pathe.ff20891b.mjs b/.output/server/node_modules/pathe/dist/shared/pathe.ff20891b.mjs new file mode 100644 index 00000000..e91d8d62 --- /dev/null +++ b/.output/server/node_modules/pathe/dist/shared/pathe.ff20891b.mjs @@ -0,0 +1,221 @@ +const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//; +function normalizeWindowsPath(input = "") { + if (!input) { + return input; + } + return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase()); +} + +const _UNC_REGEX = /^[/\\]{2}/; +const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/; +const _DRIVE_LETTER_RE = /^[A-Za-z]:$/; +const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/; +const sep = "/"; +const delimiter = ":"; +const normalize = function(path) { + if (path.length === 0) { + return "."; + } + path = normalizeWindowsPath(path); + const isUNCPath = path.match(_UNC_REGEX); + const isPathAbsolute = isAbsolute(path); + const trailingSeparator = path[path.length - 1] === "/"; + path = normalizeString(path, !isPathAbsolute); + if (path.length === 0) { + if (isPathAbsolute) { + return "/"; + } + return trailingSeparator ? "./" : "."; + } + if (trailingSeparator) { + path += "/"; + } + if (_DRIVE_LETTER_RE.test(path)) { + path += "/"; + } + if (isUNCPath) { + if (!isPathAbsolute) { + return `//./${path}`; + } + return `//${path}`; + } + return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path; +}; +const join = function(...arguments_) { + if (arguments_.length === 0) { + return "."; + } + let joined; + for (const argument of arguments_) { + if (argument && argument.length > 0) { + if (joined === void 0) { + joined = argument; + } else { + joined += `/${argument}`; + } + } + } + if (joined === void 0) { + return "."; + } + return normalize(joined.replace(/\/\/+/g, "/")); +}; +function cwd() { + if (typeof process !== "undefined" && typeof process.cwd === "function") { + return process.cwd().replace(/\\/g, "/"); + } + return "/"; +} +const resolve = function(...arguments_) { + arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument)); + let resolvedPath = ""; + let resolvedAbsolute = false; + for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) { + const path = index >= 0 ? arguments_[index] : cwd(); + if (!path || path.length === 0) { + continue; + } + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isAbsolute(path); + } + resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute); + if (resolvedAbsolute && !isAbsolute(resolvedPath)) { + return `/${resolvedPath}`; + } + return resolvedPath.length > 0 ? resolvedPath : "."; +}; +function normalizeString(path, allowAboveRoot) { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let char = null; + for (let index = 0; index <= path.length; ++index) { + if (index < path.length) { + char = path[index]; + } else if (char === "/") { + break; + } else { + char = "/"; + } + if (char === "/") { + if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf("/"); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf("/"); + } + lastSlash = index; + dots = 0; + continue; + } else if (res.length > 0) { + res = ""; + lastSegmentLength = 0; + lastSlash = index; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + res += res.length > 0 ? "/.." : ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) { + res += `/${path.slice(lastSlash + 1, index)}`; + } else { + res = path.slice(lastSlash + 1, index); + } + lastSegmentLength = index - lastSlash - 1; + } + lastSlash = index; + dots = 0; + } else if (char === "." && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} +const isAbsolute = function(p) { + return _IS_ABSOLUTE_RE.test(p); +}; +const toNamespacedPath = function(p) { + return normalizeWindowsPath(p); +}; +const _EXTNAME_RE = /.(\.[^./]+)$/; +const extname = function(p) { + const match = _EXTNAME_RE.exec(normalizeWindowsPath(p)); + return match && match[1] || ""; +}; +const relative = function(from, to) { + const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/"); + const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/"); + if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) { + return _to.join("/"); + } + const _fromCopy = [..._from]; + for (const segment of _fromCopy) { + if (_to[0] !== segment) { + break; + } + _from.shift(); + _to.shift(); + } + return [..._from.map(() => ".."), ..._to].join("/"); +}; +const dirname = function(p) { + const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1); + if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) { + segments[0] += "/"; + } + return segments.join("/") || (isAbsolute(p) ? "/" : "."); +}; +const format = function(p) { + const segments = [p.root, p.dir, p.base ?? p.name + p.ext].filter(Boolean); + return normalizeWindowsPath( + p.root ? resolve(...segments) : segments.join("/") + ); +}; +const basename = function(p, extension) { + const lastSegment = normalizeWindowsPath(p).split("/").pop(); + return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment; +}; +const parse = function(p) { + const root = normalizeWindowsPath(p).split("/").shift() || "/"; + const base = basename(p); + const extension = extname(base); + return { + root, + dir: dirname(p), + base, + ext: extension, + name: base.slice(0, base.length - extension.length) + }; +}; + +const path = { + __proto__: null, + basename: basename, + delimiter: delimiter, + dirname: dirname, + extname: extname, + format: format, + isAbsolute: isAbsolute, + join: join, + normalize: normalize, + normalizeString: normalizeString, + parse: parse, + relative: relative, + resolve: resolve, + sep: sep, + toNamespacedPath: toNamespacedPath +}; + +export { normalize as a, normalizeString as b, relative as c, delimiter as d, extname as e, dirname as f, format as g, basename as h, isAbsolute as i, join as j, parse as k, normalizeWindowsPath as n, path as p, resolve as r, sep as s, toNamespacedPath as t }; diff --git a/.output/server/node_modules/pathe/package.json b/.output/server/node_modules/pathe/package.json new file mode 100644 index 00000000..1b14f7dc --- /dev/null +++ b/.output/server/node_modules/pathe/package.json @@ -0,0 +1,48 @@ +{ + "name": "pathe", + "version": "1.1.2", + "description": "Universal filesystem path utils", + "repository": "unjs/pathe", + "license": "MIT", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./utils": { + "types": "./dist/utils.d.ts", + "import": "./dist/utils.mjs", + "require": "./dist/utils.cjs" + } + }, + "main": "./dist/index.cjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "utils.d.ts" + ], + "devDependencies": { + "@types/node": "^20.10.8", + "@vitest/coverage-v8": "^1.1.3", + "changelogen": "^0.5.5", + "eslint": "^8.56.0", + "eslint-config-unjs": "^0.2.1", + "jiti": "^1.21.0", + "prettier": "^3.1.1", + "typescript": "^5.3.3", + "unbuild": "^2.0.0", + "vitest": "^1.1.3" + }, + "packageManager": "pnpm@8.14.0", + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --ext .ts . && prettier -c src test", + "lint:fix": "eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w", + "release": "pnpm test && pnpm build && changelogen --release && pnpm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --coverage", + "test:types": "tsc --noEmit" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/perfect-debounce b/.output/server/node_modules/perfect-debounce new file mode 120000 index 00000000..99ec3ec1 --- /dev/null +++ b/.output/server/node_modules/perfect-debounce @@ -0,0 +1 @@ +.nitro/perfect-debounce@2.0.0 \ No newline at end of file diff --git a/.output/server/node_modules/pinia/dist/pinia.prod.cjs b/.output/server/node_modules/pinia/dist/pinia.prod.cjs new file mode 100644 index 00000000..4e429f44 --- /dev/null +++ b/.output/server/node_modules/pinia/dist/pinia.prod.cjs @@ -0,0 +1,722 @@ +/*! + * pinia v3.0.3 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */ +'use strict'; + +var vue = require('vue'); +require('@vue/devtools-api'); + +/** + * setActivePinia must be called to handle SSR at the top of functions like + * `fetch`, `setup`, `serverPrefetch` and others + */ +let activePinia; +/** + * Sets or unsets the active pinia. Used in SSR and internally when calling + * actions and getters + * + * @param pinia - Pinia instance + */ +// @ts-expect-error: cannot constrain the type of the return +const setActivePinia = (pinia) => (activePinia = pinia); +/** + * Get the currently active pinia if there is any. + */ +const getActivePinia = () => (vue.hasInjectionContext() && vue.inject(piniaSymbol)) || activePinia; +const piniaSymbol = (/* istanbul ignore next */ Symbol()); + +function isPlainObject( +// eslint-disable-next-line @typescript-eslint/no-explicit-any +o) { + return (o && + typeof o === 'object' && + Object.prototype.toString.call(o) === '[object Object]' && + typeof o.toJSON !== 'function'); +} +// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> } +// TODO: can we change these to numbers? +/** + * Possible types for SubscriptionCallback + */ +exports.MutationType = void 0; +(function (MutationType) { + /** + * Direct mutation of the state: + * + * - `store.name = 'new name'` + * - `store.$state.name = 'new name'` + * - `store.list.push('new item')` + */ + MutationType["direct"] = "direct"; + /** + * Mutated the state with `$patch` and an object + * + * - `store.$patch({ name: 'newName' })` + */ + MutationType["patchObject"] = "patch object"; + /** + * Mutated the state with `$patch` and a function + * + * - `store.$patch(state => state.name = 'newName')` + */ + MutationType["patchFunction"] = "patch function"; + // maybe reset? for $state = {} and $reset +})(exports.MutationType || (exports.MutationType = {})); + +/** + * Creates a Pinia instance to be used by the application + */ +function createPinia() { + const scope = vue.effectScope(true); + // NOTE: here we could check the window object for a state and directly set it + // if there is anything like it with Vue 3 SSR + const state = scope.run(() => vue.ref({})); + let _p = []; + // plugins added before calling app.use(pinia) + let toBeInstalled = []; + const pinia = vue.markRaw({ + install(app) { + // this allows calling useStore() outside of a component setup after + // installing pinia's plugin + setActivePinia(pinia); + pinia._a = app; + app.provide(piniaSymbol, pinia); + app.config.globalProperties.$pinia = pinia; + toBeInstalled.forEach((plugin) => _p.push(plugin)); + toBeInstalled = []; + }, + use(plugin) { + if (!this._a) { + toBeInstalled.push(plugin); + } + else { + _p.push(plugin); + } + return this; + }, + _p, + // it's actually undefined here + // @ts-expect-error + _a: null, + _e: scope, + _s: new Map(), + state, + }); + return pinia; +} +/** + * Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly + * useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances. + * Once disposed, the pinia instance cannot be used anymore. + * + * @param pinia - pinia instance + */ +function disposePinia(pinia) { + pinia._e.stop(); + pinia._s.clear(); + pinia._p.splice(0); + pinia.state.value = {}; + // @ts-expect-error: non valid + pinia._a = null; +} + +/** + * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications. + * + * @example + * ```js + * const useUser = defineStore(...) + * if (import.meta.hot) { + * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot)) + * } + * ``` + * + * @param initialUseStore - return of the defineStore to hot update + * @param hot - `import.meta.hot` + */ +function acceptHMRUpdate(initialUseStore, hot) { + // strip as much as possible from iife.prod + { + return () => { }; + } +} + +const noop = () => { }; +function addSubscription(subscriptions, callback, detached, onCleanup = noop) { + subscriptions.push(callback); + const removeSubscription = () => { + const idx = subscriptions.indexOf(callback); + if (idx > -1) { + subscriptions.splice(idx, 1); + onCleanup(); + } + }; + if (!detached && vue.getCurrentScope()) { + vue.onScopeDispose(removeSubscription); + } + return removeSubscription; +} +function triggerSubscriptions(subscriptions, ...args) { + subscriptions.slice().forEach((callback) => { + callback(...args); + }); +} + +const fallbackRunWithContext = (fn) => fn(); +/** + * Marks a function as an action for `$onAction` + * @internal + */ +const ACTION_MARKER = Symbol(); +/** + * Action name symbol. Allows to add a name to an action after defining it + * @internal + */ +const ACTION_NAME = Symbol(); +function mergeReactiveObjects(target, patchToApply) { + // Handle Map instances + if (target instanceof Map && patchToApply instanceof Map) { + patchToApply.forEach((value, key) => target.set(key, value)); + } + else if (target instanceof Set && patchToApply instanceof Set) { + // Handle Set instances + patchToApply.forEach(target.add, target); + } + // no need to go through symbols because they cannot be serialized anyway + for (const key in patchToApply) { + if (!patchToApply.hasOwnProperty(key)) + continue; + const subPatch = patchToApply[key]; + const targetValue = target[key]; + if (isPlainObject(targetValue) && + isPlainObject(subPatch) && + target.hasOwnProperty(key) && + !vue.isRef(subPatch) && + !vue.isReactive(subPatch)) { + // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might + // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that + // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`. + target[key] = mergeReactiveObjects(targetValue, subPatch); + } + else { + // @ts-expect-error: subPatch is a valid value + target[key] = subPatch; + } + } + return target; +} +const skipHydrateSymbol = /* istanbul ignore next */ Symbol(); +/** + * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a + * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store. + * + * @param obj - target object + * @returns obj + */ +function skipHydrate(obj) { + return Object.defineProperty(obj, skipHydrateSymbol, {}); +} +/** + * Returns whether a value should be hydrated + * + * @param obj - target variable + * @returns true if `obj` should be hydrated + */ +function shouldHydrate(obj) { + return (!isPlainObject(obj) || + !Object.prototype.hasOwnProperty.call(obj, skipHydrateSymbol)); +} +const { assign } = Object; +function isComputed(o) { + return !!(vue.isRef(o) && o.effect); +} +function createOptionsStore(id, options, pinia, hot) { + const { state, actions, getters } = options; + const initialState = pinia.state.value[id]; + let store; + function setup() { + if (!initialState && (true)) { + /* istanbul ignore if */ + pinia.state.value[id] = state ? state() : {}; + } + // avoid creating a state in pinia.state.value + const localState = vue.toRefs(pinia.state.value[id]); + return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => { + computedGetters[name] = vue.markRaw(vue.computed(() => { + setActivePinia(pinia); + // it was created just before + const store = pinia._s.get(id); + // allow cross using stores + // @ts-expect-error + // return getters![name].call(context, context) + // TODO: avoid reading the getter while assigning with a global variable + return getters[name].call(store, store); + })); + return computedGetters; + }, {})); + } + store = createSetupStore(id, setup, options, pinia, hot, true); + return store; +} +function createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) { + let scope; + const optionsForPlugin = assign({ actions: {} }, options); + // watcher options for $subscribe + const $subscribeOptions = { deep: true }; + // internal state + let isListening; // set to true at the end + let isSyncListening; // set to true at the end + let subscriptions = []; + let actionSubscriptions = []; + let debuggerEvents; + const initialState = pinia.state.value[$id]; + // avoid setting the state for option stores if it is set + // by the setup + if (!isOptionsStore && !initialState && (true)) { + /* istanbul ignore if */ + pinia.state.value[$id] = {}; + } + vue.ref({}); + // avoid triggering too many listeners + // https://github.com/vuejs/pinia/issues/1129 + let activeListener; + function $patch(partialStateOrMutator) { + let subscriptionMutation; + isListening = isSyncListening = false; + if (typeof partialStateOrMutator === 'function') { + partialStateOrMutator(pinia.state.value[$id]); + subscriptionMutation = { + type: exports.MutationType.patchFunction, + storeId: $id, + events: debuggerEvents, + }; + } + else { + mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator); + subscriptionMutation = { + type: exports.MutationType.patchObject, + payload: partialStateOrMutator, + storeId: $id, + events: debuggerEvents, + }; + } + const myListenerId = (activeListener = Symbol()); + vue.nextTick().then(() => { + if (activeListener === myListenerId) { + isListening = true; + } + }); + isSyncListening = true; + // because we paused the watcher, we need to manually call the subscriptions + triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]); + } + const $reset = isOptionsStore + ? function $reset() { + const { state } = options; + const newState = state ? state() : {}; + // we use a patch to group all changes into one single subscription + this.$patch(($state) => { + // @ts-expect-error: FIXME: shouldn't error? + assign($state, newState); + }); + } + : /* istanbul ignore next */ + noop; + function $dispose() { + scope.stop(); + subscriptions = []; + actionSubscriptions = []; + pinia._s.delete($id); + } + /** + * Helper that wraps function so it can be tracked with $onAction + * @param fn - action to wrap + * @param name - name of the action + */ + const action = (fn, name = '') => { + if (ACTION_MARKER in fn) { + fn[ACTION_NAME] = name; + return fn; + } + const wrappedAction = function () { + setActivePinia(pinia); + const args = Array.from(arguments); + const afterCallbackList = []; + const onErrorCallbackList = []; + function after(callback) { + afterCallbackList.push(callback); + } + function onError(callback) { + onErrorCallbackList.push(callback); + } + // @ts-expect-error + triggerSubscriptions(actionSubscriptions, { + args, + name: wrappedAction[ACTION_NAME], + store, + after, + onError, + }); + let ret; + try { + ret = fn.apply(this && this.$id === $id ? this : store, args); + // handle sync errors + } + catch (error) { + triggerSubscriptions(onErrorCallbackList, error); + throw error; + } + if (ret instanceof Promise) { + return ret + .then((value) => { + triggerSubscriptions(afterCallbackList, value); + return value; + }) + .catch((error) => { + triggerSubscriptions(onErrorCallbackList, error); + return Promise.reject(error); + }); + } + // trigger after callbacks + triggerSubscriptions(afterCallbackList, ret); + return ret; + }; + wrappedAction[ACTION_MARKER] = true; + wrappedAction[ACTION_NAME] = name; // will be set later + // @ts-expect-error: we are intentionally limiting the returned type to just Fn + // because all the added properties are internals that are exposed through `$onAction()` only + return wrappedAction; + }; + const partialStore = { + _p: pinia, + // _s: scope, + $id, + $onAction: addSubscription.bind(null, actionSubscriptions), + $patch, + $reset, + $subscribe(callback, options = {}) { + const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher()); + const stopWatcher = scope.run(() => vue.watch(() => pinia.state.value[$id], (state) => { + if (options.flush === 'sync' ? isSyncListening : isListening) { + callback({ + storeId: $id, + type: exports.MutationType.direct, + events: debuggerEvents, + }, state); + } + }, assign({}, $subscribeOptions, options))); + return removeSubscription; + }, + $dispose, + }; + const store = vue.reactive(partialStore); + // store the partial store now so the setup of stores can instantiate each other before they are finished without + // creating infinite loops. + pinia._s.set($id, store); + const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext; + // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped + const setupStore = runWithContext(() => pinia._e.run(() => (scope = vue.effectScope()).run(() => setup({ action })))); + // overwrite existing actions to support $onAction + for (const key in setupStore) { + const prop = setupStore[key]; + if ((vue.isRef(prop) && !isComputed(prop)) || vue.isReactive(prop)) { + // mark it as a piece of state to be serialized + if (!isOptionsStore) { + // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created + if (initialState && shouldHydrate(prop)) { + if (vue.isRef(prop)) { + prop.value = initialState[key]; + } + else { + // probably a reactive object, lets recursively assign + // @ts-expect-error: prop is unknown + mergeReactiveObjects(prop, initialState[key]); + } + } + // transfer the ref to the pinia state to keep everything in sync + pinia.state.value[$id][key] = prop; + } + // action + } + else if (typeof prop === 'function') { + const actionValue = action(prop, key); + // this a hot module replacement store because the hotUpdate method needs + // to do it with the right context + // @ts-expect-error + setupStore[key] = actionValue; + // list actions so they can be used in plugins + // @ts-expect-error + optionsForPlugin.actions[key] = prop; + } + else ; + } + // add the state, getters, and action properties + /* istanbul ignore if */ + assign(store, setupStore); + // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object. + // Make `storeToRefs()` work with `reactive()` #799 + assign(vue.toRaw(store), setupStore); + // use this instead of a computed with setter to be able to create it anywhere + // without linking the computed lifespan to wherever the store is first + // created. + Object.defineProperty(store, '$state', { + get: () => (pinia.state.value[$id]), + set: (state) => { + $patch(($state) => { + // @ts-expect-error: FIXME: shouldn't error? + assign($state, state); + }); + }, + }); + // apply all plugins + pinia._p.forEach((extender) => { + /* istanbul ignore else */ + { + assign(store, scope.run(() => extender({ + store: store, + app: pinia._a, + pinia, + options: optionsForPlugin, + }))); + } + }); + // only apply hydrate to option stores with an initial state in pinia + if (initialState && + isOptionsStore && + options.hydrate) { + options.hydrate(store.$state, initialState); + } + isListening = true; + isSyncListening = true; + return store; +} +// allows unused stores to be tree shaken +/*! #__NO_SIDE_EFFECTS__ */ +function defineStore( +// TODO: add proper types from above +id, setup, setupOptions) { + let options; + const isSetupStore = typeof setup === 'function'; + // the option store setup will contain the actual options in this case + options = isSetupStore ? setupOptions : setup; + function useStore(pinia, hot) { + const hasContext = vue.hasInjectionContext(); + pinia = + // in test mode, ignore the argument provided as we can always retrieve a + // pinia instance with getActivePinia() + ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) || + (hasContext ? vue.inject(piniaSymbol, null) : null); + if (pinia) + setActivePinia(pinia); + pinia = activePinia; + if (!pinia._s.has(id)) { + // creating the store registers it in `pinia._s` + if (isSetupStore) { + createSetupStore(id, setup, options, pinia); + } + else { + createOptionsStore(id, options, pinia); + } + } + const store = pinia._s.get(id); + // StoreGeneric cannot be casted towards Store + return store; + } + useStore.$id = id; + return useStore; +} + +let mapStoreSuffix = 'Store'; +/** + * Changes the suffix added by `mapStores()`. Can be set to an empty string. + * Defaults to `"Store"`. Make sure to extend the MapStoresCustomization + * interface if you are using TypeScript. + * + * @param suffix - new suffix + */ +function setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS +) { + mapStoreSuffix = suffix; +} +/** + * Allows using stores without the composition API (`setup()`) by generating an + * object to be spread in the `computed` field of a component. It accepts a list + * of store definitions. + * + * @example + * ```js + * export default { + * computed: { + * // other computed properties + * ...mapStores(useUserStore, useCartStore) + * }, + * + * created() { + * this.userStore // store with id "user" + * this.cartStore // store with id "cart" + * } + * } + * ``` + * + * @param stores - list of stores to map to an object + */ +function mapStores(...stores) { + return stores.reduce((reduced, useStore) => { + // @ts-expect-error: $id is added by defineStore + reduced[useStore.$id + mapStoreSuffix] = function () { + return useStore(this.$pinia); + }; + return reduced; + }, {}); +} +/** + * Allows using state and getters from one store without using the composition + * API (`setup()`) by generating an object to be spread in the `computed` field + * of a component. + * + * @param useStore - store to map from + * @param keysOrMapper - array or object + */ +function mapState(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) + ? keysOrMapper.reduce((reduced, key) => { + reduced[key] = function () { + // @ts-expect-error: FIXME: should work? + return useStore(this.$pinia)[key]; + }; + return reduced; + }, {}) + : Object.keys(keysOrMapper).reduce((reduced, key) => { + // @ts-expect-error + reduced[key] = function () { + const store = useStore(this.$pinia); + const storeKey = keysOrMapper[key]; + // for some reason TS is unable to infer the type of storeKey to be a + // function + return typeof storeKey === 'function' + ? storeKey.call(this, store) + : // @ts-expect-error: FIXME: should work? + store[storeKey]; + }; + return reduced; + }, {}); +} +/** + * Alias for `mapState()`. You should use `mapState()` instead. + * @deprecated use `mapState()` instead. + */ +const mapGetters = mapState; +/** + * Allows directly using actions from your store without using the composition + * API (`setup()`) by generating an object to be spread in the `methods` field + * of a component. + * + * @param useStore - store to map from + * @param keysOrMapper - array or object + */ +function mapActions(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) + ? keysOrMapper.reduce((reduced, key) => { + // @ts-expect-error + reduced[key] = function (...args) { + // @ts-expect-error: FIXME: should work? + return useStore(this.$pinia)[key](...args); + }; + return reduced; + }, {}) + : Object.keys(keysOrMapper).reduce((reduced, key) => { + // @ts-expect-error + reduced[key] = function (...args) { + // @ts-expect-error: FIXME: should work? + return useStore(this.$pinia)[keysOrMapper[key]](...args); + }; + return reduced; + }, {}); +} +/** + * Allows using state and getters from one store without using the composition + * API (`setup()`) by generating an object to be spread in the `computed` field + * of a component. + * + * @param useStore - store to map from + * @param keysOrMapper - array or object + */ +function mapWritableState(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) + ? keysOrMapper.reduce((reduced, key) => { + reduced[key] = { + get() { + return useStore(this.$pinia)[key]; + }, + set(value) { + return (useStore(this.$pinia)[key] = value); + }, + }; + return reduced; + }, {}) + : Object.keys(keysOrMapper).reduce((reduced, key) => { + reduced[key] = { + get() { + return useStore(this.$pinia)[keysOrMapper[key]]; + }, + set(value) { + return (useStore(this.$pinia)[keysOrMapper[key]] = value); + }, + }; + return reduced; + }, {}); +} + +/** + * Creates an object of references with all the state, getters, and plugin-added + * state properties of the store. Similar to `toRefs()` but specifically + * designed for Pinia stores so methods and non reactive properties are + * completely ignored. + * + * @param store - store to extract the refs from + */ +function storeToRefs(store) { + const rawStore = vue.toRaw(store); + const refs = {}; + for (const key in rawStore) { + const value = rawStore[key]; + // There is no native method to check for a computed + // https://github.com/vuejs/core/pull/4165 + if (value.effect) { + // @ts-expect-error: too hard to type correctly + refs[key] = + // ... + vue.computed({ + get: () => store[key], + set(value) { + store[key] = value; + }, + }); + } + else if (vue.isRef(value) || vue.isReactive(value)) { + // @ts-expect-error: the key is state or getter + refs[key] = + // --- + vue.toRef(store, key); + } + } + return refs; +} + +exports.acceptHMRUpdate = acceptHMRUpdate; +exports.createPinia = createPinia; +exports.defineStore = defineStore; +exports.disposePinia = disposePinia; +exports.getActivePinia = getActivePinia; +exports.mapActions = mapActions; +exports.mapGetters = mapGetters; +exports.mapState = mapState; +exports.mapStores = mapStores; +exports.mapWritableState = mapWritableState; +exports.setActivePinia = setActivePinia; +exports.setMapStoreSuffix = setMapStoreSuffix; +exports.shouldHydrate = shouldHydrate; +exports.skipHydrate = skipHydrate; +exports.storeToRefs = storeToRefs; diff --git a/.output/server/node_modules/pinia/node_modules/vue b/.output/server/node_modules/pinia/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/pinia/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/pinia/package.json b/.output/server/node_modules/pinia/package.json new file mode 100644 index 00000000..8a03bd88 --- /dev/null +++ b/.output/server/node_modules/pinia/package.json @@ -0,0 +1,94 @@ +{ + "name": "pinia", + "version": "3.0.3", + "description": "Intuitive, type safe and flexible Store for Vue", + "type": "module", + "main": "index.cjs", + "module": "dist/pinia.mjs", + "unpkg": "dist/pinia.iife.js", + "jsdelivr": "dist/pinia.iife.js", + "types": "dist/pinia.d.ts", + "exports": { + ".": { + "types": "./dist/pinia.d.ts", + "node": { + "import": { + "production": "./dist/pinia.prod.cjs", + "development": "./dist/pinia.mjs", + "default": "./dist/pinia.prod.cjs" + }, + "require": { + "production": "./dist/pinia.prod.cjs", + "development": "./dist/pinia.cjs", + "default": "./dist/pinia.prod.cjs" + } + }, + "import": "./dist/pinia.mjs", + "require": "./index.cjs" + }, + "./package.json": "./package.json" + }, + "sideEffects": false, + "author": { + "name": "Eduardo San Martin Morote", + "email": "posva13@gmail.com" + }, + "funding": "https://github.com/sponsors/posva", + "files": [ + "dist/*.js", + "dist/*.mjs", + "dist/*.cjs", + "dist/pinia.d.ts", + "index.cjs", + "LICENSE", + "README.md" + ], + "keywords": [ + "vue", + "vuex", + "store", + "pinia", + "piña", + "pigna", + "composition", + "api", + "setup", + "typed", + "typescript", + "ts", + "type", + "safe" + ], + "license": "MIT", + "devDependencies": { + "@microsoft/api-extractor": "7.49.2", + "@vue/test-utils": "^2.4.6" + }, + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/pinia.git" + }, + "bugs": { + "url": "https://github.com/vuejs/pinia/issues" + }, + "homepage": "https://pinia.vuejs.org", + "scripts": { + "build": "rimraf dist && rollup -c ../../rollup.config.mjs --environment TARGET:pinia", + "build:dts": "api-extractor run --local --verbose && tail -n +3 ./src/globalExtensions.ts >> dist/pinia.d.ts", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s --commit-path . -l pinia -r 1", + "test:dts": "tsc -p ./test-dts/tsconfig.json", + "test": "pnpm run build && pnpm run build:dts && pnpm test:dts" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/popmotion/dist/es/animations/generators/decay.mjs b/.output/server/node_modules/popmotion/dist/es/animations/generators/decay.mjs new file mode 100644 index 00000000..71b810c0 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/generators/decay.mjs @@ -0,0 +1,19 @@ +function decay({ velocity = 0, from = 0, power = 0.8, timeConstant = 350, restDelta = 0.5, modifyTarget, }) { + const state = { done: false, value: from }; + let amplitude = power * velocity; + const ideal = from + amplitude; + const target = modifyTarget === undefined ? ideal : modifyTarget(ideal); + if (target !== ideal) + amplitude = target - from; + return { + next: (t) => { + const delta = -amplitude * Math.exp(-t / timeConstant); + state.done = !(delta > restDelta || delta < -restDelta); + state.value = state.done ? target : target + delta; + return state; + }, + flipTarget: () => { }, + }; +} + +export { decay }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/generators/keyframes.mjs b/.output/server/node_modules/popmotion/dist/es/animations/generators/keyframes.mjs new file mode 100644 index 00000000..aeaf8580 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/generators/keyframes.mjs @@ -0,0 +1,39 @@ +import { interpolate } from '../../utils/interpolate.mjs'; +import { easeInOut } from '../../easing/index.mjs'; + +function defaultEasing(values, easing) { + return values.map(() => easing || easeInOut).splice(0, values.length - 1); +} +function defaultOffset(values) { + const numValues = values.length; + return values.map((_value, i) => i !== 0 ? i / (numValues - 1) : 0); +} +function convertOffsetToTimes(offset, duration) { + return offset.map((o) => o * duration); +} +function keyframes({ from = 0, to = 1, ease, offset, duration = 300, }) { + const state = { done: false, value: from }; + const values = Array.isArray(to) ? to : [from, to]; + const times = convertOffsetToTimes(offset && offset.length === values.length + ? offset + : defaultOffset(values), duration); + function createInterpolator() { + return interpolate(times, values, { + ease: Array.isArray(ease) ? ease : defaultEasing(values, ease), + }); + } + let interpolator = createInterpolator(); + return { + next: (t) => { + state.value = interpolator(t); + state.done = t >= duration; + return state; + }, + flipTarget: () => { + values.reverse(); + interpolator = createInterpolator(); + }, + }; +} + +export { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/generators/spring.mjs b/.output/server/node_modules/popmotion/dist/es/animations/generators/spring.mjs new file mode 100644 index 00000000..74034189 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/generators/spring.mjs @@ -0,0 +1,119 @@ +import { __rest } from 'tslib'; +import { findSpring, calcAngularFreq } from '../utils/find-spring.mjs'; + +const durationKeys = ["duration", "bounce"]; +const physicsKeys = ["stiffness", "damping", "mass"]; +function isSpringType(options, keys) { + return keys.some((key) => options[key] !== undefined); +} +function getSpringOptions(options) { + let springOptions = Object.assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options); + if (!isSpringType(options, physicsKeys) && + isSpringType(options, durationKeys)) { + const derived = findSpring(options); + springOptions = Object.assign(Object.assign(Object.assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 }); + springOptions.isResolvedFromDuration = true; + } + return springOptions; +} +function spring(_a) { + var { from = 0.0, to = 1.0, restSpeed = 2, restDelta } = _a, options = __rest(_a, ["from", "to", "restSpeed", "restDelta"]); + const state = { done: false, value: from }; + let { stiffness, damping, mass, velocity, duration, isResolvedFromDuration, } = getSpringOptions(options); + let resolveSpring = zero; + let resolveVelocity = zero; + function createSpring() { + const initialVelocity = velocity ? -(velocity / 1000) : 0.0; + const initialDelta = to - from; + const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass)); + const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000; + if (restDelta === undefined) { + restDelta = Math.min(Math.abs(to - from) / 100, 0.4); + } + if (dampingRatio < 1) { + const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio); + resolveSpring = (t) => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return (to - + envelope * + (((initialVelocity + + dampingRatio * undampedAngularFreq * initialDelta) / + angularFreq) * + Math.sin(angularFreq * t) + + initialDelta * Math.cos(angularFreq * t))); + }; + resolveVelocity = (t) => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return (dampingRatio * + undampedAngularFreq * + envelope * + ((Math.sin(angularFreq * t) * + (initialVelocity + + dampingRatio * + undampedAngularFreq * + initialDelta)) / + angularFreq + + initialDelta * Math.cos(angularFreq * t)) - + envelope * + (Math.cos(angularFreq * t) * + (initialVelocity + + dampingRatio * + undampedAngularFreq * + initialDelta) - + angularFreq * + initialDelta * + Math.sin(angularFreq * t))); + }; + } + else if (dampingRatio === 1) { + resolveSpring = (t) => to - + Math.exp(-undampedAngularFreq * t) * + (initialDelta + + (initialVelocity + undampedAngularFreq * initialDelta) * + t); + } + else { + const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1); + resolveSpring = (t) => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + const freqForT = Math.min(dampedAngularFreq * t, 300); + return (to - + (envelope * + ((initialVelocity + + dampingRatio * undampedAngularFreq * initialDelta) * + Math.sinh(freqForT) + + dampedAngularFreq * + initialDelta * + Math.cosh(freqForT))) / + dampedAngularFreq); + }; + } + } + createSpring(); + return { + next: (t) => { + const current = resolveSpring(t); + if (!isResolvedFromDuration) { + const currentVelocity = resolveVelocity(t) * 1000; + const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed; + const isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta; + state.done = + isBelowVelocityThreshold && isBelowDisplacementThreshold; + } + else { + state.done = t >= duration; + } + state.value = state.done ? to : current; + return state; + }, + flipTarget: () => { + velocity = -velocity; + [from, to] = [to, from]; + createSpring(); + }, + }; +} +spring.needsInterpolation = (a, b) => typeof a === "string" || typeof b === "string"; +const zero = (_t) => 0; + +export { spring }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/index.mjs b/.output/server/node_modules/popmotion/dist/es/animations/index.mjs new file mode 100644 index 00000000..55403ae8 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/index.mjs @@ -0,0 +1,89 @@ +import { __rest } from 'tslib'; +import { detectAnimationFromOptions } from './utils/detect-animation-from-options.mjs'; +import sync, { cancelSync } from 'framesync'; +import { interpolate } from '../utils/interpolate.mjs'; +import { hasRepeatDelayElapsed, reverseElapsed, loopElapsed } from './utils/elapsed.mjs'; + +const framesync = (update) => { + const passTimestamp = ({ delta }) => update(delta); + return { + start: () => sync.update(passTimestamp, true), + stop: () => cancelSync.update(passTimestamp), + }; +}; +function animate(_a) { + var _b, _c; + var { from, autoplay = true, driver = framesync, elapsed = 0, repeat: repeatMax = 0, repeatType = "loop", repeatDelay = 0, onPlay, onStop, onComplete, onRepeat, onUpdate } = _a, options = __rest(_a, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]); + let { to } = options; + let driverControls; + let repeatCount = 0; + let computedDuration = options.duration; + let latest; + let isComplete = false; + let isForwardPlayback = true; + let interpolateFromNumber; + const animator = detectAnimationFromOptions(options); + if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) { + interpolateFromNumber = interpolate([0, 100], [from, to], { + clamp: false, + }); + from = 0; + to = 100; + } + const animation = animator(Object.assign(Object.assign({}, options), { from, to })); + function repeat() { + repeatCount++; + if (repeatType === "reverse") { + isForwardPlayback = repeatCount % 2 === 0; + elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback); + } + else { + elapsed = loopElapsed(elapsed, computedDuration, repeatDelay); + if (repeatType === "mirror") + animation.flipTarget(); + } + isComplete = false; + onRepeat && onRepeat(); + } + function complete() { + driverControls.stop(); + onComplete && onComplete(); + } + function update(delta) { + if (!isForwardPlayback) + delta = -delta; + elapsed += delta; + if (!isComplete) { + const state = animation.next(Math.max(0, elapsed)); + latest = state.value; + if (interpolateFromNumber) + latest = interpolateFromNumber(latest); + isComplete = isForwardPlayback ? state.done : elapsed <= 0; + } + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest); + if (isComplete) { + if (repeatCount === 0) + computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed); + if (repeatCount < repeatMax) { + hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat(); + } + else { + complete(); + } + } + } + function play() { + onPlay === null || onPlay === void 0 ? void 0 : onPlay(); + driverControls = driver(update); + driverControls.start(); + } + autoplay && play(); + return { + stop: () => { + onStop === null || onStop === void 0 ? void 0 : onStop(); + driverControls.stop(); + }, + }; +} + +export { animate }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/inertia.mjs b/.output/server/node_modules/popmotion/dist/es/animations/inertia.mjs new file mode 100644 index 00000000..28fe1b1b --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/inertia.mjs @@ -0,0 +1,65 @@ +import { animate } from './index.mjs'; +import { velocityPerSecond } from '../utils/velocity-per-second.mjs'; +import { getFrameData } from 'framesync'; + +function inertia({ from = 0, velocity = 0, min, max, power = 0.8, timeConstant = 750, bounceStiffness = 500, bounceDamping = 10, restDelta = 1, modifyTarget, driver, onUpdate, onComplete, onStop, }) { + let currentAnimation; + function isOutOfBounds(v) { + return (min !== undefined && v < min) || (max !== undefined && v > max); + } + function boundaryNearest(v) { + if (min === undefined) + return max; + if (max === undefined) + return min; + return Math.abs(min - v) < Math.abs(max - v) ? min : max; + } + function startAnimation(options) { + currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); + currentAnimation = animate(Object.assign(Object.assign({}, options), { driver, onUpdate: (v) => { + var _a; + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v); + (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v); + }, onComplete, + onStop })); + } + function startSpring(options) { + startAnimation(Object.assign({ type: "spring", stiffness: bounceStiffness, damping: bounceDamping, restDelta }, options)); + } + if (isOutOfBounds(from)) { + startSpring({ from, velocity, to: boundaryNearest(from) }); + } + else { + let target = power * velocity + from; + if (typeof modifyTarget !== "undefined") + target = modifyTarget(target); + const boundary = boundaryNearest(target); + const heading = boundary === min ? -1 : 1; + let prev; + let current; + const checkBoundary = (v) => { + prev = current; + current = v; + velocity = velocityPerSecond(v - prev, getFrameData().delta); + if ((heading === 1 && v > boundary) || + (heading === -1 && v < boundary)) { + startSpring({ from: v, to: boundary, velocity }); + } + }; + startAnimation({ + type: "decay", + from, + velocity, + timeConstant, + power, + restDelta, + modifyTarget, + onUpdate: isOutOfBounds(target) ? checkBoundary : undefined, + }); + } + return { + stop: () => currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(), + }; +} + +export { inertia }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.mjs b/.output/server/node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.mjs new file mode 100644 index 00000000..1117c4cd --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.mjs @@ -0,0 +1,29 @@ +import { spring } from '../generators/spring.mjs'; +import { keyframes } from '../generators/keyframes.mjs'; +import { decay } from '../generators/decay.mjs'; + +const types = { keyframes, spring, decay }; +function detectAnimationFromOptions(config) { + if (Array.isArray(config.to)) { + return keyframes; + } + else if (types[config.type]) { + return types[config.type]; + } + const keys = new Set(Object.keys(config)); + if (keys.has("ease") || + (keys.has("duration") && !keys.has("dampingRatio"))) { + return keyframes; + } + else if (keys.has("dampingRatio") || + keys.has("stiffness") || + keys.has("mass") || + keys.has("damping") || + keys.has("restSpeed") || + keys.has("restDelta")) { + return spring; + } + return keyframes; +} + +export { detectAnimationFromOptions }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/utils/elapsed.mjs b/.output/server/node_modules/popmotion/dist/es/animations/utils/elapsed.mjs new file mode 100644 index 00000000..d42a423d --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/utils/elapsed.mjs @@ -0,0 +1,13 @@ +function loopElapsed(elapsed, duration, delay = 0) { + return elapsed - duration - delay; +} +function reverseElapsed(elapsed, duration, delay = 0, isForwardPlayback = true) { + return isForwardPlayback + ? loopElapsed(duration + -elapsed, duration, delay) + : duration - (elapsed - duration) + delay; +} +function hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) { + return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay; +} + +export { hasRepeatDelayElapsed, loopElapsed, reverseElapsed }; diff --git a/.output/server/node_modules/popmotion/dist/es/animations/utils/find-spring.mjs b/.output/server/node_modules/popmotion/dist/es/animations/utils/find-spring.mjs new file mode 100644 index 00000000..e352096d --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/animations/utils/find-spring.mjs @@ -0,0 +1,79 @@ +import { warning } from 'hey-listen'; +import { clamp } from '../../utils/clamp.mjs'; + +const safeMin = 0.001; +const minDuration = 0.01; +const maxDuration = 10.0; +const minDamping = 0.05; +const maxDamping = 1; +function findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1, }) { + let envelope; + let derivative; + warning(duration <= maxDuration * 1000, "Spring duration must be 10 seconds or less"); + let dampingRatio = 1 - bounce; + dampingRatio = clamp(minDamping, maxDamping, dampingRatio); + duration = clamp(minDuration, maxDuration, duration / 1000); + if (dampingRatio < 1) { + envelope = (undampedFreq) => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const a = exponentialDecay - velocity; + const b = calcAngularFreq(undampedFreq, dampingRatio); + const c = Math.exp(-delta); + return safeMin - (a / b) * c; + }; + derivative = (undampedFreq) => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const d = delta * velocity + velocity; + const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration; + const f = Math.exp(-delta); + const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio); + const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1; + return (factor * ((d - e) * f)) / g; + }; + } + else { + envelope = (undampedFreq) => { + const a = Math.exp(-undampedFreq * duration); + const b = (undampedFreq - velocity) * duration + 1; + return -safeMin + a * b; + }; + derivative = (undampedFreq) => { + const a = Math.exp(-undampedFreq * duration); + const b = (velocity - undampedFreq) * (duration * duration); + return a * b; + }; + } + const initialGuess = 5 / duration; + const undampedFreq = approximateRoot(envelope, derivative, initialGuess); + duration = duration * 1000; + if (isNaN(undampedFreq)) { + return { + stiffness: 100, + damping: 10, + duration, + }; + } + else { + const stiffness = Math.pow(undampedFreq, 2) * mass; + return { + stiffness, + damping: dampingRatio * 2 * Math.sqrt(mass * stiffness), + duration, + }; + } +} +const rootIterations = 12; +function approximateRoot(envelope, derivative, initialGuess) { + let result = initialGuess; + for (let i = 1; i < rootIterations; i++) { + result = result - envelope(result) / derivative(result); + } + return result; +} +function calcAngularFreq(undampedFreq, dampingRatio) { + return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio); +} + +export { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration }; diff --git a/.output/server/node_modules/popmotion/dist/es/easing/cubic-bezier.mjs b/.output/server/node_modules/popmotion/dist/es/easing/cubic-bezier.mjs new file mode 100644 index 00000000..c8db9aa3 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/easing/cubic-bezier.mjs @@ -0,0 +1,74 @@ +import { linear } from './index.mjs'; + +const a = (a1, a2) => 1.0 - 3.0 * a2 + 3.0 * a1; +const b = (a1, a2) => 3.0 * a2 - 6.0 * a1; +const c = (a1) => 3.0 * a1; +const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t; +const getSlope = (t, a1, a2) => 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1); +const subdivisionPrecision = 0.0000001; +const subdivisionMaxIterations = 10; +function binarySubdivide(aX, aA, aB, mX1, mX2) { + let currentX; + let currentT; + let i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } + else { + aA = currentT; + } + } while (Math.abs(currentX) > subdivisionPrecision && + ++i < subdivisionMaxIterations); + return currentT; +} +const newtonIterations = 8; +const newtonMinSlope = 0.001; +function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { + for (let i = 0; i < newtonIterations; ++i) { + const currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + const currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; +} +const kSplineTableSize = 11; +const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); +function cubicBezier(mX1, mY1, mX2, mY2) { + if (mX1 === mY1 && mX2 === mY2) + return linear; + const sampleValues = new Float32Array(kSplineTableSize); + for (let i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + function getTForX(aX) { + let intervalStart = 0.0; + let currentSample = 1; + const lastSample = kSplineTableSize - 1; + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + const dist = (aX - sampleValues[currentSample]) / + (sampleValues[currentSample + 1] - sampleValues[currentSample]); + const guessForT = intervalStart + dist * kSampleStepSize; + const initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= newtonMinSlope) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } + else if (initialSlope === 0.0) { + return guessForT; + } + else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2); +} + +export { cubicBezier }; diff --git a/.output/server/node_modules/popmotion/dist/es/easing/index.mjs b/.output/server/node_modules/popmotion/dist/es/easing/index.mjs new file mode 100644 index 00000000..a6ed53e4 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/easing/index.mjs @@ -0,0 +1,38 @@ +import { createExpoIn, reverseEasing, mirrorEasing, createBackIn, createAnticipate } from './utils.mjs'; + +const DEFAULT_OVERSHOOT_STRENGTH = 1.525; +const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0; +const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0; +const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0; +const linear = p => p; +const easeIn = createExpoIn(2); +const easeOut = reverseEasing(easeIn); +const easeInOut = mirrorEasing(easeIn); +const circIn = p => 1 - Math.sin(Math.acos(p)); +const circOut = reverseEasing(circIn); +const circInOut = mirrorEasing(circOut); +const backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH); +const backOut = reverseEasing(backIn); +const backInOut = mirrorEasing(backIn); +const anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH); +const ca = 4356.0 / 361.0; +const cb = 35442.0 / 1805.0; +const cc = 16061.0 / 1805.0; +const bounceOut = (p) => { + if (p === 1 || p === 0) + return p; + const p2 = p * p; + return p < BOUNCE_FIRST_THRESHOLD + ? 7.5625 * p2 + : p < BOUNCE_SECOND_THRESHOLD + ? 9.075 * p2 - 9.9 * p + 3.4 + : p < BOUNCE_THIRD_THRESHOLD + ? ca * p2 - cb * p + cc + : 10.8 * p * p - 20.52 * p + 10.72; +}; +const bounceIn = reverseEasing(bounceOut); +const bounceInOut = (p) => p < 0.5 + ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) + : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5; + +export { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear }; diff --git a/.output/server/node_modules/popmotion/dist/es/easing/steps.mjs b/.output/server/node_modules/popmotion/dist/es/easing/steps.mjs new file mode 100644 index 00000000..b841bca1 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/easing/steps.mjs @@ -0,0 +1,11 @@ +import { clamp } from '../utils/clamp.mjs'; + +const steps = (steps, direction = 'end') => (progress) => { + progress = + direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001); + const expanded = progress * steps; + const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded); + return clamp(0, 1, rounded / steps); +}; + +export { steps }; diff --git a/.output/server/node_modules/popmotion/dist/es/easing/utils.mjs b/.output/server/node_modules/popmotion/dist/es/easing/utils.mjs new file mode 100644 index 00000000..6680afa3 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/easing/utils.mjs @@ -0,0 +1,12 @@ +const reverseEasing = easing => p => 1 - easing(1 - p); +const mirrorEasing = easing => p => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2; +const createExpoIn = (power) => p => Math.pow(p, power); +const createBackIn = (power) => p => p * p * ((power + 1) * p - power); +const createAnticipate = (power) => { + const backEasing = createBackIn(power); + return p => (p *= 2) < 1 + ? 0.5 * backEasing(p) + : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); +}; + +export { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing }; diff --git a/.output/server/node_modules/popmotion/dist/es/index.mjs b/.output/server/node_modules/popmotion/dist/es/index.mjs new file mode 100644 index 00000000..1244714e --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/index.mjs @@ -0,0 +1,32 @@ +export { animate } from './animations/index.mjs'; +export { inertia } from './animations/inertia.mjs'; +export { decay } from './animations/generators/decay.mjs'; +export { spring } from './animations/generators/spring.mjs'; +export { keyframes } from './animations/generators/keyframes.mjs'; +export { angle } from './utils/angle.mjs'; +export { applyOffset } from './utils/apply-offset.mjs'; +export { attract, attractExpo, createAttractor } from './utils/attract.mjs'; +export { clamp } from './utils/clamp.mjs'; +export { degreesToRadians } from './utils/degrees-to-radians.mjs'; +export { distance } from './utils/distance.mjs'; +export { interpolate } from './utils/interpolate.mjs'; +export { isPoint3D } from './utils/is-point-3d.mjs'; +export { isPoint } from './utils/is-point.mjs'; +export { mixColor } from './utils/mix-color.mjs'; +export { mixComplex } from './utils/mix-complex.mjs'; +export { mix } from './utils/mix.mjs'; +export { pipe } from './utils/pipe.mjs'; +export { pointFromVector } from './utils/point-from-vector.mjs'; +export { progress } from './utils/progress.mjs'; +export { radiansToDegrees } from './utils/radians-to-degrees.mjs'; +export { smoothFrame } from './utils/smooth-frame.mjs'; +export { smooth } from './utils/smooth.mjs'; +export { snap } from './utils/snap.mjs'; +export { toDecimal } from './utils/to-decimal.mjs'; +export { velocityPerFrame } from './utils/velocity-per-frame.mjs'; +export { velocityPerSecond } from './utils/velocity-per-second.mjs'; +export { wrap } from './utils/wrap.mjs'; +export { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear } from './easing/index.mjs'; +export { cubicBezier } from './easing/cubic-bezier.mjs'; +export { steps } from './easing/steps.mjs'; +export { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing } from './easing/utils.mjs'; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/angle.mjs b/.output/server/node_modules/popmotion/dist/es/utils/angle.mjs new file mode 100644 index 00000000..b2038577 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/angle.mjs @@ -0,0 +1,6 @@ +import { radiansToDegrees } from './radians-to-degrees.mjs'; +import { zeroPoint } from './inc.mjs'; + +const angle = (a, b = zeroPoint) => radiansToDegrees(Math.atan2(b.y - a.y, b.x - a.x)); + +export { angle }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/apply-offset.mjs b/.output/server/node_modules/popmotion/dist/es/utils/apply-offset.mjs new file mode 100644 index 00000000..6da93dc6 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/apply-offset.mjs @@ -0,0 +1,19 @@ +const applyOffset = (from, to) => { + let hasReceivedFrom = true; + if (to === undefined) { + to = from; + hasReceivedFrom = false; + } + return (v) => { + if (hasReceivedFrom) { + return v - from + to; + } + else { + from = v; + hasReceivedFrom = true; + return to; + } + }; +}; + +export { applyOffset }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/attract.mjs b/.output/server/node_modules/popmotion/dist/es/utils/attract.mjs new file mode 100644 index 00000000..4175f0d0 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/attract.mjs @@ -0,0 +1,12 @@ +const identity = (v) => v; +const createAttractor = (alterDisplacement = identity) => (constant, origin, v) => { + const displacement = origin - v; + const springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement))); + return displacement <= 0 + ? origin + springModifiedDisplacement + : origin - springModifiedDisplacement; +}; +const attract = createAttractor(); +const attractExpo = createAttractor(Math.sqrt); + +export { attract, attractExpo, createAttractor }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/clamp.mjs b/.output/server/node_modules/popmotion/dist/es/utils/clamp.mjs new file mode 100644 index 00000000..8e1df13b --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/clamp.mjs @@ -0,0 +1,3 @@ +const clamp = (min, max, v) => Math.min(Math.max(v, min), max); + +export { clamp }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/degrees-to-radians.mjs b/.output/server/node_modules/popmotion/dist/es/utils/degrees-to-radians.mjs new file mode 100644 index 00000000..2e696e9f --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/degrees-to-radians.mjs @@ -0,0 +1,3 @@ +const degreesToRadians = (degrees) => (degrees * Math.PI) / 180; + +export { degreesToRadians }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/distance.mjs b/.output/server/node_modules/popmotion/dist/es/utils/distance.mjs new file mode 100644 index 00000000..afc2b604 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/distance.mjs @@ -0,0 +1,18 @@ +import { isPoint } from './is-point.mjs'; +import { isPoint3D } from './is-point-3d.mjs'; +import { isNum } from './inc.mjs'; + +const distance1D = (a, b) => Math.abs(a - b); +function distance(a, b) { + if (isNum(a) && isNum(b)) { + return distance1D(a, b); + } + else if (isPoint(a) && isPoint(b)) { + const xDelta = distance1D(a.x, b.x); + const yDelta = distance1D(a.y, b.y); + const zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0; + return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2)); + } +} + +export { distance }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/hsla-to-rgba.mjs b/.output/server/node_modules/popmotion/dist/es/utils/hsla-to-rgba.mjs new file mode 100644 index 00000000..205b4651 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/hsla-to-rgba.mjs @@ -0,0 +1,41 @@ +function hueToRgb(p, q, t) { + if (t < 0) + t += 1; + if (t > 1) + t -= 1; + if (t < 1 / 6) + return p + (q - p) * 6 * t; + if (t < 1 / 2) + return q; + if (t < 2 / 3) + return p + (q - p) * (2 / 3 - t) * 6; + return p; +} +function hslaToRgba({ hue, saturation, lightness, alpha }) { + hue /= 360; + saturation /= 100; + lightness /= 100; + let red = 0; + let green = 0; + let blue = 0; + if (!saturation) { + red = green = blue = lightness; + } + else { + const q = lightness < 0.5 + ? lightness * (1 + saturation) + : lightness + saturation - lightness * saturation; + const p = 2 * lightness - q; + red = hueToRgb(p, q, hue + 1 / 3); + green = hueToRgb(p, q, hue); + blue = hueToRgb(p, q, hue - 1 / 3); + } + return { + red: Math.round(red * 255), + green: Math.round(green * 255), + blue: Math.round(blue * 255), + alpha, + }; +} + +export { hslaToRgba }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/inc.mjs b/.output/server/node_modules/popmotion/dist/es/utils/inc.mjs new file mode 100644 index 00000000..e9fe97eb --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/inc.mjs @@ -0,0 +1,8 @@ +const zeroPoint = { + x: 0, + y: 0, + z: 0 +}; +const isNum = (v) => typeof v === 'number'; + +export { isNum, zeroPoint }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/interpolate.mjs b/.output/server/node_modules/popmotion/dist/es/utils/interpolate.mjs new file mode 100644 index 00000000..e3d96089 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/interpolate.mjs @@ -0,0 +1,92 @@ +import { progress } from './progress.mjs'; +import { mix } from './mix.mjs'; +import { mixColor } from './mix-color.mjs'; +import { mixComplex, mixArray, mixObject } from './mix-complex.mjs'; +import { color } from 'style-value-types'; +import { clamp } from './clamp.mjs'; +import { pipe } from './pipe.mjs'; +import { invariant } from 'hey-listen'; + +const mixNumber = (from, to) => (p) => mix(from, to, p); +function detectMixerFactory(v) { + if (typeof v === 'number') { + return mixNumber; + } + else if (typeof v === 'string') { + if (color.test(v)) { + return mixColor; + } + else { + return mixComplex; + } + } + else if (Array.isArray(v)) { + return mixArray; + } + else if (typeof v === 'object') { + return mixObject; + } +} +function createMixers(output, ease, customMixer) { + const mixers = []; + const mixerFactory = customMixer || detectMixerFactory(output[0]); + const numMixers = output.length - 1; + for (let i = 0; i < numMixers; i++) { + let mixer = mixerFactory(output[i], output[i + 1]); + if (ease) { + const easingFunction = Array.isArray(ease) ? ease[i] : ease; + mixer = pipe(easingFunction, mixer); + } + mixers.push(mixer); + } + return mixers; +} +function fastInterpolate([from, to], [mixer]) { + return (v) => mixer(progress(from, to, v)); +} +function slowInterpolate(input, mixers) { + const inputLength = input.length; + const lastInputIndex = inputLength - 1; + return (v) => { + let mixerIndex = 0; + let foundMixerIndex = false; + if (v <= input[0]) { + foundMixerIndex = true; + } + else if (v >= input[lastInputIndex]) { + mixerIndex = lastInputIndex - 1; + foundMixerIndex = true; + } + if (!foundMixerIndex) { + let i = 1; + for (; i < inputLength; i++) { + if (input[i] > v || i === lastInputIndex) { + break; + } + } + mixerIndex = i - 1; + } + const progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v); + return mixers[mixerIndex](progressInRange); + }; +} +function interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) { + const inputLength = input.length; + invariant(inputLength === output.length, 'Both input and output ranges must be the same length'); + invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.'); + if (input[0] > input[inputLength - 1]) { + input = [].concat(input); + output = [].concat(output); + input.reverse(); + output.reverse(); + } + const mixers = createMixers(output, ease, mixer); + const interpolator = inputLength === 2 + ? fastInterpolate(input, mixers) + : slowInterpolate(input, mixers); + return isClamp + ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) + : interpolator; +} + +export { interpolate }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/is-point-3d.mjs b/.output/server/node_modules/popmotion/dist/es/utils/is-point-3d.mjs new file mode 100644 index 00000000..55e57af6 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/is-point-3d.mjs @@ -0,0 +1,5 @@ +import { isPoint } from './is-point.mjs'; + +const isPoint3D = (point) => isPoint(point) && point.hasOwnProperty('z'); + +export { isPoint3D }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/is-point.mjs b/.output/server/node_modules/popmotion/dist/es/utils/is-point.mjs new file mode 100644 index 00000000..1271af57 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/is-point.mjs @@ -0,0 +1,3 @@ +const isPoint = (point) => point.hasOwnProperty('x') && point.hasOwnProperty('y'); + +export { isPoint }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/mix-color.mjs b/.output/server/node_modules/popmotion/dist/es/utils/mix-color.mjs new file mode 100644 index 00000000..457dd4fd --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/mix-color.mjs @@ -0,0 +1,41 @@ +import { mix } from './mix.mjs'; +import { hsla, rgba, hex } from 'style-value-types'; +import { invariant } from 'hey-listen'; +import { hslaToRgba } from './hsla-to-rgba.mjs'; + +const mixLinearColor = (from, to, v) => { + const fromExpo = from * from; + const toExpo = to * to; + return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo)); +}; +const colorTypes = [hex, rgba, hsla]; +const getColorType = (v) => colorTypes.find((type) => type.test(v)); +const notAnimatable = (color) => `'${color}' is not an animatable color. Use the equivalent color code instead.`; +const mixColor = (from, to) => { + let fromColorType = getColorType(from); + let toColorType = getColorType(to); + invariant(!!fromColorType, notAnimatable(from)); + invariant(!!toColorType, notAnimatable(to)); + let fromColor = fromColorType.parse(from); + let toColor = toColorType.parse(to); + if (fromColorType === hsla) { + fromColor = hslaToRgba(fromColor); + fromColorType = rgba; + } + if (toColorType === hsla) { + toColor = hslaToRgba(toColor); + toColorType = rgba; + } + const blended = Object.assign({}, fromColor); + return (v) => { + for (const key in blended) { + if (key !== "alpha") { + blended[key] = mixLinearColor(fromColor[key], toColor[key], v); + } + } + blended.alpha = mix(fromColor.alpha, toColor.alpha, v); + return fromColorType.transform(blended); + }; +}; + +export { mixColor, mixLinearColor }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/mix-complex.mjs b/.output/server/node_modules/popmotion/dist/es/utils/mix-complex.mjs new file mode 100644 index 00000000..9368b3be --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/mix-complex.mjs @@ -0,0 +1,82 @@ +import { complex, color } from 'style-value-types'; +import { mix } from './mix.mjs'; +import { mixColor } from './mix-color.mjs'; +import { isNum } from './inc.mjs'; +import { pipe } from './pipe.mjs'; +import { warning } from 'hey-listen'; + +function getMixer(origin, target) { + if (isNum(origin)) { + return (v) => mix(origin, target, v); + } + else if (color.test(origin)) { + return mixColor(origin, target); + } + else { + return mixComplex(origin, target); + } +} +const mixArray = (from, to) => { + const output = [...from]; + const numValues = output.length; + const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i])); + return (v) => { + for (let i = 0; i < numValues; i++) { + output[i] = blendValue[i](v); + } + return output; + }; +}; +const mixObject = (origin, target) => { + const output = Object.assign(Object.assign({}, origin), target); + const blendValue = {}; + for (const key in output) { + if (origin[key] !== undefined && target[key] !== undefined) { + blendValue[key] = getMixer(origin[key], target[key]); + } + } + return (v) => { + for (const key in blendValue) { + output[key] = blendValue[key](v); + } + return output; + }; +}; +function analyse(value) { + const parsed = complex.parse(value); + const numValues = parsed.length; + let numNumbers = 0; + let numRGB = 0; + let numHSL = 0; + for (let i = 0; i < numValues; i++) { + if (numNumbers || typeof parsed[i] === "number") { + numNumbers++; + } + else { + if (parsed[i].hue !== undefined) { + numHSL++; + } + else { + numRGB++; + } + } + } + return { parsed, numNumbers, numRGB, numHSL }; +} +const mixComplex = (origin, target) => { + const template = complex.createTransformer(target); + const originStats = analyse(origin); + const targetStats = analyse(target); + const canInterpolate = originStats.numHSL === targetStats.numHSL && + originStats.numRGB === targetStats.numRGB && + originStats.numNumbers >= targetStats.numNumbers; + if (canInterpolate) { + return pipe(mixArray(originStats.parsed, targetStats.parsed), template); + } + else { + warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`); + return (p) => `${p > 0 ? target : origin}`; + } +}; + +export { mixArray, mixComplex, mixObject }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/mix.mjs b/.output/server/node_modules/popmotion/dist/es/utils/mix.mjs new file mode 100644 index 00000000..164feb24 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/mix.mjs @@ -0,0 +1,3 @@ +const mix = (from, to, progress) => -progress * from + progress * to + from; + +export { mix }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/pipe.mjs b/.output/server/node_modules/popmotion/dist/es/utils/pipe.mjs new file mode 100644 index 00000000..563fca5d --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/pipe.mjs @@ -0,0 +1,4 @@ +const combineFunctions = (a, b) => (v) => b(a(v)); +const pipe = (...transformers) => transformers.reduce(combineFunctions); + +export { pipe }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/point-from-vector.mjs b/.output/server/node_modules/popmotion/dist/es/utils/point-from-vector.mjs new file mode 100644 index 00000000..32e45614 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/point-from-vector.mjs @@ -0,0 +1,11 @@ +import { degreesToRadians } from './degrees-to-radians.mjs'; + +const pointFromVector = (origin, angle, distance) => { + angle = degreesToRadians(angle); + return { + x: distance * Math.cos(angle) + origin.x, + y: distance * Math.sin(angle) + origin.y + }; +}; + +export { pointFromVector }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/progress.mjs b/.output/server/node_modules/popmotion/dist/es/utils/progress.mjs new file mode 100644 index 00000000..6b0483db --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/progress.mjs @@ -0,0 +1,6 @@ +const progress = (from, to, value) => { + const toFromDifference = to - from; + return toFromDifference === 0 ? 1 : (value - from) / toFromDifference; +}; + +export { progress }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/radians-to-degrees.mjs b/.output/server/node_modules/popmotion/dist/es/utils/radians-to-degrees.mjs new file mode 100644 index 00000000..c0cf0762 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/radians-to-degrees.mjs @@ -0,0 +1,3 @@ +const radiansToDegrees = (radians) => (radians * 180) / Math.PI; + +export { radiansToDegrees }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/smooth-frame.mjs b/.output/server/node_modules/popmotion/dist/es/utils/smooth-frame.mjs new file mode 100644 index 00000000..85735259 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/smooth-frame.mjs @@ -0,0 +1,6 @@ +import { toDecimal } from './to-decimal.mjs'; + +const smoothFrame = (prevValue, nextValue, duration, smoothing = 0) => toDecimal(prevValue + + (duration * (nextValue - prevValue)) / Math.max(smoothing, duration)); + +export { smoothFrame }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/smooth.mjs b/.output/server/node_modules/popmotion/dist/es/utils/smooth.mjs new file mode 100644 index 00000000..e9f50117 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/smooth.mjs @@ -0,0 +1,19 @@ +import { smoothFrame } from './smooth-frame.mjs'; +import { getFrameData } from 'framesync'; + +const smooth = (strength = 50) => { + let previousValue = 0; + let lastUpdated = 0; + return (v) => { + const currentFramestamp = getFrameData().timestamp; + const timeDelta = currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0; + const newValue = timeDelta + ? smoothFrame(previousValue, v, timeDelta, strength) + : previousValue; + lastUpdated = currentFramestamp; + previousValue = newValue; + return newValue; + }; +}; + +export { smooth }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/snap.mjs b/.output/server/node_modules/popmotion/dist/es/utils/snap.mjs new file mode 100644 index 00000000..31b00c04 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/snap.mjs @@ -0,0 +1,25 @@ +const snap = (points) => { + if (typeof points === 'number') { + return (v) => Math.round(v / points) * points; + } + else { + let i = 0; + const numPoints = points.length; + return (v) => { + let lastDistance = Math.abs(points[0] - v); + for (i = 1; i < numPoints; i++) { + const point = points[i]; + const distance = Math.abs(point - v); + if (distance === 0) + return point; + if (distance > lastDistance) + return points[i - 1]; + if (i === numPoints - 1) + return point; + lastDistance = distance; + } + }; + } +}; + +export { snap }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/to-decimal.mjs b/.output/server/node_modules/popmotion/dist/es/utils/to-decimal.mjs new file mode 100644 index 00000000..9a686b47 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/to-decimal.mjs @@ -0,0 +1,6 @@ +const toDecimal = (num, precision = 2) => { + precision = Math.pow(10, precision); + return Math.round(num * precision) / precision; +}; + +export { toDecimal }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-frame.mjs b/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-frame.mjs new file mode 100644 index 00000000..cff17b57 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-frame.mjs @@ -0,0 +1,5 @@ +function velocityPerFrame(xps, frameDuration) { + return xps / (1000 / frameDuration); +} + +export { velocityPerFrame }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-second.mjs b/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-second.mjs new file mode 100644 index 00000000..2c7492b0 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/velocity-per-second.mjs @@ -0,0 +1,5 @@ +function velocityPerSecond(velocity, frameDuration) { + return frameDuration ? velocity * (1000 / frameDuration) : 0; +} + +export { velocityPerSecond }; diff --git a/.output/server/node_modules/popmotion/dist/es/utils/wrap.mjs b/.output/server/node_modules/popmotion/dist/es/utils/wrap.mjs new file mode 100644 index 00000000..039f3427 --- /dev/null +++ b/.output/server/node_modules/popmotion/dist/es/utils/wrap.mjs @@ -0,0 +1,6 @@ +const wrap = (min, max, v) => { + const rangeSize = max - min; + return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min; +}; + +export { wrap }; diff --git a/.output/server/node_modules/popmotion/package.json b/.output/server/node_modules/popmotion/package.json new file mode 100644 index 00000000..f89aa136 --- /dev/null +++ b/.output/server/node_modules/popmotion/package.json @@ -0,0 +1,97 @@ +{ + "name": "popmotion", + "version": "11.0.5", + "description": "The animator's toolbox", + "author": "Matt Perry", + "homepage": "https://popmotion.io", + "main": "dist/popmotion.cjs.js", + "types": "lib/index.d.ts", + "module": "dist/es/index.mjs", + "jsnext:main": "dist/es/index.mjs", + "unpkg": "./dist/popmotion.min.js", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "import": "./dist/es/index.mjs", + "require": "./dist/popmotion.cjs.js", + "default": "./dist/popmotion.cjs.js" + }, + "./package.json": "./package.json" + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "https://github.com/Popmotion/popmotion/tree/master/packages/popmotion" + }, + "bugs": { + "url": "https://github.com/Popmotion/popmotion/issues" + }, + "keywords": [ + "animation", + "ux", + "ui", + "popmotion", + "canvas animation", + "dom animation", + "dom", + "pointer tracking", + "mouse", + "mouse tracking", + "touch", + "touch tracking", + "physics", + "interaction", + "interface", + "svg" + ], + "analyze": true, + "license": "MIT", + "scripts": { + "build": "tsc -p . && rollup -c && yarn measure", + "postbuild": "yarn babel $npm_package_module --out-file $npm_package_module --no-babelrc --plugins annotate-pure-calls", + "dev": "rollup -c -w", + "prepublishOnly": "yarn test && yarn build", + "measure": "gzip -c $npm_package_unpkg | wc -c", + "test": "jest --coverage --maxWorkers=2", + "publish-beta": "npm publish --tag beta" + }, + "dependencies": { + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^11.0.1", + "tslint-circular-dependencies": "^0.1.0", + "typescript": "^4.2.3" + }, + "prettier": { + "printWidth": 80, + "tabWidth": 4, + "semi": false, + "trailingComma": "es5" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "js" + ], + "moduleNameMapper": { + "style-value-types": "<rootDir>/../../style-value-types/src", + "framesync": "<rootDir>/../../framesync/src" + }, + "transform": { + "\\.(ts)$": "../../../node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "/__tests__/.*\\.test.(ts|js)$", + "rootDir": "src", + "collectCoverageFrom": [ + "**/*.{js,jsx,ts,tsx}", + "!**/node_modules/**", + "!**/__tests__/**", + "!**/worklet/**" + ], + "coverageDirectory": "<rootDir>/../coverage" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/proxy-from-env/index.js b/.output/server/node_modules/proxy-from-env/index.js new file mode 100644 index 00000000..df75004a --- /dev/null +++ b/.output/server/node_modules/proxy-from-env/index.js @@ -0,0 +1,108 @@ +'use strict'; + +var parseUrl = require('url').parse; + +var DEFAULT_PORTS = { + ftp: 21, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443, +}; + +var stringEndsWith = String.prototype.endsWith || function(s) { + return s.length <= this.length && + this.indexOf(s, this.length - s.length) !== -1; +}; + +/** + * @param {string|object} url - The URL, or the result from url.parse. + * @return {string} The URL of the proxy that should handle the request to the + * given URL. If no proxy is set, this will be an empty string. + */ +function getProxyForUrl(url) { + var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {}; + var proto = parsedUrl.protocol; + var hostname = parsedUrl.host; + var port = parsedUrl.port; + if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') { + return ''; // Don't proxy URLs without a valid scheme or host. + } + + proto = proto.split(':', 1)[0]; + // Stripping ports in this way instead of using parsedUrl.hostname to make + // sure that the brackets around IPv6 addresses are kept. + hostname = hostname.replace(/:\d*$/, ''); + port = parseInt(port) || DEFAULT_PORTS[proto] || 0; + if (!shouldProxy(hostname, port)) { + return ''; // Don't proxy URLs that match NO_PROXY. + } + + var proxy = + getEnv('npm_config_' + proto + '_proxy') || + getEnv(proto + '_proxy') || + getEnv('npm_config_proxy') || + getEnv('all_proxy'); + if (proxy && proxy.indexOf('://') === -1) { + // Missing scheme in proxy, default to the requested URL's scheme. + proxy = proto + '://' + proxy; + } + return proxy; +} + +/** + * Determines whether a given URL should be proxied. + * + * @param {string} hostname - The host name of the URL. + * @param {number} port - The effective port of the URL. + * @returns {boolean} Whether the given URL should be proxied. + * @private + */ +function shouldProxy(hostname, port) { + var NO_PROXY = + (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase(); + if (!NO_PROXY) { + return true; // Always proxy if NO_PROXY is not set. + } + if (NO_PROXY === '*') { + return false; // Never proxy if wildcard is set. + } + + return NO_PROXY.split(/[,\s]/).every(function(proxy) { + if (!proxy) { + return true; // Skip zero-length hosts. + } + var parsedProxy = proxy.match(/^(.+):(\d+)$/); + var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; + var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; + if (parsedProxyPort && parsedProxyPort !== port) { + return true; // Skip if ports don't match. + } + + if (!/^[.*]/.test(parsedProxyHostname)) { + // No wildcards, so stop proxying if there is an exact match. + return hostname !== parsedProxyHostname; + } + + if (parsedProxyHostname.charAt(0) === '*') { + // Remove leading wildcard. + parsedProxyHostname = parsedProxyHostname.slice(1); + } + // Stop proxying if the hostname ends with the no_proxy host. + return !stringEndsWith.call(hostname, parsedProxyHostname); + }); +} + +/** + * Get the value for an environment variable. + * + * @param {string} key - The name of the environment variable. + * @return {string} The value of the environment variable. + * @private + */ +function getEnv(key) { + return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ''; +} + +exports.getProxyForUrl = getProxyForUrl; diff --git a/.output/server/node_modules/proxy-from-env/package.json b/.output/server/node_modules/proxy-from-env/package.json new file mode 100644 index 00000000..cf47990e --- /dev/null +++ b/.output/server/node_modules/proxy-from-env/package.json @@ -0,0 +1,34 @@ +{ + "name": "proxy-from-env", + "version": "1.1.0", + "description": "Offers getProxyForUrl to get the proxy URL for a URL, respecting the *_PROXY (e.g. HTTP_PROXY) and NO_PROXY environment variables.", + "main": "index.js", + "scripts": { + "lint": "eslint *.js", + "test": "mocha ./test.js --reporter spec", + "test-coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter spec" + }, + "repository": { + "type": "git", + "url": "https://github.com/Rob--W/proxy-from-env.git" + }, + "keywords": [ + "proxy", + "http_proxy", + "https_proxy", + "no_proxy", + "environment" + ], + "author": "Rob Wu <rob@robwu.nl> (https://robwu.nl/)", + "license": "MIT", + "bugs": { + "url": "https://github.com/Rob--W/proxy-from-env/issues" + }, + "homepage": "https://github.com/Rob--W/proxy-from-env#readme", + "devDependencies": { + "coveralls": "^3.0.9", + "eslint": "^6.8.0", + "istanbul": "^0.4.5", + "mocha": "^7.1.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/radix3/dist/index.mjs b/.output/server/node_modules/radix3/dist/index.mjs new file mode 100644 index 00000000..b7226be2 --- /dev/null +++ b/.output/server/node_modules/radix3/dist/index.mjs @@ -0,0 +1,262 @@ +const NODE_TYPES = { + NORMAL: 0, + WILDCARD: 1, + PLACEHOLDER: 2 +}; + +function createRouter(options = {}) { + const ctx = { + options, + rootNode: createRadixNode(), + staticRoutesMap: {} + }; + const normalizeTrailingSlash = (p) => options.strictTrailingSlash ? p : p.replace(/\/$/, "") || "/"; + if (options.routes) { + for (const path in options.routes) { + insert(ctx, normalizeTrailingSlash(path), options.routes[path]); + } + } + return { + ctx, + lookup: (path) => lookup(ctx, normalizeTrailingSlash(path)), + insert: (path, data) => insert(ctx, normalizeTrailingSlash(path), data), + remove: (path) => remove(ctx, normalizeTrailingSlash(path)) + }; +} +function lookup(ctx, path) { + const staticPathNode = ctx.staticRoutesMap[path]; + if (staticPathNode) { + return staticPathNode.data; + } + const sections = path.split("/"); + const params = {}; + let paramsFound = false; + let wildcardNode = null; + let node = ctx.rootNode; + let wildCardParam = null; + for (let i = 0; i < sections.length; i++) { + const section = sections[i]; + if (node.wildcardChildNode !== null) { + wildcardNode = node.wildcardChildNode; + wildCardParam = sections.slice(i).join("/"); + } + const nextNode = node.children.get(section); + if (nextNode === void 0) { + if (node && node.placeholderChildren.length > 1) { + const remaining = sections.length - i; + node = node.placeholderChildren.find((c) => c.maxDepth === remaining) || null; + } else { + node = node.placeholderChildren[0] || null; + } + if (!node) { + break; + } + if (node.paramName) { + params[node.paramName] = section; + } + paramsFound = true; + } else { + node = nextNode; + } + } + if ((node === null || node.data === null) && wildcardNode !== null) { + node = wildcardNode; + params[node.paramName || "_"] = wildCardParam; + paramsFound = true; + } + if (!node) { + return null; + } + if (paramsFound) { + return { + ...node.data, + params: paramsFound ? params : void 0 + }; + } + return node.data; +} +function insert(ctx, path, data) { + let isStaticRoute = true; + const sections = path.split("/"); + let node = ctx.rootNode; + let _unnamedPlaceholderCtr = 0; + const matchedNodes = [node]; + for (const section of sections) { + let childNode; + if (childNode = node.children.get(section)) { + node = childNode; + } else { + const type = getNodeType(section); + childNode = createRadixNode({ type, parent: node }); + node.children.set(section, childNode); + if (type === NODE_TYPES.PLACEHOLDER) { + childNode.paramName = section === "*" ? `_${_unnamedPlaceholderCtr++}` : section.slice(1); + node.placeholderChildren.push(childNode); + isStaticRoute = false; + } else if (type === NODE_TYPES.WILDCARD) { + node.wildcardChildNode = childNode; + childNode.paramName = section.slice( + 3 + /* "**:" */ + ) || "_"; + isStaticRoute = false; + } + matchedNodes.push(childNode); + node = childNode; + } + } + for (const [depth, node2] of matchedNodes.entries()) { + node2.maxDepth = Math.max(matchedNodes.length - depth, node2.maxDepth || 0); + } + node.data = data; + if (isStaticRoute === true) { + ctx.staticRoutesMap[path] = node; + } + return node; +} +function remove(ctx, path) { + let success = false; + const sections = path.split("/"); + let node = ctx.rootNode; + for (const section of sections) { + node = node.children.get(section); + if (!node) { + return success; + } + } + if (node.data) { + const lastSection = sections.at(-1) || ""; + node.data = null; + if (Object.keys(node.children).length === 0 && node.parent) { + node.parent.children.delete(lastSection); + node.parent.wildcardChildNode = null; + node.parent.placeholderChildren = []; + } + success = true; + } + return success; +} +function createRadixNode(options = {}) { + return { + type: options.type || NODE_TYPES.NORMAL, + maxDepth: 0, + parent: options.parent || null, + children: /* @__PURE__ */ new Map(), + data: options.data || null, + paramName: options.paramName || null, + wildcardChildNode: null, + placeholderChildren: [] + }; +} +function getNodeType(str) { + if (str.startsWith("**")) { + return NODE_TYPES.WILDCARD; + } + if (str[0] === ":" || str === "*") { + return NODE_TYPES.PLACEHOLDER; + } + return NODE_TYPES.NORMAL; +} + +function toRouteMatcher(router) { + const table = _routerNodeToTable("", router.ctx.rootNode); + return _createMatcher(table, router.ctx.options.strictTrailingSlash); +} +function _createMatcher(table, strictTrailingSlash) { + return { + ctx: { table }, + matchAll: (path) => _matchRoutes(path, table, strictTrailingSlash) + }; +} +function _createRouteTable() { + return { + static: /* @__PURE__ */ new Map(), + wildcard: /* @__PURE__ */ new Map(), + dynamic: /* @__PURE__ */ new Map() + }; +} +function _exportMatcherFromTable(table) { + const obj = /* @__PURE__ */ Object.create(null); + for (const property in table) { + obj[property] = property === "dynamic" ? Object.fromEntries( + [...table[property].entries()].map(([key, value]) => [ + key, + _exportMatcherFromTable(value) + ]) + ) : Object.fromEntries(table[property].entries()); + } + return obj; +} +function exportMatcher(matcher) { + return _exportMatcherFromTable(matcher.ctx.table); +} +function _createTableFromExport(matcherExport) { + const table = {}; + for (const property in matcherExport) { + table[property] = property === "dynamic" ? new Map( + Object.entries(matcherExport[property]).map(([key, value]) => [ + key, + _createTableFromExport(value) + ]) + ) : new Map( + Object.entries(matcherExport[property]) + ); + } + return table; +} +function createMatcherFromExport(matcherExport) { + return _createMatcher(_createTableFromExport(matcherExport)); +} +function _matchRoutes(path, table, strictTrailingSlash) { + if (strictTrailingSlash !== true && path.endsWith("/")) { + path = path.slice(0, -1) || "/"; + } + const matches = []; + for (const [key, value] of _sortRoutesMap(table.wildcard)) { + if (path === key || path.startsWith(key + "/")) { + matches.push(value); + } + } + for (const [key, value] of _sortRoutesMap(table.dynamic)) { + if (path.startsWith(key + "/")) { + const subPath = "/" + path.slice(key.length).split("/").splice(2).join("/"); + matches.push(..._matchRoutes(subPath, value)); + } + } + const staticMatch = table.static.get(path); + if (staticMatch) { + matches.push(staticMatch); + } + return matches.filter(Boolean); +} +function _sortRoutesMap(m) { + return [...m.entries()].sort((a, b) => a[0].length - b[0].length); +} +function _routerNodeToTable(initialPath, initialNode) { + const table = _createRouteTable(); + function _addNode(path, node) { + if (path) { + if (node.type === NODE_TYPES.NORMAL && !(path.includes("*") || path.includes(":"))) { + if (node.data) { + table.static.set(path, node.data); + } + } else if (node.type === NODE_TYPES.WILDCARD) { + table.wildcard.set(path.replace("/**", ""), node.data); + } else if (node.type === NODE_TYPES.PLACEHOLDER) { + const subTable = _routerNodeToTable("", node); + if (node.data) { + subTable.static.set("/", node.data); + } + table.dynamic.set(path.replace(/\/\*|\/:\w+/, ""), subTable); + return; + } + } + for (const [childPath, child] of node.children.entries()) { + _addNode(`${path}/${childPath}`.replace("//", "/"), child); + } + } + _addNode(initialPath, initialNode); + return table; +} + +export { NODE_TYPES, createMatcherFromExport, createRouter, exportMatcher, toRouteMatcher }; diff --git a/.output/server/node_modules/radix3/package.json b/.output/server/node_modules/radix3/package.json new file mode 100644 index 00000000..b268791b --- /dev/null +++ b/.output/server/node_modules/radix3/package.json @@ -0,0 +1,52 @@ +{ + "name": "radix3", + "version": "1.1.2", + "description": "Lightweight and fast router for JavaScript based on Radix Tree", + "repository": "unjs/radix3", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.cjs", + "import": "./dist/index.mjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "bench": "node ./benchmark/direct.mjs", + "bench:http": "node ./benchmark/http.mjs", + "bench:profile": "0x -o -D benchmark/.profile -- node ./benchmark/direct.mjs", + "build": "unbuild", + "dev": "vitest", + "lint": "eslint --ext .ts,.mjs . && prettier -c src tests", + "lint:fix": "eslint --fix --ext .ts,.mjs . && prettier -w src tests", + "playground": "pnpm jiti ./playground.ts", + "release": "pnpm test && pnpm build && changelogen --release && git push --follow-tags && npm publish", + "test": "pnpm lint && pnpm test:types && vitest run", + "test:types": "tsc --noEmit" + }, + "devDependencies": { + "0x": "^5.7.0", + "@vitest/coverage-v8": "^1.4.0", + "autocannon": "^7.15.0", + "benchmark": "^2.1.4", + "changelogen": "^0.5.5", + "eslint": "^8.57.0", + "eslint-config-unjs": "^0.2.1", + "jiti": "^1.21.0", + "listhen": "^1.7.2", + "prettier": "^3.2.5", + "standard-version": "^9.5.0", + "typescript": "^5.4.3", + "unbuild": "^2.0.0", + "vitest": "^1.4.0" + }, + "packageManager": "pnpm@8.15.5" +} \ No newline at end of file diff --git a/.output/server/node_modules/resize-observer-polyfill/dist/ResizeObserver.js b/.output/server/node_modules/resize-observer-polyfill/dist/ResizeObserver.js new file mode 100644 index 00000000..d72927e8 --- /dev/null +++ b/.output/server/node_modules/resize-observer-polyfill/dist/ResizeObserver.js @@ -0,0 +1,936 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.ResizeObserver = factory()); +}(this, (function () { 'use strict'; + + /** + * A collection of shims that provide minimal functionality of the ES6 collections. + * + * These implementations are not meant to be used outside of the ResizeObserver + * modules as they cover only a limited range of use cases. + */ + /* eslint-disable require-jsdoc, valid-jsdoc */ + var MapShim = (function () { + if (typeof Map !== 'undefined') { + return Map; + } + /** + * Returns index in provided array that matches the specified key. + * + * @param {Array<Array>} arr + * @param {*} key + * @returns {number} + */ + function getIndex(arr, key) { + var result = -1; + arr.some(function (entry, index) { + if (entry[0] === key) { + result = index; + return true; + } + return false; + }); + return result; + } + return /** @class */ (function () { + function class_1() { + this.__entries__ = []; + } + Object.defineProperty(class_1.prototype, "size", { + /** + * @returns {boolean} + */ + get: function () { + return this.__entries__.length; + }, + enumerable: true, + configurable: true + }); + /** + * @param {*} key + * @returns {*} + */ + class_1.prototype.get = function (key) { + var index = getIndex(this.__entries__, key); + var entry = this.__entries__[index]; + return entry && entry[1]; + }; + /** + * @param {*} key + * @param {*} value + * @returns {void} + */ + class_1.prototype.set = function (key, value) { + var index = getIndex(this.__entries__, key); + if (~index) { + this.__entries__[index][1] = value; + } + else { + this.__entries__.push([key, value]); + } + }; + /** + * @param {*} key + * @returns {void} + */ + class_1.prototype.delete = function (key) { + var entries = this.__entries__; + var index = getIndex(entries, key); + if (~index) { + entries.splice(index, 1); + } + }; + /** + * @param {*} key + * @returns {void} + */ + class_1.prototype.has = function (key) { + return !!~getIndex(this.__entries__, key); + }; + /** + * @returns {void} + */ + class_1.prototype.clear = function () { + this.__entries__.splice(0); + }; + /** + * @param {Function} callback + * @param {*} [ctx=null] + * @returns {void} + */ + class_1.prototype.forEach = function (callback, ctx) { + if (ctx === void 0) { ctx = null; } + for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) { + var entry = _a[_i]; + callback.call(ctx, entry[1], entry[0]); + } + }; + return class_1; + }()); + })(); + + /** + * Detects whether window and document objects are available in current environment. + */ + var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; + + // Returns global object of a current environment. + var global$1 = (function () { + if (typeof global !== 'undefined' && global.Math === Math) { + return global; + } + if (typeof self !== 'undefined' && self.Math === Math) { + return self; + } + if (typeof window !== 'undefined' && window.Math === Math) { + return window; + } + // eslint-disable-next-line no-new-func + return Function('return this')(); + })(); + + /** + * A shim for the requestAnimationFrame which falls back to the setTimeout if + * first one is not supported. + * + * @returns {number} Requests' identifier. + */ + var requestAnimationFrame$1 = (function () { + if (typeof requestAnimationFrame === 'function') { + // It's required to use a bounded function because IE sometimes throws + // an "Invalid calling object" error if rAF is invoked without the global + // object on the left hand side. + return requestAnimationFrame.bind(global$1); + } + return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); }; + })(); + + // Defines minimum timeout before adding a trailing call. + var trailingTimeout = 2; + /** + * Creates a wrapper function which ensures that provided callback will be + * invoked only once during the specified delay period. + * + * @param {Function} callback - Function to be invoked after the delay period. + * @param {number} delay - Delay after which to invoke callback. + * @returns {Function} + */ + function throttle (callback, delay) { + var leadingCall = false, trailingCall = false, lastCallTime = 0; + /** + * Invokes the original callback function and schedules new invocation if + * the "proxy" was called during current request. + * + * @returns {void} + */ + function resolvePending() { + if (leadingCall) { + leadingCall = false; + callback(); + } + if (trailingCall) { + proxy(); + } + } + /** + * Callback invoked after the specified delay. It will further postpone + * invocation of the original function delegating it to the + * requestAnimationFrame. + * + * @returns {void} + */ + function timeoutCallback() { + requestAnimationFrame$1(resolvePending); + } + /** + * Schedules invocation of the original function. + * + * @returns {void} + */ + function proxy() { + var timeStamp = Date.now(); + if (leadingCall) { + // Reject immediately following calls. + if (timeStamp - lastCallTime < trailingTimeout) { + return; + } + // Schedule new call to be in invoked when the pending one is resolved. + // This is important for "transitions" which never actually start + // immediately so there is a chance that we might miss one if change + // happens amids the pending invocation. + trailingCall = true; + } + else { + leadingCall = true; + trailingCall = false; + setTimeout(timeoutCallback, delay); + } + lastCallTime = timeStamp; + } + return proxy; + } + + // Minimum delay before invoking the update of observers. + var REFRESH_DELAY = 20; + // A list of substrings of CSS properties used to find transition events that + // might affect dimensions of observed elements. + var transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; + // Check if MutationObserver is available. + var mutationObserverSupported = typeof MutationObserver !== 'undefined'; + /** + * Singleton controller class which handles updates of ResizeObserver instances. + */ + var ResizeObserverController = /** @class */ (function () { + /** + * Creates a new instance of ResizeObserverController. + * + * @private + */ + function ResizeObserverController() { + /** + * Indicates whether DOM listeners have been added. + * + * @private {boolean} + */ + this.connected_ = false; + /** + * Tells that controller has subscribed for Mutation Events. + * + * @private {boolean} + */ + this.mutationEventsAdded_ = false; + /** + * Keeps reference to the instance of MutationObserver. + * + * @private {MutationObserver} + */ + this.mutationsObserver_ = null; + /** + * A list of connected observers. + * + * @private {Array<ResizeObserverSPI>} + */ + this.observers_ = []; + this.onTransitionEnd_ = this.onTransitionEnd_.bind(this); + this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY); + } + /** + * Adds observer to observers list. + * + * @param {ResizeObserverSPI} observer - Observer to be added. + * @returns {void} + */ + ResizeObserverController.prototype.addObserver = function (observer) { + if (!~this.observers_.indexOf(observer)) { + this.observers_.push(observer); + } + // Add listeners if they haven't been added yet. + if (!this.connected_) { + this.connect_(); + } + }; + /** + * Removes observer from observers list. + * + * @param {ResizeObserverSPI} observer - Observer to be removed. + * @returns {void} + */ + ResizeObserverController.prototype.removeObserver = function (observer) { + var observers = this.observers_; + var index = observers.indexOf(observer); + // Remove observer if it's present in registry. + if (~index) { + observers.splice(index, 1); + } + // Remove listeners if controller has no connected observers. + if (!observers.length && this.connected_) { + this.disconnect_(); + } + }; + /** + * Invokes the update of observers. It will continue running updates insofar + * it detects changes. + * + * @returns {void} + */ + ResizeObserverController.prototype.refresh = function () { + var changesDetected = this.updateObservers_(); + // Continue running updates if changes have been detected as there might + // be future ones caused by CSS transitions. + if (changesDetected) { + this.refresh(); + } + }; + /** + * Updates every observer from observers list and notifies them of queued + * entries. + * + * @private + * @returns {boolean} Returns "true" if any observer has detected changes in + * dimensions of it's elements. + */ + ResizeObserverController.prototype.updateObservers_ = function () { + // Collect observers that have active observations. + var activeObservers = this.observers_.filter(function (observer) { + return observer.gatherActive(), observer.hasActive(); + }); + // Deliver notifications in a separate cycle in order to avoid any + // collisions between observers, e.g. when multiple instances of + // ResizeObserver are tracking the same element and the callback of one + // of them changes content dimensions of the observed target. Sometimes + // this may result in notifications being blocked for the rest of observers. + activeObservers.forEach(function (observer) { return observer.broadcastActive(); }); + return activeObservers.length > 0; + }; + /** + * Initializes DOM listeners. + * + * @private + * @returns {void} + */ + ResizeObserverController.prototype.connect_ = function () { + // Do nothing if running in a non-browser environment or if listeners + // have been already added. + if (!isBrowser || this.connected_) { + return; + } + // Subscription to the "Transitionend" event is used as a workaround for + // delayed transitions. This way it's possible to capture at least the + // final state of an element. + document.addEventListener('transitionend', this.onTransitionEnd_); + window.addEventListener('resize', this.refresh); + if (mutationObserverSupported) { + this.mutationsObserver_ = new MutationObserver(this.refresh); + this.mutationsObserver_.observe(document, { + attributes: true, + childList: true, + characterData: true, + subtree: true + }); + } + else { + document.addEventListener('DOMSubtreeModified', this.refresh); + this.mutationEventsAdded_ = true; + } + this.connected_ = true; + }; + /** + * Removes DOM listeners. + * + * @private + * @returns {void} + */ + ResizeObserverController.prototype.disconnect_ = function () { + // Do nothing if running in a non-browser environment or if listeners + // have been already removed. + if (!isBrowser || !this.connected_) { + return; + } + document.removeEventListener('transitionend', this.onTransitionEnd_); + window.removeEventListener('resize', this.refresh); + if (this.mutationsObserver_) { + this.mutationsObserver_.disconnect(); + } + if (this.mutationEventsAdded_) { + document.removeEventListener('DOMSubtreeModified', this.refresh); + } + this.mutationsObserver_ = null; + this.mutationEventsAdded_ = false; + this.connected_ = false; + }; + /** + * "Transitionend" event handler. + * + * @private + * @param {TransitionEvent} event + * @returns {void} + */ + ResizeObserverController.prototype.onTransitionEnd_ = function (_a) { + var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b; + // Detect whether transition may affect dimensions of an element. + var isReflowProperty = transitionKeys.some(function (key) { + return !!~propertyName.indexOf(key); + }); + if (isReflowProperty) { + this.refresh(); + } + }; + /** + * Returns instance of the ResizeObserverController. + * + * @returns {ResizeObserverController} + */ + ResizeObserverController.getInstance = function () { + if (!this.instance_) { + this.instance_ = new ResizeObserverController(); + } + return this.instance_; + }; + /** + * Holds reference to the controller's instance. + * + * @private {ResizeObserverController} + */ + ResizeObserverController.instance_ = null; + return ResizeObserverController; + }()); + + /** + * Defines non-writable/enumerable properties of the provided target object. + * + * @param {Object} target - Object for which to define properties. + * @param {Object} props - Properties to be defined. + * @returns {Object} Target object. + */ + var defineConfigurable = (function (target, props) { + for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) { + var key = _a[_i]; + Object.defineProperty(target, key, { + value: props[key], + enumerable: false, + writable: false, + configurable: true + }); + } + return target; + }); + + /** + * Returns the global object associated with provided element. + * + * @param {Object} target + * @returns {Object} + */ + var getWindowOf = (function (target) { + // Assume that the element is an instance of Node, which means that it + // has the "ownerDocument" property from which we can retrieve a + // corresponding global object. + var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; + // Return the local global object if it's not possible extract one from + // provided element. + return ownerGlobal || global$1; + }); + + // Placeholder of an empty content rectangle. + var emptyRect = createRectInit(0, 0, 0, 0); + /** + * Converts provided string to a number. + * + * @param {number|string} value + * @returns {number} + */ + function toFloat(value) { + return parseFloat(value) || 0; + } + /** + * Extracts borders size from provided styles. + * + * @param {CSSStyleDeclaration} styles + * @param {...string} positions - Borders positions (top, right, ...) + * @returns {number} + */ + function getBordersSize(styles) { + var positions = []; + for (var _i = 1; _i < arguments.length; _i++) { + positions[_i - 1] = arguments[_i]; + } + return positions.reduce(function (size, position) { + var value = styles['border-' + position + '-width']; + return size + toFloat(value); + }, 0); + } + /** + * Extracts paddings sizes from provided styles. + * + * @param {CSSStyleDeclaration} styles + * @returns {Object} Paddings box. + */ + function getPaddings(styles) { + var positions = ['top', 'right', 'bottom', 'left']; + var paddings = {}; + for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) { + var position = positions_1[_i]; + var value = styles['padding-' + position]; + paddings[position] = toFloat(value); + } + return paddings; + } + /** + * Calculates content rectangle of provided SVG element. + * + * @param {SVGGraphicsElement} target - Element content rectangle of which needs + * to be calculated. + * @returns {DOMRectInit} + */ + function getSVGContentRect(target) { + var bbox = target.getBBox(); + return createRectInit(0, 0, bbox.width, bbox.height); + } + /** + * Calculates content rectangle of provided HTMLElement. + * + * @param {HTMLElement} target - Element for which to calculate the content rectangle. + * @returns {DOMRectInit} + */ + function getHTMLElementContentRect(target) { + // Client width & height properties can't be + // used exclusively as they provide rounded values. + var clientWidth = target.clientWidth, clientHeight = target.clientHeight; + // By this condition we can catch all non-replaced inline, hidden and + // detached elements. Though elements with width & height properties less + // than 0.5 will be discarded as well. + // + // Without it we would need to implement separate methods for each of + // those cases and it's not possible to perform a precise and performance + // effective test for hidden elements. E.g. even jQuery's ':visible' filter + // gives wrong results for elements with width & height less than 0.5. + if (!clientWidth && !clientHeight) { + return emptyRect; + } + var styles = getWindowOf(target).getComputedStyle(target); + var paddings = getPaddings(styles); + var horizPad = paddings.left + paddings.right; + var vertPad = paddings.top + paddings.bottom; + // Computed styles of width & height are being used because they are the + // only dimensions available to JS that contain non-rounded values. It could + // be possible to utilize the getBoundingClientRect if only it's data wasn't + // affected by CSS transformations let alone paddings, borders and scroll bars. + var width = toFloat(styles.width), height = toFloat(styles.height); + // Width & height include paddings and borders when the 'border-box' box + // model is applied (except for IE). + if (styles.boxSizing === 'border-box') { + // Following conditions are required to handle Internet Explorer which + // doesn't include paddings and borders to computed CSS dimensions. + // + // We can say that if CSS dimensions + paddings are equal to the "client" + // properties then it's either IE, and thus we don't need to subtract + // anything, or an element merely doesn't have paddings/borders styles. + if (Math.round(width + horizPad) !== clientWidth) { + width -= getBordersSize(styles, 'left', 'right') + horizPad; + } + if (Math.round(height + vertPad) !== clientHeight) { + height -= getBordersSize(styles, 'top', 'bottom') + vertPad; + } + } + // Following steps can't be applied to the document's root element as its + // client[Width/Height] properties represent viewport area of the window. + // Besides, it's as well not necessary as the <html> itself neither has + // rendered scroll bars nor it can be clipped. + if (!isDocumentElement(target)) { + // In some browsers (only in Firefox, actually) CSS width & height + // include scroll bars size which can be removed at this step as scroll + // bars are the only difference between rounded dimensions + paddings + // and "client" properties, though that is not always true in Chrome. + var vertScrollbar = Math.round(width + horizPad) - clientWidth; + var horizScrollbar = Math.round(height + vertPad) - clientHeight; + // Chrome has a rather weird rounding of "client" properties. + // E.g. for an element with content width of 314.2px it sometimes gives + // the client width of 315px and for the width of 314.7px it may give + // 314px. And it doesn't happen all the time. So just ignore this delta + // as a non-relevant. + if (Math.abs(vertScrollbar) !== 1) { + width -= vertScrollbar; + } + if (Math.abs(horizScrollbar) !== 1) { + height -= horizScrollbar; + } + } + return createRectInit(paddings.left, paddings.top, width, height); + } + /** + * Checks whether provided element is an instance of the SVGGraphicsElement. + * + * @param {Element} target - Element to be checked. + * @returns {boolean} + */ + var isSVGGraphicsElement = (function () { + // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement + // interface. + if (typeof SVGGraphicsElement !== 'undefined') { + return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; }; + } + // If it's so, then check that element is at least an instance of the + // SVGElement and that it has the "getBBox" method. + // eslint-disable-next-line no-extra-parens + return function (target) { return (target instanceof getWindowOf(target).SVGElement && + typeof target.getBBox === 'function'); }; + })(); + /** + * Checks whether provided element is a document element (<html>). + * + * @param {Element} target - Element to be checked. + * @returns {boolean} + */ + function isDocumentElement(target) { + return target === getWindowOf(target).document.documentElement; + } + /** + * Calculates an appropriate content rectangle for provided html or svg element. + * + * @param {Element} target - Element content rectangle of which needs to be calculated. + * @returns {DOMRectInit} + */ + function getContentRect(target) { + if (!isBrowser) { + return emptyRect; + } + if (isSVGGraphicsElement(target)) { + return getSVGContentRect(target); + } + return getHTMLElementContentRect(target); + } + /** + * Creates rectangle with an interface of the DOMRectReadOnly. + * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly + * + * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions. + * @returns {DOMRectReadOnly} + */ + function createReadOnlyRect(_a) { + var x = _a.x, y = _a.y, width = _a.width, height = _a.height; + // If DOMRectReadOnly is available use it as a prototype for the rectangle. + var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object; + var rect = Object.create(Constr.prototype); + // Rectangle's properties are not writable and non-enumerable. + defineConfigurable(rect, { + x: x, y: y, width: width, height: height, + top: y, + right: x + width, + bottom: height + y, + left: x + }); + return rect; + } + /** + * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates. + * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit + * + * @param {number} x - X coordinate. + * @param {number} y - Y coordinate. + * @param {number} width - Rectangle's width. + * @param {number} height - Rectangle's height. + * @returns {DOMRectInit} + */ + function createRectInit(x, y, width, height) { + return { x: x, y: y, width: width, height: height }; + } + + /** + * Class that is responsible for computations of the content rectangle of + * provided DOM element and for keeping track of it's changes. + */ + var ResizeObservation = /** @class */ (function () { + /** + * Creates an instance of ResizeObservation. + * + * @param {Element} target - Element to be observed. + */ + function ResizeObservation(target) { + /** + * Broadcasted width of content rectangle. + * + * @type {number} + */ + this.broadcastWidth = 0; + /** + * Broadcasted height of content rectangle. + * + * @type {number} + */ + this.broadcastHeight = 0; + /** + * Reference to the last observed content rectangle. + * + * @private {DOMRectInit} + */ + this.contentRect_ = createRectInit(0, 0, 0, 0); + this.target = target; + } + /** + * Updates content rectangle and tells whether it's width or height properties + * have changed since the last broadcast. + * + * @returns {boolean} + */ + ResizeObservation.prototype.isActive = function () { + var rect = getContentRect(this.target); + this.contentRect_ = rect; + return (rect.width !== this.broadcastWidth || + rect.height !== this.broadcastHeight); + }; + /** + * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data + * from the corresponding properties of the last observed content rectangle. + * + * @returns {DOMRectInit} Last observed content rectangle. + */ + ResizeObservation.prototype.broadcastRect = function () { + var rect = this.contentRect_; + this.broadcastWidth = rect.width; + this.broadcastHeight = rect.height; + return rect; + }; + return ResizeObservation; + }()); + + var ResizeObserverEntry = /** @class */ (function () { + /** + * Creates an instance of ResizeObserverEntry. + * + * @param {Element} target - Element that is being observed. + * @param {DOMRectInit} rectInit - Data of the element's content rectangle. + */ + function ResizeObserverEntry(target, rectInit) { + var contentRect = createReadOnlyRect(rectInit); + // According to the specification following properties are not writable + // and are also not enumerable in the native implementation. + // + // Property accessors are not being used as they'd require to define a + // private WeakMap storage which may cause memory leaks in browsers that + // don't support this type of collections. + defineConfigurable(this, { target: target, contentRect: contentRect }); + } + return ResizeObserverEntry; + }()); + + var ResizeObserverSPI = /** @class */ (function () { + /** + * Creates a new instance of ResizeObserver. + * + * @param {ResizeObserverCallback} callback - Callback function that is invoked + * when one of the observed elements changes it's content dimensions. + * @param {ResizeObserverController} controller - Controller instance which + * is responsible for the updates of observer. + * @param {ResizeObserver} callbackCtx - Reference to the public + * ResizeObserver instance which will be passed to callback function. + */ + function ResizeObserverSPI(callback, controller, callbackCtx) { + /** + * Collection of resize observations that have detected changes in dimensions + * of elements. + * + * @private {Array<ResizeObservation>} + */ + this.activeObservations_ = []; + /** + * Registry of the ResizeObservation instances. + * + * @private {Map<Element, ResizeObservation>} + */ + this.observations_ = new MapShim(); + if (typeof callback !== 'function') { + throw new TypeError('The callback provided as parameter 1 is not a function.'); + } + this.callback_ = callback; + this.controller_ = controller; + this.callbackCtx_ = callbackCtx; + } + /** + * Starts observing provided element. + * + * @param {Element} target - Element to be observed. + * @returns {void} + */ + ResizeObserverSPI.prototype.observe = function (target) { + if (!arguments.length) { + throw new TypeError('1 argument required, but only 0 present.'); + } + // Do nothing if current environment doesn't have the Element interface. + if (typeof Element === 'undefined' || !(Element instanceof Object)) { + return; + } + if (!(target instanceof getWindowOf(target).Element)) { + throw new TypeError('parameter 1 is not of type "Element".'); + } + var observations = this.observations_; + // Do nothing if element is already being observed. + if (observations.has(target)) { + return; + } + observations.set(target, new ResizeObservation(target)); + this.controller_.addObserver(this); + // Force the update of observations. + this.controller_.refresh(); + }; + /** + * Stops observing provided element. + * + * @param {Element} target - Element to stop observing. + * @returns {void} + */ + ResizeObserverSPI.prototype.unobserve = function (target) { + if (!arguments.length) { + throw new TypeError('1 argument required, but only 0 present.'); + } + // Do nothing if current environment doesn't have the Element interface. + if (typeof Element === 'undefined' || !(Element instanceof Object)) { + return; + } + if (!(target instanceof getWindowOf(target).Element)) { + throw new TypeError('parameter 1 is not of type "Element".'); + } + var observations = this.observations_; + // Do nothing if element is not being observed. + if (!observations.has(target)) { + return; + } + observations.delete(target); + if (!observations.size) { + this.controller_.removeObserver(this); + } + }; + /** + * Stops observing all elements. + * + * @returns {void} + */ + ResizeObserverSPI.prototype.disconnect = function () { + this.clearActive(); + this.observations_.clear(); + this.controller_.removeObserver(this); + }; + /** + * Collects observation instances the associated element of which has changed + * it's content rectangle. + * + * @returns {void} + */ + ResizeObserverSPI.prototype.gatherActive = function () { + var _this = this; + this.clearActive(); + this.observations_.forEach(function (observation) { + if (observation.isActive()) { + _this.activeObservations_.push(observation); + } + }); + }; + /** + * Invokes initial callback function with a list of ResizeObserverEntry + * instances collected from active resize observations. + * + * @returns {void} + */ + ResizeObserverSPI.prototype.broadcastActive = function () { + // Do nothing if observer doesn't have active observations. + if (!this.hasActive()) { + return; + } + var ctx = this.callbackCtx_; + // Create ResizeObserverEntry instance for every active observation. + var entries = this.activeObservations_.map(function (observation) { + return new ResizeObserverEntry(observation.target, observation.broadcastRect()); + }); + this.callback_.call(ctx, entries, ctx); + this.clearActive(); + }; + /** + * Clears the collection of active observations. + * + * @returns {void} + */ + ResizeObserverSPI.prototype.clearActive = function () { + this.activeObservations_.splice(0); + }; + /** + * Tells whether observer has active observations. + * + * @returns {boolean} + */ + ResizeObserverSPI.prototype.hasActive = function () { + return this.activeObservations_.length > 0; + }; + return ResizeObserverSPI; + }()); + + // Registry of internal observers. If WeakMap is not available use current shim + // for the Map collection as it has all required methods and because WeakMap + // can't be fully polyfilled anyway. + var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim(); + /** + * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation + * exposing only those methods and properties that are defined in the spec. + */ + var ResizeObserver = /** @class */ (function () { + /** + * Creates a new instance of ResizeObserver. + * + * @param {ResizeObserverCallback} callback - Callback that is invoked when + * dimensions of the observed elements change. + */ + function ResizeObserver(callback) { + if (!(this instanceof ResizeObserver)) { + throw new TypeError('Cannot call a class as a function.'); + } + if (!arguments.length) { + throw new TypeError('1 argument required, but only 0 present.'); + } + var controller = ResizeObserverController.getInstance(); + var observer = new ResizeObserverSPI(callback, controller, this); + observers.set(this, observer); + } + return ResizeObserver; + }()); + // Expose public methods of ResizeObserver. + [ + 'observe', + 'unobserve', + 'disconnect' + ].forEach(function (method) { + ResizeObserver.prototype[method] = function () { + var _a; + return (_a = observers.get(this))[method].apply(_a, arguments); + }; + }); + + var index = (function () { + // Export existing implementation if available. + if (typeof global$1.ResizeObserver !== 'undefined') { + return global$1.ResizeObserver; + } + return ResizeObserver; + })(); + + return index; + +}))); diff --git a/.output/server/node_modules/resize-observer-polyfill/package.json b/.output/server/node_modules/resize-observer-polyfill/package.json new file mode 100644 index 00000000..c2e1c1dd --- /dev/null +++ b/.output/server/node_modules/resize-observer-polyfill/package.json @@ -0,0 +1,64 @@ +{ + "name": "resize-observer-polyfill", + "author": "Denis Rul <que.etc@gmail.com>", + "version": "1.5.1", + "description": "A polyfill for the Resize Observer API", + "main": "dist/ResizeObserver.js", + "module": "dist/ResizeObserver.es.js", + "scripts": { + "build": "rollup -c && cpy src/index.js.flow dist --rename=ResizeObserver.js.flow", + "test": "npm run test:lint && npm run test:spec", + "test:ci": "npm run test:lint && npm run test:spec:sauce && npm run test:spec:node", + "test:ci:pull": "npm run test:lint && karma start --browsers Firefox && npm run test:spec:node", + "test:lint": "node ./node_modules/eslint/bin/eslint.js \"**/*.js\" --ignore-pattern \"/dist/\"", + "test:spec": "karma start --browsers Chrome && npm run test:spec:node", + "test:spec:sauce": "karma start --sauce=windows && karma start --sauce=linux && karma start --sauce=osx", + "test:spec:node": "npm run build && node tests/node/index.js", + "test:spec:custom": "karma start --no-browsers", + "test:spec:native": "karma start --no-browsers --native" + }, + "repository": { + "type": "git", + "url": "https://github.com/que-etc/resize-observer-polyfill.git" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/que-etc/resize-observer-polyfill/issues" + }, + "types": "src/index.d.ts", + "files": [ + "src/", + "dist/" + ], + "keywords": [ + "ResizeObserver", + "resize", + "observer", + "util", + "client", + "browser", + "polyfill", + "ponyfill" + ], + "homepage": "https://github.com/que-etc/resize-observer-polyfill", + "devDependencies": { + "babel-eslint": "10.0.1", + "cpy-cli": "2.0.0", + "eslint": "5.10.0", + "jasmine": "2.8.0", + "jasmine-core": "2.8.0", + "karma": "3.1.3", + "karma-chrome-launcher": "2.2.0", + "karma-firefox-launcher": "1.1.0", + "karma-jasmine": "1.1.2", + "karma-jasmine-html-reporter": "0.2.2", + "karma-rollup-preprocessor": "6.1.1", + "karma-sauce-launcher": "1.2.0", + "karma-sourcemap-loader": "0.3.7", + "karma-spec-reporter": "0.0.32", + "promise-polyfill": "8.1.0", + "rollup": "0.67.4", + "rollup-plugin-typescript": "1.0.0", + "typescript": "3.2.2" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/semver/classes/semver.js b/.output/server/node_modules/semver/classes/semver.js new file mode 100644 index 00000000..92254be1 --- /dev/null +++ b/.output/server/node_modules/semver/classes/semver.js @@ -0,0 +1,333 @@ +'use strict' + +const debug = require('../internal/debug') +const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') +const { safeRe: re, t } = require('../internal/re') + +const parseOptions = require('../internal/parse-options') +const { compareIdentifiers } = require('../internal/identifiers') +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('build compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0 + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer diff --git a/.output/server/node_modules/semver/functions/coerce.js b/.output/server/node_modules/semver/functions/coerce.js new file mode 100644 index 00000000..cfe02759 --- /dev/null +++ b/.output/server/node_modules/semver/functions/coerce.js @@ -0,0 +1,62 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = require('./parse') +const { safeRe: re, t } = require('../internal/re') + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL] + let next + while ((next = coerceRtlRegex.exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + coerceRtlRegex.lastIndex = -1 + } + + if (match === null) { + return null + } + + const major = match[2] + const minor = match[3] || '0' + const patch = match[4] || '0' + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '' + const build = options.includePrerelease && match[6] ? `+${match[6]}` : '' + + return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options) +} +module.exports = coerce diff --git a/.output/server/node_modules/semver/functions/compare.js b/.output/server/node_modules/semver/functions/compare.js new file mode 100644 index 00000000..63d8090c --- /dev/null +++ b/.output/server/node_modules/semver/functions/compare.js @@ -0,0 +1,7 @@ +'use strict' + +const SemVer = require('../classes/semver') +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare diff --git a/.output/server/node_modules/semver/functions/gte.js b/.output/server/node_modules/semver/functions/gte.js new file mode 100644 index 00000000..7c52bdf2 --- /dev/null +++ b/.output/server/node_modules/semver/functions/gte.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte diff --git a/.output/server/node_modules/semver/functions/parse.js b/.output/server/node_modules/semver/functions/parse.js new file mode 100644 index 00000000..d544d33a --- /dev/null +++ b/.output/server/node_modules/semver/functions/parse.js @@ -0,0 +1,18 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse diff --git a/.output/server/node_modules/semver/internal/constants.js b/.output/server/node_modules/semver/internal/constants.js new file mode 100644 index 00000000..6d1db915 --- /dev/null +++ b/.output/server/node_modules/semver/internal/constants.js @@ -0,0 +1,37 @@ +'use strict' + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} diff --git a/.output/server/node_modules/semver/internal/debug.js b/.output/server/node_modules/semver/internal/debug.js new file mode 100644 index 00000000..20d1e9dc --- /dev/null +++ b/.output/server/node_modules/semver/internal/debug.js @@ -0,0 +1,11 @@ +'use strict' + +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug diff --git a/.output/server/node_modules/semver/internal/identifiers.js b/.output/server/node_modules/semver/internal/identifiers.js new file mode 100644 index 00000000..d053472d --- /dev/null +++ b/.output/server/node_modules/semver/internal/identifiers.js @@ -0,0 +1,29 @@ +'use strict' + +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} diff --git a/.output/server/node_modules/semver/internal/parse-options.js b/.output/server/node_modules/semver/internal/parse-options.js new file mode 100644 index 00000000..52954541 --- /dev/null +++ b/.output/server/node_modules/semver/internal/parse-options.js @@ -0,0 +1,17 @@ +'use strict' + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions diff --git a/.output/server/node_modules/semver/internal/re.js b/.output/server/node_modules/semver/internal/re.js new file mode 100644 index 00000000..4758c58d --- /dev/null +++ b/.output/server/node_modules/semver/internal/re.js @@ -0,0 +1,223 @@ +'use strict' + +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const safeSrc = exports.safeSrc = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + safeSrc[index] = safe + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. +// Non-numberic identifiers include numberic identifiers but can be longer. +// Therefore non-numberic identifiers must go first. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/.output/server/node_modules/semver/package.json b/.output/server/node_modules/semver/package.json new file mode 100644 index 00000000..64fd9cba --- /dev/null +++ b/.output/server/node_modules/semver/package.json @@ -0,0 +1,78 @@ +{ + "name": "semver", + "version": "7.7.3", + "description": "The semantic version parser used by npm.", + "main": "index.js", + "scripts": { + "test": "tap", + "snap": "tap", + "lint": "npm run eslint", + "postlint": "template-oss-check", + "lintfix": "npm run eslint -- --fix", + "posttest": "npm run lint", + "template-oss-apply": "template-oss-apply --force", + "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" + }, + "devDependencies": { + "@npmcli/eslint-config": "^5.0.0", + "@npmcli/template-oss": "4.25.1", + "benchmark": "^2.1.4", + "tap": "^16.0.0" + }, + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/node-semver.git" + }, + "bin": { + "semver": "bin/semver.js" + }, + "files": [ + "bin/", + "lib/", + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "tap": { + "timeout": 30, + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] + }, + "engines": { + "node": ">=10" + }, + "author": "GitHub Inc.", + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "4.25.1", + "engines": ">=10", + "distPaths": [ + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf", + "/benchmarks" + ], + "publish": "true" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/sharp/build/Release/sharp-linux-x64.node b/.output/server/node_modules/sharp/build/Release/sharp-linux-x64.node new file mode 100644 index 00000000..7f217c95 Binary files /dev/null and b/.output/server/node_modules/sharp/build/Release/sharp-linux-x64.node differ diff --git a/.output/server/node_modules/sharp/lib/channel.js b/.output/server/node_modules/sharp/lib/channel.js new file mode 100644 index 00000000..977ea386 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/channel.js @@ -0,0 +1,174 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const is = require('./is'); + +/** + * Boolean operations for bandbool. + * @private + */ +const bool = { + and: 'and', + or: 'or', + eor: 'eor' +}; + +/** + * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel. + * + * See also {@link /api-operation#flatten|flatten}. + * + * @example + * sharp('rgba.png') + * .removeAlpha() + * .toFile('rgb.png', function(err, info) { + * // rgb.png is a 3 channel image without an alpha channel + * }); + * + * @returns {Sharp} + */ +function removeAlpha () { + this.options.removeAlpha = true; + return this; +} + +/** + * Ensure the output image has an alpha transparency channel. + * If missing, the added alpha channel will have the specified + * transparency level, defaulting to fully-opaque (1). + * This is a no-op if the image already has an alpha channel. + * + * @since 0.21.2 + * + * @example + * // rgba.png will be a 4 channel image with a fully-opaque alpha channel + * await sharp('rgb.jpg') + * .ensureAlpha() + * .toFile('rgba.png') + * + * @example + * // rgba is a 4 channel image with a fully-transparent alpha channel + * const rgba = await sharp(rgb) + * .ensureAlpha(0) + * .toBuffer(); + * + * @param {number} [alpha=1] - alpha transparency level (0=fully-transparent, 1=fully-opaque) + * @returns {Sharp} + * @throws {Error} Invalid alpha transparency level + */ +function ensureAlpha (alpha) { + if (is.defined(alpha)) { + if (is.number(alpha) && is.inRange(alpha, 0, 1)) { + this.options.ensureAlpha = alpha; + } else { + throw is.invalidParameterError('alpha', 'number between 0 and 1', alpha); + } + } else { + this.options.ensureAlpha = 1; + } + return this; +} + +/** + * Extract a single channel from a multi-channel image. + * + * @example + * // green.jpg is a greyscale image containing the green channel of the input + * await sharp(input) + * .extractChannel('green') + * .toFile('green.jpg'); + * + * @example + * // red1 is the red value of the first pixel, red2 the second pixel etc. + * const [red1, red2, ...] = await sharp(input) + * .extractChannel(0) + * .raw() + * .toBuffer(); + * + * @param {number|string} channel - zero-indexed channel/band number to extract, or `red`, `green`, `blue` or `alpha`. + * @returns {Sharp} + * @throws {Error} Invalid channel + */ +function extractChannel (channel) { + const channelMap = { red: 0, green: 1, blue: 2, alpha: 3 }; + if (Object.keys(channelMap).includes(channel)) { + channel = channelMap[channel]; + } + if (is.integer(channel) && is.inRange(channel, 0, 4)) { + this.options.extractChannel = channel; + } else { + throw is.invalidParameterError('channel', 'integer or one of: red, green, blue, alpha', channel); + } + return this; +} + +/** + * Join one or more channels to the image. + * The meaning of the added channels depends on the output colourspace, set with `toColourspace()`. + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by sharp. + * For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor. + * + * @param {Array<string|Buffer>|string|Buffer} images - one or more images (file paths, Buffers). + * @param {Object} options - image options, see `sharp()` constructor. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function joinChannel (images, options) { + if (Array.isArray(images)) { + images.forEach(function (image) { + this.options.joinChannelIn.push(this._createInputDescriptor(image, options)); + }, this); + } else { + this.options.joinChannelIn.push(this._createInputDescriptor(images, options)); + } + return this; +} + +/** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * + * @example + * sharp('3-channel-rgb-input.png') + * .bandbool(sharp.bool.and) + * .toFile('1-channel-output.png', function (err, info) { + * // The output will be a single channel image where each pixel `P = R & G & B`. + * // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]` + * // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`. + * }); + * + * @param {string} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function bandbool (boolOp) { + if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) { + this.options.bandBoolOp = boolOp; + } else { + throw is.invalidParameterError('boolOp', 'one of: and, or, eor', boolOp); + } + return this; +} + +/** + * Decorate the Sharp prototype with channel-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + // Public instance functions + removeAlpha, + ensureAlpha, + extractChannel, + joinChannel, + bandbool + }); + // Class attributes + Sharp.bool = bool; +}; diff --git a/.output/server/node_modules/sharp/lib/colour.js b/.output/server/node_modules/sharp/lib/colour.js new file mode 100644 index 00000000..a7761d29 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/colour.js @@ -0,0 +1,184 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const color = require('color'); +const is = require('./is'); + +/** + * Colourspaces. + * @private + */ +const colourspace = { + multiband: 'multiband', + 'b-w': 'b-w', + bw: 'b-w', + cmyk: 'cmyk', + srgb: 'srgb' +}; + +/** + * Tint the image using the provided chroma while preserving the image luminance. + * An alpha channel may be present and will be unchanged by the operation. + * + * @example + * const output = await sharp(input) + * .tint({ r: 255, g: 240, b: 16 }) + * .toBuffer(); + * + * @param {string|Object} rgb - parsed by the [color](https://www.npmjs.org/package/color) module to extract chroma values. + * @returns {Sharp} + * @throws {Error} Invalid parameter + */ +function tint (rgb) { + const colour = color(rgb); + this.options.tintA = colour.a(); + this.options.tintB = colour.b(); + return this; +} + +/** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) color channels. + * This may be overridden by other sharp operations such as `toColourspace('b-w')`, + * which will produce an output image containing one color channel. + * An alpha channel may be present, and will be unchanged by the operation. + * + * @example + * const output = await sharp(input).greyscale().toBuffer(); + * + * @param {Boolean} [greyscale=true] + * @returns {Sharp} + */ +function greyscale (greyscale) { + this.options.greyscale = is.bool(greyscale) ? greyscale : true; + return this; +} + +/** + * Alternative spelling of `greyscale`. + * @param {Boolean} [grayscale=true] + * @returns {Sharp} + */ +function grayscale (grayscale) { + return this.greyscale(grayscale); +} + +/** + * Set the pipeline colourspace. + * + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, + * as defined by {@link #tocolourspace|toColourspace}. + * + * This feature is experimental and has not yet been fully-tested with all operations. + * + * @since 0.29.0 + * + * @example + * // Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB. + * await sharp(input) + * .pipelineColourspace('rgb16') + * .toColourspace('srgb') + * .toFile('16bpc-pipeline-to-8bpc-output.png') + * + * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://github.com/libvips/libvips/blob/41cff4e9d0838498487a00623462204eb10ee5b8/libvips/iofuncs/enumtypes.c#L774) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspaceInput = colourspace; + return this; +} + +/** + * Alternative spelling of `pipelineColourspace`. + * @param {string} [colorspace] - pipeline colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColorspace (colorspace) { + return this.pipelineColourspace(colorspace); +} + +/** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * + * @example + * // Output 16 bits per pixel RGB + * await sharp(input) + * .toColourspace('rgb16') + * .toFile('16-bpp.png') + * + * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://github.com/libvips/libvips/blob/3c0bfdf74ce1dc37a6429bed47fa76f16e2cd70a/libvips/iofuncs/enumtypes.c#L777-L794) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspace = colourspace; + return this; +} + +/** + * Alternative spelling of `toColourspace`. + * @param {string} [colorspace] - output colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColorspace (colorspace) { + return this.toColourspace(colorspace); +} + +/** + * Update a colour attribute of the this.options Object. + * @private + * @param {string} key + * @param {string|Object} value + * @throws {Error} Invalid value + */ +function _setBackgroundColourOption (key, value) { + if (is.defined(value)) { + if (is.object(value) || is.string(value)) { + const colour = color(value); + this.options[key] = [ + colour.red(), + colour.green(), + colour.blue(), + Math.round(colour.alpha() * 255) + ]; + } else { + throw is.invalidParameterError('background', 'object or string', value); + } + } +} + +/** + * Decorate the Sharp prototype with colour-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + // Public + tint, + greyscale, + grayscale, + pipelineColourspace, + pipelineColorspace, + toColourspace, + toColorspace, + // Private + _setBackgroundColourOption + }); + // Class attributes + Sharp.colourspace = colourspace; + Sharp.colorspace = colourspace; +}; diff --git a/.output/server/node_modules/sharp/lib/composite.js b/.output/server/node_modules/sharp/lib/composite.js new file mode 100644 index 00000000..28e83788 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/composite.js @@ -0,0 +1,210 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const is = require('./is'); + +/** + * Blend modes. + * @member + * @private + */ +const blend = { + clear: 'clear', + source: 'source', + over: 'over', + in: 'in', + out: 'out', + atop: 'atop', + dest: 'dest', + 'dest-over': 'dest-over', + 'dest-in': 'dest-in', + 'dest-out': 'dest-out', + 'dest-atop': 'dest-atop', + xor: 'xor', + add: 'add', + saturate: 'saturate', + multiply: 'multiply', + screen: 'screen', + overlay: 'overlay', + darken: 'darken', + lighten: 'lighten', + 'colour-dodge': 'colour-dodge', + 'color-dodge': 'colour-dodge', + 'colour-burn': 'colour-burn', + 'color-burn': 'colour-burn', + 'hard-light': 'hard-light', + 'soft-light': 'soft-light', + difference: 'difference', + exclusion: 'exclusion' +}; + +/** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * + * Any resize, rotate or extract operations in the same processing pipeline + * will always be applied to the input image before composition. + * + * The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`, + * `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`, + * `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`, + * `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`, + * `hard-light`, `soft-light`, `difference`, `exclusion`. + * + * More information about blend modes can be found at + * https://www.libvips.org/API/current/libvips-conversion.html#VipsBlendMode + * and https://www.cairographics.org/operators/ + * + * @since 0.22.0 + * + * @example + * await sharp(background) + * .composite([ + * { input: layer1, gravity: 'northwest' }, + * { input: layer2, gravity: 'southeast' }, + * ]) + * .toFile('combined.png'); + * + * @example + * const output = await sharp('input.gif', { animated: true }) + * .composite([ + * { input: 'overlay.png', tile: true, blend: 'saturate' } + * ]) + * .toBuffer(); + * + * @example + * sharp('input.png') + * .rotate(180) + * .resize(300) + * .flatten( { background: '#ff6600' } ) + * .composite([{ input: 'overlay.png', gravity: 'southeast' }]) + * .sharpen() + * .withMetadata() + * .webp( { quality: 90 } ) + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains upside down, 300px wide, alpha channel flattened + * // onto orange background, composited with overlay.png with SE gravity, + * // sharpened, with metadata, 90% quality WebP image data. Phew! + * }); + * + * @param {Object[]} images - Ordered list of images to composite + * @param {Buffer|String} [images[].input] - Buffer containing image data, String containing the path to an image file, or Create object (see below) + * @param {Object} [images[].input.create] - describes a blank overlay to be created. + * @param {Number} [images[].input.create.width] + * @param {Number} [images[].input.create.height] + * @param {Number} [images[].input.create.channels] - 3-4 + * @param {String|Object} [images[].input.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [images[].input.text] - describes a new text image to be created. + * @param {string} [images[].input.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `<i>Le</i>Monde`. + * @param {string} [images[].input.text.font] - font name to render with. + * @param {string} [images[].input.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [images[].input.text.width=0] - integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [images[].input.text.height=0] - integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [images[].input.text.align='left'] - text alignment (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [images[].input.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [images[].input.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [images[].input.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for Pango markup features like `<span foreground="red">Red!</span>`. + * @param {number} [images[].input.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {String} [images[].blend='over'] - how to blend this image with the image below. + * @param {String} [images[].gravity='centre'] - gravity at which to place the overlay. + * @param {Number} [images[].top] - the pixel offset from the top edge. + * @param {Number} [images[].left] - the pixel offset from the left edge. + * @param {Boolean} [images[].tile=false] - set to true to repeat the overlay image across the entire image with the given `gravity`. + * @param {Boolean} [images[].premultiplied=false] - set to true to avoid premultiplying the image below. Equivalent to the `--premultiplied` vips option. + * @param {Number} [images[].density=72] - number representing the DPI for vector overlay image. + * @param {Object} [images[].raw] - describes overlay when using raw pixel data. + * @param {Number} [images[].raw.width] + * @param {Number} [images[].raw.height] + * @param {Number} [images[].raw.channels] + * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image. + * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor#parameters|constructor parameters} + * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor#parameters|constructor parameters} + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function composite (images) { + if (!Array.isArray(images)) { + throw is.invalidParameterError('images to composite', 'array', images); + } + this.options.composite = images.map(image => { + if (!is.object(image)) { + throw is.invalidParameterError('image to composite', 'object', image); + } + const inputOptions = this._inputOptionsFromObject(image); + const composite = { + input: this._createInputDescriptor(image.input, inputOptions, { allowStream: false }), + blend: 'over', + tile: false, + left: 0, + top: 0, + hasOffset: false, + gravity: 0, + premultiplied: false + }; + if (is.defined(image.blend)) { + if (is.string(blend[image.blend])) { + composite.blend = blend[image.blend]; + } else { + throw is.invalidParameterError('blend', 'valid blend name', image.blend); + } + } + if (is.defined(image.tile)) { + if (is.bool(image.tile)) { + composite.tile = image.tile; + } else { + throw is.invalidParameterError('tile', 'boolean', image.tile); + } + } + if (is.defined(image.left)) { + if (is.integer(image.left)) { + composite.left = image.left; + } else { + throw is.invalidParameterError('left', 'integer', image.left); + } + } + if (is.defined(image.top)) { + if (is.integer(image.top)) { + composite.top = image.top; + } else { + throw is.invalidParameterError('top', 'integer', image.top); + } + } + if (is.defined(image.top) !== is.defined(image.left)) { + throw new Error('Expected both left and top to be set'); + } else { + composite.hasOffset = is.integer(image.top) && is.integer(image.left); + } + if (is.defined(image.gravity)) { + if (is.integer(image.gravity) && is.inRange(image.gravity, 0, 8)) { + composite.gravity = image.gravity; + } else if (is.string(image.gravity) && is.integer(this.constructor.gravity[image.gravity])) { + composite.gravity = this.constructor.gravity[image.gravity]; + } else { + throw is.invalidParameterError('gravity', 'valid gravity', image.gravity); + } + } + if (is.defined(image.premultiplied)) { + if (is.bool(image.premultiplied)) { + composite.premultiplied = image.premultiplied; + } else { + throw is.invalidParameterError('premultiplied', 'boolean', image.premultiplied); + } + } + return composite; + }); + return this; +} + +/** + * Decorate the Sharp prototype with composite-related functions. + * @private + */ +module.exports = function (Sharp) { + Sharp.prototype.composite = composite; + Sharp.blend = blend; +}; diff --git a/.output/server/node_modules/sharp/lib/constructor.js b/.output/server/node_modules/sharp/lib/constructor.js new file mode 100644 index 00000000..1fbd6e34 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/constructor.js @@ -0,0 +1,439 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const util = require('util'); +const stream = require('stream'); +const is = require('./is'); + +require('./libvips').hasVendoredLibvips(); +require('./sharp'); + +// Use NODE_DEBUG=sharp to enable libvips warnings +const debuglog = util.debuglog('sharp'); + +/** + * Constructor factory to create an instance of `sharp`, to which further methods are chained. + * + * JPEG, PNG, WebP, GIF, AVIF or TIFF format image data can be streamed out from this object. + * When using Stream based output, derived attributes are available from the `info` event. + * + * Non-critical problems encountered during processing are emitted as `warning` events. + * + * Implements the [stream.Duplex](http://nodejs.org/api/stream.html#stream_class_stream_duplex) class. + * + * @constructs Sharp + * + * @emits Sharp#info + * @emits Sharp#warning + * + * @example + * sharp('input.jpg') + * .resize(300, 200) + * .toFile('output.jpg', function(err) { + * // output.jpg is a 300 pixels wide and 200 pixels high image + * // containing a scaled and cropped version of input.jpg + * }); + * + * @example + * // Read image data from readableStream, + * // resize to 300 pixels wide, + * // emit an 'info' event with calculated dimensions + * // and finally write image data to writableStream + * var transformer = sharp() + * .resize(300) + * .on('info', function(info) { + * console.log('Image height is ' + info.height); + * }); + * readableStream.pipe(transformer).pipe(writableStream); + * + * @example + * // Create a blank 300x200 PNG image of semi-translucent red pixels + * sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 4, + * background: { r: 255, g: 0, b: 0, alpha: 0.5 } + * } + * }) + * .png() + * .toBuffer() + * .then( ... ); + * + * @example + * // Convert an animated GIF to an animated WebP + * await sharp('in.gif', { animated: true }).toFile('out.webp'); + * + * @example + * // Read a raw array of pixels and save it to a png + * const input = Uint8Array.from([255, 255, 255, 0, 0, 0]); // or Uint8ClampedArray + * const image = sharp(input, { + * // because the input does not contain its dimensions or how many channels it has + * // we need to specify it in the constructor options + * raw: { + * width: 2, + * height: 1, + * channels: 3 + * } + * }); + * await image.toFile('my-two-pixels.png'); + * + * @example + * // Generate RGB Gaussian noise + * await sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 3, + * noise: { + * type: 'gaussian', + * mean: 128, + * sigma: 30 + * } + * } + * }).toFile('noise.png'); + * + * @example + * // Generate an image from text + * await sharp({ + * text: { + * text: 'Hello, world!', + * width: 400, // max width + * height: 300 // max height + * } + * }).toFile('text_bw.png'); + * + * @example + * // Generate an rgba image from text using pango markup and font + * await sharp({ + * text: { + * text: '<span foreground="red">Red!</span><span background="cyan">blue</span>', + * font: 'sans', + * rgba: true, + * dpi: 300 + * } + * }).toFile('text_rgba.png'); + * + * @param {(Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|string)} [input] - if present, can be + * a Buffer / ArrayBuffer / Uint8Array / Uint8ClampedArray containing JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image data, or + * a TypedArray containing raw pixel image data, or + * a String containing the filesystem path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string} [options.failOn='warning'] - when to abort processing of invalid pixel data, one of (in order of sensitivity): 'none' (least), 'truncated', 'error' or 'warning' (most), higher levels imply lower levels, invalid metadata will always abort. + * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels + * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). + * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF). + * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically. + * @param {number} [options.density=72] - number representing the DPI for vector images in the range 1 to 100000. + * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored. + * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages. + * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based. + * @param {number} [options.subifd=-1] - subIFD (Sub Image File Directory) to extract for OME-TIFF, defaults to main image. + * @param {number} [options.level=0] - level to extract from a multi-level input (OpenSlide), zero based. + * @param {boolean} [options.animated=false] - Set to `true` to read all frames/pages of an animated image (GIF, WebP, TIFF), equivalent of setting `pages` to `-1`. + * @param {Object} [options.raw] - describes raw pixel input image data. See `raw()` for pixel ordering. + * @param {number} [options.raw.width] - integral number of pixels wide. + * @param {number} [options.raw.height] - integral number of pixels high. + * @param {number} [options.raw.channels] - integral number of channels, between 1 and 4. + * @param {boolean} [options.raw.premultiplied] - specifies that the raw input has already been premultiplied, set to `true` + * to avoid sharp premultiplying the image. (optional, default `false`) + * @param {Object} [options.create] - describes a new image to be created. + * @param {number} [options.create.width] - integral number of pixels wide. + * @param {number} [options.create.height] - integral number of pixels high. + * @param {number} [options.create.channels] - integral number of channels, either 3 (RGB) or 4 (RGBA). + * @param {string|Object} [options.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [options.create.noise] - describes a noise to be created. + * @param {string} [options.create.noise.type] - type of generated noise, currently only `gaussian` is supported. + * @param {number} [options.create.noise.mean] - mean of pixels in generated noise. + * @param {number} [options.create.noise.sigma] - standard deviation of pixels in generated noise. + * @param {Object} [options.text] - describes a new text image to be created. + * @param {string} [options.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `<i>Le</i>Monde`. + * @param {string} [options.text.font] - font name to render with. + * @param {string} [options.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [options.text.width=0] - Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [options.text.height=0] - Maximum integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [options.text.align='left'] - Alignment style for multi-line text (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [options.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [options.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [options.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for pango markup features like `<span foreground="red">Red!</span>`. + * @param {number} [options.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {string} [options.text.wrap='word'] - word wrapping style when width is provided, one of: 'word', 'char', 'charWord' (prefer char, fallback to word) or 'none'. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +const Sharp = function (input, options) { + if (arguments.length === 1 && !is.defined(input)) { + throw new Error('Invalid input'); + } + if (!(this instanceof Sharp)) { + return new Sharp(input, options); + } + stream.Duplex.call(this); + this.options = { + // resize options + topOffsetPre: -1, + leftOffsetPre: -1, + widthPre: -1, + heightPre: -1, + topOffsetPost: -1, + leftOffsetPost: -1, + widthPost: -1, + heightPost: -1, + width: -1, + height: -1, + canvas: 'crop', + position: 0, + resizeBackground: [0, 0, 0, 255], + useExifOrientation: false, + angle: 0, + rotationAngle: 0, + rotationBackground: [0, 0, 0, 255], + rotateBeforePreExtract: false, + flip: false, + flop: false, + extendTop: 0, + extendBottom: 0, + extendLeft: 0, + extendRight: 0, + extendBackground: [0, 0, 0, 255], + extendWith: 'background', + withoutEnlargement: false, + withoutReduction: false, + affineMatrix: [], + affineBackground: [0, 0, 0, 255], + affineIdx: 0, + affineIdy: 0, + affineOdx: 0, + affineOdy: 0, + affineInterpolator: this.constructor.interpolators.bilinear, + kernel: 'lanczos3', + fastShrinkOnLoad: true, + // operations + tintA: 128, + tintB: 128, + flatten: false, + flattenBackground: [0, 0, 0], + unflatten: false, + negate: false, + negateAlpha: true, + medianSize: 0, + blurSigma: 0, + sharpenSigma: 0, + sharpenM1: 1, + sharpenM2: 2, + sharpenX1: 2, + sharpenY2: 10, + sharpenY3: 20, + threshold: 0, + thresholdGrayscale: true, + trimBackground: [], + trimThreshold: 0, + gamma: 0, + gammaOut: 0, + greyscale: false, + normalise: false, + normaliseLower: 1, + normaliseUpper: 99, + claheWidth: 0, + claheHeight: 0, + claheMaxSlope: 3, + brightness: 1, + saturation: 1, + hue: 0, + lightness: 0, + booleanBufferIn: null, + booleanFileIn: '', + joinChannelIn: [], + extractChannel: -1, + removeAlpha: false, + ensureAlpha: -1, + colourspace: 'srgb', + colourspaceInput: 'last', + composite: [], + // output + fileOut: '', + formatOut: 'input', + streamOut: false, + withMetadata: false, + withMetadataOrientation: -1, + withMetadataDensity: 0, + withMetadataIcc: '', + withMetadataStrs: {}, + resolveWithObject: false, + // output format + jpegQuality: 80, + jpegProgressive: false, + jpegChromaSubsampling: '4:2:0', + jpegTrellisQuantisation: false, + jpegOvershootDeringing: false, + jpegOptimiseScans: false, + jpegOptimiseCoding: true, + jpegQuantisationTable: 0, + pngProgressive: false, + pngCompressionLevel: 6, + pngAdaptiveFiltering: false, + pngPalette: false, + pngQuality: 100, + pngEffort: 7, + pngBitdepth: 8, + pngDither: 1, + jp2Quality: 80, + jp2TileHeight: 512, + jp2TileWidth: 512, + jp2Lossless: false, + jp2ChromaSubsampling: '4:4:4', + webpQuality: 80, + webpAlphaQuality: 100, + webpLossless: false, + webpNearLossless: false, + webpSmartSubsample: false, + webpPreset: 'default', + webpEffort: 4, + webpMinSize: false, + webpMixed: false, + gifBitdepth: 8, + gifEffort: 7, + gifDither: 1, + gifInterFrameMaxError: 0, + gifInterPaletteMaxError: 3, + gifReuse: true, + gifProgressive: false, + tiffQuality: 80, + tiffCompression: 'jpeg', + tiffPredictor: 'horizontal', + tiffPyramid: false, + tiffBitdepth: 8, + tiffTile: false, + tiffTileHeight: 256, + tiffTileWidth: 256, + tiffXres: 1.0, + tiffYres: 1.0, + tiffResolutionUnit: 'inch', + heifQuality: 50, + heifLossless: false, + heifCompression: 'av1', + heifEffort: 4, + heifChromaSubsampling: '4:4:4', + jxlDistance: 1, + jxlDecodingTier: 0, + jxlEffort: 7, + jxlLossless: false, + rawDepth: 'uchar', + tileSize: 256, + tileOverlap: 0, + tileContainer: 'fs', + tileLayout: 'dz', + tileFormat: 'last', + tileDepth: 'last', + tileAngle: 0, + tileSkipBlanks: -1, + tileBackground: [255, 255, 255, 255], + tileCentre: false, + tileId: 'https://example.com/iiif', + tileBasename: '', + timeoutSeconds: 0, + linearA: [], + linearB: [], + // Function to notify of libvips warnings + debuglog: warning => { + this.emit('warning', warning); + debuglog(warning); + }, + // Function to notify of queue length changes + queueListener: function (queueLength) { + Sharp.queue.emit('change', queueLength); + } + }; + this.options.input = this._createInputDescriptor(input, options, { allowStream: true }); + return this; +}; +Object.setPrototypeOf(Sharp.prototype, stream.Duplex.prototype); +Object.setPrototypeOf(Sharp, stream.Duplex); + +/** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * + * @example + * const pipeline = sharp().rotate(); + * pipeline.clone().resize(800, 600).pipe(firstWritableStream); + * pipeline.clone().extract({ left: 20, top: 20, width: 100, height: 100 }).pipe(secondWritableStream); + * readableStream.pipe(pipeline); + * // firstWritableStream receives auto-rotated, resized readableStream + * // secondWritableStream receives auto-rotated, extracted region of readableStream + * + * @example + * // Create a pipeline that will download an image, resize it and format it to different files + * // Using Promises to know when the pipeline is complete + * const fs = require("fs"); + * const got = require("got"); + * const sharpStream = sharp({ failOn: 'none' }); + * + * const promises = []; + * + * promises.push( + * sharpStream + * .clone() + * .jpeg({ quality: 100 }) + * .toFile("originalFile.jpg") + * ); + * + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .jpeg({ quality: 80 }) + * .toFile("optimized-500.jpg") + * ); + * + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .webp({ quality: 80 }) + * .toFile("optimized-500.webp") + * ); + * + * // https://github.com/sindresorhus/got/blob/main/documentation/3-streams.md + * got.stream("https://www.example.com/some-file.jpg").pipe(sharpStream); + * + * Promise.all(promises) + * .then(res => { console.log("Done!", res); }) + * .catch(err => { + * console.error("Error processing files, let's clean it up", err); + * try { + * fs.unlinkSync("originalFile.jpg"); + * fs.unlinkSync("optimized-500.jpg"); + * fs.unlinkSync("optimized-500.webp"); + * } catch (e) {} + * }); + * + * @returns {Sharp} + */ +function clone () { + // Clone existing options + const clone = this.constructor.call(); + clone.options = Object.assign({}, this.options); + // Pass 'finish' event to clone for Stream-based input + if (this._isStreamInput()) { + this.on('finish', () => { + // Clone inherits input data + this._flattenBufferIn(); + clone.options.bufferIn = this.options.bufferIn; + clone.emit('finish'); + }); + } + return clone; +} +Object.assign(Sharp.prototype, { clone }); + +/** + * Export constructor. + * @private + */ +module.exports = Sharp; diff --git a/.output/server/node_modules/sharp/lib/index.js b/.output/server/node_modules/sharp/lib/index.js new file mode 100644 index 00000000..8cfc08a8 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/index.js @@ -0,0 +1,16 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const Sharp = require('./constructor'); +require('./input')(Sharp); +require('./resize')(Sharp); +require('./composite')(Sharp); +require('./operation')(Sharp); +require('./colour')(Sharp); +require('./channel')(Sharp); +require('./output')(Sharp); +require('./utility')(Sharp); + +module.exports = Sharp; diff --git a/.output/server/node_modules/sharp/lib/input.js b/.output/server/node_modules/sharp/lib/input.js new file mode 100644 index 00000000..0fd4bad6 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/input.js @@ -0,0 +1,631 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const color = require('color'); +const is = require('./is'); +const sharp = require('./sharp'); + +/** + * Justication alignment + * @member + * @private + */ +const align = { + left: 'low', + center: 'centre', + centre: 'centre', + right: 'high' +}; + +/** + * Extract input options, if any, from an object. + * @private + */ +function _inputOptionsFromObject (obj) { + const { raw, density, limitInputPixels, ignoreIcc, unlimited, sequentialRead, failOn, failOnError, animated, page, pages, subifd } = obj; + return [raw, density, limitInputPixels, ignoreIcc, unlimited, sequentialRead, failOn, failOnError, animated, page, pages, subifd].some(is.defined) + ? { raw, density, limitInputPixels, ignoreIcc, unlimited, sequentialRead, failOn, failOnError, animated, page, pages, subifd } + : undefined; +} + +/** + * Create Object containing input and input-related options. + * @private + */ +function _createInputDescriptor (input, inputOptions, containerOptions) { + const inputDescriptor = { + failOn: 'warning', + limitInputPixels: Math.pow(0x3FFF, 2), + ignoreIcc: false, + unlimited: false, + sequentialRead: true + }; + if (is.string(input)) { + // filesystem + inputDescriptor.file = input; + } else if (is.buffer(input)) { + // Buffer + if (input.length === 0) { + throw Error('Input Buffer is empty'); + } + inputDescriptor.buffer = input; + } else if (is.arrayBuffer(input)) { + if (input.byteLength === 0) { + throw Error('Input bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input, 0, input.byteLength); + } else if (is.typedArray(input)) { + if (input.length === 0) { + throw Error('Input Bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength); + } else if (is.plainObject(input) && !is.defined(inputOptions)) { + // Plain Object descriptor, e.g. create + inputOptions = input; + if (_inputOptionsFromObject(inputOptions)) { + // Stream with options + inputDescriptor.buffer = []; + } + } else if (!is.defined(input) && !is.defined(inputOptions) && is.object(containerOptions) && containerOptions.allowStream) { + // Stream without options + inputDescriptor.buffer = []; + } else { + throw new Error(`Unsupported input '${input}' of type ${typeof input}${ + is.defined(inputOptions) ? ` when also providing options of type ${typeof inputOptions}` : '' + }`); + } + if (is.object(inputOptions)) { + // Deprecated: failOnError + if (is.defined(inputOptions.failOnError)) { + if (is.bool(inputOptions.failOnError)) { + inputDescriptor.failOn = inputOptions.failOnError ? 'warning' : 'none'; + } else { + throw is.invalidParameterError('failOnError', 'boolean', inputOptions.failOnError); + } + } + // failOn + if (is.defined(inputOptions.failOn)) { + if (is.string(inputOptions.failOn) && is.inArray(inputOptions.failOn, ['none', 'truncated', 'error', 'warning'])) { + inputDescriptor.failOn = inputOptions.failOn; + } else { + throw is.invalidParameterError('failOn', 'one of: none, truncated, error, warning', inputOptions.failOn); + } + } + // Density + if (is.defined(inputOptions.density)) { + if (is.inRange(inputOptions.density, 1, 100000)) { + inputDescriptor.density = inputOptions.density; + } else { + throw is.invalidParameterError('density', 'number between 1 and 100000', inputOptions.density); + } + } + // Ignore embeddded ICC profile + if (is.defined(inputOptions.ignoreIcc)) { + if (is.bool(inputOptions.ignoreIcc)) { + inputDescriptor.ignoreIcc = inputOptions.ignoreIcc; + } else { + throw is.invalidParameterError('ignoreIcc', 'boolean', inputOptions.ignoreIcc); + } + } + // limitInputPixels + if (is.defined(inputOptions.limitInputPixels)) { + if (is.bool(inputOptions.limitInputPixels)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels + ? Math.pow(0x3FFF, 2) + : 0; + } else if (is.integer(inputOptions.limitInputPixels) && is.inRange(inputOptions.limitInputPixels, 0, Number.MAX_SAFE_INTEGER)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels; + } else { + throw is.invalidParameterError('limitInputPixels', 'positive integer', inputOptions.limitInputPixels); + } + } + // unlimited + if (is.defined(inputOptions.unlimited)) { + if (is.bool(inputOptions.unlimited)) { + inputDescriptor.unlimited = inputOptions.unlimited; + } else { + throw is.invalidParameterError('unlimited', 'boolean', inputOptions.unlimited); + } + } + // sequentialRead + if (is.defined(inputOptions.sequentialRead)) { + if (is.bool(inputOptions.sequentialRead)) { + inputDescriptor.sequentialRead = inputOptions.sequentialRead; + } else { + throw is.invalidParameterError('sequentialRead', 'boolean', inputOptions.sequentialRead); + } + } + // Raw pixel input + if (is.defined(inputOptions.raw)) { + if ( + is.object(inputOptions.raw) && + is.integer(inputOptions.raw.width) && inputOptions.raw.width > 0 && + is.integer(inputOptions.raw.height) && inputOptions.raw.height > 0 && + is.integer(inputOptions.raw.channels) && is.inRange(inputOptions.raw.channels, 1, 4) + ) { + inputDescriptor.rawWidth = inputOptions.raw.width; + inputDescriptor.rawHeight = inputOptions.raw.height; + inputDescriptor.rawChannels = inputOptions.raw.channels; + inputDescriptor.rawPremultiplied = !!inputOptions.raw.premultiplied; + + switch (input.constructor) { + case Uint8Array: + case Uint8ClampedArray: + inputDescriptor.rawDepth = 'uchar'; + break; + case Int8Array: + inputDescriptor.rawDepth = 'char'; + break; + case Uint16Array: + inputDescriptor.rawDepth = 'ushort'; + break; + case Int16Array: + inputDescriptor.rawDepth = 'short'; + break; + case Uint32Array: + inputDescriptor.rawDepth = 'uint'; + break; + case Int32Array: + inputDescriptor.rawDepth = 'int'; + break; + case Float32Array: + inputDescriptor.rawDepth = 'float'; + break; + case Float64Array: + inputDescriptor.rawDepth = 'double'; + break; + default: + inputDescriptor.rawDepth = 'uchar'; + break; + } + } else { + throw new Error('Expected width, height and channels for raw pixel input'); + } + } + // Multi-page input (GIF, TIFF, PDF) + if (is.defined(inputOptions.animated)) { + if (is.bool(inputOptions.animated)) { + inputDescriptor.pages = inputOptions.animated ? -1 : 1; + } else { + throw is.invalidParameterError('animated', 'boolean', inputOptions.animated); + } + } + if (is.defined(inputOptions.pages)) { + if (is.integer(inputOptions.pages) && is.inRange(inputOptions.pages, -1, 100000)) { + inputDescriptor.pages = inputOptions.pages; + } else { + throw is.invalidParameterError('pages', 'integer between -1 and 100000', inputOptions.pages); + } + } + if (is.defined(inputOptions.page)) { + if (is.integer(inputOptions.page) && is.inRange(inputOptions.page, 0, 100000)) { + inputDescriptor.page = inputOptions.page; + } else { + throw is.invalidParameterError('page', 'integer between 0 and 100000', inputOptions.page); + } + } + // Multi-level input (OpenSlide) + if (is.defined(inputOptions.level)) { + if (is.integer(inputOptions.level) && is.inRange(inputOptions.level, 0, 256)) { + inputDescriptor.level = inputOptions.level; + } else { + throw is.invalidParameterError('level', 'integer between 0 and 256', inputOptions.level); + } + } + // Sub Image File Directory (TIFF) + if (is.defined(inputOptions.subifd)) { + if (is.integer(inputOptions.subifd) && is.inRange(inputOptions.subifd, -1, 100000)) { + inputDescriptor.subifd = inputOptions.subifd; + } else { + throw is.invalidParameterError('subifd', 'integer between -1 and 100000', inputOptions.subifd); + } + } + // Create new image + if (is.defined(inputOptions.create)) { + if ( + is.object(inputOptions.create) && + is.integer(inputOptions.create.width) && inputOptions.create.width > 0 && + is.integer(inputOptions.create.height) && inputOptions.create.height > 0 && + is.integer(inputOptions.create.channels) + ) { + inputDescriptor.createWidth = inputOptions.create.width; + inputDescriptor.createHeight = inputOptions.create.height; + inputDescriptor.createChannels = inputOptions.create.channels; + // Noise + if (is.defined(inputOptions.create.noise)) { + if (!is.object(inputOptions.create.noise)) { + throw new Error('Expected noise to be an object'); + } + if (!is.inArray(inputOptions.create.noise.type, ['gaussian'])) { + throw new Error('Only gaussian noise is supported at the moment'); + } + if (!is.inRange(inputOptions.create.channels, 1, 4)) { + throw is.invalidParameterError('create.channels', 'number between 1 and 4', inputOptions.create.channels); + } + inputDescriptor.createNoiseType = inputOptions.create.noise.type; + if (is.number(inputOptions.create.noise.mean) && is.inRange(inputOptions.create.noise.mean, 0, 10000)) { + inputDescriptor.createNoiseMean = inputOptions.create.noise.mean; + } else { + throw is.invalidParameterError('create.noise.mean', 'number between 0 and 10000', inputOptions.create.noise.mean); + } + if (is.number(inputOptions.create.noise.sigma) && is.inRange(inputOptions.create.noise.sigma, 0, 10000)) { + inputDescriptor.createNoiseSigma = inputOptions.create.noise.sigma; + } else { + throw is.invalidParameterError('create.noise.sigma', 'number between 0 and 10000', inputOptions.create.noise.sigma); + } + } else if (is.defined(inputOptions.create.background)) { + if (!is.inRange(inputOptions.create.channels, 3, 4)) { + throw is.invalidParameterError('create.channels', 'number between 3 and 4', inputOptions.create.channels); + } + const background = color(inputOptions.create.background); + inputDescriptor.createBackground = [ + background.red(), + background.green(), + background.blue(), + Math.round(background.alpha() * 255) + ]; + } else { + throw new Error('Expected valid noise or background to create a new input image'); + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected valid width, height and channels to create a new input image'); + } + } + // Create a new image with text + if (is.defined(inputOptions.text)) { + if (is.object(inputOptions.text) && is.string(inputOptions.text.text)) { + inputDescriptor.textValue = inputOptions.text.text; + if (is.defined(inputOptions.text.height) && is.defined(inputOptions.text.dpi)) { + throw new Error('Expected only one of dpi or height'); + } + if (is.defined(inputOptions.text.font)) { + if (is.string(inputOptions.text.font)) { + inputDescriptor.textFont = inputOptions.text.font; + } else { + throw is.invalidParameterError('text.font', 'string', inputOptions.text.font); + } + } + if (is.defined(inputOptions.text.fontfile)) { + if (is.string(inputOptions.text.fontfile)) { + inputDescriptor.textFontfile = inputOptions.text.fontfile; + } else { + throw is.invalidParameterError('text.fontfile', 'string', inputOptions.text.fontfile); + } + } + if (is.defined(inputOptions.text.width)) { + if (is.number(inputOptions.text.width)) { + inputDescriptor.textWidth = inputOptions.text.width; + } else { + throw is.invalidParameterError('text.textWidth', 'number', inputOptions.text.width); + } + } + if (is.defined(inputOptions.text.height)) { + if (is.number(inputOptions.text.height)) { + inputDescriptor.textHeight = inputOptions.text.height; + } else { + throw is.invalidParameterError('text.height', 'number', inputOptions.text.height); + } + } + if (is.defined(inputOptions.text.align)) { + if (is.string(inputOptions.text.align) && is.string(this.constructor.align[inputOptions.text.align])) { + inputDescriptor.textAlign = this.constructor.align[inputOptions.text.align]; + } else { + throw is.invalidParameterError('text.align', 'valid alignment', inputOptions.text.align); + } + } + if (is.defined(inputOptions.text.justify)) { + if (is.bool(inputOptions.text.justify)) { + inputDescriptor.textJustify = inputOptions.text.justify; + } else { + throw is.invalidParameterError('text.justify', 'boolean', inputOptions.text.justify); + } + } + if (is.defined(inputOptions.text.dpi)) { + if (is.number(inputOptions.text.dpi) && is.inRange(inputOptions.text.dpi, 1, 100000)) { + inputDescriptor.textDpi = inputOptions.text.dpi; + } else { + throw is.invalidParameterError('text.dpi', 'number between 1 and 100000', inputOptions.text.dpi); + } + } + if (is.defined(inputOptions.text.rgba)) { + if (is.bool(inputOptions.text.rgba)) { + inputDescriptor.textRgba = inputOptions.text.rgba; + } else { + throw is.invalidParameterError('text.rgba', 'bool', inputOptions.text.rgba); + } + } + if (is.defined(inputOptions.text.spacing)) { + if (is.number(inputOptions.text.spacing)) { + inputDescriptor.textSpacing = inputOptions.text.spacing; + } else { + throw is.invalidParameterError('text.spacing', 'number', inputOptions.text.spacing); + } + } + if (is.defined(inputOptions.text.wrap)) { + if (is.string(inputOptions.text.wrap) && is.inArray(inputOptions.text.wrap, ['word', 'char', 'wordChar', 'none'])) { + inputDescriptor.textWrap = inputOptions.text.wrap; + } else { + throw is.invalidParameterError('text.wrap', 'one of: word, char, wordChar, none', inputOptions.text.wrap); + } + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected a valid string to create an image with text.'); + } + } + } else if (is.defined(inputOptions)) { + throw new Error('Invalid input options ' + inputOptions); + } + return inputDescriptor; +} + +/** + * Handle incoming Buffer chunk on Writable Stream. + * @private + * @param {Buffer} chunk + * @param {string} encoding - unused + * @param {Function} callback + */ +function _write (chunk, encoding, callback) { + /* istanbul ignore else */ + if (Array.isArray(this.options.input.buffer)) { + /* istanbul ignore else */ + if (is.buffer(chunk)) { + if (this.options.input.buffer.length === 0) { + this.on('finish', () => { + this.streamInFinished = true; + }); + } + this.options.input.buffer.push(chunk); + callback(); + } else { + callback(new Error('Non-Buffer data on Writable Stream')); + } + } else { + callback(new Error('Unexpected data on Writable Stream')); + } +} + +/** + * Flattens the array of chunks accumulated in input.buffer. + * @private + */ +function _flattenBufferIn () { + if (this._isStreamInput()) { + this.options.input.buffer = Buffer.concat(this.options.input.buffer); + } +} + +/** + * Are we expecting Stream-based input? + * @private + * @returns {boolean} + */ +function _isStreamInput () { + return Array.isArray(this.options.input.buffer); +} + +/** + * Fast access to (uncached) image metadata without decoding any compressed pixel data. + * + * This is read from the header of the input image. + * It does not take into consideration any operations to be applied to the output image, + * such as resize or rotate. + * + * Dimensions in the response will respect the `page` and `pages` properties of the + * {@link /api-constructor#parameters|constructor parameters}. + * + * A `Promise` is returned when `callback` is not provided. + * + * - `format`: Name of decoder used to decompress image data e.g. `jpeg`, `png`, `webp`, `gif`, `svg` + * - `size`: Total size of image in bytes, for Stream and Buffer input only + * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below) + * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below) + * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/VipsImage.html#VipsInterpretation) + * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK + * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/VipsImage.html#VipsBandFormat) + * - `density`: Number of pixels per inch (DPI), if present + * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK + * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan + * - `pages`: Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP + * - `pageHeight`: Number of pixels high each page in a multi-page image will be. + * - `paletteBitDepth`: Bit depth of palette-based image (GIF, PNG). + * - `loop`: Number of times to loop an animated image, zero refers to a continuous loop. + * - `delay`: Delay in ms between each page in an animated image, provided as an array of integers. + * - `pagePrimary`: Number of the primary page in a HEIF image + * - `levels`: Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide + * - `subifds`: Number of Sub Image File Directories in an OME-TIFF image + * - `background`: Default background colour, if present, for PNG (bKGD) and GIF images, either an RGB Object or a single greyscale value + * - `compression`: The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) + * - `resolutionUnit`: The unit of resolution (density), either `inch` or `cm`, if present + * - `hasProfile`: Boolean indicating the presence of an embedded ICC profile + * - `hasAlpha`: Boolean indicating the presence of an alpha transparency channel + * - `orientation`: Number value of the EXIF Orientation header, if present + * - `exif`: Buffer containing raw EXIF data, if present + * - `icc`: Buffer containing raw [ICC](https://www.npmjs.com/package/icc) profile data, if present + * - `iptc`: Buffer containing raw IPTC data, if present + * - `xmp`: Buffer containing raw XMP data, if present + * - `tifftagPhotoshop`: Buffer containing raw TIFFTAG_PHOTOSHOP data, if present + * - `formatMagick`: String containing format for images loaded via *magick + * + * @example + * const metadata = await sharp(input).metadata(); + * + * @example + * const image = sharp(inputJpg); + * image + * .metadata() + * .then(function(metadata) { + * return image + * .resize(Math.round(metadata.width / 2)) + * .webp() + * .toBuffer(); + * }) + * .then(function(data) { + * // data contains a WebP image half the width and height of the original JPEG + * }); + * + * @example + * // Based on EXIF rotation metadata, get the right-side-up width and height: + * + * const size = getNormalSize(await sharp(input).metadata()); + * + * function getNormalSize({ width, height, orientation }) { + * return (orientation || 0) >= 5 + * ? { width: height, height: width } + * : { width, height }; + * } + * + * @param {Function} [callback] - called with the arguments `(err, metadata)` + * @returns {Promise<Object>|Sharp} + */ +function metadata (callback) { + if (is.fn(callback)) { + if (this._isStreamInput()) { + this.on('finish', () => { + this._flattenBufferIn(); + sharp.metadata(this.options, callback); + }); + } else { + sharp.metadata(this.options, callback); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + const finished = () => { + this._flattenBufferIn(); + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(err); + } else { + resolve(metadata); + } + }); + }; + if (this.writableFinished) { + finished(); + } else { + this.once('finish', finished); + } + }); + } else { + return new Promise((resolve, reject) => { + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(err); + } else { + resolve(metadata); + } + }); + }); + } + } +} + +/** + * Access to pixel-derived image statistics for every channel in the image. + * A `Promise` is returned when `callback` is not provided. + * + * - `channels`: Array of channel statistics for each channel in the image. Each channel statistic contains + * - `min` (minimum value in the channel) + * - `max` (maximum value in the channel) + * - `sum` (sum of all values in a channel) + * - `squaresSum` (sum of squared values in a channel) + * - `mean` (mean of the values in a channel) + * - `stdev` (standard deviation for the values in a channel) + * - `minX` (x-coordinate of one of the pixel where the minimum lies) + * - `minY` (y-coordinate of one of the pixel where the minimum lies) + * - `maxX` (x-coordinate of one of the pixel where the maximum lies) + * - `maxY` (y-coordinate of one of the pixel where the maximum lies) + * - `isOpaque`: Is the image fully opaque? Will be `true` if the image has no alpha channel or if every pixel is fully opaque. + * - `entropy`: Histogram-based estimation of greyscale entropy, discarding alpha channel if any. + * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any. + * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram. + * + * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be + * written to a buffer in order to run `stats` on the result (see third example). + * + * @example + * const image = sharp(inputJpg); + * image + * .stats() + * .then(function(stats) { + * // stats contains the channel-wise statistics array and the isOpaque value + * }); + * + * @example + * const { entropy, sharpness, dominant } = await sharp(input).stats(); + * const { r, g, b } = dominant; + * + * @example + * const image = sharp(input); + * // store intermediate result + * const part = await image.extract(region).toBuffer(); + * // create new instance to obtain statistics of extracted region + * const stats = await sharp(part).stats(); + * + * @param {Function} [callback] - called with the arguments `(err, stats)` + * @returns {Promise<Object>} + */ +function stats (callback) { + if (is.fn(callback)) { + if (this._isStreamInput()) { + this.on('finish', () => { + this._flattenBufferIn(); + sharp.stats(this.options, callback); + }); + } else { + sharp.stats(this.options, callback); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + this.on('finish', function () { + this._flattenBufferIn(); + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(err); + } else { + resolve(stats); + } + }); + }); + }); + } else { + return new Promise((resolve, reject) => { + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(err); + } else { + resolve(stats); + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with input-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + // Private + _inputOptionsFromObject, + _createInputDescriptor, + _write, + _flattenBufferIn, + _isStreamInput, + // Public + metadata, + stats + }); + // Class attributes + Sharp.align = align; +}; diff --git a/.output/server/node_modules/sharp/lib/is.js b/.output/server/node_modules/sharp/lib/is.js new file mode 100644 index 00000000..364778f2 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/is.js @@ -0,0 +1,155 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +/** + * Is this value defined and not null? + * @private + */ +const defined = function (val) { + return typeof val !== 'undefined' && val !== null; +}; + +/** + * Is this value an object? + * @private + */ +const object = function (val) { + return typeof val === 'object'; +}; + +/** + * Is this value a plain object? + * @private + */ +const plainObject = function (val) { + return Object.prototype.toString.call(val) === '[object Object]'; +}; + +/** + * Is this value a function? + * @private + */ +const fn = function (val) { + return typeof val === 'function'; +}; + +/** + * Is this value a boolean? + * @private + */ +const bool = function (val) { + return typeof val === 'boolean'; +}; + +/** + * Is this value a Buffer object? + * @private + */ +const buffer = function (val) { + return val instanceof Buffer; +}; + +/** + * Is this value a typed array object?. E.g. Uint8Array or Uint8ClampedArray? + * @private + */ +const typedArray = function (val) { + if (defined(val)) { + switch (val.constructor) { + case Uint8Array: + case Uint8ClampedArray: + case Int8Array: + case Uint16Array: + case Int16Array: + case Uint32Array: + case Int32Array: + case Float32Array: + case Float64Array: + return true; + } + } + + return false; +}; + +/** + * Is this value an ArrayBuffer object? + * @private + */ +const arrayBuffer = function (val) { + return val instanceof ArrayBuffer; +}; + +/** + * Is this value a non-empty string? + * @private + */ +const string = function (val) { + return typeof val === 'string' && val.length > 0; +}; + +/** + * Is this value a real number? + * @private + */ +const number = function (val) { + return typeof val === 'number' && !Number.isNaN(val); +}; + +/** + * Is this value an integer? + * @private + */ +const integer = function (val) { + return Number.isInteger(val); +}; + +/** + * Is this value within an inclusive given range? + * @private + */ +const inRange = function (val, min, max) { + return val >= min && val <= max; +}; + +/** + * Is this value within the elements of an array? + * @private + */ +const inArray = function (val, list) { + return list.includes(val); +}; + +/** + * Create an Error with a message relating to an invalid parameter. + * + * @param {string} name - parameter name. + * @param {string} expected - description of the type/value/range expected. + * @param {*} actual - the value received. + * @returns {Error} Containing the formatted message. + * @private + */ +const invalidParameterError = function (name, expected, actual) { + return new Error( + `Expected ${expected} for ${name} but received ${actual} of type ${typeof actual}` + ); +}; + +module.exports = { + defined: defined, + object: object, + plainObject: plainObject, + fn: fn, + bool: bool, + buffer: buffer, + typedArray: typedArray, + arrayBuffer: arrayBuffer, + string: string, + number: number, + integer: integer, + inRange: inRange, + inArray: inArray, + invalidParameterError: invalidParameterError +}; diff --git a/.output/server/node_modules/sharp/lib/libvips.js b/.output/server/node_modules/sharp/lib/libvips.js new file mode 100644 index 00000000..ca001d95 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/libvips.js @@ -0,0 +1,140 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const fs = require('fs'); +const os = require('os'); +const path = require('path'); +const spawnSync = require('child_process').spawnSync; +const semverCoerce = require('semver/functions/coerce'); +const semverGreaterThanOrEqualTo = require('semver/functions/gte'); + +const platform = require('./platform'); +const { config } = require('../package.json'); + +const env = process.env; +const minimumLibvipsVersionLabelled = env.npm_package_config_libvips || /* istanbul ignore next */ + config.libvips; +const minimumLibvipsVersion = semverCoerce(minimumLibvipsVersionLabelled).version; + +const spawnSyncOptions = { + encoding: 'utf8', + shell: true +}; + +const vendorPath = path.join(__dirname, '..', 'vendor', minimumLibvipsVersion, platform()); + +const mkdirSync = function (dirPath) { + try { + fs.mkdirSync(dirPath, { recursive: true }); + } catch (err) { + /* istanbul ignore next */ + if (err.code !== 'EEXIST') { + throw err; + } + } +}; + +const cachePath = function () { + const npmCachePath = env.npm_config_cache || /* istanbul ignore next */ + (env.APPDATA ? path.join(env.APPDATA, 'npm-cache') : path.join(os.homedir(), '.npm')); + mkdirSync(npmCachePath); + const libvipsCachePath = path.join(npmCachePath, '_libvips'); + mkdirSync(libvipsCachePath); + return libvipsCachePath; +}; + +const integrity = function (platformAndArch) { + return env[`npm_package_config_integrity_${platformAndArch.replace('-', '_')}`] || config.integrity[platformAndArch]; +}; + +const log = function (item) { + if (item instanceof Error) { + console.error(`sharp: Installation error: ${item.message}`); + } else { + console.log(`sharp: ${item}`); + } +}; + +const isRosetta = function () { + /* istanbul ignore next */ + if (process.platform === 'darwin' && process.arch === 'x64') { + const translated = spawnSync('sysctl sysctl.proc_translated', spawnSyncOptions).stdout; + return (translated || '').trim() === 'sysctl.proc_translated: 1'; + } + return false; +}; + +const globalLibvipsVersion = function () { + if (process.platform !== 'win32') { + const globalLibvipsVersion = spawnSync('pkg-config --modversion vips-cpp', { + ...spawnSyncOptions, + env: { + ...env, + PKG_CONFIG_PATH: pkgConfigPath() + } + }).stdout; + /* istanbul ignore next */ + return (globalLibvipsVersion || '').trim(); + } else { + return ''; + } +}; + +const hasVendoredLibvips = function () { + return fs.existsSync(vendorPath); +}; + +/* istanbul ignore next */ +const removeVendoredLibvips = function () { + fs.rmSync(vendorPath, { recursive: true, maxRetries: 3, force: true }); +}; + +/* istanbul ignore next */ +const pkgConfigPath = function () { + if (process.platform !== 'win32') { + const brewPkgConfigPath = spawnSync( + 'which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2', + spawnSyncOptions + ).stdout || ''; + return [ + brewPkgConfigPath.trim(), + env.PKG_CONFIG_PATH, + '/usr/local/lib/pkgconfig', + '/usr/lib/pkgconfig', + '/usr/local/libdata/pkgconfig', + '/usr/libdata/pkgconfig' + ].filter(Boolean).join(':'); + } else { + return ''; + } +}; + +const useGlobalLibvips = function () { + if (Boolean(env.SHARP_IGNORE_GLOBAL_LIBVIPS) === true) { + return false; + } + /* istanbul ignore next */ + if (isRosetta()) { + log('Detected Rosetta, skipping search for globally-installed libvips'); + return false; + } + const globalVipsVersion = globalLibvipsVersion(); + return !!globalVipsVersion && /* istanbul ignore next */ + semverGreaterThanOrEqualTo(globalVipsVersion, minimumLibvipsVersion); +}; + +module.exports = { + minimumLibvipsVersion, + minimumLibvipsVersionLabelled, + cachePath, + integrity, + log, + globalLibvipsVersion, + hasVendoredLibvips, + removeVendoredLibvips, + pkgConfigPath, + useGlobalLibvips, + mkdirSync +}; diff --git a/.output/server/node_modules/sharp/lib/operation.js b/.output/server/node_modules/sharp/lib/operation.js new file mode 100644 index 00000000..199a0ebe --- /dev/null +++ b/.output/server/node_modules/sharp/lib/operation.js @@ -0,0 +1,919 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const color = require('color'); +const is = require('./is'); + +/** + * Rotate the output image by either an explicit angle + * or auto-orient based on the EXIF `Orientation` tag. + * + * If an angle is provided, it is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * If no angle is provided, it is determined from the EXIF data. + * Mirroring is supported and may infer the use of a flip operation. + * + * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any. + * + * Only one rotation can occur per pipeline. + * Previous calls to `rotate` in the same pipeline will be ignored. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const pipeline = sharp() + * .rotate() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-rotated using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function rotate (angle, options) { + if (this.options.useExifOrientation || this.options.angle || this.options.rotationAngle) { + this.options.debuglog('ignoring previous rotate options'); + } + if (!is.defined(angle)) { + this.options.useExifOrientation = true; + } else if (is.integer(angle) && !(angle % 90)) { + this.options.angle = angle; + } else if (is.number(angle)) { + this.options.rotationAngle = angle; + if (is.object(options) && options.background) { + const backgroundColour = color(options.background); + this.options.rotationBackground = [ + backgroundColour.red(), + backgroundColour.green(), + backgroundColour.blue(), + Math.round(backgroundColour.alpha() * 255) + ]; + } + } else { + throw is.invalidParameterError('angle', 'numeric', angle); + } + return this; +} + +/** + * Mirror the image vertically (up-down) about the x-axis. + * This always occurs before rotation, if any. + * + * This operation does not work correctly with multi-page images. + * + * @example + * const output = await sharp(input).flip().toBuffer(); + * + * @param {Boolean} [flip=true] + * @returns {Sharp} + */ +function flip (flip) { + this.options.flip = is.bool(flip) ? flip : true; + return this; +} + +/** + * Mirror the image horizontally (left-right) about the y-axis. + * This always occurs before rotation, if any. + * + * @example + * const output = await sharp(input).flop().toBuffer(); + * + * @param {Boolean} [flop=true] + * @returns {Sharp} + */ +function flop (flop) { + this.options.flop = is.bool(flop) ? flop : true; + return this; +} + +/** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background color with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * - X = `matrix[0, 0]` \* (x + `idx`) + `matrix[0, 1]` \* (y + `idy`) + `odx` + * - Y = `matrix[1, 0]` \* (x + `idx`) + `matrix[1, 1]` \* (y + `idy`) + `ody` + * + * where: + * - x and y are the coordinates in input image. + * - X and Y are the coordinates in output image. + * - (0,0) is the upper left corner. + * + * @since 0.27.0 + * + * @example + * const pipeline = sharp() + * .affine([[1, 0.3], [0.1, 0.7]], { + * background: 'white', + * interpolator: sharp.interpolators.nohalo + * }) + * .toBuffer((err, outputBuffer, info) => { + * // outputBuffer contains the transformed image + * // info.width and info.height contain the new dimensions + * }); + * + * inputStream + * .pipe(pipeline); + * + * @param {Array<Array<number>>|Array<number>} matrix - affine transformation matrix + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {String|Object} [options.background="#000000"] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Number} [options.idx=0] - input horizontal offset + * @param {Number} [options.idy=0] - input vertical offset + * @param {Number} [options.odx=0] - output horizontal offset + * @param {Number} [options.ody=0] - output vertical offset + * @param {String} [options.interpolator=sharp.interpolators.bicubic] - interpolator + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function affine (matrix, options) { + const flatMatrix = [].concat(...matrix); + if (flatMatrix.length === 4 && flatMatrix.every(is.number)) { + this.options.affineMatrix = flatMatrix; + } else { + throw is.invalidParameterError('matrix', '1x4 or 2x2 array', matrix); + } + + if (is.defined(options)) { + if (is.object(options)) { + this._setBackgroundColourOption('affineBackground', options.background); + if (is.defined(options.idx)) { + if (is.number(options.idx)) { + this.options.affineIdx = options.idx; + } else { + throw is.invalidParameterError('options.idx', 'number', options.idx); + } + } + if (is.defined(options.idy)) { + if (is.number(options.idy)) { + this.options.affineIdy = options.idy; + } else { + throw is.invalidParameterError('options.idy', 'number', options.idy); + } + } + if (is.defined(options.odx)) { + if (is.number(options.odx)) { + this.options.affineOdx = options.odx; + } else { + throw is.invalidParameterError('options.odx', 'number', options.odx); + } + } + if (is.defined(options.ody)) { + if (is.number(options.ody)) { + this.options.affineOdy = options.ody; + } else { + throw is.invalidParameterError('options.ody', 'number', options.ody); + } + } + if (is.defined(options.interpolator)) { + if (is.inArray(options.interpolator, Object.values(this.constructor.interpolators))) { + this.options.affineInterpolator = options.interpolator; + } else { + throw is.invalidParameterError('options.interpolator', 'valid interpolator name', options.interpolator); + } + } + } else { + throw is.invalidParameterError('options', 'object', options); + } + } + + return this; +} + +/** + * Sharpen the image. + * + * When used without parameters, performs a fast, mild sharpen of the output image. + * + * When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * + * See {@link https://www.libvips.org/API/current/libvips-convolution.html#vips-sharpen|libvips sharpen} operation. + * + * @example + * const data = await sharp(input).sharpen().toBuffer(); + * + * @example + * const data = await sharp(input).sharpen({ sigma: 2 }).toBuffer(); + * + * @example + * const data = await sharp(input) + * .sharpen({ + * sigma: 2, + * m1: 0, + * m2: 3, + * x1: 3, + * y2: 15, + * y3: 15, + * }) + * .toBuffer(); + * + * @param {Object|number} [options] - if present, is an Object with attributes + * @param {number} [options.sigma] - the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`, between 0.000001 and 10 + * @param {number} [options.m1=1.0] - the level of sharpening to apply to "flat" areas, between 0 and 1000000 + * @param {number} [options.m2=2.0] - the level of sharpening to apply to "jagged" areas, between 0 and 1000000 + * @param {number} [options.x1=2.0] - threshold between "flat" and "jagged", between 0 and 1000000 + * @param {number} [options.y2=10.0] - maximum amount of brightening, between 0 and 1000000 + * @param {number} [options.y3=20.0] - maximum amount of darkening, between 0 and 1000000 + * @param {number} [flat] - (deprecated) see `options.m1`. + * @param {number} [jagged] - (deprecated) see `options.m2`. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function sharpen (options, flat, jagged) { + if (!is.defined(options)) { + // No arguments: default to mild sharpen + this.options.sharpenSigma = -1; + } else if (is.bool(options)) { + // Deprecated boolean argument: apply mild sharpen? + this.options.sharpenSigma = options ? -1 : 0; + } else if (is.number(options) && is.inRange(options, 0.01, 10000)) { + // Deprecated numeric argument: specific sigma + this.options.sharpenSigma = options; + // Deprecated control over flat areas + if (is.defined(flat)) { + if (is.number(flat) && is.inRange(flat, 0, 10000)) { + this.options.sharpenM1 = flat; + } else { + throw is.invalidParameterError('flat', 'number between 0 and 10000', flat); + } + } + // Deprecated control over jagged areas + if (is.defined(jagged)) { + if (is.number(jagged) && is.inRange(jagged, 0, 10000)) { + this.options.sharpenM2 = jagged; + } else { + throw is.invalidParameterError('jagged', 'number between 0 and 10000', jagged); + } + } + } else if (is.plainObject(options)) { + if (is.number(options.sigma) && is.inRange(options.sigma, 0.000001, 10)) { + this.options.sharpenSigma = options.sigma; + } else { + throw is.invalidParameterError('options.sigma', 'number between 0.000001 and 10', options.sigma); + } + if (is.defined(options.m1)) { + if (is.number(options.m1) && is.inRange(options.m1, 0, 1000000)) { + this.options.sharpenM1 = options.m1; + } else { + throw is.invalidParameterError('options.m1', 'number between 0 and 1000000', options.m1); + } + } + if (is.defined(options.m2)) { + if (is.number(options.m2) && is.inRange(options.m2, 0, 1000000)) { + this.options.sharpenM2 = options.m2; + } else { + throw is.invalidParameterError('options.m2', 'number between 0 and 1000000', options.m2); + } + } + if (is.defined(options.x1)) { + if (is.number(options.x1) && is.inRange(options.x1, 0, 1000000)) { + this.options.sharpenX1 = options.x1; + } else { + throw is.invalidParameterError('options.x1', 'number between 0 and 1000000', options.x1); + } + } + if (is.defined(options.y2)) { + if (is.number(options.y2) && is.inRange(options.y2, 0, 1000000)) { + this.options.sharpenY2 = options.y2; + } else { + throw is.invalidParameterError('options.y2', 'number between 0 and 1000000', options.y2); + } + } + if (is.defined(options.y3)) { + if (is.number(options.y3) && is.inRange(options.y3, 0, 1000000)) { + this.options.sharpenY3 = options.y3; + } else { + throw is.invalidParameterError('options.y3', 'number between 0 and 1000000', options.y3); + } + } + } else { + throw is.invalidParameterError('sigma', 'number between 0.01 and 10000', options); + } + return this; +} + +/** + * Apply median filter. + * When used without parameters the default window is 3x3. + * + * @example + * const output = await sharp(input).median().toBuffer(); + * + * @example + * const output = await sharp(input).median(5).toBuffer(); + * + * @param {number} [size=3] square mask size: size x size + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function median (size) { + if (!is.defined(size)) { + // No arguments: default to 3x3 + this.options.medianSize = 3; + } else if (is.integer(size) && is.inRange(size, 1, 1000)) { + // Numeric argument: specific sigma + this.options.medianSize = size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 1000', size); + } + return this; +} + +/** + * Blur the image. + * + * When used without parameters, performs a fast 3x3 box blur (equivalent to a box linear filter). + * + * When a `sigma` is provided, performs a slower, more accurate Gaussian blur. + * + * @example + * const boxBlurred = await sharp(input) + * .blur() + * .toBuffer(); + * + * @example + * const gaussianBlurred = await sharp(input) + * .blur(5) + * .toBuffer(); + * + * @param {number} [sigma] a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function blur (sigma) { + if (!is.defined(sigma)) { + // No arguments: default to mild blur + this.options.blurSigma = -1; + } else if (is.bool(sigma)) { + // Boolean argument: apply mild blur? + this.options.blurSigma = sigma ? -1 : 0; + } else if (is.number(sigma) && is.inRange(sigma, 0.3, 1000)) { + // Numeric argument: specific sigma + this.options.blurSigma = sigma; + } else { + throw is.invalidParameterError('sigma', 'number between 0.3 and 1000', sigma); + } + return this; +} + +/** + * Merge alpha transparency channel, if any, with a background, then remove the alpha channel. + * + * See also {@link /api-channel#removealpha|removeAlpha}. + * + * @example + * await sharp(rgbaInput) + * .flatten({ background: '#F0A703' }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {string|Object} [options.background={r: 0, g: 0, b: 0}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black. + * @returns {Sharp} + */ +function flatten (options) { + this.options.flatten = is.bool(options) ? options : true; + if (is.object(options)) { + this._setBackgroundColourOption('flattenBackground', options.background); + } + return this; +} + +/** + * Ensure the image has an alpha channel + * with all white pixel values made fully transparent. + * + * Existing alpha channel values for non-white pixels remain unchanged. + * + * This feature is experimental and the API may change. + * + * @since 0.32.1 + * + * @example + * await sharp(rgbInput) + * .unflatten() + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .threshold(128, { grayscale: false }) // converter bright pixels to white + * .unflatten() + * .toBuffer(); + */ +function unflatten () { + this.options.unflatten = true; + return this; +} + +/** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of `1/gamma` + * then increasing the encoding (brighten) post-resize at a factor of `gamma`. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation + * when applying a gamma correction. + * + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * + * @param {number} [gamma=2.2] value between 1.0 and 3.0. + * @param {number} [gammaOut] value between 1.0 and 3.0. (optional, defaults to same as `gamma`) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function gamma (gamma, gammaOut) { + if (!is.defined(gamma)) { + // Default gamma correction of 2.2 (sRGB) + this.options.gamma = 2.2; + } else if (is.number(gamma) && is.inRange(gamma, 1, 3)) { + this.options.gamma = gamma; + } else { + throw is.invalidParameterError('gamma', 'number between 1.0 and 3.0', gamma); + } + if (!is.defined(gammaOut)) { + // Default gamma correction for output is same as input + this.options.gammaOut = this.options.gamma; + } else if (is.number(gammaOut) && is.inRange(gammaOut, 1, 3)) { + this.options.gammaOut = gammaOut; + } else { + throw is.invalidParameterError('gammaOut', 'number between 1.0 and 3.0', gammaOut); + } + return this; +} + +/** + * Produce the "negative" of the image. + * + * @example + * const output = await sharp(input) + * .negate() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .negate({ alpha: false }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {Boolean} [options.alpha=true] Whether or not to negate any alpha channel + * @returns {Sharp} + */ +function negate (options) { + this.options.negate = is.bool(options) ? options : true; + if (is.plainObject(options) && 'alpha' in options) { + if (!is.bool(options.alpha)) { + throw is.invalidParameterError('alpha', 'should be boolean value', options.alpha); + } else { + this.options.negateAlpha = options.alpha; + } + } + return this; +} + +/** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @example + * const output = await sharp(input) + * .normalise() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .normalise({ lower: 0, upper: 100 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalise (options) { + if (is.plainObject(options)) { + if (is.defined(options.lower)) { + if (is.number(options.lower) && is.inRange(options.lower, 0, 99)) { + this.options.normaliseLower = options.lower; + } else { + throw is.invalidParameterError('lower', 'number between 0 and 99', options.lower); + } + } + if (is.defined(options.upper)) { + if (is.number(options.upper) && is.inRange(options.upper, 1, 100)) { + this.options.normaliseUpper = options.upper; + } else { + throw is.invalidParameterError('upper', 'number between 1 and 100', options.upper); + } + } + } + if (this.options.normaliseLower >= this.options.normaliseUpper) { + throw is.invalidParameterError('range', 'lower to be less than upper', + `${this.options.normaliseLower} >= ${this.options.normaliseUpper}`); + } + this.options.normalise = true; + return this; +} + +/** + * Alternative spelling of normalise. + * + * @example + * const output = await sharp(input) + * .normalize() + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalize (options) { + return this.normalise(options); +} + +/** + * Perform contrast limiting adaptive histogram equalization + * {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE|CLAHE}. + * + * This will, in general, enhance the clarity of the image by bringing out darker details. + * + * @since 0.28.3 + * + * @example + * const output = await sharp(input) + * .clahe({ + * width: 3, + * height: 3, + * }) + * .toBuffer(); + * + * @param {Object} options + * @param {number} options.width - Integral width of the search window, in pixels. + * @param {number} options.height - Integral height of the search window, in pixels. + * @param {number} [options.maxSlope=3] - Integral level of brightening, between 0 and 100, where 0 disables contrast limiting. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function clahe (options) { + if (is.plainObject(options)) { + if (is.integer(options.width) && options.width > 0) { + this.options.claheWidth = options.width; + } else { + throw is.invalidParameterError('width', 'integer greater than zero', options.width); + } + if (is.integer(options.height) && options.height > 0) { + this.options.claheHeight = options.height; + } else { + throw is.invalidParameterError('height', 'integer greater than zero', options.height); + } + if (is.defined(options.maxSlope)) { + if (is.integer(options.maxSlope) && is.inRange(options.maxSlope, 0, 100)) { + this.options.claheMaxSlope = options.maxSlope; + } else { + throw is.invalidParameterError('maxSlope', 'integer between 0 and 100', options.maxSlope); + } + } + } else { + throw is.invalidParameterError('options', 'plain object', options); + } + return this; +} + +/** + * Convolve the image with the specified kernel. + * + * @example + * sharp(input) + * .convolve({ + * width: 3, + * height: 3, + * kernel: [-1, 0, 1, -2, 0, 2, -1, 0, 1] + * }) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data representing the convolution + * // of the input image with the horizontal Sobel operator + * }); + * + * @param {Object} kernel + * @param {number} kernel.width - width of the kernel in pixels. + * @param {number} kernel.height - height of the kernel in pixels. + * @param {Array<number>} kernel.kernel - Array of length `width*height` containing the kernel values. + * @param {number} [kernel.scale=sum] - the scale of the kernel in pixels. + * @param {number} [kernel.offset=0] - the offset of the kernel in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function convolve (kernel) { + if (!is.object(kernel) || !Array.isArray(kernel.kernel) || + !is.integer(kernel.width) || !is.integer(kernel.height) || + !is.inRange(kernel.width, 3, 1001) || !is.inRange(kernel.height, 3, 1001) || + kernel.height * kernel.width !== kernel.kernel.length + ) { + // must pass in a kernel + throw new Error('Invalid convolution kernel'); + } + // Default scale is sum of kernel values + if (!is.integer(kernel.scale)) { + kernel.scale = kernel.kernel.reduce(function (a, b) { + return a + b; + }, 0); + } + // Clip scale to a minimum value of 1 + if (kernel.scale < 1) { + kernel.scale = 1; + } + if (!is.integer(kernel.offset)) { + kernel.offset = 0; + } + this.options.convKernel = kernel; + return this; +} + +/** + * Any pixel value greater than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param {number} [threshold=128] - a value in the range 0-255 representing the level at which the threshold will be applied. + * @param {Object} [options] + * @param {Boolean} [options.greyscale=true] - convert to single channel greyscale. + * @param {Boolean} [options.grayscale=true] - alternative spelling for greyscale. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function threshold (threshold, options) { + if (!is.defined(threshold)) { + this.options.threshold = 128; + } else if (is.bool(threshold)) { + this.options.threshold = threshold ? 128 : 0; + } else if (is.integer(threshold) && is.inRange(threshold, 0, 255)) { + this.options.threshold = threshold; + } else { + throw is.invalidParameterError('threshold', 'integer between 0 and 255', threshold); + } + if (!is.object(options) || options.greyscale === true || options.grayscale === true) { + this.options.thresholdGrayscale = true; + } else { + this.options.thresholdGrayscale = false; + } + return this; +} + +/** + * Perform a bitwise boolean operation with operand image. + * + * This operation creates an output image where each pixel is the result of + * the selected bitwise boolean `operation` between the corresponding pixels of the input images. + * + * @param {Buffer|string} operand - Buffer containing image data or string containing the path to an image file. + * @param {string} operator - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @param {Object} [options] + * @param {Object} [options.raw] - describes operand when using raw pixel data. + * @param {number} [options.raw.width] + * @param {number} [options.raw.height] + * @param {number} [options.raw.channels] + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function boolean (operand, operator, options) { + this.options.boolean = this._createInputDescriptor(operand, options); + if (is.string(operator) && is.inArray(operator, ['and', 'or', 'eor'])) { + this.options.booleanOp = operator; + } else { + throw is.invalidParameterError('operator', 'one of: and, or, eor', operator); + } + return this; +} + +/** + * Apply the linear formula `a` * input + `b` to the image to adjust image levels. + * + * When a single number is provided, it will be used for all image channels. + * When an array of numbers is provided, the array length must match the number of channels. + * + * @example + * await sharp(input) + * .linear(0.5, 2) + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .linear( + * [0.25, 0.5, 0.75], + * [150, 100, 50] + * ) + * .toBuffer(); + * + * @param {(number|number[])} [a=[]] multiplier + * @param {(number|number[])} [b=[]] offset + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function linear (a, b) { + if (!is.defined(a) && is.number(b)) { + a = 1.0; + } else if (is.number(a) && !is.defined(b)) { + b = 0.0; + } + if (!is.defined(a)) { + this.options.linearA = []; + } else if (is.number(a)) { + this.options.linearA = [a]; + } else if (Array.isArray(a) && a.length && a.every(is.number)) { + this.options.linearA = a; + } else { + throw is.invalidParameterError('a', 'number or array of numbers', a); + } + if (!is.defined(b)) { + this.options.linearB = []; + } else if (is.number(b)) { + this.options.linearB = [b]; + } else if (Array.isArray(b) && b.length && b.every(is.number)) { + this.options.linearB = b; + } else { + throw is.invalidParameterError('b', 'number or array of numbers', b); + } + if (this.options.linearA.length !== this.options.linearB.length) { + throw new Error('Expected a and b to be arrays of the same length'); + } + return this; +} + +/** + * Recombine the image with the specified matrix. + * + * @since 0.21.1 + * + * @example + * sharp(input) + * .recomb([ + * [0.3588, 0.7044, 0.1368], + * [0.2990, 0.5870, 0.1140], + * [0.2392, 0.4696, 0.0912], + * ]) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data after applying the matrix + * // With this example input, a sepia filter has been applied + * }); + * + * @param {Array<Array<number>>} inputMatrix - 3x3 Recombination matrix + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function recomb (inputMatrix) { + if (!Array.isArray(inputMatrix) || inputMatrix.length !== 3 || + inputMatrix[0].length !== 3 || + inputMatrix[1].length !== 3 || + inputMatrix[2].length !== 3 + ) { + // must pass in a kernel + throw new Error('Invalid recombination matrix'); + } + this.options.recombMatrix = [ + inputMatrix[0][0], inputMatrix[0][1], inputMatrix[0][2], + inputMatrix[1][0], inputMatrix[1][1], inputMatrix[1][2], + inputMatrix[2][0], inputMatrix[2][1], inputMatrix[2][2] + ].map(Number); + return this; +} + +/** + * Transforms the image using brightness, saturation, hue rotation, and lightness. + * Brightness and lightness both operate on luminance, with the difference being that + * brightness is multiplicative whereas lightness is additive. + * + * @since 0.22.1 + * + * @example + * // increase brightness by a factor of 2 + * const output = await sharp(input) + * .modulate({ + * brightness: 2 + * }) + * .toBuffer(); + * + * @example + * // hue-rotate by 180 degrees + * const output = await sharp(input) + * .modulate({ + * hue: 180 + * }) + * .toBuffer(); + * + * @example + * // increase lightness by +50 + * const output = await sharp(input) + * .modulate({ + * lightness: 50 + * }) + * .toBuffer(); + * + * @example + * // decrease brightness and saturation while also hue-rotating by 90 degrees + * const output = await sharp(input) + * .modulate({ + * brightness: 0.5, + * saturation: 0.5, + * hue: 90, + * }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.brightness] Brightness multiplier + * @param {number} [options.saturation] Saturation multiplier + * @param {number} [options.hue] Degrees for hue rotation + * @param {number} [options.lightness] Lightness addend + * @returns {Sharp} + */ +function modulate (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'plain object', options); + } + if ('brightness' in options) { + if (is.number(options.brightness) && options.brightness >= 0) { + this.options.brightness = options.brightness; + } else { + throw is.invalidParameterError('brightness', 'number above zero', options.brightness); + } + } + if ('saturation' in options) { + if (is.number(options.saturation) && options.saturation >= 0) { + this.options.saturation = options.saturation; + } else { + throw is.invalidParameterError('saturation', 'number above zero', options.saturation); + } + } + if ('hue' in options) { + if (is.integer(options.hue)) { + this.options.hue = options.hue % 360; + } else { + throw is.invalidParameterError('hue', 'number', options.hue); + } + } + if ('lightness' in options) { + if (is.number(options.lightness)) { + this.options.lightness = options.lightness; + } else { + throw is.invalidParameterError('lightness', 'number', options.lightness); + } + } + return this; +} + +/** + * Decorate the Sharp prototype with operation-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + rotate, + flip, + flop, + affine, + sharpen, + median, + blur, + flatten, + unflatten, + gamma, + negate, + normalise, + normalize, + clahe, + convolve, + threshold, + boolean, + linear, + recomb, + modulate + }); +}; diff --git a/.output/server/node_modules/sharp/lib/output.js b/.output/server/node_modules/sharp/lib/output.js new file mode 100644 index 00000000..dcf78e01 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/output.js @@ -0,0 +1,1413 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const path = require('path'); +const is = require('./is'); +const sharp = require('./sharp'); + +const formats = new Map([ + ['heic', 'heif'], + ['heif', 'heif'], + ['avif', 'avif'], + ['jpeg', 'jpeg'], + ['jpg', 'jpeg'], + ['jpe', 'jpeg'], + ['tile', 'tile'], + ['dz', 'tile'], + ['png', 'png'], + ['raw', 'raw'], + ['tiff', 'tiff'], + ['tif', 'tiff'], + ['webp', 'webp'], + ['gif', 'gif'], + ['jp2', 'jp2'], + ['jpx', 'jp2'], + ['j2k', 'jp2'], + ['j2c', 'jp2'], + ['jxl', 'jxl'] +]); + +const jp2Regex = /\.(jp[2x]|j2[kc])$/i; + +const errJp2Save = () => new Error('JP2 output requires libvips with support for OpenJPEG'); + +const bitdepthFromColourCount = (colours) => 1 << 31 - Math.clz32(Math.ceil(Math.log2(colours))); + +/** + * Write output image data to a file. + * + * If an explicit output format is not selected, it will be inferred from the extension, + * with JPEG, PNG, WebP, AVIF, TIFF, GIF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata|withMetadata} for control over this. + * + * The caller is responsible for ensuring directory structures and permissions exist. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * sharp(input) + * .toFile('output.png', (err, info) => { ... }); + * + * @example + * sharp(input) + * .toFile('output.png') + * .then(info => { ... }) + * .catch(err => { ... }); + * + * @param {string} fileOut - the path to write the image data to. + * @param {Function} [callback] - called on completion with two arguments `(err, info)`. + * `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * When using the attention crop strategy also contains `attentionX` and `attentionY`, the focal point of the cropped region. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * @returns {Promise<Object>} - when no callback is provided + * @throws {Error} Invalid parameters + */ +function toFile (fileOut, callback) { + let err; + if (!is.string(fileOut)) { + err = new Error('Missing output file path'); + } else if (is.string(this.options.input.file) && path.resolve(this.options.input.file) === path.resolve(fileOut)) { + err = new Error('Cannot use same file for input and output'); + } else if (jp2Regex.test(path.extname(fileOut)) && !this.constructor.format.jp2k.output.file) { + err = errJp2Save(); + } + if (err) { + if (is.fn(callback)) { + callback(err); + } else { + return Promise.reject(err); + } + } else { + this.options.fileOut = fileOut; + return this._pipeline(callback); + } + return this; +} + +/** + * Write output to a Buffer. + * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. + * + * Use {@link #toformat|toFormat} or one of the format-specific functions such as {@link jpeg}, {@link png} etc. to set the output format. + * + * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata|withMetadata} for control over this. + * + * `callback`, if present, gets three arguments `(err, data, info)` where: + * - `err` is an error, if any. + * - `data` is the output image data. + * - `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * sharp(input) + * .toBuffer((err, data, info) => { ... }); + * + * @example + * sharp(input) + * .toBuffer() + * .then(data => { ... }) + * .catch(err => { ... }); + * + * @example + * sharp(input) + * .png() + * .toBuffer({ resolveWithObject: true }) + * .then(({ data, info }) => { ... }) + * .catch(err => { ... }); + * + * @example + * const { data, info } = await sharp('my-image.jpg') + * // output the raw pixels + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * // create a more type safe way to work with the raw pixel data + * // this will not copy the data, instead it will change `data`s underlying ArrayBuffer + * // so `data` and `pixelArray` point to the same memory location + * const pixelArray = new Uint8ClampedArray(data.buffer); + * + * // When you are done changing the pixelArray, sharp takes the `pixelArray` as an input + * const { width, height, channels } = info; + * await sharp(pixelArray, { raw: { width, height, channels } }) + * .toFile('my-changed-image.jpg'); + * + * @param {Object} [options] + * @param {boolean} [options.resolveWithObject] Resolve the Promise with an Object containing `data` and `info` properties instead of resolving only with `data`. + * @param {Function} [callback] + * @returns {Promise<Buffer>} - when no callback is provided + */ +function toBuffer (options, callback) { + if (is.object(options)) { + this._setBooleanOption('resolveWithObject', options.resolveWithObject); + } else if (this.options.resolveWithObject) { + this.options.resolveWithObject = false; + } + this.options.fileOut = ''; + return this._pipeline(is.fn(options) ? options : callback); +} + +/** + * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image. + * This will also convert to and add a web-friendly sRGB ICC profile if appropriate, + * unless a custom output profile is provided. + * + * The default behaviour, when `withMetadata` is not used, is to convert to the device-independent + * sRGB colour space and strip all metadata, including the removal of any ICC profile. + * + * EXIF metadata is unsupported for TIFF output. + * + * @example + * sharp('input.jpg') + * .withMetadata() + * .toFile('output-with-metadata.jpg') + * .then(info => { ... }); + * + * @example + * // Set output EXIF metadata + * const data = await sharp(input) + * .withMetadata({ + * exif: { + * IFD0: { + * Copyright: 'The National Gallery' + * }, + * IFD3: { + * GPSLatitudeRef: 'N', + * GPSLatitude: '51/1 30/1 3230/100', + * GPSLongitudeRef: 'W', + * GPSLongitude: '0/1 7/1 4366/100' + * } + * } + * }) + * .toBuffer(); + * + * @example + * // Set output metadata to 96 DPI + * const data = await sharp(input) + * .withMetadata({ density: 96 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.orientation] value between 1 and 8, used to update the EXIF `Orientation` tag. + * @param {string} [options.icc='srgb'] Filesystem path to output ICC profile, relative to `process.cwd()`, defaults to built-in sRGB. + * @param {Object<Object>} [options.exif={}] Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @param {number} [options.density] Number of pixels per inch (DPI). + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withMetadata (options) { + this.options.withMetadata = is.bool(options) ? options : true; + if (is.object(options)) { + if (is.defined(options.orientation)) { + if (is.integer(options.orientation) && is.inRange(options.orientation, 1, 8)) { + this.options.withMetadataOrientation = options.orientation; + } else { + throw is.invalidParameterError('orientation', 'integer between 1 and 8', options.orientation); + } + } + if (is.defined(options.density)) { + if (is.number(options.density) && options.density > 0) { + this.options.withMetadataDensity = options.density; + } else { + throw is.invalidParameterError('density', 'positive number', options.density); + } + } + if (is.defined(options.icc)) { + if (is.string(options.icc)) { + this.options.withMetadataIcc = options.icc; + } else { + throw is.invalidParameterError('icc', 'string filesystem path to ICC profile', options.icc); + } + } + if (is.defined(options.exif)) { + if (is.object(options.exif)) { + for (const [ifd, entries] of Object.entries(options.exif)) { + if (is.object(entries)) { + for (const [k, v] of Object.entries(entries)) { + if (is.string(v)) { + this.options.withMetadataStrs[`exif-${ifd.toLowerCase()}-${k}`] = v; + } else { + throw is.invalidParameterError(`exif.${ifd}.${k}`, 'string', v); + } + } + } else { + throw is.invalidParameterError(`exif.${ifd}`, 'object', entries); + } + } + } else { + throw is.invalidParameterError('exif', 'object', options.exif); + } + } + } + return this; +} + +/** + * Force output to a given format. + * + * @example + * // Convert any input to PNG output + * const data = await sharp(input) + * .toFormat('png') + * .toBuffer(); + * + * @param {(string|Object)} format - as a string or an Object with an 'id' attribute + * @param {Object} options - output options + * @returns {Sharp} + * @throws {Error} unsupported format or options + */ +function toFormat (format, options) { + const actualFormat = formats.get((is.object(format) && is.string(format.id) ? format.id : format).toLowerCase()); + if (!actualFormat) { + throw is.invalidParameterError('format', `one of: ${[...formats.keys()].join(', ')}`, format); + } + return this[actualFormat](options); +} + +/** + * Use these JPEG options for output image. + * + * @example + * // Convert any input to very high quality JPEG output + * const data = await sharp(input) + * .jpeg({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @example + * // Use mozjpeg to reduce output JPEG file size (slower) + * const data = await sharp(input) + * .jpeg({ mozjpeg: true }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {string} [options.chromaSubsampling='4:2:0'] - set to '4:4:4' to prevent chroma subsampling otherwise defaults to '4:2:0' chroma subsampling + * @param {boolean} [options.optimiseCoding=true] - optimise Huffman coding tables + * @param {boolean} [options.optimizeCoding=true] - alternative spelling of optimiseCoding + * @param {boolean} [options.mozjpeg=false] - use mozjpeg defaults, equivalent to `{ trellisQuantisation: true, overshootDeringing: true, optimiseScans: true, quantisationTable: 3 }` + * @param {boolean} [options.trellisQuantisation=false] - apply trellis quantisation + * @param {boolean} [options.overshootDeringing=false] - apply overshoot deringing + * @param {boolean} [options.optimiseScans=false] - optimise progressive scans, forces progressive + * @param {boolean} [options.optimizeScans=false] - alternative spelling of optimiseScans + * @param {number} [options.quantisationTable=0] - quantization table to use, integer 0-8 + * @param {number} [options.quantizationTable=0] - alternative spelling of quantisationTable + * @param {boolean} [options.force=true] - force JPEG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jpeg (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jpegQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.progressive)) { + this._setBooleanOption('jpegProgressive', options.progressive); + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jpegChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + const optimiseCoding = is.bool(options.optimizeCoding) ? options.optimizeCoding : options.optimiseCoding; + if (is.defined(optimiseCoding)) { + this._setBooleanOption('jpegOptimiseCoding', optimiseCoding); + } + if (is.defined(options.mozjpeg)) { + if (is.bool(options.mozjpeg)) { + if (options.mozjpeg) { + this.options.jpegTrellisQuantisation = true; + this.options.jpegOvershootDeringing = true; + this.options.jpegOptimiseScans = true; + this.options.jpegProgressive = true; + this.options.jpegQuantisationTable = 3; + } + } else { + throw is.invalidParameterError('mozjpeg', 'boolean', options.mozjpeg); + } + } + const trellisQuantisation = is.bool(options.trellisQuantization) ? options.trellisQuantization : options.trellisQuantisation; + if (is.defined(trellisQuantisation)) { + this._setBooleanOption('jpegTrellisQuantisation', trellisQuantisation); + } + if (is.defined(options.overshootDeringing)) { + this._setBooleanOption('jpegOvershootDeringing', options.overshootDeringing); + } + const optimiseScans = is.bool(options.optimizeScans) ? options.optimizeScans : options.optimiseScans; + if (is.defined(optimiseScans)) { + this._setBooleanOption('jpegOptimiseScans', optimiseScans); + if (optimiseScans) { + this.options.jpegProgressive = true; + } + } + const quantisationTable = is.number(options.quantizationTable) ? options.quantizationTable : options.quantisationTable; + if (is.defined(quantisationTable)) { + if (is.integer(quantisationTable) && is.inRange(quantisationTable, 0, 8)) { + this.options.jpegQuantisationTable = quantisationTable; + } else { + throw is.invalidParameterError('quantisationTable', 'integer between 0 and 8', quantisationTable); + } + } + } + return this._updateFormatOut('jpeg', options); +} + +/** + * Use these PNG options for output image. + * + * By default, PNG output is full colour at 8 or 16 bits per pixel. + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * Set `palette` to `true` for slower, indexed PNG output. + * + * @example + * // Convert any input to full colour PNG output + * const data = await sharp(input) + * .png() + * .toBuffer(); + * + * @example + * // Convert any input to indexed PNG output (slower) + * const data = await sharp(input) + * .png({ palette: true }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.compressionLevel=6] - zlib compression level, 0 (fastest, largest) to 9 (slowest, smallest) + * @param {boolean} [options.adaptiveFiltering=false] - use adaptive row filtering + * @param {boolean} [options.palette=false] - quantise to a palette-based image with alpha transparency support + * @param {number} [options.quality=100] - use the lowest number of colours needed to achieve given quality, sets `palette` to `true` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest), sets `palette` to `true` + * @param {number} [options.colours=256] - maximum number of palette entries, sets `palette` to `true` + * @param {number} [options.colors=256] - alternative spelling of `options.colours`, sets `palette` to `true` + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, sets `palette` to `true` + * @param {boolean} [options.force=true] - force PNG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function png (options) { + if (is.object(options)) { + if (is.defined(options.progressive)) { + this._setBooleanOption('pngProgressive', options.progressive); + } + if (is.defined(options.compressionLevel)) { + if (is.integer(options.compressionLevel) && is.inRange(options.compressionLevel, 0, 9)) { + this.options.pngCompressionLevel = options.compressionLevel; + } else { + throw is.invalidParameterError('compressionLevel', 'integer between 0 and 9', options.compressionLevel); + } + } + if (is.defined(options.adaptiveFiltering)) { + this._setBooleanOption('pngAdaptiveFiltering', options.adaptiveFiltering); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.pngBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.palette)) { + this._setBooleanOption('pngPalette', options.palette); + } else if ([options.quality, options.effort, options.colours, options.colors, options.dither].some(is.defined)) { + this._setBooleanOption('pngPalette', true); + } + if (this.options.pngPalette) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 0, 100)) { + this.options.pngQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 0 and 100', options.quality); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.pngEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.pngDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + } + } + return this._updateFormatOut('png', options); +} + +/** + * Use these WebP options for output image. + * + * @example + * // Convert any input to lossless WebP output + * const data = await sharp(input) + * .webp({ lossless: true }) + * .toBuffer(); + * + * @example + * // Optimise the file size of an animated WebP + * const outputWebp = await sharp(inputWebp, { animated: true }) + * .webp({ effort: 6 }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {number} [options.alphaQuality=100] - quality of alpha layer, integer 0-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {boolean} [options.nearLossless=false] - use near_lossless compression mode + * @param {boolean} [options.smartSubsample=false] - use high quality chroma subsampling + * @param {string} [options.preset='default'] - named preset for preprocessing/filtering, one of: default, photo, picture, drawing, icon, text + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 6 (slowest) + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.minSize=false] - prevent use of animation key frames to minimise file size (slow) + * @param {boolean} [options.mixed=false] - allow mixture of lossy and lossless animation frames (slow) + * @param {boolean} [options.force=true] - force WebP output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function webp (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.webpQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.alphaQuality)) { + if (is.integer(options.alphaQuality) && is.inRange(options.alphaQuality, 0, 100)) { + this.options.webpAlphaQuality = options.alphaQuality; + } else { + throw is.invalidParameterError('alphaQuality', 'integer between 0 and 100', options.alphaQuality); + } + } + if (is.defined(options.lossless)) { + this._setBooleanOption('webpLossless', options.lossless); + } + if (is.defined(options.nearLossless)) { + this._setBooleanOption('webpNearLossless', options.nearLossless); + } + if (is.defined(options.smartSubsample)) { + this._setBooleanOption('webpSmartSubsample', options.smartSubsample); + } + if (is.defined(options.preset)) { + if (is.string(options.preset) && is.inArray(options.preset, ['default', 'photo', 'picture', 'drawing', 'icon', 'text'])) { + this.options.webpPreset = options.preset; + } else { + throw is.invalidParameterError('preset', 'one of: default, photo, picture, drawing, icon, text', options.preset); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 6)) { + this.options.webpEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 6', options.effort); + } + } + if (is.defined(options.minSize)) { + this._setBooleanOption('webpMinSize', options.minSize); + } + if (is.defined(options.mixed)) { + this._setBooleanOption('webpMixed', options.mixed); + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('webp', options); +} + +/** + * Use these GIF options for the output image. + * + * The first entry in the palette is reserved for transparency. + * + * The palette of the input image will be re-used if possible. + * + * @since 0.30.0 + * + * @example + * // Convert PNG to GIF + * await sharp(pngBuffer) + * .gif() + * .toBuffer(); + * + * @example + * // Convert animated WebP to animated GIF + * await sharp('animated.webp', { animated: true }) + * .toFile('animated.gif'); + * + * @example + * // Create a 128x128, cropped, non-dithered, animated thumbnail of an animated GIF + * const out = await sharp('in.gif', { animated: true }) + * .resize({ width: 128, height: 128 }) + * .gif({ dither: 0 }) + * .toBuffer(); + * + * @example + * // Lossy file size reduction of animated GIF + * await sharp('in.gif', { animated: true }) + * .gif({ interFrameMaxError: 8 }) + * .toFile('optim.gif'); + * + * @param {Object} [options] - output options + * @param {boolean} [options.reuse=true] - re-use existing palette, otherwise generate new (slow) + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.colours=256] - maximum number of palette entries, including transparency, between 2 and 256 + * @param {number} [options.colors=256] - alternative spelling of `options.colours` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest) + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) + * @param {number} [options.interFrameMaxError=0] - maximum inter-frame error for transparency, between 0 (lossless) and 32 + * @param {number} [options.interPaletteMaxError=3] - maximum inter-palette error for palette reuse, between 0 and 256 + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.force=true] - force GIF output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function gif (options) { + if (is.object(options)) { + if (is.defined(options.reuse)) { + this._setBooleanOption('gifReuse', options.reuse); + } + if (is.defined(options.progressive)) { + this._setBooleanOption('gifProgressive', options.progressive); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.gifBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.effort)) { + if (is.number(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.gifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.gifDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + if (is.defined(options.interFrameMaxError)) { + if (is.number(options.interFrameMaxError) && is.inRange(options.interFrameMaxError, 0, 32)) { + this.options.gifInterFrameMaxError = options.interFrameMaxError; + } else { + throw is.invalidParameterError('interFrameMaxError', 'number between 0.0 and 32.0', options.interFrameMaxError); + } + } + if (is.defined(options.interPaletteMaxError)) { + if (is.number(options.interPaletteMaxError) && is.inRange(options.interPaletteMaxError, 0, 256)) { + this.options.gifInterPaletteMaxError = options.interPaletteMaxError; + } else { + throw is.invalidParameterError('interPaletteMaxError', 'number between 0.0 and 256.0', options.interPaletteMaxError); + } + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('gif', options); +} + +/* istanbul ignore next */ +/** + * Use these JP2 options for output image. + * + * Requires libvips compiled with support for OpenJPEG. + * The prebuilt binaries do not include this - see + * {@link https://sharp.pixelplumbing.com/install#custom-libvips installing a custom libvips}. + * + * @example + * // Convert any input to lossless JP2 output + * const data = await sharp(input) + * .jp2({ lossless: true }) + * .toBuffer(); + * + * @example + * // Convert any input to very high quality JP2 output + * const data = await sharp(input) + * .jp2({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @since 0.29.1 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {number} [options.tileWidth=512] - horizontal tile size + * @param {number} [options.tileHeight=512] - vertical tile size + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jp2 (options) { + if (!this.constructor.format.jp2k.output.buffer) { + throw errJp2Save(); + } + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jp2Quality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jp2Lossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && is.inRange(options.tileWidth, 1, 32768)) { + this.options.jp2TileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer between 1 and 32768', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && is.inRange(options.tileHeight, 1, 32768)) { + this.options.jp2TileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer between 1 and 32768', options.tileHeight); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jp2ChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + } + return this._updateFormatOut('jp2', options); +} + +/** + * Set animation options if available. + * @private + * + * @param {Object} [source] - output options + * @param {number} [source.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number[]} [source.delay] - list of delays between animation frames (in milliseconds) + * @param {Object} [target] - target object for valid options + * @throws {Error} Invalid options + */ +function trySetAnimationOptions (source, target) { + if (is.object(source) && is.defined(source.loop)) { + if (is.integer(source.loop) && is.inRange(source.loop, 0, 65535)) { + target.loop = source.loop; + } else { + throw is.invalidParameterError('loop', 'integer between 0 and 65535', source.loop); + } + } + if (is.object(source) && is.defined(source.delay)) { + // We allow singular values as well + if (is.integer(source.delay) && is.inRange(source.delay, 0, 65535)) { + target.delay = [source.delay]; + } else if ( + Array.isArray(source.delay) && + source.delay.every(is.integer) && + source.delay.every(v => is.inRange(v, 0, 65535))) { + target.delay = source.delay; + } else { + throw is.invalidParameterError('delay', 'integer or an array of integers between 0 and 65535', source.delay); + } + } +} + +/** + * Use these TIFF options for output image. + * + * The `density` can be set in pixels/inch via {@link #withmetadata|withMetadata} + * instead of providing `xres` and `yres` in pixels/mm. + * + * @example + * // Convert SVG input to LZW-compressed, 1 bit per pixel TIFF output + * sharp('input.svg') + * .tiff({ + * compression: 'lzw', + * bitdepth: 1 + * }) + * .toFile('1-bpp-output.tiff') + * .then(info => { ... }); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.force=true] - force TIFF output, otherwise attempt to use input format + * @param {string} [options.compression='jpeg'] - compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k + * @param {string} [options.predictor='horizontal'] - compression predictor options: none, horizontal, float + * @param {boolean} [options.pyramid=false] - write an image pyramid + * @param {boolean} [options.tile=false] - write a tiled tiff + * @param {number} [options.tileWidth=256] - horizontal tile size + * @param {number} [options.tileHeight=256] - vertical tile size + * @param {number} [options.xres=1.0] - horizontal resolution in pixels/mm + * @param {number} [options.yres=1.0] - vertical resolution in pixels/mm + * @param {string} [options.resolutionUnit='inch'] - resolution unit options: inch, cm + * @param {number} [options.bitdepth=8] - reduce bitdepth to 1, 2 or 4 bit + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function tiff (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.tiffQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.bitdepth)) { + if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [1, 2, 4, 8])) { + this.options.tiffBitdepth = options.bitdepth; + } else { + throw is.invalidParameterError('bitdepth', '1, 2, 4 or 8', options.bitdepth); + } + } + // tiling + if (is.defined(options.tile)) { + this._setBooleanOption('tiffTile', options.tile); + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && options.tileWidth > 0) { + this.options.tiffTileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer greater than zero', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && options.tileHeight > 0) { + this.options.tiffTileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer greater than zero', options.tileHeight); + } + } + // pyramid + if (is.defined(options.pyramid)) { + this._setBooleanOption('tiffPyramid', options.pyramid); + } + // resolution + if (is.defined(options.xres)) { + if (is.number(options.xres) && options.xres > 0) { + this.options.tiffXres = options.xres; + } else { + throw is.invalidParameterError('xres', 'number greater than zero', options.xres); + } + } + if (is.defined(options.yres)) { + if (is.number(options.yres) && options.yres > 0) { + this.options.tiffYres = options.yres; + } else { + throw is.invalidParameterError('yres', 'number greater than zero', options.yres); + } + } + // compression + if (is.defined(options.compression)) { + if (is.string(options.compression) && is.inArray(options.compression, ['none', 'jpeg', 'deflate', 'packbits', 'ccittfax4', 'lzw', 'webp', 'zstd', 'jp2k'])) { + this.options.tiffCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k', options.compression); + } + } + // predictor + if (is.defined(options.predictor)) { + if (is.string(options.predictor) && is.inArray(options.predictor, ['none', 'horizontal', 'float'])) { + this.options.tiffPredictor = options.predictor; + } else { + throw is.invalidParameterError('predictor', 'one of: none, horizontal, float', options.predictor); + } + } + // resolutionUnit + if (is.defined(options.resolutionUnit)) { + if (is.string(options.resolutionUnit) && is.inArray(options.resolutionUnit, ['inch', 'cm'])) { + this.options.tiffResolutionUnit = options.resolutionUnit; + } else { + throw is.invalidParameterError('resolutionUnit', 'one of: inch, cm', options.resolutionUnit); + } + } + } + return this._updateFormatOut('tiff', options); +} + +/** + * Use these AVIF options for output image. + * + * Whilst it is possible to create AVIF images smaller than 16x16 pixels, + * most web browsers do not display these properly. + * + * AVIF image sequences are not supported. + * + * @example + * const data = await sharp(input) + * .avif({ effort: 2 }) + * .toBuffer(); + * + * @example + * const data = await sharp(input) + * .avif({ lossless: true }) + * .toBuffer(); + * + * @since 0.27.0 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function avif (options) { + return this.heif({ ...options, compression: 'av1' }); +} + +/** + * Use these HEIF options for output image. + * + * Support for patent-encumbered HEIC images using `hevc` compression requires the use of a + * globally-installed libvips compiled with support for libheif, libde265 and x265. + * + * @example + * const data = await sharp(input) + * .heif({ compression: 'hevc' }) + * .toBuffer(); + * + * @since 0.23.0 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {string} [options.compression='av1'] - compression format: av1, hevc + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function heif (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.heifQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.heifLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.compression)) { + if (is.string(options.compression) && is.inArray(options.compression, ['av1', 'hevc'])) { + this.options.heifCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: av1, hevc', options.compression); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 9)) { + this.options.heifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 9', options.effort); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.heifChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + } + return this._updateFormatOut('heif', options); +} + +/** + * Use these JPEG-XL (JXL) options for output image. + * + * This feature is experimental, please do not use in production systems. + * + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this - see + * {@link https://sharp.pixelplumbing.com/install#custom-libvips installing a custom libvips}. + * + * Image metadata (EXIF, XMP) is unsupported. + * + * @since 0.31.3 + * + * @param {Object} [options] - output options + * @param {number} [options.distance=1.0] - maximum encoding error, between 0 (highest quality) and 15 (lowest quality) + * @param {number} [options.quality] - calculate `distance` based on JPEG-like quality, between 1 and 100, overrides distance if specified + * @param {number} [options.decodingTier=0] - target decode speed tier, between 0 (highest quality) and 4 (lowest quality) + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=7] - CPU effort, between 3 (fastest) and 9 (slowest) + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jxl (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + // https://github.com/libjxl/libjxl/blob/0aeea7f180bafd6893c1db8072dcb67d2aa5b03d/tools/cjxl_main.cc#L640-L644 + this.options.jxlDistance = options.quality >= 30 + ? 0.1 + (100 - options.quality) * 0.09 + : 53 / 3000 * options.quality * options.quality - 23 / 20 * options.quality + 25; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } else if (is.defined(options.distance)) { + if (is.number(options.distance) && is.inRange(options.distance, 0, 15)) { + this.options.jxlDistance = options.distance; + } else { + throw is.invalidParameterError('distance', 'number between 0.0 and 15.0', options.distance); + } + } + if (is.defined(options.decodingTier)) { + if (is.integer(options.decodingTier) && is.inRange(options.decodingTier, 0, 4)) { + this.options.jxlDecodingTier = options.decodingTier; + } else { + throw is.invalidParameterError('decodingTier', 'integer between 0 and 4', options.decodingTier); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jxlLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 3, 9)) { + this.options.jxlEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 3 and 9', options.effort); + } + } + } + return this._updateFormatOut('jxl', options); +} + +/** + * Force output to be raw, uncompressed pixel data. + * Pixel ordering is left-to-right, top-to-bottom, without padding. + * Channel ordering will be RGB or RGBA for non-greyscale colourspaces. + * + * @example + * // Extract raw, unsigned 8-bit RGB pixel data from JPEG input + * const { data, info } = await sharp('input.jpg') + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * @example + * // Extract alpha channel as raw, unsigned 16-bit pixel data from PNG input + * const data = await sharp('input.png') + * .ensureAlpha() + * .extractChannel(3) + * .toColourspace('b-w') + * .raw({ depth: 'ushort' }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {string} [options.depth='uchar'] - bit depth, one of: char, uchar (default), short, ushort, int, uint, float, complex, double, dpcomplex + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function raw (options) { + if (is.object(options)) { + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, + ['char', 'uchar', 'short', 'ushort', 'int', 'uint', 'float', 'complex', 'double', 'dpcomplex'] + )) { + this.options.rawDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex', options.depth); + } + } + } + return this._updateFormatOut('raw'); +} + +/** + * Use tile-based deep zoom (image pyramid) output. + * + * Set the format and options for tile images via the `toFormat`, `jpeg`, `png` or `webp` functions. + * Use a `.zip` or `.szi` file extension with `toFile` to write to a compressed archive file format. + * + * The container will be set to `zip` when the output is a Buffer or Stream, otherwise it will default to `fs`. + * + * Requires libvips compiled with support for libgsf. + * The prebuilt binaries do not include this - see + * {@link https://sharp.pixelplumbing.com/install#custom-libvips installing a custom libvips}. + * + * @example + * sharp('input.tiff') + * .png() + * .tile({ + * size: 512 + * }) + * .toFile('output.dz', function(err, info) { + * // output.dzi is the Deep Zoom XML definition + * // output_files contains 512x512 tiles grouped by zoom level + * }); + * + * @example + * const zipFileWithTiles = await sharp(input) + * .tile({ basename: "tiles" }) + * .toBuffer(); + * + * @example + * const iiififier = sharp().tile({ layout: "iiif" }); + * readableStream + * .pipe(iiififier) + * .pipe(writeableStream); + * + * @param {Object} [options] + * @param {number} [options.size=256] tile size in pixels, a value between 1 and 8192. + * @param {number} [options.overlap=0] tile overlap in pixels, a value between 0 and 8192. + * @param {number} [options.angle=0] tile angle of rotation, must be a multiple of 90. + * @param {string|Object} [options.background={r: 255, g: 255, b: 255, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to white without transparency. + * @param {string} [options.depth] how deep to make the pyramid, possible values are `onepixel`, `onetile` or `one`, default based on layout. + * @param {number} [options.skipBlanks=-1] threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images + * @param {string} [options.container='fs'] tile container, with value `fs` (filesystem) or `zip` (compressed file). + * @param {string} [options.layout='dz'] filesystem layout, possible values are `dz`, `iiif`, `iiif3`, `zoomify` or `google`. + * @param {boolean} [options.centre=false] centre image in tile. + * @param {boolean} [options.center=false] alternative spelling of centre. + * @param {string} [options.id='https://example.com/iiif'] when `layout` is `iiif`/`iiif3`, sets the `@id`/`id` attribute of `info.json` + * @param {string} [options.basename] the name of the directory within the zip file when container is `zip`. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function tile (options) { + if (is.object(options)) { + // Size of square tiles, in pixels + if (is.defined(options.size)) { + if (is.integer(options.size) && is.inRange(options.size, 1, 8192)) { + this.options.tileSize = options.size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 8192', options.size); + } + } + // Overlap of tiles, in pixels + if (is.defined(options.overlap)) { + if (is.integer(options.overlap) && is.inRange(options.overlap, 0, 8192)) { + if (options.overlap > this.options.tileSize) { + throw is.invalidParameterError('overlap', `<= size (${this.options.tileSize})`, options.overlap); + } + this.options.tileOverlap = options.overlap; + } else { + throw is.invalidParameterError('overlap', 'integer between 0 and 8192', options.overlap); + } + } + // Container + if (is.defined(options.container)) { + if (is.string(options.container) && is.inArray(options.container, ['fs', 'zip'])) { + this.options.tileContainer = options.container; + } else { + throw is.invalidParameterError('container', 'one of: fs, zip', options.container); + } + } + // Layout + if (is.defined(options.layout)) { + if (is.string(options.layout) && is.inArray(options.layout, ['dz', 'google', 'iiif', 'iiif3', 'zoomify'])) { + this.options.tileLayout = options.layout; + } else { + throw is.invalidParameterError('layout', 'one of: dz, google, iiif, iiif3, zoomify', options.layout); + } + } + // Angle of rotation, + if (is.defined(options.angle)) { + if (is.integer(options.angle) && !(options.angle % 90)) { + this.options.tileAngle = options.angle; + } else { + throw is.invalidParameterError('angle', 'positive/negative multiple of 90', options.angle); + } + } + // Background colour + this._setBackgroundColourOption('tileBackground', options.background); + // Depth of tiles + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, ['onepixel', 'onetile', 'one'])) { + this.options.tileDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: onepixel, onetile, one', options.depth); + } + } + // Threshold to skip blank tiles + if (is.defined(options.skipBlanks)) { + if (is.integer(options.skipBlanks) && is.inRange(options.skipBlanks, -1, 65535)) { + this.options.tileSkipBlanks = options.skipBlanks; + } else { + throw is.invalidParameterError('skipBlanks', 'integer between -1 and 255/65535', options.skipBlanks); + } + } else if (is.defined(options.layout) && options.layout === 'google') { + this.options.tileSkipBlanks = 5; + } + // Center image in tile + const centre = is.bool(options.center) ? options.center : options.centre; + if (is.defined(centre)) { + this._setBooleanOption('tileCentre', centre); + } + // @id attribute for IIIF layout + if (is.defined(options.id)) { + if (is.string(options.id)) { + this.options.tileId = options.id; + } else { + throw is.invalidParameterError('id', 'string', options.id); + } + } + // Basename for zip container + if (is.defined(options.basename)) { + if (is.string(options.basename)) { + this.options.tileBasename = options.basename; + } else { + throw is.invalidParameterError('basename', 'string', options.basename); + } + } + } + // Format + if (is.inArray(this.options.formatOut, ['jpeg', 'png', 'webp'])) { + this.options.tileFormat = this.options.formatOut; + } else if (this.options.formatOut !== 'input') { + throw is.invalidParameterError('format', 'one of: jpeg, png, webp', this.options.formatOut); + } + return this._updateFormatOut('dz'); +} + +/** + * Set a timeout for processing, in seconds. + * Use a value of zero to continue processing indefinitely, the default behaviour. + * + * The clock starts when libvips opens an input image for processing. + * Time spent waiting for a libuv thread to become available is not included. + * + * @example + * // Ensure processing takes no longer than 3 seconds + * try { + * const data = await sharp(input) + * .blur(1000) + * .timeout({ seconds: 3 }) + * .toBuffer(); + * } catch (err) { + * if (err.message.includes('timeout')) { ... } + * } + * + * @since 0.29.2 + * + * @param {Object} options + * @param {number} options.seconds - Number of seconds after which processing will be stopped + * @returns {Sharp} + */ +function timeout (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'object', options); + } + if (is.integer(options.seconds) && is.inRange(options.seconds, 0, 3600)) { + this.options.timeoutSeconds = options.seconds; + } else { + throw is.invalidParameterError('seconds', 'integer between 0 and 3600', options.seconds); + } + return this; +} + +/** + * Update the output format unless options.force is false, + * in which case revert to input format. + * @private + * @param {string} formatOut + * @param {Object} [options] + * @param {boolean} [options.force=true] - force output format, otherwise attempt to use input format + * @returns {Sharp} + */ +function _updateFormatOut (formatOut, options) { + if (!(is.object(options) && options.force === false)) { + this.options.formatOut = formatOut; + } + return this; +} + +/** + * Update a boolean attribute of the this.options Object. + * @private + * @param {string} key + * @param {boolean} val + * @throws {Error} Invalid key + */ +function _setBooleanOption (key, val) { + if (is.bool(val)) { + this.options[key] = val; + } else { + throw is.invalidParameterError(key, 'boolean', val); + } +} + +/** + * Called by a WriteableStream to notify us it is ready for data. + * @private + */ +function _read () { + /* istanbul ignore else */ + if (!this.options.streamOut) { + this.options.streamOut = true; + this._pipeline(); + } +} + +/** + * Invoke the C++ image processing pipeline + * Supports callback, stream and promise variants + * @private + */ +function _pipeline (callback) { + if (typeof callback === 'function') { + // output=file/buffer + if (this._isStreamInput()) { + // output=file/buffer, input=stream + this.on('finish', () => { + this._flattenBufferIn(); + sharp.pipeline(this.options, callback); + }); + } else { + // output=file/buffer, input=file/buffer + sharp.pipeline(this.options, callback); + } + return this; + } else if (this.options.streamOut) { + // output=stream + if (this._isStreamInput()) { + // output=stream, input=stream + this.once('finish', () => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', err); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + }); + if (this.streamInFinished) { + this.emit('finish'); + } + } else { + // output=stream, input=file/buffer + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', err); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + } + return this; + } else { + // output=promise + if (this._isStreamInput()) { + // output=promise, input=stream + return new Promise((resolve, reject) => { + this.once('finish', () => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(err); + } else { + if (this.options.resolveWithObject) { + resolve({ data, info }); + } else { + resolve(data); + } + } + }); + }); + }); + } else { + // output=promise, input=file/buffer + return new Promise((resolve, reject) => { + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(err); + } else { + if (this.options.resolveWithObject) { + resolve({ data: data, info: info }); + } else { + resolve(data); + } + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with output-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + // Public + toFile, + toBuffer, + withMetadata, + toFormat, + jpeg, + jp2, + png, + webp, + tiff, + avif, + heif, + jxl, + gif, + raw, + tile, + timeout, + // Private + _updateFormatOut, + _setBooleanOption, + _read, + _pipeline + }); +}; diff --git a/.output/server/node_modules/sharp/lib/platform.js b/.output/server/node_modules/sharp/lib/platform.js new file mode 100644 index 00000000..71454e3e --- /dev/null +++ b/.output/server/node_modules/sharp/lib/platform.js @@ -0,0 +1,30 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const detectLibc = require('detect-libc'); + +const env = process.env; + +module.exports = function () { + const arch = env.npm_config_arch || process.arch; + const platform = env.npm_config_platform || process.platform; + const libc = process.env.npm_config_libc || + /* istanbul ignore next */ + (detectLibc.isNonGlibcLinuxSync() ? detectLibc.familySync() : ''); + const libcId = platform !== 'linux' || libc === detectLibc.GLIBC ? '' : libc; + + const platformId = [`${platform}${libcId}`]; + + if (arch === 'arm') { + const fallback = process.versions.electron ? '7' : '6'; + platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || fallback}`); + } else if (arch === 'arm64') { + platformId.push(`arm64v${env.npm_config_arm_version || '8'}`); + } else { + platformId.push(arch); + } + + return platformId.join('-'); +}; diff --git a/.output/server/node_modules/sharp/lib/resize.js b/.output/server/node_modules/sharp/lib/resize.js new file mode 100644 index 00000000..6677dba7 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/resize.js @@ -0,0 +1,582 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const is = require('./is'); + +/** + * Weighting to apply when using contain/cover fit. + * @member + * @private + */ +const gravity = { + center: 0, + centre: 0, + north: 1, + east: 2, + south: 3, + west: 4, + northeast: 5, + southeast: 6, + southwest: 7, + northwest: 8 +}; + +/** + * Position to apply when using contain/cover fit. + * @member + * @private + */ +const position = { + top: 1, + right: 2, + bottom: 3, + left: 4, + 'right top': 5, + 'right bottom': 6, + 'left bottom': 7, + 'left top': 8 +}; + +/** + * How to extend the image. + * @member + * @private + */ +const extendWith = { + background: 'background', + copy: 'copy', + repeat: 'repeat', + mirror: 'mirror' +}; + +/** + * Strategies for automagic cover behaviour. + * @member + * @private + */ +const strategy = { + entropy: 16, + attention: 17 +}; + +/** + * Reduction kernels. + * @member + * @private + */ +const kernel = { + nearest: 'nearest', + cubic: 'cubic', + mitchell: 'mitchell', + lanczos2: 'lanczos2', + lanczos3: 'lanczos3' +}; + +/** + * Methods by which an image can be resized to fit the provided dimensions. + * @member + * @private + */ +const fit = { + contain: 'contain', + cover: 'cover', + fill: 'fill', + inside: 'inside', + outside: 'outside' +}; + +/** + * Map external fit property to internal canvas property. + * @member + * @private + */ +const mapFitToCanvas = { + contain: 'embed', + cover: 'crop', + fill: 'ignore_aspect', + inside: 'max', + outside: 'min' +}; + +/** + * @private + */ +function isRotationExpected (options) { + return (options.angle % 360) !== 0 || options.useExifOrientation === true || options.rotationAngle !== 0; +} + +/** + * @private + */ +function isResizeExpected (options) { + return options.width !== -1 || options.height !== -1; +} + +/** + * Resize image to `width`, `height` or `width x height`. + * + * When both a `width` and `height` are provided, the possible methods by which the image should **fit** these are: + * - `cover`: (default) Preserving aspect ratio, attempt to ensure the image covers both provided dimensions by cropping/clipping to fit. + * - `contain`: Preserving aspect ratio, contain within both provided dimensions using "letterboxing" where necessary. + * - `fill`: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - `inside`: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - `outside`: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * + * Some of these values are based on the [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property. + * + * <img alt="Examples of various values for the fit property when resizing" width="100%" style="aspect-ratio: 998/243" src="https://cdn.jsdelivr.net/gh/lovell/sharp@main/docs/image/api-resize-fit.svg"> + * + * When using a **fit** of `cover` or `contain`, the default **position** is `centre`. Other options are: + * - `sharp.position`: `top`, `right top`, `right`, `right bottom`, `bottom`, `left bottom`, `left`, `left top`. + * - `sharp.gravity`: `north`, `northeast`, `east`, `southeast`, `south`, `southwest`, `west`, `northwest`, `center` or `centre`. + * - `sharp.strategy`: `cover` only, dynamically crop using either the `entropy` or `attention` strategy. + * + * Some of these values are based on the [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property. + * + * The experimental strategy-based approach resizes so one dimension is at its target length + * then repeatedly ranks edge regions, discarding the edge with the lowest score based on the selected strategy. + * - `entropy`: focus on the region with the highest [Shannon entropy](https://en.wikipedia.org/wiki/Entropy_%28information_theory%29). + * - `attention`: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible interpolation kernels are: + * - `nearest`: Use [nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). + * - `cubic`: Use a [Catmull-Rom spline](https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline). + * - `mitchell`: Use a [Mitchell-Netravali spline](https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf). + * - `lanczos2`: Use a [Lanczos kernel](https://en.wikipedia.org/wiki/Lanczos_resampling#Lanczos_kernel) with `a=2`. + * - `lanczos3`: Use a Lanczos kernel with `a=3` (the default). + * + * Only one resize can occur per pipeline. + * Previous calls to `resize` in the same pipeline will be ignored. + * + * @example + * sharp(input) + * .resize({ width: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels wide, auto-scaled height + * }); + * + * @example + * sharp(input) + * .resize({ height: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels high, auto-scaled width + * }); + * + * @example + * sharp(input) + * .resize(200, 300, { + * kernel: sharp.kernel.nearest, + * fit: 'contain', + * position: 'right top', + * background: { r: 255, g: 255, b: 255, alpha: 0.5 } + * }) + * .toFile('output.png') + * .then(() => { + * // output.png is a 200 pixels wide and 300 pixels high image + * // containing a nearest-neighbour scaled version + * // contained within the north-east corner of a semi-transparent white canvas + * }); + * + * @example + * const transformer = sharp() + * .resize({ + * width: 200, + * height: 200, + * fit: sharp.fit.cover, + * position: sharp.strategy.entropy + * }); + * // Read image data from readableStream + * // Write 200px square auto-cropped image data to writableStream + * readableStream + * .pipe(transformer) + * .pipe(writableStream); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.inside, + * withoutEnlargement: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // no wider and no higher than 200 pixels + * // and no larger than the input image + * }); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.outside, + * withoutReduction: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // of at least 200 pixels wide and 200 pixels high while maintaining aspect ratio + * // and no smaller than the input image + * }); + * + * @example + * const scaleByHalf = await sharp(input) + * .metadata() + * .then(({ width }) => sharp(input) + * .resize(Math.round(width * 0.5)) + * .toBuffer() + * ); + * + * @param {number} [width] - How many pixels wide the resultant image should be. Use `null` or `undefined` to auto-scale the width to match the height. + * @param {number} [height] - How many pixels high the resultant image should be. Use `null` or `undefined` to auto-scale the height to match the width. + * @param {Object} [options] + * @param {number} [options.width] - An alternative means of specifying `width`. If both are present this takes priority. + * @param {number} [options.height] - An alternative means of specifying `height`. If both are present this takes priority. + * @param {String} [options.fit='cover'] - How the image should be resized/cropped to fit the target dimension(s), one of `cover`, `contain`, `fill`, `inside` or `outside`. + * @param {String} [options.position='centre'] - A position, gravity or strategy to use when `fit` is `cover` or `contain`. + * @param {String|Object} [options.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour when `fit` is `contain`, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @param {String} [options.kernel='lanczos3'] - The kernel to use for image reduction. Use the `fastShrinkOnLoad` option to control kernel vs shrink-on-load. + * @param {Boolean} [options.withoutEnlargement=false] - Do not scale up if the width *or* height are already less than the target dimensions, equivalent to GraphicsMagick's `>` geometry option. This may result in output dimensions smaller than the target dimensions. + * @param {Boolean} [options.withoutReduction=false] - Do not scale down if the width *or* height are already greater than the target dimensions, equivalent to GraphicsMagick's `<` geometry option. This may still result in a crop to reach the target dimensions. + * @param {Boolean} [options.fastShrinkOnLoad=true] - Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern or round-down of an auto-scaled dimension. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function resize (widthOrOptions, height, options) { + if (isResizeExpected(this.options)) { + this.options.debuglog('ignoring previous resize options'); + } + if (is.defined(widthOrOptions)) { + if (is.object(widthOrOptions) && !is.defined(options)) { + options = widthOrOptions; + } else if (is.integer(widthOrOptions) && widthOrOptions > 0) { + this.options.width = widthOrOptions; + } else { + throw is.invalidParameterError('width', 'positive integer', widthOrOptions); + } + } else { + this.options.width = -1; + } + if (is.defined(height)) { + if (is.integer(height) && height > 0) { + this.options.height = height; + } else { + throw is.invalidParameterError('height', 'positive integer', height); + } + } else { + this.options.height = -1; + } + if (is.object(options)) { + // Width + if (is.defined(options.width)) { + if (is.integer(options.width) && options.width > 0) { + this.options.width = options.width; + } else { + throw is.invalidParameterError('width', 'positive integer', options.width); + } + } + // Height + if (is.defined(options.height)) { + if (is.integer(options.height) && options.height > 0) { + this.options.height = options.height; + } else { + throw is.invalidParameterError('height', 'positive integer', options.height); + } + } + // Fit + if (is.defined(options.fit)) { + const canvas = mapFitToCanvas[options.fit]; + if (is.string(canvas)) { + this.options.canvas = canvas; + } else { + throw is.invalidParameterError('fit', 'valid fit', options.fit); + } + } + // Position + if (is.defined(options.position)) { + const pos = is.integer(options.position) + ? options.position + : strategy[options.position] || position[options.position] || gravity[options.position]; + if (is.integer(pos) && (is.inRange(pos, 0, 8) || is.inRange(pos, 16, 17))) { + this.options.position = pos; + } else { + throw is.invalidParameterError('position', 'valid position/gravity/strategy', options.position); + } + } + // Background + this._setBackgroundColourOption('resizeBackground', options.background); + // Kernel + if (is.defined(options.kernel)) { + if (is.string(kernel[options.kernel])) { + this.options.kernel = kernel[options.kernel]; + } else { + throw is.invalidParameterError('kernel', 'valid kernel name', options.kernel); + } + } + // Without enlargement + if (is.defined(options.withoutEnlargement)) { + this._setBooleanOption('withoutEnlargement', options.withoutEnlargement); + } + // Without reduction + if (is.defined(options.withoutReduction)) { + this._setBooleanOption('withoutReduction', options.withoutReduction); + } + // Shrink on load + if (is.defined(options.fastShrinkOnLoad)) { + this._setBooleanOption('fastShrinkOnLoad', options.fastShrinkOnLoad); + } + } + if (isRotationExpected(this.options) && isResizeExpected(this.options)) { + this.options.rotateBeforePreExtract = true; + } + return this; +} + +/** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * + * @example + * // Resize to 140 pixels wide, then add 10 transparent pixels + * // to the top, left and right edges and 20 to the bottom edge + * sharp(input) + * .resize(140) + * .extend({ + * top: 10, + * bottom: 20, + * left: 10, + * right: 10, + * background: { r: 0, g: 0, b: 0, alpha: 0 } + * }) + * ... + * +* @example + * // Add a row of 10 red pixels to the bottom + * sharp(input) + * .extend({ + * bottom: 10, + * background: 'red' + * }) + * ... + * + * @example + * // Extrude image by 8 pixels to the right, mirroring existing right hand edge + * sharp(input) + * .extend({ + * right: 8, + * background: 'mirror' + * }) + * ... + * + * @param {(number|Object)} extend - single pixel count to add to all edges or an Object with per-edge counts + * @param {number} [extend.top=0] + * @param {number} [extend.left=0] + * @param {number} [extend.bottom=0] + * @param {number} [extend.right=0] + * @param {String} [extend.extendWith='background'] - populate new pixels using this method, one of: background, copy, repeat, mirror. + * @param {String|Object} [extend.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @returns {Sharp} + * @throws {Error} Invalid parameters +*/ +function extend (extend) { + if (is.integer(extend) && extend > 0) { + this.options.extendTop = extend; + this.options.extendBottom = extend; + this.options.extendLeft = extend; + this.options.extendRight = extend; + } else if (is.object(extend)) { + if (is.defined(extend.top)) { + if (is.integer(extend.top) && extend.top >= 0) { + this.options.extendTop = extend.top; + } else { + throw is.invalidParameterError('top', 'positive integer', extend.top); + } + } + if (is.defined(extend.bottom)) { + if (is.integer(extend.bottom) && extend.bottom >= 0) { + this.options.extendBottom = extend.bottom; + } else { + throw is.invalidParameterError('bottom', 'positive integer', extend.bottom); + } + } + if (is.defined(extend.left)) { + if (is.integer(extend.left) && extend.left >= 0) { + this.options.extendLeft = extend.left; + } else { + throw is.invalidParameterError('left', 'positive integer', extend.left); + } + } + if (is.defined(extend.right)) { + if (is.integer(extend.right) && extend.right >= 0) { + this.options.extendRight = extend.right; + } else { + throw is.invalidParameterError('right', 'positive integer', extend.right); + } + } + this._setBackgroundColourOption('extendBackground', extend.background); + if (is.defined(extend.extendWith)) { + if (is.string(extendWith[extend.extendWith])) { + this.options.extendWith = extendWith[extend.extendWith]; + } else { + throw is.invalidParameterError('extendWith', 'one of: background, copy, repeat, mirror', extend.extendWith); + } + } + } else { + throw is.invalidParameterError('extend', 'integer or object', extend); + } + return this; +} + +/** + * Extract/crop a region of the image. + * + * - Use `extract` before `resize` for pre-resize extraction. + * - Use `extract` after `resize` for post-resize extraction. + * - Use `extract` before and after for both. + * + * @example + * sharp(input) + * .extract({ left: left, top: top, width: width, height: height }) + * .toFile(output, function(err) { + * // Extract a region of the input image, saving in the same format. + * }); + * @example + * sharp(input) + * .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre }) + * .resize(width, height) + * .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost }) + * .toFile(output, function(err) { + * // Extract a region, resize, then extract from the resized image + * }); + * + * @param {Object} options - describes the region to extract using integral pixel values + * @param {number} options.left - zero-indexed offset from left edge + * @param {number} options.top - zero-indexed offset from top edge + * @param {number} options.width - width of region to extract + * @param {number} options.height - height of region to extract + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function extract (options) { + const suffix = isResizeExpected(this.options) || this.options.widthPre !== -1 ? 'Post' : 'Pre'; + if (this.options[`width${suffix}`] !== -1) { + this.options.debuglog('ignoring previous extract options'); + } + ['left', 'top', 'width', 'height'].forEach(function (name) { + const value = options[name]; + if (is.integer(value) && value >= 0) { + this.options[name + (name === 'left' || name === 'top' ? 'Offset' : '') + suffix] = value; + } else { + throw is.invalidParameterError(name, 'integer', value); + } + }, this); + // Ensure existing rotation occurs before pre-resize extraction + if (isRotationExpected(this.options) && !isResizeExpected(this.options)) { + if (this.options.widthPre === -1 || this.options.widthPost === -1) { + this.options.rotateBeforePreExtract = true; + } + } + return this; +} + +/** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * + * If the result of this operation would trim an image to nothing then no change is made. + * + * The `info` response Object, obtained from callback of `.toFile()` or `.toBuffer()`, + * will contain `trimOffsetLeft` and `trimOffsetTop` properties. + * + * @example + * // Trim pixels with a colour similar to that of the top-left pixel. + * sharp(input) + * .trim() + * .toFile(output, function(err, info) { + * ... + * }); + * @example + * // Trim pixels with the exact same colour as that of the top-left pixel. + * sharp(input) + * .trim(0) + * .toFile(output, function(err, info) { + * ... + * }); + * @example + * // Trim only pixels with a similar colour to red. + * sharp(input) + * .trim("#FF0000") + * .toFile(output, function(err, info) { + * ... + * }); + * @example + * // Trim all "yellow-ish" pixels, being more lenient with the higher threshold. + * sharp(input) + * .trim({ + * background: "yellow", + * threshold: 42, + * }) + * .toFile(output, function(err, info) { + * ... + * }); + * + * @param {string|number|Object} trim - the specific background colour to trim, the threshold for doing so or an Object with both. + * @param {string|Object} [trim.background='top-left pixel'] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to that of the top-left pixel. + * @param {number} [trim.threshold=10] - the allowed difference from the above colour, a positive number. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function trim (trim) { + if (!is.defined(trim)) { + this.options.trimThreshold = 10; + } else if (is.string(trim)) { + this._setBackgroundColourOption('trimBackground', trim); + this.options.trimThreshold = 10; + } else if (is.number(trim)) { + if (trim >= 0) { + this.options.trimThreshold = trim; + } else { + throw is.invalidParameterError('threshold', 'positive number', trim); + } + } else if (is.object(trim)) { + this._setBackgroundColourOption('trimBackground', trim.background); + if (!is.defined(trim.threshold)) { + this.options.trimThreshold = 10; + } else if (is.number(trim.threshold) && trim.threshold >= 0) { + this.options.trimThreshold = trim.threshold; + } else { + throw is.invalidParameterError('threshold', 'positive number', trim); + } + } else { + throw is.invalidParameterError('trim', 'string, number or object', trim); + } + if (isRotationExpected(this.options)) { + this.options.rotateBeforePreExtract = true; + } + return this; +} + +/** + * Decorate the Sharp prototype with resize-related functions. + * @private + */ +module.exports = function (Sharp) { + Object.assign(Sharp.prototype, { + resize, + extend, + extract, + trim + }); + // Class attributes + Sharp.gravity = gravity; + Sharp.strategy = strategy; + Sharp.kernel = kernel; + Sharp.fit = fit; + Sharp.position = position; +}; diff --git a/.output/server/node_modules/sharp/lib/sharp.js b/.output/server/node_modules/sharp/lib/sharp.js new file mode 100644 index 00000000..a41e83d0 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/sharp.js @@ -0,0 +1,38 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const platformAndArch = require('./platform')(); + +/* istanbul ignore next */ +try { + module.exports = require(`../build/Release/sharp-${platformAndArch}.node`); +} catch (err) { + // Bail early if bindings aren't available + const help = ['', 'Something went wrong installing the "sharp" module', '', err.message, '', 'Possible solutions:']; + if (/dylib/.test(err.message) && /Incompatible library version/.test(err.message)) { + help.push('- Update Homebrew: "brew update && brew upgrade vips"'); + } else { + const [platform, arch] = platformAndArch.split('-'); + if (platform === 'linux' && /Module did not self-register/.test(err.message)) { + help.push('- Using worker threads? See https://sharp.pixelplumbing.com/install#worker-threads'); + } + help.push( + '- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"', + `- Install for the current ${platformAndArch} runtime: "npm install --platform=${platform} --arch=${arch} sharp"` + ); + } + help.push( + '- Consult the installation documentation: https://sharp.pixelplumbing.com/install' + ); + // Check loaded + if (process.platform === 'win32' || /symbol/.test(err.message)) { + const loadedModule = Object.keys(require.cache).find((i) => /[\\/]build[\\/]Release[\\/]sharp(.*)\.node$/.test(i)); + if (loadedModule) { + const [, loadedPackage] = loadedModule.match(/node_modules[\\/]([^\\/]+)[\\/]/); + help.push(`- Ensure the version of sharp aligns with the ${loadedPackage} package: "npm ls sharp"`); + } + } + throw new Error(help.join('\n')); +} diff --git a/.output/server/node_modules/sharp/lib/utility.js b/.output/server/node_modules/sharp/lib/utility.js new file mode 100644 index 00000000..8b1a42e5 --- /dev/null +++ b/.output/server/node_modules/sharp/lib/utility.js @@ -0,0 +1,287 @@ +// Copyright 2013 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const events = require('events'); +const detectLibc = require('detect-libc'); + +const is = require('./is'); +const platformAndArch = require('./platform')(); +const sharp = require('./sharp'); + +/** + * An Object containing nested boolean values representing the available input and output formats/methods. + * @member + * @example + * console.log(sharp.format); + * @returns {Object} + */ +const format = sharp.format(); +format.heif.output.alias = ['avif', 'heic']; +format.jpeg.output.alias = ['jpe', 'jpg']; +format.tiff.output.alias = ['tif']; +format.jp2k.output.alias = ['j2c', 'j2k', 'jp2', 'jpx']; + +/** + * An Object containing the available interpolators and their proper values + * @readonly + * @enum {string} + */ +const interpolators = { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest', + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear', + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic', + /** [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. */ + locallyBoundedBicubic: 'lbb', + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo', + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs' +}; + +/** + * An Object containing the version numbers of sharp, libvips and its dependencies. + * @member + * @example + * console.log(sharp.versions); + */ +let versions = { + vips: sharp.libvipsVersion() +}; +try { + versions = require(`../vendor/${versions.vips}/${platformAndArch}/versions.json`); +} catch (_err) { /* ignore */ } +versions.sharp = require('../package.json').version; + +/** + * An Object containing the platform and architecture + * of the current and installed vendored binaries. + * @member + * @example + * console.log(sharp.vendor); + */ +const vendor = { + current: platformAndArch, + installed: [] +}; +try { + vendor.installed = fs.readdirSync(path.join(__dirname, `../vendor/${versions.vips}`)); +} catch (_err) { /* ignore */ } + +/** + * Gets or, when options are provided, sets the limits of _libvips'_ operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, + * useful for determining how much working memory is required for a particular task. + * + * @example + * const stats = sharp.cache(); + * @example + * sharp.cache( { items: 200 } ); + * sharp.cache( { files: 0 } ); + * sharp.cache(false); + * + * @param {Object|boolean} [options=true] - Object with the following attributes, or boolean where true uses default cache settings and false removes all caching + * @param {number} [options.memory=50] - is the maximum memory in MB to use for this cache + * @param {number} [options.files=20] - is the maximum number of files to hold open + * @param {number} [options.items=100] - is the maximum number of operations to cache + * @returns {Object} + */ +function cache (options) { + if (is.bool(options)) { + if (options) { + // Default cache settings of 50MB, 20 files, 100 items + return sharp.cache(50, 20, 100); + } else { + return sharp.cache(0, 0, 0); + } + } else if (is.object(options)) { + return sharp.cache(options.memory, options.files, options.items); + } else { + return sharp.cache(); + } +} +cache(true); + +/** + * Gets or, when a concurrency is provided, sets + * the maximum number of threads _libvips_ should use to process _each image_. + * These are from a thread pool managed by glib, + * which helps avoid the overhead of creating new threads. + * + * This method always returns the current concurrency. + * + * The default value is the number of CPU cores, + * except when using glibc-based Linux without jemalloc, + * where the default is `1` to help reduce memory fragmentation. + * + * A value of `0` will reset this to the number of CPU cores. + * + * Some image format libraries spawn additional threads, + * e.g. libaom manages its own 4 threads when encoding AVIF images, + * and these are independent of the value set here. + * + * The maximum number of images that sharp can process in parallel + * is controlled by libuv's `UV_THREADPOOL_SIZE` environment variable, + * which defaults to 4. + * + * https://nodejs.org/api/cli.html#uv_threadpool_sizesize + * + * For example, by default, a machine with 8 CPU cores will process + * 4 images in parallel and use up to 8 threads per image, + * so there will be up to 32 concurrent threads. + * + * @example + * const threads = sharp.concurrency(); // 4 + * sharp.concurrency(2); // 2 + * sharp.concurrency(0); // 4 + * + * @param {number} [concurrency] + * @returns {number} concurrency + */ +function concurrency (concurrency) { + return sharp.concurrency(is.integer(concurrency) ? concurrency : null); +} +/* istanbul ignore next */ +if (detectLibc.familySync() === detectLibc.GLIBC && !sharp._isUsingJemalloc()) { + // Reduce default concurrency to 1 when using glibc memory allocator + sharp.concurrency(1); +} + +/** + * An EventEmitter that emits a `change` event when a task is either: + * - queued, waiting for _libuv_ to provide a worker thread + * - complete + * @member + * @example + * sharp.queue.on('change', function(queueLength) { + * console.log('Queue contains ' + queueLength + ' task(s)'); + * }); + */ +const queue = new events.EventEmitter(); + +/** + * Provides access to internal task counters. + * - queue is the number of tasks this module has queued waiting for _libuv_ to provide a worker thread from its pool. + * - process is the number of resize tasks currently being processed. + * + * @example + * const counters = sharp.counters(); // { queue: 2, process: 4 } + * + * @returns {Object} + */ +function counters () { + return sharp.counters(); +} + +/** + * Get and set use of SIMD vector unit instructions. + * Requires libvips to have been compiled with liborc support. + * + * Improves the performance of `resize`, `blur` and `sharpen` operations + * by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * + * @example + * const simd = sharp.simd(); + * // simd is `true` if the runtime use of liborc is currently enabled + * @example + * const simd = sharp.simd(false); + * // prevent libvips from using liborc at runtime + * + * @param {boolean} [simd=true] + * @returns {boolean} + */ +function simd (simd) { + return sharp.simd(is.bool(simd) ? simd : null); +} +simd(true); + +/** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example <caption>Block all TIFF input.</caption> + * sharp.block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array<string>} options.operation - List of libvips low-level operation names to block. + */ +function block (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, true); + } else { + throw is.invalidParameterError('operation', 'Array<string>', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example <caption>Block all input except WebP from the filesystem.</caption> + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example <caption>Block all input except JPEG and PNG from a Buffer or Stream.</caption> + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array<string>} options.operation - List of libvips low-level operation names to unblock. + */ +function unblock (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, false); + } else { + throw is.invalidParameterError('operation', 'Array<string>', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Decorate the Sharp class with utility-related functions. + * @private + */ +module.exports = function (Sharp) { + Sharp.cache = cache; + Sharp.concurrency = concurrency; + Sharp.counters = counters; + Sharp.simd = simd; + Sharp.format = format; + Sharp.interpolators = interpolators; + Sharp.versions = versions; + Sharp.vendor = vendor; + Sharp.queue = queue; + Sharp.block = block; + Sharp.unblock = unblock; +}; diff --git a/.output/server/node_modules/sharp/package.json b/.output/server/node_modules/sharp/package.json new file mode 100644 index 00000000..5761b993 --- /dev/null +++ b/.output/server/node_modules/sharp/package.json @@ -0,0 +1,204 @@ +{ + "name": "sharp", + "description": "High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images", + "version": "0.32.6", + "author": "Lovell Fuller <npm@lovell.info>", + "homepage": "https://github.com/lovell/sharp", + "contributors": [ + "Pierre Inglebert <pierre.inglebert@gmail.com>", + "Jonathan Ong <jonathanrichardong@gmail.com>", + "Chanon Sajjamanochai <chanon.s@gmail.com>", + "Juliano Julio <julianojulio@gmail.com>", + "Daniel Gasienica <daniel@gasienica.ch>", + "Julian Walker <julian@fiftythree.com>", + "Amit Pitaru <pitaru.amit@gmail.com>", + "Brandon Aaron <hello.brandon@aaron.sh>", + "Andreas Lind <andreas@one.com>", + "Maurus Cuelenaere <mcuelenaere@gmail.com>", + "Linus Unnebäck <linus@folkdatorn.se>", + "Victor Mateevitsi <mvictoras@gmail.com>", + "Alaric Holloway <alaric.holloway@gmail.com>", + "Bernhard K. Weisshuhn <bkw@codingforce.com>", + "Chris Riley <criley@primedia.com>", + "David Carley <dacarley@gmail.com>", + "John Tobin <john@limelightmobileinc.com>", + "Kenton Gray <kentongray@gmail.com>", + "Felix Bünemann <Felix.Buenemann@gmail.com>", + "Samy Al Zahrani <samyalzahrany@gmail.com>", + "Chintan Thakkar <lemnisk8@gmail.com>", + "F. Orlando Galashan <frulo@gmx.de>", + "Kleis Auke Wolthuizen <info@kleisauke.nl>", + "Matt Hirsch <mhirsch@media.mit.edu>", + "Matthias Thoemmes <thoemmes@gmail.com>", + "Patrick Paskaris <patrick@paskaris.gr>", + "Jérémy Lal <kapouer@melix.org>", + "Rahul Nanwani <r.nanwani@gmail.com>", + "Alice Monday <alice0meta@gmail.com>", + "Kristo Jorgenson <kristo.jorgenson@gmail.com>", + "YvesBos <yves_bos@outlook.com>", + "Guy Maliar <guy@tailorbrands.com>", + "Nicolas Coden <nicolas@ncoden.fr>", + "Matt Parrish <matt.r.parrish@gmail.com>", + "Marcel Bretschneider <marcel.bretschneider@gmail.com>", + "Matthew McEachen <matthew+github@mceachen.org>", + "Jarda Kotěšovec <jarda.kotesovec@gmail.com>", + "Kenric D'Souza <kenric.dsouza@gmail.com>", + "Oleh Aleinyk <oleg.aleynik@gmail.com>", + "Marcel Bretschneider <marcel.bretschneider@gmail.com>", + "Andrea Bianco <andrea.bianco@unibas.ch>", + "Rik Heywood <rik@rik.org>", + "Thomas Parisot <hi@oncletom.io>", + "Nathan Graves <nathanrgraves+github@gmail.com>", + "Tom Lokhorst <tom@lokhorst.eu>", + "Espen Hovlandsdal <espen@hovlandsdal.com>", + "Sylvain Dumont <sylvain.dumont35@gmail.com>", + "Alun Davies <alun.owain.davies@googlemail.com>", + "Aidan Hoolachan <ajhoolachan21@gmail.com>", + "Axel Eirola <axel.eirola@iki.fi>", + "Freezy <freezy@xbmc.org>", + "Daiz <taneli.vatanen@gmail.com>", + "Julian Aubourg <j@ubourg.net>", + "Keith Belovay <keith@picthrive.com>", + "Michael B. Klein <mbklein@gmail.com>", + "Jordan Prudhomme <jordan@raboland.fr>", + "Ilya Ovdin <iovdin@gmail.com>", + "Andargor <andargor@yahoo.com>", + "Paul Neave <paul.neave@gmail.com>", + "Brendan Kennedy <brenwken@gmail.com>", + "Brychan Bennett-Odlum <git@brychan.io>", + "Edward Silverton <e.silverton@gmail.com>", + "Roman Malieiev <aromaleev@gmail.com>", + "Tomas Szabo <tomas.szabo@deftomat.com>", + "Robert O'Rourke <robert@o-rourke.org>", + "Guillermo Alfonso Varela Chouciño <guillevch@gmail.com>", + "Christian Flintrup <chr@gigahost.dk>", + "Manan Jadhav <manan@motionden.com>", + "Leon Radley <leon@radley.se>", + "alza54 <alza54@thiocod.in>", + "Jacob Smith <jacob@frende.me>", + "Michael Nutt <michael@nutt.im>", + "Brad Parham <baparham@gmail.com>", + "Taneli Vatanen <taneli.vatanen@gmail.com>", + "Joris Dugué <zaruike10@gmail.com>", + "Chris Banks <christopher.bradley.banks@gmail.com>", + "Ompal Singh <ompal.hitm09@gmail.com>", + "Brodan <christopher.hranj@gmail.com", + "Ankur Parihar <ankur.github@gmail.com>", + "Brahim Ait elhaj <brahima@gmail.com>", + "Mart Jansink <m.jansink@gmail.com>", + "Lachlan Newman <lachnewman007@gmail.com>" + ], + "scripts": { + "install": "(node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)", + "clean": "rm -rf node_modules/ build/ vendor/ .nyc_output/ coverage/ test/fixtures/output.*", + "test": "npm run test-lint && npm run test-unit && npm run test-licensing && npm run test-types", + "test-lint": "semistandard && cpplint", + "test-unit": "nyc --reporter=lcov --reporter=text --check-coverage --branches=100 mocha", + "test-licensing": "license-checker --production --summary --onlyAllow=\"Apache-2.0;BSD;ISC;MIT\"", + "test-leak": "./test/leak/leak.sh", + "test-types": "tsd", + "docs-build": "node docs/build && node docs/search-index/build", + "docs-serve": "cd docs && npx serve", + "docs-publish": "cd docs && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "files": [ + "binding.gyp", + "install/**", + "lib/**", + "src/**" + ], + "repository": { + "type": "git", + "url": "git://github.com/lovell/sharp" + }, + "keywords": [ + "jpeg", + "png", + "webp", + "avif", + "tiff", + "gif", + "svg", + "jp2", + "dzi", + "image", + "resize", + "thumbnail", + "crop", + "embed", + "libvips", + "vips" + ], + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "devDependencies": { + "@types/node": "*", + "async": "^3.2.4", + "cc": "^3.0.1", + "exif-reader": "^1.2.0", + "extract-zip": "^2.0.1", + "icc": "^3.0.0", + "jsdoc-to-markdown": "^8.0.0", + "license-checker": "^25.0.1", + "mocha": "^10.2.0", + "mock-fs": "^5.2.0", + "nyc": "^15.1.0", + "prebuild": "^12.0.0", + "semistandard": "^16.0.1", + "tsd": "^0.29.0" + }, + "license": "Apache-2.0", + "config": { + "libvips": "8.14.5", + "integrity": { + "darwin-arm64v8": "sha512-1QZzICfCJd4wAO0P6qmYI5e5VFMt9iCE4QgefI8VMMbdSzjIXA9L/ARN6pkMQPZ3h20Y9RtJ2W1skgCsvCIccw==", + "darwin-x64": "sha512-sMIKMYXsdU9FlIfztj6Kt/SfHlhlDpP0Ups7ftVFqwjaszmYmpI9y/d/q3mLb4jrzuSiSUEislSWCwBnW7MPTw==", + "linux-arm64v8": "sha512-CD8owELzkDumaom+O3jJ8fKamILAQdj+//KK/VNcHK3sngUcFpdjx36C8okwbux9sml/T7GTB/gzpvReDrAejQ==", + "linux-armv6": "sha512-wk6IPHatDFVWKJy7lI1TJezHGHPQut1wF2bwx256KlZwXUQU3fcVcMpV1zxXjgLFewHq2+uhyMkoSGBPahWzlA==", + "linux-armv7": "sha512-HEZC9KYtkmBK5rUR2MqBhrVarnQVZ/TwLUeLkKq0XuoM2pc/eXI6N0Fh5NGEFwdXI2XE8g1ySf+OYS6DDi+xCQ==", + "linux-x64": "sha512-SlFWrITSW5XVUkaFPQOySAaSGXnhkGJCj8X2wGYYta9hk5piZldQyMp4zwy0z6UeRu1qKTKtZvmq28W3Gnh9xA==", + "linuxmusl-arm64v8": "sha512-ga9iX7WUva3sG/VsKkOD318InLlCfPIztvzCZKZ2/+izQXRbQi8VoXWMHgEN4KHACv45FTl7mJ/8CRqUzhS8wQ==", + "linuxmusl-x64": "sha512-yeaHnpfee1hrZLok2l4eFceHzlfq8gN3QOu0R4Mh8iMK5O5vAUu97bdtxeZZeJJvHw8tfh2/msGi0qysxKN8bw==", + "win32-arm64v8": "sha512-kR91hy9w1+GEXK56hLh51+hBCBo7T+ijM4Slkmvb/2PsYZySq5H7s61n99iDYl6kTJP2y9sW5Xcvm3uuXDaDgg==", + "win32-ia32": "sha512-HrnofEbzHNpHJ0vVnjsTj5yfgVdcqdWshXuwFO2zc8xlEjA83BvXZ0lVj9MxPxkxJ2ta+/UlLr+CFzc5bOceMw==", + "win32-x64": "sha512-BwKckinJZ0Fu/EcunqiLPwOLEBWp4xf8GV7nvmVuKKz5f6B+GxoA2k9aa2wueqv4r4RJVgV/aWXZWFKOIjre/Q==" + }, + "runtime": "napi", + "target": 7 + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "binary": { + "napi_versions": [ + 7 + ] + }, + "semistandard": { + "env": [ + "mocha" + ] + }, + "cc": { + "linelength": "120", + "filter": [ + "build/include" + ] + }, + "tsd": { + "directory": "test/types/" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/THIRD-PARTY-NOTICES.md b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/THIRD-PARTY-NOTICES.md new file mode 100644 index 00000000..eed1033b --- /dev/null +++ b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/THIRD-PARTY-NOTICES.md @@ -0,0 +1,43 @@ +# Third-party notices + +This software contains third-party libraries +used under the terms of the following licences: + +| Library | Used under the terms of | +|---------------|-----------------------------------------------------------------------------------------------------------| +| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | +| cairo | Mozilla Public License 2.0 | +| cgif | MIT Licence | +| expat | MIT Licence | +| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | +| freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) | +| fribidi | LGPLv3 | +| gdk-pixbuf | LGPLv3 | +| glib | LGPLv3 | +| harfbuzz | MIT Licence | +| lcms | MIT Licence | +| libarchive | BSD 2-Clause | +| libexif | LGPLv3 | +| libffi | MIT Licence | +| libheif | LGPLv3 | +| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | +| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | +| libnsgif | MIT Licence | +| libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) | +| librsvg | LGPLv3 | +| libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) | +| libtiff | [libtiff License](https://libtiff.gitlab.io/libtiff/misc.html) (BSD-like) | +| libvips | LGPLv3 | +| libwebp | New BSD License | +| libxml2 | MIT Licence | +| orc | [orc License](https://gitlab.freedesktop.org/gstreamer/orc/blob/master/COPYING) (BSD-like) | +| pango | LGPLv3 | +| pixman | MIT Licence | +| proxy-libintl | LGPLv3 | +| zlib-ng | [zlib Licence](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) | + +Use of libraries under the terms of the LGPLv3 is via the +"any later version" clause of the LGPLv2 or LGPLv2.1. + +Please report any errors or omissions via +https://github.com/lovell/sharp-libvips/issues/new diff --git a/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/lib/libvips-cpp.so.42 b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/lib/libvips-cpp.so.42 new file mode 100644 index 00000000..79a9ea76 Binary files /dev/null and b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/lib/libvips-cpp.so.42 differ diff --git a/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json new file mode 100644 index 00000000..f8bbb411 --- /dev/null +++ b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json @@ -0,0 +1 @@ +"linux-x64" \ No newline at end of file diff --git a/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/versions.json b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/versions.json new file mode 100644 index 00000000..15fd100c --- /dev/null +++ b/.output/server/node_modules/sharp/vendor/8.14.5/linux-x64/versions.json @@ -0,0 +1,31 @@ +{ + "aom": "3.6.1", + "archive": "3.7.2", + "cairo": "1.17.8", + "cgif": "0.3.2", + "exif": "0.6.24", + "expat": "2.5.0", + "ffi": "3.4.4", + "fontconfig": "2.14.2", + "freetype": "2.13.2", + "fribidi": "1.0.13", + "gdkpixbuf": "2.42.10", + "glib": "2.78.0", + "harfbuzz": "8.2.0", + "heif": "1.16.2", + "imagequant": "2.4.1", + "lcms": "2.15", + "mozjpeg": "4.1.4", + "orc": "0.4.34", + "pango": "1.51.0", + "pixman": "0.42.2", + "png": "1.6.40", + "proxy-libintl": "0.4", + "rsvg": "2.57.0", + "spng": "0.7.4", + "tiff": "4.6.0", + "vips": "8.14.5", + "webp": "1.3.2", + "xml": "2.11.5", + "zlib-ng": "2.1.3" +} \ No newline at end of file diff --git a/.output/server/node_modules/simple-swizzle/index.js b/.output/server/node_modules/simple-swizzle/index.js new file mode 100644 index 00000000..4d6b8ff7 --- /dev/null +++ b/.output/server/node_modules/simple-swizzle/index.js @@ -0,0 +1,29 @@ +'use strict'; + +var isArrayish = require('is-arrayish'); + +var concat = Array.prototype.concat; +var slice = Array.prototype.slice; + +var swizzle = module.exports = function swizzle(args) { + var results = []; + + for (var i = 0, len = args.length; i < len; i++) { + var arg = args[i]; + + if (isArrayish(arg)) { + // http://jsperf.com/javascript-array-concat-vs-push/98 + results = concat.call(results, slice.call(arg)); + } else { + results.push(arg); + } + } + + return results; +}; + +swizzle.wrap = function (fn) { + return function () { + return fn(swizzle(arguments)); + }; +}; diff --git a/.output/server/node_modules/simple-swizzle/package.json b/.output/server/node_modules/simple-swizzle/package.json new file mode 100644 index 00000000..550df0ee --- /dev/null +++ b/.output/server/node_modules/simple-swizzle/package.json @@ -0,0 +1,36 @@ +{ + "name": "simple-swizzle", + "description": "Simply swizzle your arguments", + "version": "0.2.2", + "author": "Qix (http://github.com/qix-)", + "keywords": [ + "argument", + "arguments", + "swizzle", + "swizzling", + "parameter", + "parameters", + "mixed", + "array" + ], + "license": "MIT", + "scripts": { + "pretest": "xo", + "test": "mocha --compilers coffee:coffee-script/register" + }, + "files": [ + "index.js" + ], + "repository": "qix-/node-simple-swizzle", + "devDependencies": { + "coffee-script": "^1.9.3", + "coveralls": "^2.11.2", + "istanbul": "^0.3.17", + "mocha": "^2.2.5", + "should": "^7.0.1", + "xo": "^0.7.1" + }, + "dependencies": { + "is-arrayish": "^0.3.1" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/source-map-js/lib/array-set.js b/.output/server/node_modules/source-map-js/lib/array-set.js new file mode 100644 index 00000000..fbd5c81c --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/array-set.js @@ -0,0 +1,121 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; diff --git a/.output/server/node_modules/source-map-js/lib/base64-vlq.js b/.output/server/node_modules/source-map-js/lib/base64-vlq.js new file mode 100644 index 00000000..612b4040 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/base64-vlq.js @@ -0,0 +1,140 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = require('./base64'); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; diff --git a/.output/server/node_modules/source-map-js/lib/base64.js b/.output/server/node_modules/source-map-js/lib/base64.js new file mode 100644 index 00000000..8aa86b30 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/base64.js @@ -0,0 +1,67 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; diff --git a/.output/server/node_modules/source-map-js/lib/binary-search.js b/.output/server/node_modules/source-map-js/lib/binary-search.js new file mode 100644 index 00000000..010ac941 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/binary-search.js @@ -0,0 +1,111 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; diff --git a/.output/server/node_modules/source-map-js/lib/mapping-list.js b/.output/server/node_modules/source-map-js/lib/mapping-list.js new file mode 100644 index 00000000..06d1274a --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/mapping-list.js @@ -0,0 +1,79 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.MappingList = MappingList; diff --git a/.output/server/node_modules/source-map-js/lib/quick-sort.js b/.output/server/node_modules/source-map-js/lib/quick-sort.js new file mode 100644 index 00000000..23f9eda5 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/quick-sort.js @@ -0,0 +1,132 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +function SortTemplate(comparator) { + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot, false) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + + return doQuickSort; +} + +function cloneSort(comparator) { + let template = SortTemplate.toString(); + let templateFn = new Function(`return ${template}`)(); + return templateFn(comparator); +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + +let sortCache = new WeakMap(); +exports.quickSort = function (ary, comparator, start = 0) { + let doQuickSort = sortCache.get(comparator); + if (doQuickSort === void 0) { + doQuickSort = cloneSort(comparator); + sortCache.set(comparator, doQuickSort); + } + doQuickSort(ary, comparator, start, ary.length - 1); +}; diff --git a/.output/server/node_modules/source-map-js/lib/source-map-consumer.js b/.output/server/node_modules/source-map-js/lib/source-map-consumer.js new file mode 100644 index 00000000..ee661146 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/source-map-consumer.js @@ -0,0 +1,1188 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var binarySearch = require('./binary-search'); +var ArraySet = require('./array-set').ArraySet; +var base64VLQ = require('./base64-vlq'); +var quickSort = require('./quick-sort').quickSort; + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + var boundCallback = aCallback.bind(context); + var names = this._names; + var sources = this._sources; + var sourceMapURL = this._sourceMapURL; + + for (var i = 0, n = mappings.length; i < n; i++) { + var mapping = mappings[i]; + var source = mapping.source === null ? null : sources.at(mapping.source); + if(source !== null) { + source = util.computeSourceURL(sourceRoot, source, sourceMapURL); + } + boundCallback({ + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : names.at(mapping.name) + }); + } + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + +const compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine; +function sortGenerated(array, start) { + let l = array.length; + let n = array.length - start; + if (n <= 1) { + return; + } else if (n == 2) { + let a = array[start]; + let b = array[start + 1]; + if (compareGenerated(a, b) > 0) { + array[start] = b; + array[start + 1] = a; + } + } else if (n < 20) { + for (let i = start; i < l; i++) { + for (let j = i; j > start; j--) { + let a = array[j - 1]; + let b = array[j]; + if (compareGenerated(a, b) <= 0) { + break; + } + array[j - 1] = b; + array[j] = a; + } + } + } else { + quickSort(array, compareGenerated, start); + } +} +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + let subarrayStart = 0; + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + + sortGenerated(generatedMappings, subarrayStart); + subarrayStart = generatedMappings.length; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + let currentSource = mapping.source; + while (originalMappings.length <= currentSource) { + originalMappings.push(null); + } + if (originalMappings[currentSource] === null) { + originalMappings[currentSource] = []; + } + originalMappings[currentSource].push(mapping); + } + } + } + + sortGenerated(generatedMappings, subarrayStart); + this.__generatedMappings = generatedMappings; + + for (var i = 0; i < originalMappings.length; i++) { + if (originalMappings[i] != null) { + quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource); + } + } + this.__originalMappings = [].concat(...originalMappings); + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content || content === '') { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + if(source !== null) { + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + } + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; diff --git a/.output/server/node_modules/source-map-js/lib/source-map-generator.js b/.output/server/node_modules/source-map-js/lib/source-map-generator.js new file mode 100644 index 00000000..bab04ff8 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/source-map-generator.js @@ -0,0 +1,444 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = require('./base64-vlq'); +var util = require('./util'); +var ArraySet = require('./array-set').ArraySet; +var MappingList = require('./mapping-list').MappingList; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, { + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + })); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + if (this._validateMapping(generated, original, source, name) === false) { + return; + } + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + var message = 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message); + } + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + var message = 'Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + }); + + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message) + } + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; diff --git a/.output/server/node_modules/source-map-js/lib/source-node.js b/.output/server/node_modules/source-map-js/lib/source-node.js new file mode 100644 index 00000000..8bcdbe38 --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/source-node.js @@ -0,0 +1,413 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; +var util = require('./util'); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; diff --git a/.output/server/node_modules/source-map-js/lib/util.js b/.output/server/node_modules/source-map-js/lib/util.js new file mode 100644 index 00000000..430e2d0f --- /dev/null +++ b/.output/server/node_modules/source-map-js/lib/util.js @@ -0,0 +1,594 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +var MAX_CACHED_INPUTS = 32; + +/** + * Takes some function `f(input) -> result` and returns a memoized version of + * `f`. + * + * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The + * memoization is a dumb-simple, linear least-recently-used cache. + */ +function lruMemoize(f) { + var cache = []; + + return function(input) { + for (var i = 0; i < cache.length; i++) { + if (cache[i].input === input) { + var temp = cache[0]; + cache[0] = cache[i]; + cache[i] = temp; + return cache[0].result; + } + } + + var result = f(input); + + cache.unshift({ + input, + result, + }); + + if (cache.length > MAX_CACHED_INPUTS) { + cache.pop(); + } + + return result; + }; +} + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '<dir>/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +var normalize = lruMemoize(function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + // Split the path into parts between `/` characters. This is much faster than + // using `.split(/\/+/g)`. + var parts = []; + var start = 0; + var i = 0; + while (true) { + start = i; + i = path.indexOf("/", start); + if (i === -1) { + parts.push(path.slice(start)); + break; + } else { + parts.push(path.slice(start, i)); + while (i < path.length && path[i] === "/") { + i++; + } + } + } + + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +}); +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +function compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) { + var cmp + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; diff --git a/.output/server/node_modules/source-map-js/package.json b/.output/server/node_modules/source-map-js/package.json new file mode 100644 index 00000000..94d8c0d8 --- /dev/null +++ b/.output/server/node_modules/source-map-js/package.json @@ -0,0 +1,71 @@ +{ + "name": "source-map-js", + "description": "Generates and consumes source maps", + "version": "1.2.1", + "homepage": "https://github.com/7rulnik/source-map-js", + "author": "Valentin 7rulnik Semirulnik <v7rulnik@gmail.com>", + "contributors": [ + "Nick Fitzgerald <nfitzgerald@mozilla.com>", + "Tobias Koppers <tobias.koppers@googlemail.com>", + "Duncan Beevers <duncan@dweebd.com>", + "Stephen Crane <scrane@mozilla.com>", + "Ryan Seddon <seddon.ryan@gmail.com>", + "Miles Elam <miles.elam@deem.com>", + "Mihai Bazon <mihai.bazon@gmail.com>", + "Michael Ficarra <github.public.email@michael.ficarra.me>", + "Todd Wolfson <todd@twolfson.com>", + "Alexander Solovyov <alexander@solovyov.net>", + "Felix Gnass <fgnass@gmail.com>", + "Conrad Irwin <conrad.irwin@gmail.com>", + "usrbincc <usrbincc@yahoo.com>", + "David Glasser <glasser@davidglasser.net>", + "Chase Douglas <chase@newrelic.com>", + "Evan Wallace <evan.exe@gmail.com>", + "Heather Arthur <fayearthur@gmail.com>", + "Hugh Kennedy <hughskennedy@gmail.com>", + "David Glasser <glasser@davidglasser.net>", + "Simon Lydell <simon.lydell@gmail.com>", + "Jmeas Smith <jellyes2@gmail.com>", + "Michael Z Goddard <mzgoddard@gmail.com>", + "azu <azu@users.noreply.github.com>", + "John Gozde <john@gozde.ca>", + "Adam Kirkton <akirkton@truefitinnovation.com>", + "Chris Montgomery <christopher.montgomery@dowjones.com>", + "J. Ryan Stinnett <jryans@gmail.com>", + "Jack Herrington <jherrington@walmartlabs.com>", + "Chris Truter <jeffpalentine@gmail.com>", + "Daniel Espeset <daniel@danielespeset.com>", + "Jamie Wong <jamie.lf.wong@gmail.com>", + "Eddy Bruël <ejpbruel@mozilla.com>", + "Hawken Rives <hawkrives@gmail.com>", + "Gilad Peleg <giladp007@gmail.com>", + "djchie <djchie.dev@gmail.com>", + "Gary Ye <garysye@gmail.com>", + "Nicolas Lalevée <nicolas.lalevee@hibnet.org>" + ], + "repository": "7rulnik/source-map-js", + "main": "./source-map.js", + "files": [ + "source-map.js", + "source-map.d.ts", + "lib/" + ], + "engines": { + "node": ">=0.10.0" + }, + "license": "BSD-3-Clause", + "scripts": { + "test": "npm run build && node test/run-tests.js", + "build": "webpack --color", + "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md" + }, + "devDependencies": { + "clean-publish": "^3.1.0", + "doctoc": "^0.15.0", + "webpack": "^1.12.0" + }, + "clean-publish": { + "cleanDocs": true + }, + "typings": "source-map.d.ts" +} \ No newline at end of file diff --git a/.output/server/node_modules/source-map-js/source-map.js b/.output/server/node_modules/source-map-js/source-map.js new file mode 100644 index 00000000..bc88fe82 --- /dev/null +++ b/.output/server/node_modules/source-map-js/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; diff --git a/.output/server/node_modules/strnum/package.json b/.output/server/node_modules/strnum/package.json new file mode 100644 index 00000000..c8ff95ff --- /dev/null +++ b/.output/server/node_modules/strnum/package.json @@ -0,0 +1,31 @@ +{ + "name": "strnum", + "version": "2.1.1", + "description": "Parse String to Number based on configuration", + "type": "module", + "main": "strnum.js", + "scripts": { + "test": "jasmine strnum.test.js" + }, + "keywords": [ + "string", + "number", + "parse", + "convert" + ], + "repository": { + "type": "git", + "url": "https://github.com/NaturalIntelligence/strnum" + }, + "author": "Amit Gupta (https://amitkumargupta.work/)", + "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "devDependencies": { + "jasmine": "^5.6.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/strnum/strnum.js b/.output/server/node_modules/strnum/strnum.js new file mode 100644 index 00000000..330da88a --- /dev/null +++ b/.output/server/node_modules/strnum/strnum.js @@ -0,0 +1,129 @@ +const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/; +const numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/; +// const octRegex = /^0x[a-z0-9]+/; +// const binRegex = /0x[a-z0-9]+/; + + +const consider = { + hex : true, + // oct: false, + leadingZeros: true, + decimalPoint: "\.", + eNotation: true, + //skipLike: /regex/ +}; + +export default function toNumber(str, options = {}){ + options = Object.assign({}, consider, options ); + if(!str || typeof str !== "string" ) return str; + + let trimmedStr = str.trim(); + + if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str; + else if(str==="0") return 0; + else if (options.hex && hexRegex.test(trimmedStr)) { + return parse_int(trimmedStr, 16); + // }else if (options.oct && octRegex.test(str)) { + // return Number.parseInt(val, 8); + }else if (trimmedStr.search(/.+[eE].+/)!== -1) { //eNotation + return resolveEnotation(str,trimmedStr,options); + // }else if (options.parseBin && binRegex.test(str)) { + // return Number.parseInt(val, 2); + }else{ + //separate negative sign, leading zeros, and rest number + const match = numRegex.exec(trimmedStr); + // +00.123 => [ , '+', '00', '.123', .. + if(match){ + const sign = match[1] || ""; + const leadingZeros = match[2]; + let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros + const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000. + str[leadingZeros.length+1] === "." + : str[leadingZeros.length] === "."; + + //trim ending zeros for floating number + if(!options.leadingZeros //leading zeros are not allowed + && (leadingZeros.length > 1 + || (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))){ + // 00, 00.3, +03.24, 03, 03.24 + return str; + } + else{//no leading zeros or leading zeros are allowed + const num = Number(trimmedStr); + const parsedStr = String(num); + + if( num === 0) return num; + if(parsedStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation + if(options.eNotation) return num; + else return str; + }else if(trimmedStr.indexOf(".") !== -1){ //floating number + if(parsedStr === "0") return num; //0.0 + else if(parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000 + else if( parsedStr === `${sign}${numTrimmedByZeros}`) return num; + else return str; + } + + let n = leadingZeros? numTrimmedByZeros : trimmedStr; + if(leadingZeros){ + // -009 => -9 + return (n === parsedStr) || (sign+n === parsedStr) ? num : str + }else { + // +9 + return (n === parsedStr) || (n === sign+parsedStr) ? num : str + } + } + }else{ //non-numeric string + return str; + } + } +} + +const eNotationRegx = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/; +function resolveEnotation(str,trimmedStr,options){ + if(!options.eNotation) return str; + const notation = trimmedStr.match(eNotationRegx); + if(notation){ + let sign = notation[1] || ""; + const eChar = notation[3].indexOf("e") === -1 ? "E" : "e"; + const leadingZeros = notation[2]; + const eAdjacentToLeadingZeros = sign ? // 0E. + str[leadingZeros.length+1] === eChar + : str[leadingZeros.length] === eChar; + + if(leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str; + else if(leadingZeros.length === 1 + && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)){ + return Number(trimmedStr); + }else if(options.leadingZeros && !eAdjacentToLeadingZeros){ //accept with leading zeros + //remove leading 0s + trimmedStr = (notation[1] || "") + notation[3]; + return Number(trimmedStr); + }else return str; + }else{ + return str; + } +} + +/** + * + * @param {string} numStr without leading zeros + * @returns + */ +function trimZeros(numStr){ + if(numStr && numStr.indexOf(".") !== -1){//float + numStr = numStr.replace(/0+$/, ""); //remove ending zeros + if(numStr === ".") numStr = "0"; + else if(numStr[0] === ".") numStr = "0"+numStr; + else if(numStr[numStr.length-1] === ".") numStr = numStr.substring(0,numStr.length-1); + return numStr; + } + return numStr; +} + +function parse_int(numStr, base){ + //polyfill + if(parseInt) return parseInt(numStr, base); + else if(Number.parseInt) return Number.parseInt(numStr, base); + else if(window && window.parseInt) return window.parseInt(numStr, base); + else throw new Error("parseInt, Number.parseInt, window.parseInt are not supported") +} \ No newline at end of file diff --git a/.output/server/node_modules/style-value-types/dist/es/color/hex.mjs b/.output/server/node_modules/style-value-types/dist/es/color/hex.mjs new file mode 100644 index 00000000..7e2efe53 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/color/hex.mjs @@ -0,0 +1,38 @@ +import { rgba } from './rgba.mjs'; +import { isColorString } from './utils.mjs'; + +function parseHex(v) { + let r = ''; + let g = ''; + let b = ''; + let a = ''; + if (v.length > 5) { + r = v.substr(1, 2); + g = v.substr(3, 2); + b = v.substr(5, 2); + a = v.substr(7, 2); + } + else { + r = v.substr(1, 1); + g = v.substr(2, 1); + b = v.substr(3, 1); + a = v.substr(4, 1); + r += r; + g += g; + b += b; + a += a; + } + return { + red: parseInt(r, 16), + green: parseInt(g, 16), + blue: parseInt(b, 16), + alpha: a ? parseInt(a, 16) / 255 : 1, + }; +} +const hex = { + test: isColorString('#'), + parse: parseHex, + transform: rgba.transform, +}; + +export { hex }; diff --git a/.output/server/node_modules/style-value-types/dist/es/color/hsla.mjs b/.output/server/node_modules/style-value-types/dist/es/color/hsla.mjs new file mode 100644 index 00000000..5db6f208 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/color/hsla.mjs @@ -0,0 +1,22 @@ +import { alpha } from '../numbers/index.mjs'; +import { percent } from '../numbers/units.mjs'; +import { sanitize } from '../utils.mjs'; +import { isColorString, splitColor } from './utils.mjs'; + +const hsla = { + test: isColorString('hsl', 'hue'), + parse: splitColor('hue', 'saturation', 'lightness'), + transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => { + return ('hsla(' + + Math.round(hue) + + ', ' + + percent.transform(sanitize(saturation)) + + ', ' + + percent.transform(sanitize(lightness)) + + ', ' + + sanitize(alpha.transform(alpha$1)) + + ')'); + }, +}; + +export { hsla }; diff --git a/.output/server/node_modules/style-value-types/dist/es/color/index.mjs b/.output/server/node_modules/style-value-types/dist/es/color/index.mjs new file mode 100644 index 00000000..abc5c2bc --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/color/index.mjs @@ -0,0 +1,28 @@ +import { isString } from '../utils.mjs'; +import { hex } from './hex.mjs'; +import { hsla } from './hsla.mjs'; +import { rgba } from './rgba.mjs'; + +const color = { + test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v), + parse: (v) => { + if (rgba.test(v)) { + return rgba.parse(v); + } + else if (hsla.test(v)) { + return hsla.parse(v); + } + else { + return hex.parse(v); + } + }, + transform: (v) => { + return isString(v) + ? v + : v.hasOwnProperty('red') + ? rgba.transform(v) + : hsla.transform(v); + }, +}; + +export { color }; diff --git a/.output/server/node_modules/style-value-types/dist/es/color/rgba.mjs b/.output/server/node_modules/style-value-types/dist/es/color/rgba.mjs new file mode 100644 index 00000000..30e553e1 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/color/rgba.mjs @@ -0,0 +1,21 @@ +import { number, alpha } from '../numbers/index.mjs'; +import { sanitize, clamp } from '../utils.mjs'; +import { isColorString, splitColor } from './utils.mjs'; + +const clampRgbUnit = clamp(0, 255); +const rgbUnit = Object.assign(Object.assign({}, number), { transform: (v) => Math.round(clampRgbUnit(v)) }); +const rgba = { + test: isColorString('rgb', 'red'), + parse: splitColor('red', 'green', 'blue'), + transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => 'rgba(' + + rgbUnit.transform(red) + + ', ' + + rgbUnit.transform(green) + + ', ' + + rgbUnit.transform(blue) + + ', ' + + sanitize(alpha.transform(alpha$1)) + + ')', +}; + +export { rgbUnit, rgba }; diff --git a/.output/server/node_modules/style-value-types/dist/es/color/utils.mjs b/.output/server/node_modules/style-value-types/dist/es/color/utils.mjs new file mode 100644 index 00000000..21e182d2 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/color/utils.mjs @@ -0,0 +1,19 @@ +import { isString, singleColorRegex, floatRegex } from '../utils.mjs'; + +const isColorString = (type, testProp) => (v) => { + return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) || + (testProp && Object.prototype.hasOwnProperty.call(v, testProp))); +}; +const splitColor = (aName, bName, cName) => (v) => { + if (!isString(v)) + return v; + const [a, b, c, alpha] = v.match(floatRegex); + return { + [aName]: parseFloat(a), + [bName]: parseFloat(b), + [cName]: parseFloat(c), + alpha: alpha !== undefined ? parseFloat(alpha) : 1, + }; +}; + +export { isColorString, splitColor }; diff --git a/.output/server/node_modules/style-value-types/dist/es/complex/filter.mjs b/.output/server/node_modules/style-value-types/dist/es/complex/filter.mjs new file mode 100644 index 00000000..f83a5d6d --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/complex/filter.mjs @@ -0,0 +1,24 @@ +import { complex } from './index.mjs'; +import { floatRegex } from '../utils.mjs'; + +const maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']); +function applyDefaultFilter(v) { + let [name, value] = v.slice(0, -1).split('('); + if (name === 'drop-shadow') + return v; + const [number] = value.match(floatRegex) || []; + if (!number) + return v; + const unit = value.replace(number, ''); + let defaultValue = maxDefaults.has(name) ? 1 : 0; + if (number !== value) + defaultValue *= 100; + return name + '(' + defaultValue + unit + ')'; +} +const functionRegex = /([a-z-]*)\(.*?\)/g; +const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v) => { + const functions = v.match(functionRegex); + return functions ? functions.map(applyDefaultFilter).join(' ') : v; + } }); + +export { filter }; diff --git a/.output/server/node_modules/style-value-types/dist/es/complex/index.mjs b/.output/server/node_modules/style-value-types/dist/es/complex/index.mjs new file mode 100644 index 00000000..5d746a86 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/complex/index.mjs @@ -0,0 +1,53 @@ +import { color } from '../color/index.mjs'; +import { number } from '../numbers/index.mjs'; +import { isString, floatRegex, colorRegex, sanitize } from '../utils.mjs'; + +const colorToken = '${c}'; +const numberToken = '${n}'; +function test(v) { + var _a, _b, _c, _d; + return (isNaN(v) && + isString(v) && + ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0); +} +function analyse(v) { + if (typeof v === 'number') + v = `${v}`; + const values = []; + let numColors = 0; + const colors = v.match(colorRegex); + if (colors) { + numColors = colors.length; + v = v.replace(colorRegex, colorToken); + values.push(...colors.map(color.parse)); + } + const numbers = v.match(floatRegex); + if (numbers) { + v = v.replace(floatRegex, numberToken); + values.push(...numbers.map(number.parse)); + } + return { values, numColors, tokenised: v }; +} +function parse(v) { + return analyse(v).values; +} +function createTransformer(v) { + const { values, numColors, tokenised } = analyse(v); + const numValues = values.length; + return (v) => { + let output = tokenised; + for (let i = 0; i < numValues; i++) { + output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i])); + } + return output; + }; +} +const convertNumbersToZero = (v) => typeof v === 'number' ? 0 : v; +function getAnimatableNone(v) { + const parsed = parse(v); + const transformer = createTransformer(v); + return transformer(parsed.map(convertNumbersToZero)); +} +const complex = { test, parse, createTransformer, getAnimatableNone }; + +export { complex }; diff --git a/.output/server/node_modules/style-value-types/dist/es/index.mjs b/.output/server/node_modules/style-value-types/dist/es/index.mjs new file mode 100644 index 00000000..f61bf083 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/index.mjs @@ -0,0 +1,8 @@ +export { alpha, number, scale } from './numbers/index.mjs'; +export { degrees, percent, progressPercentage, px, vh, vw } from './numbers/units.mjs'; +export { hsla } from './color/hsla.mjs'; +export { rgbUnit, rgba } from './color/rgba.mjs'; +export { hex } from './color/hex.mjs'; +export { color } from './color/index.mjs'; +export { complex } from './complex/index.mjs'; +export { filter } from './complex/filter.mjs'; diff --git a/.output/server/node_modules/style-value-types/dist/es/numbers/index.mjs b/.output/server/node_modules/style-value-types/dist/es/numbers/index.mjs new file mode 100644 index 00000000..e6904018 --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/numbers/index.mjs @@ -0,0 +1,11 @@ +import { clamp } from '../utils.mjs'; + +const number = { + test: (v) => typeof v === 'number', + parse: parseFloat, + transform: (v) => v, +}; +const alpha = Object.assign(Object.assign({}, number), { transform: clamp(0, 1) }); +const scale = Object.assign(Object.assign({}, number), { default: 1 }); + +export { alpha, number, scale }; diff --git a/.output/server/node_modules/style-value-types/dist/es/numbers/units.mjs b/.output/server/node_modules/style-value-types/dist/es/numbers/units.mjs new file mode 100644 index 00000000..24b7015d --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/numbers/units.mjs @@ -0,0 +1,15 @@ +import { isString } from '../utils.mjs'; + +const createUnitType = (unit) => ({ + test: (v) => isString(v) && v.endsWith(unit) && v.split(' ').length === 1, + parse: parseFloat, + transform: (v) => `${v}${unit}`, +}); +const degrees = createUnitType('deg'); +const percent = createUnitType('%'); +const px = createUnitType('px'); +const vh = createUnitType('vh'); +const vw = createUnitType('vw'); +const progressPercentage = Object.assign(Object.assign({}, percent), { parse: (v) => percent.parse(v) / 100, transform: (v) => percent.transform(v * 100) }); + +export { degrees, percent, progressPercentage, px, vh, vw }; diff --git a/.output/server/node_modules/style-value-types/dist/es/utils.mjs b/.output/server/node_modules/style-value-types/dist/es/utils.mjs new file mode 100644 index 00000000..32b7ca8d --- /dev/null +++ b/.output/server/node_modules/style-value-types/dist/es/utils.mjs @@ -0,0 +1,10 @@ +const clamp = (min, max) => (v) => Math.max(Math.min(v, max), min); +const sanitize = (v) => (v % 1 ? Number(v.toFixed(5)) : v); +const floatRegex = /(-)?([\d]*\.?[\d])+/g; +const colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi; +const singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i; +function isString(v) { + return typeof v === 'string'; +} + +export { clamp, colorRegex, floatRegex, isString, sanitize, singleColorRegex }; diff --git a/.output/server/node_modules/style-value-types/package.json b/.output/server/node_modules/style-value-types/package.json new file mode 100644 index 00000000..46b05417 --- /dev/null +++ b/.output/server/node_modules/style-value-types/package.json @@ -0,0 +1,73 @@ +{ + "name": "style-value-types", + "version": "5.1.2", + "description": "Parsers, transformers and tests for special value types, eg: %, hex codes etc.", + "main": "dist/valueTypes.cjs.js", + "types": "lib/index.d.ts", + "module": "dist/es/index.mjs", + "jsnext:main": "dist/es/index.mjs", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "import": "./dist/es/index.mjs", + "require": "./dist/valueTypes.cjs.js", + "default": "./dist/valueTypes.cjs.js" + }, + "./package.json": "./package.json" + }, + "files": [ + "lib", + "dist" + ], + "sideEffects": false, + "scripts": { + "build": "tsc -p . && rollup -c && yarn measure", + "watch": "rollup -c -w", + "lint": "tslint -c tslint.json 'src/**/*.{ts}'", + "test": "jest --maxWorkers=2", + "measure": "gzip -c dist/style-value-types.min.js | wc -c", + "prepublishOnly": "npm run test && npm run build" + }, + "repository": { + "type": "git", + "url": "https://github.com/Popmotion/popmotion/tree/master/packages/style-value-types" + }, + "keywords": [ + "css", + "svg", + "hex", + "rgba", + "hsla" + ], + "author": "Matt Perry", + "license": "MIT", + "bugs": { + "url": "https://github.com/Popmotion/popmotion/issues" + }, + "homepage": "https://popmotion.io", + "devDependencies": { + "@types/jest": "^23.1.1", + "webpack": "^3.12.0" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "js" + ], + "transform": { + "\\.(ts)$": "../../../node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "/_tests/.*\\.(ts|tsx|js)$", + "rootDir": "src", + "testURL": "http://localhost/" + }, + "unpkg": "./dist/style-value-types.min.js", + "prettier": { + "parser": "typescript", + "singleQuote": true + }, + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/stylis/index.js b/.output/server/node_modules/stylis/index.js new file mode 100644 index 00000000..3c12a38a --- /dev/null +++ b/.output/server/node_modules/stylis/index.js @@ -0,0 +1,7 @@ +export * from './src/Enum.js' +export * from './src/Utility.js' +export * from './src/Parser.js' +export * from './src/Prefixer.js' +export * from './src/Tokenizer.js' +export * from './src/Serializer.js' +export * from './src/Middleware.js' diff --git a/.output/server/node_modules/stylis/package.json b/.output/server/node_modules/stylis/package.json new file mode 100644 index 00000000..0648707b --- /dev/null +++ b/.output/server/node_modules/stylis/package.json @@ -0,0 +1,167 @@ +{ + "name": "stylis", + "version": "4.3.6", + "license": "MIT", + "description": "A Light–weight CSS Preprocessor", + "homepage": "https://github.com/thysultan/stylis.js", + "author": "Sultan Tarimo <sultantarimo@me.com>", + "repository": "https://github.com/thysultan/stylis.js", + "bugs": "https://github.com/thysultan/stylis.js/issues", + "sideEffects": false, + "type": "module", + "main": "dist/umd/stylis.js", + "module": "dist/stylis.mjs", + "react-native": "./index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./dist/umd/stylis.js" + }, + "./package.json": "./package.json" + }, + "files": [ + "index.js", + "dist/", + "src/" + ], + "scripts": { + "lint": "eslint ./", + "pretest": "npm run lint && npm run build", + "test": "nyc npm run spec", + "spec": "mocha --harmony --require esm script/setup.js --recursive test", + "prebuild": "rimraf dist", + "build": "rollup --config script/build.js --configSrc ./", + "start": "npm run build -- --watch", + "prepare": "npm run build", + "postversion": "git push --follow-tags && npm publish", + "release-major": "npm version major -m '%s'", + "release-minor": "npm version minor -m '%s'", + "release-patch": "npm version patch -m '%s'" + }, + "devDependencies": { + "chai": "4.3.4", + "eslint": "6.8.0", + "esm": "3.2.25", + "mocha": "9.1.1", + "nyc": "15.1.0", + "rimraf": "3.0.2", + "rollup": "1.28.0", + "rollup-plugin-size": "0.2.1", + "rollup-plugin-terser": "5.1.3", + "stylis": "./" + }, + "nyc": { + "temp-dir": "./coverage/.nyc_output", + "exclude": [ + "**/dist/", + "**/test/", + "**/script/" + ], + "reporter": [ + "lcov", + "text" + ] + }, + "esm": { + "cjs": true, + "cache": false + }, + "eslintIgnore": [ + "script/", + "test/", + "dist/", + "docs/" + ], + "eslintConfig": { + "env": { + "commonjs": true, + "browser": true, + "node": true, + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 7, + "sourceType": "module", + "ecmaFeatures": { + "impliedStrict": true + } + }, + "rules": { + "indent": [ + "error", + "tab", + { + "SwitchCase": 1 + } + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "never" + ], + "no-cond-assign": [ + "off" + ], + "no-redeclare": [ + "off" + ], + "no-fallthrough": [ + "off" + ], + "no-console": [ + "off" + ], + "no-unsafe-finally": [ + "off" + ], + "no-shadow-restricted-names": [ + "error" + ], + "no-whitespace-before-property": [ + "error" + ], + "no-else-return": [ + "error" + ], + "eol-last": [ + "error" + ], + "func-call-spacing": [ + "error", + "never" + ], + "brace-style": [ + "error", + "1tbs", + { + "allowSingleLine": true + } + ], + "require-jsdoc": [ + "error", + { + "require": { + "FunctionDeclaration": true + } + } + ], + "no-trailing-spaces": [ + "error", + { + "skipBlankLines": true + } + ], + "no-constant-condition": [ + "off" + ] + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/stylis/src/Enum.js b/.output/server/node_modules/stylis/src/Enum.js new file mode 100644 index 00000000..5e2ec734 --- /dev/null +++ b/.output/server/node_modules/stylis/src/Enum.js @@ -0,0 +1,22 @@ +export var MS = '-ms-' +export var MOZ = '-moz-' +export var WEBKIT = '-webkit-' + +export var COMMENT = 'comm' +export var RULESET = 'rule' +export var DECLARATION = 'decl' + +export var PAGE = '@page' +export var MEDIA = '@media' +export var IMPORT = '@import' +export var CHARSET = '@charset' +export var VIEWPORT = '@viewport' +export var SUPPORTS = '@supports' +export var DOCUMENT = '@document' +export var NAMESPACE = '@namespace' +export var KEYFRAMES = '@keyframes' +export var FONT_FACE = '@font-face' +export var COUNTER_STYLE = '@counter-style' +export var FONT_FEATURE_VALUES = '@font-feature-values' +export var LAYER = '@layer' +export var SCOPE = '@scope' diff --git a/.output/server/node_modules/stylis/src/Middleware.js b/.output/server/node_modules/stylis/src/Middleware.js new file mode 100644 index 00000000..1d7df2cf --- /dev/null +++ b/.output/server/node_modules/stylis/src/Middleware.js @@ -0,0 +1,112 @@ +import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js' +import {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js' +import {copy, lift, tokenize} from './Tokenizer.js' +import {serialize} from './Serializer.js' +import {prefix} from './Prefixer.js' + +/** + * @param {function[]} collection + * @return {function} + */ +export function middleware (collection) { + var length = sizeof(collection) + + return function (element, index, children, callback) { + var output = '' + + for (var i = 0; i < length; i++) + output += collection[i](element, index, children, callback) || '' + + return output + } +} + +/** + * @param {function} callback + * @return {function} + */ +export function rulesheet (callback) { + return function (element) { + if (!element.root) + if (element = element.return) + callback(element) + } +} + +/** + * @param {object} element + * @param {number} index + * @param {object[]} children + * @param {function} callback + */ +export function prefixer (element, index, children, callback) { + if (element.length > -1) + if (!element.return) + switch (element.type) { + case DECLARATION: element.return = prefix(element.value, element.length, children) + return + case KEYFRAMES: + return serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback) + case RULESET: + if (element.length) + return combine(children = element.props, function (value) { + switch (match(value, callback = /(::plac\w+|:read-\w+)/)) { + // :read-(only|write) + case ':read-only': case ':read-write': + lift(copy(element, {props: [replace(value, /:(read-\w+)/, ':' + MOZ + '$1')]})) + lift(copy(element, {props: [value]})) + assign(element, {props: filter(children, callback)}) + break + // :placeholder + case '::placeholder': + lift(copy(element, {props: [replace(value, /:(plac\w+)/, ':' + WEBKIT + 'input-$1')]})) + lift(copy(element, {props: [replace(value, /:(plac\w+)/, ':' + MOZ + '$1')]})) + lift(copy(element, {props: [replace(value, /:(plac\w+)/, MS + 'input-$1')]})) + lift(copy(element, {props: [value]})) + assign(element, {props: filter(children, callback)}) + break + } + + return '' + }) + } +} + +/** + * @param {object} element + * @param {number} index + * @param {object[]} children + */ +export function namespace (element) { + switch (element.type) { + case RULESET: + element.props = element.props.map(function (value) { + return combine(tokenize(value), function (value, index, children) { + switch (charat(value, 0)) { + // \f + case 12: + return substr(value, 1, strlen(value)) + // \0 ( + > ~ + case 0: case 40: case 43: case 62: case 126: + return value + // : + case 58: + if (children[++index] === 'global') + children[index] = '', children[++index] = '\f' + substr(children[index], index = 1, -1) + // \s + case 32: + return index === 1 ? '' : value + default: + switch (index) { + case 0: element = value + return sizeof(children) > 1 ? '' : value + case index = sizeof(children) - 1: case 2: + return index === 2 ? value + element + element : value + element + default: + return value + } + } + }) + }) + } +} diff --git a/.output/server/node_modules/stylis/src/Parser.js b/.output/server/node_modules/stylis/src/Parser.js new file mode 100644 index 00000000..36ec34e3 --- /dev/null +++ b/.output/server/node_modules/stylis/src/Parser.js @@ -0,0 +1,202 @@ +import {COMMENT, RULESET, DECLARATION} from './Enum.js' +import {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js' +import {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js' + +/** + * @param {string} value + * @return {object[]} + */ +export function compile (value) { + return dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value)) +} + +/** + * @param {string} value + * @param {object} root + * @param {object?} parent + * @param {string[]} rule + * @param {string[]} rules + * @param {string[]} rulesets + * @param {number[]} pseudo + * @param {number[]} points + * @param {string[]} declarations + * @return {object} + */ +export function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { + var index = 0 + var offset = 0 + var length = pseudo + var atrule = 0 + var property = 0 + var previous = 0 + var variable = 1 + var scanning = 1 + var ampersand = 1 + var character = 0 + var type = '' + var props = rules + var children = rulesets + var reference = rule + var characters = type + + while (scanning) + switch (previous = character, character = next()) { + // ( + case 40: + if (previous != 108 && charat(characters, length - 1) == 58) { + if (indexof(characters += replace(delimit(character), '&', '&\f'), '&\f', abs(index ? points[index - 1] : 0)) != -1) + ampersand = -1 + break + } + // " ' [ + case 34: case 39: case 91: + characters += delimit(character) + break + // \t \n \r \s + case 9: case 10: case 13: case 32: + characters += whitespace(previous) + break + // \ + case 92: + characters += escaping(caret() - 1, 7) + continue + // / + case 47: + switch (peek()) { + case 42: case 47: + append(comment(commenter(next(), caret()), root, parent, declarations), declarations) + if ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' ' + break + default: + characters += '/' + } + break + // { + case 123 * variable: + points[index++] = strlen(characters) * ampersand + // } ; \0 + case 125 * variable: case 59: case 0: + switch (character) { + // \0 } + case 0: case 125: scanning = 0 + // ; + case 59 + offset: if (ampersand == -1) characters = replace(characters, /\f/g, '') + if (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47))) + append(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations) + break + // @ ; + case 59: characters += ';' + // { rule/at-rule + default: + append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets) + + if (character === 123) + if (offset === 0) + parse(characters, root, reference, reference, props, rulesets, length, points, children) + else { + switch (atrule) { + // c(ontainer) + case 99: + if (charat(characters, 3) === 110) break + // l(ayer) + case 108: + if (charat(characters, 2) === 97) break + default: + offset = 0 + // d(ocument) m(edia) s(upports) + case 100: case 109: case 115: + } + if (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children) + else parse(characters, reference, reference, reference, [''], children, 0, points, children) + } + } + + index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo + break + // : + case 58: + length = 1 + strlen(characters), property = previous + default: + if (variable < 1) + if (character == 123) + --variable + else if (character == 125 && variable++ == 0 && prev() == 125) + continue + + switch (characters += from(character), character * variable) { + // & + case 38: + ampersand = offset > 0 ? 1 : (characters += '\f', -1) + break + // , + case 44: + points[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1 + break + // @ + case 64: + // - + if (peek() === 45) + characters += delimit(next()) + + atrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++ + break + // - + case 45: + if (previous === 45 && strlen(characters) == 2) + variable = 0 + } + } + + return rulesets +} + +/** + * @param {string} value + * @param {object} root + * @param {object?} parent + * @param {number} index + * @param {number} offset + * @param {string[]} rules + * @param {number[]} points + * @param {string} type + * @param {string[]} props + * @param {string[]} children + * @param {number} length + * @param {object[]} siblings + * @return {object} + */ +export function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) { + var post = offset - 1 + var rule = offset === 0 ? rules : [''] + var size = sizeof(rule) + + for (var i = 0, j = 0, k = 0; i < index; ++i) + for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) + if (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\f/g, rule[x]))) + props[k++] = z + + return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings) +} + +/** + * @param {number} value + * @param {object} root + * @param {object?} parent + * @param {object[]} siblings + * @return {object} + */ +export function comment (value, root, parent, siblings) { + return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings) +} + +/** + * @param {string} value + * @param {object} root + * @param {object?} parent + * @param {number} length + * @param {object[]} siblings + * @return {object} + */ +export function declaration (value, root, parent, length, siblings) { + return node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings) +} diff --git a/.output/server/node_modules/stylis/src/Prefixer.js b/.output/server/node_modules/stylis/src/Prefixer.js new file mode 100644 index 00000000..e4e38e48 --- /dev/null +++ b/.output/server/node_modules/stylis/src/Prefixer.js @@ -0,0 +1,148 @@ +import {MS, MOZ, WEBKIT} from './Enum.js' +import {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js' + +/** + * @param {string} value + * @param {number} length + * @param {object[]} children + * @return {string} + */ +export function prefix (value, length, children) { + switch (hash(value, length)) { + // color-adjust + case 5103: + return WEBKIT + 'print-' + value + value + // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function) + case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921: + // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break + case 5572: case 6356: case 5844: case 3191: case 6645: case 3005: + // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width) + case 4215: case 6389: case 5109: case 5365: case 5621: case 3829: + // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position + case 6391: case 5879: case 5623: case 6135: case 4599: + return WEBKIT + value + value + // mask-composite + case 4855: + return WEBKIT + value.replace('add', 'source-over').replace('substract', 'source-out').replace('intersect', 'source-in').replace('exclude', 'xor') + value + // tab-size + case 4789: + return MOZ + value + value + // appearance, user-select, transform, hyphens, text-size-adjust + case 5349: case 4246: case 4810: case 6968: case 2756: + return WEBKIT + value + MOZ + value + MS + value + value + // writing-mode + case 5936: + switch (charat(value, length + 11)) { + // vertical-l(r) + case 114: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb') + value + // vertical-r(l) + case 108: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value + // horizontal(-)tb + case 45: + return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'lr') + value + // default: fallthrough to below + } + // flex, flex-direction, scroll-snap-type, writing-mode + case 6828: case 4268: case 2903: + return WEBKIT + value + MS + value + value + // order + case 6165: + return WEBKIT + value + MS + 'flex-' + value + value + // align-items + case 5187: + return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value + // align-self + case 5443: + return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value + // align-content + case 4675: + return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value + // flex-shrink + case 5548: + return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value + // flex-basis + case 5292: + return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value + // flex-grow + case 6060: + return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value + // transition + case 4554: + return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value + // cursor + case 6187: + return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value + // background, background-image + case 5495: case 3959: + return replace(value, /(image-set\([^]*)/, WEBKIT + '$1' + '$`$1') + // justify-content + case 4968: + return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /space-between/, 'justify') + WEBKIT + value + value + // justify-self + case 4200: + if (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value + break + // grid-template-(columns|rows) + case 2592: case 3360: + return MS + replace(value, 'template-', '') + value + // grid-(row|column)-start + case 4384: case 3616: + if (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\w+-end/) })) { + return ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\d+/) : +match(children, /\d+/) - +match(value, /\d+/)) + ';') + } + return MS + replace(value, '-start', '') + value + // grid-(row|column)-end + case 4896: case 4128: + return (children && children.some(function (element) { return match(element.props, /grid-\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value + // (margin|padding)-inline-(start|end) + case 4095: case 3583: case 4068: case 2532: + return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value + // (min|max)?(width|height|inline-size|block-size) + case 8116: case 7059: case 5753: case 5535: + case 5445: case 5701: case 4933: case 4677: + case 5533: case 5789: case 5021: case 4765: + // stretch, max-content, min-content, fill-available + if (strlen(value) - 1 - length > 6) + switch (charat(value, length + 1)) { + // (m)ax-content, (m)in-content + case 109: + // - + if (charat(value, length + 4) !== 45) + break + // (f)ill-available, (f)it-content + case 102: + return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value + // (s)tretch + case 115: + return ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value + } + break + // grid-(column|row) + case 5152: case 5920: + return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value }) + // position: sticky + case 4949: + // stick(y)? + if (charat(value, length + 6) === 121) + return replace(value, ':', ':' + WEBKIT) + value + break + // display: (flex|inline-flex|grid|inline-grid) + case 6444: + switch (charat(value, charat(value, 14) === 45 ? 18 : 11)) { + // (inline-)?fle(x) + case 120: + return replace(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value + // (inline-)?gri(d) + case 100: + return replace(value, ':', ':' + MS) + value + } + break + // scroll-margin, scroll-margin-(top|right|bottom|left) + case 5719: case 2647: case 2135: case 3927: case 2391: + return replace(value, 'scroll-', 'scroll-snap-') + value + } + + return value +} diff --git a/.output/server/node_modules/stylis/src/Serializer.js b/.output/server/node_modules/stylis/src/Serializer.js new file mode 100644 index 00000000..5b9f289a --- /dev/null +++ b/.output/server/node_modules/stylis/src/Serializer.js @@ -0,0 +1,35 @@ +import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js' +import {strlen} from './Utility.js' + +/** + * @param {object[]} children + * @param {function} callback + * @return {string} + */ +export function serialize (children, callback) { + var output = '' + + for (var i = 0; i < children.length; i++) + output += callback(children[i], i, children, callback) || '' + + return output +} + +/** + * @param {object} element + * @param {number} index + * @param {object[]} children + * @param {function} callback + * @return {string} + */ +export function stringify (element, index, children, callback) { + switch (element.type) { + case LAYER: if (element.children.length) break + case IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value + case COMMENT: return '' + case KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}' + case RULESET: if (!strlen(element.value = element.props.join(','))) return '' + } + + return strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : '' +} diff --git a/.output/server/node_modules/stylis/src/Tokenizer.js b/.output/server/node_modules/stylis/src/Tokenizer.js new file mode 100644 index 00000000..201fb51b --- /dev/null +++ b/.output/server/node_modules/stylis/src/Tokenizer.js @@ -0,0 +1,257 @@ +import {from, trim, charat, strlen, substr, append, assign} from './Utility.js' + +export var line = 1 +export var column = 1 +export var length = 0 +export var position = 0 +export var character = 0 +export var characters = '' + +/** + * @param {string} value + * @param {object | null} root + * @param {object | null} parent + * @param {string} type + * @param {string[] | string} props + * @param {object[] | string} children + * @param {object[]} siblings + * @param {number} length + */ +export function node (value, root, parent, type, props, children, length, siblings) { + return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings} +} + +/** + * @param {object} root + * @param {object} props + * @return {object} + */ +export function copy (root, props) { + return assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props) +} + +/** + * @param {object} root + */ +export function lift (root) { + while (root.root) + root = copy(root.root, {children: [root]}) + + append(root, root.siblings) +} + +/** + * @return {number} + */ +export function char () { + return character +} + +/** + * @return {number} + */ +export function prev () { + character = position > 0 ? charat(characters, --position) : 0 + + if (column--, character === 10) + column = 1, line-- + + return character +} + +/** + * @return {number} + */ +export function next () { + character = position < length ? charat(characters, position++) : 0 + + if (column++, character === 10) + column = 1, line++ + + return character +} + +/** + * @return {number} + */ +export function peek () { + return charat(characters, position) +} + +/** + * @return {number} + */ +export function caret () { + return position +} + +/** + * @param {number} begin + * @param {number} end + * @return {string} + */ +export function slice (begin, end) { + return substr(characters, begin, end) +} + +/** + * @param {number} type + * @return {number} + */ +export function token (type) { + switch (type) { + // \0 \t \n \r \s whitespace token + case 0: case 9: case 10: case 13: case 32: + return 5 + // ! + , / > @ ~ isolate token + case 33: case 43: case 44: case 47: case 62: case 64: case 126: + // ; { } breakpoint token + case 59: case 123: case 125: + return 4 + // : accompanied token + case 58: + return 3 + // " ' ( [ opening delimit token + case 34: case 39: case 40: case 91: + return 2 + // ) ] closing delimit token + case 41: case 93: + return 1 + } + + return 0 +} + +/** + * @param {string} value + * @return {any[]} + */ +export function alloc (value) { + return line = column = 1, length = strlen(characters = value), position = 0, [] +} + +/** + * @param {any} value + * @return {any} + */ +export function dealloc (value) { + return characters = '', value +} + +/** + * @param {number} type + * @return {string} + */ +export function delimit (type) { + return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) +} + +/** + * @param {string} value + * @return {string[]} + */ +export function tokenize (value) { + return dealloc(tokenizer(alloc(value))) +} + +/** + * @param {number} type + * @return {string} + */ +export function whitespace (type) { + while (character = peek()) + if (character < 33) + next() + else + break + + return token(type) > 2 || token(character) > 3 ? '' : ' ' +} + +/** + * @param {string[]} children + * @return {string[]} + */ +export function tokenizer (children) { + while (next()) + switch (token(character)) { + case 0: append(identifier(position - 1), children) + break + case 2: append(delimit(character), children) + break + default: append(from(character), children) + } + + return children +} + +/** + * @param {number} index + * @param {number} count + * @return {string} + */ +export function escaping (index, count) { + while (--count && next()) + // not 0-9 A-F a-f + if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97)) + break + + return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)) +} + +/** + * @param {number} type + * @return {number} + */ +export function delimiter (type) { + while (next()) + switch (character) { + // ] ) " ' + case type: + return position + // " ' + case 34: case 39: + if (type !== 34 && type !== 39) + delimiter(character) + break + // ( + case 40: + if (type === 41) + delimiter(type) + break + // \ + case 92: + next() + break + } + + return position +} + +/** + * @param {number} type + * @param {number} index + * @return {number} + */ +export function commenter (type, index) { + while (next()) + // // + if (type + character === 47 + 10) + break + // /* + else if (type + character === 42 + 42 && peek() === 47) + break + + return '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next()) +} + +/** + * @param {number} index + * @return {string} + */ +export function identifier (index) { + while (!token(peek())) + next() + + return slice(index, position) +} diff --git a/.output/server/node_modules/stylis/src/Utility.js b/.output/server/node_modules/stylis/src/Utility.js new file mode 100644 index 00000000..d89838de --- /dev/null +++ b/.output/server/node_modules/stylis/src/Utility.js @@ -0,0 +1,125 @@ +/** + * @param {number} + * @return {number} + */ +export var abs = Math.abs + +/** + * @param {number} + * @return {string} + */ +export var from = String.fromCharCode + +/** + * @param {object} + * @return {object} + */ +export var assign = Object.assign + +/** + * @param {string} value + * @param {number} length + * @return {number} + */ +export function hash (value, length) { + return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0 +} + +/** + * @param {string} value + * @return {string} + */ +export function trim (value) { + return value.trim() +} + +/** + * @param {string} value + * @param {RegExp} pattern + * @return {string?} + */ +export function match (value, pattern) { + return (value = pattern.exec(value)) ? value[0] : value +} + +/** + * @param {string} value + * @param {(string|RegExp)} pattern + * @param {string} replacement + * @return {string} + */ +export function replace (value, pattern, replacement) { + return value.replace(pattern, replacement) +} + +/** + * @param {string} value + * @param {string} search + * @param {number} position + * @return {number} + */ +export function indexof (value, search, position) { + return value.indexOf(search, position) +} + +/** + * @param {string} value + * @param {number} index + * @return {number} + */ +export function charat (value, index) { + return value.charCodeAt(index) | 0 +} + +/** + * @param {string} value + * @param {number} begin + * @param {number} end + * @return {string} + */ +export function substr (value, begin, end) { + return value.slice(begin, end) +} + +/** + * @param {string} value + * @return {number} + */ +export function strlen (value) { + return value.length +} + +/** + * @param {any[]} value + * @return {number} + */ +export function sizeof (value) { + return value.length +} + +/** + * @param {any} value + * @param {any[]} array + * @return {any} + */ +export function append (value, array) { + return array.push(value), value +} + +/** + * @param {string[]} array + * @param {function} callback + * @return {string} + */ +export function combine (array, callback) { + return array.map(callback).join('') +} + +/** + * @param {string[]} array + * @param {RegExp} pattern + * @return {string[]} + */ +export function filter (array, pattern) { + return array.filter(function (value) { return !match(value, pattern) }) +} diff --git a/.output/server/node_modules/supports-color/index.js b/.output/server/node_modules/supports-color/index.js new file mode 100644 index 00000000..906a6f9b --- /dev/null +++ b/.output/server/node_modules/supports-color/index.js @@ -0,0 +1,202 @@ +import process from 'node:process'; +import os from 'node:os'; +import tty from 'node:tty'; + +// From: https://github.com/sindresorhus/has-flag/blob/main/index.js +/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) { +function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) { + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +} + +const {env} = process; + +let flagForceColor; +if ( + hasFlag('no-color') + || hasFlag('no-colors') + || hasFlag('color=false') + || hasFlag('color=never') +) { + flagForceColor = 0; +} else if ( + hasFlag('color') + || hasFlag('colors') + || hasFlag('color=true') + || hasFlag('color=always') +) { + flagForceColor = 1; +} + +function envForceColor() { + if (!('FORCE_COLOR' in env)) { + return; + } + + if (env.FORCE_COLOR === 'true') { + return 1; + } + + if (env.FORCE_COLOR === 'false') { + return 0; + } + + if (env.FORCE_COLOR.length === 0) { + return 1; + } + + const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); + + if (![0, 1, 2, 3].includes(level)) { + return; + } + + return level; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3, + }; +} + +function _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) { + const noFlagForceColor = envForceColor(); + if (noFlagForceColor !== undefined) { + flagForceColor = noFlagForceColor; + } + + const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; + + if (forceColor === 0) { + return 0; + } + + if (sniffFlags) { + if (hasFlag('color=16m') + || hasFlag('color=full') + || hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + } + + // Check for Azure DevOps pipelines. + // Has to be above the `!streamIsTTY` check. + if ('TF_BUILD' in env && 'AGENT_NAME' in env) { + return 1; + } + + if (haveStream && !streamIsTTY && forceColor === undefined) { + return 0; + } + + const min = forceColor || 0; + + if (env.TERM === 'dumb') { + return min; + } + + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(osRelease[0]) >= 10 + && Number(osRelease[2]) >= 10_586 + ) { + return Number(osRelease[2]) >= 14_931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['GITHUB_ACTIONS', 'GITEA_ACTIONS', 'CIRCLECI'].some(key => key in env)) { + return 3; + } + + if (['TRAVIS', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if (env.TERM === 'xterm-kitty') { + return 3; + } + + if (env.TERM === 'xterm-ghostty') { + return 3; + } + + if (env.TERM === 'wezterm') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': { + return version >= 3 ? 3 : 2; + } + + case 'Apple_Terminal': { + return 2; + } + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + return min; +} + +export function createSupportsColor(stream, options = {}) { + const level = _supportsColor(stream, { + streamIsTTY: stream && stream.isTTY, + ...options, + }); + + return translateLevel(level); +} + +const supportsColor = { + stdout: createSupportsColor({isTTY: tty.isatty(1)}), + stderr: createSupportsColor({isTTY: tty.isatty(2)}), +}; + +export default supportsColor; diff --git a/.output/server/node_modules/supports-color/package.json b/.output/server/node_modules/supports-color/package.json new file mode 100644 index 00000000..58ba4113 --- /dev/null +++ b/.output/server/node_modules/supports-color/package.json @@ -0,0 +1,64 @@ +{ + "name": "supports-color", + "version": "10.2.2", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": "chalk/supports-color", + "funding": "https://github.com/chalk/supports-color?sponsor=1", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "type": "module", + "exports": { + "types": "./index.d.ts", + "node": "./index.js", + "default": "./browser.js" + }, + "sideEffects": false, + "engines": { + "node": ">=18" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts", + "browser.js", + "browser.d.ts" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect", + "truecolor", + "16m" + ], + "devDependencies": { + "@types/node": "^22.10.2", + "ava": "^6.2.0", + "tsd": "^0.31.2", + "xo": "^0.60.0" + }, + "ava": { + "serial": true, + "workerThreads": false + } +} \ No newline at end of file diff --git a/.output/server/node_modules/svgo/lib/builtin.js b/.output/server/node_modules/svgo/lib/builtin.js new file mode 100644 index 00000000..28a380ec --- /dev/null +++ b/.output/server/node_modules/svgo/lib/builtin.js @@ -0,0 +1,57 @@ +'use strict'; + +exports.builtin = [ + require('../plugins/preset-default.js'), + require('../plugins/addAttributesToSVGElement.js'), + require('../plugins/addClassesToSVGElement.js'), + require('../plugins/cleanupAttrs.js'), + require('../plugins/cleanupEnableBackground.js'), + require('../plugins/cleanupIds.js'), + require('../plugins/cleanupListOfValues.js'), + require('../plugins/cleanupNumericValues.js'), + require('../plugins/collapseGroups.js'), + require('../plugins/convertColors.js'), + require('../plugins/convertEllipseToCircle.js'), + require('../plugins/convertOneStopGradients.js'), + require('../plugins/convertPathData.js'), + require('../plugins/convertShapeToPath.js'), + require('../plugins/convertStyleToAttrs.js'), + require('../plugins/convertTransform.js'), + require('../plugins/mergeStyles.js'), + require('../plugins/inlineStyles.js'), + require('../plugins/mergePaths.js'), + require('../plugins/minifyStyles.js'), + require('../plugins/moveElemsAttrsToGroup.js'), + require('../plugins/moveGroupAttrsToElems.js'), + require('../plugins/prefixIds.js'), + require('../plugins/removeAttributesBySelector.js'), + require('../plugins/removeAttrs.js'), + require('../plugins/removeComments.js'), + require('../plugins/removeDesc.js'), + require('../plugins/removeDimensions.js'), + require('../plugins/removeDoctype.js'), + require('../plugins/removeEditorsNSData.js'), + require('../plugins/removeElementsByAttr.js'), + require('../plugins/removeEmptyAttrs.js'), + require('../plugins/removeEmptyContainers.js'), + require('../plugins/removeEmptyText.js'), + require('../plugins/removeHiddenElems.js'), + require('../plugins/removeMetadata.js'), + require('../plugins/removeNonInheritableGroupAttrs.js'), + require('../plugins/removeOffCanvasPaths.js'), + require('../plugins/removeRasterImages.js'), + require('../plugins/removeScriptElement.js'), + require('../plugins/removeStyleElement.js'), + require('../plugins/removeTitle.js'), + require('../plugins/removeUnknownsAndDefaults.js'), + require('../plugins/removeUnusedNS.js'), + require('../plugins/removeUselessDefs.js'), + require('../plugins/removeUselessStrokeAndFill.js'), + require('../plugins/removeViewBox.js'), + require('../plugins/removeXlink.js'), + require('../plugins/removeXMLNS.js'), + require('../plugins/removeXMLProcInst.js'), + require('../plugins/reusePaths.js'), + require('../plugins/sortAttrs.js'), + require('../plugins/sortDefsChildren.js'), +]; diff --git a/.output/server/node_modules/svgo/lib/parser.js b/.output/server/node_modules/svgo/lib/parser.js new file mode 100644 index 00000000..4637acf1 --- /dev/null +++ b/.output/server/node_modules/svgo/lib/parser.js @@ -0,0 +1,262 @@ +'use strict'; + +/** + * @typedef {import('./types').XastNode} XastNode + * @typedef {import('./types').XastInstruction} XastInstruction + * @typedef {import('./types').XastDoctype} XastDoctype + * @typedef {import('./types').XastComment} XastComment + * @typedef {import('./types').XastRoot} XastRoot + * @typedef {import('./types').XastElement} XastElement + * @typedef {import('./types').XastCdata} XastCdata + * @typedef {import('./types').XastText} XastText + * @typedef {import('./types').XastParent} XastParent + * @typedef {import('./types').XastChild} XastChild + */ + +// @ts-ignore sax will be replaced with something else later +const SAX = require('@trysound/sax'); +const { textElems } = require('../plugins/_collections'); + +class SvgoParserError extends Error { + /** + * @param message {string} + * @param line {number} + * @param column {number} + * @param source {string} + * @param file {void | string} + */ + constructor(message, line, column, source, file) { + super(message); + this.name = 'SvgoParserError'; + this.message = `${file || '<input>'}:${line}:${column}: ${message}`; + this.reason = message; + this.line = line; + this.column = column; + this.source = source; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, SvgoParserError); + } + } + toString() { + const lines = this.source.split(/\r?\n/); + const startLine = Math.max(this.line - 3, 0); + const endLine = Math.min(this.line + 2, lines.length); + const lineNumberWidth = String(endLine).length; + const startColumn = Math.max(this.column - 54, 0); + const endColumn = Math.max(this.column + 20, 80); + const code = lines + .slice(startLine, endLine) + .map((line, index) => { + const lineSlice = line.slice(startColumn, endColumn); + let ellipsisPrefix = ''; + let ellipsisSuffix = ''; + if (startColumn !== 0) { + ellipsisPrefix = startColumn > line.length - 1 ? ' ' : '…'; + } + if (endColumn < line.length - 1) { + ellipsisSuffix = '…'; + } + const number = startLine + 1 + index; + const gutter = ` ${number.toString().padStart(lineNumberWidth)} | `; + if (number === this.line) { + const gutterSpacing = gutter.replace(/[^|]/g, ' '); + const lineSpacing = ( + ellipsisPrefix + line.slice(startColumn, this.column - 1) + ).replace(/[^\t]/g, ' '); + const spacing = gutterSpacing + lineSpacing; + return `>${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}\n ${spacing}^`; + } + return ` ${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}`; + }) + .join('\n'); + return `${this.name}: ${this.message}\n\n${code}\n`; + } +} + +const entityDeclaration = /<!ENTITY\s+(\S+)\s+(?:'([^']+)'|"([^"]+)")\s*>/g; + +const config = { + strict: true, + trim: false, + normalize: false, + lowercase: true, + xmlns: true, + position: true, +}; + +/** + * Convert SVG (XML) string to SVG-as-JS object. + * + * @type {(data: string, from?: string) => XastRoot} + */ +const parseSvg = (data, from) => { + const sax = SAX.parser(config.strict, config); + /** + * @type {XastRoot} + */ + const root = { type: 'root', children: [] }; + /** + * @type {XastParent} + */ + let current = root; + /** + * @type {XastParent[]} + */ + const stack = [root]; + + /** + * @type {(node: XastChild) => void} + */ + const pushToContent = (node) => { + // TODO remove legacy parentNode in v4 + Object.defineProperty(node, 'parentNode', { + writable: true, + value: current, + }); + current.children.push(node); + }; + + /** + * @type {(doctype: string) => void} + */ + sax.ondoctype = (doctype) => { + /** + * @type {XastDoctype} + */ + const node = { + type: 'doctype', + // TODO parse doctype for name, public and system to match xast + name: 'svg', + data: { + doctype, + }, + }; + pushToContent(node); + const subsetStart = doctype.indexOf('['); + if (subsetStart >= 0) { + entityDeclaration.lastIndex = subsetStart; + let entityMatch = entityDeclaration.exec(data); + while (entityMatch != null) { + sax.ENTITIES[entityMatch[1]] = entityMatch[2] || entityMatch[3]; + entityMatch = entityDeclaration.exec(data); + } + } + }; + + /** + * @type {(data: { name: string, body: string }) => void} + */ + sax.onprocessinginstruction = (data) => { + /** + * @type {XastInstruction} + */ + const node = { + type: 'instruction', + name: data.name, + value: data.body, + }; + pushToContent(node); + }; + + /** + * @type {(comment: string) => void} + */ + sax.oncomment = (comment) => { + /** + * @type {XastComment} + */ + const node = { + type: 'comment', + value: comment.trim(), + }; + pushToContent(node); + }; + + /** + * @type {(cdata: string) => void} + */ + sax.oncdata = (cdata) => { + /** + * @type {XastCdata} + */ + const node = { + type: 'cdata', + value: cdata, + }; + pushToContent(node); + }; + + /** + * @type {(data: { name: string, attributes: Record<string, { value: string }>}) => void} + */ + sax.onopentag = (data) => { + /** + * @type {XastElement} + */ + let element = { + type: 'element', + name: data.name, + attributes: {}, + children: [], + }; + for (const [name, attr] of Object.entries(data.attributes)) { + element.attributes[name] = attr.value; + } + pushToContent(element); + current = element; + stack.push(element); + }; + + /** + * @type {(text: string) => void} + */ + sax.ontext = (text) => { + if (current.type === 'element') { + // prevent trimming of meaningful whitespace inside textual tags + if (textElems.has(current.name)) { + /** + * @type {XastText} + */ + const node = { + type: 'text', + value: text, + }; + pushToContent(node); + } else if (/\S/.test(text)) { + /** + * @type {XastText} + */ + const node = { + type: 'text', + value: text.trim(), + }; + pushToContent(node); + } + } + }; + + sax.onclosetag = () => { + stack.pop(); + current = stack[stack.length - 1]; + }; + + /** + * @type {(e: any) => void} + */ + sax.onerror = (e) => { + const error = new SvgoParserError( + e.reason, + e.line + 1, + e.column, + data, + from, + ); + if (e.message.indexOf('Unexpected end') === -1) { + throw error; + } + }; + + sax.write(data).close(); + return root; +}; +exports.parseSvg = parseSvg; diff --git a/.output/server/node_modules/svgo/lib/path.js b/.output/server/node_modules/svgo/lib/path.js new file mode 100644 index 00000000..814ee2e3 --- /dev/null +++ b/.output/server/node_modules/svgo/lib/path.js @@ -0,0 +1,380 @@ +'use strict'; + +const { removeLeadingZero, toFixed } = require('./svgo/tools'); + +/** + * @typedef {import('./types').PathDataItem} PathDataItem + * @typedef {import('./types').PathDataCommand} PathDataCommand + */ + +// Based on https://www.w3.org/TR/SVG11/paths.html#PathDataBNF + +const argsCountPerCommand = { + M: 2, + m: 2, + Z: 0, + z: 0, + L: 2, + l: 2, + H: 1, + h: 1, + V: 1, + v: 1, + C: 6, + c: 6, + S: 4, + s: 4, + Q: 4, + q: 4, + T: 2, + t: 2, + A: 7, + a: 7, +}; + +/** + * @type {(c: string) => c is PathDataCommand} + */ +const isCommand = (c) => { + return c in argsCountPerCommand; +}; + +/** + * @type {(c: string) => boolean} + */ +const isWsp = (c) => { + const codePoint = c.codePointAt(0); + return ( + codePoint === 0x20 || + codePoint === 0x9 || + codePoint === 0xd || + codePoint === 0xa + ); +}; + +/** + * @type {(c: string) => boolean} + */ +const isDigit = (c) => { + const codePoint = c.codePointAt(0); + if (codePoint == null) { + return false; + } + return 48 <= codePoint && codePoint <= 57; +}; + +/** + * @typedef {'none' | 'sign' | 'whole' | 'decimal_point' | 'decimal' | 'e' | 'exponent_sign' | 'exponent'} ReadNumberState + */ + +/** + * @type {(string: string, cursor: number) => [number, ?number]} + */ +const readNumber = (string, cursor) => { + let i = cursor; + let value = ''; + let state = /** @type {ReadNumberState} */ ('none'); + for (; i < string.length; i += 1) { + const c = string[i]; + if (c === '+' || c === '-') { + if (state === 'none') { + state = 'sign'; + value += c; + continue; + } + if (state === 'e') { + state = 'exponent_sign'; + value += c; + continue; + } + } + if (isDigit(c)) { + if (state === 'none' || state === 'sign' || state === 'whole') { + state = 'whole'; + value += c; + continue; + } + if (state === 'decimal_point' || state === 'decimal') { + state = 'decimal'; + value += c; + continue; + } + if (state === 'e' || state === 'exponent_sign' || state === 'exponent') { + state = 'exponent'; + value += c; + continue; + } + } + if (c === '.') { + if (state === 'none' || state === 'sign' || state === 'whole') { + state = 'decimal_point'; + value += c; + continue; + } + } + if (c === 'E' || c == 'e') { + if ( + state === 'whole' || + state === 'decimal_point' || + state === 'decimal' + ) { + state = 'e'; + value += c; + continue; + } + } + break; + } + const number = Number.parseFloat(value); + if (Number.isNaN(number)) { + return [cursor, null]; + } else { + // step back to delegate iteration to parent loop + return [i - 1, number]; + } +}; + +/** + * @type {(string: string) => PathDataItem[]} + */ +const parsePathData = (string) => { + /** + * @type {PathDataItem[]} + */ + const pathData = []; + /** + * @type {?PathDataCommand} + */ + let command = null; + let args = /** @type {number[]} */ ([]); + let argsCount = 0; + let canHaveComma = false; + let hadComma = false; + for (let i = 0; i < string.length; i += 1) { + const c = string.charAt(i); + if (isWsp(c)) { + continue; + } + // allow comma only between arguments + if (canHaveComma && c === ',') { + if (hadComma) { + break; + } + hadComma = true; + continue; + } + if (isCommand(c)) { + if (hadComma) { + return pathData; + } + if (command == null) { + // moveto should be leading command + if (c !== 'M' && c !== 'm') { + return pathData; + } + } else { + // stop if previous command arguments are not flushed + if (args.length !== 0) { + return pathData; + } + } + command = c; + args = []; + argsCount = argsCountPerCommand[command]; + canHaveComma = false; + // flush command without arguments + if (argsCount === 0) { + pathData.push({ command, args }); + } + continue; + } + // avoid parsing arguments if no command detected + if (command == null) { + return pathData; + } + // read next argument + let newCursor = i; + let number = null; + if (command === 'A' || command === 'a') { + const position = args.length; + if (position === 0 || position === 1) { + // allow only positive number without sign as first two arguments + if (c !== '+' && c !== '-') { + [newCursor, number] = readNumber(string, i); + } + } + if (position === 2 || position === 5 || position === 6) { + [newCursor, number] = readNumber(string, i); + } + if (position === 3 || position === 4) { + // read flags + if (c === '0') { + number = 0; + } + if (c === '1') { + number = 1; + } + } + } else { + [newCursor, number] = readNumber(string, i); + } + if (number == null) { + return pathData; + } + args.push(number); + canHaveComma = true; + hadComma = false; + i = newCursor; + // flush arguments when necessary count is reached + if (args.length === argsCount) { + pathData.push({ command, args }); + // subsequent moveto coordinates are treated as implicit lineto commands + if (command === 'M') { + command = 'L'; + } + if (command === 'm') { + command = 'l'; + } + args = []; + } + } + return pathData; +}; +exports.parsePathData = parsePathData; + +/** + * @type {(number: number, precision?: number) => { + * roundedStr: string, + * rounded: number + * }} + */ +const roundAndStringify = (number, precision) => { + if (precision != null) { + number = toFixed(number, precision); + } + + return { + roundedStr: removeLeadingZero(number), + rounded: number, + }; +}; + +/** + * Elliptical arc large-arc and sweep flags are rendered with spaces + * because many non-browser environments are not able to parse such paths + * + * @type {( + * command: string, + * args: number[], + * precision?: number, + * disableSpaceAfterFlags?: boolean + * ) => string} + */ +const stringifyArgs = (command, args, precision, disableSpaceAfterFlags) => { + let result = ''; + let previous; + + for (let i = 0; i < args.length; i++) { + const { roundedStr, rounded } = roundAndStringify(args[i], precision); + if ( + disableSpaceAfterFlags && + (command === 'A' || command === 'a') && + // consider combined arcs + (i % 7 === 4 || i % 7 === 5) + ) { + result += roundedStr; + } else if (i === 0 || rounded < 0) { + // avoid space before first and negative numbers + result += roundedStr; + } else if ( + !Number.isInteger(previous) && + rounded != 0 && + rounded < 1 && + rounded > -1 + ) { + // remove space before decimal with zero whole + // only when previous number is also decimal + result += roundedStr; + } else { + result += ` ${roundedStr}`; + } + previous = rounded; + } + + return result; +}; + +/** + * @typedef {{ + * pathData: PathDataItem[]; + * precision?: number; + * disableSpaceAfterFlags?: boolean; + * }} StringifyPathDataOptions + */ + +/** + * @param {StringifyPathDataOptions} options + * @returns {string} + */ +const stringifyPathData = ({ pathData, precision, disableSpaceAfterFlags }) => { + if (pathData.length === 1) { + const { command, args } = pathData[0]; + return ( + command + stringifyArgs(command, args, precision, disableSpaceAfterFlags) + ); + } + + let result = ''; + let prev = { ...pathData[0] }; + + // match leading moveto with following lineto + if (pathData[1].command === 'L') { + prev.command = 'M'; + } else if (pathData[1].command === 'l') { + prev.command = 'm'; + } + + for (let i = 1; i < pathData.length; i++) { + const { command, args } = pathData[i]; + if ( + (prev.command === command && + prev.command !== 'M' && + prev.command !== 'm') || + // combine matching moveto and lineto sequences + (prev.command === 'M' && command === 'L') || + (prev.command === 'm' && command === 'l') + ) { + prev.args = [...prev.args, ...args]; + if (i === pathData.length - 1) { + result += + prev.command + + stringifyArgs( + prev.command, + prev.args, + precision, + disableSpaceAfterFlags, + ); + } + } else { + result += + prev.command + + stringifyArgs( + prev.command, + prev.args, + precision, + disableSpaceAfterFlags, + ); + + if (i === pathData.length - 1) { + result += + command + + stringifyArgs(command, args, precision, disableSpaceAfterFlags); + } else { + prev = { command, args }; + } + } + } + + return result; +}; +exports.stringifyPathData = stringifyPathData; diff --git a/.output/server/node_modules/svgo/lib/stringifier.js b/.output/server/node_modules/svgo/lib/stringifier.js new file mode 100644 index 00000000..1a710869 --- /dev/null +++ b/.output/server/node_modules/svgo/lib/stringifier.js @@ -0,0 +1,295 @@ +'use strict'; + +/** + * @typedef {import('./types').XastParent} XastParent + * @typedef {import('./types').XastRoot} XastRoot + * @typedef {import('./types').XastElement} XastElement + * @typedef {import('./types').XastInstruction} XastInstruction + * @typedef {import('./types').XastDoctype} XastDoctype + * @typedef {import('./types').XastText} XastText + * @typedef {import('./types').XastCdata} XastCdata + * @typedef {import('./types').XastComment} XastComment + * @typedef {import('./types').StringifyOptions} StringifyOptions + */ + +const { textElems } = require('../plugins/_collections'); + +/** + * @typedef {{ + * indent: string, + * textContext: ?XastElement, + * indentLevel: number, + * }} State + */ + +/** + * @typedef {Required<StringifyOptions>} Options + */ + +/** + * @type {(char: string) => string} + */ +const encodeEntity = (char) => { + return entities[char]; +}; + +/** @type {Options} */ +const defaults = { + doctypeStart: '<!DOCTYPE', + doctypeEnd: '>', + procInstStart: '<?', + procInstEnd: '?>', + tagOpenStart: '<', + tagOpenEnd: '>', + tagCloseStart: '</', + tagCloseEnd: '>', + tagShortStart: '<', + tagShortEnd: '/>', + attrStart: '="', + attrEnd: '"', + commentStart: '<!--', + commentEnd: '-->', + cdataStart: '<![CDATA[', + cdataEnd: ']]>', + textStart: '', + textEnd: '', + indent: 4, + regEntities: /[&'"<>]/g, + regValEntities: /[&"<>]/g, + encodeEntity, + pretty: false, + useShortTags: true, + eol: 'lf', + finalNewline: false, +}; + +/** @type {Record<string, string>} */ +const entities = { + '&': '&', + "'": ''', + '"': '"', + '>': '>', + '<': '<', +}; + +/** + * convert XAST to SVG string + * + * @type {(data: XastRoot, config: StringifyOptions) => string} + */ +const stringifySvg = (data, userOptions = {}) => { + /** + * @type {Options} + */ + const config = { ...defaults, ...userOptions }; + const indent = config.indent; + let newIndent = ' '; + if (typeof indent === 'number' && Number.isNaN(indent) === false) { + newIndent = indent < 0 ? '\t' : ' '.repeat(indent); + } else if (typeof indent === 'string') { + newIndent = indent; + } + /** + * @type {State} + */ + const state = { + indent: newIndent, + textContext: null, + indentLevel: 0, + }; + const eol = config.eol === 'crlf' ? '\r\n' : '\n'; + if (config.pretty) { + config.doctypeEnd += eol; + config.procInstEnd += eol; + config.commentEnd += eol; + config.cdataEnd += eol; + config.tagShortEnd += eol; + config.tagOpenEnd += eol; + config.tagCloseEnd += eol; + config.textEnd += eol; + } + let svg = stringifyNode(data, config, state); + if (config.finalNewline && svg.length > 0 && !svg.endsWith('\n')) { + svg += eol; + } + return svg; +}; +exports.stringifySvg = stringifySvg; + +/** + * @type {(node: XastParent, config: Options, state: State) => string} + */ +const stringifyNode = (data, config, state) => { + let svg = ''; + state.indentLevel += 1; + for (const item of data.children) { + if (item.type === 'element') { + svg += stringifyElement(item, config, state); + } + if (item.type === 'text') { + svg += stringifyText(item, config, state); + } + if (item.type === 'doctype') { + svg += stringifyDoctype(item, config); + } + if (item.type === 'instruction') { + svg += stringifyInstruction(item, config); + } + if (item.type === 'comment') { + svg += stringifyComment(item, config); + } + if (item.type === 'cdata') { + svg += stringifyCdata(item, config, state); + } + } + state.indentLevel -= 1; + return svg; +}; + +/** + * create indent string in accordance with the current node level. + * + * @type {(config: Options, state: State) => string} + */ +const createIndent = (config, state) => { + let indent = ''; + if (config.pretty && state.textContext == null) { + indent = state.indent.repeat(state.indentLevel - 1); + } + return indent; +}; + +/** + * @type {(node: XastDoctype, config: Options) => string} + */ +const stringifyDoctype = (node, config) => { + return config.doctypeStart + node.data.doctype + config.doctypeEnd; +}; + +/** + * @type {(node: XastInstruction, config: Options) => string} + */ +const stringifyInstruction = (node, config) => { + return ( + config.procInstStart + node.name + ' ' + node.value + config.procInstEnd + ); +}; + +/** + * @type {(node: XastComment, config: Options) => string} + */ +const stringifyComment = (node, config) => { + return config.commentStart + node.value + config.commentEnd; +}; + +/** + * @type {(node: XastCdata, config: Options, state: State) => string} + */ +const stringifyCdata = (node, config, state) => { + return ( + createIndent(config, state) + + config.cdataStart + + node.value + + config.cdataEnd + ); +}; + +/** + * @type {(node: XastElement, config: Options, state: State) => string} + */ +const stringifyElement = (node, config, state) => { + // empty element and short tag + if (node.children.length === 0) { + if (config.useShortTags) { + return ( + createIndent(config, state) + + config.tagShortStart + + node.name + + stringifyAttributes(node, config) + + config.tagShortEnd + ); + } else { + return ( + createIndent(config, state) + + config.tagShortStart + + node.name + + stringifyAttributes(node, config) + + config.tagOpenEnd + + config.tagCloseStart + + node.name + + config.tagCloseEnd + ); + } + // non-empty element + } else { + let tagOpenStart = config.tagOpenStart; + let tagOpenEnd = config.tagOpenEnd; + let tagCloseStart = config.tagCloseStart; + let tagCloseEnd = config.tagCloseEnd; + let openIndent = createIndent(config, state); + let closeIndent = createIndent(config, state); + + if (state.textContext) { + tagOpenStart = defaults.tagOpenStart; + tagOpenEnd = defaults.tagOpenEnd; + tagCloseStart = defaults.tagCloseStart; + tagCloseEnd = defaults.tagCloseEnd; + openIndent = ''; + } else if (textElems.has(node.name)) { + tagOpenEnd = defaults.tagOpenEnd; + tagCloseStart = defaults.tagCloseStart; + closeIndent = ''; + state.textContext = node; + } + + const children = stringifyNode(node, config, state); + + if (state.textContext === node) { + state.textContext = null; + } + + return ( + openIndent + + tagOpenStart + + node.name + + stringifyAttributes(node, config) + + tagOpenEnd + + children + + closeIndent + + tagCloseStart + + node.name + + tagCloseEnd + ); + } +}; + +/** + * @type {(node: XastElement, config: Options) => string} + */ +const stringifyAttributes = (node, config) => { + let attrs = ''; + for (const [name, value] of Object.entries(node.attributes)) { + // TODO remove attributes without values support in v3 + if (value !== undefined) { + const encodedValue = value + .toString() + .replace(config.regValEntities, config.encodeEntity); + attrs += ' ' + name + config.attrStart + encodedValue + config.attrEnd; + } else { + attrs += ' ' + name; + } + } + return attrs; +}; + +/** + * @type {(node: XastText, config: Options, state: State) => string} + */ +const stringifyText = (node, config, state) => { + return ( + createIndent(config, state) + + config.textStart + + node.value.replace(config.regEntities, config.encodeEntity) + + (state.textContext ? '' : config.textEnd) + ); +}; diff --git a/.output/server/node_modules/svgo/lib/style.js b/.output/server/node_modules/svgo/lib/style.js new file mode 100644 index 00000000..0e62afb9 --- /dev/null +++ b/.output/server/node_modules/svgo/lib/style.js @@ -0,0 +1,336 @@ +'use strict'; + +/** + * @typedef {import('css-tree').Rule} CsstreeRule + * @typedef {import('./types').Specificity} Specificity + * @typedef {import('./types').Stylesheet} Stylesheet + * @typedef {import('./types').StylesheetRule} StylesheetRule + * @typedef {import('./types').StylesheetDeclaration} StylesheetDeclaration + * @typedef {import('./types').ComputedStyles} ComputedStyles + * @typedef {import('./types').XastRoot} XastRoot + * @typedef {import('./types').XastElement} XastElement + * @typedef {import('./types').XastParent} XastParent + * @typedef {import('./types').XastChild} XastChild + */ + +const csstree = require('css-tree'); +const csswhat = require('css-what'); +const { + syntax: { specificity }, +} = require('csso'); +const { visit, matches } = require('./xast.js'); +const { + attrsGroups, + inheritableAttrs, + presentationNonInheritableGroupAttrs, +} = require('../plugins/_collections.js'); + +// @ts-ignore not defined in @types/csstree +const csstreeWalkSkip = csstree.walk.skip; + +/** + * @type {(ruleNode: CsstreeRule, dynamic: boolean) => StylesheetRule[]} + */ +const parseRule = (ruleNode, dynamic) => { + /** + * @type {StylesheetDeclaration[]} + */ + const declarations = []; + // collect declarations + ruleNode.block.children.forEach((cssNode) => { + if (cssNode.type === 'Declaration') { + declarations.push({ + name: cssNode.property, + value: csstree.generate(cssNode.value), + important: cssNode.important === true, + }); + } + }); + + /** @type {StylesheetRule[]} */ + const rules = []; + csstree.walk(ruleNode.prelude, (node) => { + if (node.type === 'Selector') { + const newNode = csstree.clone(node); + let hasPseudoClasses = false; + csstree.walk(newNode, (pseudoClassNode, item, list) => { + if (pseudoClassNode.type === 'PseudoClassSelector') { + hasPseudoClasses = true; + list.remove(item); + } + }); + rules.push({ + specificity: specificity(node), + dynamic: hasPseudoClasses || dynamic, + // compute specificity from original node to consider pseudo classes + selector: csstree.generate(newNode), + declarations, + }); + } + }); + + return rules; +}; + +/** + * @type {(css: string, dynamic: boolean) => StylesheetRule[]} + */ +const parseStylesheet = (css, dynamic) => { + /** @type {StylesheetRule[]} */ + const rules = []; + const ast = csstree.parse(css, { + parseValue: false, + parseAtrulePrelude: false, + }); + csstree.walk(ast, (cssNode) => { + if (cssNode.type === 'Rule') { + rules.push(...parseRule(cssNode, dynamic || false)); + return csstreeWalkSkip; + } + if (cssNode.type === 'Atrule') { + if ( + cssNode.name === 'keyframes' || + cssNode.name === '-webkit-keyframes' + ) { + return csstreeWalkSkip; + } + csstree.walk(cssNode, (ruleNode) => { + if (ruleNode.type === 'Rule') { + rules.push(...parseRule(ruleNode, dynamic || true)); + return csstreeWalkSkip; + } + }); + return csstreeWalkSkip; + } + }); + return rules; +}; + +/** + * @type {(css: string) => StylesheetDeclaration[]} + */ +const parseStyleDeclarations = (css) => { + /** @type {StylesheetDeclaration[]} */ + const declarations = []; + const ast = csstree.parse(css, { + context: 'declarationList', + parseValue: false, + }); + csstree.walk(ast, (cssNode) => { + if (cssNode.type === 'Declaration') { + declarations.push({ + name: cssNode.property, + value: csstree.generate(cssNode.value), + important: cssNode.important === true, + }); + } + }); + return declarations; +}; + +/** + * @param {Stylesheet} stylesheet + * @param {XastElement} node + * @returns {ComputedStyles} + */ +const computeOwnStyle = (stylesheet, node) => { + /** @type {ComputedStyles} */ + const computedStyle = {}; + const importantStyles = new Map(); + + // collect attributes + for (const [name, value] of Object.entries(node.attributes)) { + if (attrsGroups.presentation.has(name)) { + computedStyle[name] = { type: 'static', inherited: false, value }; + importantStyles.set(name, false); + } + } + + // collect matching rules + for (const { selector, declarations, dynamic } of stylesheet.rules) { + if (matches(node, selector)) { + for (const { name, value, important } of declarations) { + const computed = computedStyle[name]; + if (computed && computed.type === 'dynamic') { + continue; + } + if (dynamic) { + computedStyle[name] = { type: 'dynamic', inherited: false }; + continue; + } + if ( + computed == null || + important === true || + importantStyles.get(name) === false + ) { + computedStyle[name] = { type: 'static', inherited: false, value }; + importantStyles.set(name, important); + } + } + } + } + + // collect inline styles + const styleDeclarations = + node.attributes.style == null + ? [] + : parseStyleDeclarations(node.attributes.style); + for (const { name, value, important } of styleDeclarations) { + const computed = computedStyle[name]; + if (computed && computed.type === 'dynamic') { + continue; + } + if ( + computed == null || + important === true || + importantStyles.get(name) === false + ) { + computedStyle[name] = { type: 'static', inherited: false, value }; + importantStyles.set(name, important); + } + } + + return computedStyle; +}; + +/** + * Compares selector specificities. + * Derived from https://github.com/keeganstreet/specificity/blob/8757133ddd2ed0163f120900047ff0f92760b536/specificity.js#L207 + * + * @param {Specificity} a + * @param {Specificity} b + * @returns {number} + */ +const compareSpecificity = (a, b) => { + for (let i = 0; i < 4; i += 1) { + if (a[i] < b[i]) { + return -1; + } else if (a[i] > b[i]) { + return 1; + } + } + + return 0; +}; +exports.compareSpecificity = compareSpecificity; + +/** + * @type {(root: XastRoot) => Stylesheet} + */ +const collectStylesheet = (root) => { + /** @type {StylesheetRule[]} */ + const rules = []; + /** @type {Map<XastElement, XastParent>} */ + const parents = new Map(); + + visit(root, { + element: { + enter: (node, parentNode) => { + parents.set(node, parentNode); + + if (node.name !== 'style') { + return; + } + + if ( + node.attributes.type == null || + node.attributes.type === '' || + node.attributes.type === 'text/css' + ) { + const dynamic = + node.attributes.media != null && node.attributes.media !== 'all'; + + for (const child of node.children) { + if (child.type === 'text' || child.type === 'cdata') { + rules.push(...parseStylesheet(child.value, dynamic)); + } + } + } + }, + }, + }); + // sort by selectors specificity + rules.sort((a, b) => compareSpecificity(a.specificity, b.specificity)); + return { rules, parents }; +}; +exports.collectStylesheet = collectStylesheet; + +/** + * @param {Stylesheet} stylesheet + * @param {XastElement} node + * @returns {ComputedStyles} + */ +const computeStyle = (stylesheet, node) => { + const { parents } = stylesheet; + const computedStyles = computeOwnStyle(stylesheet, node); + let parent = parents.get(node); + while (parent != null && parent.type !== 'root') { + const inheritedStyles = computeOwnStyle(stylesheet, parent); + for (const [name, computed] of Object.entries(inheritedStyles)) { + if ( + computedStyles[name] == null && + inheritableAttrs.has(name) && + !presentationNonInheritableGroupAttrs.has(name) + ) { + computedStyles[name] = { ...computed, inherited: true }; + } + } + parent = parents.get(parent); + } + return computedStyles; +}; +exports.computeStyle = computeStyle; + +/** + * Determines if the CSS selector includes or traverses the given attribute. + * + * Classes and IDs are generated as attribute selectors, so you can check for + * if a `.class` or `#id` is included by passing `name=class` or `name=id` + * respectively. + * + * @param {csstree.ListItem<csstree.CssNode>|string} selector + * @param {string} name + * @param {?string} value + * @param {boolean} traversed + * @returns {boolean} + */ +const includesAttrSelector = ( + selector, + name, + value = null, + traversed = false, +) => { + const selectors = + typeof selector === 'string' + ? csswhat.parse(selector) + : csswhat.parse(csstree.generate(selector.data)); + + for (const subselector of selectors) { + const hasAttrSelector = subselector.some((segment, index) => { + if (traversed) { + if (index === subselector.length - 1) { + return false; + } + + const isNextTraversal = csswhat.isTraversal(subselector[index + 1]); + + if (!isNextTraversal) { + return false; + } + } + + if (segment.type !== 'attribute' || segment.name !== name) { + return false; + } + + return value == null ? true : segment.value === value; + }); + + if (hasAttrSelector) { + return true; + } + } + + return false; +}; +exports.includesAttrSelector = includesAttrSelector; diff --git a/.output/server/node_modules/svgo/lib/svgo-node.js b/.output/server/node_modules/svgo/lib/svgo-node.js new file mode 100644 index 00000000..fc3ba8ab --- /dev/null +++ b/.output/server/node_modules/svgo/lib/svgo-node.js @@ -0,0 +1,85 @@ +'use strict'; + +const os = require('os'); +const fs = require('fs'); +const { pathToFileURL } = require('url'); +const path = require('path'); +const { optimize: optimizeAgnostic } = require('./svgo.js'); + +const importConfig = async (configFile) => { + let config; + // at the moment dynamic import may randomly fail with segfault + // to workaround this for some users .cjs extension is loaded + // exclusively with require + if (configFile.endsWith('.cjs')) { + config = require(configFile); + } else { + // dynamic import expects file url instead of path and may fail + // when windows path is provided + const { default: imported } = await import(pathToFileURL(configFile)); + config = imported; + } + if (config == null || typeof config !== 'object' || Array.isArray(config)) { + throw Error(`Invalid config file "${configFile}"`); + } + return config; +}; + +const isFile = async (file) => { + try { + const stats = await fs.promises.stat(file); + return stats.isFile(); + } catch { + return false; + } +}; + +const loadConfig = async (configFile, cwd = process.cwd()) => { + if (configFile != null) { + if (path.isAbsolute(configFile)) { + return await importConfig(configFile); + } else { + return await importConfig(path.join(cwd, configFile)); + } + } + let dir = cwd; + // eslint-disable-next-line no-constant-condition + while (true) { + const js = path.join(dir, 'svgo.config.js'); + if (await isFile(js)) { + return await importConfig(js); + } + const mjs = path.join(dir, 'svgo.config.mjs'); + if (await isFile(mjs)) { + return await importConfig(mjs); + } + const cjs = path.join(dir, 'svgo.config.cjs'); + if (await isFile(cjs)) { + return await importConfig(cjs); + } + const parent = path.dirname(dir); + if (dir === parent) { + return null; + } + dir = parent; + } +}; +exports.loadConfig = loadConfig; + +const optimize = (input, config) => { + if (config == null) { + config = {}; + } + if (typeof config !== 'object') { + throw Error('Config should be an object'); + } + return optimizeAgnostic(input, { + ...config, + js2svg: { + // platform specific default for end of line + eol: os.EOL === '\r\n' ? 'crlf' : 'lf', + ...config.js2svg, + }, + }); +}; +exports.optimize = optimize; diff --git a/.output/server/node_modules/svgo/lib/svgo.js b/.output/server/node_modules/svgo/lib/svgo.js new file mode 100644 index 00000000..acb1f72e --- /dev/null +++ b/.output/server/node_modules/svgo/lib/svgo.js @@ -0,0 +1,102 @@ +'use strict'; + +const { parseSvg } = require('./parser.js'); +const { stringifySvg } = require('./stringifier.js'); +const { builtin } = require('./builtin.js'); +const { invokePlugins } = require('./svgo/plugins.js'); +const { encodeSVGDatauri } = require('./svgo/tools.js'); + +const pluginsMap = {}; +for (const plugin of builtin) { + pluginsMap[plugin.name] = plugin; +} + +const resolvePluginConfig = (plugin) => { + if (typeof plugin === 'string') { + // resolve builtin plugin specified as string + const builtinPlugin = pluginsMap[plugin]; + if (builtinPlugin == null) { + throw Error(`Unknown builtin plugin "${plugin}" specified.`); + } + return { + name: plugin, + params: {}, + fn: builtinPlugin.fn, + }; + } + if (typeof plugin === 'object' && plugin != null) { + if (plugin.name == null) { + throw Error(`Plugin name should be specified`); + } + // use custom plugin implementation + let fn = plugin.fn; + if (fn == null) { + // resolve builtin plugin implementation + const builtinPlugin = pluginsMap[plugin.name]; + if (builtinPlugin == null) { + throw Error(`Unknown builtin plugin "${plugin.name}" specified.`); + } + fn = builtinPlugin.fn; + } + return { + name: plugin.name, + params: plugin.params, + fn, + }; + } + return null; +}; + +const optimize = (input, config) => { + if (config == null) { + config = {}; + } + if (typeof config !== 'object') { + throw Error('Config should be an object'); + } + const maxPassCount = config.multipass ? 10 : 1; + let prevResultSize = Number.POSITIVE_INFINITY; + let output = ''; + const info = {}; + if (config.path != null) { + info.path = config.path; + } + for (let i = 0; i < maxPassCount; i += 1) { + info.multipassCount = i; + const ast = parseSvg(input, config.path); + const plugins = config.plugins || ['preset-default']; + if (!Array.isArray(plugins)) { + throw Error( + 'malformed config, `plugins` property must be an array.\nSee more info here: https://github.com/svg/svgo#configuration', + ); + } + const resolvedPlugins = plugins + .filter((plugin) => plugin != null) + .map(resolvePluginConfig); + + if (resolvedPlugins.length < plugins.length) { + console.warn( + 'Warning: plugins list includes null or undefined elements, these will be ignored.', + ); + } + const globalOverrides = {}; + if (config.floatPrecision != null) { + globalOverrides.floatPrecision = config.floatPrecision; + } + invokePlugins(ast, info, resolvedPlugins, null, globalOverrides); + output = stringifySvg(ast, config.js2svg); + if (output.length < prevResultSize) { + input = output; + prevResultSize = output.length; + } else { + break; + } + } + if (config.datauri) { + output = encodeSVGDatauri(output, config.datauri); + } + return { + data: output, + }; +}; +exports.optimize = optimize; diff --git a/.output/server/node_modules/svgo/lib/svgo/css-select-adapter.js b/.output/server/node_modules/svgo/lib/svgo/css-select-adapter.js new file mode 100644 index 00000000..e9f1024a --- /dev/null +++ b/.output/server/node_modules/svgo/lib/svgo/css-select-adapter.js @@ -0,0 +1,120 @@ +'use strict'; + +const isTag = (node) => { + return node.type === 'element'; +}; + +const existsOne = (test, elems) => { + return elems.some((elem) => { + if (isTag(elem)) { + return test(elem) || existsOne(test, getChildren(elem)); + } else { + return false; + } + }); +}; + +const getAttributeValue = (elem, name) => { + return elem.attributes[name]; +}; + +const getChildren = (node) => { + return node.children || []; +}; + +const getName = (elemAst) => { + return elemAst.name; +}; + +const getParent = (node) => { + return node.parentNode || null; +}; + +const getSiblings = (elem) => { + var parent = getParent(elem); + return parent ? getChildren(parent) : []; +}; + +const getText = (node) => { + if (node.children[0].type === 'text' && node.children[0].type === 'cdata') { + return node.children[0].value; + } + return ''; +}; + +const hasAttrib = (elem, name) => { + return elem.attributes[name] !== undefined; +}; + +const removeSubsets = (nodes) => { + let idx = nodes.length; + let node; + let ancestor; + let replace; + // Check if each node (or one of its ancestors) is already contained in the + // array. + while (--idx > -1) { + node = ancestor = nodes[idx]; + // Temporarily remove the node under consideration + nodes[idx] = null; + replace = true; + while (ancestor) { + if (nodes.includes(ancestor)) { + replace = false; + nodes.splice(idx, 1); + break; + } + ancestor = getParent(ancestor); + } + // If the node has been found to be unique, re-insert it. + if (replace) { + nodes[idx] = node; + } + } + return nodes; +}; + +const findAll = (test, elems) => { + const result = []; + for (const elem of elems) { + if (isTag(elem)) { + if (test(elem)) { + result.push(elem); + } + result.push(...findAll(test, getChildren(elem))); + } + } + return result; +}; + +const findOne = (test, elems) => { + for (const elem of elems) { + if (isTag(elem)) { + if (test(elem)) { + return elem; + } + const result = findOne(test, getChildren(elem)); + if (result) { + return result; + } + } + } + return null; +}; + +const svgoCssSelectAdapter = { + isTag, + existsOne, + getAttributeValue, + getChildren, + getName, + getParent, + getSiblings, + getText, + hasAttrib, + removeSubsets, + findAll, + findOne, +}; + +module.exports = svgoCssSelectAdapter; diff --git a/.output/server/node_modules/svgo/lib/svgo/plugins.js b/.output/server/node_modules/svgo/lib/svgo/plugins.js new file mode 100644 index 00000000..10e93e9c --- /dev/null +++ b/.output/server/node_modules/svgo/lib/svgo/plugins.js @@ -0,0 +1,61 @@ +'use strict'; + +const { visit } = require('../xast.js'); + +/** + * Plugins engine. + * + * @module plugins + * + * @param {Object} ast input ast + * @param {Object} info extra information + * @param {Array} plugins plugins object from config + * @return {Object} output ast + */ +const invokePlugins = (ast, info, plugins, overrides, globalOverrides) => { + for (const plugin of plugins) { + const override = overrides?.[plugin.name]; + if (override === false) { + continue; + } + const params = { ...plugin.params, ...globalOverrides, ...override }; + + const visitor = plugin.fn(ast, params, info); + if (visitor != null) { + visit(ast, visitor); + } + } +}; +exports.invokePlugins = invokePlugins; + +const createPreset = ({ name, plugins }) => { + return { + name, + fn: (ast, params, info) => { + const { floatPrecision, overrides } = params; + const globalOverrides = {}; + if (floatPrecision != null) { + globalOverrides.floatPrecision = floatPrecision; + } + if (overrides) { + const pluginNames = plugins.map(({ name }) => name); + for (const pluginName of Object.keys(overrides)) { + if (!pluginNames.includes(pluginName)) { + console.warn( + `You are trying to configure ${pluginName} which is not part of ${name}.\n` + + `Try to put it before or after, for example\n\n` + + `plugins: [\n` + + ` {\n` + + ` name: '${name}',\n` + + ` },\n` + + ` '${pluginName}'\n` + + `]\n`, + ); + } + } + } + invokePlugins(ast, info, plugins, overrides, globalOverrides); + }, + }; +}; +exports.createPreset = createPreset; diff --git a/.output/server/node_modules/svgo/lib/svgo/tools.js b/.output/server/node_modules/svgo/lib/svgo/tools.js new file mode 100644 index 00000000..2d5269ec --- /dev/null +++ b/.output/server/node_modules/svgo/lib/svgo/tools.js @@ -0,0 +1,245 @@ +'use strict'; + +/** + * @typedef {import('../../lib/types').XastElement} XastElement + * @typedef {import('../types').PathDataCommand} PathDataCommand + * @typedef {import('../types').DataUri} DataUri + */ + +const { attrsGroups, referencesProps } = require('../../plugins/_collections'); + +const regReferencesUrl = /\burl\((["'])?#(.+?)\1\)/g; +const regReferencesHref = /^#(.+?)$/; +const regReferencesBegin = /(\w+)\.[a-zA-Z]/; + +/** + * Encode plain SVG data string into Data URI string. + * + * @type {(str: string, type?: DataUri) => string} + */ +exports.encodeSVGDatauri = (str, type) => { + var prefix = 'data:image/svg+xml'; + if (!type || type === 'base64') { + // base64 + prefix += ';base64,'; + str = prefix + Buffer.from(str).toString('base64'); + } else if (type === 'enc') { + // URI encoded + str = prefix + ',' + encodeURIComponent(str); + } else if (type === 'unenc') { + // unencoded + str = prefix + ',' + str; + } + return str; +}; + +/** + * Decode SVG Data URI string into plain SVG string. + * + * @type {(str: string) => string} + */ +exports.decodeSVGDatauri = (str) => { + var regexp = /data:image\/svg\+xml(;charset=[^;,]*)?(;base64)?,(.*)/; + var match = regexp.exec(str); + + // plain string + if (!match) return str; + + var data = match[3]; + + if (match[2]) { + // base64 + str = Buffer.from(data, 'base64').toString('utf8'); + } else if (data.charAt(0) === '%') { + // URI encoded + str = decodeURIComponent(data); + } else if (data.charAt(0) === '<') { + // unencoded + str = data; + } + return str; +}; + +/** + * @typedef {{ + * noSpaceAfterFlags?: boolean, + * leadingZero?: boolean, + * negativeExtraSpace?: boolean + * }} CleanupOutDataParams + */ + +/** + * Convert a row of numbers to an optimized string view. + * + * @example + * [0, -1, .5, .5] → "0-1 .5.5" + * + * @type {(data: number[], params: CleanupOutDataParams, command?: PathDataCommand) => string} + */ +exports.cleanupOutData = (data, params, command) => { + let str = ''; + let delimiter; + /** + * @type {number} + */ + let prev; + + data.forEach((item, i) => { + // space delimiter by default + delimiter = ' '; + + // no extra space in front of first number + if (i == 0) delimiter = ''; + + // no extra space after 'arcto' command flags(large-arc and sweep flags) + // a20 60 45 0 1 30 20 → a20 60 45 0130 20 + if (params.noSpaceAfterFlags && (command == 'A' || command == 'a')) { + var pos = i % 7; + if (pos == 4 || pos == 5) delimiter = ''; + } + + // remove floating-point numbers leading zeros + // 0.5 → .5 + // -0.5 → -.5 + const itemStr = params.leadingZero + ? removeLeadingZero(item) + : item.toString(); + + // no extra space in front of negative number or + // in front of a floating number if a previous number is floating too + if ( + params.negativeExtraSpace && + delimiter != '' && + (item < 0 || (itemStr.charAt(0) === '.' && prev % 1 !== 0)) + ) { + delimiter = ''; + } + // save prev item value + prev = item; + str += delimiter + itemStr; + }); + return str; +}; + +/** + * Remove floating-point numbers leading zero. + * + * @param {number} value + * @returns {string} + * @example + * 0.5 → .5 + * -0.5 → -.5 + */ +const removeLeadingZero = (value) => { + const strValue = value.toString(); + + if (0 < value && value < 1 && strValue.startsWith('0')) { + return strValue.slice(1); + } + + if (-1 < value && value < 0 && strValue[1] === '0') { + return strValue[0] + strValue.slice(2); + } + + return strValue; +}; +exports.removeLeadingZero = removeLeadingZero; + +/** + * If the current node contains any scripts. This does not check parents or + * children of the node, only the properties and attributes of the node itself. + * + * @param {XastElement} node Current node to check against. + * @returns {boolean} If the current node contains scripts. + */ +const hasScripts = (node) => { + if (node.name === 'script' && node.children.length !== 0) { + return true; + } + + if (node.name === 'a') { + const hasJsLinks = Object.entries(node.attributes).some( + ([attrKey, attrValue]) => + (attrKey === 'href' || attrKey.endsWith(':href')) && + attrValue != null && + attrValue.trimStart().startsWith('javascript:'), + ); + + if (hasJsLinks) { + return true; + } + } + + const eventAttrs = [ + ...attrsGroups.animationEvent, + ...attrsGroups.documentEvent, + ...attrsGroups.documentElementEvent, + ...attrsGroups.globalEvent, + ...attrsGroups.graphicalEvent, + ]; + + return eventAttrs.some((attr) => node.attributes[attr] != null); +}; +exports.hasScripts = hasScripts; + +/** + * For example, a string that contains one or more of following would match and + * return true: + * + * * `url(#gradient001)` + * * `url('#gradient001')` + * + * @param {string} body + * @returns {boolean} If the given string includes a URL reference. + */ +const includesUrlReference = (body) => { + return new RegExp(regReferencesUrl).test(body); +}; +exports.includesUrlReference = includesUrlReference; + +/** + * @param {string} attribute + * @param {string} value + * @returns {string[]} + */ +const findReferences = (attribute, value) => { + const results = []; + + if (referencesProps.has(attribute)) { + const matches = value.matchAll(regReferencesUrl); + for (const match of matches) { + results.push(match[2]); + } + } + + if (attribute === 'href' || attribute.endsWith(':href')) { + const match = regReferencesHref.exec(value); + if (match != null) { + results.push(match[1]); + } + } + + if (attribute === 'begin') { + const match = regReferencesBegin.exec(value); + if (match != null) { + results.push(match[1]); + } + } + + return results.map((body) => decodeURI(body)); +}; +exports.findReferences = findReferences; + +/** + * Does the same as {@link Number.toFixed} but without casting + * the return value to a string. + * + * @param {number} num + * @param {number} precision + * @returns {number} + */ +const toFixed = (num, precision) => { + const pow = 10 ** precision; + return Math.round(num * pow) / pow; +}; +exports.toFixed = toFixed; diff --git a/.output/server/node_modules/svgo/lib/xast.js b/.output/server/node_modules/svgo/lib/xast.js new file mode 100644 index 00000000..9dca9646 --- /dev/null +++ b/.output/server/node_modules/svgo/lib/xast.js @@ -0,0 +1,87 @@ +'use strict'; + +/** + * @typedef {import('./types').XastNode} XastNode + * @typedef {import('./types').XastChild} XastChild + * @typedef {import('./types').XastParent} XastParent + * @typedef {import('./types').Visitor} Visitor + */ + +const { selectAll, selectOne, is } = require('css-select'); +const xastAdaptor = require('./svgo/css-select-adapter.js'); + +const cssSelectOptions = { + xmlMode: true, + adapter: xastAdaptor, +}; + +/** + * @type {(node: XastNode, selector: string) => XastChild[]} + */ +const querySelectorAll = (node, selector) => { + return selectAll(selector, node, cssSelectOptions); +}; +exports.querySelectorAll = querySelectorAll; + +/** + * @type {(node: XastNode, selector: string) => ?XastChild} + */ +const querySelector = (node, selector) => { + return selectOne(selector, node, cssSelectOptions); +}; +exports.querySelector = querySelector; + +/** + * @type {(node: XastChild, selector: string) => boolean} + */ +const matches = (node, selector) => { + return is(node, selector, cssSelectOptions); +}; +exports.matches = matches; + +const visitSkip = Symbol(); +exports.visitSkip = visitSkip; + +/** + * @type {(node: XastNode, visitor: Visitor, parentNode?: any) => void} + */ +const visit = (node, visitor, parentNode) => { + const callbacks = visitor[node.type]; + if (callbacks && callbacks.enter) { + // @ts-ignore hard to infer + const symbol = callbacks.enter(node, parentNode); + if (symbol === visitSkip) { + return; + } + } + // visit root children + if (node.type === 'root') { + // copy children array to not loose cursor when children is spliced + for (const child of node.children) { + visit(child, visitor, node); + } + } + // visit element children if still attached to parent + if (node.type === 'element') { + if (parentNode.children.includes(node)) { + for (const child of node.children) { + visit(child, visitor, node); + } + } + } + if (callbacks && callbacks.exit) { + // @ts-ignore hard to infer + callbacks.exit(node, parentNode); + } +}; +exports.visit = visit; + +/** + * @param {XastChild} node + * @param {XastParent} parentNode + */ +const detachNodeFromParent = (node, parentNode) => { + // avoid splice to not break for loops + parentNode.children = parentNode.children.filter((child) => child !== node); +}; +exports.detachNodeFromParent = detachNodeFromParent; diff --git a/.output/server/node_modules/svgo/node_modules/css-tree b/.output/server/node_modules/svgo/node_modules/css-tree new file mode 120000 index 00000000..befe8ba8 --- /dev/null +++ b/.output/server/node_modules/svgo/node_modules/css-tree @@ -0,0 +1 @@ +../../.nitro/css-tree@2.3.1 \ No newline at end of file diff --git a/.output/server/node_modules/svgo/package.json b/.output/server/node_modules/svgo/package.json new file mode 100644 index 00000000..847d260e --- /dev/null +++ b/.output/server/node_modules/svgo/package.json @@ -0,0 +1,108 @@ +{ + "packageManager": "yarn@2.4.3", + "name": "svgo", + "version": "3.3.2", + "description": "Nodejs-based tool for optimizing SVG vector graphics files", + "license": "MIT", + "keywords": [ + "svgo", + "svg", + "optimize", + "minify" + ], + "homepage": "https://svgo.dev", + "bugs": { + "url": "https://github.com/svg/svgo/issues" + }, + "author": { + "name": "Kir Belevich", + "email": "kir@belevi.ch", + "url": "https://github.com/deepsweet" + }, + "contributors": [ + { + "name": "Sergey Belov", + "email": "peimei@ya.ru", + "url": "https://github.com/arikon" + }, + { + "name": "Lev Solntsev", + "email": "lev.sun@ya.ru", + "url": "https://github.com/GreLI" + }, + { + "name": "Bogdan Chadkin", + "email": "trysound@yandex.ru", + "url": "https://github.com/TrySound" + }, + { + "name": "Seth Falco", + "email": "seth@falco.fun", + "url": "https://falco.fun/" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/svg/svgo.git" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + }, + "main": "./lib/svgo-node.js", + "bin": "./bin/svgo", + "types": "./lib/svgo.d.ts", + "files": [ + "bin", + "lib", + "plugins", + "dist", + "!**/*.test.js" + ], + "engines": { + "node": ">=14.0.0" + }, + "scripts": { + "test": "NODE_OPTIONS=--experimental-vm-modules jest --maxWorkers=4 --coverage", + "lint": "eslint --ignore-path .gitignore . && prettier --check . --ignore-path .gitignore", + "fix": "eslint --ignore-path .gitignore --fix . && prettier --write . --ignore-path .gitignore", + "typecheck": "tsc", + "test-browser": "rollup -c && node ./test/browser.js", + "test-regression": "node ./test/regression-extract.js && NO_DIFF=1 node ./test/regression.js", + "prepublishOnly": "rm -rf dist && rollup -c", + "qa": "yarn lint && yarn typecheck && yarn test && yarn test-browser && yarn test-regression" + }, + "jest": { + "coveragePathIgnorePatterns": [ + "fixtures" + ] + }, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^22.0.2", + "@rollup/plugin-node-resolve": "^14.1.0", + "@types/css-tree": "^2.3.4", + "@types/csso": "^5.0.4", + "@types/jest": "^29.5.5", + "del": "^6.0.0", + "eslint": "^8.55.0", + "jest": "^29.5.5", + "node-fetch": "^2.7.0", + "pixelmatch": "^5.3.0", + "playwright": "^1.40.1", + "pngjs": "^7.0.0", + "prettier": "^3.1.1", + "rollup": "^2.79.1", + "rollup-plugin-terser": "^7.0.2", + "tar-stream": "^3.1.6", + "typescript": "^5.3.3" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/svgo/plugins/_collections.js b/.output/server/node_modules/svgo/plugins/_collections.js new file mode 100644 index 00000000..6f11b136 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/_collections.js @@ -0,0 +1,2339 @@ +'use strict'; + +// https://www.w3.org/TR/SVG11/intro.html#Definitions + +/** + * @type {Record<string, Set<string>>} + */ +exports.elemsGroups = { + animation: new Set([ + 'animate', + 'animateColor', + 'animateMotion', + 'animateTransform', + 'set', + ]), + descriptive: new Set(['desc', 'metadata', 'title']), + shape: new Set([ + 'circle', + 'ellipse', + 'line', + 'path', + 'polygon', + 'polyline', + 'rect', + ]), + structural: new Set(['defs', 'g', 'svg', 'symbol', 'use']), + paintServer: new Set([ + 'hatch', + 'linearGradient', + 'meshGradient', + 'pattern', + 'radialGradient', + 'solidColor', + ]), + nonRendering: new Set([ + 'clipPath', + 'filter', + 'linearGradient', + 'marker', + 'mask', + 'pattern', + 'radialGradient', + 'solidColor', + 'symbol', + ]), + container: new Set([ + 'a', + 'defs', + 'foreignObject', + 'g', + 'marker', + 'mask', + 'missing-glyph', + 'pattern', + 'svg', + 'switch', + 'symbol', + ]), + textContent: new Set([ + 'altGlyph', + 'altGlyphDef', + 'altGlyphItem', + 'glyph', + 'glyphRef', + 'text', + 'textPath', + 'tref', + 'tspan', + ]), + textContentChild: new Set(['altGlyph', 'textPath', 'tref', 'tspan']), + lightSource: new Set([ + 'feDiffuseLighting', + 'feDistantLight', + 'fePointLight', + 'feSpecularLighting', + 'feSpotLight', + ]), + filterPrimitive: new Set([ + 'feBlend', + 'feColorMatrix', + 'feComponentTransfer', + 'feComposite', + 'feConvolveMatrix', + 'feDiffuseLighting', + 'feDisplacementMap', + 'feDropShadow', + 'feFlood', + 'feFuncA', + 'feFuncB', + 'feFuncG', + 'feFuncR', + 'feGaussianBlur', + 'feImage', + 'feMerge', + 'feMergeNode', + 'feMorphology', + 'feOffset', + 'feSpecularLighting', + 'feTile', + 'feTurbulence', + ]), +}; + +/** + * Elements where adding or removing whitespace may effect rendering, metadata, + * or semantic meaning. + * + * @see https://developer.mozilla.org/docs/Web/HTML/Element/pre + */ +exports.textElems = new Set([ + ...exports.elemsGroups.textContent, + 'pre', + 'title', +]); + +exports.pathElems = new Set(['glyph', 'missing-glyph', 'path']); + +/** + * @type {Record<string, Set<string>>} + * @see https://www.w3.org/TR/SVG11/intro.html#Definitions + */ +exports.attrsGroups = { + animationAddition: new Set(['additive', 'accumulate']), + animationAttributeTarget: new Set(['attributeType', 'attributeName']), + animationEvent: new Set(['onbegin', 'onend', 'onrepeat', 'onload']), + animationTiming: new Set([ + 'begin', + 'dur', + 'end', + 'fill', + 'max', + 'min', + 'repeatCount', + 'repeatDur', + 'restart', + ]), + animationValue: new Set([ + 'by', + 'calcMode', + 'from', + 'keySplines', + 'keyTimes', + 'to', + 'values', + ]), + conditionalProcessing: new Set([ + 'requiredExtensions', + 'requiredFeatures', + 'systemLanguage', + ]), + core: new Set(['id', 'tabindex', 'xml:base', 'xml:lang', 'xml:space']), + graphicalEvent: new Set([ + 'onactivate', + 'onclick', + 'onfocusin', + 'onfocusout', + 'onload', + 'onmousedown', + 'onmousemove', + 'onmouseout', + 'onmouseover', + 'onmouseup', + ]), + presentation: new Set([ + 'alignment-baseline', + 'baseline-shift', + 'clip-path', + 'clip-rule', + 'clip', + 'color-interpolation-filters', + 'color-interpolation', + 'color-profile', + 'color-rendering', + 'color', + 'cursor', + 'direction', + 'display', + 'dominant-baseline', + 'enable-background', + 'fill-opacity', + 'fill-rule', + 'fill', + 'filter', + 'flood-color', + 'flood-opacity', + 'font-family', + 'font-size-adjust', + 'font-size', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'glyph-orientation-horizontal', + 'glyph-orientation-vertical', + 'image-rendering', + 'letter-spacing', + 'lighting-color', + 'marker-end', + 'marker-mid', + 'marker-start', + 'mask', + 'opacity', + 'overflow', + 'paint-order', + 'pointer-events', + 'shape-rendering', + 'stop-color', + 'stop-opacity', + 'stroke-dasharray', + 'stroke-dashoffset', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-miterlimit', + 'stroke-opacity', + 'stroke-width', + 'stroke', + 'text-anchor', + 'text-decoration', + 'text-overflow', + 'text-rendering', + 'transform-origin', + 'transform', + 'unicode-bidi', + 'vector-effect', + 'visibility', + 'word-spacing', + 'writing-mode', + ]), + xlink: new Set([ + 'xlink:actuate', + 'xlink:arcrole', + 'xlink:href', + 'xlink:role', + 'xlink:show', + 'xlink:title', + 'xlink:type', + ]), + documentEvent: new Set([ + 'onabort', + 'onerror', + 'onresize', + 'onscroll', + 'onunload', + 'onzoom', + ]), + documentElementEvent: new Set(['oncopy', 'oncut', 'onpaste']), + globalEvent: new Set([ + 'oncancel', + 'oncanplay', + 'oncanplaythrough', + 'onchange', + 'onclick', + 'onclose', + 'oncuechange', + 'ondblclick', + 'ondrag', + 'ondragend', + 'ondragenter', + 'ondragleave', + 'ondragover', + 'ondragstart', + 'ondrop', + 'ondurationchange', + 'onemptied', + 'onended', + 'onerror', + 'onfocus', + 'oninput', + 'oninvalid', + 'onkeydown', + 'onkeypress', + 'onkeyup', + 'onload', + 'onloadeddata', + 'onloadedmetadata', + 'onloadstart', + 'onmousedown', + 'onmouseenter', + 'onmouseleave', + 'onmousemove', + 'onmouseout', + 'onmouseover', + 'onmouseup', + 'onmousewheel', + 'onpause', + 'onplay', + 'onplaying', + 'onprogress', + 'onratechange', + 'onreset', + 'onresize', + 'onscroll', + 'onseeked', + 'onseeking', + 'onselect', + 'onshow', + 'onstalled', + 'onsubmit', + 'onsuspend', + 'ontimeupdate', + 'ontoggle', + 'onvolumechange', + 'onwaiting', + ]), + filterPrimitive: new Set(['x', 'y', 'width', 'height', 'result']), + transferFunction: new Set([ + 'amplitude', + 'exponent', + 'intercept', + 'offset', + 'slope', + 'tableValues', + 'type', + ]), +}; + +/** + * @type {Record<string, Record<string, string>>} + */ +exports.attrsGroupsDefaults = { + core: { 'xml:space': 'default' }, + presentation: { + clip: 'auto', + 'clip-path': 'none', + 'clip-rule': 'nonzero', + mask: 'none', + opacity: '1', + 'stop-color': '#000', + 'stop-opacity': '1', + 'fill-opacity': '1', + 'fill-rule': 'nonzero', + fill: '#000', + stroke: 'none', + 'stroke-width': '1', + 'stroke-linecap': 'butt', + 'stroke-linejoin': 'miter', + 'stroke-miterlimit': '4', + 'stroke-dasharray': 'none', + 'stroke-dashoffset': '0', + 'stroke-opacity': '1', + 'paint-order': 'normal', + 'vector-effect': 'none', + display: 'inline', + visibility: 'visible', + 'marker-start': 'none', + 'marker-mid': 'none', + 'marker-end': 'none', + 'color-interpolation': 'sRGB', + 'color-interpolation-filters': 'linearRGB', + 'color-rendering': 'auto', + 'shape-rendering': 'auto', + 'text-rendering': 'auto', + 'image-rendering': 'auto', + 'font-style': 'normal', + 'font-variant': 'normal', + 'font-weight': 'normal', + 'font-stretch': 'normal', + 'font-size': 'medium', + 'font-size-adjust': 'none', + kerning: 'auto', + 'letter-spacing': 'normal', + 'word-spacing': 'normal', + 'text-decoration': 'none', + 'text-anchor': 'start', + 'text-overflow': 'clip', + 'writing-mode': 'lr-tb', + 'glyph-orientation-vertical': 'auto', + 'glyph-orientation-horizontal': '0deg', + direction: 'ltr', + 'unicode-bidi': 'normal', + 'dominant-baseline': 'auto', + 'alignment-baseline': 'baseline', + 'baseline-shift': 'baseline', + }, + transferFunction: { + slope: '1', + intercept: '0', + amplitude: '1', + exponent: '1', + offset: '0', + }, +}; + +/** + * @type {Record<string, { + * attrsGroups: Set<string>, + * attrs?: Set<string>, + * defaults?: Record<string, string>, + * contentGroups?: Set<string>, + * content?: Set<string>, + * }>} + * @see https://www.w3.org/TR/SVG11/eltindex.html + */ +exports.elems = { + a: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'style', + 'target', + 'transform', + ]), + defaults: { + target: '_self', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + // not spec compliant + 'tspan', + ]), + }, + altGlyph: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'dx', + 'dy', + 'externalResourcesRequired', + 'format', + 'glyphRef', + 'rotate', + 'style', + 'x', + 'y', + ]), + }, + altGlyphDef: { + attrsGroups: new Set(['core']), + content: new Set(['glyphRef']), + }, + altGlyphItem: { + attrsGroups: new Set(['core']), + content: new Set(['glyphRef', 'altGlyphItem']), + }, + animate: { + attrsGroups: new Set([ + 'animationAddition', + 'animationAttributeTarget', + 'animationEvent', + 'animationTiming', + 'animationValue', + 'conditionalProcessing', + 'core', + 'presentation', + 'xlink', + ]), + attrs: new Set(['externalResourcesRequired']), + contentGroups: new Set(['descriptive']), + }, + animateColor: { + attrsGroups: new Set([ + 'animationAddition', + 'animationAttributeTarget', + 'animationEvent', + 'animationTiming', + 'animationValue', + 'conditionalProcessing', + 'core', + 'presentation', + 'xlink', + ]), + attrs: new Set(['externalResourcesRequired']), + contentGroups: new Set(['descriptive']), + }, + animateMotion: { + attrsGroups: new Set([ + 'animationAddition', + 'animationEvent', + 'animationTiming', + 'animationValue', + 'conditionalProcessing', + 'core', + 'xlink', + ]), + attrs: new Set([ + 'externalResourcesRequired', + 'keyPoints', + 'origin', + 'path', + 'rotate', + ]), + defaults: { + rotate: '0', + }, + contentGroups: new Set(['descriptive']), + content: new Set(['mpath']), + }, + animateTransform: { + attrsGroups: new Set([ + 'animationAddition', + 'animationAttributeTarget', + 'animationEvent', + 'animationTiming', + 'animationValue', + 'conditionalProcessing', + 'core', + 'xlink', + ]), + attrs: new Set(['externalResourcesRequired', 'type']), + contentGroups: new Set(['descriptive']), + }, + circle: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'cx', + 'cy', + 'externalResourcesRequired', + 'r', + 'style', + 'transform', + ]), + defaults: { + cx: '0', + cy: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + clipPath: { + attrsGroups: new Set(['conditionalProcessing', 'core', 'presentation']), + attrs: new Set([ + 'class', + 'clipPathUnits', + 'externalResourcesRequired', + 'style', + 'transform', + ]), + defaults: { + clipPathUnits: 'userSpaceOnUse', + }, + contentGroups: new Set(['animation', 'descriptive', 'shape']), + content: new Set(['text', 'use']), + }, + 'color-profile': { + attrsGroups: new Set(['core', 'xlink']), + attrs: new Set(['local', 'name', 'rendering-intent']), + defaults: { + name: 'sRGB', + 'rendering-intent': 'auto', + }, + contentGroups: new Set(['descriptive']), + }, + cursor: { + attrsGroups: new Set(['core', 'conditionalProcessing', 'xlink']), + attrs: new Set(['externalResourcesRequired', 'x', 'y']), + defaults: { + x: '0', + y: '0', + }, + contentGroups: new Set(['descriptive']), + }, + defs: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'style', + 'transform', + ]), + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + desc: { + attrsGroups: new Set(['core']), + attrs: new Set(['class', 'style']), + }, + ellipse: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'cx', + 'cy', + 'externalResourcesRequired', + 'rx', + 'ry', + 'style', + 'transform', + ]), + defaults: { + cx: '0', + cy: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + feBlend: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'style', + // TODO: in - 'If no value is provided and this is the first filter primitive, + // then this filter primitive will use SourceGraphic as its input' + 'in', + 'in2', + 'mode', + ]), + defaults: { + mode: 'normal', + }, + content: new Set(['animate', 'set']), + }, + feColorMatrix: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in', 'type', 'values']), + defaults: { + type: 'matrix', + }, + content: new Set(['animate', 'set']), + }, + feComponentTransfer: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in']), + content: new Set(['feFuncA', 'feFuncB', 'feFuncG', 'feFuncR']), + }, + feComposite: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'in', + 'in2', + 'k1', + 'k2', + 'k3', + 'k4', + 'operator', + 'style', + ]), + defaults: { + operator: 'over', + k1: '0', + k2: '0', + k3: '0', + k4: '0', + }, + content: new Set(['animate', 'set']), + }, + feConvolveMatrix: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'in', + 'kernelMatrix', + 'order', + 'style', + // TODO: divisor - 'The default value is the sum of all values in kernelMatrix, + // with the exception that if the sum is zero, then the divisor is set to 1' + 'bias', + 'divisor', + // TODO: targetX - 'By default, the convolution matrix is centered in X over each + // pixel of the input image (i.e., targetX = floor ( orderX / 2 ))' + 'edgeMode', + 'targetX', + 'targetY', + // TODO: kernelUnitLength - 'The first number is the <dx> value. The second number + // is the <dy> value. If the <dy> value is not specified, it defaults to the same value as <dx>' + 'kernelUnitLength', + 'preserveAlpha', + ]), + defaults: { + order: '3', + bias: '0', + edgeMode: 'duplicate', + preserveAlpha: 'false', + }, + content: new Set(['animate', 'set']), + }, + feDiffuseLighting: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'diffuseConstant', + 'in', + 'kernelUnitLength', + 'style', + 'surfaceScale', + ]), + defaults: { + surfaceScale: '1', + diffuseConstant: '1', + }, + contentGroups: new Set(['descriptive']), + content: new Set([ + // TODO: 'exactly one light source element, in any order' + 'feDistantLight', + 'fePointLight', + 'feSpotLight', + ]), + }, + feDisplacementMap: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'in', + 'in2', + 'scale', + 'style', + 'xChannelSelector', + 'yChannelSelector', + ]), + defaults: { + scale: '0', + xChannelSelector: 'A', + yChannelSelector: 'A', + }, + content: new Set(['animate', 'set']), + }, + feDistantLight: { + attrsGroups: new Set(['core']), + attrs: new Set(['azimuth', 'elevation']), + defaults: { + azimuth: '0', + elevation: '0', + }, + content: new Set(['animate', 'set']), + }, + feFlood: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style']), + content: new Set(['animate', 'animateColor', 'set']), + }, + feFuncA: { + attrsGroups: new Set(['core', 'transferFunction']), + content: new Set(['set', 'animate']), + }, + feFuncB: { + attrsGroups: new Set(['core', 'transferFunction']), + content: new Set(['set', 'animate']), + }, + feFuncG: { + attrsGroups: new Set(['core', 'transferFunction']), + content: new Set(['set', 'animate']), + }, + feFuncR: { + attrsGroups: new Set(['core', 'transferFunction']), + content: new Set(['set', 'animate']), + }, + feGaussianBlur: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in', 'stdDeviation']), + defaults: { + stdDeviation: '0', + }, + content: new Set(['set', 'animate']), + }, + feImage: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive', 'xlink']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'href', + 'preserveAspectRatio', + 'style', + 'xlink:href', + ]), + defaults: { + preserveAspectRatio: 'xMidYMid meet', + }, + content: new Set(['animate', 'animateTransform', 'set']), + }, + feMerge: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style']), + content: new Set(['feMergeNode']), + }, + feMergeNode: { + attrsGroups: new Set(['core']), + attrs: new Set(['in']), + content: new Set(['animate', 'set']), + }, + feMorphology: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in', 'operator', 'radius']), + defaults: { + operator: 'erode', + radius: '0', + }, + content: new Set(['animate', 'set']), + }, + feOffset: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in', 'dx', 'dy']), + defaults: { + dx: '0', + dy: '0', + }, + content: new Set(['animate', 'set']), + }, + fePointLight: { + attrsGroups: new Set(['core']), + attrs: new Set(['x', 'y', 'z']), + defaults: { + x: '0', + y: '0', + z: '0', + }, + content: new Set(['animate', 'set']), + }, + feSpecularLighting: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'class', + 'in', + 'kernelUnitLength', + 'specularConstant', + 'specularExponent', + 'style', + 'surfaceScale', + ]), + defaults: { + surfaceScale: '1', + specularConstant: '1', + specularExponent: '1', + }, + contentGroups: new Set([ + 'descriptive', + // TODO: exactly one 'light source element' + 'lightSource', + ]), + }, + feSpotLight: { + attrsGroups: new Set(['core']), + attrs: new Set([ + 'limitingConeAngle', + 'pointsAtX', + 'pointsAtY', + 'pointsAtZ', + 'specularExponent', + 'x', + 'y', + 'z', + ]), + defaults: { + x: '0', + y: '0', + z: '0', + pointsAtX: '0', + pointsAtY: '0', + pointsAtZ: '0', + specularExponent: '1', + }, + content: new Set(['animate', 'set']), + }, + feTile: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set(['class', 'style', 'in']), + content: new Set(['animate', 'set']), + }, + feTurbulence: { + attrsGroups: new Set(['core', 'presentation', 'filterPrimitive']), + attrs: new Set([ + 'baseFrequency', + 'class', + 'numOctaves', + 'seed', + 'stitchTiles', + 'style', + 'type', + ]), + defaults: { + baseFrequency: '0', + numOctaves: '1', + seed: '0', + stitchTiles: 'noStitch', + type: 'turbulence', + }, + content: new Set(['animate', 'set']), + }, + filter: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'filterRes', + 'filterUnits', + 'height', + 'href', + 'primitiveUnits', + 'style', + 'width', + 'x', + 'xlink:href', + 'y', + ]), + defaults: { + primitiveUnits: 'userSpaceOnUse', + x: '-10%', + y: '-10%', + width: '120%', + height: '120%', + }, + contentGroups: new Set(['descriptive', 'filterPrimitive']), + content: new Set(['animate', 'set']), + }, + font: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'horiz-adv-x', + 'horiz-origin-x', + 'horiz-origin-y', + 'style', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + ]), + defaults: { + 'horiz-origin-x': '0', + 'horiz-origin-y': '0', + }, + contentGroups: new Set(['descriptive']), + content: new Set(['font-face', 'glyph', 'hkern', 'missing-glyph', 'vkern']), + }, + 'font-face': { + attrsGroups: new Set(['core']), + attrs: new Set([ + 'font-family', + 'font-style', + 'font-variant', + 'font-weight', + 'font-stretch', + 'font-size', + 'unicode-range', + 'units-per-em', + 'panose-1', + 'stemv', + 'stemh', + 'slope', + 'cap-height', + 'x-height', + 'accent-height', + 'ascent', + 'descent', + 'widths', + 'bbox', + 'ideographic', + 'alphabetic', + 'mathematical', + 'hanging', + 'v-ideographic', + 'v-alphabetic', + 'v-mathematical', + 'v-hanging', + 'underline-position', + 'underline-thickness', + 'strikethrough-position', + 'strikethrough-thickness', + 'overline-position', + 'overline-thickness', + ]), + defaults: { + 'font-style': 'all', + 'font-variant': 'normal', + 'font-weight': 'all', + 'font-stretch': 'normal', + 'unicode-range': 'U+0-10FFFF', + 'units-per-em': '1000', + 'panose-1': '0 0 0 0 0 0 0 0 0 0', + slope: '0', + }, + contentGroups: new Set(['descriptive']), + content: new Set([ + // TODO: "at most one 'font-face-src' element" + 'font-face-src', + ]), + }, + // TODO: empty content + 'font-face-format': { + attrsGroups: new Set(['core']), + attrs: new Set(['string']), + }, + 'font-face-name': { + attrsGroups: new Set(['core']), + attrs: new Set(['name']), + }, + 'font-face-src': { + attrsGroups: new Set(['core']), + content: new Set(['font-face-name', 'font-face-uri']), + }, + 'font-face-uri': { + attrsGroups: new Set(['core', 'xlink']), + attrs: new Set(['href', 'xlink:href']), + content: new Set(['font-face-format']), + }, + foreignObject: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'style', + 'transform', + 'width', + 'x', + 'y', + ]), + defaults: { + x: '0', + y: '0', + }, + }, + g: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'style', + 'transform', + ]), + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + glyph: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set([ + 'arabic-form', + 'class', + 'd', + 'glyph-name', + 'horiz-adv-x', + 'lang', + 'orientation', + 'style', + 'unicode', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + ]), + defaults: { + 'arabic-form': 'initial', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + glyphRef: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set([ + 'class', + 'd', + 'horiz-adv-x', + 'style', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + ]), + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + hatch: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set([ + 'class', + 'hatchContentUnits', + 'hatchUnits', + 'pitch', + 'rotate', + 'style', + 'transform', + 'x', + 'y', + ]), + defaults: { + hatchUnits: 'objectBoundingBox', + hatchContentUnits: 'userSpaceOnUse', + x: '0', + y: '0', + pitch: '0', + rotate: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + content: new Set(['hatchPath']), + }, + hatchPath: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set(['class', 'style', 'd', 'offset']), + defaults: { + offset: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + hkern: { + attrsGroups: new Set(['core']), + attrs: new Set(['u1', 'g1', 'u2', 'g2', 'k']), + }, + image: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'href', + 'preserveAspectRatio', + 'style', + 'transform', + 'width', + 'x', + 'xlink:href', + 'y', + ]), + defaults: { + x: '0', + y: '0', + preserveAspectRatio: 'xMidYMid meet', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + line: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'style', + 'transform', + 'x1', + 'x2', + 'y1', + 'y2', + ]), + defaults: { + x1: '0', + y1: '0', + x2: '0', + y2: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + linearGradient: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'gradientTransform', + 'gradientUnits', + 'href', + 'spreadMethod', + 'style', + 'x1', + 'x2', + 'xlink:href', + 'y1', + 'y2', + ]), + defaults: { + x1: '0', + y1: '0', + x2: '100%', + y2: '0', + spreadMethod: 'pad', + }, + contentGroups: new Set(['descriptive']), + content: new Set(['animate', 'animateTransform', 'set', 'stop']), + }, + marker: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'markerHeight', + 'markerUnits', + 'markerWidth', + 'orient', + 'preserveAspectRatio', + 'refX', + 'refY', + 'style', + 'viewBox', + ]), + defaults: { + markerUnits: 'strokeWidth', + refX: '0', + refY: '0', + markerWidth: '3', + markerHeight: '3', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + mask: { + attrsGroups: new Set(['conditionalProcessing', 'core', 'presentation']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'mask-type', + 'maskContentUnits', + 'maskUnits', + 'style', + 'width', + 'x', + 'y', + ]), + defaults: { + maskUnits: 'objectBoundingBox', + maskContentUnits: 'userSpaceOnUse', + x: '-10%', + y: '-10%', + width: '120%', + height: '120%', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + metadata: { + attrsGroups: new Set(['core']), + }, + 'missing-glyph': { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set([ + 'class', + 'd', + 'horiz-adv-x', + 'style', + 'vert-adv-y', + 'vert-origin-x', + 'vert-origin-y', + ]), + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + mpath: { + attrsGroups: new Set(['core', 'xlink']), + attrs: new Set(['externalResourcesRequired', 'href', 'xlink:href']), + contentGroups: new Set(['descriptive']), + }, + path: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'd', + 'externalResourcesRequired', + 'pathLength', + 'style', + 'transform', + ]), + contentGroups: new Set(['animation', 'descriptive']), + }, + pattern: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'href', + 'patternContentUnits', + 'patternTransform', + 'patternUnits', + 'preserveAspectRatio', + 'style', + 'viewBox', + 'width', + 'x', + 'xlink:href', + 'y', + ]), + defaults: { + patternUnits: 'objectBoundingBox', + patternContentUnits: 'userSpaceOnUse', + x: '0', + y: '0', + width: '0', + height: '0', + preserveAspectRatio: 'xMidYMid meet', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + polygon: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'points', + 'style', + 'transform', + ]), + contentGroups: new Set(['animation', 'descriptive']), + }, + polyline: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'points', + 'style', + 'transform', + ]), + contentGroups: new Set(['animation', 'descriptive']), + }, + radialGradient: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set([ + 'class', + 'cx', + 'cy', + 'externalResourcesRequired', + 'fr', + 'fx', + 'fy', + 'gradientTransform', + 'gradientUnits', + 'href', + 'r', + 'spreadMethod', + 'style', + 'xlink:href', + ]), + defaults: { + gradientUnits: 'objectBoundingBox', + cx: '50%', + cy: '50%', + r: '50%', + }, + contentGroups: new Set(['descriptive']), + content: new Set(['animate', 'animateTransform', 'set', 'stop']), + }, + meshGradient: { + attrsGroups: new Set(['core', 'presentation', 'xlink']), + attrs: new Set(['class', 'style', 'x', 'y', 'gradientUnits', 'transform']), + contentGroups: new Set(['descriptive', 'paintServer', 'animation']), + content: new Set(['meshRow']), + }, + meshRow: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set(['class', 'style']), + contentGroups: new Set(['descriptive']), + content: new Set(['meshPatch']), + }, + meshPatch: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set(['class', 'style']), + contentGroups: new Set(['descriptive']), + content: new Set(['stop']), + }, + rect: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'rx', + 'ry', + 'style', + 'transform', + 'width', + 'x', + 'y', + ]), + defaults: { + x: '0', + y: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + script: { + attrsGroups: new Set(['core', 'xlink']), + attrs: new Set(['externalResourcesRequired', 'type', 'href', 'xlink:href']), + }, + set: { + attrsGroups: new Set([ + 'animation', + 'animationAttributeTarget', + 'animationTiming', + 'conditionalProcessing', + 'core', + 'xlink', + ]), + attrs: new Set(['externalResourcesRequired', 'to']), + contentGroups: new Set(['descriptive']), + }, + solidColor: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set(['class', 'style']), + contentGroups: new Set(['paintServer']), + }, + stop: { + attrsGroups: new Set(['core', 'presentation']), + attrs: new Set(['class', 'style', 'offset', 'path']), + content: new Set(['animate', 'animateColor', 'set']), + }, + style: { + attrsGroups: new Set(['core']), + attrs: new Set(['type', 'media', 'title']), + defaults: { + type: 'text/css', + }, + }, + svg: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'documentEvent', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'baseProfile', + 'class', + 'contentScriptType', + 'contentStyleType', + 'height', + 'preserveAspectRatio', + 'style', + 'version', + 'viewBox', + 'width', + 'x', + 'y', + 'zoomAndPan', + ]), + defaults: { + x: '0', + y: '0', + width: '100%', + height: '100%', + preserveAspectRatio: 'xMidYMid meet', + zoomAndPan: 'magnify', + version: '1.1', + baseProfile: 'none', + contentScriptType: 'application/ecmascript', + contentStyleType: 'text/css', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + switch: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'style', + 'transform', + ]), + contentGroups: new Set(['animation', 'descriptive', 'shape']), + content: new Set([ + 'a', + 'foreignObject', + 'g', + 'image', + 'svg', + 'switch', + 'text', + 'use', + ]), + }, + symbol: { + attrsGroups: new Set(['core', 'graphicalEvent', 'presentation']), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'preserveAspectRatio', + 'refX', + 'refY', + 'style', + 'viewBox', + ]), + defaults: { + refX: '0', + refY: '0', + }, + contentGroups: new Set([ + 'animation', + 'descriptive', + 'paintServer', + 'shape', + 'structural', + ]), + content: new Set([ + 'a', + 'altGlyphDef', + 'clipPath', + 'color-profile', + 'cursor', + 'filter', + 'font-face', + 'font', + 'foreignObject', + 'image', + 'marker', + 'mask', + 'pattern', + 'script', + 'style', + 'switch', + 'text', + 'view', + ]), + }, + text: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'dx', + 'dy', + 'externalResourcesRequired', + 'lengthAdjust', + 'rotate', + 'style', + 'textLength', + 'transform', + 'x', + 'y', + ]), + defaults: { + x: '0', + y: '0', + lengthAdjust: 'spacing', + }, + contentGroups: new Set(['animation', 'descriptive', 'textContentChild']), + content: new Set(['a']), + }, + textPath: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'd', + 'externalResourcesRequired', + 'href', + 'method', + 'spacing', + 'startOffset', + 'style', + 'xlink:href', + ]), + defaults: { + startOffset: '0', + method: 'align', + spacing: 'exact', + }, + contentGroups: new Set(['descriptive']), + content: new Set([ + 'a', + 'altGlyph', + 'animate', + 'animateColor', + 'set', + 'tref', + 'tspan', + ]), + }, + title: { + attrsGroups: new Set(['core']), + attrs: new Set(['class', 'style']), + }, + tref: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'href', + 'style', + 'xlink:href', + ]), + contentGroups: new Set(['descriptive']), + content: new Set(['animate', 'animateColor', 'set']), + }, + tspan: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + ]), + attrs: new Set([ + 'class', + 'dx', + 'dy', + 'externalResourcesRequired', + 'lengthAdjust', + 'rotate', + 'style', + 'textLength', + 'x', + 'y', + ]), + contentGroups: new Set(['descriptive']), + content: new Set([ + 'a', + 'altGlyph', + 'animate', + 'animateColor', + 'set', + 'tref', + 'tspan', + ]), + }, + use: { + attrsGroups: new Set([ + 'conditionalProcessing', + 'core', + 'graphicalEvent', + 'presentation', + 'xlink', + ]), + attrs: new Set([ + 'class', + 'externalResourcesRequired', + 'height', + 'href', + 'style', + 'transform', + 'width', + 'x', + 'xlink:href', + 'y', + ]), + defaults: { + x: '0', + y: '0', + }, + contentGroups: new Set(['animation', 'descriptive']), + }, + view: { + attrsGroups: new Set(['core']), + attrs: new Set([ + 'externalResourcesRequired', + 'preserveAspectRatio', + 'viewBox', + 'viewTarget', + 'zoomAndPan', + ]), + contentGroups: new Set(['descriptive']), + }, + vkern: { + attrsGroups: new Set(['core']), + attrs: new Set(['u1', 'g1', 'u2', 'g2', 'k']), + }, +}; + +// https://wiki.inkscape.org/wiki/index.php/Inkscape-specific_XML_attributes +exports.editorNamespaces = new Set([ + 'http://creativecommons.org/ns#', + 'http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd', + 'http://ns.adobe.com/AdobeIllustrator/10.0/', + 'http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/', + 'http://ns.adobe.com/Extensibility/1.0/', + 'http://ns.adobe.com/Flows/1.0/', + 'http://ns.adobe.com/GenericCustomNamespace/1.0/', + 'http://ns.adobe.com/Graphs/1.0/', + 'http://ns.adobe.com/ImageReplacement/1.0/', + 'http://ns.adobe.com/SaveForWeb/1.0/', + 'http://ns.adobe.com/Variables/1.0/', + 'http://ns.adobe.com/XPath/1.0/', + 'http://purl.org/dc/elements/1.1/', + 'http://schemas.microsoft.com/visio/2003/SVGExtensions/', + 'http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd', + 'http://taptrix.com/vectorillustrator/svg_extensions', + 'http://www.bohemiancoding.com/sketch/ns', + 'http://www.figma.com/figma/ns', + 'http://www.inkscape.org/namespaces/inkscape', + 'http://www.serif.com/', + 'http://www.vector.evaxdesign.sk', + 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', +]); + +/** + * @see https://www.w3.org/TR/SVG11/linking.html#processingIRI + */ +exports.referencesProps = new Set([ + 'clip-path', + 'color-profile', + 'fill', + 'filter', + 'marker-end', + 'marker-mid', + 'marker-start', + 'mask', + 'stroke', + 'style', +]); + +/** + * @see https://www.w3.org/TR/SVG11/propidx.html + */ +exports.inheritableAttrs = new Set([ + 'clip-rule', + 'color-interpolation-filters', + 'color-interpolation', + 'color-profile', + 'color-rendering', + 'color', + 'cursor', + 'direction', + 'dominant-baseline', + 'fill-opacity', + 'fill-rule', + 'fill', + 'font-family', + 'font-size-adjust', + 'font-size', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'font', + 'glyph-orientation-horizontal', + 'glyph-orientation-vertical', + 'image-rendering', + 'letter-spacing', + 'marker-end', + 'marker-mid', + 'marker-start', + 'marker', + 'paint-order', + 'pointer-events', + 'shape-rendering', + 'stroke-dasharray', + 'stroke-dashoffset', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-miterlimit', + 'stroke-opacity', + 'stroke-width', + 'stroke', + 'text-anchor', + 'text-rendering', + 'transform', + 'visibility', + 'word-spacing', + 'writing-mode', +]); + +exports.presentationNonInheritableGroupAttrs = new Set([ + 'clip-path', + 'display', + 'filter', + 'mask', + 'opacity', + 'text-decoration', + 'transform', + 'unicode-bidi', +]); + +/** + * https://www.w3.org/TR/SVG11/single-page.html#types-ColorKeywords + * + * @type {Record<string, string>} + */ +exports.colorsNames = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#0ff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000', + blanchedalmond: '#ffebcd', + blue: '#00f', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#0ff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#f0f', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#789', + lightslategrey: '#789', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#0f0', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#f0f', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#639', + red: '#f00', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#fff', + whitesmoke: '#f5f5f5', + yellow: '#ff0', + yellowgreen: '#9acd32', +}; + +/** + * @type {Record<string, string>} + */ +exports.colorsShortNames = { + '#f0ffff': 'azure', + '#f5f5dc': 'beige', + '#ffe4c4': 'bisque', + '#a52a2a': 'brown', + '#ff7f50': 'coral', + '#ffd700': 'gold', + '#808080': 'gray', + '#008000': 'green', + '#4b0082': 'indigo', + '#fffff0': 'ivory', + '#f0e68c': 'khaki', + '#faf0e6': 'linen', + '#800000': 'maroon', + '#000080': 'navy', + '#808000': 'olive', + '#ffa500': 'orange', + '#da70d6': 'orchid', + '#cd853f': 'peru', + '#ffc0cb': 'pink', + '#dda0dd': 'plum', + '#800080': 'purple', + '#f00': 'red', + '#ff0000': 'red', + '#fa8072': 'salmon', + '#a0522d': 'sienna', + '#c0c0c0': 'silver', + '#fffafa': 'snow', + '#d2b48c': 'tan', + '#008080': 'teal', + '#ff6347': 'tomato', + '#ee82ee': 'violet', + '#f5deb3': 'wheat', +}; + +/** + * @see https://www.w3.org/TR/SVG11/single-page.html#types-DataTypeColor + */ +exports.colorsProps = new Set([ + 'color', + 'fill', + 'flood-color', + 'lighting-color', + 'stop-color', + 'stroke', +]); + +/** @see https://developer.mozilla.org/docs/Web/CSS/Pseudo-classes */ +exports.pseudoClasses = { + displayState: new Set(['fullscreen', 'modal', 'picture-in-picture']), + input: new Set([ + 'autofill', + 'blank', + 'checked', + 'default', + 'disabled', + 'enabled', + 'in-range', + 'indetermined', + 'invalid', + 'optional', + 'out-of-range', + 'placeholder-shown', + 'read-only', + 'read-write', + 'required', + 'user-invalid', + 'valid', + ]), + linguistic: new Set(['dir', 'lang']), + location: new Set([ + 'any-link', + 'link', + 'local-link', + 'scope', + 'target-within', + 'target', + 'visited', + ]), + resourceState: new Set(['playing', 'paused']), + timeDimensional: new Set(['current', 'past', 'future']), + treeStructural: new Set([ + 'empty', + 'first-child', + 'first-of-type', + 'last-child', + 'last-of-type', + 'nth-child', + 'nth-last-child', + 'nth-last-of-type', + 'nth-of-type', + 'only-child', + 'only-of-type', + 'root', + ]), + userAction: new Set([ + 'active', + 'focus-visible', + 'focus-within', + 'focus', + 'hover', + ]), + functional: new Set(['is', 'not', 'where', 'has']), +}; diff --git a/.output/server/node_modules/svgo/plugins/_path.js b/.output/server/node_modules/svgo/plugins/_path.js new file mode 100644 index 00000000..7c3a28b9 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/_path.js @@ -0,0 +1,815 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').PathDataItem} PathDataItem + */ + +const { parsePathData, stringifyPathData } = require('../lib/path.js'); + +/** + * @type {[number, number]} + */ +var prevCtrlPoint; + +/** + * Convert path string to JS representation. + * + * @type {(path: XastElement) => PathDataItem[]} + */ +const path2js = (path) => { + // @ts-ignore legacy + if (path.pathJS) return path.pathJS; + /** + * @type {PathDataItem[]} + */ + const pathData = []; // JS representation of the path data + const newPathData = parsePathData(path.attributes.d); + for (const { command, args } of newPathData) { + pathData.push({ command, args }); + } + // First moveto is actually absolute. Subsequent coordinates were separated above. + if (pathData.length && pathData[0].command == 'm') { + pathData[0].command = 'M'; + } + // @ts-ignore legacy + path.pathJS = pathData; + return pathData; +}; +exports.path2js = path2js; + +/** + * Convert relative Path data to absolute. + * + * @type {(data: PathDataItem[]) => PathDataItem[]} + * + */ +const convertRelativeToAbsolute = (data) => { + /** + * @type {PathDataItem[]} + */ + const newData = []; + let start = [0, 0]; + let cursor = [0, 0]; + + for (let { command, args } of data) { + args = args.slice(); + + // moveto (x y) + if (command === 'm') { + args[0] += cursor[0]; + args[1] += cursor[1]; + command = 'M'; + } + if (command === 'M') { + cursor[0] = args[0]; + cursor[1] = args[1]; + start[0] = cursor[0]; + start[1] = cursor[1]; + } + + // horizontal lineto (x) + if (command === 'h') { + args[0] += cursor[0]; + command = 'H'; + } + if (command === 'H') { + cursor[0] = args[0]; + } + + // vertical lineto (y) + if (command === 'v') { + args[0] += cursor[1]; + command = 'V'; + } + if (command === 'V') { + cursor[1] = args[0]; + } + + // lineto (x y) + if (command === 'l') { + args[0] += cursor[0]; + args[1] += cursor[1]; + command = 'L'; + } + if (command === 'L') { + cursor[0] = args[0]; + cursor[1] = args[1]; + } + + // curveto (x1 y1 x2 y2 x y) + if (command === 'c') { + args[0] += cursor[0]; + args[1] += cursor[1]; + args[2] += cursor[0]; + args[3] += cursor[1]; + args[4] += cursor[0]; + args[5] += cursor[1]; + command = 'C'; + } + if (command === 'C') { + cursor[0] = args[4]; + cursor[1] = args[5]; + } + + // smooth curveto (x2 y2 x y) + if (command === 's') { + args[0] += cursor[0]; + args[1] += cursor[1]; + args[2] += cursor[0]; + args[3] += cursor[1]; + command = 'S'; + } + if (command === 'S') { + cursor[0] = args[2]; + cursor[1] = args[3]; + } + + // quadratic Bézier curveto (x1 y1 x y) + if (command === 'q') { + args[0] += cursor[0]; + args[1] += cursor[1]; + args[2] += cursor[0]; + args[3] += cursor[1]; + command = 'Q'; + } + if (command === 'Q') { + cursor[0] = args[2]; + cursor[1] = args[3]; + } + + // smooth quadratic Bézier curveto (x y) + if (command === 't') { + args[0] += cursor[0]; + args[1] += cursor[1]; + command = 'T'; + } + if (command === 'T') { + cursor[0] = args[0]; + cursor[1] = args[1]; + } + + // elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y) + if (command === 'a') { + args[5] += cursor[0]; + args[6] += cursor[1]; + command = 'A'; + } + if (command === 'A') { + cursor[0] = args[5]; + cursor[1] = args[6]; + } + + // closepath + if (command === 'z' || command === 'Z') { + cursor[0] = start[0]; + cursor[1] = start[1]; + command = 'z'; + } + + newData.push({ command, args }); + } + return newData; +}; + +/** + * @typedef {{ floatPrecision?: number, noSpaceAfterFlags?: boolean }} Js2PathParams + */ + +/** + * Convert path array to string. + * + * @type {(path: XastElement, data: PathDataItem[], params: Js2PathParams) => void} + */ +exports.js2path = function (path, data, params) { + // @ts-ignore legacy + path.pathJS = data; + + const pathData = []; + for (const item of data) { + // remove moveto commands which are followed by moveto commands + if ( + pathData.length !== 0 && + (item.command === 'M' || item.command === 'm') + ) { + const last = pathData[pathData.length - 1]; + if (last.command === 'M' || last.command === 'm') { + pathData.pop(); + } + } + pathData.push({ + command: item.command, + args: item.args, + }); + } + + path.attributes.d = stringifyPathData({ + pathData, + precision: params.floatPrecision, + disableSpaceAfterFlags: params.noSpaceAfterFlags, + }); +}; + +/** + * @type {(dest: number[], source: number[]) => number[]} + */ +function set(dest, source) { + dest[0] = source[source.length - 2]; + dest[1] = source[source.length - 1]; + return dest; +} + +/** + * Checks if two paths have an intersection by checking convex hulls + * collision using Gilbert-Johnson-Keerthi distance algorithm + * https://web.archive.org/web/20180822200027/http://entropyinteractive.com/2011/04/gjk-algorithm/ + * + * @type {(path1: PathDataItem[], path2: PathDataItem[]) => boolean} + */ +exports.intersects = function (path1, path2) { + // Collect points of every subpath. + const points1 = gatherPoints(convertRelativeToAbsolute(path1)); + const points2 = gatherPoints(convertRelativeToAbsolute(path2)); + + // Axis-aligned bounding box check. + if ( + points1.maxX <= points2.minX || + points2.maxX <= points1.minX || + points1.maxY <= points2.minY || + points2.maxY <= points1.minY || + points1.list.every((set1) => { + return points2.list.every((set2) => { + return ( + set1.list[set1.maxX][0] <= set2.list[set2.minX][0] || + set2.list[set2.maxX][0] <= set1.list[set1.minX][0] || + set1.list[set1.maxY][1] <= set2.list[set2.minY][1] || + set2.list[set2.maxY][1] <= set1.list[set1.minY][1] + ); + }); + }) + ) + return false; + + // Get a convex hull from points of each subpath. Has the most complexity O(n·log n). + const hullNest1 = points1.list.map(convexHull); + const hullNest2 = points2.list.map(convexHull); + + // Check intersection of every subpath of the first path with every subpath of the second. + return hullNest1.some(function (hull1) { + if (hull1.list.length < 3) return false; + + return hullNest2.some(function (hull2) { + if (hull2.list.length < 3) return false; + + var simplex = [getSupport(hull1, hull2, [1, 0])], // create the initial simplex + direction = minus(simplex[0]); // set the direction to point towards the origin + + var iterations = 1e4; // infinite loop protection, 10 000 iterations is more than enough + // eslint-disable-next-line no-constant-condition + while (true) { + if (iterations-- == 0) { + console.error( + 'Error: infinite loop while processing mergePaths plugin.', + ); + return true; // true is the safe value that means “do nothing with paths” + } + // add a new point + simplex.push(getSupport(hull1, hull2, direction)); + // see if the new point was on the correct side of the origin + if (dot(direction, simplex[simplex.length - 1]) <= 0) return false; + // process the simplex + if (processSimplex(simplex, direction)) return true; + } + }); + }); + + /** + * @type {(a: Point, b: Point, direction: number[]) => number[]} + */ + function getSupport(a, b, direction) { + return sub(supportPoint(a, direction), supportPoint(b, minus(direction))); + } + + // Computes farthest polygon point in particular direction. + // Thanks to knowledge of min/max x and y coordinates we can choose a quadrant to search in. + // Since we're working on convex hull, the dot product is increasing until we find the farthest point. + /** + * @type {(polygon: Point, direction: number[]) => number[]} + */ + function supportPoint(polygon, direction) { + var index = + direction[1] >= 0 + ? direction[0] < 0 + ? polygon.maxY + : polygon.maxX + : direction[0] < 0 + ? polygon.minX + : polygon.minY, + max = -Infinity, + value; + while ((value = dot(polygon.list[index], direction)) > max) { + max = value; + index = ++index % polygon.list.length; + } + return polygon.list[(index || polygon.list.length) - 1]; + } +}; + +/** + * @type {(simplex: number[][], direction: number[]) => boolean} + */ +function processSimplex(simplex, direction) { + // we only need to handle to 1-simplex and 2-simplex + if (simplex.length == 2) { + // 1-simplex + let a = simplex[1], + b = simplex[0], + AO = minus(simplex[1]), + AB = sub(b, a); + // AO is in the same direction as AB + if (dot(AO, AB) > 0) { + // get the vector perpendicular to AB facing O + set(direction, orth(AB, a)); + } else { + set(direction, AO); + // only A remains in the simplex + simplex.shift(); + } + } else { + // 2-simplex + let a = simplex[2], // [a, b, c] = simplex + b = simplex[1], + c = simplex[0], + AB = sub(b, a), + AC = sub(c, a), + AO = minus(a), + ACB = orth(AB, AC), // the vector perpendicular to AB facing away from C + ABC = orth(AC, AB); // the vector perpendicular to AC facing away from B + + if (dot(ACB, AO) > 0) { + if (dot(AB, AO) > 0) { + // region 4 + set(direction, ACB); + simplex.shift(); // simplex = [b, a] + } else { + // region 5 + set(direction, AO); + simplex.splice(0, 2); // simplex = [a] + } + } else if (dot(ABC, AO) > 0) { + if (dot(AC, AO) > 0) { + // region 6 + set(direction, ABC); + simplex.splice(1, 1); // simplex = [c, a] + } else { + // region 5 (again) + set(direction, AO); + simplex.splice(0, 2); // simplex = [a] + } + } // region 7 + else return true; + } + return false; +} + +/** + * @type {(v: number[]) => number[]} + */ +function minus(v) { + return [-v[0], -v[1]]; +} + +/** + * @type {(v1: number[], v2: number[]) => number[]} + */ +function sub(v1, v2) { + return [v1[0] - v2[0], v1[1] - v2[1]]; +} + +/** + * @type {(v1: number[], v2: number[]) => number} + */ +function dot(v1, v2) { + return v1[0] * v2[0] + v1[1] * v2[1]; +} + +/** + * @type {(v1: number[], v2: number[]) => number[]} + */ +function orth(v, from) { + var o = [-v[1], v[0]]; + return dot(o, minus(from)) < 0 ? minus(o) : o; +} + +/** + * @typedef {{ + * list: number[][], + * minX: number, + * minY: number, + * maxX: number, + * maxY: number + * }} Point + */ + +/** + * @typedef {{ + * list: Point[], + * minX: number, + * minY: number, + * maxX: number, + * maxY: number + * }} Points + */ + +/** + * @type {(pathData: PathDataItem[]) => Points} + */ +function gatherPoints(pathData) { + /** + * @type {Points} + */ + const points = { list: [], minX: 0, minY: 0, maxX: 0, maxY: 0 }; + + // Writes data about the extreme points on each axle + /** + * @type {(path: Point, point: number[]) => void} + */ + const addPoint = (path, point) => { + if (!path.list.length || point[1] > path.list[path.maxY][1]) { + path.maxY = path.list.length; + points.maxY = points.list.length + ? Math.max(point[1], points.maxY) + : point[1]; + } + if (!path.list.length || point[0] > path.list[path.maxX][0]) { + path.maxX = path.list.length; + points.maxX = points.list.length + ? Math.max(point[0], points.maxX) + : point[0]; + } + if (!path.list.length || point[1] < path.list[path.minY][1]) { + path.minY = path.list.length; + points.minY = points.list.length + ? Math.min(point[1], points.minY) + : point[1]; + } + if (!path.list.length || point[0] < path.list[path.minX][0]) { + path.minX = path.list.length; + points.minX = points.list.length + ? Math.min(point[0], points.minX) + : point[0]; + } + path.list.push(point); + }; + + for (let i = 0; i < pathData.length; i += 1) { + const pathDataItem = pathData[i]; + let subPath = + points.list.length === 0 + ? { list: [], minX: 0, minY: 0, maxX: 0, maxY: 0 } + : points.list[points.list.length - 1]; + let prev = i === 0 ? null : pathData[i - 1]; + let basePoint = + subPath.list.length === 0 ? null : subPath.list[subPath.list.length - 1]; + let data = pathDataItem.args; + let ctrlPoint = basePoint; + + /** + * @type {(n: number, i: number) => number} + * TODO fix null hack + */ + const toAbsolute = (n, i) => n + (basePoint == null ? 0 : basePoint[i % 2]); + + switch (pathDataItem.command) { + case 'M': + subPath = { list: [], minX: 0, minY: 0, maxX: 0, maxY: 0 }; + points.list.push(subPath); + break; + + case 'H': + if (basePoint != null) { + addPoint(subPath, [data[0], basePoint[1]]); + } + break; + + case 'V': + if (basePoint != null) { + addPoint(subPath, [basePoint[0], data[0]]); + } + break; + + case 'Q': + addPoint(subPath, data.slice(0, 2)); + prevCtrlPoint = [data[2] - data[0], data[3] - data[1]]; // Save control point for shorthand + break; + + case 'T': + if ( + basePoint != null && + prev != null && + (prev.command == 'Q' || prev.command == 'T') + ) { + ctrlPoint = [ + basePoint[0] + prevCtrlPoint[0], + basePoint[1] + prevCtrlPoint[1], + ]; + addPoint(subPath, ctrlPoint); + prevCtrlPoint = [data[0] - ctrlPoint[0], data[1] - ctrlPoint[1]]; + } + break; + + case 'C': + if (basePoint != null) { + // Approximate quibic Bezier curve with middle points between control points + addPoint(subPath, [ + 0.5 * (basePoint[0] + data[0]), + 0.5 * (basePoint[1] + data[1]), + ]); + } + addPoint(subPath, [ + 0.5 * (data[0] + data[2]), + 0.5 * (data[1] + data[3]), + ]); + addPoint(subPath, [ + 0.5 * (data[2] + data[4]), + 0.5 * (data[3] + data[5]), + ]); + prevCtrlPoint = [data[4] - data[2], data[5] - data[3]]; // Save control point for shorthand + break; + + case 'S': + if ( + basePoint != null && + prev != null && + (prev.command == 'C' || prev.command == 'S') + ) { + addPoint(subPath, [ + basePoint[0] + 0.5 * prevCtrlPoint[0], + basePoint[1] + 0.5 * prevCtrlPoint[1], + ]); + ctrlPoint = [ + basePoint[0] + prevCtrlPoint[0], + basePoint[1] + prevCtrlPoint[1], + ]; + } + if (ctrlPoint != null) { + addPoint(subPath, [ + 0.5 * (ctrlPoint[0] + data[0]), + 0.5 * (ctrlPoint[1] + data[1]), + ]); + } + addPoint(subPath, [ + 0.5 * (data[0] + data[2]), + 0.5 * (data[1] + data[3]), + ]); + prevCtrlPoint = [data[2] - data[0], data[3] - data[1]]; + break; + + case 'A': + if (basePoint != null) { + // Convert the arc to bezier curves and use the same approximation + // @ts-ignore no idea what's going on here + var curves = a2c.apply(0, basePoint.concat(data)); + for ( + var cData; + (cData = curves.splice(0, 6).map(toAbsolute)).length; + + ) { + if (basePoint != null) { + addPoint(subPath, [ + 0.5 * (basePoint[0] + cData[0]), + 0.5 * (basePoint[1] + cData[1]), + ]); + } + addPoint(subPath, [ + 0.5 * (cData[0] + cData[2]), + 0.5 * (cData[1] + cData[3]), + ]); + addPoint(subPath, [ + 0.5 * (cData[2] + cData[4]), + 0.5 * (cData[3] + cData[5]), + ]); + if (curves.length) addPoint(subPath, (basePoint = cData.slice(-2))); + } + } + break; + } + + // Save final command coordinates + if (data.length >= 2) addPoint(subPath, data.slice(-2)); + } + + return points; +} + +/** + * Forms a convex hull from set of points of every subpath using monotone chain convex hull algorithm. + * https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain + * + * @type {(points: Point) => Point} + */ +function convexHull(points) { + points.list.sort(function (a, b) { + return a[0] == b[0] ? a[1] - b[1] : a[0] - b[0]; + }); + + var lower = [], + minY = 0, + bottom = 0; + for (let i = 0; i < points.list.length; i++) { + while ( + lower.length >= 2 && + cross(lower[lower.length - 2], lower[lower.length - 1], points.list[i]) <= + 0 + ) { + lower.pop(); + } + if (points.list[i][1] < points.list[minY][1]) { + minY = i; + bottom = lower.length; + } + lower.push(points.list[i]); + } + + var upper = [], + maxY = points.list.length - 1, + top = 0; + for (let i = points.list.length; i--; ) { + while ( + upper.length >= 2 && + cross(upper[upper.length - 2], upper[upper.length - 1], points.list[i]) <= + 0 + ) { + upper.pop(); + } + if (points.list[i][1] > points.list[maxY][1]) { + maxY = i; + top = upper.length; + } + upper.push(points.list[i]); + } + + // last points are equal to starting points of the other part + upper.pop(); + lower.pop(); + + const hullList = lower.concat(upper); + + /** + * @type {Point} + */ + const hull = { + list: hullList, + minX: 0, // by sorting + maxX: lower.length, + minY: bottom, + maxY: (lower.length + top) % hullList.length, + }; + + return hull; +} + +/** + * @type {(o: number[], a: number[], b: number[]) => number} + */ +function cross(o, a, b) { + return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]); +} + +/** + * Based on code from Snap.svg (Apache 2 license). http://snapsvg.io/ + * Thanks to Dmitry Baranovskiy for his great work! + * + * @type {( + * x1: number, + * y1: number, + * rx: number, + * ry: number, + * angle: number, + * large_arc_flag: number, + * sweep_flag: number, + * x2: number, + * y2: number, + * recursive: number[] + * ) => number[]} + */ +const a2c = ( + x1, + y1, + rx, + ry, + angle, + large_arc_flag, + sweep_flag, + x2, + y2, + recursive, +) => { + // for more information of where this Math came from visit: + // https://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes + const _120 = (Math.PI * 120) / 180; + const rad = (Math.PI / 180) * (+angle || 0); + /** + * @type {number[]} + */ + let res = []; + /** + * @type {(x: number, y: number, rad: number) => number} + */ + const rotateX = (x, y, rad) => { + return x * Math.cos(rad) - y * Math.sin(rad); + }; + /** + * @type {(x: number, y: number, rad: number) => number} + */ + const rotateY = (x, y, rad) => { + return x * Math.sin(rad) + y * Math.cos(rad); + }; + if (!recursive) { + x1 = rotateX(x1, y1, -rad); + y1 = rotateY(x1, y1, -rad); + x2 = rotateX(x2, y2, -rad); + y2 = rotateY(x2, y2, -rad); + var x = (x1 - x2) / 2, + y = (y1 - y2) / 2; + var h = (x * x) / (rx * rx) + (y * y) / (ry * ry); + if (h > 1) { + h = Math.sqrt(h); + rx = h * rx; + ry = h * ry; + } + var rx2 = rx * rx; + var ry2 = ry * ry; + var k = + (large_arc_flag == sweep_flag ? -1 : 1) * + Math.sqrt( + Math.abs( + (rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x), + ), + ); + var cx = (k * rx * y) / ry + (x1 + x2) / 2; + var cy = (k * -ry * x) / rx + (y1 + y2) / 2; + var f1 = Math.asin(Number(((y1 - cy) / ry).toFixed(9))); + var f2 = Math.asin(Number(((y2 - cy) / ry).toFixed(9))); + + f1 = x1 < cx ? Math.PI - f1 : f1; + f2 = x2 < cx ? Math.PI - f2 : f2; + f1 < 0 && (f1 = Math.PI * 2 + f1); + f2 < 0 && (f2 = Math.PI * 2 + f2); + if (sweep_flag && f1 > f2) { + f1 = f1 - Math.PI * 2; + } + if (!sweep_flag && f2 > f1) { + f2 = f2 - Math.PI * 2; + } + } else { + f1 = recursive[0]; + f2 = recursive[1]; + cx = recursive[2]; + cy = recursive[3]; + } + var df = f2 - f1; + if (Math.abs(df) > _120) { + var f2old = f2, + x2old = x2, + y2old = y2; + f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1); + x2 = cx + rx * Math.cos(f2); + y2 = cy + ry * Math.sin(f2); + res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [ + f2, + f2old, + cx, + cy, + ]); + } + df = f2 - f1; + var c1 = Math.cos(f1), + s1 = Math.sin(f1), + c2 = Math.cos(f2), + s2 = Math.sin(f2), + t = Math.tan(df / 4), + hx = (4 / 3) * rx * t, + hy = (4 / 3) * ry * t, + m = [ + -hx * s1, + hy * c1, + x2 + hx * s2 - x1, + y2 - hy * c2 - y1, + x2 - x1, + y2 - y1, + ]; + if (recursive) { + return m.concat(res); + } else { + res = m.concat(res); + var newres = []; + for (var i = 0, n = res.length; i < n; i++) { + newres[i] = + i % 2 + ? rotateY(res[i - 1], res[i], rad) + : rotateX(res[i], res[i + 1], rad); + } + return newres; + } +}; diff --git a/.output/server/node_modules/svgo/plugins/_transforms.js b/.output/server/node_modules/svgo/plugins/_transforms.js new file mode 100644 index 00000000..1ab6d648 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/_transforms.js @@ -0,0 +1,410 @@ +'use strict'; + +const { toFixed } = require('../lib/svgo/tools'); + +/** + * @typedef {{ name: string, data: number[] }} TransformItem + * @typedef {{ + * convertToShorts: boolean, + * floatPrecision: number, + * transformPrecision: number, + * matrixToTransform: boolean, + * shortTranslate: boolean, + * shortScale: boolean, + * shortRotate: boolean, + * removeUseless: boolean, + * collapseIntoOne: boolean, + * leadingZero: boolean, + * negativeExtraSpace: boolean, + * }} TransformParams + */ + +const transformTypes = new Set([ + 'matrix', + 'rotate', + 'scale', + 'skewX', + 'skewY', + 'translate', +]); + +const regTransformSplit = + /\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/; +const regNumericValues = /[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g; + +/** + * Convert transform string to JS representation. + * + * @param {string} transformString + * @returns {TransformItem[]} Object representation of transform, or an empty array if it was malformed. + */ +exports.transform2js = (transformString) => { + /** @type {TransformItem[]} */ + const transforms = []; + /** @type {?TransformItem} */ + let currentTransform = null; + + // split value into ['', 'translate', '10 50', '', 'scale', '2', '', 'rotate', '-45', ''] + for (const item of transformString.split(regTransformSplit)) { + if (!item) { + continue; + } + + if (transformTypes.has(item)) { + currentTransform = { name: item, data: [] }; + transforms.push(currentTransform); + } else { + let num; + // then split it into [10, 50] and collect as context.data + while ((num = regNumericValues.exec(item))) { + num = Number(num); + if (currentTransform != null) { + currentTransform.data.push(num); + } + } + } + } + + return currentTransform == null || currentTransform.data.length == 0 + ? [] + : transforms; +}; + +/** + * Multiply transforms into one. + * + * @param {TransformItem[]} transforms + * @returns {TransformItem} + */ +exports.transformsMultiply = (transforms) => { + const matrixData = transforms.map((transform) => { + if (transform.name === 'matrix') { + return transform.data; + } + return transformToMatrix(transform); + }); + + const matrixTransform = { + name: 'matrix', + data: + matrixData.length > 0 ? matrixData.reduce(multiplyTransformMatrices) : [], + }; + + return matrixTransform; +}; + +/** + * Math utilities in radians. + */ +const mth = { + /** + * @param {number} deg + * @returns {number} + */ + rad: (deg) => { + return (deg * Math.PI) / 180; + }, + + /** + * @param {number} rad + * @returns {number} + */ + deg: (rad) => { + return (rad * 180) / Math.PI; + }, + + /** + * @param {number} deg + * @returns {number} + */ + cos: (deg) => { + return Math.cos(mth.rad(deg)); + }, + + /** + * @param {number} val + * @param {number} floatPrecision + * @returns {number} + */ + acos: (val, floatPrecision) => { + return toFixed(mth.deg(Math.acos(val)), floatPrecision); + }, + + /** + * @param {number} deg + * @returns {number} + */ + sin: (deg) => { + return Math.sin(mth.rad(deg)); + }, + + /** + * @param {number} val + * @param {number} floatPrecision + * @returns {number} + */ + asin: (val, floatPrecision) => { + return toFixed(mth.deg(Math.asin(val)), floatPrecision); + }, + + /** + * @param {number} deg + * @returns {number} + */ + tan: (deg) => { + return Math.tan(mth.rad(deg)); + }, + + /** + * @param {number} val + * @param {number} floatPrecision + * @returns {number} + */ + atan: (val, floatPrecision) => { + return toFixed(mth.deg(Math.atan(val)), floatPrecision); + }, +}; + +/** + * Decompose matrix into simple transforms. + * + * @param {TransformItem} transform + * @param {TransformParams} params + * @returns {TransformItem[]} + * @see https://frederic-wang.fr/decomposition-of-2d-transform-matrices.html + */ +exports.matrixToTransform = (transform, params) => { + const floatPrecision = params.floatPrecision; + const data = transform.data; + const transforms = []; + + // [..., ..., ..., ..., tx, ty] → translate(tx, ty) + if (data[4] || data[5]) { + transforms.push({ + name: 'translate', + data: data.slice(4, data[5] ? 6 : 5), + }); + } + + let sx = toFixed(Math.hypot(data[0], data[1]), params.transformPrecision); + let sy = toFixed( + (data[0] * data[3] - data[1] * data[2]) / sx, + params.transformPrecision, + ); + const colsSum = data[0] * data[2] + data[1] * data[3]; + const rowsSum = data[0] * data[1] + data[2] * data[3]; + const scaleBefore = rowsSum !== 0 || sx === sy; + + // [sx, 0, tan(a)·sy, sy, 0, 0] → skewX(a)·scale(sx, sy) + if (!data[1] && data[2]) { + transforms.push({ + name: 'skewX', + data: [mth.atan(data[2] / sy, floatPrecision)], + }); + + // [sx, sx·tan(a), 0, sy, 0, 0] → skewY(a)·scale(sx, sy) + } else if (data[1] && !data[2]) { + transforms.push({ + name: 'skewY', + data: [mth.atan(data[1] / data[0], floatPrecision)], + }); + sx = data[0]; + sy = data[3]; + + // [sx·cos(a), sx·sin(a), sy·-sin(a), sy·cos(a), x, y] → rotate(a[, cx, cy])·(scale or skewX) or + // [sx·cos(a), sy·sin(a), sx·-sin(a), sy·cos(a), x, y] → scale(sx, sy)·rotate(a[, cx, cy]) (if !scaleBefore) + } else if (!colsSum || (sx === 1 && sy === 1) || !scaleBefore) { + if (!scaleBefore) { + sx = Math.hypot(data[0], data[2]); + sy = Math.hypot(data[1], data[3]); + + if (toFixed(data[0], params.transformPrecision) < 0) { + sx = -sx; + } + + if ( + data[3] < 0 || + (Math.sign(data[1]) === Math.sign(data[2]) && + toFixed(data[3], params.transformPrecision) === 0) + ) { + sy = -sy; + } + + transforms.push({ name: 'scale', data: [sx, sy] }); + } + const angle = Math.min(Math.max(-1, data[0] / sx), 1); + const rotate = [ + mth.acos(angle, floatPrecision) * + ((scaleBefore ? 1 : sy) * data[1] < 0 ? -1 : 1), + ]; + + if (rotate[0]) { + transforms.push({ name: 'rotate', data: rotate }); + } + + if (rowsSum && colsSum) + transforms.push({ + name: 'skewX', + data: [mth.atan(colsSum / (sx * sx), floatPrecision)], + }); + + // rotate(a, cx, cy) can consume translate() within optional arguments cx, cy (rotation point) + if (rotate[0] && (data[4] || data[5])) { + transforms.shift(); + const oneOverCos = 1 - data[0] / sx; + const sin = data[1] / (scaleBefore ? sx : sy); + const x = data[4] * (scaleBefore ? 1 : sy); + const y = data[5] * (scaleBefore ? 1 : sx); + const denom = (oneOverCos ** 2 + sin ** 2) * (scaleBefore ? 1 : sx * sy); + rotate.push( + (oneOverCos * x - sin * y) / denom, + (oneOverCos * y + sin * x) / denom, + ); + } + + // Too many transformations, return original matrix if it isn't just a scale/translate + } else if (data[1] || data[2]) { + return [transform]; + } + + if ((scaleBefore && (sx != 1 || sy != 1)) || !transforms.length) { + transforms.push({ + name: 'scale', + data: sx == sy ? [sx] : [sx, sy], + }); + } + + return transforms; +}; + +/** + * Convert transform to the matrix data. + * + * @type {(transform: TransformItem) => number[] } + */ +const transformToMatrix = (transform) => { + if (transform.name === 'matrix') { + return transform.data; + } + switch (transform.name) { + case 'translate': + // [1, 0, 0, 1, tx, ty] + return [1, 0, 0, 1, transform.data[0], transform.data[1] || 0]; + case 'scale': + // [sx, 0, 0, sy, 0, 0] + return [ + transform.data[0], + 0, + 0, + transform.data[1] || transform.data[0], + 0, + 0, + ]; + case 'rotate': + // [cos(a), sin(a), -sin(a), cos(a), x, y] + var cos = mth.cos(transform.data[0]), + sin = mth.sin(transform.data[0]), + cx = transform.data[1] || 0, + cy = transform.data[2] || 0; + return [ + cos, + sin, + -sin, + cos, + (1 - cos) * cx + sin * cy, + (1 - cos) * cy - sin * cx, + ]; + case 'skewX': + // [1, 0, tan(a), 1, 0, 0] + return [1, 0, mth.tan(transform.data[0]), 1, 0, 0]; + case 'skewY': + // [1, tan(a), 0, 1, 0, 0] + return [1, mth.tan(transform.data[0]), 0, 1, 0, 0]; + default: + throw Error(`Unknown transform ${transform.name}`); + } +}; + +/** + * Applies transformation to an arc. To do so, we represent ellipse as a matrix, multiply it + * by the transformation matrix and use a singular value decomposition to represent in a form + * rotate(θ)·scale(a b)·rotate(φ). This gives us new ellipse params a, b and θ. + * SVD is being done with the formulae provided by Wolffram|Alpha (svd {{m0, m2}, {m1, m3}}) + * + * @type {( + * cursor: [x: number, y: number], + * arc: number[], + * transform: number[] + * ) => number[]} + */ +exports.transformArc = (cursor, arc, transform) => { + const x = arc[5] - cursor[0]; + const y = arc[6] - cursor[1]; + let a = arc[0]; + let b = arc[1]; + const rot = (arc[2] * Math.PI) / 180; + const cos = Math.cos(rot); + const sin = Math.sin(rot); + // skip if radius is 0 + if (a > 0 && b > 0) { + let h = + Math.pow(x * cos + y * sin, 2) / (4 * a * a) + + Math.pow(y * cos - x * sin, 2) / (4 * b * b); + if (h > 1) { + h = Math.sqrt(h); + a *= h; + b *= h; + } + } + const ellipse = [a * cos, a * sin, -b * sin, b * cos, 0, 0]; + const m = multiplyTransformMatrices(transform, ellipse); + // Decompose the new ellipse matrix + const lastCol = m[2] * m[2] + m[3] * m[3]; + const squareSum = m[0] * m[0] + m[1] * m[1] + lastCol; + const root = + Math.hypot(m[0] - m[3], m[1] + m[2]) * Math.hypot(m[0] + m[3], m[1] - m[2]); + + if (!root) { + // circle + arc[0] = arc[1] = Math.sqrt(squareSum / 2); + arc[2] = 0; + } else { + const majorAxisSqr = (squareSum + root) / 2; + const minorAxisSqr = (squareSum - root) / 2; + const major = Math.abs(majorAxisSqr - lastCol) > 1e-6; + const sub = (major ? majorAxisSqr : minorAxisSqr) - lastCol; + const rowsSum = m[0] * m[2] + m[1] * m[3]; + const term1 = m[0] * sub + m[2] * rowsSum; + const term2 = m[1] * sub + m[3] * rowsSum; + arc[0] = Math.sqrt(majorAxisSqr); + arc[1] = Math.sqrt(minorAxisSqr); + arc[2] = + (((major ? term2 < 0 : term1 > 0) ? -1 : 1) * + Math.acos((major ? term1 : term2) / Math.hypot(term1, term2)) * + 180) / + Math.PI; + } + + if (transform[0] < 0 !== transform[3] < 0) { + // Flip the sweep flag if coordinates are being flipped horizontally XOR vertically + arc[4] = 1 - arc[4]; + } + + return arc; +}; + +/** + * Multiply transformation matrices. + * + * @type {(a: number[], b: number[]) => number[]} + */ +const multiplyTransformMatrices = (a, b) => { + return [ + a[0] * b[0] + a[2] * b[1], + a[1] * b[0] + a[3] * b[1], + a[0] * b[2] + a[2] * b[3], + a[1] * b[2] + a[3] * b[3], + a[0] * b[4] + a[2] * b[5] + a[4], + a[1] * b[4] + a[3] * b[5] + a[5], + ]; +}; diff --git a/.output/server/node_modules/svgo/plugins/addAttributesToSVGElement.js b/.output/server/node_modules/svgo/plugins/addAttributesToSVGElement.js new file mode 100644 index 00000000..845cb056 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/addAttributesToSVGElement.js @@ -0,0 +1,82 @@ +'use strict'; + +exports.name = 'addAttributesToSVGElement'; +exports.description = 'adds attributes to an outer <svg> element'; + +var ENOCLS = `Error in plugin "addAttributesToSVGElement": absent parameters. +It should have a list of "attributes" or one "attribute". +Config example: + +plugins: [ + { + name: 'addAttributesToSVGElement', + params: { + attribute: "mySvg" + } + } +] + +plugins: [ + { + name: 'addAttributesToSVGElement', + params: { + attributes: ["mySvg", "size-big"] + } + } +] + +plugins: [ + { + name: 'addAttributesToSVGElement', + params: { + attributes: [ + { + focusable: false + }, + { + 'data-image': icon + } + ] + } + } +] +`; + +/** + * Add attributes to an outer <svg> element. Example config: + * + * @author April Arcus + * + * @type {import('./plugins-types').Plugin<'addAttributesToSVGElement'>} + */ +exports.fn = (root, params) => { + if (!Array.isArray(params.attributes) && !params.attribute) { + console.error(ENOCLS); + return null; + } + const attributes = params.attributes || [params.attribute]; + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'svg' && parentNode.type === 'root') { + for (const attribute of attributes) { + if (typeof attribute === 'string') { + if (node.attributes[attribute] == null) { + // @ts-ignore disallow explicit nullable attribute value + node.attributes[attribute] = undefined; + } + } + if (typeof attribute === 'object') { + for (const key of Object.keys(attribute)) { + if (node.attributes[key] == null) { + // @ts-ignore disallow explicit nullable attribute value + node.attributes[key] = attribute[key]; + } + } + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/addClassesToSVGElement.js b/.output/server/node_modules/svgo/plugins/addClassesToSVGElement.js new file mode 100644 index 00000000..1e773d85 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/addClassesToSVGElement.js @@ -0,0 +1,82 @@ +'use strict'; + +exports.name = 'addClassesToSVGElement'; +exports.description = 'adds classnames to an outer <svg> element'; + +var ENOCLS = `Error in plugin "addClassesToSVGElement": absent parameters. +It should have a list of classes in "classNames" or one "className". +Config example: + +plugins: [ + { + name: "addClassesToSVGElement", + params: { + className: "mySvg" + } + } +] + +plugins: [ + { + name: "addClassesToSVGElement", + params: { + classNames: ["mySvg", "size-big"] + } + } +] +`; + +/** + * Add classnames to an outer <svg> element. Example config: + * + * plugins: [ + * { + * name: "addClassesToSVGElement", + * params: { + * className: "mySvg" + * } + * } + * ] + * + * plugins: [ + * { + * name: "addClassesToSVGElement", + * params: { + * classNames: ["mySvg", "size-big"] + * } + * } + * ] + * + * @author April Arcus + * + * @type {import('./plugins-types').Plugin<'addClassesToSVGElement'>} + */ +exports.fn = (root, params) => { + if ( + !(Array.isArray(params.classNames) && params.classNames.some(String)) && + !params.className + ) { + console.error(ENOCLS); + return null; + } + const classNames = params.classNames || [params.className]; + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'svg' && parentNode.type === 'root') { + const classList = new Set( + node.attributes.class == null + ? null + : node.attributes.class.split(' '), + ); + for (const className of classNames) { + if (className != null) { + classList.add(className); + } + } + node.attributes.class = Array.from(classList).join(' '); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/applyTransforms.js b/.output/server/node_modules/svgo/plugins/applyTransforms.js new file mode 100644 index 00000000..ae492d54 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/applyTransforms.js @@ -0,0 +1,388 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').PathDataItem} PathDataItem + * @typedef {import('../lib/types').XastElement} XastElement + */ + +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { + transformsMultiply, + transform2js, + transformArc, +} = require('./_transforms.js'); +const { path2js } = require('./_path.js'); +const { + removeLeadingZero, + includesUrlReference, +} = require('../lib/svgo/tools.js'); +const { referencesProps, attrsGroupsDefaults } = require('./_collections.js'); + +/** + * @typedef {PathDataItem[]} PathData + * @typedef {number[]} Matrix + */ + +const regNumericValues = /[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g; + +/** + * Apply transformation(s) to the Path data. + * + * @type {import('../lib/types').Plugin<{ + * transformPrecision: number, + * applyTransformsStroked: boolean, + * }>} + */ +const applyTransforms = (root, params) => { + const stylesheet = collectStylesheet(root); + return { + element: { + enter: (node) => { + if (node.attributes.d == null) { + return; + } + + // stroke and stroke-width can be redefined with <use> + if (node.attributes.id != null) { + return; + } + + // if there are no 'stroke' attr and references to other objects such as + // gradients or clip-path which are also subjects to transform. + if ( + node.attributes.transform == null || + node.attributes.transform === '' || + // styles are not considered when applying transform + // can be fixed properly with new style engine + node.attributes.style != null || + Object.entries(node.attributes).some( + ([name, value]) => + referencesProps.has(name) && includesUrlReference(value), + ) + ) { + return; + } + + const computedStyle = computeStyle(stylesheet, node); + const transformStyle = computedStyle.transform; + + // Transform overridden in <style> tag which is not considered + if ( + transformStyle.type === 'static' && + transformStyle.value !== node.attributes.transform + ) { + return; + } + + const matrix = transformsMultiply( + transform2js(node.attributes.transform), + ); + + const stroke = + computedStyle.stroke?.type === 'static' + ? computedStyle.stroke.value + : null; + + const strokeWidth = + computedStyle['stroke-width']?.type === 'static' + ? computedStyle['stroke-width'].value + : null; + const transformPrecision = params.transformPrecision; + + if ( + computedStyle.stroke?.type === 'dynamic' || + computedStyle['stroke-width']?.type === 'dynamic' + ) { + return; + } + + const scale = Number( + Math.sqrt( + matrix.data[0] * matrix.data[0] + matrix.data[1] * matrix.data[1], + ).toFixed(transformPrecision), + ); + + if (stroke && stroke != 'none') { + if (!params.applyTransformsStroked) { + return; + } + + // stroke cannot be transformed with different vertical and horizontal scale or skew + if ( + (matrix.data[0] !== matrix.data[3] || + matrix.data[1] !== -matrix.data[2]) && + (matrix.data[0] !== -matrix.data[3] || + matrix.data[1] !== matrix.data[2]) + ) { + return; + } + + // apply transform to stroke-width, stroke-dashoffset and stroke-dasharray + if (scale !== 1) { + if (node.attributes['vector-effect'] !== 'non-scaling-stroke') { + node.attributes['stroke-width'] = ( + strokeWidth || attrsGroupsDefaults.presentation['stroke-width'] + ) + .trim() + .replace(regNumericValues, (num) => + removeLeadingZero(Number(num) * scale), + ); + + if (node.attributes['stroke-dashoffset'] != null) { + node.attributes['stroke-dashoffset'] = node.attributes[ + 'stroke-dashoffset' + ] + .trim() + .replace(regNumericValues, (num) => + removeLeadingZero(Number(num) * scale), + ); + } + + if (node.attributes['stroke-dasharray'] != null) { + node.attributes['stroke-dasharray'] = node.attributes[ + 'stroke-dasharray' + ] + .trim() + .replace(regNumericValues, (num) => + removeLeadingZero(Number(num) * scale), + ); + } + } + } + } + + const pathData = path2js(node); + applyMatrixToPathData(pathData, matrix.data); + + // remove transform attr + delete node.attributes.transform; + }, + }, + }; +}; +exports.applyTransforms = applyTransforms; + +/** + * @type {(matrix: Matrix, x: number, y: number) => [number, number]} + */ +const transformAbsolutePoint = (matrix, x, y) => { + const newX = matrix[0] * x + matrix[2] * y + matrix[4]; + const newY = matrix[1] * x + matrix[3] * y + matrix[5]; + return [newX, newY]; +}; + +/** + * @type {(matrix: Matrix, x: number, y: number) => [number, number]} + */ +const transformRelativePoint = (matrix, x, y) => { + const newX = matrix[0] * x + matrix[2] * y; + const newY = matrix[1] * x + matrix[3] * y; + return [newX, newY]; +}; + +/** + * @type {(pathData: PathData, matrix: Matrix) => void} + */ +const applyMatrixToPathData = (pathData, matrix) => { + /** + * @type {[number, number]} + */ + const start = [0, 0]; + /** + * @type {[number, number]} + */ + const cursor = [0, 0]; + + for (const pathItem of pathData) { + let { command, args } = pathItem; + + // moveto (x y) + if (command === 'M') { + cursor[0] = args[0]; + cursor[1] = args[1]; + start[0] = cursor[0]; + start[1] = cursor[1]; + const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + if (command === 'm') { + cursor[0] += args[0]; + cursor[1] += args[1]; + start[0] = cursor[0]; + start[1] = cursor[1]; + const [x, y] = transformRelativePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + + // horizontal lineto (x) + // convert to lineto to handle two-dimentional transforms + if (command === 'H') { + command = 'L'; + args = [args[0], cursor[1]]; + } + if (command === 'h') { + command = 'l'; + args = [args[0], 0]; + } + + // vertical lineto (y) + // convert to lineto to handle two-dimentional transforms + if (command === 'V') { + command = 'L'; + args = [cursor[0], args[0]]; + } + if (command === 'v') { + command = 'l'; + args = [0, args[0]]; + } + + // lineto (x y) + if (command === 'L') { + cursor[0] = args[0]; + cursor[1] = args[1]; + const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + if (command === 'l') { + cursor[0] += args[0]; + cursor[1] += args[1]; + const [x, y] = transformRelativePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + + // curveto (x1 y1 x2 y2 x y) + if (command === 'C') { + cursor[0] = args[4]; + cursor[1] = args[5]; + const [x1, y1] = transformAbsolutePoint(matrix, args[0], args[1]); + const [x2, y2] = transformAbsolutePoint(matrix, args[2], args[3]); + const [x, y] = transformAbsolutePoint(matrix, args[4], args[5]); + args[0] = x1; + args[1] = y1; + args[2] = x2; + args[3] = y2; + args[4] = x; + args[5] = y; + } + if (command === 'c') { + cursor[0] += args[4]; + cursor[1] += args[5]; + const [x1, y1] = transformRelativePoint(matrix, args[0], args[1]); + const [x2, y2] = transformRelativePoint(matrix, args[2], args[3]); + const [x, y] = transformRelativePoint(matrix, args[4], args[5]); + args[0] = x1; + args[1] = y1; + args[2] = x2; + args[3] = y2; + args[4] = x; + args[5] = y; + } + + // smooth curveto (x2 y2 x y) + if (command === 'S') { + cursor[0] = args[2]; + cursor[1] = args[3]; + const [x2, y2] = transformAbsolutePoint(matrix, args[0], args[1]); + const [x, y] = transformAbsolutePoint(matrix, args[2], args[3]); + args[0] = x2; + args[1] = y2; + args[2] = x; + args[3] = y; + } + if (command === 's') { + cursor[0] += args[2]; + cursor[1] += args[3]; + const [x2, y2] = transformRelativePoint(matrix, args[0], args[1]); + const [x, y] = transformRelativePoint(matrix, args[2], args[3]); + args[0] = x2; + args[1] = y2; + args[2] = x; + args[3] = y; + } + + // quadratic Bézier curveto (x1 y1 x y) + if (command === 'Q') { + cursor[0] = args[2]; + cursor[1] = args[3]; + const [x1, y1] = transformAbsolutePoint(matrix, args[0], args[1]); + const [x, y] = transformAbsolutePoint(matrix, args[2], args[3]); + args[0] = x1; + args[1] = y1; + args[2] = x; + args[3] = y; + } + if (command === 'q') { + cursor[0] += args[2]; + cursor[1] += args[3]; + const [x1, y1] = transformRelativePoint(matrix, args[0], args[1]); + const [x, y] = transformRelativePoint(matrix, args[2], args[3]); + args[0] = x1; + args[1] = y1; + args[2] = x; + args[3] = y; + } + + // smooth quadratic Bézier curveto (x y) + if (command === 'T') { + cursor[0] = args[0]; + cursor[1] = args[1]; + const [x, y] = transformAbsolutePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + if (command === 't') { + cursor[0] += args[0]; + cursor[1] += args[1]; + const [x, y] = transformRelativePoint(matrix, args[0], args[1]); + args[0] = x; + args[1] = y; + } + + // elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y) + if (command === 'A') { + transformArc(cursor, args, matrix); + cursor[0] = args[5]; + cursor[1] = args[6]; + // reduce number of digits in rotation angle + if (Math.abs(args[2]) > 80) { + const a = args[0]; + const rotation = args[2]; + args[0] = args[1]; + args[1] = a; + args[2] = rotation + (rotation > 0 ? -90 : 90); + } + const [x, y] = transformAbsolutePoint(matrix, args[5], args[6]); + args[5] = x; + args[6] = y; + } + if (command === 'a') { + transformArc([0, 0], args, matrix); + cursor[0] += args[5]; + cursor[1] += args[6]; + // reduce number of digits in rotation angle + if (Math.abs(args[2]) > 80) { + const a = args[0]; + const rotation = args[2]; + args[0] = args[1]; + args[1] = a; + args[2] = rotation + (rotation > 0 ? -90 : 90); + } + const [x, y] = transformRelativePoint(matrix, args[5], args[6]); + args[5] = x; + args[6] = y; + } + + // closepath + if (command === 'z' || command === 'Z') { + cursor[0] = start[0]; + cursor[1] = start[1]; + } + + pathItem.command = command; + pathItem.args = args; + } +}; diff --git a/.output/server/node_modules/svgo/plugins/cleanupAttrs.js b/.output/server/node_modules/svgo/plugins/cleanupAttrs.js new file mode 100644 index 00000000..7b4c6b70 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/cleanupAttrs.js @@ -0,0 +1,49 @@ +'use strict'; + +exports.name = 'cleanupAttrs'; +exports.description = + 'cleanups attributes from newlines, trailing and repeating spaces'; + +const regNewlinesNeedSpace = /(\S)\r?\n(\S)/g; +const regNewlines = /\r?\n/g; +const regSpaces = /\s{2,}/g; + +/** + * Cleanup attributes values from newlines, trailing and repeating spaces. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'cleanupAttrs'>} + */ +exports.fn = (root, params) => { + const { newlines = true, trim = true, spaces = true } = params; + return { + element: { + enter: (node) => { + for (const name of Object.keys(node.attributes)) { + if (newlines) { + // new line which requires a space instead of themself + node.attributes[name] = node.attributes[name].replace( + regNewlinesNeedSpace, + (match, p1, p2) => p1 + ' ' + p2, + ); + // simple new line + node.attributes[name] = node.attributes[name].replace( + regNewlines, + '', + ); + } + if (trim) { + node.attributes[name] = node.attributes[name].trim(); + } + if (spaces) { + node.attributes[name] = node.attributes[name].replace( + regSpaces, + ' ', + ); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/cleanupEnableBackground.js b/.output/server/node_modules/svgo/plugins/cleanupEnableBackground.js new file mode 100644 index 00000000..330cfb57 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/cleanupEnableBackground.js @@ -0,0 +1,165 @@ +'use strict'; + +const csstree = require('css-tree'); +const { visit } = require('../lib/xast.js'); + +exports.name = 'cleanupEnableBackground'; +exports.description = + 'remove or cleanup enable-background attribute when possible'; + +const regEnableBackground = + /^new\s0\s0\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)$/; + +/** + * Remove or cleanup enable-background attr which coincides with a width/height box. + * + * @see https://www.w3.org/TR/SVG11/filters.html#EnableBackgroundProperty + * @example + * <svg width="100" height="50" enable-background="new 0 0 100 50"> + * ⬇ + * <svg width="100" height="50"> + * @author Kir Belevich + * @type {import('./plugins-types').Plugin<'cleanupEnableBackground'>} + */ +exports.fn = (root) => { + let hasFilter = false; + + visit(root, { + element: { + enter: (node) => { + if (node.name === 'filter') { + hasFilter = true; + } + }, + }, + }); + + return { + element: { + enter: (node) => { + /** @type {?csstree.CssNode} */ + let newStyle = null; + /** @type {?csstree.ListItem<csstree.CssNode>} */ + let enableBackgroundDeclaration = null; + + if (node.attributes.style != null) { + newStyle = csstree.parse(node.attributes.style, { + context: 'declarationList', + }); + + if (newStyle.type === 'DeclarationList') { + /** @type {csstree.ListItem<csstree.CssNode>[]} */ + const enableBackgroundDeclarations = []; + + csstree.walk(newStyle, (node, nodeItem) => { + if ( + node.type === 'Declaration' && + node.property === 'enable-background' + ) { + enableBackgroundDeclarations.push(nodeItem); + enableBackgroundDeclaration = nodeItem; + } + }); + + for (let i = 0; i < enableBackgroundDeclarations.length - 1; i++) { + newStyle.children.remove(enableBackgroundDeclarations[i]); + } + } + } + + if (!hasFilter) { + delete node.attributes['enable-background']; + + if (newStyle?.type === 'DeclarationList') { + if (enableBackgroundDeclaration) { + newStyle.children.remove(enableBackgroundDeclaration); + } + + if (newStyle.children.isEmpty) { + delete node.attributes.style; + } else { + node.attributes.style = csstree.generate(newStyle); + } + } + + return; + } + + const hasDimensions = + node.attributes.width != null && node.attributes.height != null; + + if ( + (node.name === 'svg' || + node.name === 'mask' || + node.name === 'pattern') && + hasDimensions + ) { + const attrValue = node.attributes['enable-background']; + const attrCleaned = cleanupValue( + attrValue, + node.name, + node.attributes.width, + node.attributes.height, + ); + + if (attrCleaned) { + node.attributes['enable-background'] = attrCleaned; + } else { + delete node.attributes['enable-background']; + } + + if ( + newStyle?.type === 'DeclarationList' && + enableBackgroundDeclaration + ) { + const styleValue = csstree.generate( + // @ts-ignore + enableBackgroundDeclaration.data.value, + ); + const styleCleaned = cleanupValue( + styleValue, + node.name, + node.attributes.width, + node.attributes.height, + ); + + if (styleCleaned) { + // @ts-ignore + enableBackgroundDeclaration.data.value = { + type: 'Raw', + value: styleCleaned, + }; + } else { + newStyle.children.remove(enableBackgroundDeclaration); + } + } + } + + if (newStyle?.type === 'DeclarationList') { + if (newStyle.children.isEmpty) { + delete node.attributes.style; + } else { + node.attributes.style = csstree.generate(newStyle); + } + } + }, + }, + }; +}; + +/** + * @param {string} value Value of a enable-background attribute or style declaration. + * @param {string} nodeName Name of the node the value was assigned to. + * @param {string} width Width of the node the value was assigned to. + * @param {string} height Height of the node the value was assigned to. + * @returns {string | undefined} Cleaned up value, or undefined if it's redundant. + */ +const cleanupValue = (value, nodeName, width, height) => { + const match = regEnableBackground.exec(value); + + if (match != null && width === match[1] && height === match[3]) { + return nodeName === 'svg' ? undefined : 'new'; + } + + return value; +}; diff --git a/.output/server/node_modules/svgo/plugins/cleanupIds.js b/.output/server/node_modules/svgo/plugins/cleanupIds.js new file mode 100644 index 00000000..bfabcca5 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/cleanupIds.js @@ -0,0 +1,265 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + */ + +const { visitSkip } = require('../lib/xast.js'); +const { hasScripts, findReferences } = require('../lib/svgo/tools'); + +exports.name = 'cleanupIds'; +exports.description = 'removes unused IDs and minifies used'; + +const generateIdChars = [ + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', +]; +const maxIdIndex = generateIdChars.length - 1; + +/** + * Check if an ID starts with any one of a list of strings. + * + * @type {(string: string, prefixes: string[]) => boolean} + */ +const hasStringPrefix = (string, prefixes) => { + for (const prefix of prefixes) { + if (string.startsWith(prefix)) { + return true; + } + } + return false; +}; + +/** + * Generate unique minimal ID. + * + * @param {?number[]} currentId + * @returns {number[]} + */ +const generateId = (currentId) => { + if (currentId == null) { + return [0]; + } + currentId[currentId.length - 1] += 1; + for (let i = currentId.length - 1; i > 0; i--) { + if (currentId[i] > maxIdIndex) { + currentId[i] = 0; + if (currentId[i - 1] !== undefined) { + currentId[i - 1]++; + } + } + } + if (currentId[0] > maxIdIndex) { + currentId[0] = 0; + currentId.unshift(0); + } + return currentId; +}; + +/** + * Get string from generated ID array. + * + * @type {(arr: number[]) => string} + */ +const getIdString = (arr) => { + return arr.map((i) => generateIdChars[i]).join(''); +}; + +/** + * Remove unused and minify used IDs + * (only if there are no any <style> or <script>). + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'cleanupIds'>} + */ +exports.fn = (_root, params) => { + const { + remove = true, + minify = true, + preserve = [], + preservePrefixes = [], + force = false, + } = params; + const preserveIds = new Set( + Array.isArray(preserve) ? preserve : preserve ? [preserve] : [], + ); + const preserveIdPrefixes = Array.isArray(preservePrefixes) + ? preservePrefixes + : preservePrefixes + ? [preservePrefixes] + : []; + /** + * @type {Map<string, XastElement>} + */ + const nodeById = new Map(); + /** + * @type {Map<string, {element: XastElement, name: string }[]>} + */ + const referencesById = new Map(); + let deoptimized = false; + + return { + element: { + enter: (node) => { + if (!force) { + // deoptimize if style or scripts are present + if ( + (node.name === 'style' && node.children.length !== 0) || + hasScripts(node) + ) { + deoptimized = true; + return; + } + + // avoid removing IDs if the whole SVG consists only of defs + if (node.name === 'svg') { + let hasDefsOnly = true; + for (const child of node.children) { + if (child.type !== 'element' || child.name !== 'defs') { + hasDefsOnly = false; + break; + } + } + if (hasDefsOnly) { + return visitSkip; + } + } + } + + for (const [name, value] of Object.entries(node.attributes)) { + if (name === 'id') { + // collect all ids + const id = value; + if (nodeById.has(id)) { + delete node.attributes.id; // remove repeated id + } else { + nodeById.set(id, node); + } + } else { + const ids = findReferences(name, value); + for (const id of ids) { + let refs = referencesById.get(id); + if (refs == null) { + refs = []; + referencesById.set(id, refs); + } + refs.push({ element: node, name }); + } + } + } + }, + }, + + root: { + exit: () => { + if (deoptimized) { + return; + } + /** + * @param {string} id + * @returns {boolean} + */ + const isIdPreserved = (id) => + preserveIds.has(id) || hasStringPrefix(id, preserveIdPrefixes); + /** @type {?number[]} */ + let currentId = null; + for (const [id, refs] of referencesById) { + const node = nodeById.get(id); + if (node != null) { + // replace referenced IDs with the minified ones + if (minify && isIdPreserved(id) === false) { + /** @type {?string} */ + let currentIdString = null; + do { + currentId = generateId(currentId); + currentIdString = getIdString(currentId); + } while ( + isIdPreserved(currentIdString) || + (referencesById.has(currentIdString) && + nodeById.get(currentIdString) == null) + ); + node.attributes.id = currentIdString; + for (const { element, name } of refs) { + const value = element.attributes[name]; + if (value.includes('#')) { + // replace id in href and url() + element.attributes[name] = value.replace( + `#${encodeURI(id)}`, + `#${currentIdString}`, + ); + } else { + // replace id in begin attribute + element.attributes[name] = value.replace( + `${id}.`, + `${currentIdString}.`, + ); + } + } + } + // keep referenced node + nodeById.delete(id); + } + } + // remove non-referenced IDs attributes from elements + if (remove) { + for (const [id, node] of nodeById) { + if (isIdPreserved(id) === false) { + delete node.attributes.id; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/cleanupListOfValues.js b/.output/server/node_modules/svgo/plugins/cleanupListOfValues.js new file mode 100644 index 00000000..618fd062 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/cleanupListOfValues.js @@ -0,0 +1,147 @@ +'use strict'; + +const { removeLeadingZero } = require('../lib/svgo/tools.js'); + +exports.name = 'cleanupListOfValues'; +exports.description = 'rounds list of values to the fixed precision'; + +const regNumericValues = + /^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/; +const regSeparator = /\s+,?\s*|,\s*/; +const absoluteLengths = { + // relative to px + cm: 96 / 2.54, + mm: 96 / 25.4, + in: 96, + pt: 4 / 3, + pc: 16, + px: 1, +}; + +/** + * Round list of values to the fixed precision. + * + * @example + * <svg viewBox="0 0 200.28423 200.28423" enable-background="new 0 0 200.28423 200.28423"> + * ⬇ + * <svg viewBox="0 0 200.284 200.284" enable-background="new 0 0 200.284 200.284"> + * + * <polygon points="208.250977 77.1308594 223.069336 ... "/> + * ⬇ + * <polygon points="208.251 77.131 223.069 ... "/> + * + * @author kiyopikko + * + * @type {import('./plugins-types').Plugin<'cleanupListOfValues'>} + */ +exports.fn = (_root, params) => { + const { + floatPrecision = 3, + leadingZero = true, + defaultPx = true, + convertToPx = true, + } = params; + + /** + * @type {(lists: string) => string} + */ + const roundValues = (lists) => { + const roundedList = []; + + for (const elem of lists.split(regSeparator)) { + const match = elem.match(regNumericValues); + const matchNew = elem.match(/new/); + + // if attribute value matches regNumericValues + if (match) { + // round it to the fixed precision + let num = Number(Number(match[1]).toFixed(floatPrecision)); + /** + * @type {any} + */ + let matchedUnit = match[3] || ''; + /** + * @type{'' | keyof typeof absoluteLengths} + */ + let units = matchedUnit; + + // convert absolute values to pixels + if (convertToPx && units && units in absoluteLengths) { + const pxNum = Number( + (absoluteLengths[units] * Number(match[1])).toFixed(floatPrecision), + ); + + if (pxNum.toString().length < match[0].length) { + num = pxNum; + units = 'px'; + } + } + + // and remove leading zero + let str; + if (leadingZero) { + str = removeLeadingZero(num); + } else { + str = num.toString(); + } + + // remove default 'px' units + if (defaultPx && units === 'px') { + units = ''; + } + + roundedList.push(str + units); + } + // if attribute value is "new"(only enable-background). + else if (matchNew) { + roundedList.push('new'); + } else if (elem) { + roundedList.push(elem); + } + } + + return roundedList.join(' '); + }; + + return { + element: { + enter: (node) => { + if (node.attributes.points != null) { + node.attributes.points = roundValues(node.attributes.points); + } + + if (node.attributes['enable-background'] != null) { + node.attributes['enable-background'] = roundValues( + node.attributes['enable-background'], + ); + } + + if (node.attributes.viewBox != null) { + node.attributes.viewBox = roundValues(node.attributes.viewBox); + } + + if (node.attributes['stroke-dasharray'] != null) { + node.attributes['stroke-dasharray'] = roundValues( + node.attributes['stroke-dasharray'], + ); + } + + if (node.attributes.dx != null) { + node.attributes.dx = roundValues(node.attributes.dx); + } + + if (node.attributes.dy != null) { + node.attributes.dy = roundValues(node.attributes.dy); + } + + if (node.attributes.x != null) { + node.attributes.x = roundValues(node.attributes.x); + } + + if (node.attributes.y != null) { + node.attributes.y = roundValues(node.attributes.y); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/cleanupNumericValues.js b/.output/server/node_modules/svgo/plugins/cleanupNumericValues.js new file mode 100644 index 00000000..9b782c3d --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/cleanupNumericValues.js @@ -0,0 +1,106 @@ +'use strict'; + +const { removeLeadingZero } = require('../lib/svgo/tools'); + +exports.name = 'cleanupNumericValues'; +exports.description = + 'rounds numeric values to the fixed precision, removes default ‘px’ units'; + +const regNumericValues = + /^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/; + +const absoluteLengths = { + // relative to px + cm: 96 / 2.54, + mm: 96 / 25.4, + in: 96, + pt: 4 / 3, + pc: 16, + px: 1, +}; + +/** + * Round numeric values to the fixed precision, + * remove default 'px' units. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'cleanupNumericValues'>} + */ +exports.fn = (_root, params) => { + const { + floatPrecision = 3, + leadingZero = true, + defaultPx = true, + convertToPx = true, + } = params; + + return { + element: { + enter: (node) => { + if (node.attributes.viewBox != null) { + const nums = node.attributes.viewBox.split(/\s,?\s*|,\s*/g); + node.attributes.viewBox = nums + .map((value) => { + const num = Number(value); + return Number.isNaN(num) + ? value + : Number(num.toFixed(floatPrecision)); + }) + .join(' '); + } + + for (const [name, value] of Object.entries(node.attributes)) { + // The `version` attribute is a text string and cannot be rounded + if (name === 'version') { + continue; + } + + const match = value.match(regNumericValues); + + // if attribute value matches regNumericValues + if (match) { + // round it to the fixed precision + let num = Number(Number(match[1]).toFixed(floatPrecision)); + /** + * @type {any} + */ + let matchedUnit = match[3] || ''; + /** + * @type{'' | keyof typeof absoluteLengths} + */ + let units = matchedUnit; + + // convert absolute values to pixels + if (convertToPx && units !== '' && units in absoluteLengths) { + const pxNum = Number( + (absoluteLengths[units] * Number(match[1])).toFixed( + floatPrecision, + ), + ); + if (pxNum.toString().length < match[0].length) { + num = pxNum; + units = 'px'; + } + } + + // and remove leading zero + let str; + if (leadingZero) { + str = removeLeadingZero(num); + } else { + str = num.toString(); + } + + // remove default 'px' units + if (defaultPx && units === 'px') { + units = ''; + } + + node.attributes[name] = str + units; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/collapseGroups.js b/.output/server/node_modules/svgo/plugins/collapseGroups.js new file mode 100644 index 00000000..0534ad77 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/collapseGroups.js @@ -0,0 +1,134 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastNode} XastNode + */ + +const { inheritableAttrs, elemsGroups } = require('./_collections.js'); + +exports.name = 'collapseGroups'; +exports.description = 'collapses useless groups'; + +/** + * @type {(node: XastNode, name: string) => boolean} + */ +const hasAnimatedAttr = (node, name) => { + if (node.type === 'element') { + if ( + elemsGroups.animation.has(node.name) && + node.attributes.attributeName === name + ) { + return true; + } + for (const child of node.children) { + if (hasAnimatedAttr(child, name)) { + return true; + } + } + } + return false; +}; + +/** + * Collapse useless groups. + * + * @example + * <g> + * <g attr1="val1"> + * <path d="..."/> + * </g> + * </g> + * ⬇ + * <g> + * <g> + * <path attr1="val1" d="..."/> + * </g> + * </g> + * ⬇ + * <path attr1="val1" d="..."/> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'collapseGroups'>} + */ +exports.fn = () => { + return { + element: { + exit: (node, parentNode) => { + if (parentNode.type === 'root' || parentNode.name === 'switch') { + return; + } + // non-empty groups + if (node.name !== 'g' || node.children.length === 0) { + return; + } + + // move group attributes to the single child element + if ( + Object.keys(node.attributes).length !== 0 && + node.children.length === 1 + ) { + const firstChild = node.children[0]; + // TODO untangle this mess + if ( + firstChild.type === 'element' && + firstChild.attributes.id == null && + node.attributes.filter == null && + (node.attributes.class == null || + firstChild.attributes.class == null) && + ((node.attributes['clip-path'] == null && + node.attributes.mask == null) || + (firstChild.name === 'g' && + node.attributes.transform == null && + firstChild.attributes.transform == null)) + ) { + for (const [name, value] of Object.entries(node.attributes)) { + // avoid copying to not conflict with animated attribute + if (hasAnimatedAttr(firstChild, name)) { + return; + } + if (firstChild.attributes[name] == null) { + firstChild.attributes[name] = value; + } else if (name === 'transform') { + firstChild.attributes[name] = + value + ' ' + firstChild.attributes[name]; + } else if (firstChild.attributes[name] === 'inherit') { + firstChild.attributes[name] = value; + } else if ( + inheritableAttrs.has(name) === false && + firstChild.attributes[name] !== value + ) { + return; + } + delete node.attributes[name]; + } + } + } + + // collapse groups without attributes + if (Object.keys(node.attributes).length === 0) { + // animation elements "add" attributes to group + // group should be preserved + for (const child of node.children) { + if ( + child.type === 'element' && + elemsGroups.animation.has(child.name) + ) { + return; + } + } + // replace current node with all its children + const index = parentNode.children.indexOf(node); + parentNode.children.splice(index, 1, ...node.children); + // TODO remove legacy parentNode in v4 + for (const child of node.children) { + Object.defineProperty(child, 'parentNode', { + writable: true, + value: parentNode, + }); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertColors.js b/.output/server/node_modules/svgo/plugins/convertColors.js new file mode 100644 index 00000000..d894283f --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertColors.js @@ -0,0 +1,144 @@ +'use strict'; + +const collections = require('./_collections.js'); + +exports.name = 'convertColors'; +exports.description = 'converts colors: rgb() to #rrggbb and #rrggbb to #rgb'; + +const rNumber = '([+-]?(?:\\d*\\.\\d+|\\d+\\.?)%?)'; +const rComma = '\\s*,\\s*'; +const regRGB = new RegExp( + '^rgb\\(\\s*' + rNumber + rComma + rNumber + rComma + rNumber + '\\s*\\)$', +); +const regHEX = /^#(([a-fA-F0-9])\2){3}$/; + +/** + * Convert [r, g, b] to #rrggbb. + * + * @see https://gist.github.com/983535 + * + * @example + * rgb2hex([255, 255, 255]) // '#ffffff' + * + * @author Jed Schmidt + * + * @type {(rgb: number[]) => string} + */ +const convertRgbToHex = ([r, g, b]) => { + // combine the octets into a 32-bit integer as: [1][r][g][b] + const hexNumber = + // operator precedence is (+) > (<<) > (|) + ((((256 + // [1][0] + r) << // [1][r] + 8) | // [1][r][0] + g) << // [1][r][g] + 8) | // [1][r][g][0] + b; + // serialize [1][r][g][b] to a hex string, and + // remove the 1 to get the number with 0s intact + return '#' + hexNumber.toString(16).slice(1).toUpperCase(); +}; + +/** + * Convert different colors formats in element attributes to hex. + * + * @see https://www.w3.org/TR/SVG11/types.html#DataTypeColor + * @see https://www.w3.org/TR/SVG11/single-page.html#types-ColorKeywords + * + * @example + * Convert color name keyword to long hex: + * fuchsia ➡ #ff00ff + * + * Convert rgb() to long hex: + * rgb(255, 0, 255) ➡ #ff00ff + * rgb(50%, 100, 100%) ➡ #7f64ff + * + * Convert long hex to short hex: + * #aabbcc ➡ #abc + * + * Convert hex to short name + * #000080 ➡ navy + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'convertColors'>} + */ +exports.fn = (_root, params) => { + const { + currentColor = false, + names2hex = true, + rgb2hex = true, + shorthex = true, + shortname = true, + } = params; + + return { + element: { + enter: (node) => { + for (const [name, value] of Object.entries(node.attributes)) { + if (collections.colorsProps.has(name)) { + let val = value; + + // convert colors to currentColor + if (currentColor) { + let matched; + if (typeof currentColor === 'string') { + matched = val === currentColor; + } else if (currentColor instanceof RegExp) { + matched = currentColor.exec(val) != null; + } else { + matched = val !== 'none'; + } + if (matched) { + val = 'currentColor'; + } + } + + // convert color name keyword to long hex + if (names2hex) { + const colorName = val.toLowerCase(); + if (collections.colorsNames[colorName] != null) { + val = collections.colorsNames[colorName]; + } + } + + // convert rgb() to long hex + if (rgb2hex) { + let match = val.match(regRGB); + if (match != null) { + let nums = match.slice(1, 4).map((m) => { + let n; + if (m.indexOf('%') > -1) { + n = Math.round(parseFloat(m) * 2.55); + } else { + n = Number(m); + } + return Math.max(0, Math.min(n, 255)); + }); + val = convertRgbToHex(nums); + } + } + + // convert long hex to short hex + if (shorthex) { + let match = val.match(regHEX); + if (match != null) { + val = '#' + match[0][1] + match[0][3] + match[0][5]; + } + } + + // convert hex to short name + if (shortname) { + const colorName = val.toLowerCase(); + if (collections.colorsShortNames[colorName] != null) { + val = collections.colorsShortNames[colorName]; + } + } + + node.attributes[name] = val; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertEllipseToCircle.js b/.output/server/node_modules/svgo/plugins/convertEllipseToCircle.js new file mode 100644 index 00000000..50fa20db --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertEllipseToCircle.js @@ -0,0 +1,37 @@ +'use strict'; + +exports.name = 'convertEllipseToCircle'; +exports.description = 'converts non-eccentric <ellipse>s to <circle>s'; + +/** + * Converts non-eccentric <ellipse>s to <circle>s. + * + * @see https://www.w3.org/TR/SVG11/shapes.html + * + * @author Taylor Hunt + * + * @type {import('./plugins-types').Plugin<'convertEllipseToCircle'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + if (node.name === 'ellipse') { + const rx = node.attributes.rx || '0'; + const ry = node.attributes.ry || '0'; + if ( + rx === ry || + rx === 'auto' || + ry === 'auto' // SVG2 + ) { + node.name = 'circle'; + const radius = rx === 'auto' ? ry : rx; + delete node.attributes.rx; + delete node.attributes.ry; + node.attributes.r = radius; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertOneStopGradients.js b/.output/server/node_modules/svgo/plugins/convertOneStopGradients.js new file mode 100644 index 00000000..1cf0d66b --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertOneStopGradients.js @@ -0,0 +1,168 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + */ + +const { attrsGroupsDefaults, colorsProps } = require('./_collections'); +const { + detachNodeFromParent, + querySelectorAll, + querySelector, +} = require('../lib/xast'); +const { computeStyle, collectStylesheet } = require('../lib/style'); + +exports.name = 'convertOneStopGradients'; +exports.description = + 'converts one-stop (single color) gradients to a plain color'; + +/** + * Converts one-stop (single color) gradients to a plain color. + * + * @author Seth Falco <seth@falco.fun> + * @type {import('./plugins-types').Plugin<'convertOneStopGradients'>} + * @see https://developer.mozilla.org/docs/Web/SVG/Element/linearGradient + * @see https://developer.mozilla.org/docs/Web/SVG/Element/radialGradient + */ +exports.fn = (root) => { + const stylesheet = collectStylesheet(root); + + /** + * Parent defs that had gradients elements removed from them. + * + * @type {Set<XastElement>} + */ + const effectedDefs = new Set(); + + /** + * @type {Map<XastElement, XastParent>} + */ + const allDefs = new Map(); + + /** + * @type {Map<XastElement, XastParent>} + */ + const gradientsToDetach = new Map(); + + /** Number of references to the xlink:href attribute. */ + let xlinkHrefCount = 0; + + return { + element: { + enter: (node, parentNode) => { + if (node.attributes['xlink:href'] != null) { + xlinkHrefCount++; + } + + if (node.name === 'defs') { + allDefs.set(node, parentNode); + return; + } + + if (node.name !== 'linearGradient' && node.name !== 'radialGradient') { + return; + } + + const stops = node.children.filter((child) => { + return child.type === 'element' && child.name === 'stop'; + }); + + const href = node.attributes['xlink:href'] || node.attributes['href']; + let effectiveNode = + stops.length === 0 && href != null && href.startsWith('#') + ? querySelector(root, href) + : node; + + if (effectiveNode == null || effectiveNode.type !== 'element') { + gradientsToDetach.set(node, parentNode); + return; + } + + const effectiveStops = effectiveNode.children.filter((child) => { + return child.type === 'element' && child.name === 'stop'; + }); + + if ( + effectiveStops.length !== 1 || + effectiveStops[0].type !== 'element' + ) { + return; + } + + if (parentNode.type === 'element' && parentNode.name === 'defs') { + effectedDefs.add(parentNode); + } + + gradientsToDetach.set(node, parentNode); + + let color; + const style = computeStyle(stylesheet, effectiveStops[0])['stop-color']; + if (style != null && style.type === 'static') { + color = style.value; + } + + const selectorVal = `url(#${node.attributes.id})`; + + const selector = [...colorsProps] + .map((attr) => `[${attr}="${selectorVal}"]`) + .join(','); + const elements = querySelectorAll(root, selector); + for (const element of elements) { + if (element.type !== 'element') { + continue; + } + + for (const attr of colorsProps) { + if (element.attributes[attr] !== selectorVal) { + continue; + } + + if (color != null) { + element.attributes[attr] = color; + } else { + delete element.attributes[attr]; + } + } + } + + const styledElements = querySelectorAll( + root, + `[style*=${selectorVal}]`, + ); + for (const element of styledElements) { + if (element.type !== 'element') { + continue; + } + + element.attributes.style = element.attributes.style.replace( + selectorVal, + color || attrsGroupsDefaults.presentation['stop-color'], + ); + } + }, + + exit: (node) => { + if (node.name === 'svg') { + for (const [gradient, parent] of gradientsToDetach.entries()) { + if (gradient.attributes['xlink:href'] != null) { + xlinkHrefCount--; + } + + detachNodeFromParent(gradient, parent); + } + + if (xlinkHrefCount === 0) { + delete node.attributes['xmlns:xlink']; + } + + for (const [defs, parent] of allDefs.entries()) { + if (effectedDefs.has(defs) && defs.children.length === 0) { + detachNodeFromParent(defs, parent); + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertPathData.js b/.output/server/node_modules/svgo/plugins/convertPathData.js new file mode 100644 index 00000000..de7b357f --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertPathData.js @@ -0,0 +1,1284 @@ +'use strict'; + +/** + * @typedef {import('../lib//types').PathDataItem} PathDataItem + */ + +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { visit } = require('../lib/xast.js'); +const { pathElems } = require('./_collections.js'); +const { path2js, js2path } = require('./_path.js'); +const { applyTransforms } = require('./applyTransforms.js'); +const { cleanupOutData, toFixed } = require('../lib/svgo/tools'); + +exports.name = 'convertPathData'; +exports.description = + 'optimizes path data: writes in shorter form, applies transformations'; + +/** @type {(data: number[]) => number[]} */ +let roundData; +/** @type {number | false} */ +let precision; +/** @type {number} */ +let error; +/** @type {number} */ +let arcThreshold; +/** @type {number} */ +let arcTolerance; + +/** + * @typedef {{ + * applyTransforms: boolean, + * applyTransformsStroked: boolean, + * makeArcs: { + * threshold: number, + * tolerance: number, + * }, + * straightCurves: boolean, + * convertToQ: boolean, + * lineShorthands: boolean, + * convertToZ: boolean, + * curveSmoothShorthands: boolean, + * floatPrecision: number | false, + * transformPrecision: number, + * smartArcRounding: boolean, + * removeUseless: boolean, + * collapseRepeated: boolean, + * utilizeAbsolute: boolean, + * leadingZero: boolean, + * negativeExtraSpace: boolean, + * noSpaceAfterFlags: boolean, + * forceAbsolutePath: boolean, + * }} InternalParams + */ + +/** + * @typedef {[number, number]} Point + */ + +/** + * @typedef {{ + * center: Point, + * radius: number + * }} Circle + */ + +/** + * Convert absolute Path to relative, + * collapse repeated instructions, + * detect and convert Lineto shorthands, + * remove useless instructions like "l0,0", + * trim useless delimiters and leading zeros, + * decrease accuracy of floating-point numbers. + * + * @see https://www.w3.org/TR/SVG11/paths.html#PathData + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'convertPathData'>} + */ +exports.fn = (root, params) => { + const { + // TODO convert to separate plugin in v3 + applyTransforms: _applyTransforms = true, + applyTransformsStroked = true, + makeArcs = { + threshold: 2.5, // coefficient of rounding error + tolerance: 0.5, // percentage of radius + }, + straightCurves = true, + convertToQ = true, + lineShorthands = true, + convertToZ = true, + curveSmoothShorthands = true, + floatPrecision = 3, + transformPrecision = 5, + smartArcRounding = true, + removeUseless = true, + collapseRepeated = true, + utilizeAbsolute = true, + leadingZero = true, + negativeExtraSpace = true, + noSpaceAfterFlags = false, // a20 60 45 0 1 30 20 → a20 60 45 0130 20 + forceAbsolutePath = false, + } = params; + + /** + * @type {InternalParams} + */ + const newParams = { + applyTransforms: _applyTransforms, + applyTransformsStroked, + makeArcs, + straightCurves, + convertToQ, + lineShorthands, + convertToZ, + curveSmoothShorthands, + floatPrecision, + transformPrecision, + smartArcRounding, + removeUseless, + collapseRepeated, + utilizeAbsolute, + leadingZero, + negativeExtraSpace, + noSpaceAfterFlags, + forceAbsolutePath, + }; + + // invoke applyTransforms plugin + if (_applyTransforms) { + visit( + root, + // @ts-ignore + applyTransforms(root, { + transformPrecision, + applyTransformsStroked, + }), + ); + } + + const stylesheet = collectStylesheet(root); + return { + element: { + enter: (node) => { + if (pathElems.has(node.name) && node.attributes.d != null) { + const computedStyle = computeStyle(stylesheet, node); + precision = floatPrecision; + error = + precision !== false + ? +Math.pow(0.1, precision).toFixed(precision) + : 1e-2; + roundData = + precision && precision > 0 && precision < 20 ? strongRound : round; + if (makeArcs) { + arcThreshold = makeArcs.threshold; + arcTolerance = makeArcs.tolerance; + } + const hasMarkerMid = computedStyle['marker-mid'] != null; + + const maybeHasStroke = + computedStyle.stroke && + (computedStyle.stroke.type === 'dynamic' || + computedStyle.stroke.value !== 'none'); + const maybeHasLinecap = + computedStyle['stroke-linecap'] && + (computedStyle['stroke-linecap'].type === 'dynamic' || + computedStyle['stroke-linecap'].value !== 'butt'); + const maybeHasStrokeAndLinecap = maybeHasStroke && maybeHasLinecap; + const isSafeToUseZ = maybeHasStroke + ? computedStyle['stroke-linecap']?.type === 'static' && + computedStyle['stroke-linecap'].value === 'round' && + computedStyle['stroke-linejoin']?.type === 'static' && + computedStyle['stroke-linejoin'].value === 'round' + : true; + + var data = path2js(node); + + // TODO: get rid of functions returns + if (data.length) { + convertToRelative(data); + + data = filters(data, newParams, { + isSafeToUseZ, + maybeHasStrokeAndLinecap, + hasMarkerMid, + }); + + if (utilizeAbsolute) { + data = convertToMixed(data, newParams); + } + + // @ts-ignore + js2path(node, data, newParams); + } + } + }, + }, + }; +}; + +/** + * Convert absolute path data coordinates to relative. + * + * @type {(pathData: PathDataItem[]) => PathDataItem[]} + */ +const convertToRelative = (pathData) => { + let start = [0, 0]; + let cursor = [0, 0]; + let prevCoords = [0, 0]; + + for (let i = 0; i < pathData.length; i += 1) { + const pathItem = pathData[i]; + let { command, args } = pathItem; + + // moveto (x y) + if (command === 'm') { + // update start and cursor + cursor[0] += args[0]; + cursor[1] += args[1]; + start[0] = cursor[0]; + start[1] = cursor[1]; + } + if (command === 'M') { + // M → m + // skip first moveto + if (i !== 0) { + command = 'm'; + } + args[0] -= cursor[0]; + args[1] -= cursor[1]; + // update start and cursor + cursor[0] += args[0]; + cursor[1] += args[1]; + start[0] = cursor[0]; + start[1] = cursor[1]; + } + + // lineto (x y) + if (command === 'l') { + cursor[0] += args[0]; + cursor[1] += args[1]; + } + if (command === 'L') { + // L → l + command = 'l'; + args[0] -= cursor[0]; + args[1] -= cursor[1]; + cursor[0] += args[0]; + cursor[1] += args[1]; + } + + // horizontal lineto (x) + if (command === 'h') { + cursor[0] += args[0]; + } + if (command === 'H') { + // H → h + command = 'h'; + args[0] -= cursor[0]; + cursor[0] += args[0]; + } + + // vertical lineto (y) + if (command === 'v') { + cursor[1] += args[0]; + } + if (command === 'V') { + // V → v + command = 'v'; + args[0] -= cursor[1]; + cursor[1] += args[0]; + } + + // curveto (x1 y1 x2 y2 x y) + if (command === 'c') { + cursor[0] += args[4]; + cursor[1] += args[5]; + } + if (command === 'C') { + // C → c + command = 'c'; + args[0] -= cursor[0]; + args[1] -= cursor[1]; + args[2] -= cursor[0]; + args[3] -= cursor[1]; + args[4] -= cursor[0]; + args[5] -= cursor[1]; + cursor[0] += args[4]; + cursor[1] += args[5]; + } + + // smooth curveto (x2 y2 x y) + if (command === 's') { + cursor[0] += args[2]; + cursor[1] += args[3]; + } + if (command === 'S') { + // S → s + command = 's'; + args[0] -= cursor[0]; + args[1] -= cursor[1]; + args[2] -= cursor[0]; + args[3] -= cursor[1]; + cursor[0] += args[2]; + cursor[1] += args[3]; + } + + // quadratic Bézier curveto (x1 y1 x y) + if (command === 'q') { + cursor[0] += args[2]; + cursor[1] += args[3]; + } + if (command === 'Q') { + // Q → q + command = 'q'; + args[0] -= cursor[0]; + args[1] -= cursor[1]; + args[2] -= cursor[0]; + args[3] -= cursor[1]; + cursor[0] += args[2]; + cursor[1] += args[3]; + } + + // smooth quadratic Bézier curveto (x y) + if (command === 't') { + cursor[0] += args[0]; + cursor[1] += args[1]; + } + if (command === 'T') { + // T → t + command = 't'; + args[0] -= cursor[0]; + args[1] -= cursor[1]; + cursor[0] += args[0]; + cursor[1] += args[1]; + } + + // elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y) + if (command === 'a') { + cursor[0] += args[5]; + cursor[1] += args[6]; + } + if (command === 'A') { + // A → a + command = 'a'; + args[5] -= cursor[0]; + args[6] -= cursor[1]; + cursor[0] += args[5]; + cursor[1] += args[6]; + } + + // closepath + if (command === 'Z' || command === 'z') { + // reset cursor + cursor[0] = start[0]; + cursor[1] = start[1]; + } + + pathItem.command = command; + pathItem.args = args; + // store absolute coordinates for later use + // base should preserve reference from other element + // @ts-ignore + pathItem.base = prevCoords; + // @ts-ignore + pathItem.coords = [cursor[0], cursor[1]]; + // @ts-ignore + prevCoords = pathItem.coords; + } + + return pathData; +}; + +/** + * Main filters loop. + * + * @type {( + * path: PathDataItem[], + * params: InternalParams, + * aux: { isSafeToUseZ: boolean, maybeHasStrokeAndLinecap: boolean, hasMarkerMid: boolean } + * ) => PathDataItem[]} + */ +function filters( + path, + params, + { isSafeToUseZ, maybeHasStrokeAndLinecap, hasMarkerMid }, +) { + const stringify = data2Path.bind(null, params); + const relSubpoint = [0, 0]; + const pathBase = [0, 0]; + /** @type {any} */ + let prev = {}; + /** @type {Point | undefined} */ + let prevQControlPoint; + + path = path.filter(function (item, index, path) { + const qControlPoint = prevQControlPoint; + prevQControlPoint = undefined; + + let command = item.command; + let data = item.args; + let next = path[index + 1]; + + if (command !== 'Z' && command !== 'z') { + var sdata = data, + circle; + + if (command === 's') { + sdata = [0, 0].concat(data); + + const pdata = prev.args; + const n = pdata.length; + + // (-x, -y) of the prev tangent point relative to the current point + sdata[0] = pdata[n - 2] - pdata[n - 4]; + sdata[1] = pdata[n - 1] - pdata[n - 3]; + } + + // convert curves to arcs if possible + if ( + params.makeArcs && + (command == 'c' || command == 's') && + isConvex(sdata) && + (circle = findCircle(sdata)) + ) { + var r = roundData([circle.radius])[0], + angle = findArcAngle(sdata, circle), + sweep = sdata[5] * sdata[0] - sdata[4] * sdata[1] > 0 ? 1 : 0, + /** + * @type {PathDataItem} + */ + arc = { + command: 'a', + args: [r, r, 0, 0, sweep, sdata[4], sdata[5]], + // @ts-ignore + coords: item.coords.slice(), + // @ts-ignore + base: item.base, + }, + /** + * @type {PathDataItem[]} + */ + output = [arc], + // relative coordinates to adjust the found circle + /** + * @type {Point} + */ + relCenter = [ + circle.center[0] - sdata[4], + circle.center[1] - sdata[5], + ], + relCircle = { center: relCenter, radius: circle.radius }, + arcCurves = [item], + hasPrev = 0, + suffix = '', + nextLonghand; + + if ( + (prev.command == 'c' && + isConvex(prev.args) && + isArcPrev(prev.args, circle)) || + (prev.command == 'a' && prev.sdata && isArcPrev(prev.sdata, circle)) + ) { + arcCurves.unshift(prev); + // @ts-ignore + arc.base = prev.base; + // @ts-ignore + arc.args[5] = arc.coords[0] - arc.base[0]; + // @ts-ignore + arc.args[6] = arc.coords[1] - arc.base[1]; + var prevData = prev.command == 'a' ? prev.sdata : prev.args; + var prevAngle = findArcAngle(prevData, { + center: [ + prevData[4] + circle.center[0], + prevData[5] + circle.center[1], + ], + radius: circle.radius, + }); + angle += prevAngle; + if (angle > Math.PI) arc.args[3] = 1; + hasPrev = 1; + } + + // check if next curves are fitting the arc + for ( + var j = index; + (next = path[++j]) && (next.command === 'c' || next.command === 's'); + + ) { + var nextData = next.args; + if (next.command == 's') { + nextLonghand = makeLonghand( + { command: 's', args: next.args.slice() }, + path[j - 1].args, + ); + nextData = nextLonghand.args; + nextLonghand.args = nextData.slice(0, 2); + suffix = stringify([nextLonghand]); + } + if (isConvex(nextData) && isArc(nextData, relCircle)) { + angle += findArcAngle(nextData, relCircle); + if (angle - 2 * Math.PI > 1e-3) break; // more than 360° + if (angle > Math.PI) arc.args[3] = 1; + arcCurves.push(next); + if (2 * Math.PI - angle > 1e-3) { + // less than 360° + // @ts-ignore + arc.coords = next.coords; + // @ts-ignore + arc.args[5] = arc.coords[0] - arc.base[0]; + // @ts-ignore + arc.args[6] = arc.coords[1] - arc.base[1]; + } else { + // full circle, make a half-circle arc and add a second one + arc.args[5] = 2 * (relCircle.center[0] - nextData[4]); + arc.args[6] = 2 * (relCircle.center[1] - nextData[5]); + // @ts-ignore + arc.coords = [ + // @ts-ignore + arc.base[0] + arc.args[5], + // @ts-ignore + arc.base[1] + arc.args[6], + ]; + arc = { + command: 'a', + args: [ + r, + r, + 0, + 0, + sweep, + // @ts-ignore + next.coords[0] - arc.coords[0], + // @ts-ignore + next.coords[1] - arc.coords[1], + ], + // @ts-ignore + coords: next.coords, + // @ts-ignore + base: arc.coords, + }; + output.push(arc); + j++; + break; + } + relCenter[0] -= nextData[4]; + relCenter[1] -= nextData[5]; + } else break; + } + + if ((stringify(output) + suffix).length < stringify(arcCurves).length) { + if (path[j] && path[j].command == 's') { + makeLonghand(path[j], path[j - 1].args); + } + if (hasPrev) { + var prevArc = output.shift(); + // @ts-ignore + roundData(prevArc.args); + // @ts-ignore + relSubpoint[0] += prevArc.args[5] - prev.args[prev.args.length - 2]; + // @ts-ignore + relSubpoint[1] += prevArc.args[6] - prev.args[prev.args.length - 1]; + prev.command = 'a'; + // @ts-ignore + prev.args = prevArc.args; + // @ts-ignore + item.base = prev.coords = prevArc.coords; + } + // @ts-ignore + arc = output.shift(); + if (arcCurves.length == 1) { + // @ts-ignore + item.sdata = sdata.slice(); // preserve curve data for future checks + } else if (arcCurves.length - 1 - hasPrev > 0) { + // filter out consumed next items + path.splice(index + 1, arcCurves.length - 1 - hasPrev, ...output); + } + if (!arc) return false; + command = 'a'; + data = arc.args; + // @ts-ignore + item.coords = arc.coords; + } + } + + // Rounding relative coordinates, taking in account accumulating error + // to get closer to absolute coordinates. Sum of rounded value remains same: + // l .25 3 .25 2 .25 3 .25 2 -> l .3 3 .2 2 .3 3 .2 2 + if (precision !== false) { + if ( + command === 'm' || + command === 'l' || + command === 't' || + command === 'q' || + command === 's' || + command === 'c' + ) { + for (var i = data.length; i--; ) { + // @ts-ignore + data[i] += item.base[i % 2] - relSubpoint[i % 2]; + } + } else if (command == 'h') { + // @ts-ignore + data[0] += item.base[0] - relSubpoint[0]; + } else if (command == 'v') { + // @ts-ignore + data[0] += item.base[1] - relSubpoint[1]; + } else if (command == 'a') { + // @ts-ignore + data[5] += item.base[0] - relSubpoint[0]; + // @ts-ignore + data[6] += item.base[1] - relSubpoint[1]; + } + roundData(data); + + if (command == 'h') relSubpoint[0] += data[0]; + else if (command == 'v') relSubpoint[1] += data[0]; + else { + relSubpoint[0] += data[data.length - 2]; + relSubpoint[1] += data[data.length - 1]; + } + roundData(relSubpoint); + + if (command === 'M' || command === 'm') { + pathBase[0] = relSubpoint[0]; + pathBase[1] = relSubpoint[1]; + } + } + + // round arc radius more accurately + // eg m 0 0 a 1234.567 1234.567 0 0 1 10 0 -> m 0 0 a 1235 1235 0 0 1 10 0 + const sagitta = command === 'a' ? calculateSagitta(data) : undefined; + if (params.smartArcRounding && sagitta !== undefined && precision) { + for (let precisionNew = precision; precisionNew >= 0; precisionNew--) { + const radius = toFixed(data[0], precisionNew); + const sagittaNew = /** @type {number} */ ( + calculateSagitta([radius, radius, ...data.slice(2)]) + ); + if (Math.abs(sagitta - sagittaNew) < error) { + data[0] = radius; + data[1] = radius; + } else { + break; + } + } + } + + // convert straight curves into lines segments + if (params.straightCurves) { + if ( + (command === 'c' && isCurveStraightLine(data)) || + (command === 's' && isCurveStraightLine(sdata)) + ) { + if (next && next.command == 's') makeLonghand(next, data); // fix up next curve + command = 'l'; + data = data.slice(-2); + } else if (command === 'q' && isCurveStraightLine(data)) { + if (next && next.command == 't') makeLonghand(next, data); // fix up next curve + command = 'l'; + data = data.slice(-2); + } else if ( + command === 't' && + prev.command !== 'q' && + prev.command !== 't' + ) { + command = 'l'; + data = data.slice(-2); + } else if ( + command === 'a' && + (data[0] === 0 || + data[1] === 0 || + (sagitta !== undefined && sagitta < error)) + ) { + command = 'l'; + data = data.slice(-2); + } + } + + // degree-lower c to q when possible + // m 0 12 C 4 4 8 4 12 12 → M 0 12 Q 6 0 12 12 + if (params.convertToQ && command == 'c') { + const x1 = + // @ts-ignore + 0.75 * (item.base[0] + data[0]) - 0.25 * item.base[0]; + const x2 = + // @ts-ignore + 0.75 * (item.base[0] + data[2]) - 0.25 * (item.base[0] + data[4]); + if (Math.abs(x1 - x2) < error * 2) { + const y1 = + // @ts-ignore + 0.75 * (item.base[1] + data[1]) - 0.25 * item.base[1]; + const y2 = + // @ts-ignore + 0.75 * (item.base[1] + data[3]) - 0.25 * (item.base[1] + data[5]); + if (Math.abs(y1 - y2) < error * 2) { + const newData = data.slice(); + newData.splice( + 0, + 4, + // @ts-ignore + x1 + x2 - item.base[0], + // @ts-ignore + y1 + y2 - item.base[1], + ); + roundData(newData); + const originalLength = cleanupOutData(data, params).length, + newLength = cleanupOutData(newData, params).length; + if (newLength < originalLength) { + command = 'q'; + data = newData; + if (next && next.command == 's') makeLonghand(next, data); // fix up next curve + } + } + } + } + + // horizontal and vertical line shorthands + // l 50 0 → h 50 + // l 0 50 → v 50 + if (params.lineShorthands && command === 'l') { + if (data[1] === 0) { + command = 'h'; + data.pop(); + } else if (data[0] === 0) { + command = 'v'; + data.shift(); + } + } + + // collapse repeated commands + // h 20 h 30 -> h 50 + if ( + params.collapseRepeated && + hasMarkerMid === false && + (command === 'm' || command === 'h' || command === 'v') && + prev.command && + command == prev.command.toLowerCase() && + ((command != 'h' && command != 'v') || + prev.args[0] >= 0 == data[0] >= 0) + ) { + prev.args[0] += data[0]; + if (command != 'h' && command != 'v') { + prev.args[1] += data[1]; + } + // @ts-ignore + prev.coords = item.coords; + path[index] = prev; + return false; + } + + // convert curves into smooth shorthands + if (params.curveSmoothShorthands && prev.command) { + // curveto + if (command === 'c') { + // c + c → c + s + if ( + prev.command === 'c' && + Math.abs(data[0] - -(prev.args[2] - prev.args[4])) < error && + Math.abs(data[1] - -(prev.args[3] - prev.args[5])) < error + ) { + command = 's'; + data = data.slice(2); + } + + // s + c → s + s + else if ( + prev.command === 's' && + Math.abs(data[0] - -(prev.args[0] - prev.args[2])) < error && + Math.abs(data[1] - -(prev.args[1] - prev.args[3])) < error + ) { + command = 's'; + data = data.slice(2); + } + + // [^cs] + c → [^cs] + s + else if ( + prev.command !== 'c' && + prev.command !== 's' && + Math.abs(data[0]) < error && + Math.abs(data[1]) < error + ) { + command = 's'; + data = data.slice(2); + } + } + + // quadratic Bézier curveto + else if (command === 'q') { + // q + q → q + t + if ( + prev.command === 'q' && + Math.abs(data[0] - (prev.args[2] - prev.args[0])) < error && + Math.abs(data[1] - (prev.args[3] - prev.args[1])) < error + ) { + command = 't'; + data = data.slice(2); + } + + // t + q → t + t + else if (prev.command === 't') { + const predictedControlPoint = reflectPoint( + // @ts-ignore + qControlPoint, + // @ts-ignore + item.base, + ); + const realControlPoint = [ + // @ts-ignore + data[0] + item.base[0], + // @ts-ignore + data[1] + item.base[1], + ]; + if ( + Math.abs(predictedControlPoint[0] - realControlPoint[0]) < + error && + Math.abs(predictedControlPoint[1] - realControlPoint[1]) < error + ) { + command = 't'; + data = data.slice(2); + } + } + } + } + + // remove useless non-first path segments + if (params.removeUseless && !maybeHasStrokeAndLinecap) { + // l 0,0 / h 0 / v 0 / q 0,0 0,0 / t 0,0 / c 0,0 0,0 0,0 / s 0,0 0,0 + if ( + (command === 'l' || + command === 'h' || + command === 'v' || + command === 'q' || + command === 't' || + command === 'c' || + command === 's') && + data.every(function (i) { + return i === 0; + }) + ) { + path[index] = prev; + return false; + } + + // a 25,25 -30 0,1 0,0 + if (command === 'a' && data[5] === 0 && data[6] === 0) { + path[index] = prev; + return false; + } + } + + // convert going home to z + // m 0 0 h 5 v 5 l -5 -5 -> m 0 0 h 5 v 5 z + if ( + params.convertToZ && + (isSafeToUseZ || next?.command === 'Z' || next?.command === 'z') && + (command === 'l' || command === 'h' || command === 'v') + ) { + if ( + // @ts-ignore + Math.abs(pathBase[0] - item.coords[0]) < error && + // @ts-ignore + Math.abs(pathBase[1] - item.coords[1]) < error + ) { + command = 'z'; + data = []; + } + } + + item.command = command; + item.args = data; + } else { + // z resets coordinates + relSubpoint[0] = pathBase[0]; + relSubpoint[1] = pathBase[1]; + if (prev.command === 'Z' || prev.command === 'z') return false; + } + if ( + (command === 'Z' || command === 'z') && + params.removeUseless && + isSafeToUseZ && + // @ts-ignore + Math.abs(item.base[0] - item.coords[0]) < error / 10 && + // @ts-ignore + Math.abs(item.base[1] - item.coords[1]) < error / 10 + ) + return false; + + if (command === 'q') { + // @ts-ignore + prevQControlPoint = [data[0] + item.base[0], data[1] + item.base[1]]; + } else if (command === 't') { + if (qControlPoint) { + // @ts-ignore + prevQControlPoint = reflectPoint(qControlPoint, item.base); + } else { + // @ts-ignore + prevQControlPoint = item.coords; + } + } + prev = item; + return true; + }); + + return path; +} + +/** + * Writes data in shortest form using absolute or relative coordinates. + * + * @type {(path: PathDataItem[], params: InternalParams) => PathDataItem[]} + */ +function convertToMixed(path, params) { + var prev = path[0]; + + path = path.filter(function (item, index) { + if (index == 0) return true; + if (item.command === 'Z' || item.command === 'z') { + prev = item; + return true; + } + + var command = item.command, + data = item.args, + adata = data.slice(), + rdata = data.slice(); + + if ( + command === 'm' || + command === 'l' || + command === 't' || + command === 'q' || + command === 's' || + command === 'c' + ) { + for (var i = adata.length; i--; ) { + // @ts-ignore + adata[i] += item.base[i % 2]; + } + } else if (command == 'h') { + // @ts-ignore + adata[0] += item.base[0]; + } else if (command == 'v') { + // @ts-ignore + adata[0] += item.base[1]; + } else if (command == 'a') { + // @ts-ignore + adata[5] += item.base[0]; + // @ts-ignore + adata[6] += item.base[1]; + } + + roundData(adata); + roundData(rdata); + + var absoluteDataStr = cleanupOutData(adata, params), + relativeDataStr = cleanupOutData(rdata, params); + + // Convert to absolute coordinates if it's shorter or forceAbsolutePath is true. + // v-20 -> V0 + // Don't convert if it fits following previous command. + // l20 30-10-50 instead of l20 30L20 30 + if ( + params.forceAbsolutePath || + (absoluteDataStr.length < relativeDataStr.length && + !( + params.negativeExtraSpace && + command == prev.command && + prev.command.charCodeAt(0) > 96 && + absoluteDataStr.length == relativeDataStr.length - 1 && + (data[0] < 0 || + (Math.floor(data[0]) === 0 && + !Number.isInteger(data[0]) && + prev.args[prev.args.length - 1] % 1)) + )) + ) { + // @ts-ignore + item.command = command.toUpperCase(); + item.args = adata; + } + + prev = item; + return true; + }); + + return path; +} + +/** + * Checks if curve is convex. Control points of such a curve must form + * a convex quadrilateral with diagonals crosspoint inside of it. + * + * @type {(data: number[]) => boolean} + */ +function isConvex(data) { + var center = getIntersection([ + 0, + 0, + data[2], + data[3], + data[0], + data[1], + data[4], + data[5], + ]); + + return ( + center != null && + data[2] < center[0] == center[0] < 0 && + data[3] < center[1] == center[1] < 0 && + data[4] < center[0] == center[0] < data[0] && + data[5] < center[1] == center[1] < data[1] + ); +} + +/** + * Computes lines equations by two points and returns their intersection point. + * + * @type {(coords: number[]) => undefined | Point} + */ +function getIntersection(coords) { + // Prev line equation parameters. + var a1 = coords[1] - coords[3], // y1 - y2 + b1 = coords[2] - coords[0], // x2 - x1 + c1 = coords[0] * coords[3] - coords[2] * coords[1], // x1 * y2 - x2 * y1 + // Next line equation parameters + a2 = coords[5] - coords[7], // y1 - y2 + b2 = coords[6] - coords[4], // x2 - x1 + c2 = coords[4] * coords[7] - coords[5] * coords[6], // x1 * y2 - x2 * y1 + denom = a1 * b2 - a2 * b1; + + if (!denom) return; // parallel lines haven't an intersection + + /** + * @type {Point} + */ + var cross = [(b1 * c2 - b2 * c1) / denom, (a1 * c2 - a2 * c1) / -denom]; + if ( + !isNaN(cross[0]) && + !isNaN(cross[1]) && + isFinite(cross[0]) && + isFinite(cross[1]) + ) { + return cross; + } +} + +/** + * Decrease accuracy of floating-point numbers + * in path data keeping a specified number of decimals. + * Smart rounds values like 2.3491 to 2.35 instead of 2.349. + * Doesn't apply "smartness" if the number precision fits already. + * + * @type {(data: number[]) => number[]} + */ +function strongRound(data) { + const precisionNum = precision || 0; + for (let i = data.length; i-- > 0; ) { + const fixed = toFixed(data[i], precisionNum); + if (fixed !== data[i]) { + const rounded = toFixed(data[i], precisionNum - 1); + data[i] = + toFixed(Math.abs(rounded - data[i]), precisionNum + 1) >= error + ? fixed + : rounded; + } + } + return data; +} + +/** + * Simple rounding function if precision is 0. + * + * @type {(data: number[]) => number[]} + */ +function round(data) { + for (var i = data.length; i-- > 0; ) { + data[i] = Math.round(data[i]); + } + return data; +} + +/** + * Checks if a curve is a straight line by measuring distance + * from middle points to the line formed by end points. + * + * @type {(data: number[]) => boolean} + */ +function isCurveStraightLine(data) { + // Get line equation a·x + b·y + c = 0 coefficients a, b (c = 0) by start and end points. + var i = data.length - 2, + a = -data[i + 1], // y1 − y2 (y1 = 0) + b = data[i], // x2 − x1 (x1 = 0) + d = 1 / (a * a + b * b); // same part for all points + + if (i <= 1 || !isFinite(d)) return false; // curve that ends at start point isn't the case + + // Distance from point (x0, y0) to the line is sqrt((c − a·x0 − b·y0)² / (a² + b²)) + while ((i -= 2) >= 0) { + if (Math.sqrt(Math.pow(a * data[i] + b * data[i + 1], 2) * d) > error) + return false; + } + + return true; +} + +/** + * Calculates the sagitta of an arc if possible. + * + * @type {(data: number[]) => number | undefined} + * @see https://wikipedia.org/wiki/Sagitta_(geometry)#Formulas + */ +function calculateSagitta(data) { + if (data[3] === 1) return undefined; + const [rx, ry] = data; + if (Math.abs(rx - ry) > error) return undefined; + const chord = Math.sqrt(data[5] ** 2 + data[6] ** 2); + if (chord > rx * 2) return undefined; + return rx - Math.sqrt(rx ** 2 - 0.25 * chord ** 2); +} + +/** + * Converts next curve from shorthand to full form using the current curve data. + * + * @type {(item: PathDataItem, data: number[]) => PathDataItem} + */ +function makeLonghand(item, data) { + switch (item.command) { + case 's': + item.command = 'c'; + break; + case 't': + item.command = 'q'; + break; + } + item.args.unshift( + data[data.length - 2] - data[data.length - 4], + data[data.length - 1] - data[data.length - 3], + ); + return item; +} + +/** + * Returns distance between two points + * + * @type {(point1: Point, point2: Point) => number} + */ +function getDistance(point1, point2) { + return Math.sqrt((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2); +} + +/** + * Reflects point across another point. + * + * @param {Point} controlPoint + * @param {Point} base + * @returns {Point} + */ +function reflectPoint(controlPoint, base) { + return [2 * base[0] - controlPoint[0], 2 * base[1] - controlPoint[1]]; +} + +/** + * Returns coordinates of the curve point corresponding to the certain t + * a·(1 - t)³·p1 + b·(1 - t)²·t·p2 + c·(1 - t)·t²·p3 + d·t³·p4, + * where pN are control points and p1 is zero due to relative coordinates. + * + * @type {(curve: number[], t: number) => Point} + */ +function getCubicBezierPoint(curve, t) { + var sqrT = t * t, + cubT = sqrT * t, + mt = 1 - t, + sqrMt = mt * mt; + + return [ + 3 * sqrMt * t * curve[0] + 3 * mt * sqrT * curve[2] + cubT * curve[4], + 3 * sqrMt * t * curve[1] + 3 * mt * sqrT * curve[3] + cubT * curve[5], + ]; +} + +/** + * Finds circle by 3 points of the curve and checks if the curve fits the found circle. + * + * @type {(curve: number[]) => undefined | Circle} + */ +function findCircle(curve) { + var midPoint = getCubicBezierPoint(curve, 1 / 2), + m1 = [midPoint[0] / 2, midPoint[1] / 2], + m2 = [(midPoint[0] + curve[4]) / 2, (midPoint[1] + curve[5]) / 2], + center = getIntersection([ + m1[0], + m1[1], + m1[0] + m1[1], + m1[1] - m1[0], + m2[0], + m2[1], + m2[0] + (m2[1] - midPoint[1]), + m2[1] - (m2[0] - midPoint[0]), + ]), + radius = center && getDistance([0, 0], center), + // @ts-ignore + tolerance = Math.min(arcThreshold * error, (arcTolerance * radius) / 100); + + if ( + center && + // @ts-ignore + radius < 1e15 && + [1 / 4, 3 / 4].every(function (point) { + return ( + Math.abs( + // @ts-ignore + getDistance(getCubicBezierPoint(curve, point), center) - radius, + ) <= tolerance + ); + }) + ) + // @ts-ignore + return { center: center, radius: radius }; +} + +/** + * Checks if a curve fits the given circle. + * + * @type {(curve: number[], circle: Circle) => boolean} + */ +function isArc(curve, circle) { + var tolerance = Math.min( + arcThreshold * error, + (arcTolerance * circle.radius) / 100, + ); + + return [0, 1 / 4, 1 / 2, 3 / 4, 1].every(function (point) { + return ( + Math.abs( + getDistance(getCubicBezierPoint(curve, point), circle.center) - + circle.radius, + ) <= tolerance + ); + }); +} + +/** + * Checks if a previous curve fits the given circle. + * + * @type {(curve: number[], circle: Circle) => boolean} + */ +function isArcPrev(curve, circle) { + return isArc(curve, { + center: [circle.center[0] + curve[4], circle.center[1] + curve[5]], + radius: circle.radius, + }); +} + +/** + * Finds angle of a curve fitting the given arc. + + * @type {(curve: number[], relCircle: Circle) => number} + */ +function findArcAngle(curve, relCircle) { + var x1 = -relCircle.center[0], + y1 = -relCircle.center[1], + x2 = curve[4] - relCircle.center[0], + y2 = curve[5] - relCircle.center[1]; + + return Math.acos( + (x1 * x2 + y1 * y2) / Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2)), + ); +} + +/** + * Converts given path data to string. + * + * @type {(params: InternalParams, pathData: PathDataItem[]) => string} + */ +function data2Path(params, pathData) { + return pathData.reduce(function (pathString, item) { + var strData = ''; + if (item.args) { + strData = cleanupOutData(roundData(item.args.slice()), params); + } + return pathString + item.command + strData; + }, ''); +} diff --git a/.output/server/node_modules/svgo/plugins/convertShapeToPath.js b/.output/server/node_modules/svgo/plugins/convertShapeToPath.js new file mode 100644 index 00000000..f0ba0fd8 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertShapeToPath.js @@ -0,0 +1,170 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').PathDataItem} PathDataItem + */ + +const { stringifyPathData } = require('../lib/path.js'); +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'convertShapeToPath'; +exports.description = 'converts basic shapes to more compact path form'; + +const regNumber = /[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g; + +/** + * Converts basic shape to more compact path. + * It also allows further optimizations like + * combining paths with similar attributes. + * + * @see https://www.w3.org/TR/SVG11/shapes.html + * + * @author Lev Solntsev + * + * @type {import('./plugins-types').Plugin<'convertShapeToPath'>} + */ +exports.fn = (root, params) => { + const { convertArcs = false, floatPrecision: precision } = params; + + return { + element: { + enter: (node, parentNode) => { + // convert rect to path + if ( + node.name === 'rect' && + node.attributes.width != null && + node.attributes.height != null && + node.attributes.rx == null && + node.attributes.ry == null + ) { + const x = Number(node.attributes.x || '0'); + const y = Number(node.attributes.y || '0'); + const width = Number(node.attributes.width); + const height = Number(node.attributes.height); + // Values like '100%' compute to NaN, thus running after + // cleanupNumericValues when 'px' units has already been removed. + // TODO: Calculate sizes from % and non-px units if possible. + if (Number.isNaN(x - y + width - height)) return; + /** + * @type {PathDataItem[]} + */ + const pathData = [ + { command: 'M', args: [x, y] }, + { command: 'H', args: [x + width] }, + { command: 'V', args: [y + height] }, + { command: 'H', args: [x] }, + { command: 'z', args: [] }, + ]; + node.name = 'path'; + node.attributes.d = stringifyPathData({ pathData, precision }); + delete node.attributes.x; + delete node.attributes.y; + delete node.attributes.width; + delete node.attributes.height; + } + + // convert line to path + if (node.name === 'line') { + const x1 = Number(node.attributes.x1 || '0'); + const y1 = Number(node.attributes.y1 || '0'); + const x2 = Number(node.attributes.x2 || '0'); + const y2 = Number(node.attributes.y2 || '0'); + if (Number.isNaN(x1 - y1 + x2 - y2)) return; + /** + * @type {PathDataItem[]} + */ + const pathData = [ + { command: 'M', args: [x1, y1] }, + { command: 'L', args: [x2, y2] }, + ]; + node.name = 'path'; + node.attributes.d = stringifyPathData({ pathData, precision }); + delete node.attributes.x1; + delete node.attributes.y1; + delete node.attributes.x2; + delete node.attributes.y2; + } + + // convert polyline and polygon to path + if ( + (node.name === 'polyline' || node.name === 'polygon') && + node.attributes.points != null + ) { + const coords = (node.attributes.points.match(regNumber) || []).map( + Number, + ); + if (coords.length < 4) { + detachNodeFromParent(node, parentNode); + return; + } + /** + * @type {PathDataItem[]} + */ + const pathData = []; + for (let i = 0; i < coords.length; i += 2) { + pathData.push({ + command: i === 0 ? 'M' : 'L', + args: coords.slice(i, i + 2), + }); + } + if (node.name === 'polygon') { + pathData.push({ command: 'z', args: [] }); + } + node.name = 'path'; + node.attributes.d = stringifyPathData({ pathData, precision }); + delete node.attributes.points; + } + + // optionally convert circle + if (node.name === 'circle' && convertArcs) { + const cx = Number(node.attributes.cx || '0'); + const cy = Number(node.attributes.cy || '0'); + const r = Number(node.attributes.r || '0'); + if (Number.isNaN(cx - cy + r)) { + return; + } + /** + * @type {PathDataItem[]} + */ + const pathData = [ + { command: 'M', args: [cx, cy - r] }, + { command: 'A', args: [r, r, 0, 1, 0, cx, cy + r] }, + { command: 'A', args: [r, r, 0, 1, 0, cx, cy - r] }, + { command: 'z', args: [] }, + ]; + node.name = 'path'; + node.attributes.d = stringifyPathData({ pathData, precision }); + delete node.attributes.cx; + delete node.attributes.cy; + delete node.attributes.r; + } + + // optionally convert ellipse + if (node.name === 'ellipse' && convertArcs) { + const ecx = Number(node.attributes.cx || '0'); + const ecy = Number(node.attributes.cy || '0'); + const rx = Number(node.attributes.rx || '0'); + const ry = Number(node.attributes.ry || '0'); + if (Number.isNaN(ecx - ecy + rx - ry)) { + return; + } + /** + * @type {PathDataItem[]} + */ + const pathData = [ + { command: 'M', args: [ecx, ecy - ry] }, + { command: 'A', args: [rx, ry, 0, 1, 0, ecx, ecy + ry] }, + { command: 'A', args: [rx, ry, 0, 1, 0, ecx, ecy - ry] }, + { command: 'z', args: [] }, + ]; + node.name = 'path'; + node.attributes.d = stringifyPathData({ pathData, precision }); + delete node.attributes.cx; + delete node.attributes.cy; + delete node.attributes.rx; + delete node.attributes.ry; + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertStyleToAttrs.js b/.output/server/node_modules/svgo/plugins/convertStyleToAttrs.js new file mode 100644 index 00000000..a9305fc4 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertStyleToAttrs.js @@ -0,0 +1,136 @@ +'use strict'; + +const { attrsGroups } = require('./_collections'); + +exports.name = 'convertStyleToAttrs'; +exports.description = 'converts style to attributes'; + +/** + * @type {(...args: string[]) => string} + */ +const g = (...args) => { + return '(?:' + args.join('|') + ')'; +}; + +const stylingProps = attrsGroups.presentation; +const rEscape = '\\\\(?:[0-9a-f]{1,6}\\s?|\\r\\n|.)'; // Like \" or \2051. Code points consume one space. +const rAttr = '\\s*(' + g('[^:;\\\\]', rEscape) + '*?)\\s*'; // attribute name like ‘fill’ +const rSingleQuotes = "'(?:[^'\\n\\r\\\\]|" + rEscape + ")*?(?:'|$)"; // string in single quotes: 'smth' +const rQuotes = '"(?:[^"\\n\\r\\\\]|' + rEscape + ')*?(?:"|$)'; // string in double quotes: "smth" +const rQuotedString = new RegExp('^' + g(rSingleQuotes, rQuotes) + '$'); +// Parentheses, E.g.: url(data:image/png;base64,iVBO...). +// ':' and ';' inside of it should be treated as is. (Just like in strings.) +const rParenthesis = + '\\(' + g('[^\'"()\\\\]+', rEscape, rSingleQuotes, rQuotes) + '*?' + '\\)'; +// The value. It can have strings and parentheses (see above). Fallbacks to anything in case of unexpected input. +const rValue = + '\\s*(' + + g( + '[^!\'"();\\\\]+?', + rEscape, + rSingleQuotes, + rQuotes, + rParenthesis, + '[^;]*?', + ) + + '*?' + + ')'; +// End of declaration. Spaces outside of capturing groups help to do natural trimming. +const rDeclEnd = '\\s*(?:;\\s*|$)'; +// Important rule +const rImportant = '(\\s*!important(?![-(\\w]))?'; +// Final RegExp to parse CSS declarations. +const regDeclarationBlock = new RegExp( + rAttr + ':' + rValue + rImportant + rDeclEnd, + 'ig', +); +// Comments expression. Honors escape sequences and strings. +const regStripComments = new RegExp( + g(rEscape, rSingleQuotes, rQuotes, '/\\*[^]*?\\*/'), + 'ig', +); + +/** + * Convert style in attributes. Cleanups comments and illegal declarations (without colon) as a side effect. + * + * @example + * <g style="fill:#000; color: #fff;"> + * ⬇ + * <g fill="#000" color="#fff"> + * + * @example + * <g style="fill:#000; color: #fff; -webkit-blah: blah"> + * ⬇ + * <g fill="#000" color="#fff" style="-webkit-blah: blah"> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'convertStyleToAttrs'>} + */ +exports.fn = (_root, params) => { + const { keepImportant = false } = params; + return { + element: { + enter: (node) => { + if (node.attributes.style != null) { + // ['opacity: 1', 'color: #000'] + let styles = []; + /** + * @type {Record<string, string>} + */ + const newAttributes = {}; + + // Strip CSS comments preserving escape sequences and strings. + const styleValue = node.attributes.style.replace( + regStripComments, + (match) => { + return match[0] == '/' + ? '' + : match[0] == '\\' && /[-g-z]/i.test(match[1]) + ? match[1] + : match; + }, + ); + + regDeclarationBlock.lastIndex = 0; + for (var rule; (rule = regDeclarationBlock.exec(styleValue)); ) { + if (!keepImportant || !rule[3]) { + styles.push([rule[1], rule[2]]); + } + } + + if (styles.length) { + styles = styles.filter(function (style) { + if (style[0]) { + var prop = style[0].toLowerCase(), + val = style[1]; + + if (rQuotedString.test(val)) { + val = val.slice(1, -1); + } + + if (stylingProps.has(prop)) { + newAttributes[prop] = val; + + return false; + } + } + + return true; + }); + + Object.assign(node.attributes, newAttributes); + + if (styles.length) { + node.attributes.style = styles + .map((declaration) => declaration.join(':')) + .join(';'); + } else { + delete node.attributes.style; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/convertTransform.js b/.output/server/node_modules/svgo/plugins/convertTransform.js new file mode 100644 index 00000000..6f399078 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/convertTransform.js @@ -0,0 +1,418 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastChild} XastChild + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + */ + +const { cleanupOutData, toFixed } = require('../lib/svgo/tools.js'); +const { + transform2js, + transformsMultiply, + matrixToTransform, +} = require('./_transforms.js'); + +exports.name = 'convertTransform'; +exports.description = 'collapses multiple transformations and optimizes it'; + +/** + * Convert matrices to the short aliases, + * convert long translate, scale or rotate transform notations to the shorts ones, + * convert transforms to the matrices and multiply them all into one, + * remove useless transforms. + * + * @see https://www.w3.org/TR/SVG11/coords.html#TransformMatrixDefined + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'convertTransform'>} + */ +exports.fn = (_root, params) => { + const { + convertToShorts = true, + // degPrecision = 3, // transformPrecision (or matrix precision) - 2 by default + degPrecision, + floatPrecision = 3, + transformPrecision = 5, + matrixToTransform = true, + shortTranslate = true, + shortScale = true, + shortRotate = true, + removeUseless = true, + collapseIntoOne = true, + leadingZero = true, + negativeExtraSpace = false, + } = params; + const newParams = { + convertToShorts, + degPrecision, + floatPrecision, + transformPrecision, + matrixToTransform, + shortTranslate, + shortScale, + shortRotate, + removeUseless, + collapseIntoOne, + leadingZero, + negativeExtraSpace, + }; + return { + element: { + enter: (node) => { + if (node.attributes.transform != null) { + convertTransform(node, 'transform', newParams); + } + + if (node.attributes.gradientTransform != null) { + convertTransform(node, 'gradientTransform', newParams); + } + + if (node.attributes.patternTransform != null) { + convertTransform(node, 'patternTransform', newParams); + } + }, + }, + }; +}; + +/** + * @typedef {{ + * convertToShorts: boolean, + * degPrecision?: number, + * floatPrecision: number, + * transformPrecision: number, + * matrixToTransform: boolean, + * shortTranslate: boolean, + * shortScale: boolean, + * shortRotate: boolean, + * removeUseless: boolean, + * collapseIntoOne: boolean, + * leadingZero: boolean, + * negativeExtraSpace: boolean, + * }} TransformParams + */ + +/** + * @typedef {{ name: string, data: number[] }} TransformItem + */ + +/** + * @param {XastElement} item + * @param {string} attrName + * @param {TransformParams} params + */ +const convertTransform = (item, attrName, params) => { + let data = transform2js(item.attributes[attrName]); + params = definePrecision(data, params); + + if (params.collapseIntoOne && data.length > 1) { + data = [transformsMultiply(data)]; + } + + if (params.convertToShorts) { + data = convertToShorts(data, params); + } else { + data.forEach((item) => roundTransform(item, params)); + } + + if (params.removeUseless) { + data = removeUseless(data); + } + + if (data.length) { + item.attributes[attrName] = js2transform(data, params); + } else { + delete item.attributes[attrName]; + } +}; + +/** + * Defines precision to work with certain parts. + * transformPrecision - for scale and four first matrix parameters (needs a better precision due to multiplying), + * floatPrecision - for translate including two last matrix and rotate parameters, + * degPrecision - for rotate and skew. By default it's equal to (roughly) + * transformPrecision - 2 or floatPrecision whichever is lower. Can be set in params. + * + * @type {(data: TransformItem[], params: TransformParams) => TransformParams} + * + * clone params so it don't affect other elements transformations. + */ +const definePrecision = (data, { ...newParams }) => { + const matrixData = []; + for (const item of data) { + if (item.name == 'matrix') { + matrixData.push(...item.data.slice(0, 4)); + } + } + let numberOfDigits = newParams.transformPrecision; + // Limit transform precision with matrix one. Calculating with larger precision doesn't add any value. + if (matrixData.length) { + newParams.transformPrecision = Math.min( + newParams.transformPrecision, + Math.max.apply(Math, matrixData.map(floatDigits)) || + newParams.transformPrecision, + ); + numberOfDigits = Math.max.apply( + Math, + matrixData.map( + (n) => n.toString().replace(/\D+/g, '').length, // Number of digits in a number. 123.45 → 5 + ), + ); + } + // No sense in angle precision more then number of significant digits in matrix. + if (newParams.degPrecision == null) { + newParams.degPrecision = Math.max( + 0, + Math.min(newParams.floatPrecision, numberOfDigits - 2), + ); + } + return newParams; +}; + +/** + * @type {(data: number[], params: TransformParams) => number[]} + */ +const degRound = (data, params) => { + if ( + params.degPrecision != null && + params.degPrecision >= 1 && + params.floatPrecision < 20 + ) { + return smartRound(params.degPrecision, data); + } else { + return round(data); + } +}; +/** + * @type {(data: number[], params: TransformParams) => number[]} + */ +const floatRound = (data, params) => { + if (params.floatPrecision >= 1 && params.floatPrecision < 20) { + return smartRound(params.floatPrecision, data); + } else { + return round(data); + } +}; + +/** + * @type {(data: number[], params: TransformParams) => number[]} + */ +const transformRound = (data, params) => { + if (params.transformPrecision >= 1 && params.floatPrecision < 20) { + return smartRound(params.transformPrecision, data); + } else { + return round(data); + } +}; + +/** + * Returns number of digits after the point. 0.125 → 3 + * + * @type {(n: number) => number} + */ +const floatDigits = (n) => { + const str = n.toString(); + return str.slice(str.indexOf('.')).length - 1; +}; + +/** + * Convert transforms to the shorthand alternatives. + * + * @param {TransformItem[]} transforms + * @param {TransformParams} params + * @returns {TransformItem[]} + */ +const convertToShorts = (transforms, params) => { + for (var i = 0; i < transforms.length; i++) { + let transform = transforms[i]; + + // convert matrix to the short aliases + if (params.matrixToTransform && transform.name === 'matrix') { + var decomposed = matrixToTransform(transform, params); + if ( + js2transform(decomposed, params).length <= + js2transform([transform], params).length + ) { + transforms.splice(i, 1, ...decomposed); + } + transform = transforms[i]; + } + + // fixed-point numbers + // 12.754997 → 12.755 + roundTransform(transform, params); + + // convert long translate transform notation to the shorts one + // translate(10 0) → translate(10) + if ( + params.shortTranslate && + transform.name === 'translate' && + transform.data.length === 2 && + !transform.data[1] + ) { + transform.data.pop(); + } + + // convert long scale transform notation to the shorts one + // scale(2 2) → scale(2) + if ( + params.shortScale && + transform.name === 'scale' && + transform.data.length === 2 && + transform.data[0] === transform.data[1] + ) { + transform.data.pop(); + } + + // convert long rotate transform notation to the short one + // translate(cx cy) rotate(a) translate(-cx -cy) → rotate(a cx cy) + if ( + params.shortRotate && + transforms[i - 2]?.name === 'translate' && + transforms[i - 1].name === 'rotate' && + transforms[i].name === 'translate' && + transforms[i - 2].data[0] === -transforms[i].data[0] && + transforms[i - 2].data[1] === -transforms[i].data[1] + ) { + transforms.splice(i - 2, 3, { + name: 'rotate', + data: [ + transforms[i - 1].data[0], + transforms[i - 2].data[0], + transforms[i - 2].data[1], + ], + }); + + // splice compensation + i -= 2; + } + } + + return transforms; +}; + +/** + * Remove useless transforms. + * + * @type {(transforms: TransformItem[]) => TransformItem[]} + */ +const removeUseless = (transforms) => { + return transforms.filter((transform) => { + // translate(0), rotate(0[, cx, cy]), skewX(0), skewY(0) + if ( + (['translate', 'rotate', 'skewX', 'skewY'].indexOf(transform.name) > -1 && + (transform.data.length == 1 || transform.name == 'rotate') && + !transform.data[0]) || + // translate(0, 0) + (transform.name == 'translate' && + !transform.data[0] && + !transform.data[1]) || + // scale(1) + (transform.name == 'scale' && + transform.data[0] == 1 && + (transform.data.length < 2 || transform.data[1] == 1)) || + // matrix(1 0 0 1 0 0) + (transform.name == 'matrix' && + transform.data[0] == 1 && + transform.data[3] == 1 && + !( + transform.data[1] || + transform.data[2] || + transform.data[4] || + transform.data[5] + )) + ) { + return false; + } + + return true; + }); +}; + +/** + * Convert transforms JS representation to string. + * + * @param {TransformItem[]} transformJS + * @param {TransformParams} params + * @returns {string} + */ +const js2transform = (transformJS, params) => { + const transformString = transformJS + .map((transform) => { + roundTransform(transform, params); + return `${transform.name}(${cleanupOutData(transform.data, params)})`; + }) + .join(''); + + return transformString; +}; + +/** + * @type {(transform: TransformItem, params: TransformParams) => TransformItem} + */ +const roundTransform = (transform, params) => { + switch (transform.name) { + case 'translate': + transform.data = floatRound(transform.data, params); + break; + case 'rotate': + transform.data = [ + ...degRound(transform.data.slice(0, 1), params), + ...floatRound(transform.data.slice(1), params), + ]; + break; + case 'skewX': + case 'skewY': + transform.data = degRound(transform.data, params); + break; + case 'scale': + transform.data = transformRound(transform.data, params); + break; + case 'matrix': + transform.data = [ + ...transformRound(transform.data.slice(0, 4), params), + ...floatRound(transform.data.slice(4), params), + ]; + break; + } + return transform; +}; + +/** + * Rounds numbers in array. + * + * @type {(data: number[]) => number[]} + */ +const round = (data) => { + return data.map(Math.round); +}; + +/** + * Decrease accuracy of floating-point numbers + * in transforms keeping a specified number of decimals. + * Smart rounds values like 2.349 to 2.35. + * + * @param {number} precision + * @param {number[]} data + * @returns {number[]} + */ +const smartRound = (precision, data) => { + for ( + var i = data.length, + tolerance = +Math.pow(0.1, precision).toFixed(precision); + i--; + + ) { + if (toFixed(data[i], precision) !== data[i]) { + var rounded = +data[i].toFixed(precision - 1); + data[i] = + +Math.abs(rounded - data[i]).toFixed(precision + 1) >= tolerance + ? +data[i].toFixed(precision) + : rounded; + } + } + + return data; +}; diff --git a/.output/server/node_modules/svgo/plugins/inlineStyles.js b/.output/server/node_modules/svgo/plugins/inlineStyles.js new file mode 100644 index 00000000..e09988de --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/inlineStyles.js @@ -0,0 +1,390 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + */ + +const csstree = require('css-tree'); +const { + syntax: { specificity }, +} = require('csso'); +const { + visitSkip, + querySelectorAll, + detachNodeFromParent, +} = require('../lib/xast.js'); +const { compareSpecificity, includesAttrSelector } = require('../lib/style'); +const { attrsGroups, pseudoClasses } = require('./_collections'); + +exports.name = 'inlineStyles'; +exports.description = 'inline styles (additional options)'; + +/** + * Some pseudo-classes can only be calculated by clients, like :visited, + * :future, or :hover, but there are other pseudo-classes that we can evaluate + * during optimization. + * + * The list of pseudo-classes that we can evaluate during optimization, and so + * shouldn't be toggled conditionally through the `usePseudos` parameter. + * + * @see https://developer.mozilla.org/docs/Web/CSS/Pseudo-classes + */ +const preservedPseudos = [ + ...pseudoClasses.functional, + ...pseudoClasses.treeStructural, +]; + +/** + * Merges styles from style nodes into inline styles. + * + * @type {import('./plugins-types').Plugin<'inlineStyles'>} + * @author strarsis <strarsis@gmail.com> + */ +exports.fn = (root, params) => { + const { + onlyMatchedOnce = true, + removeMatchedSelectors = true, + useMqs = ['', 'screen'], + usePseudos = [''], + } = params; + + /** + * @type {{ node: XastElement, parentNode: XastParent, cssAst: csstree.StyleSheet }[]} + */ + const styles = []; + /** + * @type {{ + * node: csstree.Selector, + * item: csstree.ListItem<csstree.CssNode>, + * rule: csstree.Rule, + * matchedElements?: XastElement[] + * }[]} + */ + let selectors = []; + + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'foreignObject') { + return visitSkip; + } + if (node.name !== 'style' || node.children.length === 0) { + return; + } + if ( + node.attributes.type != null && + node.attributes.type !== '' && + node.attributes.type !== 'text/css' + ) { + return; + } + + const cssText = node.children + .filter((child) => child.type === 'text' || child.type === 'cdata') + // @ts-ignore + .map((child) => child.value) + .join(''); + + /** @type {?csstree.CssNode} */ + let cssAst = null; + try { + cssAst = csstree.parse(cssText, { + parseValue: false, + parseCustomProperty: false, + }); + } catch { + return; + } + if (cssAst.type === 'StyleSheet') { + styles.push({ node, parentNode, cssAst }); + } + + // collect selectors + csstree.walk(cssAst, { + visit: 'Rule', + enter(node) { + const atrule = this.atrule; + + // skip media queries not included into useMqs param + let mediaQuery = ''; + if (atrule != null) { + mediaQuery = atrule.name; + if (atrule.prelude != null) { + mediaQuery += ` ${csstree.generate(atrule.prelude)}`; + } + } + if (!useMqs.includes(mediaQuery)) { + return; + } + + if (node.prelude.type === 'SelectorList') { + node.prelude.children.forEach((childNode, item) => { + if (childNode.type === 'Selector') { + /** + * @type {{ + * item: csstree.ListItem<csstree.CssNode>, + * list: csstree.List<csstree.CssNode> + * }[]} + */ + const pseudos = []; + + childNode.children.forEach( + (grandchildNode, grandchildItem, grandchildList) => { + const isPseudo = + grandchildNode.type === 'PseudoClassSelector' || + grandchildNode.type === 'PseudoElementSelector'; + + if ( + isPseudo && + !preservedPseudos.includes(grandchildNode.name) + ) { + pseudos.push({ + item: grandchildItem, + list: grandchildList, + }); + } + }, + ); + + const pseudoSelectors = csstree.generate({ + type: 'Selector', + children: new csstree.List().fromArray( + pseudos.map((pseudo) => pseudo.item.data), + ), + }); + + if (usePseudos.includes(pseudoSelectors)) { + for (const pseudo of pseudos) { + pseudo.list.remove(pseudo.item); + } + } + + selectors.push({ node: childNode, rule: node, item: item }); + } + }); + } + }, + }); + }, + }, + + root: { + exit: () => { + if (styles.length === 0) { + return; + } + const sortedSelectors = selectors + .slice() + .sort((a, b) => { + const aSpecificity = specificity(a.item.data); + const bSpecificity = specificity(b.item.data); + return compareSpecificity(aSpecificity, bSpecificity); + }) + .reverse(); + + for (const selector of sortedSelectors) { + // match selectors + const selectorText = csstree.generate(selector.item.data); + /** @type {XastElement[]} */ + const matchedElements = []; + try { + for (const node of querySelectorAll(root, selectorText)) { + if (node.type === 'element') { + matchedElements.push(node); + } + } + } catch (selectError) { + continue; + } + // nothing selected + if (matchedElements.length === 0) { + continue; + } + + // apply styles to matched elements + // skip selectors that match more than once if option onlyMatchedOnce is enabled + if (onlyMatchedOnce && matchedElements.length > 1) { + continue; + } + + // apply <style/> to matched elements + for (const selectedEl of matchedElements) { + const styleDeclarationList = csstree.parse( + selectedEl.attributes.style ?? '', + { + context: 'declarationList', + parseValue: false, + }, + ); + if (styleDeclarationList.type !== 'DeclarationList') { + continue; + } + const styleDeclarationItems = new Map(); + + /** @type {csstree.ListItem<csstree.CssNode>} */ + let firstListItem; + + csstree.walk(styleDeclarationList, { + visit: 'Declaration', + enter(node, item) { + if (firstListItem == null) { + firstListItem = item; + } + + styleDeclarationItems.set(node.property.toLowerCase(), item); + }, + }); + // merge declarations + csstree.walk(selector.rule, { + visit: 'Declaration', + enter(ruleDeclaration) { + // existing inline styles have higher priority + // no inline styles, external styles, external styles used + // inline styles, external styles same priority as inline styles, inline styles used + // inline styles, external styles higher priority than inline styles, external styles used + const property = ruleDeclaration.property; + + if ( + attrsGroups.presentation.has(property) && + !selectors.some((selector) => + includesAttrSelector(selector.item, property), + ) + ) { + delete selectedEl.attributes[property]; + } + + const matchedItem = styleDeclarationItems.get(property); + const ruleDeclarationItem = + styleDeclarationList.children.createItem(ruleDeclaration); + if (matchedItem == null) { + styleDeclarationList.children.insert( + ruleDeclarationItem, + firstListItem, + ); + } else if ( + matchedItem.data.important !== true && + ruleDeclaration.important === true + ) { + styleDeclarationList.children.replace( + matchedItem, + ruleDeclarationItem, + ); + styleDeclarationItems.set(property, ruleDeclarationItem); + } + }, + }); + + const newStyles = csstree.generate(styleDeclarationList); + if (newStyles.length !== 0) { + selectedEl.attributes.style = newStyles; + } + } + + if ( + removeMatchedSelectors && + matchedElements.length !== 0 && + selector.rule.prelude.type === 'SelectorList' + ) { + // clean up matching simple selectors if option removeMatchedSelectors is enabled + selector.rule.prelude.children.remove(selector.item); + } + selector.matchedElements = matchedElements; + } + + // no further processing required + if (!removeMatchedSelectors) { + return; + } + + // clean up matched class + ID attribute values + for (const selector of sortedSelectors) { + if (selector.matchedElements == null) { + continue; + } + + if (onlyMatchedOnce && selector.matchedElements.length > 1) { + // skip selectors that match more than once if option onlyMatchedOnce is enabled + continue; + } + + for (const selectedEl of selector.matchedElements) { + // class + const classList = new Set( + selectedEl.attributes.class == null + ? null + : selectedEl.attributes.class.split(' '), + ); + + for (const child of selector.node.children) { + if ( + child.type === 'ClassSelector' && + !selectors.some((selector) => + includesAttrSelector( + selector.item, + 'class', + child.name, + true, + ), + ) + ) { + classList.delete(child.name); + } + } + + if (classList.size === 0) { + delete selectedEl.attributes.class; + } else { + selectedEl.attributes.class = Array.from(classList).join(' '); + } + + // ID + const firstSubSelector = selector.node.children.first; + if ( + firstSubSelector?.type === 'IdSelector' && + selectedEl.attributes.id === firstSubSelector.name && + !selectors.some((selector) => + includesAttrSelector( + selector.item, + 'id', + firstSubSelector.name, + true, + ), + ) + ) { + delete selectedEl.attributes.id; + } + } + } + + for (const style of styles) { + csstree.walk(style.cssAst, { + visit: 'Rule', + enter: function (node, item, list) { + // clean up <style/> rulesets without any css selectors left + if ( + node.type === 'Rule' && + node.prelude.type === 'SelectorList' && + node.prelude.children.isEmpty + ) { + list.remove(item); + } + }, + }); + + // csstree v2 changed this type + if (style.cssAst.children.isEmpty) { + // remove empty style element + detachNodeFromParent(style.node, style.parentNode); + } else { + // update style element if any styles left + const firstChild = style.node.children[0]; + if (firstChild.type === 'text' || firstChild.type === 'cdata') { + firstChild.value = csstree.generate(style.cssAst); + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/mergePaths.js b/.output/server/node_modules/svgo/plugins/mergePaths.js new file mode 100644 index 00000000..fe982c13 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/mergePaths.js @@ -0,0 +1,148 @@ +'use strict'; + +/** + * @typedef {import("../lib/types").PathDataItem} PathDataItem + * @typedef {import('../lib/types').XastChild} XastChild + * @typedef {import('../lib/types').XastElement} XastElement + */ + +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { path2js, js2path, intersects } = require('./_path.js'); + +exports.name = 'mergePaths'; +exports.description = 'merges multiple paths in one if possible'; + +/** + * Merge multiple Paths into one. + * + * @author Kir Belevich, Lev Solntsev + * + * @type {import('./plugins-types').Plugin<'mergePaths'>} + */ +exports.fn = (root, params) => { + const { + force = false, + floatPrecision, + noSpaceAfterFlags = false, // a20 60 45 0 1 30 20 → a20 60 45 0130 20 + } = params; + const stylesheet = collectStylesheet(root); + + return { + element: { + enter: (node) => { + if (node.children.length <= 1) { + return; + } + + /** @type {XastChild[]} */ + const elementsToRemove = []; + let prevChild = node.children[0]; + let prevPathData = null; + + /** + * @param {XastElement} child + * @param {PathDataItem[]} pathData + */ + const updatePreviousPath = (child, pathData) => { + js2path(child, pathData, { + floatPrecision, + noSpaceAfterFlags, + }); + prevPathData = null; + }; + + for (let i = 1; i < node.children.length; i++) { + const child = node.children[i]; + + if ( + prevChild.type !== 'element' || + prevChild.name !== 'path' || + prevChild.children.length !== 0 || + prevChild.attributes.d == null + ) { + if (prevPathData && prevChild.type === 'element') { + updatePreviousPath(prevChild, prevPathData); + } + prevChild = child; + continue; + } + + if ( + child.type !== 'element' || + child.name !== 'path' || + child.children.length !== 0 || + child.attributes.d == null + ) { + if (prevPathData) { + updatePreviousPath(prevChild, prevPathData); + } + prevChild = child; + continue; + } + + const computedStyle = computeStyle(stylesheet, child); + if ( + computedStyle['marker-start'] || + computedStyle['marker-mid'] || + computedStyle['marker-end'] + ) { + if (prevPathData) { + updatePreviousPath(prevChild, prevPathData); + } + prevChild = child; + continue; + } + const childAttrs = Object.keys(child.attributes); + if (childAttrs.length !== Object.keys(prevChild.attributes).length) { + if (prevPathData) { + updatePreviousPath(prevChild, prevPathData); + } + prevChild = child; + continue; + } + + const areAttrsEqual = childAttrs.some((attr) => { + return ( + attr !== 'd' && + prevChild.type === 'element' && + prevChild.attributes[attr] !== child.attributes[attr] + ); + }); + + if (areAttrsEqual) { + if (prevPathData) { + updatePreviousPath(prevChild, prevPathData); + } + prevChild = child; + continue; + } + + const hasPrevPath = prevPathData != null; + const currentPathData = path2js(child); + prevPathData = prevPathData ?? path2js(prevChild); + + if (force || !intersects(prevPathData, currentPathData)) { + prevPathData.push(...currentPathData); + elementsToRemove.push(child); + continue; + } + + if (hasPrevPath) { + updatePreviousPath(prevChild, prevPathData); + } + + prevChild = child; + prevPathData = null; + } + + if (prevPathData && prevChild.type === 'element') { + updatePreviousPath(prevChild, prevPathData); + } + + node.children = node.children.filter( + (child) => !elementsToRemove.includes(child), + ); + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/mergeStyles.js b/.output/server/node_modules/svgo/plugins/mergeStyles.js new file mode 100644 index 00000000..764d0194 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/mergeStyles.js @@ -0,0 +1,98 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastChild} XastChild + */ + +const { visitSkip, detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'mergeStyles'; +exports.description = 'merge multiple style elements into one'; + +/** + * Merge multiple style elements into one. + * + * @author strarsis <strarsis@gmail.com> + * + * @type {import('./plugins-types').Plugin<'mergeStyles'>} + */ +exports.fn = () => { + /** + * @type {?XastElement} + */ + let firstStyleElement = null; + let collectedStyles = ''; + /** + * @type {'text' | 'cdata'} + */ + let styleContentType = 'text'; + + return { + element: { + enter: (node, parentNode) => { + // skip <foreignObject> content + if (node.name === 'foreignObject') { + return visitSkip; + } + + // collect style elements + if (node.name !== 'style') { + return; + } + + // skip <style> with invalid type attribute + if ( + node.attributes.type != null && + node.attributes.type !== '' && + node.attributes.type !== 'text/css' + ) { + return; + } + + // extract style element content + let css = ''; + for (const child of node.children) { + if (child.type === 'text') { + css += child.value; + } + if (child.type === 'cdata') { + styleContentType = 'cdata'; + css += child.value; + } + } + + // remove empty style elements + if (css.trim().length === 0) { + detachNodeFromParent(node, parentNode); + return; + } + + // collect css and wrap with media query if present in attribute + if (node.attributes.media == null) { + collectedStyles += css; + } else { + collectedStyles += `@media ${node.attributes.media}{${css}}`; + delete node.attributes.media; + } + + // combine collected styles in the first style element + if (firstStyleElement == null) { + firstStyleElement = node; + } else { + detachNodeFromParent(node, parentNode); + /** + * @type {XastChild} + */ + const child = { type: styleContentType, value: collectedStyles }; + // TODO remove legacy parentNode in v4 + Object.defineProperty(child, 'parentNode', { + writable: true, + value: firstStyleElement, + }); + firstStyleElement.children = [child]; + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/minifyStyles.js b/.output/server/node_modules/svgo/plugins/minifyStyles.js new file mode 100644 index 00000000..ade441b3 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/minifyStyles.js @@ -0,0 +1,141 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + */ + +const csso = require('csso'); +const { detachNodeFromParent } = require('../lib/xast'); +const { hasScripts } = require('../lib/svgo/tools'); + +exports.name = 'minifyStyles'; +exports.description = 'minifies styles and removes unused styles'; + +/** + * Minifies styles (<style> element + style attribute) using CSSO. + * + * @author strarsis <strarsis@gmail.com> + * @type {import('./plugins-types').Plugin<'minifyStyles'>} + */ +exports.fn = (_root, { usage, ...params }) => { + /** @type {Map<XastElement, XastParent>} */ + const styleElements = new Map(); + + /** @type {XastElement[]} */ + const elementsWithStyleAttributes = []; + + /** @type {Set<string>} */ + const tagsUsage = new Set(); + + /** @type {Set<string>} */ + const idsUsage = new Set(); + + /** @type {Set<string>} */ + const classesUsage = new Set(); + + let enableTagsUsage = true; + let enableIdsUsage = true; + let enableClassesUsage = true; + + /** + * Force to use usage data even if it unsafe. For example, the document + * contains scripts or in attributes.. + */ + let forceUsageDeoptimized = false; + + if (typeof usage === 'boolean') { + enableTagsUsage = usage; + enableIdsUsage = usage; + enableClassesUsage = usage; + } else if (usage) { + enableTagsUsage = usage.tags == null ? true : usage.tags; + enableIdsUsage = usage.ids == null ? true : usage.ids; + enableClassesUsage = usage.classes == null ? true : usage.classes; + forceUsageDeoptimized = usage.force == null ? false : usage.force; + } + + let deoptimized = false; + + return { + element: { + enter: (node, parentNode) => { + // detect deoptimisations + if (hasScripts(node)) { + deoptimized = true; + } + + // collect tags, ids and classes usage + tagsUsage.add(node.name); + if (node.attributes.id != null) { + idsUsage.add(node.attributes.id); + } + if (node.attributes.class != null) { + for (const className of node.attributes.class.split(/\s+/)) { + classesUsage.add(className); + } + } + // collect style elements or elements with style attribute + if (node.name === 'style' && node.children.length !== 0) { + styleElements.set(node, parentNode); + } else if (node.attributes.style != null) { + elementsWithStyleAttributes.push(node); + } + }, + }, + + root: { + exit: () => { + /** @type {csso.Usage} */ + const cssoUsage = {}; + if (!deoptimized || forceUsageDeoptimized) { + if (enableTagsUsage) { + cssoUsage.tags = Array.from(tagsUsage); + } + if (enableIdsUsage) { + cssoUsage.ids = Array.from(idsUsage); + } + if (enableClassesUsage) { + cssoUsage.classes = Array.from(classesUsage); + } + } + // minify style elements + for (const [styleNode, styleNodeParent] of styleElements.entries()) { + if ( + styleNode.children[0].type === 'text' || + styleNode.children[0].type === 'cdata' + ) { + const cssText = styleNode.children[0].value; + const minified = csso.minify(cssText, { + ...params, + usage: cssoUsage, + }).css; + + if (minified.length === 0) { + detachNodeFromParent(styleNode, styleNodeParent); + continue; + } + + // preserve cdata if necessary + // TODO split cdata -> text optimisation into separate plugin + if (cssText.indexOf('>') >= 0 || cssText.indexOf('<') >= 0) { + styleNode.children[0].type = 'cdata'; + styleNode.children[0].value = minified; + } else { + styleNode.children[0].type = 'text'; + styleNode.children[0].value = minified; + } + } + } + // minify style attributes + for (const node of elementsWithStyleAttributes) { + // style attribute + const elemStyle = node.attributes.style; + node.attributes.style = csso.minifyBlock(elemStyle, { + ...params, + }).css; + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/moveElemsAttrsToGroup.js b/.output/server/node_modules/svgo/plugins/moveElemsAttrsToGroup.js new file mode 100644 index 00000000..633f4439 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/moveElemsAttrsToGroup.js @@ -0,0 +1,128 @@ +'use strict'; + +const { visit } = require('../lib/xast.js'); +const { inheritableAttrs, pathElems } = require('./_collections.js'); + +exports.name = 'moveElemsAttrsToGroup'; +exports.description = 'Move common attributes of group children to the group'; + +/** + * Move common attributes of group children to the group + * + * @example + * <g attr1="val1"> + * <g attr2="val2"> + * text + * </g> + * <circle attr2="val2" attr3="val3"/> + * </g> + * ⬇ + * <g attr1="val1" attr2="val2"> + * <g> + * text + * </g> + * <circle attr3="val3"/> + * </g> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'moveElemsAttrsToGroup'>} + */ +exports.fn = (root) => { + // find if any style element is present + let deoptimizedWithStyles = false; + visit(root, { + element: { + enter: (node) => { + if (node.name === 'style') { + deoptimizedWithStyles = true; + } + }, + }, + }); + + return { + element: { + exit: (node) => { + // process only groups with more than 1 children + if (node.name !== 'g' || node.children.length <= 1) { + return; + } + + // deoptimize the plugin when style elements are present + // selectors may rely on id, classes or tag names + if (deoptimizedWithStyles) { + return; + } + + /** + * find common attributes in group children + * @type {Map<string, string>} + */ + const commonAttributes = new Map(); + let initial = true; + let everyChildIsPath = true; + for (const child of node.children) { + if (child.type === 'element') { + if (!pathElems.has(child.name)) { + everyChildIsPath = false; + } + if (initial) { + initial = false; + // collect all inheritable attributes from first child element + for (const [name, value] of Object.entries(child.attributes)) { + // consider only inheritable attributes + if (inheritableAttrs.has(name)) { + commonAttributes.set(name, value); + } + } + } else { + // exclude uncommon attributes from initial list + for (const [name, value] of commonAttributes) { + if (child.attributes[name] !== value) { + commonAttributes.delete(name); + } + } + } + } + } + + // preserve transform on children when group has clip-path or mask + if ( + node.attributes['clip-path'] != null || + node.attributes.mask != null + ) { + commonAttributes.delete('transform'); + } + + // preserve transform when all children are paths + // so the transform could be applied to path data by other plugins + if (everyChildIsPath) { + commonAttributes.delete('transform'); + } + + // add common children attributes to group + for (const [name, value] of commonAttributes) { + if (name === 'transform') { + if (node.attributes.transform != null) { + node.attributes.transform = `${node.attributes.transform} ${value}`; + } else { + node.attributes.transform = value; + } + } else { + node.attributes[name] = value; + } + } + + // delete common attributes from children + for (const child of node.children) { + if (child.type === 'element') { + for (const [name] of commonAttributes) { + delete child.attributes[name]; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/moveGroupAttrsToElems.js b/.output/server/node_modules/svgo/plugins/moveGroupAttrsToElems.js new file mode 100644 index 00000000..450fb265 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/moveGroupAttrsToElems.js @@ -0,0 +1,65 @@ +'use strict'; + +const { pathElems, referencesProps } = require('./_collections.js'); +const { includesUrlReference } = require('../lib/svgo/tools.js'); + +exports.name = 'moveGroupAttrsToElems'; +exports.description = 'moves some group attributes to the content elements'; + +const pathElemsWithGroupsAndText = [...pathElems, 'g', 'text']; + +/** + * Move group attrs to the content elements. + * + * @example + * <g transform="scale(2)"> + * <path transform="rotate(45)" d="M0,0 L10,20"/> + * <path transform="translate(10, 20)" d="M0,10 L20,30"/> + * </g> + * ⬇ + * <g> + * <path transform="scale(2) rotate(45)" d="M0,0 L10,20"/> + * <path transform="scale(2) translate(10, 20)" d="M0,10 L20,30"/> + * </g> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'moveGroupAttrsToElems'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + // move group transform attr to content's pathElems + if ( + node.name === 'g' && + node.children.length !== 0 && + node.attributes.transform != null && + Object.entries(node.attributes).some( + ([name, value]) => + referencesProps.has(name) && includesUrlReference(value), + ) === false && + node.children.every( + (child) => + child.type === 'element' && + pathElemsWithGroupsAndText.includes(child.name) && + child.attributes.id == null, + ) + ) { + for (const child of node.children) { + const value = node.attributes.transform; + if (child.type === 'element') { + if (child.attributes.transform != null) { + child.attributes.transform = `${value} ${child.attributes.transform}`; + } else { + child.attributes.transform = value; + } + } + } + + delete node.attributes.transform; + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/prefixIds.js b/.output/server/node_modules/svgo/plugins/prefixIds.js new file mode 100644 index 00000000..ec305c6b --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/prefixIds.js @@ -0,0 +1,268 @@ +'use strict'; + +/** + * @typedef {import('../lib/types.js').PluginInfo} PluginInfo + * @typedef {import('../lib/types').XastElement} XastElement + */ + +const csstree = require('css-tree'); +const { referencesProps } = require('./_collections.js'); + +exports.name = 'prefixIds'; +exports.description = 'prefix IDs'; + +/** + * extract basename from path + * @type {(path: string) => string} + */ +const getBasename = (path) => { + // extract everything after latest slash or backslash + const matched = /[/\\]?([^/\\]+)$/.exec(path); + if (matched) { + return matched[1]; + } + return ''; +}; + +/** + * escapes a string for being used as ID + * @type {(string: string) => string} + */ +const escapeIdentifierName = (str) => { + return str.replace(/[. ]/g, '_'); +}; + +/** + * @type {(string: string) => string} + */ +const unquote = (string) => { + if ( + (string.startsWith('"') && string.endsWith('"')) || + (string.startsWith("'") && string.endsWith("'")) + ) { + return string.slice(1, -1); + } + return string; +}; + +/** + * Prefix the given string, unless it already starts with the generated prefix. + * + * @param {(id: string) => string} prefixGenerator Function to generate a prefix. + * @param {string} body An arbitrary string. + * @returns {string} The given string with a prefix prepended to it. + */ +const prefixId = (prefixGenerator, body) => { + const prefix = prefixGenerator(body); + if (body.startsWith(prefix)) { + return body; + } + return prefix + body; +}; + +/** + * Insert the prefix in a reference string. A reference string is already + * prefixed with #, so the prefix is inserted after the first character. + * + * @param {(id: string) => string} prefixGenerator Function to generate a prefix. + * @param {string} reference An arbitrary string, should start with "#". + * @returns {?string} The given string with a prefix inserted, or null if the string did not start with "#". + */ +const prefixReference = (prefixGenerator, reference) => { + if (reference.startsWith('#')) { + return '#' + prefixId(prefixGenerator, reference.slice(1)); + } + return null; +}; + +/** + * Generates a prefix for the given string. + * + * @param {string} body An arbitrary string. + * @param {XastElement} node XML node that the identifier belongs to. + * @param {PluginInfo} info + * @param {((node: XastElement, info: PluginInfo) => string)|string|boolean|undefined} prefixGenerator Some way of obtaining a prefix. + * @param {string} delim Content to insert between the prefix and original value. + * @param {Map<string, string>} history Map of previously generated prefixes to IDs. + * @returns {string} A generated prefix. + */ +const generatePrefix = (body, node, info, prefixGenerator, delim, history) => { + if (typeof prefixGenerator === 'function') { + let prefix = history.get(body); + + if (prefix != null) { + return prefix; + } + + prefix = prefixGenerator(node, info) + delim; + history.set(body, prefix); + return prefix; + } + + if (typeof prefixGenerator === 'string') { + return prefixGenerator + delim; + } + + if (prefixGenerator === false) { + return ''; + } + + if (info.path != null && info.path.length > 0) { + return escapeIdentifierName(getBasename(info.path)) + delim; + } + + return 'prefix' + delim; +}; + +/** + * Prefixes identifiers + * + * @author strarsis <strarsis@gmail.com> + * @type {import('./plugins-types').Plugin<'prefixIds'>} + */ +exports.fn = (_root, params, info) => { + const { + delim = '__', + prefix, + prefixIds = true, + prefixClassNames = true, + } = params; + + /** @type {Map<string, string>} */ + const prefixMap = new Map(); + + return { + element: { + enter: (node) => { + /** + * @param {string} id A node identifier or class. + * @returns {string} Given string with a prefix inserted, or null if the string did not start with "#". + */ + const prefixGenerator = (id) => + generatePrefix(id, node, info, prefix, delim, prefixMap); + + // prefix id/class selectors and url() references in styles + if (node.name === 'style') { + // skip empty <style/> elements + if (node.children.length === 0) { + return; + } + + for (const child of node.children) { + if (child.type !== 'text' && child.type !== 'cdata') { + continue; + } + + const cssText = child.value; + /** @type {?csstree.CssNode} */ + let cssAst = null; + try { + cssAst = csstree.parse(cssText, { + parseValue: true, + parseCustomProperty: false, + }); + } catch { + return; + } + + csstree.walk(cssAst, (node) => { + if ( + (prefixIds && node.type === 'IdSelector') || + (prefixClassNames && node.type === 'ClassSelector') + ) { + node.name = prefixId(prefixGenerator, node.name); + return; + } + if (node.type === 'Url' && node.value.length > 0) { + const prefixed = prefixReference( + prefixGenerator, + unquote(node.value), + ); + if (prefixed != null) { + node.value = prefixed; + } + } + }); + + child.value = csstree.generate(cssAst); + return; + } + } + + // prefix an ID attribute value + if ( + prefixIds && + node.attributes.id != null && + node.attributes.id.length !== 0 + ) { + node.attributes.id = prefixId(prefixGenerator, node.attributes.id); + } + + // prefix a class attribute value + if ( + prefixClassNames && + node.attributes.class != null && + node.attributes.class.length !== 0 + ) { + node.attributes.class = node.attributes.class + .split(/\s+/) + .map((name) => prefixId(prefixGenerator, name)) + .join(' '); + } + + // prefix a href attribute value + // xlink:href is deprecated, must be still supported + for (const name of ['href', 'xlink:href']) { + if ( + node.attributes[name] != null && + node.attributes[name].length !== 0 + ) { + const prefixed = prefixReference( + prefixGenerator, + node.attributes[name], + ); + if (prefixed != null) { + node.attributes[name] = prefixed; + } + } + } + + // prefix a URL attribute value + for (const name of referencesProps) { + if ( + node.attributes[name] != null && + node.attributes[name].length !== 0 + ) { + node.attributes[name] = node.attributes[name].replace( + /\burl\((["'])?(#.+?)\1\)/gi, + (match, _, url) => { + const prefixed = prefixReference(prefixGenerator, url); + if (prefixed == null) { + return match; + } + return `url(${prefixed})`; + }, + ); + } + } + + // prefix begin/end attribute value + for (const name of ['begin', 'end']) { + if ( + node.attributes[name] != null && + node.attributes[name].length !== 0 + ) { + const parts = node.attributes[name].split(/\s*;\s+/).map((val) => { + if (val.endsWith('.end') || val.endsWith('.start')) { + const [id, postfix] = val.split('.'); + return `${prefixId(prefixGenerator, id)}.${postfix}`; + } + return val; + }); + node.attributes[name] = parts.join('; '); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/preset-default.js b/.output/server/node_modules/svgo/plugins/preset-default.js new file mode 100644 index 00000000..86516fd7 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/preset-default.js @@ -0,0 +1,82 @@ +'use strict'; + +const { createPreset } = require('../lib/svgo/plugins.js'); + +const removeDoctype = require('./removeDoctype.js'); +const removeXMLProcInst = require('./removeXMLProcInst.js'); +const removeComments = require('./removeComments.js'); +const removeMetadata = require('./removeMetadata.js'); +const removeEditorsNSData = require('./removeEditorsNSData.js'); +const cleanupAttrs = require('./cleanupAttrs.js'); +const mergeStyles = require('./mergeStyles.js'); +const inlineStyles = require('./inlineStyles.js'); +const minifyStyles = require('./minifyStyles.js'); +const cleanupIds = require('./cleanupIds.js'); +const removeUselessDefs = require('./removeUselessDefs.js'); +const cleanupNumericValues = require('./cleanupNumericValues.js'); +const convertColors = require('./convertColors.js'); +const removeUnknownsAndDefaults = require('./removeUnknownsAndDefaults.js'); +const removeNonInheritableGroupAttrs = require('./removeNonInheritableGroupAttrs.js'); +const removeUselessStrokeAndFill = require('./removeUselessStrokeAndFill.js'); +const removeViewBox = require('./removeViewBox.js'); +const cleanupEnableBackground = require('./cleanupEnableBackground.js'); +const removeHiddenElems = require('./removeHiddenElems.js'); +const removeEmptyText = require('./removeEmptyText.js'); +const convertShapeToPath = require('./convertShapeToPath.js'); +const convertEllipseToCircle = require('./convertEllipseToCircle.js'); +const moveElemsAttrsToGroup = require('./moveElemsAttrsToGroup.js'); +const moveGroupAttrsToElems = require('./moveGroupAttrsToElems.js'); +const collapseGroups = require('./collapseGroups.js'); +const convertPathData = require('./convertPathData.js'); +const convertTransform = require('./convertTransform.js'); +const removeEmptyAttrs = require('./removeEmptyAttrs.js'); +const removeEmptyContainers = require('./removeEmptyContainers.js'); +const mergePaths = require('./mergePaths.js'); +const removeUnusedNS = require('./removeUnusedNS.js'); +const sortAttrs = require('./sortAttrs.js'); +const sortDefsChildren = require('./sortDefsChildren.js'); +const removeTitle = require('./removeTitle.js'); +const removeDesc = require('./removeDesc.js'); + +const presetDefault = createPreset({ + name: 'preset-default', + plugins: [ + removeDoctype, + removeXMLProcInst, + removeComments, + removeMetadata, + removeEditorsNSData, + cleanupAttrs, + mergeStyles, + inlineStyles, + minifyStyles, + cleanupIds, + removeUselessDefs, + cleanupNumericValues, + convertColors, + removeUnknownsAndDefaults, + removeNonInheritableGroupAttrs, + removeUselessStrokeAndFill, + removeViewBox, + cleanupEnableBackground, + removeHiddenElems, + removeEmptyText, + convertShapeToPath, + convertEllipseToCircle, + moveElemsAttrsToGroup, + moveGroupAttrsToElems, + collapseGroups, + convertPathData, + convertTransform, + removeEmptyAttrs, + removeEmptyContainers, + mergePaths, + removeUnusedNS, + sortAttrs, + sortDefsChildren, + removeTitle, + removeDesc, + ], +}); + +module.exports = presetDefault; diff --git a/.output/server/node_modules/svgo/plugins/removeAttributesBySelector.js b/.output/server/node_modules/svgo/plugins/removeAttributesBySelector.js new file mode 100644 index 00000000..12630c2a --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeAttributesBySelector.js @@ -0,0 +1,97 @@ +'use strict'; + +const { querySelectorAll } = require('../lib/xast.js'); + +exports.name = 'removeAttributesBySelector'; +exports.description = + 'removes attributes of elements that match a css selector'; + +/** + * Removes attributes of elements that match a css selector. + * + * @example + * <caption>A selector removing a single attribute</caption> + * plugins: [ + * { + * name: "removeAttributesBySelector", + * params: { + * selector: "[fill='#00ff00']" + * attributes: "fill" + * } + * } + * ] + * + * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> + * ↓ + * <rect x="0" y="0" width="100" height="100" stroke="#00ff00"/> + * + * <caption>A selector removing multiple attributes</caption> + * plugins: [ + * { + * name: "removeAttributesBySelector", + * params: { + * selector: "[fill='#00ff00']", + * attributes: [ + * "fill", + * "stroke" + * ] + * } + * } + * ] + * + * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> + * ↓ + * <rect x="0" y="0" width="100" height="100"/> + * + * <caption>Multiple selectors removing attributes</caption> + * plugins: [ + * { + * name: "removeAttributesBySelector", + * params: { + * selectors: [ + * { + * selector: "[fill='#00ff00']", + * attributes: "fill" + * }, + * { + * selector: "#remove", + * attributes: [ + * "stroke", + * "id" + * ] + * } + * ] + * } + * } + * ] + * + * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> + * ↓ + * <rect x="0" y="0" width="100" height="100"/> + * + * @link https://developer.mozilla.org/docs/Web/CSS/CSS_Selectors|MDN CSS Selectors + * + * @author Bradley Mease + * + * @type {import('./plugins-types').Plugin<'removeAttributesBySelector'>} + */ +exports.fn = (root, params) => { + const selectors = Array.isArray(params.selectors) + ? params.selectors + : [params]; + for (const { selector, attributes } of selectors) { + const nodes = querySelectorAll(root, selector); + for (const node of nodes) { + if (node.type === 'element') { + if (Array.isArray(attributes)) { + for (const name of attributes) { + delete node.attributes[name]; + } + } else { + delete node.attributes[attributes]; + } + } + } + } + return {}; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeAttrs.js b/.output/server/node_modules/svgo/plugins/removeAttrs.js new file mode 100644 index 00000000..dc1224bd --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeAttrs.js @@ -0,0 +1,151 @@ +'use strict'; + +exports.name = 'removeAttrs'; +exports.description = 'removes specified attributes'; + +const DEFAULT_SEPARATOR = ':'; +const ENOATTRS = `Warning: The plugin "removeAttrs" requires the "attrs" parameter. +It should have a pattern to remove, otherwise the plugin is a noop. +Config example: + +plugins: [ + { + name: "removeAttrs", + params: { + attrs: "(fill|stroke)" + } + } +] +`; + +/** + * Remove attributes + * + * @example elemSeparator + * format: string + * + * @example preserveCurrentColor + * format: boolean + * + * @example attrs: + * + * format: [ element* : attribute* : value* ] + * + * element : regexp (wrapped into ^...$), single * or omitted > all elements (must be present when value is used) + * attribute : regexp (wrapped into ^...$) + * value : regexp (wrapped into ^...$), single * or omitted > all values + * + * examples: + * + * > basic: remove fill attribute + * --- + * removeAttrs: + * attrs: 'fill' + * + * > remove fill attribute on path element + * --- + * attrs: 'path:fill' + * + * > remove fill attribute on path element where value is none + * --- + * attrs: 'path:fill:none' + * + * + * > remove all fill and stroke attribute + * --- + * attrs: + * - 'fill' + * - 'stroke' + * + * [is same as] + * + * attrs: '(fill|stroke)' + * + * [is same as] + * + * attrs: '*:(fill|stroke)' + * + * [is same as] + * + * attrs: '.*:(fill|stroke)' + * + * [is same as] + * + * attrs: '.*:(fill|stroke):.*' + * + * + * > remove all stroke related attributes + * ---- + * attrs: 'stroke.*' + * + * + * @author Benny Schudel + * + * @type {import('./plugins-types').Plugin<'removeAttrs'>} + */ +exports.fn = (root, params) => { + if (typeof params.attrs == 'undefined') { + console.warn(ENOATTRS); + return null; + } + + const elemSeparator = + typeof params.elemSeparator == 'string' + ? params.elemSeparator + : DEFAULT_SEPARATOR; + const preserveCurrentColor = + typeof params.preserveCurrentColor == 'boolean' + ? params.preserveCurrentColor + : false; + const attrs = Array.isArray(params.attrs) ? params.attrs : [params.attrs]; + + return { + element: { + enter: (node) => { + for (let pattern of attrs) { + // if no element separators (:), assume it's attribute name, and apply to all elements *regardless of value* + if (!pattern.includes(elemSeparator)) { + pattern = ['.*', pattern, '.*'].join(elemSeparator); + // if only 1 separator, assume it's element and attribute name, and apply regardless of attribute value + } else if (pattern.split(elemSeparator).length < 3) { + pattern = [pattern, '.*'].join(elemSeparator); + } + + // create regexps for element, attribute name, and attribute value + const list = pattern.split(elemSeparator).map((value) => { + // adjust single * to match anything + if (value === '*') { + value = '.*'; + } + return new RegExp(['^', value, '$'].join(''), 'i'); + }); + + // matches element + if (list[0].test(node.name)) { + // loop attributes + for (const [name, value] of Object.entries(node.attributes)) { + const isFillCurrentColor = + preserveCurrentColor && + name == 'fill' && + value == 'currentColor'; + const isStrokeCurrentColor = + preserveCurrentColor && + name == 'stroke' && + value == 'currentColor'; + if ( + !isFillCurrentColor && + !isStrokeCurrentColor && + // matches attribute name + list[1].test(name) && + // matches attribute value + list[2].test(value) + ) { + delete node.attributes[name]; + } + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeComments.js b/.output/server/node_modules/svgo/plugins/removeComments.js new file mode 100644 index 00000000..46a32590 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeComments.js @@ -0,0 +1,51 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeComments'; +exports.description = 'removes comments'; + +/** + * If a comment matches one of the following patterns, it will be + * preserved by default. Particularly for copyright/license information. + */ +const DEFAULT_PRESERVE_PATTERNS = [/^!/]; + +/** + * Remove comments. + * + * @example + * <!-- Generator: Adobe Illustrator 15.0.0, SVG Export + * Plug-In . SVG Version: 6.00 Build 0) --> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeComments'>} + */ +exports.fn = (_root, params) => { + const { preservePatterns = DEFAULT_PRESERVE_PATTERNS } = params; + + return { + comment: { + enter: (node, parentNode) => { + if (preservePatterns) { + if (!Array.isArray(preservePatterns)) { + throw Error( + `Expected array in removeComments preservePatterns parameter but received ${preservePatterns}`, + ); + } + + const matches = preservePatterns.some((pattern) => { + return new RegExp(pattern).test(node.value); + }); + + if (matches) { + return; + } + } + + detachNodeFromParent(node, parentNode); + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeDesc.js b/.output/server/node_modules/svgo/plugins/removeDesc.js new file mode 100644 index 00000000..f766350e --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeDesc.js @@ -0,0 +1,39 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeDesc'; +exports.description = 'removes <desc>'; + +const standardDescs = /^(Created with|Created using)/; + +/** + * Removes <desc>. + * Removes only standard editors content or empty elements 'cause it can be used for accessibility. + * Enable parameter 'removeAny' to remove any description. + * + * https://developer.mozilla.org/docs/Web/SVG/Element/desc + * + * @author Daniel Wabyick + * + * @type {import('./plugins-types').Plugin<'removeDesc'>} + */ +exports.fn = (root, params) => { + const { removeAny = false } = params; + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'desc') { + if ( + removeAny || + node.children.length === 0 || + (node.children[0].type === 'text' && + standardDescs.test(node.children[0].value)) + ) { + detachNodeFromParent(node, parentNode); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeDimensions.js b/.output/server/node_modules/svgo/plugins/removeDimensions.js new file mode 100644 index 00000000..4f4f3984 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeDimensions.js @@ -0,0 +1,43 @@ +'use strict'; + +exports.name = 'removeDimensions'; +exports.description = + 'removes width and height in presence of viewBox (opposite to removeViewBox, disable it first)'; + +/** + * Remove width/height attributes and add the viewBox attribute if it's missing + * + * @example + * <svg width="100" height="50" /> + * ↓ + * <svg viewBox="0 0 100 50" /> + * + * @author Benny Schudel + * + * @type {import('./plugins-types').Plugin<'removeDimensions'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + if (node.name === 'svg') { + if (node.attributes.viewBox != null) { + delete node.attributes.width; + delete node.attributes.height; + } else if ( + node.attributes.width != null && + node.attributes.height != null && + Number.isNaN(Number(node.attributes.width)) === false && + Number.isNaN(Number(node.attributes.height)) === false + ) { + const width = Number(node.attributes.width); + const height = Number(node.attributes.height); + node.attributes.viewBox = `0 0 ${width} ${height}`; + delete node.attributes.width; + delete node.attributes.height; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeDoctype.js b/.output/server/node_modules/svgo/plugins/removeDoctype.js new file mode 100644 index 00000000..cbdcd013 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeDoctype.js @@ -0,0 +1,40 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeDoctype'; +exports.description = 'removes doctype declaration'; + +/** + * Remove DOCTYPE declaration. + * + * "Unfortunately the SVG DTDs are a source of so many + * issues that the SVG WG has decided not to write one + * for the upcoming SVG 1.2 standard. In fact SVG WG + * members are even telling people not to use a DOCTYPE + * declaration in SVG 1.0 and 1.1 documents" + * https://jwatt.org/svg/authoring/#doctype-declaration + * + * @example + * <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + * q"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> + * + * @example + * <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ + * <!-- an internal subset can be embedded here --> + * ]> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeDoctype'>} + */ +exports.fn = () => { + return { + doctype: { + enter: (node, parentNode) => { + detachNodeFromParent(node, parentNode); + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeEditorsNSData.js b/.output/server/node_modules/svgo/plugins/removeEditorsNSData.js new file mode 100644 index 00000000..852681bf --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeEditorsNSData.js @@ -0,0 +1,64 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); +const { editorNamespaces } = require('./_collections.js'); + +exports.name = 'removeEditorsNSData'; +exports.description = 'removes editors namespaces, elements and attributes'; + +/** + * Remove editors namespaces, elements and attributes. + * + * @example + * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> + * <sodipodi:namedview/> + * <path sodipodi:nodetypes="cccc"/> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeEditorsNSData'>} + */ +exports.fn = (_root, params) => { + let namespaces = [...editorNamespaces]; + if (Array.isArray(params.additionalNamespaces)) { + namespaces = [...editorNamespaces, ...params.additionalNamespaces]; + } + /** + * @type {string[]} + */ + const prefixes = []; + return { + element: { + enter: (node, parentNode) => { + // collect namespace prefixes from svg element + if (node.name === 'svg') { + for (const [name, value] of Object.entries(node.attributes)) { + if (name.startsWith('xmlns:') && namespaces.includes(value)) { + prefixes.push(name.slice('xmlns:'.length)); + // <svg xmlns:sodipodi=""> + delete node.attributes[name]; + } + } + } + // remove editor attributes, for example + // <* sodipodi:*=""> + for (const name of Object.keys(node.attributes)) { + if (name.includes(':')) { + const [prefix] = name.split(':'); + if (prefixes.includes(prefix)) { + delete node.attributes[name]; + } + } + } + // remove editor elements, for example + // <sodipodi:*> + if (node.name.includes(':')) { + const [prefix] = node.name.split(':'); + if (prefixes.includes(prefix)) { + detachNodeFromParent(node, parentNode); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeElementsByAttr.js b/.output/server/node_modules/svgo/plugins/removeElementsByAttr.js new file mode 100644 index 00000000..9c9915f0 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeElementsByAttr.js @@ -0,0 +1,73 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeElementsByAttr'; +exports.description = + 'removes arbitrary elements by ID or className (disabled by default)'; + +/** + * Remove arbitrary SVG elements by ID or className. + * + * @example id + * > single: remove element with ID of `elementID` + * --- + * removeElementsByAttr: + * id: 'elementID' + * + * > list: remove multiple elements by ID + * --- + * removeElementsByAttr: + * id: + * - 'elementID' + * - 'anotherID' + * + * @example class + * > single: remove all elements with class of `elementClass` + * --- + * removeElementsByAttr: + * class: 'elementClass' + * + * > list: remove all elements with class of `elementClass` or `anotherClass` + * --- + * removeElementsByAttr: + * class: + * - 'elementClass' + * - 'anotherClass' + * + * @author Eli Dupuis (@elidupuis) + * + * @type {import('./plugins-types').Plugin<'removeElementsByAttr'>} + */ +exports.fn = (root, params) => { + const ids = + params.id == null ? [] : Array.isArray(params.id) ? params.id : [params.id]; + const classes = + params.class == null + ? [] + : Array.isArray(params.class) + ? params.class + : [params.class]; + return { + element: { + enter: (node, parentNode) => { + // remove element if it's `id` matches configured `id` params + if (node.attributes.id != null && ids.length !== 0) { + if (ids.includes(node.attributes.id)) { + detachNodeFromParent(node, parentNode); + } + } + // remove element if it's `class` contains any of the configured `class` params + if (node.attributes.class && classes.length !== 0) { + const classList = node.attributes.class.split(' '); + for (const item of classes) { + if (classList.includes(item)) { + detachNodeFromParent(node, parentNode); + break; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeEmptyAttrs.js b/.output/server/node_modules/svgo/plugins/removeEmptyAttrs.js new file mode 100644 index 00000000..194d27b8 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeEmptyAttrs.js @@ -0,0 +1,31 @@ +'use strict'; + +const { attrsGroups } = require('./_collections.js'); + +exports.name = 'removeEmptyAttrs'; +exports.description = 'removes empty attributes'; + +/** + * Remove attributes with empty values. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeEmptyAttrs'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + for (const [name, value] of Object.entries(node.attributes)) { + if ( + value === '' && + // empty conditional processing attributes prevents elements from rendering + !attrsGroups.conditionalProcessing.has(name) + ) { + delete node.attributes[name]; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeEmptyContainers.js b/.output/server/node_modules/svgo/plugins/removeEmptyContainers.js new file mode 100644 index 00000000..03907344 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeEmptyContainers.js @@ -0,0 +1,59 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); +const { elemsGroups } = require('./_collections.js'); + +exports.name = 'removeEmptyContainers'; +exports.description = 'removes empty container elements'; + +/** + * Remove empty containers. + * + * @see https://www.w3.org/TR/SVG11/intro.html#TermContainerElement + * + * @example + * <defs/> + * + * @example + * <g><marker><a/></marker></g> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeEmptyContainers'>} + */ +exports.fn = () => { + return { + element: { + exit: (node, parentNode) => { + // remove only empty non-svg containers + if ( + node.name === 'svg' || + !elemsGroups.container.has(node.name) || + node.children.length !== 0 + ) { + return; + } + // empty patterns may contain reusable configuration + if ( + node.name === 'pattern' && + Object.keys(node.attributes).length !== 0 + ) { + return; + } + // The <g> may not have content, but the filter may cause a rectangle + // to be created and filled with pattern. + if (node.name === 'g' && node.attributes.filter != null) { + return; + } + // empty <mask> hides masked element + if (node.name === 'mask' && node.attributes.id != null) { + return; + } + if (parentNode.type === 'element' && parentNode.name === 'switch') { + return; + } + detachNodeFromParent(node, parentNode); + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeEmptyText.js b/.output/server/node_modules/svgo/plugins/removeEmptyText.js new file mode 100644 index 00000000..5f6db3d3 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeEmptyText.js @@ -0,0 +1,51 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeEmptyText'; +exports.description = 'removes empty <text> elements'; + +/** + * Remove empty Text elements. + * + * @see https://www.w3.org/TR/SVG11/text.html + * + * @example + * Remove empty text element: + * <text/> + * + * Remove empty tspan element: + * <tspan/> + * + * Remove tref with empty xlink:href attribute: + * <tref xlink:href=""/> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeEmptyText'>} + */ +exports.fn = (root, params) => { + const { text = true, tspan = true, tref = true } = params; + return { + element: { + enter: (node, parentNode) => { + // Remove empty text element + if (text && node.name === 'text' && node.children.length === 0) { + detachNodeFromParent(node, parentNode); + } + // Remove empty tspan element + if (tspan && node.name === 'tspan' && node.children.length === 0) { + detachNodeFromParent(node, parentNode); + } + // Remove tref with empty xlink:href attribute + if ( + tref && + node.name === 'tref' && + node.attributes['xlink:href'] == null + ) { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeHiddenElems.js b/.output/server/node_modules/svgo/plugins/removeHiddenElems.js new file mode 100644 index 00000000..75720a06 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeHiddenElems.js @@ -0,0 +1,440 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastChild} XastChild + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + */ + +const { elemsGroups } = require('./_collections.js'); +const { + visit, + visitSkip, + querySelector, + detachNodeFromParent, +} = require('../lib/xast.js'); +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { parsePathData } = require('../lib/path.js'); +const { hasScripts, findReferences } = require('../lib/svgo/tools.js'); + +const nonRendering = elemsGroups.nonRendering; + +exports.name = 'removeHiddenElems'; +exports.description = + 'removes hidden elements (zero sized, with absent attributes)'; + +/** + * Remove hidden elements with disabled rendering: + * - display="none" + * - opacity="0" + * - circle with zero radius + * - ellipse with zero x-axis or y-axis radius + * - rectangle with zero width or height + * - pattern with zero width or height + * - image with zero width or height + * - path with empty data + * - polyline with empty points + * - polygon with empty points + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeHiddenElems'>} + */ +exports.fn = (root, params) => { + const { + isHidden = true, + displayNone = true, + opacity0 = true, + circleR0 = true, + ellipseRX0 = true, + ellipseRY0 = true, + rectWidth0 = true, + rectHeight0 = true, + patternWidth0 = true, + patternHeight0 = true, + imageWidth0 = true, + imageHeight0 = true, + pathEmptyD = true, + polylineEmptyPoints = true, + polygonEmptyPoints = true, + } = params; + const stylesheet = collectStylesheet(root); + + /** + * Skip non-rendered nodes initially, and only detach if they have no ID, or + * their ID is not referenced by another node. + * + * @type {Map<XastElement, XastParent>} + */ + const nonRenderedNodes = new Map(); + + /** + * IDs for removed hidden definitions. + * + * @type {Set<string>} + */ + const removedDefIds = new Set(); + + /** + * @type {Map<XastElement, XastParent>} + */ + const allDefs = new Map(); + + /** @type {Set<string>} */ + const allReferences = new Set(); + + /** + * @type {Map<string, Array<{ node: XastElement, parentNode: XastParent }>>} + */ + const referencesById = new Map(); + + /** + * If styles are present, we can't be sure if a definition is unused or not + */ + let deoptimized = false; + + /** + * @param {XastChild} node + * @param {XastParent} parentNode + */ + function removeElement(node, parentNode) { + if ( + node.type === 'element' && + node.attributes.id != null && + parentNode.type === 'element' && + parentNode.name === 'defs' + ) { + removedDefIds.add(node.attributes.id); + } + + detachNodeFromParent(node, parentNode); + } + + visit(root, { + element: { + enter: (node, parentNode) => { + // transparent non-rendering elements still apply where referenced + if (nonRendering.has(node.name)) { + if (node.attributes.id == null) { + detachNodeFromParent(node, parentNode); + return visitSkip; + } + + nonRenderedNodes.set(node, parentNode); + return visitSkip; + } + const computedStyle = computeStyle(stylesheet, node); + // opacity="0" + // + // https://www.w3.org/TR/SVG11/masking.html#ObjectAndGroupOpacityProperties + if ( + opacity0 && + computedStyle.opacity && + computedStyle.opacity.type === 'static' && + computedStyle.opacity.value === '0' + ) { + removeElement(node, parentNode); + } + }, + }, + }); + + return { + element: { + enter: (node, parentNode) => { + if ( + (node.name === 'style' && node.children.length !== 0) || + hasScripts(node) + ) { + deoptimized = true; + return; + } + + if (node.name === 'defs') { + allDefs.set(node, parentNode); + } + + if (node.name === 'use') { + for (const attr of Object.keys(node.attributes)) { + if (attr !== 'href' && !attr.endsWith(':href')) continue; + const value = node.attributes[attr]; + const id = value.slice(1); + + let refs = referencesById.get(id); + if (!refs) { + refs = []; + referencesById.set(id, refs); + } + refs.push({ node, parentNode }); + } + } + + // Removes hidden elements + // https://www.w3schools.com/cssref/pr_class_visibility.asp + const computedStyle = computeStyle(stylesheet, node); + if ( + isHidden && + computedStyle.visibility && + computedStyle.visibility.type === 'static' && + computedStyle.visibility.value === 'hidden' && + // keep if any descendant enables visibility + querySelector(node, '[visibility=visible]') == null + ) { + removeElement(node, parentNode); + return; + } + + // display="none" + // + // https://www.w3.org/TR/SVG11/painting.html#DisplayProperty + // "A value of display: none indicates that the given element + // and its children shall not be rendered directly" + if ( + displayNone && + computedStyle.display && + computedStyle.display.type === 'static' && + computedStyle.display.value === 'none' && + // markers with display: none still rendered + node.name !== 'marker' + ) { + removeElement(node, parentNode); + return; + } + + // Circles with zero radius + // + // https://www.w3.org/TR/SVG11/shapes.html#CircleElementRAttribute + // "A value of zero disables rendering of the element" + // + // <circle r="0"> + if ( + circleR0 && + node.name === 'circle' && + node.children.length === 0 && + node.attributes.r === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Ellipse with zero x-axis radius + // + // https://www.w3.org/TR/SVG11/shapes.html#EllipseElementRXAttribute + // "A value of zero disables rendering of the element" + // + // <ellipse rx="0"> + if ( + ellipseRX0 && + node.name === 'ellipse' && + node.children.length === 0 && + node.attributes.rx === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Ellipse with zero y-axis radius + // + // https://www.w3.org/TR/SVG11/shapes.html#EllipseElementRYAttribute + // "A value of zero disables rendering of the element" + // + // <ellipse ry="0"> + if ( + ellipseRY0 && + node.name === 'ellipse' && + node.children.length === 0 && + node.attributes.ry === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Rectangle with zero width + // + // https://www.w3.org/TR/SVG11/shapes.html#RectElementWidthAttribute + // "A value of zero disables rendering of the element" + // + // <rect width="0"> + if ( + rectWidth0 && + node.name === 'rect' && + node.children.length === 0 && + node.attributes.width === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Rectangle with zero height + // + // https://www.w3.org/TR/SVG11/shapes.html#RectElementHeightAttribute + // "A value of zero disables rendering of the element" + // + // <rect height="0"> + if ( + rectHeight0 && + rectWidth0 && + node.name === 'rect' && + node.children.length === 0 && + node.attributes.height === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Pattern with zero width + // + // https://www.w3.org/TR/SVG11/pservers.html#PatternElementWidthAttribute + // "A value of zero disables rendering of the element (i.e., no paint is applied)" + // + // <pattern width="0"> + if ( + patternWidth0 && + node.name === 'pattern' && + node.attributes.width === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Pattern with zero height + // + // https://www.w3.org/TR/SVG11/pservers.html#PatternElementHeightAttribute + // "A value of zero disables rendering of the element (i.e., no paint is applied)" + // + // <pattern height="0"> + if ( + patternHeight0 && + node.name === 'pattern' && + node.attributes.height === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Image with zero width + // + // https://www.w3.org/TR/SVG11/struct.html#ImageElementWidthAttribute + // "A value of zero disables rendering of the element" + // + // <image width="0"> + if ( + imageWidth0 && + node.name === 'image' && + node.attributes.width === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Image with zero height + // + // https://www.w3.org/TR/SVG11/struct.html#ImageElementHeightAttribute + // "A value of zero disables rendering of the element" + // + // <image height="0"> + if ( + imageHeight0 && + node.name === 'image' && + node.attributes.height === '0' + ) { + removeElement(node, parentNode); + return; + } + + // Path with empty data + // + // https://www.w3.org/TR/SVG11/paths.html#DAttribute + // + // <path d=""/> + if (pathEmptyD && node.name === 'path') { + if (node.attributes.d == null) { + removeElement(node, parentNode); + return; + } + const pathData = parsePathData(node.attributes.d); + if (pathData.length === 0) { + removeElement(node, parentNode); + return; + } + // keep single point paths for markers + if ( + pathData.length === 1 && + computedStyle['marker-start'] == null && + computedStyle['marker-end'] == null + ) { + removeElement(node, parentNode); + return; + } + } + + // Polyline with empty points + // + // https://www.w3.org/TR/SVG11/shapes.html#PolylineElementPointsAttribute + // + // <polyline points=""> + if ( + polylineEmptyPoints && + node.name === 'polyline' && + node.attributes.points == null + ) { + removeElement(node, parentNode); + return; + } + + // Polygon with empty points + // + // https://www.w3.org/TR/SVG11/shapes.html#PolygonElementPointsAttribute + // + // <polygon points=""> + if ( + polygonEmptyPoints && + node.name === 'polygon' && + node.attributes.points == null + ) { + removeElement(node, parentNode); + return; + } + + for (const [name, value] of Object.entries(node.attributes)) { + const ids = findReferences(name, value); + + for (const id of ids) { + allReferences.add(id); + } + } + }, + }, + root: { + exit: () => { + for (const id of removedDefIds) { + const refs = referencesById.get(id); + if (refs) { + for (const { node, parentNode } of refs) { + detachNodeFromParent(node, parentNode); + } + } + } + + if (!deoptimized) { + for (const [ + nonRenderedNode, + nonRenderedParent, + ] of nonRenderedNodes.entries()) { + const id = nonRenderedNode.attributes.id; + + if (!allReferences.has(id)) { + detachNodeFromParent(nonRenderedNode, nonRenderedParent); + } + } + } + + for (const [node, parentNode] of allDefs.entries()) { + if (node.children.length === 0) { + detachNodeFromParent(node, parentNode); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeMetadata.js b/.output/server/node_modules/svgo/plugins/removeMetadata.js new file mode 100644 index 00000000..8c9de27e --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeMetadata.js @@ -0,0 +1,27 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeMetadata'; +exports.description = 'removes <metadata>'; + +/** + * Remove <metadata>. + * + * https://www.w3.org/TR/SVG11/metadata.html + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeMetadata'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'metadata') { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js b/.output/server/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js new file mode 100644 index 00000000..73e6bcda --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js @@ -0,0 +1,38 @@ +'use strict'; + +const { + inheritableAttrs, + attrsGroups, + presentationNonInheritableGroupAttrs, +} = require('./_collections'); + +exports.name = 'removeNonInheritableGroupAttrs'; +exports.description = + 'removes non-inheritable group’s presentational attributes'; + +/** + * Remove non-inheritable group's "presentation" attributes. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeNonInheritableGroupAttrs'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + if (node.name === 'g') { + for (const name of Object.keys(node.attributes)) { + if ( + attrsGroups.presentation.has(name) && + !inheritableAttrs.has(name) && + !presentationNonInheritableGroupAttrs.has(name) + ) { + delete node.attributes[name]; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeOffCanvasPaths.js b/.output/server/node_modules/svgo/plugins/removeOffCanvasPaths.js new file mode 100644 index 00000000..60a69fb1 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeOffCanvasPaths.js @@ -0,0 +1,136 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').PathDataItem} PathDataItem + */ + +const { visitSkip, detachNodeFromParent } = require('../lib/xast.js'); +const { parsePathData } = require('../lib/path.js'); +const { intersects } = require('./_path.js'); + +exports.name = 'removeOffCanvasPaths'; +exports.description = + 'removes elements that are drawn outside of the viewbox (disabled by default)'; + +/** + * Remove elements that are drawn outside of the viewbox. + * + * @author JoshyPHP + * + * @type {import('./plugins-types').Plugin<'removeOffCanvasPaths'>} + */ +exports.fn = () => { + /** + * @type {?{ + * top: number, + * right: number, + * bottom: number, + * left: number, + * width: number, + * height: number + * }} + */ + let viewBoxData = null; + + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'svg' && parentNode.type === 'root') { + let viewBox = ''; + // find viewbox + if (node.attributes.viewBox != null) { + // remove commas and plus signs, normalize and trim whitespace + viewBox = node.attributes.viewBox; + } else if ( + node.attributes.height != null && + node.attributes.width != null + ) { + viewBox = `0 0 ${node.attributes.width} ${node.attributes.height}`; + } + + // parse viewbox + // remove commas and plus signs, normalize and trim whitespace + viewBox = viewBox + .replace(/[,+]|px/g, ' ') + .replace(/\s+/g, ' ') + .replace(/^\s*|\s*$/g, ''); + // ensure that the dimensions are 4 values separated by space + const m = + /^(-?\d*\.?\d+) (-?\d*\.?\d+) (\d*\.?\d+) (\d*\.?\d+)$/.exec( + viewBox, + ); + if (m == null) { + return; + } + const left = Number.parseFloat(m[1]); + const top = Number.parseFloat(m[2]); + const width = Number.parseFloat(m[3]); + const height = Number.parseFloat(m[4]); + + // store the viewBox boundaries + viewBoxData = { + left, + top, + right: left + width, + bottom: top + height, + width, + height, + }; + } + + // consider that any item with a transform attribute is visible + if (node.attributes.transform != null) { + return visitSkip; + } + + if ( + node.name === 'path' && + node.attributes.d != null && + viewBoxData != null + ) { + const pathData = parsePathData(node.attributes.d); + + // consider that a M command within the viewBox is visible + let visible = false; + for (const pathDataItem of pathData) { + if (pathDataItem.command === 'M') { + const [x, y] = pathDataItem.args; + if ( + x >= viewBoxData.left && + x <= viewBoxData.right && + y >= viewBoxData.top && + y <= viewBoxData.bottom + ) { + visible = true; + } + } + } + if (visible) { + return; + } + + if (pathData.length === 2) { + // close the path too short for intersects() + pathData.push({ command: 'z', args: [] }); + } + + const { left, top, width, height } = viewBoxData; + /** + * @type {PathDataItem[]} + */ + const viewBoxPathData = [ + { command: 'M', args: [left, top] }, + { command: 'h', args: [width] }, + { command: 'v', args: [height] }, + { command: 'H', args: [left] }, + { command: 'z', args: [] }, + ]; + + if (intersects(viewBoxPathData, pathData) === false) { + detachNodeFromParent(node, parentNode); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeRasterImages.js b/.output/server/node_modules/svgo/plugins/removeRasterImages.js new file mode 100644 index 00000000..1a4a4a12 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeRasterImages.js @@ -0,0 +1,31 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeRasterImages'; +exports.description = 'removes raster images (disabled by default)'; + +/** + * Remove raster images references in <image>. + * + * @see https://bugs.webkit.org/show_bug.cgi?id=63548 + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeRasterImages'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if ( + node.name === 'image' && + node.attributes['xlink:href'] != null && + /(\.|image\/)(jpe?g|png|gif)/.test(node.attributes['xlink:href']) + ) { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeScriptElement.js b/.output/server/node_modules/svgo/plugins/removeScriptElement.js new file mode 100644 index 00000000..80fcea3b --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeScriptElement.js @@ -0,0 +1,70 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); +const { attrsGroups } = require('./_collections.js'); + +exports.name = 'removeScriptElement'; +exports.description = 'removes scripts (disabled by default)'; + +/** Union of all event attributes. */ +const eventAttrs = [ + ...attrsGroups.animationEvent, + ...attrsGroups.documentEvent, + ...attrsGroups.documentElementEvent, + ...attrsGroups.globalEvent, + ...attrsGroups.graphicalEvent, +]; + +/** + * Remove scripts. + * + * https://www.w3.org/TR/SVG11/script.html + * + * @author Patrick Klingemann + * @type {import('./plugins-types').Plugin<'removeScriptElement'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'script') { + detachNodeFromParent(node, parentNode); + return; + } + + for (const attr of eventAttrs) { + if (node.attributes[attr] != null) { + delete node.attributes[attr]; + } + } + }, + exit: (node, parentNode) => { + if (node.name !== 'a') { + return; + } + + for (const attr of Object.keys(node.attributes)) { + if (attr === 'href' || attr.endsWith(':href')) { + if ( + node.attributes[attr] == null || + !node.attributes[attr].trimStart().startsWith('javascript:') + ) { + continue; + } + + const index = parentNode.children.indexOf(node); + parentNode.children.splice(index, 1, ...node.children); + + // TODO remove legacy parentNode in v4 + for (const child of node.children) { + Object.defineProperty(child, 'parentNode', { + writable: true, + value: parentNode, + }); + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeStyleElement.js b/.output/server/node_modules/svgo/plugins/removeStyleElement.js new file mode 100644 index 00000000..d869a50a --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeStyleElement.js @@ -0,0 +1,27 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeStyleElement'; +exports.description = 'removes <style> element (disabled by default)'; + +/** + * Remove <style>. + * + * https://www.w3.org/TR/SVG11/styling.html#StyleElement + * + * @author Betsy Dupuis + * + * @type {import('./plugins-types').Plugin<'removeStyleElement'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'style') { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeTitle.js b/.output/server/node_modules/svgo/plugins/removeTitle.js new file mode 100644 index 00000000..906dd3c2 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeTitle.js @@ -0,0 +1,27 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeTitle'; +exports.description = 'removes <title>'; + +/** + * Remove <title>. + * + * https://developer.mozilla.org/docs/Web/SVG/Element/title + * + * @author Igor Kalashnikov + * + * @type {import('./plugins-types').Plugin<'removeTitle'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'title') { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeUnknownsAndDefaults.js b/.output/server/node_modules/svgo/plugins/removeUnknownsAndDefaults.js new file mode 100644 index 00000000..e76e4e5f --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeUnknownsAndDefaults.js @@ -0,0 +1,212 @@ +'use strict'; + +const { visitSkip, detachNodeFromParent } = require('../lib/xast.js'); +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { + elems, + attrsGroups, + elemsGroups, + attrsGroupsDefaults, + presentationNonInheritableGroupAttrs, +} = require('./_collections'); + +exports.name = 'removeUnknownsAndDefaults'; +exports.description = + 'removes unknown elements content and attributes, removes attrs with default values'; + +// resolve all groups references + +/** + * @type {Map<string, Set<string>>} + */ +const allowedChildrenPerElement = new Map(); +/** + * @type {Map<string, Set<string>>} + */ +const allowedAttributesPerElement = new Map(); +/** + * @type {Map<string, Map<string, string>>} + */ +const attributesDefaultsPerElement = new Map(); + +for (const [name, config] of Object.entries(elems)) { + /** + * @type {Set<string>} + */ + const allowedChildren = new Set(); + if (config.content) { + for (const elementName of config.content) { + allowedChildren.add(elementName); + } + } + if (config.contentGroups) { + for (const contentGroupName of config.contentGroups) { + const elemsGroup = elemsGroups[contentGroupName]; + if (elemsGroup) { + for (const elementName of elemsGroup) { + allowedChildren.add(elementName); + } + } + } + } + /** + * @type {Set<string>} + */ + const allowedAttributes = new Set(); + if (config.attrs) { + for (const attrName of config.attrs) { + allowedAttributes.add(attrName); + } + } + /** + * @type {Map<string, string>} + */ + const attributesDefaults = new Map(); + if (config.defaults) { + for (const [attrName, defaultValue] of Object.entries(config.defaults)) { + attributesDefaults.set(attrName, defaultValue); + } + } + for (const attrsGroupName of config.attrsGroups) { + const attrsGroup = attrsGroups[attrsGroupName]; + if (attrsGroup) { + for (const attrName of attrsGroup) { + allowedAttributes.add(attrName); + } + } + const groupDefaults = attrsGroupsDefaults[attrsGroupName]; + if (groupDefaults) { + for (const [attrName, defaultValue] of Object.entries(groupDefaults)) { + attributesDefaults.set(attrName, defaultValue); + } + } + } + allowedChildrenPerElement.set(name, allowedChildren); + allowedAttributesPerElement.set(name, allowedAttributes); + attributesDefaultsPerElement.set(name, attributesDefaults); +} + +/** + * Remove unknown elements content and attributes, + * remove attributes with default values. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeUnknownsAndDefaults'>} + */ +exports.fn = (root, params) => { + const { + unknownContent = true, + unknownAttrs = true, + defaultAttrs = true, + defaultMarkupDeclarations = true, + uselessOverrides = true, + keepDataAttrs = true, + keepAriaAttrs = true, + keepRoleAttr = false, + } = params; + const stylesheet = collectStylesheet(root); + + return { + instruction: { + enter: (node) => { + if (defaultMarkupDeclarations) { + node.value = node.value.replace(/\s*standalone\s*=\s*(["'])no\1/, ''); + } + }, + }, + element: { + enter: (node, parentNode) => { + // skip namespaced elements + if (node.name.includes(':')) { + return; + } + // skip visiting foreignObject subtree + if (node.name === 'foreignObject') { + return visitSkip; + } + + // remove unknown element's content + if (unknownContent && parentNode.type === 'element') { + const allowedChildren = allowedChildrenPerElement.get( + parentNode.name, + ); + if (allowedChildren == null || allowedChildren.size === 0) { + // remove unknown elements + if (allowedChildrenPerElement.get(node.name) == null) { + detachNodeFromParent(node, parentNode); + return; + } + } else { + // remove not allowed children + if (allowedChildren.has(node.name) === false) { + detachNodeFromParent(node, parentNode); + return; + } + } + } + + const allowedAttributes = allowedAttributesPerElement.get(node.name); + const attributesDefaults = attributesDefaultsPerElement.get(node.name); + const computedParentStyle = + parentNode.type === 'element' + ? computeStyle(stylesheet, parentNode) + : null; + + // remove element's unknown attrs and attrs with default values + for (const [name, value] of Object.entries(node.attributes)) { + if (keepDataAttrs && name.startsWith('data-')) { + continue; + } + if (keepAriaAttrs && name.startsWith('aria-')) { + continue; + } + if (keepRoleAttr && name === 'role') { + continue; + } + // skip xmlns attribute + if (name === 'xmlns') { + continue; + } + // skip namespaced attributes except xml:* and xlink:* + if (name.includes(':')) { + const [prefix] = name.split(':'); + if (prefix !== 'xml' && prefix !== 'xlink') { + continue; + } + } + + if ( + unknownAttrs && + allowedAttributes && + allowedAttributes.has(name) === false + ) { + delete node.attributes[name]; + } + if ( + defaultAttrs && + node.attributes.id == null && + attributesDefaults && + attributesDefaults.get(name) === value + ) { + // keep defaults if parent has own or inherited style + if (computedParentStyle?.[name] == null) { + delete node.attributes[name]; + } + } + if (uselessOverrides && node.attributes.id == null) { + const style = computedParentStyle?.[name]; + if ( + presentationNonInheritableGroupAttrs.has(name) === false && + style != null && + style.type === 'static' && + style.value === value + ) { + delete node.attributes[name]; + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeUnusedNS.js b/.output/server/node_modules/svgo/plugins/removeUnusedNS.js new file mode 100644 index 00000000..ac81eeaf --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeUnusedNS.js @@ -0,0 +1,59 @@ +'use strict'; + +exports.name = 'removeUnusedNS'; +exports.description = 'removes unused namespaces declaration'; + +/** + * Remove unused namespaces declaration from svg element + * which are not used in elements or attributes + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeUnusedNS'>} + */ +exports.fn = () => { + /** + * @type {Set<string>} + */ + const unusedNamespaces = new Set(); + return { + element: { + enter: (node, parentNode) => { + // collect all namespaces from svg element + // (such as xmlns:xlink="http://www.w3.org/1999/xlink") + if (node.name === 'svg' && parentNode.type === 'root') { + for (const name of Object.keys(node.attributes)) { + if (name.startsWith('xmlns:')) { + const local = name.slice('xmlns:'.length); + unusedNamespaces.add(local); + } + } + } + if (unusedNamespaces.size !== 0) { + // preserve namespace used in nested elements names + if (node.name.includes(':')) { + const [ns] = node.name.split(':'); + if (unusedNamespaces.has(ns)) { + unusedNamespaces.delete(ns); + } + } + // preserve namespace used in nested elements attributes + for (const name of Object.keys(node.attributes)) { + if (name.includes(':')) { + const [ns] = name.split(':'); + unusedNamespaces.delete(ns); + } + } + } + }, + exit: (node, parentNode) => { + // remove unused namespace attributes from svg element + if (node.name === 'svg' && parentNode.type === 'root') { + for (const name of unusedNamespaces) { + delete node.attributes[`xmlns:${name}`]; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeUselessDefs.js b/.output/server/node_modules/svgo/plugins/removeUselessDefs.js new file mode 100644 index 00000000..5d19810e --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeUselessDefs.js @@ -0,0 +1,65 @@ +'use strict'; + +/** + * @typedef {import('../lib/types').XastElement} XastElement + */ + +const { detachNodeFromParent } = require('../lib/xast.js'); +const { elemsGroups } = require('./_collections.js'); + +exports.name = 'removeUselessDefs'; +exports.description = 'removes elements in <defs> without id'; + +/** + * Removes content of defs and properties that aren't rendered directly without ids. + * + * @author Lev Solntsev + * + * @type {import('./plugins-types').Plugin<'removeUselessDefs'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'defs') { + /** + * @type {XastElement[]} + */ + const usefulNodes = []; + collectUsefulNodes(node, usefulNodes); + if (usefulNodes.length === 0) { + detachNodeFromParent(node, parentNode); + } + // TODO remove legacy parentNode in v4 + for (const usefulNode of usefulNodes) { + Object.defineProperty(usefulNode, 'parentNode', { + writable: true, + value: node, + }); + } + node.children = usefulNodes; + } else if ( + elemsGroups.nonRendering.has(node.name) && + node.attributes.id == null + ) { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; + +/** + * @type {(node: XastElement, usefulNodes: XastElement[]) => void} + */ +const collectUsefulNodes = (node, usefulNodes) => { + for (const child of node.children) { + if (child.type === 'element') { + if (child.attributes.id != null || child.name === 'style') { + usefulNodes.push(child); + } else { + collectUsefulNodes(child, usefulNodes); + } + } + } +}; diff --git a/.output/server/node_modules/svgo/plugins/removeUselessStrokeAndFill.js b/.output/server/node_modules/svgo/plugins/removeUselessStrokeAndFill.js new file mode 100644 index 00000000..95193fa6 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeUselessStrokeAndFill.js @@ -0,0 +1,139 @@ +'use strict'; + +const { visit, visitSkip, detachNodeFromParent } = require('../lib/xast.js'); +const { collectStylesheet, computeStyle } = require('../lib/style.js'); +const { hasScripts } = require('../lib/svgo/tools.js'); +const { elemsGroups } = require('./_collections.js'); + +exports.name = 'removeUselessStrokeAndFill'; +exports.description = 'removes useless stroke and fill attributes'; + +/** + * Remove useless stroke and fill attrs. + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeUselessStrokeAndFill'>} + */ +exports.fn = (root, params) => { + const { + stroke: removeStroke = true, + fill: removeFill = true, + removeNone = false, + } = params; + + // style and script elements deoptimise this plugin + let hasStyleOrScript = false; + visit(root, { + element: { + enter: (node) => { + if (node.name === 'style' || hasScripts(node)) { + hasStyleOrScript = true; + } + }, + }, + }); + if (hasStyleOrScript) { + return null; + } + + const stylesheet = collectStylesheet(root); + + return { + element: { + enter: (node, parentNode) => { + // id attribute deoptimise the whole subtree + if (node.attributes.id != null) { + return visitSkip; + } + if (!elemsGroups.shape.has(node.name)) { + return; + } + const computedStyle = computeStyle(stylesheet, node); + const stroke = computedStyle.stroke; + const strokeOpacity = computedStyle['stroke-opacity']; + const strokeWidth = computedStyle['stroke-width']; + const markerEnd = computedStyle['marker-end']; + const fill = computedStyle.fill; + const fillOpacity = computedStyle['fill-opacity']; + const computedParentStyle = + parentNode.type === 'element' + ? computeStyle(stylesheet, parentNode) + : null; + const parentStroke = + computedParentStyle == null ? null : computedParentStyle.stroke; + + // remove stroke* + if (removeStroke) { + if ( + stroke == null || + (stroke.type === 'static' && stroke.value == 'none') || + (strokeOpacity != null && + strokeOpacity.type === 'static' && + strokeOpacity.value === '0') || + (strokeWidth != null && + strokeWidth.type === 'static' && + strokeWidth.value === '0') + ) { + // stroke-width may affect the size of marker-end + // marker is not visible when stroke-width is 0 + if ( + (strokeWidth != null && + strokeWidth.type === 'static' && + strokeWidth.value === '0') || + markerEnd == null + ) { + for (const name of Object.keys(node.attributes)) { + if (name.startsWith('stroke')) { + delete node.attributes[name]; + } + } + // set explicit none to not inherit from parent + if ( + parentStroke != null && + parentStroke.type === 'static' && + parentStroke.value !== 'none' + ) { + node.attributes.stroke = 'none'; + } + } + } + } + + // remove fill* + if (removeFill) { + if ( + (fill != null && fill.type === 'static' && fill.value === 'none') || + (fillOpacity != null && + fillOpacity.type === 'static' && + fillOpacity.value === '0') + ) { + for (const name of Object.keys(node.attributes)) { + if (name.startsWith('fill-')) { + delete node.attributes[name]; + } + } + if ( + fill == null || + (fill.type === 'static' && fill.value !== 'none') + ) { + node.attributes.fill = 'none'; + } + } + } + + if (removeNone) { + if ( + (stroke == null || node.attributes.stroke === 'none') && + ((fill != null && + fill.type === 'static' && + fill.value === 'none') || + node.attributes.fill === 'none') + ) { + detachNodeFromParent(node, parentNode); + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeViewBox.js b/.output/server/node_modules/svgo/plugins/removeViewBox.js new file mode 100644 index 00000000..c0f23de2 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeViewBox.js @@ -0,0 +1,49 @@ +'use strict'; + +exports.name = 'removeViewBox'; +exports.description = 'removes viewBox attribute when possible'; + +const viewBoxElems = new Set(['pattern', 'svg', 'symbol']); + +/** + * Remove viewBox attr which coincides with a width/height box. + * + * @see https://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute + * + * @example + * <svg width="100" height="50" viewBox="0 0 100 50"> + * ⬇ + * <svg width="100" height="50"> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeViewBox'>} + */ +exports.fn = () => { + return { + element: { + enter: (node, parentNode) => { + if ( + viewBoxElems.has(node.name) && + node.attributes.viewBox != null && + node.attributes.width != null && + node.attributes.height != null + ) { + // TODO remove width/height for such case instead + if (node.name === 'svg' && parentNode.type !== 'root') { + return; + } + const nums = node.attributes.viewBox.split(/[ ,]+/g); + if ( + nums[0] === '0' && + nums[1] === '0' && + node.attributes.width.replace(/px$/, '') === nums[2] && // could use parseFloat too + node.attributes.height.replace(/px$/, '') === nums[3] + ) { + delete node.attributes.viewBox; + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeXMLNS.js b/.output/server/node_modules/svgo/plugins/removeXMLNS.js new file mode 100644 index 00000000..b7ec69a1 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeXMLNS.js @@ -0,0 +1,29 @@ +'use strict'; + +exports.name = 'removeXMLNS'; +exports.description = + 'removes xmlns attribute (for inline svg, disabled by default)'; + +/** + * Remove the xmlns attribute when present. + * + * @example + * <svg viewBox="0 0 100 50" xmlns="http://www.w3.org/2000/svg"> + * ↓ + * <svg viewBox="0 0 100 50"> + * + * @author Ricardo Tomasi + * + * @type {import('./plugins-types').Plugin<'removeXMLNS'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + if (node.name === 'svg') { + delete node.attributes.xmlns; + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeXMLProcInst.js b/.output/server/node_modules/svgo/plugins/removeXMLProcInst.js new file mode 100644 index 00000000..73ec2335 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeXMLProcInst.js @@ -0,0 +1,28 @@ +'use strict'; + +const { detachNodeFromParent } = require('../lib/xast.js'); + +exports.name = 'removeXMLProcInst'; +exports.description = 'removes XML processing instructions'; + +/** + * Remove XML Processing Instruction. + * + * @example + * <?xml version="1.0" encoding="utf-8"?> + * + * @author Kir Belevich + * + * @type {import('./plugins-types').Plugin<'removeXMLProcInst'>} + */ +exports.fn = () => { + return { + instruction: { + enter: (node, parentNode) => { + if (node.name === 'xml') { + detachNodeFromParent(node, parentNode); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/removeXlink.js b/.output/server/node_modules/svgo/plugins/removeXlink.js new file mode 100644 index 00000000..0411cc14 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/removeXlink.js @@ -0,0 +1,226 @@ +'use strict'; + +const { elems } = require('./_collections'); + +/** + * @typedef {import('../lib/types').XastElement} XastElement + */ + +exports.name = 'removeXlink'; +exports.description = + 'remove xlink namespace and replaces attributes with the SVG 2 equivalent where applicable'; + +/** URI indicating the Xlink namespace. */ +const XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink'; + +/** + * Map of `xlink:show` values to the SVG 2 `target` attribute values. + * + * @type {Record<string, string>} + * @see https://developer.mozilla.org/docs/Web/SVG/Attribute/xlink:show#usage_notes + */ +const SHOW_TO_TARGET = { + new: '_blank', + replace: '_self', +}; + +/** + * Elements that use xlink:href, but were deprecated in SVG 2 and therefore + * don't support the SVG 2 href attribute. + * + * @type {Set<string>} + * @see https://developer.mozilla.org/docs/Web/SVG/Attribute/xlink:href + * @see https://developer.mozilla.org/docs/Web/SVG/Attribute/href + */ +const LEGACY_ELEMENTS = new Set([ + 'cursor', + 'filter', + 'font-face-uri', + 'glyphRef', + 'tref', +]); + +/** + * @param {XastElement} node + * @param {string[]} prefixes + * @param {string} attr + * @returns {string[]} + */ +const findPrefixedAttrs = (node, prefixes, attr) => { + return prefixes + .map((prefix) => `${prefix}:${attr}`) + .filter((attr) => node.attributes[attr] != null); +}; + +/** + * Removes XLink namespace prefixes and converts references to XLink attributes + * to the native SVG equivalent. + * + * The XLink namespace is deprecated in SVG 2. + * + * @type {import('./plugins-types').Plugin<'removeXlink'>} + * @see https://developer.mozilla.org/docs/Web/SVG/Attribute/xlink:href + */ +exports.fn = (_, params) => { + const { includeLegacy } = params; + + /** + * XLink namespace prefixes that are currently in the stack. + * + * @type {string[]} + */ + const xlinkPrefixes = []; + + /** + * Namespace prefixes that exist in {@link xlinkPrefixes} but were overridden + * in a child element to point to another namespace, and so is not treated as + * an XLink attribute. + * + * @type {string[]} + */ + const overriddenPrefixes = []; + + /** + * Namespace prefixes that were used in one of the {@link LEGACY_ELEMENTS}. + * + * @type {string[]} + */ + const usedInLegacyElement = []; + + return { + element: { + enter: (node) => { + for (const [key, value] of Object.entries(node.attributes)) { + if (key.startsWith('xmlns:')) { + const prefix = key.split(':', 2)[1]; + + if (value === XLINK_NAMESPACE) { + xlinkPrefixes.push(prefix); + continue; + } + + if (xlinkPrefixes.includes(prefix)) { + overriddenPrefixes.push(prefix); + } + } + } + + if ( + overriddenPrefixes.some((prefix) => xlinkPrefixes.includes(prefix)) + ) { + return; + } + + const showAttrs = findPrefixedAttrs(node, xlinkPrefixes, 'show'); + let showHandled = node.attributes.target != null; + for (let i = showAttrs.length - 1; i >= 0; i--) { + const attr = showAttrs[i]; + const value = node.attributes[attr]; + const mapping = SHOW_TO_TARGET[value]; + + if (showHandled || mapping == null) { + delete node.attributes[attr]; + continue; + } + + if (mapping !== elems[node.name]?.defaults?.target) { + node.attributes.target = mapping; + } + + delete node.attributes[attr]; + showHandled = true; + } + + const titleAttrs = findPrefixedAttrs(node, xlinkPrefixes, 'title'); + for (let i = titleAttrs.length - 1; i >= 0; i--) { + const attr = titleAttrs[i]; + const value = node.attributes[attr]; + const hasTitle = node.children.filter( + (child) => child.type === 'element' && child.name === 'title', + ); + + if (hasTitle.length > 0) { + delete node.attributes[attr]; + continue; + } + + /** @type {XastElement} */ + const titleTag = { + type: 'element', + name: 'title', + attributes: {}, + children: [ + { + type: 'text', + value, + }, + ], + }; + + Object.defineProperty(titleTag, 'parentNode', { + writable: true, + value: node, + }); + + node.children.unshift(titleTag); + delete node.attributes[attr]; + } + + const hrefAttrs = findPrefixedAttrs(node, xlinkPrefixes, 'href'); + + if ( + hrefAttrs.length > 0 && + LEGACY_ELEMENTS.has(node.name) && + !includeLegacy + ) { + hrefAttrs + .map((attr) => attr.split(':', 1)[0]) + .forEach((prefix) => usedInLegacyElement.push(prefix)); + return; + } + + for (let i = hrefAttrs.length - 1; i >= 0; i--) { + const attr = hrefAttrs[i]; + const value = node.attributes[attr]; + + if (node.attributes.href != null) { + delete node.attributes[attr]; + continue; + } + + node.attributes.href = value; + delete node.attributes[attr]; + } + }, + exit: (node) => { + for (const [key, value] of Object.entries(node.attributes)) { + const [prefix, attr] = key.split(':', 2); + + if ( + xlinkPrefixes.includes(prefix) && + !overriddenPrefixes.includes(prefix) && + !usedInLegacyElement.includes(prefix) && + !includeLegacy + ) { + delete node.attributes[key]; + continue; + } + + if (key.startsWith('xmlns:') && !usedInLegacyElement.includes(attr)) { + if (value === XLINK_NAMESPACE) { + const index = xlinkPrefixes.indexOf(attr); + xlinkPrefixes.splice(index, 1); + delete node.attributes[key]; + continue; + } + + if (overriddenPrefixes.includes(prefix)) { + const index = overriddenPrefixes.indexOf(attr); + overriddenPrefixes.splice(index, 1); + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/reusePaths.js b/.output/server/node_modules/svgo/plugins/reusePaths.js new file mode 100644 index 00000000..8c2ddf0d --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/reusePaths.js @@ -0,0 +1,195 @@ +'use strict'; + +const { collectStylesheet } = require('../lib/style'); +const { detachNodeFromParent, querySelectorAll } = require('../lib/xast'); + +/** + * @typedef {import('../lib/types').XastElement} XastElement + * @typedef {import('../lib/types').XastParent} XastParent + * @typedef {import('../lib/types').XastNode} XastNode + */ + +exports.name = 'reusePaths'; +exports.description = + 'Finds <path> elements with the same d, fill, and ' + + 'stroke, and converts them to <use> elements ' + + 'referencing a single <path> def.'; + +/** + * Finds <path> elements with the same d, fill, and stroke, and converts them to + * <use> elements referencing a single <path> def. + * + * @author Jacob Howcroft + * + * @type {import('./plugins-types').Plugin<'reusePaths'>} + */ +exports.fn = (root) => { + const stylesheet = collectStylesheet(root); + + /** + * @type {Map<string, XastElement[]>} + */ + const paths = new Map(); + + /** + * Reference to the first defs element that is a direct child of the svg + * element if one exists. + * + * @type {XastElement} + * @see https://developer.mozilla.org/docs/Web/SVG/Element/defs + */ + let svgDefs; + + /** + * Set of hrefs that reference the id of another node. + * + * @type {Set<string>} + */ + const hrefs = new Set(); + + return { + element: { + enter: (node, parentNode) => { + if (node.name === 'path' && node.attributes.d != null) { + const d = node.attributes.d; + const fill = node.attributes.fill || ''; + const stroke = node.attributes.stroke || ''; + const key = d + ';s:' + stroke + ';f:' + fill; + let list = paths.get(key); + if (list == null) { + list = []; + paths.set(key, list); + } + list.push(node); + } + + if ( + svgDefs == null && + node.name === 'defs' && + parentNode.type === 'element' && + parentNode.name === 'svg' + ) { + svgDefs = node; + } + + if (node.name === 'use') { + for (const name of ['href', 'xlink:href']) { + const href = node.attributes[name]; + + if (href != null && href.startsWith('#') && href.length > 1) { + hrefs.add(href.slice(1)); + } + } + } + }, + + exit: (node, parentNode) => { + if (node.name === 'svg' && parentNode.type === 'root') { + let defsTag = svgDefs; + + if (defsTag == null) { + defsTag = { + type: 'element', + name: 'defs', + attributes: {}, + children: [], + }; + // TODO remove legacy parentNode in v4 + Object.defineProperty(defsTag, 'parentNode', { + writable: true, + value: node, + }); + } + + let index = 0; + for (const list of paths.values()) { + if (list.length > 1) { + /** @type {XastElement} */ + const reusablePath = { + type: 'element', + name: 'path', + attributes: {}, + children: [], + }; + + for (const attr of ['fill', 'stroke', 'd']) { + if (list[0].attributes[attr] != null) { + reusablePath.attributes[attr] = list[0].attributes[attr]; + } + } + + const originalId = list[0].attributes.id; + if ( + originalId == null || + hrefs.has(originalId) || + stylesheet.rules.some( + (rule) => rule.selector === `#${originalId}`, + ) + ) { + reusablePath.attributes.id = 'reuse-' + index++; + } else { + reusablePath.attributes.id = originalId; + delete list[0].attributes.id; + } + // TODO remove legacy parentNode in v4 + Object.defineProperty(reusablePath, 'parentNode', { + writable: true, + value: defsTag, + }); + defsTag.children.push(reusablePath); + // convert paths to <use> + for (const pathNode of list) { + delete pathNode.attributes.d; + delete pathNode.attributes.stroke; + delete pathNode.attributes.fill; + + if ( + defsTag.children.includes(pathNode) && + pathNode.children.length === 0 + ) { + if (Object.keys(pathNode.attributes).length === 0) { + detachNodeFromParent(pathNode, defsTag); + continue; + } + + if ( + Object.keys(pathNode.attributes).length === 1 && + pathNode.attributes.id != null + ) { + detachNodeFromParent(pathNode, defsTag); + const selector = `[xlink\\:href=#${pathNode.attributes.id}], [href=#${pathNode.attributes.id}]`; + for (const child of querySelectorAll(node, selector)) { + if (child.type !== 'element') { + continue; + } + for (const name of ['href', 'xlink:href']) { + if (child.attributes[name] != null) { + child.attributes[name] = + '#' + reusablePath.attributes.id; + } + } + } + continue; + } + } + + pathNode.name = 'use'; + pathNode.attributes['xlink:href'] = + '#' + reusablePath.attributes.id; + } + } + } + if (defsTag.children.length !== 0) { + if (node.attributes['xmlns:xlink'] == null) { + node.attributes['xmlns:xlink'] = 'http://www.w3.org/1999/xlink'; + } + + if (svgDefs == null) { + node.children.unshift(defsTag); + } + } + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/sortAttrs.js b/.output/server/node_modules/svgo/plugins/sortAttrs.js new file mode 100644 index 00000000..6347f65e --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/sortAttrs.js @@ -0,0 +1,108 @@ +'use strict'; + +exports.name = 'sortAttrs'; +exports.description = 'Sort element attributes for better compression'; + +/** + * Sort element attributes for better compression + * + * @author Nikolay Frantsev + * + * @type {import('./plugins-types').Plugin<'sortAttrs'>} + */ +exports.fn = (_root, params) => { + const { + order = [ + 'id', + 'width', + 'height', + 'x', + 'x1', + 'x2', + 'y', + 'y1', + 'y2', + 'cx', + 'cy', + 'r', + 'fill', + 'stroke', + 'marker', + 'd', + 'points', + ], + xmlnsOrder = 'front', + } = params; + + /** + * @type {(name: string) => number} + */ + const getNsPriority = (name) => { + if (xmlnsOrder === 'front') { + // put xmlns first + if (name === 'xmlns') { + return 3; + } + // xmlns:* attributes second + if (name.startsWith('xmlns:')) { + return 2; + } + } + // other namespaces after and sort them alphabetically + if (name.includes(':')) { + return 1; + } + // other attributes + return 0; + }; + + /** + * @type {(a: [string, string], b: [string, string]) => number} + */ + const compareAttrs = ([aName], [bName]) => { + // sort namespaces + const aPriority = getNsPriority(aName); + const bPriority = getNsPriority(bName); + const priorityNs = bPriority - aPriority; + if (priorityNs !== 0) { + return priorityNs; + } + // extract the first part from attributes + // for example "fill" from "fill" and "fill-opacity" + const [aPart] = aName.split('-'); + const [bPart] = bName.split('-'); + // rely on alphabetical sort when the first part is the same + if (aPart !== bPart) { + const aInOrderFlag = order.includes(aPart) ? 1 : 0; + const bInOrderFlag = order.includes(bPart) ? 1 : 0; + // sort by position in order param + if (aInOrderFlag === 1 && bInOrderFlag === 1) { + return order.indexOf(aPart) - order.indexOf(bPart); + } + // put attributes from order param before others + const priorityOrder = bInOrderFlag - aInOrderFlag; + if (priorityOrder !== 0) { + return priorityOrder; + } + } + // sort alphabetically + return aName < bName ? -1 : 1; + }; + + return { + element: { + enter: (node) => { + const attrs = Object.entries(node.attributes); + attrs.sort(compareAttrs); + /** + * @type {Record<string, string>} + */ + const sortedAttributes = {}; + for (const [name, value] of attrs) { + sortedAttributes[name] = value; + } + node.attributes = sortedAttributes; + }, + }, + }; +}; diff --git a/.output/server/node_modules/svgo/plugins/sortDefsChildren.js b/.output/server/node_modules/svgo/plugins/sortDefsChildren.js new file mode 100644 index 00000000..6ae5d421 --- /dev/null +++ b/.output/server/node_modules/svgo/plugins/sortDefsChildren.js @@ -0,0 +1,58 @@ +'use strict'; + +exports.name = 'sortDefsChildren'; +exports.description = 'Sorts children of <defs> to improve compression'; + +/** + * Sorts children of defs in order to improve compression. + * Sorted first by frequency then by element name length then by element name (to ensure grouping). + * + * @author David Leston + * + * @type {import('./plugins-types').Plugin<'sortDefsChildren'>} + */ +exports.fn = () => { + return { + element: { + enter: (node) => { + if (node.name === 'defs') { + /** + * @type {Map<string, number>} + */ + const frequencies = new Map(); + for (const child of node.children) { + if (child.type === 'element') { + const frequency = frequencies.get(child.name); + if (frequency == null) { + frequencies.set(child.name, 1); + } else { + frequencies.set(child.name, frequency + 1); + } + } + } + node.children.sort((a, b) => { + if (a.type !== 'element' || b.type !== 'element') { + return 0; + } + const aFrequency = frequencies.get(a.name); + const bFrequency = frequencies.get(b.name); + if (aFrequency != null && bFrequency != null) { + const frequencyComparison = bFrequency - aFrequency; + if (frequencyComparison !== 0) { + return frequencyComparison; + } + } + const lengthComparison = b.name.length - a.name.length; + if (lengthComparison !== 0) { + return lengthComparison; + } + if (a.name !== b.name) { + return a.name > b.name ? -1 : 1; + } + return 0; + }); + } + }, + }, + }; +}; diff --git a/.output/server/node_modules/swiper/modules/a11y.mjs b/.output/server/node_modules/swiper/modules/a11y.mjs new file mode 100644 index 00000000..8f6f26d9 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/a11y.mjs @@ -0,0 +1,377 @@ +import { g as getDocument } from '../shared/ssr-window.esm.mjs'; +import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; +import { c as createElement, i as elementIndex, m as makeElementsArray, s as setInnerHTML } from '../shared/utils.mjs'; + +function A11y(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + a11y: { + enabled: true, + notificationClass: 'swiper-notification', + prevSlideMessage: 'Previous slide', + nextSlideMessage: 'Next slide', + firstSlideMessage: 'This is the first slide', + lastSlideMessage: 'This is the last slide', + paginationBulletMessage: 'Go to slide {{index}}', + slideLabelMessage: '{{index}} / {{slidesLength}}', + containerMessage: null, + containerRoleDescriptionMessage: null, + containerRole: null, + itemRoleDescriptionMessage: null, + slideRole: 'group', + id: null, + scrollOnFocus: true + } + }); + swiper.a11y = { + clicked: false + }; + let liveRegion = null; + let preventFocusHandler; + let focusTargetSlideEl; + let visibilityChangedTimestamp = new Date().getTime(); + function notify(message) { + const notification = liveRegion; + if (notification.length === 0) return; + setInnerHTML(notification, message); + } + function getRandomNumber(size) { + if (size === void 0) { + size = 16; + } + const randomChar = () => Math.round(16 * Math.random()).toString(16); + return 'x'.repeat(size).replace(/x/g, randomChar); + } + function makeElFocusable(el) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('tabIndex', '0'); + }); + } + function makeElNotFocusable(el) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('tabIndex', '-1'); + }); + } + function addElRole(el, role) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('role', role); + }); + } + function addElRoleDescription(el, description) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-roledescription', description); + }); + } + function addElControls(el, controls) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-controls', controls); + }); + } + function addElLabel(el, label) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-label', label); + }); + } + function addElId(el, id) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('id', id); + }); + } + function addElLive(el, live) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-live', live); + }); + } + function disableEl(el) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-disabled', true); + }); + } + function enableEl(el) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.setAttribute('aria-disabled', false); + }); + } + function onEnterOrSpaceKey(e) { + if (e.keyCode !== 13 && e.keyCode !== 32) return; + const params = swiper.params.a11y; + const targetEl = e.target; + if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) { + if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return; + } + if (swiper.navigation && swiper.navigation.prevEl && swiper.navigation.nextEl) { + const prevEls = makeElementsArray(swiper.navigation.prevEl); + const nextEls = makeElementsArray(swiper.navigation.nextEl); + if (nextEls.includes(targetEl)) { + if (!(swiper.isEnd && !swiper.params.loop)) { + swiper.slideNext(); + } + if (swiper.isEnd) { + notify(params.lastSlideMessage); + } else { + notify(params.nextSlideMessage); + } + } + if (prevEls.includes(targetEl)) { + if (!(swiper.isBeginning && !swiper.params.loop)) { + swiper.slidePrev(); + } + if (swiper.isBeginning) { + notify(params.firstSlideMessage); + } else { + notify(params.prevSlideMessage); + } + } + } + if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) { + targetEl.click(); + } + } + function updateNavigation() { + if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; + const { + nextEl, + prevEl + } = swiper.navigation; + if (prevEl) { + if (swiper.isBeginning) { + disableEl(prevEl); + makeElNotFocusable(prevEl); + } else { + enableEl(prevEl); + makeElFocusable(prevEl); + } + } + if (nextEl) { + if (swiper.isEnd) { + disableEl(nextEl); + makeElNotFocusable(nextEl); + } else { + enableEl(nextEl); + makeElFocusable(nextEl); + } + } + } + function hasPagination() { + return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; + } + function hasClickablePagination() { + return hasPagination() && swiper.params.pagination.clickable; + } + function updatePagination() { + const params = swiper.params.a11y; + if (!hasPagination()) return; + swiper.pagination.bullets.forEach(bulletEl => { + if (swiper.params.pagination.clickable) { + makeElFocusable(bulletEl); + if (!swiper.params.pagination.renderBullet) { + addElRole(bulletEl, 'button'); + addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, elementIndex(bulletEl) + 1)); + } + } + if (bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))) { + bulletEl.setAttribute('aria-current', 'true'); + } else { + bulletEl.removeAttribute('aria-current'); + } + }); + } + const initNavEl = (el, wrapperId, message) => { + makeElFocusable(el); + if (el.tagName !== 'BUTTON') { + addElRole(el, 'button'); + el.addEventListener('keydown', onEnterOrSpaceKey); + } + addElLabel(el, message); + addElControls(el, wrapperId); + }; + const handlePointerDown = e => { + if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) { + preventFocusHandler = true; + } + swiper.a11y.clicked = true; + }; + const handlePointerUp = () => { + preventFocusHandler = false; + requestAnimationFrame(() => { + requestAnimationFrame(() => { + if (!swiper.destroyed) { + swiper.a11y.clicked = false; + } + }); + }); + }; + const onVisibilityChange = e => { + visibilityChangedTimestamp = new Date().getTime(); + }; + const handleFocus = e => { + if (swiper.a11y.clicked || !swiper.params.a11y.scrollOnFocus) return; + if (new Date().getTime() - visibilityChangedTimestamp < 100) return; + const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); + if (!slideEl || !swiper.slides.includes(slideEl)) return; + focusTargetSlideEl = slideEl; + const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; + const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); + if (isActive || isVisible) return; + if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return; + if (swiper.isHorizontal()) { + swiper.el.scrollLeft = 0; + } else { + swiper.el.scrollTop = 0; + } + requestAnimationFrame(() => { + if (preventFocusHandler) return; + if (swiper.params.loop) { + swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0); + } else { + swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0); + } + preventFocusHandler = false; + }); + }; + const initSlides = () => { + const params = swiper.params.a11y; + if (params.itemRoleDescriptionMessage) { + addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage); + } + if (params.slideRole) { + addElRole(swiper.slides, params.slideRole); + } + const slidesLength = swiper.slides.length; + if (params.slideLabelMessage) { + swiper.slides.forEach((slideEl, index) => { + const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index; + const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); + addElLabel(slideEl, ariaLabelMessage); + }); + } + }; + const init = () => { + const params = swiper.params.a11y; + swiper.el.append(liveRegion); + + // Container + const containerEl = swiper.el; + if (params.containerRoleDescriptionMessage) { + addElRoleDescription(containerEl, params.containerRoleDescriptionMessage); + } + if (params.containerMessage) { + addElLabel(containerEl, params.containerMessage); + } + if (params.containerRole) { + addElRole(containerEl, params.containerRole); + } + + // Wrapper + const wrapperEl = swiper.wrapperEl; + const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`; + const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; + addElId(wrapperEl, wrapperId); + addElLive(wrapperEl, live); + + // Slide + initSlides(); + + // Navigation + let { + nextEl, + prevEl + } = swiper.navigation ? swiper.navigation : {}; + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + if (nextEl) { + nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage)); + } + if (prevEl) { + prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage)); + } + + // Pagination + if (hasClickablePagination()) { + const paginationEl = makeElementsArray(swiper.pagination.el); + paginationEl.forEach(el => { + el.addEventListener('keydown', onEnterOrSpaceKey); + }); + } + + // Tab focus + const document = getDocument(); + document.addEventListener('visibilitychange', onVisibilityChange); + swiper.el.addEventListener('focus', handleFocus, true); + swiper.el.addEventListener('focus', handleFocus, true); + swiper.el.addEventListener('pointerdown', handlePointerDown, true); + swiper.el.addEventListener('pointerup', handlePointerUp, true); + }; + function destroy() { + if (liveRegion) liveRegion.remove(); + let { + nextEl, + prevEl + } = swiper.navigation ? swiper.navigation : {}; + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + if (nextEl) { + nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); + } + if (prevEl) { + prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey)); + } + + // Pagination + if (hasClickablePagination()) { + const paginationEl = makeElementsArray(swiper.pagination.el); + paginationEl.forEach(el => { + el.removeEventListener('keydown', onEnterOrSpaceKey); + }); + } + const document = getDocument(); + document.removeEventListener('visibilitychange', onVisibilityChange); + // Tab focus + if (swiper.el && typeof swiper.el !== 'string') { + swiper.el.removeEventListener('focus', handleFocus, true); + swiper.el.removeEventListener('pointerdown', handlePointerDown, true); + swiper.el.removeEventListener('pointerup', handlePointerUp, true); + } + } + on('beforeInit', () => { + liveRegion = createElement('span', swiper.params.a11y.notificationClass); + liveRegion.setAttribute('aria-live', 'assertive'); + liveRegion.setAttribute('aria-atomic', 'true'); + }); + on('afterInit', () => { + if (!swiper.params.a11y.enabled) return; + init(); + }); + on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { + if (!swiper.params.a11y.enabled) return; + initSlides(); + }); + on('fromEdge toEdge afterInit lock unlock', () => { + if (!swiper.params.a11y.enabled) return; + updateNavigation(); + }); + on('paginationUpdate', () => { + if (!swiper.params.a11y.enabled) return; + updatePagination(); + }); + on('destroy', () => { + if (!swiper.params.a11y.enabled) return; + destroy(); + }); +} + +export { A11y as default }; diff --git a/.output/server/node_modules/swiper/modules/autoplay.mjs b/.output/server/node_modules/swiper/modules/autoplay.mjs new file mode 100644 index 00000000..a93fd3be --- /dev/null +++ b/.output/server/node_modules/swiper/modules/autoplay.mjs @@ -0,0 +1,304 @@ +import { g as getDocument } from '../shared/ssr-window.esm.mjs'; + +/* eslint no-underscore-dangle: "off" */ +/* eslint no-use-before-define: "off" */ +function Autoplay(_ref) { + let { + swiper, + extendParams, + on, + emit, + params + } = _ref; + swiper.autoplay = { + running: false, + paused: false, + timeLeft: 0 + }; + extendParams({ + autoplay: { + enabled: false, + delay: 3000, + waitForTransition: true, + disableOnInteraction: false, + stopOnLastSlide: false, + reverseDirection: false, + pauseOnMouseEnter: false + } + }); + let timeout; + let raf; + let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000; + let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000; + let autoplayTimeLeft; + let autoplayStartTime = new Date().getTime(); + let wasPaused; + let isTouched; + let pausedByTouch; + let touchStartTimeout; + let slideChanged; + let pausedByInteraction; + let pausedByPointerEnter; + function onTransitionEnd(e) { + if (!swiper || swiper.destroyed || !swiper.wrapperEl) return; + if (e.target !== swiper.wrapperEl) return; + swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd); + if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) { + return; + } + resume(); + } + const calcTimeLeft = () => { + if (swiper.destroyed || !swiper.autoplay.running) return; + if (swiper.autoplay.paused) { + wasPaused = true; + } else if (wasPaused) { + autoplayDelayCurrent = autoplayTimeLeft; + wasPaused = false; + } + const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime(); + swiper.autoplay.timeLeft = timeLeft; + emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal); + raf = requestAnimationFrame(() => { + calcTimeLeft(); + }); + }; + const getSlideDelay = () => { + let activeSlideEl; + if (swiper.virtual && swiper.params.virtual.enabled) { + activeSlideEl = swiper.slides.find(slideEl => slideEl.classList.contains('swiper-slide-active')); + } else { + activeSlideEl = swiper.slides[swiper.activeIndex]; + } + if (!activeSlideEl) return undefined; + const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10); + return currentSlideDelay; + }; + const run = delayForce => { + if (swiper.destroyed || !swiper.autoplay.running) return; + cancelAnimationFrame(raf); + calcTimeLeft(); + let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce; + autoplayDelayTotal = swiper.params.autoplay.delay; + autoplayDelayCurrent = swiper.params.autoplay.delay; + const currentSlideDelay = getSlideDelay(); + if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') { + delay = currentSlideDelay; + autoplayDelayTotal = currentSlideDelay; + autoplayDelayCurrent = currentSlideDelay; + } + autoplayTimeLeft = delay; + const speed = swiper.params.speed; + const proceed = () => { + if (!swiper || swiper.destroyed) return; + if (swiper.params.autoplay.reverseDirection) { + if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) { + swiper.slidePrev(speed, true, true); + emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + swiper.slideTo(swiper.slides.length - 1, speed, true, true); + emit('autoplay'); + } + } else { + if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) { + swiper.slideNext(speed, true, true); + emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + swiper.slideTo(0, speed, true, true); + emit('autoplay'); + } + } + if (swiper.params.cssMode) { + autoplayStartTime = new Date().getTime(); + requestAnimationFrame(() => { + run(); + }); + } + }; + if (delay > 0) { + clearTimeout(timeout); + timeout = setTimeout(() => { + proceed(); + }, delay); + } else { + requestAnimationFrame(() => { + proceed(); + }); + } + + // eslint-disable-next-line + return delay; + }; + const start = () => { + autoplayStartTime = new Date().getTime(); + swiper.autoplay.running = true; + run(); + emit('autoplayStart'); + }; + const stop = () => { + swiper.autoplay.running = false; + clearTimeout(timeout); + cancelAnimationFrame(raf); + emit('autoplayStop'); + }; + const pause = (internal, reset) => { + if (swiper.destroyed || !swiper.autoplay.running) return; + clearTimeout(timeout); + if (!internal) { + pausedByInteraction = true; + } + const proceed = () => { + emit('autoplayPause'); + if (swiper.params.autoplay.waitForTransition) { + swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd); + } else { + resume(); + } + }; + swiper.autoplay.paused = true; + if (reset) { + if (slideChanged) { + autoplayTimeLeft = swiper.params.autoplay.delay; + } + slideChanged = false; + proceed(); + return; + } + const delay = autoplayTimeLeft || swiper.params.autoplay.delay; + autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime); + if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return; + if (autoplayTimeLeft < 0) autoplayTimeLeft = 0; + proceed(); + }; + const resume = () => { + if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return; + autoplayStartTime = new Date().getTime(); + if (pausedByInteraction) { + pausedByInteraction = false; + run(autoplayTimeLeft); + } else { + run(); + } + swiper.autoplay.paused = false; + emit('autoplayResume'); + }; + const onVisibilityChange = () => { + if (swiper.destroyed || !swiper.autoplay.running) return; + const document = getDocument(); + if (document.visibilityState === 'hidden') { + pausedByInteraction = true; + pause(true); + } + if (document.visibilityState === 'visible') { + resume(); + } + }; + const onPointerEnter = e => { + if (e.pointerType !== 'mouse') return; + pausedByInteraction = true; + pausedByPointerEnter = true; + if (swiper.animating || swiper.autoplay.paused) return; + pause(true); + }; + const onPointerLeave = e => { + if (e.pointerType !== 'mouse') return; + pausedByPointerEnter = false; + if (swiper.autoplay.paused) { + resume(); + } + }; + const attachMouseEvents = () => { + if (swiper.params.autoplay.pauseOnMouseEnter) { + swiper.el.addEventListener('pointerenter', onPointerEnter); + swiper.el.addEventListener('pointerleave', onPointerLeave); + } + }; + const detachMouseEvents = () => { + if (swiper.el && typeof swiper.el !== 'string') { + swiper.el.removeEventListener('pointerenter', onPointerEnter); + swiper.el.removeEventListener('pointerleave', onPointerLeave); + } + }; + const attachDocumentEvents = () => { + const document = getDocument(); + document.addEventListener('visibilitychange', onVisibilityChange); + }; + const detachDocumentEvents = () => { + const document = getDocument(); + document.removeEventListener('visibilitychange', onVisibilityChange); + }; + on('init', () => { + if (swiper.params.autoplay.enabled) { + attachMouseEvents(); + attachDocumentEvents(); + start(); + } + }); + on('destroy', () => { + detachMouseEvents(); + detachDocumentEvents(); + if (swiper.autoplay.running) { + stop(); + } + }); + on('_freeModeStaticRelease', () => { + if (pausedByTouch || pausedByInteraction) { + resume(); + } + }); + on('_freeModeNoMomentumRelease', () => { + if (!swiper.params.autoplay.disableOnInteraction) { + pause(true, true); + } else { + stop(); + } + }); + on('beforeTransitionStart', (_s, speed, internal) => { + if (swiper.destroyed || !swiper.autoplay.running) return; + if (internal || !swiper.params.autoplay.disableOnInteraction) { + pause(true, true); + } else { + stop(); + } + }); + on('sliderFirstMove', () => { + if (swiper.destroyed || !swiper.autoplay.running) return; + if (swiper.params.autoplay.disableOnInteraction) { + stop(); + return; + } + isTouched = true; + pausedByTouch = false; + pausedByInteraction = false; + touchStartTimeout = setTimeout(() => { + pausedByInteraction = true; + pausedByTouch = true; + pause(true); + }, 200); + }); + on('touchEnd', () => { + if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return; + clearTimeout(touchStartTimeout); + clearTimeout(timeout); + if (swiper.params.autoplay.disableOnInteraction) { + pausedByTouch = false; + isTouched = false; + return; + } + if (pausedByTouch && swiper.params.cssMode) resume(); + pausedByTouch = false; + isTouched = false; + }); + on('slideChange', () => { + if (swiper.destroyed || !swiper.autoplay.running) return; + slideChanged = true; + }); + Object.assign(swiper.autoplay, { + start, + stop, + pause, + resume + }); +} + +export { Autoplay as default }; diff --git a/.output/server/node_modules/swiper/modules/controller.mjs b/.output/server/node_modules/swiper/modules/controller.mjs new file mode 100644 index 00000000..bc97c537 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/controller.mjs @@ -0,0 +1,191 @@ +import { n as nextTick, l as elementTransitionEnd } from '../shared/utils.mjs'; + +/* eslint no-bitwise: ["error", { "allow": [">>"] }] */ +function Controller(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + controller: { + control: undefined, + inverse: false, + by: 'slide' // or 'container' + } + }); + + swiper.controller = { + control: undefined + }; + function LinearSpline(x, y) { + const binarySearch = function search() { + let maxIndex; + let minIndex; + let guess; + return (array, val) => { + minIndex = -1; + maxIndex = array.length; + while (maxIndex - minIndex > 1) { + guess = maxIndex + minIndex >> 1; + if (array[guess] <= val) { + minIndex = guess; + } else { + maxIndex = guess; + } + } + return maxIndex; + }; + }(); + this.x = x; + this.y = y; + this.lastIndex = x.length - 1; + // Given an x value (x2), return the expected y2 value: + // (x1,y1) is the known point before given value, + // (x3,y3) is the known point after given value. + let i1; + let i3; + this.interpolate = function interpolate(x2) { + if (!x2) return 0; + + // Get the indexes of x1 and x3 (the array indexes before and after given x2): + i3 = binarySearch(this.x, x2); + i1 = i3 - 1; + + // We have our indexes i1 & i3, so we can calculate already: + // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 + return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; + }; + return this; + } + function getInterpolateFunction(c) { + swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); + } + function setTranslate(_t, byController) { + const controlled = swiper.controller.control; + let multiplier; + let controlledTranslate; + const Swiper = swiper.constructor; + function setControlledTranslate(c) { + if (c.destroyed) return; + + // this will create an Interpolate function based on the snapGrids + // x is the Grid of the scrolled scroller and y will be the controlled scroller + // it makes sense to create this only once and recall it for the interpolation + // the function does a lot of value caching for performance + const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; + if (swiper.params.controller.by === 'slide') { + getInterpolateFunction(c); + // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid + // but it did not work out + controlledTranslate = -swiper.controller.spline.interpolate(-translate); + } + if (!controlledTranslate || swiper.params.controller.by === 'container') { + multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); + if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) { + multiplier = 1; + } + controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); + } + if (swiper.params.controller.inverse) { + controlledTranslate = c.maxTranslate() - controlledTranslate; + } + c.updateProgress(controlledTranslate); + c.setTranslate(controlledTranslate, swiper); + c.updateActiveIndex(); + c.updateSlidesClasses(); + } + if (Array.isArray(controlled)) { + for (let i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTranslate(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTranslate(controlled); + } + } + function setTransition(duration, byController) { + const Swiper = swiper.constructor; + const controlled = swiper.controller.control; + let i; + function setControlledTransition(c) { + if (c.destroyed) return; + c.setTransition(duration, swiper); + if (duration !== 0) { + c.transitionStart(); + if (c.params.autoHeight) { + nextTick(() => { + c.updateAutoHeight(); + }); + } + elementTransitionEnd(c.wrapperEl, () => { + if (!controlled) return; + c.transitionEnd(); + }); + } + } + if (Array.isArray(controlled)) { + for (i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTransition(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTransition(controlled); + } + } + function removeSpline() { + if (!swiper.controller.control) return; + if (swiper.controller.spline) { + swiper.controller.spline = undefined; + delete swiper.controller.spline; + } + } + on('beforeInit', () => { + if (typeof window !== 'undefined' && ( + // eslint-disable-line + typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) { + const controlElements = typeof swiper.params.controller.control === 'string' ? [...document.querySelectorAll(swiper.params.controller.control)] : [swiper.params.controller.control]; + controlElements.forEach(controlElement => { + if (!swiper.controller.control) swiper.controller.control = []; + if (controlElement && controlElement.swiper) { + swiper.controller.control.push(controlElement.swiper); + } else if (controlElement) { + const eventName = `${swiper.params.eventsPrefix}init`; + const onControllerSwiper = e => { + swiper.controller.control.push(e.detail[0]); + swiper.update(); + controlElement.removeEventListener(eventName, onControllerSwiper); + }; + controlElement.addEventListener(eventName, onControllerSwiper); + } + }); + return; + } + swiper.controller.control = swiper.params.controller.control; + }); + on('update', () => { + removeSpline(); + }); + on('resize', () => { + removeSpline(); + }); + on('observerUpdate', () => { + removeSpline(); + }); + on('setTranslate', (_s, translate, byController) => { + if (!swiper.controller.control || swiper.controller.control.destroyed) return; + swiper.controller.setTranslate(translate, byController); + }); + on('setTransition', (_s, duration, byController) => { + if (!swiper.controller.control || swiper.controller.control.destroyed) return; + swiper.controller.setTransition(duration, byController); + }); + Object.assign(swiper.controller, { + setTranslate, + setTransition + }); +} + +export { Controller as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-cards.mjs b/.output/server/node_modules/swiper/modules/effect-cards.mjs new file mode 100644 index 00000000..5cb00b96 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-cards.mjs @@ -0,0 +1,128 @@ +import { c as createShadow } from '../shared/create-shadow.mjs'; +import { e as effectInit } from '../shared/effect-init.mjs'; +import { e as effectTarget } from '../shared/effect-target.mjs'; +import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; +import { g as getSlideTransformEl } from '../shared/utils.mjs'; + +function EffectCards(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + cardsEffect: { + slideShadows: true, + rotate: true, + perSlideRotate: 2, + perSlideOffset: 8 + } + }); + const setTranslate = () => { + const { + slides, + activeIndex, + rtlTranslate: rtl + } = swiper; + const params = swiper.params.cardsEffect; + const { + startTranslate, + isTouched + } = swiper.touchEventsData; + const currentTranslate = rtl ? -swiper.translate : swiper.translate; + for (let i = 0; i < slides.length; i += 1) { + const slideEl = slides[i]; + const slideProgress = slideEl.progress; + const progress = Math.min(Math.max(slideProgress, -4), 4); + let offset = slideEl.swiperSlideOffset; + if (swiper.params.centeredSlides && !swiper.params.cssMode) { + swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`; + } + if (swiper.params.centeredSlides && swiper.params.cssMode) { + offset -= slides[0].swiperSlideOffset; + } + let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; + let tY = 0; + const tZ = -100 * Math.abs(progress); + let scale = 1; + let rotate = -params.perSlideRotate * progress; + let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75; + const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; + const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; + const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; + if (isSwipeToNext || isSwipeToPrev) { + const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; + rotate += -28 * progress * subProgress; + scale += -0.5 * subProgress; + tXAdd += 96 * subProgress; + tY = `${-25 * subProgress * Math.abs(progress)}%`; + } + if (progress < 0) { + // next + tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`; + } else if (progress > 0) { + // prev + tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`; + } else { + tX = `${tX}px`; + } + if (!swiper.isHorizontal()) { + const prevY = tY; + tY = tX; + tX = prevY; + } + const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; + + /* eslint-disable */ + const transform = ` + translate3d(${tX}, ${tY}, ${tZ}px) + rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg) + scale(${scaleString}) + `; + /* eslint-enable */ + + if (params.slideShadows) { + // Set shadows + let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); + if (!shadowEl) { + shadowEl = createShadow('cards', slideEl); + } + if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); + } + slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; + const targetEl = effectTarget(params, slideEl); + targetEl.style.transform = transform; + } + }; + const setTransition = duration => { + const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); + transformElements.forEach(el => { + el.style.transitionDuration = `${duration}ms`; + el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { + shadowEl.style.transitionDuration = `${duration}ms`; + }); + }); + effectVirtualTransitionEnd({ + swiper, + duration, + transformElements + }); + }; + effectInit({ + effect: 'cards', + swiper, + on, + setTranslate, + setTransition, + perspective: () => true, + overwriteParams: () => ({ + _loopSwapReset: false, + watchSlidesProgress: true, + loopAdditionalSlides: swiper.params.cardsEffect.rotate ? 3 : 2, + centeredSlides: true, + virtualTranslate: !swiper.params.cssMode + }) + }); +} + +export { EffectCards as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-coverflow.mjs b/.output/server/node_modules/swiper/modules/effect-coverflow.mjs new file mode 100644 index 00000000..84333759 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-coverflow.mjs @@ -0,0 +1,104 @@ +import { c as createShadow } from '../shared/create-shadow.mjs'; +import { e as effectInit } from '../shared/effect-init.mjs'; +import { e as effectTarget } from '../shared/effect-target.mjs'; +import { g as getSlideTransformEl, p as getRotateFix } from '../shared/utils.mjs'; + +function EffectCoverflow(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + scale: 1, + modifier: 1, + slideShadows: true + } + }); + const setTranslate = () => { + const { + width: swiperWidth, + height: swiperHeight, + slides, + slidesSizesGrid + } = swiper; + const params = swiper.params.coverflowEffect; + const isHorizontal = swiper.isHorizontal(); + const transform = swiper.translate; + const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; + const rotate = isHorizontal ? params.rotate : -params.rotate; + const translate = params.depth; + const r = getRotateFix(swiper); + // Each slide offset from center + for (let i = 0, length = slides.length; i < length; i += 1) { + const slideEl = slides[i]; + const slideSize = slidesSizesGrid[i]; + const slideOffset = slideEl.swiperSlideOffset; + const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; + const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; + let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; + let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; + // var rotateZ = 0 + let translateZ = -translate * Math.abs(offsetMultiplier); + let stretch = params.stretch; + // Allow percentage to make a relative stretch for responsive sliders + if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { + stretch = parseFloat(params.stretch) / 100 * slideSize; + } + let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; + let translateX = isHorizontal ? stretch * offsetMultiplier : 0; + let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); + + // Fix for ultra small values + if (Math.abs(translateX) < 0.001) translateX = 0; + if (Math.abs(translateY) < 0.001) translateY = 0; + if (Math.abs(translateZ) < 0.001) translateZ = 0; + if (Math.abs(rotateY) < 0.001) rotateY = 0; + if (Math.abs(rotateX) < 0.001) rotateX = 0; + if (Math.abs(scale) < 0.001) scale = 0; + const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`; + const targetEl = effectTarget(params, slideEl); + targetEl.style.transform = slideTransform; + slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; + if (params.slideShadows) { + // Set shadows + let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); + let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); + if (!shadowBeforeEl) { + shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top'); + } + if (!shadowAfterEl) { + shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom'); + } + if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; + if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; + } + } + }; + const setTransition = duration => { + const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); + transformElements.forEach(el => { + el.style.transitionDuration = `${duration}ms`; + el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { + shadowEl.style.transitionDuration = `${duration}ms`; + }); + }); + }; + effectInit({ + effect: 'coverflow', + swiper, + on, + setTranslate, + setTransition, + perspective: () => true, + overwriteParams: () => ({ + watchSlidesProgress: true + }) + }); +} + +export { EffectCoverflow as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-creative.mjs b/.output/server/node_modules/swiper/modules/effect-creative.mjs new file mode 100644 index 00000000..70455afa --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-creative.mjs @@ -0,0 +1,146 @@ +import { c as createShadow } from '../shared/create-shadow.mjs'; +import { e as effectInit } from '../shared/effect-init.mjs'; +import { e as effectTarget } from '../shared/effect-target.mjs'; +import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; +import { g as getSlideTransformEl, p as getRotateFix } from '../shared/utils.mjs'; + +function EffectCreative(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + creativeEffect: { + limitProgress: 1, + shadowPerProgress: false, + progressMultiplier: 1, + perspective: true, + prev: { + translate: [0, 0, 0], + rotate: [0, 0, 0], + opacity: 1, + scale: 1 + }, + next: { + translate: [0, 0, 0], + rotate: [0, 0, 0], + opacity: 1, + scale: 1 + } + } + }); + const getTranslateValue = value => { + if (typeof value === 'string') return value; + return `${value}px`; + }; + const setTranslate = () => { + const { + slides, + wrapperEl, + slidesSizesGrid + } = swiper; + const params = swiper.params.creativeEffect; + const { + progressMultiplier: multiplier + } = params; + const isCenteredSlides = swiper.params.centeredSlides; + const rotateFix = getRotateFix(swiper); + if (isCenteredSlides) { + const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; + wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`; + } + for (let i = 0; i < slides.length; i += 1) { + const slideEl = slides[i]; + const slideProgress = slideEl.progress; + const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress); + let originalProgress = progress; + if (!isCenteredSlides) { + originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress); + } + const offset = slideEl.swiperSlideOffset; + const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; + const r = [0, 0, 0]; + let custom = false; + if (!swiper.isHorizontal()) { + t[1] = t[0]; + t[0] = 0; + } + let data = { + translate: [0, 0, 0], + rotate: [0, 0, 0], + scale: 1, + opacity: 1 + }; + if (progress < 0) { + data = params.next; + custom = true; + } else if (progress > 0) { + data = params.prev; + custom = true; + } + // set translate + t.forEach((value, index) => { + t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; + }); + // set rotates + r.forEach((value, index) => { + let val = data.rotate[index] * Math.abs(progress * multiplier); + r[index] = val; + }); + slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; + const translateString = t.join(', '); + const rotateString = `rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`; + const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; + const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; + const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; + + // Set shadows + if (custom && data.shadow || !custom) { + let shadowEl = slideEl.querySelector('.swiper-slide-shadow'); + if (!shadowEl && data.shadow) { + shadowEl = createShadow('creative', slideEl); + } + if (shadowEl) { + const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; + shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); + } + } + const targetEl = effectTarget(params, slideEl); + targetEl.style.transform = transform; + targetEl.style.opacity = opacityString; + if (data.origin) { + targetEl.style.transformOrigin = data.origin; + } + } + }; + const setTransition = duration => { + const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); + transformElements.forEach(el => { + el.style.transitionDuration = `${duration}ms`; + el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => { + shadowEl.style.transitionDuration = `${duration}ms`; + }); + }); + effectVirtualTransitionEnd({ + swiper, + duration, + transformElements, + allSlides: true + }); + }; + effectInit({ + effect: 'creative', + swiper, + on, + setTranslate, + setTransition, + perspective: () => swiper.params.creativeEffect.perspective, + overwriteParams: () => ({ + watchSlidesProgress: true, + virtualTranslate: !swiper.params.cssMode + }) + }); +} + +export { EffectCreative as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-cube.mjs b/.output/server/node_modules/swiper/modules/effect-cube.mjs new file mode 100644 index 00000000..6f7c261b --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-cube.mjs @@ -0,0 +1,174 @@ +import { e as effectInit } from '../shared/effect-init.mjs'; +import { c as createElement, p as getRotateFix } from '../shared/utils.mjs'; + +function EffectCube(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + cubeEffect: { + slideShadows: true, + shadow: true, + shadowOffset: 20, + shadowScale: 0.94 + } + }); + const createSlideShadows = (slideEl, progress, isHorizontal) => { + let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); + let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); + if (!shadowBefore) { + shadowBefore = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' ')); + slideEl.append(shadowBefore); + } + if (!shadowAfter) { + shadowAfter = createElement('div', `swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' ')); + slideEl.append(shadowAfter); + } + if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); + if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); + }; + const recreateShadows = () => { + // create new ones + const isHorizontal = swiper.isHorizontal(); + swiper.slides.forEach(slideEl => { + const progress = Math.max(Math.min(slideEl.progress, 1), -1); + createSlideShadows(slideEl, progress, isHorizontal); + }); + }; + const setTranslate = () => { + const { + el, + wrapperEl, + slides, + width: swiperWidth, + height: swiperHeight, + rtlTranslate: rtl, + size: swiperSize, + browser + } = swiper; + const r = getRotateFix(swiper); + const params = swiper.params.cubeEffect; + const isHorizontal = swiper.isHorizontal(); + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + let wrapperRotate = 0; + let cubeShadowEl; + if (params.shadow) { + if (isHorizontal) { + cubeShadowEl = swiper.wrapperEl.querySelector('.swiper-cube-shadow'); + if (!cubeShadowEl) { + cubeShadowEl = createElement('div', 'swiper-cube-shadow'); + swiper.wrapperEl.append(cubeShadowEl); + } + cubeShadowEl.style.height = `${swiperWidth}px`; + } else { + cubeShadowEl = el.querySelector('.swiper-cube-shadow'); + if (!cubeShadowEl) { + cubeShadowEl = createElement('div', 'swiper-cube-shadow'); + el.append(cubeShadowEl); + } + } + } + for (let i = 0; i < slides.length; i += 1) { + const slideEl = slides[i]; + let slideIndex = i; + if (isVirtual) { + slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10); + } + let slideAngle = slideIndex * 90; + let round = Math.floor(slideAngle / 360); + if (rtl) { + slideAngle = -slideAngle; + round = Math.floor(-slideAngle / 360); + } + const progress = Math.max(Math.min(slideEl.progress, 1), -1); + let tx = 0; + let ty = 0; + let tz = 0; + if (slideIndex % 4 === 0) { + tx = -round * 4 * swiperSize; + tz = 0; + } else if ((slideIndex - 1) % 4 === 0) { + tx = 0; + tz = -round * 4 * swiperSize; + } else if ((slideIndex - 2) % 4 === 0) { + tx = swiperSize + round * 4 * swiperSize; + tz = swiperSize; + } else if ((slideIndex - 3) % 4 === 0) { + tx = -swiperSize; + tz = 3 * swiperSize + swiperSize * 4 * round; + } + if (rtl) { + tx = -tx; + } + if (!isHorizontal) { + ty = tx; + tx = 0; + } + const transform = `rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; + if (progress <= 1 && progress > -1) { + wrapperRotate = slideIndex * 90 + progress * 90; + if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; + } + slideEl.style.transform = transform; + if (params.slideShadows) { + createSlideShadows(slideEl, progress, isHorizontal); + } + } + wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`; + wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`; + if (params.shadow) { + if (isHorizontal) { + cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`; + } else { + const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; + const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); + const scale1 = params.shadowScale; + const scale2 = params.shadowScale / multiplier; + const offset = params.shadowOffset; + cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`; + } + } + const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0; + wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`; + wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); + }; + const setTransition = duration => { + const { + el, + slides + } = swiper; + slides.forEach(slideEl => { + slideEl.style.transitionDuration = `${duration}ms`; + slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => { + subEl.style.transitionDuration = `${duration}ms`; + }); + }); + if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { + const shadowEl = el.querySelector('.swiper-cube-shadow'); + if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`; + } + }; + effectInit({ + effect: 'cube', + swiper, + on, + setTranslate, + setTransition, + recreateShadows, + getEffectParams: () => swiper.params.cubeEffect, + perspective: () => true, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + resistanceRatio: 0, + spaceBetween: 0, + centeredSlides: false, + virtualTranslate: true + }) + }); +} + +export { EffectCube as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-fade.mjs b/.output/server/node_modules/swiper/modules/effect-fade.mjs new file mode 100644 index 00000000..140e9b71 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-fade.mjs @@ -0,0 +1,66 @@ +import { e as effectInit } from '../shared/effect-init.mjs'; +import { e as effectTarget } from '../shared/effect-target.mjs'; +import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; +import { g as getSlideTransformEl } from '../shared/utils.mjs'; + +function EffectFade(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + fadeEffect: { + crossFade: false + } + }); + const setTranslate = () => { + const { + slides + } = swiper; + const params = swiper.params.fadeEffect; + for (let i = 0; i < slides.length; i += 1) { + const slideEl = swiper.slides[i]; + const offset = slideEl.swiperSlideOffset; + let tx = -offset; + if (!swiper.params.virtualTranslate) tx -= swiper.translate; + let ty = 0; + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + } + const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0); + const targetEl = effectTarget(params, slideEl); + targetEl.style.opacity = slideOpacity; + targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`; + } + }; + const setTransition = duration => { + const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); + transformElements.forEach(el => { + el.style.transitionDuration = `${duration}ms`; + }); + effectVirtualTransitionEnd({ + swiper, + duration, + transformElements, + allSlides: true + }); + }; + effectInit({ + effect: 'fade', + swiper, + on, + setTranslate, + setTransition, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: !swiper.params.cssMode + }) + }); +} + +export { EffectFade as default }; diff --git a/.output/server/node_modules/swiper/modules/effect-flip.mjs b/.output/server/node_modules/swiper/modules/effect-flip.mjs new file mode 100644 index 00000000..785c09bd --- /dev/null +++ b/.output/server/node_modules/swiper/modules/effect-flip.mjs @@ -0,0 +1,111 @@ +import { c as createShadow } from '../shared/create-shadow.mjs'; +import { e as effectInit } from '../shared/effect-init.mjs'; +import { e as effectTarget } from '../shared/effect-target.mjs'; +import { e as effectVirtualTransitionEnd } from '../shared/effect-virtual-transition-end.mjs'; +import { g as getSlideTransformEl, p as getRotateFix } from '../shared/utils.mjs'; + +function EffectFlip(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + flipEffect: { + slideShadows: true, + limitRotation: true + } + }); + const createSlideShadows = (slideEl, progress) => { + let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top'); + let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom'); + if (!shadowBefore) { + shadowBefore = createShadow('flip', slideEl, swiper.isHorizontal() ? 'left' : 'top'); + } + if (!shadowAfter) { + shadowAfter = createShadow('flip', slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); + } + if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0); + if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0); + }; + const recreateShadows = () => { + // Set shadows + swiper.params.flipEffect; + swiper.slides.forEach(slideEl => { + let progress = slideEl.progress; + if (swiper.params.flipEffect.limitRotation) { + progress = Math.max(Math.min(slideEl.progress, 1), -1); + } + createSlideShadows(slideEl, progress); + }); + }; + const setTranslate = () => { + const { + slides, + rtlTranslate: rtl + } = swiper; + const params = swiper.params.flipEffect; + const rotateFix = getRotateFix(swiper); + for (let i = 0; i < slides.length; i += 1) { + const slideEl = slides[i]; + let progress = slideEl.progress; + if (swiper.params.flipEffect.limitRotation) { + progress = Math.max(Math.min(slideEl.progress, 1), -1); + } + const offset = slideEl.swiperSlideOffset; + const rotate = -180 * progress; + let rotateY = rotate; + let rotateX = 0; + let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; + let ty = 0; + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + rotateX = -rotateY; + rotateY = 0; + } else if (rtl) { + rotateY = -rotateY; + } + slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length; + if (params.slideShadows) { + createSlideShadows(slideEl, progress); + } + const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`; + const targetEl = effectTarget(params, slideEl); + targetEl.style.transform = transform; + } + }; + const setTransition = duration => { + const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl)); + transformElements.forEach(el => { + el.style.transitionDuration = `${duration}ms`; + el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => { + shadowEl.style.transitionDuration = `${duration}ms`; + }); + }); + effectVirtualTransitionEnd({ + swiper, + duration, + transformElements + }); + }; + effectInit({ + effect: 'flip', + swiper, + on, + setTranslate, + setTransition, + recreateShadows, + getEffectParams: () => swiper.params.flipEffect, + perspective: () => true, + overwriteParams: () => ({ + slidesPerView: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: !swiper.params.cssMode + }) + }); +} + +export { EffectFlip as default }; diff --git a/.output/server/node_modules/swiper/modules/free-mode.mjs b/.output/server/node_modules/swiper/modules/free-mode.mjs new file mode 100644 index 00000000..22579238 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/free-mode.mjs @@ -0,0 +1,237 @@ +import { f as now, l as elementTransitionEnd } from '../shared/utils.mjs'; + +function freeMode(_ref) { + let { + swiper, + extendParams, + emit, + once + } = _ref; + extendParams({ + freeMode: { + enabled: false, + momentum: true, + momentumRatio: 1, + momentumBounce: true, + momentumBounceRatio: 1, + momentumVelocityRatio: 1, + sticky: false, + minimumVelocity: 0.02 + } + }); + function onTouchStart() { + if (swiper.params.cssMode) return; + const translate = swiper.getTranslate(); + swiper.setTranslate(translate); + swiper.setTransition(0); + swiper.touchEventsData.velocities.length = 0; + swiper.freeMode.onTouchEnd({ + currentPos: swiper.rtl ? swiper.translate : -swiper.translate + }); + } + function onTouchMove() { + if (swiper.params.cssMode) return; + const { + touchEventsData: data, + touches + } = swiper; + // Velocity + if (data.velocities.length === 0) { + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], + time: data.touchStartTime + }); + } + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], + time: now() + }); + } + function onTouchEnd(_ref2) { + let { + currentPos + } = _ref2; + if (swiper.params.cssMode) return; + const { + params, + wrapperEl, + rtlTranslate: rtl, + snapGrid, + touchEventsData: data + } = swiper; + // Time diff + const touchEndTime = now(); + const timeDiff = touchEndTime - data.touchStartTime; + if (currentPos < -swiper.minTranslate()) { + swiper.slideTo(swiper.activeIndex); + return; + } + if (currentPos > -swiper.maxTranslate()) { + if (swiper.slides.length < snapGrid.length) { + swiper.slideTo(snapGrid.length - 1); + } else { + swiper.slideTo(swiper.slides.length - 1); + } + return; + } + if (params.freeMode.momentum) { + if (data.velocities.length > 1) { + const lastMoveEvent = data.velocities.pop(); + const velocityEvent = data.velocities.pop(); + const distance = lastMoveEvent.position - velocityEvent.position; + const time = lastMoveEvent.time - velocityEvent.time; + swiper.velocity = distance / time; + swiper.velocity /= 2; + if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { + swiper.velocity = 0; + } + // this implies that the user stopped moving a finger then released. + // There would be no events with distance zero, so the last event is stale. + if (time > 150 || now() - lastMoveEvent.time > 300) { + swiper.velocity = 0; + } + } else { + swiper.velocity = 0; + } + swiper.velocity *= params.freeMode.momentumVelocityRatio; + data.velocities.length = 0; + let momentumDuration = 1000 * params.freeMode.momentumRatio; + const momentumDistance = swiper.velocity * momentumDuration; + let newPosition = swiper.translate + momentumDistance; + if (rtl) newPosition = -newPosition; + let doBounce = false; + let afterBouncePosition; + const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; + let needsLoopFix; + if (newPosition < swiper.maxTranslate()) { + if (params.freeMode.momentumBounce) { + if (newPosition + swiper.maxTranslate() < -bounceAmount) { + newPosition = swiper.maxTranslate() - bounceAmount; + } + afterBouncePosition = swiper.maxTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.maxTranslate(); + } + if (params.loop && params.centeredSlides) needsLoopFix = true; + } else if (newPosition > swiper.minTranslate()) { + if (params.freeMode.momentumBounce) { + if (newPosition - swiper.minTranslate() > bounceAmount) { + newPosition = swiper.minTranslate() + bounceAmount; + } + afterBouncePosition = swiper.minTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.minTranslate(); + } + if (params.loop && params.centeredSlides) needsLoopFix = true; + } else if (params.freeMode.sticky) { + let nextSlide; + for (let j = 0; j < snapGrid.length; j += 1) { + if (snapGrid[j] > -newPosition) { + nextSlide = j; + break; + } + } + if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { + newPosition = snapGrid[nextSlide]; + } else { + newPosition = snapGrid[nextSlide - 1]; + } + newPosition = -newPosition; + } + if (needsLoopFix) { + once('transitionEnd', () => { + swiper.loopFix(); + }); + } + // Fix duration + if (swiper.velocity !== 0) { + if (rtl) { + momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); + } else { + momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); + } + if (params.freeMode.sticky) { + // If freeMode.sticky is active and the user ends a swipe with a slow-velocity + // event, then durations can be 20+ seconds to slide one (or zero!) slides. + // It's easy to see this when simulating touch with mouse events. To fix this, + // limit single-slide swipes to the default slide duration. This also has the + // nice side effect of matching slide speed if the user stopped moving before + // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. + // For faster swipes, also apply limits (albeit higher ones). + const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); + const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; + if (moveDistance < currentSlideSize) { + momentumDuration = params.speed; + } else if (moveDistance < 2 * currentSlideSize) { + momentumDuration = params.speed * 1.5; + } else { + momentumDuration = params.speed * 2.5; + } + } + } else if (params.freeMode.sticky) { + swiper.slideToClosest(); + return; + } + if (params.freeMode.momentumBounce && doBounce) { + swiper.updateProgress(afterBouncePosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + swiper.animating = true; + elementTransitionEnd(wrapperEl, () => { + if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; + emit('momentumBounce'); + swiper.setTransition(params.speed); + setTimeout(() => { + swiper.setTranslate(afterBouncePosition); + elementTransitionEnd(wrapperEl, () => { + if (!swiper || swiper.destroyed) return; + swiper.transitionEnd(); + }); + }, 0); + }); + } else if (swiper.velocity) { + emit('_freeModeNoMomentumRelease'); + swiper.updateProgress(newPosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + if (!swiper.animating) { + swiper.animating = true; + elementTransitionEnd(wrapperEl, () => { + if (!swiper || swiper.destroyed) return; + swiper.transitionEnd(); + }); + } + } else { + swiper.updateProgress(newPosition); + } + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } else if (params.freeMode.sticky) { + swiper.slideToClosest(); + return; + } else if (params.freeMode) { + emit('_freeModeNoMomentumRelease'); + } + if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { + emit('_freeModeStaticRelease'); + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + } + Object.assign(swiper, { + freeMode: { + onTouchStart, + onTouchMove, + onTouchEnd + } + }); +} + +export { freeMode as default }; diff --git a/.output/server/node_modules/swiper/modules/grid.mjs b/.output/server/node_modules/swiper/modules/grid.mjs new file mode 100644 index 00000000..140bcd3b --- /dev/null +++ b/.output/server/node_modules/swiper/modules/grid.mjs @@ -0,0 +1,155 @@ +function Grid(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + grid: { + rows: 1, + fill: 'column' + } + }); + let slidesNumberEvenToRows; + let slidesPerRow; + let numFullColumns; + let wasMultiRow; + const getSpaceBetween = () => { + let spaceBetween = swiper.params.spaceBetween; + if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { + spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; + } else if (typeof spaceBetween === 'string') { + spaceBetween = parseFloat(spaceBetween); + } + return spaceBetween; + }; + const initSlides = slides => { + const { + slidesPerView + } = swiper.params; + const { + rows, + fill + } = swiper.params.grid; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; + numFullColumns = Math.floor(slidesLength / rows); + if (Math.floor(slidesLength / rows) === slidesLength / rows) { + slidesNumberEvenToRows = slidesLength; + } else { + slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; + } + if (slidesPerView !== 'auto' && fill === 'row') { + slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); + } + slidesPerRow = slidesNumberEvenToRows / rows; + }; + const unsetSlides = () => { + if (swiper.slides) { + swiper.slides.forEach(slide => { + if (slide.swiperSlideGridSet) { + slide.style.height = ''; + slide.style[swiper.getDirectionLabel('margin-top')] = ''; + } + }); + } + }; + const updateSlide = (i, slide, slides) => { + const { + slidesPerGroup + } = swiper.params; + const spaceBetween = getSpaceBetween(); + const { + rows, + fill + } = swiper.params.grid; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : slides.length; + // Set slides order + let newSlideOrderIndex; + let column; + let row; + if (fill === 'row' && slidesPerGroup > 1) { + const groupIndex = Math.floor(i / (slidesPerGroup * rows)); + const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; + const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); + row = Math.floor(slideIndexInGroup / columnsInGroup); + column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; + newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; + slide.style.order = newSlideOrderIndex; + } else if (fill === 'column') { + column = Math.floor(i / rows); + row = i - column * rows; + if (column > numFullColumns || column === numFullColumns && row === rows - 1) { + row += 1; + if (row >= rows) { + row = 0; + column += 1; + } + } + } else { + row = Math.floor(i / slidesPerRow); + column = i - row * slidesPerRow; + } + slide.row = row; + slide.column = column; + slide.style.height = `calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`; + slide.style[swiper.getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : ''; + slide.swiperSlideGridSet = true; + }; + const updateWrapperSize = (slideSize, snapGrid) => { + const { + centeredSlides, + roundLengths + } = swiper.params; + const spaceBetween = getSpaceBetween(); + const { + rows + } = swiper.params.grid; + swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; + swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; + if (!swiper.params.cssMode) { + swiper.wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; + } + if (centeredSlides) { + const newSlidesGrid = []; + for (let i = 0; i < snapGrid.length; i += 1) { + let slidesGridItem = snapGrid[i]; + if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); + if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); + } + snapGrid.splice(0, snapGrid.length); + snapGrid.push(...newSlidesGrid); + } + }; + const onInit = () => { + wasMultiRow = swiper.params.grid && swiper.params.grid.rows > 1; + }; + const onUpdate = () => { + const { + params, + el + } = swiper; + const isMultiRow = params.grid && params.grid.rows > 1; + if (wasMultiRow && !isMultiRow) { + el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); + numFullColumns = 1; + swiper.emitContainerClasses(); + } else if (!wasMultiRow && isMultiRow) { + el.classList.add(`${params.containerModifierClass}grid`); + if (params.grid.fill === 'column') { + el.classList.add(`${params.containerModifierClass}grid-column`); + } + swiper.emitContainerClasses(); + } + wasMultiRow = isMultiRow; + }; + on('init', onInit); + on('update', onUpdate); + swiper.grid = { + initSlides, + unsetSlides, + updateSlide, + updateWrapperSize + }; +} + +export { Grid as default }; diff --git a/.output/server/node_modules/swiper/modules/hash-navigation.mjs b/.output/server/node_modules/swiper/modules/hash-navigation.mjs new file mode 100644 index 00000000..09bae665 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/hash-navigation.mjs @@ -0,0 +1,93 @@ +import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs'; +import { e as elementChildren } from '../shared/utils.mjs'; + +function HashNavigation(_ref) { + let { + swiper, + extendParams, + emit, + on + } = _ref; + let initialized = false; + const document = getDocument(); + const window = getWindow(); + extendParams({ + hashNavigation: { + enabled: false, + replaceState: false, + watchState: false, + getSlideIndex(_s, hash) { + if (swiper.virtual && swiper.params.virtual.enabled) { + const slideWithHash = swiper.slides.find(slideEl => slideEl.getAttribute('data-hash') === hash); + if (!slideWithHash) return 0; + const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10); + return index; + } + return swiper.getSlideIndex(elementChildren(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]); + } + } + }); + const onHashChange = () => { + emit('hashChange'); + const newHash = document.location.hash.replace('#', ''); + const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; + const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : ''; + if (newHash !== activeSlideHash) { + const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash); + if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return; + swiper.slideTo(newIndex); + } + }; + const setHash = () => { + if (!initialized || !swiper.params.hashNavigation.enabled) return; + const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex]; + const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : ''; + if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { + window.history.replaceState(null, null, `#${activeSlideHash}` || ''); + emit('hashSet'); + } else { + document.location.hash = activeSlideHash || ''; + emit('hashSet'); + } + }; + const init = () => { + if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; + initialized = true; + const hash = document.location.hash.replace('#', ''); + if (hash) { + const speed = 0; + const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash); + swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true); + } + if (swiper.params.hashNavigation.watchState) { + window.addEventListener('hashchange', onHashChange); + } + }; + const destroy = () => { + if (swiper.params.hashNavigation.watchState) { + window.removeEventListener('hashchange', onHashChange); + } + }; + on('init', () => { + if (swiper.params.hashNavigation.enabled) { + init(); + } + }); + on('destroy', () => { + if (swiper.params.hashNavigation.enabled) { + destroy(); + } + }); + on('transitionEnd _freeModeNoMomentumRelease', () => { + if (initialized) { + setHash(); + } + }); + on('slideChange', () => { + if (initialized && swiper.params.cssMode) { + setHash(); + } + }); +} + +export { HashNavigation as default }; diff --git a/.output/server/node_modules/swiper/modules/history.mjs b/.output/server/node_modules/swiper/modules/history.mjs new file mode 100644 index 00000000..466c8b8d --- /dev/null +++ b/.output/server/node_modules/swiper/modules/history.mjs @@ -0,0 +1,142 @@ +import { a as getWindow } from '../shared/ssr-window.esm.mjs'; + +function History(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + history: { + enabled: false, + root: '', + replaceState: false, + key: 'slides', + keepQuery: false + } + }); + let initialized = false; + let paths = {}; + const slugify = text => { + return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); + }; + const getPathValues = urlOverride => { + const window = getWindow(); + let location; + if (urlOverride) { + location = new URL(urlOverride); + } else { + location = window.location; + } + const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); + const total = pathArray.length; + const key = pathArray[total - 2]; + const value = pathArray[total - 1]; + return { + key, + value + }; + }; + const setHistory = (key, index) => { + const window = getWindow(); + if (!initialized || !swiper.params.history.enabled) return; + let location; + if (swiper.params.url) { + location = new URL(swiper.params.url); + } else { + location = window.location; + } + const slide = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`) : swiper.slides[index]; + let value = slugify(slide.getAttribute('data-history')); + if (swiper.params.history.root.length > 0) { + let root = swiper.params.history.root; + if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); + value = `${root}/${key ? `${key}/` : ''}${value}`; + } else if (!location.pathname.includes(key)) { + value = `${key ? `${key}/` : ''}${value}`; + } + if (swiper.params.history.keepQuery) { + value += location.search; + } + const currentState = window.history.state; + if (currentState && currentState.value === value) { + return; + } + if (swiper.params.history.replaceState) { + window.history.replaceState({ + value + }, null, value); + } else { + window.history.pushState({ + value + }, null, value); + } + }; + const scrollToSlide = (speed, value, runCallbacks) => { + if (value) { + for (let i = 0, length = swiper.slides.length; i < length; i += 1) { + const slide = swiper.slides[i]; + const slideHistory = slugify(slide.getAttribute('data-history')); + if (slideHistory === value) { + const index = swiper.getSlideIndex(slide); + swiper.slideTo(index, speed, runCallbacks); + } + } + } else { + swiper.slideTo(0, speed, runCallbacks); + } + }; + const setHistoryPopState = () => { + paths = getPathValues(swiper.params.url); + scrollToSlide(swiper.params.speed, paths.value, false); + }; + const init = () => { + const window = getWindow(); + if (!swiper.params.history) return; + if (!window.history || !window.history.pushState) { + swiper.params.history.enabled = false; + swiper.params.hashNavigation.enabled = true; + return; + } + initialized = true; + paths = getPathValues(swiper.params.url); + if (!paths.key && !paths.value) { + if (!swiper.params.history.replaceState) { + window.addEventListener('popstate', setHistoryPopState); + } + return; + } + scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); + if (!swiper.params.history.replaceState) { + window.addEventListener('popstate', setHistoryPopState); + } + }; + const destroy = () => { + const window = getWindow(); + if (!swiper.params.history.replaceState) { + window.removeEventListener('popstate', setHistoryPopState); + } + }; + on('init', () => { + if (swiper.params.history.enabled) { + init(); + } + }); + on('destroy', () => { + if (swiper.params.history.enabled) { + destroy(); + } + }); + on('transitionEnd _freeModeNoMomentumRelease', () => { + if (initialized) { + setHistory(swiper.params.history.key, swiper.activeIndex); + } + }); + on('slideChange', () => { + if (initialized && swiper.params.cssMode) { + setHistory(swiper.params.history.key, swiper.activeIndex); + } + }); +} + +export { History as default }; diff --git a/.output/server/node_modules/swiper/modules/index.mjs b/.output/server/node_modules/swiper/modules/index.mjs new file mode 100644 index 00000000..3186045c --- /dev/null +++ b/.output/server/node_modules/swiper/modules/index.mjs @@ -0,0 +1,23 @@ +export {default as Virtual} from './virtual.mjs'; +export {default as Keyboard} from './keyboard.mjs'; +export {default as Mousewheel} from './mousewheel.mjs'; +export {default as Navigation} from './navigation.mjs'; +export {default as Pagination} from './pagination.mjs'; +export {default as Scrollbar} from './scrollbar.mjs'; +export {default as Parallax} from './parallax.mjs'; +export {default as Zoom} from './zoom.mjs'; +export {default as Controller} from './controller.mjs'; +export {default as A11y} from './a11y.mjs'; +export {default as History} from './history.mjs'; +export {default as HashNavigation} from './hash-navigation.mjs'; +export {default as Autoplay} from './autoplay.mjs'; +export {default as Thumbs} from './thumbs.mjs'; +export {default as FreeMode} from './free-mode.mjs'; +export {default as Grid} from './grid.mjs'; +export {default as Manipulation} from './manipulation.mjs'; +export {default as EffectFade} from './effect-fade.mjs'; +export {default as EffectCube} from './effect-cube.mjs'; +export {default as EffectFlip} from './effect-flip.mjs'; +export {default as EffectCoverflow} from './effect-coverflow.mjs'; +export {default as EffectCreative} from './effect-creative.mjs'; +export {default as EffectCards} from './effect-cards.mjs'; \ No newline at end of file diff --git a/.output/server/node_modules/swiper/modules/keyboard.mjs b/.output/server/node_modules/swiper/modules/keyboard.mjs new file mode 100644 index 00000000..3b1aa5c4 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/keyboard.mjs @@ -0,0 +1,117 @@ +import { g as getDocument, a as getWindow } from '../shared/ssr-window.esm.mjs'; +import { b as elementParents, d as elementOffset } from '../shared/utils.mjs'; + +/* eslint-disable consistent-return */ +function Keyboard(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const document = getDocument(); + const window = getWindow(); + swiper.keyboard = { + enabled: false + }; + extendParams({ + keyboard: { + enabled: false, + onlyInViewport: true, + pageUpDown: true + } + }); + function handle(event) { + if (!swiper.enabled) return; + const { + rtlTranslate: rtl + } = swiper; + let e = event; + if (e.originalEvent) e = e.originalEvent; // jquery fix + const kc = e.keyCode || e.charCode; + const pageUpDown = swiper.params.keyboard.pageUpDown; + const isPageUp = pageUpDown && kc === 33; + const isPageDown = pageUpDown && kc === 34; + const isArrowLeft = kc === 37; + const isArrowRight = kc === 39; + const isArrowUp = kc === 38; + const isArrowDown = kc === 40; + // Directions locks + if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { + return false; + } + if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { + return false; + } + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { + return undefined; + } + if (document.activeElement && (document.activeElement.isContentEditable || document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea'))) { + return undefined; + } + if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { + let inView = false; + // Check that swiper should be inside of visible area of window + if (elementParents(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && elementParents(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) { + return undefined; + } + const el = swiper.el; + const swiperWidth = el.clientWidth; + const swiperHeight = el.clientHeight; + const windowWidth = window.innerWidth; + const windowHeight = window.innerHeight; + const swiperOffset = elementOffset(el); + if (rtl) swiperOffset.left -= el.scrollLeft; + const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; + for (let i = 0; i < swiperCoord.length; i += 1) { + const point = swiperCoord[i]; + if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { + if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line + inView = true; + } + } + if (!inView) return undefined; + } + if (swiper.isHorizontal()) { + if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + } + if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); + if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); + } else { + if (isPageUp || isPageDown || isArrowUp || isArrowDown) { + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + } + if (isPageDown || isArrowDown) swiper.slideNext(); + if (isPageUp || isArrowUp) swiper.slidePrev(); + } + emit('keyPress', kc); + return undefined; + } + function enable() { + if (swiper.keyboard.enabled) return; + document.addEventListener('keydown', handle); + swiper.keyboard.enabled = true; + } + function disable() { + if (!swiper.keyboard.enabled) return; + document.removeEventListener('keydown', handle); + swiper.keyboard.enabled = false; + } + on('init', () => { + if (swiper.params.keyboard.enabled) { + enable(); + } + }); + on('destroy', () => { + if (swiper.keyboard.enabled) { + disable(); + } + }); + Object.assign(swiper.keyboard, { + enable, + disable + }); +} + +export { Keyboard as default }; diff --git a/.output/server/node_modules/swiper/modules/manipulation.mjs b/.output/server/node_modules/swiper/modules/manipulation.mjs new file mode 100644 index 00000000..3b03e46f --- /dev/null +++ b/.output/server/node_modules/swiper/modules/manipulation.mjs @@ -0,0 +1,193 @@ +import { s as setInnerHTML } from '../shared/utils.mjs'; + +function appendSlide(slides) { + const swiper = this; + const { + params, + slidesEl + } = swiper; + if (params.loop) { + swiper.loopDestroy(); + } + const appendElement = slideEl => { + if (typeof slideEl === 'string') { + const tempDOM = document.createElement('div'); + setInnerHTML(tempDOM, slideEl); + slidesEl.append(tempDOM.children[0]); + setInnerHTML(tempDOM, ''); + } else { + slidesEl.append(slideEl); + } + }; + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) appendElement(slides[i]); + } + } else { + appendElement(slides); + } + swiper.recalcSlides(); + if (params.loop) { + swiper.loopCreate(); + } + if (!params.observer || swiper.isElement) { + swiper.update(); + } +} + +function prependSlide(slides) { + const swiper = this; + const { + params, + activeIndex, + slidesEl + } = swiper; + if (params.loop) { + swiper.loopDestroy(); + } + let newActiveIndex = activeIndex + 1; + const prependElement = slideEl => { + if (typeof slideEl === 'string') { + const tempDOM = document.createElement('div'); + setInnerHTML(tempDOM, slideEl); + slidesEl.prepend(tempDOM.children[0]); + setInnerHTML(tempDOM, ''); + } else { + slidesEl.prepend(slideEl); + } + }; + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) prependElement(slides[i]); + } + newActiveIndex = activeIndex + slides.length; + } else { + prependElement(slides); + } + swiper.recalcSlides(); + if (params.loop) { + swiper.loopCreate(); + } + if (!params.observer || swiper.isElement) { + swiper.update(); + } + swiper.slideTo(newActiveIndex, 0, false); +} + +function addSlide(index, slides) { + const swiper = this; + const { + params, + activeIndex, + slidesEl + } = swiper; + let activeIndexBuffer = activeIndex; + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + swiper.recalcSlides(); + } + const baseLength = swiper.slides.length; + if (index <= 0) { + swiper.prependSlide(slides); + return; + } + if (index >= baseLength) { + swiper.appendSlide(slides); + return; + } + let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; + const slidesBuffer = []; + for (let i = baseLength - 1; i >= index; i -= 1) { + const currentSlide = swiper.slides[i]; + currentSlide.remove(); + slidesBuffer.unshift(currentSlide); + } + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) slidesEl.append(slides[i]); + } + newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; + } else { + slidesEl.append(slides); + } + for (let i = 0; i < slidesBuffer.length; i += 1) { + slidesEl.append(slidesBuffer[i]); + } + swiper.recalcSlides(); + if (params.loop) { + swiper.loopCreate(); + } + if (!params.observer || swiper.isElement) { + swiper.update(); + } + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } +} + +function removeSlide(slidesIndexes) { + const swiper = this; + const { + params, + activeIndex + } = swiper; + let activeIndexBuffer = activeIndex; + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + } + let newActiveIndex = activeIndexBuffer; + let indexToRemove; + if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { + for (let i = 0; i < slidesIndexes.length; i += 1) { + indexToRemove = slidesIndexes[i]; + if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); + if (indexToRemove < newActiveIndex) newActiveIndex -= 1; + } + newActiveIndex = Math.max(newActiveIndex, 0); + } else { + indexToRemove = slidesIndexes; + if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove(); + if (indexToRemove < newActiveIndex) newActiveIndex -= 1; + newActiveIndex = Math.max(newActiveIndex, 0); + } + swiper.recalcSlides(); + if (params.loop) { + swiper.loopCreate(); + } + if (!params.observer || swiper.isElement) { + swiper.update(); + } + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } +} + +function removeAllSlides() { + const swiper = this; + const slidesIndexes = []; + for (let i = 0; i < swiper.slides.length; i += 1) { + slidesIndexes.push(i); + } + swiper.removeSlide(slidesIndexes); +} + +function Manipulation(_ref) { + let { + swiper + } = _ref; + Object.assign(swiper, { + appendSlide: appendSlide.bind(swiper), + prependSlide: prependSlide.bind(swiper), + addSlide: addSlide.bind(swiper), + removeSlide: removeSlide.bind(swiper), + removeAllSlides: removeAllSlides.bind(swiper) + }); +} + +export { Manipulation as default }; diff --git a/.output/server/node_modules/swiper/modules/mousewheel.mjs b/.output/server/node_modules/swiper/modules/mousewheel.mjs new file mode 100644 index 00000000..ad985d1c --- /dev/null +++ b/.output/server/node_modules/swiper/modules/mousewheel.mjs @@ -0,0 +1,395 @@ +import { a as getWindow } from '../shared/ssr-window.esm.mjs'; +import { n as nextTick, f as now } from '../shared/utils.mjs'; + +/* eslint-disable consistent-return */ +function Mousewheel(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const window = getWindow(); + extendParams({ + mousewheel: { + enabled: false, + releaseOnEdges: false, + invert: false, + forceToAxis: false, + sensitivity: 1, + eventsTarget: 'container', + thresholdDelta: null, + thresholdTime: null, + noMousewheelClass: 'swiper-no-mousewheel' + } + }); + swiper.mousewheel = { + enabled: false + }; + let timeout; + let lastScrollTime = now(); + let lastEventBeforeSnap; + const recentWheelEvents = []; + function normalize(e) { + // Reasonable defaults + const PIXEL_STEP = 10; + const LINE_HEIGHT = 40; + const PAGE_HEIGHT = 800; + let sX = 0; + let sY = 0; // spinX, spinY + let pX = 0; + let pY = 0; // pixelX, pixelY + + // Legacy + if ('detail' in e) { + sY = e.detail; + } + if ('wheelDelta' in e) { + sY = -e.wheelDelta / 120; + } + if ('wheelDeltaY' in e) { + sY = -e.wheelDeltaY / 120; + } + if ('wheelDeltaX' in e) { + sX = -e.wheelDeltaX / 120; + } + + // side scrolling on FF with DOMMouseScroll + if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { + sX = sY; + sY = 0; + } + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + if ('deltaY' in e) { + pY = e.deltaY; + } + if ('deltaX' in e) { + pX = e.deltaX; + } + if (e.shiftKey && !pX) { + // if user scrolls with shift he wants horizontal scroll + pX = pY; + pY = 0; + } + if ((pX || pY) && e.deltaMode) { + if (e.deltaMode === 1) { + // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { + // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } + + // Fall-back if spin cannot be determined + if (pX && !sX) { + sX = pX < 1 ? -1 : 1; + } + if (pY && !sY) { + sY = pY < 1 ? -1 : 1; + } + return { + spinX: sX, + spinY: sY, + pixelX: pX, + pixelY: pY + }; + } + function handleMouseEnter() { + if (!swiper.enabled) return; + swiper.mouseEntered = true; + } + function handleMouseLeave() { + if (!swiper.enabled) return; + swiper.mouseEntered = false; + } + function animateSlider(newEvent) { + if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { + // Prevent if delta of wheel scroll delta is below configured threshold + return false; + } + if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { + // Prevent if time between scrolls is below configured threshold + return false; + } + + // If the movement is NOT big enough and + // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): + // Don't go any further (avoid insignificant scroll movement). + if (newEvent.delta >= 6 && now() - lastScrollTime < 60) { + // Return false as a default + return true; + } + // If user is scrolling towards the end: + // If the slider hasn't hit the latest slide or + // if the slider is a loop and + // if the slider isn't moving right now: + // Go to next slide and + // emit a scroll event. + // Else (the user is scrolling towards the beginning) and + // if the slider hasn't hit the first slide or + // if the slider is a loop and + // if the slider isn't moving right now: + // Go to prev slide and + // emit a scroll event. + if (newEvent.direction < 0) { + if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { + swiper.slideNext(); + emit('scroll', newEvent.raw); + } + } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { + swiper.slidePrev(); + emit('scroll', newEvent.raw); + } + // If you got here is because an animation has been triggered so store the current time + lastScrollTime = new window.Date().getTime(); + // Return false as a default + return false; + } + function releaseScroll(newEvent) { + const params = swiper.params.mousewheel; + if (newEvent.direction < 0) { + if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { + // Return true to animate scroll on edges + return true; + } + } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { + // Return true to animate scroll on edges + return true; + } + return false; + } + function handle(event) { + let e = event; + let disableParentSwiper = true; + if (!swiper.enabled) return; + + // Ignore event if the target or its parents have the swiper-no-mousewheel class + if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return; + const params = swiper.params.mousewheel; + if (swiper.params.cssMode) { + e.preventDefault(); + } + let targetEl = swiper.el; + if (swiper.params.mousewheel.eventsTarget !== 'container') { + targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); + } + const targetElContainsTarget = targetEl && targetEl.contains(e.target); + if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true; + if (e.originalEvent) e = e.originalEvent; // jquery fix + let delta = 0; + const rtlFactor = swiper.rtlTranslate ? -1 : 1; + const data = normalize(e); + if (params.forceToAxis) { + if (swiper.isHorizontal()) { + if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; + } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; + } else { + delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; + } + if (delta === 0) return true; + if (params.invert) delta = -delta; + + // Get the scroll positions + let positions = swiper.getTranslate() + delta * params.sensitivity; + if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); + if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); + + // When loop is true: + // the disableParentSwiper will be true. + // When loop is false: + // if the scroll positions is not on edge, + // then the disableParentSwiper will be true. + // if the scroll on edge positions, + // then the disableParentSwiper will be false. + disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); + if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); + if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { + // Register the new event in a variable which stores the relevant data + const newEvent = { + time: now(), + delta: Math.abs(delta), + direction: Math.sign(delta), + raw: event + }; + + // Keep the most recent events + if (recentWheelEvents.length >= 2) { + recentWheelEvents.shift(); // only store the last N events + } + + const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; + recentWheelEvents.push(newEvent); + + // If there is at least one previous recorded event: + // If direction has changed or + // if the scroll is quicker than the previous one: + // Animate the slider. + // Else (this is the first time the wheel is moved): + // Animate the slider. + if (prevEvent) { + if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { + animateSlider(newEvent); + } + } else { + animateSlider(newEvent); + } + + // If it's time to release the scroll: + // Return now so you don't hit the preventDefault. + if (releaseScroll(newEvent)) { + return true; + } + } else { + // Freemode or scrollContainer: + + // If we recently snapped after a momentum scroll, then ignore wheel events + // to give time for the deceleration to finish. Stop ignoring after 500 msecs + // or if it's a new scroll (larger delta or inverse sign as last event before + // an end-of-momentum snap). + const newEvent = { + time: now(), + delta: Math.abs(delta), + direction: Math.sign(delta) + }; + const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; + if (!ignoreWheelEvents) { + lastEventBeforeSnap = undefined; + let position = swiper.getTranslate() + delta * params.sensitivity; + const wasBeginning = swiper.isBeginning; + const wasEnd = swiper.isEnd; + if (position >= swiper.minTranslate()) position = swiper.minTranslate(); + if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); + swiper.setTransition(0); + swiper.setTranslate(position); + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { + swiper.updateSlidesClasses(); + } + if (swiper.params.loop) { + swiper.loopFix({ + direction: newEvent.direction < 0 ? 'next' : 'prev', + byMousewheel: true + }); + } + if (swiper.params.freeMode.sticky) { + // When wheel scrolling starts with sticky (aka snap) enabled, then detect + // the end of a momentum scroll by storing recent (N=15?) wheel events. + // 1. do all N events have decreasing or same (absolute value) delta? + // 2. did all N events arrive in the last M (M=500?) msecs? + // 3. does the earliest event have an (absolute value) delta that's + // at least P (P=1?) larger than the most recent event's delta? + // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? + // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. + // Snap immediately and ignore remaining wheel events in this scroll. + // See comment above for "remaining wheel events in this scroll" determination. + // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. + clearTimeout(timeout); + timeout = undefined; + if (recentWheelEvents.length >= 15) { + recentWheelEvents.shift(); // only store the last N events + } + + const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; + const firstEvent = recentWheelEvents[0]; + recentWheelEvents.push(newEvent); + if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { + // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. + recentWheelEvents.splice(0); + } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { + // We're at the end of the deceleration of a momentum scroll, so there's no need + // to wait for more events. Snap ASAP on the next tick. + // Also, because there's some remaining momentum we'll bias the snap in the + // direction of the ongoing scroll because it's better UX for the scroll to snap + // in the same direction as the scroll instead of reversing to snap. Therefore, + // if it's already scrolled more than 20% in the current direction, keep going. + const snapToThreshold = delta > 0 ? 0.8 : 0.2; + lastEventBeforeSnap = newEvent; + recentWheelEvents.splice(0); + timeout = nextTick(() => { + if (swiper.destroyed || !swiper.params) return; + swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); + }, 0); // no delay; move on next tick + } + + if (!timeout) { + // if we get here, then we haven't detected the end of a momentum scroll, so + // we'll consider a scroll "complete" when there haven't been any wheel events + // for 500ms. + timeout = nextTick(() => { + if (swiper.destroyed || !swiper.params) return; + const snapToThreshold = 0.5; + lastEventBeforeSnap = newEvent; + recentWheelEvents.splice(0); + swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); + }, 500); + } + } + + // Emit event + if (!ignoreWheelEvents) emit('scroll', e); + + // Stop autoplay + if (swiper.params.autoplay && swiper.params.autoplay.disableOnInteraction) swiper.autoplay.stop(); + // Return page scroll on edge positions + if (params.releaseOnEdges && (position === swiper.minTranslate() || position === swiper.maxTranslate())) { + return true; + } + } + } + if (e.preventDefault) e.preventDefault();else e.returnValue = false; + return false; + } + function events(method) { + let targetEl = swiper.el; + if (swiper.params.mousewheel.eventsTarget !== 'container') { + targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget); + } + targetEl[method]('mouseenter', handleMouseEnter); + targetEl[method]('mouseleave', handleMouseLeave); + targetEl[method]('wheel', handle); + } + function enable() { + if (swiper.params.cssMode) { + swiper.wrapperEl.removeEventListener('wheel', handle); + return true; + } + if (swiper.mousewheel.enabled) return false; + events('addEventListener'); + swiper.mousewheel.enabled = true; + return true; + } + function disable() { + if (swiper.params.cssMode) { + swiper.wrapperEl.addEventListener(event, handle); + return true; + } + if (!swiper.mousewheel.enabled) return false; + events('removeEventListener'); + swiper.mousewheel.enabled = false; + return true; + } + on('init', () => { + if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { + disable(); + } + if (swiper.params.mousewheel.enabled) enable(); + }); + on('destroy', () => { + if (swiper.params.cssMode) { + enable(); + } + if (swiper.mousewheel.enabled) disable(); + }); + Object.assign(swiper.mousewheel, { + enable, + disable + }); +} + +export { Mousewheel as default }; diff --git a/.output/server/node_modules/swiper/modules/navigation.mjs b/.output/server/node_modules/swiper/modules/navigation.mjs new file mode 100644 index 00000000..5ebd7689 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/navigation.mjs @@ -0,0 +1,200 @@ +import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; +import { m as makeElementsArray } from '../shared/utils.mjs'; + +function Navigation(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + extendParams({ + navigation: { + nextEl: null, + prevEl: null, + hideOnClick: false, + disabledClass: 'swiper-button-disabled', + hiddenClass: 'swiper-button-hidden', + lockClass: 'swiper-button-lock', + navigationDisabledClass: 'swiper-navigation-disabled' + } + }); + swiper.navigation = { + nextEl: null, + prevEl: null + }; + function getEl(el) { + let res; + if (el && typeof el === 'string' && swiper.isElement) { + res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el); + if (res) return res; + } + if (el) { + if (typeof el === 'string') res = [...document.querySelectorAll(el)]; + if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) { + res = swiper.el.querySelector(el); + } else if (res && res.length === 1) { + res = res[0]; + } + } + if (el && !res) return el; + // if (Array.isArray(res) && res.length === 1) res = res[0]; + return res; + } + function toggleEl(el, disabled) { + const params = swiper.params.navigation; + el = makeElementsArray(el); + el.forEach(subEl => { + if (subEl) { + subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' ')); + if (subEl.tagName === 'BUTTON') subEl.disabled = disabled; + if (swiper.params.watchOverflow && swiper.enabled) { + subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); + } + } + }); + } + function update() { + // Update Navigation Buttons + const { + nextEl, + prevEl + } = swiper.navigation; + if (swiper.params.loop) { + toggleEl(prevEl, false); + toggleEl(nextEl, false); + return; + } + toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind); + toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind); + } + function onPrevClick(e) { + e.preventDefault(); + if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; + swiper.slidePrev(); + emit('navigationPrev'); + } + function onNextClick(e) { + e.preventDefault(); + if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; + swiper.slideNext(); + emit('navigationNext'); + } + function init() { + const params = swiper.params.navigation; + swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, { + nextEl: 'swiper-button-next', + prevEl: 'swiper-button-prev' + }); + if (!(params.nextEl || params.prevEl)) return; + let nextEl = getEl(params.nextEl); + let prevEl = getEl(params.prevEl); + Object.assign(swiper.navigation, { + nextEl, + prevEl + }); + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + const initButton = (el, dir) => { + if (el) { + el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick); + } + if (!swiper.enabled && el) { + el.classList.add(...params.lockClass.split(' ')); + } + }; + nextEl.forEach(el => initButton(el, 'next')); + prevEl.forEach(el => initButton(el, 'prev')); + } + function destroy() { + let { + nextEl, + prevEl + } = swiper.navigation; + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + const destroyButton = (el, dir) => { + el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick); + el.classList.remove(...swiper.params.navigation.disabledClass.split(' ')); + }; + nextEl.forEach(el => destroyButton(el, 'next')); + prevEl.forEach(el => destroyButton(el, 'prev')); + } + on('init', () => { + if (swiper.params.navigation.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + update(); + } + }); + on('toEdge fromEdge lock unlock', () => { + update(); + }); + on('destroy', () => { + destroy(); + }); + on('enable disable', () => { + let { + nextEl, + prevEl + } = swiper.navigation; + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + if (swiper.enabled) { + update(); + return; + } + [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass)); + }); + on('click', (_s, e) => { + let { + nextEl, + prevEl + } = swiper.navigation; + nextEl = makeElementsArray(nextEl); + prevEl = makeElementsArray(prevEl); + const targetEl = e.target; + let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl); + if (swiper.isElement && !targetIsButton) { + const path = e.path || e.composedPath && e.composedPath(); + if (path) { + targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl)); + } + } + if (swiper.params.navigation.hideOnClick && !targetIsButton) { + if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; + let isHidden; + if (nextEl.length) { + isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass); + } else if (prevEl.length) { + isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass); + } + if (isHidden === true) { + emit('navigationShow'); + } else { + emit('navigationHide'); + } + [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass)); + } + }); + const enable = () => { + swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' ')); + init(); + update(); + }; + const disable = () => { + swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' ')); + destroy(); + }; + Object.assign(swiper.navigation, { + enable, + disable, + update, + init, + destroy + }); +} + +export { Navigation as default }; diff --git a/.output/server/node_modules/swiper/modules/pagination.mjs b/.output/server/node_modules/swiper/modules/pagination.mjs new file mode 100644 index 00000000..daec0731 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/pagination.mjs @@ -0,0 +1,460 @@ +import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; +import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; +import { m as makeElementsArray, h as elementOuterSize, i as elementIndex, s as setInnerHTML, b as elementParents } from '../shared/utils.mjs'; + +function Pagination(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const pfx = 'swiper-pagination'; + extendParams({ + pagination: { + el: null, + bulletElement: 'span', + clickable: false, + hideOnClick: false, + renderBullet: null, + renderProgressbar: null, + renderFraction: null, + renderCustom: null, + progressbarOpposite: false, + type: 'bullets', + // 'bullets' or 'progressbar' or 'fraction' or 'custom' + dynamicBullets: false, + dynamicMainBullets: 1, + formatFractionCurrent: number => number, + formatFractionTotal: number => number, + bulletClass: `${pfx}-bullet`, + bulletActiveClass: `${pfx}-bullet-active`, + modifierClass: `${pfx}-`, + currentClass: `${pfx}-current`, + totalClass: `${pfx}-total`, + hiddenClass: `${pfx}-hidden`, + progressbarFillClass: `${pfx}-progressbar-fill`, + progressbarOppositeClass: `${pfx}-progressbar-opposite`, + clickableClass: `${pfx}-clickable`, + lockClass: `${pfx}-lock`, + horizontalClass: `${pfx}-horizontal`, + verticalClass: `${pfx}-vertical`, + paginationDisabledClass: `${pfx}-disabled` + } + }); + swiper.pagination = { + el: null, + bullets: [] + }; + let bulletSize; + let dynamicBulletIndex = 0; + function isPaginationDisabled() { + return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0; + } + function setSideBullets(bulletEl, position) { + const { + bulletActiveClass + } = swiper.params.pagination; + if (!bulletEl) return; + bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; + if (bulletEl) { + bulletEl.classList.add(`${bulletActiveClass}-${position}`); + bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`]; + if (bulletEl) { + bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`); + } + } + } + function getMoveDirection(prevIndex, nextIndex, length) { + prevIndex = prevIndex % length; + nextIndex = nextIndex % length; + if (nextIndex === prevIndex + 1) { + return 'next'; + } else if (nextIndex === prevIndex - 1) { + return 'previous'; + } + return; + } + function onBulletClick(e) { + const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass)); + if (!bulletEl) { + return; + } + e.preventDefault(); + const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup; + if (swiper.params.loop) { + if (swiper.realIndex === index) return; + const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length); + if (moveDirection === 'next') { + swiper.slideNext(); + } else if (moveDirection === 'previous') { + swiper.slidePrev(); + } else { + swiper.slideToLoop(index); + } + } else { + swiper.slideTo(index); + } + } + function update() { + // Render || Update Pagination bullets/items + const rtl = swiper.rtl; + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + let el = swiper.pagination.el; + el = makeElementsArray(el); + // Current/Total + let current; + let previousIndex; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; + const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + if (swiper.params.loop) { + previousIndex = swiper.previousRealIndex || 0; + current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex; + } else if (typeof swiper.snapIndex !== 'undefined') { + current = swiper.snapIndex; + previousIndex = swiper.previousSnapIndex; + } else { + previousIndex = swiper.previousIndex || 0; + current = swiper.activeIndex || 0; + } + // Types + if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { + const bullets = swiper.pagination.bullets; + let firstIndex; + let lastIndex; + let midIndex; + if (params.dynamicBullets) { + bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true); + el.forEach(subEl => { + subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`; + }); + if (params.dynamicMainBullets > 1 && previousIndex !== undefined) { + dynamicBulletIndex += current - (previousIndex || 0); + if (dynamicBulletIndex > params.dynamicMainBullets - 1) { + dynamicBulletIndex = params.dynamicMainBullets - 1; + } else if (dynamicBulletIndex < 0) { + dynamicBulletIndex = 0; + } + } + firstIndex = Math.max(current - dynamicBulletIndex, 0); + lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); + midIndex = (lastIndex + firstIndex) / 2; + } + bullets.forEach(bulletEl => { + const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat(); + bulletEl.classList.remove(...classesToRemove); + }); + if (el.length > 1) { + bullets.forEach(bullet => { + const bulletIndex = elementIndex(bullet); + if (bulletIndex === current) { + bullet.classList.add(...params.bulletActiveClass.split(' ')); + } else if (swiper.isElement) { + bullet.setAttribute('part', 'bullet'); + } + if (params.dynamicBullets) { + if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { + bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' ')); + } + if (bulletIndex === firstIndex) { + setSideBullets(bullet, 'prev'); + } + if (bulletIndex === lastIndex) { + setSideBullets(bullet, 'next'); + } + } + }); + } else { + const bullet = bullets[current]; + if (bullet) { + bullet.classList.add(...params.bulletActiveClass.split(' ')); + } + if (swiper.isElement) { + bullets.forEach((bulletEl, bulletIndex) => { + bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet'); + }); + } + if (params.dynamicBullets) { + const firstDisplayedBullet = bullets[firstIndex]; + const lastDisplayedBullet = bullets[lastIndex]; + for (let i = firstIndex; i <= lastIndex; i += 1) { + if (bullets[i]) { + bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' ')); + } + } + setSideBullets(firstDisplayedBullet, 'prev'); + setSideBullets(lastDisplayedBullet, 'next'); + } + } + if (params.dynamicBullets) { + const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); + const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; + const offsetProp = rtl ? 'right' : 'left'; + bullets.forEach(bullet => { + bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`; + }); + } + } + el.forEach((subEl, subElIndex) => { + if (params.type === 'fraction') { + subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => { + fractionEl.textContent = params.formatFractionCurrent(current + 1); + }); + subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => { + totalEl.textContent = params.formatFractionTotal(total); + }); + } + if (params.type === 'progressbar') { + let progressbarDirection; + if (params.progressbarOpposite) { + progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; + } else { + progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; + } + const scale = (current + 1) / total; + let scaleX = 1; + let scaleY = 1; + if (progressbarDirection === 'horizontal') { + scaleX = scale; + } else { + scaleY = scale; + } + subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => { + progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`; + progressEl.style.transitionDuration = `${swiper.params.speed}ms`; + }); + } + if (params.type === 'custom' && params.renderCustom) { + setInnerHTML(subEl, params.renderCustom(swiper, current + 1, total)); + if (subElIndex === 0) emit('paginationRender', subEl); + } else { + if (subElIndex === 0) emit('paginationRender', subEl); + emit('paginationUpdate', subEl); + } + if (swiper.params.watchOverflow && swiper.enabled) { + subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass); + } + }); + } + function render() { + // Render Container + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length; + let el = swiper.pagination.el; + el = makeElementsArray(el); + let paginationHTML = ''; + if (params.type === 'bullets') { + let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) { + numberOfBullets = slidesLength; + } + for (let i = 0; i < numberOfBullets; i += 1) { + if (params.renderBullet) { + paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); + } else { + // prettier-ignore + paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}"></${params.bulletElement}>`; + } + } + } + if (params.type === 'fraction') { + if (params.renderFraction) { + paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); + } else { + paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`; + } + } + if (params.type === 'progressbar') { + if (params.renderProgressbar) { + paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); + } else { + paginationHTML = `<span class="${params.progressbarFillClass}"></span>`; + } + } + swiper.pagination.bullets = []; + el.forEach(subEl => { + if (params.type !== 'custom') { + setInnerHTML(subEl, paginationHTML || ''); + } + if (params.type === 'bullets') { + swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass))); + } + }); + if (params.type !== 'custom') { + emit('paginationRender', el[0]); + } + } + function init() { + swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, { + el: 'swiper-pagination' + }); + const params = swiper.params.pagination; + if (!params.el) return; + let el; + if (typeof params.el === 'string' && swiper.isElement) { + el = swiper.el.querySelector(params.el); + } + if (!el && typeof params.el === 'string') { + el = [...document.querySelectorAll(params.el)]; + } + if (!el) { + el = params.el; + } + if (!el || el.length === 0) return; + if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) { + el = [...swiper.el.querySelectorAll(params.el)]; + // check if it belongs to another nested Swiper + if (el.length > 1) { + el = el.find(subEl => { + if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false; + return true; + }); + } + } + if (Array.isArray(el) && el.length === 1) el = el[0]; + Object.assign(swiper.pagination, { + el + }); + el = makeElementsArray(el); + el.forEach(subEl => { + if (params.type === 'bullets' && params.clickable) { + subEl.classList.add(...(params.clickableClass || '').split(' ')); + } + subEl.classList.add(params.modifierClass + params.type); + subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + if (params.type === 'bullets' && params.dynamicBullets) { + subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`); + dynamicBulletIndex = 0; + if (params.dynamicMainBullets < 1) { + params.dynamicMainBullets = 1; + } + } + if (params.type === 'progressbar' && params.progressbarOpposite) { + subEl.classList.add(params.progressbarOppositeClass); + } + if (params.clickable) { + subEl.addEventListener('click', onBulletClick); + } + if (!swiper.enabled) { + subEl.classList.add(params.lockClass); + } + }); + } + function destroy() { + const params = swiper.params.pagination; + if (isPaginationDisabled()) return; + let el = swiper.pagination.el; + if (el) { + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.classList.remove(params.hiddenClass); + subEl.classList.remove(params.modifierClass + params.type); + subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + if (params.clickable) { + subEl.classList.remove(...(params.clickableClass || '').split(' ')); + subEl.removeEventListener('click', onBulletClick); + } + }); + } + if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' '))); + } + on('changeDirection', () => { + if (!swiper.pagination || !swiper.pagination.el) return; + const params = swiper.params.pagination; + let { + el + } = swiper.pagination; + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.classList.remove(params.horizontalClass, params.verticalClass); + subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + }); + }); + on('init', () => { + if (swiper.params.pagination.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + render(); + update(); + } + }); + on('activeIndexChange', () => { + if (typeof swiper.snapIndex === 'undefined') { + update(); + } + }); + on('snapIndexChange', () => { + update(); + }); + on('snapGridLengthChange', () => { + render(); + update(); + }); + on('destroy', () => { + destroy(); + }); + on('enable disable', () => { + let { + el + } = swiper.pagination; + if (el) { + el = makeElementsArray(el); + el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass)); + } + }); + on('lock unlock', () => { + update(); + }); + on('click', (_s, e) => { + const targetEl = e.target; + const el = makeElementsArray(swiper.pagination.el); + if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) { + if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; + const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass); + if (isHidden === true) { + emit('paginationShow'); + } else { + emit('paginationHide'); + } + el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass)); + } + }); + const enable = () => { + swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass); + let { + el + } = swiper.pagination; + if (el) { + el = makeElementsArray(el); + el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass)); + } + init(); + render(); + update(); + }; + const disable = () => { + swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass); + let { + el + } = swiper.pagination; + if (el) { + el = makeElementsArray(el); + el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass)); + } + destroy(); + }; + Object.assign(swiper.pagination, { + enable, + disable, + render, + update, + init, + destroy + }); +} + +export { Pagination as default }; diff --git a/.output/server/node_modules/swiper/modules/parallax.mjs b/.output/server/node_modules/swiper/modules/parallax.mjs new file mode 100644 index 00000000..1f467ded --- /dev/null +++ b/.output/server/node_modules/swiper/modules/parallax.mjs @@ -0,0 +1,124 @@ +import { e as elementChildren } from '../shared/utils.mjs'; + +function Parallax(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + parallax: { + enabled: false + } + }); + const elementsSelector = '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'; + const setTransform = (el, progress) => { + const { + rtl + } = swiper; + const rtlFactor = rtl ? -1 : 1; + const p = el.getAttribute('data-swiper-parallax') || '0'; + let x = el.getAttribute('data-swiper-parallax-x'); + let y = el.getAttribute('data-swiper-parallax-y'); + const scale = el.getAttribute('data-swiper-parallax-scale'); + const opacity = el.getAttribute('data-swiper-parallax-opacity'); + const rotate = el.getAttribute('data-swiper-parallax-rotate'); + if (x || y) { + x = x || '0'; + y = y || '0'; + } else if (swiper.isHorizontal()) { + x = p; + y = '0'; + } else { + y = p; + x = '0'; + } + if (x.indexOf('%') >= 0) { + x = `${parseInt(x, 10) * progress * rtlFactor}%`; + } else { + x = `${x * progress * rtlFactor}px`; + } + if (y.indexOf('%') >= 0) { + y = `${parseInt(y, 10) * progress}%`; + } else { + y = `${y * progress}px`; + } + if (typeof opacity !== 'undefined' && opacity !== null) { + const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); + el.style.opacity = currentOpacity; + } + let transform = `translate3d(${x}, ${y}, 0px)`; + if (typeof scale !== 'undefined' && scale !== null) { + const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); + transform += ` scale(${currentScale})`; + } + if (rotate && typeof rotate !== 'undefined' && rotate !== null) { + const currentRotate = rotate * progress * -1; + transform += ` rotate(${currentRotate}deg)`; + } + el.style.transform = transform; + }; + const setTranslate = () => { + const { + el, + slides, + progress, + snapGrid, + isElement + } = swiper; + const elements = elementChildren(el, elementsSelector); + if (swiper.isElement) { + elements.push(...elementChildren(swiper.hostEl, elementsSelector)); + } + elements.forEach(subEl => { + setTransform(subEl, progress); + }); + slides.forEach((slideEl, slideIndex) => { + let slideProgress = slideEl.progress; + if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { + slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); + } + slideProgress = Math.min(Math.max(slideProgress, -1), 1); + slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl => { + setTransform(subEl, slideProgress); + }); + }); + }; + const setTransition = function (duration) { + if (duration === void 0) { + duration = swiper.params.speed; + } + const { + el, + hostEl + } = swiper; + const elements = [...el.querySelectorAll(elementsSelector)]; + if (swiper.isElement) { + elements.push(...hostEl.querySelectorAll(elementsSelector)); + } + elements.forEach(parallaxEl => { + let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration; + if (duration === 0) parallaxDuration = 0; + parallaxEl.style.transitionDuration = `${parallaxDuration}ms`; + }); + }; + on('beforeInit', () => { + if (!swiper.params.parallax.enabled) return; + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + }); + on('init', () => { + if (!swiper.params.parallax.enabled) return; + setTranslate(); + }); + on('setTranslate', () => { + if (!swiper.params.parallax.enabled) return; + setTranslate(); + }); + on('setTransition', (_swiper, duration) => { + if (!swiper.params.parallax.enabled) return; + setTransition(duration); + }); +} + +export { Parallax as default }; diff --git a/.output/server/node_modules/swiper/modules/scrollbar.mjs b/.output/server/node_modules/swiper/modules/scrollbar.mjs new file mode 100644 index 00000000..465be50f --- /dev/null +++ b/.output/server/node_modules/swiper/modules/scrollbar.mjs @@ -0,0 +1,366 @@ +import { g as getDocument } from '../shared/ssr-window.esm.mjs'; +import { m as makeElementsArray, j as classesToTokens, c as createElement, n as nextTick, d as elementOffset } from '../shared/utils.mjs'; +import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs'; +import { c as classesToSelector } from '../shared/classes-to-selector.mjs'; + +function Scrollbar(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const document = getDocument(); + let isTouched = false; + let timeout = null; + let dragTimeout = null; + let dragStartPos; + let dragSize; + let trackSize; + let divider; + extendParams({ + scrollbar: { + el: null, + dragSize: 'auto', + hide: false, + draggable: false, + snapOnRelease: true, + lockClass: 'swiper-scrollbar-lock', + dragClass: 'swiper-scrollbar-drag', + scrollbarDisabledClass: 'swiper-scrollbar-disabled', + horizontalClass: `swiper-scrollbar-horizontal`, + verticalClass: `swiper-scrollbar-vertical` + } + }); + swiper.scrollbar = { + el: null, + dragEl: null + }; + function setTranslate() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + const { + scrollbar, + rtlTranslate: rtl + } = swiper; + const { + dragEl, + el + } = scrollbar; + const params = swiper.params.scrollbar; + const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress; + let newSize = dragSize; + let newPos = (trackSize - dragSize) * progress; + if (rtl) { + newPos = -newPos; + if (newPos > 0) { + newSize = dragSize - newPos; + newPos = 0; + } else if (-newPos + dragSize > trackSize) { + newSize = trackSize + newPos; + } + } else if (newPos < 0) { + newSize = dragSize + newPos; + newPos = 0; + } else if (newPos + dragSize > trackSize) { + newSize = trackSize - newPos; + } + if (swiper.isHorizontal()) { + dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`; + dragEl.style.width = `${newSize}px`; + } else { + dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`; + dragEl.style.height = `${newSize}px`; + } + if (params.hide) { + clearTimeout(timeout); + el.style.opacity = 1; + timeout = setTimeout(() => { + el.style.opacity = 0; + el.style.transitionDuration = '400ms'; + }, 1000); + } + } + function setTransition(duration) { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`; + } + function updateSize() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + const { + scrollbar + } = swiper; + const { + dragEl, + el + } = scrollbar; + dragEl.style.width = ''; + dragEl.style.height = ''; + trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight; + divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); + if (swiper.params.scrollbar.dragSize === 'auto') { + dragSize = trackSize * divider; + } else { + dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); + } + if (swiper.isHorizontal()) { + dragEl.style.width = `${dragSize}px`; + } else { + dragEl.style.height = `${dragSize}px`; + } + if (divider >= 1) { + el.style.display = 'none'; + } else { + el.style.display = ''; + } + if (swiper.params.scrollbar.hide) { + el.style.opacity = 0; + } + if (swiper.params.watchOverflow && swiper.enabled) { + scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass); + } + } + function getPointerPosition(e) { + return swiper.isHorizontal() ? e.clientX : e.clientY; + } + function setDragPosition(e) { + const { + scrollbar, + rtlTranslate: rtl + } = swiper; + const { + el + } = scrollbar; + let positionRatio; + positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); + positionRatio = Math.max(Math.min(positionRatio, 1), 0); + if (rtl) { + positionRatio = 1 - positionRatio; + } + const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; + swiper.updateProgress(position); + swiper.setTranslate(position); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + function onDragStart(e) { + const params = swiper.params.scrollbar; + const { + scrollbar, + wrapperEl + } = swiper; + const { + el, + dragEl + } = scrollbar; + isTouched = true; + dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; + e.preventDefault(); + e.stopPropagation(); + wrapperEl.style.transitionDuration = '100ms'; + dragEl.style.transitionDuration = '100ms'; + setDragPosition(e); + clearTimeout(dragTimeout); + el.style.transitionDuration = '0ms'; + if (params.hide) { + el.style.opacity = 1; + } + if (swiper.params.cssMode) { + swiper.wrapperEl.style['scroll-snap-type'] = 'none'; + } + emit('scrollbarDragStart', e); + } + function onDragMove(e) { + const { + scrollbar, + wrapperEl + } = swiper; + const { + el, + dragEl + } = scrollbar; + if (!isTouched) return; + if (e.preventDefault && e.cancelable) e.preventDefault();else e.returnValue = false; + setDragPosition(e); + wrapperEl.style.transitionDuration = '0ms'; + el.style.transitionDuration = '0ms'; + dragEl.style.transitionDuration = '0ms'; + emit('scrollbarDragMove', e); + } + function onDragEnd(e) { + const params = swiper.params.scrollbar; + const { + scrollbar, + wrapperEl + } = swiper; + const { + el + } = scrollbar; + if (!isTouched) return; + isTouched = false; + if (swiper.params.cssMode) { + swiper.wrapperEl.style['scroll-snap-type'] = ''; + wrapperEl.style.transitionDuration = ''; + } + if (params.hide) { + clearTimeout(dragTimeout); + dragTimeout = nextTick(() => { + el.style.opacity = 0; + el.style.transitionDuration = '400ms'; + }, 1000); + } + emit('scrollbarDragEnd', e); + if (params.snapOnRelease) { + swiper.slideToClosest(); + } + } + function events(method) { + const { + scrollbar, + params + } = swiper; + const el = scrollbar.el; + if (!el) return; + const target = el; + const activeListener = params.passiveListeners ? { + passive: false, + capture: false + } : false; + const passiveListener = params.passiveListeners ? { + passive: true, + capture: false + } : false; + if (!target) return; + const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; + target[eventMethod]('pointerdown', onDragStart, activeListener); + document[eventMethod]('pointermove', onDragMove, activeListener); + document[eventMethod]('pointerup', onDragEnd, passiveListener); + } + function enableDraggable() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + events('on'); + } + function disableDraggable() { + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; + events('off'); + } + function init() { + const { + scrollbar, + el: swiperEl + } = swiper; + swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { + el: 'swiper-scrollbar' + }); + const params = swiper.params.scrollbar; + if (!params.el) return; + let el; + if (typeof params.el === 'string' && swiper.isElement) { + el = swiper.el.querySelector(params.el); + } + if (!el && typeof params.el === 'string') { + el = document.querySelectorAll(params.el); + if (!el.length) return; + } else if (!el) { + el = params.el; + } + if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) { + el = swiperEl.querySelector(params.el); + } + if (el.length > 0) el = el[0]; + el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + let dragEl; + if (el) { + dragEl = el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass)); + if (!dragEl) { + dragEl = createElement('div', swiper.params.scrollbar.dragClass); + el.append(dragEl); + } + } + Object.assign(scrollbar, { + el, + dragEl + }); + if (params.draggable) { + enableDraggable(); + } + if (el) { + el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); + } + } + function destroy() { + const params = swiper.params.scrollbar; + const el = swiper.scrollbar.el; + if (el) { + el.classList.remove(...classesToTokens(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass)); + } + disableDraggable(); + } + on('changeDirection', () => { + if (!swiper.scrollbar || !swiper.scrollbar.el) return; + const params = swiper.params.scrollbar; + let { + el + } = swiper.scrollbar; + el = makeElementsArray(el); + el.forEach(subEl => { + subEl.classList.remove(params.horizontalClass, params.verticalClass); + subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); + }); + }); + on('init', () => { + if (swiper.params.scrollbar.enabled === false) { + // eslint-disable-next-line + disable(); + } else { + init(); + updateSize(); + setTranslate(); + } + }); + on('update resize observerUpdate lock unlock changeDirection', () => { + updateSize(); + }); + on('setTranslate', () => { + setTranslate(); + }); + on('setTransition', (_s, duration) => { + setTransition(duration); + }); + on('enable disable', () => { + const { + el + } = swiper.scrollbar; + if (el) { + el.classList[swiper.enabled ? 'remove' : 'add'](...classesToTokens(swiper.params.scrollbar.lockClass)); + } + }); + on('destroy', () => { + destroy(); + }); + const enable = () => { + swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); + if (swiper.scrollbar.el) { + swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); + } + init(); + updateSize(); + setTranslate(); + }; + const disable = () => { + swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); + if (swiper.scrollbar.el) { + swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass)); + } + destroy(); + }; + Object.assign(swiper.scrollbar, { + enable, + disable, + updateSize, + setTranslate, + init, + destroy + }); +} + +export { Scrollbar as default }; diff --git a/.output/server/node_modules/swiper/modules/thumbs.mjs b/.output/server/node_modules/swiper/modules/thumbs.mjs new file mode 100644 index 00000000..25570603 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/thumbs.mjs @@ -0,0 +1,197 @@ +import { g as getDocument } from '../shared/ssr-window.esm.mjs'; +import { o as isObject, e as elementChildren } from '../shared/utils.mjs'; + +function Thumb(_ref) { + let { + swiper, + extendParams, + on + } = _ref; + extendParams({ + thumbs: { + swiper: null, + multipleActiveThumbs: true, + autoScrollOffset: 0, + slideThumbActiveClass: 'swiper-slide-thumb-active', + thumbsContainerClass: 'swiper-thumbs' + } + }); + let initialized = false; + let swiperCreated = false; + swiper.thumbs = { + swiper: null + }; + function onThumbClick() { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + const clickedIndex = thumbsSwiper.clickedIndex; + const clickedSlide = thumbsSwiper.clickedSlide; + if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return; + if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; + let slideToIndex; + if (thumbsSwiper.params.loop) { + slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); + } else { + slideToIndex = clickedIndex; + } + if (swiper.params.loop) { + swiper.slideToLoop(slideToIndex); + } else { + swiper.slideTo(slideToIndex); + } + } + function init() { + const { + thumbs: thumbsParams + } = swiper.params; + if (initialized) return false; + initialized = true; + const SwiperClass = swiper.constructor; + if (thumbsParams.swiper instanceof SwiperClass) { + if (thumbsParams.swiper.destroyed) { + initialized = false; + return false; + } + swiper.thumbs.swiper = thumbsParams.swiper; + Object.assign(swiper.thumbs.swiper.originalParams, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + Object.assign(swiper.thumbs.swiper.params, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + swiper.thumbs.swiper.update(); + } else if (isObject(thumbsParams.swiper)) { + const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); + Object.assign(thumbsSwiperParams, { + watchSlidesProgress: true, + slideToClickedSlide: false + }); + swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); + swiperCreated = true; + } + swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass); + swiper.thumbs.swiper.on('tap', onThumbClick); + return true; + } + function update(initial) { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; + + // Activate thumbs + let thumbsToActivate = 1; + const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; + if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { + thumbsToActivate = swiper.params.slidesPerView; + } + if (!swiper.params.thumbs.multipleActiveThumbs) { + thumbsToActivate = 1; + } + thumbsToActivate = Math.floor(thumbsToActivate); + thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass)); + if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { + for (let i = 0; i < thumbsToActivate; i += 1) { + elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => { + slideEl.classList.add(thumbActiveClass); + }); + } + } else { + for (let i = 0; i < thumbsToActivate; i += 1) { + if (thumbsSwiper.slides[swiper.realIndex + i]) { + thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass); + } + } + } + const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; + const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; + if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { + const currentThumbsIndex = thumbsSwiper.activeIndex; + let newThumbsIndex; + let direction; + if (thumbsSwiper.params.loop) { + const newThumbsSlide = thumbsSwiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`); + newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide); + direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; + } else { + newThumbsIndex = swiper.realIndex; + direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; + } + if (useOffset) { + newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; + } + if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { + if (thumbsSwiper.params.centeredSlides) { + if (newThumbsIndex > currentThumbsIndex) { + newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; + } else { + newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; + } + } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ; + thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); + } + } + } + on('beforeInit', () => { + const { + thumbs + } = swiper.params; + if (!thumbs || !thumbs.swiper) return; + if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) { + const document = getDocument(); + const getThumbsElementAndInit = () => { + const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper; + if (thumbsElement && thumbsElement.swiper) { + thumbs.swiper = thumbsElement.swiper; + init(); + update(true); + } else if (thumbsElement) { + const eventName = `${swiper.params.eventsPrefix}init`; + const onThumbsSwiper = e => { + thumbs.swiper = e.detail[0]; + thumbsElement.removeEventListener(eventName, onThumbsSwiper); + init(); + update(true); + thumbs.swiper.update(); + swiper.update(); + }; + thumbsElement.addEventListener(eventName, onThumbsSwiper); + } + return thumbsElement; + }; + const watchForThumbsToAppear = () => { + if (swiper.destroyed) return; + const thumbsElement = getThumbsElementAndInit(); + if (!thumbsElement) { + requestAnimationFrame(watchForThumbsToAppear); + } + }; + requestAnimationFrame(watchForThumbsToAppear); + } else { + init(); + update(true); + } + }); + on('slideChange update resize observerUpdate', () => { + update(); + }); + on('setTransition', (_s, duration) => { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + thumbsSwiper.setTransition(duration); + }); + on('beforeDestroy', () => { + const thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper || thumbsSwiper.destroyed) return; + if (swiperCreated) { + thumbsSwiper.destroy(); + } + }); + Object.assign(swiper.thumbs, { + init, + update + }); +} + +export { Thumb as default }; diff --git a/.output/server/node_modules/swiper/modules/virtual.mjs b/.output/server/node_modules/swiper/modules/virtual.mjs new file mode 100644 index 00000000..3691825a --- /dev/null +++ b/.output/server/node_modules/swiper/modules/virtual.mjs @@ -0,0 +1,349 @@ +import { g as getDocument } from '../shared/ssr-window.esm.mjs'; +import { a as setCSSProperty, e as elementChildren, s as setInnerHTML, c as createElement } from '../shared/utils.mjs'; + +function Virtual(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + extendParams({ + virtual: { + enabled: false, + slides: [], + cache: true, + renderSlide: null, + renderExternal: null, + renderExternalUpdate: true, + addSlidesBefore: 0, + addSlidesAfter: 0 + } + }); + let cssModeTimeout; + const document = getDocument(); + swiper.virtual = { + cache: {}, + from: undefined, + to: undefined, + slides: [], + offset: 0, + slidesGrid: [] + }; + const tempDOM = document.createElement('div'); + function renderSlide(slide, index) { + const params = swiper.params.virtual; + if (params.cache && swiper.virtual.cache[index]) { + return swiper.virtual.cache[index]; + } + // eslint-disable-next-line + let slideEl; + if (params.renderSlide) { + slideEl = params.renderSlide.call(swiper, slide, index); + if (typeof slideEl === 'string') { + setInnerHTML(tempDOM, slideEl); + slideEl = tempDOM.children[0]; + } + } else if (swiper.isElement) { + slideEl = createElement('swiper-slide'); + } else { + slideEl = createElement('div', swiper.params.slideClass); + } + slideEl.setAttribute('data-swiper-slide-index', index); + if (!params.renderSlide) { + setInnerHTML(slideEl, slide); + } + if (params.cache) { + swiper.virtual.cache[index] = slideEl; + } + return slideEl; + } + function update(force, beforeInit, forceActiveIndex) { + const { + slidesPerView, + slidesPerGroup, + centeredSlides, + loop: isLoop, + initialSlide + } = swiper.params; + if (beforeInit && !isLoop && initialSlide > 0) { + return; + } + const { + addSlidesBefore, + addSlidesAfter + } = swiper.params.virtual; + const { + from: previousFrom, + to: previousTo, + slides, + slidesGrid: previousSlidesGrid, + offset: previousOffset + } = swiper.virtual; + if (!swiper.params.cssMode) { + swiper.updateActiveIndex(); + } + const activeIndex = typeof forceActiveIndex === 'undefined' ? swiper.activeIndex || 0 : forceActiveIndex; + let offsetProp; + if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; + let slidesAfter; + let slidesBefore; + if (centeredSlides) { + slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; + slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; + } else { + slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; + slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore; + } + let from = activeIndex - slidesBefore; + let to = activeIndex + slidesAfter; + if (!isLoop) { + from = Math.max(from, 0); + to = Math.min(to, slides.length - 1); + } + let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); + if (isLoop && activeIndex >= slidesBefore) { + from -= slidesBefore; + if (!centeredSlides) offset += swiper.slidesGrid[0]; + } else if (isLoop && activeIndex < slidesBefore) { + from = -slidesBefore; + if (centeredSlides) offset += swiper.slidesGrid[0]; + } + Object.assign(swiper.virtual, { + from, + to, + offset, + slidesGrid: swiper.slidesGrid, + slidesBefore, + slidesAfter + }); + function onRendered() { + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + emit('virtualUpdate'); + } + if (previousFrom === from && previousTo === to && !force) { + if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { + swiper.slides.forEach(slideEl => { + slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; + }); + } + swiper.updateProgress(); + emit('virtualUpdate'); + return; + } + if (swiper.params.virtual.renderExternal) { + swiper.params.virtual.renderExternal.call(swiper, { + offset, + from, + to, + slides: function getSlides() { + const slidesToRender = []; + for (let i = from; i <= to; i += 1) { + slidesToRender.push(slides[i]); + } + return slidesToRender; + }() + }); + if (swiper.params.virtual.renderExternalUpdate) { + onRendered(); + } else { + emit('virtualUpdate'); + } + return; + } + const prependIndexes = []; + const appendIndexes = []; + const getSlideIndex = index => { + let slideIndex = index; + if (index < 0) { + slideIndex = slides.length + index; + } else if (slideIndex >= slides.length) { + // eslint-disable-next-line + slideIndex = slideIndex - slides.length; + } + return slideIndex; + }; + if (force) { + swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl => { + slideEl.remove(); + }); + } else { + for (let i = previousFrom; i <= previousTo; i += 1) { + if (i < from || i > to) { + const slideIndex = getSlideIndex(i); + swiper.slides.filter(el => el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl => { + slideEl.remove(); + }); + } + } + } + const loopFrom = isLoop ? -slides.length : 0; + const loopTo = isLoop ? slides.length * 2 : slides.length; + for (let i = loopFrom; i < loopTo; i += 1) { + if (i >= from && i <= to) { + const slideIndex = getSlideIndex(i); + if (typeof previousTo === 'undefined' || force) { + appendIndexes.push(slideIndex); + } else { + if (i > previousTo) appendIndexes.push(slideIndex); + if (i < previousFrom) prependIndexes.push(slideIndex); + } + } + } + appendIndexes.forEach(index => { + swiper.slidesEl.append(renderSlide(slides[index], index)); + }); + if (isLoop) { + for (let i = prependIndexes.length - 1; i >= 0; i -= 1) { + const index = prependIndexes[i]; + swiper.slidesEl.prepend(renderSlide(slides[index], index)); + } + } else { + prependIndexes.sort((a, b) => b - a); + prependIndexes.forEach(index => { + swiper.slidesEl.prepend(renderSlide(slides[index], index)); + }); + } + elementChildren(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => { + slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`; + }); + onRendered(); + } + function appendSlide(slides) { + if (typeof slides === 'object' && 'length' in slides) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) swiper.virtual.slides.push(slides[i]); + } + } else { + swiper.virtual.slides.push(slides); + } + update(true); + } + function prependSlide(slides) { + const activeIndex = swiper.activeIndex; + let newActiveIndex = activeIndex + 1; + let numberOfNewSlides = 1; + if (Array.isArray(slides)) { + for (let i = 0; i < slides.length; i += 1) { + if (slides[i]) swiper.virtual.slides.unshift(slides[i]); + } + newActiveIndex = activeIndex + slides.length; + numberOfNewSlides = slides.length; + } else { + swiper.virtual.slides.unshift(slides); + } + if (swiper.params.virtual.cache) { + const cache = swiper.virtual.cache; + const newCache = {}; + Object.keys(cache).forEach(cachedIndex => { + const cachedEl = cache[cachedIndex]; + const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index'); + if (cachedElIndex) { + cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); + } + newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl; + }); + swiper.virtual.cache = newCache; + } + update(true); + swiper.slideTo(newActiveIndex, 0); + } + function removeSlide(slidesIndexes) { + if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; + let activeIndex = swiper.activeIndex; + if (Array.isArray(slidesIndexes)) { + for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { + if (swiper.params.virtual.cache) { + delete swiper.virtual.cache[slidesIndexes[i]]; + // shift cache indexes + Object.keys(swiper.virtual.cache).forEach(key => { + if (key > slidesIndexes) { + swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; + swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); + delete swiper.virtual.cache[key]; + } + }); + } + swiper.virtual.slides.splice(slidesIndexes[i], 1); + if (slidesIndexes[i] < activeIndex) activeIndex -= 1; + activeIndex = Math.max(activeIndex, 0); + } + } else { + if (swiper.params.virtual.cache) { + delete swiper.virtual.cache[slidesIndexes]; + // shift cache indexes + Object.keys(swiper.virtual.cache).forEach(key => { + if (key > slidesIndexes) { + swiper.virtual.cache[key - 1] = swiper.virtual.cache[key]; + swiper.virtual.cache[key - 1].setAttribute('data-swiper-slide-index', key - 1); + delete swiper.virtual.cache[key]; + } + }); + } + swiper.virtual.slides.splice(slidesIndexes, 1); + if (slidesIndexes < activeIndex) activeIndex -= 1; + activeIndex = Math.max(activeIndex, 0); + } + update(true); + swiper.slideTo(activeIndex, 0); + } + function removeAllSlides() { + swiper.virtual.slides = []; + if (swiper.params.virtual.cache) { + swiper.virtual.cache = {}; + } + update(true); + swiper.slideTo(0, 0); + } + on('beforeInit', () => { + if (!swiper.params.virtual.enabled) return; + let domSlidesAssigned; + if (typeof swiper.passedParams.virtual.slides === 'undefined') { + const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`)); + if (slides && slides.length) { + swiper.virtual.slides = [...slides]; + domSlidesAssigned = true; + slides.forEach((slideEl, slideIndex) => { + slideEl.setAttribute('data-swiper-slide-index', slideIndex); + swiper.virtual.cache[slideIndex] = slideEl; + slideEl.remove(); + }); + } + } + if (!domSlidesAssigned) { + swiper.virtual.slides = swiper.params.virtual.slides; + } + swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + update(false, true); + }); + on('setTranslate', () => { + if (!swiper.params.virtual.enabled) return; + if (swiper.params.cssMode && !swiper._immediateVirtual) { + clearTimeout(cssModeTimeout); + cssModeTimeout = setTimeout(() => { + update(); + }, 100); + } else { + update(); + } + }); + on('init update resize', () => { + if (!swiper.params.virtual.enabled) return; + if (swiper.params.cssMode) { + setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); + } + }); + Object.assign(swiper.virtual, { + appendSlide, + prependSlide, + removeSlide, + removeAllSlides, + update + }); +} + +export { Virtual as default }; diff --git a/.output/server/node_modules/swiper/modules/zoom.mjs b/.output/server/node_modules/swiper/modules/zoom.mjs new file mode 100644 index 00000000..02accef1 --- /dev/null +++ b/.output/server/node_modules/swiper/modules/zoom.mjs @@ -0,0 +1,701 @@ +import { a as getWindow } from '../shared/ssr-window.esm.mjs'; +import { e as elementChildren, b as elementParents, d as elementOffset, k as getTranslate } from '../shared/utils.mjs'; + +function Zoom(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const window = getWindow(); + extendParams({ + zoom: { + enabled: false, + limitToOriginalSize: false, + maxRatio: 3, + minRatio: 1, + panOnMouseMove: false, + toggle: true, + containerClass: 'swiper-zoom-container', + zoomedSlideClass: 'swiper-slide-zoomed' + } + }); + swiper.zoom = { + enabled: false + }; + let currentScale = 1; + let isScaling = false; + let isPanningWithMouse = false; + let mousePanStart = { + x: 0, + y: 0 + }; + const mousePanSensitivity = -3; // Negative to invert pan direction + let fakeGestureTouched; + let fakeGestureMoved; + const evCache = []; + const gesture = { + originX: 0, + originY: 0, + slideEl: undefined, + slideWidth: undefined, + slideHeight: undefined, + imageEl: undefined, + imageWrapEl: undefined, + maxRatio: 3 + }; + const image = { + isTouched: undefined, + isMoved: undefined, + currentX: undefined, + currentY: undefined, + minX: undefined, + minY: undefined, + maxX: undefined, + maxY: undefined, + width: undefined, + height: undefined, + startX: undefined, + startY: undefined, + touchesStart: {}, + touchesCurrent: {} + }; + const velocity = { + x: undefined, + y: undefined, + prevPositionX: undefined, + prevPositionY: undefined, + prevTime: undefined + }; + let scale = 1; + Object.defineProperty(swiper.zoom, 'scale', { + get() { + return scale; + }, + set(value) { + if (scale !== value) { + const imageEl = gesture.imageEl; + const slideEl = gesture.slideEl; + emit('zoomChange', value, imageEl, slideEl); + } + scale = value; + } + }); + function getDistanceBetweenTouches() { + if (evCache.length < 2) return 1; + const x1 = evCache[0].pageX; + const y1 = evCache[0].pageY; + const x2 = evCache[1].pageX; + const y2 = evCache[1].pageY; + const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); + return distance; + } + function getMaxRatio() { + const params = swiper.params.zoom; + const maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio; + if (params.limitToOriginalSize && gesture.imageEl && gesture.imageEl.naturalWidth) { + const imageMaxRatio = gesture.imageEl.naturalWidth / gesture.imageEl.offsetWidth; + return Math.min(imageMaxRatio, maxRatio); + } + return maxRatio; + } + function getScaleOrigin() { + if (evCache.length < 2) return { + x: null, + y: null + }; + const box = gesture.imageEl.getBoundingClientRect(); + return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x - window.scrollX) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y - window.scrollY) / currentScale]; + } + function getSlideSelector() { + return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; + } + function eventWithinSlide(e) { + const slideSelector = getSlideSelector(); + if (e.target.matches(slideSelector)) return true; + if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true; + return false; + } + function eventWithinZoomContainer(e) { + const selector = `.${swiper.params.zoom.containerClass}`; + if (e.target.matches(selector)) return true; + if ([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true; + return false; + } + + // Events + function onGestureStart(e) { + if (e.pointerType === 'mouse') { + evCache.splice(0, evCache.length); + } + if (!eventWithinSlide(e)) return; + const params = swiper.params.zoom; + fakeGestureTouched = false; + fakeGestureMoved = false; + evCache.push(e); + if (evCache.length < 2) { + return; + } + fakeGestureTouched = true; + gesture.scaleStart = getDistanceBetweenTouches(); + if (!gesture.slideEl) { + gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); + if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex]; + let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); + if (imageEl) { + imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; + } + gesture.imageEl = imageEl; + if (imageEl) { + gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; + } else { + gesture.imageWrapEl = undefined; + } + if (!gesture.imageWrapEl) { + gesture.imageEl = undefined; + return; + } + gesture.maxRatio = getMaxRatio(); + } + if (gesture.imageEl) { + const [originX, originY] = getScaleOrigin(); + gesture.originX = originX; + gesture.originY = originY; + gesture.imageEl.style.transitionDuration = '0ms'; + } + isScaling = true; + } + function onGestureChange(e) { + if (!eventWithinSlide(e)) return; + const params = swiper.params.zoom; + const zoom = swiper.zoom; + const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); + if (pointerIndex >= 0) evCache[pointerIndex] = e; + if (evCache.length < 2) { + return; + } + fakeGestureMoved = true; + gesture.scaleMove = getDistanceBetweenTouches(); + if (!gesture.imageEl) { + return; + } + zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; + if (zoom.scale > gesture.maxRatio) { + zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; + } + if (zoom.scale < params.minRatio) { + zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; + } + gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; + } + function onGestureEnd(e) { + if (!eventWithinSlide(e)) return; + if (e.pointerType === 'mouse' && e.type === 'pointerout') return; + const params = swiper.params.zoom; + const zoom = swiper.zoom; + const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId); + if (pointerIndex >= 0) evCache.splice(pointerIndex, 1); + if (!fakeGestureTouched || !fakeGestureMoved) { + return; + } + fakeGestureTouched = false; + fakeGestureMoved = false; + if (!gesture.imageEl) return; + zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); + gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`; + gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; + currentScale = zoom.scale; + isScaling = false; + if (zoom.scale > 1 && gesture.slideEl) { + gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); + } else if (zoom.scale <= 1 && gesture.slideEl) { + gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); + } + if (zoom.scale === 1) { + gesture.originX = 0; + gesture.originY = 0; + gesture.slideEl = undefined; + } + } + let allowTouchMoveTimeout; + function allowTouchMove() { + swiper.touchEventsData.preventTouchMoveFromPointerMove = false; + } + function preventTouchMove() { + clearTimeout(allowTouchMoveTimeout); + swiper.touchEventsData.preventTouchMoveFromPointerMove = true; + allowTouchMoveTimeout = setTimeout(() => { + if (swiper.destroyed) return; + allowTouchMove(); + }); + } + function onTouchStart(e) { + const device = swiper.device; + if (!gesture.imageEl) return; + if (image.isTouched) return; + if (device.android && e.cancelable) e.preventDefault(); + image.isTouched = true; + const event = evCache.length > 0 ? evCache[0] : e; + image.touchesStart.x = event.pageX; + image.touchesStart.y = event.pageY; + } + function onTouchMove(e) { + const isMouseEvent = e.pointerType === 'mouse'; + const isMousePan = isMouseEvent && swiper.params.zoom.panOnMouseMove; + if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) { + return; + } + const zoom = swiper.zoom; + if (!gesture.imageEl) { + return; + } + if (!image.isTouched || !gesture.slideEl) { + if (isMousePan) onMouseMove(e); + return; + } + if (isMousePan) { + onMouseMove(e); + return; + } + if (!image.isMoved) { + image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; + image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; + image.startX = getTranslate(gesture.imageWrapEl, 'x') || 0; + image.startY = getTranslate(gesture.imageWrapEl, 'y') || 0; + gesture.slideWidth = gesture.slideEl.offsetWidth; + gesture.slideHeight = gesture.slideEl.offsetHeight; + gesture.imageWrapEl.style.transitionDuration = '0ms'; + } + // Define if we need image drag + const scaledWidth = image.width * zoom.scale; + const scaledHeight = image.height * zoom.scale; + image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); + image.maxX = -image.minX; + image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); + image.maxY = -image.minY; + image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX; + image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY; + const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y)); + if (touchesDiff > 5) { + swiper.allowClick = false; + } + if (!image.isMoved && !isScaling) { + if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { + image.isTouched = false; + allowTouchMove(); + return; + } + if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { + image.isTouched = false; + allowTouchMove(); + return; + } + } + if (e.cancelable) { + e.preventDefault(); + } + e.stopPropagation(); + preventTouchMove(); + image.isMoved = true; + const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio); + const { + originX, + originY + } = gesture; + image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2); + image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2); + if (image.currentX < image.minX) { + image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; + } + if (image.currentX > image.maxX) { + image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; + } + if (image.currentY < image.minY) { + image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; + } + if (image.currentY > image.maxY) { + image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; + } + + // Velocity + if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; + if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; + if (!velocity.prevTime) velocity.prevTime = Date.now(); + velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; + velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; + if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; + if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; + velocity.prevPositionX = image.touchesCurrent.x; + velocity.prevPositionY = image.touchesCurrent.y; + velocity.prevTime = Date.now(); + gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; + } + function onTouchEnd() { + const zoom = swiper.zoom; + evCache.length = 0; + if (!gesture.imageEl) return; + if (!image.isTouched || !image.isMoved) { + image.isTouched = false; + image.isMoved = false; + return; + } + image.isTouched = false; + image.isMoved = false; + let momentumDurationX = 300; + let momentumDurationY = 300; + const momentumDistanceX = velocity.x * momentumDurationX; + const newPositionX = image.currentX + momentumDistanceX; + const momentumDistanceY = velocity.y * momentumDurationY; + const newPositionY = image.currentY + momentumDistanceY; + + // Fix duration + if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); + if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); + const momentumDuration = Math.max(momentumDurationX, momentumDurationY); + image.currentX = newPositionX; + image.currentY = newPositionY; + // Define if we need image drag + const scaledWidth = image.width * zoom.scale; + const scaledHeight = image.height * zoom.scale; + image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); + image.maxX = -image.minX; + image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); + image.maxY = -image.minY; + image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); + image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); + gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`; + gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`; + } + function onTransitionEnd() { + const zoom = swiper.zoom; + if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) { + if (gesture.imageEl) { + gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; + } + if (gesture.imageWrapEl) { + gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; + } + gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`); + zoom.scale = 1; + currentScale = 1; + gesture.slideEl = undefined; + gesture.imageEl = undefined; + gesture.imageWrapEl = undefined; + gesture.originX = 0; + gesture.originY = 0; + } + } + function onMouseMove(e) { + // Only pan if zoomed in and mouse panning is enabled + if (currentScale <= 1 || !gesture.imageWrapEl) return; + if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return; + const currentTransform = window.getComputedStyle(gesture.imageWrapEl).transform; + const matrix = new window.DOMMatrix(currentTransform); + if (!isPanningWithMouse) { + isPanningWithMouse = true; + mousePanStart.x = e.clientX; + mousePanStart.y = e.clientY; + image.startX = matrix.e; + image.startY = matrix.f; + image.width = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; + image.height = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; + gesture.slideWidth = gesture.slideEl.offsetWidth; + gesture.slideHeight = gesture.slideEl.offsetHeight; + return; + } + const deltaX = (e.clientX - mousePanStart.x) * mousePanSensitivity; + const deltaY = (e.clientY - mousePanStart.y) * mousePanSensitivity; + const scaledWidth = image.width * currentScale; + const scaledHeight = image.height * currentScale; + const slideWidth = gesture.slideWidth; + const slideHeight = gesture.slideHeight; + const minX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); + const maxX = -minX; + const minY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); + const maxY = -minY; + const newX = Math.max(Math.min(image.startX + deltaX, maxX), minX); + const newY = Math.max(Math.min(image.startY + deltaY, maxY), minY); + gesture.imageWrapEl.style.transitionDuration = '0ms'; + gesture.imageWrapEl.style.transform = `translate3d(${newX}px, ${newY}px, 0)`; + mousePanStart.x = e.clientX; + mousePanStart.y = e.clientY; + image.startX = newX; + image.startY = newY; + image.currentX = newX; + image.currentY = newY; + } + function zoomIn(e) { + const zoom = swiper.zoom; + const params = swiper.params.zoom; + if (!gesture.slideEl) { + if (e && e.target) { + gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`); + } + if (!gesture.slideEl) { + if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { + gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; + } else { + gesture.slideEl = swiper.slides[swiper.activeIndex]; + } + } + let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); + if (imageEl) { + imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; + } + gesture.imageEl = imageEl; + if (imageEl) { + gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; + } else { + gesture.imageWrapEl = undefined; + } + } + if (!gesture.imageEl || !gesture.imageWrapEl) return; + if (swiper.params.cssMode) { + swiper.wrapperEl.style.overflow = 'hidden'; + swiper.wrapperEl.style.touchAction = 'none'; + } + gesture.slideEl.classList.add(`${params.zoomedSlideClass}`); + let touchX; + let touchY; + let offsetX; + let offsetY; + let diffX; + let diffY; + let translateX; + let translateY; + let imageWidth; + let imageHeight; + let scaledWidth; + let scaledHeight; + let translateMinX; + let translateMinY; + let translateMaxX; + let translateMaxY; + let slideWidth; + let slideHeight; + if (typeof image.touchesStart.x === 'undefined' && e) { + touchX = e.pageX; + touchY = e.pageY; + } else { + touchX = image.touchesStart.x; + touchY = image.touchesStart.y; + } + const prevScale = currentScale; + const forceZoomRatio = typeof e === 'number' ? e : null; + if (currentScale === 1 && forceZoomRatio) { + touchX = undefined; + touchY = undefined; + image.touchesStart.x = undefined; + image.touchesStart.y = undefined; + } + const maxRatio = getMaxRatio(); + zoom.scale = forceZoomRatio || maxRatio; + currentScale = forceZoomRatio || maxRatio; + if (e && !(currentScale === 1 && forceZoomRatio)) { + slideWidth = gesture.slideEl.offsetWidth; + slideHeight = gesture.slideEl.offsetHeight; + offsetX = elementOffset(gesture.slideEl).left + window.scrollX; + offsetY = elementOffset(gesture.slideEl).top + window.scrollY; + diffX = offsetX + slideWidth / 2 - touchX; + diffY = offsetY + slideHeight / 2 - touchY; + imageWidth = gesture.imageEl.offsetWidth || gesture.imageEl.clientWidth; + imageHeight = gesture.imageEl.offsetHeight || gesture.imageEl.clientHeight; + scaledWidth = imageWidth * zoom.scale; + scaledHeight = imageHeight * zoom.scale; + translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); + translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); + translateMaxX = -translateMinX; + translateMaxY = -translateMinY; + if (prevScale > 0 && forceZoomRatio && typeof image.currentX === 'number' && typeof image.currentY === 'number') { + translateX = image.currentX * zoom.scale / prevScale; + translateY = image.currentY * zoom.scale / prevScale; + } else { + translateX = diffX * zoom.scale; + translateY = diffY * zoom.scale; + } + if (translateX < translateMinX) { + translateX = translateMinX; + } + if (translateX > translateMaxX) { + translateX = translateMaxX; + } + if (translateY < translateMinY) { + translateY = translateMinY; + } + if (translateY > translateMaxY) { + translateY = translateMaxY; + } + } else { + translateX = 0; + translateY = 0; + } + if (forceZoomRatio && zoom.scale === 1) { + gesture.originX = 0; + gesture.originY = 0; + } + image.currentX = translateX; + image.currentY = translateY; + gesture.imageWrapEl.style.transitionDuration = '300ms'; + gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`; + gesture.imageEl.style.transitionDuration = '300ms'; + gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`; + } + function zoomOut() { + const zoom = swiper.zoom; + const params = swiper.params.zoom; + if (!gesture.slideEl) { + if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { + gesture.slideEl = elementChildren(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0]; + } else { + gesture.slideEl = swiper.slides[swiper.activeIndex]; + } + let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`); + if (imageEl) { + imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]; + } + gesture.imageEl = imageEl; + if (imageEl) { + gesture.imageWrapEl = elementParents(gesture.imageEl, `.${params.containerClass}`)[0]; + } else { + gesture.imageWrapEl = undefined; + } + } + if (!gesture.imageEl || !gesture.imageWrapEl) return; + if (swiper.params.cssMode) { + swiper.wrapperEl.style.overflow = ''; + swiper.wrapperEl.style.touchAction = ''; + } + zoom.scale = 1; + currentScale = 1; + image.currentX = undefined; + image.currentY = undefined; + image.touchesStart.x = undefined; + image.touchesStart.y = undefined; + gesture.imageWrapEl.style.transitionDuration = '300ms'; + gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)'; + gesture.imageEl.style.transitionDuration = '300ms'; + gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)'; + gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`); + gesture.slideEl = undefined; + gesture.originX = 0; + gesture.originY = 0; + if (swiper.params.zoom.panOnMouseMove) { + mousePanStart = { + x: 0, + y: 0 + }; + if (isPanningWithMouse) { + isPanningWithMouse = false; + image.startX = 0; + image.startY = 0; + } + } + } + + // Toggle Zoom + function zoomToggle(e) { + const zoom = swiper.zoom; + if (zoom.scale && zoom.scale !== 1) { + // Zoom Out + zoomOut(); + } else { + // Zoom In + zoomIn(e); + } + } + function getListeners() { + const passiveListener = swiper.params.passiveListeners ? { + passive: true, + capture: false + } : false; + const activeListenerWithCapture = swiper.params.passiveListeners ? { + passive: false, + capture: true + } : true; + return { + passiveListener, + activeListenerWithCapture + }; + } + + // Attach/Detach Events + function enable() { + const zoom = swiper.zoom; + if (zoom.enabled) return; + zoom.enabled = true; + const { + passiveListener, + activeListenerWithCapture + } = getListeners(); + + // Scale image + swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener); + swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture); + ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { + swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener); + }); + + // Move image + swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture); + } + function disable() { + const zoom = swiper.zoom; + if (!zoom.enabled) return; + zoom.enabled = false; + const { + passiveListener, + activeListenerWithCapture + } = getListeners(); + + // Scale image + swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener); + swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture); + ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => { + swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener); + }); + + // Move image + swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture); + } + on('init', () => { + if (swiper.params.zoom.enabled) { + enable(); + } + }); + on('destroy', () => { + disable(); + }); + on('touchStart', (_s, e) => { + if (!swiper.zoom.enabled) return; + onTouchStart(e); + }); + on('touchEnd', (_s, e) => { + if (!swiper.zoom.enabled) return; + onTouchEnd(); + }); + on('doubleTap', (_s, e) => { + if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { + zoomToggle(e); + } + }); + on('transitionEnd', () => { + if (swiper.zoom.enabled && swiper.params.zoom.enabled) { + onTransitionEnd(); + } + }); + on('slideChange', () => { + if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { + onTransitionEnd(); + } + }); + Object.assign(swiper.zoom, { + enable, + disable, + in: zoomIn, + out: zoomOut, + toggle: zoomToggle + }); +} + +export { Zoom as default }; diff --git a/.output/server/node_modules/swiper/node_modules/vue b/.output/server/node_modules/swiper/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/swiper/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/swiper/package.json b/.output/server/node_modules/swiper/package.json new file mode 100644 index 00000000..a6c96183 --- /dev/null +++ b/.output/server/node_modules/swiper/package.json @@ -0,0 +1,213 @@ +{ + "name": "swiper", + "version": "11.2.10", + "description": "Most modern mobile touch slider and framework with hardware accelerated transitions", + "typings": "swiper.d.ts", + "type": "module", + "main": "./swiper.mjs", + "module": "./swiper.mjs", + "exports": { + ".": { + "types": "./swiper.d.ts", + "default": "./swiper.mjs" + }, + "./effect-utils": { + "types": "./swiper-effect-utils.d.ts", + "default": "./swiper-effect-utils.mjs" + }, + "./core": { + "types": "./swiper.d.ts", + "default": "./swiper.mjs" + }, + "./bundle": { + "types": "./swiper.d.ts", + "default": "./swiper-bundle.mjs" + }, + "./css": "./swiper.css", + "./css/bundle": "./swiper-bundle.css", + "./swiper-bundle.css": "./swiper-bundle.css", + "./css/a11y": "./modules/a11y.css", + "./css/autoplay": "./modules/autoplay.css", + "./css/controller": "./modules/controller.css", + "./css/effect-coverflow": "./modules/effect-coverflow.css", + "./css/effect-cube": "./modules/effect-cube.css", + "./css/effect-fade": "./modules/effect-fade.css", + "./css/effect-flip": "./modules/effect-flip.css", + "./css/effect-creative": "./modules/effect-creative.css", + "./css/effect-cards": "./modules/effect-cards.css", + "./css/free-mode": "./modules/free-mode.css", + "./css/grid": "./modules/grid.css", + "./css/hash-navigation": "./modules/hash-navigation.css", + "./css/history": "./modules/history.css", + "./css/keyboard": "./modules/keyboard.css", + "./css/manipulation": "./modules/manipulation.css", + "./css/mousewheel": "./modules/mousewheel.css", + "./css/navigation": "./modules/navigation.css", + "./css/pagination": "./modules/pagination.css", + "./css/parallax": "./modules/parallax.css", + "./css/scrollbar": "./modules/scrollbar.css", + "./css/thumbs": "./modules/thumbs.css", + "./css/virtual": "./modules/virtual.css", + "./css/zoom": "./modules/zoom.css", + "./less": "./swiper.less", + "./less/a11y": "./modules/a11y.less", + "./less/autoplay": "./modules/autoplay.less", + "./less/controller": "./modules/controller.less", + "./less/effect-coverflow": "./modules/effect-coverflow.less", + "./less/effect-cube": "./modules/effect-cube.less", + "./less/effect-fade": "./modules/effect-fade.less", + "./less/effect-flip": "./modules/effect-flip.less", + "./less/effect-creative": "./modules/effect-creative.less", + "./less/effect-cards": "./modules/effect-cards.less", + "./less/free-mode": "./modules/free-mode.less", + "./less/grid": "./modules/grid.less", + "./less/hash-navigation": "./modules/hash-navigation.less", + "./less/history": "./modules/history.less", + "./less/keyboard": "./modules/keyboard.less", + "./less/manipulation": "./modules/manipulation.less", + "./less/mousewheel": "./modules/mousewheel.less", + "./less/navigation": "./modules/navigation.less", + "./less/pagination": "./modules/pagination.less", + "./less/parallax": "./modules/parallax.less", + "./less/scrollbar": "./modules/scrollbar.less", + "./less/thumbs": "./modules/thumbs.less", + "./less/virtual": "./modules/virtual.less", + "./less/zoom": "./modules/zoom.less", + "./scss": "./swiper.scss", + "./scss/a11y": "./modules/a11y.scss", + "./scss/autoplay": "./modules/autoplay.scss", + "./scss/controller": "./modules/controller.scss", + "./scss/effect-coverflow": "./modules/effect-coverflow.scss", + "./scss/effect-cube": "./modules/effect-cube.scss", + "./scss/effect-fade": "./modules/effect-fade.scss", + "./scss/effect-flip": "./modules/effect-flip.scss", + "./scss/effect-creative": "./modules/effect-creative.scss", + "./scss/effect-cards": "./modules/effect-cards.scss", + "./scss/free-mode": "./modules/free-mode.scss", + "./scss/grid": "./modules/grid.scss", + "./scss/hash-navigation": "./modules/hash-navigation.scss", + "./scss/history": "./modules/history.scss", + "./scss/keyboard": "./modules/keyboard.scss", + "./scss/manipulation": "./modules/manipulation.scss", + "./scss/mousewheel": "./modules/mousewheel.scss", + "./scss/navigation": "./modules/navigation.scss", + "./scss/pagination": "./modules/pagination.scss", + "./scss/parallax": "./modules/parallax.scss", + "./scss/scrollbar": "./modules/scrollbar.scss", + "./scss/thumbs": "./modules/thumbs.scss", + "./scss/vars": "./swiper-vars.scss", + "./scss/virtual": "./modules/virtual.scss", + "./scss/zoom": "./modules/zoom.scss", + "./element": { + "types": "./swiper-element.d.ts", + "default": "./swiper-element.mjs" + }, + "./element/bundle": { + "types": "./swiper-element.d.ts", + "default": "./swiper-element-bundle.mjs" + }, + "./element-bundle": { + "types": "./swiper-element.d.ts", + "default": "./swiper-element-bundle.mjs" + }, + "./element/css/a11y": "./modules/a11y-element.css", + "./element/css/autoplay": "./modules/autoplay-element.css", + "./element/css/controller": "./modules/controller-element.css", + "./element/css/effect-coverflow": "./modules/effect-coverflow-element.css", + "./element/css/effect-cube": "./modules/effect-cube-element.css", + "./element/css/effect-fade": "./modules/effect-fade-element.css", + "./element/css/effect-flip": "./modules/effect-flip-element.css", + "./element/css/effect-creative": "./modules/effect-creative-element.css", + "./element/css/effect-cards": "./modules/effect-cards-element.css", + "./element/css/free-mode": "./modules/free-mode-element.css", + "./element/css/grid": "./modules/grid-element.css", + "./element/css/hash-navigation": "./modules/hash-navigation-element.css", + "./element/css/history": "./modules/history-element.css", + "./element/css/keyboard": "./modules/keyboard-element.css", + "./element/css/manipulation": "./modules/manipulation-element.css", + "./element/css/mousewheel": "./modules/mousewheel-element.css", + "./element/css/navigation": "./modules/navigation-element.css", + "./element/css/pagination": "./modules/pagination-element.css", + "./element/css/parallax": "./modules/parallax-element.css", + "./element/css/scrollbar": "./modules/scrollbar-element.css", + "./element/css/thumbs": "./modules/thumbs-element.css", + "./element/css/virtual": "./modules/virtual-element.css", + "./element/css/zoom": "./modules/zoom-element.css", + "./react": { + "types": "./swiper-react.d.ts", + "default": "./swiper-react.mjs" + }, + "./vue": { + "types": "./swiper-vue.d.ts", + "default": "./swiper-vue.mjs" + }, + "./modules": { + "types": "./types/modules/index.d.ts", + "default": "./modules/index.mjs" + }, + "./types": "./types/index.d.ts", + "./package.json": "./package.json" + }, + "typesVersions": { + "*": { + "modules": [ + "./types/modules/index.d.ts" + ], + "element": [ + "./swiper-element.d.ts" + ], + "element/bundle": [ + "./swiper-element.d.ts" + ], + "react": [ + "./swiper-react.d.ts" + ], + "vue": [ + "./swiper-vue.d.ts" + ] + } + }, + "repository": { + "type": "git", + "url": "https://github.com/nolimits4web/Swiper.git" + }, + "keywords": [ + "swiper", + "swipe", + "slider", + "touch", + "ios", + "mobile", + "cordova", + "phonegap", + "app", + "framework", + "framework7", + "carousel", + "gallery", + "plugin", + "react", + "vue", + "slideshow" + ], + "author": "Vladimir Kharlampidi", + "license": "MIT", + "bugs": { + "url": "https://github.com/nolimits4web/swiper/issues" + }, + "homepage": "https://swiperjs.com", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "engines": { + "node": ">= 4.7.0" + }, + "releaseDate": "June 28, 2025" +} \ No newline at end of file diff --git a/.output/server/node_modules/swiper/shared/classes-to-selector.mjs b/.output/server/node_modules/swiper/shared/classes-to-selector.mjs new file mode 100644 index 00000000..9bfc9063 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/classes-to-selector.mjs @@ -0,0 +1,9 @@ +function classesToSelector(classes) { + if (classes === void 0) { + classes = ''; + } + return `.${classes.trim().replace(/([\.:!+\/()[\]])/g, '\\$1') // eslint-disable-line + .replace(/ /g, '.')}`; +} + +export { classesToSelector as c }; diff --git a/.output/server/node_modules/swiper/shared/create-element-if-not-defined.mjs b/.output/server/node_modules/swiper/shared/create-element-if-not-defined.mjs new file mode 100644 index 00000000..10b283f3 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/create-element-if-not-defined.mjs @@ -0,0 +1,21 @@ +import { e as elementChildren, c as createElement } from './utils.mjs'; + +function createElementIfNotDefined(swiper, originalParams, params, checkProps) { + if (swiper.params.createElements) { + Object.keys(checkProps).forEach(key => { + if (!params[key] && params.auto === true) { + let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0]; + if (!element) { + element = createElement('div', checkProps[key]); + element.className = checkProps[key]; + swiper.el.append(element); + } + params[key] = element; + originalParams[key] = element; + } + }); + } + return params; +} + +export { createElementIfNotDefined as c }; diff --git a/.output/server/node_modules/swiper/shared/create-shadow.mjs b/.output/server/node_modules/swiper/shared/create-shadow.mjs new file mode 100644 index 00000000..2767e701 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/create-shadow.mjs @@ -0,0 +1,14 @@ +import { g as getSlideTransformEl, c as createElement } from './utils.mjs'; + +function createShadow(suffix, slideEl, side) { + const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`; + const shadowContainer = getSlideTransformEl(slideEl); + let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`); + if (!shadowEl) { + shadowEl = createElement('div', shadowClass.split(' ')); + shadowContainer.append(shadowEl); + } + return shadowEl; +} + +export { createShadow as c }; diff --git a/.output/server/node_modules/swiper/shared/effect-init.mjs b/.output/server/node_modules/swiper/shared/effect-init.mjs new file mode 100644 index 00000000..54e60e27 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/effect-init.mjs @@ -0,0 +1,58 @@ +function effectInit(params) { + const { + effect, + swiper, + on, + setTranslate, + setTransition, + overwriteParams, + perspective, + recreateShadows, + getEffectParams + } = params; + on('beforeInit', () => { + if (swiper.params.effect !== effect) return; + swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); + if (perspective && perspective()) { + swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); + } + const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; + Object.assign(swiper.params, overwriteParamsResult); + Object.assign(swiper.originalParams, overwriteParamsResult); + }); + on('setTranslate _virtualUpdated', () => { + if (swiper.params.effect !== effect) return; + setTranslate(); + }); + on('setTransition', (_s, duration) => { + if (swiper.params.effect !== effect) return; + setTransition(duration); + }); + on('transitionEnd', () => { + if (swiper.params.effect !== effect) return; + if (recreateShadows) { + if (!getEffectParams || !getEffectParams().slideShadows) return; + // remove shadows + swiper.slides.forEach(slideEl => { + slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove()); + }); + // create new one + recreateShadows(); + } + }); + let requireUpdateOnVirtual; + on('virtualUpdate', () => { + if (swiper.params.effect !== effect) return; + if (!swiper.slides.length) { + requireUpdateOnVirtual = true; + } + requestAnimationFrame(() => { + if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { + setTranslate(); + requireUpdateOnVirtual = false; + } + }); + }); +} + +export { effectInit as e }; diff --git a/.output/server/node_modules/swiper/shared/effect-target.mjs b/.output/server/node_modules/swiper/shared/effect-target.mjs new file mode 100644 index 00000000..b1a7b3ba --- /dev/null +++ b/.output/server/node_modules/swiper/shared/effect-target.mjs @@ -0,0 +1,12 @@ +import { g as getSlideTransformEl } from './utils.mjs'; + +function effectTarget(effectParams, slideEl) { + const transformEl = getSlideTransformEl(slideEl); + if (transformEl !== slideEl) { + transformEl.style.backfaceVisibility = 'hidden'; + transformEl.style['-webkit-backface-visibility'] = 'hidden'; + } + return transformEl; +} + +export { effectTarget as e }; diff --git a/.output/server/node_modules/swiper/shared/effect-virtual-transition-end.mjs b/.output/server/node_modules/swiper/shared/effect-virtual-transition-end.mjs new file mode 100644 index 00000000..24b3196f --- /dev/null +++ b/.output/server/node_modules/swiper/shared/effect-virtual-transition-end.mjs @@ -0,0 +1,48 @@ +import { l as elementTransitionEnd } from './utils.mjs'; + +function effectVirtualTransitionEnd(_ref) { + let { + swiper, + duration, + transformElements, + allSlides + } = _ref; + const { + activeIndex + } = swiper; + const getSlide = el => { + if (!el.parentElement) { + // assume shadow root + const slide = swiper.slides.find(slideEl => slideEl.shadowRoot && slideEl.shadowRoot === el.parentNode); + return slide; + } + return el.parentElement; + }; + if (swiper.params.virtualTranslate && duration !== 0) { + let eventTriggered = false; + let transitionEndTarget; + if (allSlides) { + transitionEndTarget = transformElements; + } else { + transitionEndTarget = transformElements.filter(transformEl => { + const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl; + return swiper.getSlideIndex(el) === activeIndex; + }); + } + transitionEndTarget.forEach(el => { + elementTransitionEnd(el, () => { + if (eventTriggered) return; + if (!swiper || swiper.destroyed) return; + eventTriggered = true; + swiper.animating = false; + const evt = new window.CustomEvent('transitionend', { + bubbles: true, + cancelable: true + }); + swiper.wrapperEl.dispatchEvent(evt); + }); + }); + } +} + +export { effectVirtualTransitionEnd as e }; diff --git a/.output/server/node_modules/swiper/shared/ssr-window.esm.mjs b/.output/server/node_modules/swiper/shared/ssr-window.esm.mjs new file mode 100644 index 00000000..6d3e164e --- /dev/null +++ b/.output/server/node_modules/swiper/shared/ssr-window.esm.mjs @@ -0,0 +1,146 @@ +/** + * SSR Window 5.0.1 + * Better handling for window object in SSR environment + * https://github.com/nolimits4web/ssr-window + * + * Copyright 2025, Vladimir Kharlampidi + * + * Licensed under MIT + * + * Released on: June 27, 2025 + */ +/* eslint-disable no-param-reassign */ +function isObject(obj) { + return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object; +} +function extend(target, src) { + if (target === void 0) { + target = {}; + } + if (src === void 0) { + src = {}; + } + const noExtend = ['__proto__', 'constructor', 'prototype']; + Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => { + if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { + extend(target[key], src[key]); + } + }); +} +const ssrDocument = { + body: {}, + addEventListener() {}, + removeEventListener() {}, + activeElement: { + blur() {}, + nodeName: '' + }, + querySelector() { + return null; + }, + querySelectorAll() { + return []; + }, + getElementById() { + return null; + }, + createEvent() { + return { + initEvent() {} + }; + }, + createElement() { + return { + children: [], + childNodes: [], + style: {}, + setAttribute() {}, + getElementsByTagName() { + return []; + } + }; + }, + createElementNS() { + return {}; + }, + importNode() { + return null; + }, + location: { + hash: '', + host: '', + hostname: '', + href: '', + origin: '', + pathname: '', + protocol: '', + search: '' + } +}; +function getDocument() { + const doc = typeof document !== 'undefined' ? document : {}; + extend(doc, ssrDocument); + return doc; +} +const ssrWindow = { + document: ssrDocument, + navigator: { + userAgent: '' + }, + location: { + hash: '', + host: '', + hostname: '', + href: '', + origin: '', + pathname: '', + protocol: '', + search: '' + }, + history: { + replaceState() {}, + pushState() {}, + go() {}, + back() {} + }, + CustomEvent: function CustomEvent() { + return this; + }, + addEventListener() {}, + removeEventListener() {}, + getComputedStyle() { + return { + getPropertyValue() { + return ''; + } + }; + }, + Image() {}, + Date() {}, + screen: {}, + setTimeout() {}, + clearTimeout() {}, + matchMedia() { + return {}; + }, + requestAnimationFrame(callback) { + if (typeof setTimeout === 'undefined') { + callback(); + return null; + } + return setTimeout(callback, 0); + }, + cancelAnimationFrame(id) { + if (typeof setTimeout === 'undefined') { + return; + } + clearTimeout(id); + } +}; +function getWindow() { + const win = typeof window !== 'undefined' ? window : {}; + extend(win, ssrWindow); + return win; +} + +export { getWindow as a, getDocument as g }; diff --git a/.output/server/node_modules/swiper/shared/swiper-core.mjs b/.output/server/node_modules/swiper/shared/swiper-core.mjs new file mode 100644 index 00000000..ae3d9872 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/swiper-core.mjs @@ -0,0 +1,3952 @@ +import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs'; +import { b as elementParents, q as elementStyle, e as elementChildren, a as setCSSProperty, h as elementOuterSize, r as elementNextAll, t as elementPrevAll, k as getTranslate, u as animateCSSModeScroll, n as nextTick, v as showWarning, c as createElement, w as elementIsChildOf, f as now, x as extend, i as elementIndex, y as deleteProps } from './utils.mjs'; + +let support; +function calcSupport() { + const window = getWindow(); + const document = getDocument(); + return { + smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style, + touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) + }; +} +function getSupport() { + if (!support) { + support = calcSupport(); + } + return support; +} + +let deviceCached; +function calcDevice(_temp) { + let { + userAgent + } = _temp === void 0 ? {} : _temp; + const support = getSupport(); + const window = getWindow(); + const platform = window.navigator.platform; + const ua = userAgent || window.navigator.userAgent; + const device = { + ios: false, + android: false + }; + const screenWidth = window.screen.width; + const screenHeight = window.screen.height; + const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line + let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); + const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); + const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); + const windows = platform === 'Win32'; + let macos = platform === 'MacIntel'; + + // iPadOs 13 fix + const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; + if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { + ipad = ua.match(/(Version)\/([\d.]+)/); + if (!ipad) ipad = [0, 1, '13_0_0']; + macos = false; + } + + // Android + if (android && !windows) { + device.os = 'android'; + device.android = true; + } + if (ipad || iphone || ipod) { + device.os = 'ios'; + device.ios = true; + } + + // Export object + return device; +} +function getDevice(overrides) { + if (overrides === void 0) { + overrides = {}; + } + if (!deviceCached) { + deviceCached = calcDevice(overrides); + } + return deviceCached; +} + +let browser; +function calcBrowser() { + const window = getWindow(); + const device = getDevice(); + let needPerspectiveFix = false; + function isSafari() { + const ua = window.navigator.userAgent.toLowerCase(); + return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; + } + if (isSafari()) { + const ua = String(window.navigator.userAgent); + if (ua.includes('Version/')) { + const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num)); + needPerspectiveFix = major < 16 || major === 16 && minor < 2; + } + } + const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent); + const isSafariBrowser = isSafari(); + const need3dFix = isSafariBrowser || isWebView && device.ios; + return { + isSafari: needPerspectiveFix || isSafariBrowser, + needPerspectiveFix, + need3dFix, + isWebView + }; +} +function getBrowser() { + if (!browser) { + browser = calcBrowser(); + } + return browser; +} + +function Resize(_ref) { + let { + swiper, + on, + emit + } = _ref; + const window = getWindow(); + let observer = null; + let animationFrame = null; + const resizeHandler = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + emit('beforeResize'); + emit('resize'); + }; + const createObserver = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + observer = new ResizeObserver(entries => { + animationFrame = window.requestAnimationFrame(() => { + const { + width, + height + } = swiper; + let newWidth = width; + let newHeight = height; + entries.forEach(_ref2 => { + let { + contentBoxSize, + contentRect, + target + } = _ref2; + if (target && target !== swiper.el) return; + newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; + newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; + }); + if (newWidth !== width || newHeight !== height) { + resizeHandler(); + } + }); + }); + observer.observe(swiper.el); + }; + const removeObserver = () => { + if (animationFrame) { + window.cancelAnimationFrame(animationFrame); + } + if (observer && observer.unobserve && swiper.el) { + observer.unobserve(swiper.el); + observer = null; + } + }; + const orientationChangeHandler = () => { + if (!swiper || swiper.destroyed || !swiper.initialized) return; + emit('orientationchange'); + }; + on('init', () => { + if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { + createObserver(); + return; + } + window.addEventListener('resize', resizeHandler); + window.addEventListener('orientationchange', orientationChangeHandler); + }); + on('destroy', () => { + removeObserver(); + window.removeEventListener('resize', resizeHandler); + window.removeEventListener('orientationchange', orientationChangeHandler); + }); +} + +function Observer(_ref) { + let { + swiper, + extendParams, + on, + emit + } = _ref; + const observers = []; + const window = getWindow(); + const attach = function (target, options) { + if (options === void 0) { + options = {}; + } + const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; + const observer = new ObserverFunc(mutations => { + // The observerUpdate event should only be triggered + // once despite the number of mutations. Additional + // triggers are redundant and are very costly + if (swiper.__preventObserver__) return; + if (mutations.length === 1) { + emit('observerUpdate', mutations[0]); + return; + } + const observerUpdate = function observerUpdate() { + emit('observerUpdate', mutations[0]); + }; + if (window.requestAnimationFrame) { + window.requestAnimationFrame(observerUpdate); + } else { + window.setTimeout(observerUpdate, 0); + } + }); + observer.observe(target, { + attributes: typeof options.attributes === 'undefined' ? true : options.attributes, + childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList, + characterData: typeof options.characterData === 'undefined' ? true : options.characterData + }); + observers.push(observer); + }; + const init = () => { + if (!swiper.params.observer) return; + if (swiper.params.observeParents) { + const containerParents = elementParents(swiper.hostEl); + for (let i = 0; i < containerParents.length; i += 1) { + attach(containerParents[i]); + } + } + // Observe container + attach(swiper.hostEl, { + childList: swiper.params.observeSlideChildren + }); + + // Observe wrapper + attach(swiper.wrapperEl, { + attributes: false + }); + }; + const destroy = () => { + observers.forEach(observer => { + observer.disconnect(); + }); + observers.splice(0, observers.length); + }; + extendParams({ + observer: false, + observeParents: false, + observeSlideChildren: false + }); + on('init', init); + on('destroy', destroy); +} + +/* eslint-disable no-underscore-dangle */ + +var eventsEmitter = { + on(events, handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + const method = priority ? 'unshift' : 'push'; + events.split(' ').forEach(event => { + if (!self.eventsListeners[event]) self.eventsListeners[event] = []; + self.eventsListeners[event][method](handler); + }); + return self; + }, + once(events, handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + function onceHandler() { + self.off(events, onceHandler); + if (onceHandler.__emitterProxy) { + delete onceHandler.__emitterProxy; + } + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + handler.apply(self, args); + } + onceHandler.__emitterProxy = handler; + return self.on(events, onceHandler, priority); + }, + onAny(handler, priority) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (typeof handler !== 'function') return self; + const method = priority ? 'unshift' : 'push'; + if (self.eventsAnyListeners.indexOf(handler) < 0) { + self.eventsAnyListeners[method](handler); + } + return self; + }, + offAny(handler) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsAnyListeners) return self; + const index = self.eventsAnyListeners.indexOf(handler); + if (index >= 0) { + self.eventsAnyListeners.splice(index, 1); + } + return self; + }, + off(events, handler) { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsListeners) return self; + events.split(' ').forEach(event => { + if (typeof handler === 'undefined') { + self.eventsListeners[event] = []; + } else if (self.eventsListeners[event]) { + self.eventsListeners[event].forEach((eventHandler, index) => { + if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { + self.eventsListeners[event].splice(index, 1); + } + }); + } + }); + return self; + }, + emit() { + const self = this; + if (!self.eventsListeners || self.destroyed) return self; + if (!self.eventsListeners) return self; + let events; + let data; + let context; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + if (typeof args[0] === 'string' || Array.isArray(args[0])) { + events = args[0]; + data = args.slice(1, args.length); + context = self; + } else { + events = args[0].events; + data = args[0].data; + context = args[0].context || self; + } + data.unshift(context); + const eventsArray = Array.isArray(events) ? events : events.split(' '); + eventsArray.forEach(event => { + if (self.eventsAnyListeners && self.eventsAnyListeners.length) { + self.eventsAnyListeners.forEach(eventHandler => { + eventHandler.apply(context, [event, ...data]); + }); + } + if (self.eventsListeners && self.eventsListeners[event]) { + self.eventsListeners[event].forEach(eventHandler => { + eventHandler.apply(context, data); + }); + } + }); + return self; + } +}; + +function updateSize() { + const swiper = this; + let width; + let height; + const el = swiper.el; + if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { + width = swiper.params.width; + } else { + width = el.clientWidth; + } + if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { + height = swiper.params.height; + } else { + height = el.clientHeight; + } + if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { + return; + } + + // Subtract paddings + width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10); + height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10); + if (Number.isNaN(width)) width = 0; + if (Number.isNaN(height)) height = 0; + Object.assign(swiper, { + width, + height, + size: swiper.isHorizontal() ? width : height + }); +} + +function updateSlides() { + const swiper = this; + function getDirectionPropertyValue(node, label) { + return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0); + } + const params = swiper.params; + const { + wrapperEl, + slidesEl, + size: swiperSize, + rtlTranslate: rtl, + wrongRTL + } = swiper; + const isVirtual = swiper.virtual && params.virtual.enabled; + const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; + const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`); + const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; + let snapGrid = []; + const slidesGrid = []; + const slidesSizesGrid = []; + let offsetBefore = params.slidesOffsetBefore; + if (typeof offsetBefore === 'function') { + offsetBefore = params.slidesOffsetBefore.call(swiper); + } + let offsetAfter = params.slidesOffsetAfter; + if (typeof offsetAfter === 'function') { + offsetAfter = params.slidesOffsetAfter.call(swiper); + } + const previousSnapGridLength = swiper.snapGrid.length; + const previousSlidesGridLength = swiper.slidesGrid.length; + let spaceBetween = params.spaceBetween; + let slidePosition = -offsetBefore; + let prevSlideSize = 0; + let index = 0; + if (typeof swiperSize === 'undefined') { + return; + } + if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { + spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; + } else if (typeof spaceBetween === 'string') { + spaceBetween = parseFloat(spaceBetween); + } + swiper.virtualSize = -spaceBetween; + + // reset margins + slides.forEach(slideEl => { + if (rtl) { + slideEl.style.marginLeft = ''; + } else { + slideEl.style.marginRight = ''; + } + slideEl.style.marginBottom = ''; + slideEl.style.marginTop = ''; + }); + + // reset cssMode offsets + if (params.centeredSlides && params.cssMode) { + setCSSProperty(wrapperEl, '--swiper-centered-offset-before', ''); + setCSSProperty(wrapperEl, '--swiper-centered-offset-after', ''); + } + const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; + if (gridEnabled) { + swiper.grid.initSlides(slides); + } else if (swiper.grid) { + swiper.grid.unsetSlides(); + } + + // Calc slides + let slideSize; + const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { + return typeof params.breakpoints[key].slidesPerView !== 'undefined'; + }).length > 0; + for (let i = 0; i < slidesLength; i += 1) { + slideSize = 0; + let slide; + if (slides[i]) slide = slides[i]; + if (gridEnabled) { + swiper.grid.updateSlide(i, slide, slides); + } + if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line + + if (params.slidesPerView === 'auto') { + if (shouldResetSlideSize) { + slides[i].style[swiper.getDirectionLabel('width')] = ``; + } + const slideStyles = getComputedStyle(slide); + const currentTransform = slide.style.transform; + const currentWebKitTransform = slide.style.webkitTransform; + if (currentTransform) { + slide.style.transform = 'none'; + } + if (currentWebKitTransform) { + slide.style.webkitTransform = 'none'; + } + if (params.roundLengths) { + slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true); + } else { + // eslint-disable-next-line + const width = getDirectionPropertyValue(slideStyles, 'width'); + const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); + const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); + const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); + const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); + const boxSizing = slideStyles.getPropertyValue('box-sizing'); + if (boxSizing && boxSizing === 'border-box') { + slideSize = width + marginLeft + marginRight; + } else { + const { + clientWidth, + offsetWidth + } = slide; + slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); + } + } + if (currentTransform) { + slide.style.transform = currentTransform; + } + if (currentWebKitTransform) { + slide.style.webkitTransform = currentWebKitTransform; + } + if (params.roundLengths) slideSize = Math.floor(slideSize); + } else { + slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; + if (params.roundLengths) slideSize = Math.floor(slideSize); + if (slides[i]) { + slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`; + } + } + if (slides[i]) { + slides[i].swiperSlideSize = slideSize; + } + slidesSizesGrid.push(slideSize); + if (params.centeredSlides) { + slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; + if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; + if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; + if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; + if (params.roundLengths) slidePosition = Math.floor(slidePosition); + if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); + slidesGrid.push(slidePosition); + } else { + if (params.roundLengths) slidePosition = Math.floor(slidePosition); + if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); + slidesGrid.push(slidePosition); + slidePosition = slidePosition + slideSize + spaceBetween; + } + swiper.virtualSize += slideSize + spaceBetween; + prevSlideSize = slideSize; + index += 1; + } + swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; + if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { + wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`; + } + if (params.setWrapperSize) { + wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`; + } + if (gridEnabled) { + swiper.grid.updateWrapperSize(slideSize, snapGrid); + } + + // Remove last grid elements depending on width + if (!params.centeredSlides) { + const newSlidesGrid = []; + for (let i = 0; i < snapGrid.length; i += 1) { + let slidesGridItem = snapGrid[i]; + if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); + if (snapGrid[i] <= swiper.virtualSize - swiperSize) { + newSlidesGrid.push(slidesGridItem); + } + } + snapGrid = newSlidesGrid; + if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { + snapGrid.push(swiper.virtualSize - swiperSize); + } + } + if (isVirtual && params.loop) { + const size = slidesSizesGrid[0] + spaceBetween; + if (params.slidesPerGroup > 1) { + const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup); + const groupSize = size * params.slidesPerGroup; + for (let i = 0; i < groups; i += 1) { + snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize); + } + } + for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) { + if (params.slidesPerGroup === 1) { + snapGrid.push(snapGrid[snapGrid.length - 1] + size); + } + slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size); + swiper.virtualSize += size; + } + } + if (snapGrid.length === 0) snapGrid = [0]; + if (spaceBetween !== 0) { + const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight'); + slides.filter((_, slideIndex) => { + if (!params.cssMode || params.loop) return true; + if (slideIndex === slides.length - 1) { + return false; + } + return true; + }).forEach(slideEl => { + slideEl.style[key] = `${spaceBetween}px`; + }); + } + if (params.centeredSlides && params.centeredSlidesBounds) { + let allSlidesSize = 0; + slidesSizesGrid.forEach(slideSizeValue => { + allSlidesSize += slideSizeValue + (spaceBetween || 0); + }); + allSlidesSize -= spaceBetween; + const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0; + snapGrid = snapGrid.map(snap => { + if (snap <= 0) return -offsetBefore; + if (snap > maxSnap) return maxSnap + offsetAfter; + return snap; + }); + } + if (params.centerInsufficientSlides) { + let allSlidesSize = 0; + slidesSizesGrid.forEach(slideSizeValue => { + allSlidesSize += slideSizeValue + (spaceBetween || 0); + }); + allSlidesSize -= spaceBetween; + const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0); + if (allSlidesSize + offsetSize < swiperSize) { + const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2; + snapGrid.forEach((snap, snapIndex) => { + snapGrid[snapIndex] = snap - allSlidesOffset; + }); + slidesGrid.forEach((snap, snapIndex) => { + slidesGrid[snapIndex] = snap + allSlidesOffset; + }); + } + } + Object.assign(swiper, { + slides, + snapGrid, + slidesGrid, + slidesSizesGrid + }); + if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { + setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); + setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); + const addToSnapGrid = -swiper.snapGrid[0]; + const addToSlidesGrid = -swiper.slidesGrid[0]; + swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); + swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); + } + if (slidesLength !== previousSlidesLength) { + swiper.emit('slidesLengthChange'); + } + if (snapGrid.length !== previousSnapGridLength) { + if (swiper.params.watchOverflow) swiper.checkOverflow(); + swiper.emit('snapGridLengthChange'); + } + if (slidesGrid.length !== previousSlidesGridLength) { + swiper.emit('slidesGridLengthChange'); + } + if (params.watchSlidesProgress) { + swiper.updateSlidesOffset(); + } + swiper.emit('slidesUpdated'); + if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { + const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; + const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass); + if (slidesLength <= params.maxBackfaceHiddenSlides) { + if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass); + } else if (hasClassBackfaceClassAdded) { + swiper.el.classList.remove(backFaceHiddenClass); + } + } +} + +function updateAutoHeight(speed) { + const swiper = this; + const activeSlides = []; + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + let newHeight = 0; + let i; + if (typeof speed === 'number') { + swiper.setTransition(speed); + } else if (speed === true) { + swiper.setTransition(swiper.params.speed); + } + const getSlideByIndex = index => { + if (isVirtual) { + return swiper.slides[swiper.getSlideIndexByData(index)]; + } + return swiper.slides[index]; + }; + // Find slides currently in view + if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { + if (swiper.params.centeredSlides) { + (swiper.visibleSlides || []).forEach(slide => { + activeSlides.push(slide); + }); + } else { + for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { + const index = swiper.activeIndex + i; + if (index > swiper.slides.length && !isVirtual) break; + activeSlides.push(getSlideByIndex(index)); + } + } + } else { + activeSlides.push(getSlideByIndex(swiper.activeIndex)); + } + + // Find new height from highest slide in view + for (i = 0; i < activeSlides.length; i += 1) { + if (typeof activeSlides[i] !== 'undefined') { + const height = activeSlides[i].offsetHeight; + newHeight = height > newHeight ? height : newHeight; + } + } + + // Update Height + if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`; +} + +function updateSlidesOffset() { + const swiper = this; + const slides = swiper.slides; + // eslint-disable-next-line + const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0; + for (let i = 0; i < slides.length; i += 1) { + slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment(); + } +} + +const toggleSlideClasses$1 = (slideEl, condition, className) => { + if (condition && !slideEl.classList.contains(className)) { + slideEl.classList.add(className); + } else if (!condition && slideEl.classList.contains(className)) { + slideEl.classList.remove(className); + } +}; +function updateSlidesProgress(translate) { + if (translate === void 0) { + translate = this && this.translate || 0; + } + const swiper = this; + const params = swiper.params; + const { + slides, + rtlTranslate: rtl, + snapGrid + } = swiper; + if (slides.length === 0) return; + if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); + let offsetCenter = -translate; + if (rtl) offsetCenter = translate; + swiper.visibleSlidesIndexes = []; + swiper.visibleSlides = []; + let spaceBetween = params.spaceBetween; + if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { + spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size; + } else if (typeof spaceBetween === 'string') { + spaceBetween = parseFloat(spaceBetween); + } + for (let i = 0; i < slides.length; i += 1) { + const slide = slides[i]; + let slideOffset = slide.swiperSlideOffset; + if (params.cssMode && params.centeredSlides) { + slideOffset -= slides[0].swiperSlideOffset; + } + const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); + const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); + const slideBefore = -(offsetCenter - slideOffset); + const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; + const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; + const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; + if (isVisible) { + swiper.visibleSlides.push(slide); + swiper.visibleSlidesIndexes.push(i); + } + toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass); + toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass); + slide.progress = rtl ? -slideProgress : slideProgress; + slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; + } +} + +function updateProgress(translate) { + const swiper = this; + if (typeof translate === 'undefined') { + const multiplier = swiper.rtlTranslate ? -1 : 1; + // eslint-disable-next-line + translate = swiper && swiper.translate && swiper.translate * multiplier || 0; + } + const params = swiper.params; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + let { + progress, + isBeginning, + isEnd, + progressLoop + } = swiper; + const wasBeginning = isBeginning; + const wasEnd = isEnd; + if (translatesDiff === 0) { + progress = 0; + isBeginning = true; + isEnd = true; + } else { + progress = (translate - swiper.minTranslate()) / translatesDiff; + const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1; + const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1; + isBeginning = isBeginningRounded || progress <= 0; + isEnd = isEndRounded || progress >= 1; + if (isBeginningRounded) progress = 0; + if (isEndRounded) progress = 1; + } + if (params.loop) { + const firstSlideIndex = swiper.getSlideIndexByData(0); + const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1); + const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex]; + const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex]; + const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1]; + const translateAbs = Math.abs(translate); + if (translateAbs >= firstSlideTranslate) { + progressLoop = (translateAbs - firstSlideTranslate) / translateMax; + } else { + progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax; + } + if (progressLoop > 1) progressLoop -= 1; + } + Object.assign(swiper, { + progress, + progressLoop, + isBeginning, + isEnd + }); + if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); + if (isBeginning && !wasBeginning) { + swiper.emit('reachBeginning toEdge'); + } + if (isEnd && !wasEnd) { + swiper.emit('reachEnd toEdge'); + } + if (wasBeginning && !isBeginning || wasEnd && !isEnd) { + swiper.emit('fromEdge'); + } + swiper.emit('progress', progress); +} + +const toggleSlideClasses = (slideEl, condition, className) => { + if (condition && !slideEl.classList.contains(className)) { + slideEl.classList.add(className); + } else if (!condition && slideEl.classList.contains(className)) { + slideEl.classList.remove(className); + } +}; +function updateSlidesClasses() { + const swiper = this; + const { + slides, + params, + slidesEl, + activeIndex + } = swiper; + const isVirtual = swiper.virtual && params.virtual.enabled; + const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; + const getFilteredSlide = selector => { + return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0]; + }; + let activeSlide; + let prevSlide; + let nextSlide; + if (isVirtual) { + if (params.loop) { + let slideIndex = activeIndex - swiper.virtual.slidesBefore; + if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; + if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; + activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`); + } else { + activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`); + } + } else { + if (gridEnabled) { + activeSlide = slides.find(slideEl => slideEl.column === activeIndex); + nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1); + prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1); + } else { + activeSlide = slides[activeIndex]; + } + } + if (activeSlide) { + if (!gridEnabled) { + // Next Slide + nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; + if (params.loop && !nextSlide) { + nextSlide = slides[0]; + } + + // Prev Slide + prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0]; + if (params.loop && !prevSlide === 0) { + prevSlide = slides[slides.length - 1]; + } + } + } + slides.forEach(slideEl => { + toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); + toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); + toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); + }); + swiper.emitSlidesClasses(); +} + +const processLazyPreloader = (swiper, imageEl) => { + if (!swiper || swiper.destroyed || !swiper.params) return; + const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`; + const slideEl = imageEl.closest(slideSelector()); + if (slideEl) { + let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`); + if (!lazyEl && swiper.isElement) { + if (slideEl.shadowRoot) { + lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); + } else { + // init later + requestAnimationFrame(() => { + if (slideEl.shadowRoot) { + lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`); + if (lazyEl) lazyEl.remove(); + } + }); + } + } + if (lazyEl) lazyEl.remove(); + } +}; +const unlazy = (swiper, index) => { + if (!swiper.slides[index]) return; + const imageEl = swiper.slides[index].querySelector('[loading="lazy"]'); + if (imageEl) imageEl.removeAttribute('loading'); +}; +const preload = swiper => { + if (!swiper || swiper.destroyed || !swiper.params) return; + let amount = swiper.params.lazyPreloadPrevNext; + const len = swiper.slides.length; + if (!len || !amount || amount < 0) return; + amount = Math.min(amount, len); + const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView); + const activeIndex = swiper.activeIndex; + if (swiper.params.grid && swiper.params.grid.rows > 1) { + const activeColumn = activeIndex; + const preloadColumns = [activeColumn - amount]; + preloadColumns.push(...Array.from({ + length: amount + }).map((_, i) => { + return activeColumn + slidesPerView + i; + })); + swiper.slides.forEach((slideEl, i) => { + if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i); + }); + return; + } + const slideIndexLastInView = activeIndex + slidesPerView - 1; + if (swiper.params.rewind || swiper.params.loop) { + for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) { + const realIndex = (i % len + len) % len; + if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex); + } + } else { + for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) { + if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) { + unlazy(swiper, i); + } + } + } +}; + +function getActiveIndexByTranslate(swiper) { + const { + slidesGrid, + params + } = swiper; + const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + let activeIndex; + for (let i = 0; i < slidesGrid.length; i += 1) { + if (typeof slidesGrid[i + 1] !== 'undefined') { + if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { + activeIndex = i; + } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { + activeIndex = i + 1; + } + } else if (translate >= slidesGrid[i]) { + activeIndex = i; + } + } + // Normalize slideIndex + if (params.normalizeSlideIndex) { + if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; + } + return activeIndex; +} +function updateActiveIndex(newActiveIndex) { + const swiper = this; + const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + const { + snapGrid, + params, + activeIndex: previousIndex, + realIndex: previousRealIndex, + snapIndex: previousSnapIndex + } = swiper; + let activeIndex = newActiveIndex; + let snapIndex; + const getVirtualRealIndex = aIndex => { + let realIndex = aIndex - swiper.virtual.slidesBefore; + if (realIndex < 0) { + realIndex = swiper.virtual.slides.length + realIndex; + } + if (realIndex >= swiper.virtual.slides.length) { + realIndex -= swiper.virtual.slides.length; + } + return realIndex; + }; + if (typeof activeIndex === 'undefined') { + activeIndex = getActiveIndexByTranslate(swiper); + } + if (snapGrid.indexOf(translate) >= 0) { + snapIndex = snapGrid.indexOf(translate); + } else { + const skip = Math.min(params.slidesPerGroupSkip, activeIndex); + snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); + } + if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; + if (activeIndex === previousIndex && !swiper.params.loop) { + if (snapIndex !== previousSnapIndex) { + swiper.snapIndex = snapIndex; + swiper.emit('snapIndexChange'); + } + return; + } + if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { + swiper.realIndex = getVirtualRealIndex(activeIndex); + return; + } + const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; + + // Get real index + let realIndex; + if (swiper.virtual && params.virtual.enabled && params.loop) { + realIndex = getVirtualRealIndex(activeIndex); + } else if (gridEnabled) { + const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex); + let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10); + if (Number.isNaN(activeSlideIndex)) { + activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0); + } + realIndex = Math.floor(activeSlideIndex / params.grid.rows); + } else if (swiper.slides[activeIndex]) { + const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index'); + if (slideIndex) { + realIndex = parseInt(slideIndex, 10); + } else { + realIndex = activeIndex; + } + } else { + realIndex = activeIndex; + } + Object.assign(swiper, { + previousSnapIndex, + snapIndex, + previousRealIndex, + realIndex, + previousIndex, + activeIndex + }); + if (swiper.initialized) { + preload(swiper); + } + swiper.emit('activeIndexChange'); + swiper.emit('snapIndexChange'); + if (swiper.initialized || swiper.params.runCallbacksOnInit) { + if (previousRealIndex !== realIndex) { + swiper.emit('realIndexChange'); + } + swiper.emit('slideChange'); + } +} + +function updateClickedSlide(el, path) { + const swiper = this; + const params = swiper.params; + let slide = el.closest(`.${params.slideClass}, swiper-slide`); + if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) { + [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => { + if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) { + slide = pathEl; + } + }); + } + let slideFound = false; + let slideIndex; + if (slide) { + for (let i = 0; i < swiper.slides.length; i += 1) { + if (swiper.slides[i] === slide) { + slideFound = true; + slideIndex = i; + break; + } + } + } + if (slide && slideFound) { + swiper.clickedSlide = slide; + if (swiper.virtual && swiper.params.virtual.enabled) { + swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10); + } else { + swiper.clickedIndex = slideIndex; + } + } else { + swiper.clickedSlide = undefined; + swiper.clickedIndex = undefined; + return; + } + if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { + swiper.slideToClickedSlide(); + } +} + +var update = { + updateSize, + updateSlides, + updateAutoHeight, + updateSlidesOffset, + updateSlidesProgress, + updateProgress, + updateSlidesClasses, + updateActiveIndex, + updateClickedSlide +}; + +function getSwiperTranslate(axis) { + if (axis === void 0) { + axis = this.isHorizontal() ? 'x' : 'y'; + } + const swiper = this; + const { + params, + rtlTranslate: rtl, + translate, + wrapperEl + } = swiper; + if (params.virtualTranslate) { + return rtl ? -translate : translate; + } + if (params.cssMode) { + return translate; + } + let currentTranslate = getTranslate(wrapperEl, axis); + currentTranslate += swiper.cssOverflowAdjustment(); + if (rtl) currentTranslate = -currentTranslate; + return currentTranslate || 0; +} + +function setTranslate(translate, byController) { + const swiper = this; + const { + rtlTranslate: rtl, + params, + wrapperEl, + progress + } = swiper; + let x = 0; + let y = 0; + const z = 0; + if (swiper.isHorizontal()) { + x = rtl ? -translate : translate; + } else { + y = translate; + } + if (params.roundLengths) { + x = Math.floor(x); + y = Math.floor(y); + } + swiper.previousTranslate = swiper.translate; + swiper.translate = swiper.isHorizontal() ? x : y; + if (params.cssMode) { + wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; + } else if (!params.virtualTranslate) { + if (swiper.isHorizontal()) { + x -= swiper.cssOverflowAdjustment(); + } else { + y -= swiper.cssOverflowAdjustment(); + } + wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`; + } + + // Check if we need to update progress + let newProgress; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + if (translatesDiff === 0) { + newProgress = 0; + } else { + newProgress = (translate - swiper.minTranslate()) / translatesDiff; + } + if (newProgress !== progress) { + swiper.updateProgress(translate); + } + swiper.emit('setTranslate', swiper.translate, byController); +} + +function minTranslate() { + return -this.snapGrid[0]; +} + +function maxTranslate() { + return -this.snapGrid[this.snapGrid.length - 1]; +} + +function translateTo(translate, speed, runCallbacks, translateBounds, internal) { + if (translate === void 0) { + translate = 0; + } + if (speed === void 0) { + speed = this.params.speed; + } + if (runCallbacks === void 0) { + runCallbacks = true; + } + if (translateBounds === void 0) { + translateBounds = true; + } + const swiper = this; + const { + params, + wrapperEl + } = swiper; + if (swiper.animating && params.preventInteractionOnTransition) { + return false; + } + const minTranslate = swiper.minTranslate(); + const maxTranslate = swiper.maxTranslate(); + let newTranslate; + if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; + + // Update progress + swiper.updateProgress(newTranslate); + if (params.cssMode) { + const isH = swiper.isHorizontal(); + if (speed === 0) { + wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; + } else { + if (!swiper.support.smoothScroll) { + animateCSSModeScroll({ + swiper, + targetPosition: -newTranslate, + side: isH ? 'left' : 'top' + }); + return true; + } + wrapperEl.scrollTo({ + [isH ? 'left' : 'top']: -newTranslate, + behavior: 'smooth' + }); + } + return true; + } + if (speed === 0) { + swiper.setTransition(0); + swiper.setTranslate(newTranslate); + if (runCallbacks) { + swiper.emit('beforeTransitionStart', speed, internal); + swiper.emit('transitionEnd'); + } + } else { + swiper.setTransition(speed); + swiper.setTranslate(newTranslate); + if (runCallbacks) { + swiper.emit('beforeTransitionStart', speed, internal); + swiper.emit('transitionStart'); + } + if (!swiper.animating) { + swiper.animating = true; + if (!swiper.onTranslateToWrapperTransitionEnd) { + swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { + if (!swiper || swiper.destroyed) return; + if (e.target !== this) return; + swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); + swiper.onTranslateToWrapperTransitionEnd = null; + delete swiper.onTranslateToWrapperTransitionEnd; + swiper.animating = false; + if (runCallbacks) { + swiper.emit('transitionEnd'); + } + }; + } + swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); + } + } + return true; +} + +var translate = { + getTranslate: getSwiperTranslate, + setTranslate, + minTranslate, + maxTranslate, + translateTo +}; + +function setTransition(duration, byController) { + const swiper = this; + if (!swiper.params.cssMode) { + swiper.wrapperEl.style.transitionDuration = `${duration}ms`; + swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : ''; + } + swiper.emit('setTransition', duration, byController); +} + +function transitionEmit(_ref) { + let { + swiper, + runCallbacks, + direction, + step + } = _ref; + const { + activeIndex, + previousIndex + } = swiper; + let dir = direction; + if (!dir) { + if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; + } + swiper.emit(`transition${step}`); + if (runCallbacks && dir === 'reset') { + swiper.emit(`slideResetTransition${step}`); + } else if (runCallbacks && activeIndex !== previousIndex) { + swiper.emit(`slideChangeTransition${step}`); + if (dir === 'next') { + swiper.emit(`slideNextTransition${step}`); + } else { + swiper.emit(`slidePrevTransition${step}`); + } + } +} + +function transitionStart(runCallbacks, direction) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + const swiper = this; + const { + params + } = swiper; + if (params.cssMode) return; + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + transitionEmit({ + swiper, + runCallbacks, + direction, + step: 'Start' + }); +} + +function transitionEnd(runCallbacks, direction) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + const swiper = this; + const { + params + } = swiper; + swiper.animating = false; + if (params.cssMode) return; + swiper.setTransition(0); + transitionEmit({ + swiper, + runCallbacks, + direction, + step: 'End' + }); +} + +var transition = { + setTransition, + transitionStart, + transitionEnd +}; + +function slideTo(index, speed, runCallbacks, internal, initial) { + if (index === void 0) { + index = 0; + } + if (runCallbacks === void 0) { + runCallbacks = true; + } + if (typeof index === 'string') { + index = parseInt(index, 10); + } + const swiper = this; + let slideIndex = index; + if (slideIndex < 0) slideIndex = 0; + const { + params, + snapGrid, + slidesGrid, + previousIndex, + activeIndex, + rtlTranslate: rtl, + wrapperEl, + enabled + } = swiper; + if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) { + return false; + } + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); + let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); + if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; + const translate = -snapGrid[snapIndex]; + // Normalize slideIndex + if (params.normalizeSlideIndex) { + for (let i = 0; i < slidesGrid.length; i += 1) { + const normalizedTranslate = -Math.floor(translate * 100); + const normalizedGrid = Math.floor(slidesGrid[i] * 100); + const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); + if (typeof slidesGrid[i + 1] !== 'undefined') { + if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { + slideIndex = i; + } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { + slideIndex = i + 1; + } + } else if (normalizedTranslate >= normalizedGrid) { + slideIndex = i; + } + } + } + // Directions locks + if (swiper.initialized && slideIndex !== activeIndex) { + if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) { + return false; + } + if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { + if ((activeIndex || 0) !== slideIndex) { + return false; + } + } + } + if (slideIndex !== (previousIndex || 0) && runCallbacks) { + swiper.emit('beforeSlideChangeStart'); + } + + // Update progress + swiper.updateProgress(translate); + let direction; + if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; + + // initial virtual + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + const isInitialVirtual = isVirtual && initial; + // Update Index + if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) { + swiper.updateActiveIndex(slideIndex); + // Update Height + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + swiper.updateSlidesClasses(); + if (params.effect !== 'slide') { + swiper.setTranslate(translate); + } + if (direction !== 'reset') { + swiper.transitionStart(runCallbacks, direction); + swiper.transitionEnd(runCallbacks, direction); + } + return false; + } + if (params.cssMode) { + const isH = swiper.isHorizontal(); + const t = rtl ? translate : -translate; + if (speed === 0) { + if (isVirtual) { + swiper.wrapperEl.style.scrollSnapType = 'none'; + swiper._immediateVirtual = true; + } + if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) { + swiper._cssModeVirtualInitialSet = true; + requestAnimationFrame(() => { + wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; + }); + } else { + wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; + } + if (isVirtual) { + requestAnimationFrame(() => { + swiper.wrapperEl.style.scrollSnapType = ''; + swiper._immediateVirtual = false; + }); + } + } else { + if (!swiper.support.smoothScroll) { + animateCSSModeScroll({ + swiper, + targetPosition: t, + side: isH ? 'left' : 'top' + }); + return true; + } + wrapperEl.scrollTo({ + [isH ? 'left' : 'top']: t, + behavior: 'smooth' + }); + } + return true; + } + const browser = getBrowser(); + const isSafari = browser.isSafari; + if (isVirtual && !initial && isSafari && swiper.isElement) { + swiper.virtual.update(false, false, slideIndex); + } + swiper.setTransition(speed); + swiper.setTranslate(translate); + swiper.updateActiveIndex(slideIndex); + swiper.updateSlidesClasses(); + swiper.emit('beforeTransitionStart', speed, internal); + swiper.transitionStart(runCallbacks, direction); + if (speed === 0) { + swiper.transitionEnd(runCallbacks, direction); + } else if (!swiper.animating) { + swiper.animating = true; + if (!swiper.onSlideToWrapperTransitionEnd) { + swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { + if (!swiper || swiper.destroyed) return; + if (e.target !== this) return; + swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + swiper.onSlideToWrapperTransitionEnd = null; + delete swiper.onSlideToWrapperTransitionEnd; + swiper.transitionEnd(runCallbacks, direction); + }; + } + swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + } + return true; +} + +function slideToLoop(index, speed, runCallbacks, internal) { + if (index === void 0) { + index = 0; + } + if (runCallbacks === void 0) { + runCallbacks = true; + } + if (typeof index === 'string') { + const indexAsNumber = parseInt(index, 10); + index = indexAsNumber; + } + const swiper = this; + if (swiper.destroyed) return; + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; + let newIndex = index; + if (swiper.params.loop) { + if (swiper.virtual && swiper.params.virtual.enabled) { + // eslint-disable-next-line + newIndex = newIndex + swiper.virtual.slidesBefore; + } else { + let targetSlideIndex; + if (gridEnabled) { + const slideIndex = newIndex * swiper.params.grid.rows; + targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column; + } else { + targetSlideIndex = swiper.getSlideIndexByData(newIndex); + } + const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; + const { + centeredSlides + } = swiper.params; + let slidesPerView = swiper.params.slidesPerView; + if (slidesPerView === 'auto') { + slidesPerView = swiper.slidesPerViewDynamic(); + } else { + slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); + if (centeredSlides && slidesPerView % 2 === 0) { + slidesPerView = slidesPerView + 1; + } + } + let needLoopFix = cols - targetSlideIndex < slidesPerView; + if (centeredSlides) { + needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); + } + if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { + needLoopFix = false; + } + if (needLoopFix) { + const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; + swiper.loopFix({ + direction, + slideTo: true, + activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, + slideRealIndex: direction === 'next' ? swiper.realIndex : undefined + }); + } + if (gridEnabled) { + const slideIndex = newIndex * swiper.params.grid.rows; + newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column; + } else { + newIndex = swiper.getSlideIndexByData(newIndex); + } + } + } + requestAnimationFrame(() => { + swiper.slideTo(newIndex, speed, runCallbacks, internal); + }); + return swiper; +} + +/* eslint no-unused-vars: "off" */ +function slideNext(speed, runCallbacks, internal) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + const swiper = this; + const { + enabled, + params, + animating + } = swiper; + if (!enabled || swiper.destroyed) return swiper; + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + let perGroup = params.slidesPerGroup; + if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { + perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); + } + const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; + const isVirtual = swiper.virtual && params.virtual.enabled; + if (params.loop) { + if (animating && !isVirtual && params.loopPreventsSliding) return false; + swiper.loopFix({ + direction: 'next' + }); + // eslint-disable-next-line + swiper._clientLeft = swiper.wrapperEl.clientLeft; + if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) { + requestAnimationFrame(() => { + swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); + }); + return true; + } + } + if (params.rewind && swiper.isEnd) { + return swiper.slideTo(0, speed, runCallbacks, internal); + } + return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); +} + +/* eslint no-unused-vars: "off" */ +function slidePrev(speed, runCallbacks, internal) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + const swiper = this; + const { + params, + snapGrid, + slidesGrid, + rtlTranslate, + enabled, + animating + } = swiper; + if (!enabled || swiper.destroyed) return swiper; + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + const isVirtual = swiper.virtual && params.virtual.enabled; + if (params.loop) { + if (animating && !isVirtual && params.loopPreventsSliding) return false; + swiper.loopFix({ + direction: 'prev' + }); + // eslint-disable-next-line + swiper._clientLeft = swiper.wrapperEl.clientLeft; + } + const translate = rtlTranslate ? swiper.translate : -swiper.translate; + function normalize(val) { + if (val < 0) return -Math.floor(Math.abs(val)); + return Math.floor(val); + } + const normalizedTranslate = normalize(translate); + const normalizedSnapGrid = snapGrid.map(val => normalize(val)); + const isFreeMode = params.freeMode && params.freeMode.enabled; + let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; + if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) { + let prevSnapIndex; + snapGrid.forEach((snap, snapIndex) => { + if (normalizedTranslate >= snap) { + // prevSnap = snap; + prevSnapIndex = snapIndex; + } + }); + if (typeof prevSnapIndex !== 'undefined') { + prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; + } + } + let prevIndex = 0; + if (typeof prevSnap !== 'undefined') { + prevIndex = slidesGrid.indexOf(prevSnap); + if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; + if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { + prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; + prevIndex = Math.max(prevIndex, 0); + } + } + if (params.rewind && swiper.isBeginning) { + const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; + return swiper.slideTo(lastIndex, speed, runCallbacks, internal); + } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { + requestAnimationFrame(() => { + swiper.slideTo(prevIndex, speed, runCallbacks, internal); + }); + return true; + } + return swiper.slideTo(prevIndex, speed, runCallbacks, internal); +} + +/* eslint no-unused-vars: "off" */ +function slideReset(speed, runCallbacks, internal) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + const swiper = this; + if (swiper.destroyed) return; + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); +} + +/* eslint no-unused-vars: "off" */ +function slideToClosest(speed, runCallbacks, internal, threshold) { + if (runCallbacks === void 0) { + runCallbacks = true; + } + if (threshold === void 0) { + threshold = 0.5; + } + const swiper = this; + if (swiper.destroyed) return; + if (typeof speed === 'undefined') { + speed = swiper.params.speed; + } + let index = swiper.activeIndex; + const skip = Math.min(swiper.params.slidesPerGroupSkip, index); + const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); + const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + if (translate >= swiper.snapGrid[snapIndex]) { + // The current translate is on or after the current snap index, so the choice + // is between the current index and the one after it. + const currentSnap = swiper.snapGrid[snapIndex]; + const nextSnap = swiper.snapGrid[snapIndex + 1]; + if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { + index += swiper.params.slidesPerGroup; + } + } else { + // The current translate is before the current snap index, so the choice + // is between the current index and the one before it. + const prevSnap = swiper.snapGrid[snapIndex - 1]; + const currentSnap = swiper.snapGrid[snapIndex]; + if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { + index -= swiper.params.slidesPerGroup; + } + } + index = Math.max(index, 0); + index = Math.min(index, swiper.slidesGrid.length - 1); + return swiper.slideTo(index, speed, runCallbacks, internal); +} + +function slideToClickedSlide() { + const swiper = this; + if (swiper.destroyed) return; + const { + params, + slidesEl + } = swiper; + const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; + let slideToIndex = swiper.getSlideIndexWhenGrid(swiper.clickedIndex); + let realIndex; + const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`; + const isGrid = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; + if (params.loop) { + if (swiper.animating) return; + realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10); + if (params.centeredSlides) { + swiper.slideToLoop(realIndex); + } else if (slideToIndex > (isGrid ? (swiper.slides.length - slidesPerView) / 2 - (swiper.params.grid.rows - 1) : swiper.slides.length - slidesPerView)) { + swiper.loopFix(); + slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]); + nextTick(() => { + swiper.slideTo(slideToIndex); + }); + } else { + swiper.slideTo(slideToIndex); + } + } else { + swiper.slideTo(slideToIndex); + } +} + +var slide = { + slideTo, + slideToLoop, + slideNext, + slidePrev, + slideReset, + slideToClosest, + slideToClickedSlide +}; + +function loopCreate(slideRealIndex, initial) { + const swiper = this; + const { + params, + slidesEl + } = swiper; + if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return; + const initSlides = () => { + const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); + slides.forEach((el, index) => { + el.setAttribute('data-swiper-slide-index', index); + }); + }; + const clearBlankSlides = () => { + const slides = elementChildren(slidesEl, `.${params.slideBlankClass}`); + slides.forEach(el => { + el.remove(); + }); + if (slides.length > 0) { + swiper.recalcSlides(); + swiper.updateSlides(); + } + }; + const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; + if (params.loopAddBlankSlides && (params.slidesPerGroup > 1 || gridEnabled)) { + clearBlankSlides(); + } + const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1); + const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0; + const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0; + const addBlankSlides = amountOfSlides => { + for (let i = 0; i < amountOfSlides; i += 1) { + const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]); + swiper.slidesEl.append(slideEl); + } + }; + if (shouldFillGroup) { + if (params.loopAddBlankSlides) { + const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup; + addBlankSlides(slidesToAdd); + swiper.recalcSlides(); + swiper.updateSlides(); + } else { + showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)'); + } + initSlides(); + } else if (shouldFillGrid) { + if (params.loopAddBlankSlides) { + const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows; + addBlankSlides(slidesToAdd); + swiper.recalcSlides(); + swiper.updateSlides(); + } else { + showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)'); + } + initSlides(); + } else { + initSlides(); + } + swiper.loopFix({ + slideRealIndex, + direction: params.centeredSlides ? undefined : 'next', + initial + }); +} + +function loopFix(_temp) { + let { + slideRealIndex, + slideTo = true, + direction, + setTranslate, + activeSlideIndex, + initial, + byController, + byMousewheel + } = _temp === void 0 ? {} : _temp; + const swiper = this; + if (!swiper.params.loop) return; + swiper.emit('beforeLoopFix'); + const { + slides, + allowSlidePrev, + allowSlideNext, + slidesEl, + params + } = swiper; + const { + centeredSlides, + initialSlide + } = params; + swiper.allowSlidePrev = true; + swiper.allowSlideNext = true; + if (swiper.virtual && params.virtual.enabled) { + if (slideTo) { + if (!params.centeredSlides && swiper.snapIndex === 0) { + swiper.slideTo(swiper.virtual.slides.length, 0, false, true); + } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) { + swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true); + } else if (swiper.snapIndex === swiper.snapGrid.length - 1) { + swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true); + } + } + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + swiper.emit('loopFix'); + return; + } + let slidesPerView = params.slidesPerView; + if (slidesPerView === 'auto') { + slidesPerView = swiper.slidesPerViewDynamic(); + } else { + slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10)); + if (centeredSlides && slidesPerView % 2 === 0) { + slidesPerView = slidesPerView + 1; + } + } + const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup; + let loopedSlides = centeredSlides ? Math.max(slidesPerGroup, Math.ceil(slidesPerView / 2)) : slidesPerGroup; + if (loopedSlides % slidesPerGroup !== 0) { + loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup; + } + loopedSlides += params.loopAdditionalSlides; + swiper.loopedSlides = loopedSlides; + const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; + if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) { + showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters'); + } else if (gridEnabled && params.grid.fill === 'row') { + showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`'); + } + const prependSlidesIndexes = []; + const appendSlidesIndexes = []; + const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length; + const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !centeredSlides; + let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex; + if (typeof activeSlideIndex === 'undefined') { + activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass))); + } else { + activeIndex = activeSlideIndex; + } + const isNext = direction === 'next' || !direction; + const isPrev = direction === 'prev' || !direction; + let slidesPrepended = 0; + let slidesAppended = 0; + const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex; + const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0); + // prepend last slides before start + if (activeColIndexWithShift < loopedSlides) { + slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup); + for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) { + const index = i - Math.floor(i / cols) * cols; + if (gridEnabled) { + const colIndexToPrepend = cols - index - 1; + for (let i = slides.length - 1; i >= 0; i -= 1) { + if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i); + } + // slides.forEach((slide, slideIndex) => { + // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex); + // }); + } else { + prependSlidesIndexes.push(cols - index - 1); + } + } + } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) { + slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup); + if (isInitialOverflow) { + slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1); + } + for (let i = 0; i < slidesAppended; i += 1) { + const index = i - Math.floor(i / cols) * cols; + if (gridEnabled) { + slides.forEach((slide, slideIndex) => { + if (slide.column === index) appendSlidesIndexes.push(slideIndex); + }); + } else { + appendSlidesIndexes.push(index); + } + } + } + swiper.__preventObserver__ = true; + requestAnimationFrame(() => { + swiper.__preventObserver__ = false; + }); + if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) { + if (appendSlidesIndexes.includes(activeSlideIndex)) { + appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1); + } + if (prependSlidesIndexes.includes(activeSlideIndex)) { + prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1); + } + } + if (isPrev) { + prependSlidesIndexes.forEach(index => { + slides[index].swiperLoopMoveDOM = true; + slidesEl.prepend(slides[index]); + slides[index].swiperLoopMoveDOM = false; + }); + } + if (isNext) { + appendSlidesIndexes.forEach(index => { + slides[index].swiperLoopMoveDOM = true; + slidesEl.append(slides[index]); + slides[index].swiperLoopMoveDOM = false; + }); + } + swiper.recalcSlides(); + if (params.slidesPerView === 'auto') { + swiper.updateSlides(); + } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) { + swiper.slides.forEach((slide, slideIndex) => { + swiper.grid.updateSlide(slideIndex, slide, swiper.slides); + }); + } + if (params.watchSlidesProgress) { + swiper.updateSlidesOffset(); + } + if (slideTo) { + if (prependSlidesIndexes.length > 0 && isPrev) { + if (typeof slideRealIndex === 'undefined') { + const currentSlideTranslate = swiper.slidesGrid[activeIndex]; + const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended]; + const diff = newSlideTranslate - currentSlideTranslate; + if (byMousewheel) { + swiper.setTranslate(swiper.translate - diff); + } else { + swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true); + if (setTranslate) { + swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; + swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; + } + } + } else { + if (setTranslate) { + const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length; + swiper.slideTo(swiper.activeIndex + shift, 0, false, true); + swiper.touchEventsData.currentTranslate = swiper.translate; + } + } + } else if (appendSlidesIndexes.length > 0 && isNext) { + if (typeof slideRealIndex === 'undefined') { + const currentSlideTranslate = swiper.slidesGrid[activeIndex]; + const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended]; + const diff = newSlideTranslate - currentSlideTranslate; + if (byMousewheel) { + swiper.setTranslate(swiper.translate - diff); + } else { + swiper.slideTo(activeIndex - slidesAppended, 0, false, true); + if (setTranslate) { + swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff; + swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff; + } + } + } else { + const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length; + swiper.slideTo(swiper.activeIndex - shift, 0, false, true); + } + } + } + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + if (swiper.controller && swiper.controller.control && !byController) { + const loopParams = { + slideRealIndex, + direction, + setTranslate, + activeSlideIndex, + byController: true + }; + if (Array.isArray(swiper.controller.control)) { + swiper.controller.control.forEach(c => { + if (!c.destroyed && c.params.loop) c.loopFix({ + ...loopParams, + slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false + }); + }); + } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) { + swiper.controller.control.loopFix({ + ...loopParams, + slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false + }); + } + } + swiper.emit('loopFix'); +} + +function loopDestroy() { + const swiper = this; + const { + params, + slidesEl + } = swiper; + if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return; + swiper.recalcSlides(); + const newSlidesOrder = []; + swiper.slides.forEach(slideEl => { + const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex; + newSlidesOrder[index] = slideEl; + }); + swiper.slides.forEach(slideEl => { + slideEl.removeAttribute('data-swiper-slide-index'); + }); + newSlidesOrder.forEach(slideEl => { + slidesEl.append(slideEl); + }); + swiper.recalcSlides(); + swiper.slideTo(swiper.realIndex, 0); +} + +var loop = { + loopCreate, + loopFix, + loopDestroy +}; + +function setGrabCursor(moving) { + const swiper = this; + if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; + const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; + if (swiper.isElement) { + swiper.__preventObserver__ = true; + } + el.style.cursor = 'move'; + el.style.cursor = moving ? 'grabbing' : 'grab'; + if (swiper.isElement) { + requestAnimationFrame(() => { + swiper.__preventObserver__ = false; + }); + } +} + +function unsetGrabCursor() { + const swiper = this; + if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { + return; + } + if (swiper.isElement) { + swiper.__preventObserver__ = true; + } + swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; + if (swiper.isElement) { + requestAnimationFrame(() => { + swiper.__preventObserver__ = false; + }); + } +} + +var grabCursor = { + setGrabCursor, + unsetGrabCursor +}; + +// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd +function closestElement(selector, base) { + if (base === void 0) { + base = this; + } + function __closestFrom(el) { + if (!el || el === getDocument() || el === getWindow()) return null; + if (el.assignedSlot) el = el.assignedSlot; + const found = el.closest(selector); + if (!found && !el.getRootNode) { + return null; + } + return found || __closestFrom(el.getRootNode().host); + } + return __closestFrom(base); +} +function preventEdgeSwipe(swiper, event, startX) { + const window = getWindow(); + const { + params + } = swiper; + const edgeSwipeDetection = params.edgeSwipeDetection; + const edgeSwipeThreshold = params.edgeSwipeThreshold; + if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { + if (edgeSwipeDetection === 'prevent') { + event.preventDefault(); + return true; + } + return false; + } + return true; +} +function onTouchStart(event) { + const swiper = this; + const document = getDocument(); + let e = event; + if (e.originalEvent) e = e.originalEvent; + const data = swiper.touchEventsData; + if (e.type === 'pointerdown') { + if (data.pointerId !== null && data.pointerId !== e.pointerId) { + return; + } + data.pointerId = e.pointerId; + } else if (e.type === 'touchstart' && e.targetTouches.length === 1) { + data.touchId = e.targetTouches[0].identifier; + } + if (e.type === 'touchstart') { + // don't proceed touch event + preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX); + return; + } + const { + params, + touches, + enabled + } = swiper; + if (!enabled) return; + if (!params.simulateTouch && e.pointerType === 'mouse') return; + if (swiper.animating && params.preventInteractionOnTransition) { + return; + } + if (!swiper.animating && params.cssMode && params.loop) { + swiper.loopFix(); + } + let targetEl = e.target; + if (params.touchEventsTarget === 'wrapper') { + if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return; + } + if ('which' in e && e.which === 3) return; + if ('button' in e && e.button > 0) return; + if (data.isTouched && data.isMoved) return; + + // change target el for shadow root component + const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; + // eslint-disable-next-line + const eventPath = e.composedPath ? e.composedPath() : e.path; + if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) { + targetEl = eventPath[0]; + } + const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; + const isTargetShadow = !!(e.target && e.target.shadowRoot); + + // use closestElement for shadow root element to get the actual closest for nested shadow root element + if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) { + swiper.allowClick = true; + return; + } + if (params.swipeHandler) { + if (!targetEl.closest(params.swipeHandler)) return; + } + touches.currentX = e.pageX; + touches.currentY = e.pageY; + const startX = touches.currentX; + const startY = touches.currentY; + + // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore + + if (!preventEdgeSwipe(swiper, e, startX)) { + return; + } + Object.assign(data, { + isTouched: true, + isMoved: false, + allowTouchCallbacks: true, + isScrolling: undefined, + startMoving: undefined + }); + touches.startX = startX; + touches.startY = startY; + data.touchStartTime = now(); + swiper.allowClick = true; + swiper.updateSize(); + swiper.swipeDirection = undefined; + if (params.threshold > 0) data.allowThresholdMove = false; + let preventDefault = true; + if (targetEl.matches(data.focusableElements)) { + preventDefault = false; + if (targetEl.nodeName === 'SELECT') { + data.isTouched = false; + } + } + if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) { + document.activeElement.blur(); + } + const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; + if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) { + e.preventDefault(); + } + if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { + swiper.freeMode.onTouchStart(); + } + swiper.emit('touchStart', e); +} + +function onTouchMove(event) { + const document = getDocument(); + const swiper = this; + const data = swiper.touchEventsData; + const { + params, + touches, + rtlTranslate: rtl, + enabled + } = swiper; + if (!enabled) return; + if (!params.simulateTouch && event.pointerType === 'mouse') return; + let e = event; + if (e.originalEvent) e = e.originalEvent; + if (e.type === 'pointermove') { + if (data.touchId !== null) return; // return from pointer if we use touch + const id = e.pointerId; + if (id !== data.pointerId) return; + } + let targetTouch; + if (e.type === 'touchmove') { + targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId); + if (!targetTouch || targetTouch.identifier !== data.touchId) return; + } else { + targetTouch = e; + } + if (!data.isTouched) { + if (data.startMoving && data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + return; + } + const pageX = targetTouch.pageX; + const pageY = targetTouch.pageY; + if (e.preventedByNestedSwiper) { + touches.startX = pageX; + touches.startY = pageY; + return; + } + if (!swiper.allowTouchMove) { + if (!e.target.matches(data.focusableElements)) { + swiper.allowClick = false; + } + if (data.isTouched) { + Object.assign(touches, { + startX: pageX, + startY: pageY, + currentX: pageX, + currentY: pageY + }); + data.touchStartTime = now(); + } + return; + } + if (params.touchReleaseOnEdges && !params.loop) { + if (swiper.isVertical()) { + // Vertical + if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { + data.isTouched = false; + data.isMoved = false; + return; + } + } else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) { + return; + } else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) { + return; + } + } + if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') { + document.activeElement.blur(); + } + if (document.activeElement) { + if (e.target === document.activeElement && e.target.matches(data.focusableElements)) { + data.isMoved = true; + swiper.allowClick = false; + return; + } + } + if (data.allowTouchCallbacks) { + swiper.emit('touchMove', e); + } + touches.previousX = touches.currentX; + touches.previousY = touches.currentY; + touches.currentX = pageX; + touches.currentY = pageY; + const diffX = touches.currentX - touches.startX; + const diffY = touches.currentY - touches.startY; + if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; + if (typeof data.isScrolling === 'undefined') { + let touchAngle; + if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { + data.isScrolling = false; + } else { + // eslint-disable-next-line + if (diffX * diffX + diffY * diffY >= 25) { + touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; + data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; + } + } + } + if (data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + if (typeof data.startMoving === 'undefined') { + if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { + data.startMoving = true; + } + } + if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) { + data.isTouched = false; + return; + } + if (!data.startMoving) { + return; + } + swiper.allowClick = false; + if (!params.cssMode && e.cancelable) { + e.preventDefault(); + } + if (params.touchMoveStopPropagation && !params.nested) { + e.stopPropagation(); + } + let diff = swiper.isHorizontal() ? diffX : diffY; + let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY; + if (params.oneWayMovement) { + diff = Math.abs(diff) * (rtl ? 1 : -1); + touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1); + } + touches.diff = diff; + diff *= params.touchRatio; + if (rtl) { + diff = -diff; + touchesDiff = -touchesDiff; + } + const prevTouchesDirection = swiper.touchesDirection; + swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; + swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next'; + const isLoop = swiper.params.loop && !params.cssMode; + const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev; + if (!data.isMoved) { + if (isLoop && allowLoopFix) { + swiper.loopFix({ + direction: swiper.swipeDirection + }); + } + data.startTranslate = swiper.getTranslate(); + swiper.setTransition(0); + if (swiper.animating) { + const evt = new window.CustomEvent('transitionend', { + bubbles: true, + cancelable: true, + detail: { + bySwiperTouchMove: true + } + }); + swiper.wrapperEl.dispatchEvent(evt); + } + data.allowMomentumBounce = false; + // Grab Cursor + if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(true); + } + swiper.emit('sliderFirstMove', e); + } + let loopFixed; + new Date().getTime(); + if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) { + Object.assign(touches, { + startX: pageX, + startY: pageY, + currentX: pageX, + currentY: pageY, + startTranslate: data.currentTranslate + }); + data.loopSwapReset = true; + data.startTranslate = data.currentTranslate; + return; + } + swiper.emit('sliderMove', e); + data.isMoved = true; + data.currentTranslate = diff + data.startTranslate; + let disableParentSwiper = true; + let resistanceRatio = params.resistanceRatio; + if (params.touchReleaseOnEdges) { + resistanceRatio = 0; + } + if (diff > 0) { + if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) { + swiper.loopFix({ + direction: 'prev', + setTranslate: true, + activeSlideIndex: 0 + }); + } + if (data.currentTranslate > swiper.minTranslate()) { + disableParentSwiper = false; + if (params.resistance) { + data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; + } + } + } else if (diff < 0) { + if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) { + swiper.loopFix({ + direction: 'next', + setTranslate: true, + activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10))) + }); + } + if (data.currentTranslate < swiper.maxTranslate()) { + disableParentSwiper = false; + if (params.resistance) { + data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; + } + } + } + if (disableParentSwiper) { + e.preventedByNestedSwiper = true; + } + + // Directions locks + if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { + data.currentTranslate = data.startTranslate; + } + + // Threshold + if (params.threshold > 0) { + if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { + if (!data.allowThresholdMove) { + data.allowThresholdMove = true; + touches.startX = touches.currentX; + touches.startY = touches.currentY; + data.currentTranslate = data.startTranslate; + touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; + return; + } + } else { + data.currentTranslate = data.startTranslate; + return; + } + } + if (!params.followFinger || params.cssMode) return; + + // Update active index in free mode + if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + if (params.freeMode && params.freeMode.enabled && swiper.freeMode) { + swiper.freeMode.onTouchMove(); + } + // Update progress + swiper.updateProgress(data.currentTranslate); + // Update translate + swiper.setTranslate(data.currentTranslate); +} + +function onTouchEnd(event) { + const swiper = this; + const data = swiper.touchEventsData; + let e = event; + if (e.originalEvent) e = e.originalEvent; + let targetTouch; + const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel'; + if (!isTouchEvent) { + if (data.touchId !== null) return; // return from pointer if we use touch + if (e.pointerId !== data.pointerId) return; + targetTouch = e; + } else { + targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId); + if (!targetTouch || targetTouch.identifier !== data.touchId) return; + } + if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) { + const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView); + if (!proceed) { + return; + } + } + data.pointerId = null; + data.touchId = null; + const { + params, + touches, + rtlTranslate: rtl, + slidesGrid, + enabled + } = swiper; + if (!enabled) return; + if (!params.simulateTouch && e.pointerType === 'mouse') return; + if (data.allowTouchCallbacks) { + swiper.emit('touchEnd', e); + } + data.allowTouchCallbacks = false; + if (!data.isTouched) { + if (data.isMoved && params.grabCursor) { + swiper.setGrabCursor(false); + } + data.isMoved = false; + data.startMoving = false; + return; + } + + // Return Grab Cursor + if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(false); + } + + // Time diff + const touchEndTime = now(); + const timeDiff = touchEndTime - data.touchStartTime; + + // Tap, doubleTap, Click + if (swiper.allowClick) { + const pathTree = e.path || e.composedPath && e.composedPath(); + swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree); + swiper.emit('tap click', e); + if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { + swiper.emit('doubleTap doubleClick', e); + } + } + data.lastClickTime = now(); + nextTick(() => { + if (!swiper.destroyed) swiper.allowClick = true; + }); + if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) { + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + return; + } + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + let currentPos; + if (params.followFinger) { + currentPos = rtl ? swiper.translate : -swiper.translate; + } else { + currentPos = -data.currentTranslate; + } + if (params.cssMode) { + return; + } + if (params.freeMode && params.freeMode.enabled) { + swiper.freeMode.onTouchEnd({ + currentPos + }); + return; + } + + // Find current slide + const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop; + let stopIndex = 0; + let groupSize = swiper.slidesSizesGrid[0]; + for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { + const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; + if (typeof slidesGrid[i + increment] !== 'undefined') { + if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { + stopIndex = i; + groupSize = slidesGrid[i + increment] - slidesGrid[i]; + } + } else if (swipeToLast || currentPos >= slidesGrid[i]) { + stopIndex = i; + groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; + } + } + let rewindFirstIndex = null; + let rewindLastIndex = null; + if (params.rewind) { + if (swiper.isBeginning) { + rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; + } else if (swiper.isEnd) { + rewindFirstIndex = 0; + } + } + // Find current slide size + const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; + const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; + if (timeDiff > params.longSwipesMs) { + // Long touches + if (!params.longSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + if (swiper.swipeDirection === 'next') { + if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); + } + if (swiper.swipeDirection === 'prev') { + if (ratio > 1 - params.longSwipesRatio) { + swiper.slideTo(stopIndex + increment); + } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { + swiper.slideTo(rewindLastIndex); + } else { + swiper.slideTo(stopIndex); + } + } + } else { + // Short swipes + if (!params.shortSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); + if (!isNavButtonTarget) { + if (swiper.swipeDirection === 'next') { + swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); + } + if (swiper.swipeDirection === 'prev') { + swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); + } + } else if (e.target === swiper.navigation.nextEl) { + swiper.slideTo(stopIndex + increment); + } else { + swiper.slideTo(stopIndex); + } + } +} + +function onResize() { + const swiper = this; + const { + params, + el + } = swiper; + if (el && el.offsetWidth === 0) return; + + // Breakpoints + if (params.breakpoints) { + swiper.setBreakpoint(); + } + + // Save locks + const { + allowSlideNext, + allowSlidePrev, + snapGrid + } = swiper; + const isVirtual = swiper.virtual && swiper.params.virtual.enabled; + + // Disable locks on resize + swiper.allowSlideNext = true; + swiper.allowSlidePrev = true; + swiper.updateSize(); + swiper.updateSlides(); + swiper.updateSlidesClasses(); + const isVirtualLoop = isVirtual && params.loop; + if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) { + swiper.slideTo(swiper.slides.length - 1, 0, false, true); + } else { + if (swiper.params.loop && !isVirtual) { + swiper.slideToLoop(swiper.realIndex, 0, false, true); + } else { + swiper.slideTo(swiper.activeIndex, 0, false, true); + } + } + if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { + clearTimeout(swiper.autoplay.resizeTimeout); + swiper.autoplay.resizeTimeout = setTimeout(() => { + if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { + swiper.autoplay.resume(); + } + }, 500); + } + // Return locks after resize + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } +} + +function onClick(e) { + const swiper = this; + if (!swiper.enabled) return; + if (!swiper.allowClick) { + if (swiper.params.preventClicks) e.preventDefault(); + if (swiper.params.preventClicksPropagation && swiper.animating) { + e.stopPropagation(); + e.stopImmediatePropagation(); + } + } +} + +function onScroll() { + const swiper = this; + const { + wrapperEl, + rtlTranslate, + enabled + } = swiper; + if (!enabled) return; + swiper.previousTranslate = swiper.translate; + if (swiper.isHorizontal()) { + swiper.translate = -wrapperEl.scrollLeft; + } else { + swiper.translate = -wrapperEl.scrollTop; + } + // eslint-disable-next-line + if (swiper.translate === 0) swiper.translate = 0; + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + let newProgress; + const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + if (translatesDiff === 0) { + newProgress = 0; + } else { + newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; + } + if (newProgress !== swiper.progress) { + swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); + } + swiper.emit('setTranslate', swiper.translate, false); +} + +function onLoad(e) { + const swiper = this; + processLazyPreloader(swiper, e.target); + if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) { + return; + } + swiper.update(); +} + +function onDocumentTouchStart() { + const swiper = this; + if (swiper.documentTouchHandlerProceeded) return; + swiper.documentTouchHandlerProceeded = true; + if (swiper.params.touchReleaseOnEdges) { + swiper.el.style.touchAction = 'auto'; + } +} + +const events = (swiper, method) => { + const document = getDocument(); + const { + params, + el, + wrapperEl, + device + } = swiper; + const capture = !!params.nested; + const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; + const swiperMethod = method; + if (!el || typeof el === 'string') return; + + // Touch Events + document[domMethod]('touchstart', swiper.onDocumentTouchStart, { + passive: false, + capture + }); + el[domMethod]('touchstart', swiper.onTouchStart, { + passive: false + }); + el[domMethod]('pointerdown', swiper.onTouchStart, { + passive: false + }); + document[domMethod]('touchmove', swiper.onTouchMove, { + passive: false, + capture + }); + document[domMethod]('pointermove', swiper.onTouchMove, { + passive: false, + capture + }); + document[domMethod]('touchend', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('pointerup', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('pointercancel', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('touchcancel', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('pointerout', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('pointerleave', swiper.onTouchEnd, { + passive: true + }); + document[domMethod]('contextmenu', swiper.onTouchEnd, { + passive: true + }); + + // Prevent Links Clicks + if (params.preventClicks || params.preventClicksPropagation) { + el[domMethod]('click', swiper.onClick, true); + } + if (params.cssMode) { + wrapperEl[domMethod]('scroll', swiper.onScroll); + } + + // Resize handler + if (params.updateOnWindowResize) { + swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true); + } else { + swiper[swiperMethod]('observerUpdate', onResize, true); + } + + // Images loader + el[domMethod]('load', swiper.onLoad, { + capture: true + }); +}; +function attachEvents() { + const swiper = this; + const { + params + } = swiper; + swiper.onTouchStart = onTouchStart.bind(swiper); + swiper.onTouchMove = onTouchMove.bind(swiper); + swiper.onTouchEnd = onTouchEnd.bind(swiper); + swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper); + if (params.cssMode) { + swiper.onScroll = onScroll.bind(swiper); + } + swiper.onClick = onClick.bind(swiper); + swiper.onLoad = onLoad.bind(swiper); + events(swiper, 'on'); +} +function detachEvents() { + const swiper = this; + events(swiper, 'off'); +} +var events$1 = { + attachEvents, + detachEvents +}; + +const isGridEnabled = (swiper, params) => { + return swiper.grid && params.grid && params.grid.rows > 1; +}; +function setBreakpoint() { + const swiper = this; + const { + realIndex, + initialized, + params, + el + } = swiper; + const breakpoints = params.breakpoints; + if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; + const document = getDocument(); + + // Get breakpoint for window/container width and update parameters + const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container'; + const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase); + const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer); + if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; + const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; + const breakpointParams = breakpointOnlyParams || swiper.originalParams; + const wasMultiRow = isGridEnabled(swiper, params); + const isMultiRow = isGridEnabled(swiper, breakpointParams); + const wasGrabCursor = swiper.params.grabCursor; + const isGrabCursor = breakpointParams.grabCursor; + const wasEnabled = params.enabled; + if (wasMultiRow && !isMultiRow) { + el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`); + swiper.emitContainerClasses(); + } else if (!wasMultiRow && isMultiRow) { + el.classList.add(`${params.containerModifierClass}grid`); + if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { + el.classList.add(`${params.containerModifierClass}grid-column`); + } + swiper.emitContainerClasses(); + } + if (wasGrabCursor && !isGrabCursor) { + swiper.unsetGrabCursor(); + } else if (!wasGrabCursor && isGrabCursor) { + swiper.setGrabCursor(); + } + + // Toggle navigation, pagination, scrollbar + ['navigation', 'pagination', 'scrollbar'].forEach(prop => { + if (typeof breakpointParams[prop] === 'undefined') return; + const wasModuleEnabled = params[prop] && params[prop].enabled; + const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; + if (wasModuleEnabled && !isModuleEnabled) { + swiper[prop].disable(); + } + if (!wasModuleEnabled && isModuleEnabled) { + swiper[prop].enable(); + } + }); + const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; + const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); + const wasLoop = params.loop; + if (directionChanged && initialized) { + swiper.changeDirection(); + } + extend(swiper.params, breakpointParams); + const isEnabled = swiper.params.enabled; + const hasLoop = swiper.params.loop; + Object.assign(swiper, { + allowTouchMove: swiper.params.allowTouchMove, + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev + }); + if (wasEnabled && !isEnabled) { + swiper.disable(); + } else if (!wasEnabled && isEnabled) { + swiper.enable(); + } + swiper.currentBreakpoint = breakpoint; + swiper.emit('_beforeBreakpoint', breakpointParams); + if (initialized) { + if (needsReLoop) { + swiper.loopDestroy(); + swiper.loopCreate(realIndex); + swiper.updateSlides(); + } else if (!wasLoop && hasLoop) { + swiper.loopCreate(realIndex); + swiper.updateSlides(); + } else if (wasLoop && !hasLoop) { + swiper.loopDestroy(); + } + } + swiper.emit('breakpoint', breakpointParams); +} + +function getBreakpoint(breakpoints, base, containerEl) { + if (base === void 0) { + base = 'window'; + } + if (!breakpoints || base === 'container' && !containerEl) return undefined; + let breakpoint = false; + const window = getWindow(); + const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; + const points = Object.keys(breakpoints).map(point => { + if (typeof point === 'string' && point.indexOf('@') === 0) { + const minRatio = parseFloat(point.substr(1)); + const value = currentHeight * minRatio; + return { + value, + point + }; + } + return { + value: point, + point + }; + }); + points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); + for (let i = 0; i < points.length; i += 1) { + const { + point, + value + } = points[i]; + if (base === 'window') { + if (window.matchMedia(`(min-width: ${value}px)`).matches) { + breakpoint = point; + } + } else if (value <= containerEl.clientWidth) { + breakpoint = point; + } + } + return breakpoint || 'max'; +} + +var breakpoints = { + setBreakpoint, + getBreakpoint +}; + +function prepareClasses(entries, prefix) { + const resultClasses = []; + entries.forEach(item => { + if (typeof item === 'object') { + Object.keys(item).forEach(classNames => { + if (item[classNames]) { + resultClasses.push(prefix + classNames); + } + }); + } else if (typeof item === 'string') { + resultClasses.push(prefix + item); + } + }); + return resultClasses; +} +function addClasses() { + const swiper = this; + const { + classNames, + params, + rtl, + el, + device + } = swiper; + // prettier-ignore + const suffixes = prepareClasses(['initialized', params.direction, { + 'free-mode': swiper.params.freeMode && params.freeMode.enabled + }, { + 'autoheight': params.autoHeight + }, { + 'rtl': rtl + }, { + 'grid': params.grid && params.grid.rows > 1 + }, { + 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' + }, { + 'android': device.android + }, { + 'ios': device.ios + }, { + 'css-mode': params.cssMode + }, { + 'centered': params.cssMode && params.centeredSlides + }, { + 'watch-progress': params.watchSlidesProgress + }], params.containerModifierClass); + classNames.push(...suffixes); + el.classList.add(...classNames); + swiper.emitContainerClasses(); +} + +function removeClasses() { + const swiper = this; + const { + el, + classNames + } = swiper; + if (!el || typeof el === 'string') return; + el.classList.remove(...classNames); + swiper.emitContainerClasses(); +} + +var classes = { + addClasses, + removeClasses +}; + +function checkOverflow() { + const swiper = this; + const { + isLocked: wasLocked, + params + } = swiper; + const { + slidesOffsetBefore + } = params; + if (slidesOffsetBefore) { + const lastSlideIndex = swiper.slides.length - 1; + const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; + swiper.isLocked = swiper.size > lastSlideRightEdge; + } else { + swiper.isLocked = swiper.snapGrid.length === 1; + } + if (params.allowSlideNext === true) { + swiper.allowSlideNext = !swiper.isLocked; + } + if (params.allowSlidePrev === true) { + swiper.allowSlidePrev = !swiper.isLocked; + } + if (wasLocked && wasLocked !== swiper.isLocked) { + swiper.isEnd = false; + } + if (wasLocked !== swiper.isLocked) { + swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); + } +} +var checkOverflow$1 = { + checkOverflow +}; + +var defaults = { + init: true, + direction: 'horizontal', + oneWayMovement: false, + swiperElementNodeName: 'SWIPER-CONTAINER', + touchEventsTarget: 'wrapper', + initialSlide: 0, + speed: 300, + cssMode: false, + updateOnWindowResize: true, + resizeObserver: true, + nested: false, + createElements: false, + eventsPrefix: 'swiper', + enabled: true, + focusableElements: 'input, select, option, textarea, button, video, label', + // Overrides + width: null, + height: null, + // + preventInteractionOnTransition: false, + // ssr + userAgent: null, + url: null, + // To support iOS's swipe-to-go-back gesture (when being used in-app). + edgeSwipeDetection: false, + edgeSwipeThreshold: 20, + // Autoheight + autoHeight: false, + // Set wrapper width + setWrapperSize: false, + // Virtual Translate + virtualTranslate: false, + // Effects + effect: 'slide', + // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' + + // Breakpoints + breakpoints: undefined, + breakpointsBase: 'window', + // Slides grid + spaceBetween: 0, + slidesPerView: 1, + slidesPerGroup: 1, + slidesPerGroupSkip: 0, + slidesPerGroupAuto: false, + centeredSlides: false, + centeredSlidesBounds: false, + slidesOffsetBefore: 0, + // in px + slidesOffsetAfter: 0, + // in px + normalizeSlideIndex: true, + centerInsufficientSlides: false, + // Disable swiper and hide navigation when container not overflow + watchOverflow: true, + // Round length + roundLengths: false, + // Touches + touchRatio: 1, + touchAngle: 45, + simulateTouch: true, + shortSwipes: true, + longSwipes: true, + longSwipesRatio: 0.5, + longSwipesMs: 300, + followFinger: true, + allowTouchMove: true, + threshold: 5, + touchMoveStopPropagation: false, + touchStartPreventDefault: true, + touchStartForcePreventDefault: false, + touchReleaseOnEdges: false, + // Unique Navigation Elements + uniqueNavElements: true, + // Resistance + resistance: true, + resistanceRatio: 0.85, + // Progress + watchSlidesProgress: false, + // Cursor + grabCursor: false, + // Clicks + preventClicks: true, + preventClicksPropagation: true, + slideToClickedSlide: false, + // loop + loop: false, + loopAddBlankSlides: true, + loopAdditionalSlides: 0, + loopPreventsSliding: true, + // rewind + rewind: false, + // Swiping/no swiping + allowSlidePrev: true, + allowSlideNext: true, + swipeHandler: null, + // '.swipe-handler', + noSwiping: true, + noSwipingClass: 'swiper-no-swiping', + noSwipingSelector: null, + // Passive Listeners + passiveListeners: true, + maxBackfaceHiddenSlides: 10, + // NS + containerModifierClass: 'swiper-', + // NEW + slideClass: 'swiper-slide', + slideBlankClass: 'swiper-slide-blank', + slideActiveClass: 'swiper-slide-active', + slideVisibleClass: 'swiper-slide-visible', + slideFullyVisibleClass: 'swiper-slide-fully-visible', + slideNextClass: 'swiper-slide-next', + slidePrevClass: 'swiper-slide-prev', + wrapperClass: 'swiper-wrapper', + lazyPreloaderClass: 'swiper-lazy-preloader', + lazyPreloadPrevNext: 0, + // Callbacks + runCallbacksOnInit: true, + // Internals + _emitClasses: false +}; + +function moduleExtendParams(params, allModulesParams) { + return function extendParams(obj) { + if (obj === void 0) { + obj = {}; + } + const moduleParamName = Object.keys(obj)[0]; + const moduleParams = obj[moduleParamName]; + if (typeof moduleParams !== 'object' || moduleParams === null) { + extend(allModulesParams, obj); + return; + } + if (params[moduleParamName] === true) { + params[moduleParamName] = { + enabled: true + }; + } + if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) { + params[moduleParamName].auto = true; + } + if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) { + params[moduleParamName].auto = true; + } + if (!(moduleParamName in params && 'enabled' in moduleParams)) { + extend(allModulesParams, obj); + return; + } + if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { + params[moduleParamName].enabled = true; + } + if (!params[moduleParamName]) params[moduleParamName] = { + enabled: false + }; + extend(allModulesParams, obj); + }; +} + +/* eslint no-param-reassign: "off" */ +const prototypes = { + eventsEmitter, + update, + translate, + transition, + slide, + loop, + grabCursor, + events: events$1, + breakpoints, + checkOverflow: checkOverflow$1, + classes +}; +const extendedDefaults = {}; +class Swiper { + constructor() { + let el; + let params; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { + params = args[0]; + } else { + [el, params] = args; + } + if (!params) params = {}; + params = extend({}, params); + if (el && !params.el) params.el = el; + const document = getDocument(); + if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) { + const swipers = []; + document.querySelectorAll(params.el).forEach(containerEl => { + const newParams = extend({}, params, { + el: containerEl + }); + swipers.push(new Swiper(newParams)); + }); + // eslint-disable-next-line no-constructor-return + return swipers; + } + + // Swiper Instance + const swiper = this; + swiper.__swiper__ = true; + swiper.support = getSupport(); + swiper.device = getDevice({ + userAgent: params.userAgent + }); + swiper.browser = getBrowser(); + swiper.eventsListeners = {}; + swiper.eventsAnyListeners = []; + swiper.modules = [...swiper.__modules__]; + if (params.modules && Array.isArray(params.modules)) { + swiper.modules.push(...params.modules); + } + const allModulesParams = {}; + swiper.modules.forEach(mod => { + mod({ + params, + swiper, + extendParams: moduleExtendParams(params, allModulesParams), + on: swiper.on.bind(swiper), + once: swiper.once.bind(swiper), + off: swiper.off.bind(swiper), + emit: swiper.emit.bind(swiper) + }); + }); + + // Extend defaults with modules params + const swiperParams = extend({}, defaults, allModulesParams); + + // Extend defaults with passed params + swiper.params = extend({}, swiperParams, extendedDefaults, params); + swiper.originalParams = extend({}, swiper.params); + swiper.passedParams = extend({}, params); + + // add event listeners + if (swiper.params && swiper.params.on) { + Object.keys(swiper.params.on).forEach(eventName => { + swiper.on(eventName, swiper.params.on[eventName]); + }); + } + if (swiper.params && swiper.params.onAny) { + swiper.onAny(swiper.params.onAny); + } + + // Extend Swiper + Object.assign(swiper, { + enabled: swiper.params.enabled, + el, + // Classes + classNames: [], + // Slides + slides: [], + slidesGrid: [], + snapGrid: [], + slidesSizesGrid: [], + // isDirection + isHorizontal() { + return swiper.params.direction === 'horizontal'; + }, + isVertical() { + return swiper.params.direction === 'vertical'; + }, + // Indexes + activeIndex: 0, + realIndex: 0, + // + isBeginning: true, + isEnd: false, + // Props + translate: 0, + previousTranslate: 0, + progress: 0, + velocity: 0, + animating: false, + cssOverflowAdjustment() { + // Returns 0 unless `translate` is > 2**23 + // Should be subtracted from css values to prevent overflow + return Math.trunc(this.translate / 2 ** 23) * 2 ** 23; + }, + // Locks + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev, + // Touch Events + touchEventsData: { + isTouched: undefined, + isMoved: undefined, + allowTouchCallbacks: undefined, + touchStartTime: undefined, + isScrolling: undefined, + currentTranslate: undefined, + startTranslate: undefined, + allowThresholdMove: undefined, + // Form elements to match + focusableElements: swiper.params.focusableElements, + // Last click time + lastClickTime: 0, + clickTimeout: undefined, + // Velocities + velocities: [], + allowMomentumBounce: undefined, + startMoving: undefined, + pointerId: null, + touchId: null + }, + // Clicks + allowClick: true, + // Touches + allowTouchMove: swiper.params.allowTouchMove, + touches: { + startX: 0, + startY: 0, + currentX: 0, + currentY: 0, + diff: 0 + }, + // Images + imagesToLoad: [], + imagesLoaded: 0 + }); + swiper.emit('_swiper'); + + // Init + if (swiper.params.init) { + swiper.init(); + } + + // Return app instance + // eslint-disable-next-line no-constructor-return + return swiper; + } + getDirectionLabel(property) { + if (this.isHorizontal()) { + return property; + } + // prettier-ignore + return { + 'width': 'height', + 'margin-top': 'margin-left', + 'margin-bottom ': 'margin-right', + 'margin-left': 'margin-top', + 'margin-right': 'margin-bottom', + 'padding-left': 'padding-top', + 'padding-right': 'padding-bottom', + 'marginRight': 'marginBottom' + }[property]; + } + getSlideIndex(slideEl) { + const { + slidesEl, + params + } = this; + const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); + const firstSlideIndex = elementIndex(slides[0]); + return elementIndex(slideEl) - firstSlideIndex; + } + getSlideIndexByData(index) { + return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)); + } + getSlideIndexWhenGrid(index) { + if (this.grid && this.params.grid && this.params.grid.rows > 1) { + if (this.params.grid.fill === 'column') { + index = Math.floor(index / this.params.grid.rows); + } else if (this.params.grid.fill === 'row') { + index = index % Math.ceil(this.slides.length / this.params.grid.rows); + } + } + return index; + } + recalcSlides() { + const swiper = this; + const { + slidesEl, + params + } = swiper; + swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`); + } + enable() { + const swiper = this; + if (swiper.enabled) return; + swiper.enabled = true; + if (swiper.params.grabCursor) { + swiper.setGrabCursor(); + } + swiper.emit('enable'); + } + disable() { + const swiper = this; + if (!swiper.enabled) return; + swiper.enabled = false; + if (swiper.params.grabCursor) { + swiper.unsetGrabCursor(); + } + swiper.emit('disable'); + } + setProgress(progress, speed) { + const swiper = this; + progress = Math.min(Math.max(progress, 0), 1); + const min = swiper.minTranslate(); + const max = swiper.maxTranslate(); + const current = (max - min) * progress + min; + swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + emitContainerClasses() { + const swiper = this; + if (!swiper.params._emitClasses || !swiper.el) return; + const cls = swiper.el.className.split(' ').filter(className => { + return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; + }); + swiper.emit('_containerClasses', cls.join(' ')); + } + getSlideClasses(slideEl) { + const swiper = this; + if (swiper.destroyed) return ''; + return slideEl.className.split(' ').filter(className => { + return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; + }).join(' '); + } + emitSlidesClasses() { + const swiper = this; + if (!swiper.params._emitClasses || !swiper.el) return; + const updates = []; + swiper.slides.forEach(slideEl => { + const classNames = swiper.getSlideClasses(slideEl); + updates.push({ + slideEl, + classNames + }); + swiper.emit('_slideClass', slideEl, classNames); + }); + swiper.emit('_slideClasses', updates); + } + slidesPerViewDynamic(view, exact) { + if (view === void 0) { + view = 'current'; + } + if (exact === void 0) { + exact = false; + } + const swiper = this; + const { + params, + slides, + slidesGrid, + slidesSizesGrid, + size: swiperSize, + activeIndex + } = swiper; + let spv = 1; + if (typeof params.slidesPerView === 'number') return params.slidesPerView; + if (params.centeredSlides) { + let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0; + let breakLoop; + for (let i = activeIndex + 1; i < slides.length; i += 1) { + if (slides[i] && !breakLoop) { + slideSize += Math.ceil(slides[i].swiperSlideSize); + spv += 1; + if (slideSize > swiperSize) breakLoop = true; + } + } + for (let i = activeIndex - 1; i >= 0; i -= 1) { + if (slides[i] && !breakLoop) { + slideSize += slides[i].swiperSlideSize; + spv += 1; + if (slideSize > swiperSize) breakLoop = true; + } + } + } else { + // eslint-disable-next-line + if (view === 'current') { + for (let i = activeIndex + 1; i < slides.length; i += 1) { + const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; + if (slideInView) { + spv += 1; + } + } + } else { + // previous + for (let i = activeIndex - 1; i >= 0; i -= 1) { + const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; + if (slideInView) { + spv += 1; + } + } + } + } + return spv; + } + update() { + const swiper = this; + if (!swiper || swiper.destroyed) return; + const { + snapGrid, + params + } = swiper; + // Breakpoints + if (params.breakpoints) { + swiper.setBreakpoint(); + } + [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => { + if (imageEl.complete) { + processLazyPreloader(swiper, imageEl); + } + }); + swiper.updateSize(); + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + function setTranslate() { + const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; + const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); + swiper.setTranslate(newTranslate); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + let translated; + if (params.freeMode && params.freeMode.enabled && !params.cssMode) { + setTranslate(); + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + } else { + if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) { + const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides; + translated = swiper.slideTo(slides.length - 1, 0, false, true); + } else { + translated = swiper.slideTo(swiper.activeIndex, 0, false, true); + } + if (!translated) { + setTranslate(); + } + } + if (params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } + swiper.emit('update'); + } + changeDirection(newDirection, needUpdate) { + if (needUpdate === void 0) { + needUpdate = true; + } + const swiper = this; + const currentDirection = swiper.params.direction; + if (!newDirection) { + // eslint-disable-next-line + newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; + } + if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { + return swiper; + } + swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`); + swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`); + swiper.emitContainerClasses(); + swiper.params.direction = newDirection; + swiper.slides.forEach(slideEl => { + if (newDirection === 'vertical') { + slideEl.style.width = ''; + } else { + slideEl.style.height = ''; + } + }); + swiper.emit('changeDirection'); + if (needUpdate) swiper.update(); + return swiper; + } + changeLanguageDirection(direction) { + const swiper = this; + if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; + swiper.rtl = direction === 'rtl'; + swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; + if (swiper.rtl) { + swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`); + swiper.el.dir = 'rtl'; + } else { + swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`); + swiper.el.dir = 'ltr'; + } + swiper.update(); + } + mount(element) { + const swiper = this; + if (swiper.mounted) return true; + + // Find el + let el = element || swiper.params.el; + if (typeof el === 'string') { + el = document.querySelector(el); + } + if (!el) { + return false; + } + el.swiper = swiper; + if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) { + swiper.isElement = true; + } + const getWrapperSelector = () => { + return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; + }; + const getWrapper = () => { + if (el && el.shadowRoot && el.shadowRoot.querySelector) { + const res = el.shadowRoot.querySelector(getWrapperSelector()); + // Children needs to return slot items + return res; + } + return elementChildren(el, getWrapperSelector())[0]; + }; + // Find Wrapper + let wrapperEl = getWrapper(); + if (!wrapperEl && swiper.params.createElements) { + wrapperEl = createElement('div', swiper.params.wrapperClass); + el.append(wrapperEl); + elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => { + wrapperEl.append(slideEl); + }); + } + Object.assign(swiper, { + el, + wrapperEl, + slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl, + hostEl: swiper.isElement ? el.parentNode.host : el, + mounted: true, + // RTL + rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl', + rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'), + wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box' + }); + return true; + } + init(el) { + const swiper = this; + if (swiper.initialized) return swiper; + const mounted = swiper.mount(el); + if (mounted === false) return swiper; + swiper.emit('beforeInit'); + + // Set breakpoint + if (swiper.params.breakpoints) { + swiper.setBreakpoint(); + } + + // Add Classes + swiper.addClasses(); + + // Update size + swiper.updateSize(); + + // Update slides + swiper.updateSlides(); + if (swiper.params.watchOverflow) { + swiper.checkOverflow(); + } + + // Set Grab Cursor + if (swiper.params.grabCursor && swiper.enabled) { + swiper.setGrabCursor(); + } + + // Slide To Initial Slide + if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) { + swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true); + } else { + swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); + } + + // Create loop + if (swiper.params.loop) { + swiper.loopCreate(undefined, true); + } + + // Attach events + swiper.attachEvents(); + const lazyElements = [...swiper.el.querySelectorAll('[loading="lazy"]')]; + if (swiper.isElement) { + lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')); + } + lazyElements.forEach(imageEl => { + if (imageEl.complete) { + processLazyPreloader(swiper, imageEl); + } else { + imageEl.addEventListener('load', e => { + processLazyPreloader(swiper, e.target); + }); + } + }); + preload(swiper); + + // Init Flag + swiper.initialized = true; + preload(swiper); + + // Emit + swiper.emit('init'); + swiper.emit('afterInit'); + return swiper; + } + destroy(deleteInstance, cleanStyles) { + if (deleteInstance === void 0) { + deleteInstance = true; + } + if (cleanStyles === void 0) { + cleanStyles = true; + } + const swiper = this; + const { + params, + el, + wrapperEl, + slides + } = swiper; + if (typeof swiper.params === 'undefined' || swiper.destroyed) { + return null; + } + swiper.emit('beforeDestroy'); + + // Init Flag + swiper.initialized = false; + + // Detach events + swiper.detachEvents(); + + // Destroy loop + if (params.loop) { + swiper.loopDestroy(); + } + + // Cleanup styles + if (cleanStyles) { + swiper.removeClasses(); + if (el && typeof el !== 'string') { + el.removeAttribute('style'); + } + if (wrapperEl) { + wrapperEl.removeAttribute('style'); + } + if (slides && slides.length) { + slides.forEach(slideEl => { + slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass); + slideEl.removeAttribute('style'); + slideEl.removeAttribute('data-swiper-slide-index'); + }); + } + } + swiper.emit('destroy'); + + // Detach emitter events + Object.keys(swiper.eventsListeners).forEach(eventName => { + swiper.off(eventName); + }); + if (deleteInstance !== false) { + if (swiper.el && typeof swiper.el !== 'string') { + swiper.el.swiper = null; + } + deleteProps(swiper); + } + swiper.destroyed = true; + return null; + } + static extendDefaults(newDefaults) { + extend(extendedDefaults, newDefaults); + } + static get extendedDefaults() { + return extendedDefaults; + } + static get defaults() { + return defaults; + } + static installModule(mod) { + if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; + const modules = Swiper.prototype.__modules__; + if (typeof mod === 'function' && modules.indexOf(mod) < 0) { + modules.push(mod); + } + } + static use(module) { + if (Array.isArray(module)) { + module.forEach(m => Swiper.installModule(m)); + return Swiper; + } + Swiper.installModule(module); + return Swiper; + } +} +Object.keys(prototypes).forEach(prototypeGroup => { + Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { + Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; + }); +}); +Swiper.use([Resize, Observer]); + +export { Swiper as S, defaults as d }; diff --git a/.output/server/node_modules/swiper/shared/update-on-virtual-data.mjs b/.output/server/node_modules/swiper/shared/update-on-virtual-data.mjs new file mode 100644 index 00000000..501881d7 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/update-on-virtual-data.mjs @@ -0,0 +1,131 @@ +import { e as extend, p as paramsList, i as isObject, n as needsNavigation, a as needsPagination, b as needsScrollbar } from './update-swiper.mjs'; +import { d as defaults } from './swiper-core.mjs'; + +function getParams(obj, splitEvents) { + if (obj === void 0) { + obj = {}; + } + if (splitEvents === void 0) { + splitEvents = true; + } + const params = { + on: {} + }; + const events = {}; + const passedParams = {}; + extend(params, defaults); + params._emitClasses = true; + params.init = false; + const rest = {}; + const allowedParams = paramsList.map(key => key.replace(/_/, '')); + const plainObj = Object.assign({}, obj); + Object.keys(plainObj).forEach(key => { + if (typeof obj[key] === 'undefined') return; + if (allowedParams.indexOf(key) >= 0) { + if (isObject(obj[key])) { + params[key] = {}; + passedParams[key] = {}; + extend(params[key], obj[key]); + extend(passedParams[key], obj[key]); + } else { + params[key] = obj[key]; + passedParams[key] = obj[key]; + } + } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') { + if (splitEvents) { + events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key]; + } else { + params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key]; + } + } else { + rest[key] = obj[key]; + } + }); + ['navigation', 'pagination', 'scrollbar'].forEach(key => { + if (params[key] === true) params[key] = {}; + if (params[key] === false) delete params[key]; + }); + return { + params, + passedParams, + rest, + events + }; +} + +function mountSwiper(_ref, swiperParams) { + let { + el, + nextEl, + prevEl, + paginationEl, + scrollbarEl, + swiper + } = _ref; + if (needsNavigation(swiperParams) && nextEl && prevEl) { + swiper.params.navigation.nextEl = nextEl; + swiper.originalParams.navigation.nextEl = nextEl; + swiper.params.navigation.prevEl = prevEl; + swiper.originalParams.navigation.prevEl = prevEl; + } + if (needsPagination(swiperParams) && paginationEl) { + swiper.params.pagination.el = paginationEl; + swiper.originalParams.pagination.el = paginationEl; + } + if (needsScrollbar(swiperParams) && scrollbarEl) { + swiper.params.scrollbar.el = scrollbarEl; + swiper.originalParams.scrollbar.el = scrollbarEl; + } + swiper.init(el); +} + +function getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) { + const keys = []; + if (!oldParams) return keys; + const addKey = key => { + if (keys.indexOf(key) < 0) keys.push(key); + }; + if (children && oldChildren) { + const oldChildrenKeys = oldChildren.map(getKey); + const childrenKeys = children.map(getKey); + if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children'); + if (oldChildren.length !== children.length) addKey('children'); + } + const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, '')); + watchParams.forEach(key => { + if (key in swiperParams && key in oldParams) { + if (isObject(swiperParams[key]) && isObject(oldParams[key])) { + const newKeys = Object.keys(swiperParams[key]); + const oldKeys = Object.keys(oldParams[key]); + if (newKeys.length !== oldKeys.length) { + addKey(key); + } else { + newKeys.forEach(newKey => { + if (swiperParams[key][newKey] !== oldParams[key][newKey]) { + addKey(key); + } + }); + oldKeys.forEach(oldKey => { + if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key); + }); + } + } else if (swiperParams[key] !== oldParams[key]) { + addKey(key); + } + } + }); + return keys; +} + +const updateOnVirtualData = swiper => { + if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return; + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + swiper.emit('_virtualUpdated'); + if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) { + swiper.parallax.setTranslate(); + } +}; + +export { getChangedParams as a, getParams as g, mountSwiper as m, updateOnVirtualData as u }; diff --git a/.output/server/node_modules/swiper/shared/update-swiper.mjs b/.output/server/node_modules/swiper/shared/update-swiper.mjs new file mode 100644 index 00000000..ffa1b046 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/update-swiper.mjs @@ -0,0 +1,238 @@ +import { s as setInnerHTML } from './utils.mjs'; + +/* underscore in name -> watch for changes */ +const paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren', +// modules +'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control']; + +function isObject(o) { + return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__; +} +function extend(target, src) { + const noExtend = ['__proto__', 'constructor', 'prototype']; + Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => { + if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) { + if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]); + } else { + target[key] = src[key]; + } + }); +} +function needsNavigation(params) { + if (params === void 0) { + params = {}; + } + return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined'; +} +function needsPagination(params) { + if (params === void 0) { + params = {}; + } + return params.pagination && typeof params.pagination.el === 'undefined'; +} +function needsScrollbar(params) { + if (params === void 0) { + params = {}; + } + return params.scrollbar && typeof params.scrollbar.el === 'undefined'; +} +function uniqueClasses(classNames) { + if (classNames === void 0) { + classNames = ''; + } + const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c); + const unique = []; + classes.forEach(c => { + if (unique.indexOf(c) < 0) unique.push(c); + }); + return unique.join(' '); +} +function attrToProp(attrName) { + if (attrName === void 0) { + attrName = ''; + } + return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', '')); +} +function wrapperClass(className) { + if (className === void 0) { + className = ''; + } + if (!className) return 'swiper-wrapper'; + if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`; + return className; +} + +function updateSwiper(_ref) { + let { + swiper, + slides, + passedParams, + changedParams, + nextEl, + prevEl, + scrollbarEl, + paginationEl + } = _ref; + const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass'); + const { + params: currentParams, + pagination, + navigation, + scrollbar, + virtual, + thumbs + } = swiper; + let needThumbsInit; + let needControllerInit; + let needPaginationInit; + let needScrollbarInit; + let needNavigationInit; + let loopNeedDestroy; + let loopNeedEnable; + let loopNeedReloop; + if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && !passedParams.thumbs.swiper.destroyed && currentParams.thumbs && (!currentParams.thumbs.swiper || currentParams.thumbs.swiper.destroyed)) { + needThumbsInit = true; + } + if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) { + needControllerInit = true; + } + if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) { + needPaginationInit = true; + } + if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) { + needScrollbarInit = true; + } + if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) { + needNavigationInit = true; + } + const destroyModule = mod => { + if (!swiper[mod]) return; + swiper[mod].destroy(); + if (mod === 'navigation') { + if (swiper.isElement) { + swiper[mod].prevEl.remove(); + swiper[mod].nextEl.remove(); + } + currentParams[mod].prevEl = undefined; + currentParams[mod].nextEl = undefined; + swiper[mod].prevEl = undefined; + swiper[mod].nextEl = undefined; + } else { + if (swiper.isElement) { + swiper[mod].el.remove(); + } + currentParams[mod].el = undefined; + swiper[mod].el = undefined; + } + }; + if (changedParams.includes('loop') && swiper.isElement) { + if (currentParams.loop && !passedParams.loop) { + loopNeedDestroy = true; + } else if (!currentParams.loop && passedParams.loop) { + loopNeedEnable = true; + } else { + loopNeedReloop = true; + } + } + updateParams.forEach(key => { + if (isObject(currentParams[key]) && isObject(passedParams[key])) { + Object.assign(currentParams[key], passedParams[key]); + if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) { + destroyModule(key); + } + } else { + const newValue = passedParams[key]; + if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) { + if (newValue === false) { + destroyModule(key); + } + } else { + currentParams[key] = passedParams[key]; + } + } + }); + if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) { + swiper.controller.control = currentParams.controller.control; + } + if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) { + virtual.slides = slides; + virtual.update(true); + } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) { + if (slides) virtual.slides = slides; + virtual.update(true); + } + if (changedParams.includes('children') && slides && currentParams.loop) { + loopNeedReloop = true; + } + if (needThumbsInit) { + const initialized = thumbs.init(); + if (initialized) thumbs.update(true); + } + if (needControllerInit) { + swiper.controller.control = currentParams.controller.control; + } + if (needPaginationInit) { + if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) { + paginationEl = document.createElement('div'); + paginationEl.classList.add('swiper-pagination'); + paginationEl.part.add('pagination'); + swiper.el.appendChild(paginationEl); + } + if (paginationEl) currentParams.pagination.el = paginationEl; + pagination.init(); + pagination.render(); + pagination.update(); + } + if (needScrollbarInit) { + if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) { + scrollbarEl = document.createElement('div'); + scrollbarEl.classList.add('swiper-scrollbar'); + scrollbarEl.part.add('scrollbar'); + swiper.el.appendChild(scrollbarEl); + } + if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl; + scrollbar.init(); + scrollbar.updateSize(); + scrollbar.setTranslate(); + } + if (needNavigationInit) { + if (swiper.isElement) { + if (!nextEl || typeof nextEl === 'string') { + nextEl = document.createElement('div'); + nextEl.classList.add('swiper-button-next'); + setInnerHTML(nextEl, swiper.hostEl.constructor.nextButtonSvg); + nextEl.part.add('button-next'); + swiper.el.appendChild(nextEl); + } + if (!prevEl || typeof prevEl === 'string') { + prevEl = document.createElement('div'); + prevEl.classList.add('swiper-button-prev'); + setInnerHTML(prevEl, swiper.hostEl.constructor.prevButtonSvg); + prevEl.part.add('button-prev'); + swiper.el.appendChild(prevEl); + } + } + if (nextEl) currentParams.navigation.nextEl = nextEl; + if (prevEl) currentParams.navigation.prevEl = prevEl; + navigation.init(); + navigation.update(); + } + if (changedParams.includes('allowSlideNext')) { + swiper.allowSlideNext = passedParams.allowSlideNext; + } + if (changedParams.includes('allowSlidePrev')) { + swiper.allowSlidePrev = passedParams.allowSlidePrev; + } + if (changedParams.includes('direction')) { + swiper.changeDirection(passedParams.direction, false); + } + if (loopNeedDestroy || loopNeedReloop) { + swiper.loopDestroy(); + } + if (loopNeedEnable || loopNeedReloop) { + swiper.loopCreate(); + } + swiper.update(); +} + +export { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w }; diff --git a/.output/server/node_modules/swiper/shared/utils.mjs b/.output/server/node_modules/swiper/shared/utils.mjs new file mode 100644 index 00000000..f58125d9 --- /dev/null +++ b/.output/server/node_modules/swiper/shared/utils.mjs @@ -0,0 +1,343 @@ +import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs'; + +function classesToTokens(classes) { + if (classes === void 0) { + classes = ''; + } + return classes.trim().split(' ').filter(c => !!c.trim()); +} + +function deleteProps(obj) { + const object = obj; + Object.keys(object).forEach(key => { + try { + object[key] = null; + } catch (e) { + // no getter for object + } + try { + delete object[key]; + } catch (e) { + // something got wrong + } + }); +} +function nextTick(callback, delay) { + if (delay === void 0) { + delay = 0; + } + return setTimeout(callback, delay); +} +function now() { + return Date.now(); +} +function getComputedStyle(el) { + const window = getWindow(); + let style; + if (window.getComputedStyle) { + style = window.getComputedStyle(el, null); + } + if (!style && el.currentStyle) { + style = el.currentStyle; + } + if (!style) { + style = el.style; + } + return style; +} +function getTranslate(el, axis) { + if (axis === void 0) { + axis = 'x'; + } + const window = getWindow(); + let matrix; + let curTransform; + let transformMatrix; + const curStyle = getComputedStyle(el); + if (window.WebKitCSSMatrix) { + curTransform = curStyle.transform || curStyle.webkitTransform; + if (curTransform.split(',').length > 6) { + curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); + } + // Some old versions of Webkit choke when 'none' is passed; pass + // empty string instead in this case + transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); + } else { + transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); + matrix = transformMatrix.toString().split(','); + } + if (axis === 'x') { + // Latest Chrome and webkits Fix + if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; + // Crazy IE10 Matrix + else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); + // Normal Browsers + else curTransform = parseFloat(matrix[4]); + } + if (axis === 'y') { + // Latest Chrome and webkits Fix + if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; + // Crazy IE10 Matrix + else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); + // Normal Browsers + else curTransform = parseFloat(matrix[5]); + } + return curTransform || 0; +} +function isObject(o) { + return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; +} +function isNode(node) { + // eslint-disable-next-line + if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { + return node instanceof HTMLElement; + } + return node && (node.nodeType === 1 || node.nodeType === 11); +} +function extend() { + const to = Object(arguments.length <= 0 ? undefined : arguments[0]); + const noExtend = ['__proto__', 'constructor', 'prototype']; + for (let i = 1; i < arguments.length; i += 1) { + const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; + if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { + const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); + for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { + const nextKey = keysArray[nextIndex]; + const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); + if (desc !== undefined && desc.enumerable) { + if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { + if (nextSource[nextKey].__swiper__) { + to[nextKey] = nextSource[nextKey]; + } else { + extend(to[nextKey], nextSource[nextKey]); + } + } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { + to[nextKey] = {}; + if (nextSource[nextKey].__swiper__) { + to[nextKey] = nextSource[nextKey]; + } else { + extend(to[nextKey], nextSource[nextKey]); + } + } else { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + } + return to; +} +function setCSSProperty(el, varName, varValue) { + el.style.setProperty(varName, varValue); +} +function animateCSSModeScroll(_ref) { + let { + swiper, + targetPosition, + side + } = _ref; + const window = getWindow(); + const startPosition = -swiper.translate; + let startTime = null; + let time; + const duration = swiper.params.speed; + swiper.wrapperEl.style.scrollSnapType = 'none'; + window.cancelAnimationFrame(swiper.cssModeFrameID); + const dir = targetPosition > startPosition ? 'next' : 'prev'; + const isOutOfBound = (current, target) => { + return dir === 'next' && current >= target || dir === 'prev' && current <= target; + }; + const animate = () => { + time = new Date().getTime(); + if (startTime === null) { + startTime = time; + } + const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); + const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; + let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); + if (isOutOfBound(currentPosition, targetPosition)) { + currentPosition = targetPosition; + } + swiper.wrapperEl.scrollTo({ + [side]: currentPosition + }); + if (isOutOfBound(currentPosition, targetPosition)) { + swiper.wrapperEl.style.overflow = 'hidden'; + swiper.wrapperEl.style.scrollSnapType = ''; + setTimeout(() => { + swiper.wrapperEl.style.overflow = ''; + swiper.wrapperEl.scrollTo({ + [side]: currentPosition + }); + }); + window.cancelAnimationFrame(swiper.cssModeFrameID); + return; + } + swiper.cssModeFrameID = window.requestAnimationFrame(animate); + }; + animate(); +} +function getSlideTransformEl(slideEl) { + return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl; +} +function elementChildren(element, selector) { + if (selector === void 0) { + selector = ''; + } + const window = getWindow(); + const children = [...element.children]; + if (window.HTMLSlotElement && element instanceof HTMLSlotElement) { + children.push(...element.assignedElements()); + } + if (!selector) { + return children; + } + return children.filter(el => el.matches(selector)); +} +function elementIsChildOfSlot(el, slot) { + // Breadth-first search through all parent's children and assigned elements + const elementsQueue = [slot]; + while (elementsQueue.length > 0) { + const elementToCheck = elementsQueue.shift(); + if (el === elementToCheck) { + return true; + } + elementsQueue.push(...elementToCheck.children, ...(elementToCheck.shadowRoot ? elementToCheck.shadowRoot.children : []), ...(elementToCheck.assignedElements ? elementToCheck.assignedElements() : [])); + } +} +function elementIsChildOf(el, parent) { + const window = getWindow(); + let isChild = parent.contains(el); + if (!isChild && window.HTMLSlotElement && parent instanceof HTMLSlotElement) { + const children = [...parent.assignedElements()]; + isChild = children.includes(el); + if (!isChild) { + isChild = elementIsChildOfSlot(el, parent); + } + } + return isChild; +} +function showWarning(text) { + try { + console.warn(text); + return; + } catch (err) { + // err + } +} +function createElement(tag, classes) { + if (classes === void 0) { + classes = []; + } + const el = document.createElement(tag); + el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes))); + return el; +} +function elementOffset(el) { + const window = getWindow(); + const document = getDocument(); + const box = el.getBoundingClientRect(); + const body = document.body; + const clientTop = el.clientTop || body.clientTop || 0; + const clientLeft = el.clientLeft || body.clientLeft || 0; + const scrollTop = el === window ? window.scrollY : el.scrollTop; + const scrollLeft = el === window ? window.scrollX : el.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; +} +function elementPrevAll(el, selector) { + const prevEls = []; + while (el.previousElementSibling) { + const prev = el.previousElementSibling; // eslint-disable-line + if (selector) { + if (prev.matches(selector)) prevEls.push(prev); + } else prevEls.push(prev); + el = prev; + } + return prevEls; +} +function elementNextAll(el, selector) { + const nextEls = []; + while (el.nextElementSibling) { + const next = el.nextElementSibling; // eslint-disable-line + if (selector) { + if (next.matches(selector)) nextEls.push(next); + } else nextEls.push(next); + el = next; + } + return nextEls; +} +function elementStyle(el, prop) { + const window = getWindow(); + return window.getComputedStyle(el, null).getPropertyValue(prop); +} +function elementIndex(el) { + let child = el; + let i; + if (child) { + i = 0; + // eslint-disable-next-line + while ((child = child.previousSibling) !== null) { + if (child.nodeType === 1) i += 1; + } + return i; + } + return undefined; +} +function elementParents(el, selector) { + const parents = []; // eslint-disable-line + let parent = el.parentElement; // eslint-disable-line + while (parent) { + if (selector) { + if (parent.matches(selector)) parents.push(parent); + } else { + parents.push(parent); + } + parent = parent.parentElement; + } + return parents; +} +function elementTransitionEnd(el, callback) { + function fireCallBack(e) { + if (e.target !== el) return; + callback.call(el, e); + el.removeEventListener('transitionend', fireCallBack); + } + if (callback) { + el.addEventListener('transitionend', fireCallBack); + } +} +function elementOuterSize(el, size, includeMargins) { + const window = getWindow(); + if (includeMargins) { + return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom')); + } + return el.offsetWidth; +} +function makeElementsArray(el) { + return (Array.isArray(el) ? el : [el]).filter(e => !!e); +} +function getRotateFix(swiper) { + return v => { + if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) { + return v + 0.001; + } + return v; + }; +} +function setInnerHTML(el, html) { + if (html === void 0) { + html = ''; + } + if (typeof trustedTypes !== 'undefined') { + el.innerHTML = trustedTypes.createPolicy('html', { + createHTML: s => s + }).createHTML(html); + } else { + el.innerHTML = html; + } +} + +export { setCSSProperty as a, elementParents as b, createElement as c, elementOffset as d, elementChildren as e, now as f, getSlideTransformEl as g, elementOuterSize as h, elementIndex as i, classesToTokens as j, getTranslate as k, elementTransitionEnd as l, makeElementsArray as m, nextTick as n, isObject as o, getRotateFix as p, elementStyle as q, elementNextAll as r, setInnerHTML as s, elementPrevAll as t, animateCSSModeScroll as u, showWarning as v, elementIsChildOf as w, extend as x, deleteProps as y }; diff --git a/.output/server/node_modules/swiper/swiper-vue.mjs b/.output/server/node_modules/swiper/swiper-vue.mjs new file mode 100644 index 00000000..70bd0c3d --- /dev/null +++ b/.output/server/node_modules/swiper/swiper-vue.mjs @@ -0,0 +1,838 @@ +/** + * Swiper Vue 11.2.10 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2025 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 28, 2025 + */ + +import { h, ref, onUpdated, provide, watch, nextTick, onMounted, onBeforeUnmount, onBeforeUpdate, computed, inject } from 'vue'; +import { S as Swiper$1 } from './shared/swiper-core.mjs'; +import { g as getParams, a as getChangedParams, u as updateOnVirtualData, m as mountSwiper } from './shared/update-on-virtual-data.mjs'; +import { e as extend, u as updateSwiper, d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination } from './shared/update-swiper.mjs'; + +function getChildren(originalSlots, slidesRef, oldSlidesRef) { + if (originalSlots === void 0) { + originalSlots = {}; + } + const slides = []; + const slots = { + 'container-start': [], + 'container-end': [], + 'wrapper-start': [], + 'wrapper-end': [] + }; + const getSlidesFromElements = (els, slotName) => { + if (!Array.isArray(els)) { + return; + } + els.forEach(vnode => { + const isFragment = typeof vnode.type === 'symbol'; + if (slotName === 'default') slotName = 'container-end'; + if (isFragment && vnode.children) { + getSlidesFromElements(vnode.children, slotName); + } else if (vnode.type && (vnode.type.name === 'SwiperSlide' || vnode.type.name === 'AsyncComponentWrapper') || vnode.componentOptions && vnode.componentOptions.tag === 'SwiperSlide') { + slides.push(vnode); + } else if (slots[slotName]) { + slots[slotName].push(vnode); + } + }); + }; + Object.keys(originalSlots).forEach(slotName => { + if (typeof originalSlots[slotName] !== 'function') return; + const els = originalSlots[slotName](); + getSlidesFromElements(els, slotName); + }); + oldSlidesRef.value = slidesRef.value; + slidesRef.value = slides; + return { + slides, + slots + }; +} + +function renderVirtual(swiperRef, slides, virtualData) { + if (!virtualData) return null; + const getSlideIndex = index => { + let slideIndex = index; + if (index < 0) { + slideIndex = slides.length + index; + } else if (slideIndex >= slides.length) { + // eslint-disable-next-line + slideIndex = slideIndex - slides.length; + } + return slideIndex; + }; + const style = swiperRef.value.isHorizontal() ? { + [swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px` + } : { + top: `${virtualData.offset}px` + }; + const { + from, + to + } = virtualData; + const loopFrom = swiperRef.value.params.loop ? -slides.length : 0; + const loopTo = swiperRef.value.params.loop ? slides.length * 2 : slides.length; + const slidesToRender = []; + for (let i = loopFrom; i < loopTo; i += 1) { + if (i >= from && i <= to && slidesToRender.length < slides.length) { + slidesToRender.push(slides[getSlideIndex(i)]); + } + } + return slidesToRender.map(slide => { + if (!slide.props) slide.props = {}; + if (!slide.props.style) slide.props.style = {}; + slide.props.swiperRef = swiperRef; + slide.props.style = style; + if (slide.type) { + return h(slide.type, { + ...slide.props + }, slide.children); + } else if (slide.componentOptions) { + return h(slide.componentOptions.Ctor, { + ...slide.props + }, slide.componentOptions.children); + } + }); +} + +const Swiper = { + name: 'Swiper', + props: { + tag: { + type: String, + default: 'div' + }, + wrapperTag: { + type: String, + default: 'div' + }, + modules: { + type: Array, + default: undefined + }, + init: { + type: Boolean, + default: undefined + }, + direction: { + type: String, + default: undefined + }, + oneWayMovement: { + type: Boolean, + default: undefined + }, + swiperElementNodeName: { + type: String, + default: 'SWIPER-CONTAINER' + }, + touchEventsTarget: { + type: String, + default: undefined + }, + initialSlide: { + type: Number, + default: undefined + }, + speed: { + type: Number, + default: undefined + }, + cssMode: { + type: Boolean, + default: undefined + }, + updateOnWindowResize: { + type: Boolean, + default: undefined + }, + resizeObserver: { + type: Boolean, + default: undefined + }, + nested: { + type: Boolean, + default: undefined + }, + focusableElements: { + type: String, + default: undefined + }, + width: { + type: Number, + default: undefined + }, + height: { + type: Number, + default: undefined + }, + preventInteractionOnTransition: { + type: Boolean, + default: undefined + }, + userAgent: { + type: String, + default: undefined + }, + url: { + type: String, + default: undefined + }, + edgeSwipeDetection: { + type: [Boolean, String], + default: undefined + }, + edgeSwipeThreshold: { + type: Number, + default: undefined + }, + autoHeight: { + type: Boolean, + default: undefined + }, + setWrapperSize: { + type: Boolean, + default: undefined + }, + virtualTranslate: { + type: Boolean, + default: undefined + }, + effect: { + type: String, + default: undefined + }, + breakpoints: { + type: Object, + default: undefined + }, + breakpointsBase: { + type: String, + default: undefined + }, + spaceBetween: { + type: [Number, String], + default: undefined + }, + slidesPerView: { + type: [Number, String], + default: undefined + }, + maxBackfaceHiddenSlides: { + type: Number, + default: undefined + }, + slidesPerGroup: { + type: Number, + default: undefined + }, + slidesPerGroupSkip: { + type: Number, + default: undefined + }, + slidesPerGroupAuto: { + type: Boolean, + default: undefined + }, + centeredSlides: { + type: Boolean, + default: undefined + }, + centeredSlidesBounds: { + type: Boolean, + default: undefined + }, + slidesOffsetBefore: { + type: Number, + default: undefined + }, + slidesOffsetAfter: { + type: Number, + default: undefined + }, + normalizeSlideIndex: { + type: Boolean, + default: undefined + }, + centerInsufficientSlides: { + type: Boolean, + default: undefined + }, + watchOverflow: { + type: Boolean, + default: undefined + }, + roundLengths: { + type: Boolean, + default: undefined + }, + touchRatio: { + type: Number, + default: undefined + }, + touchAngle: { + type: Number, + default: undefined + }, + simulateTouch: { + type: Boolean, + default: undefined + }, + shortSwipes: { + type: Boolean, + default: undefined + }, + longSwipes: { + type: Boolean, + default: undefined + }, + longSwipesRatio: { + type: Number, + default: undefined + }, + longSwipesMs: { + type: Number, + default: undefined + }, + followFinger: { + type: Boolean, + default: undefined + }, + allowTouchMove: { + type: Boolean, + default: undefined + }, + threshold: { + type: Number, + default: undefined + }, + touchMoveStopPropagation: { + type: Boolean, + default: undefined + }, + touchStartPreventDefault: { + type: Boolean, + default: undefined + }, + touchStartForcePreventDefault: { + type: Boolean, + default: undefined + }, + touchReleaseOnEdges: { + type: Boolean, + default: undefined + }, + uniqueNavElements: { + type: Boolean, + default: undefined + }, + resistance: { + type: Boolean, + default: undefined + }, + resistanceRatio: { + type: Number, + default: undefined + }, + watchSlidesProgress: { + type: Boolean, + default: undefined + }, + grabCursor: { + type: Boolean, + default: undefined + }, + preventClicks: { + type: Boolean, + default: undefined + }, + preventClicksPropagation: { + type: Boolean, + default: undefined + }, + slideToClickedSlide: { + type: Boolean, + default: undefined + }, + loop: { + type: Boolean, + default: undefined + }, + loopedSlides: { + type: Number, + default: undefined + }, + loopPreventsSliding: { + type: Boolean, + default: undefined + }, + loopAdditionalSlides: { + type: Number, + default: undefined + }, + loopAddBlankSlides: { + type: Boolean, + default: undefined + }, + rewind: { + type: Boolean, + default: undefined + }, + allowSlidePrev: { + type: Boolean, + default: undefined + }, + allowSlideNext: { + type: Boolean, + default: undefined + }, + swipeHandler: { + type: Boolean, + default: undefined + }, + noSwiping: { + type: Boolean, + default: undefined + }, + noSwipingClass: { + type: String, + default: undefined + }, + noSwipingSelector: { + type: String, + default: undefined + }, + passiveListeners: { + type: Boolean, + default: undefined + }, + containerModifierClass: { + type: String, + default: undefined + }, + slideClass: { + type: String, + default: undefined + }, + slideActiveClass: { + type: String, + default: undefined + }, + slideVisibleClass: { + type: String, + default: undefined + }, + slideFullyVisibleClass: { + type: String, + default: undefined + }, + slideBlankClass: { + type: String, + default: undefined + }, + slideNextClass: { + type: String, + default: undefined + }, + slidePrevClass: { + type: String, + default: undefined + }, + wrapperClass: { + type: String, + default: undefined + }, + lazyPreloaderClass: { + type: String, + default: undefined + }, + lazyPreloadPrevNext: { + type: Number, + default: undefined + }, + runCallbacksOnInit: { + type: Boolean, + default: undefined + }, + observer: { + type: Boolean, + default: undefined + }, + observeParents: { + type: Boolean, + default: undefined + }, + observeSlideChildren: { + type: Boolean, + default: undefined + }, + a11y: { + type: [Boolean, Object], + default: undefined + }, + autoplay: { + type: [Boolean, Object], + default: undefined + }, + controller: { + type: Object, + default: undefined + }, + coverflowEffect: { + type: Object, + default: undefined + }, + cubeEffect: { + type: Object, + default: undefined + }, + fadeEffect: { + type: Object, + default: undefined + }, + flipEffect: { + type: Object, + default: undefined + }, + creativeEffect: { + type: Object, + default: undefined + }, + cardsEffect: { + type: Object, + default: undefined + }, + hashNavigation: { + type: [Boolean, Object], + default: undefined + }, + history: { + type: [Boolean, Object], + default: undefined + }, + keyboard: { + type: [Boolean, Object], + default: undefined + }, + mousewheel: { + type: [Boolean, Object], + default: undefined + }, + navigation: { + type: [Boolean, Object], + default: undefined + }, + pagination: { + type: [Boolean, Object], + default: undefined + }, + parallax: { + type: [Boolean, Object], + default: undefined + }, + scrollbar: { + type: [Boolean, Object], + default: undefined + }, + thumbs: { + type: Object, + default: undefined + }, + virtual: { + type: [Boolean, Object], + default: undefined + }, + zoom: { + type: [Boolean, Object], + default: undefined + }, + grid: { + type: [Object], + default: undefined + }, + freeMode: { + type: [Boolean, Object], + default: undefined + }, + enabled: { + type: Boolean, + default: undefined + } + }, + emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', '_freeModeNoMomentumRelease', '_virtualUpdated', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'autoplayPause', 'autoplayResume', 'autoplayTimeLeft', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'disable', 'doubleTap', 'doubleClick', 'destroy', 'enable', 'fromEdge', 'hashChange', 'hashSet', 'init', 'keyPress', 'lock', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'navigationPrev', 'navigationNext', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slidesUpdated', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'unlock', 'update', 'virtualUpdate', 'zoomChange'], + setup(props, _ref) { + let { + slots: originalSlots, + emit + } = _ref; + const { + tag: Tag, + wrapperTag: WrapperTag + } = props; + const containerClasses = ref('swiper'); + const virtualData = ref(null); + const breakpointChanged = ref(false); + const initializedRef = ref(false); + const swiperElRef = ref(null); + const swiperRef = ref(null); + const oldPassedParamsRef = ref(null); + const slidesRef = { + value: [] + }; + const oldSlidesRef = { + value: [] + }; + const nextElRef = ref(null); + const prevElRef = ref(null); + const paginationElRef = ref(null); + const scrollbarElRef = ref(null); + const { + params: swiperParams, + passedParams + } = getParams(props, false); + getChildren(originalSlots, slidesRef, oldSlidesRef); + oldPassedParamsRef.value = passedParams; + oldSlidesRef.value = slidesRef.value; + const onBeforeBreakpoint = () => { + getChildren(originalSlots, slidesRef, oldSlidesRef); + breakpointChanged.value = true; + }; + swiperParams.onAny = function (event) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + emit(event, ...args); + }; + Object.assign(swiperParams.on, { + _beforeBreakpoint: onBeforeBreakpoint, + _containerClasses(swiper, classes) { + containerClasses.value = classes; + } + }); + + // init Swiper + const passParams = { + ...swiperParams + }; + delete passParams.wrapperClass; + swiperRef.value = new Swiper$1(passParams); + if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) { + swiperRef.value.virtual.slides = slidesRef.value; + const extendWith = { + cache: false, + slides: slidesRef.value, + renderExternal: data => { + virtualData.value = data; + }, + renderExternalUpdate: false + }; + extend(swiperRef.value.params.virtual, extendWith); + extend(swiperRef.value.originalParams.virtual, extendWith); + } + onUpdated(() => { + // set initialized flag + if (!initializedRef.value && swiperRef.value) { + swiperRef.value.emitSlidesClasses(); + initializedRef.value = true; + } + // watch for params change + const { + passedParams: newPassedParams + } = getParams(props, false); + const changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value, c => c.props && c.props.key); + oldPassedParamsRef.value = newPassedParams; + if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) { + updateSwiper({ + swiper: swiperRef.value, + slides: slidesRef.value, + passedParams: newPassedParams, + changedParams, + nextEl: nextElRef.value, + prevEl: prevElRef.value, + scrollbarEl: scrollbarElRef.value, + paginationEl: paginationElRef.value + }); + } + breakpointChanged.value = false; + }); + provide('swiper', swiperRef); + + // update on virtual update + watch(virtualData, () => { + nextTick(() => { + updateOnVirtualData(swiperRef.value); + }); + }); + + // mount swiper + onMounted(() => { + if (!swiperElRef.value) return; + mountSwiper({ + el: swiperElRef.value, + nextEl: nextElRef.value, + prevEl: prevElRef.value, + paginationEl: paginationElRef.value, + scrollbarEl: scrollbarElRef.value, + swiper: swiperRef.value + }, swiperParams); + emit('swiper', swiperRef.value); + }); + onBeforeUnmount(() => { + if (swiperRef.value && !swiperRef.value.destroyed) { + swiperRef.value.destroy(true, false); + } + }); + + // bypass swiper instance to slides + function renderSlides(slides) { + if (swiperParams.virtual) { + return renderVirtual(swiperRef, slides, virtualData.value); + } + slides.forEach((slide, index) => { + if (!slide.props) slide.props = {}; + slide.props.swiperRef = swiperRef; + slide.props.swiperSlideIndex = index; + }); + return slides; + } + return () => { + const { + slides, + slots + } = getChildren(originalSlots, slidesRef, oldSlidesRef); + return h(Tag, { + ref: swiperElRef, + class: uniqueClasses(containerClasses.value) + }, [slots['container-start'], h(WrapperTag, { + class: wrapperClass(swiperParams.wrapperClass) + }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), needsNavigation(props) && [h('div', { + ref: prevElRef, + class: 'swiper-button-prev' + }), h('div', { + ref: nextElRef, + class: 'swiper-button-next' + })], needsScrollbar(props) && h('div', { + ref: scrollbarElRef, + class: 'swiper-scrollbar' + }), needsPagination(props) && h('div', { + ref: paginationElRef, + class: 'swiper-pagination' + }), slots['container-end']]); + }; + } +}; + +const SwiperSlide = { + name: 'SwiperSlide', + props: { + tag: { + type: String, + default: 'div' + }, + swiperRef: { + type: Object, + required: false + }, + swiperSlideIndex: { + type: Number, + default: undefined, + required: false + }, + zoom: { + type: Boolean, + default: undefined, + required: false + }, + lazy: { + type: Boolean, + default: false, + required: false + }, + virtualIndex: { + type: [String, Number], + default: undefined + } + }, + setup(props, _ref) { + let { + slots + } = _ref; + let eventAttached = false; + const { + swiperRef + } = props; + const slideElRef = ref(null); + const slideClasses = ref('swiper-slide'); + const lazyLoaded = ref(false); + function updateClasses(swiper, el, classNames) { + if (el === slideElRef.value) { + slideClasses.value = classNames; + } + } + onMounted(() => { + if (!swiperRef || !swiperRef.value) return; + swiperRef.value.on('_slideClass', updateClasses); + eventAttached = true; + }); + onBeforeUpdate(() => { + if (eventAttached || !swiperRef || !swiperRef.value) return; + swiperRef.value.on('_slideClass', updateClasses); + eventAttached = true; + }); + onUpdated(() => { + if (!slideElRef.value || !swiperRef || !swiperRef.value) return; + if (typeof props.swiperSlideIndex !== 'undefined') { + slideElRef.value.swiperSlideIndex = props.swiperSlideIndex; + } + if (swiperRef.value.destroyed) { + if (slideClasses.value !== 'swiper-slide') { + slideClasses.value = 'swiper-slide'; + } + } + }); + onBeforeUnmount(() => { + if (!swiperRef || !swiperRef.value) return; + swiperRef.value.off('_slideClass', updateClasses); + }); + const slideData = computed(() => ({ + isActive: slideClasses.value.indexOf('swiper-slide-active') >= 0, + isVisible: slideClasses.value.indexOf('swiper-slide-visible') >= 0, + isPrev: slideClasses.value.indexOf('swiper-slide-prev') >= 0, + isNext: slideClasses.value.indexOf('swiper-slide-next') >= 0 + })); + provide('swiperSlide', slideData); + const onLoad = () => { + lazyLoaded.value = true; + }; + return () => { + return h(props.tag, { + class: uniqueClasses(`${slideClasses.value}`), + ref: slideElRef, + 'data-swiper-slide-index': typeof props.virtualIndex === 'undefined' && swiperRef && swiperRef.value && swiperRef.value.params.loop ? props.swiperSlideIndex : props.virtualIndex, + onLoadCapture: onLoad + }, props.zoom ? h('div', { + class: 'swiper-zoom-container', + 'data-swiper-zoom': typeof props.zoom === 'number' ? props.zoom : undefined + }, [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', { + class: 'swiper-lazy-preloader' + })]) : [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', { + class: 'swiper-lazy-preloader' + })]); + }; + } +}; + +const useSwiperSlide = () => { + return inject('swiperSlide'); +}; +const useSwiper = () => { + return inject('swiper'); +}; + +export { Swiper, SwiperSlide, useSwiper, useSwiperSlide }; diff --git a/.output/server/node_modules/swiper/swiper.mjs b/.output/server/node_modules/swiper/swiper.mjs new file mode 100644 index 00000000..e4f0bb20 --- /dev/null +++ b/.output/server/node_modules/swiper/swiper.mjs @@ -0,0 +1,13 @@ +/** + * Swiper 11.2.10 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2025 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 28, 2025 + */ + +export { S as Swiper, S as default } from './shared/swiper-core.mjs'; diff --git a/.output/server/node_modules/throttle-debounce/esm/index.js b/.output/server/node_modules/throttle-debounce/esm/index.js new file mode 100644 index 00000000..14c6783b --- /dev/null +++ b/.output/server/node_modules/throttle-debounce/esm/index.js @@ -0,0 +1,162 @@ +/* eslint-disable no-undefined,no-param-reassign,no-shadow */ + +/** + * Throttle execution of a function. Especially useful for rate limiting + * execution of handlers on events like resize and scroll. + * + * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) + * are most useful. + * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, + * as-is, to `callback` when the throttled-function is executed. + * @param {object} [options] - An object to configure options. + * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds + * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed + * one final time after the last throttled-function call. (After the throttled-function has not been called for + * `delay` milliseconds, the internal counter is reset). + * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback + * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that + * callback will never executed if both noLeading = true and noTrailing = true. + * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is + * false (at end), schedule `callback` to execute after `delay` ms. + * + * @returns {Function} A new, throttled, function. + */ +function throttle (delay, callback, options) { + var _ref = options || {}, + _ref$noTrailing = _ref.noTrailing, + noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing, + _ref$noLeading = _ref.noLeading, + noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading, + _ref$debounceMode = _ref.debounceMode, + debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode; + /* + * After wrapper has stopped being called, this timeout ensures that + * `callback` is executed at the proper times in `throttle` and `end` + * debounce modes. + */ + var timeoutID; + var cancelled = false; + + // Keep track of the last time `callback` was executed. + var lastExec = 0; + + // Function to clear existing timeout + function clearExistingTimeout() { + if (timeoutID) { + clearTimeout(timeoutID); + } + } + + // Function to cancel next exec + function cancel(options) { + var _ref2 = options || {}, + _ref2$upcomingOnly = _ref2.upcomingOnly, + upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly; + clearExistingTimeout(); + cancelled = !upcomingOnly; + } + + /* + * The `wrapper` function encapsulates all of the throttling / debouncing + * functionality and when executed will limit the rate at which `callback` + * is executed. + */ + function wrapper() { + for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) { + arguments_[_key] = arguments[_key]; + } + var self = this; + var elapsed = Date.now() - lastExec; + if (cancelled) { + return; + } + + // Execute `callback` and update the `lastExec` timestamp. + function exec() { + lastExec = Date.now(); + callback.apply(self, arguments_); + } + + /* + * If `debounceMode` is true (at begin) this is used to clear the flag + * to allow future `callback` executions. + */ + function clear() { + timeoutID = undefined; + } + if (!noLeading && debounceMode && !timeoutID) { + /* + * Since `wrapper` is being called for the first time and + * `debounceMode` is true (at begin), execute `callback` + * and noLeading != true. + */ + exec(); + } + clearExistingTimeout(); + if (debounceMode === undefined && elapsed > delay) { + if (noLeading) { + /* + * In throttle mode with noLeading, if `delay` time has + * been exceeded, update `lastExec` and schedule `callback` + * to execute after `delay` ms. + */ + lastExec = Date.now(); + if (!noTrailing) { + timeoutID = setTimeout(debounceMode ? clear : exec, delay); + } + } else { + /* + * In throttle mode without noLeading, if `delay` time has been exceeded, execute + * `callback`. + */ + exec(); + } + } else if (noTrailing !== true) { + /* + * In trailing throttle mode, since `delay` time has not been + * exceeded, schedule `callback` to execute `delay` ms after most + * recent execution. + * + * If `debounceMode` is true (at begin), schedule `clear` to execute + * after `delay` ms. + * + * If `debounceMode` is false (at end), schedule `callback` to + * execute after `delay` ms. + */ + timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay); + } + } + wrapper.cancel = cancel; + + // Return the wrapper function. + return wrapper; +} + +/* eslint-disable no-undefined */ + +/** + * Debounce execution of a function. Debouncing, unlike throttling, + * guarantees that a function is only executed a single time, either at the + * very beginning of a series of calls, or at the very end. + * + * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. + * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is, + * to `callback` when the debounced-function is executed. + * @param {object} [options] - An object to configure options. + * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds + * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call. + * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset). + * + * @returns {Function} A new, debounced function. + */ +function debounce (delay, callback, options) { + var _ref = options || {}, + _ref$atBegin = _ref.atBegin, + atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin; + return throttle(delay, callback, { + debounceMode: atBegin !== false + }); +} + +export { debounce, throttle }; +//# sourceMappingURL=index.js.map diff --git a/.output/server/node_modules/throttle-debounce/esm/package.json b/.output/server/node_modules/throttle-debounce/esm/package.json new file mode 100644 index 00000000..7c34deb5 --- /dev/null +++ b/.output/server/node_modules/throttle-debounce/esm/package.json @@ -0,0 +1 @@ +{"type":"module"} \ No newline at end of file diff --git a/.output/server/node_modules/throttle-debounce/package.json b/.output/server/node_modules/throttle-debounce/package.json new file mode 100644 index 00000000..2f03fd37 --- /dev/null +++ b/.output/server/node_modules/throttle-debounce/package.json @@ -0,0 +1,98 @@ +{ + "name": "throttle-debounce", + "version": "5.0.2", + "description": "Throttle and debounce functions.", + "license": "MIT", + "author": "Ivan Nikolić <niksy5@gmail.com> (http://ivannikolic.com)", + "contributors": [ + "Ben Alman (http://benalman.com)" + ], + "sideEffects": false, + "exports": { + ".": { + "import": "./esm/index.js", + "require": "./cjs/index.js" + }, + "./package.json": "./package.json" + }, + "main": "cjs/index.js", + "jsdelivr": "umd/index.js", + "unpkg": "umd/index.js", + "module": "esm/index.js", + "directories": { + "test": "test" + }, + "files": [ + "cjs/", + "esm/", + "umd/", + "CHANGELOG.md", + "LICENSE.md", + "README.md" + ], + "scripts": { + "build": "rollup --config rollup.config.js", + "lint": "eslint '{index,debounce,throttle,test/**/*}.js'", + "module-check": "node -e 'require(\"throttle-debounce\");' && node --input-type=module -e 'import \"throttle-debounce\";'", + "prepublishOnly": "npm run build", + "postpublish": "GITHUB_TOKEN=$GITHUB_RELEASE_TOKEN github-release-from-changelog", + "release": "np --no-release-draft", + "test": "npm run test:automated", + "test:automated": "BABEL_ENV=test karma start", + "test:automated:watch": "npm run test:automated -- --auto-watch --no-single-run", + "version": "if [ $(git rev-parse --abbrev-ref HEAD) == 'master' ]; then sed -i '' '/\\[unreleased\\]:/d' CHANGELOG.md && version-changelog CHANGELOG.md && changelog-verify CHANGELOG.md && git add CHANGELOG.md; else echo; fi", + "prerelease": "npm run lint && npm run build && npm run module-check" + }, + "devDependencies": { + "@babel/cli": "^7.2.3", + "@babel/core": "^7.2.2", + "@babel/plugin-transform-runtime": "^7.2.0", + "@babel/preset-env": "^7.12.1", + "@babel/runtime": "^7.2.0", + "@rollup/plugin-babel": "^5.2.1", + "babel-loader": "^8.1.0", + "changelog-verify": "^1.1.2", + "core-js": "^2.6.5", + "eslint": "^8.5.0", + "eslint-config-nitpick": "^11.1.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "esm": "^3.0.51", + "get-port": "^4.0.0", + "get-port-cli": "^2.0.0", + "github-release-from-changelog": "^2.1.1", + "husky": "^4.3.0", + "karma": "^5.2.3", + "karma-browserstack-launcher": "^1.6.0", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^0.1.7", + "karma-mocha-reporter": "^2.2.5", + "karma-qunit": "^0.1.9", + "karma-sourcemap-loader": "^0.3.7", + "karma-webpack": "5.0.0", + "lint-staged": "^10.4.2", + "minimist": "^1.2.0", + "node-stdlib-browser": "^1.2.0", + "np": "^7.6.0", + "prettier": "^2.4.0", + "qunitjs": "^1.23.1", + "rollup": "^2.32.1", + "version-changelog": "^3.1.1", + "webpack": "^5.2.0" + }, + "engines": { + "node": ">=12.22" + }, + "keywords": [ + "debounce", + "throttle" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/niksy/throttle-debounce.git" + }, + "bugs": { + "url": "https://github.com/niksy/throttle-debounce/issues" + }, + "homepage": "https://github.com/niksy/throttle-debounce#readme" +} \ No newline at end of file diff --git a/.output/server/node_modules/tr46/index.js b/.output/server/node_modules/tr46/index.js new file mode 100644 index 00000000..9ce12ca2 --- /dev/null +++ b/.output/server/node_modules/tr46/index.js @@ -0,0 +1,193 @@ +"use strict"; + +var punycode = require("punycode"); +var mappingTable = require("./lib/mappingTable.json"); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); +} + +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; diff --git a/.output/server/node_modules/tr46/lib/mappingTable.json b/.output/server/node_modules/tr46/lib/mappingTable.json new file mode 100644 index 00000000..89cf19a7 --- /dev/null +++ b/.output/server/node_modules/tr46/lib/mappingTable.json @@ -0,0 +1 @@ +[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]] \ No newline at end of file diff --git a/.output/server/node_modules/tr46/package.json b/.output/server/node_modules/tr46/package.json new file mode 100644 index 00000000..d0936a36 --- /dev/null +++ b/.output/server/node_modules/tr46/package.json @@ -0,0 +1,31 @@ +{ + "name": "tr46", + "version": "0.0.3", + "description": "An implementation of the Unicode TR46 spec", + "main": "index.js", + "scripts": { + "test": "mocha", + "pretest": "node scripts/getLatestUnicodeTests.js", + "prepublish": "node scripts/generateMappingTable.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Sebmaster/tr46.js.git" + }, + "keywords": [ + "unicode", + "tr46", + "url", + "whatwg" + ], + "author": "Sebastian Mayr <npm@smayr.name>", + "license": "MIT", + "bugs": { + "url": "https://github.com/Sebmaster/tr46.js/issues" + }, + "homepage": "https://github.com/Sebmaster/tr46.js#readme", + "devDependencies": { + "mocha": "^2.2.5", + "request": "^2.57.0" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/tslib/modules/index.js b/.output/server/node_modules/tslib/modules/index.js new file mode 100644 index 00000000..03fad875 --- /dev/null +++ b/.output/server/node_modules/tslib/modules/index.js @@ -0,0 +1,55 @@ +import tslib from '../tslib.js'; +const { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, +} = tslib; +export { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, +}; diff --git a/.output/server/node_modules/tslib/modules/package.json b/.output/server/node_modules/tslib/modules/package.json new file mode 100644 index 00000000..96ae6e57 --- /dev/null +++ b/.output/server/node_modules/tslib/modules/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/.output/server/node_modules/tslib/package.json b/.output/server/node_modules/tslib/package.json new file mode 100644 index 00000000..f5fca767 --- /dev/null +++ b/.output/server/node_modules/tslib/package.json @@ -0,0 +1,38 @@ +{ + "name": "tslib", + "author": "Microsoft Corp.", + "homepage": "https://www.typescriptlang.org/", + "version": "2.4.0", + "license": "0BSD", + "description": "Runtime library for TypeScript helper functions", + "keywords": [ + "TypeScript", + "Microsoft", + "compiler", + "language", + "javascript", + "tslib", + "runtime" + ], + "bugs": { + "url": "https://github.com/Microsoft/TypeScript/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/tslib.git" + }, + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "sideEffects": false, + "exports": { + ".": { + "module": "./tslib.es6.js", + "import": "./modules/index.js", + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/tslib/tslib.js b/.output/server/node_modules/tslib/tslib.js new file mode 100644 index 00000000..228e6a2a --- /dev/null +++ b/.output/server/node_modules/tslib/tslib.js @@ -0,0 +1,317 @@ +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global global, define, System, Reflect, Promise */ +var __extends; +var __assign; +var __rest; +var __decorate; +var __param; +var __metadata; +var __awaiter; +var __generator; +var __exportStar; +var __values; +var __read; +var __spread; +var __spreadArrays; +var __spreadArray; +var __await; +var __asyncGenerator; +var __asyncDelegator; +var __asyncValues; +var __makeTemplateObject; +var __importStar; +var __importDefault; +var __classPrivateFieldGet; +var __classPrivateFieldSet; +var __classPrivateFieldIn; +var __createBinding; +(function (factory) { + var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; + if (typeof define === "function" && define.amd) { + define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); }); + } + else if (typeof module === "object" && typeof module.exports === "object") { + factory(createExporter(root, createExporter(module.exports))); + } + else { + factory(createExporter(root)); + } + function createExporter(exports, previous) { + if (exports !== root) { + if (typeof Object.create === "function") { + Object.defineProperty(exports, "__esModule", { value: true }); + } + else { + exports.__esModule = true; + } + } + return function (id, v) { return exports[id] = previous ? previous(id, v) : v; }; + } +}) +(function (exporter) { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + + __extends = function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + + __assign = Object.assign || function (t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + + __rest = function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + }; + + __decorate = function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + + __param = function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } + }; + + __metadata = function (metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); + }; + + __awaiter = function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + + __generator = function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + }; + + __exportStar = function(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); + }; + + __createBinding = Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + }); + + __values = function (o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + + __read = function (o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; + }; + + /** @deprecated */ + __spread = function () { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + }; + + /** @deprecated */ + __spreadArrays = function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + __spreadArray = function (to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + }; + + __await = function (v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + }; + + __asyncGenerator = function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } + }; + + __asyncDelegator = function (o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + }; + + __asyncValues = function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } + }; + + __makeTemplateObject = function (cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; + }; + + var __setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }; + + __importStar = function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; + }; + + __importDefault = function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + + __classPrivateFieldGet = function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); + }; + + __classPrivateFieldSet = function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; + }; + + __classPrivateFieldIn = function (state, receiver) { + if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); + }; + + exporter("__extends", __extends); + exporter("__assign", __assign); + exporter("__rest", __rest); + exporter("__decorate", __decorate); + exporter("__param", __param); + exporter("__metadata", __metadata); + exporter("__awaiter", __awaiter); + exporter("__generator", __generator); + exporter("__exportStar", __exportStar); + exporter("__createBinding", __createBinding); + exporter("__values", __values); + exporter("__read", __read); + exporter("__spread", __spread); + exporter("__spreadArrays", __spreadArrays); + exporter("__spreadArray", __spreadArray); + exporter("__await", __await); + exporter("__asyncGenerator", __asyncGenerator); + exporter("__asyncDelegator", __asyncDelegator); + exporter("__asyncValues", __asyncValues); + exporter("__makeTemplateObject", __makeTemplateObject); + exporter("__importStar", __importStar); + exporter("__importDefault", __importDefault); + exporter("__classPrivateFieldGet", __classPrivateFieldGet); + exporter("__classPrivateFieldSet", __classPrivateFieldSet); + exporter("__classPrivateFieldIn", __classPrivateFieldIn); +}); diff --git a/.output/server/node_modules/ufo/dist/index.mjs b/.output/server/node_modules/ufo/dist/index.mjs new file mode 100644 index 00000000..3c758609 --- /dev/null +++ b/.output/server/node_modules/ufo/dist/index.mjs @@ -0,0 +1,638 @@ +const n = /[^\0-\x7E]/; +const t = /[\x2E\u3002\uFF0E\uFF61]/g; +const o = { + overflow: "Overflow Error", + "not-basic": "Illegal Input", + "invalid-input": "Invalid Input" +}; +const e = Math.floor; +const r = String.fromCharCode; +function s(n2) { + throw new RangeError(o[n2]); +} +const c = function(n2, t2) { + return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5); +}; +const u = function(n2, t2, o2) { + let r2 = 0; + for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) { + n2 = e(n2 / 35); + } + return e(r2 + 36 * n2 / (n2 + 38)); +}; +function toASCII(o2) { + return function(n2, o3) { + const e2 = n2.split("@"); + let r2 = ""; + e2.length > 1 && (r2 = e2[0] + "@", n2 = e2[1]); + const s2 = function(n3, t2) { + const o4 = []; + let e3 = n3.length; + for (; e3--; ) { + o4[e3] = t2(n3[e3]); + } + return o4; + }((n2 = n2.replace(t, ".")).split("."), o3).join("."); + return r2 + s2; + }(o2, function(t2) { + return n.test(t2) ? "xn--" + function(n2) { + const t3 = []; + const o3 = (n2 = function(n3) { + const t4 = []; + let o4 = 0; + const e2 = n3.length; + for (; o4 < e2; ) { + const r2 = n3.charCodeAt(o4++); + if (r2 >= 55296 && r2 <= 56319 && o4 < e2) { + const e3 = n3.charCodeAt(o4++); + (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--); + } else { + t4.push(r2); + } + } + return t4; + }(n2)).length; + let f = 128; + let i = 0; + let l = 72; + for (const o4 of n2) { + o4 < 128 && t3.push(r(o4)); + } + const h = t3.length; + let p = h; + for (h && t3.push("-"); p < o3; ) { + let o4 = 2147483647; + for (const t4 of n2) { + t4 >= f && t4 < o4 && (o4 = t4); + } + const a = p + 1; + o4 - f > e((2147483647 - i) / a) && s("overflow"), i += (o4 - f) * a, f = o4; + for (const o5 of n2) { + if (o5 < f && ++i > 2147483647 && s("overflow"), o5 == f) { + let n3 = i; + for (let o6 = 36; ; o6 += 36) { + const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l; + if (n3 < s2) { + break; + } + const u2 = n3 - s2; + const f2 = 36 - s2; + t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2); + } + t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p; + } + } + ++i, ++f; + } + return t3.join(""); + }(t2) : t2; + }); +} + +const HASH_RE = /#/g; +const AMPERSAND_RE = /&/g; +const SLASH_RE = /\//g; +const EQUAL_RE = /=/g; +const IM_RE = /\?/g; +const PLUS_RE = /\+/g; +const ENC_CARET_RE = /%5e/gi; +const ENC_BACKTICK_RE = /%60/gi; +const ENC_CURLY_OPEN_RE = /%7b/gi; +const ENC_PIPE_RE = /%7c/gi; +const ENC_CURLY_CLOSE_RE = /%7d/gi; +const ENC_SPACE_RE = /%20/gi; +const ENC_SLASH_RE = /%2f/gi; +const ENC_ENC_SLASH_RE = /%252f/gi; +function encode(text) { + return encodeURI("" + text).replace(ENC_PIPE_RE, "|"); +} +function encodeHash(text) { + return encode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +function encodeQueryValue(input) { + return encode(typeof input === "string" ? input : JSON.stringify(input)).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CARET_RE, "^").replace(SLASH_RE, "%2F"); +} +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +function encodePath(text) { + return encode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F").replace(ENC_ENC_SLASH_RE, "%2F").replace(AMPERSAND_RE, "%26").replace(PLUS_RE, "%2B"); +} +function encodeParam(text) { + return encodePath(text).replace(SLASH_RE, "%2F"); +} +function decode(text = "") { + try { + return decodeURIComponent("" + text); + } catch { + return "" + text; + } +} +function decodePath(text) { + return decode(text.replace(ENC_SLASH_RE, "%252F")); +} +function decodeQueryKey(text) { + return decode(text.replace(PLUS_RE, " ")); +} +function decodeQueryValue(text) { + return decode(text.replace(PLUS_RE, " ")); +} +function encodeHost(name = "") { + return toASCII(name); +} + +function parseQuery(parametersString = "") { + const object = /* @__PURE__ */ Object.create(null); + if (parametersString[0] === "?") { + parametersString = parametersString.slice(1); + } + for (const parameter of parametersString.split("&")) { + const s = parameter.match(/([^=]+)=?(.*)/) || []; + if (s.length < 2) { + continue; + } + const key = decodeQueryKey(s[1]); + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = decodeQueryValue(s[2] || ""); + if (object[key] === void 0) { + object[key] = value; + } else if (Array.isArray(object[key])) { + object[key].push(value); + } else { + object[key] = [object[key], value]; + } + } + return object; +} +function encodeQueryItem(key, value) { + if (typeof value === "number" || typeof value === "boolean") { + value = String(value); + } + if (!value) { + return encodeQueryKey(key); + } + if (Array.isArray(value)) { + return value.map( + (_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}` + ).join("&"); + } + return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`; +} +function stringifyQuery(query) { + return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join("&"); +} + +const PROTOCOL_STRICT_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{1,2})/; +const PROTOCOL_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{2})?/; +const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/; +const PROTOCOL_SCRIPT_RE = /^[\s\0]*(blob|data|javascript|vbscript):$/i; +const TRAILING_SLASH_RE = /\/$|\/\?|\/#/; +const JOIN_LEADING_SLASH_RE = /^\.?\//; +function isRelative(inputString) { + return ["./", "../"].some((string_) => inputString.startsWith(string_)); +} +function hasProtocol(inputString, opts = {}) { + if (typeof opts === "boolean") { + opts = { acceptRelative: opts }; + } + if (opts.strict) { + return PROTOCOL_STRICT_REGEX.test(inputString); + } + return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false); +} +function isScriptProtocol(protocol) { + return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol); +} +function hasTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/"); + } + return TRAILING_SLASH_RE.test(input); +} +function withoutTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/"; + } + if (!hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex !== -1) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + } + const [s0, ...s] = path.split("?"); + const cleanPath = s0.endsWith("/") ? s0.slice(0, -1) : s0; + return (cleanPath || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function withTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/") ? input : input + "/"; + } + if (hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex !== -1) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + if (!path) { + return fragment; + } + } + const [s0, ...s] = path.split("?"); + return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function hasLeadingSlash(input = "") { + return input.startsWith("/"); +} +function withoutLeadingSlash(input = "") { + return (hasLeadingSlash(input) ? input.slice(1) : input) || "/"; +} +function withLeadingSlash(input = "") { + return hasLeadingSlash(input) ? input : "/" + input; +} +function cleanDoubleSlashes(input = "") { + return input.split("://").map((string_) => string_.replace(/\/{2,}/g, "/")).join("://"); +} +function withBase(input, base) { + if (isEmptyURL(base) || hasProtocol(input)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (input.startsWith(_base)) { + return input; + } + return joinURL(_base, input); +} +function withoutBase(input, base) { + if (isEmptyURL(base)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (!input.startsWith(_base)) { + return input; + } + const trimmed = input.slice(_base.length); + return trimmed[0] === "/" ? trimmed : "/" + trimmed; +} +function withQuery(input, query) { + const parsed = parseURL(input); + const mergedQuery = { ...parseQuery(parsed.search), ...query }; + parsed.search = stringifyQuery(mergedQuery); + return stringifyParsedURL(parsed); +} +function filterQuery(input, predicate) { + if (!input.includes("?")) { + return input; + } + const parsed = parseURL(input); + const query = parseQuery(parsed.search); + const filteredQuery = Object.fromEntries( + Object.entries(query).filter(([key, value]) => predicate(key, value)) + ); + parsed.search = stringifyQuery(filteredQuery); + return stringifyParsedURL(parsed); +} +function getQuery(input) { + return parseQuery(parseURL(input).search); +} +function isEmptyURL(url) { + return !url || url === "/"; +} +function isNonEmptyURL(url) { + return url && url !== "/"; +} +function joinURL(base, ...input) { + let url = base || ""; + for (const segment of input.filter((url2) => isNonEmptyURL(url2))) { + if (url) { + const _segment = segment.replace(JOIN_LEADING_SLASH_RE, ""); + url = withTrailingSlash(url) + _segment; + } else { + url = segment; + } + } + return url; +} +function joinRelativeURL(..._input) { + const JOIN_SEGMENT_SPLIT_RE = /\/(?!\/)/; + const input = _input.filter(Boolean); + const segments = []; + let segmentsDepth = 0; + for (const i of input) { + if (!i || i === "/") { + continue; + } + for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) { + if (!s || s === ".") { + continue; + } + if (s === "..") { + if (segments.length === 1 && hasProtocol(segments[0])) { + continue; + } + segments.pop(); + segmentsDepth--; + continue; + } + if (sindex === 1 && segments[segments.length - 1]?.endsWith(":/")) { + segments[segments.length - 1] += "/" + s; + continue; + } + segments.push(s); + segmentsDepth++; + } + } + let url = segments.join("/"); + if (segmentsDepth >= 0) { + if (input[0]?.startsWith("/") && !url.startsWith("/")) { + url = "/" + url; + } else if (input[0]?.startsWith("./") && !url.startsWith("./")) { + url = "./" + url; + } + } else { + url = "../".repeat(-1 * segmentsDepth) + url; + } + if (input[input.length - 1]?.endsWith("/") && !url.endsWith("/")) { + url += "/"; + } + return url; +} +function withHttp(input) { + return withProtocol(input, "http://"); +} +function withHttps(input) { + return withProtocol(input, "https://"); +} +function withoutProtocol(input) { + return withProtocol(input, ""); +} +function withProtocol(input, protocol) { + let match = input.match(PROTOCOL_REGEX); + if (!match) { + match = input.match(/^\/{2,}/); + } + if (!match) { + return protocol + input; + } + return protocol + input.slice(match[0].length); +} +function normalizeURL(input) { + const parsed = parseURL(input); + parsed.pathname = encodePath(decodePath(parsed.pathname)); + parsed.hash = encodeHash(decode(parsed.hash)); + parsed.host = encodeHost(decode(parsed.host)); + parsed.search = stringifyQuery(parseQuery(parsed.search)); + return stringifyParsedURL(parsed); +} +function resolveURL(base = "", ...inputs) { + if (typeof base !== "string") { + throw new TypeError( + `URL input should be string received ${typeof base} (${base})` + ); + } + const filteredInputs = inputs.filter((input) => isNonEmptyURL(input)); + if (filteredInputs.length === 0) { + return base; + } + const url = parseURL(base); + for (const inputSegment of filteredInputs) { + const urlSegment = parseURL(inputSegment); + if (urlSegment.pathname) { + url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname); + } + if (urlSegment.hash && urlSegment.hash !== "#") { + url.hash = urlSegment.hash; + } + if (urlSegment.search && urlSegment.search !== "?") { + if (url.search && url.search !== "?") { + const queryString = stringifyQuery({ + ...parseQuery(url.search), + ...parseQuery(urlSegment.search) + }); + url.search = queryString.length > 0 ? "?" + queryString : ""; + } else { + url.search = urlSegment.search; + } + } + } + return stringifyParsedURL(url); +} +function isSamePath(p1, p2) { + return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2)); +} +function isEqual(a, b, options = {}) { + if (!options.trailingSlash) { + a = withTrailingSlash(a); + b = withTrailingSlash(b); + } + if (!options.leadingSlash) { + a = withLeadingSlash(a); + b = withLeadingSlash(b); + } + if (!options.encoding) { + a = decode(a); + b = decode(b); + } + return a === b; +} +function withFragment(input, hash) { + if (!hash || hash === "#") { + return input; + } + const parsed = parseURL(input); + parsed.hash = hash === "" ? "" : "#" + encodeHash(hash); + return stringifyParsedURL(parsed); +} +function withoutFragment(input) { + return stringifyParsedURL({ ...parseURL(input), hash: "" }); +} +function withoutHost(input) { + const parsed = parseURL(input); + return (parsed.pathname || "/") + parsed.search + parsed.hash; +} + +const protocolRelative = Symbol.for("ufo:protocolRelative"); +function parseURL(input = "", defaultProto) { + const _specialProtoMatch = input.match( + /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i + ); + if (_specialProtoMatch) { + const [, _proto, _pathname = ""] = _specialProtoMatch; + return { + protocol: _proto.toLowerCase(), + pathname: _pathname, + href: _proto + _pathname, + auth: "", + host: "", + search: "", + hash: "" + }; + } + if (!hasProtocol(input, { acceptRelative: true })) { + return defaultProto ? parseURL(defaultProto + input) : parsePath(input); + } + const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || []; + let [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || []; + if (protocol === "file:") { + path = path.replace(/\/(?=[A-Za-z]:)/, ""); + } + const { pathname, search, hash } = parsePath(path); + return { + protocol: protocol.toLowerCase(), + auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "", + host, + pathname, + search, + hash, + [protocolRelative]: !protocol + }; +} +function parsePath(input = "") { + const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1); + return { + pathname, + search, + hash + }; +} +function parseAuth(input = "") { + const [username, password] = input.split(":"); + return { + username: decode(username), + password: decode(password) + }; +} +function parseHost(input = "") { + const [hostname, port] = (input.match(/([^/:]*):?(\d+)?/) || []).splice(1); + return { + hostname: decode(hostname), + port + }; +} +function stringifyParsedURL(parsed) { + const pathname = parsed.pathname || ""; + const search = parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : ""; + const hash = parsed.hash || ""; + const auth = parsed.auth ? parsed.auth + "@" : ""; + const host = parsed.host || ""; + const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || "") + "//" : ""; + return proto + auth + host + pathname + search + hash; +} +const FILENAME_STRICT_REGEX = /\/([^/]+\.[^/]+)$/; +const FILENAME_REGEX = /\/([^/]+)$/; +function parseFilename(input = "", opts) { + const { pathname } = parseURL(input); + const matches = opts?.strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX); + return matches ? matches[1] : void 0; +} + +class $URL { + protocol; + host; + auth; + pathname; + query = {}; + hash; + constructor(input = "") { + if (typeof input !== "string") { + throw new TypeError( + `URL input should be string received ${typeof input} (${input})` + ); + } + const parsed = parseURL(input); + this.protocol = decode(parsed.protocol); + this.host = decode(parsed.host); + this.auth = decode(parsed.auth); + this.pathname = decodePath(parsed.pathname); + this.query = parseQuery(parsed.search); + this.hash = decode(parsed.hash); + } + get hostname() { + return parseHost(this.host).hostname; + } + get port() { + return parseHost(this.host).port || ""; + } + get username() { + return parseAuth(this.auth).username; + } + get password() { + return parseAuth(this.auth).password || ""; + } + get hasProtocol() { + return this.protocol.length; + } + get isAbsolute() { + return this.hasProtocol || this.pathname[0] === "/"; + } + get search() { + const q = stringifyQuery(this.query); + return q.length > 0 ? "?" + q : ""; + } + get searchParams() { + const p = new URLSearchParams(); + for (const name in this.query) { + const value = this.query[name]; + if (Array.isArray(value)) { + for (const v of value) { + p.append(name, v); + } + } else { + p.append( + name, + typeof value === "string" ? value : JSON.stringify(value) + ); + } + } + return p; + } + get origin() { + return (this.protocol ? this.protocol + "//" : "") + encodeHost(this.host); + } + get fullpath() { + return encodePath(this.pathname) + this.search + encodeHash(this.hash); + } + get encodedAuth() { + if (!this.auth) { + return ""; + } + const { username, password } = parseAuth(this.auth); + return encodeURIComponent(username) + (password ? ":" + encodeURIComponent(password) : ""); + } + get href() { + const auth = this.encodedAuth; + const originWithAuth = (this.protocol ? this.protocol + "//" : "") + (auth ? auth + "@" : "") + encodeHost(this.host); + return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath; + } + append(url) { + if (url.hasProtocol) { + throw new Error("Cannot append a URL with protocol"); + } + Object.assign(this.query, url.query); + if (url.pathname) { + this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname); + } + if (url.hash) { + this.hash = url.hash; + } + } + toJSON() { + return this.href; + } + toString() { + return this.href; + } +} +function createURL(input) { + return new $URL(input); +} + +export { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, filterQuery, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash }; diff --git a/.output/server/node_modules/ufo/package.json b/.output/server/node_modules/ufo/package.json new file mode 100644 index 00000000..aec4ec6a --- /dev/null +++ b/.output/server/node_modules/ufo/package.json @@ -0,0 +1,47 @@ +{ + "name": "ufo", + "version": "1.6.1", + "description": "URL utils for humans", + "repository": "unjs/ufo", + "license": "MIT", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.cjs", + "import": "./dist/index.mjs" + }, + "./*": "./*" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "automd && unbuild", + "automd": "automd", + "dev": "vitest", + "lint": "eslint . && prettier -c src test", + "lint:fix": "eslint --fix . && prettier -w src test", + "prepack": "pnpm build", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --typecheck" + }, + "devDependencies": { + "@types/node": "^22.14.0", + "@vitest/coverage-v8": "^3.1.1", + "automd": "^0.4.0", + "changelogen": "^0.6.1", + "eslint": "^9.24.0", + "eslint-config-unjs": "^0.4.2", + "jiti": "^2.4.2", + "prettier": "^3.5.3", + "typescript": "^5.8.3", + "unbuild": "^3.5.0", + "untyped": "^2.0.0", + "vitest": "^3.1.1" + }, + "packageManager": "pnpm@10.7.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/ultrahtml/dist/index.js b/.output/server/node_modules/ultrahtml/dist/index.js new file mode 100644 index 00000000..d5ef8dcd --- /dev/null +++ b/.output/server/node_modules/ultrahtml/dist/index.js @@ -0,0 +1 @@ +var R=0,j=1,X=2,V=3,Y=4;function F(e,t={},...i){let r={type:1,name:typeof e=="function"?e.name:e,attributes:t||{},children:i.map(n=>typeof n=="string"?{type:2,value:y(String(n))}:n),parent:void 0,loc:[]};return typeof e=="function"&&$(r,e),r}var S=Symbol("Fragment"),D=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),x=new Set(["script","style"]),o=/(?:<(\/?)([a-zA-Z][a-zA-Z0-9\:-]*)(?:\s([^>]*?))?((?:\s*\/)?)>|(<\!\-\-)([\s\S]*?)(\-\->)|(<\!)([\s\S]*?)(>))/gm,b=/[\@\.a-z0-9_\:\-]/i;function I(e){let t={};if(e){let i="none",r,n="",a,l;for(let c=0;c<e.length;c++){let d=e[c];i==="none"?b.test(d)?(r&&(t[r]=n,r=void 0,n=""),a=c,i="key"):d==="="&&r&&(i="value"):i==="key"?b.test(d)||(r=e.substring(a,c),d==="="?i="value":i="none"):d===l&&c>0&&e[c-1]!=="\\"?l&&(n=e.substring(a,c),l=void 0,i="none"):(d==='"'||d==="'")&&!l&&(a=c+1,l=d)}i==="key"&&a!=null&&a<e.length&&(r=e.substring(a,e.length)),r&&(t[r]=n)}return t}function P(e){let t=typeof e=="string"?e:e.value,i,r,n,a,l,c,d,m,s,u=[];o.lastIndex=0,r=i={type:0,children:[]};let g=0;function h(){a=t.substring(g,o.lastIndex-n[0].length),a&&r.children.push({type:2,value:a,parent:r})}for(;n=o.exec(t);){if(c=n[5]||n[8],d=n[6]||n[9],m=n[7]||n[10],x.has(r.name)&&n[2]!==r.name){l=o.lastIndex-n[0].length,r.children.length>0&&(r.children[0].value+=n[0]);continue}else if(c==="<!--"){if(l=o.lastIndex-n[0].length,x.has(r.name))continue;s={type:3,value:d,parent:r,loc:[{start:l,end:l+c.length},{start:o.lastIndex-m.length,end:o.lastIndex}]},u.push(s),s.parent.children.push(s)}else if(c==="<!")l=o.lastIndex-n[0].length,s={type:4,value:d,parent:r,loc:[{start:l,end:l+c.length},{start:o.lastIndex-m.length,end:o.lastIndex}]},u.push(s),s.parent.children.push(s);else if(n[1]!=="/")if(h(),x.has(r.name)){g=o.lastIndex,h();continue}else s={type:1,name:n[2]+"",attributes:I(n[3]),parent:r,children:[],loc:[{start:o.lastIndex-n[0].length,end:o.lastIndex}]},u.push(s),s.parent.children.push(s),n[4]&&n[4].indexOf("/")>-1||D.has(s.name)?(s.loc[1]=s.loc[0],s.isSelfClosingTag=!0):r=s;else h(),n[2]+""===r.name?(s=r,r=s.parent,s.loc.push({start:o.lastIndex-n[0].length,end:o.lastIndex}),a=t.substring(s.loc[0].end,s.loc[1].start),s.children.length===0&&s.children.push({type:2,value:a,parent:r})):n[2]+""===u[u.length-1].name&&u[u.length-1].isSelfClosingTag===!0&&(s=u[u.length-1],s.loc.push({start:o.lastIndex-n[0].length,end:o.lastIndex}));g=o.lastIndex}return a=t.slice(g),r.children.push({type:2,value:a,parent:r}),i}var T=class{constructor(t){this.callback=t}async visit(t,i,r){if(await this.callback(t,i,r),Array.isArray(t.children)){let n=[];for(let a=0;a<t.children.length;a++){let l=t.children[a];n.push(this.visit(l,t,a))}await Promise.all(n)}}},O=class{constructor(t){this.callback=t}visit(t,i,r){if(this.callback(t,i,r),Array.isArray(t.children))for(let n=0;n<t.children.length;n++){let a=t.children[n];this.visit(a,t,n)}}},p=Symbol("HTMLString"),M=Symbol("AttrString"),f=Symbol("RenderFn");function E(e,t=[p]){let i={value:e};for(let r of t)Object.defineProperty(i,r,{value:!0,enumerable:!1,writable:!1});return i}function U(e){return E(e)}function $(e,t){return Object.defineProperty(e,f,{value:t,enumerable:!1}),e}var A={"&":"&","<":"<",">":">"};function y(e){return e.replace(/[&<>]/g,t=>A[t]||t)}function N(e){let t="";for(let[i,r]of Object.entries(e))t+=` ${i}="${r}"`;return E(t,[p,M])}function H(e,...t){let i="";for(let r=0;r<e.length;r++){i+=e[r];let n=t[r];i.endsWith("...")&&n&&typeof n=="object"?(i=i.slice(0,-3).trimEnd(),i+=N(n).value):n&&n[M]?(i=i.trimEnd(),i+=n.value):n&&n[p]?i+=n.value:typeof n=="string"?i+=y(n):(n||n===0)&&(i+=String(n))}return E(i)}function z(e,t){return new T(t).visit(e)}function B(e,t){return new O(t).visit(e)}function C(e){if(e.children.length===0){let t=e;for(;t=t.parent;)if(t.name==="svg")return!0}return!1}async function k(e){let{name:t,attributes:i={}}=e,r=await Promise.all(e.children.map(a=>_(a))).then(a=>a.join(""));if(f in e){let a=await e[f](i,E(r));return a&&a[p]?a.value:y(String(a))}if(t===S)return r;let n=C(e);return n||D.has(t)?`<${e.name}${N(i).value}${n?" /":""}>`:`<${e.name}${N(i).value}>${r}</${e.name}>`}function L(e){let{name:t,attributes:i={}}=e,r=e.children.map(a=>v(a)).join("");if(f in e){let a=e[f](i,E(r));return a&&a[p]?a.value:y(String(a))}if(t===S)return r;let n=C(e);return n||D.has(t)?`<${e.name}${N(i).value}${n?" /":""}>`:`<${e.name}${N(i).value}>${r}</${e.name}>`}function v(e){switch(e.type){case 0:return e.children.map(t=>v(t)).join("");case 1:return L(e);case 2:return`${e.value}`;case 3:return`<!--${e.value}-->`;case 4:return`<!${e.value}>`}}async function _(e){switch(e.type){case 0:return Promise.all(e.children.map(t=>_(t))).then(t=>t.join(""));case 1:return k(e);case 2:return`${e.value}`;case 3:return`<!--${e.value}-->`;case 4:return`<!${e.value}>`}}function w(e,t){if(!Array.isArray(t))throw new Error(`Invalid second argument for \`transform\`! Expected \`Transformer[]\` but got \`${typeof t}\``);return{doc:typeof e=="string"?P(e):e}}async function G(e,t=[]){let{doc:i}=w(e,t),r=i;for(let n of t)r=await n(r);return _(r)}function K(e,t=[]){let{doc:i}=w(e,t),r=i;for(let n of t)r=n(r);return v(r)}export{V as COMMENT_NODE,Y as DOCTYPE_NODE,R as DOCUMENT_NODE,j as ELEMENT_NODE,S as Fragment,f as RenderFn,X as TEXT_NODE,U as __unsafeHTML,$ as __unsafeRenderFn,N as attrs,F as h,H as html,P as parse,_ as render,v as renderSync,G as transform,K as transformSync,z as walk,B as walkSync}; diff --git a/.output/server/node_modules/ultrahtml/package.json b/.output/server/node_modules/ultrahtml/package.json new file mode 100644 index 00000000..390ef0bd --- /dev/null +++ b/.output/server/node_modules/ultrahtml/package.json @@ -0,0 +1,79 @@ +{ + "name": "ultrahtml", + "type": "module", + "version": "1.6.0", + "types": "./dist/index.d.ts", + "main": "./dist/index.js", + "repository": { + "type": "git", + "url": "https://github.com/natemoo-re/ultrahtml" + }, + "bugs": { + "url": "https://github.com/natemoo-re/ultrahtml/issues" + }, + "homepage": "https://github.com/natemoo-re/ultrahtml#README", + "files": [ + "selector.d.ts", + "transform.d.ts", + "jsx-runtime.d.ts", + "transformers", + "dist", + "CHANGELOG.md" + ], + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./package.json": "./package.json", + "./selector": { + "types": "./dist/selector.d.ts", + "import": "./dist/selector.js" + }, + "./transformers/*": { + "types": "./dist/transformers/*.d.ts", + "import": "./dist/transformers/*.js" + }, + "./jsx-runtime": { + "types": "./dist/jsx-runtime/index.d.ts", + "import": "./dist/jsx-runtime/index.js" + } + }, + "keywords": [ + "html", + "template", + "sanitize" + ], + "author": { + "name": "Nate Moore", + "email": "nate@natemoo.re", + "url": "https://twitter.com/n_moore" + }, + "license": "MIT", + "volta": { + "node": "18.20.4" + }, + "devDependencies": { + "@biomejs/biome": "1.9.2", + "@changesets/cli": "^2.27.8", + "@types/stylis": "^4.2.6", + "chalk": "^5.3.0", + "dts-bundle-generator": "^9.5.1", + "esbuild": "^0.25.2", + "globby": "^13.2.2", + "gzip-size": "^7.0.0", + "markdown-it": "^13.0.2", + "media-query-fns": "^2.0.0", + "npm-run-all": "^4.1.5", + "parsel-js": "^1.1.2", + "pretty-bytes": "^6.1.1", + "stylis": "^4.3.4", + "vitest": "^2.1.1" + }, + "scripts": { + "build": "node scripts/build.js", + "format": "biome format --write", + "dev": "vitest", + "test": "vitest run" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/uncrypto/dist/crypto.node.mjs b/.output/server/node_modules/uncrypto/dist/crypto.node.mjs new file mode 100644 index 00000000..78996ba9 --- /dev/null +++ b/.output/server/node_modules/uncrypto/dist/crypto.node.mjs @@ -0,0 +1,16 @@ +import nodeCrypto from 'node:crypto'; + +const subtle = nodeCrypto.webcrypto?.subtle || {}; +const randomUUID = () => { + return nodeCrypto.randomUUID(); +}; +const getRandomValues = (array) => { + return nodeCrypto.webcrypto.getRandomValues(array); +}; +const _crypto = { + randomUUID, + getRandomValues, + subtle +}; + +export { _crypto as default, getRandomValues, randomUUID, subtle }; diff --git a/.output/server/node_modules/uncrypto/package.json b/.output/server/node_modules/uncrypto/package.json new file mode 100644 index 00000000..46288be5 --- /dev/null +++ b/.output/server/node_modules/uncrypto/package.json @@ -0,0 +1,60 @@ +{ + "name": "uncrypto", + "version": "0.1.3", + "description": "Single API for Web Crypto API and Crypto Subtle working in Node.js, Browsers and other runtimes", + "repository": "unjs/uncrypto", + "license": "MIT", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "browser": "./dist/crypto.web.mjs", + "bun": "./dist/crypto.web.mjs", + "deno": "./dist/crypto.web.mjs", + "edge-light": "./dist/crypto.web.mjs", + "edge-routine": "./dist/crypto.web.mjs", + "lagon": "./dist/crypto.web.mjs", + "netlify": "./dist/crypto.web.mjs", + "react-native": "./dist/crypto.web.mjs", + "wintercg": "./dist/crypto.web.mjs", + "worker": "./dist/crypto.web.mjs", + "workerd": "./dist/crypto.web.mjs", + "node": { + "require": "./dist/crypto.node.cjs", + "import": "./dist/crypto.node.mjs", + "types": "./dist/crypto.node.d.ts" + }, + "require": "./dist/crypto.web.cjs", + "import": "./dist/crypto.web.mjs", + "types": "./dist/crypto.web.d.ts" + } + }, + "main": "./dist/crypto.node.cjs", + "module": "./dist/crypto.web.mjs", + "browser": "./dist/crypto.web.mjs", + "types": "./dist/crypto.web.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest dev", + "lint": "eslint --cache --ext .ts,.js,.mjs,.cjs . && prettier -c src test", + "lint:fix": "eslint --cache --ext .ts,.js,.mjs,.cjs . --fix && prettier -c src test -w", + "prepack": "pnpm run build", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --coverage" + }, + "devDependencies": { + "@types/node": "^20.2.5", + "@vitest/coverage-v8": "^0.32.0", + "changelogen": "^0.5.3", + "eslint": "^8.42.0", + "eslint-config-unjs": "^0.2.1", + "prettier": "^2.8.8", + "typescript": "^5.1.3", + "unbuild": "^1.2.1", + "vitest": "^0.32.0" + }, + "packageManager": "pnpm@8.6.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/unhead/dist/index.mjs b/.output/server/node_modules/unhead/dist/index.mjs new file mode 100644 index 00000000..62284ad0 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/index.mjs @@ -0,0 +1,9 @@ +export { u as useHead, a as useHeadSafe, b as useSeoMeta, c as useServerHead, d as useServerHeadSafe, e as useServerSeoMeta } from './shared/unhead.BPM0-cfG.mjs'; +export { c as createHeadCore, a as createUnhead } from './shared/unhead.DH45uomy.mjs'; +export { u as useScript } from './shared/unhead.B578PsDV.mjs'; +import './shared/unhead.CApf5sj3.mjs'; +import './shared/unhead.DQc16pHI.mjs'; +import './shared/unhead.yem5I2v_.mjs'; +import 'hookable'; +import './shared/unhead.BpRRHAhY.mjs'; +import './shared/unhead.DZbvapt-.mjs'; diff --git a/.output/server/node_modules/unhead/dist/parser.mjs b/.output/server/node_modules/unhead/dist/parser.mjs new file mode 100644 index 00000000..dadac2fb --- /dev/null +++ b/.output/server/node_modules/unhead/dist/parser.mjs @@ -0,0 +1,508 @@ +const TAG_HTML = 0; +const TAG_HEAD = 1; +const TAG_TITLE = 4; +const TAG_META = 5; +const TAG_BODY = 44; +const TAG_SCRIPT = 52; +const TAG_STYLE = 53; +const TAG_LINK = 54; +const TAG_BASE = 56; +const LT_CHAR = 60; +const GT_CHAR = 62; +const SLASH_CHAR = 47; +const EQUALS_CHAR = 61; +const QUOTE_CHAR = 34; +const APOS_CHAR = 39; +const EXCLAMATION_CHAR = 33; +const BACKSLASH_CHAR = 92; +const DASH_CHAR = 45; +const TagIdMap = { + html: TAG_HTML, + head: TAG_HEAD, + title: TAG_TITLE, + meta: TAG_META, + body: TAG_BODY, + script: TAG_SCRIPT, + style: TAG_STYLE, + link: TAG_LINK, + base: TAG_BASE +}; +function isWhitespace(charCode) { + return charCode === 32 || charCode === 9 || charCode === 10 || charCode === 13; +} +function processCommentOrDoctype(htmlChunk, position) { + let i = position; + const chunkLength = htmlChunk.length; + if (i + 3 < chunkLength && htmlChunk.charCodeAt(i + 2) === DASH_CHAR && htmlChunk.charCodeAt(i + 3) === DASH_CHAR) { + i += 4; + while (i < chunkLength - 2) { + if (htmlChunk.charCodeAt(i) === DASH_CHAR && htmlChunk.charCodeAt(i + 1) === DASH_CHAR && htmlChunk.charCodeAt(i + 2) === GT_CHAR) { + i += 3; + return { + complete: true, + newPosition: i, + remainingText: "" + }; + } + i++; + } + return { + complete: false, + newPosition: position, + remainingText: htmlChunk.substring(position) + }; + } else { + i += 2; + while (i < chunkLength) { + if (htmlChunk.charCodeAt(i) === GT_CHAR) { + i++; + return { + complete: true, + newPosition: i, + remainingText: "" + }; + } + i++; + } + return { + complete: false, + newPosition: i, + remainingText: htmlChunk.substring(position, i) + }; + } +} +function parseAttributes(attrStr) { + if (!attrStr) + return {}; + const result = {}; + const len = attrStr.length; + let i = 0; + const WHITESPACE = 0; + const NAME = 1; + const AFTER_NAME = 2; + const BEFORE_VALUE = 3; + const QUOTED_VALUE = 4; + const UNQUOTED_VALUE = 5; + let state = WHITESPACE; + let nameStart = 0; + let nameEnd = 0; + let valueStart = 0; + let quoteChar = 0; + let name = ""; + while (i < len) { + const charCode = attrStr.charCodeAt(i); + const isSpace = isWhitespace(charCode); + switch (state) { + case WHITESPACE: + if (!isSpace) { + state = NAME; + nameStart = i; + nameEnd = 0; + } + break; + case NAME: + if (charCode === EQUALS_CHAR || isSpace) { + nameEnd = i; + name = attrStr.substring(nameStart, nameEnd).toLowerCase(); + state = charCode === EQUALS_CHAR ? BEFORE_VALUE : AFTER_NAME; + } + break; + case AFTER_NAME: + if (charCode === EQUALS_CHAR) { + state = BEFORE_VALUE; + } else if (!isSpace) { + result[name] = ""; + state = NAME; + nameStart = i; + nameEnd = 0; + } + break; + case BEFORE_VALUE: + if (charCode === QUOTE_CHAR || charCode === APOS_CHAR) { + quoteChar = charCode; + state = QUOTED_VALUE; + valueStart = i + 1; + } else if (!isSpace) { + state = UNQUOTED_VALUE; + valueStart = i; + } + break; + case QUOTED_VALUE: + if (charCode === BACKSLASH_CHAR && i + 1 < len) { + i++; + } else if (charCode === quoteChar) { + result[name] = attrStr.substring(valueStart, i); + state = WHITESPACE; + } + break; + case UNQUOTED_VALUE: + if (isSpace || charCode === GT_CHAR) { + result[name] = attrStr.substring(valueStart, i); + state = WHITESPACE; + } + break; + } + i++; + } + if (state === QUOTED_VALUE || state === UNQUOTED_VALUE) { + if (name) { + result[name] = attrStr.substring(valueStart, i); + } + } else if (state === NAME || state === AFTER_NAME || state === BEFORE_VALUE) { + nameEnd = nameEnd || i; + const currentName = attrStr.substring(nameStart, nameEnd).toLowerCase(); + if (currentName) { + result[currentName] = ""; + } + } + return result; +} +function parseHtmlForIndexes(html) { + const indexes = { + htmlTagStart: html.indexOf("<html"), + htmlTagEnd: -1, + headTagEnd: html.indexOf("</head>"), + bodyTagStart: html.indexOf("<body"), + bodyTagEnd: -1, + bodyCloseTagStart: html.indexOf("</body>") + }; + if (indexes.htmlTagStart >= 0) { + const htmlTagEndPos = html.indexOf(">", indexes.htmlTagStart); + if (htmlTagEndPos >= 0) { + indexes.htmlTagEnd = htmlTagEndPos + 1; + } + } + if (indexes.bodyTagStart >= 0) { + const bodyTagEndPos = html.indexOf(">", indexes.bodyTagStart); + if (bodyTagEndPos >= 0) { + indexes.bodyTagEnd = bodyTagEndPos + 1; + } + } + return { html, input: {}, indexes }; +} +function parseHtmlForUnheadExtraction(html) { + const input = {}; + const htmlParts = []; + let position = 0; + let inHead = false; + let foundBodyStart = false; + let lastCopyPosition = 0; + let currentOutputLength = 0; + const indexes = { + htmlTagStart: -1, + htmlTagEnd: -1, + headTagEnd: -1, + bodyTagStart: -1, + bodyTagEnd: -1, + bodyCloseTagStart: -1 + }; + const headElementsToExtract = /* @__PURE__ */ new Set([TAG_TITLE, TAG_META, TAG_LINK, TAG_SCRIPT, TAG_STYLE, TAG_BASE]); + function copyAccumulatedText() { + if (lastCopyPosition < position) { + const textToAdd = html.substring(lastCopyPosition, position); + htmlParts.push(textToAdd); + currentOutputLength += textToAdd.length; + lastCopyPosition = position; + } + } + function addText(text) { + htmlParts.push(text); + currentOutputLength += text.length; + } + while (position < html.length && !foundBodyStart) { + const currentCharCode = html.charCodeAt(position); + if (currentCharCode !== LT_CHAR) { + position++; + continue; + } + if (position + 1 >= html.length) { + copyAccumulatedText(); + addText(html[position]); + break; + } + const nextCharCode = html.charCodeAt(position + 1); + if (nextCharCode === EXCLAMATION_CHAR) { + const result = processCommentOrDoctype(html, position); + if (result.complete) { + copyAccumulatedText(); + addText(html.substring(position, result.newPosition)); + position = result.newPosition; + lastCopyPosition = position; + } else { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + continue; + } + if (nextCharCode === SLASH_CHAR) { + let tagEnd2 = position + 2; + while (tagEnd2 < html.length && html.charCodeAt(tagEnd2) !== GT_CHAR) { + tagEnd2++; + } + if (tagEnd2 >= html.length) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const tagName2 = html.substring(position + 2, tagEnd2).toLowerCase().trim(); + const tagId2 = TagIdMap[tagName2] ?? -1; + if (tagId2 === TAG_HEAD) { + inHead = false; + copyAccumulatedText(); + const headCloseStart = currentOutputLength; + addText(html.substring(position, tagEnd2 + 1)); + indexes.headTagEnd = headCloseStart; + } else { + copyAccumulatedText(); + addText(html.substring(position, tagEnd2 + 1)); + } + position = tagEnd2 + 1; + lastCopyPosition = position; + continue; + } + const tagStart = position + 1; + let tagNameEnd = tagStart; + while (tagNameEnd < html.length) { + const c = html.charCodeAt(tagNameEnd); + if (isWhitespace(c) || c === SLASH_CHAR || c === GT_CHAR) { + break; + } + tagNameEnd++; + } + if (tagNameEnd >= html.length) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const tagName = html.substring(tagStart, tagNameEnd).toLowerCase(); + const tagId = TagIdMap[tagName] ?? -1; + let tagEnd = tagNameEnd; + let inQuote = false; + let quoteChar = 0; + let foundEnd = false; + let isSelfClosing = false; + while (tagEnd < html.length && !foundEnd) { + const c = html.charCodeAt(tagEnd); + if (inQuote) { + if (c === quoteChar) { + inQuote = false; + } + } else if (c === QUOTE_CHAR || c === APOS_CHAR) { + inQuote = true; + quoteChar = c; + } else if (c === SLASH_CHAR && tagEnd + 1 < html.length && html.charCodeAt(tagEnd + 1) === GT_CHAR) { + isSelfClosing = true; + tagEnd += 2; + foundEnd = true; + continue; + } else if (c === GT_CHAR) { + tagEnd++; + foundEnd = true; + continue; + } + tagEnd++; + } + if (!foundEnd) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const attributesStr = html.substring(tagNameEnd, tagEnd - (isSelfClosing ? 2 : 1)).trim(); + const attributes = parseAttributes(attributesStr); + if (tagId === TAG_HTML) { + copyAccumulatedText(); + indexes.htmlTagStart = currentOutputLength; + if (Object.keys(attributes).length > 0) { + input.htmlAttrs = attributes; + addText(`<${tagName}>`); + } else { + addText(html.substring(position, tagEnd)); + } + indexes.htmlTagEnd = currentOutputLength; + } else if (tagId === TAG_BODY) { + copyAccumulatedText(); + indexes.bodyTagStart = currentOutputLength; + if (Object.keys(attributes).length > 0) { + input.bodyAttrs = attributes; + addText(`<${tagName}>`); + } else { + addText(html.substring(position, tagEnd)); + } + indexes.bodyTagEnd = currentOutputLength; + foundBodyStart = true; + position = tagEnd; + lastCopyPosition = position; + break; + } else if (tagId === TAG_HEAD) { + inHead = true; + copyAccumulatedText(); + addText(html.substring(position, tagEnd)); + } else if (inHead && headElementsToExtract.has(tagId)) { + if (tagId === TAG_TITLE) { + if (!isSelfClosing) { + const titleEnd = findClosingTag(html, tagEnd, tagName); + if (titleEnd !== -1) { + const titleContent = html.substring(tagEnd, titleEnd).trim(); + if (titleContent && !input.title) { + input.title = titleContent; + } + position = findTagEnd(html, titleEnd, tagName); + lastCopyPosition = position; + continue; + } + } + } else if (tagId === TAG_SCRIPT) { + const scriptAttrs = { ...attributes }; + if (!isSelfClosing) { + const scriptEnd = findClosingTag(html, tagEnd, tagName); + if (scriptEnd !== -1) { + const scriptContent = html.substring(tagEnd, scriptEnd); + scriptAttrs.innerHTML = scriptContent || ""; + position = findTagEnd(html, scriptEnd, tagName); + } else { + scriptAttrs.innerHTML = ""; + position = tagEnd; + } + } else { + scriptAttrs.innerHTML = ""; + position = tagEnd; + } + lastCopyPosition = position; + (input.script ||= []).push(scriptAttrs); + continue; + } else if (tagId === TAG_STYLE) { + const styleAttrs = { ...attributes }; + if (!isSelfClosing) { + const styleEnd = findClosingTag(html, tagEnd, tagName); + if (styleEnd !== -1) { + const styleContent = html.substring(tagEnd, styleEnd); + styleAttrs.textContent = styleContent || ""; + position = findTagEnd(html, styleEnd, tagName); + } else { + styleAttrs.textContent = ""; + position = tagEnd; + } + } else { + styleAttrs.textContent = ""; + position = tagEnd; + } + lastCopyPosition = position; + (input.style ||= []).push(styleAttrs); + continue; + } else if (tagId === TAG_META) { + (input.meta ||= []).push(attributes); + position = tagEnd; + lastCopyPosition = position; + continue; + } else if (tagId === TAG_LINK) { + (input.link ||= []).push(attributes); + position = tagEnd; + lastCopyPosition = position; + continue; + } else if (tagId === TAG_BASE && !input.base) { + input.base = attributes; + position = tagEnd; + lastCopyPosition = position; + continue; + } + } else { + copyAccumulatedText(); + addText(html.substring(position, tagEnd)); + } + position = tagEnd; + lastCopyPosition = position; + } + const remainingHtml = html.substring(position); + const bodyCloseIndex = remainingHtml.indexOf("</body>"); + if (bodyCloseIndex !== -1) { + indexes.bodyCloseTagStart = currentOutputLength + bodyCloseIndex; + } + copyAccumulatedText(); + addText(remainingHtml); + return { html: htmlParts.join(""), input, indexes }; +} +function findClosingTag(html, startPos, tagName) { + const tagId = TagIdMap[tagName]; + const isScriptOrStyle = tagId === TAG_SCRIPT || tagId === TAG_STYLE; + if (!isScriptOrStyle) { + const closingTag2 = `</${tagName}`; + const index = html.indexOf(closingTag2, startPos); + return index === -1 ? -1 : index; + } + const closingTag = `</${tagName}`; + let pos = startPos; + let inSingleQuote = false; + let inDoubleQuote = false; + let inBacktick = false; + let lastCharWasBackslash = false; + while (pos < html.length) { + const currentCharCode = html.charCodeAt(pos); + if (!lastCharWasBackslash) { + if (currentCharCode === APOS_CHAR && !inDoubleQuote && !inBacktick) { + inSingleQuote = !inSingleQuote; + } else if (currentCharCode === QUOTE_CHAR && !inSingleQuote && !inBacktick) { + inDoubleQuote = !inDoubleQuote; + } else if (currentCharCode === 96 && !inSingleQuote && !inDoubleQuote) { + inBacktick = !inBacktick; + } + } + lastCharWasBackslash = currentCharCode === BACKSLASH_CHAR && !lastCharWasBackslash; + const inQuotes = inSingleQuote || inDoubleQuote || inBacktick; + if (!inQuotes && html.startsWith(closingTag, pos)) { + const afterTagPos = pos + closingTag.length; + if (afterTagPos >= html.length) { + return pos; + } + const nextChar = html.charCodeAt(afterTagPos); + if (nextChar === GT_CHAR || isWhitespace(nextChar)) { + return pos; + } + } + pos++; + } + return -1; +} +function findTagEnd(html, closingTagStart, tagName) { + let pos = closingTagStart + tagName.length + 2; + while (pos < html.length && html.charCodeAt(pos) !== GT_CHAR) { + pos++; + } + return pos < html.length ? pos + 1 : pos; +} +function applyHeadToHtml(template, headHtml) { + const { html, indexes } = template; + const parts = []; + let lastIndex = 0; + if (indexes.htmlTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.htmlTagStart)); + parts.push(`<html${headHtml.htmlAttrs}>`); + lastIndex = indexes.htmlTagEnd; + } + if (indexes.headTagEnd >= 0) { + parts.push(html.substring(lastIndex, indexes.headTagEnd)); + parts.push(headHtml.headTags); + parts.push("</head>"); + lastIndex = indexes.headTagEnd + 7; + } + if (indexes.bodyTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.bodyTagStart)); + if (headHtml.bodyTagsOpen) { + parts.push(`<body${headHtml.bodyAttrs}> +${headHtml.bodyTagsOpen}`); + } else { + parts.push(`<body${headHtml.bodyAttrs}>`); + } + lastIndex = indexes.bodyTagEnd; + } + if (indexes.bodyCloseTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.bodyCloseTagStart)); + parts.push(headHtml.bodyTags); + parts.push(html.substring(indexes.bodyCloseTagStart)); + } else { + parts.push(html.substring(lastIndex)); + } + return parts.join(""); +} + +export { TagIdMap, applyHeadToHtml, parseAttributes, parseHtmlForIndexes, parseHtmlForUnheadExtraction }; diff --git a/.output/server/node_modules/unhead/dist/plugins.mjs b/.output/server/node_modules/unhead/dist/plugins.mjs new file mode 100644 index 00000000..49f65a37 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/plugins.mjs @@ -0,0 +1,101 @@ +export { A as AliasSortingPlugin, D as DeprecationsPlugin, P as PromisesPlugin, T as TemplateParamsPlugin } from './shared/unhead.Djo8ep_Y.mjs'; +import { d as defineHeadPlugin } from './shared/unhead.CApf5sj3.mjs'; +export { F as FlatMetaPlugin, S as SafeInputPlugin } from './shared/unhead.CApf5sj3.mjs'; +import './shared/unhead.DZbvapt-.mjs'; +import './shared/unhead.BYvz9V1x.mjs'; +import './shared/unhead.DQc16pHI.mjs'; +import './shared/unhead.yem5I2v_.mjs'; + +const META_TRANSFORMABLE_URL = [ + "og:url", + "og:image", + "og:image:secure_url", + "twitter:image", + "twitter:image:src", + "og:video", + "og:video:secure_url", + "og:see_also" +]; +function CanonicalPlugin(options) { + return (head) => { + let host = options.canonicalHost || (!head.ssr ? window.location.origin : ""); + if (!host.startsWith("http") && !host.startsWith("//")) { + host = `https://${host}`; + } + host = new URL(host).origin; + function resolvePath(path) { + if (options?.customResolver) { + return options.customResolver(path); + } + if (path.startsWith("http") || path.startsWith("//")) + return path; + try { + return new URL(path, host).toString(); + } catch { + return path; + } + } + return { + key: "canonical", + hooks: { + "tags:resolve": (ctx) => { + for (const tag of ctx.tags) { + if (tag.tag === "meta" && (META_TRANSFORMABLE_URL.includes(tag.props?.property) || META_TRANSFORMABLE_URL.includes(tag.props?.name))) { + tag.props.content = resolvePath(tag.props.content); + } else if (tag.tag === "link" && tag.props.rel === "canonical") { + tag.props.href = resolvePath(tag.props.href); + } + } + } + } + }; + }; +} + +function InferSeoMetaPlugin(options = {}) { + return defineHeadPlugin((head) => { + head.push({ + meta: [ + { + name: "twitter:card", + content: options.twitterCard || "summary_large_image", + tagPriority: "low" + }, + { + "property": "og:title", + "tagPriority": "low", + "data-infer": "" + }, + { + "property": "og:description", + "tagPriority": "low", + "data-infer": "" + } + ] + }); + return { + key: "infer-seo-meta", + hooks: { + "tags:beforeResolve": ({ tagMap }) => { + let title = head._titleTemplate || head._title; + const ogTitle = tagMap.get("meta:og:title"); + if (typeof ogTitle?.props["data-infer"] !== "undefined") { + if (typeof title === "function") { + title = title(head._title); + } + ogTitle.props.content = options.ogTitle ? options.ogTitle(title) : title || ""; + ogTitle.processTemplateParams = true; + } + const description = tagMap.get("meta:description")?.props?.content; + const ogDescription = tagMap.get("meta:og:description"); + if (typeof ogDescription?.props["data-infer"] !== "undefined") { + ogDescription.props.content = options.ogDescription ? options.ogDescription(description) : description || ""; + ogDescription.processTemplateParams = true; + } + } + } + }; + }); +} + +export { CanonicalPlugin, InferSeoMetaPlugin, defineHeadPlugin }; diff --git a/.output/server/node_modules/unhead/dist/scripts.mjs b/.output/server/node_modules/unhead/dist/scripts.mjs new file mode 100644 index 00000000..1300f42f --- /dev/null +++ b/.output/server/node_modules/unhead/dist/scripts.mjs @@ -0,0 +1,30 @@ +export { r as resolveScriptKey, u as useScript } from './shared/unhead.B578PsDV.mjs'; +import './shared/unhead.yem5I2v_.mjs'; + +function createSpyProxy(target, onApply) { + const stack = []; + let stackIdx = -1; + const handler = (reuseStack = false) => ({ + get(_, prop, receiver) { + if (!reuseStack) { + stackIdx++; + stack[stackIdx] = []; + } + const v = Reflect.get(_, prop, receiver); + if (typeof v === "object" || typeof v === "function") { + stack[stackIdx].push({ type: "get", key: prop }); + return new Proxy(v, handler(true)); + } + stack[stackIdx].push({ type: "get", key: prop, value: v }); + return v; + }, + apply(_, __, args) { + stack[stackIdx].push({ type: "apply", key: "", args }); + onApply(stack); + return Reflect.apply(_, __, args); + } + }); + return new Proxy(target, handler()); +} + +export { createSpyProxy }; diff --git a/.output/server/node_modules/unhead/dist/server.mjs b/.output/server/node_modules/unhead/dist/server.mjs new file mode 100644 index 00000000..b73d1424 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/server.mjs @@ -0,0 +1,182 @@ +import { a as createUnhead } from './shared/unhead.DH45uomy.mjs'; +import { T as TagsWithInnerContent, S as SelfClosingTags } from './shared/unhead.yem5I2v_.mjs'; +import { parseHtmlForUnheadExtraction } from './parser.mjs'; +import 'hookable'; +import './shared/unhead.BpRRHAhY.mjs'; +import './shared/unhead.DZbvapt-.mjs'; + +// @__NO_SIDE_EFFECTS__ +function createHead(options = {}) { + const unhead = createUnhead({ + ...options, + // @ts-expect-error untyped + document: false, + propResolvers: [ + ...options.propResolvers || [], + (k, v) => { + if (k && k.startsWith("on") && typeof v === "function") { + return `this.dataset.${k}fired = true`; + } + return v; + } + ], + init: [ + options.disableDefaults ? void 0 : { + htmlAttrs: { + lang: "en" + }, + meta: [ + { + charset: "utf-8" + }, + { + name: "viewport", + content: "width=device-width, initial-scale=1" + } + ] + }, + ...options.init || [] + ] + }); + unhead._ssrPayload = {}; + unhead.use({ + key: "server", + hooks: { + "tags:resolve": function(ctx) { + const title = ctx.tagMap.get("title"); + const titleTemplate = ctx.tagMap.get("titleTemplate"); + let payload = { + title: title?.mode === "server" ? unhead._title : void 0, + titleTemplate: titleTemplate?.mode === "server" ? unhead._titleTemplate : void 0 + }; + if (Object.keys(unhead._ssrPayload || {}).length > 0) { + payload = { + ...unhead._ssrPayload, + ...payload + }; + } + if (Object.values(payload).some(Boolean)) { + ctx.tags.push({ + tag: "script", + innerHTML: JSON.stringify(payload), + props: { id: "unhead:payload", type: "application/json" } + }); + } + } + } + }); + return unhead; +} + +function extractUnheadInputFromHtml(html) { + return parseHtmlForUnheadExtraction(html); +} + +function encodeAttribute(value) { + return String(value).replace(/"/g, """); +} +function propsToString(props) { + let attrs = ""; + for (const key in props) { + if (!Object.hasOwn(props, key)) + continue; + let value = props[key]; + if ((key === "class" || key === "style") && typeof value !== "string") { + value = key === "class" ? Array.from(value).join(" ") : Array.from(value).map(([k, v]) => `${k}:${v}`).join(";"); + } + if (value !== false && value !== null) { + attrs += value === true ? ` ${key}` : ` ${key}="${encodeAttribute(value)}"`; + } + } + return attrs; +} + +function escapeHtml(str) { + return str.replace(/[&<>"'/]/g, (char) => { + switch (char) { + case "&": + return "&"; + case "<": + return "<"; + case ">": + return ">"; + case '"': + return """; + case "'": + return "'"; + case "/": + return "/"; + default: + return char; + } + }); +} +function tagToString(tag) { + const attrs = propsToString(tag.props); + const openTag = `<${tag.tag}${attrs}>`; + if (!TagsWithInnerContent.has(tag.tag)) + return SelfClosingTags.has(tag.tag) ? openTag : `${openTag}</${tag.tag}>`; + let content = String(tag.textContent || tag.innerHTML || ""); + content = tag.tag === "title" ? escapeHtml(content) : content.replace(new RegExp(`</${tag.tag}`, "gi"), `<\\/${tag.tag}`); + return SelfClosingTags.has(tag.tag) ? openTag : `${openTag}${content}</${tag.tag}>`; +} + +function ssrRenderTags(tags, options) { + const schema = { htmlAttrs: {}, bodyAttrs: {}, tags: { head: "", bodyClose: "", bodyOpen: "" } }; + const lineBreaks = !options?.omitLineBreaks ? "\n" : ""; + for (const tag of tags) { + if (tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs") { + Object.assign(schema[tag.tag], tag.props); + continue; + } + const s = tagToString(tag); + const tagPosition = tag.tagPosition || "head"; + schema.tags[tagPosition] += schema.tags[tagPosition] ? `${lineBreaks}${s}` : s; + } + return { + headTags: schema.tags.head, + bodyTags: schema.tags.bodyClose, + bodyTagsOpen: schema.tags.bodyOpen, + htmlAttrs: propsToString(schema.htmlAttrs), + bodyAttrs: propsToString(schema.bodyAttrs) + }; +} + +// @__NO_SIDE_EFFECTS__ +async function renderSSRHead(head, options) { + const beforeRenderCtx = { shouldRender: true }; + await head.hooks.callHook("ssr:beforeRender", beforeRenderCtx); + if (!beforeRenderCtx.shouldRender) { + return { + headTags: "", + bodyTags: "", + bodyTagsOpen: "", + htmlAttrs: "", + bodyAttrs: "" + }; + } + const ctx = { tags: options?.resolvedTags || await head.resolveTags() }; + await head.hooks.callHook("ssr:render", ctx); + const html = ssrRenderTags(ctx.tags, options); + const renderCtx = { tags: ctx.tags, html }; + await head.hooks.callHook("ssr:rendered", renderCtx); + return renderCtx.html; +} + +// @__NO_SIDE_EFFECTS__ +async function transformHtmlTemplate(head, html, options) { + const { parseHtmlForUnheadExtraction, applyHeadToHtml } = await import('./parser.mjs'); + const template = parseHtmlForUnheadExtraction(html); + head.push(template.input, { _index: 0 }); + const headHtml = await renderSSRHead(head, options); + return applyHeadToHtml(template, headHtml); +} +// @__NO_SIDE_EFFECTS__ +async function transformHtmlTemplateRaw(head, html, options) { + const { parseHtmlForIndexes, applyHeadToHtml } = await import('./parser.mjs'); + const headHtml = await renderSSRHead(head, options); + const template = parseHtmlForIndexes(html); + return applyHeadToHtml(template, headHtml); +} + +export { createHead, escapeHtml, extractUnheadInputFromHtml, propsToString, renderSSRHead, ssrRenderTags, tagToString, transformHtmlTemplate, transformHtmlTemplateRaw }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.B578PsDV.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.B578PsDV.mjs new file mode 100644 index 00000000..2603f83b --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.B578PsDV.mjs @@ -0,0 +1,266 @@ +import { b as ScriptNetworkEvents } from './unhead.yem5I2v_.mjs'; + +function createNoopedRecordingProxy(instance = {}) { + const stack = []; + let stackIdx = -1; + const handler = (reuseStack = false) => ({ + get(_, prop, receiver) { + if (!reuseStack) { + const v = Reflect.get(_, prop, receiver); + if (typeof v !== "undefined") { + return v; + } + stackIdx++; + stack[stackIdx] = []; + } + stack[stackIdx].push({ type: "get", key: prop }); + return new Proxy(() => { + }, handler(true)); + }, + apply(_, __, args) { + stack[stackIdx].push({ type: "apply", key: "", args }); + return void 0; + } + }); + return { + proxy: new Proxy(instance || {}, handler()), + stack + }; +} +function createForwardingProxy(target) { + const handler = { + get(_, prop, receiver) { + const v = Reflect.get(_, prop, receiver); + if (typeof v === "object") { + return new Proxy(v, handler); + } + return v; + }, + apply(_, __, args) { + Reflect.apply(_, __, args); + return void 0; + } + }; + return new Proxy(target, handler); +} +function replayProxyRecordings(target, stack) { + stack.forEach((recordings) => { + let context = target; + let prevContext = target; + recordings.forEach(({ type, key, args }) => { + if (type === "get") { + prevContext = context; + context = context[key]; + } else if (type === "apply") { + context = context.call(prevContext, ...args); + } + }); + }); +} + +function resolveScriptKey(input) { + return input.key || input.src || (typeof input.innerHTML === "string" ? input.innerHTML : ""); +} +const PreconnectServerModes = ["preconnect", "dns-prefetch"]; +function useScript(head, _input, _options) { + const input = typeof _input === "string" ? { src: _input } : _input; + const options = _options || {}; + const id = resolveScriptKey(input); + const prevScript = head._scripts?.[id]; + if (prevScript) { + prevScript.setupTriggerHandler(options.trigger); + return prevScript; + } + options.beforeInit?.(); + const syncStatus = (s) => { + script.status = s; + head.hooks.callHook(`script:updated`, hookCtx); + }; + ScriptNetworkEvents.forEach((fn) => { + const k = fn; + const _fn = typeof input[k] === "function" ? input[k].bind(options.eventContext) : null; + input[k] = (e) => { + syncStatus(fn === "onload" ? "loaded" : fn === "onerror" ? "error" : "loading"); + _fn?.(e); + }; + }); + const _cbs = { loaded: [], error: [] }; + const _uniqueCbs = /* @__PURE__ */ new Set(); + const _registerCb = (key, cb, options2) => { + if (head.ssr) { + return; + } + if (options2?.key) { + const key2 = `${options2?.key}:${options2.key}`; + if (_uniqueCbs.has(key2)) { + return; + } + _uniqueCbs.add(key2); + } + if (_cbs[key]) { + const i = _cbs[key].push(cb); + return () => _cbs[key]?.splice(i - 1, 1); + } + cb(script.instance); + return () => { + }; + }; + const loadPromise = new Promise((resolve) => { + if (head.ssr) + return; + const emit = (api) => requestAnimationFrame(() => resolve(api)); + const _ = head.hooks.hook("script:updated", ({ script: script2 }) => { + const status = script2.status; + if (script2.id === id && (status === "loaded" || status === "error")) { + if (status === "loaded") { + if (typeof options.use === "function") { + const api = options.use(); + if (api) { + emit(api); + } + } else { + emit({}); + } + } else if (status === "error") { + resolve(false); + } + _(); + } + }); + }); + const script = { + _loadPromise: loadPromise, + instance: !head.ssr && options?.use?.() || null, + proxy: null, + id, + status: "awaitingLoad", + remove() { + script._triggerAbortController?.abort(); + script._triggerPromises = []; + script._warmupEl?.dispose(); + if (script.entry) { + script.entry.dispose(); + script.entry = void 0; + syncStatus("removed"); + delete head._scripts?.[id]; + return true; + } + return false; + }, + warmup(rel) { + const { src } = input; + const isCrossOrigin = !src.startsWith("/") || src.startsWith("//"); + const isPreconnect = rel && PreconnectServerModes.includes(rel); + let href = src; + if (!rel || isPreconnect && !isCrossOrigin) { + return; + } + if (isPreconnect) { + const $url = new URL(src); + href = `${$url.protocol}//${$url.host}`; + } + const link = { + href, + rel, + crossorigin: typeof input.crossorigin !== "undefined" ? input.crossorigin : isCrossOrigin ? "anonymous" : void 0, + referrerpolicy: typeof input.referrerpolicy !== "undefined" ? input.referrerpolicy : isCrossOrigin ? "no-referrer" : void 0, + fetchpriority: typeof input.fetchpriority !== "undefined" ? input.fetchpriority : "low", + integrity: input.integrity, + as: rel === "preload" ? "script" : void 0 + }; + script._warmupEl = head.push({ link: [link] }, { head, tagPriority: "high" }); + return script._warmupEl; + }, + load(cb) { + script._triggerAbortController?.abort(); + script._triggerPromises = []; + if (!script.entry) { + syncStatus("loading"); + const defaults = { + defer: true, + fetchpriority: "low" + }; + if (input.src && (input.src.startsWith("http") || input.src.startsWith("//"))) { + defaults.crossorigin = "anonymous"; + defaults.referrerpolicy = "no-referrer"; + } + script.entry = head.push({ + script: [{ ...defaults, ...input }] + }, options); + } + if (cb) + _registerCb("loaded", cb); + return loadPromise; + }, + onLoaded(cb, options2) { + return _registerCb("loaded", cb, options2); + }, + onError(cb, options2) { + return _registerCb("error", cb, options2); + }, + setupTriggerHandler(trigger) { + if (script.status !== "awaitingLoad") { + return; + } + if ((typeof trigger === "undefined" || trigger === "client") && !head.ssr || trigger === "server") { + script.load(); + } else if (trigger instanceof Promise) { + if (head.ssr) { + return; + } + if (!script._triggerAbortController) { + script._triggerAbortController = new AbortController(); + script._triggerAbortPromise = new Promise((resolve) => { + script._triggerAbortController.signal.addEventListener("abort", () => { + script._triggerAbortController = null; + resolve(); + }); + }); + } + script._triggerPromises = script._triggerPromises || []; + const idx = script._triggerPromises.push(Promise.race([ + trigger.then((v) => typeof v === "undefined" || v ? script.load : void 0), + script._triggerAbortPromise + ]).catch(() => { + }).then((res) => { + res?.(); + }).finally(() => { + script._triggerPromises?.splice(idx, 1); + })); + } else if (typeof trigger === "function") { + trigger(script.load); + } + }, + _cbs + }; + loadPromise.then((api) => { + if (api !== false) { + script.instance = api; + _cbs.loaded?.forEach((cb) => cb(api)); + _cbs.loaded = null; + } else { + _cbs.error?.forEach((cb) => cb()); + _cbs.error = null; + } + }); + const hookCtx = { script }; + script.setupTriggerHandler(options.trigger); + if (options.use) { + const { proxy, stack } = createNoopedRecordingProxy(head.ssr ? {} : options.use() || {}); + script.proxy = proxy; + script.onLoaded((instance) => { + replayProxyRecordings(instance, stack); + script.proxy = createForwardingProxy(instance); + }); + } + if (!options.warmupStrategy && (typeof options.trigger === "undefined" || options.trigger === "client")) { + options.warmupStrategy = "preload"; + } + if (options.warmupStrategy) { + script.warmup(options.warmupStrategy); + } + head._scripts = Object.assign(head._scripts || {}, { [id]: script }); + return script; +} + +export { resolveScriptKey as r, useScript as u }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.BPM0-cfG.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.BPM0-cfG.mjs new file mode 100644 index 00000000..526b74b3 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.BPM0-cfG.mjs @@ -0,0 +1,44 @@ +import { S as SafeInputPlugin, F as FlatMetaPlugin } from './unhead.CApf5sj3.mjs'; + +function useHead(unhead, input, options = {}) { + return unhead.push(input || {}, options); +} +function useHeadSafe(unhead, input = {}, options = {}) { + unhead.use(SafeInputPlugin); + return useHead(unhead, input, Object.assign(options, { _safe: true })); +} +function useSeoMeta(unhead, input = {}, options) { + unhead.use(FlatMetaPlugin); + function normalize(input2) { + if (input2._flatMeta) { + return input2; + } + const { title, titleTemplate, ...meta } = input2 || {}; + return { + title, + titleTemplate, + _flatMeta: meta + }; + } + const entry = unhead.push(normalize(input), options); + const corePatch = entry.patch; + if (!entry.__patched) { + entry.patch = (input2) => corePatch(normalize(input2)); + entry.__patched = true; + } + return entry; +} +function useServerHead(unhead, input = {}, options = {}) { + options.mode = "server"; + return unhead.push(input, options); +} +function useServerHeadSafe(unhead, input = {}, options = {}) { + options.mode = "server"; + return useHeadSafe(unhead, input, { ...options, mode: "server" }); +} +function useServerSeoMeta(unhead, input = {}, options) { + options.mode = "server"; + return useSeoMeta(unhead, input, { ...options, mode: "server" }); +} + +export { useHeadSafe as a, useSeoMeta as b, useServerHead as c, useServerHeadSafe as d, useServerSeoMeta as e, useHead as u }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs new file mode 100644 index 00000000..a8969842 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs @@ -0,0 +1,43 @@ +const SepSub = "%separator"; +function sub(p, token, isJson = false) { + let val; + if (token === "s" || token === "pageTitle") { + val = p.pageTitle; + } else if (token.includes(".")) { + const dotIndex = token.indexOf("."); + val = p[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)]; + } else { + val = p[token]; + } + if (val !== void 0) { + return isJson ? (val || "").replace(/\\/g, "\\\\").replace(/</g, "\\u003C").replace(/"/g, '\\"') : val || ""; + } + return void 0; +} +function processTemplateParams(s, p, sep, isJson = false) { + if (typeof s !== "string" || !s.includes("%")) + return s; + let decoded = s; + try { + decoded = decodeURI(s); + } catch { + } + const tokens = decoded.match(/%\w+(?:\.\w+)?/g); + if (!tokens) { + return s; + } + const hasSepSub = s.includes(SepSub); + s = s.replace(/%\w+(?:\.\w+)?/g, (token) => { + if (token === SepSub || !tokens.includes(token)) { + return token; + } + const re = sub(p, token.slice(1), isJson); + return re !== void 0 ? re : token; + }).trim(); + if (hasSepSub) { + s = s.split(SepSub).map((part) => part.trim()).filter((part) => part !== "").join(sep ? ` ${sep} ` : " "); + } + return s; +} + +export { processTemplateParams as p }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.BpRRHAhY.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.BpRRHAhY.mjs new file mode 100644 index 00000000..24167c24 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.BpRRHAhY.mjs @@ -0,0 +1,194 @@ +import { U as UniqueTags, T as TagsWithInnerContent, M as MetaTagsArrayable, a as TagConfigKeys, D as DupeableTags } from './unhead.yem5I2v_.mjs'; + +const allowedMetaProperties = ["name", "property", "http-equiv"]; +const StandardSingleMetaTags = /* @__PURE__ */ new Set([ + "viewport", + "description", + "keywords", + "robots" +]); +function isMetaArrayDupeKey(v) { + const parts = v.split(":"); + if (!parts.length) + return false; + return MetaTagsArrayable.has(parts[1]); +} +function dedupeKey(tag) { + const { props, tag: name } = tag; + if (UniqueTags.has(name)) + return name; + if (name === "link" && props.rel === "canonical") + return "canonical"; + if (props.charset) + return "charset"; + if (tag.tag === "meta") { + for (const n of allowedMetaProperties) { + if (props[n] !== void 0) { + const propValue = props[n]; + const isStructured = propValue.includes(":"); + const isStandardSingle = StandardSingleMetaTags.has(propValue); + const shouldAlwaysDedupe = isStructured || isStandardSingle; + const keyPart = !shouldAlwaysDedupe && tag.key ? `:key:${tag.key}` : ""; + return `${name}:${propValue}${keyPart}`; + } + } + } + if (tag.key) { + return `${name}:key:${tag.key}`; + } + if (props.id) { + return `${name}:id:${props.id}`; + } + if (TagsWithInnerContent.has(name)) { + const v = tag.textContent || tag.innerHTML; + if (v) { + return `${name}:content:${v}`; + } + } +} +function hashTag(tag) { + const dedupe = tag._h || tag._d; + if (dedupe) + return dedupe; + const inner = tag.textContent || tag.innerHTML; + if (inner) + return inner; + return `${tag.tag}:${Object.entries(tag.props).map(([k, v]) => `${k}:${String(v)}`).join(",")}`; +} + +function walkResolver(val, resolve, key) { + const type = typeof val; + if (type === "function") { + if (!key || key !== "titleTemplate" && !(key[0] === "o" && key[1] === "n")) { + val = val(); + } + } + let v; + if (resolve) { + v = resolve(key, val); + } + if (Array.isArray(v)) { + return v.map((r) => walkResolver(r, resolve)); + } + if (v?.constructor === Object) { + const next = {}; + for (const key2 of Object.keys(v)) { + next[key2] = walkResolver(v[key2], resolve, key2); + } + return next; + } + return v; +} + +function normalizeStyleClassProps(key, value) { + const store = key === "style" ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new Set(); + function processValue(rawValue) { + const value2 = rawValue.trim(); + if (!value2) + return; + if (key === "style") { + const [k, ...v] = value2.split(":").map((s) => s.trim()); + if (k && v.length) + store.set(k, v.join(":")); + } else { + value2.split(" ").filter(Boolean).forEach((c) => store.add(c)); + } + } + if (typeof value === "string") { + key === "style" ? value.split(";").forEach(processValue) : processValue(value); + } else if (Array.isArray(value)) { + value.forEach((item) => processValue(item)); + } else if (value && typeof value === "object") { + Object.entries(value).forEach(([k, v]) => { + if (v && v !== "false") { + key === "style" ? store.set(k.trim(), v) : processValue(k); + } + }); + } + return store; +} +function normalizeProps(tag, input) { + tag.props = tag.props || {}; + if (!input) { + return tag; + } + if (tag.tag === "templateParams") { + tag.props = input; + return tag; + } + Object.entries(input).forEach(([key, value]) => { + if (value === null) { + tag.props[key] = null; + return; + } + if (key === "class" || key === "style") { + tag.props[key] = normalizeStyleClassProps(key, value); + return; + } + if (TagConfigKeys.has(key)) { + if (["textContent", "innerHTML"].includes(key) && typeof value === "object") { + let type = input.type; + if (!input.type) { + type = "application/json"; + } + if (!type?.endsWith("json") && type !== "speculationrules") { + return; + } + input.type = type; + tag.props.type = type; + tag[key] = JSON.stringify(value); + } else { + tag[key] = value; + } + return; + } + const strValue = String(value); + const isDataKey = key.startsWith("data-"); + if (strValue === "true" || strValue === "") { + tag.props[key] = isDataKey ? strValue : true; + } else if (!value && isDataKey && strValue === "false") { + tag.props[key] = "false"; + } else if (value !== void 0) { + tag.props[key] = value; + } + }); + return tag; +} +function normalizeTag(tagName, _input) { + const input = typeof _input === "object" && typeof _input !== "function" ? _input : { [tagName === "script" || tagName === "noscript" || tagName === "style" ? "innerHTML" : "textContent"]: _input }; + const tag = normalizeProps({ tag: tagName, props: {} }, input); + if (tag.key && DupeableTags.has(tag.tag)) { + tag.props["data-hid"] = tag._h = tag.key; + } + if (tag.tag === "script" && typeof tag.innerHTML === "object") { + tag.innerHTML = JSON.stringify(tag.innerHTML); + tag.props.type = tag.props.type || "application/json"; + } + return Array.isArray(tag.props.content) ? tag.props.content.map((v) => ({ ...tag, props: { ...tag.props, content: v } })) : tag; +} +function normalizeEntryToTags(input, propResolvers) { + if (!input) { + return []; + } + if (typeof input === "function") { + input = input(); + } + const resolvers = (key, val) => { + for (let i = 0; i < propResolvers.length; i++) { + val = propResolvers[i](key, val); + } + return val; + }; + input = resolvers(void 0, input); + const tags = []; + input = walkResolver(input, resolvers); + Object.entries(input || {}).forEach(([key, value]) => { + if (value === void 0) + return; + for (const v of Array.isArray(value) ? value : [value]) + tags.push(normalizeTag(key, v)); + }); + return tags.flat(); +} + +export { normalizeProps as a, dedupeKey as d, hashTag as h, isMetaArrayDupeKey as i, normalizeEntryToTags as n, walkResolver as w }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs new file mode 100644 index 00000000..aef0b62b --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs @@ -0,0 +1,148 @@ +import { u as unpackMeta } from './unhead.DQc16pHI.mjs'; + +function defineHeadPlugin(plugin) { + return plugin; +} + +const FlatMetaPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "flatMeta", + hooks: { + "entries:normalize": (ctx) => { + const tagsToAdd = []; + ctx.tags = ctx.tags.map((t) => { + if (t.tag !== "_flatMeta") { + return t; + } + tagsToAdd.push(unpackMeta(t.props).map((p) => ({ + ...t, + tag: "meta", + props: p + }))); + return false; + }).filter(Boolean).concat(...tagsToAdd); + } + } +}); + +const WhitelistAttributes = { + htmlAttrs: /* @__PURE__ */ new Set(["class", "style", "lang", "dir"]), + bodyAttrs: /* @__PURE__ */ new Set(["class", "style"]), + meta: /* @__PURE__ */ new Set(["name", "property", "charset", "content", "media"]), + noscript: /* @__PURE__ */ new Set(["textContent"]), + style: /* @__PURE__ */ new Set(["media", "textContent", "nonce", "title", "blocking"]), + script: /* @__PURE__ */ new Set(["type", "textContent", "nonce", "blocking"]), + link: /* @__PURE__ */ new Set(["color", "crossorigin", "fetchpriority", "href", "hreflang", "imagesrcset", "imagesizes", "integrity", "media", "referrerpolicy", "rel", "sizes", "type"]) +}; +function acceptDataAttrs(value) { + return Object.fromEntries( + Object.entries(value || {}).filter(([key]) => key === "id" || key.startsWith("data-")) + ); +} +function makeTagSafe(tag) { + let next = {}; + const { tag: type, props: prev } = tag; + switch (type) { + // always safe + case "title": + case "titleTemplate": + case "templateParams": + next = prev; + break; + case "htmlAttrs": + case "bodyAttrs": + WhitelistAttributes[type].forEach((attr) => { + if (prev[attr]) { + next[attr] = prev[attr]; + } + }); + break; + case "style": + next = acceptDataAttrs(prev); + WhitelistAttributes.style.forEach((key) => { + if (prev[key]) { + next[key] = prev[key]; + } + }); + break; + // meta is safe, except for http-equiv + case "meta": + WhitelistAttributes.meta.forEach((key) => { + if (prev[key]) { + next[key] = prev[key]; + } + }); + break; + // link tags we don't allow stylesheets, scripts, preloading, prerendering, prefetching, etc + case "link": + WhitelistAttributes.link.forEach((key) => { + const val = prev[key]; + if (!val) { + return; + } + if (key === "rel" && (val === "canonical" || val === "modulepreload" || val === "prerender" || val === "preload" || val === "prefetch")) { + return; + } + if (key === "href") { + if (val.includes("javascript:") || val.includes("data:")) { + return; + } + next[key] = val; + } else if (val) { + next[key] = val; + } + }); + if (!next.href && !next.imagesrcset || !next.rel) { + return false; + } + break; + case "noscript": + WhitelistAttributes.noscript.forEach((key) => { + if (prev[key]) { + next[key] = prev[key]; + } + }); + break; + // we only allow JSON in scripts + case "script": + if (!tag.textContent || !prev.type?.endsWith("json")) { + return false; + } + WhitelistAttributes.script.forEach((s) => { + if (prev[s] === "textContent") { + try { + const jsonVal = typeof prev[s] === "string" ? JSON.parse(prev[s]) : prev[s]; + next[s] = JSON.stringify(jsonVal, null, 0); + } catch { + } + } else if (prev[s]) { + next[s] = prev[s]; + } + }); + break; + } + if (!Object.keys(next).length && !tag.tag.endsWith("Attrs")) { + return false; + } + tag.props = { ...acceptDataAttrs(prev), ...next }; + return tag; +} +const SafeInputPlugin = ( + /* @PURE */ + defineHeadPlugin({ + key: "safe", + hooks: { + "entries:normalize": (ctx) => { + if (ctx.entry.options?._safe) { + ctx.tags = ctx.tags.reduce((acc, tag) => { + const safeTag = makeTagSafe(tag); + if (safeTag) + acc.push(safeTag); + return acc; + }, []); + } + } + } + }) +); + +export { FlatMetaPlugin as F, SafeInputPlugin as S, defineHeadPlugin as d }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.DH45uomy.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.DH45uomy.mjs new file mode 100644 index 00000000..b0952f90 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.DH45uomy.mjs @@ -0,0 +1,180 @@ +import { createHooks } from 'hookable'; +import { n as normalizeEntryToTags, d as dedupeKey, i as isMetaArrayDupeKey } from './unhead.BpRRHAhY.mjs'; +import { t as tagWeight, s as sortTags } from './unhead.DZbvapt-.mjs'; +import { c as UsesMergeStrategy, V as ValidHeadTags } from './unhead.yem5I2v_.mjs'; + +function registerPlugin(head, p) { + const plugin = typeof p === "function" ? p(head) : p; + const key = plugin.key || String(head.plugins.size + 1); + const exists = head.plugins.get(key); + if (!exists) { + head.plugins.set(key, plugin); + head.hooks.addHooks(plugin.hooks || {}); + } +} +// @__NO_SIDE_EFFECTS__ +function createHeadCore(resolvedOptions = {}) { + return /* @__PURE__ */ createUnhead(resolvedOptions); +} +// @__NO_SIDE_EFFECTS__ +function createUnhead(resolvedOptions = {}) { + const hooks = createHooks(); + hooks.addHooks(resolvedOptions.hooks || {}); + const ssr = !resolvedOptions.document; + const entries = /* @__PURE__ */ new Map(); + const plugins = /* @__PURE__ */ new Map(); + const normalizeQueue = /* @__PURE__ */ new Set(); + const head = { + _entryCount: 1, + // 0 is reserved for internal use + plugins, + dirty: false, + resolvedOptions, + hooks, + ssr, + entries, + headEntries() { + return [...entries.values()]; + }, + use: (p) => registerPlugin(head, p), + push(input, _options) { + const options = { ..._options || {} }; + delete options.head; + const _i = options._index ?? head._entryCount++; + const inst = { _i, input, options }; + const _ = { + _poll(rm = false) { + head.dirty = true; + !rm && normalizeQueue.add(_i); + hooks.callHook("entries:updated", head); + }, + dispose() { + if (entries.delete(_i)) { + head.invalidate(); + } + }, + // a patch is the same as creating a new entry, just a nice DX + patch(input2) { + if (!options.mode || options.mode === "server" && ssr || options.mode === "client" && !ssr) { + inst.input = input2; + entries.set(_i, inst); + _._poll(); + } + } + }; + _.patch(input); + return _; + }, + async resolveTags() { + const ctx = { + tagMap: /* @__PURE__ */ new Map(), + tags: [], + entries: [...head.entries.values()] + }; + await hooks.callHook("entries:resolve", ctx); + while (normalizeQueue.size) { + const i = normalizeQueue.values().next().value; + normalizeQueue.delete(i); + const e = entries.get(i); + if (e) { + const normalizeCtx = { + tags: normalizeEntryToTags(e.input, resolvedOptions.propResolvers || []).map((t) => Object.assign(t, e.options)), + entry: e + }; + await hooks.callHook("entries:normalize", normalizeCtx); + e._tags = normalizeCtx.tags.map((t, i2) => { + t._w = tagWeight(head, t); + t._p = (e._i << 10) + i2; + t._d = dedupeKey(t); + return t; + }); + } + } + let hasFlatMeta = false; + ctx.entries.flatMap((e) => (e._tags || []).map((t) => ({ ...t, props: { ...t.props } }))).sort(sortTags).reduce((acc, next) => { + const k = String(next._d || next._p); + if (!acc.has(k)) + return acc.set(k, next); + const prev = acc.get(k); + const strategy = next?.tagDuplicateStrategy || (UsesMergeStrategy.has(next.tag) ? "merge" : null) || (next.key && next.key === prev.key ? "merge" : null); + if (strategy === "merge") { + const newProps = { ...prev.props }; + Object.entries(next.props).forEach(([p, v]) => ( + // @ts-expect-error untyped + newProps[p] = p === "style" ? new Map([...prev.props.style || /* @__PURE__ */ new Map(), ...v]) : p === "class" ? /* @__PURE__ */ new Set([...prev.props.class || /* @__PURE__ */ new Set(), ...v]) : v + )); + acc.set(k, { ...next, props: newProps }); + } else if (next._p >> 10 === prev._p >> 10 && next.tag === "meta" && isMetaArrayDupeKey(k)) { + acc.set(k, Object.assign([...Array.isArray(prev) ? prev : [prev], next], next)); + hasFlatMeta = true; + } else if (next._w === prev._w ? next._p > prev._p : next?._w < prev?._w) { + acc.set(k, next); + } + return acc; + }, ctx.tagMap); + const title = ctx.tagMap.get("title"); + const titleTemplate = ctx.tagMap.get("titleTemplate"); + head._title = title?.textContent; + if (titleTemplate) { + const titleTemplateFn = titleTemplate?.textContent; + head._titleTemplate = titleTemplateFn; + if (titleTemplateFn) { + let newTitle = typeof titleTemplateFn === "function" ? titleTemplateFn(title?.textContent) : titleTemplateFn; + if (typeof newTitle === "string" && !head.plugins.has("template-params")) { + newTitle = newTitle.replace("%s", title?.textContent || ""); + } + if (title) { + newTitle === null ? ctx.tagMap.delete("title") : ctx.tagMap.set("title", { ...title, textContent: newTitle }); + } else { + titleTemplate.tag = "title"; + titleTemplate.textContent = newTitle; + } + } + } + ctx.tags = Array.from(ctx.tagMap.values()); + if (hasFlatMeta) { + ctx.tags = ctx.tags.flat().sort(sortTags); + } + await hooks.callHook("tags:beforeResolve", ctx); + await hooks.callHook("tags:resolve", ctx); + await hooks.callHook("tags:afterResolve", ctx); + const finalTags = []; + for (const t of ctx.tags) { + const { innerHTML, tag, props } = t; + if (!ValidHeadTags.has(tag)) { + continue; + } + if (Object.keys(props).length === 0 && !t.innerHTML && !t.textContent) { + continue; + } + if (tag === "meta" && !props.content && !props["http-equiv"] && !props.charset) { + continue; + } + if (tag === "script" && innerHTML) { + if (props.type?.endsWith("json")) { + const v = typeof innerHTML === "string" ? innerHTML : JSON.stringify(innerHTML); + t.innerHTML = v.replace(/</g, "\\u003C"); + } else if (typeof innerHTML === "string") { + t.innerHTML = innerHTML.replace(new RegExp(`</${tag}`, "g"), `<\\/${tag}`); + } + t._d = dedupeKey(t); + } + finalTags.push(t); + } + return finalTags; + }, + invalidate() { + for (const entry of entries.values()) { + normalizeQueue.add(entry._i); + } + head.dirty = true; + hooks.callHook("entries:updated", head); + } + }; + (resolvedOptions?.plugins || []).forEach((p) => registerPlugin(head, p)); + head.hooks.callHook("init", head); + resolvedOptions.init?.forEach((e) => e && head.push(e)); + return head; +} + +export { createUnhead as a, createHeadCore as c }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs new file mode 100644 index 00000000..ab33b829 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs @@ -0,0 +1,196 @@ +import { M as MetaTagsArrayable } from './unhead.yem5I2v_.mjs'; + +const NAMESPACES = { + META: /* @__PURE__ */ new Set(["twitter"]), + OG: /* @__PURE__ */ new Set(["og", "book", "article", "profile", "fb"]), + MEDIA: /* @__PURE__ */ new Set(["ogImage", "ogVideo", "ogAudio", "twitterImage"]), + HTTP_EQUIV: /* @__PURE__ */ new Set(["contentType", "defaultStyle", "xUaCompatible"]) +}; +const META_ALIASES = { + articleExpirationTime: "article:expiration_time", + articleModifiedTime: "article:modified_time", + articlePublishedTime: "article:published_time", + bookReleaseDate: "book:release_date", + fbAppId: "fb:app_id", + ogAudioSecureUrl: "og:audio:secure_url", + ogAudioUrl: "og:audio", + ogImageSecureUrl: "og:image:secure_url", + ogImageUrl: "og:image", + ogSiteName: "og:site_name", + ogVideoSecureUrl: "og:video:secure_url", + ogVideoUrl: "og:video", + profileFirstName: "profile:first_name", + profileLastName: "profile:last_name", + profileUsername: "profile:username", + msapplicationConfig: "msapplication-Config", + msapplicationTileColor: "msapplication-TileColor", + msapplicationTileImage: "msapplication-TileImage" +}; +const MetaPackingSchema = { + appleItunesApp: { + unpack: { + entrySeparator: ", ", + // @ts-expect-error untyped + resolve: ({ key, value }) => `${fixKeyCase(key)}=${value}` + } + }, + refresh: { + metaKey: "http-equiv", + unpack: { + entrySeparator: ";", + // @ts-expect-error untyped + resolve: ({ key, value }) => key === "seconds" ? `${value}` : void 0 + } + }, + robots: { + unpack: { + entrySeparator: ", ", + // @ts-expect-error untyped + resolve: ({ key, value }) => typeof value === "boolean" ? fixKeyCase(key) : `${fixKeyCase(key)}:${value}` + } + }, + contentSecurityPolicy: { + metaKey: "http-equiv", + unpack: { + entrySeparator: "; ", + // @ts-expect-error untyped + resolve: ({ key, value }) => `${fixKeyCase(key)} ${value}` + } + }, + charset: {} +}; +function fixKeyCase(key) { + const updated = key.replace(/([A-Z])/g, "-$1").toLowerCase(); + const prefixIndex = updated.indexOf("-"); + return prefixIndex === -1 ? updated : NAMESPACES.META.has(updated.slice(0, prefixIndex)) || NAMESPACES.OG.has(updated.slice(0, prefixIndex)) ? key.replace(/([A-Z])/g, ":$1").toLowerCase() : updated; +} +function sanitizeObject(input) { + return Object.fromEntries(Object.entries(input).filter(([k, v]) => String(v) !== "false" && k)); +} +function transformObject(obj) { + return Array.isArray(obj) ? obj.map(transformObject) : !obj || typeof obj !== "object" ? obj : Object.fromEntries(Object.entries(obj).map(([k, v]) => [fixKeyCase(k), transformObject(v)])); +} +function unpackToString(value, options = {}) { + const { entrySeparator = "", keyValueSeparator = "", wrapValue, resolve } = options; + return Object.entries(value).map(([key, val]) => { + if (resolve) { + const resolved = resolve({ key, value: val }); + if (resolved !== void 0) + return resolved; + } + const processedVal = typeof val === "object" ? unpackToString(val, options) : typeof val === "number" ? val.toString() : typeof val === "string" && wrapValue ? `${wrapValue}${val.replace(new RegExp(wrapValue, "g"), `\\${wrapValue}`)}${wrapValue}` : val; + return `${key}${keyValueSeparator}${processedVal}`; + }).join(entrySeparator); +} +function handleObjectEntry(key, value) { + const sanitizedValue = sanitizeObject(value); + const fixedKey = fixKeyCase(key); + const attr = resolveMetaKeyType(fixedKey); + if (!MetaTagsArrayable.has(fixedKey)) { + return [{ [attr]: fixedKey, ...sanitizedValue }]; + } + const input = Object.fromEntries( + Object.entries(sanitizedValue).map(([k, v]) => [`${key}${k === "url" ? "" : `${k[0].toUpperCase()}${k.slice(1)}`}`, v]) + ); + return unpackMeta(input || {}).sort((a, b) => (a[attr]?.length || 0) - (b[attr]?.length || 0)); +} +function resolveMetaKeyType(key) { + if (MetaPackingSchema[key]?.metaKey === "http-equiv" || NAMESPACES.HTTP_EQUIV.has(key)) { + return "http-equiv"; + } + const fixed = fixKeyCase(key); + const colonIndex = fixed.indexOf(":"); + return colonIndex === -1 ? "name" : NAMESPACES.OG.has(fixed.slice(0, colonIndex)) ? "property" : "name"; +} +function resolveMetaKeyValue(key) { + return META_ALIASES[key] || fixKeyCase(key); +} +function resolvePackedMetaObjectValue(value, key) { + if (key === "refresh") + return `${value.seconds};url=${value.url}`; + return unpackToString(transformObject(value), { + keyValueSeparator: "=", + entrySeparator: ", ", + resolve: ({ value: value2, key: key2 }) => value2 === null ? "" : typeof value2 === "boolean" ? key2 : void 0, + // @ts-expect-error untyped + ...MetaPackingSchema[key]?.unpack + }); +} +function unpackMeta(input) { + const extras = []; + const primitives = {}; + for (const [key, value] of Object.entries(input)) { + if (Array.isArray(value)) { + if (key === "themeColor") { + value.forEach((v) => { + if (typeof v === "object" && v !== null) { + extras.push({ name: "theme-color", ...v }); + } + }); + continue; + } + for (const v of value) { + if (typeof v === "object" && v !== null) { + const urlProps = []; + const otherProps = []; + for (const [propKey, propValue] of Object.entries(v)) { + const metaKey = `${key}${propKey === "url" ? "" : `:${propKey}`}`; + const meta2 = unpackMeta({ [metaKey]: propValue }); + (propKey === "url" ? urlProps : otherProps).push(...meta2); + } + extras.push(...urlProps, ...otherProps); + } else { + extras.push(...typeof v === "string" ? unpackMeta({ [key]: v }) : handleObjectEntry(key, v)); + } + } + continue; + } + if (typeof value === "object" && value) { + if (NAMESPACES.MEDIA.has(key)) { + const prefix = key.startsWith("twitter") ? "twitter" : "og"; + const type = key.replace(/^(og|twitter)/, "").toLowerCase(); + const metaKey = prefix === "twitter" ? "name" : "property"; + if (value.url) { + extras.push({ + [metaKey]: `${prefix}:${type}`, + content: value.url + }); + } + if (value.secureUrl) { + extras.push({ + [metaKey]: `${prefix}:${type}:secure_url`, + content: value.secureUrl + }); + } + for (const [propKey, propValue] of Object.entries(value)) { + if (propKey !== "url" && propKey !== "secureUrl") { + extras.push({ + [metaKey]: `${prefix}:${type}:${propKey}`, + // @ts-expect-error untyped + content: propValue + }); + } + } + } else if (MetaTagsArrayable.has(fixKeyCase(key))) { + extras.push(...handleObjectEntry(key, value)); + } else { + primitives[key] = sanitizeObject(value); + } + } else { + primitives[key] = value; + } + } + const meta = Object.entries(primitives).map(([key, value]) => { + if (key === "charset") + return { charset: value === null ? "_null" : value }; + const metaKey = resolveMetaKeyType(key); + const keyValue = resolveMetaKeyValue(key); + const processedValue = value === null ? "_null" : typeof value === "object" ? resolvePackedMetaObjectValue(value, key) : typeof value === "number" ? value.toString() : value; + return metaKey === "http-equiv" ? { "http-equiv": keyValue, "content": processedValue } : { [metaKey]: keyValue, content: processedValue }; + }); + return [...extras, ...meta].map( + (m) => !("content" in m) ? m : m.content === "_null" ? { ...m, content: null } : m + ); +} + +export { resolveMetaKeyValue as a, resolvePackedMetaObjectValue as b, resolveMetaKeyType as r, unpackMeta as u }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs new file mode 100644 index 00000000..396b90fc --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs @@ -0,0 +1,70 @@ +const sortTags = (a, b) => a._w === b._w ? a._p - b._p : a._w - b._w; +const TAG_WEIGHTS = { + base: -10, + title: 10 +}; +const TAG_ALIASES = { + critical: -8, + high: -1, + low: 2 +}; +const WEIGHT_MAP = { + meta: { + "content-security-policy": -30, + "charset": -20, + "viewport": -15 + }, + link: { + "preconnect": 20, + "stylesheet": 60, + "preload": 70, + "modulepreload": 70, + "prefetch": 90, + "dns-prefetch": 90, + "prerender": 90 + }, + script: { + async: 30, + defer: 80, + sync: 50 + }, + style: { + imported: 40, + sync: 60 + } +}; +const ImportStyleRe = /@import/; +const isTruthy = (val) => val === "" || val === true; +function tagWeight(head, tag) { + if (typeof tag.tagPriority === "number") + return tag.tagPriority; + let weight = 100; + const offset = TAG_ALIASES[tag.tagPriority] || 0; + const weightMap = head.resolvedOptions.disableCapoSorting ? { + link: {}, + script: {}, + style: {} + } : WEIGHT_MAP; + if (tag.tag in TAG_WEIGHTS) { + weight = TAG_WEIGHTS[tag.tag]; + } else if (tag.tag === "meta") { + const metaType = tag.props["http-equiv"] === "content-security-policy" ? "content-security-policy" : tag.props.charset ? "charset" : tag.props.name === "viewport" ? "viewport" : null; + if (metaType) + weight = WEIGHT_MAP.meta[metaType]; + } else if (tag.tag === "link" && tag.props.rel) { + weight = weightMap.link[tag.props.rel]; + } else if (tag.tag === "script") { + if (isTruthy(tag.props.async)) { + weight = weightMap.script.async; + } else if (tag.props.src && !isTruthy(tag.props.defer) && !isTruthy(tag.props.async) && tag.props.type !== "module" && !tag.props.type?.endsWith("json")) { + weight = weightMap.script.sync; + } else if (isTruthy(tag.props.defer) && tag.props.src && !isTruthy(tag.props.async)) { + weight = weightMap.script.defer; + } + } else if (tag.tag === "style") { + weight = tag.innerHTML && ImportStyleRe.test(tag.innerHTML) ? weightMap.style.imported : weightMap.style.sync; + } + return (weight || 100) + offset; +} + +export { sortTags as s, tagWeight as t }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.Djo8ep_Y.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.Djo8ep_Y.mjs new file mode 100644 index 00000000..9b739245 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.Djo8ep_Y.mjs @@ -0,0 +1,166 @@ +import { d as defineHeadPlugin } from './unhead.CApf5sj3.mjs'; +import { s as sortTags } from './unhead.DZbvapt-.mjs'; +import { p as processTemplateParams } from './unhead.BYvz9V1x.mjs'; + +const formatKey = (k) => !k.includes(":key") ? k.split(":").join(":key:") : k; +const AliasSortingPlugin = defineHeadPlugin({ + key: "aliasSorting", + hooks: { + "tags:resolve": (ctx) => { + let m = false; + for (const t of ctx.tags) { + const p = t.tagPriority; + if (!p) + continue; + const s = String(p); + if (s.startsWith("before:")) { + const k = formatKey(s.slice(7)); + const l = ctx.tagMap.get(k); + if (l) { + if (typeof l.tagPriority === "number") + t.tagPriority = l.tagPriority; + t._p = l._p - 1; + m = true; + } + } else if (s.startsWith("after:")) { + const k = formatKey(s.slice(6)); + const l = ctx.tagMap.get(k); + if (l) { + if (typeof l.tagPriority === "number") + t.tagPriority = l.tagPriority; + t._p = l._p + 1; + m = true; + } + } + } + if (m) + ctx.tags = ctx.tags.sort(sortTags); + } + } +}); + +const DeprecationsPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "deprecations", + hooks: { + "entries:normalize": ({ tags }) => { + for (const tag of tags) { + if (tag.props.children) { + tag.innerHTML = tag.props.children; + delete tag.props.children; + } + if (tag.props.hid) { + tag.key = tag.props.hid; + delete tag.props.hid; + } + if (tag.props.vmid) { + tag.key = tag.props.vmid; + delete tag.props.vmid; + } + if (tag.props.body) { + tag.tagPosition = "bodyClose"; + delete tag.props.body; + } + } + } + } +}); + +async function walkPromises(v) { + const type = typeof v; + if (type === "function") { + return v; + } + if (v instanceof Promise) { + return await v; + } + if (Array.isArray(v)) { + return await Promise.all(v.map((r) => walkPromises(r))); + } + if (v?.constructor === Object) { + const next = {}; + for (const key of Object.keys(v)) { + next[key] = await walkPromises(v[key]); + } + return next; + } + return v; +} +const PromisesPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "promises", + hooks: { + "entries:resolve": async (ctx) => { + const promises = []; + for (const k in ctx.entries) { + if (!ctx.entries[k]._promisesProcessed) { + promises.push( + walkPromises(ctx.entries[k].input).then((val) => { + ctx.entries[k].input = val; + ctx.entries[k]._promisesProcessed = true; + }) + ); + } + } + await Promise.all(promises); + } + } +}); + +const SupportedAttrs = { + meta: "content", + link: "href", + htmlAttrs: "lang" +}; +const contentAttrs = ["innerHTML", "textContent"]; +const TemplateParamsPlugin = /* @__PURE__ */ defineHeadPlugin((head) => { + return { + key: "template-params", + hooks: { + "entries:normalize": (ctx) => { + const params = ctx.tags.filter((t) => t.tag === "templateParams" && t.mode === "server")?.[0]?.props || {}; + if (Object.keys(params).length) { + head._ssrPayload = { + templateParams: { + ...head._ssrPayload?.templateParams || {}, + ...params + } + }; + } + }, + "tags:resolve": ({ tagMap, tags }) => { + const params = tagMap.get("templateParams")?.props || {}; + const sep = params.separator || "|"; + delete params.separator; + params.pageTitle = processTemplateParams( + // find templateParams + params.pageTitle || head._title || "", + params, + sep + ); + for (const tag of tags) { + if (tag.processTemplateParams === false) { + continue; + } + const v = SupportedAttrs[tag.tag]; + if (v && typeof tag.props[v] === "string") { + tag.props[v] = processTemplateParams(tag.props[v], params, sep); + } else if (tag.processTemplateParams || tag.tag === "titleTemplate" || tag.tag === "title") { + for (const p of contentAttrs) { + if (typeof tag[p] === "string") + tag[p] = processTemplateParams(tag[p], params, sep, tag.tag === "script" && tag.props.type.endsWith("json")); + } + } + } + head._templateParams = params; + head._separator = sep; + }, + "tags:afterResolve": ({ tagMap }) => { + const title = tagMap.get("title"); + if (title?.textContent && title.processTemplateParams !== false) { + title.textContent = processTemplateParams(title.textContent, head._templateParams, head._separator); + } + } + } + }; +}); + +export { AliasSortingPlugin as A, DeprecationsPlugin as D, PromisesPlugin as P, TemplateParamsPlugin as T }; diff --git a/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs b/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs new file mode 100644 index 00000000..19e6f2b1 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs @@ -0,0 +1,38 @@ +const SelfClosingTags = /* @__PURE__ */ new Set(["meta", "link", "base"]); +const DupeableTags = /* @__PURE__ */ new Set(["link", "style", "script", "noscript"]); +const TagsWithInnerContent = /* @__PURE__ */ new Set(["title", "titleTemplate", "script", "style", "noscript"]); +const HasElementTags = /* @__PURE__ */ new Set([ + "base", + "meta", + "link", + "style", + "script", + "noscript" +]); +const ValidHeadTags = /* @__PURE__ */ new Set([ + "title", + "base", + "htmlAttrs", + "bodyAttrs", + "meta", + "link", + "style", + "script", + "noscript" +]); +const UniqueTags = /* @__PURE__ */ new Set(["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"]); +const TagConfigKeys = /* @__PURE__ */ new Set(["key", "tagPosition", "tagPriority", "tagDuplicateStrategy", "innerHTML", "textContent", "processTemplateParams"]); +const ScriptNetworkEvents = /* @__PURE__ */ new Set(["onload", "onerror"]); +const UsesMergeStrategy = /* @__PURE__ */ new Set(["templateParams", "htmlAttrs", "bodyAttrs"]); +const MetaTagsArrayable = /* @__PURE__ */ new Set([ + "theme-color", + "google-site-verification", + "og", + "article", + "book", + "profile", + "twitter", + "author" +]); + +export { DupeableTags as D, HasElementTags as H, MetaTagsArrayable as M, SelfClosingTags as S, TagsWithInnerContent as T, UniqueTags as U, ValidHeadTags as V, TagConfigKeys as a, ScriptNetworkEvents as b, UsesMergeStrategy as c }; diff --git a/.output/server/node_modules/unhead/dist/utils.mjs b/.output/server/node_modules/unhead/dist/utils.mjs new file mode 100644 index 00000000..313404f7 --- /dev/null +++ b/.output/server/node_modules/unhead/dist/utils.mjs @@ -0,0 +1,5 @@ +export { D as DupeableTags, H as HasElementTags, M as MetaTagsArrayable, b as ScriptNetworkEvents, S as SelfClosingTags, a as TagConfigKeys, T as TagsWithInnerContent, U as UniqueTags, c as UsesMergeStrategy, V as ValidHeadTags } from './shared/unhead.yem5I2v_.mjs'; +export { d as dedupeKey, h as hashTag, i as isMetaArrayDupeKey, n as normalizeEntryToTags, a as normalizeProps, w as walkResolver } from './shared/unhead.BpRRHAhY.mjs'; +export { r as resolveMetaKeyType, a as resolveMetaKeyValue, b as resolvePackedMetaObjectValue, u as unpackMeta } from './shared/unhead.DQc16pHI.mjs'; +export { s as sortTags, t as tagWeight } from './shared/unhead.DZbvapt-.mjs'; +export { p as processTemplateParams } from './shared/unhead.BYvz9V1x.mjs'; diff --git a/.output/server/node_modules/unhead/package.json b/.output/server/node_modules/unhead/package.json new file mode 100644 index 00000000..d54c17a8 --- /dev/null +++ b/.output/server/node_modules/unhead/package.json @@ -0,0 +1,105 @@ +{ + "name": "unhead", + "type": "module", + "version": "2.0.19", + "description": "Full-stack <head> manager built for any framework.", + "author": { + "name": "Harlan Wilton", + "email": "harlan@harlanzw.com", + "url": "https://harlanzw.com/" + }, + "publishConfig": { + "access": "public", + "tag": "next" + }, + "license": "MIT", + "funding": "https://github.com/sponsors/harlan-zw", + "homepage": "https://unhead.unjs.io", + "repository": { + "type": "git", + "url": "git+https://github.com/unjs/unhead.git", + "directory": "packages/unhead" + }, + "bugs": { + "url": "https://github.com/unjs/unhead/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.mjs" + }, + "./plugins": { + "types": "./dist/plugins.d.ts", + "default": "./dist/plugins.mjs" + }, + "./server": { + "types": "./dist/server.d.ts", + "default": "./dist/server.mjs" + }, + "./client": { + "types": "./dist/client.d.ts", + "default": "./dist/client.mjs" + }, + "./legacy": { + "types": "./dist/legacy.d.ts", + "default": "./dist/legacy.mjs" + }, + "./utils": { + "types": "./dist/utils.d.ts", + "default": "./dist/utils.mjs" + }, + "./types": { + "types": "./dist/types.d.ts", + "default": "./dist/types.mjs" + }, + "./scripts": { + "types": "./dist/scripts.d.ts", + "default": "./dist/scripts.mjs" + }, + "./parser": { + "types": "./dist/parser.d.ts", + "default": "./dist/parser.mjs" + } + }, + "main": "dist/index.mjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "optionalPlugins": { + "*": { + "plugins": [ + "dist/plugins" + ], + "server": [ + "dist/server" + ], + "client": [ + "dist/client" + ], + "legacy": [ + "dist/legacy" + ], + "types": [ + "dist/types" + ], + "utils": [ + "dist/utils" + ], + "scripts": [ + "dist/scripts" + ] + } + }, + "files": [ + "*.d.ts", + "dist" + ], + "dependencies": { + "hookable": "^5.5.3" + }, + "scripts": { + "build": "unbuild", + "stub": "unbuild --stub", + "test:attw": "attw --pack" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/vue b/.output/server/node_modules/vue new file mode 120000 index 00000000..88f0b1f1 --- /dev/null +++ b/.output/server/node_modules/vue @@ -0,0 +1 @@ +.nitro/vue@3.5.26 \ No newline at end of file diff --git a/.output/server/node_modules/vue-advanced-cropper/dist/index.cjs.js b/.output/server/node_modules/vue-advanced-cropper/dist/index.cjs.js new file mode 100644 index 00000000..76000e44 --- /dev/null +++ b/.output/server/node_modules/vue-advanced-cropper/dist/index.cjs.js @@ -0,0 +1,21 @@ +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("vue");function e(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function i(t){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?e(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function n(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function o(t,e){if(null==t)return{};var i,n,o=function(t,e){if(null==t)return{};var i,n,o={},s=Object.keys(t);for(n=0;n<s.length;n++)i=s[n],e.indexOf(i)>=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(n=0;n<s.length;n++)i=s[n],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}function s(t){return function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return r(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var a,h,c,l=(a=function(t){ +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){var e={}.hasOwnProperty;function i(){for(var t=[],n=0;n<arguments.length;n++){var o=arguments[n];if(o){var s=typeof o;if("string"===s||"number"===s)t.push(o);else if(Array.isArray(o)){if(o.length){var r=i.apply(null,o);r&&t.push(r)}}else if("object"===s)if(o.toString===Object.prototype.toString)for(var a in o)e.call(o,a)&&o[a]&&t.push(a);else t.push(o.toString())}}return t.join(" ")}t.exports?(i.default=i,t.exports=i):window.classNames=i}()},a(c={path:h,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&c.path)}},c.exports),c.exports),u=function(t){return function(e,i){if(!e)return t;var n;"string"==typeof e?n=e:i=e;var o=t;return n&&(o+="__"+n),o+(i?Object.keys(i).reduce((function(t,e){var n=i[e];return n&&(t+=" "+("boolean"==typeof n?o+"--"+e:o+"--"+e+"_"+n)),t}),""):"")}};function d(t,e,i){var n,o,s,r,a;function h(){var c=Date.now()-r;c<e&&c>=0?n=setTimeout(h,e-c):(n=null,i||(a=t.apply(s,o),s=o=null))}null==e&&(e=100);var c=function(){s=this,o=arguments,r=Date.now();var c=i&&!n;return n||(n=setTimeout(h,e)),c&&(a=t.apply(s,o),s=o=null),a};return c.clear=function(){n&&(clearTimeout(n),n=null)},c.flush=function(){n&&(a=t.apply(s,o),s=o=null,clearTimeout(n),n=null)},c}d.debounce=d;var m=d,p=function(){return p=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},p.apply(this,arguments)}; +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */function g(t,e){var i,n;return t&&e?(i=""+t+e[0].toUpperCase()+e.slice(1),n=t+"-"+e):(i=t||e,n=t||e),{name:i,classname:n}}function f(t){return/^blob:/.test(t)}function v(t){return f(t)||function(t){return/^data:/.test(t)}(t)}function b(t){return!!(t&&t.constructor&&t.call&&t.apply)}function w(t){return void 0===t}function y(t){return"object"==typeof t&&null!==t}function z(t,e,i){var n={};return y(t)?(Object.keys(e).forEach((function(o){w(t[o])?n[o]=e[o]:y(e[o])?y(t[o])?n[o]=z(t[o],e[o],i[o]):n[o]=t[o]?e[o]:i[o]:!0===e[o]||!1===e[o]?n[o]=Boolean(t[o]):n[o]=t[o]})),n):t?e:i}function R(t){var e=Number(t);return Number.isNaN(e)?t:e}function A(t){return typeof("number"==t||function(t){return"object"==typeof t&&null!==t}(t)&&"[object Number]"==toString.call(t))&&!x(t)}function x(t){return t!=t}function S(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}var M=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.type="manipulateImage",this.move=t,this.scale=e},C=function(t,e){void 0===e&&(e={}),this.type="resize",this.directions=t,this.params=e},E=function(t){this.type="move",this.directions=t},W=function(){function t(t,e,i,n,o){this.type="drag",this.nativeEvent=t,this.position=i,this.previousPosition=n,this.element=e,this.anchor=o}return t.prototype.shift=function(){var t=this,e=t.element,i=t.anchor,n=t.position;if(e){var o=e.getBoundingClientRect(),s=o.left,r=o.top;return{left:n.left-s-i.left,top:n.top-r-i.top}}return{left:0,top:0}},t}(),T={name:"DraggableElement",props:{classname:{type:String}},beforeMount:function(){window.addEventListener("mouseup",this.onMouseUp,{passive:!1}),window.addEventListener("mousemove",this.onMouseMove,{passive:!1}),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd,{passive:!1})},beforeUnmount:function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},mounted:function(){if(!this.$refs.draggable)throw new Error('You should add ref "draggable" to your root element to use draggable mixin');this.touches=[],this.hovered=!1},methods:{onMouseOver:function(){this.hovered||(this.hovered=!0,this.$emit("enter"))},onMouseLeave:function(){this.hovered&&!this.touches.length&&(this.hovered=!1,this.$emit("leave"))},onTouchStart:function(t){t.cancelable&&!this.disabled&&1===t.touches.length&&(this.touches=s(t.touches),this.hovered||(this.$emit("enter"),this.hovered=!0),t.touches.length&&this.initAnchor(this.touches.reduce((function(e,i){return{clientX:e.clientX+i.clientX/t.touches.length,clientY:e.clientY+i.clientY/t.touches.length}}),{clientX:0,clientY:0})),t.preventDefault&&t.preventDefault(),t.stopPropagation())},onTouchEnd:function(){this.processEnd()},onTouchMove:function(t){this.touches.length&&(this.processMove(t,t.touches),t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation())},onMouseDown:function(t){if(!this.disabled){var e={fake:!0,clientX:t.clientX,clientY:t.clientY};this.touches=[e],this.initAnchor(e),t.stopPropagation()}},onMouseMove:function(t){this.touches.length&&(this.processMove(t,[{fake:!0,clientX:t.clientX,clientY:t.clientY}]),t.preventDefault&&t.preventDefault())},onMouseUp:function(){this.processEnd()},initAnchor:function(t){var e=this.$refs.draggable.getBoundingClientRect(),i=e.left,n=e.right,o=e.bottom,s=e.top;this.anchor={left:t.clientX-i,top:t.clientY-s,bottom:o-t.clientY,right:n-t.clientX}},processMove:function(t,e){var i=s(e);if(this.touches.length){if(1===this.touches.length&&1===i.length){var n=this.$refs.draggable;this.$emit("drag",new W(t,n,{left:i[0].clientX,top:i[0].clientY},{left:this.touches[0].clientX,top:this.touches[0].clientY},this.anchor))}this.touches=i}},processEnd:function(){this.touches.length&&this.$emit("drag-end"),this.hovered&&(this.$emit("leave"),this.hovered=!1),this.touches=[]}},emits:["drag","drag-end","leave","enter"]};T.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"draggable",class:n.classname,onTouchstart:i[1]||(i[1]=function(){return r.onTouchStart&&r.onTouchStart.apply(r,arguments)}),onMousedown:i[2]||(i[2]=function(){return r.onMouseDown&&r.onMouseDown.apply(r,arguments)}),onMouseover:i[3]||(i[3]=function(){return r.onMouseOver&&r.onMouseOver.apply(r,arguments)}),onMouseleave:i[4]||(i[4]=function(){return r.onMouseLeave&&r.onMouseLeave.apply(r,arguments)})},[t.renderSlot(e.$slots,"default")],34)};var B=u("vue-handler-wrapper"),O={name:"HandlerWrapper",components:{DraggableElement:T},props:{horizontalPosition:{type:String},verticalPosition:{type:String},disabled:{type:Boolean,default:!1}},computed:{classes:function(){var t;if(this.horizontalPosition||this.verticalPosition){var e,i=g(this.horizontalPosition,this.verticalPosition);t=B((n(e={},i.classname,!0),n(e,"disabled",this.disabled),e))}else t=B({disabled:this.disabled});return{root:t,draggable:B("draggable")}}},emits:["leave","enter","drag","drag-end"]};O.render=function(e,i,n,o,s,r){var a=t.resolveComponent("DraggableElement");return t.openBlock(),t.createBlock("div",{class:r.classes.root},[t.createVNode(a,{class:r.classes.draggable,onDrag:i[1]||(i[1]=function(t){return e.$emit("drag",t)}),onDragEnd:i[2]||(i[2]=function(t){return e.$emit("drag-end")}),onLeave:i[3]||(i[3]=function(t){return e.$emit("leave")}),onEnter:i[4]||(i[4]=function(t){return e.$emit("enter")})},{default:t.withCtx((function(){return[t.renderSlot(e.$slots,"default")]})),_:3},8,["class"])],2)};var D=u("vue-line-wrapper"),H={name:"LineWrapper",components:{DraggableElement:T},props:{position:{type:String,required:!0},disabled:{type:Boolean,default:!1}},computed:{classname:function(){var t;return D((n(t={},this.position,!0),n(t,"disabled",this.disabled),t))}},emits:["leave","enter","drag","drag-end"]};H.render=function(e,i,n,o,s,r){var a=t.resolveComponent("DraggableElement");return t.openBlock(),t.createBlock(a,{class:r.classname,onDrag:i[1]||(i[1]=function(t){return e.$emit("drag",t)}),onDragEnd:i[2]||(i[2]=function(t){return e.$emit("drag-end")}),onLeave:i[3]||(i[3]=function(t){return e.$emit("leave")}),onEnter:i[4]||(i[4]=function(t){return e.$emit("enter")})},{default:t.withCtx((function(){return[t.renderSlot(e.$slots,"default")]})),_:3},8,["class"])};var j=["left","right","top","bottom"],k=["left","right"],L=["top","bottom"],P=["left","top"],$=["fill-area","fit-area","stencil","none"],I={left:0,top:0,width:0,height:0};function N(t,e,i){return!(i=i||["width","height","left","top"]).some((function(i){return t[i]!==e[i]}))}function X(t){return{left:t.left,top:t.top,right:t.left+t.width,bottom:t.top+t.height}}function Y(t,e){return{left:t.left-e.left,top:t.top-e.top}}function F(t){return{left:t.left+t.width/2,top:t.top+t.height/2}}function U(t,e){var i={left:0,top:0,right:0,bottom:0};return j.forEach((function(n){var o=e[n],s=X(t)[n];i[n]=void 0!==o&&void 0!==s?"left"===n||"top"===n?Math.max(0,o-s):Math.max(0,s-o):0})),i}function V(t,e){return{left:t.left-e.left,top:t.top-e.top,width:t.width+e.left+e.right,height:t.height+e.top+e.bottom}}function q(t){return{left:-t.left,top:-t.top}}function Z(t,e){return p(p({},t),{left:t.left+e.left,top:t.top+e.top})}function _(t,e,i,n){if(1!==e){if(i){var o=F(t);return{width:t.width*e,height:t.height*e,left:t.left+t.width*(1-e)/2+(i.left-o.left)*(n||1-e),top:t.top+t.height*(1-e)/2+(i.top-o.top)*(n||1-e)}}return{width:t.width*e,height:t.height*e,left:t.left+t.width*(1-e)/2,top:t.top+t.height*(1-e)/2}}return t}function G(t){return t.width/t.height}function Q(t,e){return Math.min(void 0!==e.right&&void 0!==e.left?(e.right-e.left)/t.width:1/0,void 0!==e.bottom&&void 0!==e.top?(e.bottom-e.top)/t.height:1/0)}function K(t,e){var i={left:0,top:0},n=U(t,e);return n.left&&n.left>0?i.left=n.left:n.right&&n.right>0&&(i.left=-n.right),n.top&&n.top>0?i.top=n.top:n.bottom&&n.bottom>0&&(i.top=-n.bottom),i}function J(t,e){var i;return e.minimum&&t<e.minimum?i=e.minimum:e.maximum&&t>e.maximum&&(i=e.maximum),i}function tt(t,e){var i=G(t),n=G(e);return e.width<1/0&&e.height<1/0?i>n?{width:e.width,height:e.width/i}:{width:e.height*i,height:e.height}:e.width<1/0?{width:e.width,height:e.width/i}:e.height<1/0?{width:e.height*i,height:e.height}:t}function et(t,e){var i=e*Math.PI/180;return{width:Math.abs(t.width*Math.cos(i))+Math.abs(t.height*Math.sin(i)),height:Math.abs(t.width*Math.sin(i))+Math.abs(t.height*Math.cos(i))}}function it(t,e){var i=e*Math.PI/180;return{left:t.left*Math.cos(i)-t.top*Math.sin(i),top:t.left*Math.sin(i)+t.top*Math.cos(i)}}function nt(t,e){var i=U(ot(t,e),e);return i.left+i.right+i.top+i.bottom?i.left+i.right>i.top+i.bottom?Math.min((t.width+i.left+i.right)/t.width,Q(t,e)):Math.min((t.height+i.top+i.bottom)/t.height,Q(t,e)):1}function ot(t,e,i){void 0===i&&(i=!1);var n=K(t,e);return Z(t,i?q(n):n)}function st(t){return{width:void 0!==t.right&&void 0!==t.left?t.right-t.left:1/0,height:void 0!==t.bottom&&void 0!==t.top?t.bottom-t.top:1/0}}function rt(t,e){return p(p({},t),{minWidth:Math.min(e.width,t.minWidth),minHeight:Math.min(e.height,t.minHeight),maxWidth:Math.min(e.width,t.maxWidth),maxHeight:Math.min(e.height,t.maxHeight)})}function at(t,e,i){void 0===i&&(i=!0);var n={};return j.forEach((function(o){var s=t[o],r=e[o];void 0!==s&&void 0!==r?n[o]="left"===o||"top"===o?i?Math.max(s,r):Math.min(s,r):i?Math.min(s,r):Math.max(s,r):void 0!==r?n[o]=r:void 0!==s&&(n[o]=s)})),n}function ht(t,e){return at(t,e,!0)}function ct(t){var e=t.size,i=t.aspectRatio,n=t.ignoreMinimum,o=t.sizeRestrictions;return Boolean((e.correctRatio||G(e)>=i.minimum&&G(e)<=i.maximum)&&e.height<=o.maxHeight&&e.width<=o.maxWidth&&e.width&&e.height&&(n||e.height>=o.minHeight&&e.width>=o.minWidth))}function lt(t,e){return Math.pow(t.width-e.width,2)+Math.pow(t.height-e.height,2)}function ut(t){var e=t.width,i=t.height,n=t.sizeRestrictions,o={minimum:t.aspectRatio&&t.aspectRatio.minimum||0,maximum:t.aspectRatio&&t.aspectRatio.maximum||1/0},s={width:Math.max(n.minWidth,Math.min(n.maxWidth,e)),height:Math.max(n.minHeight,Math.min(n.maxHeight,i))};function r(t,s){return void 0===s&&(s=!1),t.reduce((function(t,r){return ct({size:r,aspectRatio:o,sizeRestrictions:n,ignoreMinimum:s})&&(!t||lt(r,{width:e,height:i})<lt(t,{width:e,height:i}))?r:t}),null)}var a=[];o&&[o.minimum,o.maximum].forEach((function(t){t&&a.push({width:s.width,height:s.width/t,correctRatio:!0},{width:s.height*t,height:s.height,correctRatio:!0})})),ct({size:s,aspectRatio:o,sizeRestrictions:n})&&a.push(s);var h=r(a)||r(a,!0);return h&&{width:h.width,height:h.height}}function dt(t){var e=t.event,i=t.coordinates,n=t.positionRestrictions,o=void 0===n?{}:n,s=Z(i,e.directions);return Z(s,K(s,o))}function mt(t){var e=t.coordinates,i=t.transform,n=t.imageSize,o=t.sizeRestrictions,s=t.positionRestrictions,r=t.aspectRatio,a=t.visibleArea,h=function(t,e){return dt({coordinates:t,positionRestrictions:s,event:new E({left:e.left-t.left,top:e.top-t.top})})},c=p({},e);return(Array.isArray(i)?i:[i]).forEach((function(t){var e={};w((e="function"==typeof t?t({coordinates:c,imageSize:n,visibleArea:a}):t).width)&&w(e.height)||(c=function(t,e){var i=p(p(p({},t),ut({width:e.width,height:e.height,sizeRestrictions:o,aspectRatio:r})),{left:0,top:0});return h(i,{left:t.left,top:t.top})}(c,p(p({},c),e))),w(e.left)&&w(e.top)||(c=h(c,p(p({},c),e)))})),c}function pt(t){t.event;var e=t.getAreaRestrictions,i=t.boundaries,n=t.coordinates,o=t.visibleArea;t.aspectRatio;var s=t.stencilSize,r=t.sizeRestrictions,a=t.positionRestrictions;t.stencilReference;var h,c,l,u=p({},n),d=p({},o),m=p({},s);h=G(m),c=G(u),void 0===l&&(l=.001),(0===h||0===c?Math.abs(c-h)<l:Math.abs(c/h)<1+l&&Math.abs(c/h)>1-l)||(u=p(p({},u),ut({sizeRestrictions:r,width:u.width,height:u.height,aspectRatio:{minimum:G(m),maximum:G(m)}})));var g=nt(d=_(d,u.width*i.width/(d.width*m.width)),e({visibleArea:d,type:"resize"}));return 1!==g&&(d=_(d,g),u=_(u,g)),d=ot(d=Z(d,Y(F(u),F(d))),e({visibleArea:d,type:"move"})),{coordinates:u=ot(u,ht(X(d),a)),visibleArea:d}}function gt(t){var e=t.event,i=t.getAreaRestrictions,n=t.boundaries,o=t.coordinates,s=t.visibleArea;t.aspectRatio,t.stencilSize,t.sizeRestrictions;var r=t.positionRestrictions;t.stencilReference;var a=p({},o),h=p({},s);if(o&&s&&"manipulateImage"!==e.type){var c={width:0,height:0};h.width,n.width,G(n)>G(a)?(c.height=.8*n.height,c.width=c.height*G(a)):(c.width=.8*n.width,c.height=c.width*G(a));var l=nt(h=_(h,a.width*n.width/(h.width*c.width)),i({visibleArea:h,type:"resize"}));h=_(h,l),1!==l&&(c.height/=l,c.width/=l),h=ot(h=Z(h,Y(F(a),F(h))),i({visibleArea:h,type:"move"})),a=ot(a,ht(X(h),r))}return{coordinates:a,visibleArea:h}}function ft(t){var e=t.event,i=t.coordinates,n=t.visibleArea,o=t.getAreaRestrictions,s=p({},n),r=p({},i);if("setCoordinates"===e.type){var a=Math.max(0,r.width-s.width),h=Math.max(0,r.height-s.height);a>h?s=_(s,Math.min(r.width/s.width,Q(s,o({visibleArea:s,type:"resize"})))):h>a&&(s=_(s,Math.min(r.height/s.height,Q(s,o({visibleArea:s,type:"resize"}))))),s=ot(s=Z(s,q(K(r,X(s)))),o({visibleArea:s,type:"move"}))}return{visibleArea:s,coordinates:r}}function vt(t){var e=t.imageSize,i=t.visibleArea,n=t.coordinates,o=i||e;return{left:(i?i.left:0)+o.width/2-n.width/2,top:(i?i.top:0)+o.height/2-n.height/2}}function bt(t){var e=t.imageSize,i=t.visibleArea,n=t.aspectRatio,o=t.sizeRestrictions,s=i||e,r=Math.min(n.maximum||1/0,Math.max(n.minimum||0,G(s))),a=s.width<s.height?{width:.8*s.width,height:.8*s.width/r}:{height:.8*s.height,width:.8*s.height*r};return ut(p(p({},a),{aspectRatio:n,sizeRestrictions:o}))}function wt(t){var e,i,n=t.imageSize,o=t.visibleArea,s=t.boundaries,r=t.aspectRatio,a=t.sizeRestrictions,h=t.stencilSize,c=o||n;return G(c)>G(s)?i=(e=h.height*c.height/s.height)*G(h):e=(i=h.width*c.width/s.width)/G(h),ut({width:i,height:e,aspectRatio:r,sizeRestrictions:a})}function yt(t){var e=t.getAreaRestrictions,i=t.coordinates,n=t.imageSize,o=G(t.boundaries);if(i){var s={height:Math.max(i.height,n.height),width:Math.max(i.width,n.width)},r=tt({width:G(s)>o?s.width:s.height*o,height:G(s)>o?s.width/o:s.height},st(e())),a={left:i.left+i.width/2-r.width/2,top:i.top+i.height/2-r.height/2,width:r.width,height:r.height},h=U(i,X(p({left:0,top:0},n))),c={};return!h.left&&!h.right&&a.width<=n.width&&(c.left=0,c.right=n.width),!h.top&&!h.bottom&&a.height<=n.height&&(c.top=0,c.bottom=n.height),ot(a,c)}var l=G(n);r={height:l>o?n.height:n.width/o,width:l>o?n.height*o:n.width};return{left:n.width/2-r.width/2,top:n.height/2-r.height/2,width:r.width,height:r.height}}function zt(t,e){return at(t,X(e))}function Rt(t){var e=t.event,i=t.coordinates,n=t.visibleArea,o=t.sizeRestrictions,s=t.getAreaRestrictions,r=t.positionRestrictions,a=t.adjustStencil,h=e.scale,c=e.move,l=p({},n),u=p({},i),d=1,m=1,g=h.factor&&Math.abs(h.factor-1)>.001;l=Z(l,{left:c.left||0,top:c.top||0});var f={stencil:{minimum:Math.max(o.minWidth?o.minWidth/u.width:0,o.minHeight?o.minHeight/u.height:0),maximum:Math.min(o.maxWidth?o.maxWidth/u.width:1/0,o.maxHeight?o.maxHeight/u.height:1/0,Q(u,r))},area:{maximum:Q(l,s({visibleArea:l,type:"resize"}))}};h.factor&&g&&(h.factor<1?(m=Math.max(h.factor,f.stencil.minimum))>1&&(m=1):h.factor>1&&(m=Math.min(h.factor,Math.min(f.area.maximum,f.stencil.maximum)))<1&&(m=1)),m&&(l=_(l,m,h.center));var v=i.left-n.left,b=n.width+n.left-(i.width+i.left),w=i.top-n.top,y=n.height+n.top-(i.height+i.top);return l=ot(l=Z(l,K(l,{left:void 0!==r.left?r.left-v*m:void 0,top:void 0!==r.top?r.top-w*m:void 0,bottom:void 0!==r.bottom?r.bottom+y*m:void 0,right:void 0!==r.right?r.right+b*m:void 0})),s({visibleArea:l,type:"move"})),u.width=u.width*m,u.height=u.height*m,u.left=l.left+v*m,u.top=l.top+w*m,u=ot(u,ht(X(l),r)),h.factor&&g&&a&&(h.factor>1?d=Math.min(f.area.maximum,h.factor)/m:h.factor<1&&(d=Math.max(u.height/l.height,u.width/l.width,h.factor/m)),1!==d&&(l=Z(l=ot(l=_(l,d,h.factor>1?h.center:F(u)),s({visibleArea:l,type:"move"})),q(K(u,X(l)))))),{coordinates:u,visibleArea:l}}function At(t){var e=t.aspectRatio,i=t.getAreaRestrictions,n=t.coordinates,o=t.visibleArea,s=t.sizeRestrictions,r=t.positionRestrictions,a=t.imageSize,h=t.previousImageSize,c=t.angle,l=p({},n),u=p({},o),d=it(F(p({left:0,top:0},h)),c);return(l=p(p({},ut({sizeRestrictions:s,aspectRatio:e,width:l.width,height:l.height})),it(F(l),c))).left-=d.left-a.width/2+l.width/2,l.top-=d.top-a.height/2+l.height/2,u=_(u,nt(u,i({visibleArea:u,type:"resize"}))),{coordinates:l=ot(l,r),visibleArea:u=ot(u=Z(u,Y(F(l),F(n))),i({visibleArea:u,type:"move"}))}}function xt(t){var e=t.flip,i=t.previousFlip,n=t.rotate;t.aspectRatio;var o=t.getAreaRestrictions,s=t.coordinates,r=t.visibleArea,a=t.imageSize,h=p({},s),c=p({},r),l=i.horizontal!==e.horizontal,u=i.vertical!==e.vertical;if(l||u){var d=it({left:a.width/2,top:a.height/2},-n),m=it(F(h),-n),g=it({left:l?d.left-(m.left-d.left):m.left,top:u?d.top-(m.top-d.top):m.top},n);h=Z(h,Y(g,F(h))),m=it(F(c),-n),c=ot(c=Z(c,Y(g=it({left:l?d.left-(m.left-d.left):m.left,top:u?d.top-(m.top-d.top):m.top},n),F(c))),o({visibleArea:c,type:"move"}))}return{coordinates:h,visibleArea:c}}function St(t){var e=t.directions,i=t.coordinates,n=t.positionRestrictions,o=void 0===n?{}:n,s=t.sizeRestrictions,r=t.preserveRatio,a=t.compensate,h=p({},e),c=V(i,h).width,l=V(i,h).height;c<0&&(h.left<0&&h.right<0?(h.left=-(i.width-s.minWidth)/(h.left/h.right),h.right=-(i.width-s.minWidth)/(h.right/h.left)):h.left<0?h.left=-(i.width-s.minWidth):h.right<0&&(h.right=-(i.width-s.minWidth))),l<0&&(h.top<0&&h.bottom<0?(h.top=-(i.height-s.minHeight)/(h.top/h.bottom),h.bottom=-(i.height-s.minHeight)/(h.bottom/h.top)):h.top<0?h.top=-(i.height-s.minHeight):h.bottom<0&&(h.bottom=-(i.height-s.minHeight)));var u=U(V(i,h),o);a&&(u.left&&u.left>0&&0===u.right?(h.right+=u.left,h.left-=u.left):u.right&&u.right>0&&0===u.left&&(h.left+=u.right,h.right-=u.right),u.top&&u.top>0&&0===u.bottom?(h.bottom+=u.top,h.top-=u.top):u.bottom&&u.bottom>0&&0===u.top&&(h.top+=u.bottom,h.bottom-=u.bottom),u=U(V(i,h),o));var d={width:1/0,height:1/0,left:1/0,right:1/0,top:1/0,bottom:1/0};if(j.forEach((function(t){var e=u[t];e&&h[t]&&(d[t]=Math.max(0,1-e/h[t]))})),r){var m=Math.min.apply(null,j.map((function(t){return d[t]})));m!==1/0&&j.forEach((function(t){h[t]*=m}))}else j.forEach((function(t){d[t]!==1/0&&(h[t]*=d[t])}));if(c=V(i,h).width,l=V(i,h).height,h.right+h.left&&(c>s.maxWidth?d.width=(s.maxWidth-i.width)/(h.right+h.left):c<s.minWidth&&(d.width=(s.minWidth-i.width)/(h.right+h.left))),h.bottom+h.top&&(l>s.maxHeight?d.height=(s.maxHeight-i.height)/(h.bottom+h.top):l<s.minHeight&&(d.height=(s.minHeight-i.height)/(h.bottom+h.top))),r){var g=Math.min(d.width,d.height);g!==1/0&&j.forEach((function(t){h[t]*=g}))}else d.width!==1/0&&k.forEach((function(t){h[t]*=d.width})),d.height!==1/0&&L.forEach((function(t){h[t]*=d.height}));return h}function Mt(t,e,i){return 0==e&&0==i?t/2:0==e?0:0==i?t:t*Math.abs(e/(e+i))}var Ct=u("vue-simple-handler"),Et=u("vue-simple-handler-wrapper"),Wt={name:"SimpleHandler",components:{HandlerWrapper:O},props:{defaultClass:{type:String},hoverClass:{type:String},wrapperClass:{type:String},horizontalPosition:{type:String},verticalPosition:{type:String},disabled:{type:Boolean,default:!1}},data:function(){return{hover:!1}},computed:{classes:function(){var t,e=(n(t={},this.horizontalPosition,Boolean(this.horizontalPosition)),n(t,this.verticalPosition,Boolean(this.verticalPosition)),n(t,"".concat(this.horizontalPosition,"-").concat(this.verticalPosition),Boolean(this.verticalPosition&&this.horizontalPosition)),n(t,"hover",this.hover),t);return{default:l(Ct(e),this.defaultClass,this.hover&&this.hoverClass),wrapper:l(Et(e),this.wrapperClass)}}},methods:{onDrag:function(t){this.$emit("drag",t)},onEnter:function(){this.hover=!0},onLeave:function(){this.hover=!1},onDragEnd:function(){this.$emit("drag-end")}},emits:["drag","drag-end"]};Wt.render=function(e,i,n,o,s,r){var a=t.resolveComponent("HandlerWrapper");return t.openBlock(),t.createBlock(a,{class:r.classes.wrapper,"vertical-position":n.verticalPosition,"horizontal-position":n.horizontalPosition,disabled:n.disabled,onDrag:r.onDrag,onDragEnd:r.onDragEnd,onEnter:r.onEnter,onLeave:r.onLeave},{default:t.withCtx((function(){return[t.createVNode("div",{class:r.classes.default},null,2)]})),_:1},8,["class","vertical-position","horizontal-position","disabled","onDrag","onDragEnd","onEnter","onLeave"])};var Tt=u("vue-simple-line"),Bt=u("vue-simple-line-wrapper"),Ot={name:"SimpleLine",components:{LineWrapper:H},props:{defaultClass:{type:String},hoverClass:{type:String},wrapperClass:{type:String},position:{type:String},disabled:{type:Boolean,default:!1}},data:function(){return{hover:!1}},computed:{classes:function(){return{root:l(Tt(n({},this.position,!0)),this.defaultClass,this.hover&&this.hoverClass),wrapper:l(Bt(n({},this.position,!0)),this.wrapperClass)}}},methods:{onDrag:function(t){this.$emit("drag",t)},onEnter:function(){this.hover=!0},onLeave:function(){this.hover=!1},onDragEnd:function(){this.$emit("drag-end")}},emits:["drag","drag-end"]};Ot.render=function(e,i,n,o,s,r){var a=t.resolveComponent("LineWrapper");return t.openBlock(),t.createBlock(a,{class:r.classes.wrapper,position:n.position,disabled:n.disabled,onDrag:r.onDrag,onDragEnd:r.onDragEnd,onEnter:r.onEnter,onLeave:r.onLeave},{default:t.withCtx((function(){return[t.createVNode("div",{class:r.classes.root},null,2)]})),_:1},8,["class","position","disabled","onDrag","onDragEnd","onEnter","onLeave"])};var Dt=u("vue-bounding-box"),Ht=["east","west",null],jt=["south","north",null],kt={name:"BoundingBox",props:{width:{type:Number},height:{type:Number},transitions:{type:Object},handlers:{type:Object,default:function(){return{eastNorth:!0,north:!0,westNorth:!0,west:!0,westSouth:!0,south:!0,eastSouth:!0,east:!0}}},handlersComponent:{type:[Object,String],default:function(){return Wt}},handlersClasses:{type:Object,default:function(){return{}}},handlersWrappersClasses:{type:Object,default:function(){return{}}},lines:{type:Object,default:function(){return{west:!0,north:!0,east:!0,south:!0}}},linesComponent:{type:[Object,String],default:function(){return Ot}},linesClasses:{type:Object,default:function(){return{}}},linesWrappersClasses:{type:Object,default:function(){return{}}},resizable:{type:Boolean,default:!0}},data:function(){var t=[];return Ht.forEach((function(e){jt.forEach((function(i){if(e!==i){var n=g(e,i),o=n.name,s=n.classname;t.push({name:o,classname:s,verticalDirection:i,horizontalDirection:e})}}))})),{points:t}},computed:{style:function(){var t={};return this.width&&this.height&&(t.width="".concat(this.width,"px"),t.height="".concat(this.height,"px"),this.transitions&&this.transitions.enabled&&(t.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction))),t},classes:function(){var t=this.handlersClasses,e=this.handlersWrappersClasses,i=this.linesClasses,n=this.linesWrappersClasses;return{root:Dt(),handlers:t,handlersWrappers:e,lines:i,linesWrappers:n}},lineNodes:function(){var t=this,e=[];return this.points.forEach((function(i){i.horizontalDirection&&i.verticalDirection||!t.lines[i.name]||e.push({name:i.name,component:t.linesComponent,class:l(t.classes.lines.default,t.classes.lines[i.name],!t.resizable&&t.classes.lines.disabled),wrapperClass:l(t.classes.linesWrappers.default,t.classes.linesWrappers[i.name],!t.resizable&&t.classes.linesWrappers.disabled),hoverClass:t.classes.lines.hover,verticalDirection:i.verticalDirection,horizontalDirection:i.horizontalDirection,disabled:!t.resizable})})),e},handlerNodes:function(){var t=this,e=[],i=this.width,o=this.height;return this.points.forEach((function(s){if(t.handlers[s.name]){var r={name:s.name,component:t.handlersComponent,class:l(t.classes.handlers.default,t.classes.handlers[s.name]),wrapperClass:l(t.classes.handlersWrappers.default,t.classes.handlersWrappers[s.name]),hoverClass:t.classes.handlers.hover,verticalDirection:s.verticalDirection,horizontalDirection:s.horizontalDirection,disabled:!t.resizable};if(i&&o){var a=s.horizontalDirection,h=s.verticalDirection,c="east"===a?i:"west"===a?0:i/2,u="south"===h?o:"north"===h?0:o/2;r.wrapperClass=Dt("handler"),r.wrapperStyle={transform:"translate(".concat(c,"px, ").concat(u,"px)")},t.transitions&&t.transitions.enabled&&(r.wrapperStyle.transition="".concat(t.transitions.time,"ms ").concat(t.transitions.timingFunction))}else r.wrapperClass=Dt("handler",n({},s.classname,!0));e.push(r)}})),e}},beforeMount:function(){window.addEventListener("mouseup",this.onMouseUp,{passive:!1}),window.addEventListener("mousemove",this.onMouseMove,{passive:!1}),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd,{passive:!1})},beforeUnmount:function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},mounted:function(){this.touches=[]},methods:{onEnd:function(){this.$emit("resize-end")},onHandlerDrag:function(t,e,i){var n,o=t.shift(),s=o.left,r=o.top,a={left:0,right:0,top:0,bottom:0};"west"===e?a.left-=s:"east"===e&&(a.right+=s),"north"===i?a.top-=r:"south"===i&&(a.bottom+=r),!i&&e?n="width":i&&!e&&(n="height"),this.resizable&&this.$emit("resize",new C(a,{allowedDirections:{left:"west"===e||!e,right:"east"===e||!e,bottom:"south"===i||!i,top:"north"===i||!i},preserveAspectRatio:t.nativeEvent&&t.nativeEvent.shiftKey,respectDirection:n}))}},emits:["resize","resize-end"]};kt.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"box",class:r.classes.root,style:r.style},[t.renderSlot(e.$slots,"default"),t.createVNode("div",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.lineNodes,(function(e){return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.component),{key:e.name,"default-class":e.class,"hover-class":e.hoverClass,"wrapper-class":e.wrapperClass,position:e.name,disabled:e.disabled,onDrag:function(t){return r.onHandlerDrag(t,e.horizontalDirection,e.verticalDirection)},onDragEnd:i[1]||(i[1]=function(t){return r.onEnd()})},null,8,["default-class","hover-class","wrapper-class","position","disabled","onDrag"])})),128))]),(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.handlerNodes,(function(e){return t.openBlock(),t.createBlock("div",{key:e.name,style:e.wrapperStyle,class:e.wrapperClass},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.component),{"default-class":e.class,"hover-class":e.hoverClass,"wrapper-class":e.wrapperClass,"horizontal-position":e.horizontalDirection,"vertical-position":e.verticalDirection,disabled:e.disabled,onDrag:function(t){return r.onHandlerDrag(t,e.horizontalDirection,e.verticalDirection)},onDragEnd:i[2]||(i[2]=function(t){return r.onEnd()})},null,8,["default-class","hover-class","wrapper-class","horizontal-position","vertical-position","disabled","onDrag"]))],6)})),128))],6)};var Lt=u("vue-draggable-area"),Pt={name:"DraggableArea",props:{movable:{type:Boolean,default:!0},activationDistance:{type:Number,default:20}},computed:{classnames:function(){return{default:Lt()}}},beforeMount:function(){window.addEventListener("mouseup",this.onMouseUp,{passive:!1}),window.addEventListener("mousemove",this.onMouseMove,{passive:!1}),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd,{passive:!1})},beforeUnmount:function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},mounted:function(){this.touches=[],this.touchStarted=!1},methods:{onTouchStart:function(t){if(t.cancelable){var e=this.movable&&1===t.touches.length;e&&(this.touches=s(t.touches)),(this.touchStarted||e)&&(t.preventDefault(),t.stopPropagation())}},onTouchEnd:function(){this.touchStarted=!1,this.processEnd()},onTouchMove:function(t){this.touches.length>=1&&(this.touchStarted?(this.processMove(t,t.touches),t.preventDefault(),t.stopPropagation()):S({x:this.touches[0].clientX,y:this.touches[0].clientY},{x:t.touches[0].clientX,y:t.touches[0].clientY})>this.activationDistance&&(this.initAnchor({clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}),this.touchStarted=!0))},onMouseDown:function(t){if(this.movable&&0===t.button){var e={fake:!0,clientX:t.clientX,clientY:t.clientY};this.touches=[e],this.initAnchor(e),t.stopPropagation()}},onMouseMove:function(t){this.touches.length&&(this.processMove(t,[{fake:!0,clientX:t.clientX,clientY:t.clientY}]),t.preventDefault&&t.cancelable&&t.preventDefault(),t.stopPropagation())},onMouseUp:function(){this.processEnd()},initAnchor:function(t){var e=this.$refs.container.getBoundingClientRect(),i=e.left,n=e.top;this.anchor={x:t.clientX-i,y:t.clientY-n}},processMove:function(t,e){var i=s(e);if(this.touches.length){var n=this.$refs.container.getBoundingClientRect(),o=n.left,r=n.top;1===this.touches.length&&1===i.length&&this.$emit("move",new E({left:i[0].clientX-(o+this.anchor.x),top:i[0].clientY-(r+this.anchor.y)}))}},processEnd:function(){this.touches.length&&this.$emit("move-end"),this.touches=[]}},emits:["move","move-end"]};Pt.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"container",onTouchstart:i[1]||(i[1]=function(){return r.onTouchStart&&r.onTouchStart.apply(r,arguments)}),onMousedown:i[2]||(i[2]=function(){return r.onMouseDown&&r.onMouseDown.apply(r,arguments)})},[t.renderSlot(e.$slots,"default")],544)};function $t(t){var e,i;return{rotate:t.rotate||0,flip:{horizontal:(null===(e=null==t?void 0:t.flip)||void 0===e?void 0:e.horizontal)||!1,vertical:(null===(i=null==t?void 0:t.flip)||void 0===i?void 0:i.vertical)||!1}}}function It(t){return new Promise((function(e,i){try{if(t)if(/^data:/i.test(t))e(function(t){t=t.replace(/^data:([^;]+);base64,/gim,"");for(var e=atob(t),i=e.length,n=new ArrayBuffer(i),o=new Uint8Array(n),s=0;s<i;s++)o[s]=e.charCodeAt(s);return n}(t));else if(/^blob:/i.test(t)){var n=new FileReader;n.onload=function(t){e(t.target.result)},s=t,r=function(t){n.readAsArrayBuffer(t)},(a=new XMLHttpRequest).open("GET",s,!0),a.responseType="blob",a.onload=function(){200!=this.status&&0!==this.status||r(this.response)},a.send()}else{var o=new XMLHttpRequest;o.onreadystatechange=function(){4===o.readyState&&(200===o.status||0===o.status?e(o.response):i("Warning: could not load an image to parse its orientation"),o=null)},o.onprogress=function(){"image/jpeg"!==o.getResponseHeader("content-type")&&o.abort()},o.withCredentials=!1,o.open("GET",t,!0),o.responseType="arraybuffer",o.send(null)}else i("Error: the image is empty")}catch(t){i(t)}var s,r,a}))}function Nt(t){var e=t.rotate,i=t.flip,n=t.scaleX,o=t.scaleY,s="";return s+=" rotate("+e+"deg) ",s+=" scaleX("+n*(i.horizontal?-1:1)+") ",s+=" scaleY("+o*(i.vertical?-1:1)+") "}function Xt(t){try{var e,i=new DataView(t),n=void 0,o=void 0,s=void 0,r=void 0;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var a=i.byteLength,h=2;h+1<a;){if(255===i.getUint8(h)&&225===i.getUint8(h+1)){s=h;break}h++}if(s&&(n=s+10,"Exif"===function(t,e,i){var n,o="";for(n=e,i+=e;n<i;n++)o+=String.fromCharCode(t.getUint8(n));return o}(i,s+4,4))){var c=i.getUint16(n);if(((o=18761===c)||19789===c)&&42===i.getUint16(n+2,o)){var l=i.getUint32(n+4,o);l>=8&&(r=n+l)}}if(r)for(var u=i.getUint16(r,o),d=0;d<u;d++){h=r+12*d+2;if(274===i.getUint16(h,o)){h+=8,e=i.getUint16(h,o),i.setUint16(h,1,o);break}}return e}catch(t){return null}}var Yt=u("vue-preview-result"),Ft={name:"PreviewResult",props:{image:{type:Object},transitions:{type:Object},stencilCoordinates:{type:Object,default:function(){return{width:0,height:0,left:0,top:0}}},imageClass:{type:String}},computed:{classes:function(){return{root:Yt(),wrapper:Yt("wrapper"),imageWrapper:Yt("image-wrapper"),image:l(Yt("image"),this.imageClass)}},wrapperStyle:function(){var t={width:"".concat(this.stencilCoordinates.width,"px"),height:"".concat(this.stencilCoordinates.height,"px"),left:"calc(50% - ".concat(this.stencilCoordinates.width/2,"px)"),top:"calc(50% - ".concat(this.stencilCoordinates.height/2,"px)")};return this.transitions&&this.transitions.enabled&&(t.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),t},imageStyle:function(){var t=this.image.transforms,e=et({width:this.image.width,height:this.image.height},t.rotate),i={width:"".concat(this.image.width,"px"),height:"".concat(this.image.height,"px"),left:"0px",top:"0px"},n={left:(this.image.width-e.width)*t.scaleX/2,top:(this.image.height-e.height)*t.scaleY/2},o={left:(1-t.scaleX)*this.image.width/2,top:(1-t.scaleY)*this.image.height/2};return i.transform="translate(\n\t\t\t\t".concat(-this.stencilCoordinates.left-t.translateX-n.left-o.left,"px,").concat(-this.stencilCoordinates.top-t.translateY-n.top-o.top,"px) ")+Nt(t),this.transitions&&this.transitions.enabled&&(i.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),i}}};function Ut(t,e){var i=e.getBoundingClientRect(),n=i.left,o=i.top,s={left:0,top:0},r=0;return t.forEach((function(e){s.left+=(e.clientX-n)/t.length,s.top+=(e.clientY-o)/t.length})),t.forEach((function(t){r+=S({x:s.left,y:s.top},{x:t.clientX-n,y:t.clientY-o})})),{centerMass:s,spread:r,count:t.length}}Ft.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{class:r.classes.root},[t.createVNode("div",{ref:"wrapper",class:r.classes.wrapper,style:r.wrapperStyle},[t.createVNode("img",{ref:"image",src:n.image.src,class:r.classes.image,style:r.imageStyle},null,14,["src"])],6)],2)};var Vt={props:{touchMove:{type:Boolean,required:!0},mouseMove:{type:Boolean,required:!0},touchResize:{type:Boolean,required:!0},wheelResize:{type:[Boolean,Object],required:!0},eventsFilter:{type:Function,required:!1}},beforeMount:function(){window.addEventListener("mouseup",this.onMouseUp,{passive:!1}),window.addEventListener("mousemove",this.onMouseMove,{passive:!1}),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd,{passive:!1})},beforeUnmount:function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},created:function(){this.transforming=!1,this.debouncedProcessEnd=m(this.processEnd),this.touches=[]},methods:{processMove:function(t,e){if(this.touches.length){if(1===this.touches.length&&1===e.length)this.$emit("move",new M({left:this.touches[0].clientX-e[0].clientX,top:this.touches[0].clientY-e[0].clientY}));else if(this.touches.length>1&&this.touchResize){var i=Ut(e,this.$refs.container),n=this.oldGeometricProperties;n.count===i.count&&n.count>1&&this.$emit("resize",new M({left:n.centerMass.left-i.centerMass.left,top:n.centerMass.top-i.centerMass.top},{factor:n.spread/i.spread,center:i.centerMass})),this.oldGeometricProperties=i}this.touches=e}},processEnd:function(){this.transforming&&(this.transforming=!1,this.$emit("transform-end"))},processStart:function(){this.transforming=!0,this.debouncedProcessEnd.clear()},processEvent:function(t){return this.eventsFilter?!1!==this.eventsFilter(t,this.transforming):(t.preventDefault(),t.stopPropagation(),!0)},onTouchStart:function(t){if(t.cancelable&&(this.touchMove||this.touchResize&&t.touches.length>1)&&this.processEvent(t)){var e=this.$refs.container,i=e.getBoundingClientRect(),n=i.left,o=i.top,r=i.bottom,a=i.right;this.touches=s(t.touches).filter((function(t){return t.clientX>n&&t.clientX<a&&t.clientY>o&&t.clientY<r})),this.oldGeometricProperties=Ut(this.touches,e)}},onTouchEnd:function(t){0===t.touches.length&&(this.touches=[],this.processEnd())},onTouchMove:function(t){var e=this;if(this.touches.length){var i=s(t.touches).filter((function(t){return!t.identifier||e.touches.find((function(e){return e.identifier===t.identifier}))}));this.processEvent(t)&&(this.processMove(t,i),this.processStart())}},onMouseDown:function(t){if(this.mouseMove&&"buttons"in t&&1===t.buttons&&this.processEvent(t)){var e={fake:!0,clientX:t.clientX,clientY:t.clientY};this.touches=[e],this.processStart()}},onMouseMove:function(t){this.touches.length&&this.processEvent(t)&&this.processMove(t,[{clientX:t.clientX,clientY:t.clientY}])},onMouseUp:function(){this.touches=[],this.processEnd()},onWheel:function(t){if(this.wheelResize&&this.processEvent(t)){var e=this.$refs.container.getBoundingClientRect(),i=e.left,n=e.top,o=1+this.wheelResize.ratio*(r=t.deltaY||t.detail||t.wheelDelta,0===(a=+r)||x(a)?a:a>0?1:-1),s={left:t.clientX-i,top:t.clientY-n};this.$emit("resize",new M({},{factor:o,center:s})),this.touches.length||this.debouncedProcessEnd()}var r,a}},emits:["resize","move","transform-end"]};Vt.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"container",onTouchstart:i[1]||(i[1]=function(){return r.onTouchStart&&r.onTouchStart.apply(r,arguments)}),onMousedown:i[2]||(i[2]=function(){return r.onMouseDown&&r.onMouseDown.apply(r,arguments)}),onWheel:i[3]||(i[3]=function(){return r.onWheel&&r.onWheel.apply(r,arguments)})},[t.renderSlot(e.$slots,"default")],544)};var qt={components:{TransformableImage:Vt},props:{touchMove:{type:Boolean,required:!0},mouseMove:{type:Boolean,required:!0},touchResize:{type:Boolean,required:!0},wheelResize:{type:[Boolean,Object],required:!0}},emits:["resize","move"]};qt.render=function(e,i,n,o,s,r){var a=t.resolveComponent("transformable-image");return t.openBlock(),t.createBlock(a,{"touch-move":n.touchMove,"touch-resize":n.touchResize,"mouse-move":n.mouseMove,"wheel-resize":n.wheelResize,onMove:i[1]||(i[1]=function(t){return e.$emit("move",t)}),onResize:i[2]||(i[2]=function(t){return e.$emit("resize",t)})},{default:t.withCtx((function(){return[t.renderSlot(e.$slots,"default")]})),_:3},8,["touch-move","touch-resize","mouse-move","wheel-resize"])};var Zt=u("vue-preview"),_t={props:{coordinates:{type:Object},transitions:{type:Object},image:{type:Object,default:function(){return{}}},imageClass:{type:String},width:{type:Number},height:{type:Number},fill:{type:Boolean}},data:function(){return{calculatedImageSize:{width:0,height:0},calculatedSize:{width:0,height:0}}},computed:{classes:function(){return{root:Zt({fill:this.fill}),wrapper:Zt("wrapper"),imageWrapper:Zt("image-wrapper"),image:l(Zt("image"),this.imageClass)}},style:function(){if(this.fill)return{};var t={};return this.width&&(t.width="".concat(this.size.width,"px")),this.height&&(t.height="".concat(this.size.height,"px")),this.transitions&&this.transitions.enabled&&(t.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),t},wrapperStyle:function(){var t={width:"".concat(this.size.width,"px"),height:"".concat(this.size.height,"px"),left:"calc(50% - ".concat(this.size.width/2,"px)"),top:"calc(50% - ".concat(this.size.height/2,"px)")};return this.transitions&&this.transitions.enabled&&(t.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),t},imageStyle:function(){if(this.coordinates&&this.image){var t=this.coordinates.width/this.size.width,e=i(i({rotate:0,flip:{horizontal:!1,vertical:!1}},this.image.transforms),{},{scaleX:1/t,scaleY:1/t}),n=this.imageSize.width,o=this.imageSize.height,s=et({width:n,height:o},e.rotate),r={width:"".concat(n,"px"),height:"".concat(o,"px"),left:"0px",top:"0px"},a={rotate:{left:(n-s.width)*e.scaleX/2,top:(o-s.height)*e.scaleY/2},scale:{left:(1-e.scaleX)*n/2,top:(1-e.scaleY)*o/2}};return r.transform="translate(\n\t\t\t\t".concat(-this.coordinates.left/t-a.rotate.left-a.scale.left,"px,").concat(-this.coordinates.top/t-a.rotate.top-a.scale.top,"px) ")+Nt(e),this.transitions&&this.transitions.enabled&&(r.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),r}return{}},size:function(){return{width:this.width||this.calculatedSize.width,height:this.height||this.calculatedSize.height}},imageSize:function(){return{width:this.image.width||this.calculatedImageSize.width,height:this.image.height||this.calculatedImageSize.height}}},watch:{image:function(t){(t.width||t.height)&&this.onChangeImage()}},mounted:function(){var t=this;this.onChangeImage(),this.$refs.image.addEventListener("load",(function(){t.refreshImage()})),window.addEventListener("resize",this.refresh),window.addEventListener("orientationchange",this.refresh)},unmounted:function(){window.removeEventListener("resize",this.refresh),window.removeEventListener("orientationchange",this.refresh)},methods:{refreshImage:function(){var t=this.$refs.image;this.calculatedImageSize.height=t.naturalHeight,this.calculatedImageSize.width=t.naturalWidth},refresh:function(){var t=this.$refs.root;this.width||(this.calculatedSize.width=t.clientWidth),this.height||(this.calculatedSize.height=t.clientHeight)},onChangeImage:function(){var t=this.$refs.image;t&&t.complete&&this.refreshImage(),this.refresh()}}};_t.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"root",class:r.classes.root,style:r.style},[t.createVNode("div",{ref:"wrapper",class:r.classes.wrapper,style:r.wrapperStyle},[t.withDirectives(t.createVNode("img",{ref:"image",src:n.image&&n.image.src,class:r.classes.image,style:r.imageStyle},null,14,["src"]),[[t.vShow,n.image&&n.image.src]])],6)],6)};var Gt={components:{Preview:_t},inheritAttrs:!1};Gt.render=function(e,i,n,o,s,r){var a=t.resolveComponent("preview");return t.openBlock(),t.createBlock(a,t.mergeProps(e.$attrs,{fill:!0}),null,16)};var Qt=u("vue-rectangle-stencil"),Kt={name:"RectangleStencil",components:{StencilPreview:Gt,BoundingBox:kt,DraggableArea:Pt},props:{image:{type:Object},coordinates:{type:Object},stencilCoordinates:{type:Object},handlers:{type:Object},handlersComponent:{type:[Object,String],default:function(){return Wt}},lines:{type:Object},linesComponent:{type:[Object,String],default:function(){return Ot}},aspectRatio:{type:[Number,String]},minAspectRatio:{type:[Number,String]},maxAspectRatio:{type:[Number,String]},movable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},transitions:{type:Object},movingClass:{type:String},resizingClass:{type:String},previewClass:{type:String},boundingBoxClass:{type:String},linesClasses:{type:Object,default:function(){return{}}},linesWrappersClasses:{type:Object,default:function(){return{}}},handlersClasses:{type:Object,default:function(){return{}}},handlersWrappersClasses:{type:Object,default:function(){return{}}}},data:function(){return{moving:!1,resizing:!1}},computed:{classes:function(){return{stencil:l(Qt({movable:this.movable,moving:this.moving,resizing:this.resizing}),this.moving&&this.movingClass,this.resizing&&this.resizingClass),preview:l(Qt("preview"),this.previewClass),boundingBox:l(Qt("bounding-box"),this.boundingBoxClass)}},style:function(){var t=this.stencilCoordinates,e=t.height,i=t.width,n=t.left,o=t.top,s={width:"".concat(i,"px"),height:"".concat(e,"px"),transform:"translate(".concat(n,"px, ").concat(o,"px)")};return this.transitions&&this.transitions.enabled&&(s.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),s}},methods:{onMove:function(t){this.$emit("move",t),this.moving=!0},onMoveEnd:function(){this.$emit("move-end"),this.moving=!1},onResize:function(t){this.$emit("resize",t),this.resizing=!0},onResizeEnd:function(){this.$emit("resize-end"),this.resizing=!1},aspectRatios:function(){return{minimum:this.aspectRatio||this.minAspectRatio,maximum:this.aspectRatio||this.maxAspectRatio}}},emits:["resize","resize-end","move","move-end"]};Kt.render=function(e,i,n,o,s,r){var a=t.resolveComponent("stencil-preview"),h=t.resolveComponent("draggable-area"),c=t.resolveComponent("bounding-box");return t.openBlock(),t.createBlock("div",{class:r.classes.stencil,style:r.style},[t.createVNode(c,{width:n.stencilCoordinates.width,height:n.stencilCoordinates.height,transitions:n.transitions,class:r.classes.boundingBox,handlers:n.handlers,"handlers-component":n.handlersComponent,"handlers-classes":n.handlersClasses,"handlers-wrappers-classes":n.handlersWrappersClasses,lines:n.lines,"lines-component":n.linesComponent,"lines-classes":n.linesClasses,"lines-wrappers-classes":n.linesWrappersClasses,resizable:n.resizable,onResize:r.onResize,onResizeEnd:r.onResizeEnd},{default:t.withCtx((function(){return[t.createVNode(h,{movable:n.movable,onMove:r.onMove,onMoveEnd:r.onMoveEnd},{default:t.withCtx((function(){return[t.createVNode(a,{image:n.image,coordinates:n.coordinates,width:n.stencilCoordinates.width,height:n.stencilCoordinates.height,class:r.classes.preview,transitions:n.transitions},null,8,["image","coordinates","width","height","class","transitions"])]})),_:1},8,["movable","onMove","onMoveEnd"])]})),_:1},8,["width","height","transitions","class","handlers","handlers-component","handlers-classes","handlers-wrappers-classes","lines","lines-component","lines-classes","lines-wrappers-classes","resizable","onResize","onResizeEnd"])],6)};var Jt=u("vue-circle-stencil"),te={components:{StencilPreview:Gt,BoundingBox:kt,DraggableArea:Pt},props:{image:{type:Object},coordinates:{type:Object},stencilCoordinates:{type:Object},handlers:{type:Object,default:function(){return{eastNorth:!0,westNorth:!0,westSouth:!0,eastSouth:!0}}},handlersComponent:{type:[Object,String],default:function(){return Wt}},handlersClasses:{type:Object,default:function(){return{}}},handlersWrappersClasses:{type:Object,default:function(){return{}}},lines:{type:Object},linesComponent:{type:[Object,String],default:function(){return Ot}},linesClasses:{type:Object,default:function(){return{}}},linesWrappersClasses:{type:Object,default:function(){return{}}},movable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},transitions:{type:Object},movingClass:{type:String},resizingClass:{type:String},previewClass:{type:String},boundingBoxClass:{type:String}},data:function(){return{moving:!1,resizing:!1}},computed:{classes:function(){return{stencil:l(Jt({movable:this.movable,moving:this.moving,resizing:this.resizing}),this.moving&&this.movingClass,this.resizing&&this.resizingClass),preview:l(Jt("preview"),this.previewClass),boundingBox:l(Jt("bounding-box"),this.boundingBoxClass)}},style:function(){var t=this.stencilCoordinates,e=t.height,i=t.width,n=t.left,o=t.top,s={width:"".concat(i,"px"),height:"".concat(e,"px"),transform:"translate(".concat(n,"px, ").concat(o,"px)")};return this.transitions&&this.transitions.enabled&&(s.transition="".concat(this.transitions.time,"ms ").concat(this.transitions.timingFunction)),s}},methods:{onMove:function(t){this.$emit("move",t),this.moving=!0},onMoveEnd:function(){this.$emit("move-end"),this.moving=!1},onResize:function(t){this.$emit("resize",t),this.resizing=!0},onResizeEnd:function(){this.$emit("resize-end"),this.resizing=!1},aspectRatios:function(){return{minimum:1,maximum:1}}},emits:["resize","resize-end","move","move-end"]};te.render=function(e,i,n,o,s,r){var a=t.resolveComponent("stencil-preview"),h=t.resolveComponent("draggable-area"),c=t.resolveComponent("bounding-box");return t.openBlock(),t.createBlock("div",{class:r.classes.stencil,style:r.style},[t.createVNode(c,{width:n.stencilCoordinates.width,height:n.stencilCoordinates.height,transitions:n.transitions,class:r.classes.boundingBox,handlers:n.handlers,"handlers-component":n.handlersComponent,"handlers-classes":n.handlersClasses,"handlers-wrappers-classes":n.handlersWrappersClasses,lines:n.lines,"lines-component":n.linesComponent,"lines-classes":n.linesClasses,"lines-wrappers-classes":n.linesWrappersClasses,resizable:n.resizable,onResize:r.onResize,onResizeEnd:r.onResizeEnd},{default:t.withCtx((function(){return[t.createVNode(h,{movable:n.movable,onMove:r.onMove,onMoveEnd:r.onMoveEnd},{default:t.withCtx((function(){return[t.createVNode(a,{image:n.image,coordinates:n.coordinates,width:n.stencilCoordinates.width,height:n.stencilCoordinates.height,class:r.classes.preview,transitions:n.transitions},null,8,["image","coordinates","width","height","class","transitions"])]})),_:1},8,["movable","onMove","onMoveEnd"])]})),_:1},8,["width","height","transitions","class","handlers","handlers-component","handlers-classes","handlers-wrappers-classes","lines","lines-component","lines-classes","lines-wrappers-classes","resizable","onResize","onResizeEnd"])],6)};var ee=["transitions"],ie=u("vue-advanced-cropper"),ne={name:"Cropper",components:{BackgroundWrapper:qt},props:{src:{type:String,default:null},stencilComponent:{type:[Object,String],default:function(){return Kt}},backgroundWrapperComponent:{type:[Object,String],default:function(){return qt}},stencilProps:{type:Object,default:function(){return{}}},autoZoom:{type:Boolean,default:!1},imageClass:{type:String},boundariesClass:{type:String},backgroundClass:{type:String},foregroundClass:{type:String},minWidth:{type:[Number,String]},minHeight:{type:[Number,String]},maxWidth:{type:[Number,String]},maxHeight:{type:[Number,String]},debounce:{type:[Boolean,Number],default:500},transitions:{type:Boolean,default:!0},checkOrientation:{type:Boolean,default:!0},canvas:{type:[Object,Boolean],default:!0},crossOrigin:{type:[Boolean,String],default:void 0},transitionTime:{type:Number,default:300},imageRestriction:{type:String,default:"fit-area",validator:function(t){return-1!==$.indexOf(t)}},roundResult:{type:Boolean,default:!0},defaultSize:{type:[Function,Object]},defaultPosition:{type:[Function,Object]},defaultVisibleArea:{type:[Function,Object]},defaultTransforms:{type:[Function,Object]},defaultBoundaries:{type:[Function,String],validator:function(t){return!("string"==typeof t&&"fill"!==t&&"fit"!==t)}},priority:{type:String,default:"coordinates"},stencilSize:{type:[Object,Function]},resizeImage:{type:[Boolean,Object],default:!0},moveImage:{type:[Boolean,Object],default:!0},autoZoomAlgorithm:{type:Function},resizeAlgorithm:{type:Function,default:function(t){var e=t.event,i=t.coordinates,n=t.aspectRatio,o=t.positionRestrictions,s=t.sizeRestrictions,r=p(p({},i),{right:i.left+i.width,bottom:i.top+i.height}),a=e.params||{},h=p({},e.directions),c=a.allowedDirections||{left:!0,right:!0,bottom:!0,top:!0};s.widthFrozen&&(h.left=0,h.right=0),s.heightFrozen&&(h.top=0,h.bottom=0),j.forEach((function(t){c[t]||(h[t]=0)}));var l=V(r,h=St({coordinates:r,directions:h,sizeRestrictions:s,positionRestrictions:o})).width,u=V(r,h).height,d=a.preserveRatio?G(r):J(l/u,n);if(d){var m=a.respectDirection;if(m||(m=r.width>=r.height||1===d?"width":"height"),"width"===m){var g=l/d-r.height;if(c.top&&c.bottom){var f=h.top,v=h.bottom;h.bottom=Mt(g,v,f),h.top=Mt(g,f,v)}else c.bottom?h.bottom=g:c.top?h.top=g:c.right?h.right=0:c.left&&(h.left=0)}else if("height"===m){var b=r.width-u*d;if(c.left&&c.right){var w=h.left,y=h.right;h.left=-Mt(b,w,y),h.right=-Mt(b,y,w)}else c.left?h.left=-b:c.right?h.right=-b:c.top?h.top=0:c.bottom&&(h.bottom=0)}h=St({directions:h,coordinates:r,sizeRestrictions:s,positionRestrictions:o,preserveRatio:!0,compensate:a.compensate})}return l=V(r,h).width,u=V(r,h).height,(d=a.preserveRatio?G(r):J(l/u,n))&&Math.abs(d-l/u)>.001&&j.forEach((function(t){c[t]||(h[t]=0)})),dt({event:new E({left:-h.left,top:-h.top}),coordinates:{width:i.width+h.right+h.left,height:i.height+h.top+h.bottom,left:i.left,top:i.top},positionRestrictions:o})}},moveAlgorithm:{type:Function,default:dt},initStretcher:{type:Function,default:function(t){var e=t.stretcher,i=t.imageSize,n=G(i);e.style.width=i.width+"px",e.style.height=e.clientWidth/n+"px",e.style.width=e.clientWidth+"px"}},fitCoordinates:{type:Function,default:function(t){var e=t.visibleArea,i=t.coordinates,n=t.aspectRatio,o=t.sizeRestrictions,s=t.positionRestrictions,r=p(p({},i),ut({width:i.width,height:i.height,aspectRatio:n,sizeRestrictions:{maxWidth:e.width,maxHeight:e.height,minHeight:Math.min(e.height,o.minHeight),minWidth:Math.min(e.width,o.minWidth)}}));return r=ot(r=Z(r,Y(F(i),F(r))),ht(X(e),s))}},fitVisibleArea:{type:Function,default:function(t){var e=t.visibleArea,i=t.boundaries,n=t.getAreaRestrictions,o=t.coordinates,s=p({},e);s.height=s.width/G(i),s.top+=(e.height-s.height)/2,(o.height-s.height>0||o.width-s.width>0)&&(s=_(s,Math.max(o.height/s.height,o.width/s.width)));var r=q(K(o,X(s=_(s,nt(s,n({visibleArea:s,type:"resize"}))))));return s.width<o.width&&(r.left=0),s.height<o.height&&(r.top=0),s=ot(s=Z(s,r),n({visibleArea:s,type:"move"}))}},areaRestrictionsAlgorithm:{type:Function,default:function(t){var e=t.visibleArea,i=t.boundaries,n=t.imageSize,o=t.imageRestriction,s=t.type,r={};return"fill-area"===o?r={left:0,top:0,right:n.width,bottom:n.height}:"fit-area"===o&&(G(i)>G(n)?(r={top:0,bottom:n.height},e&&"move"===s&&(e.width>n.width?(r.left=-(e.width-n.width)/2,r.right=n.width-r.left):(r.left=0,r.right=n.width))):(r={left:0,right:n.width},e&&"move"===s&&(e.height>n.height?(r.top=-(e.height-n.height)/2,r.bottom=n.height-r.top):(r.top=0,r.bottom=n.height)))),r}},sizeRestrictionsAlgorithm:{type:Function,default:function(t){return{minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight}}},positionRestrictionsAlgorithm:{type:Function,default:function(t){var e=t.imageSize,i={};return"none"!==t.imageRestriction&&(i={left:0,top:0,right:e.width,bottom:e.height}),i}}},data:function(){return{transitionsActive:!1,imageLoaded:!1,imageAttributes:{width:null,height:null,crossOrigin:null,src:null},defaultImageTransforms:{rotate:0,flip:{horizontal:!1,vertical:!1}},appliedImageTransforms:{rotate:0,flip:{horizontal:!1,vertical:!1}},boundaries:{width:0,height:0},visibleArea:null,coordinates:i({},I)}},computed:{image:function(){return{src:this.imageAttributes.src,width:this.imageAttributes.width,height:this.imageAttributes.height,transforms:this.imageTransforms}},imageTransforms:function(){return{rotate:this.appliedImageTransforms.rotate,flip:{horizontal:this.appliedImageTransforms.flip.horizontal,vertical:this.appliedImageTransforms.flip.vertical},translateX:this.visibleArea?this.visibleArea.left/this.coefficient:0,translateY:this.visibleArea?this.visibleArea.top/this.coefficient:0,scaleX:1/this.coefficient,scaleY:1/this.coefficient}},imageSize:function(){var t=function(t){return t*Math.PI/180}(this.imageTransforms.rotate);return{width:Math.abs(this.imageAttributes.width*Math.cos(t))+Math.abs(this.imageAttributes.height*Math.sin(t)),height:Math.abs(this.imageAttributes.width*Math.sin(t))+Math.abs(this.imageAttributes.height*Math.cos(t))}},initialized:function(){return Boolean(this.visibleArea&&this.imageLoaded)},settings:function(){var t=z(this.resizeImage,{touch:!0,wheel:{ratio:.1},adjustStencil:!0},{touch:!1,wheel:!1,adjustStencil:!1});return{moveImage:z(this.moveImage,{touch:!0,mouse:!0},{touch:!1,mouse:!1}),resizeImage:t}},coefficient:function(){return this.visibleArea?this.visibleArea.width/this.boundaries.width:0},areaRestrictions:function(){return this.imageLoaded?this.areaRestrictionsAlgorithm({imageSize:this.imageSize,imageRestriction:this.imageRestriction,boundaries:this.boundaries}):{}},transitionsOptions:function(){return{enabled:this.transitionsActive,timingFunction:"ease-in-out",time:350}},sizeRestrictions:function(){if(this.boundaries.width&&this.boundaries.height&&this.imageSize.width&&this.imageSize.height){var t=this.sizeRestrictionsAlgorithm({imageSize:this.imageSize,minWidth:w(this.minWidth)?0:R(this.minWidth),minHeight:w(this.minHeight)?0:R(this.minHeight),maxWidth:w(this.maxWidth)?1/0:R(this.maxWidth),maxHeight:w(this.maxHeight)?1/0:R(this.maxHeight)});if(t=function(t){var e=t.areaRestrictions,i=t.sizeRestrictions;t.imageSize;var n=t.boundaries,o=t.positionRestrictions;t.imageRestriction;var s=p(p({},i),{minWidth:void 0!==i.minWidth?i.minWidth:0,minHeight:void 0!==i.minHeight?i.minHeight:0,maxWidth:void 0!==i.maxWidth?i.maxWidth:1/0,maxHeight:void 0!==i.maxHeight?i.maxHeight:1/0});void 0!==o.left&&void 0!==o.right&&(s.maxWidth=Math.min(s.maxWidth,o.right-o.left)),void 0!==o.bottom&&void 0!==o.top&&(s.maxHeight=Math.min(s.maxHeight,o.bottom-o.top));var r=st(e),a=tt(n,r);return r.width<1/0&&(!s.maxWidth||s.maxWidth>a.width)&&(s.maxWidth=Math.min(s.maxWidth,a.width)),r.height<1/0&&(!s.maxHeight||s.maxHeight>a.height)&&(s.maxHeight=Math.min(s.maxHeight,a.height)),s.minWidth>s.maxWidth&&(s.minWidth=s.maxWidth,s.widthFrozen=!0),s.minHeight>s.maxHeight&&(s.minHeight=s.maxHeight,s.heightFrozen=!0),s}({sizeRestrictions:t,areaRestrictions:this.getAreaRestrictions({visibleArea:this.visibleArea,type:"resize"}),imageSize:this.imageSize,boundaries:this.boundaries,positionRestrictions:this.positionRestrictions,imageRestriction:this.imageRestriction,visibleArea:this.visibleArea,stencilSize:this.getStencilSize()}),this.visibleArea&&this.stencilSize){var e=this.getStencilSize(),i=st(this.getAreaRestrictions({visibleArea:this.visibleArea,type:"resize"}));t.maxWidth=Math.min(t.maxWidth,i.width*e.width/this.boundaries.width),t.maxHeight=Math.min(t.maxHeight,i.height*e.height/this.boundaries.height),t.maxWidth<t.minWidth&&(t.minWidth=t.maxWidth),t.maxHeight<t.minHeight&&(t.minHeight=t.maxHeight)}return t}return{minWidth:0,minHeight:0,maxWidth:0,maxHeight:0}},positionRestrictions:function(){return this.positionRestrictionsAlgorithm({imageSize:this.imageSize,imageRestriction:this.imageRestriction})},classes:function(){return{cropper:ie(),image:l(ie("image"),this.imageClass),stencil:ie("stencil"),boundaries:l(ie("boundaries"),this.boundariesClass),stretcher:l(ie("stretcher")),background:l(ie("background"),this.backgroundClass),foreground:l(ie("foreground"),this.foregroundClass),imageWrapper:l(ie("image-wrapper")),cropperWrapper:l(ie("cropper-wrapper"))}},stencilCoordinates:function(){if(this.initialized){var t=this.coordinates,e=t.width,i=t.height,n=t.left,o=t.top;return{width:e/this.coefficient,height:i/this.coefficient,left:(n-this.visibleArea.left)/this.coefficient,top:(o-this.visibleArea.top)/this.coefficient}}return this.defaultCoordinates()},boundariesStyle:function(){var t={width:this.boundaries.width?"".concat(Math.round(this.boundaries.width),"px"):"auto",height:this.boundaries.height?"".concat(Math.round(this.boundaries.height),"px"):"auto",transition:"opacity ".concat(this.transitionTime,"ms"),pointerEvents:this.imageLoaded?"all":"none"};return this.imageLoaded||(t.opacity="0"),t},imageStyle:function(){var t=this.imageAttributes.width>this.imageAttributes.height?{width:Math.min(1024,this.imageAttributes.width),height:Math.min(1024,this.imageAttributes.width)/(this.imageAttributes.width/this.imageAttributes.height)}:{height:Math.min(1024,this.imageAttributes.height),width:Math.min(1024,this.imageAttributes.height)*(this.imageAttributes.width/this.imageAttributes.height)},e={left:(t.width-this.imageSize.width)/(2*this.coefficient),top:(t.height-this.imageSize.height)/(2*this.coefficient)},n={left:(1-1/this.coefficient)*t.width/2,top:(1-1/this.coefficient)*t.height/2},o=i(i({},this.imageTransforms),{},{scaleX:this.imageTransforms.scaleX*(this.imageAttributes.width/t.width),scaleY:this.imageTransforms.scaleY*(this.imageAttributes.height/t.height)}),s={width:"".concat(t.width,"px"),height:"".concat(t.height,"px"),left:"0px",top:"0px",transform:"translate(".concat(-e.left-n.left-this.imageTransforms.translateX,"px, ").concat(-e.top-n.top-this.imageTransforms.translateY,"px)")+Nt(o)};return this.transitionsOptions.enabled&&(s.transition="".concat(this.transitionsOptions.time,"ms ").concat(this.transitionsOptions.timingFunction)),s}},watch:{src:function(){this.onChangeImage()},stencilComponent:function(){var t=this;this.$nextTick((function(){t.resetCoordinates(),t.runAutoZoom("setCoordinates"),t.onChange()}))},minWidth:function(){this.onPropsChange()},maxWidth:function(){this.onPropsChange()},minHeight:function(){this.onPropsChange()},maxHeight:function(){this.onPropsChange()},imageRestriction:function(){this.reset()},stencilProps:function(t,e){["aspectRatio","minAspectRatio","maxAspectRatio"].find((function(i){return t[i]!==e[i]}))&&this.$nextTick(this.onPropsChange)}},created:function(){this.debouncedUpdate=m(this.update,this.debounce),this.debouncedDisableTransitions=m(this.disableTransitions,this.transitionsOptions.time),this.awaiting=!1},mounted:function(){this.$refs.image.addEventListener("load",this.onSuccessLoadImage),this.$refs.image.addEventListener("error",this.onFailLoadImage),this.onChangeImage(),window.addEventListener("resize",this.refresh),window.addEventListener("orientationchange",this.refresh)},unmounted:function(){window.removeEventListener("resize",this.refresh),window.removeEventListener("orientationchange",this.refresh),this.imageAttributes.revoke&&this.imageAttributes.src&&URL.revokeObjectURL(this.imageAttributes.src),this.debouncedUpdate.clear(),this.debouncedDisableTransitions.clear()},methods:{getResult:function(){var t=this.initialized?this.prepareResult(i({},this.coordinates)):this.defaultCoordinates(),e={rotate:this.imageTransforms.rotate%360,flip:i({},this.imageTransforms.flip)};if(this.src&&this.imageLoaded){var n=this;return{image:this.image,coordinates:t,visibleArea:this.visibleArea?i({},this.visibleArea):null,imageTransforms:e,get canvas(){return n.canvas?n.getCanvas():void 0}}}return{image:this.image,coordinates:t,visibleArea:this.visibleArea?i({},this.visibleArea):null,canvas:void 0,imageTransforms:e}},zoom:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.transitions,o=void 0===n||n;this.onManipulateImage(new M({},{factor:1/t,center:e}),{normalize:!1,transitions:o})},move:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.transitions,o=void 0===n||n;this.onManipulateImage(new M({left:t||0,top:e||0}),{normalize:!1,transitions:o})},setCoordinates:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.autoZoom,o=void 0===n||n,s=i.transitions,r=void 0===s||s;this.$nextTick((function(){e.imageLoaded?(e.transitionsActive||(r&&e.enableTransitions(),e.coordinates=e.applyTransform(t),o&&e.runAutoZoom("setCoordinates"),r&&e.debouncedDisableTransitions()),e.onChange()):e.delayedTransforms=t}))},refresh:function(){var t=this,e=this.$refs.image;if(this.src&&e)return this.initialized?this.updateVisibleArea().then((function(){t.onChange()})):this.resetVisibleArea().then((function(){t.onChange()}))},reset:function(){var t=this;return this.resetVisibleArea().then((function(){t.onChange(!1)}))},awaitRender:function(t){var e=this;this.awaiting||(this.awaiting=!0,this.$nextTick((function(){t(),e.awaiting=!1})))},prepareResult:function(t){return this.roundResult?function(t){var e=t.coordinates,i=t.sizeRestrictions,n=t.positionRestrictions,o={width:Math.round(e.width),height:Math.round(e.height),left:Math.round(e.left),top:Math.round(e.top)};return o.width>i.maxWidth?o.width=Math.floor(e.width):o.width<i.minWidth&&(o.width=Math.ceil(e.width)),o.height>i.maxHeight?o.height=Math.floor(e.height):o.height<i.minHeight&&(o.height=Math.ceil(e.height)),ot(o,n)}(i(i({},this.getPublicProperties()),{},{positionRestrictions:zt(this.positionRestrictions,this.visibleArea),coordinates:t})):t},processAutoZoom:function(t,e,n,o){var s=this.autoZoomAlgorithm;s||(s=this.stencilSize?pt:this.autoZoom?gt:ft);var r=s({event:{type:t,params:o},visibleArea:e,coordinates:n,boundaries:this.boundaries,aspectRatio:this.getAspectRatio(),positionRestrictions:this.positionRestrictions,getAreaRestrictions:this.getAreaRestrictions,sizeRestrictions:this.sizeRestrictions,stencilSize:this.getStencilSize()});return i(i({},r),{},{changed:!N(r.visibleArea,e)||!N(r.coordinates,n)})},runAutoZoom:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.transitions,n=void 0!==i&&i,s=o(e,ee),r=this.processAutoZoom(t,this.visibleArea,this.coordinates,s),a=r.visibleArea,h=r.coordinates,c=r.changed;n&&c&&this.enableTransitions(),this.visibleArea=a,this.coordinates=h,n&&c&&this.debouncedDisableTransitions()},normalizeEvent:function(t){return function(t){var e=t.event,i=t.visibleArea,n=t.coefficient;if("manipulateImage"===e.type)return p(p({},e),{move:{left:e.move&&e.move.left?n*e.move.left:0,top:e.move&&e.move.top?n*e.move.top:0},scale:{factor:e.scale&&e.scale.factor?e.scale.factor:1,center:e.scale&&e.scale.center?{left:e.scale.center.left*n+i.left,top:e.scale.center.top*n+i.top}:null}});if("resize"===e.type){var o=p(p({},e),{directions:p({},e.directions)});return j.forEach((function(t){o.directions[t]*=n})),o}if("move"===e.type){var s=p(p({},e),{directions:p({},e.directions)});return P.forEach((function(t){s.directions[t]*=n})),s}return e}(i(i({},this.getPublicProperties()),{},{event:t}))},getCanvas:function(){if(this.$refs.canvas){var t=this.$refs.canvas,e=this.$refs.image,n=0!==this.imageTransforms.rotate||this.imageTransforms.flip.horizontal||this.imageTransforms.flip.vertical?function(t,e,i){var n=i.rotate,o=i.flip,s={width:e.naturalWidth,height:e.naturalHeight},r=et(s,n),a=t.getContext("2d");t.height=r.height,t.width=r.width,a.save();var h=it(F(p({left:0,top:0},s)),n);return a.translate(-(h.left-r.width/2),-(h.top-r.height/2)),a.rotate(n*Math.PI/180),a.translate(o.horizontal?s.width:0,o.vertical?s.height:0),a.scale(o.horizontal?-1:1,o.vertical?-1:1),a.drawImage(e,0,0,s.width,s.height),a.restore(),t}(this.$refs.sourceCanvas,e,this.imageTransforms):e,o=i({minWidth:0,minHeight:0,maxWidth:1/0,maxHeight:1/0,maxArea:this.maxCanvasSize,imageSmoothingEnabled:!0,imageSmoothingQuality:"high",fillColor:"transparent"},this.canvas),s=function(t){return t.find((function(t){return e=t,!Number.isNaN(parseFloat(e))&&isFinite(e);var e}))},r=ut({sizeRestrictions:{minWidth:s([o.width,o.minWidth])||0,minHeight:s([o.height,o.minHeight])||0,maxWidth:s([o.width,o.maxWidth])||1/0,maxHeight:s([o.height,o.maxHeight])||1/0},width:this.coordinates.width,height:this.coordinates.height,aspectRatio:{minimum:this.coordinates.width/this.coordinates.height,maximum:this.coordinates.width/this.coordinates.height}});if(o.maxArea&&r.width*r.height>o.maxArea){var a=Math.sqrt(o.maxArea/(r.width*r.height));r={width:Math.round(a*r.width),height:Math.round(a*r.height)}}return function(t,e,i,n,o){t.width=n?n.width:i.width,t.height=n?n.height:i.height;var s=t.getContext("2d");s.clearRect(0,0,t.width,t.height),o&&(o.imageSmoothingEnabled&&(s.imageSmoothingEnabled=o.imageSmoothingEnabled),o.imageSmoothingQuality&&(s.imageSmoothingQuality=o.imageSmoothingQuality),o.fillColor&&(s.fillStyle=o.fillColor,s.fillRect(0,0,t.width,t.height),s.save()));var r=i.left<0?-i.left:0,a=i.top<0?-i.top:0;s.drawImage(e,i.left+r,i.top+a,i.width,i.height,r*(t.width/i.width),a*(t.height/i.height),t.width,t.height)}(t,n,this.coordinates,r,o),t}},update:function(){this.$emit("change",this.getResult())},applyTransform:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.visibleArea&&e?rt(this.sizeRestrictions,this.visibleArea):this.sizeRestrictions,n=this.visibleArea&&e?zt(this.positionRestrictions,this.visibleArea):this.positionRestrictions;return mt({transform:t,coordinates:this.coordinates,imageSize:this.imageSize,sizeRestrictions:i,positionRestrictions:n,aspectRatio:this.getAspectRatio(),visibleArea:this.visibleArea})},resetCoordinates:function(){var t=this;if(this.$refs.image){this.$refs.cropper,this.$refs.image;var e=this.defaultSize;e||(e=this.stencilSize?wt:bt);var n=this.sizeRestrictions;n.minWidth,n.minHeight,n.maxWidth,n.maxHeight;var o=b(e)?e({boundaries:this.boundaries,imageSize:this.imageSize,aspectRatio:this.getAspectRatio(),sizeRestrictions:this.sizeRestrictions,stencilSize:this.getStencilSize(),visibleArea:this.visibleArea}):e,r=this.defaultPosition||vt,a=[o,function(e){var n=e.coordinates;return i({},b(r)?r({coordinates:n,imageSize:t.imageSize,visibleArea:t.visibleArea}):t.defaultPosition)}];this.delayedTransforms&&a.push.apply(a,s(Array.isArray(this.delayedTransforms)?this.delayedTransforms:[this.delayedTransforms])),this.coordinates=this.applyTransform(a,!0),this.delayedTransforms=null}},clearImage:function(){var t=this;this.imageLoaded=!1,setTimeout((function(){var e=t.$refs.stretcher;e&&(e.style.height="auto",e.style.width="auto"),t.coordinates=t.defaultCoordinates(),t.boundaries={width:0,height:0}}),this.transitionTime)},enableTransitions:function(){this.transitions&&(this.transitionsActive=!0)},disableTransitions:function(){this.transitionsActive=!1},updateBoundaries:function(){var t=this,e=this.$refs.stretcher,i=this.$refs.cropper;return this.initStretcher({cropper:i,stretcher:e,imageSize:this.imageSize}),this.$nextTick().then((function(){var e={cropper:i,imageSize:t.imageSize};if(b(t.defaultBoundaries)?t.boundaries=t.defaultBoundaries(e):"fit"===t.defaultBoundaries?t.boundaries=function(t){var e=t.cropper,i=t.imageSize,n=e.clientHeight,o=e.clientWidth,s=n,r=i.width*n/i.height;return r>o&&(r=o,s=i.height*o/i.width),{width:r,height:s}}(e):t.boundaries=function(t){var e=t.cropper;return{width:e.clientWidth,height:e.clientHeight}}(e),!t.boundaries.width||!t.boundaries.height)throw new Error("It's impossible to fit the cropper in the current container")}))},resetVisibleArea:function(){var t=this;return this.appliedImageTransforms=i(i({},this.defaultImageTransforms),{},{flip:i({},this.defaultImageTransforms.flip)}),this.updateBoundaries().then((function(){"visible-area"!==t.priority&&(t.visibleArea=null,t.resetCoordinates());var e,i,n,o,s,r,a=t.defaultVisibleArea||yt;t.visibleArea=b(a)?a({imageSize:t.imageSize,boundaries:t.boundaries,coordinates:"visible-area"!==t.priority?t.coordinates:null,getAreaRestrictions:t.getAreaRestrictions,stencilSize:t.getStencilSize()}):t.defaultVisibleArea,t.visibleArea=(e={visibleArea:t.visibleArea,boundaries:t.boundaries,getAreaRestrictions:t.getAreaRestrictions},i=e.visibleArea,n=e.boundaries,o=e.getAreaRestrictions,s=p({},i),r=G(n),s.width/s.height!==r&&(s.height=s.width/r),ot(s,o({visibleArea:s,type:"move"}))),"visible-area"===t.priority?t.resetCoordinates():t.coordinates=t.fitCoordinates({visibleArea:t.visibleArea,coordinates:t.coordinates,aspectRatio:t.getAspectRatio(),positionRestrictions:t.positionRestrictions,sizeRestrictions:t.sizeRestrictions}),t.runAutoZoom("resetVisibleArea")})).catch((function(){t.visibleArea=null}))},updateVisibleArea:function(){var t=this;return this.updateBoundaries().then((function(){t.visibleArea=t.fitVisibleArea({imageSize:t.imageSize,boundaries:t.boundaries,visibleArea:t.visibleArea,coordinates:t.coordinates,getAreaRestrictions:t.getAreaRestrictions}),t.coordinates=t.fitCoordinates({visibleArea:t.visibleArea,coordinates:t.coordinates,aspectRatio:t.getAspectRatio(),positionRestrictions:t.positionRestrictions,sizeRestrictions:t.sizeRestrictions}),t.runAutoZoom("updateVisibleArea")})).catch((function(){t.visibleArea=null}))},onChange:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];t&&this.debounce?this.debouncedUpdate():this.update()},onChangeImage:function(){var t,e=this;if(this.imageLoaded=!1,this.delayedTransforms=null,this.src){if(function(t){if(v(t))return!1;var e=window.location,i=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(t)||[],n={protocol:i[1]||"",host:i[2]||"",port:i[3]||""},o=function(t){return t.port||("http"===(t.protocol||e.protocol)?80:433)};return!(!n.protocol&&!n.host&&!n.port||Boolean(n.protocol&&n.protocol==e.protocol&&n.host&&n.host==e.host&&n.host&&o(n)==o(e)))}(this.src)){var i=w(this.crossOrigin)?this.canvas:this.crossOrigin;!0===i&&(i="anonymous"),this.imageAttributes.crossOrigin=i||null}if(this.checkOrientation){var n=(t=this.src,new Promise((function(e){It(t).then((function(i){var n=Xt(i);e(i?{source:t,arrayBuffer:i,orientation:n}:{source:t,arrayBuffer:null,orientation:null})})).catch((function(i){console.warn(i),e({source:t,arrayBuffer:null,orientation:null})}))})));setTimeout((function(){n.then(e.onParseImage)}),this.transitionTime)}else setTimeout((function(){e.onParseImage({source:e.src})}),this.transitionTime)}else this.clearImage()},onFailLoadImage:function(){this.imageAttributes.src&&(this.clearImage(),this.$emit("error"))},onSuccessLoadImage:function(){var t=this,e=this.$refs.image;e&&!this.imageLoaded&&(this.imageAttributes.height=e.naturalHeight,this.imageAttributes.width=e.naturalWidth,this.imageLoaded=!0,this.resetVisibleArea().then((function(){t.$emit("ready"),t.onChange(!1)})))},onParseImage:function(t){var e=this,n=t.source,o=t.arrayBuffer,s=t.orientation;this.imageAttributes.revoke&&this.imageAttributes.src&&URL.revokeObjectURL(this.imageAttributes.src),this.imageAttributes.revoke=!1,o&&s&&s>1?f(n)||!v(n)?(this.imageAttributes.src=URL.createObjectURL(new Blob([o])),this.imageAttributes.revoke=!0):this.imageAttributes.src=function(t){for(var e=[],i=new Uint8Array(t);i.length>0;){var n=i.subarray(0,8192);e.push(String.fromCharCode.apply(null,Array.from?Array.from(n):n.slice())),i=i.subarray(8192)}return"data:image/jpeg;base64,"+btoa(e.join(""))}(o):this.imageAttributes.src=n,b(this.defaultTransforms)?this.appliedImageTransforms=$t(this.defaultTransforms()):y(this.defaultTransforms)?this.appliedImageTransforms=$t(this.defaultTransforms):this.appliedImageTransforms=function(t){var e=$t({});if(t)switch(t){case 2:e.flip.horizontal=!0;break;case 3:e.rotate=-180;break;case 4:e.flip.vertical=!0;break;case 5:e.rotate=90,e.flip.vertical=!0;break;case 6:e.rotate=90;break;case 7:e.rotate=90,e.flip.horizontal=!0;break;case 8:e.rotate=-90}return e}(s),this.defaultImageTransforms=i(i({},this.appliedImageTransforms),{},{flip:i({},this.appliedImageTransforms.flip)}),this.$nextTick((function(){var t=e.$refs.image;t&&t.complete&&(!function(t){return Boolean(t.naturalWidth)}(t)?e.onFailLoadImage():e.onSuccessLoadImage())}))},onResizeEnd:function(){this.runAutoZoom("resize",{transitions:!0})},onMoveEnd:function(){this.runAutoZoom("move",{transitions:!0})},onMove:function(t){var e=this;this.transitionsOptions.enabled||this.awaitRender((function(){e.coordinates=e.moveAlgorithm(i(i({},e.getPublicProperties()),{},{positionRestrictions:zt(e.positionRestrictions,e.visibleArea),coordinates:e.coordinates,event:e.normalizeEvent(t)})),e.onChange()}))},onResize:function(t){var e=this;this.transitionsOptions.enabled||this.stencilSize&&!this.autoZoom||this.awaitRender((function(){var n=e.sizeRestrictions,o=Math.min(e.coordinates.width,e.coordinates.height,20*e.coefficient);e.coordinates=e.resizeAlgorithm(i(i({},e.getPublicProperties()),{},{positionRestrictions:zt(e.positionRestrictions,e.visibleArea),sizeRestrictions:{maxWidth:Math.min(n.maxWidth,e.visibleArea.width),maxHeight:Math.min(n.maxHeight,e.visibleArea.height),minWidth:Math.max(n.minWidth,o),minHeight:Math.max(n.minHeight,o)},event:e.normalizeEvent(t)})),e.onChange(),e.ticking=!1}))},onManipulateImage:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.transitionsOptions.enabled){var n=e.transitions,o=void 0!==n&&n,s=e.normalize,r=void 0===s||s;o&&this.enableTransitions();var a=Rt(i(i({},this.getPublicProperties()),{},{event:r?this.normalizeEvent(t):t,getAreaRestrictions:this.getAreaRestrictions,imageRestriction:this.imageRestriction,adjustStencil:!this.stencilSize&&this.settings.resizeImage.adjustStencil})),h=a.visibleArea,c=a.coordinates;this.visibleArea=h,this.coordinates=c,this.runAutoZoom("manipulateImage"),this.onChange(),o&&this.debouncedDisableTransitions()}},onPropsChange:function(){this.coordinates=this.applyTransform(this.coordinates,!0),this.onChange(!1)},getAreaRestrictions:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.visibleArea,i=t.type,n=void 0===i?"move":i;return this.areaRestrictionsAlgorithm({boundaries:this.boundaries,imageSize:this.imageSize,imageRestriction:this.imageRestriction,visibleArea:e,type:n})},getAspectRatio:function(t){var e,i,n=this.stencilProps,o=n.aspectRatio,s=n.minAspectRatio,r=n.maxAspectRatio;if(this.$refs.stencil&&this.$refs.stencil.aspectRatios){var a=this.$refs.stencil.aspectRatios();e=a.minimum,i=a.maximum}if(w(e)&&(e=w(o)?s:o),w(i)&&(i=w(o)?r:o),!t&&(w(e)||w(i))){var h=this.getStencilSize(),c=h?G(h):null;w(e)&&(e=A(c)?c:void 0),w(i)&&(i=A(c)?c:void 0)}return{minimum:e,maximum:i}},getStencilSize:function(){if(this.stencilSize)return t={currentStencilSize:{width:this.stencilCoordinates.width,height:this.stencilCoordinates.height},stencilSize:this.stencilSize,boundaries:this.boundaries,coefficient:this.coefficient,coordinates:this.coordinates,aspectRatio:this.getAspectRatio(!0)},e=t.boundaries,i=t.stencilSize,n=t.aspectRatio,J(G(o=b(i)?i({boundaries:e,aspectRatio:n}):i),n)&&(o=ut({sizeRestrictions:{maxWidth:e.width,maxHeight:e.height,minWidth:0,minHeight:0},width:o.width,height:o.height,aspectRatio:{minimum:n.minimum,maximum:n.maximum}})),(o.width>e.width||o.height>e.height)&&(o=ut({sizeRestrictions:{maxWidth:e.width,maxHeight:e.height,minWidth:0,minHeight:0},width:o.width,height:o.height,aspectRatio:{minimum:G(o),maximum:G(o)}})),o;var t,e,i,n,o},getPublicProperties:function(){return{coefficient:this.coefficient,visibleArea:this.visibleArea,coordinates:this.coordinates,boundaries:this.boundaries,sizeRestrictions:this.sizeRestrictions,positionRestrictions:this.positionRestrictions,aspectRatio:this.getAspectRatio(),imageRestriction:this.imageRestriction}},defaultCoordinates:function(){return i({},I)},flip:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.transitions,s=void 0===o||o;if(!this.transitionsActive){s&&this.enableTransitions();var r=i({},this.imageTransforms.flip),a=xt({flip:{horizontal:t?!r.horizontal:r.horizontal,vertical:e?!r.vertical:r.vertical},previousFlip:r,rotate:this.imageTransforms.rotate,visibleArea:this.visibleArea,coordinates:this.coordinates,imageSize:this.imageSize,positionRestrictions:this.positionRestrictions,sizeRestrictions:this.sizeRestrictions,getAreaRestrictions:this.getAreaRestrictions,aspectRatio:this.getAspectRatio()}),h=a.visibleArea,c=a.coordinates;t&&(this.appliedImageTransforms.flip.horizontal=!this.appliedImageTransforms.flip.horizontal),e&&(this.appliedImageTransforms.flip.vertical=!this.appliedImageTransforms.flip.vertical),this.visibleArea=h,this.coordinates=c,this.onChange(),s&&this.debouncedDisableTransitions()}},rotate:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.transitions,o=void 0===n||n;if(!this.transitionsActive){o&&this.enableTransitions();var s=i({},this.imageSize);this.appliedImageTransforms.rotate+=t;var r=At({visibleArea:this.visibleArea,coordinates:this.coordinates,previousImageSize:s,imageSize:this.imageSize,angle:t,positionRestrictions:this.positionRestrictions,sizeRestrictions:this.sizeRestrictions,getAreaRestrictions:this.getAreaRestrictions,aspectRatio:this.getAspectRatio()}),a=r.visibleArea,h=r.coordinates,c=this.processAutoZoom("rotateImage",a,h);a=c.visibleArea,h=c.coordinates,this.visibleArea=a,this.coordinates=h,this.onChange(),o&&this.debouncedDisableTransitions()}}},emits:["change","error","ready"]},oe={key:0,ref:"canvas",style:{display:"none"}},se={key:1,ref:"sourceCanvas",style:{display:"none"}};ne.render=function(e,i,n,o,s,r){return t.openBlock(),t.createBlock("div",{ref:"cropper",class:r.classes.cropper},[t.createVNode("div",{ref:"stretcher",class:r.classes.stretcher},null,2),t.createVNode("div",{class:r.classes.boundaries,style:r.boundariesStyle},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.backgroundWrapperComponent),{class:r.classes.cropperWrapper,"wheel-resize":r.settings.resizeImage.wheel,"touch-resize":r.settings.resizeImage.touch,"touch-move":r.settings.moveImage.touch,"mouse-move":r.settings.moveImage.mouse,onMove:r.onManipulateImage,onResize:r.onManipulateImage},{default:t.withCtx((function(){return[t.createVNode("div",{class:r.classes.background,style:r.boundariesStyle},null,6),t.createVNode("div",{class:r.classes.imageWrapper},[t.createVNode("img",{ref:"image",crossorigin:s.imageAttributes.crossOrigin,src:s.imageAttributes.src,class:r.classes.image,style:r.imageStyle,onMousedown:i[1]||(i[1]=t.withModifiers((function(){}),["prevent"]))},null,46,["crossorigin","src"])],2),t.createVNode("div",{class:r.classes.foreground,style:r.boundariesStyle},null,6),t.withDirectives((t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.stencilComponent),t.mergeProps({ref:"stencil",image:r.image,coordinates:s.coordinates,"stencil-coordinates":r.stencilCoordinates,transitions:r.transitionsOptions},n.stencilProps,{onResize:r.onResize,onResizeEnd:r.onResizeEnd,onMove:r.onMove,onMoveEnd:r.onMoveEnd}),null,16,["image","coordinates","stencil-coordinates","transitions","onResize","onResizeEnd","onMove","onMoveEnd"])),[[t.vShow,s.imageLoaded]]),n.canvas?(t.openBlock(),t.createBlock("canvas",oe,null,512)):t.createCommentVNode("",!0),n.canvas?(t.openBlock(),t.createBlock("canvas",se,null,512)):t.createCommentVNode("",!0)]})),_:1},8,["class","wheel-resize","touch-resize","touch-move","mouse-move","onMove","onResize"]))],6)],2)},exports.BackgroundWrapper=qt,exports.BoundingBox=kt,exports.CircleStencil=te,exports.Cropper=ne,exports.DragEvent=W,exports.DraggableArea=Pt,exports.DraggableElement=T,exports.HandlerWrapper=O,exports.LineWrapper=H,exports.MoveEvent=E,exports.Preview=_t,exports.PreviewResult=Ft,exports.RectangleStencil=Kt,exports.ResizeEvent=C,exports.SimpleHandler=Wt,exports.SimpleLine=Ot,exports.StencilPreview=Gt,exports.TransformableImage=Vt; diff --git a/.output/server/node_modules/vue-advanced-cropper/node_modules/vue b/.output/server/node_modules/vue-advanced-cropper/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/vue-advanced-cropper/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/vue-advanced-cropper/package.json b/.output/server/node_modules/vue-advanced-cropper/package.json new file mode 100644 index 00000000..b3fce1a1 --- /dev/null +++ b/.output/server/node_modules/vue-advanced-cropper/package.json @@ -0,0 +1,108 @@ +{ + "name": "vue-advanced-cropper", + "version": "2.8.9", + "description": "The advanced library to create your own croppers suited for any website design", + "author": "Norserium", + "license": "MIT", + "repository": "advanced-cropper/vue-advanced-cropper", + "main": "dist/index.cjs.js", + "unpkg": "dist/index.global.js", + "jsdelivr": "dist/index.global.js", + "module": "dist/index.esm-bundler.js", + "types": "types/index.d.ts", + "keywords": [ + "vue", + "cropper", + "library", + "advanced", + "lightweight", + "customizable", + "flex" + ], + "engines": { + "node": ">=8", + "npm": ">=5" + }, + "scripts": { + "build": "cross-env NODE_ENV=production rollup -c && node build/build.js", + "start": "cross-env NODE_ENV=build rollup -c -w", + "prepare": "npm run build", + "predeploy": "cd example && npm install && npm run build", + "deploy": "gh-pages -d example/docs/.vuepress/dist", + "test": "cross-env NODE_ENV=test jest", + "lint": "eslint src/**/*.{js,vue}", + "lint:fix": "eslint --fix src/**/*.{js,vue}" + }, + "peerDependencies": { + "vue": "^3.0.0" + }, + "devDependencies": { + "@babel/core": "^7.11.6", + "@babel/plugin-external-helpers": "^7.10.4", + "@rollup/plugin-babel": "^5.0.4", + "@rollup/plugin-commonjs": "^13.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.3.3", + "@rollup/plugin-typescript": "^6.1.0", + "@rollup/plugin-url": "^5.0.1", + "@types/jest": "^26.0.15", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^4.6.0", + "@vue/babel-preset-app": "^3.12.1", + "@vue/compiler-sfc": "~3.1.5", + "autoprefixer": "^9.8.6", + "babel-eslint": "^9.0.0", + "babel-jest": "^24.9.0", + "babel-preset-env": "^1.7.0", + "babel-preset-stage-0": "^6.24.1", + "cross-env": "^5.2.1", + "eslint": "^5.16.0", + "eslint-config-prettier": "^6.11.0", + "eslint-config-standard": "^11.0.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-prettier": "^3.1.4", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^3.1.0", + "eslint-plugin-vue": "^5.2.3", + "eslint-plugin-vue-libs": "^4.0.0", + "gh-pages": "^1.2.0", + "husky": "^3.1.0", + "jest": "^26.6.1", + "jest-expect-message": "^1.0.2", + "lint-staged": "^9.5.0", + "prettier": "^2.1.2", + "rollup": "^2.26.10", + "rollup-plugin-peer-deps-external": "^2.2.3", + "rollup-plugin-scss": "^3.0.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-visualizer": "^1.1.1", + "rollup-plugin-vue": "^6.0.0", + "sass": "^1.26.10", + "sass-loader": "^7.3.1", + "ts-jest": "^26.4.3", + "typescript": "^4.0.5", + "vue": "~3.1.5" + }, + "dependencies": { + "classnames": "^2.2.6", + "debounce": "^1.2.0", + "easy-bem": "^1.0.2" + }, + "files": [ + "dist", + "types/index.d.ts" + ], + "lint-staged": { + "*.{js,vue,ts}": [ + "prettier --write", + "eslint", + "git add" + ] + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs b/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs new file mode 100644 index 00000000..0af013fa --- /dev/null +++ b/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs @@ -0,0 +1,301 @@ +import { withLeadingSlash } from 'ufo'; + +function createRendererContext({ manifest, precomputed, buildAssetsURL }) { + if (!manifest && !precomputed) { + throw new Error("Either manifest or precomputed data must be provided"); + } + const ctx = { + // Options + buildAssetsURL: buildAssetsURL || withLeadingSlash, + manifest, + precomputed, + updateManifest, + // Internal cache + _dependencies: {}, + _dependencySets: {}, + _entrypoints: [] + }; + function updateManifest(manifest2) { + const manifestEntries = Object.entries(manifest2); + ctx.manifest = manifest2; + ctx._dependencies = {}; + ctx._dependencySets = {}; + ctx._entrypoints = manifestEntries.filter((e) => e[1].isEntry).map(([module]) => module); + } + if (precomputed) { + ctx._dependencies = precomputed.dependencies; + ctx._entrypoints = precomputed.entrypoints; + } else if (manifest) { + updateManifest(manifest); + } + return ctx; +} +function getModuleDependencies(id, rendererContext) { + if (rendererContext._dependencies[id]) { + return rendererContext._dependencies[id]; + } + const dependencies = rendererContext._dependencies[id] = { + scripts: {}, + styles: {}, + preload: {}, + prefetch: {} + }; + if (!rendererContext.manifest) { + return dependencies; + } + const meta = rendererContext.manifest[id]; + if (!meta) { + return dependencies; + } + if (meta.file) { + dependencies.preload[id] = meta; + if (meta.isEntry || meta.sideEffects) { + dependencies.scripts[id] = meta; + } + } + for (const css of meta.css || []) { + dependencies.styles[css] = dependencies.preload[css] = dependencies.prefetch[css] = rendererContext.manifest[css]; + } + for (const asset of meta.assets || []) { + dependencies.preload[asset] = dependencies.prefetch[asset] = rendererContext.manifest[asset]; + } + for (const depId of meta.imports || []) { + const depDeps = getModuleDependencies(depId, rendererContext); + for (const key in depDeps.styles) { + dependencies.styles[key] = depDeps.styles[key]; + } + for (const key in depDeps.preload) { + dependencies.preload[key] = depDeps.preload[key]; + } + for (const key in depDeps.prefetch) { + dependencies.prefetch[key] = depDeps.prefetch[key]; + } + } + const filteredPreload = {}; + for (const id2 in dependencies.preload) { + const dep = dependencies.preload[id2]; + if (dep.preload) { + filteredPreload[id2] = dep; + } + } + dependencies.preload = filteredPreload; + return dependencies; +} +function getAllDependencies(ids, rendererContext) { + let cacheKey = ""; + const sortedIds = [...ids].sort(); + for (let i = 0; i < sortedIds.length; i++) { + if (i > 0) cacheKey += ","; + cacheKey += sortedIds[i]; + } + if (rendererContext._dependencySets[cacheKey]) { + return rendererContext._dependencySets[cacheKey]; + } + const allDeps = { + scripts: {}, + styles: {}, + preload: {}, + prefetch: {} + }; + for (const id of ids) { + const deps = getModuleDependencies(id, rendererContext); + for (const key in deps.scripts) { + allDeps.scripts[key] = deps.scripts[key]; + } + for (const key in deps.styles) { + allDeps.styles[key] = deps.styles[key]; + } + for (const key in deps.preload) { + allDeps.preload[key] = deps.preload[key]; + } + for (const key in deps.prefetch) { + allDeps.prefetch[key] = deps.prefetch[key]; + } + for (const dynamicDepId of rendererContext.manifest?.[id]?.dynamicImports || []) { + const dynamicDeps = getModuleDependencies(dynamicDepId, rendererContext); + for (const key in dynamicDeps.scripts) { + allDeps.prefetch[key] = dynamicDeps.scripts[key]; + } + for (const key in dynamicDeps.styles) { + allDeps.prefetch[key] = dynamicDeps.styles[key]; + } + for (const key in dynamicDeps.preload) { + allDeps.prefetch[key] = dynamicDeps.preload[key]; + } + } + } + const filteredPrefetch = {}; + for (const id in allDeps.prefetch) { + const dep = allDeps.prefetch[id]; + if (dep.prefetch) { + filteredPrefetch[id] = dep; + } + } + allDeps.prefetch = filteredPrefetch; + for (const id in allDeps.preload) { + delete allDeps.prefetch[id]; + } + for (const style in allDeps.styles) { + delete allDeps.preload[style]; + delete allDeps.prefetch[style]; + } + rendererContext._dependencySets[cacheKey] = allDeps; + return allDeps; +} +function getRequestDependencies(ssrContext, rendererContext) { + if (ssrContext._requestDependencies) { + return ssrContext._requestDependencies; + } + const ids = new Set(Array.from([ + ...rendererContext._entrypoints, + ...ssrContext.modules || ssrContext._registeredComponents || [] + ])); + const deps = getAllDependencies(ids, rendererContext); + ssrContext._requestDependencies = deps; + return deps; +} +function renderStyles(ssrContext, rendererContext) { + const { styles } = getRequestDependencies(ssrContext, rendererContext); + let result = ""; + for (const key in styles) { + const resource = styles[key]; + result += `<link rel="stylesheet" href="${rendererContext.buildAssetsURL(resource.file)}" crossorigin>`; + } + return result; +} +function getResources(ssrContext, rendererContext) { + return [...getPreloadLinks(ssrContext, rendererContext), ...getPrefetchLinks(ssrContext, rendererContext)]; +} +function renderResourceHints(ssrContext, rendererContext) { + const { preload, prefetch } = getRequestDependencies(ssrContext, rendererContext); + let result = ""; + for (const key in preload) { + const resource = preload[key]; + const href = rendererContext.buildAssetsURL(resource.file); + const rel = resource.module ? "modulepreload" : "preload"; + const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; + if (resource.resourceType && resource.mimeType) { + result += `<link rel="${rel}" as="${resource.resourceType}" type="${resource.mimeType}"${crossorigin} href="${href}">`; + } else if (resource.resourceType) { + result += `<link rel="${rel}" as="${resource.resourceType}"${crossorigin} href="${href}">`; + } else { + result += `<link rel="${rel}"${crossorigin} href="${href}">`; + } + } + for (const key in prefetch) { + const resource = prefetch[key]; + const href = rendererContext.buildAssetsURL(resource.file); + const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; + if (resource.resourceType && resource.mimeType) { + result += `<link rel="prefetch" as="${resource.resourceType}" type="${resource.mimeType}"${crossorigin} href="${href}">`; + } else if (resource.resourceType) { + result += `<link rel="prefetch" as="${resource.resourceType}"${crossorigin} href="${href}">`; + } else { + result += `<link rel="prefetch"${crossorigin} href="${href}">`; + } + } + return result; +} +function renderResourceHeaders(ssrContext, rendererContext) { + const { preload, prefetch } = getRequestDependencies(ssrContext, rendererContext); + const links = []; + for (const key in preload) { + const resource = preload[key]; + const href = rendererContext.buildAssetsURL(resource.file); + const rel = resource.module ? "modulepreload" : "preload"; + let header = `<${href}>; rel="${rel}"`; + if (resource.resourceType) { + header += `; as="${resource.resourceType}"`; + } + if (resource.mimeType) { + header += `; type="${resource.mimeType}"`; + } + if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) { + header += "; crossorigin"; + } + links.push(header); + } + for (const key in prefetch) { + const resource = prefetch[key]; + const href = rendererContext.buildAssetsURL(resource.file); + let header = `<${href}>; rel="prefetch"`; + if (resource.resourceType) { + header += `; as="${resource.resourceType}"`; + } + if (resource.mimeType) { + header += `; type="${resource.mimeType}"`; + } + if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) { + header += "; crossorigin"; + } + links.push(header); + } + return { + link: links.join(", ") + }; +} +function getPreloadLinks(ssrContext, rendererContext) { + const { preload } = getRequestDependencies(ssrContext, rendererContext); + const result = []; + for (const key in preload) { + const resource = preload[key]; + result.push({ + rel: resource.module ? "modulepreload" : "preload", + as: resource.resourceType, + type: resource.mimeType ?? null, + crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, + href: rendererContext.buildAssetsURL(resource.file) + }); + } + return result; +} +function getPrefetchLinks(ssrContext, rendererContext) { + const { prefetch } = getRequestDependencies(ssrContext, rendererContext); + const result = []; + for (const key in prefetch) { + const resource = prefetch[key]; + result.push({ + rel: "prefetch", + as: resource.resourceType, + type: resource.mimeType ?? null, + crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, + href: rendererContext.buildAssetsURL(resource.file) + }); + } + return result; +} +function renderScripts(ssrContext, rendererContext) { + const { scripts } = getRequestDependencies(ssrContext, rendererContext); + let result = ""; + for (const key in scripts) { + const resource = scripts[key]; + if (resource.module) { + result += `<script type="module" src="${rendererContext.buildAssetsURL(resource.file)}" crossorigin><\/script>`; + } else { + result += `<script src="${rendererContext.buildAssetsURL(resource.file)}" defer crossorigin><\/script>`; + } + } + return result; +} +function createRenderer(createApp, renderOptions) { + const rendererContext = createRendererContext(renderOptions); + return { + rendererContext, + async renderToString(ssrContext) { + ssrContext._registeredComponents = ssrContext._registeredComponents || /* @__PURE__ */ new Set(); + const _createApp = await Promise.resolve(createApp).then((r) => "default" in r ? r.default : r); + const app = await _createApp(ssrContext); + const html = await renderOptions.renderToString(app, ssrContext); + const wrap = (fn) => () => fn(ssrContext, rendererContext); + return { + html, + renderResourceHeaders: wrap(renderResourceHeaders), + renderResourceHints: wrap(renderResourceHints), + renderStyles: wrap(renderStyles), + renderScripts: wrap(renderScripts) + }; + } + }; +} + +export { createRenderer, createRendererContext, getAllDependencies, getModuleDependencies, getPrefetchLinks, getPreloadLinks, getRequestDependencies, getResources, renderResourceHeaders, renderResourceHints, renderScripts, renderStyles }; diff --git a/.output/server/node_modules/vue-bundle-renderer/package.json b/.output/server/node_modules/vue-bundle-renderer/package.json new file mode 100644 index 00000000..0d550d79 --- /dev/null +++ b/.output/server/node_modules/vue-bundle-renderer/package.json @@ -0,0 +1,55 @@ +{ + "name": "vue-bundle-renderer", + "version": "2.2.0", + "description": "Bundle Renderer for Vue 3.0", + "repository": "nuxt-contrib/vue-bundle-renderer", + "license": "MIT", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./runtime": { + "types": "./dist/runtime.d.ts", + "import": "./dist/runtime.mjs", + "require": "./dist/runtime.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "runtime.d.ts" + ], + "scripts": { + "build": "unbuild", + "dev": "vitest", + "lint": "eslint src", + "prepack": "unbuild", + "test": "pnpm lint && pnpm vitest run --coverage && tsc --noEmit", + "bench": "vitest bench" + }, + "dependencies": { + "ufo": "^1.6.1" + }, + "devDependencies": { + "@codspeed/vitest-plugin": "^5.0.0", + "@nuxt/eslint-config": "^1.9.0", + "@types/node": "^22.18.6", + "@types/semver": "^7.7.1", + "@vitest/coverage-v8": "^3.2.4", + "changelogen": "^0.6.2", + "eslint": "^9.36.0", + "pkg-pr-new": "^0.0.60", + "semver": "^7.7.2", + "std-env": "^3.9.0", + "typescript": "^5.9.2", + "unbuild": "^3.6.1", + "vite": "^7.1.7", + "vitest": "3.2.4", + "vue": "3.5.22" + }, + "packageManager": "pnpm@10.17.1" +} \ No newline at end of file diff --git a/.output/server/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js b/.output/server/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js new file mode 100644 index 00000000..12ebb1e9 --- /dev/null +++ b/.output/server/node_modules/vue-content-loader/dist/vue-content-loader.cjs.js @@ -0,0 +1,420 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var vue = require('vue'); + +var uid = (function () { + return Math.random().toString(36).substring(2); +}); + +var ContentLoader = vue.defineComponent({ + name: 'ContentLoader', + props: { + width: { + type: [Number, String] + }, + height: { + type: [Number, String] + }, + viewBox: { + type: String + }, + preserveAspectRatio: { + type: String, + "default": 'xMidYMid meet' + }, + speed: { + type: Number, + "default": 2 + }, + baseUrl: { + type: String, + "default": '' + }, + primaryColor: { + type: String, + "default": '#f9f9f9' + }, + secondaryColor: { + type: String, + "default": '#ecebeb' + }, + primaryOpacity: { + type: Number, + "default": 1 + }, + secondaryOpacity: { + type: Number, + "default": 1 + }, + uniqueKey: { + type: String + }, + animate: { + type: Boolean, + "default": true + } + }, + setup: function setup(props) { + var idClip = vue.computed(function () { + return props.uniqueKey ? "".concat(props.uniqueKey, "-idClip") : uid(); + }); + var idGradient = vue.computed(function () { + return props.uniqueKey ? "".concat(props.uniqueKey, "-idGradient") : uid(); + }); + var width = vue.computed(function () { + var _a; + + return (_a = props.width) !== null && _a !== void 0 ? _a : 400; + }); + var height = vue.computed(function () { + var _a; + + return (_a = props.height) !== null && _a !== void 0 ? _a : 130; + }); + var computedViewBox = vue.computed(function () { + var _a; + + return (_a = props.viewBox) !== null && _a !== void 0 ? _a : "0 0 ".concat(width.value, " ").concat(height.value); + }); + return { + idClip: idClip, + idGradient: idGradient, + computedViewBox: computedViewBox + }; + }, + render: function render() { + return vue.createVNode("svg", { + "width": this.width, + "height": this.height, + "viewBox": this.computedViewBox, + "version": "1.1", + "preserveAspectRatio": this.preserveAspectRatio + }, [vue.createVNode("rect", { + "style": { + fill: "url(".concat(this.baseUrl, "#").concat(this.idGradient, ")") + }, + "clip-path": "url(".concat(this.baseUrl, "#").concat(this.idClip, ")"), + "x": "0", + "y": "0", + "width": "100%", + "height": "100%" + }, null), vue.createVNode("defs", null, [vue.createVNode("clipPath", { + "id": this.idClip + }, [this.$slots["default"] ? this.$slots["default"]() : vue.createVNode("rect", { + "x": "0", + "y": "0", + "rx": "5", + "ry": "5", + "width": "100%", + "height": "100%" + }, null)]), vue.createVNode("linearGradient", { + "id": this.idGradient + }, [vue.createVNode("stop", { + "offset": "0%", + "stop-color": this.primaryColor, + "stop-opacity": this.primaryOpacity + }, [this.animate ? vue.createVNode("animate", { + "attributeName": "offset", + "values": "-2; 1", + "dur": "".concat(this.speed, "s"), + "repeatCount": "indefinite" + }, null) : null]), vue.createVNode("stop", { + "offset": "50%", + "stop-color": this.secondaryColor, + "stop-opacity": this.secondaryOpacity + }, [this.animate ? vue.createVNode("animate", { + "attributeName": "offset", + "values": "-1.5; 1.5", + "dur": "".concat(this.speed, "s"), + "repeatCount": "indefinite" + }, null) : null]), vue.createVNode("stop", { + "offset": "100%", + "stop-color": this.primaryColor, + "stop-opacity": this.primaryOpacity + }, [this.animate ? vue.createVNode("animate", { + "attributeName": "offset", + "values": "-1; 2", + "dur": "".concat(this.speed, "s"), + "repeatCount": "indefinite" + }, null) : null])])])]); + } +}); + +var BulletListLoader = vue.defineComponent(function (props, _a) { + var attrs = _a.attrs; + return function () { + return vue.createVNode(ContentLoader, attrs, { + "default": function _default() { + return [vue.createVNode("circle", { + "cx": "10", + "cy": "20", + "r": "8" + }, null), vue.createVNode("rect", { + "x": "25", + "y": "15", + "rx": "5", + "ry": "5", + "width": "220", + "height": "10" + }, null), vue.createVNode("circle", { + "cx": "10", + "cy": "50", + "r": "8" + }, null), vue.createVNode("rect", { + "x": "25", + "y": "45", + "rx": "5", + "ry": "5", + "width": "220", + "height": "10" + }, null), vue.createVNode("circle", { + "cx": "10", + "cy": "80", + "r": "8" + }, null), vue.createVNode("rect", { + "x": "25", + "y": "75", + "rx": "5", + "ry": "5", + "width": "220", + "height": "10" + }, null), vue.createVNode("circle", { + "cx": "10", + "cy": "110", + "r": "8" + }, null), vue.createVNode("rect", { + "x": "25", + "y": "105", + "rx": "5", + "ry": "5", + "width": "220", + "height": "10" + }, null)]; + } + }); + }; +}); + +var CodeLoader = vue.defineComponent(function (props, _a) { + var attrs = _a.attrs; + return function () { + return vue.createVNode(ContentLoader, attrs, { + "default": function _default() { + return [vue.createVNode("rect", { + "x": "0", + "y": "0", + "rx": "3", + "ry": "3", + "width": "70", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "80", + "y": "0", + "rx": "3", + "ry": "3", + "width": "100", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "190", + "y": "0", + "rx": "3", + "ry": "3", + "width": "10", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "15", + "y": "20", + "rx": "3", + "ry": "3", + "width": "130", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "155", + "y": "20", + "rx": "3", + "ry": "3", + "width": "130", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "15", + "y": "40", + "rx": "3", + "ry": "3", + "width": "90", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "115", + "y": "40", + "rx": "3", + "ry": "3", + "width": "60", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "185", + "y": "40", + "rx": "3", + "ry": "3", + "width": "60", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "60", + "rx": "3", + "ry": "3", + "width": "30", + "height": "10" + }, null)]; + } + }); + }; +}); + +var FacebookLoader = vue.defineComponent(function (props, _a) { + var attrs = _a.attrs; + return function () { + return vue.createVNode(ContentLoader, attrs, { + "default": function _default() { + return [vue.createVNode("rect", { + "x": "70", + "y": "15", + "rx": "4", + "ry": "4", + "width": "117", + "height": "6.4" + }, null), vue.createVNode("rect", { + "x": "70", + "y": "35", + "rx": "3", + "ry": "3", + "width": "85", + "height": "6.4" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "80", + "rx": "3", + "ry": "3", + "width": "350", + "height": "6.4" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "100", + "rx": "3", + "ry": "3", + "width": "380", + "height": "6.4" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "120", + "rx": "3", + "ry": "3", + "width": "201", + "height": "6.4" + }, null), vue.createVNode("circle", { + "cx": "30", + "cy": "30", + "r": "30" + }, null)]; + } + }); + }; +}); + +var ListLoader = vue.defineComponent(function (props, _a) { + var attrs = _a.attrs; + return function () { + return vue.createVNode(ContentLoader, attrs, { + "default": function _default() { + return [vue.createVNode("rect", { + "x": "0", + "y": "0", + "rx": "3", + "ry": "3", + "width": "250", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "20", + "y": "20", + "rx": "3", + "ry": "3", + "width": "220", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "20", + "y": "40", + "rx": "3", + "ry": "3", + "width": "170", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "60", + "rx": "3", + "ry": "3", + "width": "250", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "20", + "y": "80", + "rx": "3", + "ry": "3", + "width": "200", + "height": "10" + }, null), vue.createVNode("rect", { + "x": "20", + "y": "100", + "rx": "3", + "ry": "3", + "width": "80", + "height": "10" + }, null)]; + } + }); + }; +}); + +var InstagramLoader = vue.defineComponent(function (props, _a) { + var attrs = _a.attrs; + return function () { + return vue.createVNode(ContentLoader, vue.mergeProps(attrs, { + "viewBox": "0 0 400 480" + }), { + "default": function _default() { + return [vue.createVNode("circle", { + "cx": "30", + "cy": "30", + "r": "30" + }, null), vue.createVNode("rect", { + "x": "75", + "y": "13", + "rx": "4", + "ry": "4", + "width": "100", + "height": "13" + }, null), vue.createVNode("rect", { + "x": "75", + "y": "37", + "rx": "4", + "ry": "4", + "width": "50", + "height": "8" + }, null), vue.createVNode("rect", { + "x": "0", + "y": "70", + "rx": "5", + "ry": "5", + "width": "400", + "height": "400" + }, null)]; + } + }); + }; +}); + +exports.BulletListLoader = BulletListLoader; +exports.CodeLoader = CodeLoader; +exports.ContentLoader = ContentLoader; +exports.FacebookLoader = FacebookLoader; +exports.InstagramLoader = InstagramLoader; +exports.ListLoader = ListLoader; diff --git a/.output/server/node_modules/vue-content-loader/node_modules/vue b/.output/server/node_modules/vue-content-loader/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/vue-content-loader/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/vue-content-loader/package.json b/.output/server/node_modules/vue-content-loader/package.json new file mode 100644 index 00000000..399241ec --- /dev/null +++ b/.output/server/node_modules/vue-content-loader/package.json @@ -0,0 +1,55 @@ +{ + "name": "vue-content-loader", + "version": "2.0.1", + "description": "SVG component to create placeholder loading, like Facebook cards loading.", + "repository": { + "url": "egoist/vue-content-loader", + "type": "git" + }, + "main": "dist/vue-content-loader.cjs.js", + "module": "dist/vue-content-loader.es.js", + "cdn": "dist/vue-content-loader.umd.min.js", + "unpkg": "dist/vue-content-loader.umd.min.js", + "jsdelivr": "dist/vue-content-loader.umd.min.js", + "files": [ + "dist" + ], + "types": "dist/index.d.ts", + "sideEffects": false, + "scripts": { + "prepublishOnly": "npm run build", + "test": "jest", + "test:dev": "jest --watch", + "build": "bili", + "storybook": "poi -so --config stories/poi.config.js", + "build:storybook": "poi --prod --config stories/poi.config.js", + "format": "prettier -w ." + }, + "author": { + "name": "EGOIST", + "email": "0x142857@gmail.com" + }, + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.14.6", + "@babel/preset-env": "^7.14.7", + "@types/poi": "^12.5.2", + "@vue/babel-plugin-jsx": "^1.0.6", + "@vue/compiler-sfc": "^3.1.2", + "@vue/test-utils": "^2.0.0-rc.9", + "babel-jest": "^27.0.6", + "bili": "^5.0.5", + "jest": "^27.0.6", + "poi": "12.10.3", + "prettier": "^2.5.0", + "regenerator-runtime": "^0.13.9", + "rollup-plugin-typescript2": "^0.31.1", + "typescript": "^4.3.4", + "vue": "^3.0.5", + "vue-loader": "^16.3.0", + "vue-router": "^4.0.3" + }, + "peerDependencies": { + "vue": "^3" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/vue-demi/lib/index.mjs b/.output/server/node_modules/vue-demi/lib/index.mjs new file mode 100644 index 00000000..be3a96d7 --- /dev/null +++ b/.output/server/node_modules/vue-demi/lib/index.mjs @@ -0,0 +1,34 @@ +import * as Vue from 'vue' + +var isVue2 = false +var isVue3 = true +var Vue2 = undefined + +function install() {} + +export function set(target, key, val) { + if (Array.isArray(target)) { + target.length = Math.max(target.length, key) + target.splice(key, 1, val) + return val + } + target[key] = val + return val +} + +export function del(target, key) { + if (Array.isArray(target)) { + target.splice(key, 1) + return + } + delete target[key] +} + +export * from 'vue' +export { + Vue, + Vue2, + isVue2, + isVue3, + install, +} diff --git a/.output/server/node_modules/vue-demi/node_modules/vue b/.output/server/node_modules/vue-demi/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/vue-demi/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/vue-demi/package.json b/.output/server/node_modules/vue-demi/package.json new file mode 100644 index 00000000..52b2cb59 --- /dev/null +++ b/.output/server/node_modules/vue-demi/package.json @@ -0,0 +1,47 @@ +{ + "name": "vue-demi", + "version": "0.14.10", + "engines": { + "node": ">=12" + }, + "repository": "https://github.com/antfu/vue-demi.git", + "funding": "https://github.com/sponsors/antfu", + "license": "MIT", + "author": "Anthony Fu <anthonyfu117@hotmail.com>", + "main": "lib/index.cjs", + "jsdelivr": "lib/index.iife.js", + "unpkg": "lib/index.iife.js", + "module": "lib/index.mjs", + "types": "lib/index.d.ts", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "require": "./lib/index.cjs", + "import": "./lib/index.mjs", + "browser": "./lib/index.mjs" + }, + "./*": "./*" + }, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "files": [ + "lib", + "bin", + "scripts" + ], + "scripts": { + "postinstall": "node -e \"try{require('./scripts/postinstall.js')}catch(e){}\"", + "release": "npx bumpp --tag --commit --push && npm publish" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } +} \ No newline at end of file diff --git a/.output/server/node_modules/vue-types/dist/vue-types.js b/.output/server/node_modules/vue-types/dist/vue-types.js new file mode 100644 index 00000000..c636c23a --- /dev/null +++ b/.output/server/node_modules/vue-types/dist/vue-types.js @@ -0,0 +1,2 @@ +function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t.indexOf(r=i[n])>=0||(o[r]=e[r]);return o}function i(e){return 1==(null!=(t=e)&&"object"==typeof t&&!1===Array.isArray(t))&&"[object Object]"===Object.prototype.toString.call(e);var t}var u=Object.prototype,a=u.toString,f=u.hasOwnProperty,c=/^\s*function (\w+)/;function s(e){var t,r=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:e;if(r){var n=r.toString().match(c);return n?n[1]:""}return""}var l=function(e){var t,r;return!1!==i(e)&&"function"==typeof(t=e.constructor)&&!1!==i(r=t.prototype)&&!1!==r.hasOwnProperty("isPrototypeOf")},p=function(e){return e},y=p;if("production"!==process.env.NODE_ENV){var v="undefined"!=typeof console;y=v?function(e){console.warn("[VueTypes warn]: "+e)}:p}var d=function(e,t){return f.call(e,t)},h=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},b=Array.isArray||function(e){return"[object Array]"===a.call(e)},O=function(e){return"[object Function]"===a.call(e)},g=function(e){return l(e)&&d(e,"_vueTypes_name")},m=function(e){return l(e)&&(d(e,"type")||["_vueTypes_name","validator","default","required"].some(function(t){return d(e,t)}))};function j(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function _(e,t,r){var n;void 0===r&&(r=!1);var o=!0,i="";n=l(e)?e:{type:e};var u=g(n)?n._vueTypes_name+" - ":"";if(m(n)&&null!==n.type){if(void 0===n.type||!0===n.type)return o;if(!n.required&&void 0===t)return o;b(n.type)?(o=n.type.some(function(e){return!0===_(e,t,!0)}),i=n.type.map(function(e){return s(e)}).join(" or ")):o="Array"===(i=s(n))?b(t):"Object"===i?l(t):"String"===i||"Number"===i||"Boolean"===i||"Function"===i?function(e){if(null==e)return"";var t=e.constructor.toString().match(c);return t?t[1]:""}(t)===i:t instanceof n.type}if(!o){var a=u+'value "'+t+'" should be of type "'+i+'"';return!1===r?(y(a),!1):a}if(d(n,"validator")&&O(n.validator)){var f=y,p=[];if(y=function(e){p.push(e)},o=n.validator(t),y=f,!o){var v=(p.length>1?"* ":"")+p.join("\n* ");return p.length=0,!1===r?(y(v),o):v}}return o}function T(e,t){var r=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get:function(){return this.required=!0,this}},def:{value:function(e){return void 0!==e||this.default?O(e)||!0===_(this,e,!0)?(this.default=b(e)?function(){return[].concat(e)}:l(e)?function(){return Object.assign({},e)}:e,this):(y(this._vueTypes_name+' - invalid default value: "'+e+'"'),this):this}}}),n=r.validator;return O(n)&&(r.validator=j(n,r)),r}function x(e,t){var r=T(e,t);return Object.defineProperty(r,"validate",{value:function(e){return O(this.validator)&&y(this._vueTypes_name+" - calling .validate() will overwrite the current custom validator function. Validator info:\n"+JSON.stringify(this)),this.validator=j(e,this),this}})}function w(e,t,r){var n,i,u=(n=t,i={},Object.getOwnPropertyNames(n).forEach(function(e){i[e]=Object.getOwnPropertyDescriptor(n,e)}),Object.defineProperties({},i));if(u._vueTypes_name=e,!l(r))return u;var a,f,c=r.validator,s=o(r,["validator"]);if(O(c)){var p=u.validator;p&&(p=null!==(f=(a=p).__original)&&void 0!==f?f:a),u.validator=j(p?function(e){return p.call(this,e)&&c.call(this,e)}:c,u)}return Object.assign(u,s)}function k(e){return e.replace(/^(?!\s*$)/gm," ")}var P=function(){return x("any",{})},A=function(){return x("function",{type:Function})},E=function(){return x("boolean",{type:Boolean})},N=function(){return x("string",{type:String})},V=function(){return x("number",{type:Number})},q=function(){return x("array",{type:Array})},S=function(){return x("object",{type:Object})},F=function(){return T("integer",{type:Number,validator:function(e){return h(e)}})},D=function(){return T("symbol",{validator:function(e){return"symbol"==typeof e}})};function L(e,t){if(void 0===t&&(t="custom validation failed"),"function"!=typeof e)throw new TypeError("[VueTypes error]: You must provide a function as argument");return T(e.name||"<<anonymous function>>",{validator:function(r){var n=e(r);return n||y(this._vueTypes_name+" - "+t),n}})}function Y(e){if(!b(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");var t='oneOf - value should be one of "'+e.join('", "')+'".',r=e.reduce(function(e,t){if(null!=t){var r=t.constructor;-1===e.indexOf(r)&&e.push(r)}return e},[]);return T("oneOf",{type:r.length>0?r:void 0,validator:function(r){var n=-1!==e.indexOf(r);return n||y(t),n}})}function B(e){if(!b(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");for(var t=!1,r=[],n=0;n<e.length;n+=1){var o=e[n];if(m(o)){if(g(o)&&"oneOf"===o._vueTypes_name){r=r.concat(o.type);continue}if(O(o.validator)&&(t=!0),!0!==o.type&&o.type){r=r.concat(o.type);continue}}r.push(o)}return r=r.filter(function(e,t){return r.indexOf(e)===t}),T("oneOfType",t?{type:r,validator:function(t){var r=[],n=e.some(function(e){var n=_(g(e)&&"oneOf"===e._vueTypes_name?e.type||null:e,t,!0);return"string"==typeof n&&r.push(n),!0===n});return n||y("oneOfType - provided value does not match any of the "+r.length+" passed-in validators:\n"+k(r.join("\n"))),n}}:{type:r})}function M(e){return T("arrayOf",{type:Array,validator:function(t){var r,n=t.every(function(t){return!0===(r=_(e,t,!0))});return n||y("arrayOf - value validation error:\n"+k(r)),n}})}function I(e){return T("instanceOf",{type:e})}function J(e){return T("objectOf",{type:Object,validator:function(t){var r,n=Object.keys(t).every(function(n){return!0===(r=_(e,t[n],!0))});return n||y("objectOf - value validation error:\n"+k(r)),n}})}function R(e){var t=Object.keys(e),r=t.filter(function(t){var r;return!!(null===(r=e[t])||void 0===r?void 0:r.required)}),n=T("shape",{type:Object,validator:function(n){var o=this;if(!l(n))return!1;var i=Object.keys(n);if(r.length>0&&r.some(function(e){return-1===i.indexOf(e)})){var u=r.filter(function(e){return-1===i.indexOf(e)});return y(1===u.length?'shape - required property "'+u[0]+'" is not defined.':'shape - required properties "'+u.join('", "')+'" are not defined.'),!1}return i.every(function(r){if(-1===t.indexOf(r))return!0===o._vueTypes_isLoose||(y('shape - shape definition does not include a "'+r+'" property. Allowed keys: "'+t.join('", "')+'".'),!1);var i=_(e[r],n[r],!0);return"string"==typeof i&&y('shape - "'+r+'" property validation error:\n '+k(i)),!0===i})}});return Object.defineProperty(n,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(n,"loose",{get:function(){return this._vueTypes_isLoose=!0,this}}),n}var $=function(){function e(){}return e.extend=function(e){var t=this;if(b(e))return e.forEach(function(e){return t.extend(e)}),this;var r=e.name,n=e.validate,i=void 0!==n&&n,u=e.getter,a=void 0!==u&&u,f=o(e,["name","validate","getter"]);if(d(this,r))throw new TypeError('[VueTypes error]: Type "'+r+'" already defined');var c,s=f.type;return g(s)?(delete f.type,Object.defineProperty(this,r,a?{get:function(){return w(r,s,f)}}:{value:function(){var e,t=w(r,s,f);return t.validator&&(t.validator=(e=t.validator).bind.apply(e,[t].concat([].slice.call(arguments)))),t}})):(c=a?{get:function(){var e=Object.assign({},f);return i?x(r,e):T(r,e)},enumerable:!0}:{value:function(){var e,t,n=Object.assign({},f);return e=i?x(r,n):T(r,n),n.validator&&(e.validator=(t=n.validator).bind.apply(t,[e].concat([].slice.call(arguments)))),e},enumerable:!0},Object.defineProperty(this,r,c))},t(e,null,[{key:"any",get:function(){return P()}},{key:"func",get:function(){return A().def(this.defaults.func)}},{key:"bool",get:function(){return E().def(this.defaults.bool)}},{key:"string",get:function(){return N().def(this.defaults.string)}},{key:"number",get:function(){return V().def(this.defaults.number)}},{key:"array",get:function(){return q().def(this.defaults.array)}},{key:"object",get:function(){return S().def(this.defaults.object)}},{key:"integer",get:function(){return F().def(this.defaults.integer)}},{key:"symbol",get:function(){return D()}}]),e}();function z(e){var o;return void 0===e&&(e={func:function(){},bool:!0,string:"",number:0,array:function(){return[]},object:function(){return{}},integer:0}),(o=function(o){function i(){return o.apply(this,arguments)||this}return n(i,o),t(i,null,[{key:"sensibleDefaults",get:function(){return r({},this.defaults)},set:function(t){this.defaults=!1!==t?r({},!0!==t?t:e):{}}}]),i}($)).defaults=r({},e),o}$.defaults={},$.custom=L,$.oneOf=Y,$.instanceOf=I,$.oneOfType=B,$.arrayOf=M,$.objectOf=J,$.shape=R,$.utils={validate:function(e,t){return!0===_(t,e,!0)},toType:function(e,t,r){return void 0===r&&(r=!1),r?x(e,t):T(e,t)}};var C=function(e){function t(){return e.apply(this,arguments)||this}return n(t,e),t}(z());Object.defineProperty(exports,"__esModule",{value:!0}),exports.any=P,exports.array=q,exports.arrayOf=M,exports.bool=E,exports.createTypes=z,exports.custom=L,exports.default=C,exports.fromType=w,exports.func=A,exports.instanceOf=I,exports.integer=F,exports.number=V,exports.object=S,exports.objectOf=J,exports.oneOf=Y,exports.oneOfType=B,exports.shape=R,exports.string=N,exports.symbol=D,exports.toType=T,exports.toValidableType=x,exports.validateType=_; +//# sourceMappingURL=vue-types.js.map diff --git a/.output/server/node_modules/vue-types/package.json b/.output/server/node_modules/vue-types/package.json new file mode 100644 index 00000000..3fd11684 --- /dev/null +++ b/.output/server/node_modules/vue-types/package.json @@ -0,0 +1,102 @@ +{ + "name": "vue-types", + "version": "3.0.2", + "description": "Prop types utility for Vue", + "author": "Marco Solazzi", + "license": "MIT", + "homepage": "https://github.com/dwightjack/vue-types", + "main": "dist/vue-types.js", + "source": [ + "src/index.ts", + "src/shim.ts" + ], + "amdName": "VueTypes", + "unpkg": "dist/vue-types.umd.js", + "umd:main": "dist/vue-types.umd.js", + "module": "dist/vue-types.m.js", + "esmodule": "dist/vue-types.modern.js", + "types": "dist/index.d.ts", + "engines": { + "node": ">=10.15.0" + }, + "files": [ + "dist", + "src", + "types/*.d.ts" + ], + "scripts": { + "prepublishOnly": "run-s lint test build", + "build": "run-s build:clean build:copy build:cjs build:shim:cjs build:ts build:umd", + "build:clean": "del dist", + "build:copy": "cpy src/*.d.ts dist", + "build:ts": "microbundle --external=vue --tsconfig=./tsconfig.build.json --format=modern,es", + "build:cjs": "microbundle --external=vue --tsconfig=./tsconfig.build.json -i src/index.cjs.ts -o dist/vue-types.js --no-pkg-main --format=cjs", + "build:shim:cjs": "microbundle --external=vue --tsconfig=./tsconfig.build.json -i src/shim.cjs.ts -o dist/shim.js --no-pkg-main --format=cjs", + "build:umd": "cross-env NODE_ENV=production microbundle --external=vue --tsconfig=./tsconfig.build.json --format=umd", + "test": "karma start karma.conf.js --single-run --browsers ChromeHeadless", + "test:saucelab": "karma start karma-sauce.conf.js --single-run", + "lint": "eslint '{src,test,.}/**/*.{ts,js}'", + "examples": "cross-env NODE_ENV=development node ./scripts/run-examples.js", + "docs:dev": "vuepress dev docs", + "docs:build": "cross-env NODE_ENV=production vuepress build docs" + }, + "keywords": [ + "vue", + "props" + ], + "repository": { + "type": "git", + "url": "https://github.com/dwightjack/vue-types.git" + }, + "bugs": "https://github.com/dwightjack/vue-types/issues", + "peerDependencies": { + "vue": "^3.0.0" + }, + "devDependencies": { + "@babel/plugin-proposal-nullish-coalescing-operator": "7.10.4", + "@babel/plugin-proposal-optional-chaining": "7.10.4", + "@types/jasmine": "3.5.11", + "@types/node": "14.0.23", + "@typescript-eslint/eslint-plugin": "3.6.1", + "@typescript-eslint/parser": "3.6.1", + "babel-plugin-transform-node-env-inline": "0.4.3", + "browser-sync": "2.26.12", + "core-js": "3.6.5", + "core-js-bundle": "3.6.5", + "cpy-cli": "3.1.1", + "cross-env": "7.0.2", + "del": "5.1.0", + "del-cli": "3.0.1", + "eslint": "7.4.0", + "eslint-config-prettier": "6.11.0", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.1.4", + "eslint-plugin-vue": "6.2.2", + "jasmine": "3.5.0", + "karma": "5.1.0", + "karma-chrome-launcher": "3.1.0", + "karma-jasmine": "3.3.1", + "karma-sauce-launcher": "4.1.4", + "karma-typescript": "5.0.3", + "karma-typescript-es6-transform": "5.0.3", + "microbundle": "0.12.3", + "npm-run-all": "4.1.5", + "prettier": "2.0.5", + "puppeteer": "5.1.0", + "typescript": "3.9.6", + "vue": "3.0.0-rc.7", + "vue-class-component": "7.2.3", + "vuepress": "1.5.2" + }, + "dependencies": { + "is-plain-object": "3.0.1" + }, + "browserslist": [ + "last 3 versions", + "Safari >= 10", + "not ie <= 8", + "Edge >= 12", + "iOS >= 10", + "Android >= 4.4" + ] +} \ No newline at end of file diff --git a/.output/server/node_modules/vue3-otp-input/dist/vue3-otp-input.js b/.output/server/node_modules/vue3-otp-input/dist/vue3-otp-input.js new file mode 100644 index 00000000..749011c7 --- /dev/null +++ b/.output/server/node_modules/vue3-otp-input/dist/vue3-otp-input.js @@ -0,0 +1,194 @@ +import { defineComponent as F, ref as f, computed as K, watch as T, onMounted as $, createElementBlock as h, openBlock as c, createElementVNode as B, createCommentVNode as j, normalizeClass as M, Fragment as R, renderList as N, createBlock as W } from "vue"; +const H = { style: { display: "flex", "align-items": "center" } }, S = ["type", "inputmode", "placeholder", "disabled", "maxlength", "value"], V = { key: 0 }, q = ["innerHTML"], z = /* @__PURE__ */ F({ + __name: "single-otp-input", + props: { + inputType: { default: "tel" }, + inputmode: { default: "numeric" }, + value: { default: "" }, + separator: { default: "" }, + focus: { type: Boolean, default: !1 }, + inputClasses: { default: "" }, + conditionalClass: { default: "" }, + shouldAutoFocus: { type: Boolean, default: !1 }, + isLastChild: { type: Boolean, default: !1 }, + placeholder: { default: "" }, + isDisabled: { type: Boolean, default: !1 } + }, + emits: ["on-change", "on-keydown", "on-paste", "on-focus", "on-blur"], + setup(I, { emit: b }) { + const s = I, l = b, i = f(s.value || ""), n = f(null), a = (e) => { + const u = e.target.value; + return u && u.trim().length > 1 ? (e.clipboardData = { + getData: () => u.trim() + }, l("on-paste", e)) : l("on-change", u); + }, v = (e) => e >= 65 && e <= 90, D = (e) => e >= 48 && e <= 57 || e >= 96 && e <= 105, k = (e) => { + s.isDisabled && e.preventDefault(); + const u = e || window.event, r = u.which ? u.which : u.keyCode; + if (/iPhone|iPad|iPod/.test(navigator.userAgent)) { + l("on-keydown", e); + return; + } + D(r) || s.inputType === "letter-numeric" && v(r) || [8, 9, 13, 37, 39, 46, 86].includes(r) ? l("on-keydown", e) : u.preventDefault(); + }, m = (e) => l("on-paste", e), d = () => (n.value.select(), l("on-focus")), y = () => l("on-blur"), g = K( + () => ["letter-numeric", "number"].includes(s.inputType) ? "text" : s.inputType + ); + return T( + () => s.value, + (e, u) => { + e !== u && (i.value = e); + } + ), T( + () => s.focus, + (e, u) => { + u !== e && n.value && s.focus && (n.value.focus(), n.value.select()); + } + ), $(() => { + n.value && s.focus && s.shouldAutoFocus && (n.value.focus(), n.value.select()); + }), (e, u) => (c(), h("div", H, [ + B("input", { + "data-test": "single-input", + type: g.value, + inputmode: e.inputmode, + placeholder: e.placeholder, + disabled: e.isDisabled, + ref_key: "input", + ref: n, + min: "0", + max: "9", + maxlength: e.isLastChild ? 1 : void 0, + pattern: "[0-9]", + value: i.value, + class: M([e.inputClasses, e.conditionalClass, { "is-complete": i.value }]), + onInput: a, + onKeydown: k, + onPaste: m, + onFocus: d, + onBlur: y + }, null, 42, S), + !e.isLastChild && e.separator ? (c(), h("span", V, [ + B("span", { innerHTML: e.separator }, null, 8, q) + ])) : j("", !0) + ])); + } +}), G = { + style: { display: "flex" }, + class: "otp-input-container" +}, J = { + key: 0, + autocomplete: "off", + name: "hidden", + type: "text", + style: { display: "none" } +}, Q = 8, U = 37, X = 39, Y = 46, x = /* @__PURE__ */ F({ + __name: "vue3-otp-input", + props: { + value: { default: "" }, + numInputs: { default: 4 }, + separator: { default: "" }, + inputClasses: { default: "" }, + conditionalClass: { default: () => [] }, + inputType: {}, + inputmode: { default: "text" }, + shouldAutoFocus: { type: Boolean, default: !1 }, + placeholder: { default: () => [] }, + isDisabled: { type: Boolean, default: !1 }, + shouldFocusOrder: { type: Boolean } + }, + emits: ["update:value", "on-change", "on-complete"], + setup(I, { expose: b, emit: s }) { + const l = I, i = s, n = f(0), a = f([]), v = f([]); + T( + () => l.value, + (t) => { + if (t.length === l.numInputs || a.value.length === 0) { + const o = t.split(""); + a.value = o; + } + }, + { immediate: !0 } + ); + const D = (t) => { + n.value = t; + }, k = () => { + n.value !== l.numInputs - 1 && (n.value = -1); + }, m = () => a.value.join("").length === l.numInputs ? (i("update:value", a.value.join("")), i("on-complete", a.value.join(""))) : "Wait until the user enters the required number of characters", d = (t) => { + n.value = Math.max(Math.min(l.numInputs - 1, t), 0); + }, y = () => { + d(n.value + 1); + }, g = () => { + d(n.value - 1); + }, e = (t) => { + v.value = Object.assign([], a.value), a.value[n.value] = t.toString(), v.value.join("") !== a.value.join("") && (i("update:value", a.value.join("")), i("on-change", a.value.join("")), m()); + }, u = (t) => { + t.preventDefault(); + const o = t.clipboardData.getData("text/plain").slice(0, l.numInputs - n.value).split(""); + if (l.inputType === "number" && !o.join("").match(/^\d+$/) || l.inputType === "letter-numeric" && !o.join("").match(/^\w+$/)) + return "Invalid pasted data"; + const p = a.value.slice(0, n.value).concat(o); + return p.slice(0, l.numInputs).forEach(function(O, C) { + a.value[C] = O; + }), d(p.slice(0, l.numInputs).length), m(); + }, r = (t) => { + e(t), n.value < l.numInputs - 1 && y(); + }, A = () => { + a.value.length > 0 && (i("update:value", ""), i("on-change", "")), a.value = [], n.value = 0; + }, P = (t) => { + const o = t.split(""); + o.length === l.numInputs && (a.value = o, i("update:value", a.value.join("")), i("on-complete", a.value.join(""))); + }, E = (t, o) => { + switch (t.keyCode) { + case Q: + t.preventDefault(), e(""), g(); + break; + case Y: + t.preventDefault(), e(""); + break; + case U: + t.preventDefault(), g(); + break; + case X: + t.preventDefault(), y(); + break; + default: + L(o); + break; + } + }, L = (t) => { + l.shouldFocusOrder && setTimeout(() => { + const o = a.value.join("").length; + t - o >= 0 && (n.value = o, a.value[t] = ""); + }, 100); + }; + return b({ + clearInput: A, + fillInput: P + }), (t, o) => (c(), h("div", G, [ + t.inputType === "password" ? (c(), h("input", J)) : j("", !0), + (c(!0), h(R, null, N(t.numInputs, (_, p) => { + var O, C; + return c(), W(z, { + key: p, + focus: n.value === p, + value: a.value[p], + separator: t.separator, + "input-type": t.inputType, + inputmode: t.inputmode, + "input-classes": t.inputClasses, + conditionalClass: (O = t.conditionalClass) == null ? void 0 : O[p], + "is-last-child": p === t.numInputs - 1, + "should-auto-focus": t.shouldAutoFocus, + placeholder: (C = t.placeholder) == null ? void 0 : C[p], + "is-disabled": t.isDisabled, + onOnChange: r, + onOnKeydown: (w) => E(w, p), + onOnPaste: u, + onOnFocus: (w) => D(p), + onOnBlur: k + }, null, 8, ["focus", "value", "separator", "input-type", "inputmode", "input-classes", "conditionalClass", "is-last-child", "should-auto-focus", "placeholder", "is-disabled", "onOnKeydown", "onOnFocus"]); + }), 128)) + ])); + } +}); +export { + x as default +}; diff --git a/.output/server/node_modules/vue3-otp-input/node_modules/vue b/.output/server/node_modules/vue3-otp-input/node_modules/vue new file mode 120000 index 00000000..2df3eebd --- /dev/null +++ b/.output/server/node_modules/vue3-otp-input/node_modules/vue @@ -0,0 +1 @@ +../../.nitro/vue@3.5.22 \ No newline at end of file diff --git a/.output/server/node_modules/vue3-otp-input/package.json b/.output/server/node_modules/vue3-otp-input/package.json new file mode 100644 index 00000000..1432924b --- /dev/null +++ b/.output/server/node_modules/vue3-otp-input/package.json @@ -0,0 +1,74 @@ +{ + "name": "vue3-otp-input", + "version": "0.5.40", + "description": "A fully customizable, OTP (one-time password) input component built with Vue 3.x and Vue Composition API.", + "author": "Ejiro Asiuwhu <ejiroasiuwhu10@gmail.com>", + "repository": "https://github.com/ejirocodes/vue3-otp-input", + "bugs": { + "url": "https://github.com/ejirocodes/vue3-otp-input/issues" + }, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build --force" + }, + "main": "dist/vue3-otp-input.umd.cjs", + "module": "dist/vue3-otp-input.js", + "browser": "dist/vue3-otp-input.js", + "unpkg": "dist/vue3-otp-input.min.js", + "files": [ + "dist/*" + ], + "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/vue3-otp-input.js", + "require": "./dist/vue3-otp-input.umd.cjs" + } + }, + "peerDependencies": { + "vue": "^3.0.*" + }, + "dependencies": { + "vue": "^3.4.27" + }, + "devDependencies": { + "@types/jsdom": "^21.1.6", + "@types/node": "^20.12.13", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.5.1", + "esbuild": "0.21.4", + "jsdom": "^24.1.0", + "typescript": "~5.4.5", + "vite": "^5.2.12", + "vite-plugin-dts": "^3.9.1", + "vitest": "^1.6.0", + "vue-tsc": "^2.0.19" + }, + "keywords": [ + "vue 3 otp input", + "vue otp input", + "vue", + "vue 3", + "vue composition API", + "otp", + "input", + "otp input", + "one-time-password", + "one-time password", + "one time password", + "one time password input", + "one time password input component", + "one time password input component built with vue", + "one time password input component built with vue 3", + "vue split input" + ], + "license": "MIT", + "readme": "README.md" +} \ No newline at end of file diff --git a/.output/server/node_modules/webidl-conversions/lib/index.js b/.output/server/node_modules/webidl-conversions/lib/index.js new file mode 100644 index 00000000..c5153a3a --- /dev/null +++ b/.output/server/node_modules/webidl-conversions/lib/index.js @@ -0,0 +1,189 @@ +"use strict"; + +var conversions = {}; +module.exports = conversions; + +function sign(x) { + return x < 0 ? -1 : 1; +} + +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} + +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + + return function(V, opts) { + if (!opts) opts = {}; + + let x = +V; + + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + + return x; + } + + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } + + if (!Number.isFinite(x) || x === 0) { + return 0; + } + + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; +}; + +conversions["boolean"] = function (val) { + return !!val; +}; + +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); + +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + +conversions["double"] = function (V) { + const x = +V; + + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + + return x; +}; + +conversions["unrestricted double"] = function (V) { + const x = +V; + + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + + return x; +}; + +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; + +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; + + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + + return String(V); +}; + +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + + return x; +}; + +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } + + return U.join(''); +}; + +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } + + return V; +}; + +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + + return V; +}; diff --git a/.output/server/node_modules/webidl-conversions/package.json b/.output/server/node_modules/webidl-conversions/package.json new file mode 100644 index 00000000..80422e41 --- /dev/null +++ b/.output/server/node_modules/webidl-conversions/package.json @@ -0,0 +1,23 @@ +{ + "name": "webidl-conversions", + "version": "3.0.1", + "description": "Implements the WebIDL algorithms for converting to and from JavaScript values", + "main": "lib/index.js", + "scripts": { + "test": "mocha test/*.js" + }, + "repository": "jsdom/webidl-conversions", + "keywords": [ + "webidl", + "web", + "types" + ], + "files": [ + "lib/" + ], + "author": "Domenic Denicola <d@domenic.me> (https://domenic.me/)", + "license": "BSD-2-Clause", + "devDependencies": { + "mocha": "^1.21.4" + } +} \ No newline at end of file diff --git a/.output/server/node_modules/whatwg-url/lib/URL-impl.js b/.output/server/node_modules/whatwg-url/lib/URL-impl.js new file mode 100644 index 00000000..dc7452cc --- /dev/null +++ b/.output/server/node_modules/whatwg-url/lib/URL-impl.js @@ -0,0 +1,200 @@ +"use strict"; +const usm = require("./url-state-machine"); + +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + + // TODO: query stuff + } + + get href() { + return usm.serializeURL(this._url); + } + + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + } + + get origin() { + return usm.serializeURLOrigin(this._url); + } + + get protocol() { + return this._url.scheme + ":"; + } + + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + + get username() { + return this._url.username; + } + + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setTheUsername(this._url, v); + } + + get password() { + return this._url.password; + } + + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setThePassword(this._url, v); + } + + get host() { + const url = this._url; + + if (url.host === null) { + return ""; + } + + if (url.port === null) { + return usm.serializeHost(url.host); + } + + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } + + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + + get hostname() { + if (this._url.host === null) { + return ""; + } + + return usm.serializeHost(this._url.host); + } + + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + + get port() { + if (this._url.port === null) { + return ""; + } + + return usm.serializeInteger(this._url.port); + } + + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + + if (this._url.path.length === 0) { + return ""; + } + + return "/" + this._url.path.join("/"); + } + + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + + return "?" + this._url.query; + } + + set search(v) { + // TODO: query stuff + + const url = this._url; + + if (v === "") { + url.query = null; + return; + } + + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } + + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + + return "#" + this._url.fragment; + } + + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + + toJSON() { + return this.href; + } +}; diff --git a/.output/server/node_modules/whatwg-url/lib/URL.js b/.output/server/node_modules/whatwg-url/lib/URL.js new file mode 100644 index 00000000..78c7207e --- /dev/null +++ b/.output/server/node_modules/whatwg-url/lib/URL.js @@ -0,0 +1,196 @@ +"use strict"; + +const conversions = require("webidl-conversions"); +const utils = require("./utils.js"); +const Impl = require(".//URL-impl.js"); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + diff --git a/.output/server/node_modules/whatwg-url/lib/public-api.js b/.output/server/node_modules/whatwg-url/lib/public-api.js new file mode 100644 index 00000000..932dcada --- /dev/null +++ b/.output/server/node_modules/whatwg-url/lib/public-api.js @@ -0,0 +1,11 @@ +"use strict"; + +exports.URL = require("./URL").interface; +exports.serializeURL = require("./url-state-machine").serializeURL; +exports.serializeURLOrigin = require("./url-state-machine").serializeURLOrigin; +exports.basicURLParse = require("./url-state-machine").basicURLParse; +exports.setTheUsername = require("./url-state-machine").setTheUsername; +exports.setThePassword = require("./url-state-machine").setThePassword; +exports.serializeHost = require("./url-state-machine").serializeHost; +exports.serializeInteger = require("./url-state-machine").serializeInteger; +exports.parseURL = require("./url-state-machine").parseURL; diff --git a/.output/server/node_modules/whatwg-url/lib/url-state-machine.js b/.output/server/node_modules/whatwg-url/lib/url-state-machine.js new file mode 100644 index 00000000..27d977a2 --- /dev/null +++ b/.output/server/node_modules/whatwg-url/lib/url-state-machine.js @@ -0,0 +1,1297 @@ +"use strict"; +const punycode = require("punycode"); +const tr46 = require("tr46"); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; diff --git a/.output/server/node_modules/whatwg-url/lib/utils.js b/.output/server/node_modules/whatwg-url/lib/utils.js new file mode 100644 index 00000000..a562009c --- /dev/null +++ b/.output/server/node_modules/whatwg-url/lib/utils.js @@ -0,0 +1,20 @@ +"use strict"; + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + diff --git a/.output/server/node_modules/whatwg-url/package.json b/.output/server/node_modules/whatwg-url/package.json new file mode 100644 index 00000000..5f09d429 --- /dev/null +++ b/.output/server/node_modules/whatwg-url/package.json @@ -0,0 +1,32 @@ +{ + "name": "whatwg-url", + "version": "5.0.0", + "description": "An implementation of the WHATWG URL Standard's URL API and parsing machinery", + "main": "lib/public-api.js", + "files": [ + "lib/" + ], + "author": "Sebastian Mayr <github@smayr.name>", + "license": "MIT", + "repository": "jsdom/whatwg-url", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + }, + "devDependencies": { + "eslint": "^2.6.0", + "istanbul": "~0.4.3", + "mocha": "^2.2.4", + "recast": "~0.10.29", + "request": "^2.55.0", + "webidl2js": "^3.0.2" + }, + "scripts": { + "build": "node scripts/transform.js && node scripts/convert-idl.js", + "coverage": "istanbul cover node_modules/mocha/bin/_mocha", + "lint": "eslint .", + "prepublish": "npm run build", + "pretest": "node scripts/get-latest-platform-tests.js && npm run build", + "test": "mocha" + } +} \ No newline at end of file diff --git a/.output/server/package.json b/.output/server/package.json new file mode 100644 index 00000000..9dd0a025 --- /dev/null +++ b/.output/server/package.json @@ -0,0 +1,147 @@ +{ + "name": "nuxt-app-prod", + "version": "1.0.0", + "type": "module", + "private": true, + "dependencies": { + "@ant-design/colors": "6.0.0", + "@ant-design/icons-svg": "4.4.2", + "@ant-design/icons-vue": "7.0.1", + "@babel/parser": "7.28.5", + "@babel/runtime": "7.28.3", + "@capacitor/camera": "7.0.2", + "@capacitor/core": "7.4.3", + "@ctrl/tinycolor": "3.6.1", + "@fastify/accept-negotiator": "1.1.0", + "@headlessui/vue": "1.7.23", + "@supabase/auth-js": "2.71.1", + "@supabase/functions-js": "2.4.5", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.21.3", + "@supabase/realtime-js": "2.15.1", + "@supabase/storage-js": "2.11.0", + "@supabase/supabase-js": "2.56.0", + "@tanstack/virtual-core": "3.13.12", + "@tanstack/vue-virtual": "3.13.12", + "@trysound/sax": "0.2.0", + "@vue/compiler-core": "3.5.22", + "@vue/compiler-dom": "3.5.22", + "@vue/compiler-ssr": "3.5.22", + "@vue/devtools-api": "7.7.7", + "@vue/devtools-kit": "7.7.7", + "@vue/devtools-shared": "8.0.5", + "@vue/reactivity": "3.5.22", + "@vue/runtime-core": "3.5.22", + "@vue/runtime-dom": "3.5.22", + "@vue/server-renderer": "3.5.22", + "@vue/shared": "3.5.26", + "@vueuse/gesture": "2.0.0", + "async-validator": "4.2.5", + "asynckit": "0.4.0", + "axios": "1.11.0", + "birpc": "2.5.0", + "boolbase": "1.0.0", + "call-bind-apply-helpers": "1.0.2", + "color": "4.2.3", + "color-convert": "2.0.1", + "color-name": "1.1.4", + "color-string": "1.9.1", + "combined-stream": "1.0.8", + "compute-scroll-into-view": "1.0.20", + "consola": "3.4.2", + "cookie-es": "1.2.2", + "css-select": "5.2.2", + "css-tree": "2.3.1", + "css-what": "6.2.2", + "csso": "5.0.5", + "date-fns": "4.1.0", + "dayjalali": "1.0.1", + "dayjs": "1.11.13", + "debug": "4.4.1", + "defu": "6.1.4", + "delayed-stream": "1.0.0", + "destr": "2.0.5", + "detect-libc": "2.0.4", + "devalue": "5.6.1", + "dom-align": "1.12.4", + "dom-serializer": "2.0.0", + "domelementtype": "2.3.0", + "domhandler": "5.0.3", + "domutils": "3.2.2", + "dunder-proto": "1.0.1", + "entities": "4.5.0", + "es-define-property": "1.0.1", + "es-errors": "1.3.0", + "es-object-atoms": "1.1.1", + "es-set-tostringtag": "2.1.0", + "estree-walker": "2.0.2", + "etag": "1.8.1", + "fast-xml-parser": "5.3.3", + "follow-redirects": "1.15.11", + "form-data": "4.0.4", + "framesync": "6.1.2", + "function-bind": "1.1.2", + "get-intrinsic": "1.3.0", + "get-proto": "1.0.1", + "gopd": "1.2.0", + "h3": "1.15.4", + "has-symbols": "1.1.0", + "has-tostringtag": "1.0.2", + "hasown": "2.0.2", + "hey-listen": "1.0.8", + "hookable": "5.5.3", + "image-meta": "0.2.1", + "ipx": "2.1.1", + "iron-webcrypto": "1.2.1", + "is-arrayish": "0.3.2", + "jalaali-js": "1.2.8", + "lodash": "4.17.21", + "lodash-es": "4.17.21", + "math-intrinsics": "1.1.0", + "mdn-data": "2.0.30", + "mime-db": "1.52.0", + "mime-types": "2.1.35", + "moment": "2.30.1", + "moment-jalaali": "0.10.4", + "moment-timezone": "0.5.48", + "ms": "2.1.3", + "node-fetch-native": "1.6.7", + "node-mock-http": "1.0.3", + "nth-check": "2.1.1", + "numbro": "2.5.0", + "ofetch": "1.4.1", + "pathe": "1.1.2", + "perfect-debounce": "2.0.0", + "pinia": "3.0.3", + "popmotion": "11.0.5", + "proxy-from-env": "1.1.0", + "radix3": "1.1.2", + "resize-observer-polyfill": "1.5.1", + "semver": "7.7.3", + "sharp": "0.32.6", + "simple-swizzle": "0.2.2", + "source-map-js": "1.2.1", + "strnum": "2.1.1", + "style-value-types": "5.1.2", + "stylis": "4.3.6", + "supports-color": "10.2.2", + "svgo": "3.3.2", + "swiper": "11.2.10", + "throttle-debounce": "5.0.2", + "tr46": "0.0.3", + "tslib": "2.4.0", + "ufo": "1.6.1", + "ultrahtml": "1.6.0", + "uncrypto": "0.1.3", + "unhead": "2.0.19", + "vue": "3.5.22", + "vue-advanced-cropper": "2.8.9", + "vue-bundle-renderer": "2.2.0", + "vue-content-loader": "2.0.1", + "vue-demi": "0.14.10", + "vue-types": "3.0.2", + "vue3-otp-input": "0.5.40", + "webidl-conversions": "3.0.1", + "whatwg-url": "5.0.0" + } +} \ No newline at end of file